diff --git a/boards/default/arduino_avr/examples/02-控制/03-While循环.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/0hZP__jwLz.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/03-While循环.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/0hZP__jwLz.mix diff --git a/boards/default/arduino_avr/examples/02-控制/05-定时器控制灯亮灭.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/GArZWu0c1FT.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/05-定时器控制灯亮灭.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/GArZWu0c1FT.mix diff --git a/boards/default/arduino_avr/examples/02-控制/02-LED流水灯.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/IMQXUZqjdi.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/02-LED流水灯.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/IMQXUZqjdi.mix diff --git a/boards/default/arduino_avr/examples/02-控制/01-初始化.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/IZt744FFgc.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/01-初始化.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/IZt744FFgc.mix diff --git a/boards/default/arduino_avr/examples/02-控制/07-随机亮灯.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/L-_5-QILYti.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/07-随机亮灯.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/L-_5-QILYti.mix diff --git a/boards/default/arduino_avr/examples/02-控制/04-延时灯.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/MR5mgoJHa6x.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/04-延时灯.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/MR5mgoJHa6x.mix diff --git a/boards/default/arduino_avr/examples/02-控制/08-Scoop多线程.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/Nfs09hs_OYl.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/08-Scoop多线程.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/Nfs09hs_OYl.mix diff --git a/boards/default/arduino_avr/examples/02-控制/06-简单定时器.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/PehCSUyn563.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/06-简单定时器.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/PehCSUyn563.mix diff --git a/boards/default/arduino_avr/examples/02-控制/09-硬件中断-秒表.mix b/boards/default/arduino_avr/examples/-22q6j1OXY/n64B_itab7K.mix similarity index 100% rename from boards/default/arduino_avr/examples/02-控制/09-硬件中断-秒表.mix rename to boards/default/arduino_avr/examples/-22q6j1OXY/n64B_itab7K.mix diff --git a/boards/default/arduino_avr/examples/05-数组/01-一维数组输出.mix b/boards/default/arduino_avr/examples/23_AK6Pfb1e/WbG7WAoNLB0.mix similarity index 100% rename from boards/default/arduino_avr/examples/05-数组/01-一维数组输出.mix rename to boards/default/arduino_avr/examples/23_AK6Pfb1e/WbG7WAoNLB0.mix diff --git a/boards/default/arduino_avr/examples/05-数组/02-二维数组输出.mix b/boards/default/arduino_avr/examples/23_AK6Pfb1e/ufmvbJW7we2.mix similarity index 100% rename from boards/default/arduino_avr/examples/05-数组/02-二维数组输出.mix rename to boards/default/arduino_avr/examples/23_AK6Pfb1e/ufmvbJW7we2.mix diff --git a/boards/default/arduino_avr/examples/03-数学/02-绘制三角函数曲线.mix b/boards/default/arduino_avr/examples/DicbrM4jqHp/0-QwcID4SZU.mix similarity index 100% rename from boards/default/arduino_avr/examples/03-数学/02-绘制三角函数曲线.mix rename to boards/default/arduino_avr/examples/DicbrM4jqHp/0-QwcID4SZU.mix diff --git a/boards/default/arduino_avr/examples/03-数学/06-移位计算.mix b/boards/default/arduino_avr/examples/DicbrM4jqHp/C4x0mLeXCDb.mix similarity index 100% rename from boards/default/arduino_avr/examples/03-数学/06-移位计算.mix rename to boards/default/arduino_avr/examples/DicbrM4jqHp/C4x0mLeXCDb.mix diff --git a/boards/default/arduino_avr/examples/03-数学/03-映射.mix b/boards/default/arduino_avr/examples/DicbrM4jqHp/KY0PDSKlVHB.mix similarity index 100% rename from boards/default/arduino_avr/examples/03-数学/03-映射.mix rename to boards/default/arduino_avr/examples/DicbrM4jqHp/KY0PDSKlVHB.mix diff --git a/boards/default/arduino_avr/examples/03-数学/04-随机数.mix b/boards/default/arduino_avr/examples/DicbrM4jqHp/Q-gTdGtLhpa.mix similarity index 100% rename from boards/default/arduino_avr/examples/03-数学/04-随机数.mix rename to boards/default/arduino_avr/examples/DicbrM4jqHp/Q-gTdGtLhpa.mix diff --git a/boards/default/arduino_avr/examples/03-数学/05-约束运算.mix b/boards/default/arduino_avr/examples/DicbrM4jqHp/T0lbSGlUxBf.mix similarity index 100% rename from boards/default/arduino_avr/examples/03-数学/05-约束运算.mix rename to boards/default/arduino_avr/examples/DicbrM4jqHp/T0lbSGlUxBf.mix diff --git a/boards/default/arduino_avr/examples/03-数学/01-模拟输入和模拟输出.mix b/boards/default/arduino_avr/examples/DicbrM4jqHp/iToOz9CKv0c.mix similarity index 100% rename from boards/default/arduino_avr/examples/03-数学/01-模拟输入和模拟输出.mix rename to boards/default/arduino_avr/examples/DicbrM4jqHp/iToOz9CKv0c.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/01_no-return-value-no-parameter_function.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/CUrySG0saG4.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/01_no-return-value-no-parameter_function.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/CUrySG0saG4.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/04_Multiple_return_value_function_declaration_with_parameters.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/Cd7x_yUEA-W.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/04_Multiple_return_value_function_declaration_with_parameters.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/Cd7x_yUEA-W.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/02_no-return-value_function_with_parameters.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/GRkTrxAAWd7.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/02_no-return-value_function_with_parameters.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/GRkTrxAAWd7.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/03_Function_declaration_with_return_value_and_parameters.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/Kp_Z6wsusFw.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/08_Function/03_Function_declaration_with_return_value_and_parameters.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/0A69Iex_3O0/Kp_Z6wsusFw.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/13_Communication/03_Infrared_data_simulation_transceiver.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/FTnjGGGrTfO/1rPFtJ7p6P0.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/13_Communication/03_Infrared_data_simulation_transceiver.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/FTnjGGGrTfO/1rPFtJ7p6P0.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/13_Communication/01_Infrared_data_reception.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/FTnjGGGrTfO/BuMvcU_K4M3.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/13_Communication/01_Infrared_data_reception.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/FTnjGGGrTfO/BuMvcU_K4M3.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/13_Communication/02_Infrared_data_transmission.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/FTnjGGGrTfO/yxtoB43TZjU.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/13_Communication/02_Infrared_data_transmission.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/FTnjGGGrTfO/yxtoB43TZjU.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/02_Logical_operations.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/4L_EVAuZf-9.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/02_Logical_operations.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/4L_EVAuZf-9.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/01_Logical_relationships.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/McmYmevvNr_.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/01_Logical_relationships.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/McmYmevvNr_.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/03_Logical_non-operations.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/US82u2_VN2Z.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/03_Logical_non-operations.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/US82u2_VN2Z.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/04_Conditional_return_value.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/rp9yAumyKV7.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/04_Logic/04_Conditional_return_value.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/GSnryLJWh-P/rp9yAumyKV7.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/03_Array_circular_shift.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/EPWwigDeOi3.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/03_Array_circular_shift.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/EPWwigDeOi3.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/04_Two-dimensional_array_declaration.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/MluoFisOxRJ.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/04_Two-dimensional_array_declaration.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/MluoFisOxRJ.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/05_Two-dimensional_array_reading_and_writing.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/QFi6mv_ofV8.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/05_Two-dimensional_array_reading_and_writing.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/QFi6mv_ofV8.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/01_One-dimensional_array_declaration.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/VPvSILbaEI7.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/01_One-dimensional_array_declaration.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/VPvSILbaEI7.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/02_Array_reading_and_writing.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/y1GYX7RhYhn.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/06_Arrays/02_Array_reading_and_writing.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/JDIt_spNo9w/y1GYX7RhYhn.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/05_String_conversion_and_replacement.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/45PCf-wV0wp.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/05_String_conversion_and_replacement.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/45PCf-wV0wp.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/09_String_length_and_getting_the_specified_position_character.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/AzpzO7hb1U6.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/09_String_length_and_getting_the_specified_position_character.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/AzpzO7hb1U6.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/07_Character_to_ascii_conversion.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/DnRR8D079TM.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/07_Character_to_ascii_conversion.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/DnRR8D079TM.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/04_Intercepting_strings.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/HNtg-2Da-JW.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/04_Intercepting_strings.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/HNtg-2Da-JW.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/06_String_First_Determination_and_Data_Type_Conversion.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/K54doWiG39z.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/06_String_First_Determination_and_Data_Type_Conversion.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/K54doWiG39z.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/03_String_Index.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/KgciTQ8AnCE.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/03_String_Index.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/KgciTQ8AnCE.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/10_String_relations _and_comparisons.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/Qz8NT8P3cgM.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/10_String_relations _and_comparisons.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/Qz8NT8P3cgM.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/02_String_to_integer_or_decimal.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/UaDccOfqCuO.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/02_String_to_integer_or_decimal.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/UaDccOfqCuO.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/08_Incremental_conversion.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/biM30CuB6fe.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/08_Incremental_conversion.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/biM30CuB6fe.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/01_String_Splicing.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/dSCHZu24dO5.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/05_Text/01_String_Splicing.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/R4oqAHW3eYO/dSCHZu24dO5.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/11_SCoop_Multi-threaded.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Hx-vVqqXMtR.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/11_SCoop_Multi-threaded.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Hx-vVqqXMtR.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/07_System_runtime.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Idsjej63QrS.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/07_System_runtime.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Idsjej63QrS.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/02_Difference_between_while_and_do_while.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/KNRRFPhBgP6.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/02_Difference_between_while_and_do_while.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/KNRRFPhBgP6.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/03_if_elseConditional_Judgment.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/LH9qS43n_DP.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/03_if_elseConditional_Judgment.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/LH9qS43n_DP.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/04_switch_Multi_branching_condition_control.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Leu-lml1_r0.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/04_switch_Multi_branching_condition_control.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Leu-lml1_r0.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/05_for_Circular_breathing_light.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/NdxRjgNIE92.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/05_for_Circular_breathing_light.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/NdxRjgNIE92.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/10_Register_delay_function.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/T_YI4P6lqre.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/10_Register_delay_function.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/T_YI4P6lqre.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/09_Simple_Timer.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Ya0abKlNVAa.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/09_Simple_Timer.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/Ya0abKlNVAa.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/06_Jump_out_of_the_loop.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/bQx0cOQFH5_.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/06_Jump_out_of_the_loop.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/bQx0cOQFH5_.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/08_Hardware_Timer.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/pw2NZSh59tP.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/08_Hardware_Timer.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/pw2NZSh59tP.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/01_Stop_the_program.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/rQagLZT1o4p.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/02_Control/01_Stop_the_program.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/XQwqVX_-Ej-/rQagLZT1o4p.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/03_Serial_port_send_wait.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/AucoRRt69BN.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/03_Serial_port_send_wait.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/AucoRRt69BN.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_1.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/BktGk-lVYtV.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_1.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/BktGk-lVYtV.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_2.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/GqO7_Ay7Gd_.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_2.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/GqO7_Ay7Gd_.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/05_Use_of_soft_serial_port.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/NsAHfaz9-dF.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/05_Use_of_soft_serial_port.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/NsAHfaz9-dF.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_4.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/Yk9QvRiljtX.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_4.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/Yk9QvRiljtX.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/01_Serial_printout.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/m6gtkDpXqhQ.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/01_Serial_printout.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/m6gtkDpXqhQ.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_3.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/v_sWVcM8kFf.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/02_Serial_input_3.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/v_sWVcM8kFf.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/04_Serial_Interrupt.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/zkbfrD7lM3u.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/09_Serial_port/04_Serial_Interrupt.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/eofNKBgZ1va/zkbfrD7lM3u.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/05_Common_mathematical_operations(Rounding_etc.).mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/4xzI5dXsmYn.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/05_Common_mathematical_operations(Rounding_etc.).mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/4xzI5dXsmYn.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/02_Bit_Operations.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/7FiRrThpoUV.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/02_Bit_Operations.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/7FiRrThpoUV.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/03_Trigonometric_functions.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/8WbtwD-uxRN.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/03_Trigonometric_functions.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/8WbtwD-uxRN.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/08_Get_random_number.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/BO3eDwHwIWZ.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/08_Get_random_number.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/BO3eDwHwIWZ.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/04_Variable_self-adding.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/EsPOvfHJQSS.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/04_Variable_self-adding.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/EsPOvfHJQSS.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/01_Algebraic_operations.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/MSGq34gtdfQ.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/01_Algebraic_operations.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/MSGq34gtdfQ.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/10_Mathematical_mapping.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/PVb2Lca9DBn.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/10_Mathematical_mapping.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/PVb2Lca9DBn.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/06_Get_the_number_of_bytes_occupied_by_different_types_of_data.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/a9VObXsMq1x.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/06_Get_the_number_of_bytes_occupied_by_different_types_of_data.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/a9VObXsMq1x.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/07_Maximum_and_minimum_values.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/iNzNa_pWkJN.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/07_Maximum_and_minimum_values.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/iNzNa_pWkJN.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/09_Mathematical_constraints.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/ssqqQ4UVk56.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/03_Mathematics/09_Mathematical_constraints.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/hA1zhShOCTH/ssqqQ4UVk56.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/07_Variables/01_Difference_between_variable_declaration_and_use.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/h_kp9nJp3tE/_YNPBr0SqR3.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/07_Variables/01_Difference_between_variable_declaration_and_use.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/h_kp9nJp3tE/_YNPBr0SqR3.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/03_get_LM35_temperature.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/6RKYDjgxvdI.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/03_get_LM35_temperature.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/6RKYDjgxvdI.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/01_Ultrasonic_distance_measurement.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/B_TAqigdRJL.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/01_Ultrasonic_distance_measurement.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/B_TAqigdRJL.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/08_tcs34725_color_extraction.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/Gmqld3t9Vcc.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/08_tcs34725_color_extraction.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/Gmqld3t9Vcc.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/05_Get_BME280_parameters.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/ZeakInL8N1O.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/05_Get_BME280_parameters.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/ZeakInL8N1O.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/11_MPU9250_acceleration_sensor.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/au1GOUNSwqe.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/11_MPU9250_acceleration_sensor.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/au1GOUNSwqe.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/06_get_SHT20_temperature_and_humidity.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/d2IRF_tBAC9.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/06_get_SHT20_temperature_and_humidity.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/d2IRF_tBAC9.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/02_Get_DHT11_temperature_and_humidity.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/iPCwZ58gmjd.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/02_Get_DHT11_temperature_and_humidity.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/iPCwZ58gmjd.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/10_MPU6050_Gyroscope.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/jJh7mRHprwo.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/10_MPU6050_Gyroscope.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/jJh7mRHprwo.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/09_tcs230_color_extraction.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/pAYkEbwcxES.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/09_tcs230_color_extraction.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/pAYkEbwcxES.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/04_Get_DS18B20_temperature.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/tlSYxPcisjc.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/04_Get_DS18B20_temperature.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/tlSYxPcisjc.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/07_BMLX90614_Infrared_temperature_measurement.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/zQ7_bsUUV2T.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/10_Sensors/07_BMLX90614_Infrared_temperature_measurement.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/iApmjAJpTXh/zQ7_bsUUV2T.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/14_Storage/01_SD_card_read_test.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/mcrj9ffePd4/4Qn0kqRKHHP.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/14_Storage/01_SD_card_read_test.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/mcrj9ffePd4/4Qn0kqRKHHP.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/14_Storage/02_EEPROM_power_down_storage.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/mcrj9ffePd4/wnnO1pT7WC7.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/14_Storage/02_EEPROM_power_down_storage.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/mcrj9ffePd4/wnnO1pT7WC7.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/08_Multi_functional_keys.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/-l1Rubh3pPG.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/08_Multi_functional_keys.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/-l1Rubh3pPG.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/06_Analog_Inputs.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/3XrCtQik409.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/06_Analog_Inputs.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/3XrCtQik409.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/12_Pin_up_mode.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/4tE59Poee-Z.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/12_Pin_up_mode.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/4tE59Poee-Z.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/02_On_board_indicator_flashes.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/7UelaWDD8Qb.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/02_On_board_indicator_flashes.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/7UelaWDD8Qb.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/04_Pin_output_state_switching.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/MJ0ZRIHZT4m.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/04_Pin_output_state_switching.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/MJ0ZRIHZT4m.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/09_Hardware_Interrupts.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/NKjl6wrvs-H.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/09_Hardware_Interrupts.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/NKjl6wrvs-H.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/11_Pulse_measurement.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/W2YRDnm_kG1.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/11_Pulse_measurement.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/W2YRDnm_kG1.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/05_PWMAnalog_Output.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/dzmd7LK1wmz.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/05_PWMAnalog_Output.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/dzmd7LK1wmz.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/07_Software_analog_output.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/ijJPv1N1boP.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/07_Software_analog_output.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/ijJPv1N1boP.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/03_Digital_Inputs.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/nfN-MlDAD9z.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/03_Digital_Inputs.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/nfN-MlDAD9z.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/10_Software_Interruptions.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/s2Y2Yt7AfyB.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/10_Software_Interruptions.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/s2Y2Yt7AfyB.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/13_Serial_Data_Output.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/wSSlyC8L6rz.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/13_Serial_Data_Output.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/wSSlyC8L6rz.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/01_Light_up_the_on_board_indicator.mix b/boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/yQXQmvo2lSi.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0_simple_tutorial/01_input_and_Output/01_Light_up_the_on_board_indicator.mix rename to boards/default/arduino_avr/examples/E3gA9njBqvg/x5L8JkJrc9c/yQXQmvo2lSi.mix diff --git a/boards/default/arduino_avr/examples/04-文本/03-serial_string-3.mix b/boards/default/arduino_avr/examples/EG9G51S-EKp/S3JioK0YN1s.mix similarity index 100% rename from boards/default/arduino_avr/examples/04-文本/03-serial_string-3.mix rename to boards/default/arduino_avr/examples/EG9G51S-EKp/S3JioK0YN1s.mix diff --git a/boards/default/arduino_avr/examples/04-文本/01-serial_string-1.mix b/boards/default/arduino_avr/examples/EG9G51S-EKp/TX106SWkadm.mix similarity index 100% rename from boards/default/arduino_avr/examples/04-文本/01-serial_string-1.mix rename to boards/default/arduino_avr/examples/EG9G51S-EKp/TX106SWkadm.mix diff --git a/boards/default/arduino_avr/examples/04-文本/URL和Base64编解码.mix b/boards/default/arduino_avr/examples/EG9G51S-EKp/aVeBvW5795O.mix similarity index 100% rename from boards/default/arduino_avr/examples/04-文本/URL和Base64编解码.mix rename to boards/default/arduino_avr/examples/EG9G51S-EKp/aVeBvW5795O.mix diff --git a/boards/default/arduino_avr/examples/04-文本/04-serial_string-4.mix b/boards/default/arduino_avr/examples/EG9G51S-EKp/cM69DRjiu5M.mix similarity index 100% rename from boards/default/arduino_avr/examples/04-文本/04-serial_string-4.mix rename to boards/default/arduino_avr/examples/EG9G51S-EKp/cM69DRjiu5M.mix diff --git a/boards/default/arduino_avr/examples/04-文本/02-serial_string-2.mix b/boards/default/arduino_avr/examples/EG9G51S-EKp/iEQp8GYaQLV.mix similarity index 100% rename from boards/default/arduino_avr/examples/04-文本/02-serial_string-2.mix rename to boards/default/arduino_avr/examples/EG9G51S-EKp/iEQp8GYaQLV.mix diff --git a/boards/default/arduino_avr/examples/06-逻辑/02-逻辑运算符.mix b/boards/default/arduino_avr/examples/EfooA7cJwWt/5QREYjcOVUh.mix similarity index 100% rename from boards/default/arduino_avr/examples/06-逻辑/02-逻辑运算符.mix rename to boards/default/arduino_avr/examples/EfooA7cJwWt/5QREYjcOVUh.mix diff --git a/boards/default/arduino_avr/examples/06-逻辑/03-?语句.mix b/boards/default/arduino_avr/examples/EfooA7cJwWt/Yoa6iqNPAnh.mix similarity index 100% rename from boards/default/arduino_avr/examples/06-逻辑/03-?语句.mix rename to boards/default/arduino_avr/examples/EfooA7cJwWt/Yoa6iqNPAnh.mix diff --git a/boards/default/arduino_avr/examples/06-逻辑/01-比较运算符.mix b/boards/default/arduino_avr/examples/EfooA7cJwWt/k2TOBcVsXEE.mix similarity index 100% rename from boards/default/arduino_avr/examples/06-逻辑/01-比较运算符.mix rename to boards/default/arduino_avr/examples/EfooA7cJwWt/k2TOBcVsXEE.mix diff --git a/boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取长整数.mix b/boards/default/arduino_avr/examples/G4L0WNf4Ei0/3c7DmNimiN1.mix similarity index 100% rename from boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取长整数.mix rename to boards/default/arduino_avr/examples/G4L0WNf4Ei0/3c7DmNimiN1.mix diff --git a/boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取字节数组.mix b/boards/default/arduino_avr/examples/G4L0WNf4Ei0/5AyRbRJ7dJv.mix similarity index 100% rename from boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取字节数组.mix rename to boards/default/arduino_avr/examples/G4L0WNf4Ei0/5AyRbRJ7dJv.mix diff --git a/boards/default/arduino_avr/examples/09-存储/02-EEPROM.mix b/boards/default/arduino_avr/examples/G4L0WNf4Ei0/6F3JS1FWlXR.mix similarity index 100% rename from boards/default/arduino_avr/examples/09-存储/02-EEPROM.mix rename to boards/default/arduino_avr/examples/G4L0WNf4Ei0/6F3JS1FWlXR.mix diff --git a/boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取小数.mix b/boards/default/arduino_avr/examples/G4L0WNf4Ei0/Q4wpArNaMdW.mix similarity index 100% rename from boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取小数.mix rename to boards/default/arduino_avr/examples/G4L0WNf4Ei0/Q4wpArNaMdW.mix diff --git a/boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取字符数组.mix b/boards/default/arduino_avr/examples/G4L0WNf4Ei0/dKPebrftWhS.mix similarity index 100% rename from boards/default/arduino_avr/examples/09-存储/02-EEPROM_写入和读取字符数组.mix rename to boards/default/arduino_avr/examples/G4L0WNf4Ei0/dKPebrftWhS.mix diff --git a/boards/default/arduino_avr/examples/08-通信/04-RFID_写卡&读卡.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/2dUgPxfM2X3.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/04-RFID_写卡&读卡.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/2dUgPxfM2X3.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Master_2.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/4rgeC5D83f9.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Master_2.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/4rgeC5D83f9.mix diff --git a/boards/default/arduino_avr/examples/08-通信/02-IICMaster_请求数据.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/HXl5-yRtpr3.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/02-IICMaster_请求数据.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/HXl5-yRtpr3.mix diff --git a/boards/default/arduino_avr/examples/08-通信/04-RFID_读卡.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/JV5CtaKlqMD.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/04-RFID_读卡.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/JV5CtaKlqMD.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Slave_字符串.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/P-5AGI4LIDl.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Slave_字符串.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/P-5AGI4LIDl.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Master.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/SQF60YTsfoE.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Master.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/SQF60YTsfoE.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Slave_1.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/T8zFN-hoRw3.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Slave_1.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/T8zFN-hoRw3.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Slave.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/Y1uQq7J1duj.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Slave.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/Y1uQq7J1duj.mix diff --git a/boards/default/arduino_avr/examples/08-通信/01-IRremote红外控制灯.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/Z1_sqg2WBnO.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/01-IRremote红外控制灯.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/Z1_sqg2WBnO.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Master_字符串.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/a9ovsg52qyW.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Master_字符串.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/a9ovsg52qyW.mix diff --git a/boards/default/arduino_avr/examples/08-通信/04-RFID_读取RFID卡号.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/esBOvliBPlc.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/04-RFID_读取RFID卡号.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/esBOvliBPlc.mix diff --git a/boards/default/arduino_avr/examples/08-通信/02-IICMaster_字符串.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/hhsDEvqD8MX.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/02-IICMaster_字符串.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/hhsDEvqD8MX.mix diff --git a/boards/default/arduino_avr/examples/08-通信/02-IICMaster_字符.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/kaAA9mdbftR.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/02-IICMaster_字符.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/kaAA9mdbftR.mix diff --git a/boards/default/arduino_avr/examples/08-通信/04-RFID_写卡.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/o-XMIMbeW-h.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/04-RFID_写卡.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/o-XMIMbeW-h.mix diff --git a/boards/default/arduino_avr/examples/08-通信/02-IICSlave_字符.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/p_lMEyz6sYB.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/02-IICSlave_字符.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/p_lMEyz6sYB.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Slave_2.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/tpEeGJcbnKK.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Slave_2.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/tpEeGJcbnKK.mix diff --git a/boards/default/arduino_avr/examples/08-通信/03-SPI_Master_1.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/uaCkJBmh5Pf.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/03-SPI_Master_1.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/uaCkJBmh5Pf.mix diff --git a/boards/default/arduino_avr/examples/08-通信/02-IICSlave_字符串.mix b/boards/default/arduino_avr/examples/GkhJrn_pDUW/xlgbFMQ6Eo_.mix similarity index 100% rename from boards/default/arduino_avr/examples/08-通信/02-IICSlave_字符串.mix rename to boards/default/arduino_avr/examples/GkhJrn_pDUW/xlgbFMQ6Eo_.mix diff --git a/boards/default/arduino_avr/examples/07-串口/03-打印ASCII值.mix b/boards/default/arduino_avr/examples/NBEMGBXe68_/JBiiAur6iUe.mix similarity index 100% rename from boards/default/arduino_avr/examples/07-串口/03-打印ASCII值.mix rename to boards/default/arduino_avr/examples/NBEMGBXe68_/JBiiAur6iUe.mix diff --git a/boards/default/arduino_avr/examples/07-串口/01-串口交互.mix b/boards/default/arduino_avr/examples/NBEMGBXe68_/lBdRSGtaMnt.mix similarity index 100% rename from boards/default/arduino_avr/examples/07-串口/01-串口交互.mix rename to boards/default/arduino_avr/examples/NBEMGBXe68_/lBdRSGtaMnt.mix diff --git a/boards/default/arduino_avr/examples/07-串口/02-串口控制开关灯.mix b/boards/default/arduino_avr/examples/NBEMGBXe68_/v6Ipaq0abUT.mix similarity index 100% rename from boards/default/arduino_avr/examples/07-串口/02-串口控制开关灯.mix rename to boards/default/arduino_avr/examples/NBEMGBXe68_/v6Ipaq0abUT.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/01-LED闪烁.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/9CJdI61-bD.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/01-LED闪烁.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/9CJdI61-bD.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/09-软件模拟PWM.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/AwGqwbpWPa.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/09-软件模拟PWM.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/AwGqwbpWPa.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/08-脉冲.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/BidQh3Qo--.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/08-脉冲.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/BidQh3Qo--.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/10-ShiftOut数字骰子.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/IoWrJ3zOGy.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/10-ShiftOut数字骰子.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/IoWrJ3zOGy.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/02-开关灯.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/RJ8-9B9ME-.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/02-开关灯.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/RJ8-9B9ME-.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/03-调光灯.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/YmWJOGuAkI.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/03-调光灯.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/YmWJOGuAkI.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/07-声控灯.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/cdRzvziUVO.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/07-声控灯.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/cdRzvziUVO.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/11-ShiftOut流水灯.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/hAUpeJtKRk.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/11-ShiftOut流水灯.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/hAUpeJtKRk.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/06-软件中断.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/kqHtGzyOaC.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/06-软件中断.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/kqHtGzyOaC.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/05-硬件中断.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/y95x3uLXVD.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/05-硬件中断.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/y95x3uLXVD.mix diff --git a/boards/default/arduino_avr/examples/01-输入输出/04-多功能按键.mix b/boards/default/arduino_avr/examples/QDGtyM0uA/zPYfjkDObI.mix similarity index 100% rename from boards/default/arduino_avr/examples/01-输入输出/04-多功能按键.mix rename to boards/default/arduino_avr/examples/QDGtyM0uA/zPYfjkDObI.mix diff --git a/boards/default/arduino_avr/examples/16-自定义模块/(在2.0下编译报错)01-Factory.mix b/boards/default/arduino_avr/examples/ULasX4jjry9/nBaGcb7frFi.mix similarity index 100% rename from boards/default/arduino_avr/examples/16-自定义模块/(在2.0下编译报错)01-Factory.mix rename to boards/default/arduino_avr/examples/ULasX4jjry9/nBaGcb7frFi.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/03-LCD1602_显示Hello Mixly.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/7lmMFYTGdVE.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/03-LCD1602_显示Hello Mixly.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/7lmMFYTGdVE.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/01-TM1650_显示变化的数字.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/DqUVHbxvkDm.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/01-TM1650_显示变化的数字.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/DqUVHbxvkDm.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_显示表情图片1.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/DzUly47GHvh.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_显示表情图片1.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/DzUly47GHvh.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/07-MAX7219_水平方向四块级联滚动显示Mixly.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/IPGm3pOpHxE.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/07-MAX7219_水平方向四块级联滚动显示Mixly.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/IPGm3pOpHxE.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/07-MAX7219_显示笑脸和哭脸.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/ImAbN2s2Xlp.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/07-MAX7219_显示笑脸和哭脸.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/ImAbN2s2Xlp.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_显示汉字(取模).mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/LcZdAB_aN8Y.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_显示汉字(取模).mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/LcZdAB_aN8Y.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_显示文本.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/Mi8CNddn6YC.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_显示文本.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/Mi8CNddn6YC.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_显示汉字.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/UkZRTnQDJQT.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_显示汉字.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/UkZRTnQDJQT.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/05-NOKIA5110_显示汉字(取模).mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/V1WtzKryomM.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/05-NOKIA5110_显示汉字(取模).mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/V1WtzKryomM.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_多页切换.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/ZYCSsCpLdqL.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_多页切换.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/ZYCSsCpLdqL.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_显示表情图片.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/bbbPQm-fDwd.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_显示表情图片.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/bbbPQm-fDwd.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/06-LCD12864 8080_显示汉字(取模).mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/jJEg7j5CxhF.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/06-LCD12864 8080_显示汉字(取模).mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/jJEg7j5CxhF.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_显示Mixly Logo.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/qIRT95O8plB.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_显示Mixly Logo.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/qIRT95O8plB.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/06-LCD12864 SPI_显示汉字(取模).mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/usYNul1BIXm.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/06-LCD12864 SPI_显示汉字(取模).mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/usYNul1BIXm.mix diff --git a/boards/default/arduino_avr/examples/12-显示器/04-OLED_显示奥运五环图案.mix b/boards/default/arduino_avr/examples/UkWokeKvXyM/vaNZ2r3xRX0.mix similarity index 100% rename from boards/default/arduino_avr/examples/12-显示器/04-OLED_显示奥运五环图案.mix rename to boards/default/arduino_avr/examples/UkWokeKvXyM/vaNZ2r3xRX0.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/13-矩阵键盘密码灯.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/-_8_wFfMBZH.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/13-矩阵键盘密码灯.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/-_8_wFfMBZH.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/13-矩阵键盘打印按键值.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/3bOwfTTM7Nb.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/13-矩阵键盘打印按键值.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/3bOwfTTM7Nb.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/17-PS2手柄_打印摇杆值.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/61fOAZOqTtX.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/17-PS2手柄_打印摇杆值.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/61fOAZOqTtX.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/16-BME280气象站.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/E-iK3b42LlY.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/16-BME280气象站.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/E-iK3b42LlY.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/02-LCD1602显示温湿度.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/OHdnLZemkp7.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/02-LCD1602显示温湿度.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/OHdnLZemkp7.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/12-DS1302液晶时钟.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/P-DXSztk9G3.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/12-DS1302液晶时钟.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/P-DXSztk9G3.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/04-DS18B20温度传感器.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/VENfTrAkYd8.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/04-DS18B20温度传感器.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/VENfTrAkYd8.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/12-DS1302输出日期.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/_-68lLQgjxg.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/12-DS1302输出日期.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/_-68lLQgjxg.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/05-MLX90614测温.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/_noDJoJuzfN.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/05-MLX90614测温.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/_noDJoJuzfN.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/07-TCS230颜色识别传感器.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/dv5_Bi5_0tg.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/07-TCS230颜色识别传感器.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/dv5_Bi5_0tg.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/16-BME280打印温度值.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/fG4kGqWPflc.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/16-BME280打印温度值.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/fG4kGqWPflc.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/13-矩阵键盘简易密码锁.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/hopK-LZvU2U.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/13-矩阵键盘简易密码锁.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/hopK-LZvU2U.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/15-MPU6050打印数值.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/kj0uBvDCtBI.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/15-MPU6050打印数值.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/kj0uBvDCtBI.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/06-TCS34725颜色识别传感器.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/kxeKKgVnNUs.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/06-TCS34725颜色识别传感器.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/kxeKKgVnNUs.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/B01-声控舵机.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/pFQ-GQGkDWn.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/B01-声控舵机.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/pFQ-GQGkDWn.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/01-超声波测距.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/syOKaXY_qEU.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/01-超声波测距.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/syOKaXY_qEU.mix diff --git a/boards/default/arduino_avr/examples/10-传感器/11-旋转编码器读取数据.mix b/boards/default/arduino_avr/examples/_iwW4VWNKBN/xbgskGLf0uz.mix similarity index 100% rename from boards/default/arduino_avr/examples/10-传感器/11-旋转编码器读取数据.mix rename to boards/default/arduino_avr/examples/_iwW4VWNKBN/xbgskGLf0uz.mix diff --git a/boards/default/arduino_avr/examples/15-函数/02-含参数无返回值呼吸灯.mix b/boards/default/arduino_avr/examples/buyPEdOOItZ/SHEometY8wf.mix similarity index 100% rename from boards/default/arduino_avr/examples/15-函数/02-含参数无返回值呼吸灯.mix rename to boards/default/arduino_avr/examples/buyPEdOOItZ/SHEometY8wf.mix diff --git a/boards/default/arduino_avr/examples/15-函数/01-函数法SOS.mix b/boards/default/arduino_avr/examples/buyPEdOOItZ/irp3icTormV.mix similarity index 100% rename from boards/default/arduino_avr/examples/15-函数/01-函数法SOS.mix rename to boards/default/arduino_avr/examples/buyPEdOOItZ/irp3icTormV.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/04渐变灯_buttonindator_3.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/2Yb--KtCOK3o.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/04渐变灯_buttonindator_3.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/2Yb--KtCOK3o.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/10可调报警器_adjustablealarm_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/46qMVjW-V4Iq.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/10可调报警器_adjustablealarm_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/46qMVjW-V4Iq.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/09报警器_alarm_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/5rzI1aIw_Mwx.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/09报警器_alarm_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/5rzI1aIw_Mwx.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/09报警器_lib_alarm_lib2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/63FhbNdIhVfB.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/09报警器_lib_alarm_lib2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/63FhbNdIhVfB.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/09报警器_alarm_1.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/6WPHMWQqpERB.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/09报警器_alarm_1.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/6WPHMWQqpERB.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/12计时器_timer_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/9xnBQgsXhpMN.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/12计时器_timer_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/9xnBQgsXhpMN.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/03按钮指示灯_flashinglight_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/BkldmWlqGqNb.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/03按钮指示灯_flashinglight_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/BkldmWlqGqNb.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/05反应测试_reactiontest_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/GElKGUeVZ-mm.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/05反应测试_reactiontest_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/GElKGUeVZ-mm.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/10可调报警器_lib_adjustablealarm_lib2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/Iknp2K3tk5BI.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/10可调报警器_lib_adjustablealarm_lib2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/Iknp2K3tk5BI.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/2闪烁灯_2 flashing lights.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/JhJ1I-M3jmBZ.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/2闪烁灯_2 flashing lights.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/JhJ1I-M3jmBZ.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/07遥控门锁_keylessentry_1.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/L0RS6aPht6GD.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/07遥控门锁_keylessentry_1.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/L0RS6aPht6GD.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/03按钮指示灯_buttonindator_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/Lxx-gAOcJnhD.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/03按钮指示灯_buttonindator_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/Lxx-gAOcJnhD.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/06遥控灯_remotecontrollight_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/MhUAfZ3Y6DtZ.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/06遥控灯_remotecontrollight_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/MhUAfZ3Y6DtZ.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/12计时器_timer_1.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/QVaUIPs54KIQ.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/12计时器_timer_1.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/QVaUIPs54KIQ.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/08温度指示器_temperatureindator_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/QfgkBvbarovn.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/08温度指示器_temperatureindator_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/QfgkBvbarovn.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/07遥控门锁_keylessentry_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/RsbrguGMv0_I.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/07遥控门锁_keylessentry_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/RsbrguGMv0_I.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/11倒车雷达_reversingradar_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/S59j9Byq1MDq.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/11倒车雷达_reversingradar_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/S59j9Byq1MDq.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/11倒车雷达_reversingradar_1.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/Yim26TqUKaHj.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/11倒车雷达_reversingradar_1.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/Yim26TqUKaHj.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/05反应测试_gradientlamp_2.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/e87UUwd0YbD7.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/05反应测试_gradientlamp_2.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/e87UUwd0YbD7.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/10可调报警器_adjustablealarm_1.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/nG_-m9KSXgSB.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/10可调报警器_adjustablealarm_1.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/nG_-m9KSXgSB.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/1闪烁灯_1 flashing light.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/npt2BL6lzM5s.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/1闪烁灯_1 flashing light.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/npt2BL6lzM5s.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/04渐变灯_gradientlamp_1.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/rkaJKp8DGDFe.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/04渐变灯_gradientlamp_1.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/rkaJKp8DGDFe.mix diff --git a/boards/default/arduino_avr/examples/教材范例/创意电子/08温度指示器_temperatureindator_1.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/wPninwe_DF_a.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/创意电子/08温度指示器_temperatureindator_1.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/WY4dX7oT879B/wPninwe_DF_a.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/噪声监控_Noise monitoring.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/0w9cVghCQDeW.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/噪声监控_Noise monitoring.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/0w9cVghCQDeW.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/瞄准狐狸_Aiming at the fox.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/2hRESZBL-jLw.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/瞄准狐狸_Aiming at the fox.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/2hRESZBL-jLw.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/太阳能发电机_Solar generator.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/6XRJOy2KMlnw.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/太阳能发电机_Solar generator.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/6XRJOy2KMlnw.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/超市储物箱_Supermarket storage box.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/97jNSq7KelvS.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/超市储物箱_Supermarket storage box.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/97jNSq7KelvS.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/无人驾驶_unmanned.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/9NygxeCtO-AX.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/无人驾驶_unmanned.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/9NygxeCtO-AX.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/图书消毒柜_Book disinfection cabinet.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/F8x78ovOAoUN.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/图书消毒柜_Book disinfection cabinet.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/F8x78ovOAoUN.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/节电风扇_Power-saving fan.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/HfZX6XYUmmKS.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/节电风扇_Power-saving fan.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/HfZX6XYUmmKS.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/智能停车场_Smart parking.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/J_7p5gcarxaq.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/智能停车场_Smart parking.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/J_7p5gcarxaq.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/彩色手电筒_Color flashlight.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/JocR-XXM2PGH.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/彩色手电筒_Color flashlight.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/JocR-XXM2PGH.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/你抢我答_You rob me to answer.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/K9NBKbGCRK_s.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/你抢我答_You rob me to answer.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/K9NBKbGCRK_s.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/“保卫”消防通道_Secure Fire Passage.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/giu0EYsGPyWl.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/“保卫”消防通道_Secure Fire Passage.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/giu0EYsGPyWl.mix diff --git a/boards/default/arduino_avr/examples/教材范例/智能机器/眼疾手快_Eye disease hand fast.mix b/boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/sPywV_SDRa-4.mix similarity index 100% rename from boards/default/arduino_avr/examples/教材范例/智能机器/眼疾手快_Eye disease hand fast.mix rename to boards/default/arduino_avr/examples/hxkgUtFfM9ze/_4K2GuxxmboD/sPywV_SDRa-4.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/09-硬件中断.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/17_1xALOHcv.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/09-硬件中断.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/17_1xALOHcv.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/04-管脚输出状态切换.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/6bO5vHVn2Nc.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/04-管脚输出状态切换.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/6bO5vHVn2Nc.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/05-PWM模拟输出.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/8qvGr0Yrk0P.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/05-PWM模拟输出.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/8qvGr0Yrk0P.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/13-串行数据输出.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/EtGtSDXBUb8.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/13-串行数据输出.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/EtGtSDXBUb8.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/01-点亮板载指示灯13.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/GJDbhPa46G3.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/01-点亮板载指示灯13.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/GJDbhPa46G3.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/11-脉冲测量.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/GTskys6bXp6.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/11-脉冲测量.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/GTskys6bXp6.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/02-板载指示灯13闪烁.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/KmCDKfcbGGO.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/02-板载指示灯13闪烁.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/KmCDKfcbGGO.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/12-管脚上拉模式.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/_lXNvF3tKlJ.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/12-管脚上拉模式.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/_lXNvF3tKlJ.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/10-软件中断.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/a4f6QTz6Vz-.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/10-软件中断.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/a4f6QTz6Vz-.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/08-多功能按键.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/awZmGTk9djd.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/08-多功能按键.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/awZmGTk9djd.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/06-模拟输入.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/lpbS-o3PhIX.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/06-模拟输入.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/lpbS-o3PhIX.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/07-软件模拟输出.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/wGZKoXPPLg1.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/07-软件模拟输出.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/wGZKoXPPLg1.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/03-数字输入.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/yB24xfSII23.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/01-输入输出/03-数字输入.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/467WEsYFZfc/yB24xfSII23.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/05-常见数学运算(四舍五入等).mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/-thzSlpzSGT.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/05-常见数学运算(四舍五入等).mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/-thzSlpzSGT.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/01-代数运算.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/Btqrykelruq.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/01-代数运算.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/Btqrykelruq.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/10-数学映射.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/GCsPC02gvaL.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/10-数学映射.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/GCsPC02gvaL.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/03-三角函数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/LB0rMF5Hfsx.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/03-三角函数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/LB0rMF5Hfsx.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/08-获取随机数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/OUJeJFFhMsm.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/08-获取随机数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/OUJeJFFhMsm.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/07-最大值与最小值.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/PZJgs1zd8bm.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/07-最大值与最小值.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/PZJgs1zd8bm.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/09-数学约束.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/ayMctguzdGP.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/09-数学约束.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/ayMctguzdGP.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/02-位运算.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/gtlA5Tu2dUj.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/02-位运算.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/gtlA5Tu2dUj.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/06-获取不同类型数据占用的字节数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/tUendiEPefT.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/06-获取不同类型数据占用的字节数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/tUendiEPefT.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/04-变量自加.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/xJ9ZE3qj4b5.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/03-数学/04-变量自加.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/68abTmumbML/xJ9ZE3qj4b5.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入1.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/16b6prCA7oRl.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入1.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/16b6prCA7oRl.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/01-串口打印输出.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/JjVkbhABYL4o.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/01-串口打印输出.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/JjVkbhABYL4o.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/03-串口发送等待.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/LkZ4fODaaFjk.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/03-串口发送等待.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/LkZ4fODaaFjk.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入4.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/TetX3feDyfId.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入4.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/TetX3feDyfId.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/04-串口中断.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/U-fYVGd9RHq4.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/04-串口中断.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/U-fYVGd9RHq4.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/05-软串口的使用.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/eI-P_gGkhcLV.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/05-软串口的使用.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/eI-P_gGkhcLV.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入3.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/nIO68pQXKL8v.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入3.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/nIO68pQXKL8v.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入2.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/xOzNyyVK2sPy.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/09-串口/02-串口输入2.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/BAHdzkOgsa6f/xOzNyyVK2sPy.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/07-变量/01-变量声明与使用区别.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/DyZnkKkHhx12/ZNYF5r5OZecA.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/07-变量/01-变量声明与使用区别.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/DyZnkKkHhx12/ZNYF5r5OZecA.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/04-二维数组声明.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/5HM9Y4ksDQSC.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/04-二维数组声明.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/5HM9Y4ksDQSC.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/02-数组读写.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/6OOfh6rjbQ5N.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/02-数组读写.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/6OOfh6rjbQ5N.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/05-二维数组读写.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/URSoMnJldYz8.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/05-二维数组读写.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/URSoMnJldYz8.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/01-一维数组声明.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/m7HXbYrxtdmL.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/01-一维数组声明.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/m7HXbYrxtdmL.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/03-数组循环移位.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/pQavV7FJHp3m.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/06-数组/03-数组循环移位.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/IvzzcJnFpmH0/pQavV7FJHp3m.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/06-字符串首位判断与数据类型转换.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/7AfpEBJ3wSUV.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/06-字符串首位判断与数据类型转换.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/7AfpEBJ3wSUV.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/05-字符串转换与替换.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/ENIfN4_0NI8O.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/05-字符串转换与替换.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/ENIfN4_0NI8O.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/02-字符串转整数或小数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/FzX2UfKhHbpi.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/02-字符串转整数或小数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/FzX2UfKhHbpi.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/04-截取字符串.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/NyWp2OKJ_KXA.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/04-截取字符串.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/NyWp2OKJ_KXA.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/03-字符串索引.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/Ugr4N4K5W8sB.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/03-字符串索引.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/Ugr4N4K5W8sB.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/01-字符串拼接.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/Vrr0lLFz3mj2.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/01-字符串拼接.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/Vrr0lLFz3mj2.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/08-进制转换.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/WlJnJ-hU0t0u.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/08-进制转换.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/WlJnJ-hU0t0u.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/10-字符串关系与比较.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/Yp_sKlZiIUjg.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/10-字符串关系与比较.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/Yp_sKlZiIUjg.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/09-字符串长度与获取指定位置字符.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/eEvAtFgUpQmj.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/09-字符串长度与获取指定位置字符.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/eEvAtFgUpQmj.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/07-字符与ascii码互相转换.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/fzQRyIDCMxgb.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/05-文本/07-字符与ascii码互相转换.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JPkPfRt6_r1X/fzQRyIDCMxgb.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/02-逻辑运算.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/5ioXet73uDG.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/02-逻辑运算.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/5ioXet73uDG.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/04-条件返回值.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/Sy8ptICclrm8.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/04-条件返回值.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/Sy8ptICclrm8.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/01-逻辑关系.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/bouV1jk8aIU.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/01-逻辑关系.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/bouV1jk8aIU.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/03-逻辑非运算.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/tBB-GOBzn1W.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/04-逻辑/03-逻辑非运算.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/JTSGvCTP-KT/tBB-GOBzn1W.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/09-简单定时器.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/18Vhvc1wGpd.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/09-简单定时器.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/18Vhvc1wGpd.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/02-while与do while区别.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/4Vb9rnN0eCP.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/02-while与do while区别.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/4Vb9rnN0eCP.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/07-系统运行时间.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/FanM_7cEg_p.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/07-系统运行时间.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/FanM_7cEg_p.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/11-SCoop多线程.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/IItefYn7699.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/11-SCoop多线程.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/IItefYn7699.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/04-switch多分枝条件控制.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/lIwTAmQ3lgF.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/04-switch多分枝条件控制.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/lIwTAmQ3lgF.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/03-if else条件判断.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/vGkz7tgkPmu.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/03-if else条件判断.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/vGkz7tgkPmu.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/05-for循环呼吸灯.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/wdc9tziLxDW.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/05-for循环呼吸灯.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/wdc9tziLxDW.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/10-注册延时函数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/xUxq_KhRNGn.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/10-注册延时函数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/xUxq_KhRNGn.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/08-硬件定时器.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/xhDiIqlkFHb.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/08-硬件定时器.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/xhDiIqlkFHb.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/06-跳出循环.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/zAHYdjvq8gY.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/06-跳出循环.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/zAHYdjvq8gY.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/01-停止程序.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/zOM2pAMJKyc.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/02-控制/01-停止程序.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/ZLuuxSYZLRS/zOM2pAMJKyc.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/13-通信/03-红外数据模拟收发.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/a5BbcxgRH29C/SY3tSTDbVoDx.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/13-通信/03-红外数据模拟收发.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/a5BbcxgRH29C/SY3tSTDbVoDx.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/13-通信/02-红外数据发送.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/a5BbcxgRH29C/WvUueOm5WEmk.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/13-通信/02-红外数据发送.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/a5BbcxgRH29C/WvUueOm5WEmk.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/13-通信/01-红外数据接收.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/a5BbcxgRH29C/uUYyvyK3onjB.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/13-通信/01-红外数据接收.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/a5BbcxgRH29C/uUYyvyK3onjB.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/03-获取LM35温度.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/-NqlRjIYf7Bt.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/03-获取LM35温度.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/-NqlRjIYf7Bt.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/01-超声波测距.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/1xXN-rChppV1.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/01-超声波测距.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/1xXN-rChppV1.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/11-MPU9250加速度传感器.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/41ONKWg5Evzg.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/11-MPU9250加速度传感器.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/41ONKWg5Evzg.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/10-MPU6050陀螺仪.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/D1SS4P6ZA6GL.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/10-MPU6050陀螺仪.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/D1SS4P6ZA6GL.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/06-获取SHT20温湿度.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/JRrU8q2xhYEN.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/06-获取SHT20温湿度.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/JRrU8q2xhYEN.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/02-获取DHT11温湿度.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/Msm1fSqmawDV.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/02-获取DHT11温湿度.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/Msm1fSqmawDV.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/05-获取BME280参数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/OeIyRI5JrXBi.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/05-获取BME280参数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/OeIyRI5JrXBi.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/09-tcs230颜色提取.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/SN8sJs0zHx9o.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/09-tcs230颜色提取.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/SN8sJs0zHx9o.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/04-获取DS18B20温度.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/e55HPj_QERoM.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/04-获取DS18B20温度.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/e55HPj_QERoM.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/08-tcs34725颜色提取.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/g5QJA4rlAYki.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/08-tcs34725颜色提取.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/g5QJA4rlAYki.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/07-BMLX90614红外温度测量.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/kd_bUN0oGYUH.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/10-传感器/07-BMLX90614红外温度测量.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/hmDyvKQOSN9n/kd_bUN0oGYUH.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/04-多返回值带参数函数声明.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/21TXotEB32fW.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/04-多返回值带参数函数声明.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/21TXotEB32fW.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/03-带返回值带参数函数声明.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/YEo_Cns7HSqO.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/03-带返回值带参数函数声明.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/YEo_Cns7HSqO.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/01-无返回值无参数函数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/h1lqTulePuUB.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/01-无返回值无参数函数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/h1lqTulePuUB.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/02-无返回值带参数函数.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/wchyPfvEZ1YQ.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/08-函数/02-无返回值带参数函数.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/nNsVT7eSVGqq/wchyPfvEZ1YQ.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/14-存储/02-EEPROM掉电存储.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/rgLi0xIhEmlt/F1PIkfUJPDFb.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/14-存储/02-EEPROM掉电存储.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/rgLi0xIhEmlt/F1PIkfUJPDFb.mix diff --git a/boards/default/arduino_avr/examples/Mixly2.0简明教程/14-存储/01-SD卡读写测试.mix b/boards/default/arduino_avr/examples/isNjoSeBp27/rgLi0xIhEmlt/U7mlHzlCITLU.mix similarity index 100% rename from boards/default/arduino_avr/examples/Mixly2.0简明教程/14-存储/01-SD卡读写测试.mix rename to boards/default/arduino_avr/examples/isNjoSeBp27/rgLi0xIhEmlt/U7mlHzlCITLU.mix diff --git a/boards/default/arduino_avr/examples/map.json b/boards/default/arduino_avr/examples/map.json index c17e549a..68d0428a 100644 --- a/boards/default/arduino_avr/examples/map.json +++ b/boards/default/arduino_avr/examples/map.json @@ -1,851 +1,851 @@ { - "01-输入输出": { - "01-LED闪烁.mix": { + "QDGtyM0uA": { + "9CJdI61-bD.mix": { "__file__": true, "__name__": "01-LED闪烁.mix" }, - "02-开关灯.mix": { + "RJ8-9B9ME-.mix": { "__file__": true, "__name__": "02-开关灯.mix" }, - "03-调光灯.mix": { + "YmWJOGuAkI.mix": { "__file__": true, "__name__": "03-调光灯.mix" }, - "04-多功能按键.mix": { + "zPYfjkDObI.mix": { "__file__": true, "__name__": "04-多功能按键.mix" }, - "05-硬件中断.mix": { + "y95x3uLXVD.mix": { "__file__": true, "__name__": "05-硬件中断.mix" }, - "06-软件中断.mix": { + "kqHtGzyOaC.mix": { "__file__": true, "__name__": "06-软件中断.mix" }, - "07-声控灯.mix": { + "cdRzvziUVO.mix": { "__file__": true, "__name__": "07-声控灯.mix" }, - "08-脉冲.mix": { + "BidQh3Qo--.mix": { "__file__": true, "__name__": "08-脉冲.mix" }, - "09-软件模拟PWM.mix": { + "AwGqwbpWPa.mix": { "__file__": true, "__name__": "09-软件模拟PWM.mix" }, - "10-ShiftOut数字骰子.mix": { + "IoWrJ3zOGy.mix": { "__file__": true, "__name__": "10-ShiftOut数字骰子.mix" }, - "11-ShiftOut流水灯.mix": { + "hAUpeJtKRk.mix": { "__file__": true, "__name__": "11-ShiftOut流水灯.mix" }, "__file__": false, "__name__": "01-输入输出" }, - "02-控制": { - "01-初始化.mix": { + "-22q6j1OXY": { + "IZt744FFgc.mix": { "__file__": true, "__name__": "01-初始化.mix" }, - "02-LED流水灯.mix": { + "IMQXUZqjdi.mix": { "__file__": true, "__name__": "02-LED流水灯.mix" }, - "03-While循环.mix": { + "0hZP__jwLz.mix": { "__file__": true, "__name__": "03-While循环.mix" }, - "04-延时灯.mix": { + "MR5mgoJHa6x.mix": { "__file__": true, "__name__": "04-延时灯.mix" }, - "05-定时器控制灯亮灭.mix": { + "GArZWu0c1FT.mix": { "__file__": true, "__name__": "05-定时器控制灯亮灭.mix" }, - "06-简单定时器.mix": { + "PehCSUyn563.mix": { "__file__": true, "__name__": "06-简单定时器.mix" }, - "07-随机亮灯.mix": { + "L-_5-QILYti.mix": { "__file__": true, "__name__": "07-随机亮灯.mix" }, - "08-Scoop多线程.mix": { + "Nfs09hs_OYl.mix": { "__file__": true, "__name__": "08-Scoop多线程.mix" }, - "09-硬件中断-秒表.mix": { + "n64B_itab7K.mix": { "__file__": true, "__name__": "09-硬件中断-秒表.mix" }, "__file__": false, "__name__": "02-控制" }, - "03-数学": { - "01-模拟输入和模拟输出.mix": { + "DicbrM4jqHp": { + "iToOz9CKv0c.mix": { "__file__": true, "__name__": "01-模拟输入和模拟输出.mix" }, - "02-绘制三角函数曲线.mix": { + "0-QwcID4SZU.mix": { "__file__": true, "__name__": "02-绘制三角函数曲线.mix" }, - "03-映射.mix": { + "KY0PDSKlVHB.mix": { "__file__": true, "__name__": "03-映射.mix" }, - "04-随机数.mix": { + "Q-gTdGtLhpa.mix": { "__file__": true, "__name__": "04-随机数.mix" }, - "05-约束运算.mix": { + "T0lbSGlUxBf.mix": { "__file__": true, "__name__": "05-约束运算.mix" }, - "06-移位计算.mix": { + "C4x0mLeXCDb.mix": { "__file__": true, "__name__": "06-移位计算.mix" }, "__file__": false, "__name__": "03-数学" }, - "04-文本": { - "01-serial_string-1.mix": { + "EG9G51S-EKp": { + "TX106SWkadm.mix": { "__file__": true, "__name__": "01-serial_string-1.mix" }, - "02-serial_string-2.mix": { + "iEQp8GYaQLV.mix": { "__file__": true, "__name__": "02-serial_string-2.mix" }, - "03-serial_string-3.mix": { + "S3JioK0YN1s.mix": { "__file__": true, "__name__": "03-serial_string-3.mix" }, - "04-serial_string-4.mix": { + "cM69DRjiu5M.mix": { "__file__": true, "__name__": "04-serial_string-4.mix" }, - "URL和Base64编解码.mix": { + "aVeBvW5795O.mix": { "__file__": true, "__name__": "URL和Base64编解码.mix" }, "__file__": false, "__name__": "04-文本" }, - "05-数组": { - "01-一维数组输出.mix": { + "23_AK6Pfb1e": { + "WbG7WAoNLB0.mix": { "__file__": true, "__name__": "01-一维数组输出.mix" }, - "02-二维数组输出.mix": { + "ufmvbJW7we2.mix": { "__file__": true, "__name__": "02-二维数组输出.mix" }, "__file__": false, "__name__": "05-数组" }, - "06-逻辑": { - "01-比较运算符.mix": { + "EfooA7cJwWt": { + "k2TOBcVsXEE.mix": { "__file__": true, "__name__": "01-比较运算符.mix" }, - "02-逻辑运算符.mix": { + "5QREYjcOVUh.mix": { "__file__": true, "__name__": "02-逻辑运算符.mix" }, - "03-?语句.mix": { + "Yoa6iqNPAnh.mix": { "__file__": true, "__name__": "03-?语句.mix" }, "__file__": false, "__name__": "06-逻辑" }, - "07-串口": { - "01-串口交互.mix": { + "NBEMGBXe68_": { + "lBdRSGtaMnt.mix": { "__file__": true, "__name__": "01-串口交互.mix" }, - "02-串口控制开关灯.mix": { + "v6Ipaq0abUT.mix": { "__file__": true, "__name__": "02-串口控制开关灯.mix" }, - "03-打印ASCII值.mix": { + "JBiiAur6iUe.mix": { "__file__": true, "__name__": "03-打印ASCII值.mix" }, "__file__": false, "__name__": "07-串口" }, - "08-通信": { - "01-IRremote红外控制灯.mix": { + "GkhJrn_pDUW": { + "Z1_sqg2WBnO.mix": { "__file__": true, "__name__": "01-IRremote红外控制灯.mix" }, - "02-IICMaster_字符.mix": { + "kaAA9mdbftR.mix": { "__file__": true, "__name__": "02-IICMaster_字符.mix" }, - "02-IICMaster_字符串.mix": { + "hhsDEvqD8MX.mix": { "__file__": true, "__name__": "02-IICMaster_字符串.mix" }, - "02-IICMaster_请求数据.mix": { + "HXl5-yRtpr3.mix": { "__file__": true, "__name__": "02-IICMaster_请求数据.mix" }, - "02-IICSlave_字符.mix": { + "p_lMEyz6sYB.mix": { "__file__": true, "__name__": "02-IICSlave_字符.mix" }, - "02-IICSlave_字符串.mix": { + "xlgbFMQ6Eo_.mix": { "__file__": true, "__name__": "02-IICSlave_字符串.mix" }, - "03-SPI_Master.mix": { + "SQF60YTsfoE.mix": { "__file__": true, "__name__": "03-SPI_Master.mix" }, - "03-SPI_Master_1.mix": { + "uaCkJBmh5Pf.mix": { "__file__": true, "__name__": "03-SPI_Master_1.mix" }, - "03-SPI_Master_2.mix": { + "4rgeC5D83f9.mix": { "__file__": true, "__name__": "03-SPI_Master_2.mix" }, - "03-SPI_Master_字符串.mix": { + "a9ovsg52qyW.mix": { "__file__": true, "__name__": "03-SPI_Master_字符串.mix" }, - "03-SPI_Slave.mix": { + "Y1uQq7J1duj.mix": { "__file__": true, "__name__": "03-SPI_Slave.mix" }, - "03-SPI_Slave_1.mix": { + "T8zFN-hoRw3.mix": { "__file__": true, "__name__": "03-SPI_Slave_1.mix" }, - "03-SPI_Slave_2.mix": { + "tpEeGJcbnKK.mix": { "__file__": true, "__name__": "03-SPI_Slave_2.mix" }, - "03-SPI_Slave_字符串.mix": { + "P-5AGI4LIDl.mix": { "__file__": true, "__name__": "03-SPI_Slave_字符串.mix" }, - "04-RFID_写卡&读卡.mix": { + "2dUgPxfM2X3.mix": { "__file__": true, "__name__": "04-RFID_写卡&读卡.mix" }, - "04-RFID_写卡.mix": { + "o-XMIMbeW-h.mix": { "__file__": true, "__name__": "04-RFID_写卡.mix" }, - "04-RFID_读卡.mix": { + "JV5CtaKlqMD.mix": { "__file__": true, "__name__": "04-RFID_读卡.mix" }, - "04-RFID_读取RFID卡号.mix": { + "esBOvliBPlc.mix": { "__file__": true, "__name__": "04-RFID_读取RFID卡号.mix" }, "__file__": false, "__name__": "08-通信" }, - "09-存储": { - "02-EEPROM.mix": { + "G4L0WNf4Ei0": { + "6F3JS1FWlXR.mix": { "__file__": true, "__name__": "02-EEPROM.mix" }, - "02-EEPROM_写入和读取字符数组.mix": { + "dKPebrftWhS.mix": { "__file__": true, "__name__": "02-EEPROM_写入和读取字符数组.mix" }, - "02-EEPROM_写入和读取字节数组.mix": { + "5AyRbRJ7dJv.mix": { "__file__": true, "__name__": "02-EEPROM_写入和读取字节数组.mix" }, - "02-EEPROM_写入和读取小数.mix": { + "Q4wpArNaMdW.mix": { "__file__": true, "__name__": "02-EEPROM_写入和读取小数.mix" }, - "02-EEPROM_写入和读取长整数.mix": { + "3c7DmNimiN1.mix": { "__file__": true, "__name__": "02-EEPROM_写入和读取长整数.mix" }, "__file__": false, "__name__": "09-存储" }, - "10-传感器": { - "01-超声波测距.mix": { + "_iwW4VWNKBN": { + "syOKaXY_qEU.mix": { "__file__": true, "__name__": "01-超声波测距.mix" }, - "02-LCD1602显示温湿度.mix": { + "OHdnLZemkp7.mix": { "__file__": true, "__name__": "02-LCD1602显示温湿度.mix" }, - "04-DS18B20温度传感器.mix": { + "VENfTrAkYd8.mix": { "__file__": true, "__name__": "04-DS18B20温度传感器.mix" }, - "05-MLX90614测温.mix": { + "_noDJoJuzfN.mix": { "__file__": true, "__name__": "05-MLX90614测温.mix" }, - "06-TCS34725颜色识别传感器.mix": { + "kxeKKgVnNUs.mix": { "__file__": true, "__name__": "06-TCS34725颜色识别传感器.mix" }, - "07-TCS230颜色识别传感器.mix": { + "dv5_Bi5_0tg.mix": { "__file__": true, "__name__": "07-TCS230颜色识别传感器.mix" }, - "11-旋转编码器读取数据.mix": { + "xbgskGLf0uz.mix": { "__file__": true, "__name__": "11-旋转编码器读取数据.mix" }, - "12-DS1302液晶时钟.mix": { + "P-DXSztk9G3.mix": { "__file__": true, "__name__": "12-DS1302液晶时钟.mix" }, - "12-DS1302输出日期.mix": { + "_-68lLQgjxg.mix": { "__file__": true, "__name__": "12-DS1302输出日期.mix" }, - "13-矩阵键盘密码灯.mix": { + "-_8_wFfMBZH.mix": { "__file__": true, "__name__": "13-矩阵键盘密码灯.mix" }, - "13-矩阵键盘打印按键值.mix": { + "3bOwfTTM7Nb.mix": { "__file__": true, "__name__": "13-矩阵键盘打印按键值.mix" }, - "13-矩阵键盘简易密码锁.mix": { + "hopK-LZvU2U.mix": { "__file__": true, "__name__": "13-矩阵键盘简易密码锁.mix" }, - "15-MPU6050打印数值.mix": { + "kj0uBvDCtBI.mix": { "__file__": true, "__name__": "15-MPU6050打印数值.mix" }, - "16-BME280打印温度值.mix": { + "fG4kGqWPflc.mix": { "__file__": true, "__name__": "16-BME280打印温度值.mix" }, - "16-BME280气象站.mix": { + "E-iK3b42LlY.mix": { "__file__": true, "__name__": "16-BME280气象站.mix" }, - "17-PS2手柄_打印摇杆值.mix": { + "61fOAZOqTtX.mix": { "__file__": true, "__name__": "17-PS2手柄_打印摇杆值.mix" }, - "B01-声控舵机.mix": { + "pFQ-GQGkDWn.mix": { "__file__": true, "__name__": "B01-声控舵机.mix" }, "__file__": false, "__name__": "10-传感器" }, - "11-执行器": { - "01-门铃.mix": { + "mpdVdRqa_Dj": { + "k06WupFb9Vh.mix": { "__file__": true, "__name__": "01-门铃.mix" }, - "02-蜂鸣器播放简单声音.mix": { + "cuzdOJkdI7r.mix": { "__file__": true, "__name__": "02-蜂鸣器播放简单声音.mix" }, - "03-按键钢琴.mix": { + "P_2sx7UtQAS.mix": { "__file__": true, "__name__": "03-按键钢琴.mix" }, - "04-两只老虎.mix": { + "QCcinjWnlm3.mix": { "__file__": true, "__name__": "04-两只老虎.mix" }, - "05-Alarm.mix": { + "na4MOP5fQrP.mix": { "__file__": true, "__name__": "05-Alarm.mix" }, - "06-WS2812.mix": { + "pEgpyyG6174.mix": { "__file__": true, "__name__": "06-WS2812.mix" }, - "07-mini MP3_播放音乐.mix": { + "l_UHdh13G8s.mix": { "__file__": true, "__name__": "07-mini MP3_播放音乐.mix" }, - "09-七彩流水灯.mix": { + "9ZjMmxy9eJC.mix": { "__file__": true, "__name__": "09-七彩流水灯.mix" }, "__file__": false, "__name__": "11-执行器" }, - "12-显示器": { - "01-TM1650_显示变化的数字.mix": { + "UkWokeKvXyM": { + "DqUVHbxvkDm.mix": { "__file__": true, "__name__": "01-TM1650_显示变化的数字.mix" }, - "03-LCD1602_显示Hello Mixly.mix": { + "7lmMFYTGdVE.mix": { "__file__": true, "__name__": "03-LCD1602_显示Hello Mixly.mix" }, - "04-OLED_多页切换.mix": { + "ZYCSsCpLdqL.mix": { "__file__": true, "__name__": "04-OLED_多页切换.mix" }, - "04-OLED_显示Mixly Logo.mix": { + "qIRT95O8plB.mix": { "__file__": true, "__name__": "04-OLED_显示Mixly Logo.mix" }, - "04-OLED_显示奥运五环图案.mix": { + "vaNZ2r3xRX0.mix": { "__file__": true, "__name__": "04-OLED_显示奥运五环图案.mix" }, - "04-OLED_显示文本.mix": { + "Mi8CNddn6YC.mix": { "__file__": true, "__name__": "04-OLED_显示文本.mix" }, - "04-OLED_显示汉字(取模).mix": { + "LcZdAB_aN8Y.mix": { "__file__": true, "__name__": "04-OLED_显示汉字(取模).mix" }, - "04-OLED_显示汉字.mix": { + "UkZRTnQDJQT.mix": { "__file__": true, "__name__": "04-OLED_显示汉字.mix" }, - "04-OLED_显示表情图片.mix": { + "bbbPQm-fDwd.mix": { "__file__": true, "__name__": "04-OLED_显示表情图片.mix" }, - "04-OLED_显示表情图片1.mix": { + "DzUly47GHvh.mix": { "__file__": true, "__name__": "04-OLED_显示表情图片1.mix" }, - "05-NOKIA5110_显示汉字(取模).mix": { + "V1WtzKryomM.mix": { "__file__": true, "__name__": "05-NOKIA5110_显示汉字(取模).mix" }, - "06-LCD12864 8080_显示汉字(取模).mix": { + "jJEg7j5CxhF.mix": { "__file__": true, "__name__": "06-LCD12864 8080_显示汉字(取模).mix" }, - "06-LCD12864 SPI_显示汉字(取模).mix": { + "usYNul1BIXm.mix": { "__file__": true, "__name__": "06-LCD12864 SPI_显示汉字(取模).mix" }, - "07-MAX7219_显示笑脸和哭脸.mix": { + "ImAbN2s2Xlp.mix": { "__file__": true, "__name__": "07-MAX7219_显示笑脸和哭脸.mix" }, - "07-MAX7219_水平方向四块级联滚动显示Mixly.mix": { + "IPGm3pOpHxE.mix": { "__file__": true, "__name__": "07-MAX7219_水平方向四块级联滚动显示Mixly.mix" }, "__file__": false, "__name__": "12-显示器" }, - "15-函数": { - "01-函数法SOS.mix": { + "buyPEdOOItZ": { + "irp3icTormV.mix": { "__file__": true, "__name__": "01-函数法SOS.mix" }, - "02-含参数无返回值呼吸灯.mix": { + "SHEometY8wf.mix": { "__file__": true, "__name__": "02-含参数无返回值呼吸灯.mix" }, "__file__": false, "__name__": "15-函数" }, - "16-自定义模块": { - "(在2.0下编译报错)01-Factory.mix": { + "ULasX4jjry9": { + "nBaGcb7frFi.mix": { "__file__": true, "__name__": "(在2.0下编译报错)01-Factory.mix" }, "__file__": false, "__name__": "16-自定义模块" }, - "Mixly2.0_simple_tutorial": { - "01_input_and_Output": { - "01_Light_up_the_on_board_indicator.mix": { + "E3gA9njBqvg": { + "x5L8JkJrc9c": { + "yQXQmvo2lSi.mix": { "__file__": true, "__name__": "01_Light_up_the_on_board_indicator.mix" }, - "02_On_board_indicator_flashes.mix": { + "7UelaWDD8Qb.mix": { "__file__": true, "__name__": "02_On_board_indicator_flashes.mix" }, - "03_Digital_Inputs.mix": { + "nfN-MlDAD9z.mix": { "__file__": true, "__name__": "03_Digital_Inputs.mix" }, - "04_Pin_output_state_switching.mix": { + "MJ0ZRIHZT4m.mix": { "__file__": true, "__name__": "04_Pin_output_state_switching.mix" }, - "05_PWMAnalog_Output.mix": { + "dzmd7LK1wmz.mix": { "__file__": true, "__name__": "05_PWMAnalog_Output.mix" }, - "06_Analog_Inputs.mix": { + "3XrCtQik409.mix": { "__file__": true, "__name__": "06_Analog_Inputs.mix" }, - "07_Software_analog_output.mix": { + "ijJPv1N1boP.mix": { "__file__": true, "__name__": "07_Software_analog_output.mix" }, - "08_Multi_functional_keys.mix": { + "-l1Rubh3pPG.mix": { "__file__": true, "__name__": "08_Multi_functional_keys.mix" }, - "09_Hardware_Interrupts.mix": { + "NKjl6wrvs-H.mix": { "__file__": true, "__name__": "09_Hardware_Interrupts.mix" }, - "10_Software_Interruptions.mix": { + "s2Y2Yt7AfyB.mix": { "__file__": true, "__name__": "10_Software_Interruptions.mix" }, - "11_Pulse_measurement.mix": { + "W2YRDnm_kG1.mix": { "__file__": true, "__name__": "11_Pulse_measurement.mix" }, - "12_Pin_up_mode.mix": { + "4tE59Poee-Z.mix": { "__file__": true, "__name__": "12_Pin_up_mode.mix" }, - "13_Serial_Data_Output.mix": { + "wSSlyC8L6rz.mix": { "__file__": true, "__name__": "13_Serial_Data_Output.mix" }, "__file__": false, "__name__": "01_input_and_Output" }, - "02_Control": { - "01_Stop_the_program.mix": { + "XQwqVX_-Ej-": { + "rQagLZT1o4p.mix": { "__file__": true, "__name__": "01_Stop_the_program.mix" }, - "02_Difference_between_while_and_do_while.mix": { + "KNRRFPhBgP6.mix": { "__file__": true, "__name__": "02_Difference_between_while_and_do_while.mix" }, - "03_if_elseConditional_Judgment.mix": { + "LH9qS43n_DP.mix": { "__file__": true, "__name__": "03_if_elseConditional_Judgment.mix" }, - "04_switch_Multi_branching_condition_control.mix": { + "Leu-lml1_r0.mix": { "__file__": true, "__name__": "04_switch_Multi_branching_condition_control.mix" }, - "05_for_Circular_breathing_light.mix": { + "NdxRjgNIE92.mix": { "__file__": true, "__name__": "05_for_Circular_breathing_light.mix" }, - "06_Jump_out_of_the_loop.mix": { + "bQx0cOQFH5_.mix": { "__file__": true, "__name__": "06_Jump_out_of_the_loop.mix" }, - "07_System_runtime.mix": { + "Idsjej63QrS.mix": { "__file__": true, "__name__": "07_System_runtime.mix" }, - "08_Hardware_Timer.mix": { + "pw2NZSh59tP.mix": { "__file__": true, "__name__": "08_Hardware_Timer.mix" }, - "09_Simple_Timer.mix": { + "Ya0abKlNVAa.mix": { "__file__": true, "__name__": "09_Simple_Timer.mix" }, - "10_Register_delay_function.mix": { + "T_YI4P6lqre.mix": { "__file__": true, "__name__": "10_Register_delay_function.mix" }, - "11_SCoop_Multi-threaded.mix": { + "Hx-vVqqXMtR.mix": { "__file__": true, "__name__": "11_SCoop_Multi-threaded.mix" }, "__file__": false, "__name__": "02_Control" }, - "03_Mathematics": { - "01_Algebraic_operations.mix": { + "hA1zhShOCTH": { + "MSGq34gtdfQ.mix": { "__file__": true, "__name__": "01_Algebraic_operations.mix" }, - "02_Bit_Operations.mix": { + "7FiRrThpoUV.mix": { "__file__": true, "__name__": "02_Bit_Operations.mix" }, - "03_Trigonometric_functions.mix": { + "8WbtwD-uxRN.mix": { "__file__": true, "__name__": "03_Trigonometric_functions.mix" }, - "04_Variable_self-adding.mix": { + "EsPOvfHJQSS.mix": { "__file__": true, "__name__": "04_Variable_self-adding.mix" }, - "05_Common_mathematical_operations(Rounding_etc.).mix": { + "4xzI5dXsmYn.mix": { "__file__": true, "__name__": "05_Common_mathematical_operations(Rounding_etc.).mix" }, - "06_Get_the_number_of_bytes_occupied_by_different_types_of_data.mix": { + "a9VObXsMq1x.mix": { "__file__": true, "__name__": "06_Get_the_number_of_bytes_occupied_by_different_types_of_data.mix" }, - "07_Maximum_and_minimum_values.mix": { + "iNzNa_pWkJN.mix": { "__file__": true, "__name__": "07_Maximum_and_minimum_values.mix" }, - "08_Get_random_number.mix": { + "BO3eDwHwIWZ.mix": { "__file__": true, "__name__": "08_Get_random_number.mix" }, - "09_Mathematical_constraints.mix": { + "ssqqQ4UVk56.mix": { "__file__": true, "__name__": "09_Mathematical_constraints.mix" }, - "10_Mathematical_mapping.mix": { + "PVb2Lca9DBn.mix": { "__file__": true, "__name__": "10_Mathematical_mapping.mix" }, "__file__": false, "__name__": "03_Mathematics" }, - "04_Logic": { - "01_Logical_relationships.mix": { + "GSnryLJWh-P": { + "McmYmevvNr_.mix": { "__file__": true, "__name__": "01_Logical_relationships.mix" }, - "02_Logical_operations.mix": { + "4L_EVAuZf-9.mix": { "__file__": true, "__name__": "02_Logical_operations.mix" }, - "03_Logical_non-operations.mix": { + "US82u2_VN2Z.mix": { "__file__": true, "__name__": "03_Logical_non-operations.mix" }, - "04_Conditional_return_value.mix": { + "rp9yAumyKV7.mix": { "__file__": true, "__name__": "04_Conditional_return_value.mix" }, "__file__": false, "__name__": "04_Logic" }, - "05_Text": { - "01_String_Splicing.mix": { + "R4oqAHW3eYO": { + "dSCHZu24dO5.mix": { "__file__": true, "__name__": "01_String_Splicing.mix" }, - "02_String_to_integer_or_decimal.mix": { + "UaDccOfqCuO.mix": { "__file__": true, "__name__": "02_String_to_integer_or_decimal.mix" }, - "03_String_Index.mix": { + "KgciTQ8AnCE.mix": { "__file__": true, "__name__": "03_String_Index.mix" }, - "04_Intercepting_strings.mix": { + "HNtg-2Da-JW.mix": { "__file__": true, "__name__": "04_Intercepting_strings.mix" }, - "05_String_conversion_and_replacement.mix": { + "45PCf-wV0wp.mix": { "__file__": true, "__name__": "05_String_conversion_and_replacement.mix" }, - "06_String_First_Determination_and_Data_Type_Conversion.mix": { + "K54doWiG39z.mix": { "__file__": true, "__name__": "06_String_First_Determination_and_Data_Type_Conversion.mix" }, - "07_Character_to_ascii_conversion.mix": { + "DnRR8D079TM.mix": { "__file__": true, "__name__": "07_Character_to_ascii_conversion.mix" }, - "08_Incremental_conversion.mix": { + "biM30CuB6fe.mix": { "__file__": true, "__name__": "08_Incremental_conversion.mix" }, - "09_String_length_and_getting_the_specified_position_character.mix": { + "AzpzO7hb1U6.mix": { "__file__": true, "__name__": "09_String_length_and_getting_the_specified_position_character.mix" }, - "10_String_relations _and_comparisons.mix": { + "Qz8NT8P3cgM.mix": { "__file__": true, "__name__": "10_String_relations _and_comparisons.mix" }, "__file__": false, "__name__": "05_Text" }, - "06_Arrays": { - "01_One-dimensional_array_declaration.mix": { + "JDIt_spNo9w": { + "VPvSILbaEI7.mix": { "__file__": true, "__name__": "01_One-dimensional_array_declaration.mix" }, - "02_Array_reading_and_writing.mix": { + "y1GYX7RhYhn.mix": { "__file__": true, "__name__": "02_Array_reading_and_writing.mix" }, - "03_Array_circular_shift.mix": { + "EPWwigDeOi3.mix": { "__file__": true, "__name__": "03_Array_circular_shift.mix" }, - "04_Two-dimensional_array_declaration.mix": { + "MluoFisOxRJ.mix": { "__file__": true, "__name__": "04_Two-dimensional_array_declaration.mix" }, - "05_Two-dimensional_array_reading_and_writing.mix": { + "QFi6mv_ofV8.mix": { "__file__": true, "__name__": "05_Two-dimensional_array_reading_and_writing.mix" }, "__file__": false, "__name__": "06_Arrays" }, - "07_Variables": { - "01_Difference_between_variable_declaration_and_use.mix": { + "h_kp9nJp3tE": { + "_YNPBr0SqR3.mix": { "__file__": true, "__name__": "01_Difference_between_variable_declaration_and_use.mix" }, "__file__": false, "__name__": "07_Variables" }, - "08_Function": { - "01_no-return-value-no-parameter_function.mix": { + "0A69Iex_3O0": { + "CUrySG0saG4.mix": { "__file__": true, "__name__": "01_no-return-value-no-parameter_function.mix" }, - "02_no-return-value_function_with_parameters.mix": { + "GRkTrxAAWd7.mix": { "__file__": true, "__name__": "02_no-return-value_function_with_parameters.mix" }, - "03_Function_declaration_with_return_value_and_parameters.mix": { + "Kp_Z6wsusFw.mix": { "__file__": true, "__name__": "03_Function_declaration_with_return_value_and_parameters.mix" }, - "04_Multiple_return_value_function_declaration_with_parameters.mix": { + "Cd7x_yUEA-W.mix": { "__file__": true, "__name__": "04_Multiple_return_value_function_declaration_with_parameters.mix" }, "__file__": false, "__name__": "08_Function" }, - "09_Serial_port": { - "01_Serial_printout.mix": { + "eofNKBgZ1va": { + "m6gtkDpXqhQ.mix": { "__file__": true, "__name__": "01_Serial_printout.mix" }, - "02_Serial_input_1.mix": { + "BktGk-lVYtV.mix": { "__file__": true, "__name__": "02_Serial_input_1.mix" }, - "02_Serial_input_2.mix": { + "GqO7_Ay7Gd_.mix": { "__file__": true, "__name__": "02_Serial_input_2.mix" }, - "02_Serial_input_3.mix": { + "v_sWVcM8kFf.mix": { "__file__": true, "__name__": "02_Serial_input_3.mix" }, - "02_Serial_input_4.mix": { + "Yk9QvRiljtX.mix": { "__file__": true, "__name__": "02_Serial_input_4.mix" }, - "03_Serial_port_send_wait.mix": { + "AucoRRt69BN.mix": { "__file__": true, "__name__": "03_Serial_port_send_wait.mix" }, - "04_Serial_Interrupt.mix": { + "zkbfrD7lM3u.mix": { "__file__": true, "__name__": "04_Serial_Interrupt.mix" }, - "05_Use_of_soft_serial_port.mix": { + "NsAHfaz9-dF.mix": { "__file__": true, "__name__": "05_Use_of_soft_serial_port.mix" }, "__file__": false, "__name__": "09_Serial_port" }, - "10_Sensors": { - "01_Ultrasonic_distance_measurement.mix": { + "iApmjAJpTXh": { + "B_TAqigdRJL.mix": { "__file__": true, "__name__": "01_Ultrasonic_distance_measurement.mix" }, - "02_Get_DHT11_temperature_and_humidity.mix": { + "iPCwZ58gmjd.mix": { "__file__": true, "__name__": "02_Get_DHT11_temperature_and_humidity.mix" }, - "03_get_LM35_temperature.mix": { + "6RKYDjgxvdI.mix": { "__file__": true, "__name__": "03_get_LM35_temperature.mix" }, - "04_Get_DS18B20_temperature.mix": { + "tlSYxPcisjc.mix": { "__file__": true, "__name__": "04_Get_DS18B20_temperature.mix" }, - "05_Get_BME280_parameters.mix": { + "ZeakInL8N1O.mix": { "__file__": true, "__name__": "05_Get_BME280_parameters.mix" }, - "06_get_SHT20_temperature_and_humidity.mix": { + "d2IRF_tBAC9.mix": { "__file__": true, "__name__": "06_get_SHT20_temperature_and_humidity.mix" }, - "07_BMLX90614_Infrared_temperature_measurement.mix": { + "zQ7_bsUUV2T.mix": { "__file__": true, "__name__": "07_BMLX90614_Infrared_temperature_measurement.mix" }, - "08_tcs34725_color_extraction.mix": { + "Gmqld3t9Vcc.mix": { "__file__": true, "__name__": "08_tcs34725_color_extraction.mix" }, - "09_tcs230_color_extraction.mix": { + "pAYkEbwcxES.mix": { "__file__": true, "__name__": "09_tcs230_color_extraction.mix" }, - "10_MPU6050_Gyroscope.mix": { + "jJh7mRHprwo.mix": { "__file__": true, "__name__": "10_MPU6050_Gyroscope.mix" }, - "11_MPU9250_acceleration_sensor.mix": { + "au1GOUNSwqe.mix": { "__file__": true, "__name__": "11_MPU9250_acceleration_sensor.mix" }, "__file__": false, "__name__": "10_Sensors" }, - "13_Communication": { - "01_Infrared_data_reception.mix": { + "FTnjGGGrTfO": { + "BuMvcU_K4M3.mix": { "__file__": true, "__name__": "01_Infrared_data_reception.mix" }, - "02_Infrared_data_transmission.mix": { + "yxtoB43TZjU.mix": { "__file__": true, "__name__": "02_Infrared_data_transmission.mix" }, - "03_Infrared_data_simulation_transceiver.mix": { + "1rPFtJ7p6P0.mix": { "__file__": true, "__name__": "03_Infrared_data_simulation_transceiver.mix" }, "__file__": false, "__name__": "13_Communication" }, - "14_Storage": { - "01_SD_card_read_test.mix": { + "mcrj9ffePd4": { + "4Qn0kqRKHHP.mix": { "__file__": true, "__name__": "01_SD_card_read_test.mix" }, - "02_EEPROM_power_down_storage.mix": { + "wnnO1pT7WC7.mix": { "__file__": true, "__name__": "02_EEPROM_power_down_storage.mix" }, @@ -855,377 +855,377 @@ "__file__": false, "__name__": "Mixly2.0_simple_tutorial" }, - "Mixly2.0简明教程": { - "01-输入输出": { - "01-点亮板载指示灯13.mix": { + "isNjoSeBp27": { + "467WEsYFZfc": { + "GJDbhPa46G3.mix": { "__file__": true, "__name__": "01-点亮板载指示灯13.mix" }, - "02-板载指示灯13闪烁.mix": { + "KmCDKfcbGGO.mix": { "__file__": true, "__name__": "02-板载指示灯13闪烁.mix" }, - "03-数字输入.mix": { + "yB24xfSII23.mix": { "__file__": true, "__name__": "03-数字输入.mix" }, - "04-管脚输出状态切换.mix": { + "6bO5vHVn2Nc.mix": { "__file__": true, "__name__": "04-管脚输出状态切换.mix" }, - "05-PWM模拟输出.mix": { + "8qvGr0Yrk0P.mix": { "__file__": true, "__name__": "05-PWM模拟输出.mix" }, - "06-模拟输入.mix": { + "lpbS-o3PhIX.mix": { "__file__": true, "__name__": "06-模拟输入.mix" }, - "07-软件模拟输出.mix": { + "wGZKoXPPLg1.mix": { "__file__": true, "__name__": "07-软件模拟输出.mix" }, - "08-多功能按键.mix": { + "awZmGTk9djd.mix": { "__file__": true, "__name__": "08-多功能按键.mix" }, - "09-硬件中断.mix": { + "17_1xALOHcv.mix": { "__file__": true, "__name__": "09-硬件中断.mix" }, - "10-软件中断.mix": { + "a4f6QTz6Vz-.mix": { "__file__": true, "__name__": "10-软件中断.mix" }, - "11-脉冲测量.mix": { + "GTskys6bXp6.mix": { "__file__": true, "__name__": "11-脉冲测量.mix" }, - "12-管脚上拉模式.mix": { + "_lXNvF3tKlJ.mix": { "__file__": true, "__name__": "12-管脚上拉模式.mix" }, - "13-串行数据输出.mix": { + "EtGtSDXBUb8.mix": { "__file__": true, "__name__": "13-串行数据输出.mix" }, "__file__": false, "__name__": "01-输入输出" }, - "02-控制": { - "01-停止程序.mix": { + "ZLuuxSYZLRS": { + "zOM2pAMJKyc.mix": { "__file__": true, "__name__": "01-停止程序.mix" }, - "02-while与do while区别.mix": { + "4Vb9rnN0eCP.mix": { "__file__": true, "__name__": "02-while与do while区别.mix" }, - "03-if else条件判断.mix": { + "vGkz7tgkPmu.mix": { "__file__": true, "__name__": "03-if else条件判断.mix" }, - "04-switch多分枝条件控制.mix": { + "lIwTAmQ3lgF.mix": { "__file__": true, "__name__": "04-switch多分枝条件控制.mix" }, - "05-for循环呼吸灯.mix": { + "wdc9tziLxDW.mix": { "__file__": true, "__name__": "05-for循环呼吸灯.mix" }, - "06-跳出循环.mix": { + "zAHYdjvq8gY.mix": { "__file__": true, "__name__": "06-跳出循环.mix" }, - "07-系统运行时间.mix": { + "FanM_7cEg_p.mix": { "__file__": true, "__name__": "07-系统运行时间.mix" }, - "08-硬件定时器.mix": { + "xhDiIqlkFHb.mix": { "__file__": true, "__name__": "08-硬件定时器.mix" }, - "09-简单定时器.mix": { + "18Vhvc1wGpd.mix": { "__file__": true, "__name__": "09-简单定时器.mix" }, - "10-注册延时函数.mix": { + "xUxq_KhRNGn.mix": { "__file__": true, "__name__": "10-注册延时函数.mix" }, - "11-SCoop多线程.mix": { + "IItefYn7699.mix": { "__file__": true, "__name__": "11-SCoop多线程.mix" }, "__file__": false, "__name__": "02-控制" }, - "03-数学": { - "01-代数运算.mix": { + "68abTmumbML": { + "Btqrykelruq.mix": { "__file__": true, "__name__": "01-代数运算.mix" }, - "02-位运算.mix": { + "gtlA5Tu2dUj.mix": { "__file__": true, "__name__": "02-位运算.mix" }, - "03-三角函数.mix": { + "LB0rMF5Hfsx.mix": { "__file__": true, "__name__": "03-三角函数.mix" }, - "04-变量自加.mix": { + "xJ9ZE3qj4b5.mix": { "__file__": true, "__name__": "04-变量自加.mix" }, - "05-常见数学运算(四舍五入等).mix": { + "-thzSlpzSGT.mix": { "__file__": true, "__name__": "05-常见数学运算(四舍五入等).mix" }, - "06-获取不同类型数据占用的字节数.mix": { + "tUendiEPefT.mix": { "__file__": true, "__name__": "06-获取不同类型数据占用的字节数.mix" }, - "07-最大值与最小值.mix": { + "PZJgs1zd8bm.mix": { "__file__": true, "__name__": "07-最大值与最小值.mix" }, - "08-获取随机数.mix": { + "OUJeJFFhMsm.mix": { "__file__": true, "__name__": "08-获取随机数.mix" }, - "09-数学约束.mix": { + "ayMctguzdGP.mix": { "__file__": true, "__name__": "09-数学约束.mix" }, - "10-数学映射.mix": { + "GCsPC02gvaL.mix": { "__file__": true, "__name__": "10-数学映射.mix" }, "__file__": false, "__name__": "03-数学" }, - "04-逻辑": { - "01-逻辑关系.mix": { + "JTSGvCTP-KT": { + "bouV1jk8aIU.mix": { "__file__": true, "__name__": "01-逻辑关系.mix" }, - "02-逻辑运算.mix": { + "5ioXet73uDG.mix": { "__file__": true, "__name__": "02-逻辑运算.mix" }, - "03-逻辑非运算.mix": { + "tBB-GOBzn1W.mix": { "__file__": true, "__name__": "03-逻辑非运算.mix" }, - "04-条件返回值.mix": { + "Sy8ptICclrm8.mix": { "__file__": true, "__name__": "04-条件返回值.mix" }, "__file__": false, "__name__": "04-逻辑" }, - "05-文本": { - "01-字符串拼接.mix": { + "JPkPfRt6_r1X": { + "Vrr0lLFz3mj2.mix": { "__file__": true, "__name__": "01-字符串拼接.mix" }, - "02-字符串转整数或小数.mix": { + "FzX2UfKhHbpi.mix": { "__file__": true, "__name__": "02-字符串转整数或小数.mix" }, - "03-字符串索引.mix": { + "Ugr4N4K5W8sB.mix": { "__file__": true, "__name__": "03-字符串索引.mix" }, - "04-截取字符串.mix": { + "NyWp2OKJ_KXA.mix": { "__file__": true, "__name__": "04-截取字符串.mix" }, - "05-字符串转换与替换.mix": { + "ENIfN4_0NI8O.mix": { "__file__": true, "__name__": "05-字符串转换与替换.mix" }, - "06-字符串首位判断与数据类型转换.mix": { + "7AfpEBJ3wSUV.mix": { "__file__": true, "__name__": "06-字符串首位判断与数据类型转换.mix" }, - "07-字符与ascii码互相转换.mix": { + "fzQRyIDCMxgb.mix": { "__file__": true, "__name__": "07-字符与ascii码互相转换.mix" }, - "08-进制转换.mix": { + "WlJnJ-hU0t0u.mix": { "__file__": true, "__name__": "08-进制转换.mix" }, - "09-字符串长度与获取指定位置字符.mix": { + "eEvAtFgUpQmj.mix": { "__file__": true, "__name__": "09-字符串长度与获取指定位置字符.mix" }, - "10-字符串关系与比较.mix": { + "Yp_sKlZiIUjg.mix": { "__file__": true, "__name__": "10-字符串关系与比较.mix" }, "__file__": false, "__name__": "05-文本" }, - "06-数组": { - "01-一维数组声明.mix": { + "IvzzcJnFpmH0": { + "m7HXbYrxtdmL.mix": { "__file__": true, "__name__": "01-一维数组声明.mix" }, - "02-数组读写.mix": { + "6OOfh6rjbQ5N.mix": { "__file__": true, "__name__": "02-数组读写.mix" }, - "03-数组循环移位.mix": { + "pQavV7FJHp3m.mix": { "__file__": true, "__name__": "03-数组循环移位.mix" }, - "04-二维数组声明.mix": { + "5HM9Y4ksDQSC.mix": { "__file__": true, "__name__": "04-二维数组声明.mix" }, - "05-二维数组读写.mix": { + "URSoMnJldYz8.mix": { "__file__": true, "__name__": "05-二维数组读写.mix" }, "__file__": false, "__name__": "06-数组" }, - "07-变量": { - "01-变量声明与使用区别.mix": { + "DyZnkKkHhx12": { + "ZNYF5r5OZecA.mix": { "__file__": true, "__name__": "01-变量声明与使用区别.mix" }, "__file__": false, "__name__": "07-变量" }, - "08-函数": { - "01-无返回值无参数函数.mix": { + "nNsVT7eSVGqq": { + "h1lqTulePuUB.mix": { "__file__": true, "__name__": "01-无返回值无参数函数.mix" }, - "02-无返回值带参数函数.mix": { + "wchyPfvEZ1YQ.mix": { "__file__": true, "__name__": "02-无返回值带参数函数.mix" }, - "03-带返回值带参数函数声明.mix": { + "YEo_Cns7HSqO.mix": { "__file__": true, "__name__": "03-带返回值带参数函数声明.mix" }, - "04-多返回值带参数函数声明.mix": { + "21TXotEB32fW.mix": { "__file__": true, "__name__": "04-多返回值带参数函数声明.mix" }, "__file__": false, "__name__": "08-函数" }, - "09-串口": { - "01-串口打印输出.mix": { + "BAHdzkOgsa6f": { + "JjVkbhABYL4o.mix": { "__file__": true, "__name__": "01-串口打印输出.mix" }, - "02-串口输入1.mix": { + "16b6prCA7oRl.mix": { "__file__": true, "__name__": "02-串口输入1.mix" }, - "02-串口输入2.mix": { + "xOzNyyVK2sPy.mix": { "__file__": true, "__name__": "02-串口输入2.mix" }, - "02-串口输入3.mix": { + "nIO68pQXKL8v.mix": { "__file__": true, "__name__": "02-串口输入3.mix" }, - "02-串口输入4.mix": { + "TetX3feDyfId.mix": { "__file__": true, "__name__": "02-串口输入4.mix" }, - "03-串口发送等待.mix": { + "LkZ4fODaaFjk.mix": { "__file__": true, "__name__": "03-串口发送等待.mix" }, - "04-串口中断.mix": { + "U-fYVGd9RHq4.mix": { "__file__": true, "__name__": "04-串口中断.mix" }, - "05-软串口的使用.mix": { + "eI-P_gGkhcLV.mix": { "__file__": true, "__name__": "05-软串口的使用.mix" }, "__file__": false, "__name__": "09-串口" }, - "10-传感器": { - "01-超声波测距.mix": { + "hmDyvKQOSN9n": { + "1xXN-rChppV1.mix": { "__file__": true, "__name__": "01-超声波测距.mix" }, - "02-获取DHT11温湿度.mix": { + "Msm1fSqmawDV.mix": { "__file__": true, "__name__": "02-获取DHT11温湿度.mix" }, - "03-获取LM35温度.mix": { + "-NqlRjIYf7Bt.mix": { "__file__": true, "__name__": "03-获取LM35温度.mix" }, - "04-获取DS18B20温度.mix": { + "e55HPj_QERoM.mix": { "__file__": true, "__name__": "04-获取DS18B20温度.mix" }, - "05-获取BME280参数.mix": { + "OeIyRI5JrXBi.mix": { "__file__": true, "__name__": "05-获取BME280参数.mix" }, - "06-获取SHT20温湿度.mix": { + "JRrU8q2xhYEN.mix": { "__file__": true, "__name__": "06-获取SHT20温湿度.mix" }, - "07-BMLX90614红外温度测量.mix": { + "kd_bUN0oGYUH.mix": { "__file__": true, "__name__": "07-BMLX90614红外温度测量.mix" }, - "08-tcs34725颜色提取.mix": { + "g5QJA4rlAYki.mix": { "__file__": true, "__name__": "08-tcs34725颜色提取.mix" }, - "09-tcs230颜色提取.mix": { + "SN8sJs0zHx9o.mix": { "__file__": true, "__name__": "09-tcs230颜色提取.mix" }, - "10-MPU6050陀螺仪.mix": { + "D1SS4P6ZA6GL.mix": { "__file__": true, "__name__": "10-MPU6050陀螺仪.mix" }, - "11-MPU9250加速度传感器.mix": { + "41ONKWg5Evzg.mix": { "__file__": true, "__name__": "11-MPU9250加速度传感器.mix" }, "__file__": false, "__name__": "10-传感器" }, - "13-通信": { - "01-红外数据接收.mix": { + "a5BbcxgRH29C": { + "uUYyvyK3onjB.mix": { "__file__": true, "__name__": "01-红外数据接收.mix" }, - "02-红外数据发送.mix": { + "WvUueOm5WEmk.mix": { "__file__": true, "__name__": "02-红外数据发送.mix" }, - "03-红外数据模拟收发.mix": { + "SY3tSTDbVoDx.mix": { "__file__": true, "__name__": "03-红外数据模拟收发.mix" }, "__file__": false, "__name__": "13-通信" }, - "14-存储": { - "01-SD卡读写测试.mix": { + "rgLi0xIhEmlt": { + "U7mlHzlCITLU.mix": { "__file__": true, "__name__": "01-SD卡读写测试.mix" }, - "02-EEPROM掉电存储.mix": { + "F1PIkfUJPDFb.mix": { "__file__": true, "__name__": "02-EEPROM掉电存储.mix" }, @@ -1235,149 +1235,149 @@ "__file__": false, "__name__": "Mixly2.0简明教程" }, - "教材范例": { - "创意电子": { - "03按钮指示灯_buttonindator_2.mix": { + "hxkgUtFfM9ze": { + "WY4dX7oT879B": { + "Lxx-gAOcJnhD.mix": { "__file__": true, "__name__": "03按钮指示灯_buttonindator_2.mix" }, - "03按钮指示灯_flashinglight_2.mix": { + "BkldmWlqGqNb.mix": { "__file__": true, "__name__": "03按钮指示灯_flashinglight_2.mix" }, - "04渐变灯_buttonindator_3.mix": { + "2Yb--KtCOK3o.mix": { "__file__": true, "__name__": "04渐变灯_buttonindator_3.mix" }, - "04渐变灯_gradientlamp_1.mix": { + "rkaJKp8DGDFe.mix": { "__file__": true, "__name__": "04渐变灯_gradientlamp_1.mix" }, - "05反应测试_gradientlamp_2.mix": { + "e87UUwd0YbD7.mix": { "__file__": true, "__name__": "05反应测试_gradientlamp_2.mix" }, - "05反应测试_reactiontest_2.mix": { + "GElKGUeVZ-mm.mix": { "__file__": true, "__name__": "05反应测试_reactiontest_2.mix" }, - "06遥控灯_remotecontrollight_2.mix": { + "MhUAfZ3Y6DtZ.mix": { "__file__": true, "__name__": "06遥控灯_remotecontrollight_2.mix" }, - "07遥控门锁_keylessentry_1.mix": { + "L0RS6aPht6GD.mix": { "__file__": true, "__name__": "07遥控门锁_keylessentry_1.mix" }, - "07遥控门锁_keylessentry_2.mix": { + "RsbrguGMv0_I.mix": { "__file__": true, "__name__": "07遥控门锁_keylessentry_2.mix" }, - "08温度指示器_temperatureindator_1.mix": { + "wPninwe_DF_a.mix": { "__file__": true, "__name__": "08温度指示器_temperatureindator_1.mix" }, - "08温度指示器_temperatureindator_2.mix": { + "QfgkBvbarovn.mix": { "__file__": true, "__name__": "08温度指示器_temperatureindator_2.mix" }, - "09报警器_alarm_1.mix": { + "6WPHMWQqpERB.mix": { "__file__": true, "__name__": "09报警器_alarm_1.mix" }, - "09报警器_alarm_2.mix": { + "63FhbNdIhVfB.mix": { "__file__": true, "__name__": "09报警器_alarm_2.mix" }, - "09报警器_lib_alarm_lib2.mix": { + "5rzI1aIw_Mwx.mix": { "__file__": true, "__name__": "09报警器_lib_alarm_lib2.mix" }, - "10可调报警器_adjustablealarm_1.mix": { + "nG_-m9KSXgSB.mix": { "__file__": true, "__name__": "10可调报警器_adjustablealarm_1.mix" }, - "10可调报警器_adjustablealarm_2.mix": { + "46qMVjW-V4Iq.mix": { "__file__": true, "__name__": "10可调报警器_adjustablealarm_2.mix" }, - "10可调报警器_lib_adjustablealarm_lib2.mix": { + "Iknp2K3tk5BI.mix": { "__file__": true, "__name__": "10可调报警器_lib_adjustablealarm_lib2.mix" }, - "11倒车雷达_reversingradar_1.mix": { + "Yim26TqUKaHj.mix": { "__file__": true, "__name__": "11倒车雷达_reversingradar_1.mix" }, - "11倒车雷达_reversingradar_2.mix": { + "S59j9Byq1MDq.mix": { "__file__": true, "__name__": "11倒车雷达_reversingradar_2.mix" }, - "12计时器_timer_1.mix": { + "QVaUIPs54KIQ.mix": { "__file__": true, "__name__": "12计时器_timer_1.mix" }, - "12计时器_timer_2.mix": { + "9xnBQgsXhpMN.mix": { "__file__": true, "__name__": "12计时器_timer_2.mix" }, - "1闪烁灯_1 flashing light.mix": { + "npt2BL6lzM5s.mix": { "__file__": true, "__name__": "1闪烁灯_1 flashing light.mix" }, - "2闪烁灯_2 flashing lights.mix": { + "JhJ1I-M3jmBZ.mix": { "__file__": true, "__name__": "2闪烁灯_2 flashing lights.mix" }, "__file__": false, "__name__": "创意电子" }, - "智能机器": { - "“保卫”消防通道_Secure Fire Passage.mix": { + "_4K2GuxxmboD": { + "giu0EYsGPyWl.mix": { "__file__": true, "__name__": "“保卫”消防通道_Secure Fire Passage.mix" }, - "你抢我答_You rob me to answer.mix": { + "K9NBKbGCRK_s.mix": { "__file__": true, "__name__": "你抢我答_You rob me to answer.mix" }, - "噪声监控_Noise monitoring.mix": { + "0w9cVghCQDeW.mix": { "__file__": true, "__name__": "噪声监控_Noise monitoring.mix" }, - "图书消毒柜_Book disinfection cabinet.mix": { + "F8x78ovOAoUN.mix": { "__file__": true, "__name__": "图书消毒柜_Book disinfection cabinet.mix" }, - "太阳能发电机_Solar generator.mix": { + "6XRJOy2KMlnw.mix": { "__file__": true, "__name__": "太阳能发电机_Solar generator.mix" }, - "彩色手电筒_Color flashlight.mix": { + "JocR-XXM2PGH.mix": { "__file__": true, "__name__": "彩色手电筒_Color flashlight.mix" }, - "无人驾驶_unmanned.mix": { + "9NygxeCtO-AX.mix": { "__file__": true, "__name__": "无人驾驶_unmanned.mix" }, - "智能停车场_Smart parking.mix": { + "J_7p5gcarxaq.mix": { "__file__": true, "__name__": "智能停车场_Smart parking.mix" }, - "眼疾手快_Eye disease hand fast.mix": { + "sPywV_SDRa-4.mix": { "__file__": true, "__name__": "眼疾手快_Eye disease hand fast.mix" }, - "瞄准狐狸_Aiming at the fox.mix": { + "2hRESZBL-jLw.mix": { "__file__": true, "__name__": "瞄准狐狸_Aiming at the fox.mix" }, - "节电风扇_Power-saving fan.mix": { + "HfZX6XYUmmKS.mix": { "__file__": true, "__name__": "节电风扇_Power-saving fan.mix" }, - "超市储物箱_Supermarket storage box.mix": { + "97jNSq7KelvS.mix": { "__file__": true, "__name__": "超市储物箱_Supermarket storage box.mix" }, diff --git a/boards/default/arduino_avr/examples/11-执行器/09-七彩流水灯.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/9ZjMmxy9eJC.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/09-七彩流水灯.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/9ZjMmxy9eJC.mix diff --git a/boards/default/arduino_avr/examples/11-执行器/03-按键钢琴.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/P_2sx7UtQAS.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/03-按键钢琴.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/P_2sx7UtQAS.mix diff --git a/boards/default/arduino_avr/examples/11-执行器/04-两只老虎.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/QCcinjWnlm3.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/04-两只老虎.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/QCcinjWnlm3.mix diff --git a/boards/default/arduino_avr/examples/11-执行器/02-蜂鸣器播放简单声音.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/cuzdOJkdI7r.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/02-蜂鸣器播放简单声音.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/cuzdOJkdI7r.mix diff --git a/boards/default/arduino_avr/examples/11-执行器/01-门铃.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/k06WupFb9Vh.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/01-门铃.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/k06WupFb9Vh.mix diff --git a/boards/default/arduino_avr/examples/11-执行器/07-mini MP3_播放音乐.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/l_UHdh13G8s.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/07-mini MP3_播放音乐.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/l_UHdh13G8s.mix diff --git a/boards/default/arduino_avr/examples/11-执行器/05-Alarm.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/na4MOP5fQrP.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/05-Alarm.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/na4MOP5fQrP.mix diff --git a/boards/default/arduino_avr/examples/11-执行器/06-WS2812.mix b/boards/default/arduino_avr/examples/mpdVdRqa_Dj/pEgpyyG6174.mix similarity index 100% rename from boards/default/arduino_avr/examples/11-执行器/06-WS2812.mix rename to boards/default/arduino_avr/examples/mpdVdRqa_Dj/pEgpyyG6174.mix diff --git a/boards/default/arduino_avr/index.xml b/boards/default/arduino_avr/index.xml index d2b25755..a7c660bc 100644 --- a/boards/default/arduino_avr/index.xml +++ b/boards/default/arduino_avr/index.xml @@ -1 +1 @@ -0010000000100011015001100010001100011001item++item12997millis11001100110011000helloaHelloMixlyABC123Mixlyysubstring036.6662StringStringsQStringsubstringsubstringsubstring0xff0000223a0hellohello000intmylist012123234array22{0,0},{0,0}array000array00array9600Serialprintln0a23220x77100003950100000x5A2345671201992230234A4A5800202011Jan/01/202020201112:34:56800DATE234567894800WHILElocationSeriallocation.latSeriallocation.lng45610054100100200215002121001012341001010100045452454545201000mySerial1011mySerial9600myPlayermySerial50015myPlayer0DFPLAYER_EQ_NORMALmyPlayer2DFPLAYER_DEVICE_SD1111myPlayerreadFileCounts2DFPLAYER_DEVICE_SD1#ff000000024220210002102552552220220clearabcd20234512300x2778910111211mylcd011clear910833ccff0000#000000TRUESTHeiti16米思齐0016480xFCDF33ccff02033ccff02033ccff12340000bitmap1643233ccff11152033ccff113033ccff11102033ccff111020333ccff3030633ccff1455453384333ccff0x3CSSD1306_128X64_NONAMEU8G2_R01098U8G2_R010U8G2_R0234567891011page10201234bitmap96TRUE122STHeiti164816米思齐0012864bitmap110020002064321115201130111020111020330306303061514554533843911111111Mixly300Mixly05ir_item0SerialprintlnHEXir_item30x89ABCDEF3233380800000000array1howMany10010AASPDRSPDR1013111291mylist161mylist164fileName.txtfileName.txtfileName.txtfileName.txthello worldTRUE000itemd9efdd0413ec4b74ab0057a0b8675654nd9efdd0413ec4b74ab0057a0b8675654wifi-ssidwifi-pass59d948d79fe642aab95c1577b1ad419d10V0Serialvpin_value1000V00#ff00000#ff0000example@blynk.ccSubjectContentNotifyV0Serialterminal_textHello,World!V0SerialhourSerialminuteSerialsecondV000923http://yourvideostream.urlTest rowhelloV0SerialindexSerialselectedV0SerialindexFromSerialindexTo0NameJohn0NameJohn000V0V00BLYNK_CONNECTEDV0n2KlfPGDyjDBluNi1G9DG5OEjqDT996L00BLYNK_CONNECTED10V0actionStringEQactionplayplay();45EQactionstoppause();45EQactionnextnext();45EQactionprevprev();45V0SeriallxV0SerialxSerialySerialzV0SerialxSerialySerialzV0 \ No newline at end of file +0010000000100011015001100010001100011001item++item12997millis11001100110011000helloaHelloMixlyABC123Mixlyysubstring036.6662StringStringsQStringsubstringsubstringsubstring0xff0000223a0hellohello000intmylist012123234array22{0,0},{0,0}array000array00array9600Serialprintln0a23220x77100003950100000x5A2345671201992230234A4A5800202011Jan/01/202020201112:34:56800DATE234567894800WHILElocationSeriallocation.latSeriallocation.lng45610054100100200215002121001012341001010100045452454545201000mySerial1011mySerial9600myPlayermySerial50015myPlayer0DFPLAYER_EQ_NORMALmyPlayer2DFPLAYER_DEVICE_SD1111myPlayerreadFileCounts2DFPLAYER_DEVICE_SD1#ff000000024220210002102552552220220clearabcd20234512300x2778910111211mylcd011clear910833ccff0000#000000TRUESTHeiti16米思齐0016480xFCDF33ccff02033ccff02033ccff12340000bitmap1643233ccff11152033ccff113033ccff11102033ccff111020333ccff3030633ccff1455453384333ccff0x3CSSD1306_128X64_NONAMEU8G2_R01098U8G2_R010U8G2_R0234567891011page10201234bitmap96TRUE122STHeiti164816米思齐0012864bitmap110020002064321115201130111020111020330306303061514554533843911111111Mixly300Mixly05ir_item0SerialprintlnHEXir_item30x89ABCDEF3233380800000000array1howMany10010AASPDRSPDR1013111291mylist161mylist164fileName.txtfileName.txtfileName.txtfileName.txthello worldTRUE000itemd9efdd0413ec4b74ab0057a0b8675654nd9efdd0413ec4b74ab0057a0b8675654wifi-ssidwifi-pass59d948d79fe642aab95c1577b1ad419d10V0Serialvpin_value1000V00#ff00000#ff0000example@blynk.ccSubjectContentNotifyV0Serialterminal_textHello,World!V0SerialhourSerialminuteSerialsecondV000923http://yourvideostream.urlTest rowhelloV0SerialindexSerialselectedV0SerialindexFromSerialindexTo0NameJohn0NameJohn000V0V00BLYNK_CONNECTEDV0n2KlfPGDyjDBluNi1G9DG5OEjqDT996L00BLYNK_CONNECTED10V0actionStringEQactionplayplay();45EQactionstoppause();45EQactionnextnext();45EQactionprevprev();45V0SeriallxV0SerialxSerialySerialzV0SerialxSerialySerialzV0 \ No newline at end of file diff --git a/boards/default/arduino_avr/main.bundle.js b/boards/default/arduino_avr/main.bundle.js index 3b6088fe..cc56a725 100644 --- a/boards/default/arduino_avr/main.bundle.js +++ b/boards/default/arduino_avr/main.bundle.js @@ -1 +1 @@ -(()=>{"use strict";var x={145:x=>{x.exports="data:image/png;base64,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"},93:x=>{x.exports="data:image/png;base64,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"},394:x=>{x.exports="data:image/png;base64,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"},306:x=>{x.exports="data:image/png;base64,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"},987:x=>{x.exports="data:image/png;base64,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"},378:x=>{x.exports="data:image/png;base64,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"},800:x=>{x.exports="data:image/png;base64,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"},155:x=>{x.exports="data:image/png;base64,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"},525:x=>{x.exports="data:image/png;base64,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"},761:x=>{x.exports="data:image/png;base64,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"},789:x=>{x.exports="data:image/png;base64,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"},290:x=>{x.exports="data:image/png;base64,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"},305:x=>{x.exports="data:image/png;base64,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"},964:x=>{x.exports="data:image/png;base64,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"},544:x=>{x.exports="data:image/png;base64,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"},591:(x,f,e)=>{x.exports=e.p+"images/ESP32c3_ad3ebf81.jpg"},617:(x,f,e)=>{x.exports=e.p+"images/ESP32s2_b49570e2.jpg"},906:(x,f,e)=>{x.exports=e.p+"images/ESP32s3_10bcc520.jpg"},877:x=>{x.exports="data:image/png;base64,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"},491:x=>{x.exports="data:image/png;base64,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"},998:(x,f,e)=>{x.exports=e.p+"images/ProMini_bb71f95d.png"},537:(x,f,e)=>{x.exports=e.p+"images/STM32F103C8T6_aac49c53.png"},517:(x,f,e)=>{x.exports=e.p+"images/core_esp32c3_pin_ae75bf97.png"},59:(x,f,e)=>{x.exports=e.p+"images/leonardo_68c8b773.png"},408:(x,f,e)=>{x.exports=e.p+"images/mega_bb27e7ea.png"},573:(x,f,e)=>{x.exports=e.p+"images/nano_31da349a.png"},260:(x,f,e)=>{x.exports=e.p+"images/uno_bf94dd41.png"},583:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAMAAACxiD++AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAX1QTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxHl7wAAAH50Uk5TAAMRDg2g9OVmm/5C7ZHBadria32iW4rmYZChAevjqqzx9a288O722yNU/XaVZXdMzecCQCUSELJd+kpBr0/T3l4WbNcyyg8ERGI1H+D5IcajQ4B0FPeL1YjSnOkolsCDwzoJ7/zsGvikl0mm+2+dMyeYlNTqO2oLmUWCCiIM0L6s7AAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAF+SURBVCjPjdP5OwJBGAfwt5AtIglRrVSEKFbpcJSjkPvOfRTCuq9c799uGvt0bNPD95fdmfk8M+/OzgD8HYWSmQppuLJKhexUcxSosWw0NVlQWx6gNgvIs46r12GDnuO4Rk0RMEigCaAZ1XTBFiYwArRiW7ZhMjOBhW+3YoeN53k7MkHZ5IGjU56uQuDsLt1eU09vHrhKhnv6XNDvdnskoC8BAzgoAAx5mcAHMGxB9Ae4oCrEACPBUXc1+Q+0+DEGGCcd4YgPJibNOMVaYtqK0djM7Fwc5hd646waootLvmXSuyKsYnhtvQRsBP2gpQUEwIm4KQOVW9uYgB0KdsGPuCcD+6R5AIcUHMGx9WRGBk7NSdQJnhTpPTufuEizirwk7Su789oLBnrm6FyFianEGyFbzi1iykiBI3KXiwLuRbJTD4m0A8Mp8iWQLD4jw/CIGH0ib88heHklMxnk4C3zCPCOmJGWVNrEYvB7HVXiR66qz6+CCFLnt+Ift5rmByYI3KFNc08pAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTE3VDAwOjU3OjEwKzA4OjAw/IyOtAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0xN1QwMDo1NzoxMCswODowMI3RNggAAABWdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uXzg5dXZ1cnJsZHplL3BlaXpoaS14aXRvbmdwZWl6aGkuc3Zn5h+NFgAAAABJRU5ErkJggg=="}},f={};function e(t){var i=f[t];if(void 0!==i)return i.exports;var n=f[t]={exports:{}};return x[t](n,n.exports,e),n.exports}e.n=x=>{var f=x&&x.__esModule?()=>x.default:()=>x;return e.d(f,{a:f}),f},e.d=(x,f)=>{for(var t in f)e.o(f,t)&&!e.o(x,t)&&Object.defineProperty(x,t,{enumerable:!0,get:f[t]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(x){if("object"==typeof window)return window}}(),e.o=(x,f)=>Object.prototype.hasOwnProperty.call(x,f),e.r=x=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})},(()=>{var x;e.g.importScripts&&(x=e.g.location+"");var f=e.g.document;if(!x&&f&&(f.currentScript&&(x=f.currentScript.src),!x)){var t=f.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&!x;)x=t[i--].src}if(!x)throw new Error("Automatic publicPath is not supported in this browser");x=x.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=x})(),(()=>{var x={};e.r(x),e.d(x,{china_city:()=>ex,http_get:()=>z,http_post:()=>j,weather_get_seniverse_weather_info:()=>nx,weather_get_seniverse_weather_info1:()=>sx,weather_get_seniverse_weather_info2:()=>cx,weather_get_seniverse_weather_info3:()=>ax,weather_private_key:()=>tx,weather_seniverse_city_weather:()=>ix});var f={};e.r(f),e.d(f,{text_base64_url_codec:()=>lx});var t={};e.r(t),e.d(t,{china_city:()=>ux,http_get:()=>dx,http_post:()=>px,weather_get_seniverse_weather_info:()=>Fx,weather_get_seniverse_weather_info1:()=>hx,weather_get_seniverse_weather_info2:()=>Ax,weather_get_seniverse_weather_info3:()=>Ix,weather_private_key:()=>rx,weather_seniverse_city_weather:()=>_x});var i={};e.r(i),e.d(i,{text_base64_url_codec:()=>gx});var n={};e.r(n),e.d(n,{AFMotorRun:()=>Tf,AFMotorStop:()=>Ef,GD5800_MP3_CONTROL:()=>of,GD5800_MP3_EQ_MODE:()=>Ff,GD5800_MP3_LOOP_MODE:()=>rf,GD5800_MP3_PLAY_NUM:()=>Af,GD5800_MP3_Set_Device:()=>pf,GD5800_MP3_VOL:()=>hf,I2Cmotor:()=>Gf,M9101X_S_MP3_CONTROL:()=>Uf,M9101X_S_MP3_PLAY_NUM:()=>Hf,M9101X_S_MP3_VOL_CONTROL:()=>Wf,Mixly_motor:()=>cf,Motor_8833:()=>af,RGB_color_HSV:()=>nf,RGB_color_rgb:()=>zx,RGB_color_seclet:()=>Zx,arduino_dfplayer_available:()=>kf,arduino_dfplayer_loopFolder:()=>vf,arduino_dfplayer_mini_EQ:()=>Sf,arduino_dfplayer_mini_EQ_type:()=>Df,arduino_dfplayer_mini_begin:()=>Cf,arduino_dfplayer_mini_outputDevice:()=>Lf,arduino_dfplayer_mini_outputDevice_type:()=>Nf,arduino_dfplayer_mini_pin:()=>Mf,arduino_dfplayer_mini_setTimeOut:()=>mf,arduino_dfplayer_mini_volume:()=>Of,arduino_dfplayer_mini_volume_up_down:()=>Rf,arduino_dfplayer_playFolder:()=>bf,arduino_dfplayer_play_loop:()=>yf,arduino_dfplayer_readFileCounts:()=>Yf,arduino_dfplayer_readFileCountsInFolder:()=>Vf,arduino_dfplayer_read_now:()=>wf,arduino_dfplayer_set_1:()=>Pf,controls_notone:()=>Gx,controls_notone_noTimer:()=>Ux,controls_tone:()=>Xx,controls_tone_noTimer:()=>Bx,display_rgb:()=>Qx,display_rgb_Brightness:()=>qx,display_rgb_init:()=>Jx,display_rgb_rainbow1:()=>ff,display_rgb_rainbow2:()=>ef,display_rgb_rainbow3:()=>tf,display_rgb_show:()=>$x,group_stepper_move:()=>Kx,group_stepper_setup:()=>Wx,group_stepper_setup2:()=>Hx,servo_move:()=>Px,servo_move1:()=>vx,servo_read_degrees:()=>bx,servo_read_degrees1:()=>Yx,servo_writeMicroseconds:()=>yx,servo_writeMicroseconds1:()=>wx,tone_notes:()=>kx,voice_module:()=>gf});var s={};e.r(s),e.d(s,{Blynk_connect_state:()=>fe,Blynk_iot_BLYNK_syncAll:()=>ie,Blynk_iot_CONNECT_STATE:()=>te,Blynk_iot_timer:()=>xe,LM35ESP:()=>Pe,arduino_blynk_bluetooth:()=>Xe,blynk_AP_config:()=>ye,blynk_AP_config_2:()=>be,blynk_WidgetRTC_get_time:()=>me,blynk_WidgetRTC_init:()=>Ce,blynk_acc:()=>Le,blynk_bridge_AnaloglWrite:()=>Te,blynk_bridge_VPin:()=>Ee,blynk_bridge_auth:()=>Ie,blynk_bridge_digitalWrite:()=>ge,blynk_email:()=>_e,blynk_esp32_Bluetooth:()=>ke,blynk_esp32_ble:()=>Ve,blynk_gravity:()=>De,blynk_iot_WidgetLED_COLOR:()=>se,blynk_iot_WidgetLED_VALUE:()=>ce,blynk_iot_get_data:()=>$f,blynk_iot_ir_recv_raw:()=>ue,blynk_iot_ir_send:()=>re,blynk_iot_ir_send_ac:()=>oe,blynk_iot_playmusic:()=>Oe,blynk_iot_push_data:()=>Qf,blynk_iot_syncVirtual:()=>ne,blynk_iot_terminal_get:()=>Re,blynk_lcd:()=>we,blynk_lcd_clear:()=>Ye,blynk_light:()=>Se,blynk_notify:()=>Fe,blynk_server:()=>jf,blynk_smartconfig:()=>zf,blynk_table:()=>Ge,blynk_table_add_data:()=>Qe,blynk_table_cleardata:()=>Ke,blynk_table_click:()=>Je,blynk_table_highlight:()=>Ue,blynk_table_order:()=>qe,blynk_table_select:()=>We,blynk_table_unselect:()=>He,blynk_table_update:()=>Be,blynk_terminal:()=>he,blynk_terminal_clear:()=>ve,blynk_time_input_1:()=>Ne,blynk_usb_server:()=>Zf,blynk_videourl:()=>Ae,esp_camera:()=>Ze,esp_camera_blynk:()=>ze,take_a_photo1:()=>je});var c={};e.r(c),e.d(c,{MFRC522_IsNewCard:()=>Lt,MFRC522_ReadCard:()=>yt,MFRC522_ReadCardUID:()=>Nt,MFRC522_WriteCard:()=>Pt,MFRC522_init:()=>Dt,RFID_in:()=>mt,RFID_init:()=>Et,RFID_off:()=>St,RFID_on:()=>Ct,RFID_readcarddata:()=>Rt,RFID_readcardnum:()=>Mt,RFID_writecarddata:()=>Ot,i2c_available:()=>pt,i2c_begin_end_transmission:()=>ct,i2c_howmany:()=>dt,i2c_master_Init:()=>nt,i2c_master_reader:()=>ht,i2c_master_reader2:()=>At,i2c_master_readerReg:()=>rt,i2c_master_writer:()=>Ft,i2c_master_writerReg:()=>ut,i2c_read:()=>ot,i2c_slave_Init:()=>st,i2c_slave_onreceive:()=>It,i2c_slave_onrequest:()=>_t,i2c_slave_write:()=>gt,i2c_slave_write_array:()=>lt,i2c_write:()=>at,ir_recv:()=>xt,ir_recv_enable:()=>et,ir_recv_raw:()=>tt,ir_send_nec:()=>ft,ir_send_raw:()=>it,spi_begin_master:()=>vt,spi_begin_slave:()=>bt,spi_slave_interrupt:()=>kt,spi_slave_receive:()=>Xt,spi_transfer:()=>Tt,spi_transfer_1:()=>Yt,spi_transfer_2:()=>Vt,spi_transfer_Init:()=>wt});var a={};e.r(a),e.d(a,{base_delay:()=>li,base_setup:()=>Bt,controls_case:()=>xi,controls_default:()=>fi,controls_delay:()=>Ut,controls_end_program:()=>ni,controls_flow_statements:()=>Kt,controls_for:()=>Wt,controls_if:()=>zt,controls_if_else:()=>qt,controls_if_elseif:()=>Jt,controls_if_if:()=>jt,controls_interrupts:()=>ci,controls_millis:()=>Zt,controls_mstimer2:()=>ei,controls_mstimer2_start:()=>ti,controls_mstimer2_stop:()=>ii,controls_nointerrupts:()=>ai,controls_soft_reset:()=>si,controls_switch:()=>$t,controls_switch_case:()=>Qt,controls_whileUntil:()=>Ht,do_while:()=>pi,execute_super_delay_function1:()=>ui,simple_timer:()=>di,super_delay_function1:()=>oi});var l={};e.r(l),e.d(l,{HT16K33_Init:()=>yi,MAX7219_init:()=>bi,Matrix_img:()=>ji,TFT_Brightness:()=>Hn,TFT_Rotation:()=>Jn,TFT_color_rgb:()=>Zn,TFT_color_seclet:()=>Kn,TFT_fillScreen:()=>jn,TFT_init:()=>zn,TFT_init_with_pin:()=>Un,TFT_st7735_show_hz:()=>Wn,display_4digitdisplay_displayString:()=>Oi,display_4digitdisplay_power:()=>mi,display_4digitdisplay_showDot:()=>Ri,display_HT16K33_Rotation:()=>Xi,display_Matrix_Brightness:()=>Ki,display_Matrix_DisplayChar:()=>Ui,display_Matrix_DrawPixel:()=>wi,display_Matrix_LedArray:()=>Wi,display_Matrix_TEXT:()=>Gi,display_Matrix_fillScreen:()=>zi,display_Matrix_print:()=>Bi,display_Matrix_write:()=>Ji,display_Max7219_Rotation:()=>Vi,display_Max7219_setPosition:()=>ki,display_TM1637_Brightness:()=>Ni,display_TM1637_Brightness_32:()=>Fs,display_TM1637_clearDisplay:()=>Pi,display_TM1637_clearDisplay_32:()=>hs,display_TM1637_displayTime:()=>Li,display_TM1637_displayTime_32:()=>_s,display_TM1637_displyPrint:()=>Di,display_TM1637_displyPrint_32:()=>rs,display_TM1637_init:()=>Si,display_TM1637_init_32:()=>us,display_lcd_bitmap:()=>Bn,display_matrix_bitmap:()=>Hi,get_utf8_width:()=>kn,group_lcd_init:()=>os,group_lcd_init2:()=>gi,group_lcd_init3:()=>Ti,group_lcd_power:()=>Mi,group_lcd_print:()=>Ei,group_lcd_print2:()=>Ci,lcd_display_pattern:()=>Xn,lcd_pattern:()=>Gn,oled_clear:()=>In,oled_define_bitmap_data:()=>gn,oled_drawCircle:()=>Nn,oled_drawEllipse:()=>Pn,oled_drawFrame:()=>Dn,oled_drawLine:()=>mn,oled_drawPixel:()=>Mn,oled_drawRFrame:()=>Ln,oled_drawStr:()=>yn,oled_drawTriangle:()=>Sn,oled_draw_Str_Line:()=>On,oled_face:()=>En,oled_icons:()=>Tn,oled_init:()=>_n,oled_page:()=>Rn,oled_print:()=>Yn,oled_set_CN_Font:()=>vn,oled_set_EN_Font:()=>bn,oled_set_ZH_TW_Font:()=>wn,oled_showBitmap:()=>Cn,tft_Circle:()=>ss,tft_Rect:()=>is,tft_RoundRect:()=>ns,tft_Triangle:()=>ts,tft_define_bitmap_data:()=>qn,tft_drawFastLine:()=>es,tft_drawLine:()=>fs,tft_drawPixel:()=>xs,tft_generate_bitmap_data:()=>Qn,tft_icons:()=>ls,tft_print:()=>ds,tft_print_refresh:()=>ps,tft_set_CN_Font:()=>as,tft_set_EN_Font:()=>cs,tft_showBitmap:()=>$n,u8g2_LCD12864_8080_init:()=>An,u8g2_LCD12864_spi_init:()=>hn,u8g2_setContrast:()=>Vn,u8g2_spi_init:()=>Fn});var d={};e.r(d),e.d(d,{MQTT_add_subscribe_topic:()=>Gs,MQTT_connect:()=>Ys,MQTT_publish:()=>ks,MQTT_server:()=>Ps,MQTT_subscribe:()=>Bs,MQTT_subscribe_value:()=>Xs,NTP_server:()=>Ds,NTP_server_get_time:()=>Ns,WIFI_ap_and_sta:()=>Zs,WIFI_ap_or_sta:()=>Ks,WIFI_incomingPacket:()=>zs,WIFI_info:()=>ys,WIFI_send_data:()=>js,WIFI_smartConfig:()=>Hs,WeatherGet:()=>Js,WeatherGetForecast:()=>Qs,WeatherGetToday:()=>qs,asyncelegantota:()=>tc,ethernet_client_available:()=>Ms,ethernet_client_connect_server:()=>Ts,ethernet_client_connected:()=>Cs,ethernet_client_get_request:()=>Ss,ethernet_client_print:()=>ms,ethernet_client_println:()=>Os,ethernet_client_read:()=>Rs,ethernet_client_stop:()=>Es,ethernet_init_begin:()=>As,ethernet_init_local_ip:()=>gs,ethernet_mac_address:()=>Is,http_get:()=>Ws,mixio_mqtt_publish:()=>fc,mixio_mqtt_received_the_news:()=>ec,mixio_mqtt_subscribe:()=>$s,mixio_mqtt_subscribe_key:()=>xc,mqtt_topics_set:()=>Us,network_connect:()=>bs,network_get_connect:()=>ws,network_wifi_connect:()=>vs});var p={};e.r(p),e.d(p,{factory_block:()=>hc,factory_block_return:()=>Ac,factory_block_return_with_textarea:()=>gc,factory_block_with_textarea:()=>Ic,factory_callMethod_noreturn:()=>_c,factory_callMethod_return:()=>Fc,factory_create_with_container:()=>cc,factory_create_with_item:()=>ac,factory_declare:()=>dc,factory_declare2:()=>pc,factory_define:()=>oc,factory_function_noreturn:()=>sc,factory_function_return:()=>lc,factory_include:()=>nc,factory_static_method_noreturn:()=>uc,factory_static_method_return:()=>rc});var o={};e.r(o),e.d(o,{ADS1015_Get_Value:()=>Uc,ADS1015_setGain:()=>Bc,ESP32touchButton:()=>Vc,OneButton_interrupt:()=>Lc,PCF8591T:()=>Wc,controls_attachInterrupt:()=>Nc,controls_attachPinInterrupt:()=>yc,controls_detachInterrupt:()=>Pc,controls_detachPinInterrupt:()=>bc,inout_analog_read:()=>Sc,inout_analog_write:()=>Rc,inout_buildin_led:()=>Dc,inout_cancel_soft_analog_write:()=>Xc,inout_digital_read:()=>mc,inout_digital_read2:()=>Oc,inout_digital_write2:()=>Mc,inout_highlow:()=>Ec,inout_pinMode:()=>Cc,inout_pulseIn:()=>vc,inout_pulseIn2:()=>wc,inout_shiftout:()=>Yc,inout_soft_analog_write:()=>kc});var u={};e.r(u),e.d(u,{array2_assignment:()=>na,create_array2_with_text:()=>ia,get_array2_value:()=>sa,lists2GetValueByIndex:()=>aa,lists2SetValueByIndex:()=>ca,listsGetValueByIndex:()=>fa,listsSetValueByIndex:()=>ea,lists_array2_get_length:()=>oa,lists_array2_setup:()=>la,lists_array2_setup_get_data:()=>da,lists_create_with:()=>Zc,lists_create_with2:()=>jc,lists_create_with_container:()=>qc,lists_create_with_item:()=>Qc,lists_create_with_text:()=>zc,lists_create_with_text2:()=>Jc,lists_getIndex:()=>$c,lists_length:()=>ta,lists_setIndex:()=>xa,loop_array:()=>pa});var r={};e.r(r),e.d(r,{logic_boolean:()=>ha,logic_compare:()=>ra,logic_negate:()=>Fa,logic_null:()=>Aa,logic_operation:()=>_a,logic_true_or_false:()=>Ia});var _={};e.r(_),e.d(_,{arduino_variate_type:()=>Oa,base_map:()=>Pa,math_SizeOf:()=>Ra,math_arithmetic:()=>Ea,math_auto_add_or_minus:()=>ba,math_bit:()=>Ca,math_constrain:()=>Na,math_max_min:()=>Sa,math_number:()=>Ta,math_random_int:()=>La,math_random_seed:()=>Da,math_to_int:()=>ma,math_trig:()=>Ma,variables_operation:()=>ya});var F={};e.r(F),e.d(F,{pins_MISO:()=>Ga,pins_MOSI:()=>Xa,pins_SCK:()=>Ba,pins_SCL:()=>Ua,pins_SDA:()=>Wa,pins_analog:()=>Ya,pins_digital:()=>wa,pins_interrupt:()=>ka,pins_pwm:()=>Va});var h={};e.r(h),e.d(h,{procedures_callnoreturn:()=>Ja,procedures_callreturn:()=>qa,procedures_defnoreturn:()=>Ka,procedures_defreturn:()=>Za,procedures_ifreturn:()=>Qa,procedures_mutatorarg:()=>ja,procedures_mutatorcontainer:()=>za,procedures_return:()=>$a});var A={};e.r(A),e.d(A,{SCoopTask:()=>xl,SCoop_sleep:()=>el,SCoop_yield:()=>fl});var I={};e.r(I),e.d(I,{ADXL345:()=>Dl,ADXL345_setOffset:()=>Pl,AHT20_21:()=>pd,Arduino_keypad_4_4_start:()=>ed,BME280_READ:()=>Kl,DHT:()=>dl,DS1302_init:()=>Fl,DS1307_init:()=>Al,LIS3DHTR:()=>Nl,LM35:()=>pl,MPU6050:()=>yl,MPU6050_update:()=>bl,NTC_TEMP:()=>dd,PS2_Button:()=>Jl,PS2_init:()=>Zl,PS2_stk:()=>ql,PS2_update:()=>zl,RTC_date:()=>El,RTC_get_time:()=>gl,RTC_set_date:()=>ml,RTC_set_time:()=>Cl,RTC_time:()=>Tl,SHT20:()=>Rl,TCS34725_Get_RGB:()=>$l,arduino_keypad_event:()=>cd,chaoshengbo2:()=>ll,ds18b20:()=>ol,encoder_init:()=>wl,encoder_init1:()=>kl,encoder_read:()=>Vl,encoder_read1:()=>Gl,encoder_write:()=>Yl,encoder_write1:()=>Xl,get_keypad_num:()=>sd,get_system_date_time:()=>Ml,gps_data_available:()=>nl,gps_data_encode:()=>sl,gps_getData_xxx:()=>al,gps_init:()=>il,gps_xxx_isValid:()=>cl,keypad_col_data:()=>id,keypad_row_data:()=>td,keypad_type_data:()=>nd,mixgo_MPU9250:()=>ld,mlx90614_get_data:()=>rl,mlx90614_init:()=>ul,sensor_encoder_get:()=>Ul,sensor_encoder_handle:()=>Hl,sensor_encoder_init:()=>Bl,sensor_encoder_set:()=>Wl,tcs230_Get_RGB:()=>fd,tcs230_init:()=>xd,weightSensor:()=>_l});var g={};e.r(g),e.d(g,{serial_available:()=>Id,serial_begin:()=>ud,serial_event:()=>md,serial_flush:()=>Cd,serial_parseInt_Float:()=>Ed,serial_print:()=>_d,serial_print_hex:()=>Ad,serial_print_num:()=>hd,serial_println:()=>Fd,serial_readstr:()=>gd,serial_readstr_until:()=>Td,serial_softserial:()=>Md,serial_write:()=>rd});var T={};e.r(T),e.d(T,{sd_DelFile:()=>yd,sd_card_root_files:()=>Dd,sd_card_type:()=>Sd,sd_exist:()=>Pd,sd_read:()=>bd,sd_volume:()=>Nd,simple_spiffs_DelFile:()=>Hd,simple_spiffs_read:()=>Ud,simple_spiffs_store_spiffs_write:()=>Wd,store_eeprom_get:()=>Gd,store_eeprom_put:()=>Xd,store_eeprom_read_byte:()=>kd,store_eeprom_read_long:()=>Yd,store_eeprom_write_byte:()=>Vd,store_eeprom_write_long:()=>wd,store_sd_init:()=>Od,store_sd_init_32:()=>Rd,store_sd_write:()=>vd});var E={};e.r(E),e.d(E,{Arduinojson:()=>Fp,String_indexOf:()=>rp,String_to_Long_Integer:()=>hp,ascii_to_char:()=>qd,char_to_ascii:()=>Qd,create_with_container:()=>up,create_with_item:()=>op,data_replacement:()=>ap,decimal_places:()=>np,eliminate:()=>lp,first_and_last:()=>dp,letter_conversion:()=>cp,number_to_text:()=>$d,number_to_text_:()=>xp,substring:()=>sp,text:()=>Zd,text_char:()=>zd,text_char_at:()=>ep,text_compareTo:()=>ip,text_equals_starts_ends:()=>tp,text_join:()=>jd,text_join2:()=>_p,text_length:()=>fp,text_to_number:()=>Jd,type_conversion:()=>pp});var C={};e.r(C),e.d(C,{IICSCAN:()=>Tp,core_esp32c3_pin:()=>Np,esp32c3_pin:()=>Lp,esp32s2_pin:()=>Dp,esp32s3_pin:()=>Pp,esp8266_board_pin:()=>Vp,esp8266_pin:()=>yp,factory_notes:()=>Ip,folding_block:()=>gp,get_the_number_of_days_between_the_two_dates:()=>wp,leonardo_pin:()=>Sp,mega_pin:()=>Op,nano_pin:()=>mp,promini_pin:()=>Rp,stm32f103c8t6_pin:()=>vp,tool_modulus:()=>Cp,tool_modulus_show:()=>Ep,uno_pin:()=>Mp,wemos_d1_mini_pin:()=>bp});var M={};e.r(M),e.d(M,{variables_change:()=>Wp,variables_declare:()=>Gp,variables_get:()=>Bp,variables_set:()=>Up});var m={};e.r(m),e.d(m,{AFMotorRun:()=>mo,AFMotorStop:()=>Oo,GD5800_MP3_CONTROL:()=>Io,GD5800_MP3_EQ_MODE:()=>Eo,GD5800_MP3_LOOP_MODE:()=>To,GD5800_MP3_PLAY_NUM:()=>Mo,GD5800_MP3_Set_Device:()=>go,GD5800_MP3_VOL:()=>Co,I2Cmotor:()=>Wo,M9101X_S_MP3_CONTROL:()=>Ho,M9101X_S_MP3_PLAY_NUM:()=>Zo,M9101X_S_MP3_VOL_CONTROL:()=>Ko,Mixly_motor:()=>Fo,Motor_8833:()=>ho,RGB_color_HSV:()=>po,RGB_color_rgb:()=>so,RGB_color_seclet:()=>no,arduino_dfplayer_available:()=>Uo,arduino_dfplayer_loopFolder:()=>ko,arduino_dfplayer_mini_EQ:()=>Po,arduino_dfplayer_mini_EQ_type:()=>yo,arduino_dfplayer_mini_begin:()=>Ro,arduino_dfplayer_mini_outputDevice:()=>bo,arduino_dfplayer_mini_outputDevice_type:()=>vo,arduino_dfplayer_mini_pin:()=>So,arduino_dfplayer_mini_setTimeOut:()=>Do,arduino_dfplayer_mini_volume:()=>Lo,arduino_dfplayer_mini_volume_up_down:()=>No,arduino_dfplayer_playFolder:()=>Vo,arduino_dfplayer_play_loop:()=>Yo,arduino_dfplayer_readFileCounts:()=>Go,arduino_dfplayer_readFileCountsInFolder:()=>Bo,arduino_dfplayer_read_now:()=>Xo,arduino_dfplayer_set_1:()=>wo,controls_notone:()=>$p,controls_notone_noTimer:()=>fo,controls_tone:()=>Qp,controls_tone_noTimer:()=>xo,display_rgb:()=>lo,display_rgb_Brightness:()=>ao,display_rgb_init:()=>co,display_rgb_rainbow1:()=>uo,display_rgb_rainbow2:()=>ro,display_rgb_rainbow3:()=>_o,display_rgb_show:()=>oo,group_stepper_move:()=>io,group_stepper_setup:()=>eo,group_stepper_setup2:()=>to,servo_move:()=>Hp,servo_move1:()=>zp,servo_read_degrees:()=>Zp,servo_read_degrees1:()=>Jp,servo_writeMicroseconds:()=>Kp,servo_writeMicroseconds1:()=>jp,tone_notes:()=>qp,voice_module:()=>Ao});var O={};e.r(O),e.d(O,{Blynk_connect_state:()=>Du,Blynk_iot_BLYNK_syncAll:()=>eu,Blynk_iot_CONNECT_STATE:()=>fu,Blynk_iot_timer:()=>xu,arduino_blynk_bluetooth:()=>vu,blynk_AP_config:()=>Ru,blynk_AP_config_2:()=>Su,blynk_WidgetRTC_get_time:()=>Iu,blynk_WidgetRTC_init:()=>Au,blynk_acc:()=>Cu,blynk_bridge_AnaloglWrite:()=>Fu,blynk_bridge_VPin:()=>hu,blynk_bridge_auth:()=>ru,blynk_bridge_digitalWrite:()=>_u,blynk_connected:()=>Bu,blynk_email:()=>lu,blynk_esp32_Bluetooth:()=>bu,blynk_esp32_ble:()=>yu,blynk_gravity:()=>Eu,blynk_iot_WidgetLED_COLOR:()=>iu,blynk_iot_WidgetLED_VALUE:()=>nu,blynk_iot_auth:()=>zo,blynk_iot_get_data:()=>$o,blynk_iot_ir_recv_raw:()=>cu,blynk_iot_ir_send:()=>au,blynk_iot_ir_send_ac:()=>su,blynk_iot_playmusic:()=>gu,blynk_iot_push_data:()=>Qo,blynk_iot_syncVirtual:()=>tu,blynk_iot_terminal_get:()=>ou,blynk_lcd:()=>Nu,blynk_lcd_clear:()=>Pu,blynk_light:()=>Tu,blynk_notify:()=>du,blynk_server:()=>Jo,blynk_smartconfig:()=>jo,blynk_table:()=>wu,blynk_table_add_data:()=>zu,blynk_table_cleardata:()=>Gu,blynk_table_click:()=>Ku,blynk_table_highlight:()=>Vu,blynk_table_order:()=>Zu,blynk_table_select:()=>ku,blynk_table_unselect:()=>Xu,blynk_table_update:()=>Yu,blynk_terminal:()=>pu,blynk_terminal_clear:()=>Lu,blynk_time_input_1:()=>Mu,blynk_usb_server:()=>qo,blynk_videourl:()=>uu,esp_camera:()=>Uu,esp_camera_blynk:()=>Wu,factory_declare2:()=>Ou,take_a_photo1:()=>Hu,tone_notes:()=>mu});var R={};e.r(R),e.d(R,{MFRC522_IsNewCard:()=>pr,MFRC522_ReadCard:()=>rr,MFRC522_ReadCardUID:()=>or,MFRC522_WriteCard:()=>ur,MFRC522_init:()=>dr,RFID_in:()=>lr,RFID_init:()=>tr,RFID_off:()=>ar,RFID_on:()=>ir,RFID_readcarddata:()=>cr,RFID_readcardnum:()=>nr,RFID_writecarddata:()=>sr,i2c_available:()=>gr,i2c_begin_end_transmission:()=>hr,i2c_howmany:()=>Tr,i2c_master_Init:()=>_r,i2c_master_reader:()=>Dr,i2c_master_reader2:()=>fr,i2c_master_readerReg:()=>Or,i2c_master_writer:()=>xr,i2c_master_writerReg:()=>mr,i2c_read:()=>Er,i2c_slave_Init:()=>Fr,i2c_slave_onreceive:()=>Rr,i2c_slave_onrequest:()=>Sr,i2c_slave_write:()=>er,i2c_slave_write_array:()=>Ir,i2c_write:()=>Ar,ir_recv:()=>ju,ir_recv_enable:()=>Ju,ir_recv_raw:()=>Qu,ir_send_nec:()=>qu,ir_send_raw:()=>$u,spi_begin_master:()=>Lr,spi_begin_slave:()=>Mr,spi_slave_interrupt:()=>br,spi_slave_receive:()=>vr,spi_transfer:()=>Cr,spi_transfer_1:()=>Pr,spi_transfer_2:()=>yr,spi_transfer_Init:()=>Nr});var S={};e.r(S),e.d(S,{base_delay:()=>qr,base_setup:()=>wr,controls_delay:()=>Br,controls_end_program:()=>Zr,controls_flow_statements:()=>Gr,controls_for:()=>kr,controls_if:()=>Yr,controls_interrupts:()=>jr,controls_millis:()=>Ur,controls_mstimer2:()=>Wr,controls_mstimer2_start:()=>Hr,controls_mstimer2_stop:()=>Kr,controls_nointerrupts:()=>Jr,controls_soft_reset:()=>zr,controls_switch_case:()=>Vr,controls_whileUntil:()=>Xr,do_while:()=>$r,execute_super_delay_function1:()=>f_,simple_timer:()=>Qr,super_delay_function1:()=>x_});var D={};e.r(D),e.d(D,{HT16K33_Init:()=>h_,LedArray:()=>L_,MAX7219_init:()=>A_,Matrix_img:()=>N_,TFT_Brightness:()=>_F,TFT_Rotation:()=>hF,TFT_color_rgb:()=>TF,TFT_color_seclet:()=>gF,TFT_fillScreen:()=>CF,TFT_init:()=>EF,TFT_init_with_pin:()=>cF,TFT_st7735_show_hz:()=>rF,display_4digitdisplay_displayString:()=>a_,display_4digitdisplay_power:()=>c_,display_4digitdisplay_showDot:()=>l_,display_HT16K33_Rotation:()=>D_,display_Matrix_Brightness:()=>m_,display_Matrix_DisplayChar:()=>E_,display_Matrix_DrawPixel:()=>I_,display_Matrix_LedArray:()=>C_,display_Matrix_TEXT:()=>g_,display_Matrix_fillScreen:()=>O_,display_Matrix_print:()=>T_,display_Matrix_write:()=>P_,display_Max7219_Rotation:()=>R_,display_Max7219_setPosition:()=>S_,display_TM1637_Brightness:()=>F_,display_TM1637_Brightness_32:()=>XF,display_TM1637_clearDisplay:()=>__,display_TM1637_clearDisplay_32:()=>kF,display_TM1637_displayTime:()=>r_,display_TM1637_displayTime_32:()=>VF,display_TM1637_displyPrint:()=>u_,display_TM1637_displyPrint_32:()=>YF,display_TM1637_init:()=>o_,display_TM1637_init_32:()=>wF,display_lcd_bitmap:()=>nF,display_matrix_bitmap:()=>M_,get_utf8_width:()=>eF,group_lcd_init:()=>GF,group_lcd_init2:()=>e_,group_lcd_init3:()=>t_,group_lcd_power:()=>s_,group_lcd_print:()=>i_,group_lcd_print2:()=>n_,lcd_display_pattern:()=>tF,lcd_pattern:()=>iF,oled_clear:()=>Y_,oled_define_bitmap_data:()=>U_,oled_drawCircle:()=>j_,oled_drawEllipse:()=>J_,oled_drawFrame:()=>Z_,oled_drawLine:()=>W_,oled_drawPixel:()=>X_,oled_drawRFrame:()=>z_,oled_drawTriangle:()=>K_,oled_draw_Str_Line:()=>H_,oled_face:()=>V_,oled_icons:()=>k_,oled_init:()=>y_,oled_page:()=>G_,oled_print:()=>q_,oled_set_CN_Font:()=>$_,oled_set_EN_Font:()=>Q_,oled_set_ZH_TW_Font:()=>xF,oled_showBitmap:()=>B_,tft_Circle:()=>LF,tft_Rect:()=>SF,tft_RoundRect:()=>DF,tft_Triangle:()=>RF,tft_define_bitmap_data:()=>NF,tft_drawFastLine:()=>OF,tft_drawLine:()=>mF,tft_drawPixel:()=>MF,tft_generate_bitmap_data:()=>PF,tft_icons:()=>FF,tft_print:()=>IF,tft_setFont:()=>AF,tft_set_CN_Font:()=>vF,tft_set_EN_Font:()=>bF,tft_showBitmap:()=>yF,u8g2_LCD12864_8080_init:()=>w_,u8g2_LCD12864_spi_init:()=>v_,u8g2_setContrast:()=>fF,u8g2_spi_init:()=>b_});var L={};e.r(L),e.d(L,{MQTT_connect:()=>sh,MQTT_publish:()=>ch,MQTT_server:()=>nh,MQTT_subscribe:()=>lh,MQTT_subscribe_value:()=>ah,NTP_server:()=>eh,NTP_server_get_time:()=>th,WIFI_ap_and_sta:()=>uh,WIFI_ap_or_sta:()=>oh,WIFI_incomingPacket:()=>rh,WIFI_info:()=>$F,WIFI_send_data:()=>_h,WIFI_smartConfig:()=>ph,WeatherGet:()=>hh,WeatherGetForecast:()=>Ih,WeatherGetToday:()=>Ah,asyncelegantota:()=>Mh,ethernet_client_available:()=>zF,ethernet_client_connect_server:()=>HF,ethernet_client_connected:()=>ZF,ethernet_client_get_request:()=>QF,ethernet_client_print:()=>jF,ethernet_client_println:()=>JF,ethernet_client_read:()=>qF,ethernet_client_stop:()=>KF,ethernet_init_begin:()=>BF,ethernet_init_local_ip:()=>WF,ethernet_mac_address:()=>UF,http_get:()=>dh,mixio_mqtt_publish:()=>Eh,mixio_mqtt_received_the_news:()=>Ch,mixio_mqtt_subscribe:()=>gh,mixio_mqtt_subscribe_key:()=>Th,network_get_connect:()=>fh,network_wifi_connect:()=>xh});var N={};e.r(N),e.d(N,{factory_block:()=>vh,factory_block_return:()=>wh,factory_block_return_with_textarea:()=>Vh,factory_block_with_textarea:()=>Yh,factory_callMethod_noreturn:()=>yh,factory_callMethod_return:()=>bh,factory_declare:()=>Sh,factory_declare2:()=>Dh,factory_define:()=>Lh,factory_function_noreturn:()=>Oh,factory_function_return:()=>Rh,factory_include:()=>mh,factory_static_method_noreturn:()=>Nh,factory_static_method_return:()=>Ph});var P={};e.r(P),e.d(P,{ADS1015_Get_Value:()=>nA,ADS1015_setGain:()=>iA,ESP32touchButton:()=>fA,OneButton_interrupt:()=>Zh,PCF8591T:()=>sA,controls_attachInterrupt:()=>zh,controls_attachPinInterrupt:()=>Jh,controls_detachInterrupt:()=>jh,controls_detachPinInterrupt:()=>qh,inout_analog_read:()=>Hh,inout_analog_write:()=>Wh,inout_buildin_led:()=>Kh,inout_cancel_soft_analog_write:()=>tA,inout_digital_read:()=>Bh,inout_digital_read2:()=>Uh,inout_digital_write2:()=>Gh,inout_highlow:()=>kh,inout_pinMode:()=>Xh,inout_pulseIn:()=>Qh,inout_pulseIn2:()=>$h,inout_shiftout:()=>xA,inout_soft_analog_write:()=>eA});var y={};e.r(y),e.d(y,{array2_assignment:()=>hA,create_array2_with_text:()=>FA,get_array2_value:()=>AA,lists2GetValueByIndex:()=>gA,lists2SetValueByIndex:()=>IA,listsGetValueByIndex:()=>uA,listsSetValueByIndex:()=>rA,lists_array2_get_length:()=>MA,lists_array2_setup:()=>TA,lists_array2_setup_get_data:()=>EA,lists_create_with:()=>cA,lists_create_with2:()=>lA,lists_create_with_text:()=>aA,lists_create_with_text2:()=>dA,lists_getIndex:()=>pA,lists_length:()=>_A,lists_setIndex:()=>oA,loop_array:()=>CA});var b={};e.r(b),e.d(b,{logic_boolean:()=>SA,logic_compare:()=>mA,logic_negate:()=>RA,logic_null:()=>DA,logic_operation:()=>OA,logic_true_or_false:()=>LA});var v={};e.r(v),e.d(v,{arduino_variate_type:()=>YA,base_map:()=>BA,math_SizeOf:()=>VA,math_arithmetic:()=>PA,math_auto_add_or_minus:()=>HA,math_bit:()=>yA,math_constrain:()=>UA,math_max_min:()=>kA,math_number:()=>NA,math_random_int:()=>GA,math_random_seed:()=>XA,math_single:()=>bA,math_to_int:()=>wA,math_trig:()=>vA,variables_operation:()=>WA});var w={};e.r(w),e.d(w,{pins_MISO:()=>qA,pins_MOSI:()=>JA,pins_SCK:()=>QA,pins_SCL:()=>$A,pins_SDA:()=>xI,pins_analog:()=>ZA,pins_digital:()=>KA,pins_interrupt:()=>jA,pins_pwm:()=>zA});var Y={};e.r(Y),e.d(Y,{procedures_callnoreturn:()=>iI,procedures_callreturn:()=>tI,procedures_defnoreturn:()=>eI,procedures_defreturn:()=>fI,procedures_ifreturn:()=>nI,procedures_return:()=>sI});var V={};e.r(V),e.d(V,{SCoopTask:()=>cI,SCoop_sleep:()=>lI,SCoop_yield:()=>aI});var k={};e.r(k),e.d(k,{ADXL345:()=>NI,ADXL345_setOffset:()=>yI,AHT20_21:()=>ag,Arduino_keypad_4_4_start:()=>xg,BME280_READ:()=>KI,DHT:()=>FI,DS1302_init:()=>EI,DS1307_init:()=>CI,LIS3DHTR:()=>PI,LM35:()=>hI,MPU6050:()=>bI,MPU6050_update:()=>vI,NTC_TEMP:()=>cg,PS2_Button:()=>jI,PS2_init:()=>ZI,PS2_stk:()=>JI,PS2_update:()=>zI,RTC_date:()=>mI,RTC_get_time:()=>MI,RTC_set_date:()=>DI,RTC_set_time:()=>RI,RTC_time:()=>OI,SHT20:()=>LI,TCS34725_Get_RGB:()=>qI,arduino_keypad_event:()=>ng,chaoshengbo2:()=>_I,ds18b20:()=>AI,encoder_init:()=>VI,encoder_init1:()=>GI,encoder_read:()=>YI,encoder_read1:()=>XI,encoder_write:()=>wI,encoder_write1:()=>kI,get_keypad_num:()=>ig,get_system_date_time:()=>SI,gps_data_available:()=>pI,gps_data_encode:()=>oI,gps_getData_xxx:()=>rI,gps_init:()=>dI,gps_xxx_isValid:()=>uI,keypad_col_data:()=>eg,keypad_row_data:()=>fg,keypad_type_data:()=>tg,mixgo_MPU9250:()=>sg,mlx90614_get_data:()=>gI,mlx90614_init:()=>II,sensor_encoder_get:()=>UI,sensor_encoder_handle:()=>HI,sensor_encoder_init:()=>BI,sensor_encoder_set:()=>WI,tcs230_Get_RGB:()=>$I,tcs230_init:()=>QI,weightSensor:()=>TI});var X={};e.r(X),e.d(X,{serial_available:()=>_g,serial_begin:()=>lg,serial_event:()=>Tg,serial_flush:()=>Ig,serial_parseInt_Float:()=>Ag,serial_print:()=>pg,serial_print_hex:()=>rg,serial_print_num:()=>ug,serial_println:()=>og,serial_readstr:()=>Fg,serial_readstr_until:()=>hg,serial_softserial:()=>gg,serial_write:()=>dg});var G={};e.r(G),e.d(G,{sd_DelFile:()=>Lg,sd_card_root_files:()=>Og,sd_card_type:()=>mg,sd_exist:()=>Sg,sd_read:()=>Dg,sd_volume:()=>Rg,simple_spiffs_DelFile:()=>kg,simple_spiffs_read:()=>Vg,simple_spiffs_store_spiffs_write:()=>Yg,store_eeprom_get:()=>wg,store_eeprom_put:()=>vg,store_eeprom_read_byte:()=>bg,store_eeprom_read_long:()=>Pg,store_eeprom_write_byte:()=>yg,store_eeprom_write_long:()=>Ng,store_sd_init:()=>Cg,store_sd_write:()=>Mg});var B={};e.r(B),e.d(B,{String_indexOf:()=>iT,String_to_Long_Integer:()=>sT,ascii_to_char:()=>Wg,char_to_ascii:()=>Hg,data_replacement:()=>xT,decimal_places:()=>qg,eliminate:()=>fT,first_and_last:()=>eT,letter_conversion:()=>$g,number_to_text:()=>Kg,substring:()=>Qg,text:()=>Xg,text_char:()=>Gg,text_char_at:()=>zg,text_compareTo:()=>Jg,text_equals_starts_ends:()=>jg,text_join:()=>Bg,text_join2:()=>nT,text_length:()=>Zg,text_to_number:()=>Ug,type_conversion:()=>tT});var U={};e.r(U),e.d(U,{IICSCAN:()=>lT,core_esp32c3_pin:()=>DT,esp32c3_pin:()=>RT,esp32s2_pin:()=>OT,esp32s3_pin:()=>ST,esp8266_board_pin:()=>NT,esp8266_pin:()=>CT,factory_notes:()=>cT,folding_block:()=>aT,get_the_number_of_days_between_the_two_dates:()=>LT,leonardo_pin:()=>gT,mega_pin:()=>ET,nano_pin:()=>AT,promini_pin:()=>IT,stm32f103c8t6_pin:()=>mT,tool_modulus:()=>hT,tool_modulus_show:()=>oT,uno_pin:()=>TT,wemos_d1_mini_pin:()=>MT});var W={};e.r(W),e.d(W,{variables_change:()=>vT,variables_declare:()=>yT,variables_get:()=>PT,variables_set:()=>bT});const H=Blockly,K=Mixly,Z="#27b6ac",z={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(H.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(H.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},j={init:function(){this.appendDummyInput().appendField(new H.FieldDropdown([["POST","POST"],["PATCH","PATCH"],["PUT","PUT"]]),"TYPE").appendField(H.Msg.blockpy_REQUESTS),this.appendValueInput("api").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendValueInput("data").setCheck(null).appendField(H.Msg.MIXLY_SD_DATA),this.appendStatementInput("success").setCheck(null).appendField(H.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(H.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},J={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}};var q,Q=[];for(q in J)Q.push([q,q]);function xx(x){var f,e=[];for(f in J[x])e.push([f,f]);return e}var fx={};for(q of Q)fx[q[0]]=xx(q[0]);const ex={init:function(){this.appendDummyInput().appendField(new H.FieldDropdown(Q),"province").appendField(new H.FieldDependentDropdown("province",fx,[["-","-"]]),"city"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Z),this.setHelpUrl(""),this.preProvince=null}},tx={init:function(){this.setColour(Z),this.appendDummyInput("").appendField(new H.FieldDropdown([["S9l2sb_ZK-UsWaynG","S9l2sb_ZK-UsWaynG"],["SpRpSYb7QOMT0M8Tz","SpRpSYb7QOMT0M8Tz"],["SboqGMxP4tYNXUN8f","SboqGMxP4tYNXUN8f"],["SJiRrYGYFkGnfi081","SJiRrYGYFkGnfi081"],["SMhSshUxuTL0GLVLS","SMhSshUxuTL0GLVLS"]]),"key"),this.setOutput(!0,null)}},ix={init:function(){this.appendDummyInput("").appendField(H.Msg.MSG.catweather).appendField(new H.FieldDropdown([[H.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[H.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[H.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(H.Msg.MIXLY_INFORMATION_CONFIGURATION),this.appendValueInput("location").setCheck(null).appendField(H.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("private_key").setCheck(null).appendField(H.Msg.MIXLY_API_PRIVATE_KEY),this.appendDummyInput("").appendField(H.Msg.MIXLY_LANGUAGE).appendField(new H.FieldDropdown([["简体中文","zh-Hans"],["繁體中文","zh-Hant"],["English","en"]]),"language"),this.appendDummyInput("").appendField(H.Msg.MIXLY_TEMPERATURE_UNIT).appendField(new H.FieldDropdown([[H.Msg.MIXLY_CELSIUS+"(℃)","c"],[H.Msg.MIXLY_FAHRENHEIT+"(℉)","f"]]),"unit"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Z),this.setTooltip("这里的API私钥免费体验有次数限制\n访问频率限制20次/分钟"),this.setHelpUrl("")}},nx={init:function(){this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[H.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[H.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(new H.FieldDropdown([[H.Msg.MIXLY_AVAILABLE,"update"],[H.Msg.MIXLY_GET_DATA_UPDATE_TIME,"getLastUpdate"],[H.Msg.MIXLY_GET_SERVER_RESPONSE_STATUS_CODE,"getServerCode"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Z),this.setTooltip(""),this.setHelpUrl("")}},sx={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_LIVE_WEATHER).appendField(H.Msg.MIXLY_GET).appendField(new H.FieldDropdown([[H.Msg.MIXLY_WEATHER_PHENOMENON,"getWeatherText"],[H.Msg.MIXLY_WEATHER_PHENOMENON_CODE,"getWeatherCode"],[H.Msg.MIXLY_TEMPERATURE,"getDegree"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Z),this.setTooltip(""),this.setHelpUrl("")}},cx={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_3_DAY_WEATHER_FORECAST).appendField(H.Msg.MIXLY_GET).appendField(new H.FieldDropdown([[H.Msg.MIXLY_TODAY,"0"],[H.Msg.MIXLY_TOMORROW,"1"],[H.Msg.MIXLY_DAY_AFTER_TOMORROW,"2"]]),"date").appendField(new H.FieldDropdown([[H.Msg.ForecastHigh,"getHigh"],[H.Msg.ForecastLow,"getLow"],[H.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON,"getDayText"],[H.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE,"getDayCode"],[H.Msg.MIXLY_EVENING_WEATHER_PHENOMENON,"getNightText"],[H.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE,"getNightCode"],[H.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION,"getRain"],[H.Msg.ForecastFx,"getWindDirection"],[H.Msg.MIXLY_WIND_SPEED,"getWindSpeed"],[H.Msg.MIXLY_WIND_RATING,"getWindScale"],[H.Msg.MIXLY_Humidity,"getHumidity"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Z),this.setTooltip(""),this.setHelpUrl("")}},ax={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_6_LIFE_INDEXES).appendField(H.Msg.MIXLY_GET).appendField(new H.FieldDropdown([[H.Msg.MIXLY_CAR_WASH_INDEX,"getCarWash"],[H.Msg.MIXLY_DRESSING_INDEX,"getDressing"],[H.Msg.MIXLY_COLD_INDEX,"getFactorFlu"],[H.Msg.MIXLY_MOVEMENT_INDEX,"getExercise"],[H.Msg.MIXLY_TOURISM_INDEX,"getTravel"],[H.Msg.MIXLY_UV_INDEX,"getUV"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Z),this.setTooltip(""),this.setHelpUrl("")}},lx={init:function(){this.appendValueInput("VALUE").setCheck(null).setAlign(H.inputs.Align.LEFT).appendField(new H.FieldDropdown([["Base64","BASE64"],["URL","URL"]]),"TYPE").appendField(new H.FieldDropdown([["编码","ENCODE"],["解码","DECODE"]]),"OPTION"),this.setOutput(!0,null),this.setColour(160),this.setTooltip(""),this.setHelpUrl("")}},dx=function(){const x=K.Boards.getType(),f=H.Arduino.valueToCode(this,"api",H.Arduino.ORDER_ATOMIC);let e=H.Arduino.statementToCode(this,"success")||"";e=e.replace(/(^\s*)|(\s*$)/g,"");let t=H.Arduino.statementToCode(this,"failure")||"";t=t.replace(/(^\s*)|(\s*$)/g,"");let i="";return"arduino_esp8266"==x?(H.Arduino.definitions_.include_ESP8266WiFi="#include ",H.Arduino.definitions_.include_ESP8266HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n WiFiClient client;\n HTTPClient http;\n http.begin(client, "+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n } else {\n "+t+"\n }\n http.end();\n}\n"):(H.Arduino.definitions_.include_WiFi="#include ",H.Arduino.definitions_.include_HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n }\n else {\n "+t+"\n }\n http.end();\n}\n"),i},px=function(){const x=K.Boards.getType(),f=this.getFieldValue("TYPE"),e=H.Arduino.valueToCode(this,"api",H.Arduino.ORDER_ATOMIC),t=H.Arduino.valueToCode(this,"data",H.Arduino.ORDER_ATOMIC);let i=H.Arduino.statementToCode(this,"success")||"";i=i.replace(/(^\s*)|(\s*$)/g,"");let n=H.Arduino.statementToCode(this,"failure")||"";n=n.replace(/(^\s*)|(\s*$)/g,"");let s="";return"arduino_esp8266"==x?(H.Arduino.definitions_.include_ESP8266WiFi="#include ",H.Arduino.definitions_.include_ESP8266HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n WiFiClient client;\n http.begin(client, "+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n } else {\n "+n+"\n }\n http.end();\n}\n"):(H.Arduino.definitions_.include_WiFi="#include ",H.Arduino.definitions_.include_HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n }\n else {\n "+n+"\n }\n http.end();\n}\n"),s},ox={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}},ux=function(){var x=this.getFieldValue("province"),f=this.getFieldValue("city"),e="";try{e='"'+ox[x][f].pinyin+'"'}catch(x){console.log(x)}return[e,H.Arduino.ORDER_ATOMIC]},rx=function(){return['"'+this.getFieldValue("key")+'"',H.Arduino.ORDER_ATOMIC]},_x=function(){var x=this.getFieldValue("api"),f=H.Arduino.valueToCode(this,"location",H.Arduino.ORDER_ATOMIC),e=H.Arduino.valueToCode(this,"private_key",H.Arduino.ORDER_ATOMIC),t=this.getFieldValue("language"),i=this.getFieldValue("unit");switch(H.Arduino.definitions_.include_ESP8266_Seniverse="#include ",H.Arduino.setups_.setup_serial_Serial="Serial.begin(9600);",x){case"weather/now":H.Arduino.definitions_.var_declare_weatherNow="WeatherNow weatherNow;",H.Arduino.setups_.setup_seniverse_weatherNow="weatherNow.config("+e+", "+f+', "'+i+'", "'+t+'");';break;case"weather/daily":H.Arduino.definitions_.var_declare_forecast="Forecast forecast;",H.Arduino.setups_.setup_seniverse_forecast="forecast.config("+e+", "+f+', "'+i+'", "'+t+'");';break;default:H.Arduino.definitions_.var_declare_lifeInfo="LifeInfo lifeInfo;",H.Arduino.setups_.setup_seniverse_lifeInfo="lifeInfo.config("+e+", "+f+', "'+i+'", "'+t+'");'}return""},Fx=function(){var x=this.getFieldValue("api"),f=this.getFieldValue("type"),e="";switch(x){case"weather/now":e="weatherNow."+f+"()";break;case"weather/daily":e="forecast."+f+"()";break;default:e="lifeInfo."+f+"()"}return[e,H.Arduino.ORDER_ATOMIC]},hx=function(){return["weatherNow."+this.getFieldValue("type")+"()",H.Arduino.ORDER_ATOMIC]},Ax=function(){var x=this.getFieldValue("date");return["forecast."+this.getFieldValue("type")+"("+x+")",H.Arduino.ORDER_ATOMIC]},Ix=function(){return["lifeInfo."+this.getFieldValue("type")+"()",H.Arduino.ORDER_ATOMIC]},gx=function(){const x=this.getFieldValue("TYPE"),f=this.getFieldValue("OPTION"),e=H.Arduino.valueToCode(this,"VALUE",H.Arduino.ORDER_ATOMIC);let t="";return"BASE64"===x?(H.Arduino.definitions_.include_rBase64="#include ",t="ENCODE"===f?"rbase64.encode("+e+")":"rbase64.decode("+e+")"):(H.Arduino.definitions_.include_URLCode="#include ",H.Arduino.definitions_.var_declare_urlCode="URLCode urlCode;","ENCODE"===f?(H.Arduino.definitions_.function_urlEncode="String urlEncode(String urlStr) {\n urlCode.strcode = urlStr;\n urlCode.urlencode();\n return urlCode.urlcode;\n}\n",t="urlEncode("+e+")"):(H.Arduino.definitions_.function_urlDecode="String urlDecode(String urlStr) {\n urlCode.urlcode = urlStr;\n urlCode.urldecode();\n return urlCode.strcode;\n}\n",t="urlDecode("+e+")")),[t,H.Arduino.ORDER_ATOMIC]},Tx=function(x,f){if(this.variablePrefix_=f||"",this.reservedDict_=Object.create(null),x)for(var e=x.split(","),t=0;t1&&(s+=t)):e=s}else e="i";return e}},Ox=mx;class Rx extends H.Generator{constructor(x){super(x??"Arduino"),this.ORDER_ATOMIC=0,this.ORDER_UNARY_POSTFIX=1,this.ORDER_UNARY_PREFIX=2,this.ORDER_MULTIPLICATIVE=3,this.ORDER_ADDITIVE=4,this.ORDER_SHIFT=5,this.ORDER_RELATIONAL=6,this.ORDER_EQUALITY=7,this.ORDER_BITWISE_AND=8,this.ORDER_BITWISE_XOR=9,this.ORDER_BITWISE_OR=10,this.ORDER_LOGICAL_AND=11,this.ORDER_LOGICAL_OR=12,this.ORDER_CONDITIONAL=13,this.ORDER_ASSIGNMENT=14,this.ORDER_NONE=99,this.INDENT=" ",this.isInitialized=!1,this.PASS="",this.addReservedWords("setup,loop,if,else,for,switch,case,while,do,break,continue,return,goto,define,include,HIGH,LOW,INPUT,OUTPUT,INPUT_PULLUP,true,false,interger,constants,floating,point,void,bookean,char,unsigned,byte,int,short,word,long,float,double,string,String,array,static,volatile,const,sizeof")}init(){super.init(),this.definitions_=Object.create(null),this.setups_=Object.create(null),this.setups_begin_=Object.create(null),this.setups_end_=Object.create(null),this.libs_=Object.create(null),this.loops_begin_=Object.create(null),this.loops_end_=Object.create(null),this.variableDB_?this.variableDB_.reset():this.variableDB_=new Ex(this.RESERVED_WORDS_),this.isInitialized=!0}finish(x){x=(x=" "+x.replace(/\n/g,"\n ")).replace(/\n\s+$/,"\n");var f=[],e=[],t=[],i=[],n=Object.keys(this.definitions_);if(n.length)for(var s in n){var c=n[s],a=this.definitions_[c];c.match(/^define/)?e.push(a):c.match(/^include/)||a.match(/^WiFiClient/)?f.push(a):c.match(/^var_declare/)?t.push(a):i.push(a)}var l=[];for(let x in this.setups_)l.push(this.setups_[x]);var d=[],p=[];for(let x in this.setups_begin_)d.push(this.setups_begin_[x]);for(let x in this.setups_end_)p.push(this.setups_end_[x]);for(let x in this.libs_)f.push(`#include "${x}.h"`);var o=[],u=[];for(let x in this.loops_begin_)o.push(this.loops_begin_[x]);for(let x in this.loops_end_)u.push(this.loops_end_[x]);return x="void loop(){\n"+(o.length?" "+o.join("\n "):"")+x+(u.length?" "+u.join("\n "):"")+"\n}",(e.join("\n")+"\n"+f.join("\n")+"\n\n"+t.join("\n")+"\n\n"+i.join("\n")+"\n\nvoid setup(){\n "+d.join("\n ")+(d.length&&(p.length||l.length)?"\n ":"")+l.join("\n ")+(p.length&&l.length?"\n ":"")+p.join("\n ")+"\n}\n\n").replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n")+x}scrubNakedValue(x){return x+";\n"}quote_(x){return'"'+x+'"'}scrub_(x,f){if(null===f)return"";var e="";if(!x.outputConnection||!x.outputConnection.targetConnection){let f=x.getCommentText();f&&(e+=this.prefixLines(f,"// ")+"\n");for(var t=0;t0;i--)f.getInputTargetBlock("IF"+i)&&f.getInputTargetBlock("IF"+i).previousConnection?e[i]=f.getInputTargetBlock("IF"+i).previousConnection:e[i]=null,this.removeInput("IF"+i),f.getInputTargetBlock("DO"+i)&&f.getInputTargetBlock("DO"+i).previousConnection?t[i]=f.getInputTargetBlock("DO"+i).previousConnection:t[i]=null,this.removeInput("DO"+i);this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(i=1;i<=this.elseifCount_;i++)this.appendValueInput("IF"+i).setCheck([Boolean,Number]).appendField(H.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+i).appendField(H.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(H.Msg.CONTROLS_IF_MSG_ELSE);for(i=e.length-2;i>0;i--)e[i]&&e[i].reconnect(this,"IF"+i);for(i=t.length-2;i>0;i--)t[i]&&t[i].reconnect(this,"DO"+i)},decompose:function(x){var f=x.newBlock("controls_if_if");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_if_elseif");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_if_else");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null],i=[null],n=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,t.push(e.valueConnection_),i.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,i,n)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_if_elseif":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_if_else":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){var x=[null],f=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var t=1;this.getInput("IF"+t);){var i=this.getInput("IF"+t),n=this.getInput("DO"+t);console.log(i.connection.targetConnection),x.push(i.connection.targetConnection),f.push(n.connection.targetConnection),t++}this.updateShape_(),this.reconnectChildBlocks_(x,f,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var x=1;this.getInput("IF"+x);)this.removeInput("IF"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendValueInput("IF"+x).setCheck([Number,Boolean]).appendField(H.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+x).appendField(H.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(H.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(x,f,e){for(var t=1;t<=this.elseifCount_;t++)x[t]&&x[t].reconnect(this,"IF"+t),f[t]&&f[t].reconnect(this,"DO"+t);e&&e.reconnect(this,"ELSE")}},jt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(H.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(H.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(H.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},qt={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(H.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(H.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Qt={init:function(){this.setColour(Gt),this.appendValueInput("IF0").setCheck([Number,Boolean]).appendField("switch"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#switch"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","switch 选择"]}},this.setMutator(new H.icons.MutatorIcon(["controls_case","controls_default"],this)),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),this.elseCount_&&x.setAttribute("else",1),x},domToMutation:function(x){this.compose(this),this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(var f=1;f<=this.elseifCount_;f++)this.appendValueInput("IF"+f).setCheck([Number,Boolean]).appendField("case"),this.appendStatementInput("DO"+f).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField("default")},decompose:function(x){var f=x.newBlock("controls_switch");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_case");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_default");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK");e;){switch(e.type){case"controls_case":this.elseifCount_++;var t=this.appendValueInput("IF"+this.elseifCount_).setCheck([Number,Boolean]).appendField("case"),i=this.appendStatementInput("DO"+this.elseifCount_);i.appendField(""),e.valueConnection_&&t.connection.connect(e.valueConnection_),e.statementConnection_&&i.connection.connect(e.statementConnection_);break;case"controls_default":this.elseCount_++;var n=this.appendStatementInput("ELSE");n.appendField("default"),e.statementConnection_&&n.connection.connect(e.statementConnection_);break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_case":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_default":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}}},$t={init:function(){this.setColour(Gt),this.appendDummyInput().appendField("switch"),this.appendStatementInput("STACK"),this.contextMenu=!1}},xi={init:function(){this.setColour(Gt),this.appendDummyInput().appendField("case"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},fi={init:function(){this.setColour(Gt),this.appendDummyInput().appendField("default"),this.setPreviousStatement(!0),this.contextMenu=!1}},ei={init:function(){this.setColour(Gt),this.appendValueInput("TIME").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("MsTimer2"+H.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(H.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#MsTimer2"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"]}}}},ti={init:function(){this.setColour(Gt),this.appendDummyInput().appendField("MsTimer2"+H.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id45"),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_START),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器启动"}}}},ii={init:function(){this.setColour(Gt),this.appendDummyInput().appendField("MsTimer2").appendField(H.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_STOP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id48"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器停止"}}}},ni={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(H.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},si={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(H.Msg.SOFT_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},ci={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(H.Msg.MIXLY_CONTROL_INTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_ALLOW_INTERRUPT),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id51"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"允许中断"}}}},ai={init:function(){this.setColour(Gt),this.appendDummyInput().appendField(H.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id55"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"禁止中断"}}}},li=Ut,di={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_SIMPLE_TIMER).appendField(new H.FieldDropdown([["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"]]),"NO").appendField(H.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("timein").setCheck(null),this.appendDummyInput().appendField(H.Msg.MIXLY_mSecond),this.appendStatementInput("zxhs").setCheck(null).appendField(H.Msg.CONTROLS_REPEAT_INPUT_DO),this.setColour(120),this.setTooltip(),this.setHelpUrl(""),this.wiki={"zh-hans":{page:["Arduino AVR","控制","简单定时器"]}}}},pi={init:function(){this.appendStatementInput("input_data").setCheck(null).appendField(H.Msg.MIXLY_DO),this.appendValueInput("select_data").setCheck(null).appendField(H.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new H.FieldDropdown([[H.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[H.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("do-while loop"),this.setHelpUrl("")}},oi={init:function(){this.appendDummyInput().appendField(H.Msg.super_delay_function).appendField(new H.FieldDropdown([["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"]]),"number"),this.appendStatementInput("delay_function").setCheck(null),this.setColour(120),this.setTooltip(H.Msg.super_delay_function_help),this.setHelpUrl("")}},ui={init:function(){this.appendDummyInput().appendField(H.Msg.execute_super_delay_function).appendField(new H.FieldDropdown([["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"]]),"number"),this.appendValueInput("time_interval").setCheck(null).appendField(H.Msg.time_interval),this.appendValueInput("frequency").setCheck(null).appendField(H.Msg.number_of_executions),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip(H.Msg.execute_super_delay_function_help),this.setHelpUrl("")}},ri=layui,_i=$;var Fi=e.n(_i);const{layer:hi}=ri,Ai=180;var Ii=[[H.Msg.OLED_HOLLOW,"draw"],[H.Msg.OLED_SOLID,"fill"]];const gi={init:function(){this.setColour(Ai),this.appendValueInput("device").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(H.Msg.MIXLY_LCD_ADDRESS),this.appendDummyInput("").appendField("SCL").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"SCL").appendField("SDA").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_INIT2),this.setFieldValue(K.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(K.Profile.default.SDA[0][1],"SDA")}},Ti={init:function(){this.setColour(Ai),this.appendDummyInput().setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new H.FieldTextInput("mylcd"),"VAR").setAlign(H.inputs.Align.LEFT),this.appendDummyInput().appendField("RS").appendField(new H.FieldDropdown(K.Profile.default.digital),"RS").appendField("EN").appendField(new H.FieldDropdown(K.Profile.default.digital),"EN").appendField("D4").appendField(new H.FieldDropdown(K.Profile.default.digital),"D4").appendField("D5").appendField(new H.FieldDropdown(K.Profile.default.digital),"D5").appendField("D6").appendField(new H.FieldDropdown(K.Profile.default.digital),"D6").appendField("D7").appendField(new H.FieldDropdown(K.Profile.default.digital),"D7"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_INIT3)}},Ei={init:function(){this.setColour(Ai),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(H.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_PRINT)}},Ci={init:function(){this.setColour(Ai),this.appendValueInput("row",Number).setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(H.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace("%1",H.Arduino.valueToCode(this,"row",H.Arduino.ORDER_ATOMIC)).replace("%2",H.Arduino.valueToCode(this,"column",H.Arduino.ORDER_ATOMIC)))}},Mi={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"display"],[H.Msg.MIXLY_OFF,"noDisplay"],[H.Msg.MIXLY_LCD_STAT_CURSOR,"cursor"],[H.Msg.MIXLY_LCD_STAT_NOCURSOR,"noCursor"],[H.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[H.Msg.MIXLY_LCD_STAT_NOBLINK,"noBlink"],[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[H.Msg.MIXLY_LCD_NOBACKLIGHT,"noBacklight"],[H.Msg.MIXLY_LCD_BACKLIGHT,"backlight"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_POWER)}},mi={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"displayOn"],[H.Msg.MIXLY_OFF,"displayOff"],[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Oi={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"_TM1650"),this.appendValueInput("VALUE").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.OLED_DRAWSTR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString)}},Ri={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(H.Msg.MIXLY_4DIGITDISPLAY_NOMBER1).appendField(new H.FieldDropdown([["1","0"],["2","1"],["3","2"],["4","3"]]),"NO").appendField(H.Msg.MIXLY_4DIGITDISPLAY_NOMBER2).appendField(H.Msg.MIXLY_4DIGITDISPLAY_DOT).appendField(new H.FieldDropdown([[H.Msg.MIXLY_4DIGITDISPLAY_ON,"true"],[H.Msg.MIXLY_4DIGITDISPLAY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},Si={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SETUP).appendField("CLK").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"CLK").appendField("DIO").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},Di={init:function(){this.setColour(Ai),this.appendValueInput("VALUE").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP)}},Li={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"true"],[H.Msg.MIXLY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},Ni={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},Pi={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(new H.FieldDropdown([[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[H.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[H.Msg.MIXLY_ON,"on"],[H.Msg.MIXLY_OFF,"off"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},yi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_INIT),this.appendDummyInput("").appendField("SCL").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"SCL").appendField("SDA").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT),this.setFieldValue(K.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(K.Profile.default.SDA[0][1],"SDA")}},bi={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_MAX7219_INIT),this.appendValueInput("PIN1").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("DIN(MOSI)").appendField(H.Msg.MIXLY_PIN),this.appendValueInput("PIN2").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("CS").appendField(H.Msg.MIXLY_PIN),this.appendValueInput("PIN3").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("CLK(SCK)").appendField(H.Msg.MIXLY_PIN),this.appendValueInput("hDisplays").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_HDISPALY),this.appendValueInput("vDisplays").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_VDISPALY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ai),this.setInputsInline(!1),this.setTooltip(H.Msg.MAX7219_INIT_TOOLTIP),this.setHelpUrl("")}};var vi=[["MAX7219","MAX7219"],["HT16K33","HT16K33"]];const wi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(vi),"TYPE"),this.appendValueInput("XVALUE").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendValueInput("STAT").appendField(H.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}};var Yi=[[H.Msg.MIXLY_0DEGREE,"0"],[H.Msg.MIXLY_90DEGREE,"3"],[H.Msg.MIXLY_180DEGREE,"2"],[H.Msg.MIXLY_270DEGREE,"1"]];const Vi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_NO),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new H.FieldDropdown(Yi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},ki={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_NO),this.appendValueInput("X").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("X"),this.appendValueInput("Y").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("Y"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Xi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField("HT16K33"),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new H.FieldDropdown(Yi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Gi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(vi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.texttodisplay),this.appendValueInput("Speed").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Bi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(vi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.texttodisplay),this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Ui={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(vi),"TYPE").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.appendValueInput("NO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_NO),this.appendValueInput("LEDArray").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR)}},Wi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a81").appendField(new H.FieldCheckbox("FALSE"),"a82").appendField(new H.FieldCheckbox("FALSE"),"a83").appendField(new H.FieldCheckbox("FALSE"),"a84").appendField(new H.FieldCheckbox("FALSE"),"a85").appendField(new H.FieldCheckbox("FALSE"),"a86").appendField(new H.FieldCheckbox("FALSE"),"a87").appendField(new H.FieldCheckbox("FALSE"),"a88"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a71").appendField(new H.FieldCheckbox("FALSE"),"a72").appendField(new H.FieldCheckbox("FALSE"),"a73").appendField(new H.FieldCheckbox("FALSE"),"a74").appendField(new H.FieldCheckbox("FALSE"),"a75").appendField(new H.FieldCheckbox("FALSE"),"a76").appendField(new H.FieldCheckbox("FALSE"),"a77").appendField(new H.FieldCheckbox("FALSE"),"a78"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a61").appendField(new H.FieldCheckbox("FALSE"),"a62").appendField(new H.FieldCheckbox("FALSE"),"a63").appendField(new H.FieldCheckbox("FALSE"),"a64").appendField(new H.FieldCheckbox("FALSE"),"a65").appendField(new H.FieldCheckbox("FALSE"),"a66").appendField(new H.FieldCheckbox("FALSE"),"a67").appendField(new H.FieldCheckbox("FALSE"),"a68"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a51").appendField(new H.FieldCheckbox("FALSE"),"a52").appendField(new H.FieldCheckbox("FALSE"),"a53").appendField(new H.FieldCheckbox("FALSE"),"a54").appendField(new H.FieldCheckbox("FALSE"),"a55").appendField(new H.FieldCheckbox("FALSE"),"a56").appendField(new H.FieldCheckbox("FALSE"),"a57").appendField(new H.FieldCheckbox("FALSE"),"a58"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a41").appendField(new H.FieldCheckbox("FALSE"),"a42").appendField(new H.FieldCheckbox("FALSE"),"a43").appendField(new H.FieldCheckbox("FALSE"),"a44").appendField(new H.FieldCheckbox("FALSE"),"a45").appendField(new H.FieldCheckbox("FALSE"),"a46").appendField(new H.FieldCheckbox("FALSE"),"a47").appendField(new H.FieldCheckbox("FALSE"),"a48"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a31").appendField(new H.FieldCheckbox("FALSE"),"a32").appendField(new H.FieldCheckbox("FALSE"),"a33").appendField(new H.FieldCheckbox("FALSE"),"a34").appendField(new H.FieldCheckbox("FALSE"),"a35").appendField(new H.FieldCheckbox("FALSE"),"a36").appendField(new H.FieldCheckbox("FALSE"),"a37").appendField(new H.FieldCheckbox("FALSE"),"a38"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a21").appendField(new H.FieldCheckbox("FALSE"),"a22").appendField(new H.FieldCheckbox("FALSE"),"a23").appendField(new H.FieldCheckbox("FALSE"),"a24").appendField(new H.FieldCheckbox("FALSE"),"a25").appendField(new H.FieldCheckbox("FALSE"),"a26").appendField(new H.FieldCheckbox("FALSE"),"a27").appendField(new H.FieldCheckbox("FALSE"),"a28"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a11").appendField(new H.FieldCheckbox("FALSE"),"a12").appendField(new H.FieldCheckbox("FALSE"),"a13").appendField(new H.FieldCheckbox("FALSE"),"a14").appendField(new H.FieldCheckbox("FALSE"),"a15").appendField(new H.FieldCheckbox("FALSE"),"a16").appendField(new H.FieldCheckbox("FALSE"),"a17").appendField(new H.FieldCheckbox("FALSE"),"a18"),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY)}},Hi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").setAlign(H.inputs.Align.CENTRE).appendField(new H.FieldBitmap([[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},Ki={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(vi),"TYPE"),this.appendValueInput("Brightness").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_BRIGHTNESS),this.setTooltip(H.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}};var Zi=[[H.Msg.MAX7219_FILLSCREEN_ON,"fillScreen(1)"],[H.Msg.MAX7219_FILLSCREEN_OFF,"fillScreen(0)"]];const zi={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(vi),"TYPE"),this.appendDummyInput("").appendField(H.Msg.MIXLY_STAT),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldDropdown(Zi),"FILLSCREEN_TYPE"),this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS)}},ji={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_MAX7219_IMG).appendField(new H.FieldDropdown([["↑","18181818db7e3c18"],["↓","183c7edb18181818"],["←","080c06ffff060c08"],["→","103060ffff603010"],["♥","183c7effffffe742"],["▲","00000000ff7e3c18"],["▼","183c7eff00000000"],["◄","080c0e0f0f0e0c08"],["►","103070f0f0703010"],["△","00000000ff422418"],["▽","182442ff00000000"],["☺","3c4299a581a5423c"],["○","3c4281818181423c"],["◑","3c72f1f1f1f1723c"],["◐","3c4e8f8f8f8f4e3c"],["¥","101010ff10ff2442"],["Χ","8142241818244281"],["√","0000010204885020"],["□","007e424242427e00"],["▣","007e425a5a427e00"],["◇","1824428181422418"],["♀","083e081c2222221c"],["♂","0e1b111b9ea0c0f0"],["♪","061f1e1010d07030"],["✈","203098ffff983020"],["卍","00f21212fe90909e"],["卐","009e9090fe1212f2"],["|","1010101010101010"],["—","000000ff00000000"],["╱","0102040810204080"],["\","8040201008040201"],["大","41221408087f0808"],["中","1010fe9292fe1010"],["小","0e08492a2a080808"],["米","00925438fe385492"],["正","7f0a0a3a08087f00"],["囧","ffa5a5bdc3a5a5ff"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(Ai),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR),this.setHelpUrl("")}},Ji={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(vi),"TYPE").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}};var qi=[[H.Msg.OLED_HOR,"H"],[H.Msg.OLED_VER,"V"]],Qi=[[H.Msg.OLED_HOLLOW,"drawFrame"],[H.Msg.OLED_SOLID,"drawBox"]],$i=[[H.Msg.OLED_HOLLOW,"drawCircle"],[H.Msg.OLED_SOLID,"drawDisc"]],xn=[[H.Msg.OLED_HOLLOW,"drawRFrame"],[H.Msg.OLED_SOLID,"drawRBox"]],fn=[[H.Msg.OLED_WHOLE_CICILE,"U8G2_DRAW_ALL"],[H.Msg.OLED_UP_R,"U8G2_DRAW_UPPER_RIGHT"],[H.Msg.OLED_UP_L,"U8G2_DRAW_UPPER_LEFT"],[H.Msg.OLED_LOW_R,"U8G2_DRAW_LOWER_RIGHT"],[H.Msg.OLED_LOW_L,"U8G2_DRAW_LOWER_LEFT"]],en=[[H.Msg.OLED_HOLLOW,"drawEllipse"],[H.Msg.OLED_SOLID,"drawFilledEllipse"]],tn=[["Times New Roman","tim"],["Helvetica","helv"],["ncen","ncen"],["courier new","cour"]],nn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["SSD1306(128×32)","SSD1306_128X32_UNIVISION"],["SH1106(128×64)","SH1106_128X64_NONAME"]],sn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["LCM12864","ST7565_NHD_C12864"],["NOKIA5110","PCD8544_84X48"]],cn=[[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 0°","U8G2_R0"],[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 90°","U8G2_R1"],[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 180°","U8G2_R2"],[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 270°","U8G2_R3"],[H.Msg.MIRROR,"U8G2_MIRROR"]],an=[["08","08"],["10","10"],["12","12"],["14","14"],["18","18"],["24","24"]],ln=[["常规","R"],["加粗","B"]],dn=[[H.Msg.OLED_FONT_chinese1,"_t_chinese1"],[H.Msg.OLED_FONT_chinese2,"_t_chinese2"],[H.Msg.OLED_FONT_chinese3,"_t_chinese3"],[H.Msg.OLED_FONT_gb2312a,"_t_gb2312a"],[H.Msg.OLED_FONT_gb2312b,"_t_gb2312b"],[H.Msg.OLED_FONT_gb2312,"_t_gb2312"]],pn=[["12","wqy12"],["13","wqy13"],["14","wqy14"],["15","wqy15"],["16","wqy16"]],on=[[{src:"../common/media/oled_icons/64.png",width:24,height:24,alt:"64"},"64"],[{src:"../common/media/oled_icons/65.png",width:24,height:24,alt:"65"},"65"],[{src:"../common/media/oled_icons/66.png",width:24,height:24,alt:"66"},"66"],[{src:"../common/media/oled_icons/67.png",width:24,height:24,alt:"67"},"67"],[{src:"../common/media/oled_icons/68.png",width:24,height:24,alt:"68"},"68"],[{src:"../common/media/oled_icons/69.png",width:24,height:24,alt:"69"},"69"],[{src:"../common/media/oled_icons/70.png",width:24,height:24,alt:"70"},"70"],[{src:"../common/media/oled_icons/71.png",width:24,height:24,alt:"71"},"71"],[{src:"../common/media/oled_icons/72.png",width:24,height:24,alt:"72"},"72"],[{src:"../common/media/oled_icons/73.png",width:24,height:24,alt:"73"},"73"],[{src:"../common/media/oled_icons/74.png",width:24,height:24,alt:"74"},"74"],[{src:"../common/media/oled_icons/75.png",width:24,height:24,alt:"75"},"75"],[{src:"../common/media/oled_icons/76.png",width:24,height:24,alt:"76"},"76"],[{src:"../common/media/oled_icons/77.png",width:24,height:24,alt:"77"},"77"],[{src:"../common/media/oled_icons/78.png",width:24,height:24,alt:"78"},"78"],[{src:"../common/media/oled_icons/79.png",width:24,height:24,alt:"79"},"79"],[{src:"../common/media/oled_icons/80.png",width:24,height:24,alt:"80"},"80"],[{src:"../common/media/oled_icons/81.png",width:24,height:24,alt:"81"},"81"],[{src:"../common/media/oled_icons/82.png",width:24,height:24,alt:"82"},"82"],[{src:"../common/media/oled_icons/83.png",width:24,height:24,alt:"83"},"83"],[{src:"../common/media/oled_icons/84.png",width:24,height:24,alt:"84"},"84"],[{src:"../common/media/oled_icons/85.png",width:24,height:24,alt:"85"},"85"],[{src:"../common/media/oled_icons/86.png",width:24,height:24,alt:"86"},"86"],[{src:"../common/media/oled_icons/87.png",width:24,height:24,alt:"87"},"87"],[{src:"../common/media/oled_icons/88.png",width:24,height:24,alt:"88"},"88"],[{src:"../common/media/oled_icons/89.png",width:24,height:24,alt:"89"},"89"],[{src:"../common/media/oled_icons/90.png",width:24,height:24,alt:"90"},"90"],[{src:"../common/media/oled_icons/91.png",width:24,height:24,alt:"91"},"91"],[{src:"../common/media/oled_icons/92.png",width:24,height:24,alt:"92"},"92"],[{src:"../common/media/oled_icons/93.png",width:24,height:24,alt:"93"},"93"],[{src:"../common/media/oled_icons/94.png",width:24,height:24,alt:"94"},"94"],[{src:"../common/media/oled_icons/95.png",width:24,height:24,alt:"95"},"95"],[{src:"../common/media/oled_icons/96.png",width:24,height:24,alt:"96"},"96"],[{src:"../common/media/oled_icons/97.png",width:24,height:24,alt:"97"},"97"],[{src:"../common/media/oled_icons/98.png",width:24,height:24,alt:"98"},"98"],[{src:"../common/media/oled_icons/99.png",width:24,height:24,alt:"99"},"99"],[{src:"../common/media/oled_icons/100.png",width:24,height:24,alt:"100"},"100"],[{src:"../common/media/oled_icons/101.png",width:24,height:24,alt:"101"},"101"],[{src:"../common/media/oled_icons/102.png",width:24,height:24,alt:"102"},"102"],[{src:"../common/media/oled_icons/103.png",width:24,height:24,alt:"103"},"103"],[{src:"../common/media/oled_icons/104.png",width:24,height:24,alt:"104"},"104"],[{src:"../common/media/oled_icons/105.png",width:24,height:24,alt:"105"},"105"],[{src:"../common/media/oled_icons/106.png",width:24,height:24,alt:"106"},"106"],[{src:"../common/media/oled_icons/107.png",width:24,height:24,alt:"107"},"107"],[{src:"../common/media/oled_icons/108.png",width:24,height:24,alt:"108"},"108"],[{src:"../common/media/oled_icons/109.png",width:24,height:24,alt:"109"},"109"],[{src:"../common/media/oled_icons/110.png",width:24,height:24,alt:"110"},"110"],[{src:"../common/media/oled_icons/111.png",width:24,height:24,alt:"111"},"111"],[{src:"../common/media/oled_icons/112.png",width:24,height:24,alt:"112"},"112"],[{src:"../common/media/oled_icons/113.png",width:24,height:24,alt:"113"},"113"],[{src:"../common/media/oled_icons/114.png",width:24,height:24,alt:"114"},"114"],[{src:"../common/media/oled_icons/115.png",width:24,height:24,alt:"115"},"115"],[{src:"../common/media/oled_icons/116.png",width:24,height:24,alt:"116"},"116"],[{src:"../common/media/oled_icons/117.png",width:24,height:24,alt:"117"},"117"],[{src:"../common/media/oled_icons/118.png",width:24,height:24,alt:"118"},"118"],[{src:"../common/media/oled_icons/119.png",width:24,height:24,alt:"119"},"119"],[{src:"../common/media/oled_icons/120.png",width:24,height:24,alt:"120"},"120"],[{src:"../common/media/oled_icons/121.png",width:24,height:24,alt:"121"},"121"],[{src:"../common/media/oled_icons/122.png",width:24,height:24,alt:"122"},"122"],[{src:"../common/media/oled_icons/123.png",width:24,height:24,alt:"123"},"123"],[{src:"../common/media/oled_icons/124.png",width:24,height:24,alt:"124"},"124"],[{src:"../common/media/oled_icons/125.png",width:24,height:24,alt:"125"},"125"],[{src:"../common/media/oled_icons/126.png",width:24,height:24,alt:"126"},"126"],[{src:"../common/media/oled_icons/127.png",width:24,height:24,alt:"127"},"127"],[{src:"../common/media/oled_icons/128.png",width:24,height:24,alt:"128"},"128"],[{src:"../common/media/oled_icons/129.png",width:24,height:24,alt:"129"},"129"],[{src:"../common/media/oled_icons/130.png",width:24,height:24,alt:"130"},"130"],[{src:"../common/media/oled_icons/131.png",width:24,height:24,alt:"131"},"131"],[{src:"../common/media/oled_icons/132.png",width:24,height:24,alt:"132"},"132"],[{src:"../common/media/oled_icons/133.png",width:24,height:24,alt:"133"},"133"],[{src:"../common/media/oled_icons/134.png",width:24,height:24,alt:"134"},"134"],[{src:"../common/media/oled_icons/135.png",width:24,height:24,alt:"135"},"135"],[{src:"../common/media/oled_icons/136.png",width:24,height:24,alt:"136"},"136"],[{src:"../common/media/oled_icons/137.png",width:24,height:24,alt:"137"},"137"],[{src:"../common/media/oled_icons/138.png",width:24,height:24,alt:"138"},"138"],[{src:"../common/media/oled_icons/139.png",width:24,height:24,alt:"139"},"139"],[{src:"../common/media/oled_icons/140.png",width:24,height:24,alt:"140"},"140"],[{src:"../common/media/oled_icons/141.png",width:24,height:24,alt:"141"},"141"],[{src:"../common/media/oled_icons/142.png",width:24,height:24,alt:"142"},"142"],[{src:"../common/media/oled_icons/143.png",width:24,height:24,alt:"143"},"143"],[{src:"../common/media/oled_icons/144.png",width:24,height:24,alt:"144"},"144"],[{src:"../common/media/oled_icons/145.png",width:24,height:24,alt:"145"},"145"],[{src:"../common/media/oled_icons/146.png",width:24,height:24,alt:"146"},"146"],[{src:"../common/media/oled_icons/147.png",width:24,height:24,alt:"147"},"147"],[{src:"../common/media/oled_icons/148.png",width:24,height:24,alt:"148"},"148"],[{src:"../common/media/oled_icons/149.png",width:24,height:24,alt:"149"},"149"],[{src:"../common/media/oled_icons/150.png",width:24,height:24,alt:"150"},"150"],[{src:"../common/media/oled_icons/151.png",width:24,height:24,alt:"151"},"151"],[{src:"../common/media/oled_icons/152.png",width:24,height:24,alt:"152"},"152"],[{src:"../common/media/oled_icons/153.png",width:24,height:24,alt:"153"},"153"],[{src:"../common/media/oled_icons/154.png",width:24,height:24,alt:"154"},"154"],[{src:"../common/media/oled_icons/155.png",width:24,height:24,alt:"155"},"155"],[{src:"../common/media/oled_icons/156.png",width:24,height:24,alt:"156"},"156"],[{src:"../common/media/oled_icons/157.png",width:24,height:24,alt:"157"},"157"],[{src:"../common/media/oled_icons/158.png",width:24,height:24,alt:"158"},"158"],[{src:"../common/media/oled_icons/159.png",width:24,height:24,alt:"159"},"159"],[{src:"../common/media/oled_icons/160.png",width:24,height:24,alt:"160"},"160"],[{src:"../common/media/oled_icons/161.png",width:24,height:24,alt:"161"},"161"],[{src:"../common/media/oled_icons/162.png",width:24,height:24,alt:"162"},"162"],[{src:"../common/media/oled_icons/163.png",width:24,height:24,alt:"163"},"163"],[{src:"../common/media/oled_icons/164.png",width:24,height:24,alt:"164"},"164"],[{src:"../common/media/oled_icons/165.png",width:24,height:24,alt:"165"},"165"],[{src:"../common/media/oled_icons/166.png",width:24,height:24,alt:"166"},"166"],[{src:"../common/media/oled_icons/167.png",width:24,height:24,alt:"167"},"167"],[{src:"../common/media/oled_icons/168.png",width:24,height:24,alt:"168"},"168"],[{src:"../common/media/oled_icons/169.png",width:24,height:24,alt:"169"},"169"],[{src:"../common/media/oled_icons/170.png",width:24,height:24,alt:"170"},"170"],[{src:"../common/media/oled_icons/171.png",width:24,height:24,alt:"171"},"171"],[{src:"../common/media/oled_icons/172.png",width:24,height:24,alt:"172"},"172"],[{src:"../common/media/oled_icons/173.png",width:24,height:24,alt:"173"},"173"],[{src:"../common/media/oled_icons/174.png",width:24,height:24,alt:"174"},"174"],[{src:"../common/media/oled_icons/175.png",width:24,height:24,alt:"175"},"175"],[{src:"../common/media/oled_icons/176.png",width:24,height:24,alt:"176"},"176"],[{src:"../common/media/oled_icons/177.png",width:24,height:24,alt:"177"},"177"],[{src:"../common/media/oled_icons/178.png",width:24,height:24,alt:"178"},"178"],[{src:"../common/media/oled_icons/179.png",width:24,height:24,alt:"179"},"179"],[{src:"../common/media/oled_icons/180.png",width:24,height:24,alt:"180"},"180"],[{src:"../common/media/oled_icons/181.png",width:24,height:24,alt:"181"},"181"],[{src:"../common/media/oled_icons/182.png",width:24,height:24,alt:"182"},"182"],[{src:"../common/media/oled_icons/183.png",width:24,height:24,alt:"183"},"183"],[{src:"../common/media/oled_icons/184.png",width:24,height:24,alt:"184"},"184"],[{src:"../common/media/oled_icons/185.png",width:24,height:24,alt:"185"},"185"],[{src:"../common/media/oled_icons/186.png",width:24,height:24,alt:"186"},"186"],[{src:"../common/media/oled_icons/187.png",width:24,height:24,alt:"187"},"187"],[{src:"../common/media/oled_icons/188.png",width:24,height:24,alt:"188"},"188"],[{src:"../common/media/oled_icons/189.png",width:24,height:24,alt:"189"},"189"],[{src:"../common/media/oled_icons/190.png",width:24,height:24,alt:"190"},"190"],[{src:"../common/media/oled_icons/191.png",width:24,height:24,alt:"191"},"191"],[{src:"../common/media/oled_icons/192.png",width:24,height:24,alt:"192"},"192"],[{src:"../common/media/oled_icons/193.png",width:24,height:24,alt:"193"},"193"],[{src:"../common/media/oled_icons/194.png",width:24,height:24,alt:"194"},"194"],[{src:"../common/media/oled_icons/195.png",width:24,height:24,alt:"195"},"195"],[{src:"../common/media/oled_icons/196.png",width:24,height:24,alt:"196"},"196"],[{src:"../common/media/oled_icons/197.png",width:24,height:24,alt:"197"},"197"],[{src:"../common/media/oled_icons/198.png",width:24,height:24,alt:"198"},"198"],[{src:"../common/media/oled_icons/199.png",width:24,height:24,alt:"199"},"199"],[{src:"../common/media/oled_icons/200.png",width:24,height:24,alt:"200"},"200"],[{src:"../common/media/oled_icons/201.png",width:24,height:24,alt:"201"},"201"],[{src:"../common/media/oled_icons/202.png",width:24,height:24,alt:"202"},"202"],[{src:"../common/media/oled_icons/203.png",width:24,height:24,alt:"203"},"203"],[{src:"../common/media/oled_icons/204.png",width:24,height:24,alt:"204"},"204"],[{src:"../common/media/oled_icons/205.png",width:24,height:24,alt:"205"},"205"],[{src:"../common/media/oled_icons/206.png",width:24,height:24,alt:"206"},"206"],[{src:"../common/media/oled_icons/207.png",width:24,height:24,alt:"207"},"207"],[{src:"../common/media/oled_icons/208.png",width:24,height:24,alt:"208"},"208"],[{src:"../common/media/oled_icons/209.png",width:24,height:24,alt:"209"},"209"],[{src:"../common/media/oled_icons/210.png",width:24,height:24,alt:"210"},"210"],[{src:"../common/media/oled_icons/211.png",width:24,height:24,alt:"211"},"211"],[{src:"../common/media/oled_icons/212.png",width:24,height:24,alt:"212"},"212"],[{src:"../common/media/oled_icons/213.png",width:24,height:24,alt:"213"},"213"],[{src:"../common/media/oled_icons/214.png",width:24,height:24,alt:"214"},"214"],[{src:"../common/media/oled_icons/215.png",width:24,height:24,alt:"215"},"215"],[{src:"../common/media/oled_icons/216.png",width:24,height:24,alt:"216"},"216"],[{src:"../common/media/oled_icons/217.png",width:24,height:24,alt:"217"},"217"],[{src:"../common/media/oled_icons/218.png",width:24,height:24,alt:"218"},"218"],[{src:"../common/media/oled_icons/219.png",width:24,height:24,alt:"219"},"219"],[{src:"../common/media/oled_icons/220.png",width:24,height:24,alt:"220"},"220"],[{src:"../common/media/oled_icons/221.png",width:24,height:24,alt:"221"},"221"],[{src:"../common/media/oled_icons/222.png",width:24,height:24,alt:"222"},"222"],[{src:"../common/media/oled_icons/223.png",width:24,height:24,alt:"223"},"223"],[{src:"../common/media/oled_icons/224.png",width:24,height:24,alt:"224"},"224"],[{src:"../common/media/oled_icons/225.png",width:24,height:24,alt:"225"},"225"],[{src:"../common/media/oled_icons/226.png",width:24,height:24,alt:"226"},"226"],[{src:"../common/media/oled_icons/227.png",width:24,height:24,alt:"227"},"227"],[{src:"../common/media/oled_icons/228.png",width:24,height:24,alt:"228"},"228"],[{src:"../common/media/oled_icons/229.png",width:24,height:24,alt:"229"},"229"],[{src:"../common/media/oled_icons/230.png",width:24,height:24,alt:"230"},"230"],[{src:"../common/media/oled_icons/231.png",width:24,height:24,alt:"231"},"231"],[{src:"../common/media/oled_icons/232.png",width:24,height:24,alt:"232"},"232"],[{src:"../common/media/oled_icons/233.png",width:24,height:24,alt:"233"},"233"],[{src:"../common/media/oled_icons/234.png",width:24,height:24,alt:"234"},"234"],[{src:"../common/media/oled_icons/235.png",width:24,height:24,alt:"235"},"235"],[{src:"../common/media/oled_icons/236.png",width:24,height:24,alt:"236"},"236"],[{src:"../common/media/oled_icons/237.png",width:24,height:24,alt:"237"},"237"],[{src:"../common/media/oled_icons/238.png",width:24,height:24,alt:"238"},"238"],[{src:"../common/media/oled_icons/239.png",width:24,height:24,alt:"239"},"239"],[{src:"../common/media/oled_icons/240.png",width:24,height:24,alt:"240"},"240"],[{src:"../common/media/oled_icons/241.png",width:24,height:24,alt:"241"},"241"],[{src:"../common/media/oled_icons/242.png",width:24,height:24,alt:"242"},"242"],[{src:"../common/media/oled_icons/243.png",width:24,height:24,alt:"243"},"243"],[{src:"../common/media/oled_icons/244.png",width:24,height:24,alt:"244"},"244"],[{src:"../common/media/oled_icons/245.png",width:24,height:24,alt:"245"},"245"],[{src:"../common/media/oled_icons/246.png",width:24,height:24,alt:"246"},"246"],[{src:"../common/media/oled_icons/247.png",width:24,height:24,alt:"247"},"247"],[{src:"../common/media/oled_icons/248.png",width:24,height:24,alt:"248"},"248"],[{src:"../common/media/oled_icons/249.png",width:24,height:24,alt:"249"},"249"],[{src:"../common/media/oled_icons/250.png",width:24,height:24,alt:"250"},"250"],[{src:"../common/media/oled_icons/251.png",width:24,height:24,alt:"251"},"251"],[{src:"../common/media/oled_icons/252.png",width:24,height:24,alt:"252"},"252"],[{src:"../common/media/oled_icons/253.png",width:24,height:24,alt:"253"},"253"],[{src:"../common/media/oled_icons/254.png",width:24,height:24,alt:"254"},"254"],[{src:"../common/media/oled_icons/255.png",width:24,height:24,alt:"255"},"255"],[{src:"../common/media/oled_icons/256.png",width:24,height:24,alt:"256"},"256"],[{src:"../common/media/oled_icons/257.png",width:24,height:24,alt:"257"},"257"],[{src:"../common/media/oled_icons/258.png",width:24,height:24,alt:"258"},"258"],[{src:"../common/media/oled_icons/259.png",width:24,height:24,alt:"259"},"259"],[{src:"../common/media/oled_icons/260.png",width:24,height:24,alt:"260"},"260"],[{src:"../common/media/oled_icons/261.png",width:24,height:24,alt:"261"},"261"],[{src:"../common/media/oled_icons/262.png",width:24,height:24,alt:"262"},"262"],[{src:"../common/media/oled_icons/263.png",width:24,height:24,alt:"263"},"263"],[{src:"../common/media/oled_icons/264.png",width:24,height:24,alt:"264"},"264"],[{src:"../common/media/oled_icons/265.png",width:24,height:24,alt:"265"},"265"],[{src:"../common/media/oled_icons/266.png",width:24,height:24,alt:"266"},"266"],[{src:"../common/media/oled_icons/267.png",width:24,height:24,alt:"267"},"267"],[{src:"../common/media/oled_icons/268.png",width:24,height:24,alt:"268"},"268"],[{src:"../common/media/oled_icons/269.png",width:24,height:24,alt:"269"},"269"],[{src:"../common/media/oled_icons/270.png",width:24,height:24,alt:"270"},"270"],[{src:"../common/media/oled_icons/271.png",width:24,height:24,alt:"271"},"271"],[{src:"../common/media/oled_icons/272.png",width:24,height:24,alt:"272"},"272"],[{src:"../common/media/oled_icons/273.png",width:24,height:24,alt:"273"},"273"],[{src:"../common/media/oled_icons/274.png",width:24,height:24,alt:"274"},"274"],[{src:"../common/media/oled_icons/275.png",width:24,height:24,alt:"275"},"275"],[{src:"../common/media/oled_icons/276.png",width:24,height:24,alt:"276"},"276"],[{src:"../common/media/oled_icons/277.png",width:24,height:24,alt:"277"},"277"],[{src:"../common/media/oled_icons/278.png",width:24,height:24,alt:"278"},"278"],[{src:"../common/media/oled_icons/279.png",width:24,height:24,alt:"279"},"279"],[{src:"../common/media/oled_icons/280.png",width:24,height:24,alt:"280"},"280"],[{src:"../common/media/oled_icons/281.png",width:24,height:24,alt:"281"},"281"],[{src:"../common/media/oled_icons/282.png",width:24,height:24,alt:"282"},"282"],[{src:"../common/media/oled_icons/283.png",width:24,height:24,alt:"283"},"283"],[{src:"../common/media/oled_icons/284.png",width:24,height:24,alt:"284"},"284"],[{src:"../common/media/oled_icons/285.png",width:24,height:24,alt:"285"},"285"],[{src:"../common/media/oled_icons/286.png",width:24,height:24,alt:"286"},"286"]],un=[[{src:"../common/media/oled_icons/face/Eyes/Angry.png",width:35,height:25,alt:"Angry"},"Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Awake.png",width:35,height:25,alt:"Awake"},"Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0xF8,0xFF,0x03,0x00,0xE0,0x00,0x0C,0x00,0x80,0xFF,0x3F,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x7F,0x30,0x00,0x38,0x00,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFC,0xFF,0xE1,0x00,0x0C,0xFE,0x7F,0x00,0x30,0x00,0x38,0x80,0xFE,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0x7E,0x96,0xFF,0x00,0xFC,0x87,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xF0,0x00,0x3C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x80,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Black eye.png",width:35,height:25,alt:"Black_eye"},"Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x5F,0x55,0xD5,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x4B,0xAA,0xA4,0x3E,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xB5,0x55,0x5B,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0x4A,0xAA,0xA4,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0xB6,0x55,0x5B,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xE9,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x1C,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0xB8,0xAA,0xAA,0xAA,0xEA,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0xD5,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xD2,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x70,0x2D,0x49,0xAA,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF0,0xD2,0xB6,0x55,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0x2D,0x49,0xAA,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xD3,0xB6,0x55,0x3E,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xC0,0x2F,0x49,0xD2,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Bottom left.png",width:35,height:25,alt:"Bottom_left"},"Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"],[{src:"../common/media/oled_icons/face/Eyes/Bottom right.png",width:35,height:25,alt:"Bottom_right"},"Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 1.png",width:35,height:25,alt:"Crazy_1"},"Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 2.png",width:35,height:25,alt:"Crazy_2"},"Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Disappointed.png",width:35,height:25,alt:"Disappointed"},"Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Dizzy.png",width:35,height:25,alt:"Dizzy"},"Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Down.png",width:35,height:25,alt:"Down"},"Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Evil.png",width:35,height:25,alt:"Evil"},"Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Hurt.png",width:35,height:25,alt:"Hurt"},"Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Knocked out.png",width:35,height:25,alt:"Knocked_out"},"Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Love.png",width:35,height:25,alt:"Love"},"Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle left.png",width:35,height:25,alt:"Middle_left"},"Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle right.png",width:35,height:25,alt:"Middle_right"},"Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Neutral.png",width:35,height:25,alt:"Neutral"},"Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Nuclear.png",width:35,height:25,alt:"Nuclear"},"Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch left.png",width:35,height:25,alt:"Pinch_left"},"Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch middle.png",width:35,height:25,alt:"Pinch_middle"},"Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch right.png",width:35,height:25,alt:"Pinch_right"},"Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tear.png",width:35,height:25,alt:"Tear"},"Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired left.png",width:35,height:25,alt:"Tired_left"},"Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired middle.png",width:35,height:25,alt:"Tired_middle"},"Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired right.png",width:35,height:25,alt:"Tired_right"},"Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Toxic.png",width:35,height:25,alt:"Toxic"},"Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Up.png",width:35,height:25,alt:"Up"},"Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Winking.png",width:35,height:25,alt:"Winking"},"Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Big smile.png",width:35,height:25,alt:"Big_smile"},"Big_smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart large.png",width:35,height:25,alt:"Heart_large"},"Heart_large,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xBF,0x07,0x00,0xC0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x1C,0x00,0xF0,0xFF,0xE1,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x71,0x00,0xF8,0xFF,0xC3,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE7,0x00,0xFC,0xFF,0x8F,0x03,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCF,0x01,0xFE,0xFF,0x3F,0x07,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x9F,0x03,0xFF,0xFF,0x7F,0x06,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x3F,0x83,0xFF,0xFF,0xFF,0x0C,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x7F,0x87,0xFF,0xFF,0xFF,0x1D,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xC6,0xFF,0xFF,0xFF,0x19,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart small.png",width:35,height:25,alt:"Heart_small"},"Heart_small,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xC7,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x9F,0x01,0xFF,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x83,0xFF,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0xC6,0xFF,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCE,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0D,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 open.png",width:35,height:25,alt:"Mouth_1_open"},"Mouth_1_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x78,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE4,0xD7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x1F,0x00,0x08,0xA8,0xFF,0x71,0x00,0x38,0x00,0x1C,0xFF,0x23,0x40,0x00,0xA8,0x2A,0x00,0xE4,0x03,0xEF,0x81,0x2F,0x00,0xA8,0x2A,0x00,0x54,0x55,0x55,0x95,0xFF,0xC7,0xFF,0x53,0x55,0x55,0x55,0x00,0x28,0x55,0x55,0x15,0x00,0x28,0x00,0xA8,0xAA,0xAA,0x2A,0x00,0xD4,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x52,0x00,0xE8,0x55,0x51,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0xAA,0x2E,0x00,0x0C,0x54,0xAF,0xAA,0xAA,0x56,0x55,0xAB,0xEA,0xAB,0x50,0x00,0xF0,0x57,0xA0,0xAA,0x54,0xA9,0xAA,0x54,0x15,0xA8,0x5F,0x00,0x04,0xD8,0x5F,0x55,0xAB,0x56,0x55,0x53,0xF5,0x2F,0x40,0x00,0xF0,0x27,0x40,0xAD,0x54,0xA9,0xAA,0xAC,0x0A,0xA0,0x3F,0x00,0x18,0xEE,0x7F,0x51,0xAB,0x56,0x55,0x53,0xFA,0xDF,0x71,0x00,0x0C,0x0C,0x00,0xDF,0x54,0x51,0xA5,0xDC,0x03,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x00,0x6B,0xDF,0x5D,0x03,0xF8,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x20,0xC0,0xF8,0x1C,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xFF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 shut.png",width:35,height:25,alt:"Mouth_1_shut"},"Mouth_1_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x38,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE0,0xC7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x5F,0x00,0x04,0x90,0xFF,0x71,0x00,0x38,0x00,0x9C,0xFF,0x33,0x00,0x00,0xF0,0x17,0x00,0xE4,0x03,0xEF,0x81,0x4F,0x00,0x94,0x3F,0x00,0x18,0xEE,0x5F,0x95,0xFF,0xD7,0xFF,0xA3,0xFA,0xD7,0x71,0x00,0x0C,0x1C,0x00,0x6D,0x00,0x20,0x00,0xDC,0x02,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x01,0x55,0xAF,0x5D,0x01,0xFA,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x50,0x40,0xF8,0x1D,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xEF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 open.png",width:35,height:25,alt:"Mouth_2_open"},"Mouth_2_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x4E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0xA0,0x02,0x4C,0x01,0x25,0xC0,0x4A,0x53,0x8D,0xD5,0x48,0x63,0x55,0x02,0xAE,0x00,0x6A,0x40,0xAA,0x9E,0x8A,0x94,0xA8,0xB2,0xAA,0x02,0xA6,0x00,0x6A,0x40,0x55,0xAD,0xD2,0xAA,0x54,0x92,0xAA,0x02,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0xAA,0x02,0x53,0x01,0xD5,0x60,0x55,0x51,0x85,0x2A,0xA9,0x52,0x55,0x82,0xA9,0x00,0xAA,0x60,0x55,0x55,0x55,0x55,0x54,0xA9,0xAA,0x82,0xA9,0x00,0x95,0x20,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xC2,0x54,0x01,0xAA,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xE2,0xAA,0x00,0x2A,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x62,0x55,0x01,0x55,0x33,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x33,0x55,0x01,0x55,0xB2,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0xBB,0xAA,0x00,0xAA,0xB6,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0x9F,0xAA,0x00,0xAA,0x5C,0x55,0x55,0x55,0x95,0xAA,0xAA,0x2A,0x4F,0x55,0x01,0x55,0x9D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA7,0xAA,0x00,0x55,0x59,0x55,0x55,0x55,0x95,0xAA,0xAA,0xAA,0x57,0x55,0x01,0xAA,0xBA,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA9,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x54,0x55,0x01,0x55,0x8D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x45,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0xD5,0xAA,0x7A,0xA5,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x85,0x5A,0x55,0x01,0x55,0xAD,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0x2A,0xA5,0xAA,0x00,0xAA,0x52,0x56,0x55,0x55,0x95,0x2A,0x55,0xF5,0x5A,0x55,0x01,0x55,0x2D,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0xEA,0xA5,0xAA,0x00,0xAA,0x92,0x55,0x55,0x55,0x95,0x2A,0x55,0x65,0x59,0x55,0x01,0x55,0xCD,0x55,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xA2,0xAA,0x00,0xAA,0xE2,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x56,0x55,0x01,0x55,0xB5,0x51,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xAC,0xAA,0x00,0xAA,0x1A,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x4C,0x55,0x01,0x55,0x0D,0x53,0x55,0x55,0xE9,0xEA,0xAA,0x6A,0x58,0x55,0x01,0xAA,0x0C,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x90,0xAA,0x00,0xD5,0x06,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0xB0,0xAA,0x00,0x2A,0x06,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x60,0x55,0x01,0x55,0x03,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x60,0xAA,0x00,0x2A,0x03,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xC0,0x56,0x01,0xB5,0x01,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC0,0xA8,0x00,0x8A,0x01,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x80,0x55,0x01,0xB5,0x01,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x80,0x55,0x01,0x8A,0x01,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 shut.png",width:35,height:25,alt:"Mouth_2_shut"},"Mouth_2_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x8E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0x20,0x02,0x4C,0x01,0x25,0xC0,0x46,0x53,0x8D,0xD5,0x48,0x63,0xF5,0x02,0xAE,0x00,0x6A,0x40,0xA8,0x9E,0x8A,0x94,0xA8,0xB2,0xEA,0x02,0xA6,0x00,0x6A,0xC0,0x55,0xAD,0xD2,0xAA,0x54,0x92,0x6A,0x03,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0x6A,0x02,0x53,0x01,0xD5,0xE0,0xAD,0x52,0x85,0x2A,0xA9,0x52,0x65,0x82,0xA9,0x00,0xAA,0xE0,0x51,0x55,0x55,0x55,0x54,0xA9,0x6A,0x82,0xA9,0x00,0x95,0x20,0xAD,0xAA,0xAA,0xAA,0x2A,0x55,0x65,0xC2,0x54,0x01,0xAA,0x31,0x53,0x55,0x55,0xD5,0xEA,0xAA,0x6A,0xE2,0xAA,0x00,0x2A,0x31,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x62,0x55,0x01,0x55,0x33,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0x32,0xAA,0x00,0xAA,0x32,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x3B,0x55,0x01,0x55,0x36,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x5F,0xAA,0x00,0x55,0x15,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xCF,0x56,0x01,0xAA,0x1D,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC7,0xA8,0x00,0xAA,0x19,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x87,0x55,0x01,0xB5,0x19,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x81,0x55,0x01,0x8A,0x11,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sad.png",width:35,height:25,alt:"Sad"},"Sad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sick.png",width:35,height:25,alt:"Sick"},"Sick,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x0F,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Smile.png",width:35,height:25,alt:"Smile"},"Smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Swearing.png",width:35,height:25,alt:"Swearing"},"Swearing,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xC0,0x00,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x60,0x28,0x00,0x00,0xC0,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x1F,0x64,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x28,0x00,0x00,0x00,0xC0,0x0B,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0xC4,0x3F,0x04,0x00,0x00,0x00,0xF8,0x7F,0x00,0x40,0x03,0x00,0x76,0x60,0x00,0x18,0x00,0x00,0xFC,0x7F,0x00,0xC0,0x01,0x00,0x1A,0x40,0x00,0x18,0x00,0x00,0xFC,0xF7,0x00,0xE0,0x01,0x00,0xC9,0x41,0x40,0x08,0x00,0x00,0xFC,0xE3,0x00,0xC0,0x03,0x00,0x09,0x42,0x40,0x00,0x00,0x00,0xFC,0xC3,0x10,0x80,0x00,0x00,0x19,0x63,0xC0,0x00,0x00,0x00,0x3C,0x63,0x70,0x00,0x00,0x03,0xF1,0x31,0xF0,0x07,0x00,0x00,0x1C,0x7E,0x78,0x00,0xC0,0x03,0x01,0x18,0xFC,0x03,0x00,0x00,0x1C,0x72,0x2C,0x00,0xE0,0x03,0x03,0x0C,0xF0,0x03,0x00,0x00,0x38,0x33,0x06,0x00,0xF0,0x03,0x0E,0x07,0xB0,0x03,0x00,0x00,0xF0,0x7F,0xC3,0x01,0xF0,0x03,0xF8,0x01,0x10,0x07,0x00,0x00,0xE0,0x2F,0xE1,0x00,0xF0,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x80,0x02,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xF0,0x01,0xF8,0xFE,0x01,0x00,0x00,0x00,0xFC,0x07,0x00,0x00,0xF0,0x01,0xFC,0xFF,0x03,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0xF0,0x01,0xFE,0xFF,0x07,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0xF0,0x00,0xBE,0xFE,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xF8,0xC0,0xDF,0xFF,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0xF8,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0xE0,0x01,0x00,0x00,0x78,0xE0,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x70,0xE0,0xFF,0xFF,0x7F,0x0F,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xC0,0x00,0x08,0x80,0xFF,0xDF,0xFF,0x0F,0x00,0xF0,0x01,0x00,0xF0,0x03,0x1E,0x00,0xFF,0xFF,0xFF,0x1F,0x00,0x3C,0x07,0x00,0xF0,0x03,0x3C,0x00,0xC0,0xBF,0xFF,0x3F,0x00,0x04,0x0C,0x00,0xE0,0x01,0x1C,0x00,0x00,0xFF,0xFF,0x7F,0x00,0xE4,0x19,0x00,0xF0,0x01,0x18,0x3E,0x00,0xFE,0xFF,0x7F,0x00,0xB2,0x11,0x00,0x10,0x03,0x00,0xE3,0x00,0xFC,0xFF,0xEF,0x00,0x56,0x19,0x00,0x00,0x02,0x80,0x81,0x03,0xF4,0xFF,0xFF,0x00,0x34,0x09,0x00,0x04,0x00,0x80,0x00,0x02,0xE6,0xFF,0xEF,0x00,0x8C,0x09,0x30,0x02,0x00,0xC0,0x30,0x02,0x23,0xFE,0xFB,0x00,0xB8,0x08,0x00,0x20,0x30,0x40,0x10,0x03,0x11,0xFC,0xFF,0x00,0xE0,0x00,0x0C,0x04,0x30,0xC0,0x98,0x81,0x18,0xE4,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x98,0x40,0x0C,0x27,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x71,0x60,0x06,0x21,0x38,0x00,0x00,0x00,0x08,0x00,0x20,0x10,0x03,0x40,0x0C,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x80,0x8C,0x09,0x00,0x00,0x00,0x1C,0x40,0x18,0x40,0x10,0x06,0xC0,0xC4,0x04,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x10,0x00,0x40,0xC2,0x04,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xD0,0x00,0x20,0xC1,0x0C,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x70,0x00,0x94,0xC1,0x0F,0x00,0x00,0x80,0x19,0x80,0xFF,0x00,0x70,0x00,0xDC,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0xFF,0x01,0x58,0x01,0x44,0x00,0x00,0x00,0x00,0x90,0x00,0xC0,0xFF,0x01,0xC0,0x00,0x44,0x00,0x00,0x00,0x00,0x30,0x18,0xC0,0xFF,0x03,0xC0,0x00,0x64,0x00,0x00,0x20,0x00,0x40,0x10,0xC0,0xFF,0x03,0xA0,0x00,0x1C,0x00,0x00,0x38,0x00,0x40,0x20,0xC0,0xFF,0x03,0xA0,0x00,0x00,0x00,0x00,0x70,0x00,0x80,0x54,0xC0,0xFF,0x01,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Talking.png",width:35,height:25,alt:"Talking"},"Talking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x0F,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Wink.png",width:35,height:25,alt:"Wink"},"Wink,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/ZZZ.png",width:35,height:25,alt:"ZZZ"},"ZZZ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0x3A,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0x0F,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0xE0,0xEF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xBF,0x01,0x00,0x00,0x20,0xE0,0x0F,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x3F,0x00,0xF0,0x07,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x6F,0x00,0xF8,0x07,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x5F,0x00,0xF8,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x7F,0x00,0xFC,0x03,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x81,0xFF,0x3F,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0xDF,0x3F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,0x1F,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x80,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x87,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x8D,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x02,0x00,0x00,0xC0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"]],rn=[["8","1"],["16","2"],["32","4"],["48","6"],["64","8"]];const _n={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_SETUP).appendField(new H.FieldDropdown(nn),"OLED_TYPE").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(cn),"ROTATION").appendField(" SCL").appendField(new H.FieldDropdown(K.Profile.default.digital),"SCL").appendField("SDA").appendField(new H.FieldDropdown(K.Profile.default.digital),"SDA"),this.appendValueInput("ADDRESS").appendField(H.Msg.MIXLY_LCD_ADDRESS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_INIT2_TOOLTIP),this.setFieldValue(K.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(K.Profile.default.SDA[0][1],"SDA")}},Fn={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_SETUP).appendField(new H.FieldDropdown(sn),"U8G2_TYPE_SPI").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(cn),"ROTATION"),this.appendDummyInput().appendField("CLK").appendField(new H.FieldDropdown(K.Profile.default.digital),"CLK").appendField("MOSI").appendField(new H.FieldDropdown(K.Profile.default.digital),"MOSI"),this.appendDummyInput().appendField("CS").appendField(new H.FieldDropdown(K.Profile.default.digital),"CS").appendField("DC").appendField(new H.FieldDropdown(K.Profile.default.digital),"DC").appendField("RST").appendField(new H.FieldDropdown(K.Profile.default.digital),"RST"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("CLK - SCL(SSD1306) - CLK(NOKIA5110)\nMOSI - SDA(SSD1306) - DIN(NOKIA5110)"),this.setHelpUrl(""),this.setFieldValue(K.Profile.default.SCK[0][1],"CLK"),this.setFieldValue(K.Profile.default.MOSI[0][1],"MOSI")}},hn={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_SETUP+"LCD12864").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(cn),"ROTATION"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("RS").appendField(new H.FieldDropdown(K.Profile.default.digital),"DC"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("PSB = 0"),this.setHelpUrl("")}},An={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_SETUP+"LCD12864").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(cn),"ROTATION"),this.appendDummyInput().appendField("D0").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB0").appendField("D1").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB1").appendField("D2").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB2").appendField("D3").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB3").appendField("D4").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB4").appendField("D5").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB5").appendField("D6").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB6").appendField("D7").appendField(new H.FieldDropdown(K.Profile.default.digital),"DB7").appendField("E").appendField(new H.FieldDropdown(K.Profile.default.digital),"ENABLE").appendField("RS").appendField(new H.FieldDropdown(K.Profile.default.digital),"DC"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("R/W = 0,PSB = 1"),this.setHelpUrl("")}},In={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},gn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("bitmap1"),"VAR").appendField(H.Msg.OLED_BITMAP_DATA).appendField(new H.FieldTextInput("0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},Tn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new H.FieldDropdown(rn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(H.Msg.OLED_ICON).appendField(new H.FieldDropdown(on),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},En={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput().appendField(H.Msg.OLED_ICON).appendField(new H.FieldDropdown(un),"FACE_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},Cn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(H.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_SHOW_BMP_TOOLTIP)}},Mn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_POSY).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_PIXE_TOOLTIP)}},mn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(H.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(H.Msg.OLED_END_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_LINE_TOOLTIP)}},On={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(H.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(qi),"TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Rn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_PAGE),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_page_tooltip)}},Sn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_TRIANGLE),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(H.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(H.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(H.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(H.Msg.OLED_D2_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Dn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Qi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Ln={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(xn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_RADIUS).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Nn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new H.FieldDropdown($i),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(fn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Pn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_ELLIPSE),this.appendDummyInput("").appendField(new H.FieldDropdown(en),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS_X",Number).appendField(H.Msg.OLED_ELLIPSE_RADIUS_X).setCheck(Number),this.appendValueInput("RADIUS_Y",Number).appendField(H.Msg.OLED_ELLIPSE_RADIUS_Y).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(fn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_ELLIPSE_TOOLTIP)}},yn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWSTR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},bn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.set_EN_Font).appendField(new H.FieldDropdown(tn),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(an),"FONT_SIZE"),this.appendDummyInput("").appendField(H.Msg.Font_Style).appendField(new H.FieldDropdown(ln),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},vn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.set_CN_Font).appendField(new H.FieldDropdown(dn),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(pn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},wn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.set_ZH_TW_Font),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},Yn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_print_tooltip)}},Vn={init:function(){this.appendValueInput("Contrast").setCheck(null).appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.TFT_Brightness+H.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ai),this.setTooltip(H.Msg.MIXLY_U8G2_SETCONTRAST_HELP),this.setHelpUrl("")}},kn={init:function(){this.appendValueInput("str").setCheck(null).appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.OLED_DRAWSTR+H.Msg.MIXLY_WIDTH),this.setOutput(!0,null),this.setColour(Ai),this.setTooltip(""),this.setHelpUrl("https://www.cnblogs.com/danpianjicainiao/p/11048729.html#_label3_1_39")}},Xn={init:function(){this.appendValueInput("row").setCheck(null).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"name").appendField(H.Msg.MIXLY_LCD_ROW),this.appendValueInput("column").setCheck(null).appendField(H.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("pattern").setCheck(null).appendField(H.Msg.COLUMN_DISPLAY_IMAGE),this.appendDummyInput().appendField(H.Msg.LCD_NUMBERING).appendField(new H.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]]),"number"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ai),this.setTooltip(""),this.setHelpUrl("https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar")}},Gn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a81").appendField(new H.FieldCheckbox("FALSE"),"a82").appendField(new H.FieldCheckbox("FALSE"),"a83").appendField(new H.FieldCheckbox("FALSE"),"a84").appendField(new H.FieldCheckbox("FALSE"),"a85"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a71").appendField(new H.FieldCheckbox("FALSE"),"a72").appendField(new H.FieldCheckbox("FALSE"),"a73").appendField(new H.FieldCheckbox("FALSE"),"a74").appendField(new H.FieldCheckbox("FALSE"),"a75"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a61").appendField(new H.FieldCheckbox("FALSE"),"a62").appendField(new H.FieldCheckbox("FALSE"),"a63").appendField(new H.FieldCheckbox("FALSE"),"a64").appendField(new H.FieldCheckbox("FALSE"),"a65"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a51").appendField(new H.FieldCheckbox("FALSE"),"a52").appendField(new H.FieldCheckbox("FALSE"),"a53").appendField(new H.FieldCheckbox("FALSE"),"a54").appendField(new H.FieldCheckbox("FALSE"),"a55"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a41").appendField(new H.FieldCheckbox("FALSE"),"a42").appendField(new H.FieldCheckbox("FALSE"),"a43").appendField(new H.FieldCheckbox("FALSE"),"a44").appendField(new H.FieldCheckbox("FALSE"),"a45"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a31").appendField(new H.FieldCheckbox("FALSE"),"a32").appendField(new H.FieldCheckbox("FALSE"),"a33").appendField(new H.FieldCheckbox("FALSE"),"a34").appendField(new H.FieldCheckbox("FALSE"),"a35"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a21").appendField(new H.FieldCheckbox("FALSE"),"a22").appendField(new H.FieldCheckbox("FALSE"),"a23").appendField(new H.FieldCheckbox("FALSE"),"a24").appendField(new H.FieldCheckbox("FALSE"),"a25"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a11").appendField(new H.FieldCheckbox("FALSE"),"a12").appendField(new H.FieldCheckbox("FALSE"),"a13").appendField(new H.FieldCheckbox("FALSE"),"a14").appendField(new H.FieldCheckbox("FALSE"),"a15"),this.setOutput(!0,Number),this.setTooltip("")}},Bn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").setAlign(H.inputs.Align.CENTRE).appendField(new H.FieldBitmap([[0,0,0,0,0],[0,1,1,1,0],[1,0,0,0,1],[1,0,1,0,1],[1,0,1,0,1],[1,0,0,0,1],[0,1,1,1,0],[0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},Un={init:function(){this.setColour(Ai),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP+" TFT "+H.Msg.DISPLAY),this.appendDummyInput().appendField(new H.FieldDropdown([[H.Msg.MIXLY_STM32_TFT_GREENTAB+"(ST7735)","ST7735_INITR_GREENTAB"],[H.Msg.MIXLY_STM32_TFT_REDTAB+"(ST7735)","ST7735_INITR_REDTAB"],[H.Msg.MIXLY_STM32_TFT_BLACKTAB+"(ST7735)","ST7735_INITR_BLACKTAB"],["160×80(ST7735)","ST7735_160×80"],["160×128(ST7789)","ST7789_160×128"],["240×135(ST7789)","ST7789_240×135"],["240×240(ST7789)","ST7789_240×240"],["320×240(ST7789)","ST7789_320×240"],["480×320(ST7796)","ST7796_480×320"]]),"TYPE"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("CS").appendField(new H.FieldDropdown(K.Profile.default.digital),"CS").appendField("DC").appendField(new H.FieldDropdown(K.Profile.default.digital),"DC").appendField("RST").appendField(new H.FieldDropdown(K.Profile.default.digital),"RST"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wn={init:function(){this.appendDummyInput().appendField("TFT").appendField(H.Msg.TFT_DISPLAY_CHINESE_CHARACTERS),this.appendDummyInput().appendField(H.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new H.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"],["AcadEref","AcadEref"],["Adobe Ming Std L","Adobe Ming Std L"],["Adobe Myungjo Std M","Adobe Myungjo Std M"],["Adobe Pi Std","Adobe Pi Std"],["AIGDT","AIGDT"],["AIgerian","AIgerian"],["AmdtSymbols","AmdtSymbols"],["Arial","Arial"],["Arial Rounded MT Bold","Arial Rounded MT Bold"],["Arial Unicode MS","Arial Unicode MS"],["BankGothic Lt BT","BankGothic Lt BT"],["BankGothic Md BT","BankGothic Md BT"],["Baskerville Old Face","Baskerville Old Face"],["Bauhaus 93","Bauhaus 93"],["Beranad MT Condensed","Beranad MT Condensed"]]),"st7735_hz_sharp").appendField(" "+H.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new H.FieldTextInput("16"),"st7735_hz_line_height").appendField("px").appendField(H.Msg.SAVETO+" flash").appendField(new H.FieldCheckbox("true"),"st7735_show_hz_save"),this.appendValueInput("st7735_hz_data").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SD_DATA+"#"),this.appendValueInput("st7735_hz_x").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.OLED_L_U_X+"#"),this.appendValueInput("st7735_hz_y").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.OLED_L_U_Y+"#"),this.appendValueInput("st7735_hz_height").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_HEIGHT+"#"),this.appendValueInput("st7735_hz_width").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_WIDTH+"#"),this.appendValueInput("st7735_hz_color").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.blynk_iot_WidgetLED_COLOR),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ai),this.setTooltip(""),this.setHelpUrl("")}},Hn={init:function(){this.setColour(Ai),this.appendValueInput("BRIGHTNESS").setCheck(Number).appendField("TFT"+H.Msg.TFT_Brightness+H.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Kn={init:function(){this.setColour(Ai),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldColour("33ccff"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(H.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Zn={init:function(){this.setColour(Ai),this.appendValueInput("R").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},zn={init:function(){this.setColour(Ai),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP+" TFT "+H.Msg.DISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.MIXLY_BACKGROUND_COLOR),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};Yi=[[H.Msg.MIXLY_0DEGREE,"0"],[H.Msg.MIXLY_90DEGREE,"1"],[H.Msg.MIXLY_180DEGREE,"2"],[H.Msg.MIXLY_270DEGREE,"3"]];const Jn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new H.FieldDropdown(Yi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},qn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("bitmap1"),"VAR").appendField(H.Msg.OLED_BITMAP_DATA).appendField(new H.FieldTextInput("0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f, 0x9f00, 0x989c, 0x009a, 0x9f00, 0x9c9e, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x0099, 0x9e00, 0x989e, 0x009c, 0x9c00, 0x7f7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a3, 0xa300, 0x989e, 0x0096, 0x9e00, 0x989d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989d, 0x0099, 0x9e00, 0x979c, 0x0098, 0x9c00, 0x7faa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0099, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9d00, 0x999e, 0x009d, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0xa000, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9e00, 0x969c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9aa1, 0x0096, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x008d, 0x9b00, 0x0000, 0x007f, 0x7f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x0000, 0x0095, 0x9c00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x949b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999f, 0x0098, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0899, 0x9e0e, 0x9ca1, 0x0c9b, 0x9f04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0095, 0x9a04, 0x989d, 0x119d, 0xa21e, 0xa2a6, 0x2faa, 0xae47, 0xb3b7, 0x5bbb, 0xbe6d, 0xc3c6, 0x42b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2b, 0xa8ac, 0x7fca, 0xcdbf, 0xe4e6, 0xe6f5, 0xf6f3, 0xfafa, 0xf1f9, 0xfad6, 0xeeef, 0x93d2, 0xd525, 0xa5aa, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0699, 0x9e0e, 0x9ca1, 0x169f, 0xa424, 0xa5aa, 0x36ac, 0xb045, 0xb2b6, 0x52b8, 0xbb64, 0xbfc2, 0x77c6, 0xc984, 0xccce, 0x98d4, 0xd7ac, 0xdcde, 0xbbe3, 0xe5d0, 0xeced, 0xe2f3, 0xf4ed, 0xf8f8, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3cae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0598, 0x9d52, 0xb7bb, 0xbfe4, 0xe6fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x6bc2, 0xc501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x4ab5, 0xb859, 0xbabd, 0x5fbc, 0xc068, 0xc0c3, 0x72c5, 0xc881, 0xcbce, 0x92d1, 0xd4a1, 0xd7d9, 0xaede, 0xdfc1, 0xe5e7, 0xd3ed, 0xeedd, 0xf1f2, 0xe7f5, 0xf6f2, 0xfafa, 0xfafd, 0xfdfc, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f2, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d4c, 0xb5b9, 0xcdeb, 0xecfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe6d, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xb9e2, 0xe3fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x35ab, 0xb000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff47, 0xb3b7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0x7ac8, 0xcaf6, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe401, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xecf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0f, 0x9ca1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x24a5, 0xa9c9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff38, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xd8f0, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4e, 0xb6ba, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x74c5, 0xc800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989c, 0x6fc3, 0xc6f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf2f2, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0398, 0x9d04, 0x989d, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x62be, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d88, 0xced1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x26a6, 0xaa00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x43b2, 0xb582, 0xccce, 0xb2df, 0xe1d7, 0xefef, 0xe5f4, 0xf5e7, 0xf5f6, 0xdff2, 0xf2c4, 0xe7e8, 0x98d4, 0xd657, 0xbabd, 0x18a0, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x089a, 0x9f77, 0xc6c9, 0x9dd5, 0xd7ac, 0xdddf, 0xc2e6, 0xe8d7, 0xeff0, 0xe5f5, 0xf5f7, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff0, 0xf9f9, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0x91d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5dbc, 0xbf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2e, 0xa9ad, 0x9bd6, 0xd7e8, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfaa6, 0xdadc, 0x2aa7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0398, 0x9d13, 0x9ea3, 0x72c5, 0xc7f6, 0xfbfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffcb, 0xeaeb, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x90d1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c23, 0xa4a9, 0xa5da, 0xdbfa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc8a, 0xced1, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c65, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9d, 0xd7d8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x6dc2, 0xc5fd, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c05, 0x999e, 0x6dc2, 0xc5f2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc9e9, 0xea1c, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9b9f, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6d, 0xc3c5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ec, 0xed00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4b6, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f1, 0x22a3, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3e, 0xb0b4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8ea, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe2f3, 0xf405, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7ee, 0xef15, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe1d, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xc1e5, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf805, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c76, 0xc6c9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xaaae, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x64be, 0xc200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb6e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcfec, 0xed01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2aa7, 0xacf5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd17, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x26a6, 0xaae4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xebf7, 0xf715, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0xb9e2, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1a, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea3, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff82, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb1df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ad5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c52, 0xb8bb, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9eb3, 0xdfe1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9fd7, 0xefef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd18, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57ba, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd6, 0xd8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x60bd, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc15, 0x9fa3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4c, 0xb5b9, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa2d9, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x95d2, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5cbc, 0xbf00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xdbf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7e8, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xddf1, 0xf205, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x87cd, 0xd0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c5b, 0xbbbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1b, 0xa1a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x78c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b2, 0xb600, 0x979c, 0x0398, 0x9dc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf506, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7e, 0xcacc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x66c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41b0, 0xb400, 0x979c, 0x38ad, 0xb1fe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xffe8, 0xf6f6, 0xd1ec, 0xede7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdaf0, 0xf101, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3caf, 0xb3f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0xc3e6, 0xe8b8, 0xe2e3, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff5b, 0xbbbe, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x58b9, 0xbdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3caf, 0xb200, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd3, 0xecee, 0x4bb5, 0xb807, 0x999e, 0x0096, 0x9b07, 0x999e, 0x62be, 0xc1f3, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcbe9, 0xeb00, 0x969b, 0x0097, 0x9c0e, 0x9ca1, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x6cc2, 0xc512, 0x9da2, 0x0096, 0x9b00, 0x969b, 0x19a0, 0xa5ce, 0xebec, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6a, 0xc1c4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x44b2, 0xb6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x38ad, 0xb110, 0x9da1, 0xecf7, 0xf8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e1, 0xe20f, 0x9da1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbabd, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xafde, 0xe000, 0x979c, 0x0197, 0x9c90, 0xd1d4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe519, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c43, 0xb1b5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff72, 0xc5c8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2ea9, 0xadff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x37ad, 0xb054, 0xb8bb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbd, 0xe4e5, 0x0a9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0xb6e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x98d4, 0xd600, 0x979c, 0x3aae, 0xb2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa4, 0xd9db, 0x0899, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xe9f6, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3dae, 0xb2ae, 0xdedf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf41a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x48b4, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bc8, 0xcb05, 0x989d, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xaadb, 0xdd07, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979b, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff69, 0xc1c3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa1f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5ab9, 0xbcf2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x51b7, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0699, 0x9de5, 0xf4f5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x60bd, 0xc06a, 0xc2c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffca, 0xe9ea, 0x0c9c, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbae3, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff57, 0xb9bd, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9de4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9f, 0xd7d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4db5, 0xb8e3, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f6, 0xf61e, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbce3, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9ccd, 0xeaeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fc, 0xfd2c, 0xa8ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c66, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfeff, 0x9ad5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x4eb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x969c, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd20, 0xa3a8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa3d9, 0xdb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c38, 0xadb1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xf0f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff99, 0xd5d7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x969b, 0xdff2, 0xf3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe8f6, 0xf609, 0x9a9e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c95, 0xd3d5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x32aa, 0xae00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdff2, 0xf312, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xf1f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce4, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c78, 0xc7ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbc, 0xe3e5, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x52b8, 0xbb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c26, 0xa6aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff50, 0xb7ba, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb6, 0xe1e2, 0x0297, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c54, 0xb8bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xabaf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf50c, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc2e6, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc2d, 0xa9ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea2, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9bd6, 0xd800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb0df, 0xe0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cbb, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8c, 0xd0d2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0xe2f3, 0xf4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa1d9, 0xdbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffee, 0xf8f8, 0x1aa1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9fe9, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe30, 0xaaae, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xbee4, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffed, 0xf8f8, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x98d4, 0xd6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff83, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x35ac, 0xb0fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe502, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdee0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x94d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf612, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x48b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x80ca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc7, 0xe8e9, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x47b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff37, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x169f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff49, 0xb4b8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a4, 0xa8fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x96d3, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe001, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9eea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xccea, 0xeb00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd29, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca8, 0xdbdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x28a7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc3, 0xe6e8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x99d5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbae2, 0xe301, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0c9b, 0xa0ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff76, 0xc6c9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c90, 0xd1d3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4eb6, 0xb900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x52b8, 0xbbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc5e7, 0xe807, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbabe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b3, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x089a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffec, 0xf7f8, 0x24a4, 0xa900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3eb0, 0xb400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc8e8, 0xe9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8b, 0xcfd1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c12, 0x9ea2, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe54, 0xb8bc, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c09, 0x9a9f, 0xe7f5, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x53b8, 0xbc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd2ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81ca, 0xcd01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ec3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xe4f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd3ed, 0xee02, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cba, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffab, 0xddde, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7fca, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd0, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0f, 0x9ca1, 0xf4fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7fca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc1e5, 0xe70b, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eb0, 0xb4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e1, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c22, 0xa4a9, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x34ac, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x79c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffce, 0xebec, 0x159f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0a9a, 0x9fee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe1f2, 0xf302, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c39, 0xadb1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf2f3, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ed, 0xed18, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc16, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5e, 0xbcbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbb, 0xe3e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c41, 0xb0b4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x1aa1, 0xa500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c6f, 0xc4c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff3d, 0xafb3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c83, 0xccce, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe2e4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9caa, 0xdcde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcae9, 0xea18, 0xa0a4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ac, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6c, 0xc2c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9caa, 0xdcdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xe4e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1ea2, 0xa6f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x139e, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0xa058, 0xbabd, 0xa2d8, 0xdacd, 0xeaeb, 0xd6ee, 0xefc7, 0xe8e9, 0xa0d8, 0xd96a, 0xc1c4, 0x2aa7, 0xac07, 0x999d, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9e, 0xd7d9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cd9, 0xf0f0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc2, 0xe6e7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb3e0, 0xe10d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7ac9, 0xcbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfed7, 0xeeef, 0xd7ef, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd0, 0xeced, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4fb, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc9, 0xe8ea, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ca0, 0xe7f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd8ef, 0xf0a6, 0xdadc, 0x73c5, 0xc840, 0xb0b4, 0x129e, 0xa200, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x119d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x46b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c68, 0xc0c4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfcd3, 0xedee, 0xa0d8, 0xd96f, 0xc3c6, 0x3eaf, 0xb315, 0x9ea3, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x72c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x43b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7dc9, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9dd8, 0xeff0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xfff6, 0xfbfc, 0xd7ef, 0xefa4, 0xd9db, 0x1da1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x68c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7cc9, 0xcb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xbee4, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf3f3, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x63be, 0xc2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d2, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x5abb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf1fa, 0xfaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffea, 0xf7f7, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xdaf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfb20, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4db6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f5, 0xf609, 0x9a9f, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff4, 0xfbfb, 0x119d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c72, 0xc5c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x42b1, 0xb5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe2c, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca3, 0xd9db, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0x20a4, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa2, 0xa7ee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x20a3, 0xa700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eaf, 0xb3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xeaf7, 0xf7c7, 0xe8e9, 0xa8db, 0xdd91, 0xd2d4, 0x83cb, 0xce7f, 0xc9cc, 0x7ac7, 0xca7f, 0xc9cc, 0x83cb, 0xcd92, 0xd2d5, 0xa9db, 0xddbf, 0xe5e6, 0xddf1, 0xf2f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff63, 0xbfc2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0d9c, 0xa0e9, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3caf, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4cb5, 0xb986, 0xcdcf, 0x84cb, 0xcd81, 0xcacd, 0x79c7, 0xca71, 0xc4c7, 0x6bc2, 0xc565, 0xc0c3, 0x5fbd, 0xc15a, 0xbbbe, 0x56ba, 0xbd54, 0xb9bd, 0x52b8, 0xbc51, 0xb7bb, 0x50b7, 0xba4f, 0xb6ba, 0x4eb6, 0xb94e, 0xb5b9, 0x4db5, 0xb94d, 0xb5b9, 0x4db5, 0xb94e, 0xb5b9, 0x4fb6, 0xba51, 0xb7bb, 0x52b8, 0xbc57, 0xbabd, 0x5cbc, 0xbf65, 0xc0c3, 0x6fc3, 0xc679, 0xc8ca, 0x83cb, 0xce8d, 0xd0d3, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3cae, 0xb2ff, 0xffff, 0xfeff, 0xffd3, 0xedee, 0x78c7, 0xca2c, 0xa8ac, 0x089a, 0x9e01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0497, 0x9c0e, 0x9ca1, 0x2ea9, 0xad61, 0xbec1, 0x9fd7, 0xd9d8, 0xeff0, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa5, 0xdadb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4eb6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5fbd, 0xc000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee1, 0xf3f3, 0x56b9, 0xbc05, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0x25a5, 0xaa67, 0xc0c3, 0xb8e2, 0xe3f9, 0xfdfd, 0xffff, 0xffe4, 0xf4f4, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d3, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x139f, 0xa31d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa2a6, 0x74c6, 0xc8d6, 0xeeef, 0x30a9, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf75b, 0xbbbe, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989e, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0x5dbc, 0xbfa6, 0xd9db, 0xe1f3, 0xf3fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf580, 0xcbcd, 0x1ea2, 0xa701, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e2c, 0xa8ac, 0x6ac1, 0xc4ac, 0xddde, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbae, 0xdddf, 0x48b4, 0xb705, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e37, 0xacb0, 0x76c6, 0xc9b3, 0xdfe1, 0xe8f6, 0xf6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1f, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e2f, 0xa9ae, 0x71c4, 0xc7ae, 0xdddf, 0xe3f3, 0xf4fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e28, 0xa7ab, 0x5ebc, 0xbf96, 0xd3d6, 0xd2ed, 0xeefa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b9, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa3a7, 0x6fc4, 0xc653, 0xb8bc, 0x3cae, 0xb21e, 0xa3a7, 0x0c9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c16, 0x9fa4, 0x49b4, 0xb881, 0xcbcd, 0xb7e1, 0xe2e6, 0xf5f5, 0xfeff, 0xffec, 0xf8f8, 0x109d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9dbc, 0xe3e5, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0xf0f9, 0xfa3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989d, 0x27a6, 0xaa44, 0xb1b6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x59bb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff43, 0xb1b5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6f, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x26a6, 0xaa5a, 0xbbbe, 0xb1df, 0xe0c5, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c32, 0xaaae, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdfe0, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x2da8, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7a, 0xc8ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x2aa7, 0xac00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c49, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x77c7, 0xca00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cad, 0xdddf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd0eb, 0xed17, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c97, 0xd4d6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa5da, 0xdc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x33ab, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4ea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc2, 0xe6e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf6fb, 0xfc8b, 0xcfd1, 0x149f, 0xa300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xa8db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce3, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9a, 0xd5d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf88c, 0xd0d2, 0x2ba7, 0xac01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9f9f, 0xd8d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbfe, 0xfec4, 0xe7e8, 0x6dc2, 0xc624, 0xa5aa, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2d, 0xa8ad, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa0d8, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0xe5f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xd2ec, 0xed8f, 0xd1d3, 0x49b4, 0xb812, 0x9ea2, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c15, 0x9fa3, 0x91d2, 0xd3f6, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8bce, 0xd100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xccea, 0xeb99, 0xd5d7, 0x66c0, 0xc337, 0xacb0, 0x109d, 0xa100, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c21, 0xa4a8, 0x8ace, 0xd1ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9dbf, 0xe4e6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbd5, 0xeeef, 0xa7da, 0xdc7c, 0xc9cb, 0x57ba, 0xbd33, 0xabaf, 0x159f, 0xa306, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9f49, 0xb4b8, 0xa9db, 0xddf8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fb0, 0xb300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xdef1, 0xf2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xf5fb, 0xfbe1, 0xf3f4, 0xc7e8, 0xe9a4, 0xd9db, 0x85cc, 0xcf65, 0xbfc2, 0x46b3, 0xb627, 0xa6aa, 0x159f, 0xa306, 0x999e, 0x0397, 0x9c01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0397, 0x9c1c, 0xa1a6, 0x59bb, 0xbea5, 0xd9dc, 0xe6f5, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x27a6, 0xaadf, 0xf2f3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfced, 0xf8f8, 0xdef1, 0xf2c7, 0xe8e9, 0xb7e0, 0xe2a5, 0xd9db, 0x90d1, 0xd482, 0xcbcd, 0x76c6, 0xc967, 0xc0c3, 0x58bb, 0xbe51, 0xb7ba, 0x4cb4, 0xb844, 0xb2b5, 0x3daf, 0xb33a, 0xaeb2, 0x37ad, 0xb136, 0xacb0, 0x3daf, 0xb247, 0xb2b6, 0x55b9, 0xbd6e, 0xc3c6, 0x8ccf, 0xd2b2, 0xdfe1, 0xddf1, 0xf2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xd1ec, 0xedff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff7b, 0xc8cb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x119d, 0xa2a6, 0xdadc, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe2b, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989d, 0x62be, 0xc1eb, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xa5da, 0xdbfb, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x45b2, 0xb600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c3b, 0xaeb2, 0xc1e5, 0xe7fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe3e4, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d47, 0xb3b7, 0xbee4, 0xe6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfa2a, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c40, 0xb0b4, 0xafde, 0xe0f8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c25, 0xa5a9, 0x88ce, 0xd0e7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff92, 0xd2d4, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0x56b9, 0xbdb0, 0xdee0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9dd6, 0xd806, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa46c, 0xc2c5, 0xbce3, 0xe5f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe8b, 0xcfd2, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c19, 0xa0a5, 0x5fbd, 0xc0b2, 0xdfe1, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe9, 0xf6f7, 0x53b8, 0xbb01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa14a, 0xb4b8, 0x8fd0, 0xd2d0, 0xeced, 0xfbfd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffb, 0xfefe, 0x9ed7, 0xd91a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x1da2, 0xa65e, 0xbdc0, 0x9ad5, 0xd7d2, 0xeded, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xabdc, 0xde33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x19a0, 0xa54a, 0xb4b8, 0x85cc, 0xcfc2, 0xe6e7, 0xedf8, 0xf8fd, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfed7, 0xeff0, 0x7cc8, 0xcb20, 0xa3a7, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0b9a, 0x9f2e, 0xa9ad, 0x5ebd, 0xbf8c, 0xcfd1, 0xb9e2, 0xe3e4, 0xf4f5, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdff, 0xffe5, 0xf4f5, 0xafde, 0xdf70, 0xc3c7, 0x2ea9, 0xad04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0x179f, 0xa43e, 0xafb3, 0x62be, 0xc185, 0xcccf, 0xa3d9, 0xdbbe, 0xe4e5, 0xd1ec, 0xede1, 0xf3f4, 0xebf7, 0xf7ee, 0xf8f8, 0xeef8, 0xf8ed, 0xf8f8, 0xeaf6, 0xf7e0, 0xf3f3, 0xd2ed, 0xeec4, 0xe6e7, 0xafde, 0xdf92, 0xd2d4, 0x71c4, 0xc74b, 0xb4b8, 0x1fa2, 0xa704, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989b, 0x0097, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c06, 0x989d, 0x0899, 0x9e09, 0x999e, 0x099a, 0x9f09, 0x999e, 0x0899, 0x9d06, 0x989d, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x009a, 0x9d00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x007f, 0x7f00, 0x969e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9f00, 0x0000, 0x0000, 0x0000, 0x9a9f, 0x0099, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989c, 0x0094, 0x9f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x9e00, 0x969c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9e00, 0x979b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0098, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999e, 0x0097, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x9900, 0x9a9e, 0x0097, 0x9e00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x989c, 0x0099, 0x9e00, 0x9494, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},Qn={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(new H.FieldImage(e(583),20,20,"*",(()=>{this.showSettingDialog()}))).appendField("TFT").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("bitmap1"),"VAR").appendField(H.Msg.OLED_BITMAP_DATA).appendField(new H.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DEF_BMP_DATA_TOOLTIP)},showSettingDialog:function(){this.userImgSize={width:100,height:100};const x=K.XML.render(K.XML.TEMPLATE_STR.READ_BITMAP_DIV,{btn1Name:"加载",btn2Name:"保存"});this.canvas=Fi()(""),this.ctx=this.canvas[0].getContext("2d"),this.ctx.textAlign="left",this.ctx.textBaseline="top",K.LayerExt.open({title:"图片取模工具",id:"read-bitmap-layer",area:["50%","250px"],max:["500px","250px"],min:["350px","100px"],content:x,borderRadius:"5px",shade:K.LayerExt.SHADE_ALL,success:x=>{Fi()("#read-bitmap-layer").css("overflow","hidden"),this.addEvents(x)}})},addEvents:function(x){x.find("button").click((f=>{switch(Fi()(f.currentTarget).attr("m-id")){case"0":this.loadImg(x);break;case"1":this.writeJson()}}))},loadImg:function(x){K.MFile.openFile(".png,.jpg","url",(f=>{const{data:e}=f,t=new Image;t.src=e,t.onload=()=>{Fi()("#read-bitmap-div-input-img").empty(),Fi()("#read-bitmap-div-input-img").append(t);const f={width:t.naturalWidth,height:t.naturalHeight},i=this.getUserImgSize(x),n=i.width/f.width,s=i.height/f.height;isNaN(f.width)||isNaN(f.height)||(s>n?i.height=parseInt(n*f.height):i.width=parseInt(s*f.width)),this.userImgSize=i,this.imgSize=f;const c=new Image;c.height=i.height,c.width=i.width,c.src=e,c.onload=()=>{const x=Fi()(""),f=x[0].getContext("2d");f.textAlign="left",f.textBaseline="top";const e=window.devicePixelRatio||1;this.canvas[0].width=c.width,this.canvas[0].height=c.height,this.ctx.width=c.width,this.ctx.height=c.height,x[0].width=c.width*e,x[0].height=c.height*e,f.width=c.width*e,f.height=c.height*e,this.ctx.drawImage(c,0,0,c.width,c.height),f.drawImage(c,0,0,c.width*e,c.height*e),Fi()("#read-bitmap-div-output-img").empty(),Fi()("#read-bitmap-div-output-img").append(x)};const a=Fi()("#read-bitmap-div-message"),l="输入尺寸:"+f.width+"×"+f.height+"  输出尺寸:"+i.width+"×"+i.height;a.empty(),a.append(``)}}))},writeJson:function(){const{userImgSize:x={}}=this,{width:f=100,height:e=100}=x,{data:t}=this.ctx.getImageData(0,0,f,e);let i=0,n="";for(let x=0;x>3&31;break;case 2:i=(31&i)<<6,i|=t[x]>>2&63;break;case 3:i=(2047&i)<<5,i|=t[x]>>3&31;break;default:f=i.toString(16);for(let x=4;x>f.length;x--)e+="0";f=e+f,n+="0x"+f+(x===t.length-1?"":","),i=0}(x+1)%400==0&&x!==t.length-1&&(n+="\n ")}this.setFieldValue(n,"TEXT"),this.setTooltip("图片尺寸(宽×高):"+f+"×"+e),hi.msg("保存成功",{time:1e3})},getUserImgSize:function(x){const f=x.find("input"),e={width:100,height:100};for(let x=0;f[x];x++){const t=Fi()(f[x]);switch(t.attr("m-id")){case"0":e.width=parseInt(t.val())??100;break;case"1":e.height=parseInt(t.val())??100}}return e.width>300&&(e.width=300),e.height>300&&(e.height=300),e}},$n={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_POSY).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(H.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_SHOW_BMP_TOOLTIP)}},xs={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_POSY).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_PIXE_TOOLTIP)}},fs={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(H.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(H.Msg.OLED_END_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_LINE_TOOLTIP)}},es={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(H.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(qi),"TYPE"),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ts={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_TRIANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(H.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(H.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(H.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(H.Msg.OLED_D2_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},is={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ns={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ss={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(fn),"OPT"),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},cs={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(H.Msg.set_EN_Font).appendField(new H.FieldDropdown(tn),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(an),"FONT_SIZE"),this.appendDummyInput("").appendField(H.Msg.Font_Style).appendField(new H.FieldDropdown(ln),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},as={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(H.Msg.set_CN_Font).appendField(new H.FieldDropdown(dn),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(pn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},ls={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new H.FieldDropdown(rn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(H.Msg.OLED_ICON).appendField(new H.FieldDropdown(on),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},ds={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_print_tooltip)}},ps={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_print_tooltip)}},os=gi,us={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SETUP).appendField("CLK").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"CLK").appendField("DIO").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(K.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},rs={init:function(){this.setColour(Ai),this.appendValueInput("VALUE").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP1)}},_s={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"(0x80 >> 1)"],[H.Msg.MIXLY_OFF,"(0x80 >> 2)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},Fs={init:function(){this.setColour(Ai),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},hs={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(new H.FieldDropdown([[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},As={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_BEGIN).appendField(new H.FieldDropdown([[H.Msg.MIXLY_ETHERNET,"Ethernet"],[H.Msg.MIXLY_ETHERNET2,"Ethernet2"]]),"Ethernet"),this.appendValueInput("MAC").setCheck(Array).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_ETHERNET_MAC_ADDRESS),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_INIT)}},Is={init:function(){this.setColour(0),this.appendDummyInput().appendField(new H.FieldTextInput("DE"),"VAR1").appendField("-").appendField(new H.FieldTextInput("AD"),"VAR2").appendField("-").appendField(new H.FieldTextInput("BE"),"VAR3").appendField("-").appendField(new H.FieldTextInput("EF"),"VAR4").appendField("-").appendField(new H.FieldTextInput("FE"),"VAR5").appendField("-").appendField(new H.FieldTextInput("ED"),"VAR6"),this.setOutput(!0,Array),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_MACADDRESS)}},gs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_LOCALIP),this.setOutput(!0,"IPAddress"),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_LOCALIP)}},Ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_CONNECT_SERVER).appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput("mixly.org"),"SERVER").appendField(this.newQuote_(!1)),this.appendValueInput("PORT").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECT)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new H.FieldImage(f,12,12,'"')}},Es={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_STOP)}},Cs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_CONNECTED),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECTED)}},Ms={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_AVAILABLE),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_AVAILABLE)}},ms={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINT)}},Os={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINTLN)}},Rs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_READ),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_READ)}},Ss={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_URL).appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput(""),"URL").appendField(this.newQuote_(!1)),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_SERVER).appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput(""),"SERVER").appendField(this.newQuote_(!1)),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_GET_REQUEST)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new H.FieldImage(f,12,12,'"')}},Ds={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.NTP_SERVER),this.appendValueInput("server_add").appendField(H.Msg.blynk_SERVER_ADD).setCheck(String),this.appendValueInput("timeZone").appendField(H.Msg.MIXLY_TimeZone).setCheck(Number),this.appendValueInput("Interval").appendField(H.Msg.blynk_WidgetRTC_setSyncInterval).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Ls=[[H.Msg.MIXLY_YEAR,"NTP.getDateYear()"],[H.Msg.MIXLY_MONTH,"NTP.getDateMonth()"],[H.Msg.MIXLY_DAY,"NTP.getDateDay()"],[H.Msg.MIXLY_HOUR,"NTP.getTimeHour24()"],[H.Msg.MIXLY_MINUTE,"NTP.getTimeMinute()"],[H.Msg.MIXLY_SECOND,"NTP.getTimeSecond()"],[H.Msg.MIXLY_WEEK,"NTP.getDateWeekday()"]];const Ns={init:function(){this.setColour(0),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.NTP_server_get_time),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldDropdown(Ls),"TIME_TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ps={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new H.FieldImage(e(93),20,20)).appendField(H.Msg.MQTT_SERVER),this.appendValueInput("server_add").appendField(H.Msg.MQTT_SERVER_ADD).setCheck(String),this.appendValueInput("server_port").appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT).setCheck(Number),this.appendValueInput("IOT_ID").appendField(H.Msg.MIXLY_EMQX_USERNAME).setCheck(String),this.appendValueInput("IOT_PWD",String).appendField(H.Msg.HTML_PASSWORD).setCheck([String,Number]),this.appendValueInput("Client_ID").appendField(H.Msg.MQTT_Client_ID).setCheck(String),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},ys={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new H.FieldImage(e(93),20,20)).appendField(H.Msg.MIXLY_NETWORK_INIT),this.appendValueInput("SSID").appendField(H.Msg.HTML_NAME),this.appendValueInput("PWD").appendField(H.Msg.HTML_PASSWORD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},bs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(H.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(H.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},vs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ws={init:function(){this.setColour(0),this.appendDummyInput(),this.appendDummyInput("").appendField(H.Msg.MIXLY_GET+H.Msg.MIXLY_DEVICE).appendField(new H.FieldDropdown([["MAC","MAC"],["IP","IP"]]),"mode").appendField(H.Msg.MQTT_SERVER_ADD),this.setOutput(!0),this.setInputsInline(!0)}},Ys={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.MQTT_connect),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}};var Vs=function(x){return x.replace(/\//g,"")};const ks={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new H.FieldImage(e(93),20,20)).appendField(H.Msg.MQTT_publish),this.appendValueInput("data"),this.appendDummyInput("").appendField(H.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.appendDummyInput().appendField(H.Msg.MQTT_Topic).appendField(new H.FieldTextInput("Topic",Vs),"Topic"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},Xs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MQTT_Topic).appendField(new H.FieldTextInput("Topic_0",Vs),"Topic_0"),this.appendDummyInput("").appendField(H.Msg.HTML_VALUE),this.setInputsInline(!0),this.setOutput(!0,String)}},Gs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MQTT_Topic),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Bs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(H.Msg.MQTT_Topic+H.Msg.MQTT_subscribe2).appendField(new H.FieldTextInput("Topic_0",Vs),"Topic_0"),this.appendStatementInput("DO0").appendField(H.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new H.icons.MutatorIcon(["MQTT_add_subscribe_topic"],this));var x=this;this.setTooltip((function(){return x.elseifCount_?x.elseifCount_?H.Msg.CONTROLS_IF_TOOLTIP_3:void 0:H.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),x},domToMutation:function(x){for(var f=this,e=[],t=this.elseifCount_;t>0;t--)this.removeInput("DummyInput"+t),f.getInputTargetBlock("DO"+t)&&f.getInputTargetBlock("DO"+t).previousConnection?e[t]=f.getInputTargetBlock("DO"+t).previousConnection:e[t]=null,this.removeInput("DO"+t);this.elseifCount_=parseInt(x.getAttribute("elseif"),10);for(t=1;t<=this.elseifCount_;t++)this.appendDummyInput("DummyInput"+t).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(H.Msg.MQTT_Topic+H.Msg.MQTT_subscribe2).appendField(new H.FieldTextInput("Topic_"+t,Vs),"Topic_"+t),this.appendStatementInput("DO"+t).appendField(H.Msg.CONTROLS_IF_MSG_THEN);for(t=e.length-2;t>0;t--)e[t]&&e[t]&&e[t].reconnect(this,"DO"+t)},decompose:function(x){var f=x.newBlock("mqtt_topics_set");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("MQTT_add_subscribe_topic");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}return f},compose:function(x){for(var f=this.elseifCount_;f>0;f--)this.removeInput("DummyInput"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null];e;){if("MQTT_add_subscribe_topic"!==e.type)throw Error("Unknown block type: "+e.type);this.elseifCount_++,t.push(e.statementConnection_),e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){if("MQTT_add_subscribe_topic"!==f.type)throw"Unknown block type.";var t=this.getInput("DO"+e);f.statementConnection_=t&&t.connection.targetConnection,e++,f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){for(var x=[null],f=1;this.getInput("DummyInput"+f);){var e=this.getInput("DO"+f);x.push(e.connection.targetConnection),f++}this.updateShape_(),this.reconnectChildBlocks_(x)},updateShape_:function(){for(var x=1;this.getInput("DummyInput"+x);)this.removeInput("DummyInput"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendDummyInput("DummyInput"+x).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(H.Msg.MQTT_Topic+H.Msg.MQTT_subscribe2).appendField(new H.FieldTextInput("Topic_"+x,Vs),"Topic_"+x),this.appendStatementInput("DO"+x).appendField(H.Msg.CONTROLS_IF_MSG_THEN)},reconnectChildBlocks_:function(x){for(var f=1;f<=this.elseifCount_;f++)x[f]&&x[f].reconnect(this,"DO"+f)}},Us={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_EMQX_SUBSCRIBE+H.Msg.MQTT_Topic),this.appendStatementInput("STACK"),this.contextMenu=!1}},Ws={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(H.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(H.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Hs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.blynk_smartconfig).appendField(new H.FieldDropdown([["SmartConfig","SmartConfig"],["AP","AP"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MQTT_TEST_TOOLTIP)}},Ks={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField(H.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+":").appendField(new H.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.appendValueInput("SSID").setCheck(null).appendField("WIFI "+H.Msg.HTML_NAME),this.appendValueInput("PSK").setCheck(null).appendField("WIFI "+H.Msg.HTML_PASSWORD),this.appendValueInput("IP1").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(H.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Zs={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField(H.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+": AP+STA"),this.appendValueInput("SSID1").setCheck(null).appendField("WIFI "+H.Msg.HTML_NAME+"(STA)"),this.appendValueInput("SSID2").setCheck(null).appendField("WIFI "+H.Msg.HTML_NAME+"(AP)"),this.appendValueInput("PSK1").setCheck(null).appendField("WIFI "+H.Msg.HTML_PASSWORD+"(STA)"),this.appendValueInput("PSK2").setCheck(null).appendField("WIFI "+H.Msg.HTML_PASSWORD+"(AP)"),this.appendValueInput("IP1").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(H.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},zs={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField(H.Msg.CONTROLS_IF_MSG_IF+" WIFI UDP "+H.Msg.MIXLY_STM32_SPI_DATA_RECEIVED+"?"),this.appendValueInput("input_data").setCheck(null).appendField(H.Msg.PROCEDURES_CALL_BEFORE_PARAMS),this.appendDummyInput().appendField("("+H.Msg.LANG_MATH_STRING+")"),this.appendStatementInput("do").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},js={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField("WIFI UDP "+H.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},Js={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.WeatherGet).appendField(new H.FieldTextInput("北京"),"data").appendField("1","check"),this.setOutput(!0,Boolean),this.setTooltip("输入正确的城市名(不用带“市”字)如:深圳 北京 广州,如果错误会显示'error'刷新成功则返回true\n天气接口优化注意:\n1. 接口每 8 小时更新一次,机制是 CDN 缓存 8 小时更新一次。注意:自己做缓存。\n2. 接口采用城市 ID 来精准查询请求,省份不能直接查询天气。\n3.每分钟阈值为 300 次,如果超过会禁用一天。请谨慎使用。")}},qs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.WeatherGetToday).appendField(new H.FieldDropdown([[H.Msg.MIXLY_Humidity,"0"],["PM2.5","1"],["PM1.0","2"],[H.Msg.TodayQuality,"3"],[H.Msg.MIXLY_TEMPERATURE,"4"]]),"type"),this.setOutput(!0,Number),this.setTooltip("返回对应数据 字符串型。")}},Qs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.WeatherGetForecast).appendField(new H.FieldDropdown([[H.Msg.MIXLY_GPS_DATE,"ForecastDate"],[H.Msg.ForecastHigh,"ForecastHigh"],[H.Msg.ForecastLow,"ForecastLow"],[H.Msg.ForecastYmd,"ForecastYmd"],[H.Msg.MIXLY_WEEK,"ForecastWeek"],[H.Msg.ForecastAqi,"ForecastAqi"],[H.Msg.ForecastFx,"ForecastFx"],[H.Msg.ForecastFl,"ForecastFl"],[H.Msg.ForecastType,"ForecastType"]]),"type"),this.appendValueInput("date",Number).appendField(H.Msg.MIXLY_GPS_DATE+"(0~14)"),this.setOutput(!0,Number),this.setTooltip("返回预报天气内容0表示当天,最大为14,字符串型。"),this.setInputsInline(!0)}},$s={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("server").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendValueInput("port").setCheck(null).appendField(H.Msg.MIXLY_EMQX_PORT),this.appendValueInput("mqtt_username").setCheck(null).appendField(H.Msg.MIXLY_WIFI_USERNAME),this.appendValueInput("mqtt_password").setCheck(null).appendField(H.Msg.MIXLY_WIFI_PASSWORD),this.appendValueInput("project").setCheck(null).appendField(H.Msg.MIXLY_EMQX_PROJECT),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},xc={init:function(){this.appendDummyInput().appendField(H.Msg.USE_MIXLY_KEY).appendField(new H.FieldTextInput("1RFOH08C"),"key").appendField(H.Msg.CONNECT_TO_MIXIO).appendField(H.Msg.blynk_SERVER_ADD).appendField(new H.FieldTextInput("mixio.mixly.cn"),"server"),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},fc={init:function(){this.appendValueInput("data").setCheck(null).appendField(H.Msg.MQTT_SEND_MESSAGE),this.appendValueInput("topic").setCheck(null).appendField(H.Msg.TO_TOPIC),this.appendDummyInput().appendField(new H.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},ec={init:function(){this.appendValueInput("topic").setCheck(null).appendField(H.Msg.WHEN_THE_SUBJECT_IS_RECEIVED),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_MSG).appendField(new H.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.appendStatementInput("function").setCheck(null),this.setPreviousStatement(!1,null),this.setNextStatement(!1,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},tc={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(145),15,15,{alt:"*",flipRtl:"FALSE"})).appendField("ElegantOTA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("http://ip/update"),this.setHelpUrl("")}},ic="#777777",nc={init:function(){this.setColour(ic),this.appendDummyInput("").appendField("#include <").appendField(new H.FieldTextInput("Test"),"INCLUDE").appendField(".h>"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sc={init:function(){this.setColour(ic),this.appendDummyInput("").appendField(new H.FieldTextInput("function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new H.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var x=document.createElement("mutation");x.setAttribute("items",this.itemCount_);for(var f=0;f0&&x","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ua),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new H.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{EQ:H.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:H.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:H.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:H.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:H.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:H.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[x]})),this.prevBlocks_=[null,null]}},_a={init:function(){var x=[[H.Msg.LOGIC_OPERATION_AND,"AND"],[H.Msg.LOGIC_OPERATION_OR,"OR"]];this.setColour(ua),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new H.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{AND:H.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:H.Msg.LOGIC_OPERATION_TOOLTIP_OR}[x]}))}},Fa={init:function(){this.setColour(ua),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(H.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(H.Msg.LOGIC_NEGATE_TOOLTIP)}},ha={init:function(){var x=[[H.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[H.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ua),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new H.FieldDropdown(x),"BOOL"),this.setTooltip(H.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Aa={init:function(){this.setColour(ua),this.setOutput(!0),this.appendDummyInput().appendField(H.Msg.LOGIC_NULL),this.setTooltip(H.Msg.LOGIC_NULL_TOOLTIP)}},Ia={init:function(){this.setColour(ua),this.appendValueInput("A"),this.appendValueInput("B").appendField(H.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(H.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},ga=230;H.FieldTextInput.math_number_validator=function(x){return String(x)};const Ta={init:function(){this.setColour(ga),this.appendDummyInput().appendField(new H.FieldTextInput("0",H.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(H.Msg.MATH_NUMBER_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id2")}},Ea={init:function(){var x=[[H.Msg.MATH_ADDITION_SYMBOL,"ADD"],[H.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[H.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[H.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[H.Msg.MATH_QUYU_SYMBOL,"QUYU"],[H.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setColour(ga),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(null),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id4"),this.appendValueInput("B").setCheck(null).appendField(new H.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{ADD:H.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:H.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:H.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:H.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:H.Msg.MATH_MODULO_TOOLTIP,POWER:H.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[x]}))}},Ca={init:function(){this.setColour(ga),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new H.FieldDropdown([["&","&"],["|","|"],["xor","^"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id8")}},Ma={init:function(){this.setColour(ga),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new H.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"],["++","++"],["--","--"],["~","~"]]),"OP");var x=this;this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id17"),this.setTooltip((function(){var f=x.getFieldValue("OP");return{SIN:H.Msg.MATH_TRIG_TOOLTIP_SIN,COS:H.Msg.MATH_TRIG_TOOLTIP_COS,TAN:H.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:H.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:H.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:H.Msg.MATH_TRIG_TOOLTIP_ATAN}[f]}))}},ma={init:function(){var x=[[H.Msg.LANG_MATH_TO_ROUND,"round"],[H.Msg.LANG_MATH_TO_CEIL,"ceil"],[H.Msg.LANG_MATH_TO_FLOOR,"floor"],[H.Msg.MATH_ABS,"abs"],[H.Msg.MATH_SQ,"sq"],[H.Msg.MATH_SQRT,"sqrt"]];this.setColour(ga),this.appendValueInput("A").setCheck(Number).appendField(new H.FieldDropdown(x),"OP"),this.setOutput(!0,Number),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id18");var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{sqrt:H.Msg.MATH_SINGLE_TOOLTIP_ROOT,abs:H.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:H.Msg.MATH_SINGLE_TOOLTIP_SQ,log:H.Msg.MATH_SINGLE_TOOLTIP_LN,round:H.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:H.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:H.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[x]}))}},Oa={init:function(){var x=[[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[H.Msg.LANG_MATH_WORD,"word"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_DOUBLE,"double"],[H.Msg.LANG_MATH_BOOLEAN,"boolean"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[H.Msg.LANG_MATH_STRING,"String"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];this.appendDummyInput().appendField(new H.FieldDropdown(x),"variate_type"),this.setOutput(!0,null),this.setColour(ga),this.setTooltip(""),this.setHelpUrl("")}},Ra={init:function(){this.appendValueInput("data").setCheck(null).appendField(H.Msg.MIXLY_GET+" "+H.Msg.MIXLY_I2C_BYTES),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(ga),this.setTooltip(""),this.setHelpUrl("")}},Sa={init:function(){var x=[[H.Msg.MIXLY_MAX,"max"],[H.Msg.MIXLY_MIN,"min"]];this.setColour(ga),this.appendValueInput("A").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldDropdown(x),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#min-max"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{max:H.Msg.MIXLY_TOOLTIP_MATH_MAX,min:H.Msg.MIXLY_TOOLTIP_MATH_MIN}[x]}))}},Da={init:function(){this.setColour(ga),this.appendValueInput("NUM").setCheck(Number).appendField(H.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#randomseed")}},La={init:function(){this.setColour(ga),this.setOutput(!0,Number),this.appendValueInput("FROM").setCheck(Number).appendField(H.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0),this.setTooltip(H.Msg.MATH_RANDOM_INT_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#random")}},Na={init:function(){this.setColour(ga),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(H.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(H.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(H.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(H.Msg.MATH_CONSTRAIN_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#constrain")}},Pa={init:function(){this.setColour(ga),this.appendValueInput("NUM",Number).appendField(H.Msg.MIXLY_MAP).appendField(new H.FieldDropdown([[H.Msg.LANG_MATH_INT,"map_int"],[H.Msg.LANG_MATH_FLOAT,"map_float"]]),"maptype").setCheck(Number),this.appendValueInput("fromLow",Number).appendField(H.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(H.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_MATH_MAP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#map")}},ya={init:function(){this.setColour(ga),this.appendValueInput("variables").setCheck(null),this.appendValueInput("data").setCheck(null).appendField(new H.FieldDropdown([["+=","+"],["-=","-"],["*=","*"],["/=","/"]]),"type"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl("")}},ba={init:function(){this.appendValueInput("math_auto_add_minus_output").setCheck(null),this.appendDummyInput().appendField(new H.FieldDropdown([["++","++"],["--","--"]]),"math_auto_add_minus_type"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ga),this.setTooltip(""),this.setHelpUrl("")}},va=230,wa={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.digital),"PIN"),this.setOutput(!0,Number)}},Ya={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.analog),"PIN"),this.setOutput(!0,Number)}},Va={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.pwm),"PIN"),this.setOutput(!0,Number)}},ka={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.interrupt),"PIN"),this.setOutput(!0,Number)}},Xa={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.MOSI),"PIN"),this.setOutput(!0,Number)}},Ga={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.MISO),"PIN"),this.setOutput(!0,Number)}},Ba={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.SCK),"PIN"),this.setOutput(!0,Number)}},Ua={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},Wa={init:function(){this.setColour(va),this.appendDummyInput("").appendField(new H.FieldDropdown(K.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},Ha=290,Ka={init:function(){var x=H.Procedures.findLegalName("",this),f=new H.FieldTextInput(x,H.Procedures.rename);f.setSpellcheck(!1),this.appendDummyInput().appendField(H.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(f,"NAME").appendField("","PARAMS"),this.setMutator(new H.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&H.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(H.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(H.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(H.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentstype_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(x){this.hasStatements_!==x&&(x?(this.appendStatementInput("STACK").appendField(H.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=x)},updateParams_:function(){var x="";this.arguments_.length&&(x=H.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),H.Events.disable();try{this.setFieldValue(x,"PARAMS")}finally{H.Events.enable()}},mutationToDom:function(x){var f=H.utils.xml.createElement("mutation");x&&f.setAttribute("name",this.getFieldValue("NAME"));for(var e=0;e1&&"\\"===x.charAt(0)){var f=x.charAt(1);if("0"===f||"b"===f||"f"===f||"n"===f||"r"===f||"t"===f||"\\"===f||"'"===f)return String(x).substring(0,2);if("x"===f&&"0"===x.charAt(2)&&"B"===x.charAt(3))return String(x).substring(0,4)}return String(x).substring(0,1)};const zd={init:function(){this.setColour(Kd),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput("",H.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(H.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(x){if(1==x)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKlJREFUGNNVkD0LwkAMhlNsnUvBH+DmKnXoeODgWgXBsaOj+AGuVfTys8318l7OTA/hTe7JEWmVNwekA/fAHfNSsVoxew0/mfkbeSvo6wkLSbx0tJH2XdPS/pClsfxs7TA5WOQNl5M9X3bMF8RlS608z+JhFOZNMowybftw4GDvjHmTsc84PJJ4iPbgWcZVxuEUMHXKvS2dZHVgxJHpV4qr4Brei+Oe/usHT1JfDpNGeM0AAAAASUVORK5CYII=";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKpJREFUGNNV0bEKAjEMBuActOd6KIKrg+h4cII3Cg6u5yA6Ot4DONxcUfPYJmnaxn/6KEmaUoD/LK+XxAUibhuhR85bvBLjQHR99DqXIL7ItTo0xdyQ3RrvjWlQZQyT8cnYjcXgbl2XzBmNe5kv4WUfar6kUc9o56N6nh4Zy1NrHZ8iuSN+lB5LCR0HnXIuy/hd7qymUs3bf7WajsNQrn9CHr7Jn+IOaUH4ATxJW2wDnL5kAAAAAElFTkSuQmCC";return new H.FieldImage(f,7,12,'"')}},jd={init:function(){this.setColour(Kd),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(H.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Jd={init:function(){var x=[[H.Msg.MIXLY_TO_INT,"toInt"],[H.Msg.MIXLY_TO_FLOAT,"toFloat"]];this.setColour(Kd),this.appendValueInput("VAR").setCheck([String,Number]).appendField(new H.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("TOWHAT");return{toInt:H.Msg.MIXLY_TOOLTIP_TEXT_TOINT,toFloat:H.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[x]}))}},qd={init:function(){this.setColour(Kd),this.appendValueInput("VAR").setCheck(Number).appendField(H.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Qd={init:function(){this.setColour(Kd),this.appendDummyInput().appendField(H.Msg.MIXLY_TOASCII).appendField("'").appendField(new H.FieldTextInput("",H.FieldTextInput.char_validator),"TEXT").appendField("'"),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},$d={init:function(){var x=[[H.Msg.MATH_BIN,"BIN"],[H.Msg.MATH_OCT,"OCT"],[H.Msg.MATH_DEC,"DEC"],[H.Msg.MATH_HEX,"HEX"]];this.setColour(Kd),this.appendValueInput("VAR").setCheck(Number).appendField(H.Msg.MIXLY_TOSTRING).appendField(new H.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},xp={init:function(){this.setColour(Kd),this.appendValueInput("VAR").setCheck(Number).appendField(H.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},fp={init:function(){this.setColour(Kd),this.appendValueInput("VAR").appendField(H.Msg.MIXLY_LENGTH).setCheck(String),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ep={init:function(){this.setColour(Kd),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").appendField(H.Msg.TEXT_CHARAT).setCheck(Number),this.appendDummyInput().appendField(H.Msg.TEXT_CHARAT2),this.setOutput(!0,Number),this.setInputsInline(!0);var x=this;this.setTooltip((function(){return H.Msg.MIXLY_TOOLTIP_TEXT_FIND_CHAR_AT.replace("%1",H.Arduino.valueToCode(x,"VAR",H.Arduino.ORDER_ATOMIC))}))}},tp={init:function(){var x=[[H.Msg.MIXLY_EQUALS,"equals"],[H.Msg.MIXLY_STARTSWITH,"startsWith"],[H.Msg.MIXLY_ENDSWITH,"endsWith"]];this.setColour(Kd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(new H.FieldDropdown(x),"DOWHAT").setCheck([String,Number]),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("DOWHAT"),e={equals:H.Msg.MIXLY_EQUALS,startsWith:H.Msg.MIXLY_STARTSWITH,endsWith:H.Msg.MIXLY_ENDSWITH};return H.Msg.MIXLY_TOOLTIP_TEXT_EQUALS_STARTS_ENDS.replace("%1",e[x]).replace("%2",H.Arduino.valueToCode(f,"STR2",H.Arduino.ORDER_ATOMIC))}))}},ip={init:function(){this.setColour(Kd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(H.Msg.MIXLY_COMPARETO).setCheck([String,Number]),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_COMPARETO_HELP)}},np={init:function(){this.setColour(Kd),this.appendValueInput("numeral").setCheck(null).appendField(H.Msg.LANG_MATH_FLOAT),this.appendValueInput("decimal_places").setCheck(null).appendField(H.Msg.TEXT_KEEP),this.appendDummyInput().appendField(H.Msg.TEXT_DECIMAL),this.setOutput(!0,null),this.setTooltip(H.Msg.DECIMAL_PLACES_HELP),this.setHelpUrl("")}},sp={init:function(){this.appendValueInput("name").setCheck(null),this.appendValueInput("Start").setCheck(null).appendField(H.Msg.LISTS_GET_INDEX_GET),this.appendValueInput("end").setCheck(null).appendField(H.Msg.TEXT_TO),this.appendDummyInput().appendField(H.Msg.LANG_MATH_STRING),this.setOutput(!0,null),this.setColour(Kd),this.setTooltip(H.Msg.SUBSTRING_HELP),this.setHelpUrl("")}},cp={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(H.Msg.LETTERS_ARE_CONVERTED_TO).appendField(new H.FieldDropdown([[H.Msg.CAPITAL,".toUpperCase()"],[H.Msg.LOWER_CASE,".toLowerCase()"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Kd),this.setTooltip(H.Msg.LETTER_CONVERSION_HELP),this.setHelpUrl("")}},ap={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.STRING_VARIABLE),this.appendValueInput("source_data").setCheck(null).appendField(H.Msg.LANG_MATH_STRING),this.appendValueInput("replace").setCheck(null).appendField(H.Msg.REPLACE_WITH),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Kd),this.setTooltip(H.Msg.DATA_REPLACEMENT_HELP),this.setHelpUrl("")}},lp={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(H.Msg.ELIMINATE_NON_VISUAL_CHARACTERS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Kd),this.setTooltip(H.Msg.ELIMINATE_HELP),this.setHelpUrl("")}},dp={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.LANG_MATH_STRING),this.appendValueInput("String1").setCheck(null).appendField(H.Msg.AS_A_STRING),this.appendDummyInput().appendField(new H.FieldDropdown([[H.Msg.STARTSWITH,".startsWith"],[H.Msg.ENDSWITH,".endsWith"]]),"type"),this.setOutput(!0,null),this.setColour(Kd),this.setTooltip(H.Msg.FIRST_AND_LAST_HELP),this.setHelpUrl("")}},pp={init:function(){this.appendValueInput("variable").setCheck(null).appendField(H.Msg.DATA_TYPE_CONVERSION).appendField(new H.FieldDropdown([[H.Msg.LANG_MATH_STRING,"String"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_WORD,"word"]]),"type"),this.setOutput(!0,null),this.setColour(Kd),this.setTooltip(H.Msg.TYPE_CONVERSION_HELP),this.setHelpUrl("")}},op={init:function(){this.setColour(Kd),this.appendDummyInput().appendField(H.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},up={init:function(){this.setColour(Kd),this.appendDummyInput().appendField(H.Msg.HTML_TEXT),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},rp={init:function(){this.appendValueInput("str1").setCheck(null),this.appendDummyInput().setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.PROCEDURES_DEFRETURN_RETURN),this.appendValueInput("str2").setCheck(null),this.appendDummyInput().setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.SERIES_INDEX),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(160),this.setTooltip(),this.setHelpUrl("")}},_p={init:function(){this.setColour(Kd),this.appendDummyInput("").appendField(H.Msg.MIXLY_TEXT_JOIN+H.Msg.MIXLY_MICROBIT_TYPE_STRING),this.itemCount_=3,this.updateShape_(),this.setInputsInline(!0),this.setOutput(!0,null),this.setMutator(new H.icons.MutatorIcon(["create_with_item"],this)),this.setTooltip("")},mutationToDom:function(){var x=H.utils.xml.createElement("mutation");return x.setAttribute("items",this.itemCount_),x},domToMutation:function(x){this.itemCount_=parseInt(x.getAttribute("items"),10),this.updateShape_()},decompose:function(x){var f=x.newBlock("create_with_container");f.initSvg();for(var e=f.getInput("STACK").connection,t=0;t0&&(f.setAlign(H.inputs.Align.RIGHT),f.appendField("+"))}}},Fp={init:function(){this.appendDummyInput().appendField(H.Msg.ARDUINOJSON_STRING_PARSING),this.appendDummyInput("").appendField(new H.FieldMultilineInput('const size_t capacity = JSON_ARRAY_SIZE(3) + 10;\nDynamicJsonBuffer jsonBuffer(capacity);\nconst char* json = "[\\"0\\",\\"74\\",\\"134\\"]";\nJsonArray& root = jsonBuffer.parseArray(json);\nconst char* root_0 = root[0]; // "0"\nconst char* root_1 = root[1]; // "74"\nconst char* root_2 = root[2]; // "134"'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(120),this.setTooltip(H.Msg.ARDUINOJSON_STRING_PARSING1),this.setHelpUrl("https://arduinojson.org/v5/assistant/")}},hp={init:function(){this.appendValueInput("data").setCheck(null).appendField(H.Msg.MIXLY_MICROBIT_TYPE_STRING+H.Msg.A_TO_B+H.Msg.LANG_MATH_LONG).appendField(new H.FieldDropdown([[H.Msg.MATH_HEX,"16"],[H.Msg.MATH_DEC,"10"],[H.Msg.MATH_OCT,"8"],[H.Msg.MATH_BIN,"2"],[H.Msg.blynk_IOT_AUTO,"0"]]),"type"),this.setOutput(!0,null),this.setColour(Kd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/lizhengze1117/article/details/103318662?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base")}},Ap="#555555",Ip={init:function(){this.setColour(Ap),this.appendDummyInput("").appendField(H.Msg.MIXLY_CONTROL_NOTES).appendField(new H.FieldMultilineInput(""),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gp={init:function(){this.setColour(Ap),this.appendDummyInput().appendField(new H.FieldTextInput(H.Msg.FOLDING_BLOCK),"peien"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.FOLDING_BLOCK_HELP)}},Tp={init:function(){this.setColour(Ap),this.appendDummyInput("").appendField(H.Msg.IICSCAN),this.setInputsInline(!0),this.setTooltip("")}},Ep={init:function(){this.setColour(260),this.appendDummyInput("").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("mylist"),"VAR").appendField("[").appendField(new H.FieldTextInput("3"),"x").appendField("]"),this.appendDummyInput("").appendField(H.Msg.SAVETO+" flash").appendField(new H.FieldCheckbox("true"),"save_hz"),this.appendValueInput("input_data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Cp={init:function(){this.appendDummyInput().appendField("点阵格式").appendField(new H.FieldDropdown([["阴码","1"],["阳码","2"]]),"bitmap_formats").appendField(" 取模方式").appendField(new H.FieldDropdown([["逐列式","1"],["逐行式","2"],["列行式","3"],["行列式","4"]]),"modulus_way").appendField(" 取模走向").appendField(new H.FieldDropdown([["顺向(高位在前)","1"],["逆向(低位在前)","2"]]),"modulus_direction"),this.appendDummyInput().appendField(H.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new H.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"]]),"hz_sharp").appendField(H.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new H.FieldTextInput("16"),"hz_line_height").appendField("px").appendField(H.Msg.MIXLY_WIDTH).appendField(new H.FieldTextInput("16"),"bitmap_width").appendField("px "+H.Msg.MIXLY_HEIGHT).appendField(new H.FieldTextInput("16"),"bitmap_height").appendField("px"),this.appendDummyInput().appendField("输入数据").appendField(new H.FieldTextInput(""),"input_data"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(180),this.setTooltip(""),this.setHelpUrl("")}},Mp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(260),525,372,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},mp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(573),525,368,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},Op={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(408),525,736,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},Rp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(998),525,371,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},Sp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(59),525,371,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},Dp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(617),525,376,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},Lp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(591),525,376,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},Np={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(517),500,376,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},Pp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(906),500,350,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},yp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(877),525,346,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},bp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(491),525,264,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl()}},vp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(537),525,376,"*")),this.setColour(Ap),this.setTooltip(),this.setHelpUrl("https://blog.csdn.net/xatsoft/article/details/90687016?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase")}},wp={init:function(){this.appendDummyInput().appendField(H.Msg.GET_THE_DIFFERENCE_BETWEEN_TWO_DATES),this.appendValueInput("year_start").setCheck(null).appendField(H.Msg.START+H.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_start").setCheck(null).appendField(H.Msg.START+H.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_start").setCheck(null).appendField(H.Msg.START+H.Msg.MIXLY_GPS_DATE_DAY),this.appendValueInput("year_end").setCheck(null).appendField(H.Msg.END+H.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_end").setCheck(null).appendField(H.Msg.END+H.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_end").setCheck(null).appendField(H.Msg.END+H.Msg.MIXLY_GPS_DATE_DAY),this.setOutput(!0,null),this.setColour(Ap),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/a_ran/article/details/43601699?utm_source=distribute.pc_relevant.none-task")}};var Yp=[["D0","16"],["D1","5"],["D2","4"],["D3","0"],["D4","2"],["D5","14"],["D6","12"],["D7","13"],["D8","15"],["RX","3"],["TX","1"],["A0","A0"],["SD3","10"],["SD2","9"]];const Vp={init:function(){this.appendDummyInput().appendField("ESP8266 GPIO").appendField(new H.FieldDropdown(Yp),"pin"),this.setOutput(!0,null),this.setColour(Ap),this.setTooltip(""),this.setHelpUrl("")}},kp=330;var Xp=[[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[H.Msg.LANG_MATH_WORD,"word"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_DOUBLE,"double"],[H.Msg.LANG_MATH_BOOLEAN,"boolean"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[H.Msg.LANG_MATH_STRING,"String"],["char*","char*"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];const Gp={init:function(){this.setColour(kp),this.appendValueInput("VALUE",null).appendField(H.Msg.MIXLY_DECLARE).appendField(new H.FieldDropdown([[H.Msg.MIXLY_GLOBAL_VARIABLE,"global_variate"],[H.Msg.MIXLY_LOCAL_VARIABLE,"local_variate"]]),"variables_type").appendField(new H.FieldTextInput("item"),"VAR").appendField(H.Msg.MIXLY_AS).appendField(new H.FieldDropdown(Xp),"TYPE").appendField(H.Msg.MIXLY_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_VARIABLES_DECLARE)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){H.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Bp={init:function(){this.setColour(kp),this.appendDummyInput().appendField(new H.FieldTextInput("item"),"VAR"),this.setOutput(!0),this.setTooltip(H.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){H.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Up={init:function(){this.setColour(kp),this.appendValueInput("VALUE").appendField(new H.FieldTextInput("item"),"VAR").appendField(H.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){H.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Wp={init:function(){this.setColour(kp);var x=[[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[H.Msg.LANG_MATH_WORD,"word"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_DOUBLE,"double"],[H.Msg.LANG_MATH_BOOLEAN,"boolean"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[H.Msg.LANG_MATH_STRING,"String"]];this.appendValueInput("MYVALUE").appendField(new H.FieldDropdown(x),"OP"),this.setOutput(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_VARIABLES_CHANGE)}},Hp=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),i=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".write("+t+");\ndelay("+i+");\n"},Kp=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".writeMicroseconds("+t+");\n"},Zp=function(x,f){var e=this.getFieldValue("PIN");return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");",["servo_"+e+".read()",f.ORDER_ATOMIC]},zp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),n=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".write("+i+");\ndelay("+n+");\n"},jp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".writeMicroseconds("+i+");\n"},Jp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN");return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");",["servo_"+t+".read()",f.ORDER_ATOMIC]},qp=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},Qp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i="";return window.isNaN(e)?i=i+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",i+="tone("+e+","+t+");\n"},$p=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t="";return window.isNaN(e)?t=t+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",t+="noTone("+e+");\n"},xo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i=f.valueToCode(this,"DURATION",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_NewTone="#include ",f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewTone("+e+","+t+","+i+");\n"},fo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewNoTone("+e+");\n"},eo=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"steps",f.ORDER_ATOMIC),s=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+n+","+t+","+i+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+s+");",""},to=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"PIN3",f.ORDER_ATOMIC),s=f.valueToCode(this,"PIN4",f.ORDER_ATOMIC),c=f.valueToCode(this,"steps",f.ORDER_ATOMIC),a=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+c+","+t+","+i+","+n+","+s+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+a+");",""},io=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=f.valueToCode(this,"step",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",e+".step("+t+");\n"},no=function(x,f){var e=this.getFieldValue("COLOR");return[e="0x"+e.substring(1,e.length),f.ORDER_NONE]},so=function(x,f){return["(("+f.valueToCode(this,"R",f.ORDER_ATOMIC)+" & 0xffffff) << 16) | (("+f.valueToCode(this,"G",f.ORDER_ATOMIC)+" & 0xffffff) << 8) | "+f.valueToCode(this,"B",f.ORDER_ATOMIC),f.ORDER_NONE]},co=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("TYPE"),i=f.valueToCode(this,"LEDCOUNT",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.definitions_["var_declare_rgb_display"+e]="Adafruit_NeoPixel rgb_display_"+e+" = Adafruit_NeoPixel("+i+","+e+","+t+" + NEO_KHZ800);",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();",""},ao=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();","rgb_display_"+e+".setBrightness("+t+");\n"},lo=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"_LED_",f.ORDER_ATOMIC),i=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);return"rgb_display_"+e+".setPixelColor(("+t+")-1, "+(i=i.replace(/#/g,"0x"))+");\n"},po=function(x,f){var e=this.getFieldValue("PIN");return"rgb_display_"+e+".setPixelColor(("+f.valueToCode(this,"_LED_",f.ORDER_ATOMIC)+")-1, rgb_display_"+e+".ColorHSV("+f.valueToCode(this,"H",f.ORDER_ATOMIC)+","+f.valueToCode(this,"S",f.ORDER_ATOMIC)+","+f.valueToCode(this,"V",f.ORDER_ATOMIC)+"));\n"},oo=function(){var x=K.JSFuncs.getPlatform(),f=this.getFieldValue("PIN"),e="rgb_display_"+f+".show();\n";return x.match(RegExp(/ESP32/))&&(e+="rgb_display_"+f+".show();\n"),e},uo=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"WAIT",f.ORDER_ATOMIC);f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();\n";var i="uint32_t Wheel(byte WheelPos){\n if(WheelPos < 85){\n return rgb_display_"+e+".Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n }\n else if(WheelPos < 170){\n WheelPos -= 85;\n return rgb_display_"+e+".Color(255 - WheelPos * 3, 0, WheelPos * 3);\n }\n else{\n WheelPos -= 170;\n return rgb_display_"+e+".Color(0, WheelPos * 3, 255 - WheelPos * 3);\n }\n}\n";f.definitions_.Wheel=i;var n="void rainbow(uint8_t wait){\n uint16_t i, j;\n for(j=0; j<256; j++){\n for(i=0; i 0) {\n digitalWrite(dirpin1, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin1, HIGH);\n analogWrite(speedpin, -speed);\n }\n}\n";return f.definitions_[n]=s,i},ho=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i="setMotor8833("+e+", "+t+", "+(f.valueToCode(this,"speed",f.ORDER_ASSIGNMENT)||"0")+");\n";f.setups_["setup_output_"+e+t+"_S"]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+e+t+"_D"]="pinMode("+t+", OUTPUT);",f.setups_["setup_output_"+e+t+"_S_W"]="digitalWrite("+e+", LOW);",f.setups_["setup_output_"+e+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor8833",s="void "+n+"(int speedpin, int dirpin, int speed) {\n if (speed == 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } else if (speed > 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return f.definitions_[n]=s,i},Ao=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("VOICE"),i=f.valueToCode(this,"WAIT",f.ORDER_ASSIGNMENT)||"0";f.setups_.setup_output_sda="pinMode("+e+", OUTPUT);";var n="send_data("+t+"); //volume control 0xE0-E7;\n";n+="delay("+i+");\n";var s="void send_data(int addr) {\n int i;\n digitalWrite("+e+", LOW);\n delay(3); //>2ms\n for (i = 0; i < 8; i++) {\n digitalWrite("+e+", HIGH);\n if (addr & 1) {\n delayMicroseconds(2400); //>2400us\n digitalWrite("+e+", LOW);\n delayMicroseconds(800);\n } //>800us\n else {\n delayMicroseconds(800); //>800us\n digitalWrite("+e+", LOW);\n delayMicroseconds(2400);\n } //>2400us\n addr >>= 1;\n }\n digitalWrite("+e+", HIGH);\n}\n";return f.definitions_.funcName=s,n},Io=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+"."+i+"\n"},go=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("DEVICEID");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setDevice("+i+");\n"},To=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("LOOP_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setLoopMode("+i+");\n"},Eo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("EQ_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setEqualizer("+i+");\n"},Co=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"vol",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setVolume("+i+");\n"},Mo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".playFileByIndexNumber("+i+");\n"},mo=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor"),t=this.getFieldValue("direction"),i=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed("+i+");\n motor"+e+".run("+t+");\n"},Oo=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor");return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed(0);\n motor"+e+".run(RELEASE);\n"},Ro=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"dfplayer_pin",f.ORDER_ATOMIC);f.definitions_.include_Arduino='#include "generator.h"',f.definitions_.include_DFRobotDFPlayerMini='#include "DFRobotDFPlayerMini.h"',f.definitions_["var_declare_DFPlayerMini_"+e]="DFRobotDFPlayerMini "+e+";",f.setups_["setup_DFPlayerMini_"+e]=e+".begin("+t+");";return""},So=function(x,f){var e=this.getFieldValue("pin_type");return f.definitions_.include_SoftwareSerial="#include ",[e,f.ORDER_ATOMIC]},Do=function(x,f){return this.getFieldValue("dfplayer_name")+".setTimeOut("+f.valueToCode(this,"timeout_data",f.ORDER_ATOMIC)+");\n"},Lo=function(x,f){return this.getFieldValue("dfplayer_name")+".volume("+f.valueToCode(this,"volume_data",f.ORDER_ATOMIC)+");\n"},No=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("volume_type")+"();\n"},Po=function(x,f){return this.getFieldValue("dfplayer_name")+".EQ("+f.valueToCode(this,"eq_data",f.ORDER_ATOMIC)+");\n"},yo=function(x,f){return[this.getFieldValue("eq_type"),f.ORDER_ATOMIC]},bo=function(x,f){return this.getFieldValue("dfplayer_name")+".outputDevice("+f.valueToCode(this,"outputdevice_data",f.ORDER_ATOMIC)+");\n"},vo=function(x,f){return[this.getFieldValue("outputdevice_type"),f.ORDER_ATOMIC]},wo=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("set_data")+"();\n"},Yo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"play_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("play_type")+"("+t+");\n"},Vo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"fold_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("fold_type")+"("+t+", "+f.valueToCode(this,"play_data",f.ORDER_ATOMIC)+");\n"},ko=function(x,f){return this.getFieldValue("dfplayer_name")+".loopFolder("+f.valueToCode(this,"fold_data",f.ORDER_ATOMIC)+");\n"},Xo=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("read_type")+"()",f.ORDER_ATOMIC]},Go=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"device_type",f.ORDER_ATOMIC);return[e+"."+this.getFieldValue("play_data")+"("+t+")",f.ORDER_ATOMIC]},Bo=function(x,f){return[this.getFieldValue("dfplayer_name")+".readFileCountsInFolder("+f.valueToCode(this,"folder_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Uo=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("type")+"()",f.ORDER_ATOMIC]},Wo=function(x,f){var e=this.getFieldValue("motor"),t=f.valueToCode(this,"SPEED",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_PWMServoDriver="#include ",f.definitions_.var_declare_Adafruit_PWMServoDriver="Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();",f.setups_.setup_pwm_begin="pwm.begin();\npwm.setOscillatorFrequency(27000000);\npwm.setPWMFreq(400);\nWire.setClock(400000);","void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n",f.definitions_.motor="void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n","motor("+e+","+t+");\n"},Ho=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]="mp3_"+e+".begin();","mp3_"+e+"."+t+"\n"},Ko=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_volume("+t+");\n"},Zo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_play_number("+t+");\n"},zo=function(){return""},jo=function(x,f){let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);isNaN(t.charAt(2))||(t=t.replace(/"/g,"").replace(/\./g,","),t="IPAddress("+t+")");let i=K.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_smartconfig='WiFi.mode(WIFI_STA);\n int cnt = 0;\n while (WiFi.status() != WL_CONNECTED) {\n delay(500); \n Serial.print("."); \n if (cnt++ >= 10) {\n WiFi.beginSmartConfig();\n while (1) {\n delay(1000);\n if (WiFi.smartConfigDone()) {\n Serial.println();\n Serial.println("SmartConfig: Success");\n break;\n }\n Serial.print("|");\n }\n }\n }\n WiFi.printDiag(Serial);\n',i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.setups_.setup_smartconfig+="Blynk.config(auth,"+t+",8080);";return"Blynk.run();\n"},Jo=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),n=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),s=K.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+i+";",f.definitions_.var_declare_wifi_ssid="char ssid[] = "+e+";",f.definitions_.var_declare_wifi_pass="char pass[] = "+t+";",s.match(RegExp(/AVR/))&&(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.define_BLYNK_PRINT="#define ESP8266_BAUD 115200",f.definitions_.var_declare_ESP8266="ESP8266 wifi(&Serial);",f.setups_.setup_serial_Serial="Serial.begin(115200);",f.setups_.delay_10_1="delay(10);",f.setups_["wifi.setOprToStation"]="wifi.setOprToStation(2, 2);",f.setups_.delay_10_2="delay(10);",f.setups_["wifi.enableMUX"]="wifi.enableMUX();",f.setups_.delay_10_3="delay(10);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, wifi,ssid, pass,"+n+",8080);"),isNaN(n.charAt(2))||(n=n.replace(/"/g,"").replace(/\./g,","),n="IPAddress("+n+")"),s.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]=" Blynk.begin(auth, ssid, pass,"+n+",8080);"):s.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, ssid, pass,"+n+",8080);");return"Blynk.run();\n"},qo=function(x,f){f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleStream="#include ",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial DebugSerial(2, 3);";let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC);f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);",f.setups_.setup_DebugSerial="DebugSerial.begin(9600);";return"Blynk.run();\n"},Qo=function(x,f){return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+", "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\n"},$o=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);let i=[];for(let x=0;x0&&(f.definitions_["var_declare_"+i]=i.join(";\n")+";");let s="BLYNK_WRITE("+e+") {\n"+n+t+"}\n";return s=f.scrub_(this,s),f.definitions_[e]=s,null},xu=function(x,f){f.definitions_.var_declare_BlynkTimer="BlynkTimer timer;";let e=this.getFieldValue("timerNo"),t=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),i="myTimerEvent"+e,n="void "+i+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[i]=n,f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},fu=function(x,f){let e=this.getFieldValue("state"),t=e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},eu=function(){return"Blynk.syncAll();\n"},tu=function(){return"Blynk.syncVirtual("+this.getFieldValue("Vpin")+");\n"},iu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return"HIGH"==i?n+="led"+e+".on();\n":"LOW"==i&&(n+="led"+e+".off();\n"),n},nu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return n+="led"+e+".setValue("+i+");",n},su=function(x,f){let e=this.getFieldValue("AC_TYPE"),t=this.getFieldValue("AC_POWER"),i=this.getFieldValue("AC_MODE"),n=this.getFieldValue("AC_FAN"),s=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),c=f.valueToCode(this,"AC_TEMP",f.ORDER_ATOMIC);f.definitions_.include_Arduino="#ifndef UNIT_TEST\n#include \n#endif",f.definitions_.include_IRremoteESP8266="#include ",f.definitions_.include_IRsend="#include ",f.definitions_["include"+e]="#include ",f.definitions_["define_IR_LED"+s]="#define IR_LED "+s,f.definitions_["IR"+e+"AC"]="IR"+e+"AC "+e+"AC(IR_LED); ",f.setups_["setup"+e]=e+"AC.begin();";let a=e+"AC.setPower("+t+");\n";return a+=e+"AC.setFan("+n+");\n",a+=e+"AC.setMode("+i+");\n",a+=e+"AC.setTemp("+c+");\n",a+=e+"AC.send();\n",a},cu=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#include \n#if DECODE_AC\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#endif \n",f.definitions_["define_RECV_PIN"+e]="#define RECV_PIN "+e+"\n",f.definitions_.var_declare_CAPTURE_BUFFER_SIZE="#define CAPTURE_BUFFER_SIZE 1024\n#if DECODE_AC\n#define TIMEOUT 50U\n#else\n#define TIMEOUT 15U \n#endif\n#define MIN_UNKNOWN_SIZE 12\n#define IN_UNKNOWN_SIZE 12\nIRrecv irrecv(RECV_PIN, CAPTURE_BUFFER_SIZE, TIMEOUT, true);\ndecode_results results;",f.setups_.ir_recv_begin="while(!Serial)\n delay(50);\n #if DECODE_HASH\n irrecv.setUnknownThreshold(MIN_UNKNOWN_SIZE);\n #endif \n irrecv.enableIRIn();";return f.definitions_.dumpACInfo='void dumpACInfo(decode_results *results){\n String description="";\n #if DECODE_DAIKIN\n if(results->decode_type == DAIKIN){\n IRDaikinESP ac(0);\n ac.setRaw(results->state);\n description=ac.toString();\n }\n #endif\n #if DECODE_FUJITSU_AC\n if(results->decode_type==FUJITSU_AC){\n IRFujitsuAC ac(0);\n ac.setRaw(results->state, results->bits / 8);\n description = ac.toString();\n }\n #endif\n #if DECODE_KELVINATOR\n if(results->decode_type == KELVINATOR){\n IRKelvinatorAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_TOSHIBA_AC\n if(results->decode_type == TOSHIBA_AC){\n IRToshibaAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_GREE\n if (results->decode_type == GREE){\n IRGreeAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_MIDEA\n if(results->decode_type == MIDEA){\n IRMideaAC ac(0);\n ac.setRaw(results->value);\n description=ac.toString();\n }\n #endif\n #if DECODE_HAIER_AC\n if(results->decode_type == HAIER_AC){\n IRHaierAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n if(description != "")\n Serial.println("Mesg Desc.: " + description);\n}\n',"if(irrecv.decode(&results)){\n uint32_t now = millis();\n dumpACInfo(&results);\n Serial.println(resultToSourceCode(&results));\n}\n"},au=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("IR_CODE"),i=t.split(",").length,n=Math.ceil(1e5*Math.random());return f.definitions_.define_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#define IR_LED "+e,f.definitions_.var_declare_IRsend_irsend="IRsend irsend(IR_LED);\n",f.definitions_["var_declare_send"+n]="uint16_t rawData"+n+"["+i+"] = {"+t+"};",f.setups_.irsend_begin="irsend.begin();\n","irsend.sendRaw(rawData"+n+", "+i+", 38);\ndelay(2000);\n"},lu=function(x,f){let e=f.valueToCode(this,"email_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"Subject",f.ORDER_ATOMIC),i=f.valueToCode(this,"content",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_MAX_SENDBYTES="#define BLYNK_MAX_SENDBYTES 128 \n","Blynk.email("+e+", "+t+", "+i+");\n"},du=function(x,f){return"Blynk.notify("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\n"},pu=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["var_declare_WidgetTerminal"+e]="WidgetTerminal terminal"+e+"("+e+");\n","terminal"+e+".println("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\nterminal"+e+".flush();\n"},ou=function(x,f){let e=this.getFieldValue("Vpin");f.definitions_.var_declare_WidgetTerminal="WidgetTerminal terminal("+e+");\n",f.definitions_.var_declare_action="String terminal_text ;";let t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n terminal_text = param.asStr();\n "+t+"\n terminal.flush();\n}\n";return f.definitions_[e]=i,null},uu=function(x,f){return"Blynk.setProperty("+this.getFieldValue("Vpin")+',"url",'+f.valueToCode(this,"url",f.ORDER_ATOMIC)+");\n"},ru=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_["var_declare_WidgetBridge"+e]="WidgetBridge bridge"+e+"("+e+");\n","bridge"+e+".setAuthToken("+t+");\n"},_u=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".digitalWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"STAT",f.ORDER_ATOMIC)+");\n"},Fu=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".analogWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},hu=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".virtualWrite("+this.getFieldValue("Vpin2")+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},Au=function(x,f){f.definitions_.include_TimeLib="#include ",f.definitions_.include_WidgetRTC="#include ";let e=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_.var_declare_WidgetRTC="WidgetRTC rtc;\n",f.setups_.setSyncInterval="setSyncInterval("+e+"* 60);";return"rtc.begin();\n"},Iu=function(x,f){return[this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},gu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n action = param.asStr();\n "+t+"\n Blynk.setProperty("+e+', "label", action);\n}\n';return i=f.scrub_(this,i),f.definitions_[e]=i,""},Tu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int lx = param.asInt();\n "+t+"\n}\n";return f.definitions_[e]=i,""},Eu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int x = param[0].asFloat();\n int y = param[1].asFloat();\n int z = param[2].asFloat();\n "+t+"\n}\n";return f.definitions_[e]=i,""},Cu=Eu,Mu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n long startTimeInSecs = param[0].asLong();\n long hour =startTimeInSecs/3600;\n long minute=(startTimeInSecs-3600*hour)/60;\n long second=(startTimeInSecs-3600*hour)%60;\n "+t+"\n}\n";return f.definitions_[e]=i,""},mu=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},Ou=function(x,f){let e=this.getFieldValue("VALUE");return f.definitions_["var_"+e]=e,""},Ru=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),i=K.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include \n",f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.definitions_.var_declare_auth_key="char auth[] = "+t+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_WiFiManager="WiFiManager wifiManager;",f.setups_.setup_wifiManagerautoConnect='wifiManager.autoConnect("Blynk");',f.setups_["setup_server.begin"]='Serial.println("Connected.");\n server.begin();',isNaN(e.charAt(2))?f.setups_.setup_Blynkconfig="Blynk.config(auth, "+e+", 8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.setup_Blynkconfig="Blynk.config(auth, IPAddress("+e+"), 8080);");return"Blynk.run();"},Su=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_FS="#include ",f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include ",f.definitions_.include_WiFiManager="#include ",f.definitions_.include_ArduinoJson="#include ",f.definitions_.var_declare_auth_key='char blynk_token[34] = "YOUR_BLYNK_TOKEN";',f.definitions_.var_declare_shouldSaveConfig="bool shouldSaveConfig = false;",f.definitions_.saveConfigCallback='void saveConfigCallback (){\n Serial.println("Should save config");\n shouldSaveConfig = true;\n}',f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.otasetup1='Serial.println("mounting FS...");\n if (SPIFFS.begin()){\n Serial.println("mounted file system");\n if (SPIFFS.exists("/config.json")) {\n Serial.println("reading config file");\n File configFile = SPIFFS.open("/config.json", "r");\n if (configFile) {\n Serial.println("opened config file");\n size_t size = configFile.size();\n std::unique_ptr buf(new char[size]);\n configFile.readBytes(buf.get(), size);\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.parseObject(buf.get());\n json.printTo(Serial);\n if (json.success()){\n Serial.println("parsed json");\n strcpy(blynk_token, json["blynk_token"]);\n }\n else{\n Serial.println("failed to load json config");\n }\n configFile.close();\n }\n }\n } else{\n Serial.println("failed to mount FS");\n }\n WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32);\n WiFiManager wifiManager;\n wifiManager.setSaveConfigCallback(saveConfigCallback);\n wifiManager.addParameter(&custom_blynk_token);\n wifiManager.setMinimumSignalQuality(10);\n if (!wifiManager.autoConnect()){\n Serial.println("failed to connect and hit timeout");\n delay(3000);\n ESP.reset();\n delay(5000);\n }\n Serial.println("connected...yeey :)");\n strcpy(blynk_token, custom_blynk_token.getValue());\n if(shouldSaveConfig){\n Serial.println("saving config");\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.createObject();\n json["blynk_token"] = blynk_token;\n File configFile = SPIFFS.open("/config.json", "w");\n if(!configFile){\n Serial.println("failed to open config file for writing");\n }\n json.printTo(Serial);\n json.printTo(configFile);\n configFile.close();\n }\n Serial.println("local ip");\n Serial.println(WiFi.localIP());\n',isNaN(e.charAt(2))?f.setups_.otasetup1+=" Blynk.config(blynk_token,"+e+",8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.otasetup1+=" Blynk.config(blynk_token,IPAddress("+e+"),8080);");return"Blynk.run();\n"},Du=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},Lu=function(){return"terminal.clear();\n"},Nu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"x",f.ORDER_ATOMIC),i=f.valueToCode(this,"y",f.ORDER_ATOMIC),n=f.valueToCode(this,"value",f.ORDER_ATOMIC);return f.definitions_.include_lcd="WidgetLCD lcd("+e+");\n","lcd.print("+t+", "+i+", "+n+");\n"},Pu=function(){return"lcd.clear();\n"},yu=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BLE="#include ",f.definitions_.include_BLEDevice="#include ",f.definitions_.include_BLEServer="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},bu=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BT="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},vu=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleSerialBLE="#include ",f.definitions_.define_auth="char auth[] = "+e+";",0!=t||1!=i?(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial SerialBLE("+t+", "+i+");",f.setups_.setup_SerialBLE_begin="SerialBLE.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(SerialBLE, auth);"):(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);"),f.setups_["setup_Serial.println"]='Serial.println("Waiting for connections...");';return"Blynk.run();\n"},wu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "add", '+e+","+t+", "+i+");\n"},Yu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "update", '+e+","+t+", "+i+");\n"},Vu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "pick", '+e+");\n"},ku=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "select", '+e+");\n"},Xu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "deselect", '+e+");\n"},Gu=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","Blynk.virtualWrite("+e+', "clr");\nrowIndex_'+e+" = 0;\n"},Bu=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},Uu=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i="";return i=this.getFieldValue("mode")>0?'WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED){\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n':'Serial.print("Setting AP (Access Point)…");\nWiFi.softAP(wif_ssid,wif_password);\nIPAddress IP = WiFi.softAPIP();\nSerial.print("Camera Stream Ready! Connect to the ESP32 AP and go to: http://");\nSerial.println(IP);\nSerial.println("");\n',f.definitions_.esp_camera='#include "esp_camera.h"\n#include \n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera=' WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n '+i+" startCameraServer();\n","delay(1);\n"},Wu=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"server",f.ORDER_ATOMIC);isNaN(i.charAt(2))||(i=i.replace(/"/g,"").replace(/\./g,","),i="IPAddress("+i+")");let n=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_WiFi="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.definitions_.include_WidgetRTC="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_TimeLib="#include ",f.definitions_.var_declare_auth_key="char auth[] = "+n+";",f.definitions_.esp_camera='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera='WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n startCameraServer();\n Blynk.config(auth,'+i+",8080);\n","Blynk.run();\n"},Hu=function(x,f){f.definitions_.take_a_photo='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "fd_forward.h"\n#include "fr_forward.h"\n#include "FS.h" \n#include "SD_MMC.h" \n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h" \n#include "dl_lib.h"\n#include "driver/rtc_io.h"\n#include \n#define EEPROM_SIZE 1\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nint pictureNumber = 0;\n';return'WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\nSerial.begin(115200);\ncamera_config_t config;\nconfig.ledc_channel = LEDC_CHANNEL_0;\nconfig.ledc_timer = LEDC_TIMER_0;\nconfig.pin_d0 = Y2_GPIO_NUM;\nconfig.pin_d1 = Y3_GPIO_NUM;\nconfig.pin_d2 = Y4_GPIO_NUM;\nconfig.pin_d3 = Y5_GPIO_NUM;\nconfig.pin_d4 = Y6_GPIO_NUM;\nconfig.pin_d5 = Y7_GPIO_NUM;\nconfig.pin_d6 = Y8_GPIO_NUM;\nconfig.pin_d7 = Y9_GPIO_NUM;\nconfig.pin_xclk = XCLK_GPIO_NUM;\nconfig.pin_pclk = PCLK_GPIO_NUM;\nconfig.pin_vsync = VSYNC_GPIO_NUM;\nconfig.pin_href = HREF_GPIO_NUM;\nconfig.pin_sscb_sda = SIOD_GPIO_NUM;\nconfig.pin_sscb_scl = SIOC_GPIO_NUM;\nconfig.pin_pwdn = PWDN_GPIO_NUM;\nconfig.pin_reset = RESET_GPIO_NUM;\nconfig.xclk_freq_hz = 20000000;\nconfig.pixel_format = PIXFORMAT_JPEG; \nif(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n} else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n}\nesp_err_t err = esp_camera_init(&config);\nif (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n}\nif(!SD_MMC.begin()){\n Serial.println("SD Card Mount Failed");\n return;\n}\nuint8_t cardType = SD_MMC.cardType();\nif(cardType == CARD_NONE){\n Serial.println("No SD Card attached");\n return;\n}\ncamera_fb_t * fb = NULL;\nfb = esp_camera_fb_get();\nif(!fb) {\n Serial.println("Camera capture failed");\n return;\n}\nEEPROM.begin(EEPROM_SIZE);\npictureNumber = EEPROM.read(0) + 1;\nString path = "/picture" + String(pictureNumber) +".jpg";\nfs::FS &fs = SD_MMC; \nSerial.printf("Picture file name: %s\\n", path.c_str());\nFile file = fs.open(path.c_str(), FILE_WRITE);\nif(!file){\n Serial.println("Failed to open file in writing mode");\n} \nelse {\n file.write(fb->buf, fb->len);\n Serial.printf("Saved file to path: %s\\n", path.c_str());\n EEPROM.write(0, pictureNumber);\n EEPROM.commit();\n}\nfile.close();\nesp_camera_fb_return(fb); \npinMode(4, OUTPUT);\ndigitalWrite(4, LOW);\nrtc_gpio_hold_en(GPIO_NUM_4);\n'},Ku=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_click"+e]="table_"+e+".onSelectChange([](int index, bool selected) {\n "+t+"\n });\n";return""},Zu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_order"+e]="table_"+e+".onOrderChange([](int indexFrom, int indexTo) {\n "+t+"\n });\n";return""},zu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i=f.valueToCode(this,"name",f.ORDER_ATOMIC);return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","table_"+e+".addRow(rowIndex_"+e+", "+i+", "+t+");\ntable_"+e+".pickRow(rowIndex_"+e+");\nrowIndex_"+e+"++;\n"},ju=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO"),i=f.statementToCode(this,"DO2");return f.definitions_.include_IRremote="#include \n",f.definitions_.var_declare_irProtocolList='const String IR_PROTOCOL_TYPE[] = {\n "UNKNOWN",\n "PULSE_DISTANCE",\n "PULSE_WIDTH",\n "DENON",\n "DISH",\n "JVC",\n "LG",\n "LG2",\n "NEC",\n "PANASONIC",\n "KASEIKYO",\n "KASEIKYO_JVC",\n "KASEIKYO_DENON",\n "KASEIKYO_SHARP",\n "KASEIKYO_MITSUBISHI",\n "RC5",\n "RC6",\n "SAMSUNG",\n "SHARP",\n "SONY",\n "ONKYO",\n "APPLE",\n "BOSEWAVE",\n "LEGO_PF",\n "MAGIQUEST",\n "WHYNTER"\n};',f.definitions_["var_declare_irrecv_"+e]=`IRrecv irrecv_${e}(${e});\n`,f.setups_["setup_ir_recv_"+e]=`irrecv_${e}.enableIRIn();`,`if (irrecv_${e}.decode()) {\n struct IRData *pIrData = &irrecv_${e}.decodedIRData;\n long ir_item = pIrData->decodedRawData;\n String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol];\n Serial.print("IR TYPE:" + irProtocol + "\\tVALUE:");\n Serial.println(ir_item, HEX);\n irrecv_${e}.resume();\n${t}\n} else {\n${i}\n}\n`},Ju=function(x,f){return f.definitions_.include_IRremote="#include ","irrecv_"+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+".enableIRIn();\n"},qu=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"data",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"bits",f.ORDER_ATOMIC)||"0";return`irsend_${e}.send${this.getFieldValue("TYPE")}(${t},${i});\n`},Qu=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_recv"+e]="IRrecv irrecv_"+e+"("+e+");\ndecode_results results_"+e+";\n",f.setups_.setup_serial_Serial||(f.setups_.setup_serial_Serial="Serial.begin("+K.Profile.default.serial+");"),f.setups_["setup_ir_recv_"+e]="irrecv_"+e+".enableIRIn();\n";var t="if (irrecv_"+e+".decode(&results_"+e+")) {\n";t+=" dumpRaw(&results_"+e+");\n",t+=" irrecv_"+e+".resume();\n",t+="}\n";return f.definitions_.dumpRaw='void dumpRaw(decode_results *results) {\n int count = results->rawlen;\n Serial.print("RawData (");\n Serial.print(count, DEC);\n Serial.print("): ");\n for (int i = 0; i < count; i++) {\n Serial.print(results->rawbuf[i]*MICROS_PER_TICK, DEC);\n if(i!=count-1){\n Serial.print(",");\n }\n }\n Serial.println("");\n}\n',t},$u=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"length",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"freq",f.ORDER_ATOMIC)||"0",n="unsigned int buf_raw["+t+"]={"+this.getFieldValue("TEXT")+"};\n";return n+=`irsend_${e}.sendRaw(buf_raw,${t},${i});\n`},xr=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},fr=function(x,f){f.definitions_.include_Wire="#include \n";return["Wire.read()",f.ORDER_ATOMIC]},er=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n"},tr=function(x,f){var e=this.getFieldValue("SDA");return f.definitions_.include_SPI="#include ",f.definitions_.include_RFID="#include ",f.definitions_.var_declare_RFID="RFID rfid("+e+",5);",f.definitions_["var_declare__i and tmp"]="unsigned char i,tmp;",f.definitions_.var_declare__status="unsigned char status;",f.definitions_.var_declare__strmax="unsigned char str[MAX_LEN];",f.definitions_.var_declare__RC_size="unsigned char RC_size;",f.definitions_.var_declare__blockAddr="unsigned char blockAddr; //选择操作的块地址0~63",f.definitions_.define_1="//4字节卡序列号,第5字节为校验字节",f.definitions_.define_2="unsigned char serNum[5];",f.definitions_.define_3="//写卡数据",f.definitions_.define_5="//原扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_6="unsigned char sectorKeyA[16][16] = {",f.definitions_.define_7=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_8=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_9=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.definitions_.define_10="//新扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_11="unsigned char sectorNewKeyA[16][16] = {",f.definitions_.define_12=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_13=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_14=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_output_2="SPI.begin();",f.setups_.setup_output_3="rfid.init();",""},ir=function(x,f){var e=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(e=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+e),"if(rfid.isCard()){\n"+e+"}\n"},nr=function(x,f){var e="RFID_readcardnum",t="String "+e+"(){\n rfid.readCardSerial();\n String stringserNum = String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum;\n}\n";return f.definitions_[e]=t,[e+"()",f.ORDER_ATOMIC]},sr=function(x,f){var e=f.valueToCode(this,"address1",f.ORDER_ATOMIC),t="RFID_writecarddata",i="void "+t+'(int ad2){\n rfid.readCardSerial();\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n //写数据卡\n blockAddr = ad2;\n if(rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK){\n //写数据\n status = rfid.write(blockAddr, sectorKeyA[blockAddr/4]);\n Serial.print("set the new card password, and can modify the data of the Sector: ");\n Serial.println(blockAddr/4,DEC);\n blockAddr=blockAddr-3;\n status=rfid.write(blockAddr,(unsigned char*)'+this.getFieldValue("data1")+');\n if(status == MI_OK){\n Serial.println("Write card OK!");\n }\n }\n}\n';return f.definitions_[t]=i,t+"("+e+");\n"},cr=function(x,f){var e=f.valueToCode(this,"address",f.ORDER_ATOMIC),t="RFID_readcarddata",i="String "+t+'(int ad3){\n //读卡\n blockAddr =ad3;\n status = rfid.auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA[blockAddr/4], rfid.serNum);\n\tif(status == MI_OK){ //认证\n //读数据\n if(rfid.read(blockAddr, str) == MI_OK)\n {\n Serial.print("Read from the card ,the data is : ");\n Serial.println((char *)str);\n }\n }\n rfid.halt();\n String stringstr((char*)str);\n return stringstr;\n}\n';return f.definitions_[t]=i,[t+"("+e+")",f.ORDER_ATOMIC]},ar=function(x,f){var e="RFID_off",t="void "+e+"() {\n\n rfid.halt(); \n}\n";return f.definitions_[e]=t,e+"();\n"},lr=function(x,f){var e="RFID_readcardnum",t="String "+e+"() {\n\n rfid.readCardSerial(); \n String stringserNum=String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum; \n}\n";f.definitions_[e]=t;var i=f.valueToCode(this,"uid_",f.ORDER_NONE)||"false",n=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(n=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n),"false"!=i?0===i.indexOf('"')?"if (strcmp(RFID_readcardnum().c_str(),"+i+")==0) {\n"+n+"}\n":"if (strcmp(RFID_readcardnum().c_str(),"+i+".c_str())==0) {\n"+n+"}\n":""},dr=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"PIN_SDA",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN_RST",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_MFRC522="#include ",f.definitions_["var_declare_"+e]="MFRC522 "+e+"("+t+", "+i+");",f.setups_.setup_spi="SPI.begin();",f.setups_["setup_mfc522_"+e]=e+".PCD_Init();";return""},pr=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.statementToCode(this,"DO");return f.definitions_.function_MFRC522_IsNewCard="boolean MFRC522_IsNewCard(MFRC522 *_name){\n if(!_name->PICC_IsNewCardPresent())\n return false;\n if(!_name->PICC_ReadCardSerial())\n return false;\n return true;\n}\n","if(MFRC522_IsNewCard(&"+e+")){\n"+(""!=t?t:"")+" "+e+".PICC_HaltA();\n "+e+".PCD_StopCrypto1();\n}\n"},or=function(x,f){var e=this.getFieldValue("rfid_name");return f.definitions_.function_MFRC522_ReadCardUID='String MFRC522_ReadCardUID(MFRC522 *_name){\n String _CardUID = "";\n for (byte _i = 0; _i < _name->uid.size; _i++){\n if(_name->uid.uidByte[_i] < 0x10)\n _CardUID += "0";\n _CardUID += String(_name->uid.uidByte[_i], HEX);\n }\n return _CardUID;\n}\n',["MFRC522_ReadCardUID(&"+e+")",f.ORDER_ATOMIC]},ur=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_WriteCard='boolean MFRC522_WriteCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n _status = _name->MIFARE_Write(_block, _buffer, _length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Write() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Write() success;"));\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_WriteCard(&"+e+", "+t+", "+i+", "+n+");\n"},rr=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_ReadCard='boolean MFRC522_ReadCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n if(_length < 18){\n byte _Read_buffer[18];\n byte _Read_buffer_length = 18;\n _status = _name->MIFARE_Read(_block, _Read_buffer, &_Read_buffer_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n for(byte _i = 0; _i < _length; _i++)\n _buffer[_i] = _Read_buffer[_i];\n }\n else{\n _status = _name->MIFARE_Read(_block, _buffer, &_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_ReadCard(&"+e+", "+t+", "+i+", "+n+");\n"},_r=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";return""},Fr=function(x,f){f.definitions_.include_Wire="#include ";var e=f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC);f.setups_.setup_i2c="Wire.begin("+e+");";return""},hr=function(x,f){return f.definitions_.include_Wire="#include ","Wire.beginTransmission("+f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC)+");\n"+f.statementToCode(this,"transmission_data")+"Wire.endTransmission();\n"},Ar=function(x,f){return f.definitions_.include_Wire="#include ","Wire.write("+f.valueToCode(this,"i2c_write_data",f.ORDER_ATOMIC)+");\n"},Ir=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+f.valueToCode(this,"array",f.ORDER_ATOMIC)+","+(f.valueToCode(this,"length",f.ORDER_ATOMIC)||"1")+");\n"},gr=function(x,f){f.definitions_.include_Wire="#include \n";var e=this.workspace.getAllBlocks(),t=0;for(t=0;t\n",f.setups_.setup_wire_begin="Wire.begin();";return["howMany",f.ORDER_ATOMIC]},Er=function(x,f){return["Wire.read()",f.ORDER_ATOMIC]},Cr=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();";var e=f.valueToCode(this,"pin",f.ORDER_ATOMIC),t=f.valueToCode(this,"value",f.ORDER_ATOMIC);f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);";var i="digitalWrite("+e+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+e+", HIGH);\n"},Mr=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="pinMode(12, OUTPUT);\n SPCR |= _BV(SPE);";return""},mr=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},Or=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_wire_begin="Wire.begin();";var e=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0",t="Wire.beginTransmission("+e+");\n";return t+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.requestFrom("+e+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.endTransmission();\n"},Rr=function(x,f){f.definitions_.include_Wire="#include \n";var e=f.valueToCode(this,"onReceive_length",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO");f.definitions_.function_receiveEvent="void receiveEvent(int "+e+")\n{ "+t+"\n}\n",f.setups_.setup_i2c_receiveEvent="Wire.onReceive(receiveEvent);";return""},Sr=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_i2c_slave="Wire.setClock(400000);",f.setups_.setup_i2c_onRequest="Wire.onRequest(i2cRequestEvent);";var e="i2cRequestEvent",t="void "+e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},Dr=function(x,f){return f.definitions_.include_Wire="#include \n","Wire.requestFrom("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n"},Lr=function(x,f){var e=f.valueToCode(this,"spi_slave_pin",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();",f.setups_.setup_spi_divider="SPI.setClockDivider(SPI_CLOCK_DIV8);",f.setups_["setup_spi_pin_"+e]="digitalWrite("+e+", HIGH);";return""},Nr=function(x,f){var e=f.valueToCode(this,"slave_pin",f.ORDER_ATOMIC);return"digitalWrite("+e+", LOW);\n"+f.statementToCode(this,"transfer_data")+"digitalWrite("+e+", HIGH);\n"},Pr=function(x,f){return"SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+");\n"},yr=function(x,f){return["SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},br=function(x,f){var e=f.statementToCode(this,"slave_interrupt_data");f.definitions_.function_ISR="ISR(SPI_STC_vect)\n{\n"+e+"\n}\n",f.setups_.setup_spi_interrupt="SPI.attachInterrupt();";return""},vr=function(x,f){f.definitions_.function_SPI_SlaveReceive="char SPI_SlaveReceive()\n{\n while(!(SPSR&(1<= ":" <= ")+i+"; "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":n.match(/^-?\d+(\.\d+)?$/)?"for (int "+e+" = ("+t+"); "+e+(n<0?" >= ":" <= ")+"("+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":"for (int "+e+" = ("+t+"); ("+i+">="+t+")?("+e+"<="+i+"):("+e+">="+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n"},Xr=function(x,f){var e=f.valueToCode(this,"BOOL",f.ORDER_NONE)||"false",t=f.statementToCode(this,"DO");return f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),"UNTIL"==this.getFieldValue("MODE")&&(e.match(/^\w+$/)||(e="("+e+")"),e="!"+e),"while ("+e+") {\n"+t+"}\n"},Gr=function(){switch(this.getFieldValue("FLOW")){case"BREAK":return"break;\n";case"CONTINUE":return"continue;\n"}throw"Unknown flow statement."},Br=function(x,f){var e=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"1000";return this.getFieldValue("UNIT")+"("+e+");\n"},Ur=function(x,f){return[this.getFieldValue("UNIT")+"()",f.ORDER_ATOMIC]},Wr=function(x,f){f.definitions_.include_MsTimer2="#include ";var e=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),t="msTimer2_func",i="void "+t+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[t]=i,"MsTimer2::set("+e+", "+t+");\n"},Hr=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::start();\n"},Kr=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::stop();\n"},Zr=function(){return K.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?"while(true) delay(1000);\n":"while(true);\n"},zr=function(x,f){return f.definitions_.resetFunc="void(* resetFunc) (void) = 0;\n","resetFunc();\n"},jr=function(){return"interrupts();\n"},Jr=function(){return"noInterrupts();\n"},qr=Br,Qr=function(x,f){var e=this.getFieldValue("NO"),t=f.valueToCode(this,"timein",f.ORDER_ATOMIC),i="Simple_timer_"+e,n=f.statementToCode(this,"zxhs"),s="void "+i+"() {\n "+(n=n.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[i]=s,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;",f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},$r=function(x,f){var e=f.statementToCode(this,"input_data"),t=f.valueToCode(this,"select_data",f.ORDER_ATOMIC);if("false"==this.getFieldValue("type"))var i="do{\n"+e+"}while(!("+t+"));\n";else i="do{\n"+e+"}while("+t+");\n";return i},x_=function(x,f){var e="super_delay_function"+this.getFieldValue("number"),t=f.statementToCode(this,"delay_function"),i="void "+e+"() {\n "+(t=t.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[e]=i,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;","timer.run();\n"},f_=function(x,f){var e=this.getFieldValue("number");return"timer.setTimer("+f.valueToCode(this,"time_interval",f.ORDER_ATOMIC)+", super_delay_function"+e+", "+f.valueToCode(this,"frequency",f.ORDER_ATOMIC)+");\n"},e_=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("SCL"),n=this.getFieldValue("SDA"),s=K.JSFuncs.getPlatform(),c=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0x27";return n==K.Profile.default.SDA[0][1]&&i==K.Profile.default.SCL[0][1]?(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_I2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+c+","+t+");"):s.match(RegExp(/AVR/))?(f.definitions_.include_SoftI2CMaster="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_SoftI2C_"+e]="LiquidCrystal_SoftI2C "+e+"("+c+","+t+","+i+","+n+");"):(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+c+","+t+");",f.setups_.setup_Wire="Wire.begin("+n+","+i+");"),f.setups_["setup_lcd_init_"+e]=e+".init();",f.setups_["setup_lcd_backlight_"+e]=e+".backlight();",""},t_=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("RS"),n=this.getFieldValue("EN"),s=this.getFieldValue("D4"),c=this.getFieldValue("D5"),a=this.getFieldValue("D6"),l=this.getFieldValue("D7");return f.definitions_.include_LiquidCrystal="#include ",f.definitions_["var_declare_LiquidCrystal"+e]="LiquidCrystal "+e+"("+i+","+n+","+s+","+c+","+a+","+l+");",f.setups_["setup_lcd_begin_"+e]=e+".begin("+t+");",""},i_=function(x,f){var e=this.getFieldValue("VAR"),t=e+".setCursor(0, 0);\n";return t+=e+".print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n",t+=e+".setCursor(0, 1);\n",t+=e+".print("+(f.valueToCode(this,"TEXT2",f.ORDER_ATOMIC)||'""')+");\n"},n_=function(x,f){var e=this.getFieldValue("VAR"),t=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'String("")',i=f.valueToCode(this,"row",f.ORDER_ATOMIC)||"1",n=e+".setCursor("+(f.valueToCode(this,"column",f.ORDER_ATOMIC)||"1")+"-1, "+i+"-1);\n";return n+=e+".print("+t+");\n"},s_=function(){return this.getFieldValue("VAR")+"."+this.getFieldValue("STAT")+"();\n"},c_=function(x,f){var e=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display."+e+"();\n"},a_=function(x,f){var e=f.valueToCode(this,"VALUE",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.displayString("+e+");\n"},l_=function(x,f){var e=this.getFieldValue("NO"),t=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.setDot("+e+","+t+");\n"};var d_,p_;const o_=function(x,f){p_=this.getFieldValue("CLK"),d_=this.getFieldValue("DIO");var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentTM1637="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentTM1637 "+e+"("+p_+","+d_+");",f.setups_["setup_"+e+".begin()"]=e+".begin();",""},u_=function(x,f){return(this.getFieldValue("NAME")||"display")+".print("+f.valueToCode(this,"VALUE",f.ORDER_ATOMIC)+");\n"},r_=function(x,f){var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentExtended="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentExtended "+e+"("+p_+","+d_+");",e+".printTime("+f.valueToCode(this,"hour",f.ORDER_ATOMIC)+","+f.valueToCode(this,"minute",f.ORDER_ATOMIC)+","+this.getFieldValue("STAT")+");\n"},__=function(){var x=this.getFieldValue("STAT");return(this.getFieldValue("NAME")||"display")+"."+x+"();\n"},F_=function(x,f){return(this.getFieldValue("NAME")||"display")+".setBacklight("+f.valueToCode(this,"Brightness",f.ORDER_ATOMIC)+");\n"},h_=function(x,f){var e=this.getFieldValue("SDA"),t=this.getFieldValue("SCL"),i="myMatrix";return f.definitions_.include_Matrix="#include ",f.definitions_["var_declare"+i]="Matrix "+i+"("+e+","+t+");",f.setups_["setup_"+i]=i+".begin(0x70);",i+".clear();\n"},A_=function(x,f){var e=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),t=f.valueToCode(this,"hDisplays",f.ORDER_ATOMIC),i=f.valueToCode(this,"vDisplays",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Max72xxPanel="#include ",f.definitions_.var_declare_Max72xxPanel="Max72xxPanel myMatrix = Max72xxPanel("+e+","+t+","+i+");";return""},I_=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("WRITE"),i=f.valueToCode(this,"XVALUE",f.ORDER_ASSIGNMENT),n=f.valueToCode(this,"YVALUE",f.ORDER_ASSIGNMENT),s="myMatrix",c=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);if("HT16K33"==e)var a=s+".drawPixel("+i+",7-"+n+","+c+");\n";else a=s+".drawPixel("+i+","+n+","+c+");\n";return"OFF"!==t&&(a+=s+".write();\n"),a},g_=function(x,f){return"myMatrix.scrollMessage("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+","+f.valueToCode(this,"Speed",f.ORDER_ATOMIC)+");\n"},T_=function(x,f){var e="myMatrix",t=this.getFieldValue("WRITE"),i=e+".setCursor(0, 0);\n";return i+=e+".print("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+");\n","OFF"!==t&&(i+=e+".write();\n"),i},E_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=this.getFieldValue("WRITE"),n=f.valueToCode(this,"NO",f.ORDER_ATOMIC),s=f.valueToCode(this,"LEDArray",f.ORDER_ASSIGNMENT);f.definitions_.var_declare_LEDArray="uint8_t LEDArray[8];";var c="";return c+="memcpy_P(&LEDArray, &"+s+", 8);\n",c+="for(int index_i=0; index_i<8; index_i++)\n",c+="{\n",c+=" for(int index_j="+n+"*8; index_j<"+n+"*8+8; index_j++)\n",c+=" {\n",c+=" if((LEDArray[index_i]&0x01)>0)\n","HT16K33"==e?(c+=" "+t+".drawPixel(index_j, index_i,1);\n",c+=" else\n "+t+".drawPixel(index_j, index_i,0);\n"):(c+=" "+t+".drawPixel(index_j, 7-index_i,1);\n",c+=" else\n "+t+".drawPixel(index_j, 7-index_i,0);\n"),c+=" LEDArray[index_i] = LEDArray[index_i]>>1;\n",c+=" } \n",c+="}\n","OFF"!==i&&(c+=t+".write();\n"),c},C_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][9-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var c="";for(n=1;n<9;n++)c+=t[i][n];1==(c=parseInt(c,2).toString(16)).length&&(c="0"+c),s+="0x"+c+(8!=i?",":"")}return s+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+s,[e,f.ORDER_ATOMIC]},M_=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=7;n>=0;n--){for(var s="",c=7;c>=0;c--)s+=t[n][c];1==(s=parseInt(s,2).toString(16)).length&&(s="0"+s),i+="0x"+s+(0!==n?",":"")}return i+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+i,[e,f.ORDER_ATOMIC]},m_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);if("HT16K33"==e)var n=t+".setBrightness("+i+");\n";else n=t+".setIntensity("+i+");\n";return n},O_=function(){var x=this.getFieldValue("WRITE"),f="myMatrix",e=f+"."+this.getFieldValue("FILLSCREEN_TYPE")+";\n";return"OFF"!==x&&(e+=f+".write();\n"),e},R_=function(x,f){var e=this.getFieldValue("Rotation_TYPE");return"myMatrix.setRotation("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+e+");\n"},S_=function(x,f){return"myMatrix.setPosition("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+f.valueToCode(this,"X",f.ORDER_ATOMIC)+","+f.valueToCode(this,"Y",f.ORDER_ATOMIC)+");\n"},D_=function(){return"myMatrix.setRotation(4-"+this.getFieldValue("Rotation_TYPE")+");\n"},L_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var c="";for(n=1;n<9;n++)c+=t[i][n];1==(c=parseInt(c,2).toString(16)).length&&(c="0"+c),s+="0x"+c+(8!=i?",":"")}return s+="};\n",f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},N_=function(x,f){var e=this.getFieldValue("img_"),t='"'+e+'"';t="{";for(var i=0;i<15;i+=2)t+="0x"+e.substr(i,2)+(14!=i?",":"");return t+="};\n",f.definitions_["matrix_img_"+e]="const uint8_t matrix_img_"+e+"[8] PROGMEM="+t,["matrix_img_"+e,f.ORDER_ATOMIC]},P_=function(){return"myMatrix.write();\n"},y_=function(x,f){var e=this.getFieldValue("OLED_TYPE"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("SDA"),s=this.getFieldValue("SCL"),c=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0x3C",a=K.JSFuncs.getPlatform();f.definitions_.include_U8g2lib="#include ",a.match(RegExp(/AVR/))?n==K.Profile.default.SDA[0][1]&&s==K.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);":n==K.Profile.default.SDA[0][1]&&s==K.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);",f.definitions_.include_Wire="#include ",f.setups_["setup_u8g2"+t]=t+".setI2CAddress("+c+"*2);\n "+t+".begin();";return""},b_=function(x,f){var e=this.getFieldValue("U8G2_TYPE_SPI"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("CLK"),s=this.getFieldValue("MOSI"),c=this.getFieldValue("CS"),a=this.getFieldValue("DC"),l=this.getFieldValue("RST");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+t]=t+".begin();",f.definitions_["var_declare_U8G2"+t]="SCK"==n&&"MOSI"==s?"U8G2_"+e+"_1_4W_HW_SPI "+t+"("+i+", "+c+", "+a+", "+l+");":"U8G2_"+e+"_1_4W_SW_SPI "+t+"("+i+", "+n+","+s+","+c+", "+a+", "+l+");";return""},v_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_HW_SPI "+e+"("+t+", "+i+", U8X8_PIN_NONE);";return""},w_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DB0"),n=this.getFieldValue("DB1"),s=this.getFieldValue("DB2"),c=this.getFieldValue("DB3"),a=this.getFieldValue("DB4"),l=this.getFieldValue("DB5"),d=this.getFieldValue("DB6"),p=this.getFieldValue("DB7"),o=this.getFieldValue("ENABLE"),u=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_8080 "+e+"("+t+", "+i+", "+n+", "+s+", "+c+", "+a+", "+l+", "+d+", "+p+", "+o+", U8X8_PIN_NONE, "+u+");";return""},Y_=function(){return(this.getFieldValue("NAME")||"u8g2")+".clearDisplay();\n"},V_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("FACE_IMAGE"),s=n.indexOf(","),c="FACE_"+n.substring(0,s);return n=n.substring(s+1,n.length),f.libs_[c]="const static unsigned char "+c+"[] PROGMEM ={"+n+" };",e+".drawXBMP("+t+","+i+",89,64,"+c+");\n"},k_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("ICON_SIZE");return e+".setFontPosBottom();\n"+e+".setFont(u8g2_font_open_iconic_all_"+n+"x_t);\n"+e+".drawGlyph("+t+","+i+"+"+n+"*8,"+this.getFieldValue("ICON_IMAGE")+");\n"},X_=function(x,f){var e="";return e=e+(this.getFieldValue("NAME")||"u8g2")+".drawPixel("+(f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0")+");\n"},G_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.statementToCode(this,"DO"),i="";return t&&(i=e+".firstPage();\ndo\n{\n"+t+"}while("+e+".nextPage());\n"),i},B_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",c=f.valueToCode(this,"bitmap_name",f.ORDER_ATOMIC),a="";return a=e+".drawXBMP("+t+", ",a+=i+", ",a+=n+", ",a+=s+", "+(c=c.replace(/"/g,""))+");\n"},U_=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=this.getFieldValue("TEXT");return f.libs_[e]="const static unsigned char "+e+"[] PROGMEM ={"+t+" };",""},W_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawLine("+(f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_Y",f.ORDER_ATOMIC)||"0")+");\n"},H_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"LENGTH",f.ORDER_ATOMIC)||"0",s="";return s=e+".draw"+this.getFieldValue("TYPE")+"Line("+t+",",s+=i+",",s+=n+");\n"},K_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawTriangle("+(f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_Y",f.ORDER_ATOMIC)||"0")+");\n"},Z_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",c="";return c=e+"."+this.getFieldValue("TYPE")+"("+t+",",c+=i+",",c+=n+",",c+=s+");\n"},z_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",c=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",a="";return a=e+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+",",a+=c+");\n"},j_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",s="";return s=e+"."+this.getFieldValue("TYPE")+"("+t+",",s+=i+",",s+=n+","+this.getFieldValue("OPT")+"); \n"},J_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS_X",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"RADIUS_Y",f.ORDER_ATOMIC)||"0",c="";return c=e+"."+this.getFieldValue("TYPE")+"("+t+",",c+=i+",",c+=n+",",c+=s+","+this.getFieldValue("OPT")+"); \n"},q_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||"0";f.setups_["setup_enableUTF8Print"+e]=e+".enableUTF8Print();\n";var s="";return s=e+".setCursor("+t+",",s+=i+"); \n",s+=e+".print("+n+"); \n"},Q_=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME"),e=this.getFieldValue("FONT_SIZE");return x+".setFont(u8g2_font_"+f+this.getFieldValue("FONT_STYLE")+e+"_tf);\n"+x+".setFontPosTop();\n"},$_=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME");return x+".setFont(u8g2_font_"+this.getFieldValue("FONT_SIZE")+f+");\n"+x+".setFontPosTop();\n"},xF=function(){var x=this.getFieldValue("NAME")||"u8g2";return x+".setFont(u8g2_font_unifont_t_chinese1);\n"+x+".setFontPosTop();\n"},fF=function(x,f){return(this.getFieldValue("NAME")||"u8g2")+".setContrast("+f.valueToCode(this,"Contrast",f.ORDER_ATOMIC)+");\n"},eF=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"str",f.ORDER_ATOMIC);return f.definitions_["getutf8width"+e]="int "+e+"_getUTF8Width(String str) {\n const char *string_variable = str.c_str();\n return "+e+".getUTF8Width(string_variable);\n}",[e+"_getUTF8Width(String("+t+"))",f.ORDER_ATOMIC]},tF=function(x,f){var e=this.getFieldValue("name"),t=this.getFieldValue("number"),i=f.valueToCode(this,"row",f.ORDER_ATOMIC),n=f.valueToCode(this,"column",f.ORDER_ATOMIC),s=f.valueToCode(this,"pattern",f.ORDER_ATOMIC);return f.setups_["setup_lcd_display_pattern"+t]=e+".createChar("+t+", "+s+");",e+".setCursor("+n+"-1, "+i+"-1);\n"+e+".write("+t+");\n"},iF=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<6;n++)t[i][6-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{0B"+t[8][5]+t[8][4]+t[8][3]+t[8][2]+t[8][1]+",0B"+t[7][5]+t[7][4]+t[7][3]+t[7][2]+t[7][1]+",0B"+t[6][5]+t[6][4]+t[6][3]+t[6][2]+t[6][1]+",0B"+t[5][5]+t[5][4]+t[5][3]+t[5][2]+t[5][1]+",0B"+t[4][5]+t[4][4]+t[4][3]+t[4][2]+t[4][1]+",0B"+t[3][5]+t[3][4]+t[3][3]+t[3][2]+t[3][1]+",0B"+t[2][5]+t[2][4]+t[2][3]+t[2][2]+t[2][1]+",0B"+t[1][5]+t[1][4]+t[1][3]+t[1][2]+t[1][1]+"};";return f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},nF=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=0;n>8)+((64512&x)>>5)+((248&x)>>3)}const cF=function(x,f){const e=this.getFieldValue("CS"),t=this.getFieldValue("DC"),i=this.getFieldValue("RST"),n=this.getFieldValue("TYPE");let s=n.split("_")[0],c="";"ST7735_INITR_GREENTAB"===n?c="INITR_GREENTAB":"ST7735_INITR_REDTAB"===n?c="INITR_REDTAB":"ST7735_INITR_BLACKTAB"===n?c="INITR_BLACKTAB":"ST7735_160×80"===n?c="INITR_MINI160x80":"ST7735_160×128"===n?c="128, 160":"ST7789_240×135"===n?c="135, 240":"ST7789_240×240"===n?c="240, 240":"ST7789_320×240"===n?c="240, 320":"ST7796_480×320"===n&&(c=""),f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Adafruit_tft="#include ",f.definitions_.include_SPI="#include ",f.definitions_.var_declare_Adafruit_tft="Adafruit_"+s+" tft = Adafruit_"+s+"("+e+", "+t+", "+i+");",f.setups_.setup_tft_init="tft."+("ST7735"===s?"initR":"init")+"("+c+");",f.setups_.setup_tft_fillScreen="tft.fillScreen(0x0000);",f.definitions_.include_U8g2_for_Adafruit_GFX="#include ",f.definitions_.var_declare_U8G2_FOR_ADAFRUIT_GFX="U8G2_FOR_ADAFRUIT_GFX u8g2_for_adafruit_gfx;",f.setups_.setup_u8g2_for_adafruit_gfx="u8g2_for_adafruit_gfx.begin(tft);";return""};function aF(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}function lF(x){return x<16?"0x0"+x.toString(16).toUpperCase():"0x"+x.toString(16).toUpperCase()}function dF(x){let f=[];for(let e=0;e0?"0"==P?L+=" ":"1"==P&&(L+="0 "):N%(8*A)==0&&(L+="|\n|");for(M=0;M",f.definitions_.var_declare_EthernetClient="EthernetClient client;",["Ethernet.begin("+f.valueToCode(this,"MAC",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},UF=function(x,f){var e=this.getFieldValue("VAR1"),t=this.getFieldValue("VAR2"),i=this.getFieldValue("VAR3"),n=this.getFieldValue("VAR4"),s=this.getFieldValue("VAR5"),c=this.getFieldValue("VAR6");f.definitions_.var_declare_byte_mac="byte mac[] = {0x"+e+", 0x"+t+", 0x"+i+", 0x"+n+", 0x"+s+", 0x"+c+"};";return["mac",f.ORDER_ATOMIC]},WF=function(x,f){return["Ethernet.localIP()",f.ORDER_ATOMIC]},HF=function(x,f){var e=f.valueToCode(this,"PORT",f.ORDER_ATOMIC);return["client.connect("+f.quote_(this.getFieldValue("SERVER"))+","+e+")",f.ORDER_ATOMIC]},KF=function(){return"client.stop();\n"},ZF=function(x,f){return["client.connected()",f.ORDER_ATOMIC]},zF=function(x,f){return["client.available()",f.ORDER_ATOMIC]},jF=function(x,f){return"client.print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},JF=function(x,f){return"client.println("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},qF=function(x,f){return["(char)client.read()",f.ORDER_ATOMIC]},QF=function(){return'client.println("GET '+this.getFieldValue("URL")+' HTTP/1.1");\nclient.println(F("Host: '+this.getFieldValue("SERVER")+'"));\nclient.println(F("Connection: close"));\nclient.println();\n'},$F=function(x,f){var e=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),t=f.valueToCode(this,"PWD",f.ORDER_ATOMIC);return f.definitions_.include_ESP8266WiFi="#include ",f.setups_.setup_WiFi_begin="WiFi.begin("+e+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},xh=function(x,f){return["WiFi.status()",f.ORDER_ATOMIC]},fh=function(x,f){var e=K.JSFuncs.getPlatform(),t=this.getFieldValue("mode");return e.match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":e.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include "),"IP"==t?["WiFi.localIP()",f.ORDER_ATOMIC]:["WiFi.macAddress()",f.ORDER_ATOMIC]},eh=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"timeZone",f.ORDER_ATOMIC),i=f.valueToCode(this,"Interval",f.ORDER_ATOMIC);return f.definitions_.include_TimeLib="#include ",f.definitions_.include_NtpClientLib="#include ",f.definitions_.var_declare_timeZone="int8_t timeZone = "+t+";",f.definitions_.var_declare_ntpServer="const PROGMEM char *ntpServer = "+e+";",f.setups_["setup_NTP.setInterval"]="NTP.setInterval ("+i+");",f.setups_["setup_NTP.setNTPTimeout"]="NTP.setNTPTimeout (1500);",f.setups_["setup_NTP.begin"]="NTP.begin (ntpServer, timeZone, false);",""},th=function(x,f){return[this.getFieldValue("TIME_TYPE"),f.ORDER_ATOMIC]};var ih;const nh=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_port",f.ORDER_ATOMIC),i=f.valueToCode(this,"IOT_ID",f.ORDER_ATOMIC),n=f.valueToCode(this,"IOT_PWD",f.ORDER_ATOMIC);(ih=f.valueToCode(this,"Client_ID",f.ORDER_ATOMIC)).length>2&&(ih+="/"),ih=ih.replace(/"/g,""),f.definitions_.include_Adafruit_MQTT='#include "Adafruit_MQTT.h"',f.definitions_.include_Adafruit_MQTT_Client='#include "Adafruit_MQTT_Client.h"',f.definitions_.include__WiFiClient="WiFiClient client;",f.definitions_.var_declare_Adafruit_MQTT_Client="Adafruit_MQTT_Client mqtt(&client, "+e+", "+t+", "+i+", "+n+");",K.JSFuncs.getPlatform().match(RegExp(/ESP8266/))&&(f.definitions_["var_declare_ MQTT_connect();"]="void MQTT_connect();");var s="MQTT_connect",c="void "+s+'() {\n int8_t ret;\n if (mqtt.connected()) {\n return;\n }\n Serial.print("Connecting to MQTT... ");\n uint8_t retries = 3;\n while ((ret = mqtt.connect()) != 0) {\n Serial.println(mqtt.connectErrorString(ret));\n Serial.println("Retrying MQTT connection in 5 seconds...");\n mqtt.disconnect();\n delay(5000);\n retries--;\n if (retries == 0) {\n while (1);\n }\n }\n Serial.println("MQTT Connected!");\n}\n';return f.definitions_["var_declare_"+s]=c,s+"();\n"},sh=function(){return"MQTT_connect();\n"},ch=function(x,f){var e=this.getFieldValue("Topic"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i="MQTT_Topic_"+e;return f.definitions_["var_declare_Adafruit_MQTT_Publish"+i]="Adafruit_MQTT_Publish "+i+' = Adafruit_MQTT_Publish(&mqtt, "'+ih+e+'");',i+".publish("+t+");\n "},ah=function(x,f){var e=this.getFieldValue("Topic_0");return e&&(e=e.replace(/"/g,"")),["(char *)"+("MQTT_Topic_"+e)+".lastread",f.ORDER_ATOMIC]},lh=function(x,f){var e=0;(s=this.getFieldValue("Topic_0"))&&(s=s.replace(/"/g,""));var t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),n="if (subscription ==&"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }";for(f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+ih+"/"+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+ih+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",e=1;e<=this.elseifCount_;e++){var s;(s=this.getFieldValue("Topic_"+e))&&(s=s.replace(/"/g,"")),t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+ih+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+ih+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",n+=" else if (subscription == &"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }"}return this.elseCount_&&(n+=" else {\n "+(i=f.statementToCode(this,"ELSE"))+"\n }"),"Adafruit_MQTT_Subscribe *subscription;\nwhile ((subscription = mqtt.readSubscription(5000))) {\n "+n+"\n}\n"},dh=function(x,f){var e=f.valueToCode(this,"api",f.ORDER_ATOMIC),t=f.statementToCode(this,"success");t=t.replace(/(^\s*)|(\s*$)/g,"");var i=f.statementToCode(this,"failure");return i=i.replace(/(^\s*)|(\s*$)/g,""),f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266HTTPClient="#include ","if (WiFi.status() == WL_CONNECTED) {\nHTTPClient http;\nhttp.begin("+e+");\nint httpCode = http.GET();\nif (httpCode > 0) {\nString Request_result = http.getString();\n"+t+"\n}\nelse {\n"+i+"\n} \nhttp.end();\n}\n"},ph=function(x,f){return"SmartConfig"==this.getFieldValue("MODE")?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266WiFiMulti="#include ",f.definitions_.var_declare_ESP8266WiFiMulti=" ESP8266WiFiMulti wifiMulti;",f.setups_.setup_WiFi_Smartconfig='Serial.println("Wait for Smartconfig");\nwifiMulti.run();\nWiFi.setAutoConnect(true);\nif (WiFi.status() == WL_CONNECTED) {\nSerial.println("WiFi connected");\nSerial.println("IP address: ");\nSerial.println(WiFi.localIP());\n }\nelse{\n WiFi.mode(WIFI_STA);\n WiFi.beginSmartConfig();\n while(!WiFi.smartConfigDone()){\nSerial.print(".");\ndelay(500);\n}\nSerial.println("SmartConfig Success");\nSerial.printf("SSID:%s", WiFi.SSID().c_str());\nSerial.printf("PSW:%s", WiFi.psk().c_str());\nwifiMulti.addAP(WiFi.SSID().c_str(),WiFi.psk().c_str());\n}\n',""):(f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.setups_.setup_WiFi_mode="WiFi.mode(WIFI_STA);",f.setups_.setup_WiFiManager="WiFiManager wm;",f.setups_.setup_bool_res="bool res;",f.setups_.setup_wifiManagerautoConnect="res=wm.autoConnect();","")},oh=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK",f.ORDER_ATOMIC),n=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),c=f.valueToCode(this,"IP",f.ORDER_ATOMIC),a=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);n=n.replace(new RegExp(/\./g),","),s=s.replace(new RegExp(/\./g),","),c=c.replace(new RegExp(/\./g),","),null!=K.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);","STA"==e?(f.definitions_.include_WiFiUdp="#include ",f.definitions_.define_STASSID="#define STASSID "+t,f.definitions_.define_STAPSK="#define STAPSK "+i,f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+c+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+a+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+a+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_sta='WiFi.mode(WIFI_STA);\n WiFi.begin(STASSID, STAPSK);\n while(WiFi.status() != WL_CONNECTED){\n Serial.print(".");\n delay(500);\n }\n delay(500);\n Serial.print("Connected! IP address: ");\n Serial.println(WiFi.localIP());\n Serial.printf("UDP server on port ", localPort);\n Udp.begin(localPort);'):(f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+i+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+c+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+a+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+a+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_ap='WiFi.mode(WIFI_AP);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());');return""},uh=function(x,f){var e=f.valueToCode(this,"SSID1",f.ORDER_ATOMIC),t=f.valueToCode(this,"SSID2",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK1",f.ORDER_ATOMIC),n=f.valueToCode(this,"PSK2",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),c=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),a=f.valueToCode(this,"IP",f.ORDER_ATOMIC),l=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);s=s.replace(new RegExp(/\./g),","),c=c.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),f.definitions_.define_STASSID="#define STASSID "+e,f.definitions_.define_STAPSK="#define STAPSK "+i,null!=K.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+n+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+s+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+c+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wifi_ap_and_sta='WiFi.mode(WIFI_AP_STA);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n WiFi.begin(STASSID, STAPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';return""},rh=function(x,f){var e=f.valueToCode(this,"input_data",f.ORDER_ATOMIC)||"COM",t=f.statementToCode(this,"do");return'int packetSize = Udp.parsePacket();\nif (packetSize) {\n Serial.printf("Received %d bytes from %s, port %d\\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());\n int len = Udp.read(incomingPacket, 536);\n if (len > 0) {\n incomingPacket[len] = 0;\n Serial.printf("UDP packet contents: %s\\n", incomingPacket);\n String '+e+" = incomingPacket;\n"+(""!=(t=t.replace(/(^\s*)|(\s*$)/g,""))?" "+t.replace(new RegExp(/\n/g),"\n ")+"\n":"")+" }\n}\n"},_h=function(x,f){return"Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());\nUdp.write("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\nUdp.endPacket();\n"};var Fh={北京:"101010100",海淀:"101010200",朝阳:"101010300",顺义:"101010400",怀柔:"101010500",通州:"101010600",昌平:"101010700",延庆:"101010800",丰台:"101010900",石景山:"101011000",大兴:"101011100",房山:"101011200",密云:"101011300",门头沟:"101011400",平谷:"101011500",八达岭:"101011600",佛爷顶:"101011700",汤河口:"101011800",密云上甸子:"101011900",斋堂:"101012000",霞云岭:"101012100",上海:"101020100",闵行:"101020200",宝山:"101020300",川沙:"101020400",嘉定:"101020500",南汇:"101020600",金山:"101020700",青浦:"101020800",松江:"101020900",奉贤:"101021000",崇明:"101021100",陈家镇:"101021101",引水船:"101021102",徐家汇:"101021200",浦东:"101021300",天津:"101030100",武清:"101030200",宝坻:"101030300",东丽:"101030400",西青:"101030500",北辰:"101030600",宁河:"101030700",汉沽:"101030800",静海:"101030900",津南:"101031000",塘沽:"101031100",大港:"101031200",平台:"101031300",蓟县:"101031400",重庆:"101040100",永川:"101040200",合川:"101040300",南川:"101040400",江津:"101040500",万盛:"101040600",渝北:"101040700",北碚:"101040800",巴南:"101040900",长寿:"101041000",黔江:"101041100",万州天城:"101041200",万州龙宝:"101041300",涪陵:"101041400",开县:"101041500",城口:"101041600",云阳:"101041700",巫溪:"101041800",奉节:"101041900",巫山:"101042000",潼南:"101042100",垫江:"101042200",梁平:"101042300",忠县:"101042400",石柱:"101042500",大足:"101042600",荣昌:"101042700",铜梁:"101042800",璧山:"101042900",丰都:"101043000",武隆:"101043100",彭水:"101043200",綦江:"101043300",酉阳:"101043400",金佛山:"101043500",秀山:"101043600",沙坪坝:"101043700",哈尔滨:"101050101",双城:"101050102",呼兰:"101050103",阿城:"101050104",宾县:"101050105",依兰:"101050106",巴彦:"101050107",通河:"101050108",方正:"101050109",延寿:"101050110",尚志:"101050111",五常:"101050112",木兰:"101050113",齐齐哈尔:"101050201",讷河:"101050202",龙江:"101050203",甘南:"101050204",富裕:"101050205",依安:"101050206",拜泉:"101050207",克山:"101050208",克东:"101050209",泰来:"101050210",牡丹江:"101050301",海林:"101050302",穆棱:"101050303",林口:"101050304",绥芬河:"101050305",宁安:"101050306",东宁:"101050307",佳木斯:"101050401",汤原:"101050402",抚远:"101050403",桦川:"101050404",桦南:"101050405",同江:"101050406",富锦:"101050407",绥化:"101050501",肇东:"101050502",安达:"101050503",海伦:"101050504",明水:"101050505",望奎:"101050506",兰西:"101050507",青冈:"101050508",庆安:"101050509",绥棱:"101050510",黑河:"101050601",嫩江:"101050602",孙吴:"101050603",逊克:"101050604",五大连池:"101050605",北安:"101050606",大兴安岭:"101050701",塔河:"101050702",漠河:"101050703",呼玛:"101050704",呼中:"101050705",新林:"101050706",阿木尔:"101050707",加格达奇:"101050708",伊春:"101050801",乌伊岭:"101050802",五营:"101050803",铁力:"101050804",嘉荫:"101050805",大庆:"101050901",林甸:"101050902",肇州:"101050903",肇源:"101050904",杜蒙:"101050905",七台河:"101051002",勃利:"101051003",鸡西:"101051101",虎林:"101051102",密山:"101051103",鸡东:"101051104",鹤岗:"101051201",绥滨:"101051202",萝北:"101051203",双鸭山:"101051301",集贤:"101051302",宝清:"101051303",饶河:"101051304",长春:"101060101",农安:"101060102",德惠:"101060103",九台:"101060104",榆树:"101060105",双阳:"101060106",吉林:"101060201",舒兰:"101060202",永吉:"101060203",蛟河:"101060204",磐石:"101060205",桦甸:"101060206",烟筒山:"101060207",延吉:"101060301",敦化:"101060302",安图:"101060303",汪清:"101060304",和龙:"101060305",天池:"101060306",龙井:"101060307",珲春:"101060308",图们:"101060309",罗子沟:"101060311",延边:"101060312",四平:"101060401",双辽:"101060402",梨树:"101060403",公主岭:"101060404",伊通:"101060405",孤家子:"101060406",通化:"101060501",梅河口:"101060502",柳河:"101060503",辉南:"101060504",集安:"101060505",通化县:"101060506",白城:"101060601",洮南:"101060602",大安:"101060603",镇赉:"101060604",通榆:"101060605",辽源:"101060701",东丰:"101060702",松原:"101060801",乾安:"101060802",前郭:"101060803",长岭:"101060804",扶余:"101060805",白山:"101060901",靖宇:"101060902",临江:"101060903",东岗:"101060904",长白:"101060905",沈阳:"101070101",苏家屯:"101070102",辽中:"101070103",康平:"101070104",法库:"101070105",新民:"101070106",于洪:"101070107",新城子:"101070108",大连:"101070201",瓦房店:"101070202",金州:"101070203",普兰店:"101070204",旅顺:"101070205",长海:"101070206",庄河:"101070207",皮口:"101070208",海洋岛:"101070209",鞍山:"101070301",台安:"101070302",岫岩:"101070303",海城:"101070304",抚顺:"101070401",清原:"101070403",章党:"101070404",本溪:"101070501",本溪县:"101070502",草河口:"101070503",桓仁:"101070504",丹东:"101070601",凤城:"101070602",宽甸:"101070603",东港:"101070604",东沟:"101070605",锦州:"101070701",凌海:"101070702",北宁:"101070703",义县:"101070704",黑山:"101070705",北镇:"101070706",营口:"101070801",大石桥:"101070802",盖州:"101070803",阜新:"101070901",彰武:"101070902",辽阳:"101071001",辽阳县:"101071002",灯塔:"101071003",铁岭:"101071101",开原:"101071102",昌图:"101071103",西丰:"101071104",建平:"101071202",凌源:"101071203",喀左:"101071204",北票:"101071205",羊山:"101071206",建平县:"101071207",盘锦:"101071301",大洼:"101071302",盘山:"101071303",葫芦岛:"101071401",建昌:"101071402",绥中:"101071403",兴城:"101071404",呼和浩特:"101080101",土默特左旗:"101080102",托克托:"101080103",和林格尔:"101080104",清水河:"101080105",呼和浩特市郊区:"101080106",武川:"101080107",包头:"101080201",白云鄂博:"101080202",满都拉:"101080203",土默特右旗:"101080204",固阳:"101080205",达尔罕茂明安联合旗:"101080206",石拐:"101080207",乌海:"101080301",集宁:"101080401",卓资:"101080402",化德:"101080403",商都:"101080404",希拉穆仁:"101080405",兴和:"101080406",凉城:"101080407",察哈尔右翼前旗:"101080408",察哈尔右翼中旗:"101080409",察哈尔右翼后旗:"101080410",四子王旗:"101080411",丰镇:"101080412",通辽:"101080501",舍伯吐:"101080502",科尔沁左翼中旗:"101080503",科尔沁左翼后旗:"101080504",青龙山:"101080505",开鲁:"101080506",库伦旗:"101080507",奈曼旗:"101080508",扎鲁特旗:"101080509",高力板:"101080510",巴雅尔吐胡硕:"101080511",通辽钱家店:"101080512",赤峰:"101080601",赤峰郊区站:"101080602",阿鲁科尔沁旗:"101080603",浩尔吐:"101080604",巴林左旗:"101080605",巴林右旗:"101080606",林西:"101080607",克什克腾旗:"101080608",翁牛特旗:"101080609",岗子:"101080610",喀喇沁旗:"101080611",八里罕:"101080612",宁城:"101080613",敖汉旗:"101080614",宝过图:"101080615",鄂尔多斯:"101080701",达拉特旗:"101080703",准格尔旗:"101080704",鄂托克前旗:"101080705",河南:"101080706",伊克乌素:"101080707",鄂托克旗:"101080708",杭锦旗:"101080709",乌审旗:"101080710",伊金霍洛旗:"101080711",乌审召:"101080712",东胜:"101080713",临河:"101080801",五原:"101080802",磴口:"101080803",乌拉特前旗:"101080804",大佘太:"101080805",乌拉特中旗:"101080806",乌拉特后旗:"101080807",海力素:"101080808",那仁宝力格:"101080809",杭锦后旗:"101080810",巴盟农试站:"101080811",锡林浩特:"101080901",朝克乌拉:"101080902",二连浩特:"101080903",阿巴嘎旗:"101080904",伊和郭勒:"101080905",苏尼特左旗:"101080906",苏尼特右旗:"101080907",朱日和:"101080908",东乌珠穆沁旗:"101080909",西乌珠穆沁旗:"101080910",太仆寺旗:"101080911",镶黄旗:"101080912",正镶白旗:"101080913",正兰旗:"101080914",多伦:"101080915",博克图:"101080916",乌拉盖:"101080917",白日乌拉:"101080918",那日图:"101080919",呼伦贝尔:"101081000",海拉尔:"101081001",小二沟:"101081002",阿荣旗:"101081003",莫力达瓦旗:"101081004",鄂伦春旗:"101081005",鄂温克旗:"101081006",陈巴尔虎旗:"101081007",新巴尔虎左旗:"101081008",新巴尔虎右旗:"101081009",满洲里:"101081010",牙克石:"101081011",扎兰屯:"101081012",额尔古纳:"101081014",根河:"101081015",图里河:"101081016",乌兰浩特:"101081101",阿尔山:"101081102",科尔沁右翼中旗:"101081103",胡尔勒:"101081104",扎赉特旗:"101081105",索伦:"101081106",突泉:"101081107",霍林郭勒:"101081108",阿拉善左旗:"101081201",阿拉善右旗:"101081202",额济纳旗:"101081203",拐子湖:"101081204",吉兰太:"101081205",锡林高勒:"101081206",头道湖:"101081207",中泉子:"101081208",巴彦诺尔贡:"101081209",雅布赖:"101081210",乌斯太:"101081211",孪井滩:"101081212",石家庄:"101090101",井陉:"101090102",正定:"101090103",栾城:"101090104",行唐:"101090105",灵寿:"101090106",高邑:"101090107",深泽:"101090108",赞皇:"101090109",无极:"101090110",平山:"101090111",元氏:"101090112",赵县:"101090113",辛集:"101090114",藁城:"101090115",晋洲:"101090116",新乐:"101090117",保定:"101090201",满城:"101090202",阜平:"101090203",徐水:"101090204",唐县:"101090205",高阳:"101090206",容城:"101090207",紫荆关:"101090208",涞源:"101090209",望都:"101090210",安新:"101090211",易县:"101090212",涞水:"101090213",曲阳:"101090214",蠡县:"101090215",顺平:"101090216",雄县:"101090217",涿州:"101090218",定州:"101090219",安国:"101090220",高碑店:"101090221",张家口:"101090301",宣化:"101090302",张北:"101090303",康保:"101090304",沽源:"101090305",尚义:"101090306",蔚县:"101090307",阳原:"101090308",怀安:"101090309",万全:"101090310",怀来:"101090311",涿鹿:"101090312",赤城:"101090313",崇礼:"101090314",承德:"101090402",承德县:"101090403",兴隆:"101090404",平泉:"101090405",滦平:"101090406",隆化:"101090407",丰宁:"101090408",宽城:"101090409",围场:"101090410",塞罕坎:"101090411",唐山:"101090501",丰南:"101090502",丰润:"101090503",滦县:"101090504",滦南:"101090505",乐亭:"101090506",迁西:"101090507",玉田:"101090508",唐海:"101090509",遵化:"101090510",迁安:"101090511",廊坊:"101090601",固安:"101090602",永清:"101090603",香河:"101090604",大城:"101090605",文安:"101090606",大厂:"101090607",霸州:"101090608",三河:"101090609",沧州:"101090701",青县:"101090702",东光:"101090703",海兴:"101090704",盐山:"101090705",肃宁:"101090706",南皮:"101090707",吴桥:"101090708",献县:"101090709",孟村:"101090710",泊头:"101090711",任丘:"101090712",黄骅:"101090713",河间:"101090714",曹妃甸:"101090715",衡水:"101090801",枣强:"101090802",武邑:"101090803",武强:"101090804",饶阳:"101090805",安平:"101090806",故城:"101090807",景县:"101090808",阜城:"101090809",冀州:"101090810",深州:"101090811",邢台:"101090901",临城:"101090902",邢台县浆水:"101090903",内邱:"101090904",柏乡:"101090905",隆尧:"101090906",南和:"101090907",宁晋:"101090908",巨鹿:"101090909",新河:"101090910",广宗:"101090911",平乡:"101090912",威县:"101090913",清河:"101090914",临西:"101090915",南宫:"101090916",沙河:"101090917",任县:"101090918",邯郸:"101091001",峰峰:"101091002",临漳:"101091003",成安:"101091004",大名:"101091005",涉县:"101091006",磁县:"101091007",肥乡:"101091008",永年:"101091009",邱县:"101091010",鸡泽:"101091011",广平:"101091012",馆陶:"101091013",魏县:"101091014",曲周:"101091015",武安:"101091016",秦皇岛:"101091101",青龙:"101091102",昌黎:"101091103",抚宁:"101091104",卢龙:"101091105",北戴河:"101091106",太原:"101100101",清徐:"101100102",阳曲:"101100103",娄烦:"101100104",太原古交区:"101100105",太原北郊:"101100106",太原南郊:"101100107",大同:"101100201",阳高:"101100202",大同县:"101100203",天镇:"101100204",广灵:"101100205",灵邱:"101100206",浑源:"101100207",左云:"101100208",阳泉:"101100301",盂县:"101100302",平定:"101100303",晋中:"101100401",榆次:"101100402",榆社:"101100403",左权:"101100404",和顺:"101100405",昔阳:"101100406",寿阳:"101100407",太谷:"101100408",祁县:"101100409",平遥:"101100410",灵石:"101100411",介休:"101100412",长治:"101100501",黎城:"101100502",屯留:"101100503",潞城:"101100504",襄垣:"101100505",平顺:"101100506",武乡:"101100507",沁县:"101100508",长子:"101100509",沁源:"101100510",壶关:"101100511",晋城:"101100601",沁水:"101100602",阳城:"101100603",陵川:"101100604",高平:"101100605",临汾:"101100701",曲沃:"101100702",永和:"101100703",隰县:"101100704",大宁:"101100705",吉县:"101100706",襄汾:"101100707",蒲县:"101100708",汾西:"101100709",洪洞:"101100710",霍州:"101100711",乡宁:"101100712",翼城:"101100713",侯马:"101100714",浮山:"101100715",安泽:"101100716",古县:"101100717",运城:"101100801",临猗:"101100802",稷山:"101100803",万荣:"101100804",河津:"101100805",新绛:"101100806",绛县:"101100807",闻喜:"101100808",垣曲:"101100809",永济:"101100810",芮城:"101100811",夏县:"101100812",平陆:"101100813",朔州:"101100901",平鲁:"101100902",山阴:"101100903",右玉:"101100904",应县:"101100905",怀仁:"101100906",忻州:"101101001",定襄:"101101002",五台县豆村:"101101003",河曲:"101101004",偏关:"101101005",神池:"101101006",宁武:"101101007",代县:"101101008",繁峙:"101101009",五台山:"101101010",保德:"101101011",静乐:"101101012",岢岚:"101101013",五寨:"101101014",原平:"101101015",吕梁:"101101100",离石:"101101101",临县:"101101102",兴县:"101101103",岚县:"101101104",柳林:"101101105",石楼:"101101106",方山:"101101107",交口:"101101108",中阳:"101101109",孝义:"101101110",汾阳:"101101111",文水:"101101112",交城:"101101113",西安:"101110101",长安:"101110102",临潼:"101110103",蓝田:"101110104",周至:"101110105",户县:"101110106",高陵:"101110107",杨凌:"101110108",咸阳:"101110200",三原:"101110201",礼泉:"101110202",永寿:"101110203",淳化:"101110204",泾阳:"101110205",武功:"101110206",乾县:"101110207",彬县:"101110208",长武:"101110209",旬邑:"101110210",兴平:"101110211",延安:"101110300",延长:"101110301",延川:"101110302",子长:"101110303",宜川:"101110304",富县:"101110305",志丹:"101110306",安塞:"101110307",甘泉:"101110308",洛川:"101110309",黄陵:"101110310",黄龙:"101110311",吴起:"101110312",榆林:"101110401",府谷:"101110402",神木:"101110403",佳县:"101110404",定边:"101110405",靖边:"101110406",横山:"101110407",米脂:"101110408",子洲:"101110409",绥德:"101110410",吴堡:"101110411",清涧:"101110412",渭南:"101110501",华县:"101110502",潼关:"101110503",大荔:"101110504",白水:"101110505",富平:"101110506",蒲城:"101110507",澄城:"101110508",合阳:"101110509",韩城:"101110510",华阴:"101110511",华山:"101110512",商洛:"101110601",洛南:"101110602",柞水:"101110603",镇安:"101110605",丹凤:"101110606",商南:"101110607",山阳:"101110608",安康:"101110701",紫阳:"101110702",石泉:"101110703",汉阴:"101110704",旬阳:"101110705",岚皋:"101110706",平利:"101110707",白河:"101110708",镇坪:"101110709",宁陕:"101110710",汉中:"101110801",略阳:"101110802",勉县:"101110803",留坝:"101110804",洋县:"101110805",城固:"101110806",西乡:"101110807",佛坪:"101110808",宁强:"101110809",南郑:"101110810",镇巴:"101110811",宝鸡:"101110901",宝鸡县:"101110902",千阳:"101110903",麟游:"101110904",岐山:"101110905",凤翔:"101110906",扶风:"101110907",眉县:"101110908",太白:"101110909",凤县:"101110910",陇县:"101110911",铜川:"101111001",耀县:"101111002",宜君:"101111003",济南:"101120101",长清:"101120102",商河:"101120103",章丘:"101120104",平阴:"101120105",济阳:"101120106",青岛:"101120201",崂山:"101120202",潮连岛:"101120203",即墨:"101120204",胶州:"101120205",胶南:"101120206",莱西:"101120207",平度:"101120208",淄博:"101120301",淄川:"101120302",博山:"101120303",高青:"101120304",周村:"101120305",沂源:"101120306",桓台:"101120307",临淄:"101120308",德州:"101120401",武城:"101120402",临邑:"101120403",陵县:"101120404",齐河:"101120405",乐陵:"101120406",庆云:"101120407",平原:"101120408",宁津:"101120409",夏津:"101120410",禹城:"101120411",烟台:"101120501",莱州:"101120502",长岛:"101120503",蓬莱:"101120504",龙口:"101120505",招远:"101120506",栖霞:"101120507",福山:"101120508",牟平:"101120509",莱阳:"101120510",海阳:"101120511",千里岩:"101120512",潍坊:"101120601",青州:"101120602",寿光:"101120603",临朐:"101120604",昌乐:"101120605",昌邑:"101120606",安丘:"101120607",高密:"101120608",诸城:"101120609",济宁:"101120701",嘉祥:"101120702",微山:"101120703",鱼台:"101120704",兖州:"101120705",金乡:"101120706",汶上:"101120707",泗水:"101120708",梁山:"101120709",曲阜:"101120710",邹城:"101120711",泰安:"101120801",新泰:"101120802",泰山:"101120803",肥城:"101120804",东平:"101120805",宁阳:"101120806",临沂:"101120901",莒南:"101120902",沂南:"101120903",苍山:"101120904",临沭:"101120905",郯城:"101120906",蒙阴:"101120907",平邑:"101120908",费县:"101120909",沂水:"101120910",马站:"101120911",菏泽:"101121001",鄄城:"101121002",郓城:"101121003",东明:"101121004",定陶:"101121005",巨野:"101121006",曹县:"101121007",成武:"101121008",单县:"101121009",滨州:"101121101",博兴:"101121102",无棣:"101121103",阳信:"101121104",惠民:"101121105",沾化:"101121106",邹平:"101121107",东营:"101121201",河口:"101121202",垦利:"101121203",利津:"101121204",广饶:"101121205",威海:"101121301",文登:"101121302",荣成:"101121303",乳山:"101121304",成山头:"101121305",石岛:"101121306",枣庄:"101121401",薛城:"101121402",峄城:"101121403",台儿庄:"101121404",滕州:"101121405",日照:"101121501",五莲:"101121502",莒县:"101121503",莱芜:"101121601",聊城:"101121701",冠县:"101121702",阳谷:"101121703",高唐:"101121704",茌平:"101121705",东阿:"101121706",临清:"101121707",朝城:"101121708",莘县:"101121709",乌鲁木齐:"101130101",蔡家湖:"101130102",小渠子:"101130103",巴仑台:"101130104",达坂城:"101130105",十三间房气象站:"101130106",天山大西沟:"101130107",乌鲁木齐牧试站:"101130108",白杨沟:"101130110",克拉玛依:"101130201",石河子:"101130301",炮台:"101130302",莫索湾:"101130303",乌兰乌苏:"101130304",昌吉:"101130401",呼图壁:"101130402",米泉:"101130403",阜康:"101130404",吉木萨尔:"101130405",奇台:"101130406",玛纳斯:"101130407",木垒:"101130408",北塔山:"101130409",吐鲁番:"101130501",托克逊:"101130502",吐鲁番东坎:"101130503",鄯善:"101130504",红柳河:"101130505",库尔勒:"101130601",轮台:"101130602",尉犁:"101130603",若羌:"101130604",且末:"101130605",和静:"101130606",焉耆:"101130607",和硕:"101130608",库米什:"101130609",巴音布鲁克:"101130610",铁干里克:"101130611",博湖:"101130612",塔中:"101130613",阿拉尔:"101130701",阿克苏:"101130801",乌什:"101130802",温宿:"101130803",拜城:"101130804",新和:"101130805",沙雅:"101130806",库车:"101130807",柯坪:"101130808",阿瓦提:"101130809",喀什:"101130901",英吉沙:"101130902",塔什库尔干:"101130903",麦盖提:"101130904",莎车:"101130905",叶城:"101130906",泽普:"101130907",巴楚:"101130908",岳普湖:"101130909",伽师:"101130910",伊宁:"101131001",察布查尔:"101131002",尼勒克:"101131003",伊宁县:"101131004",巩留:"101131005",新源:"101131006",昭苏:"101131007",特克斯:"101131008",霍城:"101131009",霍尔果斯:"101131010",塔城:"101131101",裕民:"101131102",额敏:"101131103",和布克赛尔:"101131104",托里:"101131105",乌苏:"101131106",沙湾:"101131107",和丰:"101131108",哈密:"101131201",沁城:"101131202",巴里坤:"101131203",伊吾:"101131204",淖毛湖:"101131205",和田:"101131301",皮山:"101131302",策勒:"101131303",墨玉:"101131304",洛浦:"101131305",民丰:"101131306",于田:"101131307",阿勒泰:"101131401",哈巴河:"101131402",一八五团:"101131403",黑山头:"101131404",吉木乃:"101131405",布尔津:"101131406",福海:"101131407",富蕴:"101131408",青河:"101131409",安德河:"101131410",阿图什:"101131501",乌恰:"101131502",阿克陶:"101131503",阿合奇:"101131504",吐尔尕特:"101131505",博乐:"101131601",温泉:"101131602",精河:"101131603",阿拉山口:"101131606",拉萨:"101140101",当雄:"101140102",尼木:"101140103",墨竹贡卡:"101140104",日喀则:"101140201",拉孜:"101140202",南木林:"101140203",聂拉木:"101140204",定日:"101140205",江孜:"101140206",帕里:"101140207",山南:"101140301",贡嘎:"101140302",琼结:"101140303",加查:"101140304",浪卡子:"101140305",错那:"101140306",隆子:"101140307",泽当:"101140308",林芝:"101140401",波密:"101140402",米林:"101140403",察隅:"101140404",昌都:"101140501",丁青:"101140502",类乌齐:"101140503",洛隆:"101140504",左贡:"101140505",芒康:"101140506",八宿:"101140507",那曲:"101140601",嘉黎:"101140603",班戈:"101140604",安多:"101140605",索县:"101140606",比如:"101140607",阿里:"101140701",改则:"101140702",申扎:"101140703",狮泉河:"101140704",普兰:"101140705",西宁:"101150101",大通:"101150102",湟源:"101150103",湟中:"101150104",铁卜加:"101150105",铁卜加寺:"101150106",中心站:"101150107",海东:"101150201",乐都:"101150202",民和:"101150203",互助:"101150204",化隆:"101150205",循化:"101150206",冷湖:"101150207",平安:"101150208",黄南:"101150301",尖扎:"101150302",泽库:"101150303",海南:"101150401",江西沟:"101150402",贵德:"101150404",河卡:"101150405",兴海:"101150406",贵南:"101150407",同德:"101150408",共和:"101150409",果洛:"101150501",班玛:"101150502",甘德:"101150503",达日:"101150504",久治:"101150505",玛多:"101150506",玛沁:"101150508",玉树:"101150601",托托河:"101150602",治多:"101150603",杂多:"101150604",囊谦:"101150605",曲麻莱:"101150606",海西:"101150701",格尔木:"101150702",察尔汉:"101150703",野牛沟:"101150704",五道梁:"101150705",小灶火:"101150706",天峻:"101150708",乌兰:"101150709",都兰:"101150710",诺木洪:"101150711",茫崖:"101150712",大柴旦:"101150713",茶卡:"101150714",香日德:"101150715",德令哈:"101150716",海北:"101150801",门源:"101150802",祁连:"101150803",海晏:"101150804",托勒:"101150805",刚察:"101150806",兰州:"101160101",皋兰:"101160102",永登:"101160103",榆中:"101160104",定西:"101160201",通渭:"101160202",陇西:"101160203",渭源:"101160204",临洮:"101160205",漳县:"101160206",岷县:"101160207",安定:"101160208",平凉:"101160301",泾川:"101160302",灵台:"101160303",崇信:"101160304",华亭:"101160305",庄浪:"101160306",静宁:"101160307",崆峒:"101160308",庆阳:"101160401",西峰:"101160402",环县:"101160403",华池:"101160404",合水:"101160405",正宁:"101160406",宁县:"101160407",镇原:"101160408",庆城:"101160409",武威:"101160501",民勤:"101160502",古浪:"101160503",乌鞘岭:"101160504",天祝:"101160505",金昌:"101160601",永昌:"101160602",张掖:"101160701",肃南:"101160702",民乐:"101160703",临泽:"101160704",高台:"101160705",山丹:"101160706",酒泉:"101160801",鼎新:"101160802",金塔:"101160803",马鬃山:"101160804",瓜州:"101160805",肃北:"101160806",玉门镇:"101160807",敦煌:"101160808",天水:"101160901",北道区:"101160902",清水:"101160903",秦安:"101160904",甘谷:"101160905",武山:"101160906",张家川:"101160907",麦积:"101160908",武都:"101161001",成县:"101161002",文县:"101161003",宕昌:"101161004",康县:"101161005",西和:"101161006",礼县:"101161007",徽县:"101161008",两当:"101161009",临夏:"101161101",康乐:"101161102",永靖:"101161103",广河:"101161104",和政:"101161105",东乡:"101161106",合作:"101161201",临潭:"101161202",卓尼:"101161203",舟曲:"101161204",迭部:"101161205",玛曲:"101161206",碌曲:"101161207",夏河:"101161208",白银:"101161301",靖远:"101161302",会宁:"101161303",华家岭:"101161304",景泰:"101161305",银川:"101170101",永宁:"101170102",灵武:"101170103",贺兰:"101170104",石嘴山:"101170201",惠农:"101170202",平罗:"101170203",陶乐:"101170204",石炭井:"101170205",大武口:"101170206",吴忠:"101170301",同心:"101170302",盐池:"101170303",韦州:"101170304",麻黄山:"101170305",青铜峡:"101170306",固原:"101170401",西吉:"101170402",隆德:"101170403",泾源:"101170404",六盘山:"101170405",彭阳:"101170406",中卫:"101170501",中宁:"101170502",兴仁堡:"101170503",海原:"101170504",郑州:"101180101",巩义:"101180102",荥阳:"101180103",登封:"101180104",新密:"101180105",新郑:"101180106",中牟:"101180107",郑州农试站:"101180108",安阳:"101180201",汤阴:"101180202",滑县:"101180203",内黄:"101180204",林州:"101180205",新乡:"101180301",获嘉:"101180302",原阳:"101180303",辉县:"101180304",卫辉:"101180305",延津:"101180306",封丘:"101180307",长垣:"101180308",许昌:"101180401",鄢陵:"101180402",襄城:"101180403",长葛:"101180404",禹州:"101180405",平顶山:"101180501",郏县:"101180502",宝丰:"101180503",汝州:"101180504",叶县:"101180505",舞钢:"101180506",鲁山:"101180507",信阳:"101180601",息县:"101180602",罗山:"101180603",光山:"101180604",新县:"101180605",淮滨:"101180606",潢川:"101180607",固始:"101180608",商城:"101180609",鸡公山:"101180610",信阳地区农试站:"101180611",南阳:"101180701",南召:"101180702",方城:"101180703",社旗:"101180704",西峡:"101180705",内乡:"101180706",镇平:"101180707",淅川:"101180708",新野:"101180709",唐河:"101180710",邓州:"101180711",桐柏:"101180712",开封:"101180801",杞县:"101180802",尉氏:"101180803",通许:"101180804",兰考:"101180805",洛阳:"101180901",新安:"101180902",孟津:"101180903",宜阳:"101180904",洛宁:"101180905",伊川:"101180906",嵩县:"101180907",偃师:"101180908",栾川:"101180909",汝阳:"101180910",商丘:"101181001",睢阳区:"101181002",睢县:"101181003",民权:"101181004",虞城:"101181005",柘城:"101181006",宁陵:"101181007",夏邑:"101181008",永城:"101181009",焦作:"101181101",修武:"101181102",武陟:"101181103",沁阳:"101181104",博爱:"101181106",温县:"101181107",孟州:"101181108",鹤壁:"101181201",浚县:"101181202",淇县:"101181203",濮阳:"101181301",台前:"101181302",南乐:"101181303",清丰:"101181304",范县:"101181305",周口:"101181401",扶沟:"101181402",太康:"101181403",淮阳:"101181404",西华:"101181405",商水:"101181406",项城:"101181407",郸城:"101181408",鹿邑:"101181409",沈丘:"101181410",黄泛区:"101181411",漯河:"101181501",临颍:"101181502",舞阳:"101181503",驻马店:"101181601",西平:"101181602",遂平:"101181603",上蔡:"101181604",汝南:"101181605",泌阳:"101181606",平舆:"101181607",新蔡:"101181608",确山:"101181609",正阳:"101181610",三门峡:"101181701",灵宝:"101181702",渑池:"101181703",卢氏:"101181704",济源:"101181801",南京:"101190101",溧水:"101190102",高淳:"101190103",江宁:"101190104",六合:"101190105",江浦:"101190106",浦口:"101190107",无锡:"101190201",江阴:"101190202",宜兴:"101190203",镇江:"101190301",丹阳:"101190302",扬中:"101190303",句容:"101190304",丹徒:"101190305",苏州:"101190401",常熟:"101190402",张家港:"101190403",昆山:"101190404",吴县东山:"101190405",吴县:"101190406",吴江:"101190407",太仓:"101190408",南通:"101190501",海安:"101190502",如皋:"101190503",如东:"101190504",吕泗:"101190505",吕泗渔场:"101190506",启东:"101190507",海门:"101190508",扬州:"101190601",宝应:"101190602",仪征:"101190603",高邮:"101190604",江都:"101190605",邗江:"101190606",盐城:"101190701",响水:"101190702",滨海:"101190703",阜宁:"101190704",射阳:"101190705",建湖:"101190706",东台:"101190707",大丰:"101190708",盐都:"101190709",徐州:"101190801",徐州农试站:"101190802",丰县:"101190803",沛县:"101190804",邳州:"101190805",睢宁:"101190806",新沂:"101190807",淮安:"101190901",金湖:"101190902",盱眙:"101190903",洪泽:"101190904",涟水:"101190905",淮阴县:"101190906",淮阴:"101190907",楚州:"101190908",连云港:"101191001",东海:"101191002",赣榆:"101191003",灌云:"101191004",灌南:"101191005",西连岛:"101191006",燕尾港:"101191007",常州:"101191101",溧阳:"101191102",金坛:"101191103",泰州:"101191201",兴化:"101191202",泰兴:"101191203",姜堰:"101191204",靖江:"101191205",宿迁:"101191301",沭阳:"101191302",泗阳:"101191303",泗洪:"101191304",武汉:"101200101",蔡甸:"101200102",黄陂:"101200103",新洲:"101200104",江夏:"101200105",襄樊:"101200201",襄阳:"101200202",保康:"101200203",南漳:"101200204",宜城:"101200205",老河口:"101200206",谷城:"101200207",枣阳:"101200208",鄂州:"101200301",孝感:"101200401",安陆:"101200402",云梦:"101200403",大悟:"101200404",应城:"101200405",汉川:"101200406",黄冈:"101200501",红安:"101200502",麻城:"101200503",罗田:"101200504",英山:"101200505",浠水:"101200506",蕲春:"101200507",黄梅:"101200508",武穴:"101200509",黄石:"101200601",大冶:"101200602",阳新:"101200603",咸宁:"101200701",赤壁:"101200702",嘉鱼:"101200703",崇阳:"101200704",通城:"101200705",通山:"101200706",荆州:"101200801",江陵:"101200802",公安:"101200803",石首:"101200804",监利:"101200805",洪湖:"101200806",松滋:"101200807",宜昌:"101200901",远安:"101200902",秭归:"101200903",兴山:"101200904",宜昌县:"101200905",五峰:"101200906",当阳:"101200907",长阳:"101200908",宜都:"101200909",枝江:"101200910",三峡:"101200911",夷陵:"101200912",恩施:"101201001",利川:"101201002",建始:"101201003",咸丰:"101201004",宣恩:"101201005",鹤峰:"101201006",来凤:"101201007",巴东:"101201008",绿葱坡:"101201009",十堰:"101201101",竹溪:"101201102",郧西:"101201103",郧县:"101201104",竹山:"101201105",房县:"101201106",丹江口:"101201107",神农架:"101201201",随州:"101201301",广水:"101201302",荆门:"101201401",钟祥:"101201402",京山:"101201403",天门:"101201501",仙桃:"101201601",潜江:"101201701",杭州:"101210101",萧山:"101210102",桐庐:"101210103",淳安:"101210104",建德:"101210105",余杭:"101210106",临安:"101210107",富阳:"101210108",湖州:"101210201",长兴:"101210202",安吉:"101210203",德清:"101210204",嘉兴:"101210301",嘉善:"101210302",海宁:"101210303",桐乡:"101210304",平湖:"101210305",海盐:"101210306",宁波:"101210401",慈溪:"101210403",余姚:"101210404",奉化:"101210405",象山:"101210406",石浦:"101210407",宁海:"101210408",鄞县:"101210409",北仑:"101210410",鄞州:"101210411",镇海:"101210412",绍兴:"101210501",诸暨:"101210502",上虞:"101210503",新昌:"101210504",嵊州:"101210505",台州:"101210601",括苍山:"101210602",玉环:"101210603",三门:"101210604",天台:"101210605",仙居:"101210606",温岭:"101210607",大陈:"101210608",洪家:"101210609",温州:"101210701",泰顺:"101210702",文成:"101210703",平阳:"101210704",瑞安:"101210705",洞头:"101210706",乐清:"101210707",永嘉:"101210708",苍南:"101210709",丽水:"101210801",遂昌:"101210802",龙泉:"101210803",缙云:"101210804",青田:"101210805",云和:"101210806",庆元:"101210807",金华:"101210901",浦江:"101210902",兰溪:"101210903",义乌:"101210904",东阳:"101210905",武义:"101210906",永康:"101210907",磐安:"101210908",衢州:"101211001",常山:"101211002",开化:"101211003",龙游:"101211004",江山:"101211005",舟山:"101211101",嵊泗:"101211102",嵊山:"101211103",岱山:"101211104",普陀:"101211105",定海:"101211106",合肥:"101220101",长丰:"101220102",肥东:"101220103",肥西:"101220104",蚌埠:"101220201",怀远:"101220202",固镇:"101220203",五河:"101220204",芜湖:"101220301",繁昌:"101220302",芜湖县:"101220303",南陵:"101220304",淮南:"101220401",凤台:"101220402",马鞍山:"101220501",当涂:"101220502",安庆:"101220601",枞阳:"101220602",太湖:"101220603",潜山:"101220604",怀宁:"101220605",宿松:"101220606",望江:"101220607",岳西:"101220608",桐城:"101220609",宿州:"101220701",砀山:"101220702",灵璧:"101220703",泗县:"101220704",萧县:"101220705",阜阳:"101220801",阜南:"101220802",颍上:"101220803",临泉:"101220804",界首:"101220805",太和:"101220806",亳州:"101220901",涡阳:"101220902",利辛:"101220903",蒙城:"101220904",黄山站:"101221001",黄山区:"101221002",屯溪:"101221003",祁门:"101221004",黟县:"101221005",歙县:"101221006",休宁:"101221007",黄山市:"101221008",滁州:"101221101",凤阳:"101221102",明光:"101221103",定远:"101221104",全椒:"101221105",来安:"101221106",天长:"101221107",淮北:"101221201",濉溪:"101221202",铜陵:"101221301",宣城:"101221401",泾县:"101221402",旌德:"101221403",宁国:"101221404",绩溪:"101221405",广德:"101221406",郎溪:"101221407",六安:"101221501",霍邱:"101221502",寿县:"101221503",南溪:"101221504",金寨:"101221505",霍山:"101221506",舒城:"101221507",巢湖:"101221601",庐江:"101221602",无为:"101221603",含山:"101221604",和县:"101221605",池州:"101221701",东至:"101221702",青阳:"101221703",九华山:"101221704",石台:"101221705",福州:"101230101",闽清:"101230102",闽侯:"101230103",罗源:"101230104",连江:"101230105",马祖:"101230106",永泰:"101230107",平潭:"101230108",福州郊区:"101230109",长乐:"101230110",福清:"101230111",平潭海峡大桥:"101230112",厦门:"101230201",同安:"101230202",宁德:"101230301",古田:"101230302",霞浦:"101230303",寿宁:"101230304",周宁:"101230305",福安:"101230306",柘荣:"101230307",福鼎:"101230308",屏南:"101230309",莆田:"101230401",仙游:"101230402",秀屿港:"101230403",泉州:"101230501",安溪:"101230502",九仙山:"101230503",永春:"101230504",德化:"101230505",南安:"101230506",崇武:"101230507",晋江:"101230509",漳州:"101230601",长泰:"101230602",南靖:"101230603",平和:"101230604",龙海:"101230605",漳浦:"101230606",诏安:"101230607",东山:"101230608",云霄:"101230609",华安:"101230610",龙岩:"101230701",长汀:"101230702",连城:"101230703",武平:"101230704",上杭:"101230705",永定:"101230706",漳平:"101230707",三明:"101230801",宁化:"101230802",清流:"101230803",泰宁:"101230804",将乐:"101230805",建宁:"101230806",明溪:"101230807",沙县:"101230808",尤溪:"101230809",永安:"101230810",大田:"101230811",南平:"101230901",顺昌:"101230902",光泽:"101230903",邵武:"101230904",武夷山:"101230905",浦城:"101230906",建阳:"101230907",松溪:"101230908",政和:"101230909",建瓯:"101230910",南昌:"101240101",新建:"101240102",南昌县:"101240103",安义:"101240104",进贤:"101240105",莲塘:"101240106",九江:"101240201",瑞昌:"101240202",庐山:"101240203",武宁:"101240204",德安:"101240205",永修:"101240206",湖口:"101240207",彭泽:"101240208",星子:"101240209",都昌:"101240210",棠荫:"101240211",修水:"101240212",上饶:"101240301",鄱阳:"101240302",婺源:"101240303",康山:"101240304",余干:"101240305",万年:"101240306",德兴:"101240307",上饶县:"101240308",弋阳:"101240309",横峰:"101240310",铅山:"101240311",玉山:"101240312",广丰:"101240313",波阳:"101240314",抚州:"101240401",广昌:"101240402",乐安:"101240403",崇仁:"101240404",金溪:"101240405",资溪:"101240406",宜黄:"101240407",南城:"101240408",南丰:"101240409",黎川:"101240410",宜春:"101240501",铜鼓:"101240502",宜丰:"101240503",万载:"101240504",上高:"101240505",靖安:"101240506",奉新:"101240507",高安:"101240508",樟树:"101240509",丰城:"101240510",吉安:"101240601",吉安县:"101240602",吉水:"101240603",新干:"101240604",峡江:"101240605",永丰:"101240606",永新:"101240607",井冈山:"101240608",万安:"101240609",遂川:"101240610",泰和:"101240611",安福:"101240612",宁冈:"101240613",赣州:"101240701",崇义:"101240702",上犹:"101240703",南康:"101240704",大余:"101240705",信丰:"101240706",宁都:"101240707",石城:"101240708",瑞金:"101240709",于都:"101240710",会昌:"101240711",安远:"101240712",全南:"101240713",龙南:"101240714",定南:"101240715",寻乌:"101240716",兴国:"101240717",景德镇:"101240801",乐平:"101240802",萍乡:"101240901",莲花:"101240902",新余:"101241001",分宜:"101241002",鹰潭:"101241101",余江:"101241102",贵溪:"101241103",长沙:"101250101",宁乡:"101250102",浏阳:"101250103",马坡岭:"101250104",湘潭:"101250201",韶山:"101250202",湘乡:"101250203",株洲:"101250301",攸县:"101250302",醴陵:"101250303",株洲县:"101250304",茶陵:"101250305",炎陵:"101250306",衡阳:"101250401",衡山:"101250402",衡东:"101250403",祁东:"101250404",衡阳县:"101250405",常宁:"101250406",衡南:"101250407",耒阳:"101250408",南岳:"101250409",郴州:"101250501",桂阳:"101250502",嘉禾:"101250503",宜章:"101250504",临武:"101250505",桥口:"101250506",资兴:"101250507",汝城:"101250508",安仁:"101250509",永兴:"101250510",桂东:"101250511",常德:"101250601",安乡:"101250602",桃源:"101250603",汉寿:"101250604",澧县:"101250605",临澧:"101250606",石门:"101250607",益阳:"101250700",赫山区:"101250701",南县:"101250702",桃江:"101250703",安化:"101250704",沅江:"101250705",娄底:"101250801",双峰:"101250802",冷水江:"101250803",冷水滩:"101250804",新化:"101250805",涟源:"101250806",邵阳:"101250901",隆回:"101250902",洞口:"101250903",新邵:"101250904",邵东:"101250905",绥宁:"101250906",新宁:"101250907",武冈:"101250908",城步:"101250909",邵阳县:"101250910",岳阳:"101251001",华容:"101251002",湘阴:"101251003",汨罗:"101251004",平江:"101251005",临湘:"101251006",张家界:"101251101",桑植:"101251102",慈利:"101251103",怀化:"101251201",鹤城区:"101251202",沅陵:"101251203",辰溪:"101251204",靖州:"101251205",会同:"101251206",通道:"101251207",麻阳:"101251208",新晃:"101251209",芷江:"101251210",溆浦:"101251211",黔阳:"101251301",洪江:"101251302",永州:"101251401",祁阳:"101251402",东安:"101251403",双牌:"101251404",道县:"101251405",宁远:"101251406",江永:"101251407",蓝山:"101251408",新田:"101251409",江华:"101251410",吉首:"101251501",保靖:"101251502",永顺:"101251503",古丈:"101251504",凤凰:"101251505",泸溪:"101251506",龙山:"101251507",花垣:"101251508",贵阳:"101260101",白云:"101260102",花溪:"101260103",乌当:"101260104",息烽:"101260105",开阳:"101260106",修文:"101260107",清镇:"101260108",遵义:"101260201",遵义县:"101260202",仁怀:"101260203",绥阳:"101260204",湄潭:"101260205",凤冈:"101260206",桐梓:"101260207",赤水:"101260208",习水:"101260209",道真:"101260210",正安:"101260211",务川:"101260212",余庆:"101260213",汇川:"101260214",安顺:"101260301",普定:"101260302",镇宁:"101260303",平坝:"101260304",紫云:"101260305",关岭:"101260306",都匀:"101260401",贵定:"101260402",瓮安:"101260403",长顺:"101260404",福泉:"101260405",惠水:"101260406",龙里:"101260407",罗甸:"101260408",平塘:"101260409",独山:"101260410",三都:"101260411",荔波:"101260412",凯里:"101260501",岑巩:"101260502",施秉:"101260503",镇远:"101260504",黄平:"101260505",黄平旧洲:"101260506",麻江:"101260507",丹寨:"101260508",三穗:"101260509",台江:"101260510",剑河:"101260511",雷山:"101260512",黎平:"101260513",天柱:"101260514",锦屏:"101260515",榕江:"101260516",从江:"101260517",炉山:"101260518",铜仁:"101260601",江口:"101260602",玉屏:"101260603",万山:"101260604",思南:"101260605",塘头:"101260606",印江:"101260607",石阡:"101260608",沿河:"101260609",德江:"101260610",松桃:"101260611",毕节:"101260701",赫章:"101260702",金沙:"101260703",威宁:"101260704",大方:"101260705",纳雍:"101260706",织金:"101260707",六盘水:"101260801",六枝:"101260802",水城:"101260803",盘县:"101260804",黔西:"101260901",晴隆:"101260902",兴仁:"101260903",贞丰:"101260904",望谟:"101260905",兴义:"101260906",安龙:"101260907",册亨:"101260908",普安:"101260909",成都:"101270101",龙泉驿:"101270102",新都:"101270103",温江:"101270104",金堂:"101270105",双流:"101270106",郫县:"101270107",大邑:"101270108",蒲江:"101270109",新津:"101270110",都江堰:"101270111",彭州:"101270112",邛崃:"101270113",崇州:"101270114",崇庆:"101270115",彭县:"101270116",攀枝花:"101270201",仁和:"101270202",米易:"101270203",盐边:"101270204",自贡:"101270301",富顺:"101270302",荣县:"101270303",绵阳:"101270401",三台:"101270402",盐亭:"101270403",安县:"101270404",梓潼:"101270405",北川:"101270406",平武:"101270407",江油:"101270408",南充:"101270501",南部:"101270502",营山:"101270503",蓬安:"101270504",仪陇:"101270505",西充:"101270506",阆中:"101270507",达州:"101270601",宣汉:"101270602",开江:"101270603",大竹:"101270604",渠县:"101270605",万源:"101270606",达川:"101270607",遂宁:"101270701",蓬溪:"101270702",射洪:"101270703",广安:"101270801",岳池:"101270802",武胜:"101270803",邻水:"101270804",华蓥山:"101270805",巴中:"101270901",通江:"101270902",南江:"101270903",平昌:"101270904",泸州:"101271001",泸县:"101271003",合江:"101271004",叙永:"101271005",古蔺:"101271006",纳溪:"101271007",宜宾:"101271101",宜宾农试站:"101271102",宜宾县:"101271103",江安:"101271105",长宁:"101271106",高县:"101271107",珙县:"101271108",筠连:"101271109",兴文:"101271110",屏山:"101271111",内江:"101271201",东兴:"101271202",威远:"101271203",资中:"101271204",隆昌:"101271205",资阳:"101271301",安岳:"101271302",乐至:"101271303",简阳:"101271304",乐山:"101271401",犍为:"101271402",井研:"101271403",夹江:"101271404",沐川:"101271405",峨边:"101271406",马边:"101271407",峨眉:"101271408",峨眉山:"101271409",眉山:"101271501",仁寿:"101271502",彭山:"101271503",洪雅:"101271504",丹棱:"101271505",青神:"101271506",凉山:"101271601",木里:"101271603",盐源:"101271604",德昌:"101271605",会理:"101271606",会东:"101271607",宁南:"101271608",普格:"101271609",西昌:"101271610",金阳:"101271611",昭觉:"101271612",喜德:"101271613",冕宁:"101271614",越西:"101271615",甘洛:"101271616",雷波:"101271617",美姑:"101271618",布拖:"101271619",雅安:"101271701",名山:"101271702",荣经:"101271703",汉源:"101271704",石棉:"101271705",天全:"101271706",芦山:"101271707",宝兴:"101271708",甘孜:"101271801",康定:"101271802",泸定:"101271803",丹巴:"101271804",九龙:"101271805",雅江:"101271806",道孚:"101271807",炉霍:"101271808",新龙:"101271809",德格:"101271810",白玉:"101271811",石渠:"101271812",色达:"101271813",理塘:"101271814",巴塘:"101271815",乡城:"101271816",稻城:"101271817",得荣:"101271818",阿坝:"101271901",汶川:"101271902",理县:"101271903",茂县:"101271904",松潘:"101271905",九寨沟:"101271906",金川:"101271907",小金:"101271908",黑水:"101271909",马尔康:"101271910",壤塘:"101271911",若尔盖:"101271912",红原:"101271913",南坪:"101271914",德阳:"101272001",中江:"101272002",广汉:"101272003",什邡:"101272004",绵竹:"101272005",罗江:"101272006",广元:"101272101",旺苍:"101272102",青川:"101272103",剑阁:"101272104",苍溪:"101272105",广州:"101280101",番禺:"101280102",从化:"101280103",增城:"101280104",花都:"101280105",天河:"101280106",韶关:"101280201",乳源:"101280202",始兴:"101280203",翁源:"101280204",乐昌:"101280205",仁化:"101280206",南雄:"101280207",新丰:"101280208",曲江:"101280209",惠州:"101280301",博罗:"101280302",惠阳:"101280303",惠东:"101280304",龙门:"101280305",梅州:"101280401",兴宁:"101280402",蕉岭:"101280403",大埔:"101280404",丰顺:"101280406",平远:"101280407",五华:"101280408",梅县:"101280409",汕头:"101280501",潮阳:"101280502",澄海:"101280503",南澳:"101280504",云澳:"101280505",南澎岛:"101280506",深圳:"101280601",珠海:"101280701",斗门:"101280702",黄茅洲:"101280703",佛山:"101280800",顺德:"101280801",三水:"101280802",南海:"101280803",肇庆:"101280901",广宁:"101280902",四会:"101280903",德庆:"101280905",怀集:"101280906",封开:"101280907",高要:"101280908",湛江:"101281001",吴川:"101281002",雷州:"101281003",徐闻:"101281004",廉江:"101281005",硇洲:"101281006",遂溪:"101281007",江门:"101281101",开平:"101281103",新会:"101281104",恩平:"101281105",台山:"101281106",上川岛:"101281107",鹤山:"101281108",河源:"101281201",紫金:"101281202",连平:"101281203",和平:"101281204",龙川:"101281205",清远:"101281301",连南:"101281302",连州:"101281303",连山:"101281304",阳山:"101281305",佛冈:"101281306",英德:"101281307",云浮:"101281401",罗定:"101281402",新兴:"101281403",郁南:"101281404",潮州:"101281501",饶平:"101281502",东莞:"101281601",中山:"101281701",阳江:"101281801",阳春:"101281802",揭阳:"101281901",揭西:"101281902",普宁:"101281903",惠来:"101281904",茂名:"101282001",高州:"101282002",化州:"101282003",电白:"101282004",信宜:"101282005",汕尾:"101282101",海丰:"101282102",陆丰:"101282103",遮浪:"101282104",东沙岛:"101282105",昆明:"101290101",昆明农试站:"101290102",东川:"101290103",寻甸:"101290104",晋宁:"101290105",宜良:"101290106",石林:"101290107",呈贡:"101290108",富民:"101290109",嵩明:"101290110",禄劝:"101290111",安宁:"101290112",太华山:"101290113",大理:"101290201",云龙:"101290202",漾鼻:"101290203",永平:"101290204",宾川:"101290205",弥渡:"101290206",祥云:"101290207",魏山:"101290208",剑川:"101290209",洱源:"101290210",鹤庆:"101290211",南涧:"101290212",红河:"101290301",石屏:"101290302",建水:"101290303",弥勒:"101290304",元阳:"101290305",绿春:"101290306",开远:"101290307",个旧:"101290308",蒙自:"101290309",屏边:"101290310",泸西:"101290311",金平:"101290312",曲靖:"101290401",沾益:"101290402",陆良:"101290403",富源:"101290404",马龙:"101290405",师宗:"101290406",罗平:"101290407",会泽:"101290408",宣威:"101290409",保山:"101290501",富宁:"101290502",龙陵:"101290503",施甸:"101290504",昌宁:"101290505",腾冲:"101290506",文山:"101290601",西畴:"101290602",马关:"101290603",麻栗坡:"101290604",砚山:"101290605",邱北:"101290606",广南:"101290607",玉溪:"101290701",澄江:"101290702",江川:"101290703",通海:"101290704",华宁:"101290705",新平:"101290706",易门:"101290707",峨山:"101290708",元江:"101290709",楚雄:"101290801",大姚:"101290802",元谋:"101290803",姚安:"101290804",牟定:"101290805",南华:"101290806",武定:"101290807",禄丰:"101290808",双柏:"101290809",永仁:"101290810",普洱:"101290901",景谷:"101290902",景东:"101290903",澜沧:"101290904",墨江:"101290906",江城:"101290907",孟连:"101290908",西盟:"101290909",镇源:"101290910",镇沅:"101290911",宁洱:"101290912",昭通:"101291001",鲁甸:"101291002",彝良:"101291003",镇雄:"101291004",威信:"101291005",巧家:"101291006",绥江:"101291007",永善:"101291008",盐津:"101291009",大关:"101291010",临沧:"101291101",沧源:"101291102",耿马:"101291103",双江:"101291104",凤庆:"101291105",永德:"101291106",云县:"101291107",镇康:"101291108",怒江:"101291201",福贡:"101291203",兰坪:"101291204",泸水:"101291205",六库:"101291206",贡山:"101291207",香格里拉:"101291301",德钦:"101291302",维西:"101291303",中甸:"101291304",丽江:"101291401",永胜:"101291402",华坪:"101291403",宁蒗:"101291404",德宏:"101291501",潞江坝:"101291502",陇川:"101291503",盈江:"101291504",畹町镇:"101291505",瑞丽:"101291506",梁河:"101291507",潞西:"101291508",景洪:"101291601",大勐龙:"101291602",勐海:"101291603",景洪电站:"101291604",勐腊:"101291605",南宁:"101300101",南宁城区:"101300102",邕宁:"101300103",横县:"101300104",隆安:"101300105",马山:"101300106",上林:"101300107",武鸣:"101300108",宾阳:"101300109",硕龙:"101300110",崇左:"101300201",天等:"101300202",龙州:"101300203",凭祥:"101300204",大新:"101300205",扶绥:"101300206",宁明:"101300207",海渊:"101300208",柳州:"101300301",柳城:"101300302",沙塘:"101300303",鹿寨:"101300304",柳江:"101300305",融安:"101300306",融水:"101300307",三江:"101300308",来宾:"101300401",忻城:"101300402",金秀:"101300403",象州:"101300404",武宣:"101300405",桂林:"101300501",桂林农试站:"101300502",龙胜:"101300503",永福:"101300504",临桂:"101300505",兴安:"101300506",灵川:"101300507",全州:"101300508",灌阳:"101300509",阳朔:"101300510",恭城:"101300511",平乐:"101300512",荔浦:"101300513",资源:"101300514",梧州:"101300601",藤县:"101300602",太平:"101300603",苍梧:"101300604",蒙山:"101300605",岑溪:"101300606",贺州:"101300701",昭平:"101300702",富川:"101300703",钟山:"101300704",信都:"101300705",贵港:"101300801",桂平:"101300802",平南:"101300803",玉林:"101300901",博白:"101300902",北流:"101300903",容县:"101300904",陆川:"101300905",百色:"101301001",那坡:"101301002",田阳:"101301003",德保:"101301004",靖西:"101301005",田东:"101301006",平果:"101301007",隆林:"101301008",西林:"101301009",乐业:"101301010",凌云:"101301011",田林:"101301012",钦州:"101301101",浦北:"101301102",灵山:"101301103",河池:"101301201",天峨:"101301202",东兰:"101301203",巴马:"101301204",环江:"101301205",罗城:"101301206",宜州:"101301207",凤山:"101301208",南丹:"101301209",都安:"101301210",北海:"101301301",合浦:"101301302",涠洲岛:"101301303",防城港:"101301401",上思:"101301402",板栏:"101301404",防城:"101301405",海口:"101310101",琼山:"101310102",三亚:"101310201",东方:"101310202",临高:"101310203",澄迈:"101310204",儋州:"101310205",昌江:"101310206",白沙:"101310207",琼中:"101310208",定安:"101310209",屯昌:"101310210",琼海:"101310211",文昌:"101310212",清兰:"101310213",保亭:"101310214",万宁:"101310215",陵水:"101310216",西沙:"101310217",珊瑚岛:"101310218",永署礁:"101310219",南沙岛:"101310220",乐东:"101310221",五指山:"101310222",通什:"101310223",香港:"101320101",新界:"101320103",中环:"101320104",铜锣湾:"101320105",澳门:"101330101",台北县:"101340101",台北市:"101340102",高雄:"101340201",大武:"101340203",恒春:"101340204",兰屿:"101340205",台南:"101340301",台中:"101340401",桃园:"101340501",新竹县:"101340601",新竹市:"101340602",公馆:"101340603",宜兰:"101340701",马公:"101340801",东吉屿:"101340802",嘉义:"101340901",阿里山:"101340902",新港:"101340904"};const hh=function(x,f){var e=this.getFieldValue("data"),t=Fh[e];return f.definitions_.include_Weather_Forcast="#include ",f.definitions_.var_declare_Weather_Forcast="Weather_Forcast Weather;",t?this.setFieldValue("ok","check"):(t="error",this.setFieldValue("error","check")),['Weather.RefreshData("'+t+'")',f.ORDER_ATOMIC]},Ah=function(x,f){return["Weather.getToday("+this.getFieldValue("type")+")",f.ORDER_ATOMIC]},Ih=function(x,f){return["Weather.get"+this.getFieldValue("type")+"("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},gh=function(x,f){var e=f.valueToCode(this,"server",f.ORDER_ATOMIC),t=f.valueToCode(this,"port",f.ORDER_ATOMIC),i=f.valueToCode(this,"mqtt_username",f.ORDER_ATOMIC),n=f.valueToCode(this,"mqtt_password",f.ORDER_ATOMIC),s=f.valueToCode(this,"project",f.ORDER_ATOMIC);t=t.replace(/"/g,""),f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient="const char *mqtt_broker = "+e+";\nconst char *mqtt_username = "+i+";\nconst char *mqtt_password = "+n+";\nconst int mqtt_port = "+t+';\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = '+s+';\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},Th=function(x,f){var e=this.getFieldValue("key"),t=this.getFieldValue("server");f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient='const char *mqtt_broker = "'+t+'";\nconst char *mqtt_username = "MixIO_public";\nconst char *mqtt_password = "MixIO_public";\nconst int mqtt_port = 1883;\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = "'+e+'";\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},Eh=function(x,f){var e=f.valueToCode(this,"data",f.ORDER_ATOMIC),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=this.getFieldValue("mode");if(1==i)var n='client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str(),String("+e+").c_str());\n";if(2==i)n='client.publish(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str(),String("+e+").c_str());\n";return n},Ch=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=f.statementToCode(this,"function");if(i=i.replace(/(^\s*)|(\s*$)/g,""),1==e){f.setups_["setups_topic_"+t]='client.subscribe(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str());";var n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")))) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}if(2==e){f.setups_["setups_topic_"+t]='client.subscribe(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str());";n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str())) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}return n},Mh=function(x,f){K.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESPAsyncTCP="#include ":f.definitions_.include_AsyncTCP="#include ",f.definitions_.include_ESPAsyncWebServer="#include ",f.definitions_.include_AsyncElegantOTA="#include \n",f.definitions_.var_AsyncWebServer="AsyncWebServer server(80);\n",f.setups_.setups_AsyncWebServer="AsyncElegantOTA.begin(&server);\nserver.begin();\n";return""},mh=function(x,f){var e=this.getFieldValue("INCLUDE");return f.definitions_["include_"+e]="#include <"+e+".h>",""},Oh=function(x,f){for(var e=this.getFieldValue("NAME"),t=new Array(this.itemCount_),i=0;i-1&&delete f.setups_["setup_input_"+e],t="digitalRead("+e+")";return[t,f.ORDER_ATOMIC]},Wh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);const{pwm:i}=K.Profile.default;if("object"==typeof i)for(let x of i)if(e===x[1]){f.setups_["setup_output"+e]="pinMode("+e+", OUTPUT);";break}return"analogWrite("+e+", "+t+");\n"},Hh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);const{analog:t}=K.Profile.default;if("object"==typeof t)for(let x of t)if(e===x[1])break;return["analogRead("+e+")",f.ORDER_ATOMIC]},Kh=function(x,f){var e=this.getFieldValue("STAT");return f.setups_.setup_output_13="pinMode(13, OUTPUT);","digitalWrite(13, "+e+");\n"},Zh=function(x,f){f.definitions_.include_OneButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode"),i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_button"+e]="OneButton button"+e+"("+e+","+("HIGH"==i?"false":"true")+");",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var n="button"+e+".tick();",s=t+e,c="void "+s+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[s]=c,n},zh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.setups_["setup_input_"+e]="pinMode("+e+", INPUT_PULLUP);";var i="attachInterrupt("+("digitalPinToInterrupt("+e+")")+",attachInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},jh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachInterrupt("+("digitalPinToInterrupt("+e+")")+");\n"},Jh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_.include_PinChangeInterrupt="#include ",f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);";var i="attachPCINT(digitalPinToPCINT("+e+"),attachPinInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachPinInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},qh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachPCINT(digitalPinToPCINT("+e+"));\n"},Qh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT");return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+")",f.ORDER_ATOMIC]},$h=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT"),i=f.valueToCode(this,"TIMEOUT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+", "+i+")",f.ORDER_ATOMIC]},xA=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i=this.getFieldValue("ORDER"),n=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", OUTPUT);","shiftOut("+e+", "+t+", "+i+", "+n+");\n"},fA=function(x,f){f.definitions_.include_ESP32touchButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_["var_declare_button"+e]="ESP32touchButton button"+e+"("+e+",true);",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var i="button"+e+".tick();",n=t+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},eA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMSet("+e+", "+t+");\n"},tA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMEnd("+e+");\n"},iA=function(x,f){var e=this.getFieldValue("ADS1015_setGain");f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin(); \n",f.setups_["setup_ads.setGain"]="ads.setGain("+e+");";return""},nA=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin();",[this.getFieldValue("ADS1015_AIN"),f.ORDER_ATOMIC]},sA=function(x,f){return f.definitions_.include_PCF8591_h="#include ",f.definitions_.var_declare_PCF8591="PCF8591 pcf8591(0x48);",f.setups_["setup_pcf8591.begin()"]="pcf8591.begin(); \n",[this.getFieldValue("PCF8591T_AIN"),f.ORDER_ATOMIC]},cA=function(x,f){for(var e=this.getFieldValue("TYPE"),t=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),i=window.parseFloat(this.getFieldValue("SIZE")),n=new Array(this.itemCount_),s=0;s= (1); i = i + (-1)) {\n "+i+"[(int)((i + 1) - 1)] = "+i+"[(int)(i - 1)];\n }\n "+i+"[(int)(0)] = item;\n}\n";n="array_right_loop();\n"}return n},MA=function(x,f){var e=this.getFieldValue("list_name");return["col"==this.getFieldValue("type")?"(sizeof("+e+"[0]) / sizeof("+e+"[0][0]))":"(sizeof("+e+") / sizeof("+e+"[0]))",f.ORDER_ATOMIC]},mA=function(x,f){var e=this.getFieldValue("OP"),t=mA.OPERATORS[e],i="=="==t||"!="==t?f.ORDER_EQUALITY:f.ORDER_RELATIONAL;return[(f.valueToCode(this,"A",i)||"0")+" "+t+" "+(f.valueToCode(this,"B",i)||"0"),i]};mA.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const OA=function(x,f){var e="AND"==this.getFieldValue("OP")?"&&":"||",t="&&"==e?f.ORDER_LOGICAL_AND:f.ORDER_LOGICAL_OR;return[(f.valueToCode(this,"A",t)||"false")+" "+e+" "+(f.valueToCode(this,"B",t)||"false"),t]},RA=function(x,f){var e=f.ORDER_UNARY_PREFIX;return["!"+(f.valueToCode(this,"BOOL",e)||"false"),e]},SA=function(x,f){return["TRUE"==this.getFieldValue("BOOL")?"true":"false",f.ORDER_ATOMIC]},DA=function(x,f){return["NULL",f.ORDER_ATOMIC]},LA=function(x,f){return["("+(f.valueToCode(this,"A",f.ORDER_ATOMIC)||"false")+"?"+(f.valueToCode(this,"B",f.ORDER_ATOMIC)||"false")+":"+(f.valueToCode(this,"C",f.ORDER_ATOMIC)||"false")+")",f.ORDER_ATOMIC]},NA=function(x,f){var e=this.getFieldValue("NUM");return[e,e<0?f.ORDER_UNARY_PREFIX:f.ORDER_ATOMIC]},PA=function(x,f){var e={ADD:[" + ",f.ORDER_ADDITIVE],MINUS:[" - ",f.ORDER_ADDITIVE],MULTIPLY:[" * ",f.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",f.ORDER_MULTIPLICATIVE],QUYU:[" % ",f.ORDER_MULTIPLICATIVE],POWER:[null,f.ORDER_NONE]}[this.getFieldValue("OP")],t=e[0],i=e[1],n=f.valueToCode(this,"A",i)||"0",s=f.valueToCode(this,"B",i)||"0";return t?(" % "==t&&(n="(long) ("+n+")",s="(long) ("+s+")"),[n+t+s,i]):["pow("+n+", "+s+")",f.ORDER_UNARY_POSTFIX]},yA=function(x,f){var e=this.getFieldValue("OP"),t=f.ORDER_ATOMIC;return["("+(f.valueToCode(this,"A",t)||"0")+e+(f.valueToCode(this,"B",t)||"0")+")",t]},bA=function(x,f){var e,t,i=this.getFieldValue("OP");if("NEG"==i)return"-"==(t=f.valueToCode(this,"NUM",f.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),[e="-"+t,f.ORDER_UNARY_PREFIX];switch(t="ABS"==i||"ROUND"==i.substring(0,5)?f.valueToCode(this,"NUM",f.ORDER_UNARY_POSTFIX)||"0":"SIN"==i||"COS"==i||"TAN"==i?f.valueToCode(this,"NUM",f.ORDER_MULTIPLICATIVE)||"0":f.valueToCode(this,"NUM",f.ORDER_NONE)||"0",i){case"ABS":e=t+".abs()";break;case"ROOT":e="sqrt("+t+")";break;case"LN":e="log("+t+")";break;case"EXP":e="exp("+t+")";break;case"POW10":e="pow(10,"+t+")";break;case"++":e="(++"+t+")";break;case"--":e="(--"+t+")";break;case"~":e="~("+t+")";break;case"ROUND":e=t+".round()";break;case"ROUNDUP":e=t+".ceil()";break;case"ROUNDDOWN":e=t+".floor()";break;case"SIN":e="sin("+t+" / 180.0 * 3.14159)";break;case"COS":e="cos("+t+" / 180.0 * 3.14159)";break;case"TAN":e="tan("+t+" / 180.0 * 3.14159)"}if(e)return[e,f.ORDER_UNARY_POSTFIX];switch(i){case"LOG10":e="log("+t+") / log(10)";break;case"ASIN":e="asin("+t+") / 3.14159 * 180";break;case"ACOS":e="acos("+t+") / 3.14159 * 180";break;case"ATAN":e="atan("+t+") / 3.14159 * 180";break;default:throw"Unknown math operator: "+i}return[e,f.ORDER_MULTIPLICATIVE]},vA=bA,wA=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+")",f.ORDER_ATOMIC]},YA=function(x,f){return[this.getFieldValue("variate_type"),f.ORDER_ATOMIC]},VA=function(x,f){return this.setTooltip("以字节形式返回某个操作数的储存大小"),["sizeof("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},kA=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0",t=f.valueToCode(this,"B",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+", "+t+")",f.ORDER_ATOMIC]},XA=function(x,f){return"randomSeed("+(f.valueToCode(this,"NUM",f.ORDER_NONE)||"0")+");\n"},GA=function(x,f){return["random("+(f.valueToCode(this,"FROM",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"TO",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},BA=function(x,f){var e=this.getFieldValue("maptype"),t=f.valueToCode(this,"NUM",f.ORDER_NONE),i=f.valueToCode(this,"fromLow",f.ORDER_ATOMIC),n=f.valueToCode(this,"fromHigh",f.ORDER_ATOMIC),s=f.valueToCode(this,"toLow",f.ORDER_ATOMIC),c=f.valueToCode(this,"toHigh",f.ORDER_ATOMIC);if("map_float"==e){f.definitions_.function_mapfloat="float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)\n{\n return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\n}";var a="mapfloat("+t+", "+i+", "+n+", "+s+", "+c+")"}else a="map("+t+", "+i+", "+n+", "+s+", "+c+")";return[a,f.ORDER_NONE]},UA=function(x,f){return["constrain("+(f.valueToCode(this,"VALUE",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"LOW",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"HIGH",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},WA=function(x,f){var e=this.getFieldValue("type"),t=f.valueToCode(this,"variables",f.ORDER_ATOMIC);return t+" = "+t+" "+e+" "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+";\n"},HA=function(x,f){return f.valueToCode(this,"math_auto_add_minus_output",f.ORDER_ATOMIC)+this.getFieldValue("math_auto_add_minus_type")+";\n"},KA=function(x,f){return[this.getFieldValue("PIN"),f.ORDER_ATOMIC]},ZA=KA,zA=KA,jA=KA,JA=KA,qA=KA,QA=KA,$A=KA,xI=KA,fI=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("NAME"),H.Procedures.NAME_TYPE),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);var i=f.valueToCode(this,"RETURN",f.ORDER_NONE)||"",n=this.getFieldValue("TYPE");i&&(i=" return "+i+";\n");for(var s=n||"void",c=[],a=0;a",f.definitions_.include_SoftwareSerial="#include ";var e=f.valueToCode(this,"RX",f.ORDER_ATOMIC),t=f.valueToCode(this,"TX",f.ORDER_ATOMIC),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.definitions_.var_declare_TinyGPSPlus_gps="TinyGPSPlus gps;",f.definitions_.var_declare_SoftwareSerial_gps_ss="SoftwareSerial gps_ss("+e+", "+t+");",f.setups_.setup_gps_ss_begin="gps_ss.begin("+i+");",""},pI=function(x,f){return["gps_ss.available()",f.ORDER_ATOMIC]},oI=function(x,f){return["gps.encode(gps_ss.read())",f.ORDER_ATOMIC]},uI=function(x,f){return["gps."+this.getFieldValue("WHAT")+".isValid()",f.ORDER_ATOMIC]},rI=function(x,f){return["gps."+this.getFieldValue("WHAT")+"()",f.ORDER_ATOMIC]},_I=function(x,f){var e=this.getFieldValue("Trig"),t=this.getFieldValue("Echo");f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+e+"_"+t,n="float "+i+"() {\n digitalWrite("+e+", LOW);\n delayMicroseconds(2);\n digitalWrite("+e+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+e+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return f.definitions_[i]=n,[i+"()",f.ORDER_ATOMIC]},FI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return f.definitions_.include_DHT="#include ",f.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+e+");",f.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",f.ORDER_ATOMIC]},hI=function(x,f){var e=K.JSFuncs.getPlatform(),t=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),i="analogRead("+t+")*0.488";if(e.match(RegExp(/ESP8266/)))i="analogRead("+t+")*0.322";else if(e.match(RegExp(/ESP32/)))i="analogRead("+t+")*0.161";return[i,f.ORDER_ATOMIC]},AI=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("UNIT");f.definitions_.include_OneWire="#include ",f.definitions_.include_DallasTemperature="#include ",f.definitions_["var_declare_OneWire_DallasTemperature_sensors_"+e]="OneWire oneWire_"+e+"("+e+");\nDallasTemperature sensors_"+e+"(&oneWire_"+e+");",f.definitions_.var_declare_DeviceAddress_insideThermometer="DeviceAddress insideThermometer;",f.setups_["setup_sensors_"+e+"_getAddress"]="sensors_"+e+".getAddress(insideThermometer, 0);",f.setups_["setup_sensors_"+e+"_setResolution"]="sensors_"+e+".setResolution(insideThermometer, 9);";var i="ds18b20_"+e+"_getTemp",n="float "+i+"(int w) {\n sensors_"+e+".requestTemperatures();\n if(w==0) {\n return sensors_"+e+".getTempC(insideThermometer);\n }\n else {\n return sensors_"+e+".getTempF(insideThermometer);\n }\n}\n";return f.definitions_[i]=n,["ds18b20_"+e+"_getTemp("+t+")",f.ORDER_ATOMIC]},II=function(x,f){var e=f.valueToCode(this,"mlx90614_address",f.ORDER_ATOMIC),t="MLX";f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_MLX90614="#include ",f.definitions_["var_declare_MLX90614_"+t]="Adafruit_MLX90614 MLX = Adafruit_MLX90614("+e+");",f.setups_["setup_MLX90614_"+t]=t+".begin();";return""},gI=function(x,f){return["MLX."+this.getFieldValue("mlx90614_data")+"()",f.ORDER_ATOMIC]},TI=function(x,f){var e=this.getFieldValue("DOUT"),t=this.getFieldValue("SCK"),i=f.valueToCode(this,"scale",f.ORDER_ATOMIC);return f.definitions_.include_Hx711="#include ",f.definitions_["var_declare_Hx711"+e+t]="Hx711 scale"+e+"_"+t+"("+e+","+t+");",f.setups_["setup_HX711"+e+t]="scale"+e+"_"+t+".setOffset(scale"+e+"_"+t+".getAverageValue(30));",f.setups_["setup_scale"+e+"_"+t+" .setScale"]="scale"+e+"_"+t+".setScale("+i+");",["scale"+e+"_"+t+".getWeight(10)",f.ORDER_ATOMIC]},EI=function(x,f){var e=f.valueToCode(this,"RST",f.ORDER_ATOMIC),t=f.valueToCode(this,"DAT",f.ORDER_ATOMIC),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC);return f.definitions_.include_ThreeWire="#include ",f.definitions_.include_RtcDS1302="#include ",f.definitions_.var_declare_ThreeWire="ThreeWire myWire("+t+","+i+","+e+");",f.definitions_.var_declare_RtcDS1302="RtcDS1302 Rtc(myWire);",f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},CI=function(x,f){var e=f.valueToCode(this,"SDA",f.ORDER_ATOMIC),t=f.valueToCode(this,"SCL",f.ORDER_ATOMIC),i=this.getFieldValue("RTCType");return f.definitions_["include_"+i]="#include <"+i+".h>",e!=K.Profile.default.SDA[0][1]||t!=K.Profile.default.SCL[0][1]?(f.definitions_.include_SoftwareWire="#include ",f.definitions_.var_declare_SoftwareWire="SoftwareWire myWire("+e+","+t+");",f.definitions_["var_declare_"+i]=i+" Rtc(myWire);"):(f.definitions_.include_Wire="#include ",f.definitions_["var_declare_"+i]=i+" Rtc(Wire);"),f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},MI=function(x,f){return["Rtc.GetDateTime()."+this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},mI=function(x,f){var e=f.valueToCode(this,"year",f.ORDER_ATOMIC),t=f.valueToCode(this,"month",f.ORDER_ATOMIC),i=f.valueToCode(this,"day",f.ORDER_ATOMIC);switch(t){case"1":default:t="Jan";break;case"2":t="Feb";break;case"3":t="Mar";break;case"4":t="Apr";break;case"5":t="May";break;case"6":t="Jun";break;case"7":t="Jul";break;case"8":t="Aug";break;case"9":t="Sep";break;case"10":t="Oct";break;case"11":t="Nov";break;case"12":t="Dec"}return 1==i.length&&(i="0"+i),['"'+t+"/"+i+"/"+e+'"',f.ORDER_ATOMIC]},OI=function(x,f){var e=f.valueToCode(this,"hour",f.ORDER_ATOMIC),t=f.valueToCode(this,"minute",f.ORDER_ATOMIC),i=f.valueToCode(this,"second",f.ORDER_ATOMIC);return 1==e.length&&(e="0"+e),1==t.length&&(t="0"+t),1==i.length&&(i="0"+i),['"'+e+":"+t+":"+i+'"',f.ORDER_ATOMIC]},RI=function(x,f){return"Rtc.SetDateTime(RtcDateTime("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"time",f.ORDER_ATOMIC)+"));\n"},SI=function(x,f){return["__"+this.getFieldValue("type")+"__",f.ORDER_ATOMIC]},DI=function(){const x=new Date,f=x.getFullYear(),e=x.getMonth()+1,t=x.getDate();var i="myRTC",n=i+".setDate("+f+","+e+","+t+");\n";return n+=i+".setDOW("+f+","+e+","+t+");\n"},LI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_DFRobot_SHT20="#include ",f.definitions_.var_declare_DFRobot_SHT20="DFRobot_SHT20 sht20;\n",f.setups_.setup_sht20initSHT20="sht20.initSHT20();",f.setups_["setup_sht20.checkSHT20"]="sht20.checkSHT20(); \n",[this.getFieldValue("SHT20_TYPE"),f.ORDER_ATOMIC]},NI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n",[this.getFieldValue("ADXL345_PIN"),f.ORDER_ATOMIC]},PI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_LIS3DHTR="#include ",f.definitions_.include_define_Wire="#define WIRE Wire",f.definitions_.var_declare_LIS3DHTR="LIS3DHTR LIS;\n",f.setups_["setup_LIS.begin"]="LIS.begin(WIRE,0x19);\n",f.setups_["setup_LIS.openTemp"]="LIS.openTemp();",f.setups_["setup_LIS.setFullScaleRange"]="LIS.setFullScaleRange(LIS3DHTR_RANGE_2G);",f.setups_["setup_LIS.setOutputDataRate"]="LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);",[this.getFieldValue("LIS3DHTR_GETDATA"),f.ORDER_ATOMIC]},yI=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n";var e,t=this.getFieldValue("MIXEPI_ADXL345_OFFSET"),i=f.valueToCode(this,"OFFSET",f.ORDER_ATOMIC);return"setOffsetX"==t?e="accel.setOffsetX(round("+i+"*4/15.9));\n":"setOffsetY"==t?e="accel.setOffsetY(round("+i+"*4/15.9));\n":"setOffsetZ"==t&&(e="accel.setOffsetZ(round("+i+"*4/15.9));\n"),e},bI=function(x,f){return f.definitions_.include_MPU6050_tockn="#include ",f.definitions_.include_Wire="#include ",f.definitions_.var_declare_mpu6050="MPU6050 mpu6050(Wire);",f.setups_.setup_ngyro="Wire.begin();\n mpu6050.begin();\n mpu6050.calcGyroOffsets(true);",["mpu6050."+this.getFieldValue("MPU6050_TYPE"),f.ORDER_ATOMIC]},vI=function(){return"mpu6050.update();\n"},wI=function(x,f){return"encoder_"+this.getFieldValue("Encoder_NO")+".write("+f.valueToCode(this,"value",f.ORDER_ATOMIC)+");\n "},YI=function(x,f){return["encoder_"+this.getFieldValue("Encoder_NO")+".read()",f.ORDER_ATOMIC]},VI=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");f.definitions_.include_Encoder="#include \n",f.definitions_["var_declare_Encoder_"+i]="Encoder encoder_"+i+"("+e+","+t+");\n ";return""},kI=function(x,f){return"encoder_counter_"+this.getFieldValue("Encoder_NO")+" = "+f.valueToCode(this,"value",f.ORDER_ATOMIC)+";\n "},XI=function(x,f){return["encoder_counter_"+this.getFieldValue("Encoder_NO"),f.ORDER_ATOMIC]},GI=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");return f.definitions_["var_declare_Encoder_"+i]="int encoder_counter_"+i+" = 0;\nint encoder_aState_"+i+";\nint encoder_aLastState_"+i+";\n",f.setups_["setups_encoder_"+i]=" pinMode ("+e+", INPUT);\n pinMode ("+t+", INPUT);\n encoder_aLastState_"+i+" = digitalRead("+e+");\n"," encoder_aState_"+i+" = digitalRead("+e+");\n if (encoder_aState_"+i+" != encoder_aLastState_"+i+") {\n if (digitalRead("+t+") != encoder_aState_"+i+") {\n encoder_counter_"+i+" ++;\n } else {\n encoder_counter_"+i+" --;\n }\n }\n encoder_aLastState_"+i+" = encoder_aState_"+i+";\n"},BI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("mode"),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC),n=f.valueToCode(this,"DT",f.ORDER_ATOMIC);return f.definitions_.include_ESPRotary="#include ",f.definitions_["var_declare_encoder"+e]=`ESPRotary encoder${e};`,f.setups_["setup_encoder"+e]=`encoder${e}.begin(${n}, ${i});\n encoder${e}.setStepsPerClick(${t});`,f.loops_begin_["loop_encoder"+e]=`encoder${e}.loop();\n`,""},UI=function(x,f){return[`encoder${this.getFieldValue("TYPE")}.${this.getFieldValue("OPERATE_TYPE")}()`,f.ORDER_ATOMIC]},WI=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC);return`encoder${e}.${this.getFieldValue("OPERATE_TYPE")}(${t});\n`},HI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("OPERATE_TYPE"),i=f.statementToCode(this,"DO"),n="encoder"+e;switch(t){case"setChangedHandler":n+="OnChanged";break;case"setRightRotationHandler":n+="OnRightRotation";break;case"setLeftRotationHandler":n+="OnLeftRotation";break;case"setUpperOverflowHandler":n+="OnUpperOverflow";break;default:n+="OnLowerOverflow"}f.definitions_["function_"+n]=`void ${n}(ESPRotary& encoder${e}) {\n ${i}}\n`,f.setups_["setup_"+n]=`encoder${e}.${t}(${n});`;return""},KI=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"address",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_Sensor="#include ","bme"==e?(f.definitions_.include_Adafruit_BME280="#include ",f.definitions_.var_declare_Adafruit_BME280="Adafruit_BME280 bme;"):(f.definitions_.include_Adafruit_BMP280="#include ",f.definitions_.var_declare_Adafruit_BMP280="Adafruit_BMP280 bmp;"),f.setups_.setup_status="unsigned status;\n status = "+e+".begin("+t+");",f.definitions_.include_SEALEVELPRESSURE_HPA="#define SEALEVELPRESSURE_HPA (1013.25)",[e+"."+this.getFieldValue("BME_TYPE"),f.ORDER_ATOMIC]},ZI=function(x,f){f.definitions_.include_PS2X_lib="#include ",f.definitions_.var_declare_PS2X="PS2X ps2x;";var e=this.getFieldValue("PS2_DAT"),t=this.getFieldValue("PS2_CMD"),i=this.getFieldValue("PS2_SEL"),n=this.getFieldValue("PS2_CLK"),s=this.getFieldValue("rumble");return f.setups_.setup_ps2x_config_gamepad="ps2x.config_gamepad("+n+","+t+","+i+","+e+", true, "+s+");\n delay(300);\n",""},zI=function(){return"ps2x.read_gamepad(false, 0);\ndelay(30);\n"},jI=function(x,f){var e=this.getFieldValue("psbt");return["ps2x."+this.getFieldValue("btstate")+"("+e+")",f.ORDER_ATOMIC]},JI=function(x,f){return["ps2x.Analog("+this.getFieldValue("psstk")+")",f.ORDER_ATOMIC]},qI=function(x,f){return f.definitions_.include_DFRobot_TCS34725="#include ",f.definitions_.var_declare_TCS34725="DFRobot_TCS34725 tcs34725;\n",f.setups_.setup_DFRobot_TCS34725="tcs34725.begin();",[this.getFieldValue("DF_TCS34725_COLOR"),f.ORDER_ATOMIC]},QI=function(x,f){var e=f.valueToCode(this,"tcs230_s0",f.ORDER_ATOMIC),t=f.valueToCode(this,"tcs230_s1",f.ORDER_ATOMIC),i=f.valueToCode(this,"tcs230_s2",f.ORDER_ATOMIC),n=f.valueToCode(this,"tcs230_s3",f.ORDER_ATOMIC),s=f.valueToCode(this,"tcs230_led",f.ORDER_ATOMIC),c=f.valueToCode(this,"tcs230_out",f.ORDER_ATOMIC);f.definitions_.define_tcs230_pin="#define tcs230_S0 "+e+"\n#define tcs230_S1 "+t+"\n#define tcs230_S2 "+i+"\n#define tcs230_S3 "+n+"\n#define tcs230_sensorOut "+c+"\n#define tcs230_LED "+s,f.definitions_.function_tcs230_Getcolor="//TCS230颜色传感器获取RGB值\nint tcs230_Getcolor(char data)\n{\n int frequency = 0;\n switch(data)\n {\n case 'R':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,LOW);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 72, 255, 0);\n break;\n }\n case 'G':\n {\n digitalWrite(tcs230_S2,HIGH);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 30, 90, 255, 0);\n break;\n }\n case 'B':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 70, 255, 0);\n break;\n }\n default:\n return -1;\n }\n if (frequency < 0)\n frequency = 0;\n if (frequency > 255)\n frequency = 255;\n return frequency;\n}\n",f.setups_.setup_tcs230_pin="pinMode(tcs230_S0, OUTPUT);\n pinMode(tcs230_S1, OUTPUT);\n pinMode(tcs230_S2, OUTPUT);\n pinMode(tcs230_S3, OUTPUT);\n pinMode(tcs230_LED, OUTPUT);\n pinMode(tcs230_sensorOut, INPUT);\n digitalWrite(tcs230_S0,HIGH);\n digitalWrite(tcs230_S1,LOW);\n digitalWrite(tcs230_LED,HIGH);";return""},$I=function(x,f){return["tcs230_Getcolor('"+this.getFieldValue("tcs230_color")+"')",f.ORDER_ATOMIC]},xg=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_row",f.ORDER_ATOMIC),i=f.valueToCode(this,"keypad_col",f.ORDER_ATOMIC),n=f.valueToCode(this,"keypad_type",f.ORDER_ATOMIC);f.definitions_.include_Keypad="#include ",f.definitions_["var_keypadstart1"+e]="const byte "+e+"_ROWS = 4;",f.definitions_["var_keypadstart2"+e]="const byte "+e+"_COLS = 4;",f.definitions_["var_keypadstart3"+e]="char "+e+"_hexaKeys["+e+"_ROWS]["+e+"_COLS] = {\n"+n+"\n};",f.definitions_["var_keypadstart4"+e]="byte "+e+"_rowPins["+e+"_ROWS] = "+t,f.definitions_["var_keypadstart5"+e]="byte "+e+"_colPins["+e+"_COLS] = "+i,f.definitions_["var_keypadstart6"+e]="Keypad "+e+" = Keypad(makeKeymap("+e+"_hexaKeys), "+e+"_rowPins, "+e+"_colPins, "+e+"_ROWS, "+e+"_COLS);",f.setups_.setup_serial_Serial="Serial.begin(9600);";return""},fg=function(x,f){return["{"+f.valueToCode(this,"keypad_row_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},eg=function(x,f){return["{"+f.valueToCode(this,"keypad_col_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},tg=function(x,f){return[" {'"+this.getFieldValue("keypad_1_1")+"','"+this.getFieldValue("keypad_1_2")+"','"+this.getFieldValue("keypad_1_3")+"','"+this.getFieldValue("keypad_1_4")+"'},\n {'"+this.getFieldValue("keypad_2_1")+"','"+this.getFieldValue("keypad_2_2")+"','"+this.getFieldValue("keypad_2_3")+"','"+this.getFieldValue("keypad_2_4")+"'},\n {'"+this.getFieldValue("keypad_3_1")+"','"+this.getFieldValue("keypad_3_2")+"','"+this.getFieldValue("keypad_3_3")+"','"+this.getFieldValue("keypad_3_4")+"'},\n {'"+this.getFieldValue("keypad_4_1")+"','"+this.getFieldValue("keypad_4_2")+"','"+this.getFieldValue("keypad_4_3")+"','"+this.getFieldValue("keypad_4_4")+"'}",f.ORDER_ATOMIC]},ig=function(x,f){return[this.getFieldValue("keypad_name")+".getKey()",f.ORDER_ATOMIC]},ng=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_event_input",f.ORDER_ATOMIC),i=this.getFieldValue("keypad_start_event_delay"),n=f.statementToCode(this,"keypad_event_data");f.definitions_["define_variate_"+t]="volatile char "+t+";",f.definitions_["var_keypadstart7_event"+e]="void keypadEvent_"+e+"(KeypadEvent "+t+") {\n"+n+"\n}",f.setups_["setup_keypad_event_and_delay"+e]=e+".addEventListener(keypadEvent_"+e+");\n "+e+".setHoldTime("+i+");";return""},sg=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_FaBo9Axis_MPU9250="#include ",f.definitions_.var_declare_FaBo9Axis="FaBo9Axis fabo_9axis;\n float ax,ay,az,gx,gy,gz,mx,my,mz;",f.setups_.setup_fabo_9axis="fabo_9axis.begin();";var e=this.getFieldValue("MixGo_MPU9250_GETAB"),t="";return"a"==e&&(t+="fabo_9axis.readAccelX()"),"b"==e&&(t+="fabo_9axis.readAccelY()"),"c"==e&&(t+="fabo_9axis.readAccelZ()"),"d"==e&&(t+="fabo_9axis.readGyroX()"),"e"==e&&(t+="fabo_9axis.readGyroY()"),"f"==e&&(t+="fabo_9axis.readGyroZ()"),"g"==e&&(t+="fabo_9axis.readMagnetX()"),"h"==e&&(t+="fabo_9axis.readMagnetY()"),"i"==e&&(t+="fabo_9axis.readMagnetZ()"),[t,f.ORDER_ATOMIC]},cg=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"NominalResistance",f.ORDER_ATOMIC),i=f.valueToCode(this,"betaCoefficient",f.ORDER_ATOMIC),n=f.valueToCode(this,"seriesResistor",f.ORDER_ATOMIC);return f.definitions_.include_thermistor="#include ",f.definitions_["var_declare_thermistor"+e]="THERMISTOR thermistor"+e+"("+e+","+t+","+i+","+n+");",["thermistor"+e+".read()",f.ORDER_ATOMIC]},ag=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_RL_AHT21="#include ",f.definitions_.var_declare_AHT21="AHT21Class AHT21;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_AHT21.begin"]="AHT21.begin();\n",[this.getFieldValue("AHT21_TYPE"),f.ORDER_ATOMIC]},lg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||K.Profile.default.serial;return f.setups_["setup_serial_"+e]=e+".begin("+t+");",""},dg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),e+".write("+t+");\n"},pg=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("new_line"),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),e+"."+t+"("+i+");\n"},og=pg,ug=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("STAT"),i=this.getFieldValue("new_line"),n=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),e+"."+i+"("+n+","+t+");\n"},rg=ug,_g=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),[e+".available()",f.ORDER_ATOMIC]},Fg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),[e+".readString()",f.ORDER_ATOMIC]},hg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),[e+".readStringUntil("+t+")",f.ORDER_ATOMIC]},Ag=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),[e+"."+this.getFieldValue("STAT")+"()",f.ORDER_ATOMIC]},Ig=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+K.Profile.default.serial+");"),e+".flush();\n"},gg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);return f.definitions_.include_SoftwareSerial="#include ",f.definitions_["var_declare_"+e]="SoftwareSerial "+e+"("+t+","+i+");",""},Tg=function(x,f){var e=this.getFieldValue("serial_select"),t="attachPinInterrupt_fun_"+e,i=f.statementToCode(this,"DO"),n="void "+e.replace("Serial","serialEvent")+"() {\n"+i+"}\n";return f.definitions_[t]=n,""};var Eg;const Cg=function(x,f){var e=K.JSFuncs.getPlatform();Eg=f.valueToCode(this,"PIN_CS",f.ORDER_ATOMIC),e.match(RegExp(/ESP32/))?f.definitions_.include_mySD="#include ":f.definitions_.include_SD="#include ",f.definitions_.include_SPI="#include ",f.setups_.setup_sd_write_begin="SD.begin("+Eg+");";return""},Mg=function(x,f){var e=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";f.definitions_.var_declare_File_datafile="File datafile;";var n="datafile = SD.open("+e+", FILE_WRITE);\n";return n+="if(datafile){\n",n+="\tdatafile.print("+t+");\n","true"==i&&(n+='\tdatafile.println("");\n'),n+="\tdatafile.close();\n",n+="}\n"},mg=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Eg+");";return["card.type()",f.ORDER_ATOMIC]},Og=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.definitions_.var_declare_SdFile="SdFile root;",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Eg+");",f.setups_.setup_volume_init="volume.init(card);";return"root.openRoot(volume);\nroot.ls(LS_R | LS_DATE | LS_SIZE);"},Rg=function(x,f){return f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Eg+");",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_volume_init="volume.init(card);",[this.getFieldValue("volume_TYPE"),f.ORDER_ATOMIC]},Sg=function(x,f){return["SD.exists("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Dg=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.var_declare_File_datafile="File datafile;",f.definitions_.var_declare_File_datafile_SD_card_reading='String SD_card_reading(String path) {\ndatafile = SD.open(path.c_str());\n String sd_data = "";\n while (datafile.available()) {\n sd_data = String(sd_data) + String(char(datafile.read()));\n }\n return sd_data;\n}',["SD_card_reading("+e+")",f.ORDER_ATOMIC]},Lg=function(x,f){return"SD.remove("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");"},Ng=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value){\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if(time.b[2] != EEPROM.read(address+2))\n EEPROM.write(address+2, time.b[2]);\n if(time.b[3] != EEPROM.read(address+3))\n EEPROM.write(address+3, time.b[3]);\n}\n";return f.definitions_[i]=n,"eepromWriteLong("+e+", "+t+");\n"},Pg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var t="eepromReadLong("+e+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return f.definitions_[i]=n,[t,f.ORDER_ATOMIC]},yg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.write("+e+", "+t+");\n"},bg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ",["EEPROM.read("+e+")",f.ORDER_ATOMIC]},vg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.put("+e+", "+t+");\n"},wg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.get("+e+", "+t+");\n"},Yg=function(x,f){var e=this.getFieldValue("MODE"),t=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',n=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";if(f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',1==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void writeFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_WRITE);\n if (!file) {\n Serial.println("- failed to open file for writing");\n return;\n }\n if (file.print(message)) {\n Serial.println("- file written");\n } else {\n Serial.println("- write failed");\n }\n file.close();\n}',"true"==n)var s="writeFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="writeFile(SPIFFS, "+t+", String("+i+").c_str());\n";if(2==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void appendFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_APPEND);\n if (!file) {\n Serial.println("- failed to open file for appending");\n return;\n }\n if (file.print(message)) {\n Serial.println("- message appended");\n } else {\n Serial.println("- append failed");\n }\n file.close();\n}',"true"==n)s="appendFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="appendFile(SPIFFS, "+t+", String("+i+").c_str());\n";return s},Vg=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_read='String readFile(fs::FS &fs, const char * path) {\n File file = fs.open(path);\n if (!file || file.isDirectory()) {\n Serial.println("- failed to open file for reading");\n file.close();\n return "SPIFFS_error";\n } else {\n Serial.println("- read from file:");\n String SPIFFS_data = "";\n while (file.available()) {\n SPIFFS_data = String(SPIFFS_data) + String(char(file.read()));\n }\n file.close();\n return SPIFFS_data;\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',["readFile(SPIFFS, "+e+")",f.ORDER_ATOMIC]},kg=function(x,f){return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_DelFile='void deleteFile(fs::FS &fs, const char * path) {\n if (fs.remove(path)) {\n Serial.println("- file deleted");\n } else {\n Serial.println("- delete failed");\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',"deleteFile(SPIFFS, "+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");\n"},Xg=function(x,f){return[f.quote_(this.getFieldValue("TEXT")),f.ORDER_ATOMIC]},Gg=function(x,f){return["'"+this.getFieldValue("TEXT")+"'",f.ORDER_ATOMIC]},Bg=function(x,f){return["String("+f.valueToCode(this,"A",f.ORDER_ATOMIC)+")"+" + "+("String("+f.valueToCode(this,"B",f.ORDER_ATOMIC)+")"),f.ORDER_ATOMIC]},Ug=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+f.valueToCode(this,"VAR",f.ORDER_ATOMIC)+")"+"."+e+"()",f.ORDER_ATOMIC]},Wg=function(x,f){return["char("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},Hg=function(x,f){return["toascii("+("'"+this.getFieldValue("TEXT")+"'")+")",f.ORDER_ATOMIC]},Kg=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+", "+e+")",f.ORDER_ATOMIC]},Zg=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").length()",f.ORDER_ATOMIC]},zg=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").charAt("+(f.valueToCode(this,"AT",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},jg=function(x,f){var e="String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")",t="String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")";return[e+"."+this.getFieldValue("DOWHAT")+"("+t+")",f.ORDER_ATOMIC]},Jg=function(x,f){return["String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")"+".compareTo("+("String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")")+")",f.ORDER_ATOMIC]},qg=function(x,f){return["String("+f.valueToCode(this,"numeral",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"decimal_places",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Qg=function(x,f){return["String("+f.valueToCode(this,"name",f.ORDER_ATOMIC)+").substring("+f.valueToCode(this,"Start",f.ORDER_ATOMIC)+","+f.valueToCode(this,"end",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},$g=function(x,f){var e=this.getFieldValue("type");return""+f.valueToCode(this,"String",f.ORDER_ATOMIC)+e+";\n"},xT=function(x,f){var e=f.valueToCode(this,"String",f.ORDER_ATOMIC),t=f.valueToCode(this,"replace",f.ORDER_ATOMIC);return e+".replace("+f.valueToCode(this,"source_data",f.ORDER_ATOMIC)+", "+t+");\n"},fT=function(x,f){return f.valueToCode(this,"String",f.ORDER_ATOMIC)+".trim();\n"},eT=function(x,f){var e=this.getFieldValue("type");return["String("+f.valueToCode(this,"String",f.ORDER_ATOMIC)+")"+e+"("+f.valueToCode(this,"String1",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},tT=function(x,f){var e=f.valueToCode(this,"variable",f.ORDER_ATOMIC);return[this.getFieldValue("type")+"("+e+")",f.ORDER_ATOMIC]},iT=function(x,f){return["String("+f.valueToCode(this,"str1",f.ORDER_ATOMIC)+").indexOf(String("+f.valueToCode(this,"str2",f.ORDER_ATOMIC)+"))",f.ORDER_ATOMIC]},nT=function(x,f){for(var e=new Array(this.itemCount_),t=0;t",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wire_begin="Wire.begin();",f.setups_['setup_Serial.println("I2C Scanner")']='Serial.println("I2C Scanner");';return'byte error, address;\nint nDevices;\nSerial.println("Scanning...");\nnDevices = 0;\nfor (address = 1; address < 127; address++ ){\n Wire.beginTransmission(address);\n error = Wire.endTransmission();\n if (error == 0){\n Serial.print("I2C device found at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.print(address, HEX);\n Serial.println(" !");\n nDevices++;\n }\n else if (error == 4){\n Serial.print("Unknow error at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.println(address, HEX);\n }\n}\nif (nDevices == 0)\n Serial.println("No I2C devices found");\nelse\n Serial.println("done");\ndelay(5000);\n'};function dT(x){switch(x){case"0000":x="0";break;case"0001":x="1";break;case"0010":x="2";break;case"0011":x="3";break;case"0100":x="4";break;case"0101":x="5";break;case"0110":x="6";break;case"0111":x="7";break;case"1000":x="8";break;case"1001":x="9";break;case"1010":x="A";break;case"1011":x="B";break;case"1100":x="C";break;case"1101":x="D";break;case"1110":x="E";break;case"1111":x="F"}return x}function pT(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}const oT=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t="TRUE"==this.getFieldValue("save_hz"),i=f.valueToCode(this,"input_data",f.ORDER_ATOMIC),n=0;for(var s of i)","==s&&n++;n++,this.setFieldValue(n,"x"),f.libs_[e]=t?"static const unsigned char PROGMEM "+e+"["+n+"] = {"+i+"};":"unsigned char "+e+"["+n+"] = {"+i+"};";return""};for(var uT=new Array,rT=0;rT<8;rT++)uT[rT]=128>>rT;var _T=document.createElement("canvas"),FT=_T.getContext("2d");const hT=function(x,f){var e=this.getFieldValue("bitmap_formats"),t=this.getFieldValue("modulus_way"),i=this.getFieldValue("modulus_direction"),n=this.getFieldValue("hz_sharp"),s=this.getFieldValue("hz_line_height"),c=this.getFieldValue("hz_up_down"),a=this.getFieldValue("hz_up_down_data"),l=this.getFieldValue("hz_left_right"),d=this.getFieldValue("hz_left_right_data"),p=this.getFieldValue("bitmap_width"),o=this.getFieldValue("bitmap_height"),u=this.getFieldValue("input_data"),r=pT(p),_=pT(o),F=Math.ceil(r/8),h=0,A=0;A=pT("hz_down"==c?a:"-"+a),h=pT("hz_right"==l?d:"-"+d),_T.width=r,_T.height=_,FT.font="normal normal normal "+s+"px "+n,FT.textAlign="left",FT.textBaseline="top";var I=u;FT.fillStyle="#000000",FT.fillRect(0,0,r,_),FT.fillStyle="#ffffff",FT.translate(r/2,_/2),FT.rotate(Math.PI/180*0),FT.fillText(I,h-r/2,A-_/2);for(var g=FT.getImageData(0,0,r,_).data,T=new Array(F*_),E=0;E0?"0"==D?R+=" ":"1"==D&&(R+="0 "):S%(8*F)==0&&(R+="|\n|");for(E=0;Er-1));E++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}else if("2"==t){P=Y*_;for(C=1;C<=P;C++){for(E=1;E<=8;E++)b=C%Y==0?8*(Y-1)+E-1:8*(C%Y-1)+E-1,v=Math.ceil(C/Y)-1,"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}else if("3"==t){P=w*r;for(C=1;C<=P;C++){for(E=1;E<=8&&(b=C%(8*Y)==0?8*Y-1:C%(8*Y)-1,v=8*(Math.ceil(C/(8*Y))-1)+E-1,!(b>r-1));E++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}else if("4"==t){P=Y*_;for(C=1;C<=P;C++){for(E=1;E<=8;E++)v=C%_==0?_-1:C%_-1,b=8*(Math.ceil(C/_)-1)+E-1,"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}var V="",k="";if(2==i){for(var E of y)","==E?(k+=V,k+=",",V=""):V=E+V;y=k}for(var E of(V="",k="0x",y))","!=E?4==(V+=E).length&&(k+=dT(V),V=""):k+=",0x";return y=(y=k).substring(0,y.length-3),f.definitions_["var_declare_tool_modulus_data_"+n+"_"+s+"px"+function(x){let f=[];for(let e=0;e{"use strict";var x={810:x=>{x.exports="data:image/png;base64,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"},803:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAABKCAYAAAAc0MJxAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABHhSURBVHhe7ZwHlBXVGccNiBqwiyi2CJEIKiII0oIFNdgFc4xRrEg8x2PBbgSPBiPGgmjU2CUqEaNGwApYEEERPVhAig0XUIJ92UZbFvL73/neuLNT39u3G6P5n/OdO3O/eu/M3LltZoP/438Y69evb7Zu3brd16xZ0xPqAXXnvBv5+yifdJfy8vKWpE1N5acJKqPT2rVrP6AiHGpqatZXe/iG/DmcT4buRe5cqC+0J7Stqf90QIUcRUWstnpKBZW3EPnRVNZAqCNZW5ipHzcobBsq6xoKPwP60quObEDvc3RGYaMPpy3N5A8fBNyOgPtTgMM57rxy5crdSFuRt4mJxAKZTZE9lYKPgxZyTFY24K8KnQdIDy0tLd3STDYuiONndhgLZLagYMcS7CsucsAjUsr5TGgMvGHQAEiPyvZQE1ONBHJ90BsNLXTGMsIq7Bb09+A0Ne6iQI5w2IsCn0LawrJDQK49wY1CLrWdsUflUeydrbcc6c5kxxYIvirsYWixZyEbiGU+yellZWXbmKmGA0F2JcD5OK2CLsNxM2M56JyCH4HMGwouX6C7Gt2J2D5r9erVHfG3uZkOAV4/5J5HbbmnnQ7kq7F/54oVK3YxM8WHrjROxplPOX2RxH+7wP85dCb5eTW+ccDOEvyNxObBUCtzEwD5LaALqeB5yGZuwJCdxIXobGaKB2w3x/hNnhvnaDYB9ja2A+d7U7gvTKRooBLW4G8Mh4dAkW+xVatW7YHMQ9B3TikDiHUOtg80E/UHNpti9GyCqDYHS6ETjO2DK9QFx2WSaQhgeyUxqJO5PxR6JMnbGDqf2D41lVQgO492cX8zUTiw1YQADyPAZWa4EsOXGjsA3crIfiu5hgQxlBHPSO6i3c11AKpIZKYiU2MqiUB2LmXqZeqFQX0e/E2XQVLqofpODiNf41TUPjj9RrKNAXy9Q3L88uXLt7YQfFBZOxHvGGilJ50MbL2NTmTFpwL9ZhgY5plyFTWTJPZtgSO1Ue7Oayxw4fSW/Bt3V3sLwwfsreCNIs30VkR2HGUIVXoquB175wpOWgqdYaxI4GRHBYbc49CzkG7/N6HZkMZiX5C3wkVVfMyi0g4l3dDCcSAmvYkvw3fqm1ixIXcdhxuZejowvjlK98oA6VroMQ4DQWQBOk2wtQPUGzoZOxq/jYfehfT6XyUfxQAVtRQfgxW7uXeA1ZS8QfhKrSxk9Nbub6rp4G46gBp2tyzKH+Ooh7GKAsy2xObhpNdj/zVoMf7Wyl99gB3dFddzuL25cuB8Q/z9AV5qG0oYU2n3tjLVeCC7BQbvlhKperL3GKtBgJuNKEQ/7ojbCfJ9/FXKd6FAfx30CDZ3MBcOnKv7MAReqYlGAn45cQwztXhgTMMUd5uSlnCe+OpETFdrR956e6kvxd24r1LyOsFrT7oTtJmJJ4KhxS+QvRK/bxJshWIoFNh4vKqqakcz7YBttVlXwEu0DX8+cvFvQWQ0BXuxCattesJYISCyFbI9oPOQm8AdsQhargKSlkFfcqyhxdPIXo/cyVAv9aIrKytbm5lIILc1uldAs6HME3h1ge9/YatuZan9HQnF9rNguUfYVMKg39QGATegJV2G0WOM5QOWGscu8PWo5PWYoKc24CN0H+N4MHfe3mTHtgfE05YKH4X8Es9C/kD3SZJAm4XvHcjXBYyFLhJy0ReUoA7GQE5wOoIbG8uhpKRkE/I18P3YCdUT+FuKvzvwcxT0S7Ii36zIHQFP3Y2835LEilrNAxwGpod1kcif40mFAa+MZuQyE/8e8DYh2CtNSI34zcZyUKXhdAhBF/woJAHbM/Fxnu5qcxkAvO0UE/SVqWQGOhXoX8VhoI9EnqaEvvakwoCnScdgv4qMXWC8ZALqkxxtLPHUYA+mMFXiNyTwMRVfx1VUVISmVmBrgK47usSTzg5VCHZPNVMOnLsOKfYi2yt0FnJXdTdxD3pToeCmKUjfJvGnNDDWjbzPxGsM4Et39IP47aXCWBg+yOuLzLsmnhnofIpuYLaAc40oXjCRAJCvgIaaqAceqWPERKmGWhxj2bqK6ldpMNzoIKavCFQzqaF5KArYFd5sTzI7KMvL6AbGdPhRxUfOZSGvWVRvIoADtU9DjVHG8QWOAdRLJ69efZr6AN+6u+7jMDQgJzaNRzUXnhnYqqRiruHQn5envJopvRpeaJaUvHkknm+EWpHxkDGWcH6Y8jndCPqj8v/bIK7JxBWavoV1ILyPPKlsoKJUxsAjSPau2NEMSQDkfYbsUU6IN42EXjaGeqXtlE+qN80jTiMDkK2E9MpfBn0HrTFWUcDd8z6FPIzDwJwYcf4G3iJPKhuQf6HumA47JxJzoAuCXBl0cU6gAye5tf5ZUHPlk7Ylf4bLTQDGNb76BDtXQb+FTkBPPfZboKc4fpt0MZRpIi0J2NLdMMAFXgtUYH94mefskVVDHRjTkb09MT7jSXjgHNPVf3UCONY0bm62YLrLBLwJ98JY6hw0OuXYuMTUQoC3GaSB73XYU8fxc1MtCNjRGPRwM+9AtoZfujj57FlQ+9PWTDhg4zhsBO4q2sKxOeZ+KLm+BEITXSagojqTn2Vq4ktshBYcooC42r3++NFUbd79oRzQ/QCfPc2sA30vNRWaO8sEZLWKfJ2pO2CzNXnPmYgD5XveMamxnpanzPEuE6Ck6d1/GysWyGhKdrSN/luQlWnfErIHofc4VNBaIH5fk08z54BNXdxPTCQVyM6NsPF78v35MeKb4hhUVC/Lk6I/Y4BCO87VZqUCY6qsF6Br0DuXrP5mV1MtsXuX4DfBx6nQe8jJVGago7ZRa36bmjlnDzqd/EyjCMnxKF9r6g7E0Qbbb5mI/ExzjLiK0jDCAikY6GuqZTR2B/Eoxy6Ta4EAuX9Cec2rI1+qC2NmHDjfhnzX3ckCYpuDzs6mLn1N8l1obPHfcIzajx4OxrlMwKk2ZZziceoPHGqe/EZsdufUvwtyIG9L8aHMK74Cd8SH2NzbzDhQJnWUy00kEcjpDXilqTpoSJd7wZHOcJk46YZwbiV4sss0wGunQMQrFvD1DTQC27uZGx+wNUrQyknilG1dID8WPX9aiOOtyXNT2lmA7Ct19Lcl7zZIk4deJVJ7nagM16CS+TqJ373nWIEPIb/o0yvYfAvbmosKzHvBak7eUILMPHRCVhONx5kJB861RSjTMj9yi3QXmqpi0IxJa5FleXcNQbtGGwWNygM9VmurMvfQ8wF+v8X/kLq74shLnbKtC0Qnoefv29IqMnl3GDsRxKG9DTeYajQwrqlRt6WH9CPOQ2MqzXVj7D1ntcjAp+ao/1y7kILFpdF7JiD7NTGebOoO1lZlekGgq6fJjUoiAVNTKbdKmFSLAgONFQCP54Eyhoxrz4oJbGo1+gIOA30wKktzYZnHcdh5isSflaSPpH1dkz1uMpDTAPgIUw0DGdf9N2HtR7rVWCEgpw0Qd0ENsRdKndvASi3n2gNxLv4yLZAip7HgQaauePWq1wVIBbqroJtMNRoE2Rchd6eQaiYhdgldPJxriXwS9ClUtClibC3gcdnPXDlUVVXp4kwxkUQgp47v7abqQKz7Ub5MK0ZclEkksXtIVfj2GHMzCDjSVMuvjJUI5PZHbziFexS9l6G3IK34fo7TgpbJ0dXcfWDVBD8arGZ68+JWvWq/n4auxm/jPW4ykNMyVeRWSAeY6jfkJu80BRtoFLMCdd1tbUi1t/wObH1QQIVpITUwG4FN3VVuziwNyGlxxF+TJEsxneNxk4Gu2sNDTDUMmGqnzpawCkYh7zVWvUAfTetnd2Eyr71TyL9LPP7+AbK08Hom5AkkAH+htobyaCY09YLhV+t5F5laNJDbF4OuR0w6j6ACo+r6gABOhDKv+FKocgK+3NQdqPQ9iSuTDfT1pvNnQtHV3FqqLjLr8PugqUUDuZY4cINgBYrSFcYqCqj4o7GbeSM9slqA9Ps1HCu+Bx0zBcjNrX2hydK6pRrqVCD3GklgD30IGD/RE3e1O40kvgNWB8gmzkPB1yD7DALJtDSOnO4Av73gWFMygxwzBeh+vygAyFJf8RaPmwzkVMnxDbqAgIYzmiKVgmYuf2esSMDXNG836CToHOg0Ow8tXAo2HBrrIkoBctqFfLWpOnDenfzURQvKEJh+IUvzVGc5ZgrsBkn+lA0BDYLd1h8BpQkkkXcVcvpuRbvmAtum0fkK3lB6xZGbYylsH9qaTH0vbD1lag7Y7YC/BcaOBTLqT400NQd89jN2LFTBUOJ+VR+aRMOom1rBmb66PNNYPmBpxSJxoKxCUrDtTMUHeXrVTzSxRCCn5f3afSItgWuYkgouyGOm5sB5D3ST9kUJutuz7VdFUHfVRU4bUOBZCtDY4qsrkdovwekqKjw0Iocl+5d6UsnARmD3G8eZZwSQqzu3pv0VsdMuyGumM79vZLQZH6NubR8DmoIYyaHr2mNMc8p6jlOBnDbOh553bPT1JJKBXy2X+d+soLcZeX/xuMlAzpvrNqDbkXgil8rI/w7+YBPNDnS19XkgztwUBYaWcHe4wSb5muiL3VdUG+hrV3EXZ7QWyOuGjdTeI/oa5B5patJrQd5wYycCuddNzUF9KXyGuifICTeaWP7Ahvotf/fMucqapv2XBNsBh1m/CNBiZR8z6YO8rthI7Smjr4ryFzvJag79yTFTgK43123Azk741CjhRXhTSF8l1bTRXYgnv+XSYFfBdRcEjOprcM0RvWlZiUBO2/8CeygFbPT2JJKBv0XIHmpquTtKu1FSge/AHdXgoKI0cncrI6TlkOajbnTRpIA3zUNmxgfZGred4UkkAz9aYfEfXbLUcbzZ4yaDinrF1BoHuoqQJvvdJgtS7Va5n0DmuohigIwGtoEPIAXyMq+72R3pbyTjWN2SRx0zBegG+mCNAgqn1/KdOHftCneZKmssp/ooKLA/gXOt6c9EJrTrREBEn6xl2neA3FRTcyCO3chOXb1Gbx3+M311gc3W6gSjlvqLgUzAkK6mKse9rUi1PncPAWm37gRoBnkvkQ7HudtjVReoNRNf+mlATnufA9PStJlamExd8yOOSij1Uw061+3woZVsdayHoFq/Rj0HKkCT9U9g1FUWx+pj3Rr1gWFdIN6UQh6CbqZNGdjVp2vHm7r0Nage4HGTge4ydE8y1UhgS+t++ojcgdjUlQmsONcLGNMQRFO/bnBKqs0S+pwitPJbG4hqYVP7vTOBgurLzNojgnxmANStCPXfhKVLlyqOgdj3fzahiwdpG2Zx/yCEI00da6rXb59wpHbp2KSfMNAWaPne/7tGHJDBVPUoU3Mge1d8pI4IkFGToM9IQj+xUMUTw1XY9tf6kH2f/GwD4UKAD4359B2cvzeBADRqv5tg9uU08mtK8tsi8yQUu1WRwmqrY1dTceBcF2cE7FmkgccXeXVbPiR9VjFBgcE4IvpGsB8y/iIDsor1GfIDqz4NBjnC6USc+gXnfDH5F0CRn2zoR1nIa6viNFL9nUNvUX+vAcf3mWgIsPVl12noPMHxLFJ9mqv96PuYiA/kNif/17KHTO34vuai6gcU+X9HXB/gUH2jG6DAoJOAXoWn/zrprz+R06vwtNlWG2SHof8PCqDefydjJwKboe1DAvlbclfr28MbsOvPl3Fezfk70CATbXwQh95KxxDEc1BgJZkA1TBfBHXVB4dkJf7dpxBgU+NAfbqmR+w2YvA/S8GvLtqH5OvPP4V9ul9sENeGBKVVFz2OgbaEQlSQN55g9XcffevSzv5XlzyZHwF09H8pfdytX7fpRxbDIS0MBECevpK/B5ni/4+lGCBG7RvILb1/xnFgtoBKI7tGe9DvpxCXQNqj3pNOZWcNxukMduB8d6MO5HXUW5Nj/ddOP+AaAY3HbNQ/pZbDmw89jGxoGPWDBEHrA+sjCVob9PVVegmFi12JgfctlVgCLeBYP/8TqcFfAsUuqyOj35FI52n8nQ/9MB6xQkB59I8prdpeC2mvwgJIn4Xo40OvxBmAvD4n+QLSp7fvQM9QQWoD9zBXPy5QME0CDqCQl1PYu0knQGpn1FfSjyRypEdUX69PQf4B0qHongB1QbY447NYbLDBfwAW4AhJ4Lp3RwAAAABJRU5ErkJggg=="},964:x=>{x.exports="data:image/png;base64,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"},135:x=>{x.exports="data:image/png;base64,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"},626:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAM3SURBVHja7JvfS1RBFMfXsIci8EWIIih6KILQIApatQiCgvJBSqKeJFzdoKBYXSOMgqIepHVNqbSICCzqX/R6P73cWY7DPbNX3b2/9g4M7HrP7s7nnjPfOXPmWgJKvdRLBXABXAAXwFkGPgNcy2m/bAO/Jv9tzcCeB9je3s4tqWEzwBPygu/7ueoG1vf9FvAdA+z7PsDfnPVW04C/RVa9hFuEMd4vgAvgAjj/wOs5Ar7nBA7aT+BYDoD7gKoT2CQeQXucYeCbdpbl8rA0WgcuZAj4MPBGTE/aetjAyjQTmMsA8F3bYVtbWzvANdHaYSTC/DcwlkLgo8BH4Rwiezgw2gA+y8TbXAuuLwL9KQGeMmCe54Xp0ORu1uFp8zcZIqKNJwh6Dlh1bGvfAof2knicAJbsLxZ38D0wEDPsU9sRYmz/gOudyLQehM1t0R7GAHoF+OW4+S86nVoOAB/sHxSvG8CpLoD2AQsOMf0BXOpmLn2rjVBMdxD2hrZcBq0a1+ahH3jluOtfgeF9gB4JhEebRmvA2dh3S8BV4I8cjOd5cpDP9gA76RAlgKnEt4fAc4c3NoHRCKDHAx3QEoglYDA1+2FgOAjl1ty2BrwIHFBgK3aV0fLqRCoLAEDN9/0dwCGDHxf2Q8CXsARCfMdKKiseQN1WbktR5et3wJOwaSA/43meuRHLqQIG5qRnxaAf2VBG1OxIEDY1+V6IYDMVwMC87dmgVYLrgyZhCdvBCPvvwMXgMyMK9EqiwMC87VmTEIR447YWuop9WUIL+0ZSwHNKtjXjEJmDwEsxhiXgtMNeg/4UN/CC4tmZiMnFSWAoom1ZCe9GXMA1RaBmu7hTKsuKhvjNZreB6wpsJYbt4YgS3s1uAdeiClQ3PS11Q4T3cqeB5yWkvfTEXPEYleEtoFc7BbygrLPVUkLNsU439gtck8U7qcZJVy2NkIWE98pegevKOltJUV16xFZvk3vvFljLjWdTWIjXwrsZFXhDy41TfNSi5t5tgbWlJwNnS1oaGv0wTQpURk4PndDqcakwyuqzWZuuw7SJsD1qHp7CswsMPfusZc89TduTz0sX/wJQABfABXDq+/8BAAFnd2LSqt3HAAAAAElFTkSuQmCC"},415:x=>{x.exports="data:image/png;base64,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"},465:x=>{x.exports="data:image/png;base64,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"},157:x=>{x.exports="data:image/png;base64,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"},199:x=>{x.exports="data:image/png;base64,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"},593:x=>{x.exports="data:image/png;base64,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"},111:x=>{x.exports="data:image/png;base64,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"},292:x=>{x.exports="data:image/png;base64,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"},607:x=>{x.exports="data:image/png;base64,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"},875:x=>{x.exports="data:image/png;base64,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"},244:x=>{x.exports="data:image/png;base64,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"},624:(x,f,e)=>{x.exports=e.p+"images/ESP32c3_ad3ebf81.jpg"},741:(x,f,e)=>{x.exports=e.p+"images/ESP32s2_b49570e2.jpg"},288:(x,f,e)=>{x.exports=e.p+"images/ESP32s3_10bcc520.jpg"},101:x=>{x.exports="data:image/png;base64,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"},319:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAssAAAFqCAMAAADbfuc/AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAMAUExURQ1MdcnJyfvl1nff1ZmZmURUaqnRjv///97r9wAAAP/AAJqRbP/yzAtLdQCw8JiYmMzZ4puSbOp23AdJdcAAAJ2TbZ+UbQ1Nd+ro4GZnZszMzAdIchRQdpeXl6ioqBQTEAkJB9HR0CYkHO7u79nZ2OXn6CwqIZ6envv7+8PEwxwbFxhUezMAAOnr6w5Jb4qDYrCwsKKYcvj49v39/vPz8wMDAwAAOpycnDMzMzIwJtbW1CFbgN3d3ZOObbe3tilhhYqKbwFDbofM+IJ7Xd+vbN/LlnGWrQBnuefl3js3J8GPOKSlpICftJKSktvg5OLj45+1xL2+vWtra8rV3WKv95CIZXd3eLXEziERDDOP1X6DbWCIolpxbYyNjVFRUSJWdE9ecgAALldaWU5scKVnAAA0l0ZCMtXb4M/Qzt7s1KGhoXN+bsLu+TFmibrJ05iOaKm7yAAAcGh4b67DzJWVlYyougs/YmMAACBOaGqPpy1cc4c2AGBvgN/quTptjkFmcVWAnKbr+FRPPMHQ1wAwgEJykkl4lktcapitvkBYpzdhcnF+jXqGlZmjsGZhSWl2hwAGClhneamwu8bGxp82AJnNzv/tsn3UkV1ZRDBTYgAAWJJ/IXKv0MrLn9Ti66nRckBbYEmcjUdGQiOAeQAAYLzu0HVvWABmnXEAACqBtXN2Ym4vAI+aqFmYzZUkAMqvfIWQnb1pAJKTe35cAKmcPpXMjVgAACIAAEsAAP/OgZumAK17L75UAAAqAABUrwGO6wBYljqQtPjqn22UQ77AAP6wXAAwViY7TtuRMGezlup2tsubXZdZAMZIPDSm1QCwxscpKABcaoGggam0VwBQAF/f1dzAAMvZ5dljYYfA3Od7i3fAgf+bAHXZvo5m3ABrOKOllK5226Wiheb//7FPAKiPNlphAOB7dPbgycp23Em+2ACYktp4AHiUfq5mAHCPAJ5qqDZIvupYYY43BuaxTzt1AOayDvPCtWdY3P//zsN1edBwylkAP5mEpr/vtJuPAMGWGxsAAHMnSURBVHja7L0JXGP3efcrUsYYk1ONqkjKoIVFCAQagUYSlYdFQMbBnRGDkDGejwEHPDiBQFgCIgYyhqkxDHfssTPBTjLxkonteplMUmecPc3ipO6bJnGztk5T542v703S2zdt8yZd3tv28977/Lez6Wg54rDrb4+Qjo7gHJ2vHj3/5/88v0dXkBu5sTeGLvcW5EaO5dzIjRzLO20Egt7hmdm+1cWWRpvO8r7C3TDqa3U6W2PL4kpfx9RBb9Cdu4o5lgv8T0zMnm20oKFDYxexjA8XDc9qx8QTwRzL+3s80TU/zmO8G1nmeW7p6zqYY3n/jlPzixKOdynLiGYE9HjflDvH8r70kidWGxNI3qUsM/PsWeny51jeb8M9seJJBHlXs4xpti1O+XMs7y8/eV4R5F3OMsF5tdudY3nfDO9aSxKSRSyXv0v9KFfCrvR4ileUKr2iJP2fSMYyOgNPhyvH8j4ZB89aLLp0LNd/5Ij6cW+9Apk1dSleoUh/5WTS/d94V1qWwTavTORY3hdjajwFygLL9x4pUjkMSVg+Zk76iskaRZZ7TEn/RAYsw0k0zrpzLO/54W/3WFJiQFkuJSwbTAkj+WZzcpYVXmBIzbLyn8iQZYutz5ljeY8PZyr/QsEu99TJR4/y5rpJAC05ywov6EnNcpI/kRHL2M9w5Vje08O1mppkGcuGonfVl8pGeZ2pyHw8YXNpnSE5ywbTvYkvOD6ZgmXTZOKfKIG/nCnLcCKLB3Ms7+VQ3EoCyrb2ruWD4tGdR0bFW9FoyJOPkT9S3JyHNlfkKYxkLyhDv39E6RVl8Io/SnxFsfgXSY754HJXuycB5vHuHMt71yonojw+c/Dgq0osF2vGcvEWsAznMDGe4GaMH8yxvFd95UQHwzZzUD62zC43aMkyjIlEy7z4RI7lvRnBOJuAMtd+MBnLu8wuo9Ge6DOvOHMs78HhbleY9nUd3D67rDnLXQoTwD5/juW9N6YU4sqW5T1kl19dVmDZNhvIsbzXxkHFFIyDB/eOv3zwoOIK4ESO5T02vMqB5YN7yV8+uL/XTPYNy2vKayQH95K/fFB5zaTDnWN5L40nGtWyvEfsMkoBPZhjeS/FMPqSLF2rtct/evh5Lezy45/7ulqW//Tw18Us/+nhr2bIss5y1p9jee+MiWRJC3wM4E8PoyyHpx9JY5fTs/zdwo8+gh5+ufCTSe3yOmL5y3z6xSdFT335zsc0Z9kylWN575jlFUsalg9+p/D5gwdH3l/4yQ3a5cc/UVj4dSnLKezyCQnHKVmWfShUsAzLf/4cy3tlzNjS2mXM8kFEyMbs8uOf+OgvEY47iWUdN5VjeY+MQPJET6ldPvj45+5b7kZ+QmHhfcsAzj89/QjYWeI0PP45sLiU5ROwAyYWoETeyfN56PYxwvIbh78usIw8iaf/BBD88p0dn0C/CRnu+66TsAy/FP+q+2aIp/PRR/7orW9H99DmvO9+9LOfK0RPIR8Db/4kzzL67Z9Mz7JlxZ9jeY+YZY8lM7v8KrbLj3/uk4iV+54AlhE4CDKCGoIcWL7nd3f+LQL+kxhw4PPLhaeBvxOFj2GWH8HPEJa/C8Q//n6AueHLBE30PAJcmWXeLp8ofKkh7zvYW/kugxdYPnHfEw3kD2OW4W+AX/S36Vn2TOVY3hve8nzy/HupXX78czD5oz7Gd+/8W8TyJ9n3/nexHf4uYvmmwscaKJWPfw4ZbXz7R9+4+1nCMnwOZgjL30E3I28//BJiGaFKEf9yGpbhVyEfA+/8XeJ/C3O/P0V2H7E88v77YA3+1VdfTccypGW4cyzvidjyeHqWwS6jYo2vQh5wN3NcEcvIAGMiH/8ERhH7GP/09J80UMRFNltgGTOIOfwyIr0YnkAsf5J4DI8k+MuJLMOnBbGMnyAfIhHL+MXYLn9X7GCkssuW8SdyLO+F0eXRZWiXMRtJWP7c19nc757foW96tlnM8n3LgrWmNpWM+w5SlulHIh3LJ+78W8Qy3i0Fy8iF/2QGLOt0nq4cy3tgBPssOl1m/jKa+gHLaHoGczsZy7xdTs8yGOXnCcvoAYljMJbRlvWsWb4JfzS+zscxYLKIYuLpWOYsfcEcy3vAxWixZGqX8WSqG7u7KXyMe36XzMfgWYbbRzHLiEMxyxn6GCeS+Bj/hDx1wS4LB57OLltansixvPvHRKrK64Q4BsTkvkMnfBKWxXO/E3TuB+wlYRleciOZ+z3PwsJ8jC5x7kf8l+8UCiy//TCZ+wmTTswy+UaQsAyHnAnLOstEjuXdH1yezYRlZt4getGN4wTfkfkYJHrw3Ro09/vG3U8/QhmTsdzd8Pj7P/pIQwP8AE8W/4Dbe373GM8y3vXLd5bzLDc0lDXAX22Ayed9Ew0NgGZDQwUxwPiTILXLsCN4QJTlx//rb/ERZ8Ty3s+W2/ssB1czt8sY6e48FNO4zyxjGa+GPP/45/BayT8VkhWUdRnLB9+KHBC0XgiLGo+hn2hVBd1jLK/jJZfHP8FYxjvd8zu0oPI7eDl+Afp5E5+oIWYZ7Vg4/wnKMk4iEaGcysewrAZzLO/24fXoMrHLvLLAqwdT5WOsp875xMP1VoWRLOdTGH8ke5hBzuerouNOZ5c93hzLu30ctGTIshb5y8lHepbfqp7lTPMxMMwHcyzv9jGVJcvq60pSDiWWU7+iTGOWZ3Is7/bRsVV2eaQs1ShWqDdJ+YKRYo1Z7sixvNtHX0qWu7Wzy5s/0rG8nJLlvhzLu32spGLZMqWdXd52ll/tSsnySo7l3T4WUwq7tu8lu9ye8lQXcyzv9tGS8gJ7JvaOXZ5IGX3UteRY3u2jMbXi9vjEXrHLE6m/gXSNOZZ3+7ClvsKcJ4mW+O6yy0pa4rITteVY3vVnmH5YUvV4SGjAAD0eDObj29GfsjR5jweLJf1p5ljeBywn7yO1a1jOZORY3q8sJ7XLNTmWcyzn7PIGW2DnWM6xrK1dzvkYOZZzdjlnl3Ms5/zlnF3Osbwxu2wwmAwKdhmaoh7ZLrtsyLGcYzkLuzzZA+O4Qktg2Hx0W+wy/OXJHMs5ltWyXFhPRuEOGqLjybGcYzlzlnf2yLGcYznHco7lHMs5lnMs51jO3jnmB4pisPul9TmWcyzvJpYrQ/lxOvT6GwtLbwmxh/HIbTmWcywrJvZauZ3I8pOOJ8m498kbj5ZCWPvGJ++991685ZAvx3KOZaVhW23kElkuLRVu60vJpsSAL7mtT7IrfaJeeKI+8Ylkr3vyjncda21tve3QLYee/G94nL7l0C29ra11D96YY3k7WY4+cPGARuPiA53ZscwZjRz6JzPLjcN9bQksl1dW1sCySGVleX1hKdyWottKKc1kSz3sWoJ3hReUsBegJyrxE+WVR9ETRyvL8dOV8HQ5e12N+HWlwi88WoJYvveN4uKRjv9DMmLFI+Ged2XCMjpTo+RsVV0wl2YXLMn1cmlOxBax7Dr3i3+7QaPxb78415kNy9zC0Fhv79j0eRsnZdk538aRwbNcc7S8/GhJKb4tRLc19fAPgSiam6EtR8mu9SXCC2oKgduj5YXwD9AsOV5efry0FN2WAN019An6utIS0Z8oxE/Xk1+IWDY58srapSyfGgm/UZeBXeZsS9O9cLZDA1xWLLsG1169Xpvx6tpgp9IfcNzzZo3GPQ78F7aI5Qd+cYOG48Rt6lnmBqabi0wwDEW9SzpOwvLwqQk8zvIsl1fW1BytKTmKbuuP19SUl9fD/Zrj9RKzXA5byK6lNXBbiV8A9he9oLL+aDl+AjYdLyk9jp4uJb8Dve5oPX5dCX5deanodeTXliKWJw2vN8hYjsWOFIlZZs6+1Soleai1yIBPtrmfp1nVBVu7XrvRdb/CH3C8WcPhu3/rWL74b1qyfMM51SxzS61wYfGAjKFpkWkGlg9Slvt4lkuQ6Sytp0azEhlNsKZH5XYZDC+yr2BliX2tJ7tWYruMnqisLyV2+Si2y+h3lNNX4NvSUvGfwK+rx38b2+XJyTcS7HK4SMJyYwtnRUQ3isX/4XNrMhjYybae59SzfPFVDVl+QuF6XbxHS5bffG7rWD6QjMpfYyx+jO+/hvow/vMNNzzHaPnK3yR51QG1LHNLzZRkPMQwc43e+TYyrDzL9TXY1y3BzmwpdoLryxP8ZeL31uDtvN9LX1CKfW7yhPJvwk/UsyeOoifo646ipxHLJp+c5Vj1G2KWLe2d8zawyWe7u4QzMg6MmcQny2BWdcFkOGIZ6cJb4d49d6N7f/g2uPv2wzfjJ3EDTfwkHncJd+lQuF4H5DR+mr2tdz7y6cLH0JaXC59lmz/6J2SnL6K/9JgCywd2AMt/VvglDPGfw23hv8KG576Etz+XlONsWOYWWjHKBrOZXGVzv4hlZ3vbhmJyAKHkUeLzmW8XHgHLR8LFif5y9et1wtyPG+/yTi02zromVkSnMG2mJ2vGZ23qJW5G9iy//fB7/xj/uJUBjHmlLBN2byp853uup6xnwzLm+c5HCLH3vfvNb/7Qw0AwvkFEP0vofunNb/4WutmxLIN1BnP8KQQ0G2lYfuCDAVV2mRgqw/TgucExfK+ZffGCQEbfODLInITlmqPImpbiGAS6rccuhdQuoy31eNdSZHiP8i+QPsF+E7ktx09X8k8n/YDgOEaePI4RLi4Oi30Mq22+c3jZ1dEoBMmNS0UGfIq3XSRnCz6VOpYDH3zogBTlm+UP7rkbyCV3T1B0byq8Hd++90eJLMuuF/oDKVgmuOIbyjJ7wDO+c1nGJlmCbxqWDxy4P5A5y9x54mGQINAgum8aEzxmq8UGTcMaPToulb9cc5QQKkpklvvLpSn85Uq4xf5yjfh1KTJKnzz5rmeOHXvmmUOHDt1YgkbNO5459Aza9OCNYdHczzMV9C+PtwnfMzb8wTW1PoDP9hDGGhvmjFG+H14nIvHd78dWWQr2XeBl4LuYamG3EzcDzgksS6+X+yHYkIrlbzz30T/5xnNicPHPl4lF/paCl7HD7PKfYR8jU5YPfDBzlo3TGN/7aThyGq61oZWf3nONM2s2T5fTNc9tRhyjMmUcIwXLvnc8yQ/Y70bh0W2CXbasLLtm2zuH+2xC6LEVzs/c+kF6tmOo0mvIqIJl/MpkZplnGcDFd4k5ZngTA63Asvh6XTiQhmXkKpP7vBFGAH+L+dEv7WB/mUz+nsMzv0xZzn6cMSNTtWRkPsaU66y1wzULPzjF+PLx8pqU8eUacXy5BseXSRgZnpbEl0tZfBleQePLyVmuuSN+ko54HOVj8A9P6k/zLPd5l1c56+KMk5dMNw4BuwZT9QMbe5NEJAq0KvkYJ3hyBWdDiWX5SMkymvI9+2Yxyy8jlsnTO5flwkIe4T8T7m4my4PNJmaqsFkOdlitw6faWiAWwMcxyGpdDQ4vlODlOHXrfuX8E+X8E+J1vxK27rexnE+ur6MFnH2rp72dxTGM/WbkYVRc1Jbld7+fxiowwO9+P7LBm8jyy4Xkrojll3Y+y19CBvnPhRDdP2++XYYvYYNBYBlictburjbbKRzXUsjHgNtS5LCWyAfZUlMjv036RE3iExkMyUeIxPj4uR9nJW4zv1aCWTa3Dm+CXb6JsIyOAvvIm8fyhx6GznDv3p0+Bu8pv3aYQJye5QsZ+8ucrRd5kHHmQV6FmaDYLjtnreOdXW2Lw2uWJDG5+vLT2zneIbLfJdQ1ISzb2md1svwSYz8sCplaG9jZogCdqZfTwl++SRSI45/I1F++oMZfBmoJuALL8BTP8k6e+4nCcfRuWpbP+FXEMXrxbC9KJn/3+47goBxj2dbhnTnYudgy0bnCJWG5BlLUtnHcln+jKHiCZpGUZc7WNQFLJWgIITnkLxeZw25ythdRCMcwZtQijqHIMv/43e+nAQ1FlsXXK20cAwWYUSxDHMcAM83iGLwnsjPjGLxhfu7HmfgYZy5kijKOY/Tj9ZE7XB98aPChDxajq8vWD/Dkr6N7eRHmT6vWJGsl9TduK8q3+JrewR8KTUbiWV5eHMeDl0w34jiGqXXEfeHMgTNXr5lUxzES4ss3Fd6cnGXeHPPOhgLLsuuVLr6Mf+JlPyG+/BgK1ZEwHfY+dirLCN3XDhMLvQnrftwCji+bro00dVaE8X3DtFGIL1s9Hg/HtSVf90Ms37ZtIzJS8Q5xVBvNShnLa04XHt41NvfjyMKQoTVc0Vkxco3cVxVfTlz3O1GILfNdiizDQt+teJ/br0/Ksrp1P0wxMAuP+HW/l0RrKI/t5HU//OM1cQqGtmvYxmm87nek+dq11iMYayG8DEC0z5yaabc2zvZZUrAcD4XyM/5fxa5pflEoFBkpFrPM0vapXR5un0ejXej6baSfXFPrtWtFeDXbNLTBNWwaxaAL2TfLHekT/JMscaOQ2uqsWCbeBV3KJvkYzBK/LMrN2C6WB7c5T26gV5qPYRgSodzhOrU24Wpfc/bhje+rV2T5ZH7mQ5+v0dDDb3IUS1kWxeSA5VM6UV4UPaN+smJvYvkYYzb1eXJPaJgnd71Sntzf79Y8ue3OX0aLYUKinMHQL85f9q55bI0TsO5HTNvcMdmoUc2ypiOCWT4qPypy8B1d8jgGInxafLL81GAP5y+HtzB/uencCQ1RPjesPn95YMxAcnohRb15SCfOX4b4MqfrcrbTWMCcyWzCA/LM0D1z+U5g+biZHJGJHpuJ2FqLTbGopL/ZgHGG9OWisYEs8pc7B7s0Q3lqcFjpD/g0RBn/ha2q9+u87ZxW1V3nblODMl8jZRvqbUY+RnPr9AInqZFC+cvWrgmOfk/P9RQRh8TQUzeJlrt3Bsso0NZT10MsrmmyLlV/LE63MNZahHI+m3uHbNnUlRR03q/ZBbt/eJP/wDnyF/ZRHbbRdn6of7p/aIGT1/t19c3PLw/Pz4/jDbWXDvWgQNbkoUuXztWZdw7Lpt7Lly5fmUQRxZ5Dl9JUruoW8Mmetxlzddh7j2WgGY+EOuxuFNSKRl3eefK1zdUegoVBw6Fao8V4CQzhDmHZVHcJDqj2CizAT56zcukUBIwJZ5tjeQ+xrBOl3IsKScYXxxcX0Q1bbzBeAtHunstg0bjaK+adwrL5UC0cvPHypMFcN8fpdDl9jP3OssKwskEBsSCWTT2X0MPaQzuH5X4UhjNe7jGYj+VYzrGc0eCM5yYNhsnTSBlm7tiO8THMV+ZAwsN6CGIT8J1hybG8TSwHglfPaDVrPXPVmx3LnKK/nDhqL9ehjIa6y7W1c7ds7txPbwepQ5ZwH7enZBmi4nO1c+d6UEDj2KXa9J9IPHYsy9oTsUUnGBx8/mu/r9H42vOD3mxYNtoWloaGhs4PpKF57koPWfntuXLo2IZjcnw1SCKo+ng83+GLVecVo1Ed9o0C2foUMTnTsUNXJvGanrnuShqSuQF0sksLuizjGNqhpmx7ghdD2ukWRTARW8Ny4Orzv6/heP4F9SxzuiUccoWIa/9ASpjneFEYsuKdwLI+nnJIaNQ3VNDhiMsYtYfCZVFvkE8g8ztdTSPhiF2Os8ByEVMJAKzNtpRBjIVpFE2HYPqYINKk6nv04tVujZZKui8o2Z6rIS3X/SIvbJ1dPvM1LVn+/cEs1v2mi8wIUoPBbGhdktkwSYhjrkg65CzrHdEUo6nMJ2HZzY4jHJc6F6PFToW8VX/QNeIL4TwMBZbFwyY+eE726Rxqxauc4Fqbm3ldGzUX7OpVDdewLyjYnjOa6hb9/eDWsXxAU5R/X71u0UCvkKIAF3lIjLJn9mA3jGWWv1yJRnklP0plLPtSyxm4R0ICifqmKIpcBwsCEpbtVevBpL/F7SzzVeXz5pmwXFIpG+TgO7parDAh9HSseQScLf1F4nyMsSzyMc50a6nBpWB7DmiaWrSlOZ8KQP648J3kzlMk8+trwhMwbkb3fo5yCbVg2TbGUsfoRV4SXfl2r9c509XVPbwoqisprU+WJ5eO5YKCPLGXMOoIj8B3rF/Mst0RTfMrvHmOKkpzpFgp55PW+81HQU6AW5nwzopUxYYM1A+hC97T6vPkDmiZJpdZzifJ7nxJlPSJtLi+QRTZnn0zK55STvrcXpa/V1j7hwTfn2OMn6LU/g+M+Pe+AjD/GHb43lf+8GsbZplmQaKU3macvyyRx+jsanfN2tpWOjssojrsypIkLNvTsuyPCDCPuMCTCLoaqkeFbXafs0DkJUebYCDjLfm97oowyR2VsUwKvlkdtnVlxrXW0bl8VlgEopUHhiOt11pNZlGG60ZYzlhPDj8t1obJlGWSdf8yTlUmMltfPPwsvUFEP8YSnHGO/s5i+efv/V7hV0UsM4iZtUYbbsa3X01kWZ0GFzeAr6752gtnBs/cQa50v1FguaNt3tnlaVwWWMYSyaXJ7HLavxnjudUjKqOxKhC1EEIbviCbzFdUhx2RKrSxKgIhjfUKr+i8/MUYZinLJVgxVNBfbvPM+N3dIt0iHTdNJLh8xWUj1bSuxLaxupLM9eTe/f5b+d3VaXCxChIEKi0pQXcJy/wDnvGdxPL3vvLO733lvWKWyc+fi3wNbJHZXhKWVWpwDeHv3GsPkRgRgtncy9cUNXbOtln7vF2r3QLLWFqoJEku/mi1eMSQuxAsZg+9UidDXwHcBr3R4nAV22aPUAfDG3Ogfjp2PR52FGoOOXzrLv7MAmWJdrm8UlS7CmuWjbOdE1OurnGrIFjbiit1q/2nHrj4wIVraL5btLShej81enLS0j8VGlyUZVIBhaqkXi4Ug4t/yrSMdgrLyOhSbhm+yAKLyGV3f5zoZKjU4OLG8NW9QAOed8jqsNeis/Ptp4Ku6Con2GWJSJEsvqwXj5Nl8Eecjjh5lF8hc5irIr68qLsgIPjL9nV8Wd3FownhN7R2kl/lKGbehj+kaJcFTQFutdvb0eiZ7+zsszCtFyzPe8TnfgGf7EO4DntakzrsTPTkFCv+MtHgEttl5Cr/JS5U5VlGTzOIP53oZGwryz8HQqn7wFhGPofIxQDLnYrlDQTvJfoYOmvLTOcwjM55nTD3Kz8u1sdKtVbCWKYP5SwXl8FocApxDHsEm253td6erC5KXxVz+ZOwXF9y/HiJqHZ1eQXFMcZnTnk4qT7GKYk+xlbqyYnvZa71QkBlgrRoyvfYm8UOxacRy6Tub4exjEGllldg+Z1bwvKgRLcIBeVaWqAqv4WzpqrDzo5lfUAeX7aHA9h90KcqCrTnh5uCbueIUhyDDuJjeGzQawVo1llkukUV26cnB3duvj4LlomQOB/VINwKLN/5yA5l+Slskn+MKZb4GGKW37tZdlmsJ4cs83jHLBqLhOVy2ShNyXJcwnJIznJFEx0+RvsI2sMZsade+waaY+SXEpZLZQdVyQ4djrvdZl2Z9+h2hJ4c3u/m66/Pzi4TFXEqgP/Sm3eHj/FjGod7p4TlmxX9ZcW5nwoNLp2uF6ufMFWqOHwJCzqfiIdlV9C1vNyN/WXdXJ1slG/ExwhVgTQAiANUMbir8MyvKZ427YjlGtHaVflR2YgufrdrudvZvto5w/sYWOezaH379OSYYoY6DS7mYzxGH/xvAq7A8n3v5lneUXO/77Fvyj8UhS5+/ofKcYx3KrGsRoOL6C8XOagG1zVMNl/0ZwX1rbPDa42NjbZsaldT22XIuliPer1lPOv6UeQuB/LsWtSucrap4dXGxjWva2KcnY7xPOpnYbrGZrq3oFPv18RfzlBPDsEsDcplosFFQCXSRNhtJoovQhzjJSGOkShctI0sP0XW9YDcm0Xx5a/yUWbRTv+D7iphWZ0GF3cerekamiNIg+sCDrmaxgRvGYSXdcMdbbS/n26udZLUrk621uEgwEbssn6UhNiCzF2mLK+rZhkZ2+a6Hnpsza2E5YkZqCE4C8L4QkwOK0ECzCQCea4Z7b2giS5+hnpy8shHZhpcvEIRL7aF7/LxZbKS8hLDeuewzHxgTO7PRf4G+/m9r3yVLPkphZfVr2Hjy2soas2PXCNLJXxIDrEc7bMBy3xdSe1lVLsKCe+13KUrhnQsp/GXG1C+EMTYXNRBpiyPxLNgGZLxa09jNby6y5TbiSk47rPRVZHWCxFHhBjk9OCBc7c040XsjfUrUaknJ4rTqV73o3Fk7Glg55mt+1GLLMhy7RSWhbU8BPVTvLdB/WQ+HwNlZnxVg3wM1rDExPeRmhYXr0652ju7FldWWL2fFdeV9AMexrm6dHUlJxuQ2U1ml0PBQDTs8JW53dQwU385qp5lqIwy6khd7eRlI2N5Ao67Izq/OC4UmrDkE76PVOtG+0hlrid3EwZb3hVNBcvox8s0/QJ5GjQf4yVR0saz25tbtN05n9RWsWEeE6cwWxuhfQ3SGDzLZVHvdzIGyckjLCwhs8v6iNvvO2mPh1wFMUZvHvY5InbVLCvU+9mmgkgY0e91zQh5cigpUNzfr3lpw/39VOrJZZCPsXtzPl/QNhf/AfW5+EPNpsQsSB7ms3i0MBhEddipWYb1DkcYVq7DEb1dr2SXgeVwHJKVvTzLcR9KaQ4Ux7Nn2STUro6TIz/bt2IT910dMxsSUFaX8/nqJud8Xh3VtIfwFubiOwc1hPn5QZf6XHxuoRcWSAwoRb11yMYpVmKzDI1alDQJ+hhQu3qpx5CUZb0+FK5w+v1+t98f9BY7cAa9PI4RhLQLX7gp4ObXsKuacDKGI66SZSAYqmll+hjoqMnBS04IiXChU4XzGOO1bVTl4l/QkOW1F5SIiGinjujARGxVQaP3hUGtKhUHH1CDcoEgjHF+ure1tXVsaIBLXfA3cBrVh0Ih9pzt0jFT0rkf1DiJs9oKAk0+WOGIjcDwCXO/YvQM7BYdZU5FPIZf1RCKq5z7ma5css0dIrpFlwfS1PsNDI3Byfb2LwjJoKqu1+AFrZQ+n1hTtD1aEvEC/gP7SVPAyBltNi5tHfZcD/VGQL7NkDwmF/c1JeQtQ7oQ5LvZ7aK6kqomXCXl5Zf90CaMfjGU9tnVsAwfrzp2bKaUenLkdHXQgpPLVrfIqRlqlLQtuNL7iGVl2SKF2lU2yMqE8lqJPexU+GNRh5xOfShWVtGwHonnJ+Qve1Glql7NWglbxUHDloHQR04fYy+znMFI0F9WYjleLV7HEpkzhwxOkL+AppN3nBSnd8arqW/idoX1+sxYTtBftuW0XnIspxmW98nb69UnshyPMZRdeT6HzxEuY6UiXmmwTe/y0uETu8cj7Ohc6WNzNLdIflS1OZb3M8scHmlZJnnC9YX1+KZeIefT7iAORsAV9pW5gv5gdN1XTWluCunTaQro9dWCHc+QZXRI+D9yRCznM5Xai/xs9wXLWyCQ5XrgolZ/4uIDnVmxbDTaBtDQpZ79EZZrjh8vT1pXYicrIjDX81WwSIY/zxcl9SLVYgOs9wdgCTsYdIs1BfTVPOENVfqMWaZtM48fF2pXUyhw6fDJ2kQnqwqMzdYt2gQi0AkGL/7mP/9Ao/Gfv1EUyHINrmkWfH91bbBTPcuccWAJtHxAyKf/vM6YjuUS6Ah5tCYpy2HMons9HBTP+3yEcEnkWO/3VzscDp9XZJfjYeqgBLxlGSz/SVlGvSqPlqRjGXTT+3tbm5t7p5cGjFmwvPm6Ra7B9p/9nkbjZ+2YCHSCV3/zBxqO3ygJZGnaykWxl0u6tRLdUi+EJQxEyUcmwmUlrZg4gWUoD605Wp6EZX0IB9XcIxKU4fL4SFFqtV7Ccvhk/GRVULDLtEgK4tGxSFyfr5Zlae2qsNojscoLWKUJnayplxfhUrVWstm6RQ+0/56G4y9Z750z/6kly3+glCxxUcsl0eufOKeWZehGQ1rdkaSbXnHHEo5bxVUlHY1CjVTp8crKpHXY+Q4aMpZH5RoI3MKyCLDsDbhi4VhTgZ/N/fT6POIpx6oyCi8n1K5WVh4vlbNsXT0rWsvkzrfya9gGM99pSNUa9mbrFl38mZYs/945yvIBTVH+gwNpUlXuEmmF8IkoLKP7JkmjQ1KKI+Ss3J48VyWNXe430H46RUWyVpU67mxn0NnZGfVONQq1q6XlSbVeaHZQIFZM4mpNsXA1WQ1wh7GXERDN59C6n9sP7EeZNxEn80ZIaLarWffjRykq2uJZpjO8trVlUW4R7iKMTpakyTHFsQ3kFm2CblFyLr8Jp/f0X+O7f/d5ev+bhX+VkuUDSiz/9PA78c9XCv8n/vnwnf8dbr99N3347U89/X+yZ18hb+47VbFMJEFIbiAtJOPvMnZZ7SOwTlkWQZ0Ny9wSSek1FzUTJR8hFR9SPqMTU855m67P1WHJrHYVuxJBBzbC/jCSEggVk3XpmFvmZOhHoziVyCm4GDHMe57K3CJh8iepXbU14uHp6uZZpsn4oAHZXETN88LW6RbdpdB2VR3Lv7zzH4Dd+xDMv8QEfxNgzoplCuu3P1V43/+Df+Ifv336E/gnffq3+EmCeaJdvqigUqNY00seiCptpGndJwrf+Qu64a60PWlTsmzDbVdNza9HHK8fMQnqJ6wnmq0Leq7aJrrw9/T7jsuGvHY1hKduFWFR1EKf34ROOUhW9BpCokh0KNbQJFr305MYiDdt/IIl3jFtRPlRkaPv6+5GegjD3gmeZSNWRjQY3og4Im/g7EDD2Abtcua6RQlyAkl1i5JR+Xeff1Yw0H+lcDdzlgVDjJkmZvrbn3rnbwv/F8/yTw/j55KxrKRSo1hwwIwxvFH4Lp8aS3a76/brT5B35p67b0753qRh2YjNMnQ7xzVSr+MSol5RT7T2Nk+Xd95DWZ47Ihvydb8INr7rpJ46xNalMeBk9hcVsTw6WgU9ratGR0PiGqmCsnRm2Z4fyRfXrh6XHxVe97OcdXm7kLPfLfgY2Cwbil7vBN2i+1/AVV7qaqQ2pFukzLICEck9jOfpvQ8fvu+vN8byb7E38ds7n8HwEoR/evh/Ut8DsfztuzHKqVhOUKlRlFpgLMPbgu/yVTZ8vRhl+abUmk5pWR7DX7UxWrv6Bi66X2C6RY3DE6stKxNRqC4ha9gGpiVuUtQS1zvwn45h+1rBZnRV2CITh9krLJfooy4yonTuR2ukYukkBSIN3oqIXqa/bDKbeN1dUofNzUc7IAzzvjXexyC6RebXnUS36IxBde3qhnSLkrGcQEQyKj98GPkYaPyQpzpblr99N/Yfnv4PDO/DxD2+87/zvsfTv/kUZTgVy0lK1KVCY3IfI1H4hrJ8ovCxu8WyC+o0uIgDabrGNAWuSjUFuNXhKKgWBf1deO7HzR2qI3OmnmdOH1PKkyNhDIJthV3KcgNhOfm6H2HZ7UvtYth9aK9ieZ7cM6ef6SHHVneIBWE6vFAOI5r7GYeQiHhzMa9bZNpS3aKkLMtHqqkfmfmJ+c2OZYwvOBXYU/723e9kTvMr2EIDy78j3kb2LOPZAz/hI/Xn6Vgm+9yc4r1RsRDVKtF6AQWreTTOeqw0Ff8SalMCrSFRiZRC/jLxMWJl2MfIl/oYTTIfQ+8vcLsDAX8gIGU5nMou2/Uk3aMpJGF58hzM90hfoCtzfDSOW/VYrW3ji5adoVt0l8LUTx3LYJkTYxdZsozcCnAqkDHGP/+A3DLPGXSSKMJYNIm41art8gnCciGztulYvlXyXaepBhfHNS6iMW7j+/tdRrWr51CN1JxCr8oQZnkExyPcxFmgmohBEm+rCEnWSnxBZ6SpQFK7mqpESh+vKsZ/IVAt64mGelVa+yfhG+OSUEWOj32x0SrT4BreJt0iWh146wZYhoW844Wy2EWWLCNofwu8Isf5Fcztw8gSEy8Z+RjUXU5ply+k8ZdPCIE44Ymk/jJ9gmd9g3a5SOpjjE/4nWh08DBDOUmq2lU8e3M5/EJykJ0aUmKd18W5RX6fI+isElgOFZM4RjLDHM+ny4cF0Sp9utpVzrMWRIfuP9UihDGwqGnZNuoWJWoKKBCReu0DzQC/uWF/GXsUDxP/gkTk6FzvYTQpRG4zicilZDlBpUZ+koos84/5uAU/97s9gWUVGlxEs7b5BXqZbsNzP16z1jPRPY/KP2dd85K+q8l7CGPvwu0r44Nyen0DWSshYWafPTnLNJnDXaychR+3+xroe+d12JV6CIPeAeqMTcmdd3WgY2/vXLNJNWtf/6BIt0idZu3GdYsStF4UiEjNMorMbTyOgWZ6v/kUmff95m4c02BhegQ4mgLSdZSkLCuo1Agx99uTs8y/Bfy7IonJCZ92tRpcWFHAdI1kfl3ED0Ra4hCTQ6NxmcTkUPE18UktnBV5Gwk90YgwfhN2KNwxzHIZMcvYxXCKWjwosDwaJXl1IXuid5EfrmA5Hi6WosTXriLPgoNGsLiu1kKWRbqWPW1tEMgQ1kqolnhzhERtzhFlm52nW5TOLv8VWyrZEMs/PfzfDpN43DuIi0GY/TaKX2CWwWn+XylYThl6v4u2AlBiGd4XmVTICbZWQqYVtyZ5b9KulbTiiNa1+y8OXrwNx5pFUz9YK0H6W1a2VlJ7+cokXmy4cvnS6WaFuZ++iigox1C+G2EZm2qvowGb5WIxnl6XryocDuVF+Vx8mibnjvqkquQQICn2stMKlPFJHYJuUc/pS5eP4QXMyWcuUZZPeax4DVtY9zPSHg9wtgcGsZocfHC3VrdIGvlQt+6HV/z+7vPoFtxmvO4HQbpsWYZ1EkzpTw/jiR0J0tGFaxKa+/bdaIesWKZroGQhW84ynQbTzzdZDiX5GickCiKq8zGGcMyYNOAxCFeXstxu8cBoZGslkyx3Y3KySLl2ldQ4BX3gJQt22etgm8XzuhAbIr7LKDKQwQ9LKTBGRyO+6gonH78LeGnfHVlMrmiSStbAsRE9ua6JRnTsFvEaNjbMEB1n+SeGovNbp1uErp1cGlHlGja66M8LqRk0plEo2pw5y+AZ0/VrnGvxCovBIahpmBm7zK/wnkdali8+oWmuiuo8Odu02SCR8hES5bjG4PCpCTSca5mt+8FCBsklcvp80SC1y8GGCM2wH5GU8GFdfBgjDlEhdoVQuu2Noh5STrfYLHrXxf5HinU/YNmJD/2US5xbtNQs1i2CPtobzi3KWLeI7Hhz+tyiwc3Jk9uCnM/tzl/mbGMG4fqaW0Xt/aBVZRcdZ7ETOvegbNQk2GWWTV8RCoXRRE+fHw7HR/204C+etkYqVOZOerz+qKRom7FcLj8qMk09y459XpzzOdRsFj63Razxqqqcz83WLdI4f/mhrcvF7xzs0u6tmRocVl9XAko+xDSDnI8g5UPWSiR3LO+rl43Eej+9ngQsKkJM4gLaYBOW/T5pr2C/AsvAfsypfLTOkfCoLBmU5snJDuoDtI8UryItKfU732sy0fRlQaVJVS7+ZusWdQ5qCHM7JgKdoHdQQ5h/oyyQ1Xn/Oa2qu87drwZlobf7Qn8rEuFqHluSSXBxnLjOk/VdLU3VrwQsK2FZnN3pV1jQg3q/Mh8eo5KSVnskL5gIclk4kp9QaiLvV1Iq7ruq4ziFilyOG1gaw5Jj0Mg+m97uW6BbpCURDw3ztatOzeWQdmAdNlxu28DC+YUBmy6D2tXK48eT90QjMAcUWIZsZhmJfnfsZBwN2RP6/NEYtNdBC9yBgNvt91bEHFUhu0LUWVa7io4sg9pVhZNV9bbldIv2iqZA6tpV6iYEZSy7Ay5fgmyRX1qXLXFUgFNfOFYdC/scIRyf06x2VfFsc/oY+0/rhRFTk7onmt7RNCJh2VU8mrj8ESioTpGqrCfycynFixJZVqhdzWm95FhOwnLpURilafr7Qbp8SBxJdihVVZc1+DKXwM+AZXZkOZZzLGfGcmFpTU36vquyzqmK2UKhZBVQcdwKWzXL9fTIcizva5Y5fhKYgQaXUCSapu9qurI9JVz1+ZH1Jperad2h16tkmWe6Np23nKD1ubOuy+boFm2FQtb2a3BxOhAuGhub7l+wpaTZOPcR2SjZCMuKfFeN+HF8OuBvyFQbsVx+VOnCGAv9071jIFuUnZa4hhdM+Xptkm4R/N4ffvY6jcZnf6ikkLXtGlwQce1vNpEmD73npVE5tN4gavEwV2SSjnKNWaaZcjT25bNnxPJx2UEV2dgCDz5uTqpbZFvqxScL4fShgWziyxpeMOXrtUm6RQUP/PA6DccP79+Ba9g6kZSPqahfvFpiG/dw1sXV1UW6cc5MF4DNpKmYQWuW9WWiutuAOEM0jS6+yWxgxatmqiVuta2sQiYG19hiEX21DEzzK/YikSY1LGt6wZSu1ybpFhVc/KyWLF+nkEmy7Rpc50UZCrCMPW0Tab0sn23rG3a5Otst+KLXDl0hi91Xzi0d6jFpzjKRxQ9AOpGbqGnEM+1XUte/NHQMp79NXlmiBrij09Xl4drmT4lyi2xjZnEDONYuWQ3Lml4wpet1IHl5FHTwo1V/9C6TMPqr9DmfBQeUiHwU1SB+GN/90efp/UcLP86e/Dje/hefzYxlbSWd1OsWCapUNCejX5Qn55xfjc6cPdvl7WMe8xVUMndlzmisPTdp0Jzl9QCS4ALtuaAD5RgF0xhmxjJ0abMarXO9qFjxUC1Nv+7wzrZ7pzxts9FG4atmmuZisLPdcK9KFbpFZA9piZSKnE9SS/LL55nmCxBNCf7mX1Q+myXLL975l9dd9xnM6osY3M8AzFKWP/YFtI9qlkUJzCeE4tW7+Kx7IYEZvUvCu3KXUN6rOn95jCbzXrt2DWcxG4SkT8hf7utwtVitfF2JDjqh0f5+FsUaKT1e4+D7UdrJYN4wGXrpQ9HuoQacwQ9VKUG9fd0N697xzPr74WISSY0UaC2dslj7vFOWjk6eZVIkBaeJTxbf7ee2TLeIXNWsWRZy7ql+0c+OE7mMDx9+/ptMOEMlyz/6/A8EA/3xhLvozsc+ITwhZTlBcGnwgFgakdTuYWUiUs3L36X3+TreExKsRSyr0y3iFrB6T5H9AugWvUB6u0+LWe7zrkCPKZqLj+r9cO2qJUntqt5RHauKOFiyUMRBBlsxiaDhGGUkshHi1wdBd8CLJRKD8KlwgYxzhiyj2lWLpHYV98PmuD5v19owzzJpIWy6Fos9cPGh20gn+IEt0y1CO3z8bjnLGWtw/ZLnlWlx0Z8A+TeTp+KnZPkzhU/Rex/7guBISFh+MQnK1ykILolqpMTaCXdRKcRb6V1W0UfqxQDpl/gaMqgme1FgWaVuUT+e8oVIBdxDCGZB6RPVlTR2z1isK52zFmqXgRfSc1pJU0CPRBErvCBNqyfihwUBPPBDu8OPh7uBLG/rnUE6+Hq/CEQxyvR2zHL+yaa0LVhFmgLILp+W2OWZ7haokerrdPIsG7E/Zb42TEp1L5r4irCMUd6IbhGyUv87geWMNbi+WcjqVRnLPzuOlV9++fRfi2tZ1bAs+A8C1VKWHxVtl7OcILikrI3IG+Ob6V2+ZIyowPzX24R6SBAGvUvMsgrdIp0O6xa1XqABzzuOFIk0BaCupLurM7jS0t29SEpXib9s6r1kNdb2J/rL9uJA1FXgd5GkIUjDoH+IskwfNRFBAD5/OSCpXV2nLMdD3oztMih21Bqtl+rMuK6WHv1q56lGBLOL95dxoa7BFIsx3SIUABnbMt0iVBR4jwLLmWpw/ZJN93iNxF8ilj98+Fmx0VbnL3+GzfxELoaY5X7BCVFgOancglSiibFMdV4EA8DePp5lVIktZXkD+hjgcQjFq1BXMjUz1TXeMrtCYrRz/USDq6juUD+qYpWzHK9whnzB4oiT6BuGINXN7wVNC2Kmq2Jk+EIsf9nrcrujgi4+FvosJizHIxWZ+8sg8XKl/5Y6Urva20+jy6sdLVaInvd18Bpc/VgyYbt0i979/puvV2Q5U62Xb9LghcAy1rBFfvQ309f7KccxPvYFWexCynJhUrOcimVZsbnMxxDeA8HZYHoa8DqtWJbpFulsqPpTZ2HLgXNUtRgEjIuU4sv6Mn/1iNtV5qe+AaQmB136igJqiOORUUi0iMd5TQGpbhGy6+Ci4FZUbiwg4KzSZxxfnuTLRehaCcfZwPGwcJxlh+gWnZBcx6x0iyD69qzMxyAzQFKdnQXL16HJnTh2IfMxkrrL6Vm+icUq7iLKAqwyPTnLvOnW3i6DYe7oBAXjzuVVapeLpCOBZSTWAlL3rN5anx+KFkC7KIpkzL0eqnA30bXpRH0M3A87yLdVKwis2zNdK5EMyvLZbnTwwzQ2Ltjlhu3RLbrn7tuv3yjLhFyBZQBYojGQDcsI2aeS+svJInKY5QtJ/GXeLhNI7+KjlmlYFqIe2egWYX/ZkMxfts16p9ZgLA+vEJ3Pe2UjIR+j2Bv1xSpYCQnU/CFtgTI6swsG1vMCyItIxrLd4Q24fXHGclNm+Rg18qOiKEeX0bHPuNotrF8W9pePhHndIvTVMrZVukXIjVZmWY0GF/IohDjG87ykgGjpRDXLKDKXNI6RZKUEsZwguJTgL1OWBe85pb9M9JclLKvSLcJxDHP+QySO0Yp1i4Q4hnMWN5JaHF6zZdbj4aTD53OMMt3OvDxfKFxcTcwyzP2aIt5AhZdEOSAX3+1zOL1ilvWh8Po6Yzk4klYgn9Wuyo6pFn8OTy03omO3THVK4xim1nUStRnERnxoi3SLiCeSICugVoMLTff4+DJ2MYiK7YcPP/3X2bL8GcTui0niy3CjPP07kCC4NJgQx1BkWXjMxMMpyyfYO0TfVJW6RSS+XGR4/YUzg2fuQOIRBqKwxusWES5wfJmwXFKZqvcOarXqWmflJAXBpljVyTjT5wpH/G5f1EVrTCoaHKA7EIqNiBry4MzlSEO0qazap1fZq5IdWX0tH1+GO22itRKyMGS+5nvhzIGLt9GFvy3VLUq0y5lqcP3s+PNMGp+t+xFHmc0DkzkZqVh+FNlcYnnpmshnwKWQrWG/qDz/S7Xux5roKLPM3idRzFL0rtyV/bofkaUyN7/xBlv3G+DkGly0xwOtK0neE00fDuDWUG5safWh9SDKrmgIUweiwOsCsRY3KwUMVYEFj+sVsu5Bsig/nkHNSWJPNL6uBLOMNbjE637nybpf87U33iA6Chte98tctygJyyrWsOEcceiN5mM8L1lBETUzUbOGXSiEKj5TSPMxPkPez6coy0lc5pRr2HDmt18vXeyThDSkGk4asUxlqYBmnPmGZn7ifIyp+XY0hgWWca/KJPV+9gZ3eHR0NBygPUf0DYEmEJgjcz8ir7w+EogxF6TJ6dOPBKPiSimiHwfSGnaJnJz6ej9guRsf+vwpkV22kAZwJujNaRLJyW2JblHGLG+SblHBoLZ5cgpZUWINLqIgfrss2nwXU/QU+viR+4LrJeytOk8OOZEGkZRPvyjXt5FEAiCSIfREKzlaXp6U5Qo/ZtlNWT5Z5g4jPXziINsjFd7ifB/r4QCxOncY6cy5hKT7UJXSCGXKMhxZCc/yGjt2UZ4crGIXGURJgWyJU1WenKaiaec2PX/5oU3KX35o5+Uvg8vca6AJzCahEymFeZwOm9Crsvzo0WS93fUgiB90BqmPAaw1BcDLcNMuZygfA2VnRFj/NHeTDzxqp1uIyYWbFEZF0hJXmb+MjoyvkeI87Ng9klR8JtKEguRjAzsxf3mTdIvg92oI8w+VFLK2X4PLODDUi7Prza3T56VFUpyVDLI1vW5RaMQJ4WRvHq13Qi1Kgg2xURqTc5JB5Ab0EbdTD/nK1eGCGM/yOvjXCf+5YxmyLNUtYsdulZVInR9rxifb3DtkM2ZRV6LlBVO+XpukW7QJv3cTj/xAVhpcqErq/FB//9DSAn9xlcf7StGory9lI4FlvcMX9tG+7BDHgCbtPiadRXKLgm6ajwEse+PFgYCjTMRytdJh+tOwLBwOPbLUtatG28JSP5zt+QFjdvV+Gl4wddcrV4edUR02XFabzmhMo1w0d0w2ZDqf9nWX72S8qilGWK4K+6pEClshhyNc5g0UVFCXI+gGfXBvtVvkY2TF8lH5UaVTLTIa4WQ5I5fTFNij+hhpFbgQy9AREg/0HY1+JOTJIfAcbj4nSBxv0482OMEue8t8Qm936J9WXdDEaxrFw6R5ZbQJ/VdRUdHkcqdn+bhZOCJ8z5b+TGRnm2N5v2m96OZ6JkkAr6inbtKcmI+BcoOCvqqyghEF+nDOZzQ8ynwOqCJxOhtCvjLRUonQ2QHCcqOO6iZ/BnYZ5xb11PWQsifTZJ0tp/WSYzmdblHtJVSxCrgcunTpMmQLJ7Lsdrm9vkhA6GnNF0iBXR5p8oJIYlmYrXefrBo9efLkHScTM4js8ZAvz0Vz1APpWTb1Xr5EeqmYeg5d0uVY3s8sgw+Z1lvGNB8y4F5NRguu/EtkuXqkwOkK5PH0ORwhwV8Orze4/Hwu/gjt8SAxzIRkx3oTr8EcbHDY07CMqkk4Y+0VSFidPGdNfxoJZ7s/WN58VaHg1TNa/YUzV71ZsYwEtocgjKFLq1or7u+XWO8HdSWxUBPrUolHU5Tdhzy5IASf3Wzup+dLg6QZ93bofubkn3NVO0L2DGpX0VlAlzZz3VxalDnbeTjb8wNclvrL2l2wJNcrqNeOCLuXZ3nzdYuCF692axWu7L4w6FXPMgq5tjYXFTU3C00PxDpzYqliDrOcrO+q3lfsiIfC1Q5hHc8V9OWLWEY0l9F6P+iEDQ5EQKiRwhJzo9VC9zN/g69KH9dnVrsq67tKJ3gJqtKg0tTa3IxOdmwhK118DS+Y8vUKDv7i327QaPzbL/Bf2CLdoqtXtVz3u/CCapZBygfpRWDNCOi5Krn0uCOTzuPh5QRR3b5hst/IQenfsQQfI98R9qH8CbZKTVoK+5llRu3PhBZo+lgsHC0oi0XFOZ98a1UAORqryk+dKyfUrs6hFKhDqFjqspGlK3Nw3FYoi5HCvNRqYKO5P6t+JVc3+XrZf3GDhuMXdxRsmW7RmW4tWVbqS5SaZW5gTNQmDBLxJX2kUEHJ/KmuFeqE1l6uQ3O/usu1tXOHFOZ+IwVeSR+dsqjf7WpKotii158cKaiG1u+iuhI+puwqdtgzzPlEvSr752rnzqF5qfnYJbbstzo1tbo6NTNvEcM8JMnHyKqPVPcmX68z/6YlyzecS5onB/lwPxDK/kiG3FOkaop/5tFCQdhop+sW6ZgqlYFmKTSLLLOne8Zj7XOd6u6mdSVXekh62eSVQ8eUYnLVzgqp76t3BR0nkzJ5srjAW+ZPWCvxR4vDobg905xPHJM7dugKiReaep5hddjL3VDedYqvK+FbJmPdIpKSMb3hPDntr9cBTVG+IXnOJ3DKSwrcWc6zTEpMXsRUfwFjrJjBnIblu0QaTnyyIMvRv4l/UpztTDbfnL0GVz9N+WxuNpnFslT4yT5nX1v3hAfqSrBxm2MZdZAhalKo98sfdYBsskAhQFwskp61021C5n0MNfNzOuQsl0VOZqSYL6r3oymrCGaTjeljtAwPt3imBK0XEBwzEPnEVlaFu7SFGlz4wa0qWf41STX51xtu+FThn/Nb/6zwK39D7r2Gnv0S3vQlvEG8WzqW+z//FK1f/Ytf8iwLZawf+wS1yC8qZDCnZJlKNd3E98MWt8am7J4ovFkqVfT2/3qbsFU9y9wAyU5vDb/VVWEnnPbzSRlWz0znYndXG60rgdpVg2QkatZCVYhjnc32QpGQHmVs0rWR0TBM+kIOUQc03HLKX81vYGvY7mBTOGTPtK7kuEl6VEU2lovfdgr+iXLxuWlSbQDRlbeGcQdWQ6ttyzS48IU8IVEhyIBlhugNNzwsgvS5F+nmXxf+M/B8+M+FHR9WwfLHKaw/+vzHX+RZFsDlC1p/pCCToaS4pKi1wBq68xWQ0nIbSMz/hUhOgzfSqjW44EsXq1JFoVrroQ+GaX46b5iti93Drq42pif3vnLZKJVrcNnt8YjTSwMVo1GvL36y2hmm9X5uF0Q5IAE/LoQ5QhFfRDDVIKHhcjOcyxwhvT0TTYFS+VHV8npyLY2cdZZnmdQdGJpj/lMPXLz/wjWsW7S0VRpcpHhCJh2hqMGVhGWRwf114Z8/92MCNbPPWdnlj1MbDCALLH+mkFWr8lSLK1tFddgJikuKFQfMGMOJ47v8e0Z2u+t2rLagVFeiToMLV8AZmhtINef9r5uxxyxky1kXl/0Tq6DzKeQvF9bXJ835HEX5yU0FxVVMgyvoO7leEKxia9heR35TAdXgAoTXIXFDan1B6KWMxeQC0Zgjtdssz/kkR0ZyPi3t3lkbLIjMI+FasTSi2REkGlwP4fb001ulwUVt1Qmpl6FERHq7/Kmv/A1B9rXDP5bvqMouE0h/BK6GwDIqnPqBxMUQ3ZPqY8gVlxQlcBjL8GbQr6ZbZe9ecpZVaHBxNqQpYL6DVdlXFUn0MTDME53RYRILwCzX11SWJ6tdtee50SgoyCMaXNFAgTMCgocOqsHlD0RHHVCHTQUy8kcKYomoQoC6wsmv+YUj4sI/uzTYnKJ2Fekvnxq3co1dXUK5Xz/4+6CPcYppcGE9MW6LNLjoJZReZ0UNrrR2+bXD/0qcC0TuP2/ELhPT+yjciFjGBX8/yITlJNIh0s+r3McQYOWdDRHLIpu+wWUimW6RDiQFGhcXx3V8Ln49VCJVVibpiWZfx+qHQf8IZdnfUOByFAcYy01NBRWxdCyDvpGdZhUhQxUt9vGr4PZILKRPUbsKNVJCTzTO1ghHb230WOW6RdujwUUvmALL8pHWLv8atlGL/NrhQrpDdiwjk/yxL/zgOgnLWFf8BxtkGc+E+QkfKVTNgOW7hM+BBhpcIt0ibnV2drajo73RyteVVJaT7qaKNVIRnwP+8/ki1Mfwg3Jn0O9m2ohlEW+Bv6CMZzHm8ik6xPp4vMq3zpQVnbzeHPzCanEgRMpyeaWkV6W1pWMWjUVOpltUsT0aXFmzXEgjFQKkn0JOMnv4KT6OwYYalhGlRB9DwjJsR7Y6jb+c1i6fICzzobb0LN8kjsltzC5LdItA+6fT1dnZGfXONPI+BhSuliftVamPk2Fn6FUhGdo8mvMZaIg7XAEXn6yBxJr1o6PKONvB+a6Oopkgq5HSR1yyDvEJdlnUQ5hrmfDCsXe6iOYSiS6j5c3m4u3R4EruY6i1y68V/hg/IXgXaJ/s7DIOZuB4spRl/CQfnfvR559S1JO7kMZfPiEE4oQnUvnLN4m11lVqcBmxPIbpAbEH2brAa9a6TrVYbDZdn2uWr8OuLz9+tCRVf7+qSBW/Ih0L2aGahClyoZBFiK+q1of9BYGyEbd/XYjJhflUfFq2GhXl4tubsAstypqT+cs1x4/XCFovXZ2rOpvNMr7czc/9sDyG+RpTHLsFhW36t0qDi2f51nQaXOn8ZULxa3yImcCdJctI6POp6xJZRo+ZOVZyMa5TUlyS+7yKLPOPkUKtlGUa4cxOg4tbwpP5ZpKYdRGDPabjZLpFYq2XlBpckIwB/XOaWD5G1bpjtBrq/6hZbSqTtOxzgowiqk0N+lLXSBG7DOFmos3lCqXpVVnItF6sct0iPNMtMseJ4ti5Zr6jxYbjGOk1uPg4hkSaWFGDK51dfo6d6Jf4cDNgnVUcA0ctyNoeY/ljn3iK6iWix2gr9jcSWVZQXBLWj25PzjL/pvHOBntPBPWXbDS44PIShZfbLp67eAtePShakmhwoUpmG2O5Ujbk8eUQqGNA9IL6AfHiglgY7KqXxeT8YnWAUbc3XB30VzdkUruqz3dU6UmbqYJiu5TlEvlR8T0e0LFLdIuGaPuo+y8eOIetMnxwt0qDixgriURPEg2uNHb5NbQIiGeA/yqKa2Rrl9k6yIuiNexCfnEbp2YoC8qlXPe7q5CcrBLL8Obg90WY5Z1gCjCyz7naNWwiS1VkPnLkCMlnmBbJY3hnxxdhrNK1krk66eiR52PEojBACZxY0lGX1+Hzu4JUS3y0bH1UYBnqsCvuCHmDJ33pWEZ22R72Fofsdrzm7ed7WNLa1R7ZYdF1vwl06IvjXSLdIvLJLTLByZIslOaBrdPgOiFxFrNf92NbXjv8lb95DW97rjCTdb/N1y06oNhGKoFlaRupu3g9RKaNyD7tqnOLdEMmsX6xoPKJWXYR6R/nGs7PmTNA8SqkYuAb5dpVMnBjPhDEyINVwPUmqluUH4pViOIWIb+/oQlqpsRaL+tJWNZDmzR3td6OGk0hLVt9Qu2qycwfGsvHcA5j5SKvkI+BVv7EJ0tX/bZKg+smqR6XWpZpoOL/45dH0FM4XePHGcXkNl+3aNtzPnVDzXzKkEGQ8sFmbLVvHv/X18LR2lWSkTPZU9es1HfVwdo42Gkco6wpEKugLKMWDu6YEFNDUzk/fMEKgQ3ioySMkD3sJ/aYyNnyZd5CzmdRc10PTYFjtavjfTDQwa+I+q4ikSYDO1tT81IWufhnXt3k67VZOZ+br1t09YKWLK+pz8XX6c73NhOJgKLWfmlhCccPuuEyrl3tuVwL+Z+J/UqkMTlwGdwoC67CzbPsdgZGWMmTPhINOmO+aFOiNqJ8xEfw8YKWVxyJkUMfCL0sTw6S8WtP49rVusti2QDxsVPLPN1qwCdrah5byKauRNMLpnS94puUi7/5ukXewQuaie09sTboyoJlo21puhfGWP9CumI5K6orKeq3omTmusS6EtCLQ6slfC5crKLMFw+vh+gCdIXfMeKvYKn5EciZg+hEWnFalLJRgQ84L26PoFIVFvnga1dRZRQUIKLa1cvGNMIY3EL/GDrZ6fO2rHSLNLxgytfLO6ghzL8459rCOmznC4NafVoGX1CDcoG4Ltk2MDCgS1+JnbreD3LxyaimfPqqq32hONOoLXO6G0b8fO2qqwElLseSl1nTle5qSEAaxdVW0FM4PoIM8zrJSEpT75e0ChudrM1ozLIOW7sLluR6ee/Qzn7e4dp/+hhQwJeBchGuwzb0XEpWh51HU75IHyl7NcTQguv5ekHrBQeISZRZ7y6AlFDwmqMROcyivsIgb+T2Ouz2sJsaZgdynZtGk7BsyoBlhZPN6WPsN60XBPAQ0ccAGi71GBLrsIPrjoqgj/gYEJMrcLkKvAzVUMzlrw6Hw3x/P5QDah8JBGRd/PSR6rKyGHNTiuHjUQbLh9jLgMxou0sohxX5GABn5voYOa2XHMvcAJ5fGSYPzdmgMXZivV+ZPxwqBjb1tI1qtKqqyRvhy6x91bC+zdI2QVPAj7Tk1gskukT6/FgQaQ0EccQjvo4sPfSWiocDxFG256FD99mlukVXLtnmDuElzJ7LthzL+5tlLhPdorkeWrJt6KkzKMTkgDMkHs4r3xcH89ZBGiAWYl2imryuMgfPcrA4WNAg1qwl7XvY4eXhDtt43boiFEf9hQsCeSf1Puwwy+IYhqK6SXps5p6MdItyPsbeZJkz6gYWFqTTIWWdTzaU10ryR5uCbqblgutKyKD+Arax4FfE+f5+sI7nL3BLfAwfX2XhRp8J1L4S+xQkLlcB00DkOTckrpWY+YNLY5jRRBfOVixauz9Y3nyFrM1X+UobkxsYgphcK47JcRvRX9b7wBv28VIvVSNRMqpYr8pocZmzYCSfanDB4kcegFkh7uOnbxKOL4q2h7BhjuWfRK1NCqJV9hBKymgKZau/DCpNEJNr7e2dXhKU01WBod0FU3m9NshycPAftdPg+kclxSXX4JpmC0mvrg12qmaZ0y1BiweyDNw6PSBfKxFHMd5XIhv18roSr7cCFLhYDV8VXbgjYWIfqCLa9T4/qysZKQZP2rcekyYwi5PG0DN6vGxdBvmgfhIDCblwspxeqF2VH1VtClFpWCtpJirS0OThfDZrJRpeMJXXa4MsX/1HLdew/1FhlWe7e+9AN5oiPiPDZBClY8BTZ9tXRBJWaXM+9aFIuBhW85pIf7+qEZfILkOvyjxHky/i5PtGhUZRQ4h8uySGIWYZO97Yf64AlpE99lKWvSKWFXM+Sb+SlrOo2YoYZVDIMPGyRdBpaAf23tksls9om1uksPp+8VUttV6eOLfB3CKJ1Euj1xvtE1ggLKOMd+U+UvZQKA4ZFVXhsup4or+sdwSait2xdV4Hv6oYcRtocojtcpWYZfwMzldqkLHsUmC5XpyLD6JLLS0ta53jLS2NFgnKNKuI5J9kkVt0UdN8jHNbx3IGGlyseyWtiMLZn09dJ8nR30ytF8R79lovkPNJhYhYGqRhTJLz2eUSYKZ9V5P1qrRHyny+Clc0pudrpNxRpztKcz7tsHbnLoBMI7poZ8eTOfCXo6NiYXyRG+YUHOhiYBnN+aD/cAjtEQ0p1UjViGqkLB3R4U6vMxp1TfH9/Tia84lPFudtk1T8rdEtwk9nkCe3ZSwnanBJ+wnjzOaPfeLj6lnekNYL/xapZZlcXVPzG7FqXyvJ6ZXk4numvDzMQt/VcgWW9Sj1PsibU8yyM1TsrBphcYwYSNaGY2UU3RDE5PKcrjyXJI6hF6V94uKpKpx/H9aTuV9TSB/yy+Z+Qns/ce2q5WxncO2Uq6O9vY+Pa3AkF990LVwde6PIkEUufkH2ukXvfv/t8iKgbWdZrsElLYpSEDDKjOWNab1kyzKtkWqNgbFzVyCpF3mNVOOUa57CTOzy8cpyxTpsPUgShd1NYdDtpCxXRf2OCn+eq4AmYIBIPlLJj/O5+CfvGAnmh6Xx5VHeMLvQRyCeRxIx7PkNNCYXQUyPKNeuVh7nNQU469nhmalhXVtbm+D/4xop0+vDMdAtOomzVtXVSG1Et0haPbQzWJZrcPHFqqRYiq/yU2Q5uQbXRrRexPoYKjW4SGv3WABrcEWvyWpXUY0UgtljEfzlUqKoosBytCnizbtjPcjsMuRagAw+FPSFiJkuzoNRXBwm8edRtzMc9hZA61Xpup+PdnfwonVqWhZVFoo7EOOBdUjLxzE6fTqtFyRaO+zsFPUPZrWrcRfRLTpj4tXzMkZ5A7pFSpd521mWanAJ9GL34lHenVZkObkG1wa0XqC04dbrs9PgwpbK1OolGlwPFJvFmgJcYxRqVwFmr7fdkjaOoQfLCVoYwQBjGecvB0eC/nVpbhHLk4uiJqtOhzso7RFsh4wOv9tP9EFJJC7oiBNpZrSGXYaYEq9hywdlGWBeOTgsYZloCozwukXo3Hs1qcPOQLdoR7Is1eASZDDwPVTs91QqlpNpcGWr9SITQlWpwYXVAs0RpsF1VaL1wnn6WqD+s80z37FI7PJR2ZDUrsbDTrc7AINfw7aHi30nRx35Qg/hQID1EIa4hsvv9/pGaWdLsTQGxOpY3A5VRwXyYBOOibio1r4zImK55Lhs8A2Q28bPtolCclS3qGJ7dIvkVO8IlqUaXDKWiZL4UylY1l7rBXYR/GUtNbi4tsZVNBY5omM1d0Q2KiUxubgjbz0Wq66O8IIYsXA45mNL2qFIxBd0Q6K+0NEhHAHvOa4g9CLkfNp9XlhisWOzHKiO233IUFN5RbqGLT8qGxXcXVldWVldbUzQ4Noe3aIEWZ4dwbJEgyuBZRy3e0o1y9lrvUjeog0mh0u1EbmWU7gRamc76ZOQTks8vt5UHAYdcLtelI/BL43o4ydHg36hjsTuyKtoaoJ2f2l0lh2OuN6B3WYQJ4hXIA8qFpdricNaHl/GZ6MNKqL44Kdk2ojNDdujW6QgALEDWJZocMn8ZUo1bFPJctZaL1K/bYMJAnjud573MSaG+8Cyrax550m7kkN1tI/CodNXTIks6x3VDVGnqyxG9OSqoLFqsKBilIXo1teL/e71dTr30/uImqd/XQQzqu6T3kH65PmjuDoCdDfsGGqWniTKk3vm9DM9RC+g7hA+dkuHdxYde3t0SqZZO/pBkW6ROs3ajegWKQhA7ACWpRpcfBTuM7w2Pt6WjOUkGlzZar3I/Da1Gly4gYdpml7dMYNYS5xrdLYjvRReS1xXO4falEB/G11t7enE/OV8sLlVjliZl9SVoHwMh6spxOpKAqQJGl8jVeCGFGa/SLdIPxrLK0NCMeiOKE8jXlZAFv/09jJklovlddiT52prdbgvELSUovG3iVM6fPAJWuJFPjLTPSf0GtpwHCMD3SLpHH3HsCzR4GLmWKSF+DFEehKWk2lwZan1chd6jeirS60GFxGMMJAKtkNFvMIaH5NDzcaobhHuBwnVJJPnjLgRjzmxdtWHRhXpe6YPQX1Ig581rqT9/YIsJ3TU7RqFZgtVxSKtF8gBRSEKO16vDob1PONRMuEjIToefqEnWi2HXIhJ+Ma4ZNTxukVQbMJJdItIj4eiO144c2DwlqIsejxsQLdIIse6c1iWaHDBJrzu9wWycEKeTrbul0KDKzutFzLxuDlrDS5uCF9ew9jgucExvL4rtHgAltuhSZ7H1shYhnq/Y6lqV0ntv485FdgziEbY3C8MFdo+n4PJy7mb8vPLApFqgWXcGx5TT7wPnwBzE5LHsFehBe1AmT19r0pgecYCx+7hZkX9SrBhRo16IE2OuNdLW6dbdJcsHLdDWBZrcNEUDEouiDDTfmiq8zG2pScaZ5umPdGoVIqoJxrXGOzumuqamppyMbss7iGcaJftMZfL63aytZJQdUNDhX+dqSdHvA1V8YYYq5EKBd1NFX43hDZ4feUqKOqr0INLQSPkTaLG8GXVoD8wQhYB9Yk9hJFdBr0D1BmbsRzFx941LNLgIsucQiKVeVq3wTXszHWLyMxQlB627Sxr3qvy4hOasqw6Tw71qjQk7VU5NQNjambqLKtdPYTWF0BZxWKF7tMJPkZVJALKAaLelAAwrZnGayVNo26+AaAdZ16URYIsby4fB5FBaQtrYCBFo6CQQgcdqPR2pB1TEBCWCRnLqDIcN4IFUjHW6Cukbwof+sxUu0i/hhtq3mivSm0v2BbmyW1+zud25y/jBGa+n1ivVO3F5qHDQtuuXsG1q0VXLl863ZM499P7YJHaJeRjVMDqiJu174O5n7sg6m4QukjFmpqqq0JhHn07Eh6HLDuUReSuBnDdotVtvd4e8xfw5VEyDa6e05cuH8OpJZNXqHCRhR27tGTqfCtroQbpy9n0EN6t+cuBzc/F7xzs0u6tmVJS+Upf77cwDe3OYfQm9HaXanDNNdN+pYbJySKl2lWcaxzwier9Au4GIY5R3ERlEymdIdT7T2gkRexyHMsHNMVHnSj9Qry4jesFXaIyFFFMbnJykh5bUbNNWT+MfT6HyMlCDU1Wvd21vGDqrtcG7bJ38B+11JNTkqnRUuXrflVvjQhZ2/mlpfMDujSV2Anrfgr+ssu1zi/0haurq8Osmg98jOqqaEFFcskt7C83hVAKBrRyiLtg8Vqys37dX+B0JPR4SLLul2IsLC0tLYg/tqrA0O6CqbxeG61d9W6bQtYWnKG0zD6tbhE396Bs1CTEl9EQtTCLixoKR6B0KjISS664pUcJnoEmL068yAdRF3e1lGV9tUuSh0RYLpcfVVpNAWNOt2jPnaHKkb7HQ+oBUWd9ykbXJCsO53Ta7eBjuGMyRaNQJFV/P1meXE7rJcdyGpbrUevgrFjWp9+hguYuV2GuBQV8obtUCpahmXB9juUcy7pMlBFxH6mjlZVJe6JtdNgj2A3zQyQkXux2OyOZ9MPmUUZHVp8Ry/IJYY7lvcMyCBbZbDYujQoXqfdLWruqxdBHII4X9RGXJJRubwnL9TWSer9UClzoZCUCvfuD5c3XLdr8v5COZVDgOt8/Pd0/tGAzpmW5ZFNZJtNHfYb7Su1yjaQOO4X68sIQnO3Q+QEuKy3xgoonSwq1GSVPjmwhy5uvWxS8eFWzjiXdFwa96lk2DvS3mvFoHjsvC8uBYApktVvFPkb50aOVpZvHspoh8zHgyMrT+RicbWkM5WPA/71DA8YsWK4orS/UbJSObB3Lm79WcvWqlut+F7LoV3K+18zkO83N0oYlRs/iOGcZb7FworlfSUmWc79NZhkdWbq5H6SfFNGsoiKTiW9YooaLJzVEGd6/vbSGve19pM43i/IxTEXT4u4kLVOdw/Oz8M/CaRCT22yWM4jJ2cYM4nyM1gX1+RglWqJcWL+Xcou2OU9OR9Mg4UuXKPkU9QtZZZ6ZzvYpr2uty3uW1EilWyvZFpbVrJVMY5ShxIt8FUHdgWqWk0D5Nfzkv8C9j/5xwYdw5uTb/P83JMm9Bz/xxWQw7yCWH+V7rL4o6HBly3IWenIk51no7q6aZSKQAcJFbxxpNotkqUhdSUebZ/iUldWVzAlJSDhBx1S+E1g+To6FpQwZimx8lJGTSiPSJrNmONk3yLeRqZ/TguUPvPc9iNv6977nX9ANYZqw/NX/64v4iYJf73CWSQL+dS/+gJb9PfqDDbCclZ6cVO5IvW7RAsmBfB3a5HSGkdSLgVTA8XUlbd1dbbZTlGWDmWrPmw1mpV6V28MyKuwyT5ppHraZssxZGi2elvEWm1WAeQz3dr8WvuMdNTc+SHJcB1Sx7L7jRiUg3/seYok/UF+PHrzpPf/vcxKWCz/w0T9GD3Ywy2lUihRYTpAtGtygnlwCy+p0i7h+/FX7uhPrFq0jsE280ifY5TXreHTZs9hJegjXDl0hvFwZWupXyPncNpZNdf1LQ8fwN8zklSUqKz3f1dKx3N3dwcu9GBeQP2W6VnwaLGVhYSX+FA+pqV11P6ns9L5NBCrY6A99EhtmEcvCz53KsgjgR4XC1VQsJ8oWbVBPLoFldbpFOqRbZGjtpLpF4SNi3SKdrcN1qrvTtdx9cJGWlUCRH87FNxprzynk4m8Ty9Bwx2q0zvWawVk6VEuPvs/bZZvobO9yzbLQDC7UNZhiVRSjJ9End0wNy3co+wnMLBOw4dF/YSssYfmjf4xt9Y5lWRBChNoo3kSnZDlBtmiDenIKLKvRLcIaXOZ8Xreo2STRx7C1d59aPLt8asXKFhou9UB/P3mNlH57hrhGypJQI3VqwtM2ccqq6+JrpLDWi6lVSX58Y7EIic1FdvkLX0OTPQnLhW/b0SyLXAw8CfyLz2bAclrdInV6cqJ6V+11i3RWS2Ojx9Po4VfIuDlcu2oR167ekl+1TcORsnZ1qs06M2UV1WEz3aIajVmmvL6NBjKwlUYcy1hWdph3Isu4ajVtHCMNy1noyYlEgDXQLWo2yOzyBIzlqRUWDTAqaAroq7drrEs1BU5L7fKyp218vI3rkrNc8eTmsIzv/Auxy3DvQ1/YTT6GlGVcj50G5k3Sk5NpvWxAt0jiL3O2WdfMWlfXWvfBFY64GMRf7r1kNdaCGgVi+dAdIEM7si3/oUH8ZdB6MVov1ZG6WuYvu2Y6YHS5Omw6ib8cZl7vuzT3lxHL9NHbCn4tY1nkU+9sf5luSDMDVJAt0kRPTqrBpUa3CMcxzPeLdIvMveI4Bpo3WReH19DCHzfXf4ysmtX196MqVmC55HSsbDvHyRocx+i50j9dR4RcevtpHKOvexjGwQ5bQhyDGOaaySL2JbSxOEb9B5j/INhlNAP8Y2kc4192Sxwjs8icgmyR9npyqnSLaHyZSF/2YxqmuWS6RXMGkstgEOLLheW33bF94+Rt4PuS+LKBJpXAgfHx5RY0xAkmOL5suua77WhhzZPN2sWXkUchs8v1/1DgErGczMXYOfHlL8iCF4/KDbWc5QTZokFN9OSEiaNa3SIdlaXCukUG+bofZdnDWC6SDdS3pL50GwfK8zkuPyobn+NnVVz3MxUduXbNgNf9DNqs+8EKNrbM/1DA7DL6USBe90uyVLJz1v1oJO7Fv/jsiz/AZnkj637Z6cndLlX1Va1bRPMx8OIv/inKx2h0dvWhMT9MWb5XNkoKd8CokR9VqnwMQnARIRkJjmmVj4GjGBhY6j3XE75pPsa/7IJ8jBdpPgbSwy9Mu16SOh8jGz05cdOtrPIxuPO0fRTteCfKk+Mal4c70Rgexj0euPcV7oqRMk9OLNJk3ow8uQ98oF7iS9fvlDy5fZDzyUH+Mru+svxly/jKIh4rnmR12DtwpM5fhi6zLL/VvAPyl49uGctboFt09YKWLK+pz8XnuIGhVpxlZiqS15VY2eBSs1xfUsOPEnatS2vSbeRrhUQbS1P9ynqlX6lKUwBUbcZwkp/J1JpVXUlgpFRDlEvXt84ub75ukXfwgmZie0+sDbpUsyyq9xuwpazGTs5yzTM9dWwcY4iWC9t6HmQAvKtOGB9hL39Q2LPuKONb9Cvr2EpdjehXPlOSDctIo2lhaBrOVizTpAqMkRu1ssz1R7cG5S3TLXJumzKSVFDAllZXICnL9TXHkKIx+Chw28PAqzwCj8yTECwzHXmGsXwv2sU0aUI/HmQvfwbtaSAbjzOzfOwI+5WmyRr2d9Aj8yT+O8eyY5mdJbf/6rD39BlqoFtE7eUxcLmvnD59BSnTM5bLj4D+JmzsNRjMAssm1O3k8qE6WOBgLBc+A8zWHbp8C6SRmo4n/krDJG+XwdedRL8S5m3PZMtyTutln7KMjBjHpWO5HNqYQLKlEeSZeZbrgeUiWFsGXWQJyyjNzog1yUUsm45BGqkVkj14lkuAZZxbeshgEOwypD6dRr/ySo7lHMvqWOY4D6w4eCzW9Ha5eQ6vcveYRXbZdAzl/HCXi0Q+homI2Fv7DWaB5SMkXQnSSEUsH5m8hH9lnUmwy2ZTHQq0cJcmj+RYzrGszLKCUDEA1zjbPbOy1r18lkyT3veBJKP8mZ5jJH4Ld2roxsqentO1OE8U5n4ldOO76noQtpBwV9fzEfbyB3uOkRYop3vqjtNtaDpJoIQ75ezv9PQ8iNM74Vc+U5PsaGrTf0S5nM7nZgznT77/Fo3G93/ypmxYhutqW0D6yzZpRA7qsF0zw9DtcdnbR56oTTaQqBWB2WZLt5EtW6TZkd+zVmFPTryjfKQBWWcbOL90fkF8stt0wVRerx3PsvP7P/n3N2k0/v1Xb3mTepYhSDXdjNewe5ckQTlch73qmm1rYf39LEkmhTrJh8Cis1jgnygswunwhiQbxa9GG8mrdaIdlX8ll/RoRLr4CSZ5YKgXr9i39i9kpYuv4QVTeb12PMs/+cmbNBy/+on6tZIBWAozUPGT3vOiq49zixqXz1pZHfauGhxpVmKVGeUltsoJIk1Z9SvR9IKpul47nuXv/7uWLP/9W9SybJT0kTK3ivtINQY7rNyix9rS3WXbbSRb5megmdvU2qIEZugjZRInn2TRR0rTC6bqeu14lt/yJk2HapZtY2ZxyzuTuL+fp8vVB3GMxi7X2V1nlqEnGhqd3SsimOX9/UxZ9Pd7y7Zdr93J8jdQ3vbTf8I//tDD8PjOR9ATbOun0cONs8wN0e5LKBHSQLrqipI+p6Ag37q4PL/rUGb93Ba7h1eF86Edkw3kfNE/9X1XU7GMrxO+ci8XPssu5X3v3s8sf+jhx970pi8eFmD+9EvoTUH0fqvwsZRvkVqWydU1Xasqa4pdI5e4XyTCDA6nzWax6XYhy2Tq17YCWjV8cQERHCs6GYuOvI7z5dT2w07LMrtm/L2XC1/a33YZD4YtG/hd+eLhZ1O+RW955aduFSzjck5Aueyn33/L938awQ/4hticp2MNjT7ZBGp3DGsbGp4u7zwLeJC6A0Ozo+Cnr3z/lf+4ZuD7zGZ8tQLwPmXEMn/1knx/7jOWX5ax/MXDLwnvVrK3CKKWr7gzZ5kbw1e3+BUc73zldSyGcp7VYXumsKSAd9azC2FexCUxgDL/pWJcQiVS5oj/JyS6i7+GplXVrqL3KdVUTmCZGp00LsZ+YVmOK/mkk9ukbxG6SD/NmGWqW3THT2nw/j+Q1yxocOk8jWh0eNc8u87JsHV4oW+mt3NeCDIaUW2uqbWBne0rWB9BDcv4lZnZZXo3jYuxT1j+Fps98GYa40s+73KbLWF5AwtRMt0iUv7JdQQ7dp9dbsEVMeM64SuFab28srE3Ke3cj/BMjM6nRTP4/ckyfk/EKH8aHhNL/KGHkblO+hZtcFW1VaInR+tKWiZcK7svJre42GZdaW9vH7fKWf7+prFMp+X4C/WLh+GCfeO5Z9+Us8soLveYjO+X2Kwv+Vu0Qbt8ROJjWMbRWJmIru46fxnpyVn7XJ0HXd3859A4hKJxbHKwaSwzVxn5iEm/P/eZvyzEkhnM+POOXOXkbxF6s3+lIo4xjcNw/yH2IFsXjCxNbhn1avcOn7Vyu5Hl8eFT440r3XxMzojlMcz2X7GzRZH1fi39ZUlIGRmddC7GfmFZNJGQTAbhR/K3CBlXNbpFeCHM0Eq+dr+P1AVMY8L86SyMvrMgMKjbhSx3rbpWrZxI55PMdEE5nToZk7yyTcYhuVdUsAw/7knnYuwfuyyNVTC2Xy586rmkk+O3fP9XqnSLbL14raT5FYgvv0L6lQhhDF1bS99KW2PfWc+u9DFaukHOX8QyLHLiT67pGpztW16ZRGc7pm4NO018+U2S2P+n75xMHVzeDyy/jN+CTyNHAjsWXzxMonEvMUc6+VsE742aHg8g9UIWc0GNjbZWGhMBsdjt7ezodkGAmdt9LM9YZr2L1kXBx2CfXHSmJrNYcEyrdb9vPcsmfYTpwtTB5X1hl7/Fh3aIk/xyIc3HoM8mf4tU5xbphmjHOwPN+hzghLKS4eXVLmf3SoezfffZ5Slv1OVc80wNL4o+h1RxrIgKjhUtaZtbhPNo+Igym63vG5a3O+cTlHya+Uw5kxhllIvf3jbuam9j2oi7Kia3gtSXV2yrkqRPbqHXZOIluJqHdLmcTw3HT3613bn4kJ6ONCwMIGbR2j8grSuBXPypVetuZBnFxtugk7c8BDMw3QyNKg1Ie2OMLzzYtgu2t3Lx3/SWX/29Zp/yrGqkIB1/abq3tbV3bGhBkhDHNUZnGq2NFutZV4dFt0eGUXe+fwydbf+SzZhNvZ+GF+zv91iNVMGbfvIWzUZ2taug4WMbgGHjjLIL3+edtVmti52nWri9wjISLMJnqzNmWbuq4QXbY7Wr2o5AIBuWcbKvMVFTgOPOnrVAh/f5FqtuLw18suKz3R3Xa5+xXFCQHctJL7r4x94de/5K73mWVy0WXW7kWN4L44n5xhzNOZb3xgh0d+RozrG8V2h2rbXkaM6xvDdgLgh2LXr2O845lvfK8E+t7nOacyzvneGe6dvXjnOO5T3layy372OacyzvMZqfmG2x5FjOsbwnYA541/YpzTmW92BQ44lFS47lHMt7Y7TnWM6xvEdGR87HyLGcYzlJtjAZnMb75ljOsbzVLJ+fHuvt7R2DPjfa7ptjOcfylrIMvVCKUBkh1PA396fpeMJJ9uVyLOdY3kksczZo62MwTfZMguKiqT+DfQ0Z7ZtjOcfyVrOMRfcNxz7y5EfqkHzoApdu3yK8LxI4WMixnGN5B7HMWabNRaaeJ2+88cYnJwHQaWMqs4z2rUP73otk3vq5HMs5lncOy+Atm4vMxwDPG991DAzzWCqWB0C20IT3vREZ8bEcyzmWd5Jdtgks16VlGfYlLL+rBxyT6bQsK7cIzrGcY3lz/GXwGwyTHwE+H0QdfoZSgMfp0L7NGe0rIpmTyBJZlWWioVGFwjYux3KOZRUsn0ctIyafefAZJFXXOpBy7ne+me6L2rK1pmtZ7OlrJ0Mkp2tt6WtUQtnTJ1eq4SwrqzYux3KOZRVexlARyC6aIGRsMLee59Lva8hsX511xel34xHsYFBaW075lVodW886O2SG2dp4algiX5NjOcdyOpZ158dAiRBG8/RCOq9BtzRWlOG+Om7VO4El+/uWg7OkFSWgHAwq9TqGriWzCiyP51jOsaxu2AYW0BjIYCWP4/c16tKz3NWGG6sudgc70K82tkw4Xc4+RbvskttlrnGmO2eXcyyrdppJuhCn6b6IZSuZw612LsP+xsaJ4Nqsk9llDk8DyS/idCseus1KZ4ectWU8F8fYLyxz25GtpsJ5YSzrrOPDwDLXMhHssrQzljlbY6PHynmw9wG9Y/FG3EK2EU8V0dO5OMY+YRk0bBdA1JWPdRF7xls2jm6w0g0ik7c9LLd1+bs8bR2UZc42v7y81rjY1Q5HNj61fGoVDnF8ZmIZRhf4yVzH8nKHJxfH2A8sw5QNtMV7qUY+Z2mB0QgINKI7LR6yBQwcfqIFSgTpE9w2sMxhlq19wCbPsrVxJhgNTi27nR066+KpziDM/azzTld3d/dB/8S4lZs96DyYm/vtzdHg40efBVAewsEHUy+OJ3CrwED3xGrb+Ay6091hsbTDj5nx/7+983ltHMniuOcUllDQJti1bAlmG7XBjRBZZA00o2QUEfBJyB5E1hD1kkND3BCkiBgdFBZHtJAQfcilL3OaQx/yr8y/ta9KtiN37/QPOXF27fc6pEsVW60mHz0/vfq+V1YeiAnPGLlu6o6L9Sk1P/XLYpmkyrKTBJo6dOFhkBp9VbAMhbmwiWyhhQZTsgBZ3lD7549/n/358Q+J7t3stnb3j0+a7VNBJ1Bg22N3mg1CsZ0N7asw6ARGLEd8wpc8O5SHdvJ0fpl/liyzbGbahHj8VVbSKVm2YfsSZgTjKWMK5uQ2luW/LOwPRcgobks9kNjlPYbfPvFVe+qIvYSJ4obgB/Ng6qkGExgRlgzWuvv7Z36Z2xLLvq8NgWJ4VZlf5iwzfvEhZxnzy1vA8k/A8tlRKQj6eNK+WLCsOMCyp4CjJkoamIpCmBWrvlJu1vN0LBNkGVn+c798fdi+KwVr7dOSZd+yzA6wnIaRCa45cdxhaCvA8iSM2dOy/FW/THiMYZFllpXRM1wr2QaWYW9S4ZffHbZKvzywPW/i5JmTToBlviNPGE7kQorV0eTJWZ5+hWUlL9RRYiyx7Pddp28QZHnTWW7wEo+781cf9+fxsq6qaieBFTYPQgsgQOHWV3MPYgwqFteegmWLaz6ZMtSHpNSAAsue0IHCEvXYLFkurHwsy7IaW16F5VCFKRv98sazTIX88uTkEvbGFtLLeJxkbie3ciehkiQ1lDA0CI3VxFNNMfE0LFN+RxmFnnJFpwRjCn6Zz0FWMU8kKZ4yJfaZ0Y+iyOZ/l8rPzJNIDlPRFP3y5rPcIDdHvLh/9/RM/KJjx7fM1MmygTsB82jSccORPKSxHPAJoJgl6ppZlvmHharKesADXxbJ4gC+yw4wS2ZqDELmsv0Gqezvxh06wXh5G1iGHdCh68rFm3Ltg2SRQYhZJEYxAnJHfUqS0WgUKSwbiomEP4EVa92ZlZnhqLShyEew/mhhYY0rQZY3lmWxqfBij11SSjDAoVFu8PAHy9cUJtl84k/Lkx7PMYsIA6wxS80pC6M1rgRZ3lyWG41qWShZKrKbj5YmGutW1RGyVLxKKoa1q8jyEsvbZcgysrxuV/xfhsgysvx/x3KlzJr53sMKTJFlZHmtXnnYnef9WF+PGLKMLH9bHmPVlt4rnkEU/n3SRmA8ni8775mumjNkGVn+hvzy2ZuL06ubVVAWZ3hfN70h3VxdzPPbc7dsa/cdA5gnB0vKfzJfBkGWkeWldb/3R9CponV4UbtQhJ+h1W4eXkn1boRT6MHcgnVHUomWA6cqbRupnlVhn2eViaQgy8jysh7j+qjdAj1Gq3lRF+XroxbvotxsXdWJL85O2+W7KzCzXC4qz3sk18P7QyvuxA2QGQ0Mgiwjy9W6kqt28+7jOTQAP7zZq4UyV9rttgDn5u7776dr700TGneBX242Xy/+fRL3vIpbJkrgZGxeIm7ZmhyDzEj3ZzXh9/0w5u+5P1qaRpY3m2XQL+9z/fJvl62reiyfHQKMUDEIOH7/GUSNVuvkeL85LzgU7BZytgRg3O2DPsjPsilXe2qyOgFpkQ8i0CzLuEaD0CmMMmO+LCmOTIipTT7wKbK8DSzP60peQV0JqRdigFu+PT//eNxqne7VCDFau/C58PEO+n1ez95OoKppWmWZTbVCYrE7Hj+zJWA5crpBqvvQDmM8HqcJSEUiGIydoZBnEMV2+dFIYXnKB+nyjYEsbzjL83q/Gn653RJn+O2wXYNlCLYvz8W9dM8y1E+7swo9MmuF6EygW0BnNHHkAlhOsmI61Ewz1d1JoI8zEOY7E1DN9UV1rWTrA66hs6Wpo6ajUVCYyPJWxBgX7ct3gNJdqxKvfqdfbt+Ku2G/DsvzGOfV8ZJfnrFMfKHpZKYbGCM5yvNYfSYBy4wyYDnrDg2q2F3PGuqTPMkVIVyGJEhnyssGKPG0qCGVBQTI8kay/NPCoEaK3MA+Zne3x9AH+Yys5JffndT0yyef+WVlqJZhAbNF107wyyNlJOsamNsAloFYznLPBnFqDCxDs0RN0yOFq0Oh3ZxrMKHI97S+9XkiGlneGPvwr4X9G3yX9LopGiEf3ZBG3Xj58hYqBmvHy5BHeXW+FC9DHqMsk6VuKqqyMq1oBPIEes1EnnXP8k7ELNbvxRYz4UfQnZnlwzA2IDnNO9wyYNkuB8jyxpvoJyfdXBzuHn29pfcX8hjN3eO7/Vp5jIbIY+zfHe9W8hjwrOeIlsks73QS8KyNQo+tSA+TJIc+zAuW/YFjezGscFs+9BpPAj20oq7mUqhw9cCmjUxOYxjk2OdzO1gGL3j2TS29v5RVa/LdgHfr5Zdbs40hKjlBQiPeCQ66tOh66jOoUw0MZgw1FdCGnFx3xjLxOnJH1W0InuEnHagGtCJNTy0z4K9UU6Vh63wwzvHZbztYLrU99ZVBhFdy85W7WiuHZLHuV43XefPOcRG5+qTQncCVOY2iyNo2IM3Mu12wLIaWB7zGOobmy6LW2gb6fTvK4enP5seeBLXZfNA3kOVtYXlVgeaskvui1sMjuT7lO5c0j5aCnD2jcDqdwVCR7LHjTES2mczaIhJyX2I9H8w1R4uvykspPvshy9+O4+v7Su4aigxQ2V28/uRGAPcLES/f00+ZmgS1+MjyeljmldwS2av/7obU+DzIuZdaPHCpLLKMLH+5EGS1t2PtKrL8v8Iy1mEjy8gysowsPz3LtLSl1iur2OKEyDKyvF6W6WxnqYc2iSLLyPJaWaZZmIqdpdI0GD2IlRtVuZMEWUaW18ky9d3ZSbo7uvwQpmuzE8oJsowsr5PluDs7ic7FD39d/UuV55eVUmQZWV4by1Tp71RY/vn52+erfL39edC5Z/l39MvI8jr9cpXlwS//WNF+OQDBG7KMLD+tX5a7uvzDyxXthw7s49BFlpHl2izT1f2yeqDr8sHKBg9/BwdrYVlCljfRJrX7fC78cvfloNfrdVc2OMngg74GlqmJLG+iyT5d0S/3nn8YPNjVvHzeWwPLMbK8kRat6pc7v77QH+pi9INfB4/OMlVSZHkjTc/pSn65+/aF9nBXo734W/eRWaa0ryHLm2m/Z3QVv9yVuw95NbPTdejjoezJO8jypsLsNWgtKIaPd03dhD6SGdHmo7y9LO9ogWd+P81KX3+8S+rJRf8xzJ6ovR1kGW0TrLcV/0tkGQ1ZRkNDltHQHsP+AzhOU2/wyHMRAAAAAElFTkSuQmCC"},169:(x,f,e)=>{x.exports=e.p+"images/ProMini_bb71f95d.png"},715:(x,f,e)=>{x.exports=e.p+"images/STM32F103C8T6_aac49c53.png"},392:(x,f,e)=>{x.exports=e.p+"images/core_esp32c3_pin_ae75bf97.png"},945:(x,f,e)=>{x.exports=e.p+"images/leonardo_68c8b773.png"},775:(x,f,e)=>{x.exports=e.p+"images/mega_bb27e7ea.png"},711:(x,f,e)=>{x.exports=e.p+"images/nano_31da349a.png"},533:(x,f,e)=>{x.exports=e.p+"images/uno_bf94dd41.png"},481:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAMAAACxiD++AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAX1QTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxHl7wAAAH50Uk5TAAMRDg2g9OVmm/5C7ZHBadria32iW4rmYZChAevjqqzx9a288O722yNU/XaVZXdMzecCQCUSELJd+kpBr0/T3l4WbNcyyg8ERGI1H+D5IcajQ4B0FPeL1YjSnOkolsCDwzoJ7/zsGvikl0mm+2+dMyeYlNTqO2oLmUWCCiIM0L6s7AAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAF+SURBVCjPjdP5OwJBGAfwt5AtIglRrVSEKFbpcJSjkPvOfRTCuq9c799uGvt0bNPD95fdmfk8M+/OzgD8HYWSmQppuLJKhexUcxSosWw0NVlQWx6gNgvIs46r12GDnuO4Rk0RMEigCaAZ1XTBFiYwArRiW7ZhMjOBhW+3YoeN53k7MkHZ5IGjU56uQuDsLt1eU09vHrhKhnv6XNDvdnskoC8BAzgoAAx5mcAHMGxB9Ae4oCrEACPBUXc1+Q+0+DEGGCcd4YgPJibNOMVaYtqK0djM7Fwc5hd646waootLvmXSuyKsYnhtvQRsBP2gpQUEwIm4KQOVW9uYgB0KdsGPuCcD+6R5AIcUHMGx9WRGBk7NSdQJnhTpPTufuEizirwk7Su789oLBnrm6FyFianEGyFbzi1iykiBI3KXiwLuRbJTD4m0A8Mp8iWQLD4jw/CIGH0ib88heHklMxnk4C3zCPCOmJGWVNrEYvB7HVXiR66qz6+CCFLnt+Ift5rmByYI3KFNc08pAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTE3VDAwOjU3OjEwKzA4OjAw/IyOtAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0xN1QwMDo1NzoxMCswODowMI3RNggAAABWdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uXzg5dXZ1cnJsZHplL3BlaXpoaS14aXRvbmdwZWl6aGkuc3Zn5h+NFgAAAABJRU5ErkJggg=="}},f={};function e(t){var i=f[t];if(void 0!==i)return i.exports;var n=f[t]={exports:{}};return x[t](n,n.exports,e),n.exports}e.n=x=>{var f=x&&x.__esModule?()=>x.default:()=>x;return e.d(f,{a:f}),f},e.d=(x,f)=>{for(var t in f)e.o(f,t)&&!e.o(x,t)&&Object.defineProperty(x,t,{enumerable:!0,get:f[t]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(x){if("object"==typeof window)return window}}(),e.o=(x,f)=>Object.prototype.hasOwnProperty.call(x,f),e.r=x=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})},(()=>{var x;e.g.importScripts&&(x=e.g.location+"");var f=e.g.document;if(!x&&f&&(f.currentScript&&(x=f.currentScript.src),!x)){var t=f.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&(!x||!/^http(s?):/.test(x));)x=t[i--].src}if(!x)throw new Error("Automatic publicPath is not supported in this browser");x=x.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=x})();var t={};e.r(t),e.d(t,{china_city:()=>ix,http_get:()=>J,http_post:()=>q,weather_get_seniverse_weather_info:()=>cx,weather_get_seniverse_weather_info1:()=>ax,weather_get_seniverse_weather_info2:()=>lx,weather_get_seniverse_weather_info3:()=>dx,weather_private_key:()=>nx,weather_seniverse_city_weather:()=>sx});var i={};e.r(i),e.d(i,{text_base64_url_codec:()=>px});var n={};e.r(n),e.d(n,{china_city:()=>_x,http_get:()=>ox,http_post:()=>ux,weather_get_seniverse_weather_info:()=>Ax,weather_get_seniverse_weather_info1:()=>Ix,weather_get_seniverse_weather_info2:()=>gx,weather_get_seniverse_weather_info3:()=>Tx,weather_private_key:()=>Fx,weather_seniverse_city_weather:()=>hx});var s={};e.r(s),e.d(s,{text_base64_url_codec:()=>Ex});var c={};e.r(c),e.d(c,{AFMotorRun:()=>Cf,AFMotorStop:()=>Mf,GD5800_MP3_CONTROL:()=>rf,GD5800_MP3_EQ_MODE:()=>Af,GD5800_MP3_LOOP_MODE:()=>Ff,GD5800_MP3_PLAY_NUM:()=>gf,GD5800_MP3_Set_Device:()=>uf,GD5800_MP3_VOL:()=>If,I2Cmotor:()=>Uf,M9101X_S_MP3_CONTROL:()=>Hf,M9101X_S_MP3_PLAY_NUM:()=>Zf,M9101X_S_MP3_VOL_CONTROL:()=>Kf,Mixly_motor:()=>lf,Motor_8833:()=>df,RGB_color_HSV:()=>cf,RGB_color_rgb:()=>Jx,RGB_color_seclet:()=>jx,arduino_dfplayer_available:()=>Gf,arduino_dfplayer_loopFolder:()=>Yf,arduino_dfplayer_mini_EQ:()=>Lf,arduino_dfplayer_mini_EQ_type:()=>Nf,arduino_dfplayer_mini_begin:()=>mf,arduino_dfplayer_mini_outputDevice:()=>Pf,arduino_dfplayer_mini_outputDevice_type:()=>yf,arduino_dfplayer_mini_pin:()=>Of,arduino_dfplayer_mini_setTimeOut:()=>Rf,arduino_dfplayer_mini_volume:()=>Sf,arduino_dfplayer_mini_volume_up_down:()=>Df,arduino_dfplayer_playFolder:()=>wf,arduino_dfplayer_play_loop:()=>vf,arduino_dfplayer_readFileCounts:()=>kf,arduino_dfplayer_readFileCountsInFolder:()=>Xf,arduino_dfplayer_read_now:()=>Vf,arduino_dfplayer_set_1:()=>bf,controls_notone:()=>Ux,controls_notone_noTimer:()=>Hx,controls_tone:()=>Bx,controls_tone_noTimer:()=>Wx,display_rgb:()=>xf,display_rgb_Brightness:()=>$x,display_rgb_init:()=>Qx,display_rgb_rainbow1:()=>tf,display_rgb_rainbow2:()=>nf,display_rgb_rainbow3:()=>sf,display_rgb_show:()=>ff,group_stepper_move:()=>zx,group_stepper_setup:()=>Kx,group_stepper_setup2:()=>Zx,servo_move:()=>bx,servo_move1:()=>Yx,servo_read_degrees:()=>wx,servo_read_degrees1:()=>kx,servo_writeMicroseconds:()=>vx,servo_writeMicroseconds1:()=>Vx,tone_notes:()=>Gx,voice_module:()=>Ef});var a={};e.r(a),e.d(a,{Blynk_connect_state:()=>te,Blynk_iot_BLYNK_syncAll:()=>se,Blynk_iot_CONNECT_STATE:()=>ne,Blynk_iot_timer:()=>ee,LM35ESP:()=>be,arduino_blynk_bluetooth:()=>Be,blynk_AP_config:()=>ve,blynk_AP_config_2:()=>we,blynk_WidgetRTC_get_time:()=>Re,blynk_WidgetRTC_init:()=>me,blynk_acc:()=>Pe,blynk_bridge_AnaloglWrite:()=>Ce,blynk_bridge_VPin:()=>Me,blynk_bridge_auth:()=>Te,blynk_bridge_digitalWrite:()=>Ee,blynk_email:()=>he,blynk_esp32_Bluetooth:()=>Ge,blynk_esp32_ble:()=>Xe,blynk_gravity:()=>Ne,blynk_iot_WidgetLED_COLOR:()=>ae,blynk_iot_WidgetLED_VALUE:()=>le,blynk_iot_get_data:()=>fe,blynk_iot_ir_recv_raw:()=>_e,blynk_iot_ir_send:()=>Fe,blynk_iot_ir_send_ac:()=>re,blynk_iot_playmusic:()=>Se,blynk_iot_push_data:()=>xe,blynk_iot_syncVirtual:()=>ce,blynk_iot_terminal_get:()=>De,blynk_lcd:()=>Ve,blynk_lcd_clear:()=>ke,blynk_light:()=>Le,blynk_notify:()=>Ae,blynk_server:()=>qf,blynk_smartconfig:()=>Jf,blynk_table:()=>Ue,blynk_table_add_data:()=>xt,blynk_table_cleardata:()=>ze,blynk_table_click:()=>Qe,blynk_table_highlight:()=>He,blynk_table_order:()=>$e,blynk_table_select:()=>Ke,blynk_table_unselect:()=>Ze,blynk_table_update:()=>We,blynk_terminal:()=>Ie,blynk_terminal_clear:()=>Ye,blynk_time_input_1:()=>ye,blynk_usb_server:()=>jf,blynk_videourl:()=>ge,esp_camera:()=>je,esp_camera_blynk:()=>Je,take_a_photo1:()=>qe});var l={};e.r(l),e.d(l,{MFRC522_IsNewCard:()=>Pt,MFRC522_ReadCard:()=>vt,MFRC522_ReadCardUID:()=>yt,MFRC522_WriteCard:()=>bt,MFRC522_init:()=>Nt,RFID_in:()=>Rt,RFID_init:()=>Mt,RFID_off:()=>Lt,RFID_on:()=>mt,RFID_readcarddata:()=>Dt,RFID_readcardnum:()=>Ot,RFID_writecarddata:()=>St,i2c_available:()=>ut,i2c_begin_end_transmission:()=>lt,i2c_howmany:()=>ot,i2c_master_Init:()=>ct,i2c_master_reader:()=>It,i2c_master_reader2:()=>gt,i2c_master_readerReg:()=>Ft,i2c_master_writer:()=>At,i2c_master_writerReg:()=>_t,i2c_read:()=>rt,i2c_slave_Init:()=>at,i2c_slave_onreceive:()=>Tt,i2c_slave_onrequest:()=>ht,i2c_slave_write:()=>Et,i2c_slave_write_array:()=>pt,i2c_write:()=>dt,ir_recv:()=>et,ir_recv_enable:()=>it,ir_recv_raw:()=>nt,ir_send_nec:()=>tt,ir_send_raw:()=>st,spi_begin_master:()=>Yt,spi_begin_slave:()=>wt,spi_slave_interrupt:()=>Gt,spi_slave_receive:()=>Bt,spi_transfer:()=>Ct,spi_transfer_1:()=>kt,spi_transfer_2:()=>Xt,spi_transfer_Init:()=>Vt});var d={};e.r(d),e.d(d,{base_delay:()=>pi,base_setup:()=>Wt,controls_case:()=>ei,controls_default:()=>ti,controls_delay:()=>Ht,controls_end_program:()=>ci,controls_flow_statements:()=>zt,controls_for:()=>Kt,controls_if:()=>Jt,controls_if_else:()=>$t,controls_if_elseif:()=>Qt,controls_if_if:()=>qt,controls_interrupts:()=>li,controls_millis:()=>jt,controls_mstimer2:()=>ii,controls_mstimer2_start:()=>ni,controls_mstimer2_stop:()=>si,controls_nointerrupts:()=>di,controls_soft_reset:()=>ai,controls_switch:()=>fi,controls_switch_case:()=>xi,controls_whileUntil:()=>Zt,do_while:()=>ui,execute_super_delay_function1:()=>_i,simple_timer:()=>oi,super_delay_function1:()=>ri});var p={};e.r(p),e.d(p,{HT16K33_Init:()=>vi,MAX7219_init:()=>wi,Matrix_img:()=>qi,TFT_Brightness:()=>Zn,TFT_Rotation:()=>Qn,TFT_color_rgb:()=>jn,TFT_color_seclet:()=>zn,TFT_fillScreen:()=>qn,TFT_init:()=>Jn,TFT_init_with_pin:()=>Hn,TFT_st7735_show_hz:()=>Kn,display_4digitdisplay_displayString:()=>Si,display_4digitdisplay_power:()=>Ri,display_4digitdisplay_showDot:()=>Di,display_HT16K33_Rotation:()=>Bi,display_Matrix_Brightness:()=>zi,display_Matrix_DisplayChar:()=>Hi,display_Matrix_DrawPixel:()=>Vi,display_Matrix_LedArray:()=>Ki,display_Matrix_TEXT:()=>Ui,display_Matrix_fillScreen:()=>Ji,display_Matrix_print:()=>Wi,display_Matrix_write:()=>Qi,display_Max7219_Rotation:()=>Xi,display_Max7219_setPosition:()=>Gi,display_TM1637_Brightness:()=>yi,display_TM1637_Brightness_32:()=>As,display_TM1637_clearDisplay:()=>bi,display_TM1637_clearDisplay_32:()=>Is,display_TM1637_displayTime:()=>Pi,display_TM1637_displayTime_32:()=>hs,display_TM1637_displyPrint:()=>Ni,display_TM1637_displyPrint_32:()=>Fs,display_TM1637_init:()=>Li,display_TM1637_init_32:()=>_s,display_lcd_bitmap:()=>Wn,display_matrix_bitmap:()=>Zi,get_utf8_width:()=>Gn,group_lcd_init:()=>rs,group_lcd_init2:()=>Ei,group_lcd_init3:()=>Ci,group_lcd_power:()=>Oi,group_lcd_print:()=>Mi,group_lcd_print2:()=>mi,lcd_display_pattern:()=>Bn,lcd_pattern:()=>Un,oled_clear:()=>Tn,oled_define_bitmap_data:()=>En,oled_drawCircle:()=>yn,oled_drawEllipse:()=>bn,oled_drawFrame:()=>Nn,oled_drawLine:()=>Rn,oled_drawPixel:()=>On,oled_drawRFrame:()=>Pn,oled_drawStr:()=>vn,oled_drawTriangle:()=>Ln,oled_draw_Str_Line:()=>Sn,oled_face:()=>Mn,oled_icons:()=>Cn,oled_init:()=>hn,oled_page:()=>Dn,oled_print:()=>kn,oled_set_CN_Font:()=>Yn,oled_set_EN_Font:()=>wn,oled_set_ZH_TW_Font:()=>Vn,oled_showBitmap:()=>mn,tft_Circle:()=>as,tft_Rect:()=>ss,tft_RoundRect:()=>cs,tft_Triangle:()=>ns,tft_define_bitmap_data:()=>$n,tft_drawFastLine:()=>is,tft_drawLine:()=>ts,tft_drawPixel:()=>es,tft_generate_bitmap_data:()=>xs,tft_icons:()=>ps,tft_print:()=>os,tft_print_refresh:()=>us,tft_set_CN_Font:()=>ds,tft_set_EN_Font:()=>ls,tft_showBitmap:()=>fs,u8g2_LCD12864_8080_init:()=>gn,u8g2_LCD12864_spi_init:()=>In,u8g2_setContrast:()=>Xn,u8g2_spi_init:()=>An});var o={};e.r(o),e.d(o,{MQTT_add_subscribe_topic:()=>Us,MQTT_connect:()=>ks,MQTT_publish:()=>Gs,MQTT_server:()=>bs,MQTT_subscribe:()=>Ws,MQTT_subscribe_value:()=>Bs,NTP_server:()=>Ns,NTP_server_get_time:()=>ys,WIFI_ap_and_sta:()=>js,WIFI_ap_or_sta:()=>zs,WIFI_incomingPacket:()=>Js,WIFI_info:()=>vs,WIFI_send_data:()=>qs,WIFI_smartConfig:()=>Zs,WeatherGet:()=>Qs,WeatherGetForecast:()=>xc,WeatherGetToday:()=>$s,asyncelegantota:()=>nc,ethernet_client_available:()=>Os,ethernet_client_connect_server:()=>Cs,ethernet_client_connected:()=>ms,ethernet_client_get_request:()=>Ls,ethernet_client_print:()=>Rs,ethernet_client_println:()=>Ss,ethernet_client_read:()=>Ds,ethernet_client_stop:()=>Ms,ethernet_init_begin:()=>gs,ethernet_init_local_ip:()=>Es,ethernet_mac_address:()=>Ts,http_get:()=>Ks,mixio_mqtt_publish:()=>tc,mixio_mqtt_received_the_news:()=>ic,mixio_mqtt_subscribe:()=>fc,mixio_mqtt_subscribe_key:()=>ec,mqtt_topics_set:()=>Hs,network_connect:()=>ws,network_get_connect:()=>Vs,network_wifi_connect:()=>Ys});var u={};e.r(u),e.d(u,{factory_block:()=>Ic,factory_block_return:()=>gc,factory_block_return_with_textarea:()=>Ec,factory_block_with_textarea:()=>Tc,factory_callMethod_noreturn:()=>hc,factory_callMethod_return:()=>Ac,factory_create_with_container:()=>lc,factory_create_with_item:()=>dc,factory_declare:()=>oc,factory_declare2:()=>uc,factory_define:()=>rc,factory_function_noreturn:()=>ac,factory_function_return:()=>pc,factory_include:()=>cc,factory_static_method_noreturn:()=>_c,factory_static_method_return:()=>Fc});var r={};e.r(r),e.d(r,{ADS1015_Get_Value:()=>Hc,ADS1015_setGain:()=>Wc,ESP32touchButton:()=>Xc,OneButton_interrupt:()=>Pc,PCF8591T:()=>Kc,controls_attachInterrupt:()=>yc,controls_attachPinInterrupt:()=>vc,controls_detachInterrupt:()=>bc,controls_detachPinInterrupt:()=>wc,inout_analog_read:()=>Lc,inout_analog_write:()=>Dc,inout_buildin_led:()=>Nc,inout_cancel_soft_analog_write:()=>Bc,inout_digital_read:()=>Rc,inout_digital_read2:()=>Sc,inout_digital_write2:()=>Oc,inout_highlow:()=>Mc,inout_pinMode:()=>mc,inout_pulseIn:()=>Yc,inout_pulseIn2:()=>Vc,inout_shiftout:()=>kc,inout_soft_analog_write:()=>Gc});var _={};e.r(_),e.d(_,{array2_assignment:()=>ca,create_array2_with_text:()=>sa,get_array2_value:()=>aa,lists2GetValueByIndex:()=>da,lists2SetValueByIndex:()=>la,listsGetValueByIndex:()=>ta,listsSetValueByIndex:()=>ia,lists_array2_get_length:()=>ra,lists_array2_setup:()=>pa,lists_array2_setup_get_data:()=>oa,lists_create_with:()=>jc,lists_create_with2:()=>qc,lists_create_with_container:()=>$c,lists_create_with_item:()=>xa,lists_create_with_text:()=>Jc,lists_create_with_text2:()=>Qc,lists_getIndex:()=>fa,lists_length:()=>na,lists_setIndex:()=>ea,loop_array:()=>ua});var F={};e.r(F),e.d(F,{logic_boolean:()=>Ia,logic_compare:()=>Fa,logic_negate:()=>Aa,logic_null:()=>ga,logic_operation:()=>ha,logic_true_or_false:()=>Ta});var h={};e.r(h),e.d(h,{arduino_variate_type:()=>Sa,base_map:()=>ba,math_SizeOf:()=>Da,math_arithmetic:()=>Ma,math_auto_add_or_minus:()=>wa,math_bit:()=>ma,math_constrain:()=>ya,math_max_min:()=>La,math_number:()=>Ca,math_random_int:()=>Pa,math_random_seed:()=>Na,math_to_int:()=>Ra,math_trig:()=>Oa,variables_operation:()=>va});var A={};e.r(A),e.d(A,{pins_MISO:()=>Ua,pins_MOSI:()=>Ba,pins_SCK:()=>Wa,pins_SCL:()=>Ha,pins_SDA:()=>Ka,pins_analog:()=>ka,pins_digital:()=>Va,pins_interrupt:()=>Ga,pins_pwm:()=>Xa});var I={};e.r(I),e.d(I,{procedures_callnoreturn:()=>Qa,procedures_callreturn:()=>$a,procedures_defnoreturn:()=>za,procedures_defreturn:()=>ja,procedures_ifreturn:()=>xl,procedures_mutatorarg:()=>qa,procedures_mutatorcontainer:()=>Ja,procedures_return:()=>fl});var g={};e.r(g),e.d(g,{SCoopTask:()=>el,SCoop_sleep:()=>il,SCoop_yield:()=>tl});var T={};e.r(T),e.d(T,{ADXL345:()=>Nl,ADXL345_setOffset:()=>bl,AHT20_21:()=>ud,Arduino_keypad_4_4_start:()=>id,BME280_READ:()=>zl,DHT:()=>ol,DS1302_init:()=>Al,DS1307_init:()=>gl,LIS3DHTR:()=>yl,LM35:()=>ul,MPU6050:()=>vl,MPU6050_update:()=>wl,NTC_TEMP:()=>od,PS2_Button:()=>Ql,PS2_init:()=>jl,PS2_stk:()=>$l,PS2_update:()=>Jl,RTC_date:()=>Ml,RTC_get_time:()=>El,RTC_set_date:()=>Rl,RTC_set_time:()=>ml,RTC_time:()=>Cl,SHT20:()=>Dl,TCS34725_Get_RGB:()=>fd,arduino_keypad_event:()=>ld,chaoshengbo2:()=>pl,ds18b20:()=>rl,encoder_init:()=>Vl,encoder_init1:()=>Gl,encoder_read:()=>Xl,encoder_read1:()=>Ul,encoder_write:()=>kl,encoder_write1:()=>Bl,get_keypad_num:()=>ad,get_system_date_time:()=>Ol,gps_data_available:()=>cl,gps_data_encode:()=>al,gps_getData_xxx:()=>dl,gps_init:()=>sl,gps_xxx_isValid:()=>ll,keypad_col_data:()=>sd,keypad_row_data:()=>nd,keypad_type_data:()=>cd,mixgo_MPU9250:()=>pd,mlx90614_get_data:()=>Fl,mlx90614_init:()=>_l,sensor_encoder_get:()=>Hl,sensor_encoder_handle:()=>Zl,sensor_encoder_init:()=>Wl,sensor_encoder_set:()=>Kl,tcs230_Get_RGB:()=>td,tcs230_init:()=>ed,weightSensor:()=>hl});var E={};e.r(E),e.d(E,{serial_available:()=>Td,serial_begin:()=>_d,serial_event:()=>Rd,serial_flush:()=>md,serial_parseInt_Float:()=>Md,serial_print:()=>hd,serial_print_hex:()=>gd,serial_print_num:()=>Id,serial_println:()=>Ad,serial_readstr:()=>Ed,serial_readstr_until:()=>Cd,serial_softserial:()=>Od,serial_write:()=>Fd});var C={};e.r(C),e.d(C,{sd_DelFile:()=>vd,sd_card_root_files:()=>Nd,sd_card_type:()=>Ld,sd_exist:()=>bd,sd_read:()=>wd,sd_volume:()=>yd,simple_spiffs_DelFile:()=>Zd,simple_spiffs_read:()=>Hd,simple_spiffs_store_spiffs_write:()=>Kd,store_eeprom_get:()=>Ud,store_eeprom_put:()=>Bd,store_eeprom_read_byte:()=>Gd,store_eeprom_read_long:()=>kd,store_eeprom_write_byte:()=>Xd,store_eeprom_write_long:()=>Vd,store_sd_init:()=>Sd,store_sd_init_32:()=>Dd,store_sd_write:()=>Yd});var M={};e.r(M),e.d(M,{Arduinojson:()=>Ap,String_indexOf:()=>Fp,String_to_Long_Integer:()=>Ip,ascii_to_char:()=>$d,char_to_ascii:()=>xp,create_with_container:()=>_p,create_with_item:()=>rp,data_replacement:()=>dp,decimal_places:()=>cp,eliminate:()=>pp,first_and_last:()=>op,letter_conversion:()=>lp,number_to_text:()=>fp,number_to_text_:()=>ep,substring:()=>ap,text:()=>jd,text_char:()=>Jd,text_char_at:()=>ip,text_compareTo:()=>sp,text_equals_starts_ends:()=>np,text_join:()=>qd,text_join2:()=>hp,text_length:()=>tp,text_to_number:()=>Qd,type_conversion:()=>up});var m={};e.r(m),e.d(m,{IICSCAN:()=>Cp,core_esp32c3_pin:()=>yp,esp32c3_pin:()=>Pp,esp32s2_pin:()=>Np,esp32s3_pin:()=>bp,esp8266_board_pin:()=>Xp,esp8266_pin:()=>vp,factory_notes:()=>Tp,folding_block:()=>Ep,get_the_number_of_days_between_the_two_dates:()=>Vp,leonardo_pin:()=>Lp,mega_pin:()=>Sp,nano_pin:()=>Rp,promini_pin:()=>Dp,stm32f103c8t6_pin:()=>Yp,tool_modulus:()=>mp,tool_modulus_show:()=>Mp,uno_pin:()=>Op,wemos_d1_mini_pin:()=>wp});var O={};e.r(O),e.d(O,{variables_change:()=>Kp,variables_declare:()=>Up,variables_get:()=>Wp,variables_set:()=>Hp});var R={};e.r(R),e.d(R,{AFMotorRun:()=>Ro,AFMotorStop:()=>So,GD5800_MP3_CONTROL:()=>To,GD5800_MP3_EQ_MODE:()=>Mo,GD5800_MP3_LOOP_MODE:()=>Co,GD5800_MP3_PLAY_NUM:()=>Oo,GD5800_MP3_Set_Device:()=>Eo,GD5800_MP3_VOL:()=>mo,I2Cmotor:()=>Ko,M9101X_S_MP3_CONTROL:()=>Zo,M9101X_S_MP3_PLAY_NUM:()=>jo,M9101X_S_MP3_VOL_CONTROL:()=>zo,Mixly_motor:()=>Ao,Motor_8833:()=>Io,RGB_color_HSV:()=>uo,RGB_color_rgb:()=>ao,RGB_color_seclet:()=>co,arduino_dfplayer_available:()=>Ho,arduino_dfplayer_loopFolder:()=>Go,arduino_dfplayer_mini_EQ:()=>bo,arduino_dfplayer_mini_EQ_type:()=>vo,arduino_dfplayer_mini_begin:()=>Do,arduino_dfplayer_mini_outputDevice:()=>wo,arduino_dfplayer_mini_outputDevice_type:()=>Yo,arduino_dfplayer_mini_pin:()=>Lo,arduino_dfplayer_mini_setTimeOut:()=>No,arduino_dfplayer_mini_volume:()=>Po,arduino_dfplayer_mini_volume_up_down:()=>yo,arduino_dfplayer_playFolder:()=>Xo,arduino_dfplayer_play_loop:()=>ko,arduino_dfplayer_readFileCounts:()=>Uo,arduino_dfplayer_readFileCountsInFolder:()=>Wo,arduino_dfplayer_read_now:()=>Bo,arduino_dfplayer_set_1:()=>Vo,controls_notone:()=>fo,controls_notone_noTimer:()=>to,controls_tone:()=>xo,controls_tone_noTimer:()=>eo,display_rgb:()=>oo,display_rgb_Brightness:()=>po,display_rgb_init:()=>lo,display_rgb_rainbow1:()=>_o,display_rgb_rainbow2:()=>Fo,display_rgb_rainbow3:()=>ho,display_rgb_show:()=>ro,group_stepper_move:()=>so,group_stepper_setup:()=>io,group_stepper_setup2:()=>no,servo_move:()=>Zp,servo_move1:()=>Jp,servo_read_degrees:()=>jp,servo_read_degrees1:()=>Qp,servo_writeMicroseconds:()=>zp,servo_writeMicroseconds1:()=>qp,tone_notes:()=>$p,voice_module:()=>go});var S={};e.r(S),e.d(S,{Blynk_connect_state:()=>Nu,Blynk_iot_BLYNK_syncAll:()=>iu,Blynk_iot_CONNECT_STATE:()=>tu,Blynk_iot_timer:()=>eu,arduino_blynk_bluetooth:()=>Yu,blynk_AP_config:()=>Du,blynk_AP_config_2:()=>Lu,blynk_WidgetRTC_get_time:()=>Tu,blynk_WidgetRTC_init:()=>gu,blynk_acc:()=>mu,blynk_bridge_AnaloglWrite:()=>Au,blynk_bridge_VPin:()=>Iu,blynk_bridge_auth:()=>Fu,blynk_bridge_digitalWrite:()=>hu,blynk_connected:()=>Wu,blynk_email:()=>pu,blynk_esp32_Bluetooth:()=>wu,blynk_esp32_ble:()=>vu,blynk_gravity:()=>Mu,blynk_iot_WidgetLED_COLOR:()=>su,blynk_iot_WidgetLED_VALUE:()=>cu,blynk_iot_auth:()=>Jo,blynk_iot_get_data:()=>fu,blynk_iot_ir_recv_raw:()=>lu,blynk_iot_ir_send:()=>du,blynk_iot_ir_send_ac:()=>au,blynk_iot_playmusic:()=>Eu,blynk_iot_push_data:()=>xu,blynk_iot_syncVirtual:()=>nu,blynk_iot_terminal_get:()=>ru,blynk_lcd:()=>yu,blynk_lcd_clear:()=>bu,blynk_light:()=>Cu,blynk_notify:()=>ou,blynk_server:()=>Qo,blynk_smartconfig:()=>qo,blynk_table:()=>Vu,blynk_table_add_data:()=>Ju,blynk_table_cleardata:()=>Uu,blynk_table_click:()=>zu,blynk_table_highlight:()=>Xu,blynk_table_order:()=>ju,blynk_table_select:()=>Gu,blynk_table_unselect:()=>Bu,blynk_table_update:()=>ku,blynk_terminal:()=>uu,blynk_terminal_clear:()=>Pu,blynk_time_input_1:()=>Ou,blynk_usb_server:()=>$o,blynk_videourl:()=>_u,esp_camera:()=>Hu,esp_camera_blynk:()=>Ku,factory_declare2:()=>Su,take_a_photo1:()=>Zu,tone_notes:()=>Ru});var D={};e.r(D),e.d(D,{MFRC522_IsNewCard:()=>ur,MFRC522_ReadCard:()=>Fr,MFRC522_ReadCardUID:()=>rr,MFRC522_WriteCard:()=>_r,MFRC522_init:()=>or,RFID_in:()=>pr,RFID_init:()=>nr,RFID_off:()=>dr,RFID_on:()=>sr,RFID_readcarddata:()=>lr,RFID_readcardnum:()=>cr,RFID_writecarddata:()=>ar,i2c_available:()=>Er,i2c_begin_end_transmission:()=>Ir,i2c_howmany:()=>Cr,i2c_master_Init:()=>hr,i2c_master_reader:()=>Nr,i2c_master_reader2:()=>tr,i2c_master_readerReg:()=>Sr,i2c_master_writer:()=>er,i2c_master_writerReg:()=>Rr,i2c_read:()=>Mr,i2c_slave_Init:()=>Ar,i2c_slave_onreceive:()=>Dr,i2c_slave_onrequest:()=>Lr,i2c_slave_write:()=>ir,i2c_slave_write_array:()=>Tr,i2c_write:()=>gr,ir_recv:()=>qu,ir_recv_enable:()=>Qu,ir_recv_raw:()=>xr,ir_send_nec:()=>$u,ir_send_raw:()=>fr,spi_begin_master:()=>Pr,spi_begin_slave:()=>Or,spi_slave_interrupt:()=>wr,spi_slave_receive:()=>Yr,spi_transfer:()=>mr,spi_transfer_1:()=>br,spi_transfer_2:()=>vr,spi_transfer_Init:()=>yr});var L={};e.r(L),e.d(L,{base_delay:()=>$r,base_setup:()=>Vr,controls_delay:()=>Wr,controls_end_program:()=>jr,controls_flow_statements:()=>Ur,controls_for:()=>Gr,controls_if:()=>kr,controls_interrupts:()=>qr,controls_millis:()=>Hr,controls_mstimer2:()=>Kr,controls_mstimer2_start:()=>Zr,controls_mstimer2_stop:()=>zr,controls_nointerrupts:()=>Qr,controls_soft_reset:()=>Jr,controls_switch_case:()=>Xr,controls_whileUntil:()=>Br,do_while:()=>f_,execute_super_delay_function1:()=>t_,simple_timer:()=>x_,super_delay_function1:()=>e_});var N={};e.r(N),e.d(N,{HT16K33_Init:()=>I_,LedArray:()=>P_,MAX7219_init:()=>g_,Matrix_img:()=>y_,TFT_Brightness:()=>hF,TFT_Rotation:()=>IF,TFT_color_rgb:()=>CF,TFT_color_seclet:()=>EF,TFT_fillScreen:()=>mF,TFT_init:()=>MF,TFT_init_with_pin:()=>lF,TFT_st7735_show_hz:()=>FF,display_4digitdisplay_displayString:()=>d_,display_4digitdisplay_power:()=>l_,display_4digitdisplay_showDot:()=>p_,display_HT16K33_Rotation:()=>N_,display_Matrix_Brightness:()=>R_,display_Matrix_DisplayChar:()=>M_,display_Matrix_DrawPixel:()=>T_,display_Matrix_LedArray:()=>m_,display_Matrix_TEXT:()=>E_,display_Matrix_fillScreen:()=>S_,display_Matrix_print:()=>C_,display_Matrix_write:()=>b_,display_Max7219_Rotation:()=>D_,display_Max7219_setPosition:()=>L_,display_TM1637_Brightness:()=>A_,display_TM1637_Brightness_32:()=>BF,display_TM1637_clearDisplay:()=>h_,display_TM1637_clearDisplay_32:()=>GF,display_TM1637_displayTime:()=>F_,display_TM1637_displayTime_32:()=>XF,display_TM1637_displyPrint:()=>__,display_TM1637_displyPrint_32:()=>kF,display_TM1637_init:()=>r_,display_TM1637_init_32:()=>VF,display_lcd_bitmap:()=>cF,display_matrix_bitmap:()=>O_,get_utf8_width:()=>iF,group_lcd_init:()=>UF,group_lcd_init2:()=>i_,group_lcd_init3:()=>n_,group_lcd_power:()=>a_,group_lcd_print:()=>s_,group_lcd_print2:()=>c_,lcd_display_pattern:()=>nF,lcd_pattern:()=>sF,oled_clear:()=>k_,oled_define_bitmap_data:()=>H_,oled_drawCircle:()=>q_,oled_drawEllipse:()=>Q_,oled_drawFrame:()=>j_,oled_drawLine:()=>K_,oled_drawPixel:()=>B_,oled_drawRFrame:()=>J_,oled_drawTriangle:()=>z_,oled_draw_Str_Line:()=>Z_,oled_face:()=>X_,oled_icons:()=>G_,oled_init:()=>v_,oled_page:()=>U_,oled_print:()=>$_,oled_set_CN_Font:()=>fF,oled_set_EN_Font:()=>xF,oled_set_ZH_TW_Font:()=>eF,oled_showBitmap:()=>W_,tft_Circle:()=>PF,tft_Rect:()=>LF,tft_RoundRect:()=>NF,tft_Triangle:()=>DF,tft_define_bitmap_data:()=>yF,tft_drawFastLine:()=>SF,tft_drawLine:()=>RF,tft_drawPixel:()=>OF,tft_generate_bitmap_data:()=>bF,tft_icons:()=>AF,tft_print:()=>TF,tft_setFont:()=>gF,tft_set_CN_Font:()=>YF,tft_set_EN_Font:()=>wF,tft_showBitmap:()=>vF,u8g2_LCD12864_8080_init:()=>V_,u8g2_LCD12864_spi_init:()=>Y_,u8g2_setContrast:()=>tF,u8g2_spi_init:()=>w_});var P={};e.r(P),e.d(P,{MQTT_connect:()=>ah,MQTT_publish:()=>lh,MQTT_server:()=>ch,MQTT_subscribe:()=>ph,MQTT_subscribe_value:()=>dh,NTP_server:()=>ih,NTP_server_get_time:()=>nh,WIFI_ap_and_sta:()=>_h,WIFI_ap_or_sta:()=>rh,WIFI_incomingPacket:()=>Fh,WIFI_info:()=>fh,WIFI_send_data:()=>hh,WIFI_smartConfig:()=>uh,WeatherGet:()=>Ih,WeatherGetForecast:()=>Th,WeatherGetToday:()=>gh,asyncelegantota:()=>Oh,ethernet_client_available:()=>JF,ethernet_client_connect_server:()=>ZF,ethernet_client_connected:()=>jF,ethernet_client_get_request:()=>xh,ethernet_client_print:()=>qF,ethernet_client_println:()=>QF,ethernet_client_read:()=>$F,ethernet_client_stop:()=>zF,ethernet_init_begin:()=>WF,ethernet_init_local_ip:()=>KF,ethernet_mac_address:()=>HF,http_get:()=>oh,mixio_mqtt_publish:()=>Mh,mixio_mqtt_received_the_news:()=>mh,mixio_mqtt_subscribe:()=>Eh,mixio_mqtt_subscribe_key:()=>Ch,network_get_connect:()=>th,network_wifi_connect:()=>eh});var y={};e.r(y),e.d(y,{factory_block:()=>Yh,factory_block_return:()=>Vh,factory_block_return_with_textarea:()=>Xh,factory_block_with_textarea:()=>kh,factory_callMethod_noreturn:()=>vh,factory_callMethod_return:()=>wh,factory_declare:()=>Lh,factory_declare2:()=>Nh,factory_define:()=>Ph,factory_function_noreturn:()=>Sh,factory_function_return:()=>Dh,factory_include:()=>Rh,factory_static_method_noreturn:()=>yh,factory_static_method_return:()=>bh});var b={};e.r(b),e.d(b,{ADS1015_Get_Value:()=>cA,ADS1015_setGain:()=>sA,ESP32touchButton:()=>tA,OneButton_interrupt:()=>jh,PCF8591T:()=>aA,controls_attachInterrupt:()=>Jh,controls_attachPinInterrupt:()=>Qh,controls_detachInterrupt:()=>qh,controls_detachPinInterrupt:()=>$h,inout_analog_read:()=>Zh,inout_analog_write:()=>Kh,inout_buildin_led:()=>zh,inout_cancel_soft_analog_write:()=>nA,inout_digital_read:()=>Wh,inout_digital_read2:()=>Hh,inout_digital_write2:()=>Uh,inout_highlow:()=>Gh,inout_pinMode:()=>Bh,inout_pulseIn:()=>xA,inout_pulseIn2:()=>fA,inout_shiftout:()=>eA,inout_soft_analog_write:()=>iA});var v={};e.r(v),e.d(v,{array2_assignment:()=>IA,create_array2_with_text:()=>AA,get_array2_value:()=>gA,lists2GetValueByIndex:()=>EA,lists2SetValueByIndex:()=>TA,listsGetValueByIndex:()=>_A,listsSetValueByIndex:()=>FA,lists_array2_get_length:()=>OA,lists_array2_setup:()=>CA,lists_array2_setup_get_data:()=>MA,lists_create_with:()=>lA,lists_create_with2:()=>pA,lists_create_with_text:()=>dA,lists_create_with_text2:()=>oA,lists_getIndex:()=>uA,lists_length:()=>hA,lists_setIndex:()=>rA,loop_array:()=>mA});var w={};e.r(w),e.d(w,{logic_boolean:()=>LA,logic_compare:()=>RA,logic_negate:()=>DA,logic_null:()=>NA,logic_operation:()=>SA,logic_true_or_false:()=>PA});var Y={};e.r(Y),e.d(Y,{arduino_variate_type:()=>kA,base_map:()=>WA,math_SizeOf:()=>XA,math_arithmetic:()=>bA,math_auto_add_or_minus:()=>ZA,math_bit:()=>vA,math_constrain:()=>HA,math_max_min:()=>GA,math_number:()=>yA,math_random_int:()=>UA,math_random_seed:()=>BA,math_single:()=>wA,math_to_int:()=>VA,math_trig:()=>YA,variables_operation:()=>KA});var V={};e.r(V),e.d(V,{pins_MISO:()=>$A,pins_MOSI:()=>QA,pins_SCK:()=>xI,pins_SCL:()=>fI,pins_SDA:()=>eI,pins_analog:()=>jA,pins_digital:()=>zA,pins_interrupt:()=>qA,pins_pwm:()=>JA});var k={};e.r(k),e.d(k,{procedures_callnoreturn:()=>sI,procedures_callreturn:()=>nI,procedures_defnoreturn:()=>iI,procedures_defreturn:()=>tI,procedures_ifreturn:()=>cI,procedures_return:()=>aI});var X={};e.r(X),e.d(X,{SCoopTask:()=>lI,SCoop_sleep:()=>pI,SCoop_yield:()=>dI});var G={};e.r(G),e.d(G,{ADXL345:()=>yI,ADXL345_setOffset:()=>vI,AHT20_21:()=>dg,Arduino_keypad_4_4_start:()=>eg,BME280_READ:()=>zI,DHT:()=>AI,DS1302_init:()=>MI,DS1307_init:()=>mI,LIS3DHTR:()=>bI,LM35:()=>II,MPU6050:()=>wI,MPU6050_update:()=>YI,NTC_TEMP:()=>lg,PS2_Button:()=>qI,PS2_init:()=>jI,PS2_stk:()=>QI,PS2_update:()=>JI,RTC_date:()=>RI,RTC_get_time:()=>OI,RTC_set_date:()=>NI,RTC_set_time:()=>DI,RTC_time:()=>SI,SHT20:()=>PI,TCS34725_Get_RGB:()=>$I,arduino_keypad_event:()=>cg,chaoshengbo2:()=>hI,ds18b20:()=>gI,encoder_init:()=>XI,encoder_init1:()=>UI,encoder_read:()=>kI,encoder_read1:()=>BI,encoder_write:()=>VI,encoder_write1:()=>GI,get_keypad_num:()=>sg,get_system_date_time:()=>LI,gps_data_available:()=>uI,gps_data_encode:()=>rI,gps_getData_xxx:()=>FI,gps_init:()=>oI,gps_xxx_isValid:()=>_I,keypad_col_data:()=>ig,keypad_row_data:()=>tg,keypad_type_data:()=>ng,mixgo_MPU9250:()=>ag,mlx90614_get_data:()=>EI,mlx90614_init:()=>TI,sensor_encoder_get:()=>HI,sensor_encoder_handle:()=>ZI,sensor_encoder_init:()=>WI,sensor_encoder_set:()=>KI,tcs230_Get_RGB:()=>fg,tcs230_init:()=>xg,weightSensor:()=>CI});var B={};e.r(B),e.d(B,{serial_available:()=>hg,serial_begin:()=>pg,serial_event:()=>Cg,serial_flush:()=>Tg,serial_parseInt_Float:()=>gg,serial_print:()=>ug,serial_print_hex:()=>Fg,serial_print_num:()=>_g,serial_println:()=>rg,serial_readstr:()=>Ag,serial_readstr_until:()=>Ig,serial_softserial:()=>Eg,serial_write:()=>og});var U={};e.r(U),e.d(U,{sd_DelFile:()=>Pg,sd_card_root_files:()=>Sg,sd_card_type:()=>Rg,sd_exist:()=>Lg,sd_read:()=>Ng,sd_volume:()=>Dg,simple_spiffs_DelFile:()=>Gg,simple_spiffs_read:()=>Xg,simple_spiffs_store_spiffs_write:()=>kg,store_eeprom_get:()=>Vg,store_eeprom_put:()=>Yg,store_eeprom_read_byte:()=>wg,store_eeprom_read_long:()=>bg,store_eeprom_write_byte:()=>vg,store_eeprom_write_long:()=>yg,store_sd_init:()=>mg,store_sd_write:()=>Og});var W={};e.r(W),e.d(W,{String_indexOf:()=>sT,String_to_Long_Integer:()=>aT,ascii_to_char:()=>Kg,char_to_ascii:()=>Zg,data_replacement:()=>eT,decimal_places:()=>$g,eliminate:()=>tT,first_and_last:()=>iT,letter_conversion:()=>fT,number_to_text:()=>zg,substring:()=>xT,text:()=>Bg,text_char:()=>Ug,text_char_at:()=>Jg,text_compareTo:()=>Qg,text_equals_starts_ends:()=>qg,text_join:()=>Wg,text_join2:()=>cT,text_length:()=>jg,text_to_number:()=>Hg,type_conversion:()=>nT});var H={};e.r(H),e.d(H,{IICSCAN:()=>pT,core_esp32c3_pin:()=>NT,esp32c3_pin:()=>DT,esp32s2_pin:()=>ST,esp32s3_pin:()=>LT,esp8266_board_pin:()=>yT,esp8266_pin:()=>mT,factory_notes:()=>lT,folding_block:()=>dT,get_the_number_of_days_between_the_two_dates:()=>PT,leonardo_pin:()=>ET,mega_pin:()=>MT,nano_pin:()=>gT,promini_pin:()=>TT,stm32f103c8t6_pin:()=>RT,tool_modulus:()=>IT,tool_modulus_show:()=>rT,uno_pin:()=>CT,wemos_d1_mini_pin:()=>OT});var K={};e.r(K),e.d(K,{variables_change:()=>YT,variables_declare:()=>vT,variables_get:()=>bT,variables_set:()=>wT});const Z=Blockly,z=Mixly,j="#27b6ac",J={init:function(){this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(Z.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(Z.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Z.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},q={init:function(){this.appendDummyInput().appendField(new Z.FieldDropdown([["POST","POST"],["PATCH","PATCH"],["PUT","PUT"]]),"TYPE").appendField(Z.Msg.blockpy_REQUESTS),this.appendValueInput("api").setCheck(null).appendField(Z.Msg.blynk_SERVER_ADD),this.appendValueInput("data").setCheck(null).appendField(Z.Msg.MIXLY_SD_DATA),this.appendStatementInput("success").setCheck(null).appendField(Z.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Z.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Q={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}};var xx,fx=[];for(xx in Q)fx.push([xx,xx]);function ex(x){var f,e=[];for(f in Q[x])e.push([f,f]);return e}var tx={};for(xx of fx)tx[xx[0]]=ex(xx[0]);const ix={init:function(){this.appendDummyInput().appendField(new Z.FieldDropdown(fx),"province").appendField(new Z.FieldDependentDropdown("province",tx,[["-","-"]]),"city"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setHelpUrl(""),this.preProvince=null}},nx={init:function(){this.setColour(j),this.appendDummyInput("").appendField(new Z.FieldDropdown([["S9l2sb_ZK-UsWaynG","S9l2sb_ZK-UsWaynG"],["SpRpSYb7QOMT0M8Tz","SpRpSYb7QOMT0M8Tz"],["SboqGMxP4tYNXUN8f","SboqGMxP4tYNXUN8f"],["SJiRrYGYFkGnfi081","SJiRrYGYFkGnfi081"],["SMhSshUxuTL0GLVLS","SMhSshUxuTL0GLVLS"]]),"key"),this.setOutput(!0,null)}},sx={init:function(){this.appendDummyInput("").appendField(Z.Msg.MSG.catweather).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[Z.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[Z.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(Z.Msg.MIXLY_INFORMATION_CONFIGURATION),this.appendValueInput("location").setCheck(null).appendField(Z.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("private_key").setCheck(null).appendField(Z.Msg.MIXLY_API_PRIVATE_KEY),this.appendDummyInput("").appendField(Z.Msg.MIXLY_LANGUAGE).appendField(new Z.FieldDropdown([["简体中文","zh-Hans"],["繁體中文","zh-Hant"],["English","en"]]),"language"),this.appendDummyInput("").appendField(Z.Msg.MIXLY_TEMPERATURE_UNIT).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_CELSIUS+"(℃)","c"],[Z.Msg.MIXLY_FAHRENHEIT+"(℉)","f"]]),"unit"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(j),this.setTooltip("这里的API私钥免费体验有次数限制\n访问频率限制20次/分钟"),this.setHelpUrl("")}},cx={init:function(){this.appendDummyInput("").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[Z.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[Z.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_AVAILABLE,"update"],[Z.Msg.MIXLY_GET_DATA_UPDATE_TIME,"getLastUpdate"],[Z.Msg.MIXLY_GET_SERVER_RESPONSE_STATUS_CODE,"getServerCode"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},ax={init:function(){this.appendDummyInput("").appendField(Z.Msg.MIXLY_LIVE_WEATHER).appendField(Z.Msg.MIXLY_GET).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_WEATHER_PHENOMENON,"getWeatherText"],[Z.Msg.MIXLY_WEATHER_PHENOMENON_CODE,"getWeatherCode"],[Z.Msg.MIXLY_TEMPERATURE,"getDegree"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},lx={init:function(){this.appendDummyInput("").appendField(Z.Msg.MIXLY_3_DAY_WEATHER_FORECAST).appendField(Z.Msg.MIXLY_GET).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_TODAY,"0"],[Z.Msg.MIXLY_TOMORROW,"1"],[Z.Msg.MIXLY_DAY_AFTER_TOMORROW,"2"]]),"date").appendField(new Z.FieldDropdown([[Z.Msg.ForecastHigh,"getHigh"],[Z.Msg.ForecastLow,"getLow"],[Z.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON,"getDayText"],[Z.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE,"getDayCode"],[Z.Msg.MIXLY_EVENING_WEATHER_PHENOMENON,"getNightText"],[Z.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE,"getNightCode"],[Z.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION,"getRain"],[Z.Msg.ForecastFx,"getWindDirection"],[Z.Msg.MIXLY_WIND_SPEED,"getWindSpeed"],[Z.Msg.MIXLY_WIND_RATING,"getWindScale"],[Z.Msg.MIXLY_Humidity,"getHumidity"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},dx={init:function(){this.appendDummyInput("").appendField(Z.Msg.MIXLY_6_LIFE_INDEXES).appendField(Z.Msg.MIXLY_GET).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_CAR_WASH_INDEX,"getCarWash"],[Z.Msg.MIXLY_DRESSING_INDEX,"getDressing"],[Z.Msg.MIXLY_COLD_INDEX,"getFactorFlu"],[Z.Msg.MIXLY_MOVEMENT_INDEX,"getExercise"],[Z.Msg.MIXLY_TOURISM_INDEX,"getTravel"],[Z.Msg.MIXLY_UV_INDEX,"getUV"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},px={init:function(){this.appendValueInput("VALUE").setCheck(null).setAlign(Z.inputs.Align.LEFT).appendField(new Z.FieldDropdown([["Base64","BASE64"],["URL","URL"]]),"TYPE").appendField(new Z.FieldDropdown([["编码","ENCODE"],["解码","DECODE"]]),"OPTION"),this.setOutput(!0,null),this.setColour(160),this.setTooltip(""),this.setHelpUrl("")}},ox=function(){const x=z.Boards.getType(),f=Z.Arduino.valueToCode(this,"api",Z.Arduino.ORDER_ATOMIC);let e=Z.Arduino.statementToCode(this,"success")||"";e=e.replace(/(^\s*)|(\s*$)/g,"");let t=Z.Arduino.statementToCode(this,"failure")||"";t=t.replace(/(^\s*)|(\s*$)/g,"");let i="";return"arduino_esp8266"==x?(Z.Arduino.definitions_.include_ESP8266WiFi="#include ",Z.Arduino.definitions_.include_ESP8266HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n WiFiClient client;\n HTTPClient http;\n http.begin(client, "+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n } else {\n "+t+"\n }\n http.end();\n}\n"):(Z.Arduino.definitions_.include_WiFi="#include ",Z.Arduino.definitions_.include_HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n }\n else {\n "+t+"\n }\n http.end();\n}\n"),i},ux=function(){const x=z.Boards.getType(),f=this.getFieldValue("TYPE"),e=Z.Arduino.valueToCode(this,"api",Z.Arduino.ORDER_ATOMIC),t=Z.Arduino.valueToCode(this,"data",Z.Arduino.ORDER_ATOMIC);let i=Z.Arduino.statementToCode(this,"success")||"";i=i.replace(/(^\s*)|(\s*$)/g,"");let n=Z.Arduino.statementToCode(this,"failure")||"";n=n.replace(/(^\s*)|(\s*$)/g,"");let s="";return"arduino_esp8266"==x?(Z.Arduino.definitions_.include_ESP8266WiFi="#include ",Z.Arduino.definitions_.include_ESP8266HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n WiFiClient client;\n http.begin(client, "+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n } else {\n "+n+"\n }\n http.end();\n}\n"):(Z.Arduino.definitions_.include_WiFi="#include ",Z.Arduino.definitions_.include_HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n }\n else {\n "+n+"\n }\n http.end();\n}\n"),s},rx={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}},_x=function(){var x=this.getFieldValue("province"),f=this.getFieldValue("city"),e="";try{e='"'+rx[x][f].pinyin+'"'}catch(x){console.log(x)}return[e,Z.Arduino.ORDER_ATOMIC]},Fx=function(){return['"'+this.getFieldValue("key")+'"',Z.Arduino.ORDER_ATOMIC]},hx=function(){var x=this.getFieldValue("api"),f=Z.Arduino.valueToCode(this,"location",Z.Arduino.ORDER_ATOMIC),e=Z.Arduino.valueToCode(this,"private_key",Z.Arduino.ORDER_ATOMIC),t=this.getFieldValue("language"),i=this.getFieldValue("unit");switch(Z.Arduino.definitions_.include_ESP8266_Seniverse="#include ",Z.Arduino.setups_.setup_serial_Serial="Serial.begin(9600);",x){case"weather/now":Z.Arduino.definitions_.var_declare_weatherNow="WeatherNow weatherNow;",Z.Arduino.setups_.setup_seniverse_weatherNow="weatherNow.config("+e+", "+f+', "'+i+'", "'+t+'");';break;case"weather/daily":Z.Arduino.definitions_.var_declare_forecast="Forecast forecast;",Z.Arduino.setups_.setup_seniverse_forecast="forecast.config("+e+", "+f+', "'+i+'", "'+t+'");';break;default:Z.Arduino.definitions_.var_declare_lifeInfo="LifeInfo lifeInfo;",Z.Arduino.setups_.setup_seniverse_lifeInfo="lifeInfo.config("+e+", "+f+', "'+i+'", "'+t+'");'}return""},Ax=function(){var x=this.getFieldValue("api"),f=this.getFieldValue("type"),e="";switch(x){case"weather/now":e="weatherNow."+f+"()";break;case"weather/daily":e="forecast."+f+"()";break;default:e="lifeInfo."+f+"()"}return[e,Z.Arduino.ORDER_ATOMIC]},Ix=function(){return["weatherNow."+this.getFieldValue("type")+"()",Z.Arduino.ORDER_ATOMIC]},gx=function(){var x=this.getFieldValue("date");return["forecast."+this.getFieldValue("type")+"("+x+")",Z.Arduino.ORDER_ATOMIC]},Tx=function(){return["lifeInfo."+this.getFieldValue("type")+"()",Z.Arduino.ORDER_ATOMIC]},Ex=function(){const x=this.getFieldValue("TYPE"),f=this.getFieldValue("OPTION"),e=Z.Arduino.valueToCode(this,"VALUE",Z.Arduino.ORDER_ATOMIC);let t="";return"BASE64"===x?(Z.Arduino.definitions_.include_rBase64="#include ",t="ENCODE"===f?"rbase64.encode("+e+")":"rbase64.decode("+e+")"):(Z.Arduino.definitions_.include_URLCode="#include ",Z.Arduino.definitions_.var_declare_urlCode="URLCode urlCode;","ENCODE"===f?(Z.Arduino.definitions_.function_urlEncode="String urlEncode(String urlStr) {\n urlCode.strcode = urlStr;\n urlCode.urlencode();\n return urlCode.urlcode;\n}\n",t="urlEncode("+e+")"):(Z.Arduino.definitions_.function_urlDecode="String urlDecode(String urlStr) {\n urlCode.urlcode = urlStr;\n urlCode.urldecode();\n return urlCode.strcode;\n}\n",t="urlDecode("+e+")")),[t,Z.Arduino.ORDER_ATOMIC]},Cx=function(x,f){if(this.variablePrefix_=f||"",this.reservedDict_=Object.create(null),x)for(var e=x.split(","),t=0;t1&&(s+=t)):e=s}else e="i";return e}},Sx=Rx;class Dx extends Z.Generator{constructor(x){super(x??"Arduino"),this.ORDER_ATOMIC=0,this.ORDER_UNARY_POSTFIX=1,this.ORDER_UNARY_PREFIX=2,this.ORDER_MULTIPLICATIVE=3,this.ORDER_ADDITIVE=4,this.ORDER_SHIFT=5,this.ORDER_RELATIONAL=6,this.ORDER_EQUALITY=7,this.ORDER_BITWISE_AND=8,this.ORDER_BITWISE_XOR=9,this.ORDER_BITWISE_OR=10,this.ORDER_LOGICAL_AND=11,this.ORDER_LOGICAL_OR=12,this.ORDER_CONDITIONAL=13,this.ORDER_ASSIGNMENT=14,this.ORDER_NONE=99,this.INDENT=" ",this.isInitialized=!1,this.PASS="",this.addReservedWords("setup,loop,if,else,for,switch,case,while,do,break,continue,return,goto,define,include,HIGH,LOW,INPUT,OUTPUT,INPUT_PULLUP,true,false,interger,constants,floating,point,void,bookean,char,unsigned,byte,int,short,word,long,float,double,string,String,array,static,volatile,const,sizeof")}init(){super.init(),this.definitions_=Object.create(null),this.setups_=Object.create(null),this.setups_begin_=Object.create(null),this.setups_end_=Object.create(null),this.libs_=Object.create(null),this.loops_begin_=Object.create(null),this.loops_end_=Object.create(null),this.variableDB_?this.variableDB_.reset():this.variableDB_=new Mx(this.RESERVED_WORDS_),this.isInitialized=!0}finish(x){x=(x=" "+x.replace(/\n/g,"\n ")).replace(/\n\s+$/,"\n");var f=[],e=[],t=[],i=[],n=Object.keys(this.definitions_);if(n.length)for(var s in n){var c=n[s],a=this.definitions_[c];c.match(/^define/)?e.push(a):c.match(/^include/)||a.match(/^WiFiClient/)?f.push(a):c.match(/^var_declare/)?t.push(a):i.push(a)}var l=[];for(let x in this.setups_)l.push(this.setups_[x]);var d=[],p=[];for(let x in this.setups_begin_)d.push(this.setups_begin_[x]);for(let x in this.setups_end_)p.push(this.setups_end_[x]);for(let x in this.libs_)f.push(`#include "${x}.h"`);var o=[],u=[];for(let x in this.loops_begin_)o.push(this.loops_begin_[x]);for(let x in this.loops_end_)u.push(this.loops_end_[x]);return x="void loop(){\n"+(o.length?" "+o.join("\n "):"")+x+(u.length?" "+u.join("\n "):"")+"\n}",(e.join("\n")+"\n"+f.join("\n")+"\n\n"+t.join("\n")+"\n\n"+i.join("\n")+"\n\nvoid setup(){\n "+d.join("\n ")+(d.length&&(p.length||l.length)?"\n ":"")+l.join("\n ")+(p.length&&l.length?"\n ":"")+p.join("\n ")+"\n}\n\n").replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n")+x}scrubNakedValue(x){return x+";\n"}quote_(x){return'"'+x+'"'}scrub_(x,f){if(null===f)return"";var e="";if(!x.outputConnection||!x.outputConnection.targetConnection){let f=x.getCommentText();f&&(e+=this.prefixLines(f,"// ")+"\n");for(var t=0;t0;i--)f.getInputTargetBlock("IF"+i)&&f.getInputTargetBlock("IF"+i).previousConnection?e[i]=f.getInputTargetBlock("IF"+i).previousConnection:e[i]=null,this.removeInput("IF"+i),f.getInputTargetBlock("DO"+i)&&f.getInputTargetBlock("DO"+i).previousConnection?t[i]=f.getInputTargetBlock("DO"+i).previousConnection:t[i]=null,this.removeInput("DO"+i);this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(i=1;i<=this.elseifCount_;i++)this.appendValueInput("IF"+i).setCheck([Boolean,Number]).appendField(Z.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+i).appendField(Z.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Z.Msg.CONTROLS_IF_MSG_ELSE);for(i=e.length-2;i>0;i--)e[i]&&e[i].reconnect(this,"IF"+i);for(i=t.length-2;i>0;i--)t[i]&&t[i].reconnect(this,"DO"+i)},decompose:function(x){var f=x.newBlock("controls_if_if");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_if_elseif");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_if_else");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null],i=[null],n=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,t.push(e.valueConnection_),i.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,i,n)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_if_elseif":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_if_else":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){var x=[null],f=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var t=1;this.getInput("IF"+t);){var i=this.getInput("IF"+t),n=this.getInput("DO"+t);console.log(i.connection.targetConnection),x.push(i.connection.targetConnection),f.push(n.connection.targetConnection),t++}this.updateShape_(),this.reconnectChildBlocks_(x,f,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var x=1;this.getInput("IF"+x);)this.removeInput("IF"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendValueInput("IF"+x).setCheck([Number,Boolean]).appendField(Z.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+x).appendField(Z.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Z.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(x,f,e){for(var t=1;t<=this.elseifCount_;t++)x[t]&&x[t].reconnect(this,"IF"+t),f[t]&&f[t].reconnect(this,"DO"+t);e&&e.reconnect(this,"ELSE")}},qt={init:function(){this.setColour(Ut),this.appendDummyInput().appendField(Z.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Z.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Qt={init:function(){this.setColour(Ut),this.appendDummyInput().appendField(Z.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(Ut),this.appendDummyInput().appendField(Z.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Z.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},xi={init:function(){this.setColour(Ut),this.appendValueInput("IF0").setCheck([Number,Boolean]).appendField("switch"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#switch"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","switch 选择"]}},this.setMutator(new Z.icons.MutatorIcon(["controls_case","controls_default"],this)),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),this.elseCount_&&x.setAttribute("else",1),x},domToMutation:function(x){this.compose(this),this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(var f=1;f<=this.elseifCount_;f++)this.appendValueInput("IF"+f).setCheck([Number,Boolean]).appendField("case"),this.appendStatementInput("DO"+f).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField("default")},decompose:function(x){var f=x.newBlock("controls_switch");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_case");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_default");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK");e;){switch(e.type){case"controls_case":this.elseifCount_++;var t=this.appendValueInput("IF"+this.elseifCount_).setCheck([Number,Boolean]).appendField("case"),i=this.appendStatementInput("DO"+this.elseifCount_);i.appendField(""),e.valueConnection_&&t.connection.connect(e.valueConnection_),e.statementConnection_&&i.connection.connect(e.statementConnection_);break;case"controls_default":this.elseCount_++;var n=this.appendStatementInput("ELSE");n.appendField("default"),e.statementConnection_&&n.connection.connect(e.statementConnection_);break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_case":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_default":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}}},fi={init:function(){this.setColour(Ut),this.appendDummyInput().appendField("switch"),this.appendStatementInput("STACK"),this.contextMenu=!1}},ei={init:function(){this.setColour(Ut),this.appendDummyInput().appendField("case"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},ti={init:function(){this.setColour(Ut),this.appendDummyInput().appendField("default"),this.setPreviousStatement(!0),this.contextMenu=!1}},ii={init:function(){this.setColour(Ut),this.appendValueInput("TIME").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField("MsTimer2"+Z.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(Z.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#MsTimer2"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"]}}}},ni={init:function(){this.setColour(Ut),this.appendDummyInput().appendField("MsTimer2"+Z.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id45"),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_START),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器启动"}}}},si={init:function(){this.setColour(Ut),this.appendDummyInput().appendField("MsTimer2").appendField(Z.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_STOP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id48"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器停止"}}}},ci={init:function(){this.setColour(Ut),this.appendDummyInput().appendField(Z.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},ai={init:function(){this.setColour(Ut),this.appendDummyInput().appendField(Z.Msg.SOFT_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},li={init:function(){this.setColour(Ut),this.appendDummyInput().appendField(Z.Msg.MIXLY_CONTROL_INTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_CONTROL_ALLOW_INTERRUPT),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id51"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"允许中断"}}}},di={init:function(){this.setColour(Ut),this.appendDummyInput().appendField(Z.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id55"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"禁止中断"}}}},pi=Ht,oi={init:function(){this.appendDummyInput().appendField(Z.Msg.MIXLY_SIMPLE_TIMER).appendField(new Z.FieldDropdown([["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"]]),"NO").appendField(Z.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("timein").setCheck(null),this.appendDummyInput().appendField(Z.Msg.MIXLY_mSecond),this.appendStatementInput("zxhs").setCheck(null).appendField(Z.Msg.CONTROLS_REPEAT_INPUT_DO),this.setColour(120),this.setTooltip(),this.setHelpUrl(""),this.wiki={"zh-hans":{page:["Arduino AVR","控制","简单定时器"]}}}},ui={init:function(){this.appendStatementInput("input_data").setCheck(null).appendField(Z.Msg.MIXLY_DO),this.appendValueInput("select_data").setCheck(null).appendField(Z.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Z.FieldDropdown([[Z.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Z.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ri={init:function(){this.appendDummyInput().appendField(Z.Msg.super_delay_function).appendField(new Z.FieldDropdown([["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"]]),"number"),this.appendStatementInput("delay_function").setCheck(null),this.setColour(120),this.setTooltip(Z.Msg.super_delay_function_help),this.setHelpUrl("")}},_i={init:function(){this.appendDummyInput().appendField(Z.Msg.execute_super_delay_function).appendField(new Z.FieldDropdown([["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"]]),"number"),this.appendValueInput("time_interval").setCheck(null).appendField(Z.Msg.time_interval),this.appendValueInput("frequency").setCheck(null).appendField(Z.Msg.number_of_executions),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip(Z.Msg.execute_super_delay_function_help),this.setHelpUrl("")}},Fi=layui,hi=$;var Ai=e.n(hi);const{layer:Ii}=Fi,gi=180;var Ti=[[Z.Msg.OLED_HOLLOW,"draw"],[Z.Msg.OLED_SOLID,"fill"]];const Ei={init:function(){this.setColour(gi),this.appendValueInput("device").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_SETUP).appendField(Z.Msg.MIXLY_DF_LCD).appendField(new Z.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new Z.FieldTextInput("mylcd"),"VAR").appendField(Z.Msg.MIXLY_LCD_ADDRESS),this.appendDummyInput("").appendField("SCL").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"SCL").appendField("SDA").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_LCD_INIT2),this.setFieldValue(z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(z.Profile.default.SDA[0][1],"SDA")}},Ci={init:function(){this.setColour(gi),this.appendDummyInput().setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_SETUP).appendField(Z.Msg.MIXLY_DF_LCD).appendField(new Z.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new Z.FieldTextInput("mylcd"),"VAR").setAlign(Z.inputs.Align.LEFT),this.appendDummyInput().appendField("RS").appendField(new Z.FieldDropdown(z.Profile.default.digital),"RS").appendField("EN").appendField(new Z.FieldDropdown(z.Profile.default.digital),"EN").appendField("D4").appendField(new Z.FieldDropdown(z.Profile.default.digital),"D4").appendField("D5").appendField(new Z.FieldDropdown(z.Profile.default.digital),"D5").appendField("D6").appendField(new Z.FieldDropdown(z.Profile.default.digital),"D6").appendField("D7").appendField(new Z.FieldDropdown(z.Profile.default.digital),"D7"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_LCD_INIT3)}},Mi={init:function(){this.setColour(gi),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DF_LCD).appendField(new Z.FieldTextInput("mylcd"),"VAR").appendField(Z.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_LCD_PRINT)}},mi={init:function(){this.setColour(gi),this.appendValueInput("row",Number).setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DF_LCD).appendField(new Z.FieldTextInput("mylcd"),"VAR").appendField(Z.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace("%1",Z.Arduino.valueToCode(this,"row",Z.Arduino.ORDER_ATOMIC)).replace("%2",Z.Arduino.valueToCode(this,"column",Z.Arduino.ORDER_ATOMIC)))}},Oi={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_DF_LCD).appendField(new Z.FieldTextInput("mylcd"),"VAR").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_ON,"display"],[Z.Msg.MIXLY_OFF,"noDisplay"],[Z.Msg.MIXLY_LCD_STAT_CURSOR,"cursor"],[Z.Msg.MIXLY_LCD_STAT_NOCURSOR,"noCursor"],[Z.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[Z.Msg.MIXLY_LCD_STAT_NOBLINK,"noBlink"],[Z.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Z.Msg.MIXLY_LCD_NOBACKLIGHT,"noBacklight"],[Z.Msg.MIXLY_LCD_BACKLIGHT,"backlight"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_LCD_POWER)}},Ri={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_ON,"displayOn"],[Z.Msg.MIXLY_OFF,"displayOff"],[Z.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Si={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"_TM1650"),this.appendValueInput("VALUE").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.OLED_DRAWSTR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString)}},Di={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(Z.Msg.MIXLY_4DIGITDISPLAY_NOMBER1).appendField(new Z.FieldDropdown([["1","0"],["2","1"],["3","2"],["4","3"]]),"NO").appendField(Z.Msg.MIXLY_4DIGITDISPLAY_NOMBER2).appendField(Z.Msg.MIXLY_4DIGITDISPLAY_DOT).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_4DIGITDISPLAY_ON,"true"],[Z.Msg.MIXLY_4DIGITDISPLAY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},Li={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.MIXLY_SETUP).appendField("CLK").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"CLK").appendField("DIO").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},Ni={init:function(){this.setColour(gi),this.appendValueInput("VALUE").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP)}},Pi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(Z.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Z.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(Z.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(Z.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_ON,"true"],[Z.Msg.MIXLY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},yi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(Z.inputs.Align.RIGHT),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},bi={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Z.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[Z.Msg.MIXLY_ON,"on"],[Z.Msg.MIXLY_OFF,"off"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},vi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_INIT),this.appendDummyInput("").appendField("SCL").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"SCL").appendField("SDA").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT),this.setFieldValue(z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(z.Profile.default.SDA[0][1],"SDA")}},wi={init:function(){this.appendDummyInput("").appendField(Z.Msg.MIXLY_MAX7219_INIT),this.appendValueInput("PIN1").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField("DIN(MOSI)").appendField(Z.Msg.MIXLY_PIN),this.appendValueInput("PIN2").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField("CS").appendField(Z.Msg.MIXLY_PIN),this.appendValueInput("PIN3").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField("CLK(SCK)").appendField(Z.Msg.MIXLY_PIN),this.appendValueInput("hDisplays").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_MAX7219_HDISPALY),this.appendValueInput("vDisplays").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_MAX7219_VDISPALY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(gi),this.setInputsInline(!1),this.setTooltip(Z.Msg.MAX7219_INIT_TOOLTIP),this.setHelpUrl("")}};var Yi=[["MAX7219","MAX7219"],["HT16K33","HT16K33"]];const Vi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField(new Z.FieldDropdown(Yi),"TYPE"),this.appendValueInput("XVALUE").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendValueInput("STAT").appendField(Z.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.appendDummyInput("").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Z.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}};var ki=[[Z.Msg.MIXLY_0DEGREE,"0"],[Z.Msg.MIXLY_90DEGREE,"3"],[Z.Msg.MIXLY_180DEGREE,"2"],[Z.Msg.MIXLY_270DEGREE,"1"]];const Xi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_MAX7219_NO),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Z.FieldDropdown(ki),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Gi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_MAX7219_NO),this.appendValueInput("X").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField("X"),this.appendValueInput("Y").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField("Y"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Bi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField("HT16K33"),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Z.FieldDropdown(ki),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Ui={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField(new Z.FieldDropdown(Yi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.texttodisplay),this.appendValueInput("Speed").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Wi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField(new Z.FieldDropdown(Yi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.texttodisplay),this.appendDummyInput("").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Z.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Hi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField(new Z.FieldDropdown(Yi),"TYPE").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Z.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.appendValueInput("NO").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_MAX7219_NO),this.appendValueInput("LEDArray").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR)}},Ki={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Z.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a81").appendField(new Z.FieldCheckbox("FALSE"),"a82").appendField(new Z.FieldCheckbox("FALSE"),"a83").appendField(new Z.FieldCheckbox("FALSE"),"a84").appendField(new Z.FieldCheckbox("FALSE"),"a85").appendField(new Z.FieldCheckbox("FALSE"),"a86").appendField(new Z.FieldCheckbox("FALSE"),"a87").appendField(new Z.FieldCheckbox("FALSE"),"a88"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a71").appendField(new Z.FieldCheckbox("FALSE"),"a72").appendField(new Z.FieldCheckbox("FALSE"),"a73").appendField(new Z.FieldCheckbox("FALSE"),"a74").appendField(new Z.FieldCheckbox("FALSE"),"a75").appendField(new Z.FieldCheckbox("FALSE"),"a76").appendField(new Z.FieldCheckbox("FALSE"),"a77").appendField(new Z.FieldCheckbox("FALSE"),"a78"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a61").appendField(new Z.FieldCheckbox("FALSE"),"a62").appendField(new Z.FieldCheckbox("FALSE"),"a63").appendField(new Z.FieldCheckbox("FALSE"),"a64").appendField(new Z.FieldCheckbox("FALSE"),"a65").appendField(new Z.FieldCheckbox("FALSE"),"a66").appendField(new Z.FieldCheckbox("FALSE"),"a67").appendField(new Z.FieldCheckbox("FALSE"),"a68"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a51").appendField(new Z.FieldCheckbox("FALSE"),"a52").appendField(new Z.FieldCheckbox("FALSE"),"a53").appendField(new Z.FieldCheckbox("FALSE"),"a54").appendField(new Z.FieldCheckbox("FALSE"),"a55").appendField(new Z.FieldCheckbox("FALSE"),"a56").appendField(new Z.FieldCheckbox("FALSE"),"a57").appendField(new Z.FieldCheckbox("FALSE"),"a58"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a41").appendField(new Z.FieldCheckbox("FALSE"),"a42").appendField(new Z.FieldCheckbox("FALSE"),"a43").appendField(new Z.FieldCheckbox("FALSE"),"a44").appendField(new Z.FieldCheckbox("FALSE"),"a45").appendField(new Z.FieldCheckbox("FALSE"),"a46").appendField(new Z.FieldCheckbox("FALSE"),"a47").appendField(new Z.FieldCheckbox("FALSE"),"a48"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a31").appendField(new Z.FieldCheckbox("FALSE"),"a32").appendField(new Z.FieldCheckbox("FALSE"),"a33").appendField(new Z.FieldCheckbox("FALSE"),"a34").appendField(new Z.FieldCheckbox("FALSE"),"a35").appendField(new Z.FieldCheckbox("FALSE"),"a36").appendField(new Z.FieldCheckbox("FALSE"),"a37").appendField(new Z.FieldCheckbox("FALSE"),"a38"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a21").appendField(new Z.FieldCheckbox("FALSE"),"a22").appendField(new Z.FieldCheckbox("FALSE"),"a23").appendField(new Z.FieldCheckbox("FALSE"),"a24").appendField(new Z.FieldCheckbox("FALSE"),"a25").appendField(new Z.FieldCheckbox("FALSE"),"a26").appendField(new Z.FieldCheckbox("FALSE"),"a27").appendField(new Z.FieldCheckbox("FALSE"),"a28"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a11").appendField(new Z.FieldCheckbox("FALSE"),"a12").appendField(new Z.FieldCheckbox("FALSE"),"a13").appendField(new Z.FieldCheckbox("FALSE"),"a14").appendField(new Z.FieldCheckbox("FALSE"),"a15").appendField(new Z.FieldCheckbox("FALSE"),"a16").appendField(new Z.FieldCheckbox("FALSE"),"a17").appendField(new Z.FieldCheckbox("FALSE"),"a18"),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY)}},Zi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Z.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").setAlign(Z.inputs.Align.CENTRE).appendField(new Z.FieldBitmap([[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},zi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField(new Z.FieldDropdown(Yi),"TYPE"),this.appendValueInput("Brightness").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_BRIGHTNESS),this.setTooltip(Z.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}};var ji=[[Z.Msg.MAX7219_FILLSCREEN_ON,"fillScreen(1)"],[Z.Msg.MAX7219_FILLSCREEN_OFF,"fillScreen(0)"]];const Ji={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField(new Z.FieldDropdown(Yi),"TYPE"),this.appendDummyInput("").appendField(Z.Msg.MIXLY_STAT),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(new Z.FieldDropdown(ji),"FILLSCREEN_TYPE"),this.appendDummyInput("").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Z.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS)}},qi={init:function(){this.appendDummyInput("").appendField(Z.Msg.MIXLY_MAX7219_IMG).appendField(new Z.FieldDropdown([["↑","18181818db7e3c18"],["↓","183c7edb18181818"],["←","080c06ffff060c08"],["→","103060ffff603010"],["♥","183c7effffffe742"],["▲","00000000ff7e3c18"],["▼","183c7eff00000000"],["◄","080c0e0f0f0e0c08"],["►","103070f0f0703010"],["△","00000000ff422418"],["▽","182442ff00000000"],["☺","3c4299a581a5423c"],["○","3c4281818181423c"],["◑","3c72f1f1f1f1723c"],["◐","3c4e8f8f8f8f4e3c"],["¥","101010ff10ff2442"],["Χ","8142241818244281"],["√","0000010204885020"],["□","007e424242427e00"],["▣","007e425a5a427e00"],["◇","1824428181422418"],["♀","083e081c2222221c"],["♂","0e1b111b9ea0c0f0"],["♪","061f1e1010d07030"],["✈","203098ffff983020"],["卍","00f21212fe90909e"],["卐","009e9090fe1212f2"],["|","1010101010101010"],["—","000000ff00000000"],["╱","0102040810204080"],["\","8040201008040201"],["大","41221408087f0808"],["中","1010fe9292fe1010"],["小","0e08492a2a080808"],["米","00925438fe385492"],["正","7f0a0a3a08087f00"],["囧","ffa5a5bdc3a5a5ff"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(gi),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR),this.setHelpUrl("")}},Qi={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MATRIX_TYPE).appendField(new Z.FieldDropdown(Yi),"TYPE").appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}};var $i=[[Z.Msg.OLED_HOR,"H"],[Z.Msg.OLED_VER,"V"]],xn=[[Z.Msg.OLED_HOLLOW,"drawFrame"],[Z.Msg.OLED_SOLID,"drawBox"]],fn=[[Z.Msg.OLED_HOLLOW,"drawCircle"],[Z.Msg.OLED_SOLID,"drawDisc"]],en=[[Z.Msg.OLED_HOLLOW,"drawRFrame"],[Z.Msg.OLED_SOLID,"drawRBox"]],tn=[[Z.Msg.OLED_WHOLE_CICILE,"U8G2_DRAW_ALL"],[Z.Msg.OLED_UP_R,"U8G2_DRAW_UPPER_RIGHT"],[Z.Msg.OLED_UP_L,"U8G2_DRAW_UPPER_LEFT"],[Z.Msg.OLED_LOW_R,"U8G2_DRAW_LOWER_RIGHT"],[Z.Msg.OLED_LOW_L,"U8G2_DRAW_LOWER_LEFT"]],nn=[[Z.Msg.OLED_HOLLOW,"drawEllipse"],[Z.Msg.OLED_SOLID,"drawFilledEllipse"]],sn=[["Times New Roman","tim"],["Helvetica","helv"],["ncen","ncen"],["courier new","cour"]],cn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["SSD1306(128×32)","SSD1306_128X32_UNIVISION"],["SH1106(128×64)","SH1106_128X64_NONAME"]],an=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["LCM12864","ST7565_NHD_C12864"],["NOKIA5110","PCD8544_84X48"]],ln=[[Z.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 0°","U8G2_R0"],[Z.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 90°","U8G2_R1"],[Z.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 180°","U8G2_R2"],[Z.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 270°","U8G2_R3"],[Z.Msg.MIRROR,"U8G2_MIRROR"]],dn=[["08","08"],["10","10"],["12","12"],["14","14"],["18","18"],["24","24"]],pn=[["常规","R"],["加粗","B"]],on=[[Z.Msg.OLED_FONT_chinese1,"_t_chinese1"],[Z.Msg.OLED_FONT_chinese2,"_t_chinese2"],[Z.Msg.OLED_FONT_chinese3,"_t_chinese3"],[Z.Msg.OLED_FONT_gb2312a,"_t_gb2312a"],[Z.Msg.OLED_FONT_gb2312b,"_t_gb2312b"],[Z.Msg.OLED_FONT_gb2312,"_t_gb2312"]],un=[["12","wqy12"],["13","wqy13"],["14","wqy14"],["15","wqy15"],["16","wqy16"]],rn=[[{src:"../common/media/oled_icons/64.png",width:24,height:24,alt:"64"},"64"],[{src:"../common/media/oled_icons/65.png",width:24,height:24,alt:"65"},"65"],[{src:"../common/media/oled_icons/66.png",width:24,height:24,alt:"66"},"66"],[{src:"../common/media/oled_icons/67.png",width:24,height:24,alt:"67"},"67"],[{src:"../common/media/oled_icons/68.png",width:24,height:24,alt:"68"},"68"],[{src:"../common/media/oled_icons/69.png",width:24,height:24,alt:"69"},"69"],[{src:"../common/media/oled_icons/70.png",width:24,height:24,alt:"70"},"70"],[{src:"../common/media/oled_icons/71.png",width:24,height:24,alt:"71"},"71"],[{src:"../common/media/oled_icons/72.png",width:24,height:24,alt:"72"},"72"],[{src:"../common/media/oled_icons/73.png",width:24,height:24,alt:"73"},"73"],[{src:"../common/media/oled_icons/74.png",width:24,height:24,alt:"74"},"74"],[{src:"../common/media/oled_icons/75.png",width:24,height:24,alt:"75"},"75"],[{src:"../common/media/oled_icons/76.png",width:24,height:24,alt:"76"},"76"],[{src:"../common/media/oled_icons/77.png",width:24,height:24,alt:"77"},"77"],[{src:"../common/media/oled_icons/78.png",width:24,height:24,alt:"78"},"78"],[{src:"../common/media/oled_icons/79.png",width:24,height:24,alt:"79"},"79"],[{src:"../common/media/oled_icons/80.png",width:24,height:24,alt:"80"},"80"],[{src:"../common/media/oled_icons/81.png",width:24,height:24,alt:"81"},"81"],[{src:"../common/media/oled_icons/82.png",width:24,height:24,alt:"82"},"82"],[{src:"../common/media/oled_icons/83.png",width:24,height:24,alt:"83"},"83"],[{src:"../common/media/oled_icons/84.png",width:24,height:24,alt:"84"},"84"],[{src:"../common/media/oled_icons/85.png",width:24,height:24,alt:"85"},"85"],[{src:"../common/media/oled_icons/86.png",width:24,height:24,alt:"86"},"86"],[{src:"../common/media/oled_icons/87.png",width:24,height:24,alt:"87"},"87"],[{src:"../common/media/oled_icons/88.png",width:24,height:24,alt:"88"},"88"],[{src:"../common/media/oled_icons/89.png",width:24,height:24,alt:"89"},"89"],[{src:"../common/media/oled_icons/90.png",width:24,height:24,alt:"90"},"90"],[{src:"../common/media/oled_icons/91.png",width:24,height:24,alt:"91"},"91"],[{src:"../common/media/oled_icons/92.png",width:24,height:24,alt:"92"},"92"],[{src:"../common/media/oled_icons/93.png",width:24,height:24,alt:"93"},"93"],[{src:"../common/media/oled_icons/94.png",width:24,height:24,alt:"94"},"94"],[{src:"../common/media/oled_icons/95.png",width:24,height:24,alt:"95"},"95"],[{src:"../common/media/oled_icons/96.png",width:24,height:24,alt:"96"},"96"],[{src:"../common/media/oled_icons/97.png",width:24,height:24,alt:"97"},"97"],[{src:"../common/media/oled_icons/98.png",width:24,height:24,alt:"98"},"98"],[{src:"../common/media/oled_icons/99.png",width:24,height:24,alt:"99"},"99"],[{src:"../common/media/oled_icons/100.png",width:24,height:24,alt:"100"},"100"],[{src:"../common/media/oled_icons/101.png",width:24,height:24,alt:"101"},"101"],[{src:"../common/media/oled_icons/102.png",width:24,height:24,alt:"102"},"102"],[{src:"../common/media/oled_icons/103.png",width:24,height:24,alt:"103"},"103"],[{src:"../common/media/oled_icons/104.png",width:24,height:24,alt:"104"},"104"],[{src:"../common/media/oled_icons/105.png",width:24,height:24,alt:"105"},"105"],[{src:"../common/media/oled_icons/106.png",width:24,height:24,alt:"106"},"106"],[{src:"../common/media/oled_icons/107.png",width:24,height:24,alt:"107"},"107"],[{src:"../common/media/oled_icons/108.png",width:24,height:24,alt:"108"},"108"],[{src:"../common/media/oled_icons/109.png",width:24,height:24,alt:"109"},"109"],[{src:"../common/media/oled_icons/110.png",width:24,height:24,alt:"110"},"110"],[{src:"../common/media/oled_icons/111.png",width:24,height:24,alt:"111"},"111"],[{src:"../common/media/oled_icons/112.png",width:24,height:24,alt:"112"},"112"],[{src:"../common/media/oled_icons/113.png",width:24,height:24,alt:"113"},"113"],[{src:"../common/media/oled_icons/114.png",width:24,height:24,alt:"114"},"114"],[{src:"../common/media/oled_icons/115.png",width:24,height:24,alt:"115"},"115"],[{src:"../common/media/oled_icons/116.png",width:24,height:24,alt:"116"},"116"],[{src:"../common/media/oled_icons/117.png",width:24,height:24,alt:"117"},"117"],[{src:"../common/media/oled_icons/118.png",width:24,height:24,alt:"118"},"118"],[{src:"../common/media/oled_icons/119.png",width:24,height:24,alt:"119"},"119"],[{src:"../common/media/oled_icons/120.png",width:24,height:24,alt:"120"},"120"],[{src:"../common/media/oled_icons/121.png",width:24,height:24,alt:"121"},"121"],[{src:"../common/media/oled_icons/122.png",width:24,height:24,alt:"122"},"122"],[{src:"../common/media/oled_icons/123.png",width:24,height:24,alt:"123"},"123"],[{src:"../common/media/oled_icons/124.png",width:24,height:24,alt:"124"},"124"],[{src:"../common/media/oled_icons/125.png",width:24,height:24,alt:"125"},"125"],[{src:"../common/media/oled_icons/126.png",width:24,height:24,alt:"126"},"126"],[{src:"../common/media/oled_icons/127.png",width:24,height:24,alt:"127"},"127"],[{src:"../common/media/oled_icons/128.png",width:24,height:24,alt:"128"},"128"],[{src:"../common/media/oled_icons/129.png",width:24,height:24,alt:"129"},"129"],[{src:"../common/media/oled_icons/130.png",width:24,height:24,alt:"130"},"130"],[{src:"../common/media/oled_icons/131.png",width:24,height:24,alt:"131"},"131"],[{src:"../common/media/oled_icons/132.png",width:24,height:24,alt:"132"},"132"],[{src:"../common/media/oled_icons/133.png",width:24,height:24,alt:"133"},"133"],[{src:"../common/media/oled_icons/134.png",width:24,height:24,alt:"134"},"134"],[{src:"../common/media/oled_icons/135.png",width:24,height:24,alt:"135"},"135"],[{src:"../common/media/oled_icons/136.png",width:24,height:24,alt:"136"},"136"],[{src:"../common/media/oled_icons/137.png",width:24,height:24,alt:"137"},"137"],[{src:"../common/media/oled_icons/138.png",width:24,height:24,alt:"138"},"138"],[{src:"../common/media/oled_icons/139.png",width:24,height:24,alt:"139"},"139"],[{src:"../common/media/oled_icons/140.png",width:24,height:24,alt:"140"},"140"],[{src:"../common/media/oled_icons/141.png",width:24,height:24,alt:"141"},"141"],[{src:"../common/media/oled_icons/142.png",width:24,height:24,alt:"142"},"142"],[{src:"../common/media/oled_icons/143.png",width:24,height:24,alt:"143"},"143"],[{src:"../common/media/oled_icons/144.png",width:24,height:24,alt:"144"},"144"],[{src:"../common/media/oled_icons/145.png",width:24,height:24,alt:"145"},"145"],[{src:"../common/media/oled_icons/146.png",width:24,height:24,alt:"146"},"146"],[{src:"../common/media/oled_icons/147.png",width:24,height:24,alt:"147"},"147"],[{src:"../common/media/oled_icons/148.png",width:24,height:24,alt:"148"},"148"],[{src:"../common/media/oled_icons/149.png",width:24,height:24,alt:"149"},"149"],[{src:"../common/media/oled_icons/150.png",width:24,height:24,alt:"150"},"150"],[{src:"../common/media/oled_icons/151.png",width:24,height:24,alt:"151"},"151"],[{src:"../common/media/oled_icons/152.png",width:24,height:24,alt:"152"},"152"],[{src:"../common/media/oled_icons/153.png",width:24,height:24,alt:"153"},"153"],[{src:"../common/media/oled_icons/154.png",width:24,height:24,alt:"154"},"154"],[{src:"../common/media/oled_icons/155.png",width:24,height:24,alt:"155"},"155"],[{src:"../common/media/oled_icons/156.png",width:24,height:24,alt:"156"},"156"],[{src:"../common/media/oled_icons/157.png",width:24,height:24,alt:"157"},"157"],[{src:"../common/media/oled_icons/158.png",width:24,height:24,alt:"158"},"158"],[{src:"../common/media/oled_icons/159.png",width:24,height:24,alt:"159"},"159"],[{src:"../common/media/oled_icons/160.png",width:24,height:24,alt:"160"},"160"],[{src:"../common/media/oled_icons/161.png",width:24,height:24,alt:"161"},"161"],[{src:"../common/media/oled_icons/162.png",width:24,height:24,alt:"162"},"162"],[{src:"../common/media/oled_icons/163.png",width:24,height:24,alt:"163"},"163"],[{src:"../common/media/oled_icons/164.png",width:24,height:24,alt:"164"},"164"],[{src:"../common/media/oled_icons/165.png",width:24,height:24,alt:"165"},"165"],[{src:"../common/media/oled_icons/166.png",width:24,height:24,alt:"166"},"166"],[{src:"../common/media/oled_icons/167.png",width:24,height:24,alt:"167"},"167"],[{src:"../common/media/oled_icons/168.png",width:24,height:24,alt:"168"},"168"],[{src:"../common/media/oled_icons/169.png",width:24,height:24,alt:"169"},"169"],[{src:"../common/media/oled_icons/170.png",width:24,height:24,alt:"170"},"170"],[{src:"../common/media/oled_icons/171.png",width:24,height:24,alt:"171"},"171"],[{src:"../common/media/oled_icons/172.png",width:24,height:24,alt:"172"},"172"],[{src:"../common/media/oled_icons/173.png",width:24,height:24,alt:"173"},"173"],[{src:"../common/media/oled_icons/174.png",width:24,height:24,alt:"174"},"174"],[{src:"../common/media/oled_icons/175.png",width:24,height:24,alt:"175"},"175"],[{src:"../common/media/oled_icons/176.png",width:24,height:24,alt:"176"},"176"],[{src:"../common/media/oled_icons/177.png",width:24,height:24,alt:"177"},"177"],[{src:"../common/media/oled_icons/178.png",width:24,height:24,alt:"178"},"178"],[{src:"../common/media/oled_icons/179.png",width:24,height:24,alt:"179"},"179"],[{src:"../common/media/oled_icons/180.png",width:24,height:24,alt:"180"},"180"],[{src:"../common/media/oled_icons/181.png",width:24,height:24,alt:"181"},"181"],[{src:"../common/media/oled_icons/182.png",width:24,height:24,alt:"182"},"182"],[{src:"../common/media/oled_icons/183.png",width:24,height:24,alt:"183"},"183"],[{src:"../common/media/oled_icons/184.png",width:24,height:24,alt:"184"},"184"],[{src:"../common/media/oled_icons/185.png",width:24,height:24,alt:"185"},"185"],[{src:"../common/media/oled_icons/186.png",width:24,height:24,alt:"186"},"186"],[{src:"../common/media/oled_icons/187.png",width:24,height:24,alt:"187"},"187"],[{src:"../common/media/oled_icons/188.png",width:24,height:24,alt:"188"},"188"],[{src:"../common/media/oled_icons/189.png",width:24,height:24,alt:"189"},"189"],[{src:"../common/media/oled_icons/190.png",width:24,height:24,alt:"190"},"190"],[{src:"../common/media/oled_icons/191.png",width:24,height:24,alt:"191"},"191"],[{src:"../common/media/oled_icons/192.png",width:24,height:24,alt:"192"},"192"],[{src:"../common/media/oled_icons/193.png",width:24,height:24,alt:"193"},"193"],[{src:"../common/media/oled_icons/194.png",width:24,height:24,alt:"194"},"194"],[{src:"../common/media/oled_icons/195.png",width:24,height:24,alt:"195"},"195"],[{src:"../common/media/oled_icons/196.png",width:24,height:24,alt:"196"},"196"],[{src:"../common/media/oled_icons/197.png",width:24,height:24,alt:"197"},"197"],[{src:"../common/media/oled_icons/198.png",width:24,height:24,alt:"198"},"198"],[{src:"../common/media/oled_icons/199.png",width:24,height:24,alt:"199"},"199"],[{src:"../common/media/oled_icons/200.png",width:24,height:24,alt:"200"},"200"],[{src:"../common/media/oled_icons/201.png",width:24,height:24,alt:"201"},"201"],[{src:"../common/media/oled_icons/202.png",width:24,height:24,alt:"202"},"202"],[{src:"../common/media/oled_icons/203.png",width:24,height:24,alt:"203"},"203"],[{src:"../common/media/oled_icons/204.png",width:24,height:24,alt:"204"},"204"],[{src:"../common/media/oled_icons/205.png",width:24,height:24,alt:"205"},"205"],[{src:"../common/media/oled_icons/206.png",width:24,height:24,alt:"206"},"206"],[{src:"../common/media/oled_icons/207.png",width:24,height:24,alt:"207"},"207"],[{src:"../common/media/oled_icons/208.png",width:24,height:24,alt:"208"},"208"],[{src:"../common/media/oled_icons/209.png",width:24,height:24,alt:"209"},"209"],[{src:"../common/media/oled_icons/210.png",width:24,height:24,alt:"210"},"210"],[{src:"../common/media/oled_icons/211.png",width:24,height:24,alt:"211"},"211"],[{src:"../common/media/oled_icons/212.png",width:24,height:24,alt:"212"},"212"],[{src:"../common/media/oled_icons/213.png",width:24,height:24,alt:"213"},"213"],[{src:"../common/media/oled_icons/214.png",width:24,height:24,alt:"214"},"214"],[{src:"../common/media/oled_icons/215.png",width:24,height:24,alt:"215"},"215"],[{src:"../common/media/oled_icons/216.png",width:24,height:24,alt:"216"},"216"],[{src:"../common/media/oled_icons/217.png",width:24,height:24,alt:"217"},"217"],[{src:"../common/media/oled_icons/218.png",width:24,height:24,alt:"218"},"218"],[{src:"../common/media/oled_icons/219.png",width:24,height:24,alt:"219"},"219"],[{src:"../common/media/oled_icons/220.png",width:24,height:24,alt:"220"},"220"],[{src:"../common/media/oled_icons/221.png",width:24,height:24,alt:"221"},"221"],[{src:"../common/media/oled_icons/222.png",width:24,height:24,alt:"222"},"222"],[{src:"../common/media/oled_icons/223.png",width:24,height:24,alt:"223"},"223"],[{src:"../common/media/oled_icons/224.png",width:24,height:24,alt:"224"},"224"],[{src:"../common/media/oled_icons/225.png",width:24,height:24,alt:"225"},"225"],[{src:"../common/media/oled_icons/226.png",width:24,height:24,alt:"226"},"226"],[{src:"../common/media/oled_icons/227.png",width:24,height:24,alt:"227"},"227"],[{src:"../common/media/oled_icons/228.png",width:24,height:24,alt:"228"},"228"],[{src:"../common/media/oled_icons/229.png",width:24,height:24,alt:"229"},"229"],[{src:"../common/media/oled_icons/230.png",width:24,height:24,alt:"230"},"230"],[{src:"../common/media/oled_icons/231.png",width:24,height:24,alt:"231"},"231"],[{src:"../common/media/oled_icons/232.png",width:24,height:24,alt:"232"},"232"],[{src:"../common/media/oled_icons/233.png",width:24,height:24,alt:"233"},"233"],[{src:"../common/media/oled_icons/234.png",width:24,height:24,alt:"234"},"234"],[{src:"../common/media/oled_icons/235.png",width:24,height:24,alt:"235"},"235"],[{src:"../common/media/oled_icons/236.png",width:24,height:24,alt:"236"},"236"],[{src:"../common/media/oled_icons/237.png",width:24,height:24,alt:"237"},"237"],[{src:"../common/media/oled_icons/238.png",width:24,height:24,alt:"238"},"238"],[{src:"../common/media/oled_icons/239.png",width:24,height:24,alt:"239"},"239"],[{src:"../common/media/oled_icons/240.png",width:24,height:24,alt:"240"},"240"],[{src:"../common/media/oled_icons/241.png",width:24,height:24,alt:"241"},"241"],[{src:"../common/media/oled_icons/242.png",width:24,height:24,alt:"242"},"242"],[{src:"../common/media/oled_icons/243.png",width:24,height:24,alt:"243"},"243"],[{src:"../common/media/oled_icons/244.png",width:24,height:24,alt:"244"},"244"],[{src:"../common/media/oled_icons/245.png",width:24,height:24,alt:"245"},"245"],[{src:"../common/media/oled_icons/246.png",width:24,height:24,alt:"246"},"246"],[{src:"../common/media/oled_icons/247.png",width:24,height:24,alt:"247"},"247"],[{src:"../common/media/oled_icons/248.png",width:24,height:24,alt:"248"},"248"],[{src:"../common/media/oled_icons/249.png",width:24,height:24,alt:"249"},"249"],[{src:"../common/media/oled_icons/250.png",width:24,height:24,alt:"250"},"250"],[{src:"../common/media/oled_icons/251.png",width:24,height:24,alt:"251"},"251"],[{src:"../common/media/oled_icons/252.png",width:24,height:24,alt:"252"},"252"],[{src:"../common/media/oled_icons/253.png",width:24,height:24,alt:"253"},"253"],[{src:"../common/media/oled_icons/254.png",width:24,height:24,alt:"254"},"254"],[{src:"../common/media/oled_icons/255.png",width:24,height:24,alt:"255"},"255"],[{src:"../common/media/oled_icons/256.png",width:24,height:24,alt:"256"},"256"],[{src:"../common/media/oled_icons/257.png",width:24,height:24,alt:"257"},"257"],[{src:"../common/media/oled_icons/258.png",width:24,height:24,alt:"258"},"258"],[{src:"../common/media/oled_icons/259.png",width:24,height:24,alt:"259"},"259"],[{src:"../common/media/oled_icons/260.png",width:24,height:24,alt:"260"},"260"],[{src:"../common/media/oled_icons/261.png",width:24,height:24,alt:"261"},"261"],[{src:"../common/media/oled_icons/262.png",width:24,height:24,alt:"262"},"262"],[{src:"../common/media/oled_icons/263.png",width:24,height:24,alt:"263"},"263"],[{src:"../common/media/oled_icons/264.png",width:24,height:24,alt:"264"},"264"],[{src:"../common/media/oled_icons/265.png",width:24,height:24,alt:"265"},"265"],[{src:"../common/media/oled_icons/266.png",width:24,height:24,alt:"266"},"266"],[{src:"../common/media/oled_icons/267.png",width:24,height:24,alt:"267"},"267"],[{src:"../common/media/oled_icons/268.png",width:24,height:24,alt:"268"},"268"],[{src:"../common/media/oled_icons/269.png",width:24,height:24,alt:"269"},"269"],[{src:"../common/media/oled_icons/270.png",width:24,height:24,alt:"270"},"270"],[{src:"../common/media/oled_icons/271.png",width:24,height:24,alt:"271"},"271"],[{src:"../common/media/oled_icons/272.png",width:24,height:24,alt:"272"},"272"],[{src:"../common/media/oled_icons/273.png",width:24,height:24,alt:"273"},"273"],[{src:"../common/media/oled_icons/274.png",width:24,height:24,alt:"274"},"274"],[{src:"../common/media/oled_icons/275.png",width:24,height:24,alt:"275"},"275"],[{src:"../common/media/oled_icons/276.png",width:24,height:24,alt:"276"},"276"],[{src:"../common/media/oled_icons/277.png",width:24,height:24,alt:"277"},"277"],[{src:"../common/media/oled_icons/278.png",width:24,height:24,alt:"278"},"278"],[{src:"../common/media/oled_icons/279.png",width:24,height:24,alt:"279"},"279"],[{src:"../common/media/oled_icons/280.png",width:24,height:24,alt:"280"},"280"],[{src:"../common/media/oled_icons/281.png",width:24,height:24,alt:"281"},"281"],[{src:"../common/media/oled_icons/282.png",width:24,height:24,alt:"282"},"282"],[{src:"../common/media/oled_icons/283.png",width:24,height:24,alt:"283"},"283"],[{src:"../common/media/oled_icons/284.png",width:24,height:24,alt:"284"},"284"],[{src:"../common/media/oled_icons/285.png",width:24,height:24,alt:"285"},"285"],[{src:"../common/media/oled_icons/286.png",width:24,height:24,alt:"286"},"286"]],_n=[[{src:"../common/media/oled_icons/face/Eyes/Angry.png",width:35,height:25,alt:"Angry"},"Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Awake.png",width:35,height:25,alt:"Awake"},"Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0xF8,0xFF,0x03,0x00,0xE0,0x00,0x0C,0x00,0x80,0xFF,0x3F,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x7F,0x30,0x00,0x38,0x00,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFC,0xFF,0xE1,0x00,0x0C,0xFE,0x7F,0x00,0x30,0x00,0x38,0x80,0xFE,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0x7E,0x96,0xFF,0x00,0xFC,0x87,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xF0,0x00,0x3C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x80,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Black eye.png",width:35,height:25,alt:"Black_eye"},"Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x5F,0x55,0xD5,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x4B,0xAA,0xA4,0x3E,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xB5,0x55,0x5B,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0x4A,0xAA,0xA4,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0xB6,0x55,0x5B,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xE9,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x1C,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0xB8,0xAA,0xAA,0xAA,0xEA,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0xD5,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xD2,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x70,0x2D,0x49,0xAA,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF0,0xD2,0xB6,0x55,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0x2D,0x49,0xAA,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xD3,0xB6,0x55,0x3E,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xC0,0x2F,0x49,0xD2,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Bottom left.png",width:35,height:25,alt:"Bottom_left"},"Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"],[{src:"../common/media/oled_icons/face/Eyes/Bottom right.png",width:35,height:25,alt:"Bottom_right"},"Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 1.png",width:35,height:25,alt:"Crazy_1"},"Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 2.png",width:35,height:25,alt:"Crazy_2"},"Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Disappointed.png",width:35,height:25,alt:"Disappointed"},"Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Dizzy.png",width:35,height:25,alt:"Dizzy"},"Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Down.png",width:35,height:25,alt:"Down"},"Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Evil.png",width:35,height:25,alt:"Evil"},"Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Hurt.png",width:35,height:25,alt:"Hurt"},"Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Knocked out.png",width:35,height:25,alt:"Knocked_out"},"Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Love.png",width:35,height:25,alt:"Love"},"Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle left.png",width:35,height:25,alt:"Middle_left"},"Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle right.png",width:35,height:25,alt:"Middle_right"},"Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Neutral.png",width:35,height:25,alt:"Neutral"},"Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Nuclear.png",width:35,height:25,alt:"Nuclear"},"Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch left.png",width:35,height:25,alt:"Pinch_left"},"Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch middle.png",width:35,height:25,alt:"Pinch_middle"},"Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch right.png",width:35,height:25,alt:"Pinch_right"},"Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tear.png",width:35,height:25,alt:"Tear"},"Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired left.png",width:35,height:25,alt:"Tired_left"},"Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired middle.png",width:35,height:25,alt:"Tired_middle"},"Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired right.png",width:35,height:25,alt:"Tired_right"},"Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Toxic.png",width:35,height:25,alt:"Toxic"},"Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Up.png",width:35,height:25,alt:"Up"},"Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Winking.png",width:35,height:25,alt:"Winking"},"Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Big smile.png",width:35,height:25,alt:"Big_smile"},"Big_smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart large.png",width:35,height:25,alt:"Heart_large"},"Heart_large,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xBF,0x07,0x00,0xC0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x1C,0x00,0xF0,0xFF,0xE1,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x71,0x00,0xF8,0xFF,0xC3,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE7,0x00,0xFC,0xFF,0x8F,0x03,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCF,0x01,0xFE,0xFF,0x3F,0x07,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x9F,0x03,0xFF,0xFF,0x7F,0x06,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x3F,0x83,0xFF,0xFF,0xFF,0x0C,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x7F,0x87,0xFF,0xFF,0xFF,0x1D,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xC6,0xFF,0xFF,0xFF,0x19,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart small.png",width:35,height:25,alt:"Heart_small"},"Heart_small,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xC7,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x9F,0x01,0xFF,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x83,0xFF,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0xC6,0xFF,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCE,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0D,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 open.png",width:35,height:25,alt:"Mouth_1_open"},"Mouth_1_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x78,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE4,0xD7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x1F,0x00,0x08,0xA8,0xFF,0x71,0x00,0x38,0x00,0x1C,0xFF,0x23,0x40,0x00,0xA8,0x2A,0x00,0xE4,0x03,0xEF,0x81,0x2F,0x00,0xA8,0x2A,0x00,0x54,0x55,0x55,0x95,0xFF,0xC7,0xFF,0x53,0x55,0x55,0x55,0x00,0x28,0x55,0x55,0x15,0x00,0x28,0x00,0xA8,0xAA,0xAA,0x2A,0x00,0xD4,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x52,0x00,0xE8,0x55,0x51,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0xAA,0x2E,0x00,0x0C,0x54,0xAF,0xAA,0xAA,0x56,0x55,0xAB,0xEA,0xAB,0x50,0x00,0xF0,0x57,0xA0,0xAA,0x54,0xA9,0xAA,0x54,0x15,0xA8,0x5F,0x00,0x04,0xD8,0x5F,0x55,0xAB,0x56,0x55,0x53,0xF5,0x2F,0x40,0x00,0xF0,0x27,0x40,0xAD,0x54,0xA9,0xAA,0xAC,0x0A,0xA0,0x3F,0x00,0x18,0xEE,0x7F,0x51,0xAB,0x56,0x55,0x53,0xFA,0xDF,0x71,0x00,0x0C,0x0C,0x00,0xDF,0x54,0x51,0xA5,0xDC,0x03,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x00,0x6B,0xDF,0x5D,0x03,0xF8,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x20,0xC0,0xF8,0x1C,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xFF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 shut.png",width:35,height:25,alt:"Mouth_1_shut"},"Mouth_1_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x38,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE0,0xC7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x5F,0x00,0x04,0x90,0xFF,0x71,0x00,0x38,0x00,0x9C,0xFF,0x33,0x00,0x00,0xF0,0x17,0x00,0xE4,0x03,0xEF,0x81,0x4F,0x00,0x94,0x3F,0x00,0x18,0xEE,0x5F,0x95,0xFF,0xD7,0xFF,0xA3,0xFA,0xD7,0x71,0x00,0x0C,0x1C,0x00,0x6D,0x00,0x20,0x00,0xDC,0x02,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x01,0x55,0xAF,0x5D,0x01,0xFA,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x50,0x40,0xF8,0x1D,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xEF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 open.png",width:35,height:25,alt:"Mouth_2_open"},"Mouth_2_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x4E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0xA0,0x02,0x4C,0x01,0x25,0xC0,0x4A,0x53,0x8D,0xD5,0x48,0x63,0x55,0x02,0xAE,0x00,0x6A,0x40,0xAA,0x9E,0x8A,0x94,0xA8,0xB2,0xAA,0x02,0xA6,0x00,0x6A,0x40,0x55,0xAD,0xD2,0xAA,0x54,0x92,0xAA,0x02,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0xAA,0x02,0x53,0x01,0xD5,0x60,0x55,0x51,0x85,0x2A,0xA9,0x52,0x55,0x82,0xA9,0x00,0xAA,0x60,0x55,0x55,0x55,0x55,0x54,0xA9,0xAA,0x82,0xA9,0x00,0x95,0x20,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xC2,0x54,0x01,0xAA,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xE2,0xAA,0x00,0x2A,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x62,0x55,0x01,0x55,0x33,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x33,0x55,0x01,0x55,0xB2,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0xBB,0xAA,0x00,0xAA,0xB6,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0x9F,0xAA,0x00,0xAA,0x5C,0x55,0x55,0x55,0x95,0xAA,0xAA,0x2A,0x4F,0x55,0x01,0x55,0x9D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA7,0xAA,0x00,0x55,0x59,0x55,0x55,0x55,0x95,0xAA,0xAA,0xAA,0x57,0x55,0x01,0xAA,0xBA,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA9,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x54,0x55,0x01,0x55,0x8D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x45,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0xD5,0xAA,0x7A,0xA5,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x85,0x5A,0x55,0x01,0x55,0xAD,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0x2A,0xA5,0xAA,0x00,0xAA,0x52,0x56,0x55,0x55,0x95,0x2A,0x55,0xF5,0x5A,0x55,0x01,0x55,0x2D,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0xEA,0xA5,0xAA,0x00,0xAA,0x92,0x55,0x55,0x55,0x95,0x2A,0x55,0x65,0x59,0x55,0x01,0x55,0xCD,0x55,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xA2,0xAA,0x00,0xAA,0xE2,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x56,0x55,0x01,0x55,0xB5,0x51,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xAC,0xAA,0x00,0xAA,0x1A,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x4C,0x55,0x01,0x55,0x0D,0x53,0x55,0x55,0xE9,0xEA,0xAA,0x6A,0x58,0x55,0x01,0xAA,0x0C,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x90,0xAA,0x00,0xD5,0x06,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0xB0,0xAA,0x00,0x2A,0x06,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x60,0x55,0x01,0x55,0x03,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x60,0xAA,0x00,0x2A,0x03,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xC0,0x56,0x01,0xB5,0x01,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC0,0xA8,0x00,0x8A,0x01,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x80,0x55,0x01,0xB5,0x01,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x80,0x55,0x01,0x8A,0x01,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 shut.png",width:35,height:25,alt:"Mouth_2_shut"},"Mouth_2_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x8E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0x20,0x02,0x4C,0x01,0x25,0xC0,0x46,0x53,0x8D,0xD5,0x48,0x63,0xF5,0x02,0xAE,0x00,0x6A,0x40,0xA8,0x9E,0x8A,0x94,0xA8,0xB2,0xEA,0x02,0xA6,0x00,0x6A,0xC0,0x55,0xAD,0xD2,0xAA,0x54,0x92,0x6A,0x03,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0x6A,0x02,0x53,0x01,0xD5,0xE0,0xAD,0x52,0x85,0x2A,0xA9,0x52,0x65,0x82,0xA9,0x00,0xAA,0xE0,0x51,0x55,0x55,0x55,0x54,0xA9,0x6A,0x82,0xA9,0x00,0x95,0x20,0xAD,0xAA,0xAA,0xAA,0x2A,0x55,0x65,0xC2,0x54,0x01,0xAA,0x31,0x53,0x55,0x55,0xD5,0xEA,0xAA,0x6A,0xE2,0xAA,0x00,0x2A,0x31,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x62,0x55,0x01,0x55,0x33,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0x32,0xAA,0x00,0xAA,0x32,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x3B,0x55,0x01,0x55,0x36,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x5F,0xAA,0x00,0x55,0x15,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xCF,0x56,0x01,0xAA,0x1D,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC7,0xA8,0x00,0xAA,0x19,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x87,0x55,0x01,0xB5,0x19,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x81,0x55,0x01,0x8A,0x11,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sad.png",width:35,height:25,alt:"Sad"},"Sad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sick.png",width:35,height:25,alt:"Sick"},"Sick,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x0F,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Smile.png",width:35,height:25,alt:"Smile"},"Smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Swearing.png",width:35,height:25,alt:"Swearing"},"Swearing,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xC0,0x00,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x60,0x28,0x00,0x00,0xC0,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x1F,0x64,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x28,0x00,0x00,0x00,0xC0,0x0B,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0xC4,0x3F,0x04,0x00,0x00,0x00,0xF8,0x7F,0x00,0x40,0x03,0x00,0x76,0x60,0x00,0x18,0x00,0x00,0xFC,0x7F,0x00,0xC0,0x01,0x00,0x1A,0x40,0x00,0x18,0x00,0x00,0xFC,0xF7,0x00,0xE0,0x01,0x00,0xC9,0x41,0x40,0x08,0x00,0x00,0xFC,0xE3,0x00,0xC0,0x03,0x00,0x09,0x42,0x40,0x00,0x00,0x00,0xFC,0xC3,0x10,0x80,0x00,0x00,0x19,0x63,0xC0,0x00,0x00,0x00,0x3C,0x63,0x70,0x00,0x00,0x03,0xF1,0x31,0xF0,0x07,0x00,0x00,0x1C,0x7E,0x78,0x00,0xC0,0x03,0x01,0x18,0xFC,0x03,0x00,0x00,0x1C,0x72,0x2C,0x00,0xE0,0x03,0x03,0x0C,0xF0,0x03,0x00,0x00,0x38,0x33,0x06,0x00,0xF0,0x03,0x0E,0x07,0xB0,0x03,0x00,0x00,0xF0,0x7F,0xC3,0x01,0xF0,0x03,0xF8,0x01,0x10,0x07,0x00,0x00,0xE0,0x2F,0xE1,0x00,0xF0,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x80,0x02,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xF0,0x01,0xF8,0xFE,0x01,0x00,0x00,0x00,0xFC,0x07,0x00,0x00,0xF0,0x01,0xFC,0xFF,0x03,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0xF0,0x01,0xFE,0xFF,0x07,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0xF0,0x00,0xBE,0xFE,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xF8,0xC0,0xDF,0xFF,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0xF8,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0xE0,0x01,0x00,0x00,0x78,0xE0,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x70,0xE0,0xFF,0xFF,0x7F,0x0F,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xC0,0x00,0x08,0x80,0xFF,0xDF,0xFF,0x0F,0x00,0xF0,0x01,0x00,0xF0,0x03,0x1E,0x00,0xFF,0xFF,0xFF,0x1F,0x00,0x3C,0x07,0x00,0xF0,0x03,0x3C,0x00,0xC0,0xBF,0xFF,0x3F,0x00,0x04,0x0C,0x00,0xE0,0x01,0x1C,0x00,0x00,0xFF,0xFF,0x7F,0x00,0xE4,0x19,0x00,0xF0,0x01,0x18,0x3E,0x00,0xFE,0xFF,0x7F,0x00,0xB2,0x11,0x00,0x10,0x03,0x00,0xE3,0x00,0xFC,0xFF,0xEF,0x00,0x56,0x19,0x00,0x00,0x02,0x80,0x81,0x03,0xF4,0xFF,0xFF,0x00,0x34,0x09,0x00,0x04,0x00,0x80,0x00,0x02,0xE6,0xFF,0xEF,0x00,0x8C,0x09,0x30,0x02,0x00,0xC0,0x30,0x02,0x23,0xFE,0xFB,0x00,0xB8,0x08,0x00,0x20,0x30,0x40,0x10,0x03,0x11,0xFC,0xFF,0x00,0xE0,0x00,0x0C,0x04,0x30,0xC0,0x98,0x81,0x18,0xE4,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x98,0x40,0x0C,0x27,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x71,0x60,0x06,0x21,0x38,0x00,0x00,0x00,0x08,0x00,0x20,0x10,0x03,0x40,0x0C,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x80,0x8C,0x09,0x00,0x00,0x00,0x1C,0x40,0x18,0x40,0x10,0x06,0xC0,0xC4,0x04,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x10,0x00,0x40,0xC2,0x04,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xD0,0x00,0x20,0xC1,0x0C,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x70,0x00,0x94,0xC1,0x0F,0x00,0x00,0x80,0x19,0x80,0xFF,0x00,0x70,0x00,0xDC,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0xFF,0x01,0x58,0x01,0x44,0x00,0x00,0x00,0x00,0x90,0x00,0xC0,0xFF,0x01,0xC0,0x00,0x44,0x00,0x00,0x00,0x00,0x30,0x18,0xC0,0xFF,0x03,0xC0,0x00,0x64,0x00,0x00,0x20,0x00,0x40,0x10,0xC0,0xFF,0x03,0xA0,0x00,0x1C,0x00,0x00,0x38,0x00,0x40,0x20,0xC0,0xFF,0x03,0xA0,0x00,0x00,0x00,0x00,0x70,0x00,0x80,0x54,0xC0,0xFF,0x01,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Talking.png",width:35,height:25,alt:"Talking"},"Talking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x0F,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Wink.png",width:35,height:25,alt:"Wink"},"Wink,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/ZZZ.png",width:35,height:25,alt:"ZZZ"},"ZZZ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0x3A,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0x0F,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0xE0,0xEF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xBF,0x01,0x00,0x00,0x20,0xE0,0x0F,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x3F,0x00,0xF0,0x07,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x6F,0x00,0xF8,0x07,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x5F,0x00,0xF8,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x7F,0x00,0xFC,0x03,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x81,0xFF,0x3F,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0xDF,0x3F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,0x1F,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x80,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x87,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x8D,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x02,0x00,0x00,0xC0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"]],Fn=[["8","1"],["16","2"],["32","4"],["48","6"],["64","8"]];const hn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_SETUP).appendField(new Z.FieldDropdown(cn),"OLED_TYPE").appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(" "+Z.Msg.MIXLY_MICROBIT_monitor).appendField(new Z.FieldDropdown(ln),"ROTATION").appendField(" SCL").appendField(new Z.FieldDropdown(z.Profile.default.digital),"SCL").appendField("SDA").appendField(new Z.FieldDropdown(z.Profile.default.digital),"SDA"),this.appendValueInput("ADDRESS").appendField(Z.Msg.MIXLY_LCD_ADDRESS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_INIT2_TOOLTIP),this.setFieldValue(z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(z.Profile.default.SDA[0][1],"SDA")}},An={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_SETUP).appendField(new Z.FieldDropdown(an),"U8G2_TYPE_SPI").appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(" "+Z.Msg.MIXLY_MICROBIT_monitor).appendField(new Z.FieldDropdown(ln),"ROTATION"),this.appendDummyInput().appendField("CLK").appendField(new Z.FieldDropdown(z.Profile.default.digital),"CLK").appendField("MOSI").appendField(new Z.FieldDropdown(z.Profile.default.digital),"MOSI"),this.appendDummyInput().appendField("CS").appendField(new Z.FieldDropdown(z.Profile.default.digital),"CS").appendField("DC").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DC").appendField("RST").appendField(new Z.FieldDropdown(z.Profile.default.digital),"RST"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("CLK - SCL(SSD1306) - CLK(NOKIA5110)\nMOSI - SDA(SSD1306) - DIN(NOKIA5110)"),this.setHelpUrl(""),this.setFieldValue(z.Profile.default.SCK[0][1],"CLK"),this.setFieldValue(z.Profile.default.MOSI[0][1],"MOSI")}},In={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_SETUP+"LCD12864").appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(" "+Z.Msg.MIXLY_MICROBIT_monitor).appendField(new Z.FieldDropdown(ln),"ROTATION"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("RS").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DC"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("PSB = 0"),this.setHelpUrl("")}},gn={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_SETUP+"LCD12864").appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(" "+Z.Msg.MIXLY_MICROBIT_monitor).appendField(new Z.FieldDropdown(ln),"ROTATION"),this.appendDummyInput().appendField("D0").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB0").appendField("D1").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB1").appendField("D2").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB2").appendField("D3").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB3").appendField("D4").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB4").appendField("D5").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB5").appendField("D6").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB6").appendField("D7").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DB7").appendField("E").appendField(new Z.FieldDropdown(z.Profile.default.digital),"ENABLE").appendField("RS").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DC"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("R/W = 0,PSB = 1"),this.setHelpUrl("")}},Tn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},En={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_BITMAP_NAME).appendField(new Z.FieldTextInput("bitmap1"),"VAR").appendField(Z.Msg.OLED_BITMAP_DATA).appendField(new Z.FieldTextInput("0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},Cn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new Z.FieldDropdown(Fn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(Z.Msg.OLED_ICON).appendField(new Z.FieldDropdown(rn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},Mn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput().appendField(Z.Msg.OLED_ICON).appendField(new Z.FieldDropdown(_n),"FACE_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},mn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Z.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Z.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Z.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_SHOW_BMP_TOOLTIP)}},On={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(Z.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Z.Msg.OLED_POSY).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Rn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(Z.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(Z.Msg.OLED_END_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DRAW_LINE_TOOLTIP)}},Sn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(Z.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new Z.FieldDropdown($i),"TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Dn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_PAGE),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_page_tooltip)}},Ln={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAW_TRIANGLE),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(Z.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(Z.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(Z.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(Z.Msg.OLED_D2_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Nn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new Z.FieldDropdown(xn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Z.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Z.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Pn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new Z.FieldDropdown(en),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Z.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Z.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Z.Msg.OLED_RADIUS).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},yn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new Z.FieldDropdown(fn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Z.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new Z.FieldDropdown(tn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},bn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAW_ELLIPSE),this.appendDummyInput("").appendField(new Z.FieldDropdown(nn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS_X",Number).appendField(Z.Msg.OLED_ELLIPSE_RADIUS_X).setCheck(Number),this.appendValueInput("RADIUS_Y",Number).appendField(Z.Msg.OLED_ELLIPSE_RADIUS_Y).setCheck(Number),this.appendDummyInput("").appendField(new Z.FieldDropdown(tn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DRAW_ELLIPSE_TOOLTIP)}},vn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_DRAWSTR),this.appendValueInput("POS_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Z.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},wn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.set_EN_Font).appendField(new Z.FieldDropdown(sn),"FONT_NAME"),this.appendDummyInput("").appendField(Z.Msg.FontSize).appendField(new Z.FieldDropdown(dn),"FONT_SIZE"),this.appendDummyInput("").appendField(Z.Msg.Font_Style).appendField(new Z.FieldDropdown(pn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},Yn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.set_CN_Font).appendField(new Z.FieldDropdown(on),"FONT_NAME"),this.appendDummyInput("").appendField(Z.Msg.FontSize).appendField(new Z.FieldDropdown(un),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},Vn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.set_ZH_TW_Font),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},kn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Z.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_print_tooltip)}},Xn={init:function(){this.appendValueInput("Contrast").setCheck(null).appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(Z.Msg.TFT_Brightness+Z.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(gi),this.setTooltip(Z.Msg.MIXLY_U8G2_SETCONTRAST_HELP),this.setHelpUrl("")}},Gn={init:function(){this.appendValueInput("str").setCheck(null).appendField(Z.Msg.DISPLAY).appendField(new Z.FieldTextInput("u8g2"),"NAME").appendField(" "+Z.Msg.OLED_DRAWSTR+Z.Msg.MIXLY_WIDTH),this.setOutput(!0,null),this.setColour(gi),this.setTooltip(""),this.setHelpUrl("https://www.cnblogs.com/danpianjicainiao/p/11048729.html#_label3_1_39")}},Bn={init:function(){this.appendValueInput("row").setCheck(null).appendField(Z.Msg.MIXLY_DF_LCD).appendField(new Z.FieldTextInput("mylcd"),"name").appendField(Z.Msg.MIXLY_LCD_ROW),this.appendValueInput("column").setCheck(null).appendField(Z.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("pattern").setCheck(null).appendField(Z.Msg.COLUMN_DISPLAY_IMAGE),this.appendDummyInput().appendField(Z.Msg.LCD_NUMBERING).appendField(new Z.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]]),"number"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(gi),this.setTooltip(""),this.setHelpUrl("https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar")}},Un={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Z.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a81").appendField(new Z.FieldCheckbox("FALSE"),"a82").appendField(new Z.FieldCheckbox("FALSE"),"a83").appendField(new Z.FieldCheckbox("FALSE"),"a84").appendField(new Z.FieldCheckbox("FALSE"),"a85"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a71").appendField(new Z.FieldCheckbox("FALSE"),"a72").appendField(new Z.FieldCheckbox("FALSE"),"a73").appendField(new Z.FieldCheckbox("FALSE"),"a74").appendField(new Z.FieldCheckbox("FALSE"),"a75"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a61").appendField(new Z.FieldCheckbox("FALSE"),"a62").appendField(new Z.FieldCheckbox("FALSE"),"a63").appendField(new Z.FieldCheckbox("FALSE"),"a64").appendField(new Z.FieldCheckbox("FALSE"),"a65"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a51").appendField(new Z.FieldCheckbox("FALSE"),"a52").appendField(new Z.FieldCheckbox("FALSE"),"a53").appendField(new Z.FieldCheckbox("FALSE"),"a54").appendField(new Z.FieldCheckbox("FALSE"),"a55"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a41").appendField(new Z.FieldCheckbox("FALSE"),"a42").appendField(new Z.FieldCheckbox("FALSE"),"a43").appendField(new Z.FieldCheckbox("FALSE"),"a44").appendField(new Z.FieldCheckbox("FALSE"),"a45"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a31").appendField(new Z.FieldCheckbox("FALSE"),"a32").appendField(new Z.FieldCheckbox("FALSE"),"a33").appendField(new Z.FieldCheckbox("FALSE"),"a34").appendField(new Z.FieldCheckbox("FALSE"),"a35"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a21").appendField(new Z.FieldCheckbox("FALSE"),"a22").appendField(new Z.FieldCheckbox("FALSE"),"a23").appendField(new Z.FieldCheckbox("FALSE"),"a24").appendField(new Z.FieldCheckbox("FALSE"),"a25"),this.appendDummyInput("").appendField(new Z.FieldCheckbox("FALSE"),"a11").appendField(new Z.FieldCheckbox("FALSE"),"a12").appendField(new Z.FieldCheckbox("FALSE"),"a13").appendField(new Z.FieldCheckbox("FALSE"),"a14").appendField(new Z.FieldCheckbox("FALSE"),"a15"),this.setOutput(!0,Number),this.setTooltip("")}},Wn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Z.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").setAlign(Z.inputs.Align.CENTRE).appendField(new Z.FieldBitmap([[0,0,0,0,0],[0,1,1,1,0],[1,0,0,0,1],[1,0,1,0,1],[1,0,1,0,1],[1,0,0,0,1],[0,1,1,1,0],[0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},Hn={init:function(){this.setColour(gi),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_SETUP+" TFT "+Z.Msg.DISPLAY),this.appendDummyInput().appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_STM32_TFT_GREENTAB+"(ST7735)","ST7735_INITR_GREENTAB"],[Z.Msg.MIXLY_STM32_TFT_REDTAB+"(ST7735)","ST7735_INITR_REDTAB"],[Z.Msg.MIXLY_STM32_TFT_BLACKTAB+"(ST7735)","ST7735_INITR_BLACKTAB"],["160×80(ST7735)","ST7735_160×80"],["160×128(ST7789)","ST7789_160×128"],["240×135(ST7789)","ST7789_240×135"],["240×240(ST7789)","ST7789_240×240"],["320×240(ST7789)","ST7789_320×240"],["480×320(ST7796)","ST7796_480×320"]]),"TYPE"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("CS").appendField(new Z.FieldDropdown(z.Profile.default.digital),"CS").appendField("DC").appendField(new Z.FieldDropdown(z.Profile.default.digital),"DC").appendField("RST").appendField(new Z.FieldDropdown(z.Profile.default.digital),"RST"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kn={init:function(){this.appendDummyInput().appendField("TFT").appendField(Z.Msg.TFT_DISPLAY_CHINESE_CHARACTERS),this.appendDummyInput().appendField(Z.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Z.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"],["AcadEref","AcadEref"],["Adobe Ming Std L","Adobe Ming Std L"],["Adobe Myungjo Std M","Adobe Myungjo Std M"],["Adobe Pi Std","Adobe Pi Std"],["AIGDT","AIGDT"],["AIgerian","AIgerian"],["AmdtSymbols","AmdtSymbols"],["Arial","Arial"],["Arial Rounded MT Bold","Arial Rounded MT Bold"],["Arial Unicode MS","Arial Unicode MS"],["BankGothic Lt BT","BankGothic Lt BT"],["BankGothic Md BT","BankGothic Md BT"],["Baskerville Old Face","Baskerville Old Face"],["Bauhaus 93","Bauhaus 93"],["Beranad MT Condensed","Beranad MT Condensed"]]),"st7735_hz_sharp").appendField(" "+Z.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new Z.FieldTextInput("16"),"st7735_hz_line_height").appendField("px").appendField(Z.Msg.SAVETO+" flash").appendField(new Z.FieldCheckbox("true"),"st7735_show_hz_save"),this.appendValueInput("st7735_hz_data").setCheck(null).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_SD_DATA+"#"),this.appendValueInput("st7735_hz_x").setCheck(null).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.OLED_L_U_X+"#"),this.appendValueInput("st7735_hz_y").setCheck(null).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.OLED_L_U_Y+"#"),this.appendValueInput("st7735_hz_height").setCheck(null).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_HEIGHT+"#"),this.appendValueInput("st7735_hz_width").setCheck(null).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_WIDTH+"#"),this.appendValueInput("st7735_hz_color").setCheck(null).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.blynk_iot_WidgetLED_COLOR),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(gi),this.setTooltip(""),this.setHelpUrl("")}},Zn={init:function(){this.setColour(gi),this.appendValueInput("BRIGHTNESS").setCheck(Number).appendField("TFT"+Z.Msg.TFT_Brightness+Z.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},zn={init:function(){this.setColour(gi),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(new Z.FieldColour("33ccff"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Z.Msg.OLED_DRAW_PIXE_TOOLTIP)}},jn={init:function(){this.setColour(gi),this.appendValueInput("R").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Jn={init:function(){this.setColour(gi),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_SETUP+" TFT "+Z.Msg.DISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.MIXLY_BACKGROUND_COLOR),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};ki=[[Z.Msg.MIXLY_0DEGREE,"0"],[Z.Msg.MIXLY_90DEGREE,"1"],[Z.Msg.MIXLY_180DEGREE,"2"],[Z.Msg.MIXLY_270DEGREE,"3"]];const Qn={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Z.FieldDropdown(ki),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},$n={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_BITMAP_NAME).appendField(new Z.FieldTextInput("bitmap1"),"VAR").appendField(Z.Msg.OLED_BITMAP_DATA).appendField(new Z.FieldTextInput("0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f, 0x9f00, 0x989c, 0x009a, 0x9f00, 0x9c9e, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x0099, 0x9e00, 0x989e, 0x009c, 0x9c00, 0x7f7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a3, 0xa300, 0x989e, 0x0096, 0x9e00, 0x989d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989d, 0x0099, 0x9e00, 0x979c, 0x0098, 0x9c00, 0x7faa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0099, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9d00, 0x999e, 0x009d, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0xa000, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9e00, 0x969c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9aa1, 0x0096, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x008d, 0x9b00, 0x0000, 0x007f, 0x7f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x0000, 0x0095, 0x9c00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x949b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999f, 0x0098, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0899, 0x9e0e, 0x9ca1, 0x0c9b, 0x9f04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0095, 0x9a04, 0x989d, 0x119d, 0xa21e, 0xa2a6, 0x2faa, 0xae47, 0xb3b7, 0x5bbb, 0xbe6d, 0xc3c6, 0x42b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2b, 0xa8ac, 0x7fca, 0xcdbf, 0xe4e6, 0xe6f5, 0xf6f3, 0xfafa, 0xf1f9, 0xfad6, 0xeeef, 0x93d2, 0xd525, 0xa5aa, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0699, 0x9e0e, 0x9ca1, 0x169f, 0xa424, 0xa5aa, 0x36ac, 0xb045, 0xb2b6, 0x52b8, 0xbb64, 0xbfc2, 0x77c6, 0xc984, 0xccce, 0x98d4, 0xd7ac, 0xdcde, 0xbbe3, 0xe5d0, 0xeced, 0xe2f3, 0xf4ed, 0xf8f8, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3cae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0598, 0x9d52, 0xb7bb, 0xbfe4, 0xe6fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x6bc2, 0xc501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x4ab5, 0xb859, 0xbabd, 0x5fbc, 0xc068, 0xc0c3, 0x72c5, 0xc881, 0xcbce, 0x92d1, 0xd4a1, 0xd7d9, 0xaede, 0xdfc1, 0xe5e7, 0xd3ed, 0xeedd, 0xf1f2, 0xe7f5, 0xf6f2, 0xfafa, 0xfafd, 0xfdfc, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f2, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d4c, 0xb5b9, 0xcdeb, 0xecfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe6d, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xb9e2, 0xe3fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x35ab, 0xb000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff47, 0xb3b7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0x7ac8, 0xcaf6, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe401, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xecf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0f, 0x9ca1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x24a5, 0xa9c9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff38, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xd8f0, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4e, 0xb6ba, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x74c5, 0xc800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989c, 0x6fc3, 0xc6f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf2f2, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0398, 0x9d04, 0x989d, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x62be, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d88, 0xced1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x26a6, 0xaa00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x43b2, 0xb582, 0xccce, 0xb2df, 0xe1d7, 0xefef, 0xe5f4, 0xf5e7, 0xf5f6, 0xdff2, 0xf2c4, 0xe7e8, 0x98d4, 0xd657, 0xbabd, 0x18a0, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x089a, 0x9f77, 0xc6c9, 0x9dd5, 0xd7ac, 0xdddf, 0xc2e6, 0xe8d7, 0xeff0, 0xe5f5, 0xf5f7, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff0, 0xf9f9, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0x91d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5dbc, 0xbf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2e, 0xa9ad, 0x9bd6, 0xd7e8, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfaa6, 0xdadc, 0x2aa7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0398, 0x9d13, 0x9ea3, 0x72c5, 0xc7f6, 0xfbfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffcb, 0xeaeb, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x90d1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c23, 0xa4a9, 0xa5da, 0xdbfa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc8a, 0xced1, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c65, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9d, 0xd7d8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x6dc2, 0xc5fd, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c05, 0x999e, 0x6dc2, 0xc5f2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc9e9, 0xea1c, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9b9f, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6d, 0xc3c5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ec, 0xed00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4b6, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f1, 0x22a3, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3e, 0xb0b4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8ea, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe2f3, 0xf405, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7ee, 0xef15, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe1d, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xc1e5, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf805, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c76, 0xc6c9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xaaae, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x64be, 0xc200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb6e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcfec, 0xed01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2aa7, 0xacf5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd17, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x26a6, 0xaae4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xebf7, 0xf715, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0xb9e2, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1a, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea3, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff82, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb1df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ad5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c52, 0xb8bb, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9eb3, 0xdfe1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9fd7, 0xefef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd18, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57ba, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd6, 0xd8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x60bd, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc15, 0x9fa3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4c, 0xb5b9, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa2d9, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x95d2, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5cbc, 0xbf00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xdbf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7e8, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xddf1, 0xf205, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x87cd, 0xd0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c5b, 0xbbbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1b, 0xa1a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x78c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b2, 0xb600, 0x979c, 0x0398, 0x9dc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf506, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7e, 0xcacc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x66c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41b0, 0xb400, 0x979c, 0x38ad, 0xb1fe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xffe8, 0xf6f6, 0xd1ec, 0xede7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdaf0, 0xf101, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3caf, 0xb3f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0xc3e6, 0xe8b8, 0xe2e3, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff5b, 0xbbbe, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x58b9, 0xbdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3caf, 0xb200, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd3, 0xecee, 0x4bb5, 0xb807, 0x999e, 0x0096, 0x9b07, 0x999e, 0x62be, 0xc1f3, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcbe9, 0xeb00, 0x969b, 0x0097, 0x9c0e, 0x9ca1, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x6cc2, 0xc512, 0x9da2, 0x0096, 0x9b00, 0x969b, 0x19a0, 0xa5ce, 0xebec, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6a, 0xc1c4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x44b2, 0xb6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x38ad, 0xb110, 0x9da1, 0xecf7, 0xf8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e1, 0xe20f, 0x9da1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbabd, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xafde, 0xe000, 0x979c, 0x0197, 0x9c90, 0xd1d4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe519, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c43, 0xb1b5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff72, 0xc5c8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2ea9, 0xadff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x37ad, 0xb054, 0xb8bb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbd, 0xe4e5, 0x0a9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0xb6e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x98d4, 0xd600, 0x979c, 0x3aae, 0xb2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa4, 0xd9db, 0x0899, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xe9f6, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3dae, 0xb2ae, 0xdedf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf41a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x48b4, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bc8, 0xcb05, 0x989d, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xaadb, 0xdd07, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979b, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff69, 0xc1c3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa1f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5ab9, 0xbcf2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x51b7, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0699, 0x9de5, 0xf4f5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x60bd, 0xc06a, 0xc2c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffca, 0xe9ea, 0x0c9c, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbae3, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff57, 0xb9bd, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9de4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9f, 0xd7d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4db5, 0xb8e3, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f6, 0xf61e, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbce3, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9ccd, 0xeaeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fc, 0xfd2c, 0xa8ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c66, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfeff, 0x9ad5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x4eb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x969c, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd20, 0xa3a8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa3d9, 0xdb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c38, 0xadb1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xf0f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff99, 0xd5d7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x969b, 0xdff2, 0xf3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe8f6, 0xf609, 0x9a9e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c95, 0xd3d5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x32aa, 0xae00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdff2, 0xf312, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xf1f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce4, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c78, 0xc7ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbc, 0xe3e5, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x52b8, 0xbb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c26, 0xa6aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff50, 0xb7ba, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb6, 0xe1e2, 0x0297, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c54, 0xb8bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xabaf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf50c, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc2e6, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc2d, 0xa9ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea2, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9bd6, 0xd800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb0df, 0xe0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cbb, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8c, 0xd0d2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0xe2f3, 0xf4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa1d9, 0xdbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffee, 0xf8f8, 0x1aa1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9fe9, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe30, 0xaaae, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xbee4, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffed, 0xf8f8, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x98d4, 0xd6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff83, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x35ac, 0xb0fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe502, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdee0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x94d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf612, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x48b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x80ca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc7, 0xe8e9, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x47b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff37, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x169f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff49, 0xb4b8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a4, 0xa8fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x96d3, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe001, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9eea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xccea, 0xeb00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd29, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca8, 0xdbdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x28a7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc3, 0xe6e8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x99d5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbae2, 0xe301, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0c9b, 0xa0ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff76, 0xc6c9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c90, 0xd1d3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4eb6, 0xb900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x52b8, 0xbbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc5e7, 0xe807, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbabe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b3, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x089a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffec, 0xf7f8, 0x24a4, 0xa900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3eb0, 0xb400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc8e8, 0xe9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8b, 0xcfd1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c12, 0x9ea2, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe54, 0xb8bc, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c09, 0x9a9f, 0xe7f5, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x53b8, 0xbc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd2ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81ca, 0xcd01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ec3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xe4f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd3ed, 0xee02, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cba, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffab, 0xddde, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7fca, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd0, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0f, 0x9ca1, 0xf4fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7fca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc1e5, 0xe70b, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eb0, 0xb4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e1, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c22, 0xa4a9, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x34ac, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x79c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffce, 0xebec, 0x159f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0a9a, 0x9fee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe1f2, 0xf302, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c39, 0xadb1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf2f3, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ed, 0xed18, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc16, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5e, 0xbcbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbb, 0xe3e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c41, 0xb0b4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x1aa1, 0xa500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c6f, 0xc4c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff3d, 0xafb3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c83, 0xccce, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe2e4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9caa, 0xdcde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcae9, 0xea18, 0xa0a4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ac, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6c, 0xc2c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9caa, 0xdcdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xe4e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1ea2, 0xa6f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x139e, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0xa058, 0xbabd, 0xa2d8, 0xdacd, 0xeaeb, 0xd6ee, 0xefc7, 0xe8e9, 0xa0d8, 0xd96a, 0xc1c4, 0x2aa7, 0xac07, 0x999d, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9e, 0xd7d9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cd9, 0xf0f0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc2, 0xe6e7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb3e0, 0xe10d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7ac9, 0xcbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfed7, 0xeeef, 0xd7ef, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd0, 0xeced, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4fb, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc9, 0xe8ea, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ca0, 0xe7f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd8ef, 0xf0a6, 0xdadc, 0x73c5, 0xc840, 0xb0b4, 0x129e, 0xa200, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x119d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x46b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c68, 0xc0c4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfcd3, 0xedee, 0xa0d8, 0xd96f, 0xc3c6, 0x3eaf, 0xb315, 0x9ea3, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x72c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x43b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7dc9, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9dd8, 0xeff0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xfff6, 0xfbfc, 0xd7ef, 0xefa4, 0xd9db, 0x1da1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x68c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7cc9, 0xcb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xbee4, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf3f3, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x63be, 0xc2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d2, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x5abb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf1fa, 0xfaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffea, 0xf7f7, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xdaf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfb20, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4db6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f5, 0xf609, 0x9a9f, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff4, 0xfbfb, 0x119d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c72, 0xc5c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x42b1, 0xb5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe2c, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca3, 0xd9db, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0x20a4, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa2, 0xa7ee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x20a3, 0xa700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eaf, 0xb3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xeaf7, 0xf7c7, 0xe8e9, 0xa8db, 0xdd91, 0xd2d4, 0x83cb, 0xce7f, 0xc9cc, 0x7ac7, 0xca7f, 0xc9cc, 0x83cb, 0xcd92, 0xd2d5, 0xa9db, 0xddbf, 0xe5e6, 0xddf1, 0xf2f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff63, 0xbfc2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0d9c, 0xa0e9, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3caf, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4cb5, 0xb986, 0xcdcf, 0x84cb, 0xcd81, 0xcacd, 0x79c7, 0xca71, 0xc4c7, 0x6bc2, 0xc565, 0xc0c3, 0x5fbd, 0xc15a, 0xbbbe, 0x56ba, 0xbd54, 0xb9bd, 0x52b8, 0xbc51, 0xb7bb, 0x50b7, 0xba4f, 0xb6ba, 0x4eb6, 0xb94e, 0xb5b9, 0x4db5, 0xb94d, 0xb5b9, 0x4db5, 0xb94e, 0xb5b9, 0x4fb6, 0xba51, 0xb7bb, 0x52b8, 0xbc57, 0xbabd, 0x5cbc, 0xbf65, 0xc0c3, 0x6fc3, 0xc679, 0xc8ca, 0x83cb, 0xce8d, 0xd0d3, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3cae, 0xb2ff, 0xffff, 0xfeff, 0xffd3, 0xedee, 0x78c7, 0xca2c, 0xa8ac, 0x089a, 0x9e01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0497, 0x9c0e, 0x9ca1, 0x2ea9, 0xad61, 0xbec1, 0x9fd7, 0xd9d8, 0xeff0, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa5, 0xdadb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4eb6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5fbd, 0xc000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee1, 0xf3f3, 0x56b9, 0xbc05, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0x25a5, 0xaa67, 0xc0c3, 0xb8e2, 0xe3f9, 0xfdfd, 0xffff, 0xffe4, 0xf4f4, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d3, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x139f, 0xa31d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa2a6, 0x74c6, 0xc8d6, 0xeeef, 0x30a9, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf75b, 0xbbbe, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989e, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0x5dbc, 0xbfa6, 0xd9db, 0xe1f3, 0xf3fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf580, 0xcbcd, 0x1ea2, 0xa701, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e2c, 0xa8ac, 0x6ac1, 0xc4ac, 0xddde, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbae, 0xdddf, 0x48b4, 0xb705, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e37, 0xacb0, 0x76c6, 0xc9b3, 0xdfe1, 0xe8f6, 0xf6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1f, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e2f, 0xa9ae, 0x71c4, 0xc7ae, 0xdddf, 0xe3f3, 0xf4fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e28, 0xa7ab, 0x5ebc, 0xbf96, 0xd3d6, 0xd2ed, 0xeefa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b9, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa3a7, 0x6fc4, 0xc653, 0xb8bc, 0x3cae, 0xb21e, 0xa3a7, 0x0c9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c16, 0x9fa4, 0x49b4, 0xb881, 0xcbcd, 0xb7e1, 0xe2e6, 0xf5f5, 0xfeff, 0xffec, 0xf8f8, 0x109d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9dbc, 0xe3e5, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0xf0f9, 0xfa3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989d, 0x27a6, 0xaa44, 0xb1b6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x59bb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff43, 0xb1b5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6f, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x26a6, 0xaa5a, 0xbbbe, 0xb1df, 0xe0c5, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c32, 0xaaae, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdfe0, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x2da8, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7a, 0xc8ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x2aa7, 0xac00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c49, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x77c7, 0xca00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cad, 0xdddf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd0eb, 0xed17, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c97, 0xd4d6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa5da, 0xdc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x33ab, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4ea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc2, 0xe6e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf6fb, 0xfc8b, 0xcfd1, 0x149f, 0xa300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xa8db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce3, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9a, 0xd5d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf88c, 0xd0d2, 0x2ba7, 0xac01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9f9f, 0xd8d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbfe, 0xfec4, 0xe7e8, 0x6dc2, 0xc624, 0xa5aa, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2d, 0xa8ad, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa0d8, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0xe5f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xd2ec, 0xed8f, 0xd1d3, 0x49b4, 0xb812, 0x9ea2, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c15, 0x9fa3, 0x91d2, 0xd3f6, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8bce, 0xd100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xccea, 0xeb99, 0xd5d7, 0x66c0, 0xc337, 0xacb0, 0x109d, 0xa100, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c21, 0xa4a8, 0x8ace, 0xd1ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9dbf, 0xe4e6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbd5, 0xeeef, 0xa7da, 0xdc7c, 0xc9cb, 0x57ba, 0xbd33, 0xabaf, 0x159f, 0xa306, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9f49, 0xb4b8, 0xa9db, 0xddf8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fb0, 0xb300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xdef1, 0xf2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xf5fb, 0xfbe1, 0xf3f4, 0xc7e8, 0xe9a4, 0xd9db, 0x85cc, 0xcf65, 0xbfc2, 0x46b3, 0xb627, 0xa6aa, 0x159f, 0xa306, 0x999e, 0x0397, 0x9c01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0397, 0x9c1c, 0xa1a6, 0x59bb, 0xbea5, 0xd9dc, 0xe6f5, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x27a6, 0xaadf, 0xf2f3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfced, 0xf8f8, 0xdef1, 0xf2c7, 0xe8e9, 0xb7e0, 0xe2a5, 0xd9db, 0x90d1, 0xd482, 0xcbcd, 0x76c6, 0xc967, 0xc0c3, 0x58bb, 0xbe51, 0xb7ba, 0x4cb4, 0xb844, 0xb2b5, 0x3daf, 0xb33a, 0xaeb2, 0x37ad, 0xb136, 0xacb0, 0x3daf, 0xb247, 0xb2b6, 0x55b9, 0xbd6e, 0xc3c6, 0x8ccf, 0xd2b2, 0xdfe1, 0xddf1, 0xf2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xd1ec, 0xedff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff7b, 0xc8cb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x119d, 0xa2a6, 0xdadc, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe2b, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989d, 0x62be, 0xc1eb, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xa5da, 0xdbfb, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x45b2, 0xb600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c3b, 0xaeb2, 0xc1e5, 0xe7fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe3e4, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d47, 0xb3b7, 0xbee4, 0xe6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfa2a, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c40, 0xb0b4, 0xafde, 0xe0f8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c25, 0xa5a9, 0x88ce, 0xd0e7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff92, 0xd2d4, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0x56b9, 0xbdb0, 0xdee0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9dd6, 0xd806, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa46c, 0xc2c5, 0xbce3, 0xe5f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe8b, 0xcfd2, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c19, 0xa0a5, 0x5fbd, 0xc0b2, 0xdfe1, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe9, 0xf6f7, 0x53b8, 0xbb01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa14a, 0xb4b8, 0x8fd0, 0xd2d0, 0xeced, 0xfbfd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffb, 0xfefe, 0x9ed7, 0xd91a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x1da2, 0xa65e, 0xbdc0, 0x9ad5, 0xd7d2, 0xeded, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xabdc, 0xde33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x19a0, 0xa54a, 0xb4b8, 0x85cc, 0xcfc2, 0xe6e7, 0xedf8, 0xf8fd, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfed7, 0xeff0, 0x7cc8, 0xcb20, 0xa3a7, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0b9a, 0x9f2e, 0xa9ad, 0x5ebd, 0xbf8c, 0xcfd1, 0xb9e2, 0xe3e4, 0xf4f5, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdff, 0xffe5, 0xf4f5, 0xafde, 0xdf70, 0xc3c7, 0x2ea9, 0xad04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0x179f, 0xa43e, 0xafb3, 0x62be, 0xc185, 0xcccf, 0xa3d9, 0xdbbe, 0xe4e5, 0xd1ec, 0xede1, 0xf3f4, 0xebf7, 0xf7ee, 0xf8f8, 0xeef8, 0xf8ed, 0xf8f8, 0xeaf6, 0xf7e0, 0xf3f3, 0xd2ed, 0xeec4, 0xe6e7, 0xafde, 0xdf92, 0xd2d4, 0x71c4, 0xc74b, 0xb4b8, 0x1fa2, 0xa704, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989b, 0x0097, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c06, 0x989d, 0x0899, 0x9e09, 0x999e, 0x099a, 0x9f09, 0x999e, 0x0899, 0x9d06, 0x989d, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x009a, 0x9d00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x007f, 0x7f00, 0x969e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9f00, 0x0000, 0x0000, 0x0000, 0x9a9f, 0x0099, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989c, 0x0094, 0x9f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x9e00, 0x969c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9e00, 0x979b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0098, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999e, 0x0097, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x9900, 0x9a9e, 0x0097, 0x9e00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x989c, 0x0099, 0x9e00, 0x9494, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},xs={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(new Z.FieldImage(e(481),20,20,"*",(()=>{this.showSettingDialog()}))).appendField("TFT").appendField(Z.Msg.OLED_BITMAP_NAME).appendField(new Z.FieldTextInput("bitmap1"),"VAR").appendField(Z.Msg.OLED_BITMAP_DATA).appendField(new Z.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DEF_BMP_DATA_TOOLTIP)},showSettingDialog:function(){this.userImgSize={width:100,height:100};const x=z.XML.render(z.XML.TEMPLATE_STR.READ_BITMAP_DIV,{btn1Name:"加载",btn2Name:"保存"});this.canvas=Ai()(""),this.ctx=this.canvas[0].getContext("2d"),this.ctx.textAlign="left",this.ctx.textBaseline="top",z.LayerExt.open({title:"图片取模工具",id:"read-bitmap-layer",area:["50%","250px"],max:["500px","250px"],min:["350px","100px"],content:x,borderRadius:"5px",shade:z.LayerExt.SHADE_ALL,success:x=>{Ai()("#read-bitmap-layer").css("overflow","hidden"),this.addEvents(x)}})},addEvents:function(x){x.find("button").click((f=>{switch(Ai()(f.currentTarget).attr("m-id")){case"0":this.loadImg(x);break;case"1":this.writeJson()}}))},loadImg:function(x){z.MFile.openFile(".png,.jpg","url",(f=>{const{data:e}=f,t=new Image;t.src=e,t.onload=()=>{Ai()("#read-bitmap-div-input-img").empty(),Ai()("#read-bitmap-div-input-img").append(t);const f={width:t.naturalWidth,height:t.naturalHeight},i=this.getUserImgSize(x),n=i.width/f.width,s=i.height/f.height;isNaN(f.width)||isNaN(f.height)||(s>n?i.height=parseInt(n*f.height):i.width=parseInt(s*f.width)),this.userImgSize=i,this.imgSize=f;const c=new Image;c.height=i.height,c.width=i.width,c.src=e,c.onload=()=>{const x=Ai()(""),f=x[0].getContext("2d");f.textAlign="left",f.textBaseline="top";const e=window.devicePixelRatio||1;this.canvas[0].width=c.width,this.canvas[0].height=c.height,this.ctx.width=c.width,this.ctx.height=c.height,x[0].width=c.width*e,x[0].height=c.height*e,f.width=c.width*e,f.height=c.height*e,this.ctx.drawImage(c,0,0,c.width,c.height),f.drawImage(c,0,0,c.width*e,c.height*e),Ai()("#read-bitmap-div-output-img").empty(),Ai()("#read-bitmap-div-output-img").append(x)};const a=Ai()("#read-bitmap-div-message"),l="输入尺寸:"+f.width+"×"+f.height+"  输出尺寸:"+i.width+"×"+i.height;a.empty(),a.append(``)}}))},writeJson:function(){const{userImgSize:x={}}=this,{width:f=100,height:e=100}=x,{data:t}=this.ctx.getImageData(0,0,f,e);let i=0,n="";for(let x=0;x>3&31;break;case 2:i=(31&i)<<6,i|=t[x]>>2&63;break;case 3:i=(2047&i)<<5,i|=t[x]>>3&31;break;default:f=i.toString(16);for(let x=4;x>f.length;x--)e+="0";f=e+f,n+="0x"+f+(x===t.length-1?"":","),i=0}(x+1)%400==0&&x!==t.length-1&&(n+="\n ")}this.setFieldValue(n,"TEXT"),this.setTooltip("图片尺寸(宽×高):"+f+"×"+e),Ii.msg("保存成功",{time:1e3})},getUserImgSize:function(x){const f=x.find("input"),e={width:100,height:100};for(let x=0;f[x];x++){const t=Ai()(f[x]);switch(t.attr("m-id")){case"0":e.width=parseInt(t.val())??100;break;case"1":e.height=parseInt(t.val())??100}}return e.width>300&&(e.width=300),e.height>300&&(e.height=300),e}},fs={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Z.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Z.Msg.OLED_POSY).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Z.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Z.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Z.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_SHOW_BMP_TOOLTIP)}},es={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(Z.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Z.Msg.OLED_POSY).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DRAW_PIXE_TOOLTIP)}},ts={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(Z.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(Z.Msg.OLED_END_Y).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.OLED_DRAW_LINE_TOOLTIP)}},is={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(Z.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new Z.FieldDropdown($i),"TYPE"),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ns={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_DRAW_TRIANGLE),this.appendDummyInput("").appendField(new Z.FieldDropdown(Ti),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(Z.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(Z.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(Z.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(Z.Msg.OLED_D2_Y).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ss={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new Z.FieldDropdown(Ti),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Z.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Z.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},cs={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new Z.FieldDropdown(Ti),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Z.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Z.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Z.Msg.OLED_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},as={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new Z.FieldDropdown(Ti),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Z.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Z.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Z.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new Z.FieldDropdown(tn),"OPT"),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ls={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(Z.Msg.set_EN_Font).appendField(new Z.FieldDropdown(sn),"FONT_NAME"),this.appendDummyInput("").appendField(Z.Msg.FontSize).appendField(new Z.FieldDropdown(dn),"FONT_SIZE"),this.appendDummyInput("").appendField(Z.Msg.Font_Style).appendField(new Z.FieldDropdown(pn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},ds={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(Z.Msg.set_CN_Font).appendField(new Z.FieldDropdown(on),"FONT_NAME"),this.appendDummyInput("").appendField(Z.Msg.FontSize).appendField(new Z.FieldDropdown(un),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},ps={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_BITMAP),this.appendValueInput("POS_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new Z.FieldDropdown(Fn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(Z.Msg.OLED_ICON).appendField(new Z.FieldDropdown(rn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_setFont_tooltip)}},os={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Z.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_print_tooltip)}},us={init:function(){this.setColour(gi),this.appendDummyInput("").appendField("TFT").appendField(Z.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Z.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Z.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Z.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Z.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.oled_print_tooltip)}},rs=Ei,_s={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.MIXLY_SETUP).appendField("CLK").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"CLK").appendField("DIO").appendField(Z.Msg.MIXLY_PIN).appendField(new Z.FieldDropdown(z.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},Fs={init:function(){this.setColour(gi),this.appendValueInput("VALUE").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP1)}},hs={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(Z.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Z.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(Z.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Z.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(Z.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_ON,"(0x80 >> 1)"],[Z.Msg.MIXLY_OFF,"(0x80 >> 2)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},As={init:function(){this.setColour(gi),this.appendDummyInput("").appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(Z.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(Z.inputs.Align.RIGHT),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},Is={init:function(){this.setColour(gi),this.appendDummyInput().appendField(Z.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Z.FieldTextInput("display"),"NAME").appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},gs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_BEGIN).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_ETHERNET,"Ethernet"],[Z.Msg.MIXLY_ETHERNET2,"Ethernet2"]]),"Ethernet"),this.appendValueInput("MAC").setCheck(Array).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_ETHERNET_MAC_ADDRESS),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_INIT)}},Ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Z.FieldTextInput("DE"),"VAR1").appendField("-").appendField(new Z.FieldTextInput("AD"),"VAR2").appendField("-").appendField(new Z.FieldTextInput("BE"),"VAR3").appendField("-").appendField(new Z.FieldTextInput("EF"),"VAR4").appendField("-").appendField(new Z.FieldTextInput("FE"),"VAR5").appendField("-").appendField(new Z.FieldTextInput("ED"),"VAR6"),this.setOutput(!0,Array),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_MACADDRESS)}},Es={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_LOCALIP),this.setOutput(!0,"IPAddress"),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_LOCALIP)}},Cs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_CONNECT_SERVER).appendField(this.newQuote_(!0)).appendField(new Z.FieldTextInput("mixly.org"),"SERVER").appendField(this.newQuote_(!1)),this.appendValueInput("PORT").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECT)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Z.FieldImage(f,12,12,'"')}},Ms={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_STOP)}},ms={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_CONNECTED),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECTED)}},Os={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_AVAILABLE),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_AVAILABLE)}},Rs={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(Z.Msg.MIXLY_ETHERNET_CLINET_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINT)}},Ss={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(Z.Msg.MIXLY_ETHERNET_CLINET_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINTLN)}},Ds={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_READ),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_READ)}},Ls={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_URL).appendField(this.newQuote_(!0)).appendField(new Z.FieldTextInput(""),"URL").appendField(this.newQuote_(!1)),this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_SERVER).appendField(this.newQuote_(!0)).appendField(new Z.FieldTextInput(""),"SERVER").appendField(this.newQuote_(!1)),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_ETHERNET_GET_REQUEST)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new Z.FieldImage(f,12,12,'"')}},Ns={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Z.Msg.NTP_SERVER),this.appendValueInput("server_add").appendField(Z.Msg.blynk_SERVER_ADD).setCheck(String),this.appendValueInput("timeZone").appendField(Z.Msg.MIXLY_TimeZone).setCheck(Number),this.appendValueInput("Interval").appendField(Z.Msg.blynk_WidgetRTC_setSyncInterval).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Ps=[[Z.Msg.MIXLY_YEAR,"NTP.getDateYear()"],[Z.Msg.MIXLY_MONTH,"NTP.getDateMonth()"],[Z.Msg.MIXLY_DAY,"NTP.getDateDay()"],[Z.Msg.MIXLY_HOUR,"NTP.getTimeHour24()"],[Z.Msg.MIXLY_MINUTE,"NTP.getTimeMinute()"],[Z.Msg.MIXLY_SECOND,"NTP.getTimeSecond()"],[Z.Msg.MIXLY_WEEK,"NTP.getDateWeekday()"]];const ys={init:function(){this.setColour(0),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.NTP_server_get_time),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(new Z.FieldDropdown(Ps),"TIME_TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number)}},bs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Z.FieldImage(e(803),20,20)).appendField(Z.Msg.MQTT_SERVER),this.appendValueInput("server_add").appendField(Z.Msg.MQTT_SERVER_ADD).setCheck(String),this.appendValueInput("server_port").appendField(Z.Msg.MIXLY_ETHERNET_CLINET_PORT).setCheck(Number),this.appendValueInput("IOT_ID").appendField(Z.Msg.MIXLY_EMQX_USERNAME).setCheck(String),this.appendValueInput("IOT_PWD",String).appendField(Z.Msg.HTML_PASSWORD).setCheck([String,Number]),this.appendValueInput("Client_ID").appendField(Z.Msg.MQTT_Client_ID).setCheck(String),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},vs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Z.FieldImage(e(803),20,20)).appendField(Z.Msg.MIXLY_NETWORK_INIT),this.appendValueInput("SSID").appendField(Z.Msg.HTML_NAME),this.appendValueInput("PWD").appendField(Z.Msg.HTML_PASSWORD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},ws={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Z.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Z.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Z.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},Ys={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Z.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Vs={init:function(){this.setColour(0),this.appendDummyInput(),this.appendDummyInput("").appendField(Z.Msg.MIXLY_GET+Z.Msg.MIXLY_DEVICE).appendField(new Z.FieldDropdown([["MAC","MAC"],["IP","IP"]]),"mode").appendField(Z.Msg.MQTT_SERVER_ADD),this.setOutput(!0),this.setInputsInline(!0)}},ks={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Z.Msg.MQTT_connect),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}};var Xs=function(x){return x.replace(/\//g,"")};const Gs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Z.FieldImage(e(803),20,20)).appendField(Z.Msg.MQTT_publish),this.appendValueInput("data"),this.appendDummyInput("").appendField(Z.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.appendDummyInput().appendField(Z.Msg.MQTT_Topic).appendField(new Z.FieldTextInput("Topic",Xs),"Topic"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},Bs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MQTT_Topic).appendField(new Z.FieldTextInput("Topic_0",Xs),"Topic_0"),this.appendDummyInput("").appendField(Z.Msg.HTML_VALUE),this.setInputsInline(!0),this.setOutput(!0,String)}},Us={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MQTT_Topic),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Ws={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Z.Msg.MQTT_Topic+Z.Msg.MQTT_subscribe2).appendField(new Z.FieldTextInput("Topic_0",Xs),"Topic_0"),this.appendStatementInput("DO0").appendField(Z.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Z.icons.MutatorIcon(["MQTT_add_subscribe_topic"],this));var x=this;this.setTooltip((function(){return x.elseifCount_?x.elseifCount_?Z.Msg.CONTROLS_IF_TOOLTIP_3:void 0:Z.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),x},domToMutation:function(x){for(var f=this,e=[],t=this.elseifCount_;t>0;t--)this.removeInput("DummyInput"+t),f.getInputTargetBlock("DO"+t)&&f.getInputTargetBlock("DO"+t).previousConnection?e[t]=f.getInputTargetBlock("DO"+t).previousConnection:e[t]=null,this.removeInput("DO"+t);this.elseifCount_=parseInt(x.getAttribute("elseif"),10);for(t=1;t<=this.elseifCount_;t++)this.appendDummyInput("DummyInput"+t).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Z.Msg.MQTT_Topic+Z.Msg.MQTT_subscribe2).appendField(new Z.FieldTextInput("Topic_"+t,Xs),"Topic_"+t),this.appendStatementInput("DO"+t).appendField(Z.Msg.CONTROLS_IF_MSG_THEN);for(t=e.length-2;t>0;t--)e[t]&&e[t]&&e[t].reconnect(this,"DO"+t)},decompose:function(x){var f=x.newBlock("mqtt_topics_set");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("MQTT_add_subscribe_topic");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}return f},compose:function(x){for(var f=this.elseifCount_;f>0;f--)this.removeInput("DummyInput"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null];e;){if("MQTT_add_subscribe_topic"!==e.type)throw Error("Unknown block type: "+e.type);this.elseifCount_++,t.push(e.statementConnection_),e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){if("MQTT_add_subscribe_topic"!==f.type)throw"Unknown block type.";var t=this.getInput("DO"+e);f.statementConnection_=t&&t.connection.targetConnection,e++,f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){for(var x=[null],f=1;this.getInput("DummyInput"+f);){var e=this.getInput("DO"+f);x.push(e.connection.targetConnection),f++}this.updateShape_(),this.reconnectChildBlocks_(x)},updateShape_:function(){for(var x=1;this.getInput("DummyInput"+x);)this.removeInput("DummyInput"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendDummyInput("DummyInput"+x).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Z.Msg.MQTT_Topic+Z.Msg.MQTT_subscribe2).appendField(new Z.FieldTextInput("Topic_"+x,Xs),"Topic_"+x),this.appendStatementInput("DO"+x).appendField(Z.Msg.CONTROLS_IF_MSG_THEN)},reconnectChildBlocks_:function(x){for(var f=1;f<=this.elseifCount_;f++)x[f]&&x[f].reconnect(this,"DO"+f)}},Hs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.MIXLY_EMQX_SUBSCRIBE+Z.Msg.MQTT_Topic),this.appendStatementInput("STACK"),this.contextMenu=!1}},Ks={init:function(){this.appendDummyInput().appendField(Z.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(Z.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(Z.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Z.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Zs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Z.Msg.blynk_smartconfig).appendField(new Z.FieldDropdown([["SmartConfig","SmartConfig"],["AP","AP"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.MQTT_TEST_TOOLTIP)}},zs={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(244),25,25,"*")).appendField(Z.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(Z.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+":").appendField(new Z.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.appendValueInput("SSID").setCheck(null).appendField("WIFI "+Z.Msg.HTML_NAME),this.appendValueInput("PSK").setCheck(null).appendField("WIFI "+Z.Msg.HTML_PASSWORD),this.appendValueInput("IP1").setCheck(null).appendField(Z.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(Z.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(Z.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(Z.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},js={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(244),25,25,"*")).appendField(Z.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(Z.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+": AP+STA"),this.appendValueInput("SSID1").setCheck(null).appendField("WIFI "+Z.Msg.HTML_NAME+"(STA)"),this.appendValueInput("SSID2").setCheck(null).appendField("WIFI "+Z.Msg.HTML_NAME+"(AP)"),this.appendValueInput("PSK1").setCheck(null).appendField("WIFI "+Z.Msg.HTML_PASSWORD+"(STA)"),this.appendValueInput("PSK2").setCheck(null).appendField("WIFI "+Z.Msg.HTML_PASSWORD+"(AP)"),this.appendValueInput("IP1").setCheck(null).appendField(Z.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(Z.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(Z.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(Z.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Js={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(244),25,25,"*")).appendField(Z.Msg.CONTROLS_IF_MSG_IF+" WIFI UDP "+Z.Msg.MIXLY_STM32_SPI_DATA_RECEIVED+"?"),this.appendValueInput("input_data").setCheck(null).appendField(Z.Msg.PROCEDURES_CALL_BEFORE_PARAMS),this.appendDummyInput().appendField("("+Z.Msg.LANG_MATH_STRING+")"),this.appendStatementInput("do").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},qs={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(244),25,25,"*")).appendField("WIFI UDP "+Z.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},Qs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Z.Msg.WeatherGet).appendField(new Z.FieldTextInput("北京"),"data").appendField("1","check"),this.setOutput(!0,Boolean),this.setTooltip("输入正确的城市名(不用带“市”字)如:深圳 北京 广州,如果错误会显示'error'刷新成功则返回true\n天气接口优化注意:\n1. 接口每 8 小时更新一次,机制是 CDN 缓存 8 小时更新一次。注意:自己做缓存。\n2. 接口采用城市 ID 来精准查询请求,省份不能直接查询天气。\n3.每分钟阈值为 300 次,如果超过会禁用一天。请谨慎使用。")}},$s={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Z.Msg.WeatherGetToday).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_Humidity,"0"],["PM2.5","1"],["PM1.0","2"],[Z.Msg.TodayQuality,"3"],[Z.Msg.MIXLY_TEMPERATURE,"4"]]),"type"),this.setOutput(!0,Number),this.setTooltip("返回对应数据 字符串型。")}},xc={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Z.Msg.WeatherGetForecast).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_GPS_DATE,"ForecastDate"],[Z.Msg.ForecastHigh,"ForecastHigh"],[Z.Msg.ForecastLow,"ForecastLow"],[Z.Msg.ForecastYmd,"ForecastYmd"],[Z.Msg.MIXLY_WEEK,"ForecastWeek"],[Z.Msg.ForecastAqi,"ForecastAqi"],[Z.Msg.ForecastFx,"ForecastFx"],[Z.Msg.ForecastFl,"ForecastFl"],[Z.Msg.ForecastType,"ForecastType"]]),"type"),this.appendValueInput("date",Number).appendField(Z.Msg.MIXLY_GPS_DATE+"(0~14)"),this.setOutput(!0,Number),this.setTooltip("返回预报天气内容0表示当天,最大为14,字符串型。"),this.setInputsInline(!0)}},fc={init:function(){this.appendDummyInput().appendField(Z.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("server").setCheck(null).appendField(Z.Msg.blynk_SERVER_ADD),this.appendValueInput("port").setCheck(null).appendField(Z.Msg.MIXLY_EMQX_PORT),this.appendValueInput("mqtt_username").setCheck(null).appendField(Z.Msg.MIXLY_WIFI_USERNAME),this.appendValueInput("mqtt_password").setCheck(null).appendField(Z.Msg.MIXLY_WIFI_PASSWORD),this.appendValueInput("project").setCheck(null).appendField(Z.Msg.MIXLY_EMQX_PROJECT),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},ec={init:function(){this.appendDummyInput().appendField(Z.Msg.USE_MIXLY_KEY).appendField(new Z.FieldTextInput("1RFOH08C"),"key").appendField(Z.Msg.CONNECT_TO_MIXIO).appendField(Z.Msg.blynk_SERVER_ADD).appendField(new Z.FieldTextInput("mixio.mixly.cn"),"server"),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},tc={init:function(){this.appendValueInput("data").setCheck(null).appendField(Z.Msg.MQTT_SEND_MESSAGE),this.appendValueInput("topic").setCheck(null).appendField(Z.Msg.TO_TOPIC),this.appendDummyInput().appendField(new Z.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},ic={init:function(){this.appendValueInput("topic").setCheck(null).appendField(Z.Msg.WHEN_THE_SUBJECT_IS_RECEIVED),this.appendDummyInput().appendField(Z.Msg.MIXLY_MICROBIT_MSG).appendField(new Z.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.appendStatementInput("function").setCheck(null),this.setPreviousStatement(!1,null),this.setNextStatement(!1,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},nc={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(810),15,15,{alt:"*",flipRtl:"FALSE"})).appendField("ElegantOTA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("http://ip/update"),this.setHelpUrl("")}},sc="#777777",cc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField("#include <").appendField(new Z.FieldTextInput("Test"),"INCLUDE").appendField(".h>"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ac={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Z.FieldTextInput("function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Z.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var x=document.createElement("mutation");x.setAttribute("items",this.itemCount_);for(var f=0;f0&&x","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(_a),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Z.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{EQ:Z.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Z.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Z.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Z.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Z.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Z.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[x]})),this.prevBlocks_=[null,null]}},ha={init:function(){var x=[[Z.Msg.LOGIC_OPERATION_AND,"AND"],[Z.Msg.LOGIC_OPERATION_OR,"OR"]];this.setColour(_a),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Z.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{AND:Z.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Z.Msg.LOGIC_OPERATION_TOOLTIP_OR}[x]}))}},Aa={init:function(){this.setColour(_a),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Z.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Z.Msg.LOGIC_NEGATE_TOOLTIP)}},Ia={init:function(){var x=[[Z.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Z.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(_a),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Z.FieldDropdown(x),"BOOL"),this.setTooltip(Z.Msg.LOGIC_BOOLEAN_TOOLTIP)}},ga={init:function(){this.setColour(_a),this.setOutput(!0),this.appendDummyInput().appendField(Z.Msg.LOGIC_NULL),this.setTooltip(Z.Msg.LOGIC_NULL_TOOLTIP)}},Ta={init:function(){this.setColour(_a),this.appendValueInput("A"),this.appendValueInput("B").appendField(Z.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Z.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Ea=230;Z.FieldTextInput.math_number_validator=function(x){return String(x)};const Ca={init:function(){this.setColour(Ea),this.appendDummyInput().appendField(new Z.FieldTextInput("0",Z.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MATH_NUMBER_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id2")}},Ma={init:function(){var x=[[Z.Msg.MATH_ADDITION_SYMBOL,"ADD"],[Z.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[Z.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[Z.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[Z.Msg.MATH_QUYU_SYMBOL,"QUYU"],[Z.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setColour(Ea),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(null),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id4"),this.appendValueInput("B").setCheck(null).appendField(new Z.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{ADD:Z.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Z.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Z.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Z.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Z.Msg.MATH_MODULO_TOOLTIP,POWER:Z.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[x]}))}},ma={init:function(){this.setColour(Ea),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Z.FieldDropdown([["&","&"],["|","|"],["xor","^"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id8")}},Oa={init:function(){this.setColour(Ea),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Z.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"],["++","++"],["--","--"],["~","~"]]),"OP");var x=this;this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id17"),this.setTooltip((function(){var f=x.getFieldValue("OP");return{SIN:Z.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Z.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Z.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Z.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Z.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Z.Msg.MATH_TRIG_TOOLTIP_ATAN}[f]}))}},Ra={init:function(){var x=[[Z.Msg.LANG_MATH_TO_ROUND,"round"],[Z.Msg.LANG_MATH_TO_CEIL,"ceil"],[Z.Msg.LANG_MATH_TO_FLOOR,"floor"],[Z.Msg.MATH_ABS,"abs"],[Z.Msg.MATH_SQ,"sq"],[Z.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ea),this.appendValueInput("A").setCheck(Number).appendField(new Z.FieldDropdown(x),"OP"),this.setOutput(!0,Number),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id18");var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{sqrt:Z.Msg.MATH_SINGLE_TOOLTIP_ROOT,abs:Z.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Z.Msg.MATH_SINGLE_TOOLTIP_SQ,log:Z.Msg.MATH_SINGLE_TOOLTIP_LN,round:Z.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Z.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Z.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[x]}))}},Sa={init:function(){var x=[[Z.Msg.LANG_MATH_INT,"int"],[Z.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Z.Msg.LANG_MATH_WORD,"word"],[Z.Msg.LANG_MATH_LONG,"long"],[Z.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Z.Msg.LANG_MATH_FLOAT,"float"],[Z.Msg.LANG_MATH_DOUBLE,"double"],[Z.Msg.LANG_MATH_BOOLEAN,"boolean"],[Z.Msg.LANG_MATH_BYTE,"byte"],[Z.Msg.LANG_MATH_CHAR,"char"],[Z.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Z.Msg.LANG_MATH_STRING,"String"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];this.appendDummyInput().appendField(new Z.FieldDropdown(x),"variate_type"),this.setOutput(!0,null),this.setColour(Ea),this.setTooltip(""),this.setHelpUrl("")}},Da={init:function(){this.appendValueInput("data").setCheck(null).appendField(Z.Msg.MIXLY_GET+" "+Z.Msg.MIXLY_I2C_BYTES),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Ea),this.setTooltip(""),this.setHelpUrl("")}},La={init:function(){var x=[[Z.Msg.MIXLY_MAX,"max"],[Z.Msg.MIXLY_MIN,"min"]];this.setColour(Ea),this.appendValueInput("A").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(new Z.FieldDropdown(x),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Z.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#min-max"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{max:Z.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Z.Msg.MIXLY_TOOLTIP_MATH_MIN}[x]}))}},Na={init:function(){this.setColour(Ea),this.appendValueInput("NUM").setCheck(Number).appendField(Z.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#randomseed")}},Pa={init:function(){this.setColour(Ea),this.setOutput(!0,Number),this.appendValueInput("FROM").setCheck(Number).appendField(Z.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0),this.setTooltip(Z.Msg.MATH_RANDOM_INT_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#random")}},ya={init:function(){this.setColour(Ea),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Z.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Z.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Z.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Z.Msg.MATH_CONSTRAIN_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#constrain")}},ba={init:function(){this.setColour(Ea),this.appendValueInput("NUM",Number).appendField(Z.Msg.MIXLY_MAP).appendField(new Z.FieldDropdown([[Z.Msg.LANG_MATH_INT,"map_int"],[Z.Msg.LANG_MATH_FLOAT,"map_float"]]),"maptype").setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Z.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Z.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_MATH_MAP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#map")}},va={init:function(){this.setColour(Ea),this.appendValueInput("variables").setCheck(null),this.appendValueInput("data").setCheck(null).appendField(new Z.FieldDropdown([["+=","+"],["-=","-"],["*=","*"],["/=","/"]]),"type"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl("")}},wa={init:function(){this.appendValueInput("math_auto_add_minus_output").setCheck(null),this.appendDummyInput().appendField(new Z.FieldDropdown([["++","++"],["--","--"]]),"math_auto_add_minus_type"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ea),this.setTooltip(""),this.setHelpUrl("")}},Ya=230,Va={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.digital),"PIN"),this.setOutput(!0,Number)}},ka={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.analog),"PIN"),this.setOutput(!0,Number)}},Xa={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.pwm),"PIN"),this.setOutput(!0,Number)}},Ga={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.interrupt),"PIN"),this.setOutput(!0,Number)}},Ba={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.MOSI),"PIN"),this.setOutput(!0,Number)}},Ua={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.MISO),"PIN"),this.setOutput(!0,Number)}},Wa={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.SCK),"PIN"),this.setOutput(!0,Number)}},Ha={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},Ka={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(new Z.FieldDropdown(z.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},Za=290,za={init:function(){var x=Z.Procedures.findLegalName("",this),f=new Z.FieldTextInput(x,Z.Procedures.rename);f.setSpellcheck(!1),this.appendDummyInput().appendField(Z.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(f,"NAME").appendField("","PARAMS"),this.setMutator(new Z.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Z.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Z.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Z.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Z.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentstype_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(x){this.hasStatements_!==x&&(x?(this.appendStatementInput("STACK").appendField(Z.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=x)},updateParams_:function(){var x="";this.arguments_.length&&(x=Z.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Z.Events.disable();try{this.setFieldValue(x,"PARAMS")}finally{Z.Events.enable()}},mutationToDom:function(x){var f=Z.utils.xml.createElement("mutation");x&&f.setAttribute("name",this.getFieldValue("NAME"));for(var e=0;e1&&"\\"===x.charAt(0)){var f=x.charAt(1);if("0"===f||"b"===f||"f"===f||"n"===f||"r"===f||"t"===f||"\\"===f||"'"===f)return String(x).substring(0,2);if("x"===f&&"0"===x.charAt(2)&&"B"===x.charAt(3))return String(x).substring(0,4)}return String(x).substring(0,1)};const Jd={init:function(){this.setColour(zd),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Z.FieldTextInput("",Z.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Z.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(x){if(1==x)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKlJREFUGNNVkD0LwkAMhlNsnUvBH+DmKnXoeODgWgXBsaOj+AGuVfTys8318l7OTA/hTe7JEWmVNwekA/fAHfNSsVoxew0/mfkbeSvo6wkLSbx0tJH2XdPS/pClsfxs7TA5WOQNl5M9X3bMF8RlS608z+JhFOZNMowybftw4GDvjHmTsc84PJJ4iPbgWcZVxuEUMHXKvS2dZHVgxJHpV4qr4Brei+Oe/usHT1JfDpNGeM0AAAAASUVORK5CYII=";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKpJREFUGNNV0bEKAjEMBuActOd6KIKrg+h4cII3Cg6u5yA6Ot4DONxcUfPYJmnaxn/6KEmaUoD/LK+XxAUibhuhR85bvBLjQHR99DqXIL7ItTo0xdyQ3RrvjWlQZQyT8cnYjcXgbl2XzBmNe5kv4WUfar6kUc9o56N6nh4Zy1NrHZ8iuSN+lB5LCR0HnXIuy/hd7qymUs3bf7WajsNQrn9CHr7Jn+IOaUH4ATxJW2wDnL5kAAAAAElFTkSuQmCC";return new Z.FieldImage(f,7,12,'"')}},qd={init:function(){this.setColour(zd),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Z.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Qd={init:function(){var x=[[Z.Msg.MIXLY_TO_INT,"toInt"],[Z.Msg.MIXLY_TO_FLOAT,"toFloat"]];this.setColour(zd),this.appendValueInput("VAR").setCheck([String,Number]).appendField(new Z.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("TOWHAT");return{toInt:Z.Msg.MIXLY_TOOLTIP_TEXT_TOINT,toFloat:Z.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[x]}))}},$d={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck(Number).appendField(Z.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},xp={init:function(){this.setColour(zd),this.appendDummyInput().appendField(Z.Msg.MIXLY_TOASCII).appendField("'").appendField(new Z.FieldTextInput("",Z.FieldTextInput.char_validator),"TEXT").appendField("'"),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},fp={init:function(){var x=[[Z.Msg.MATH_BIN,"BIN"],[Z.Msg.MATH_OCT,"OCT"],[Z.Msg.MATH_DEC,"DEC"],[Z.Msg.MATH_HEX,"HEX"]];this.setColour(zd),this.appendValueInput("VAR").setCheck(Number).appendField(Z.Msg.MIXLY_TOSTRING).appendField(new Z.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,String),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},ep={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck(Number).appendField(Z.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},tp={init:function(){this.setColour(zd),this.appendValueInput("VAR").appendField(Z.Msg.MIXLY_LENGTH).setCheck(String),this.setOutput(!0,Number),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ip={init:function(){this.setColour(zd),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").appendField(Z.Msg.TEXT_CHARAT).setCheck(Number),this.appendDummyInput().appendField(Z.Msg.TEXT_CHARAT2),this.setOutput(!0,Number),this.setInputsInline(!0);var x=this;this.setTooltip((function(){return Z.Msg.MIXLY_TOOLTIP_TEXT_FIND_CHAR_AT.replace("%1",Z.Arduino.valueToCode(x,"VAR",Z.Arduino.ORDER_ATOMIC))}))}},np={init:function(){var x=[[Z.Msg.MIXLY_EQUALS,"equals"],[Z.Msg.MIXLY_STARTSWITH,"startsWith"],[Z.Msg.MIXLY_ENDSWITH,"endsWith"]];this.setColour(zd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(new Z.FieldDropdown(x),"DOWHAT").setCheck([String,Number]),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("DOWHAT"),e={equals:Z.Msg.MIXLY_EQUALS,startsWith:Z.Msg.MIXLY_STARTSWITH,endsWith:Z.Msg.MIXLY_ENDSWITH};return Z.Msg.MIXLY_TOOLTIP_TEXT_EQUALS_STARTS_ENDS.replace("%1",e[x]).replace("%2",Z.Arduino.valueToCode(f,"STR2",Z.Arduino.ORDER_ATOMIC))}))}},sp={init:function(){this.setColour(zd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(Z.Msg.MIXLY_COMPARETO).setCheck([String,Number]),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Z.Msg.MIXLY_COMPARETO_HELP)}},cp={init:function(){this.setColour(zd),this.appendValueInput("numeral").setCheck(null).appendField(Z.Msg.LANG_MATH_FLOAT),this.appendValueInput("decimal_places").setCheck(null).appendField(Z.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Z.Msg.TEXT_DECIMAL),this.setOutput(!0,null),this.setTooltip(Z.Msg.DECIMAL_PLACES_HELP),this.setHelpUrl("")}},ap={init:function(){this.appendValueInput("name").setCheck(null),this.appendValueInput("Start").setCheck(null).appendField(Z.Msg.LISTS_GET_INDEX_GET),this.appendValueInput("end").setCheck(null).appendField(Z.Msg.TEXT_TO),this.appendDummyInput().appendField(Z.Msg.LANG_MATH_STRING),this.setOutput(!0,null),this.setColour(zd),this.setTooltip(Z.Msg.SUBSTRING_HELP),this.setHelpUrl("")}},lp={init:function(){this.appendValueInput("String").setCheck(null).appendField(Z.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(Z.Msg.LETTERS_ARE_CONVERTED_TO).appendField(new Z.FieldDropdown([[Z.Msg.CAPITAL,".toUpperCase()"],[Z.Msg.LOWER_CASE,".toLowerCase()"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(zd),this.setTooltip(Z.Msg.LETTER_CONVERSION_HELP),this.setHelpUrl("")}},dp={init:function(){this.appendValueInput("String").setCheck(null).appendField(Z.Msg.STRING_VARIABLE),this.appendValueInput("source_data").setCheck(null).appendField(Z.Msg.LANG_MATH_STRING),this.appendValueInput("replace").setCheck(null).appendField(Z.Msg.REPLACE_WITH),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(zd),this.setTooltip(Z.Msg.DATA_REPLACEMENT_HELP),this.setHelpUrl("")}},pp={init:function(){this.appendValueInput("String").setCheck(null).appendField(Z.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(Z.Msg.ELIMINATE_NON_VISUAL_CHARACTERS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(zd),this.setTooltip(Z.Msg.ELIMINATE_HELP),this.setHelpUrl("")}},op={init:function(){this.appendValueInput("String").setCheck(null).appendField(Z.Msg.LANG_MATH_STRING),this.appendValueInput("String1").setCheck(null).appendField(Z.Msg.AS_A_STRING),this.appendDummyInput().appendField(new Z.FieldDropdown([[Z.Msg.STARTSWITH,".startsWith"],[Z.Msg.ENDSWITH,".endsWith"]]),"type"),this.setOutput(!0,null),this.setColour(zd),this.setTooltip(Z.Msg.FIRST_AND_LAST_HELP),this.setHelpUrl("")}},up={init:function(){this.appendValueInput("variable").setCheck(null).appendField(Z.Msg.DATA_TYPE_CONVERSION).appendField(new Z.FieldDropdown([[Z.Msg.LANG_MATH_STRING,"String"],[Z.Msg.LANG_MATH_CHAR,"char"],[Z.Msg.LANG_MATH_BYTE,"byte"],[Z.Msg.LANG_MATH_INT,"int"],[Z.Msg.LANG_MATH_LONG,"long"],[Z.Msg.LANG_MATH_FLOAT,"float"],[Z.Msg.LANG_MATH_WORD,"word"]]),"type"),this.setOutput(!0,null),this.setColour(zd),this.setTooltip(Z.Msg.TYPE_CONVERSION_HELP),this.setHelpUrl("")}},rp={init:function(){this.setColour(zd),this.appendDummyInput().appendField(Z.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},_p={init:function(){this.setColour(zd),this.appendDummyInput().appendField(Z.Msg.HTML_TEXT),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},Fp={init:function(){this.appendValueInput("str1").setCheck(null),this.appendDummyInput().setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.PROCEDURES_DEFRETURN_RETURN),this.appendValueInput("str2").setCheck(null),this.appendDummyInput().setAlign(Z.inputs.Align.RIGHT).appendField(Z.Msg.SERIES_INDEX),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(160),this.setTooltip(),this.setHelpUrl("")}},hp={init:function(){this.setColour(zd),this.appendDummyInput("").appendField(Z.Msg.MIXLY_TEXT_JOIN+Z.Msg.MIXLY_MICROBIT_TYPE_STRING),this.itemCount_=3,this.updateShape_(),this.setInputsInline(!0),this.setOutput(!0,null),this.setMutator(new Z.icons.MutatorIcon(["create_with_item"],this)),this.setTooltip("")},mutationToDom:function(){var x=Z.utils.xml.createElement("mutation");return x.setAttribute("items",this.itemCount_),x},domToMutation:function(x){this.itemCount_=parseInt(x.getAttribute("items"),10),this.updateShape_()},decompose:function(x){var f=x.newBlock("create_with_container");f.initSvg();for(var e=f.getInput("STACK").connection,t=0;t0&&(f.setAlign(Z.inputs.Align.RIGHT),f.appendField("+"))}}},Ap={init:function(){this.appendDummyInput().appendField(Z.Msg.ARDUINOJSON_STRING_PARSING),this.appendDummyInput("").appendField(new Z.FieldMultilineInput('const size_t capacity = JSON_ARRAY_SIZE(3) + 10;\nDynamicJsonBuffer jsonBuffer(capacity);\nconst char* json = "[\\"0\\",\\"74\\",\\"134\\"]";\nJsonArray& root = jsonBuffer.parseArray(json);\nconst char* root_0 = root[0]; // "0"\nconst char* root_1 = root[1]; // "74"\nconst char* root_2 = root[2]; // "134"'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(120),this.setTooltip(Z.Msg.ARDUINOJSON_STRING_PARSING1),this.setHelpUrl("https://arduinojson.org/v5/assistant/")}},Ip={init:function(){this.appendValueInput("data").setCheck(null).appendField(Z.Msg.MIXLY_MICROBIT_TYPE_STRING+Z.Msg.A_TO_B+Z.Msg.LANG_MATH_LONG).appendField(new Z.FieldDropdown([[Z.Msg.MATH_HEX,"16"],[Z.Msg.MATH_DEC,"10"],[Z.Msg.MATH_OCT,"8"],[Z.Msg.MATH_BIN,"2"],[Z.Msg.blynk_IOT_AUTO,"0"]]),"type"),this.setOutput(!0,null),this.setColour(zd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/lizhengze1117/article/details/103318662?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base")}},gp="#555555",Tp={init:function(){this.setColour(gp),this.appendDummyInput("").appendField(Z.Msg.MIXLY_CONTROL_NOTES).appendField(new Z.FieldMultilineInput(""),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ep={init:function(){this.setColour(gp),this.appendDummyInput().appendField(new Z.FieldTextInput(Z.Msg.FOLDING_BLOCK),"peien"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Z.Msg.FOLDING_BLOCK_HELP)}},Cp={init:function(){this.setColour(gp),this.appendDummyInput("").appendField(Z.Msg.IICSCAN),this.setInputsInline(!0),this.setTooltip("")}},Mp={init:function(){this.setColour(260),this.appendDummyInput("").appendField(Z.Msg.OLED_BITMAP_NAME).appendField(new Z.FieldTextInput("mylist"),"VAR").appendField("[").appendField(new Z.FieldTextInput("3"),"x").appendField("]"),this.appendDummyInput("").appendField(Z.Msg.SAVETO+" flash").appendField(new Z.FieldCheckbox("true"),"save_hz"),this.appendValueInput("input_data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},mp={init:function(){this.appendDummyInput().appendField("点阵格式").appendField(new Z.FieldDropdown([["阴码","1"],["阳码","2"]]),"bitmap_formats").appendField(" 取模方式").appendField(new Z.FieldDropdown([["逐列式","1"],["逐行式","2"],["列行式","3"],["行列式","4"]]),"modulus_way").appendField(" 取模走向").appendField(new Z.FieldDropdown([["顺向(高位在前)","1"],["逆向(低位在前)","2"]]),"modulus_direction"),this.appendDummyInput().appendField(Z.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Z.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"]]),"hz_sharp").appendField(Z.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new Z.FieldTextInput("16"),"hz_line_height").appendField("px").appendField(Z.Msg.MIXLY_WIDTH).appendField(new Z.FieldTextInput("16"),"bitmap_width").appendField("px "+Z.Msg.MIXLY_HEIGHT).appendField(new Z.FieldTextInput("16"),"bitmap_height").appendField("px"),this.appendDummyInput().appendField("输入数据").appendField(new Z.FieldTextInput(""),"input_data"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(180),this.setTooltip(""),this.setHelpUrl("")}},Op={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(533),525,372,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},Rp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(711),525,368,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},Sp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(775),525,736,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},Dp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(169),525,371,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},Lp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(945),525,371,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},Np={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(741),525,376,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},Pp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(624),525,376,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},yp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(392),500,376,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},bp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(288),500,350,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},vp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(101),525,346,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},wp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(319),525,264,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl()}},Yp={init:function(){this.appendDummyInput().appendField(new Z.FieldImage(e(715),525,376,"*")),this.setColour(gp),this.setTooltip(),this.setHelpUrl("https://blog.csdn.net/xatsoft/article/details/90687016?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase")}},Vp={init:function(){this.appendDummyInput().appendField(Z.Msg.GET_THE_DIFFERENCE_BETWEEN_TWO_DATES),this.appendValueInput("year_start").setCheck(null).appendField(Z.Msg.START+Z.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_start").setCheck(null).appendField(Z.Msg.START+Z.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_start").setCheck(null).appendField(Z.Msg.START+Z.Msg.MIXLY_GPS_DATE_DAY),this.appendValueInput("year_end").setCheck(null).appendField(Z.Msg.END+Z.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_end").setCheck(null).appendField(Z.Msg.END+Z.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_end").setCheck(null).appendField(Z.Msg.END+Z.Msg.MIXLY_GPS_DATE_DAY),this.setOutput(!0,null),this.setColour(gp),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/a_ran/article/details/43601699?utm_source=distribute.pc_relevant.none-task")}};var kp=[["D0","16"],["D1","5"],["D2","4"],["D3","0"],["D4","2"],["D5","14"],["D6","12"],["D7","13"],["D8","15"],["RX","3"],["TX","1"],["A0","A0"],["SD3","10"],["SD2","9"]];const Xp={init:function(){this.appendDummyInput().appendField("ESP8266 GPIO").appendField(new Z.FieldDropdown(kp),"pin"),this.setOutput(!0,null),this.setColour(gp),this.setTooltip(""),this.setHelpUrl("")}},Gp=330;var Bp=[[Z.Msg.LANG_MATH_INT,"int"],[Z.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Z.Msg.LANG_MATH_WORD,"word"],[Z.Msg.LANG_MATH_LONG,"long"],[Z.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Z.Msg.LANG_MATH_FLOAT,"float"],[Z.Msg.LANG_MATH_DOUBLE,"double"],[Z.Msg.LANG_MATH_BOOLEAN,"boolean"],[Z.Msg.LANG_MATH_BYTE,"byte"],[Z.Msg.LANG_MATH_CHAR,"char"],[Z.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Z.Msg.LANG_MATH_STRING,"String"],["char*","char*"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];const Up={init:function(){this.setColour(Gp),this.appendValueInput("VALUE",null).appendField(Z.Msg.MIXLY_DECLARE).appendField(new Z.FieldDropdown([[Z.Msg.MIXLY_GLOBAL_VARIABLE,"global_variate"],[Z.Msg.MIXLY_LOCAL_VARIABLE,"local_variate"]]),"variables_type").appendField(new Z.FieldTextInput("item"),"VAR").appendField(Z.Msg.MIXLY_AS).appendField(new Z.FieldDropdown(Bp),"TYPE").appendField(Z.Msg.MIXLY_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_VARIABLES_DECLARE)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){Z.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Wp={init:function(){this.setColour(Gp),this.appendDummyInput().appendField(new Z.FieldTextInput("item"),"VAR"),this.setOutput(!0),this.setTooltip(Z.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){Z.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Hp={init:function(){this.setColour(Gp),this.appendValueInput("VALUE").appendField(new Z.FieldTextInput("item"),"VAR").appendField(Z.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Z.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){Z.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Kp={init:function(){this.setColour(Gp);var x=[[Z.Msg.LANG_MATH_INT,"int"],[Z.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Z.Msg.LANG_MATH_WORD,"word"],[Z.Msg.LANG_MATH_LONG,"long"],[Z.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Z.Msg.LANG_MATH_FLOAT,"float"],[Z.Msg.LANG_MATH_DOUBLE,"double"],[Z.Msg.LANG_MATH_BOOLEAN,"boolean"],[Z.Msg.LANG_MATH_BYTE,"byte"],[Z.Msg.LANG_MATH_CHAR,"char"],[Z.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Z.Msg.LANG_MATH_STRING,"String"]];this.appendValueInput("MYVALUE").appendField(new Z.FieldDropdown(x),"OP"),this.setOutput(!0),this.setTooltip(Z.Msg.MIXLY_TOOLTIP_VARIABLES_CHANGE)}},Zp=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),i=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".write("+t+");\ndelay("+i+");\n"},zp=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".writeMicroseconds("+t+");\n"},jp=function(x,f){var e=this.getFieldValue("PIN");return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");",["servo_"+e+".read()",f.ORDER_ATOMIC]},Jp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),n=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".write("+i+");\ndelay("+n+");\n"},qp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".writeMicroseconds("+i+");\n"},Qp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN");return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");",["servo_"+t+".read()",f.ORDER_ATOMIC]},$p=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},xo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i="";return window.isNaN(e)?i=i+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",i+="tone("+e+","+t+");\n"},fo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t="";return window.isNaN(e)?t=t+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",t+="noTone("+e+");\n"},eo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i=f.valueToCode(this,"DURATION",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_NewTone="#include ",f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewTone("+e+","+t+","+i+");\n"},to=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewNoTone("+e+");\n"},io=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),Z.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"steps",f.ORDER_ATOMIC),s=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+n+","+t+","+i+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+s+");",""},no=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),Z.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"PIN3",f.ORDER_ATOMIC),s=f.valueToCode(this,"PIN4",f.ORDER_ATOMIC),c=f.valueToCode(this,"steps",f.ORDER_ATOMIC),a=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+c+","+t+","+i+","+n+","+s+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+a+");",""},so=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),Z.Variables.NAME_TYPE),t=f.valueToCode(this,"step",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",e+".step("+t+");\n"},co=function(x,f){var e=this.getFieldValue("COLOR");return[e="0x"+e.substring(1,e.length),f.ORDER_NONE]},ao=function(x,f){return["(("+f.valueToCode(this,"R",f.ORDER_ATOMIC)+" & 0xffffff) << 16) | (("+f.valueToCode(this,"G",f.ORDER_ATOMIC)+" & 0xffffff) << 8) | "+f.valueToCode(this,"B",f.ORDER_ATOMIC),f.ORDER_NONE]},lo=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("TYPE"),i=f.valueToCode(this,"LEDCOUNT",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.definitions_["var_declare_rgb_display"+e]="Adafruit_NeoPixel rgb_display_"+e+" = Adafruit_NeoPixel("+i+","+e+","+t+" + NEO_KHZ800);",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();",""},po=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();","rgb_display_"+e+".setBrightness("+t+");\n"},oo=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"_LED_",f.ORDER_ATOMIC),i=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);return"rgb_display_"+e+".setPixelColor(("+t+")-1, "+(i=i.replace(/#/g,"0x"))+");\n"},uo=function(x,f){var e=this.getFieldValue("PIN");return"rgb_display_"+e+".setPixelColor(("+f.valueToCode(this,"_LED_",f.ORDER_ATOMIC)+")-1, rgb_display_"+e+".ColorHSV("+f.valueToCode(this,"H",f.ORDER_ATOMIC)+","+f.valueToCode(this,"S",f.ORDER_ATOMIC)+","+f.valueToCode(this,"V",f.ORDER_ATOMIC)+"));\n"},ro=function(){var x=z.JSFuncs.getPlatform(),f=this.getFieldValue("PIN"),e="rgb_display_"+f+".show();\n";return x.match(RegExp(/ESP32/))&&(e+="rgb_display_"+f+".show();\n"),e},_o=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"WAIT",f.ORDER_ATOMIC);f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();\n";var i="uint32_t Wheel(byte WheelPos){\n if(WheelPos < 85){\n return rgb_display_"+e+".Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n }\n else if(WheelPos < 170){\n WheelPos -= 85;\n return rgb_display_"+e+".Color(255 - WheelPos * 3, 0, WheelPos * 3);\n }\n else{\n WheelPos -= 170;\n return rgb_display_"+e+".Color(0, WheelPos * 3, 255 - WheelPos * 3);\n }\n}\n";f.definitions_.Wheel=i;var n="void rainbow(uint8_t wait){\n uint16_t i, j;\n for(j=0; j<256; j++){\n for(i=0; i 0) {\n digitalWrite(dirpin1, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin1, HIGH);\n analogWrite(speedpin, -speed);\n }\n}\n";return f.definitions_[n]=s,i},Io=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i="setMotor8833("+e+", "+t+", "+(f.valueToCode(this,"speed",f.ORDER_ASSIGNMENT)||"0")+");\n";f.setups_["setup_output_"+e+t+"_S"]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+e+t+"_D"]="pinMode("+t+", OUTPUT);",f.setups_["setup_output_"+e+t+"_S_W"]="digitalWrite("+e+", LOW);",f.setups_["setup_output_"+e+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor8833",s="void "+n+"(int speedpin, int dirpin, int speed) {\n if (speed == 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } else if (speed > 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return f.definitions_[n]=s,i},go=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("VOICE"),i=f.valueToCode(this,"WAIT",f.ORDER_ASSIGNMENT)||"0";f.setups_.setup_output_sda="pinMode("+e+", OUTPUT);";var n="send_data("+t+"); //volume control 0xE0-E7;\n";n+="delay("+i+");\n";var s="void send_data(int addr) {\n int i;\n digitalWrite("+e+", LOW);\n delay(3); //>2ms\n for (i = 0; i < 8; i++) {\n digitalWrite("+e+", HIGH);\n if (addr & 1) {\n delayMicroseconds(2400); //>2400us\n digitalWrite("+e+", LOW);\n delayMicroseconds(800);\n } //>800us\n else {\n delayMicroseconds(800); //>800us\n digitalWrite("+e+", LOW);\n delayMicroseconds(2400);\n } //>2400us\n addr >>= 1;\n }\n digitalWrite("+e+", HIGH);\n}\n";return f.definitions_.funcName=s,n},To=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+"."+i+"\n"},Eo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("DEVICEID");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setDevice("+i+");\n"},Co=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("LOOP_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setLoopMode("+i+");\n"},Mo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("EQ_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setEqualizer("+i+");\n"},mo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"vol",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setVolume("+i+");\n"},Oo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".playFileByIndexNumber("+i+");\n"},Ro=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor"),t=this.getFieldValue("direction"),i=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed("+i+");\n motor"+e+".run("+t+");\n"},So=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor");return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed(0);\n motor"+e+".run(RELEASE);\n"},Do=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"dfplayer_pin",f.ORDER_ATOMIC);f.definitions_.include_Arduino='#include "generator.h"',f.definitions_.include_DFRobotDFPlayerMini='#include "DFRobotDFPlayerMini.h"',f.definitions_["var_declare_DFPlayerMini_"+e]="DFRobotDFPlayerMini "+e+";",f.setups_["setup_DFPlayerMini_"+e]=e+".begin("+t+");";return""},Lo=function(x,f){var e=this.getFieldValue("pin_type");return f.definitions_.include_SoftwareSerial="#include ",[e,f.ORDER_ATOMIC]},No=function(x,f){return this.getFieldValue("dfplayer_name")+".setTimeOut("+f.valueToCode(this,"timeout_data",f.ORDER_ATOMIC)+");\n"},Po=function(x,f){return this.getFieldValue("dfplayer_name")+".volume("+f.valueToCode(this,"volume_data",f.ORDER_ATOMIC)+");\n"},yo=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("volume_type")+"();\n"},bo=function(x,f){return this.getFieldValue("dfplayer_name")+".EQ("+f.valueToCode(this,"eq_data",f.ORDER_ATOMIC)+");\n"},vo=function(x,f){return[this.getFieldValue("eq_type"),f.ORDER_ATOMIC]},wo=function(x,f){return this.getFieldValue("dfplayer_name")+".outputDevice("+f.valueToCode(this,"outputdevice_data",f.ORDER_ATOMIC)+");\n"},Yo=function(x,f){return[this.getFieldValue("outputdevice_type"),f.ORDER_ATOMIC]},Vo=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("set_data")+"();\n"},ko=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"play_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("play_type")+"("+t+");\n"},Xo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"fold_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("fold_type")+"("+t+", "+f.valueToCode(this,"play_data",f.ORDER_ATOMIC)+");\n"},Go=function(x,f){return this.getFieldValue("dfplayer_name")+".loopFolder("+f.valueToCode(this,"fold_data",f.ORDER_ATOMIC)+");\n"},Bo=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("read_type")+"()",f.ORDER_ATOMIC]},Uo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"device_type",f.ORDER_ATOMIC);return[e+"."+this.getFieldValue("play_data")+"("+t+")",f.ORDER_ATOMIC]},Wo=function(x,f){return[this.getFieldValue("dfplayer_name")+".readFileCountsInFolder("+f.valueToCode(this,"folder_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Ho=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("type")+"()",f.ORDER_ATOMIC]},Ko=function(x,f){var e=this.getFieldValue("motor"),t=f.valueToCode(this,"SPEED",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_PWMServoDriver="#include ",f.definitions_.var_declare_Adafruit_PWMServoDriver="Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();",f.setups_.setup_pwm_begin="pwm.begin();\npwm.setOscillatorFrequency(27000000);\npwm.setPWMFreq(400);\nWire.setClock(400000);",f.definitions_.motor="void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n","motor("+e+","+t+");\n"},Zo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]="mp3_"+e+".begin();","mp3_"+e+"."+t+"\n"},zo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_volume("+t+");\n"},jo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_play_number("+t+");\n"},Jo=function(){return""},qo=function(x,f){let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);isNaN(t.charAt(2))||(t=t.replace(/"/g,"").replace(/\./g,","),t="IPAddress("+t+")");let i=z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_smartconfig='WiFi.mode(WIFI_STA);\n int cnt = 0;\n while (WiFi.status() != WL_CONNECTED) {\n delay(500); \n Serial.print("."); \n if (cnt++ >= 10) {\n WiFi.beginSmartConfig();\n while (1) {\n delay(1000);\n if (WiFi.smartConfigDone()) {\n Serial.println();\n Serial.println("SmartConfig: Success");\n break;\n }\n Serial.print("|");\n }\n }\n }\n WiFi.printDiag(Serial);\n',i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.setups_.setup_smartconfig+="Blynk.config(auth,"+t+",8080);";return"Blynk.run();\n"},Qo=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),n=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),s=z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+i+";",f.definitions_.var_declare_wifi_ssid="char ssid[] = "+e+";",f.definitions_.var_declare_wifi_pass="char pass[] = "+t+";",s.match(RegExp(/AVR/))&&(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.define_BLYNK_PRINT="#define ESP8266_BAUD 115200",f.definitions_.var_declare_ESP8266="ESP8266 wifi(&Serial);",f.setups_.setup_serial_Serial="Serial.begin(115200);",f.setups_.delay_10_1="delay(10);",f.setups_["wifi.setOprToStation"]="wifi.setOprToStation(2, 2);",f.setups_.delay_10_2="delay(10);",f.setups_["wifi.enableMUX"]="wifi.enableMUX();",f.setups_.delay_10_3="delay(10);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, wifi,ssid, pass,"+n+",8080);"),isNaN(n.charAt(2))||(n=n.replace(/"/g,"").replace(/\./g,","),n="IPAddress("+n+")"),s.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]=" Blynk.begin(auth, ssid, pass,"+n+",8080);"):s.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, ssid, pass,"+n+",8080);");return"Blynk.run();\n"},$o=function(x,f){f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleStream="#include ",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial DebugSerial(2, 3);";let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC);f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);",f.setups_.setup_DebugSerial="DebugSerial.begin(9600);";return"Blynk.run();\n"},xu=function(x,f){return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+", "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\n"},fu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);let i=[];for(let x=0;x0&&(f.definitions_["var_declare_"+i]=i.join(";\n")+";");let s="BLYNK_WRITE("+e+") {\n"+n+t+"}\n";return s=f.scrub_(this,s),f.definitions_[e]=s,null},eu=function(x,f){f.definitions_.var_declare_BlynkTimer="BlynkTimer timer;";let e=this.getFieldValue("timerNo"),t=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),i="myTimerEvent"+e,n="void "+i+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[i]=n,f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},tu=function(x,f){let e=this.getFieldValue("state"),t=e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},iu=function(){return"Blynk.syncAll();\n"},nu=function(){return"Blynk.syncVirtual("+this.getFieldValue("Vpin")+");\n"},su=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return"HIGH"==i?n+="led"+e+".on();\n":"LOW"==i&&(n+="led"+e+".off();\n"),n},cu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return n+="led"+e+".setValue("+i+");",n},au=function(x,f){let e=this.getFieldValue("AC_TYPE"),t=this.getFieldValue("AC_POWER"),i=this.getFieldValue("AC_MODE"),n=this.getFieldValue("AC_FAN"),s=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),c=f.valueToCode(this,"AC_TEMP",f.ORDER_ATOMIC);f.definitions_.include_Arduino="#ifndef UNIT_TEST\n#include \n#endif",f.definitions_.include_IRremoteESP8266="#include ",f.definitions_.include_IRsend="#include ",f.definitions_["include"+e]="#include ",f.definitions_["define_IR_LED"+s]="#define IR_LED "+s,f.definitions_["IR"+e+"AC"]="IR"+e+"AC "+e+"AC(IR_LED); ",f.setups_["setup"+e]=e+"AC.begin();";let a=e+"AC.setPower("+t+");\n";return a+=e+"AC.setFan("+n+");\n",a+=e+"AC.setMode("+i+");\n",a+=e+"AC.setTemp("+c+");\n",a+=e+"AC.send();\n",a},lu=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#include \n#if DECODE_AC\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#endif \n",f.definitions_["define_RECV_PIN"+e]="#define RECV_PIN "+e+"\n",f.definitions_.var_declare_CAPTURE_BUFFER_SIZE="#define CAPTURE_BUFFER_SIZE 1024\n#if DECODE_AC\n#define TIMEOUT 50U\n#else\n#define TIMEOUT 15U \n#endif\n#define MIN_UNKNOWN_SIZE 12\n#define IN_UNKNOWN_SIZE 12\nIRrecv irrecv(RECV_PIN, CAPTURE_BUFFER_SIZE, TIMEOUT, true);\ndecode_results results;",f.setups_.ir_recv_begin="while(!Serial)\n delay(50);\n #if DECODE_HASH\n irrecv.setUnknownThreshold(MIN_UNKNOWN_SIZE);\n #endif \n irrecv.enableIRIn();";return f.definitions_.dumpACInfo='void dumpACInfo(decode_results *results){\n String description="";\n #if DECODE_DAIKIN\n if(results->decode_type == DAIKIN){\n IRDaikinESP ac(0);\n ac.setRaw(results->state);\n description=ac.toString();\n }\n #endif\n #if DECODE_FUJITSU_AC\n if(results->decode_type==FUJITSU_AC){\n IRFujitsuAC ac(0);\n ac.setRaw(results->state, results->bits / 8);\n description = ac.toString();\n }\n #endif\n #if DECODE_KELVINATOR\n if(results->decode_type == KELVINATOR){\n IRKelvinatorAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_TOSHIBA_AC\n if(results->decode_type == TOSHIBA_AC){\n IRToshibaAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_GREE\n if (results->decode_type == GREE){\n IRGreeAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_MIDEA\n if(results->decode_type == MIDEA){\n IRMideaAC ac(0);\n ac.setRaw(results->value);\n description=ac.toString();\n }\n #endif\n #if DECODE_HAIER_AC\n if(results->decode_type == HAIER_AC){\n IRHaierAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n if(description != "")\n Serial.println("Mesg Desc.: " + description);\n}\n',"if(irrecv.decode(&results)){\n uint32_t now = millis();\n dumpACInfo(&results);\n Serial.println(resultToSourceCode(&results));\n}\n"},du=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("IR_CODE"),i=t.split(",").length,n=Math.ceil(1e5*Math.random());return f.definitions_.define_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#define IR_LED "+e,f.definitions_.var_declare_IRsend_irsend="IRsend irsend(IR_LED);\n",f.definitions_["var_declare_send"+n]="uint16_t rawData"+n+"["+i+"] = {"+t+"};",f.setups_.irsend_begin="irsend.begin();\n","irsend.sendRaw(rawData"+n+", "+i+", 38);\ndelay(2000);\n"},pu=function(x,f){let e=f.valueToCode(this,"email_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"Subject",f.ORDER_ATOMIC),i=f.valueToCode(this,"content",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_MAX_SENDBYTES="#define BLYNK_MAX_SENDBYTES 128 \n","Blynk.email("+e+", "+t+", "+i+");\n"},ou=function(x,f){return"Blynk.notify("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\n"},uu=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["var_declare_WidgetTerminal"+e]="WidgetTerminal terminal"+e+"("+e+");\n","terminal"+e+".println("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\nterminal"+e+".flush();\n"},ru=function(x,f){let e=this.getFieldValue("Vpin");f.definitions_.var_declare_WidgetTerminal="WidgetTerminal terminal("+e+");\n",f.definitions_.var_declare_action="String terminal_text ;";let t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n terminal_text = param.asStr();\n "+t+"\n terminal.flush();\n}\n";return f.definitions_[e]=i,null},_u=function(x,f){return"Blynk.setProperty("+this.getFieldValue("Vpin")+',"url",'+f.valueToCode(this,"url",f.ORDER_ATOMIC)+");\n"},Fu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_["var_declare_WidgetBridge"+e]="WidgetBridge bridge"+e+"("+e+");\n","bridge"+e+".setAuthToken("+t+");\n"},hu=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".digitalWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"STAT",f.ORDER_ATOMIC)+");\n"},Au=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".analogWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},Iu=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".virtualWrite("+this.getFieldValue("Vpin2")+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},gu=function(x,f){f.definitions_.include_TimeLib="#include ",f.definitions_.include_WidgetRTC="#include ";let e=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_.var_declare_WidgetRTC="WidgetRTC rtc;\n",f.setups_.setSyncInterval="setSyncInterval("+e+"* 60);";return"rtc.begin();\n"},Tu=function(x,f){return[this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},Eu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n action = param.asStr();\n "+t+"\n Blynk.setProperty("+e+', "label", action);\n}\n';return i=f.scrub_(this,i),f.definitions_[e]=i,""},Cu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int lx = param.asInt();\n "+t+"\n}\n";return f.definitions_[e]=i,""},Mu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int x = param[0].asFloat();\n int y = param[1].asFloat();\n int z = param[2].asFloat();\n "+t+"\n}\n";return f.definitions_[e]=i,""},mu=Mu,Ou=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n long startTimeInSecs = param[0].asLong();\n long hour =startTimeInSecs/3600;\n long minute=(startTimeInSecs-3600*hour)/60;\n long second=(startTimeInSecs-3600*hour)%60;\n "+t+"\n}\n";return f.definitions_[e]=i,""},Ru=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},Su=function(x,f){let e=this.getFieldValue("VALUE");return f.definitions_["var_"+e]=e,""},Du=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),i=z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include \n",f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.definitions_.var_declare_auth_key="char auth[] = "+t+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_WiFiManager="WiFiManager wifiManager;",f.setups_.setup_wifiManagerautoConnect='wifiManager.autoConnect("Blynk");',f.setups_["setup_server.begin"]='Serial.println("Connected.");\n server.begin();',isNaN(e.charAt(2))?f.setups_.setup_Blynkconfig="Blynk.config(auth, "+e+", 8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.setup_Blynkconfig="Blynk.config(auth, IPAddress("+e+"), 8080);");return"Blynk.run();"},Lu=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_FS="#include ",f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include ",f.definitions_.include_WiFiManager="#include ",f.definitions_.include_ArduinoJson="#include ",f.definitions_.var_declare_auth_key='char blynk_token[34] = "YOUR_BLYNK_TOKEN";',f.definitions_.var_declare_shouldSaveConfig="bool shouldSaveConfig = false;",f.definitions_.saveConfigCallback='void saveConfigCallback (){\n Serial.println("Should save config");\n shouldSaveConfig = true;\n}',f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.otasetup1='Serial.println("mounting FS...");\n if (SPIFFS.begin()){\n Serial.println("mounted file system");\n if (SPIFFS.exists("/config.json")) {\n Serial.println("reading config file");\n File configFile = SPIFFS.open("/config.json", "r");\n if (configFile) {\n Serial.println("opened config file");\n size_t size = configFile.size();\n std::unique_ptr buf(new char[size]);\n configFile.readBytes(buf.get(), size);\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.parseObject(buf.get());\n json.printTo(Serial);\n if (json.success()){\n Serial.println("parsed json");\n strcpy(blynk_token, json["blynk_token"]);\n }\n else{\n Serial.println("failed to load json config");\n }\n configFile.close();\n }\n }\n } else{\n Serial.println("failed to mount FS");\n }\n WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32);\n WiFiManager wifiManager;\n wifiManager.setSaveConfigCallback(saveConfigCallback);\n wifiManager.addParameter(&custom_blynk_token);\n wifiManager.setMinimumSignalQuality(10);\n if (!wifiManager.autoConnect()){\n Serial.println("failed to connect and hit timeout");\n delay(3000);\n ESP.reset();\n delay(5000);\n }\n Serial.println("connected...yeey :)");\n strcpy(blynk_token, custom_blynk_token.getValue());\n if(shouldSaveConfig){\n Serial.println("saving config");\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.createObject();\n json["blynk_token"] = blynk_token;\n File configFile = SPIFFS.open("/config.json", "w");\n if(!configFile){\n Serial.println("failed to open config file for writing");\n }\n json.printTo(Serial);\n json.printTo(configFile);\n configFile.close();\n }\n Serial.println("local ip");\n Serial.println(WiFi.localIP());\n',isNaN(e.charAt(2))?f.setups_.otasetup1+=" Blynk.config(blynk_token,"+e+",8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.otasetup1+=" Blynk.config(blynk_token,IPAddress("+e+"),8080);");return"Blynk.run();\n"},Nu=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},Pu=function(){return"terminal.clear();\n"},yu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"x",f.ORDER_ATOMIC),i=f.valueToCode(this,"y",f.ORDER_ATOMIC),n=f.valueToCode(this,"value",f.ORDER_ATOMIC);return f.definitions_.include_lcd="WidgetLCD lcd("+e+");\n","lcd.print("+t+", "+i+", "+n+");\n"},bu=function(){return"lcd.clear();\n"},vu=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BLE="#include ",f.definitions_.include_BLEDevice="#include ",f.definitions_.include_BLEServer="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},wu=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BT="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},Yu=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleSerialBLE="#include ",f.definitions_.define_auth="char auth[] = "+e+";",0!=t||1!=i?(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial SerialBLE("+t+", "+i+");",f.setups_.setup_SerialBLE_begin="SerialBLE.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(SerialBLE, auth);"):(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);"),f.setups_["setup_Serial.println"]='Serial.println("Waiting for connections...");';return"Blynk.run();\n"},Vu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "add", '+e+","+t+", "+i+");\n"},ku=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "update", '+e+","+t+", "+i+");\n"},Xu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "pick", '+e+");\n"},Gu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "select", '+e+");\n"},Bu=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "deselect", '+e+");\n"},Uu=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","Blynk.virtualWrite("+e+', "clr");\nrowIndex_'+e+" = 0;\n"},Wu=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},Hu=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i="";return i=this.getFieldValue("mode")>0?'WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED){\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n':'Serial.print("Setting AP (Access Point)…");\nWiFi.softAP(wif_ssid,wif_password);\nIPAddress IP = WiFi.softAPIP();\nSerial.print("Camera Stream Ready! Connect to the ESP32 AP and go to: http://");\nSerial.println(IP);\nSerial.println("");\n',f.definitions_.esp_camera='#include "esp_camera.h"\n#include \n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera=' WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n '+i+" startCameraServer();\n","delay(1);\n"},Ku=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"server",f.ORDER_ATOMIC);isNaN(i.charAt(2))||(i=i.replace(/"/g,"").replace(/\./g,","),i="IPAddress("+i+")");let n=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_WiFi="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.definitions_.include_WidgetRTC="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_TimeLib="#include ",f.definitions_.var_declare_auth_key="char auth[] = "+n+";",f.definitions_.esp_camera='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera='WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n startCameraServer();\n Blynk.config(auth,'+i+",8080);\n","Blynk.run();\n"},Zu=function(x,f){f.definitions_.take_a_photo='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "fd_forward.h"\n#include "fr_forward.h"\n#include "FS.h" \n#include "SD_MMC.h" \n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h" \n#include "dl_lib.h"\n#include "driver/rtc_io.h"\n#include \n#define EEPROM_SIZE 1\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nint pictureNumber = 0;\n';return'WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\nSerial.begin(115200);\ncamera_config_t config;\nconfig.ledc_channel = LEDC_CHANNEL_0;\nconfig.ledc_timer = LEDC_TIMER_0;\nconfig.pin_d0 = Y2_GPIO_NUM;\nconfig.pin_d1 = Y3_GPIO_NUM;\nconfig.pin_d2 = Y4_GPIO_NUM;\nconfig.pin_d3 = Y5_GPIO_NUM;\nconfig.pin_d4 = Y6_GPIO_NUM;\nconfig.pin_d5 = Y7_GPIO_NUM;\nconfig.pin_d6 = Y8_GPIO_NUM;\nconfig.pin_d7 = Y9_GPIO_NUM;\nconfig.pin_xclk = XCLK_GPIO_NUM;\nconfig.pin_pclk = PCLK_GPIO_NUM;\nconfig.pin_vsync = VSYNC_GPIO_NUM;\nconfig.pin_href = HREF_GPIO_NUM;\nconfig.pin_sscb_sda = SIOD_GPIO_NUM;\nconfig.pin_sscb_scl = SIOC_GPIO_NUM;\nconfig.pin_pwdn = PWDN_GPIO_NUM;\nconfig.pin_reset = RESET_GPIO_NUM;\nconfig.xclk_freq_hz = 20000000;\nconfig.pixel_format = PIXFORMAT_JPEG; \nif(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n} else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n}\nesp_err_t err = esp_camera_init(&config);\nif (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n}\nif(!SD_MMC.begin()){\n Serial.println("SD Card Mount Failed");\n return;\n}\nuint8_t cardType = SD_MMC.cardType();\nif(cardType == CARD_NONE){\n Serial.println("No SD Card attached");\n return;\n}\ncamera_fb_t * fb = NULL;\nfb = esp_camera_fb_get();\nif(!fb) {\n Serial.println("Camera capture failed");\n return;\n}\nEEPROM.begin(EEPROM_SIZE);\npictureNumber = EEPROM.read(0) + 1;\nString path = "/picture" + String(pictureNumber) +".jpg";\nfs::FS &fs = SD_MMC; \nSerial.printf("Picture file name: %s\\n", path.c_str());\nFile file = fs.open(path.c_str(), FILE_WRITE);\nif(!file){\n Serial.println("Failed to open file in writing mode");\n} \nelse {\n file.write(fb->buf, fb->len);\n Serial.printf("Saved file to path: %s\\n", path.c_str());\n EEPROM.write(0, pictureNumber);\n EEPROM.commit();\n}\nfile.close();\nesp_camera_fb_return(fb); \npinMode(4, OUTPUT);\ndigitalWrite(4, LOW);\nrtc_gpio_hold_en(GPIO_NUM_4);\n'},zu=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_click"+e]="table_"+e+".onSelectChange([](int index, bool selected) {\n "+t+"\n });\n";return""},ju=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_order"+e]="table_"+e+".onOrderChange([](int indexFrom, int indexTo) {\n "+t+"\n });\n";return""},Ju=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i=f.valueToCode(this,"name",f.ORDER_ATOMIC);return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","table_"+e+".addRow(rowIndex_"+e+", "+i+", "+t+");\ntable_"+e+".pickRow(rowIndex_"+e+");\nrowIndex_"+e+"++;\n"},qu=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO"),i=f.statementToCode(this,"DO2");return f.definitions_.include_IRremote="#include \n",f.definitions_.var_declare_irProtocolList='const String IR_PROTOCOL_TYPE[] = {\n "UNKNOWN",\n "PULSE_DISTANCE",\n "PULSE_WIDTH",\n "DENON",\n "DISH",\n "JVC",\n "LG",\n "LG2",\n "NEC",\n "PANASONIC",\n "KASEIKYO",\n "KASEIKYO_JVC",\n "KASEIKYO_DENON",\n "KASEIKYO_SHARP",\n "KASEIKYO_MITSUBISHI",\n "RC5",\n "RC6",\n "SAMSUNG",\n "SHARP",\n "SONY",\n "ONKYO",\n "APPLE",\n "BOSEWAVE",\n "LEGO_PF",\n "MAGIQUEST",\n "WHYNTER"\n};',f.definitions_["var_declare_irrecv_"+e]=`IRrecv irrecv_${e}(${e});\n`,f.setups_["setup_ir_recv_"+e]=`irrecv_${e}.enableIRIn();`,`if (irrecv_${e}.decode()) {\n struct IRData *pIrData = &irrecv_${e}.decodedIRData;\n long ir_item = pIrData->decodedRawData;\n String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol];\n Serial.print("IR TYPE:" + irProtocol + "\\tVALUE:");\n Serial.println(ir_item, HEX);\n irrecv_${e}.resume();\n${t}\n} else {\n${i}\n}\n`},Qu=function(x,f){return f.definitions_.include_IRremote="#include ","irrecv_"+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+".enableIRIn();\n"},$u=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"data",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"bits",f.ORDER_ATOMIC)||"0";return`irsend_${e}.send${this.getFieldValue("TYPE")}(${t},${i});\n`},xr=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_recv"+e]="IRrecv irrecv_"+e+"("+e+");\ndecode_results results_"+e+";\n",f.setups_.setup_serial_Serial||(f.setups_.setup_serial_Serial="Serial.begin("+z.Profile.default.serial+");"),f.setups_["setup_ir_recv_"+e]="irrecv_"+e+".enableIRIn();\n";var t="if (irrecv_"+e+".decode(&results_"+e+")) {\n";t+=" dumpRaw(&results_"+e+");\n",t+=" irrecv_"+e+".resume();\n",t+="}\n";return f.definitions_.dumpRaw='void dumpRaw(decode_results *results) {\n int count = results->rawlen;\n Serial.print("RawData (");\n Serial.print(count, DEC);\n Serial.print("): ");\n for (int i = 0; i < count; i++) {\n Serial.print(results->rawbuf[i]*MICROS_PER_TICK, DEC);\n if(i!=count-1){\n Serial.print(",");\n }\n }\n Serial.println("");\n}\n',t},fr=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"length",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"freq",f.ORDER_ATOMIC)||"0",n="unsigned int buf_raw["+t+"]={"+this.getFieldValue("TEXT")+"};\n";return n+=`irsend_${e}.sendRaw(buf_raw,${t},${i});\n`},er=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},tr=function(x,f){f.definitions_.include_Wire="#include \n";return["Wire.read()",f.ORDER_ATOMIC]},ir=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n"},nr=function(x,f){var e=this.getFieldValue("SDA");return f.definitions_.include_SPI="#include ",f.definitions_.include_RFID="#include ",f.definitions_.var_declare_RFID="RFID rfid("+e+",5);",f.definitions_["var_declare__i and tmp"]="unsigned char i,tmp;",f.definitions_.var_declare__status="unsigned char status;",f.definitions_.var_declare__strmax="unsigned char str[MAX_LEN];",f.definitions_.var_declare__RC_size="unsigned char RC_size;",f.definitions_.var_declare__blockAddr="unsigned char blockAddr; //选择操作的块地址0~63",f.definitions_.define_1="//4字节卡序列号,第5字节为校验字节",f.definitions_.define_2="unsigned char serNum[5];",f.definitions_.define_3="//写卡数据",f.definitions_.define_5="//原扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_6="unsigned char sectorKeyA[16][16] = {",f.definitions_.define_7=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_8=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_9=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.definitions_.define_10="//新扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_11="unsigned char sectorNewKeyA[16][16] = {",f.definitions_.define_12=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_13=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_14=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_output_2="SPI.begin();",f.setups_.setup_output_3="rfid.init();",""},sr=function(x,f){var e=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(e=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+e),"if(rfid.isCard()){\n"+e+"}\n"},cr=function(x,f){var e="RFID_readcardnum",t="String "+e+"(){\n rfid.readCardSerial();\n String stringserNum = String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum;\n}\n";return f.definitions_[e]=t,[e+"()",f.ORDER_ATOMIC]},ar=function(x,f){var e=f.valueToCode(this,"address1",f.ORDER_ATOMIC),t="RFID_writecarddata",i="void "+t+'(int ad2){\n rfid.readCardSerial();\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n //写数据卡\n blockAddr = ad2;\n if(rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK){\n //写数据\n status = rfid.write(blockAddr, sectorKeyA[blockAddr/4]);\n Serial.print("set the new card password, and can modify the data of the Sector: ");\n Serial.println(blockAddr/4,DEC);\n blockAddr=blockAddr-3;\n status=rfid.write(blockAddr,(unsigned char*)'+this.getFieldValue("data1")+');\n if(status == MI_OK){\n Serial.println("Write card OK!");\n }\n }\n}\n';return f.definitions_[t]=i,t+"("+e+");\n"},lr=function(x,f){var e=f.valueToCode(this,"address",f.ORDER_ATOMIC),t="RFID_readcarddata",i="String "+t+'(int ad3){\n //读卡\n blockAddr =ad3;\n status = rfid.auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA[blockAddr/4], rfid.serNum);\n\tif(status == MI_OK){ //认证\n //读数据\n if(rfid.read(blockAddr, str) == MI_OK)\n {\n Serial.print("Read from the card ,the data is : ");\n Serial.println((char *)str);\n }\n }\n rfid.halt();\n String stringstr((char*)str);\n return stringstr;\n}\n';return f.definitions_[t]=i,[t+"("+e+")",f.ORDER_ATOMIC]},dr=function(x,f){var e="RFID_off",t="void "+e+"() {\n\n rfid.halt(); \n}\n";return f.definitions_[e]=t,e+"();\n"},pr=function(x,f){var e="RFID_readcardnum",t="String "+e+"() {\n\n rfid.readCardSerial(); \n String stringserNum=String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum; \n}\n";f.definitions_[e]=t;var i=f.valueToCode(this,"uid_",f.ORDER_NONE)||"false",n=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(n=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n),"false"!=i?0===i.indexOf('"')?"if (strcmp(RFID_readcardnum().c_str(),"+i+")==0) {\n"+n+"}\n":"if (strcmp(RFID_readcardnum().c_str(),"+i+".c_str())==0) {\n"+n+"}\n":""},or=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"PIN_SDA",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN_RST",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_MFRC522="#include ",f.definitions_["var_declare_"+e]="MFRC522 "+e+"("+t+", "+i+");",f.setups_.setup_spi="SPI.begin();",f.setups_["setup_mfc522_"+e]=e+".PCD_Init();";return""},ur=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.statementToCode(this,"DO");return f.definitions_.function_MFRC522_IsNewCard="boolean MFRC522_IsNewCard(MFRC522 *_name){\n if(!_name->PICC_IsNewCardPresent())\n return false;\n if(!_name->PICC_ReadCardSerial())\n return false;\n return true;\n}\n","if(MFRC522_IsNewCard(&"+e+")){\n"+(""!=t?t:"")+" "+e+".PICC_HaltA();\n "+e+".PCD_StopCrypto1();\n}\n"},rr=function(x,f){var e=this.getFieldValue("rfid_name");return f.definitions_.function_MFRC522_ReadCardUID='String MFRC522_ReadCardUID(MFRC522 *_name){\n String _CardUID = "";\n for (byte _i = 0; _i < _name->uid.size; _i++){\n if(_name->uid.uidByte[_i] < 0x10)\n _CardUID += "0";\n _CardUID += String(_name->uid.uidByte[_i], HEX);\n }\n return _CardUID;\n}\n',["MFRC522_ReadCardUID(&"+e+")",f.ORDER_ATOMIC]},_r=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_WriteCard='boolean MFRC522_WriteCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n _status = _name->MIFARE_Write(_block, _buffer, _length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Write() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Write() success;"));\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_WriteCard(&"+e+", "+t+", "+i+", "+n+");\n"},Fr=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_ReadCard='boolean MFRC522_ReadCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n if(_length < 18){\n byte _Read_buffer[18];\n byte _Read_buffer_length = 18;\n _status = _name->MIFARE_Read(_block, _Read_buffer, &_Read_buffer_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n for(byte _i = 0; _i < _length; _i++)\n _buffer[_i] = _Read_buffer[_i];\n }\n else{\n _status = _name->MIFARE_Read(_block, _buffer, &_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_ReadCard(&"+e+", "+t+", "+i+", "+n+");\n"},hr=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";return""},Ar=function(x,f){f.definitions_.include_Wire="#include ";var e=f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC);f.setups_.setup_i2c="Wire.begin("+e+");";return""},Ir=function(x,f){return f.definitions_.include_Wire="#include ","Wire.beginTransmission("+f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC)+");\n"+f.statementToCode(this,"transmission_data")+"Wire.endTransmission();\n"},gr=function(x,f){return f.definitions_.include_Wire="#include ","Wire.write("+f.valueToCode(this,"i2c_write_data",f.ORDER_ATOMIC)+");\n"},Tr=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+f.valueToCode(this,"array",f.ORDER_ATOMIC)+","+(f.valueToCode(this,"length",f.ORDER_ATOMIC)||"1")+");\n"},Er=function(x,f){f.definitions_.include_Wire="#include \n";var e=this.workspace.getAllBlocks(),t=0;for(t=0;t\n",f.setups_.setup_wire_begin="Wire.begin();";return["howMany",f.ORDER_ATOMIC]},Mr=function(x,f){return["Wire.read()",f.ORDER_ATOMIC]},mr=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();";var e=f.valueToCode(this,"pin",f.ORDER_ATOMIC),t=f.valueToCode(this,"value",f.ORDER_ATOMIC);f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);";var i="digitalWrite("+e+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+e+", HIGH);\n"},Or=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="pinMode(12, OUTPUT);\n SPCR |= _BV(SPE);";return""},Rr=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},Sr=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_wire_begin="Wire.begin();";var e=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0",t="Wire.beginTransmission("+e+");\n";return t+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.requestFrom("+e+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.endTransmission();\n"},Dr=function(x,f){f.definitions_.include_Wire="#include \n";var e=f.valueToCode(this,"onReceive_length",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO");f.definitions_.function_receiveEvent="void receiveEvent(int "+e+")\n{ "+t+"\n}\n",f.setups_.setup_i2c_receiveEvent="Wire.onReceive(receiveEvent);";return""},Lr=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_i2c_slave="Wire.setClock(400000);",f.setups_.setup_i2c_onRequest="Wire.onRequest(i2cRequestEvent);";var e="i2cRequestEvent",t="void "+e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},Nr=function(x,f){return f.definitions_.include_Wire="#include \n","Wire.requestFrom("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n"},Pr=function(x,f){var e=f.valueToCode(this,"spi_slave_pin",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();",f.setups_.setup_spi_divider="SPI.setClockDivider(SPI_CLOCK_DIV8);",f.setups_["setup_spi_pin_"+e]="digitalWrite("+e+", HIGH);";return""},yr=function(x,f){var e=f.valueToCode(this,"slave_pin",f.ORDER_ATOMIC);return"digitalWrite("+e+", LOW);\n"+f.statementToCode(this,"transfer_data")+"digitalWrite("+e+", HIGH);\n"},br=function(x,f){return"SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+");\n"},vr=function(x,f){return["SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},wr=function(x,f){var e=f.statementToCode(this,"slave_interrupt_data");f.definitions_.function_ISR="ISR(SPI_STC_vect)\n{\n"+e+"\n}\n",f.setups_.setup_spi_interrupt="SPI.attachInterrupt();";return""},Yr=function(x,f){f.definitions_.function_SPI_SlaveReceive="char SPI_SlaveReceive()\n{\n while(!(SPSR&(1<= ":" <= ")+i+"; "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":n.match(/^-?\d+(\.\d+)?$/)?"for (int "+e+" = ("+t+"); "+e+(n<0?" >= ":" <= ")+"("+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":"for (int "+e+" = ("+t+"); ("+i+">="+t+")?("+e+"<="+i+"):("+e+">="+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n"},Br=function(x,f){var e=f.valueToCode(this,"BOOL",f.ORDER_NONE)||"false",t=f.statementToCode(this,"DO");return f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),"UNTIL"==this.getFieldValue("MODE")&&(e.match(/^\w+$/)||(e="("+e+")"),e="!"+e),"while ("+e+") {\n"+t+"}\n"},Ur=function(){switch(this.getFieldValue("FLOW")){case"BREAK":return"break;\n";case"CONTINUE":return"continue;\n"}throw"Unknown flow statement."},Wr=function(x,f){var e=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"1000";return this.getFieldValue("UNIT")+"("+e+");\n"},Hr=function(x,f){return[this.getFieldValue("UNIT")+"()",f.ORDER_ATOMIC]},Kr=function(x,f){f.definitions_.include_MsTimer2="#include ";var e=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),t="msTimer2_func",i="void "+t+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[t]=i,"MsTimer2::set("+e+", "+t+");\n"},Zr=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::start();\n"},zr=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::stop();\n"},jr=function(){return z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?"while(true) delay(1000);\n":"while(true);\n"},Jr=function(x,f){return f.definitions_.resetFunc="void(* resetFunc) (void) = 0;\n","resetFunc();\n"},qr=function(){return"interrupts();\n"},Qr=function(){return"noInterrupts();\n"},$r=Wr,x_=function(x,f){var e=this.getFieldValue("NO"),t=f.valueToCode(this,"timein",f.ORDER_ATOMIC),i="Simple_timer_"+e,n=f.statementToCode(this,"zxhs"),s="void "+i+"() {\n "+(n=n.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[i]=s,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;",f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},f_=function(x,f){var e=f.statementToCode(this,"input_data"),t=f.valueToCode(this,"select_data",f.ORDER_ATOMIC);if("false"==this.getFieldValue("type"))var i="do{\n"+e+"}while(!("+t+"));\n";else i="do{\n"+e+"}while("+t+");\n";return i},e_=function(x,f){var e="super_delay_function"+this.getFieldValue("number"),t=f.statementToCode(this,"delay_function"),i="void "+e+"() {\n "+(t=t.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[e]=i,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;","timer.run();\n"},t_=function(x,f){var e=this.getFieldValue("number");return"timer.setTimer("+f.valueToCode(this,"time_interval",f.ORDER_ATOMIC)+", super_delay_function"+e+", "+f.valueToCode(this,"frequency",f.ORDER_ATOMIC)+");\n"},i_=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("SCL"),n=this.getFieldValue("SDA"),s=z.JSFuncs.getPlatform(),c=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0x27";return n==z.Profile.default.SDA[0][1]&&i==z.Profile.default.SCL[0][1]?(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_I2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+c+","+t+");"):s.match(RegExp(/AVR/))?(f.definitions_.include_SoftI2CMaster="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_SoftI2C_"+e]="LiquidCrystal_SoftI2C "+e+"("+c+","+t+","+i+","+n+");"):(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+c+","+t+");",f.setups_.setup_Wire="Wire.begin("+n+","+i+");"),f.setups_["setup_lcd_init_"+e]=e+".init();",f.setups_["setup_lcd_backlight_"+e]=e+".backlight();",""},n_=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("RS"),n=this.getFieldValue("EN"),s=this.getFieldValue("D4"),c=this.getFieldValue("D5"),a=this.getFieldValue("D6"),l=this.getFieldValue("D7");return f.definitions_.include_LiquidCrystal="#include ",f.definitions_["var_declare_LiquidCrystal"+e]="LiquidCrystal "+e+"("+i+","+n+","+s+","+c+","+a+","+l+");",f.setups_["setup_lcd_begin_"+e]=e+".begin("+t+");",""},s_=function(x,f){var e=this.getFieldValue("VAR"),t=e+".setCursor(0, 0);\n";return t+=e+".print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n",t+=e+".setCursor(0, 1);\n",t+=e+".print("+(f.valueToCode(this,"TEXT2",f.ORDER_ATOMIC)||'""')+");\n"},c_=function(x,f){var e=this.getFieldValue("VAR"),t=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'String("")',i=f.valueToCode(this,"row",f.ORDER_ATOMIC)||"1",n=e+".setCursor("+(f.valueToCode(this,"column",f.ORDER_ATOMIC)||"1")+"-1, "+i+"-1);\n";return n+=e+".print("+t+");\n"},a_=function(){return this.getFieldValue("VAR")+"."+this.getFieldValue("STAT")+"();\n"},l_=function(x,f){var e=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display."+e+"();\n"},d_=function(x,f){var e=f.valueToCode(this,"VALUE",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.displayString("+e+");\n"},p_=function(x,f){var e=this.getFieldValue("NO"),t=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.setDot("+e+","+t+");\n"};var o_,u_;const r_=function(x,f){u_=this.getFieldValue("CLK"),o_=this.getFieldValue("DIO");var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentTM1637="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentTM1637 "+e+"("+u_+","+o_+");",f.setups_["setup_"+e+".begin()"]=e+".begin();",""},__=function(x,f){return(this.getFieldValue("NAME")||"display")+".print("+f.valueToCode(this,"VALUE",f.ORDER_ATOMIC)+");\n"},F_=function(x,f){var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentExtended="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentExtended "+e+"("+u_+","+o_+");",e+".printTime("+f.valueToCode(this,"hour",f.ORDER_ATOMIC)+","+f.valueToCode(this,"minute",f.ORDER_ATOMIC)+","+this.getFieldValue("STAT")+");\n"},h_=function(){var x=this.getFieldValue("STAT");return(this.getFieldValue("NAME")||"display")+"."+x+"();\n"},A_=function(x,f){return(this.getFieldValue("NAME")||"display")+".setBacklight("+f.valueToCode(this,"Brightness",f.ORDER_ATOMIC)+");\n"},I_=function(x,f){var e=this.getFieldValue("SDA"),t=this.getFieldValue("SCL"),i="myMatrix";return f.definitions_.include_Matrix="#include ",f.definitions_["var_declare"+i]="Matrix "+i+"("+e+","+t+");",f.setups_["setup_"+i]=i+".begin(0x70);",i+".clear();\n"},g_=function(x,f){var e=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),t=f.valueToCode(this,"hDisplays",f.ORDER_ATOMIC),i=f.valueToCode(this,"vDisplays",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Max72xxPanel="#include ",f.definitions_.var_declare_Max72xxPanel="Max72xxPanel myMatrix = Max72xxPanel("+e+","+t+","+i+");";return""},T_=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("WRITE"),i=f.valueToCode(this,"XVALUE",f.ORDER_ASSIGNMENT),n=f.valueToCode(this,"YVALUE",f.ORDER_ASSIGNMENT),s="myMatrix",c=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);if("HT16K33"==e)var a=s+".drawPixel("+i+",7-"+n+","+c+");\n";else a=s+".drawPixel("+i+","+n+","+c+");\n";return"OFF"!==t&&(a+=s+".write();\n"),a},E_=function(x,f){return"myMatrix.scrollMessage("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+","+f.valueToCode(this,"Speed",f.ORDER_ATOMIC)+");\n"},C_=function(x,f){var e="myMatrix",t=this.getFieldValue("WRITE"),i=e+".setCursor(0, 0);\n";return i+=e+".print("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+");\n","OFF"!==t&&(i+=e+".write();\n"),i},M_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=this.getFieldValue("WRITE"),n=f.valueToCode(this,"NO",f.ORDER_ATOMIC),s=f.valueToCode(this,"LEDArray",f.ORDER_ASSIGNMENT);f.definitions_.var_declare_LEDArray="uint8_t LEDArray[8];";var c="";return c+="memcpy_P(&LEDArray, &"+s+", 8);\n",c+="for(int index_i=0; index_i<8; index_i++)\n",c+="{\n",c+=" for(int index_j="+n+"*8; index_j<"+n+"*8+8; index_j++)\n",c+=" {\n",c+=" if((LEDArray[index_i]&0x01)>0)\n","HT16K33"==e?(c+=" "+t+".drawPixel(index_j, index_i,1);\n",c+=" else\n "+t+".drawPixel(index_j, index_i,0);\n"):(c+=" "+t+".drawPixel(index_j, 7-index_i,1);\n",c+=" else\n "+t+".drawPixel(index_j, 7-index_i,0);\n"),c+=" LEDArray[index_i] = LEDArray[index_i]>>1;\n",c+=" } \n",c+="}\n","OFF"!==i&&(c+=t+".write();\n"),c},m_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][9-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var c="";for(n=1;n<9;n++)c+=t[i][n];1==(c=parseInt(c,2).toString(16)).length&&(c="0"+c),s+="0x"+c+(8!=i?",":"")}return s+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+s,[e,f.ORDER_ATOMIC]},O_=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=7;n>=0;n--){for(var s="",c=7;c>=0;c--)s+=t[n][c];1==(s=parseInt(s,2).toString(16)).length&&(s="0"+s),i+="0x"+s+(0!==n?",":"")}return i+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+i,[e,f.ORDER_ATOMIC]},R_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);if("HT16K33"==e)var n=t+".setBrightness("+i+");\n";else n=t+".setIntensity("+i+");\n";return n},S_=function(){var x=this.getFieldValue("WRITE"),f="myMatrix",e=f+"."+this.getFieldValue("FILLSCREEN_TYPE")+";\n";return"OFF"!==x&&(e+=f+".write();\n"),e},D_=function(x,f){var e=this.getFieldValue("Rotation_TYPE");return"myMatrix.setRotation("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+e+");\n"},L_=function(x,f){return"myMatrix.setPosition("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+f.valueToCode(this,"X",f.ORDER_ATOMIC)+","+f.valueToCode(this,"Y",f.ORDER_ATOMIC)+");\n"},N_=function(){return"myMatrix.setRotation(4-"+this.getFieldValue("Rotation_TYPE")+");\n"},P_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var c="";for(n=1;n<9;n++)c+=t[i][n];1==(c=parseInt(c,2).toString(16)).length&&(c="0"+c),s+="0x"+c+(8!=i?",":"")}return s+="};\n",f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},y_=function(x,f){var e=this.getFieldValue("img_"),t='"'+e+'"';t="{";for(var i=0;i<15;i+=2)t+="0x"+e.substr(i,2)+(14!=i?",":"");return t+="};\n",f.definitions_["matrix_img_"+e]="const uint8_t matrix_img_"+e+"[8] PROGMEM="+t,["matrix_img_"+e,f.ORDER_ATOMIC]},b_=function(){return"myMatrix.write();\n"},v_=function(x,f){var e=this.getFieldValue("OLED_TYPE"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("SDA"),s=this.getFieldValue("SCL"),c=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0x3C",a=z.JSFuncs.getPlatform();f.definitions_.include_U8g2lib="#include ",a.match(RegExp(/AVR/))?n==z.Profile.default.SDA[0][1]&&s==z.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);":n==z.Profile.default.SDA[0][1]&&s==z.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);",f.definitions_.include_Wire="#include ",f.setups_["setup_u8g2"+t]=t+".setI2CAddress("+c+"*2);\n "+t+".begin();";return""},w_=function(x,f){var e=this.getFieldValue("U8G2_TYPE_SPI"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("CLK"),s=this.getFieldValue("MOSI"),c=this.getFieldValue("CS"),a=this.getFieldValue("DC"),l=this.getFieldValue("RST");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+t]=t+".begin();",f.definitions_["var_declare_U8G2"+t]="SCK"==n&&"MOSI"==s?"U8G2_"+e+"_1_4W_HW_SPI "+t+"("+i+", "+c+", "+a+", "+l+");":"U8G2_"+e+"_1_4W_SW_SPI "+t+"("+i+", "+n+","+s+","+c+", "+a+", "+l+");";return""},Y_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_HW_SPI "+e+"("+t+", "+i+", U8X8_PIN_NONE);";return""},V_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DB0"),n=this.getFieldValue("DB1"),s=this.getFieldValue("DB2"),c=this.getFieldValue("DB3"),a=this.getFieldValue("DB4"),l=this.getFieldValue("DB5"),d=this.getFieldValue("DB6"),p=this.getFieldValue("DB7"),o=this.getFieldValue("ENABLE"),u=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_8080 "+e+"("+t+", "+i+", "+n+", "+s+", "+c+", "+a+", "+l+", "+d+", "+p+", "+o+", U8X8_PIN_NONE, "+u+");";return""},k_=function(){return(this.getFieldValue("NAME")||"u8g2")+".clearDisplay();\n"},X_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("FACE_IMAGE"),s=n.indexOf(","),c="FACE_"+n.substring(0,s);return n=n.substring(s+1,n.length),f.libs_[c]="const static unsigned char "+c+"[] PROGMEM ={"+n+" };",e+".drawXBMP("+t+","+i+",89,64,"+c+");\n"},G_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("ICON_SIZE");return e+".setFontPosBottom();\n"+e+".setFont(u8g2_font_open_iconic_all_"+n+"x_t);\n"+e+".drawGlyph("+t+","+i+"+"+n+"*8,"+this.getFieldValue("ICON_IMAGE")+");\n"},B_=function(x,f){var e="";return e=e+(this.getFieldValue("NAME")||"u8g2")+".drawPixel("+(f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0")+");\n"},U_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.statementToCode(this,"DO"),i="";return t&&(i=e+".firstPage();\ndo\n{\n"+t+"}while("+e+".nextPage());\n"),i},W_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",c=f.valueToCode(this,"bitmap_name",f.ORDER_ATOMIC),a="";return a=e+".drawXBMP("+t+", ",a+=i+", ",a+=n+", ",a+=s+", "+(c=c.replace(/"/g,""))+");\n"},H_=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),Z.Variables.NAME_TYPE),t=this.getFieldValue("TEXT");return f.libs_[e]="const static unsigned char "+e+"[] PROGMEM ={"+t+" };",""},K_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawLine("+(f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_Y",f.ORDER_ATOMIC)||"0")+");\n"},Z_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"LENGTH",f.ORDER_ATOMIC)||"0",s="";return s=e+".draw"+this.getFieldValue("TYPE")+"Line("+t+",",s+=i+",",s+=n+");\n"},z_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawTriangle("+(f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_Y",f.ORDER_ATOMIC)||"0")+");\n"},j_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",c="";return c=e+"."+this.getFieldValue("TYPE")+"("+t+",",c+=i+",",c+=n+",",c+=s+");\n"},J_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",c=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",a="";return a=e+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+",",a+=c+");\n"},q_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",s="";return s=e+"."+this.getFieldValue("TYPE")+"("+t+",",s+=i+",",s+=n+","+this.getFieldValue("OPT")+"); \n"},Q_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS_X",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"RADIUS_Y",f.ORDER_ATOMIC)||"0",c="";return c=e+"."+this.getFieldValue("TYPE")+"("+t+",",c+=i+",",c+=n+",",c+=s+","+this.getFieldValue("OPT")+"); \n"},$_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||"0";f.setups_["setup_enableUTF8Print"+e]=e+".enableUTF8Print();\n";var s="";return s=e+".setCursor("+t+",",s+=i+"); \n",s+=e+".print("+n+"); \n"},xF=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME"),e=this.getFieldValue("FONT_SIZE");return x+".setFont(u8g2_font_"+f+this.getFieldValue("FONT_STYLE")+e+"_tf);\n"+x+".setFontPosTop();\n"},fF=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME");return x+".setFont(u8g2_font_"+this.getFieldValue("FONT_SIZE")+f+");\n"+x+".setFontPosTop();\n"},eF=function(){var x=this.getFieldValue("NAME")||"u8g2";return x+".setFont(u8g2_font_unifont_t_chinese1);\n"+x+".setFontPosTop();\n"},tF=function(x,f){return(this.getFieldValue("NAME")||"u8g2")+".setContrast("+f.valueToCode(this,"Contrast",f.ORDER_ATOMIC)+");\n"},iF=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"str",f.ORDER_ATOMIC);return f.definitions_["getutf8width"+e]="int "+e+"_getUTF8Width(String str) {\n const char *string_variable = str.c_str();\n return "+e+".getUTF8Width(string_variable);\n}",[e+"_getUTF8Width(String("+t+"))",f.ORDER_ATOMIC]},nF=function(x,f){var e=this.getFieldValue("name"),t=this.getFieldValue("number"),i=f.valueToCode(this,"row",f.ORDER_ATOMIC),n=f.valueToCode(this,"column",f.ORDER_ATOMIC),s=f.valueToCode(this,"pattern",f.ORDER_ATOMIC);return f.setups_["setup_lcd_display_pattern"+t]=e+".createChar("+t+", "+s+");",e+".setCursor("+n+"-1, "+i+"-1);\n"+e+".write("+t+");\n"},sF=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<6;n++)t[i][6-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{0B"+t[8][5]+t[8][4]+t[8][3]+t[8][2]+t[8][1]+",0B"+t[7][5]+t[7][4]+t[7][3]+t[7][2]+t[7][1]+",0B"+t[6][5]+t[6][4]+t[6][3]+t[6][2]+t[6][1]+",0B"+t[5][5]+t[5][4]+t[5][3]+t[5][2]+t[5][1]+",0B"+t[4][5]+t[4][4]+t[4][3]+t[4][2]+t[4][1]+",0B"+t[3][5]+t[3][4]+t[3][3]+t[3][2]+t[3][1]+",0B"+t[2][5]+t[2][4]+t[2][3]+t[2][2]+t[2][1]+",0B"+t[1][5]+t[1][4]+t[1][3]+t[1][2]+t[1][1]+"};";return f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},cF=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=0;n>8)+((64512&x)>>5)+((248&x)>>3)}const lF=function(x,f){const e=this.getFieldValue("CS"),t=this.getFieldValue("DC"),i=this.getFieldValue("RST"),n=this.getFieldValue("TYPE");let s=n.split("_")[0],c="";"ST7735_INITR_GREENTAB"===n?c="INITR_GREENTAB":"ST7735_INITR_REDTAB"===n?c="INITR_REDTAB":"ST7735_INITR_BLACKTAB"===n?c="INITR_BLACKTAB":"ST7735_160×80"===n?c="INITR_MINI160x80":"ST7735_160×128"===n?c="128, 160":"ST7789_240×135"===n?c="135, 240":"ST7789_240×240"===n?c="240, 240":"ST7789_320×240"===n?c="240, 320":"ST7796_480×320"===n&&(c=""),f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Adafruit_tft="#include ",f.definitions_.include_SPI="#include ",f.definitions_.var_declare_Adafruit_tft="Adafruit_"+s+" tft = Adafruit_"+s+"("+e+", "+t+", "+i+");",f.setups_.setup_tft_init="tft."+("ST7735"===s?"initR":"init")+"("+c+");",f.setups_.setup_tft_fillScreen="tft.fillScreen(0x0000);",f.definitions_.include_U8g2_for_Adafruit_GFX="#include ",f.definitions_.var_declare_U8G2_FOR_ADAFRUIT_GFX="U8G2_FOR_ADAFRUIT_GFX u8g2_for_adafruit_gfx;",f.setups_.setup_u8g2_for_adafruit_gfx="u8g2_for_adafruit_gfx.begin(tft);";return""};function dF(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}function pF(x){return x<16?"0x0"+x.toString(16).toUpperCase():"0x"+x.toString(16).toUpperCase()}function oF(x){let f=[];for(let e=0;e0?"0"==P?L+=" ":"1"==P&&(L+="0 "):N%(8*A)==0&&(L+="|\n|");for(M=0;M",f.definitions_.var_declare_EthernetClient="EthernetClient client;",["Ethernet.begin("+f.valueToCode(this,"MAC",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},HF=function(x,f){var e=this.getFieldValue("VAR1"),t=this.getFieldValue("VAR2"),i=this.getFieldValue("VAR3"),n=this.getFieldValue("VAR4"),s=this.getFieldValue("VAR5"),c=this.getFieldValue("VAR6");f.definitions_.var_declare_byte_mac="byte mac[] = {0x"+e+", 0x"+t+", 0x"+i+", 0x"+n+", 0x"+s+", 0x"+c+"};";return["mac",f.ORDER_ATOMIC]},KF=function(x,f){return["Ethernet.localIP()",f.ORDER_ATOMIC]},ZF=function(x,f){var e=f.valueToCode(this,"PORT",f.ORDER_ATOMIC);return["client.connect("+f.quote_(this.getFieldValue("SERVER"))+","+e+")",f.ORDER_ATOMIC]},zF=function(){return"client.stop();\n"},jF=function(x,f){return["client.connected()",f.ORDER_ATOMIC]},JF=function(x,f){return["client.available()",f.ORDER_ATOMIC]},qF=function(x,f){return"client.print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},QF=function(x,f){return"client.println("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},$F=function(x,f){return["(char)client.read()",f.ORDER_ATOMIC]},xh=function(){return'client.println("GET '+this.getFieldValue("URL")+' HTTP/1.1");\nclient.println(F("Host: '+this.getFieldValue("SERVER")+'"));\nclient.println(F("Connection: close"));\nclient.println();\n'},fh=function(x,f){var e=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),t=f.valueToCode(this,"PWD",f.ORDER_ATOMIC);return f.definitions_.include_ESP8266WiFi="#include ",f.setups_.setup_WiFi_begin="WiFi.begin("+e+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},eh=function(x,f){return["WiFi.status()",f.ORDER_ATOMIC]},th=function(x,f){var e=z.JSFuncs.getPlatform(),t=this.getFieldValue("mode");return e.match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":e.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include "),"IP"==t?["WiFi.localIP()",f.ORDER_ATOMIC]:["WiFi.macAddress()",f.ORDER_ATOMIC]},ih=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"timeZone",f.ORDER_ATOMIC),i=f.valueToCode(this,"Interval",f.ORDER_ATOMIC);return f.definitions_.include_TimeLib="#include ",f.definitions_.include_NtpClientLib="#include ",f.definitions_.var_declare_timeZone="int8_t timeZone = "+t+";",f.definitions_.var_declare_ntpServer="const PROGMEM char *ntpServer = "+e+";",f.setups_["setup_NTP.setInterval"]="NTP.setInterval ("+i+");",f.setups_["setup_NTP.setNTPTimeout"]="NTP.setNTPTimeout (1500);",f.setups_["setup_NTP.begin"]="NTP.begin (ntpServer, timeZone, false);",""},nh=function(x,f){return[this.getFieldValue("TIME_TYPE"),f.ORDER_ATOMIC]};var sh;const ch=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_port",f.ORDER_ATOMIC),i=f.valueToCode(this,"IOT_ID",f.ORDER_ATOMIC),n=f.valueToCode(this,"IOT_PWD",f.ORDER_ATOMIC);(sh=f.valueToCode(this,"Client_ID",f.ORDER_ATOMIC)).length>2&&(sh+="/"),sh=sh.replace(/"/g,""),f.definitions_.include_Adafruit_MQTT='#include "Adafruit_MQTT.h"',f.definitions_.include_Adafruit_MQTT_Client='#include "Adafruit_MQTT_Client.h"',f.definitions_.include__WiFiClient="WiFiClient client;",f.definitions_.var_declare_Adafruit_MQTT_Client="Adafruit_MQTT_Client mqtt(&client, "+e+", "+t+", "+i+", "+n+");",z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))&&(f.definitions_["var_declare_ MQTT_connect();"]="void MQTT_connect();");var s="MQTT_connect",c="void "+s+'() {\n int8_t ret;\n if (mqtt.connected()) {\n return;\n }\n Serial.print("Connecting to MQTT... ");\n uint8_t retries = 3;\n while ((ret = mqtt.connect()) != 0) {\n Serial.println(mqtt.connectErrorString(ret));\n Serial.println("Retrying MQTT connection in 5 seconds...");\n mqtt.disconnect();\n delay(5000);\n retries--;\n if (retries == 0) {\n while (1);\n }\n }\n Serial.println("MQTT Connected!");\n}\n';return f.definitions_["var_declare_"+s]=c,s+"();\n"},ah=function(){return"MQTT_connect();\n"},lh=function(x,f){var e=this.getFieldValue("Topic"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i="MQTT_Topic_"+e;return f.definitions_["var_declare_Adafruit_MQTT_Publish"+i]="Adafruit_MQTT_Publish "+i+' = Adafruit_MQTT_Publish(&mqtt, "'+sh+e+'");',i+".publish("+t+");\n "},dh=function(x,f){var e=this.getFieldValue("Topic_0");return e&&(e=e.replace(/"/g,"")),["(char *)"+("MQTT_Topic_"+e)+".lastread",f.ORDER_ATOMIC]},ph=function(x,f){var e=0;(s=this.getFieldValue("Topic_0"))&&(s=s.replace(/"/g,""));var t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),n="if (subscription ==&"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }";for(f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+sh+"/"+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+sh+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",e=1;e<=this.elseifCount_;e++){var s;(s=this.getFieldValue("Topic_"+e))&&(s=s.replace(/"/g,"")),t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+sh+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+sh+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",n+=" else if (subscription == &"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }"}return this.elseCount_&&(n+=" else {\n "+(i=f.statementToCode(this,"ELSE"))+"\n }"),"Adafruit_MQTT_Subscribe *subscription;\nwhile ((subscription = mqtt.readSubscription(5000))) {\n "+n+"\n}\n"},oh=function(x,f){var e=f.valueToCode(this,"api",f.ORDER_ATOMIC),t=f.statementToCode(this,"success");t=t.replace(/(^\s*)|(\s*$)/g,"");var i=f.statementToCode(this,"failure");return i=i.replace(/(^\s*)|(\s*$)/g,""),f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266HTTPClient="#include ","if (WiFi.status() == WL_CONNECTED) {\nHTTPClient http;\nhttp.begin("+e+");\nint httpCode = http.GET();\nif (httpCode > 0) {\nString Request_result = http.getString();\n"+t+"\n}\nelse {\n"+i+"\n} \nhttp.end();\n}\n"},uh=function(x,f){return"SmartConfig"==this.getFieldValue("MODE")?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266WiFiMulti="#include ",f.definitions_.var_declare_ESP8266WiFiMulti=" ESP8266WiFiMulti wifiMulti;",f.setups_.setup_WiFi_Smartconfig='Serial.println("Wait for Smartconfig");\nwifiMulti.run();\nWiFi.setAutoConnect(true);\nif (WiFi.status() == WL_CONNECTED) {\nSerial.println("WiFi connected");\nSerial.println("IP address: ");\nSerial.println(WiFi.localIP());\n }\nelse{\n WiFi.mode(WIFI_STA);\n WiFi.beginSmartConfig();\n while(!WiFi.smartConfigDone()){\nSerial.print(".");\ndelay(500);\n}\nSerial.println("SmartConfig Success");\nSerial.printf("SSID:%s", WiFi.SSID().c_str());\nSerial.printf("PSW:%s", WiFi.psk().c_str());\nwifiMulti.addAP(WiFi.SSID().c_str(),WiFi.psk().c_str());\n}\n',""):(f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.setups_.setup_WiFi_mode="WiFi.mode(WIFI_STA);",f.setups_.setup_WiFiManager="WiFiManager wm;",f.setups_.setup_bool_res="bool res;",f.setups_.setup_wifiManagerautoConnect="res=wm.autoConnect();","")},rh=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK",f.ORDER_ATOMIC),n=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),c=f.valueToCode(this,"IP",f.ORDER_ATOMIC),a=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);n=n.replace(new RegExp(/\./g),","),s=s.replace(new RegExp(/\./g),","),c=c.replace(new RegExp(/\./g),","),null!=z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);","STA"==e?(f.definitions_.include_WiFiUdp="#include ",f.definitions_.define_STASSID="#define STASSID "+t,f.definitions_.define_STAPSK="#define STAPSK "+i,f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+c+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+a+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+a+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_sta='WiFi.mode(WIFI_STA);\n WiFi.begin(STASSID, STAPSK);\n while(WiFi.status() != WL_CONNECTED){\n Serial.print(".");\n delay(500);\n }\n delay(500);\n Serial.print("Connected! IP address: ");\n Serial.println(WiFi.localIP());\n Serial.printf("UDP server on port ", localPort);\n Udp.begin(localPort);'):(f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+i+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+c+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+a+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+a+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_ap='WiFi.mode(WIFI_AP);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());');return""},_h=function(x,f){var e=f.valueToCode(this,"SSID1",f.ORDER_ATOMIC),t=f.valueToCode(this,"SSID2",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK1",f.ORDER_ATOMIC),n=f.valueToCode(this,"PSK2",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),c=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),a=f.valueToCode(this,"IP",f.ORDER_ATOMIC),l=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);s=s.replace(new RegExp(/\./g),","),c=c.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),f.definitions_.define_STASSID="#define STASSID "+e,f.definitions_.define_STAPSK="#define STAPSK "+i,null!=z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+n+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+s+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+c+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wifi_ap_and_sta='WiFi.mode(WIFI_AP_STA);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n WiFi.begin(STASSID, STAPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';return""},Fh=function(x,f){var e=f.valueToCode(this,"input_data",f.ORDER_ATOMIC)||"COM",t=f.statementToCode(this,"do");return'int packetSize = Udp.parsePacket();\nif (packetSize) {\n Serial.printf("Received %d bytes from %s, port %d\\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());\n int len = Udp.read(incomingPacket, 536);\n if (len > 0) {\n incomingPacket[len] = 0;\n Serial.printf("UDP packet contents: %s\\n", incomingPacket);\n String '+e+" = incomingPacket;\n"+(""!=(t=t.replace(/(^\s*)|(\s*$)/g,""))?" "+t.replace(new RegExp(/\n/g),"\n ")+"\n":"")+" }\n}\n"},hh=function(x,f){return"Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());\nUdp.write("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\nUdp.endPacket();\n"};var Ah={北京:"101010100",海淀:"101010200",朝阳:"101010300",顺义:"101010400",怀柔:"101010500",通州:"101010600",昌平:"101010700",延庆:"101010800",丰台:"101010900",石景山:"101011000",大兴:"101011100",房山:"101011200",密云:"101011300",门头沟:"101011400",平谷:"101011500",八达岭:"101011600",佛爷顶:"101011700",汤河口:"101011800",密云上甸子:"101011900",斋堂:"101012000",霞云岭:"101012100",上海:"101020100",闵行:"101020200",宝山:"101020300",川沙:"101020400",嘉定:"101020500",南汇:"101020600",金山:"101020700",青浦:"101020800",松江:"101020900",奉贤:"101021000",崇明:"101021100",陈家镇:"101021101",引水船:"101021102",徐家汇:"101021200",浦东:"101021300",天津:"101030100",武清:"101030200",宝坻:"101030300",东丽:"101030400",西青:"101030500",北辰:"101030600",宁河:"101030700",汉沽:"101030800",静海:"101030900",津南:"101031000",塘沽:"101031100",大港:"101031200",平台:"101031300",蓟县:"101031400",重庆:"101040100",永川:"101040200",合川:"101040300",南川:"101040400",江津:"101040500",万盛:"101040600",渝北:"101040700",北碚:"101040800",巴南:"101040900",长寿:"101041000",黔江:"101041100",万州天城:"101041200",万州龙宝:"101041300",涪陵:"101041400",开县:"101041500",城口:"101041600",云阳:"101041700",巫溪:"101041800",奉节:"101041900",巫山:"101042000",潼南:"101042100",垫江:"101042200",梁平:"101042300",忠县:"101042400",石柱:"101042500",大足:"101042600",荣昌:"101042700",铜梁:"101042800",璧山:"101042900",丰都:"101043000",武隆:"101043100",彭水:"101043200",綦江:"101043300",酉阳:"101043400",金佛山:"101043500",秀山:"101043600",沙坪坝:"101043700",哈尔滨:"101050101",双城:"101050102",呼兰:"101050103",阿城:"101050104",宾县:"101050105",依兰:"101050106",巴彦:"101050107",通河:"101050108",方正:"101050109",延寿:"101050110",尚志:"101050111",五常:"101050112",木兰:"101050113",齐齐哈尔:"101050201",讷河:"101050202",龙江:"101050203",甘南:"101050204",富裕:"101050205",依安:"101050206",拜泉:"101050207",克山:"101050208",克东:"101050209",泰来:"101050210",牡丹江:"101050301",海林:"101050302",穆棱:"101050303",林口:"101050304",绥芬河:"101050305",宁安:"101050306",东宁:"101050307",佳木斯:"101050401",汤原:"101050402",抚远:"101050403",桦川:"101050404",桦南:"101050405",同江:"101050406",富锦:"101050407",绥化:"101050501",肇东:"101050502",安达:"101050503",海伦:"101050504",明水:"101050505",望奎:"101050506",兰西:"101050507",青冈:"101050508",庆安:"101050509",绥棱:"101050510",黑河:"101050601",嫩江:"101050602",孙吴:"101050603",逊克:"101050604",五大连池:"101050605",北安:"101050606",大兴安岭:"101050701",塔河:"101050702",漠河:"101050703",呼玛:"101050704",呼中:"101050705",新林:"101050706",阿木尔:"101050707",加格达奇:"101050708",伊春:"101050801",乌伊岭:"101050802",五营:"101050803",铁力:"101050804",嘉荫:"101050805",大庆:"101050901",林甸:"101050902",肇州:"101050903",肇源:"101050904",杜蒙:"101050905",七台河:"101051002",勃利:"101051003",鸡西:"101051101",虎林:"101051102",密山:"101051103",鸡东:"101051104",鹤岗:"101051201",绥滨:"101051202",萝北:"101051203",双鸭山:"101051301",集贤:"101051302",宝清:"101051303",饶河:"101051304",长春:"101060101",农安:"101060102",德惠:"101060103",九台:"101060104",榆树:"101060105",双阳:"101060106",吉林:"101060201",舒兰:"101060202",永吉:"101060203",蛟河:"101060204",磐石:"101060205",桦甸:"101060206",烟筒山:"101060207",延吉:"101060301",敦化:"101060302",安图:"101060303",汪清:"101060304",和龙:"101060305",天池:"101060306",龙井:"101060307",珲春:"101060308",图们:"101060309",罗子沟:"101060311",延边:"101060312",四平:"101060401",双辽:"101060402",梨树:"101060403",公主岭:"101060404",伊通:"101060405",孤家子:"101060406",通化:"101060501",梅河口:"101060502",柳河:"101060503",辉南:"101060504",集安:"101060505",通化县:"101060506",白城:"101060601",洮南:"101060602",大安:"101060603",镇赉:"101060604",通榆:"101060605",辽源:"101060701",东丰:"101060702",松原:"101060801",乾安:"101060802",前郭:"101060803",长岭:"101060804",扶余:"101060805",白山:"101060901",靖宇:"101060902",临江:"101060903",东岗:"101060904",长白:"101060905",沈阳:"101070101",苏家屯:"101070102",辽中:"101070103",康平:"101070104",法库:"101070105",新民:"101070106",于洪:"101070107",新城子:"101070108",大连:"101070201",瓦房店:"101070202",金州:"101070203",普兰店:"101070204",旅顺:"101070205",长海:"101070206",庄河:"101070207",皮口:"101070208",海洋岛:"101070209",鞍山:"101070301",台安:"101070302",岫岩:"101070303",海城:"101070304",抚顺:"101070401",清原:"101070403",章党:"101070404",本溪:"101070501",本溪县:"101070502",草河口:"101070503",桓仁:"101070504",丹东:"101070601",凤城:"101070602",宽甸:"101070603",东港:"101070604",东沟:"101070605",锦州:"101070701",凌海:"101070702",北宁:"101070703",义县:"101070704",黑山:"101070705",北镇:"101070706",营口:"101070801",大石桥:"101070802",盖州:"101070803",阜新:"101070901",彰武:"101070902",辽阳:"101071001",辽阳县:"101071002",灯塔:"101071003",铁岭:"101071101",开原:"101071102",昌图:"101071103",西丰:"101071104",建平:"101071202",凌源:"101071203",喀左:"101071204",北票:"101071205",羊山:"101071206",建平县:"101071207",盘锦:"101071301",大洼:"101071302",盘山:"101071303",葫芦岛:"101071401",建昌:"101071402",绥中:"101071403",兴城:"101071404",呼和浩特:"101080101",土默特左旗:"101080102",托克托:"101080103",和林格尔:"101080104",清水河:"101080105",呼和浩特市郊区:"101080106",武川:"101080107",包头:"101080201",白云鄂博:"101080202",满都拉:"101080203",土默特右旗:"101080204",固阳:"101080205",达尔罕茂明安联合旗:"101080206",石拐:"101080207",乌海:"101080301",集宁:"101080401",卓资:"101080402",化德:"101080403",商都:"101080404",希拉穆仁:"101080405",兴和:"101080406",凉城:"101080407",察哈尔右翼前旗:"101080408",察哈尔右翼中旗:"101080409",察哈尔右翼后旗:"101080410",四子王旗:"101080411",丰镇:"101080412",通辽:"101080501",舍伯吐:"101080502",科尔沁左翼中旗:"101080503",科尔沁左翼后旗:"101080504",青龙山:"101080505",开鲁:"101080506",库伦旗:"101080507",奈曼旗:"101080508",扎鲁特旗:"101080509",高力板:"101080510",巴雅尔吐胡硕:"101080511",通辽钱家店:"101080512",赤峰:"101080601",赤峰郊区站:"101080602",阿鲁科尔沁旗:"101080603",浩尔吐:"101080604",巴林左旗:"101080605",巴林右旗:"101080606",林西:"101080607",克什克腾旗:"101080608",翁牛特旗:"101080609",岗子:"101080610",喀喇沁旗:"101080611",八里罕:"101080612",宁城:"101080613",敖汉旗:"101080614",宝过图:"101080615",鄂尔多斯:"101080701",达拉特旗:"101080703",准格尔旗:"101080704",鄂托克前旗:"101080705",河南:"101080706",伊克乌素:"101080707",鄂托克旗:"101080708",杭锦旗:"101080709",乌审旗:"101080710",伊金霍洛旗:"101080711",乌审召:"101080712",东胜:"101080713",临河:"101080801",五原:"101080802",磴口:"101080803",乌拉特前旗:"101080804",大佘太:"101080805",乌拉特中旗:"101080806",乌拉特后旗:"101080807",海力素:"101080808",那仁宝力格:"101080809",杭锦后旗:"101080810",巴盟农试站:"101080811",锡林浩特:"101080901",朝克乌拉:"101080902",二连浩特:"101080903",阿巴嘎旗:"101080904",伊和郭勒:"101080905",苏尼特左旗:"101080906",苏尼特右旗:"101080907",朱日和:"101080908",东乌珠穆沁旗:"101080909",西乌珠穆沁旗:"101080910",太仆寺旗:"101080911",镶黄旗:"101080912",正镶白旗:"101080913",正兰旗:"101080914",多伦:"101080915",博克图:"101080916",乌拉盖:"101080917",白日乌拉:"101080918",那日图:"101080919",呼伦贝尔:"101081000",海拉尔:"101081001",小二沟:"101081002",阿荣旗:"101081003",莫力达瓦旗:"101081004",鄂伦春旗:"101081005",鄂温克旗:"101081006",陈巴尔虎旗:"101081007",新巴尔虎左旗:"101081008",新巴尔虎右旗:"101081009",满洲里:"101081010",牙克石:"101081011",扎兰屯:"101081012",额尔古纳:"101081014",根河:"101081015",图里河:"101081016",乌兰浩特:"101081101",阿尔山:"101081102",科尔沁右翼中旗:"101081103",胡尔勒:"101081104",扎赉特旗:"101081105",索伦:"101081106",突泉:"101081107",霍林郭勒:"101081108",阿拉善左旗:"101081201",阿拉善右旗:"101081202",额济纳旗:"101081203",拐子湖:"101081204",吉兰太:"101081205",锡林高勒:"101081206",头道湖:"101081207",中泉子:"101081208",巴彦诺尔贡:"101081209",雅布赖:"101081210",乌斯太:"101081211",孪井滩:"101081212",石家庄:"101090101",井陉:"101090102",正定:"101090103",栾城:"101090104",行唐:"101090105",灵寿:"101090106",高邑:"101090107",深泽:"101090108",赞皇:"101090109",无极:"101090110",平山:"101090111",元氏:"101090112",赵县:"101090113",辛集:"101090114",藁城:"101090115",晋洲:"101090116",新乐:"101090117",保定:"101090201",满城:"101090202",阜平:"101090203",徐水:"101090204",唐县:"101090205",高阳:"101090206",容城:"101090207",紫荆关:"101090208",涞源:"101090209",望都:"101090210",安新:"101090211",易县:"101090212",涞水:"101090213",曲阳:"101090214",蠡县:"101090215",顺平:"101090216",雄县:"101090217",涿州:"101090218",定州:"101090219",安国:"101090220",高碑店:"101090221",张家口:"101090301",宣化:"101090302",张北:"101090303",康保:"101090304",沽源:"101090305",尚义:"101090306",蔚县:"101090307",阳原:"101090308",怀安:"101090309",万全:"101090310",怀来:"101090311",涿鹿:"101090312",赤城:"101090313",崇礼:"101090314",承德:"101090402",承德县:"101090403",兴隆:"101090404",平泉:"101090405",滦平:"101090406",隆化:"101090407",丰宁:"101090408",宽城:"101090409",围场:"101090410",塞罕坎:"101090411",唐山:"101090501",丰南:"101090502",丰润:"101090503",滦县:"101090504",滦南:"101090505",乐亭:"101090506",迁西:"101090507",玉田:"101090508",唐海:"101090509",遵化:"101090510",迁安:"101090511",廊坊:"101090601",固安:"101090602",永清:"101090603",香河:"101090604",大城:"101090605",文安:"101090606",大厂:"101090607",霸州:"101090608",三河:"101090609",沧州:"101090701",青县:"101090702",东光:"101090703",海兴:"101090704",盐山:"101090705",肃宁:"101090706",南皮:"101090707",吴桥:"101090708",献县:"101090709",孟村:"101090710",泊头:"101090711",任丘:"101090712",黄骅:"101090713",河间:"101090714",曹妃甸:"101090715",衡水:"101090801",枣强:"101090802",武邑:"101090803",武强:"101090804",饶阳:"101090805",安平:"101090806",故城:"101090807",景县:"101090808",阜城:"101090809",冀州:"101090810",深州:"101090811",邢台:"101090901",临城:"101090902",邢台县浆水:"101090903",内邱:"101090904",柏乡:"101090905",隆尧:"101090906",南和:"101090907",宁晋:"101090908",巨鹿:"101090909",新河:"101090910",广宗:"101090911",平乡:"101090912",威县:"101090913",清河:"101090914",临西:"101090915",南宫:"101090916",沙河:"101090917",任县:"101090918",邯郸:"101091001",峰峰:"101091002",临漳:"101091003",成安:"101091004",大名:"101091005",涉县:"101091006",磁县:"101091007",肥乡:"101091008",永年:"101091009",邱县:"101091010",鸡泽:"101091011",广平:"101091012",馆陶:"101091013",魏县:"101091014",曲周:"101091015",武安:"101091016",秦皇岛:"101091101",青龙:"101091102",昌黎:"101091103",抚宁:"101091104",卢龙:"101091105",北戴河:"101091106",太原:"101100101",清徐:"101100102",阳曲:"101100103",娄烦:"101100104",太原古交区:"101100105",太原北郊:"101100106",太原南郊:"101100107",大同:"101100201",阳高:"101100202",大同县:"101100203",天镇:"101100204",广灵:"101100205",灵邱:"101100206",浑源:"101100207",左云:"101100208",阳泉:"101100301",盂县:"101100302",平定:"101100303",晋中:"101100401",榆次:"101100402",榆社:"101100403",左权:"101100404",和顺:"101100405",昔阳:"101100406",寿阳:"101100407",太谷:"101100408",祁县:"101100409",平遥:"101100410",灵石:"101100411",介休:"101100412",长治:"101100501",黎城:"101100502",屯留:"101100503",潞城:"101100504",襄垣:"101100505",平顺:"101100506",武乡:"101100507",沁县:"101100508",长子:"101100509",沁源:"101100510",壶关:"101100511",晋城:"101100601",沁水:"101100602",阳城:"101100603",陵川:"101100604",高平:"101100605",临汾:"101100701",曲沃:"101100702",永和:"101100703",隰县:"101100704",大宁:"101100705",吉县:"101100706",襄汾:"101100707",蒲县:"101100708",汾西:"101100709",洪洞:"101100710",霍州:"101100711",乡宁:"101100712",翼城:"101100713",侯马:"101100714",浮山:"101100715",安泽:"101100716",古县:"101100717",运城:"101100801",临猗:"101100802",稷山:"101100803",万荣:"101100804",河津:"101100805",新绛:"101100806",绛县:"101100807",闻喜:"101100808",垣曲:"101100809",永济:"101100810",芮城:"101100811",夏县:"101100812",平陆:"101100813",朔州:"101100901",平鲁:"101100902",山阴:"101100903",右玉:"101100904",应县:"101100905",怀仁:"101100906",忻州:"101101001",定襄:"101101002",五台县豆村:"101101003",河曲:"101101004",偏关:"101101005",神池:"101101006",宁武:"101101007",代县:"101101008",繁峙:"101101009",五台山:"101101010",保德:"101101011",静乐:"101101012",岢岚:"101101013",五寨:"101101014",原平:"101101015",吕梁:"101101100",离石:"101101101",临县:"101101102",兴县:"101101103",岚县:"101101104",柳林:"101101105",石楼:"101101106",方山:"101101107",交口:"101101108",中阳:"101101109",孝义:"101101110",汾阳:"101101111",文水:"101101112",交城:"101101113",西安:"101110101",长安:"101110102",临潼:"101110103",蓝田:"101110104",周至:"101110105",户县:"101110106",高陵:"101110107",杨凌:"101110108",咸阳:"101110200",三原:"101110201",礼泉:"101110202",永寿:"101110203",淳化:"101110204",泾阳:"101110205",武功:"101110206",乾县:"101110207",彬县:"101110208",长武:"101110209",旬邑:"101110210",兴平:"101110211",延安:"101110300",延长:"101110301",延川:"101110302",子长:"101110303",宜川:"101110304",富县:"101110305",志丹:"101110306",安塞:"101110307",甘泉:"101110308",洛川:"101110309",黄陵:"101110310",黄龙:"101110311",吴起:"101110312",榆林:"101110401",府谷:"101110402",神木:"101110403",佳县:"101110404",定边:"101110405",靖边:"101110406",横山:"101110407",米脂:"101110408",子洲:"101110409",绥德:"101110410",吴堡:"101110411",清涧:"101110412",渭南:"101110501",华县:"101110502",潼关:"101110503",大荔:"101110504",白水:"101110505",富平:"101110506",蒲城:"101110507",澄城:"101110508",合阳:"101110509",韩城:"101110510",华阴:"101110511",华山:"101110512",商洛:"101110601",洛南:"101110602",柞水:"101110603",镇安:"101110605",丹凤:"101110606",商南:"101110607",山阳:"101110608",安康:"101110701",紫阳:"101110702",石泉:"101110703",汉阴:"101110704",旬阳:"101110705",岚皋:"101110706",平利:"101110707",白河:"101110708",镇坪:"101110709",宁陕:"101110710",汉中:"101110801",略阳:"101110802",勉县:"101110803",留坝:"101110804",洋县:"101110805",城固:"101110806",西乡:"101110807",佛坪:"101110808",宁强:"101110809",南郑:"101110810",镇巴:"101110811",宝鸡:"101110901",宝鸡县:"101110902",千阳:"101110903",麟游:"101110904",岐山:"101110905",凤翔:"101110906",扶风:"101110907",眉县:"101110908",太白:"101110909",凤县:"101110910",陇县:"101110911",铜川:"101111001",耀县:"101111002",宜君:"101111003",济南:"101120101",长清:"101120102",商河:"101120103",章丘:"101120104",平阴:"101120105",济阳:"101120106",青岛:"101120201",崂山:"101120202",潮连岛:"101120203",即墨:"101120204",胶州:"101120205",胶南:"101120206",莱西:"101120207",平度:"101120208",淄博:"101120301",淄川:"101120302",博山:"101120303",高青:"101120304",周村:"101120305",沂源:"101120306",桓台:"101120307",临淄:"101120308",德州:"101120401",武城:"101120402",临邑:"101120403",陵县:"101120404",齐河:"101120405",乐陵:"101120406",庆云:"101120407",平原:"101120408",宁津:"101120409",夏津:"101120410",禹城:"101120411",烟台:"101120501",莱州:"101120502",长岛:"101120503",蓬莱:"101120504",龙口:"101120505",招远:"101120506",栖霞:"101120507",福山:"101120508",牟平:"101120509",莱阳:"101120510",海阳:"101120511",千里岩:"101120512",潍坊:"101120601",青州:"101120602",寿光:"101120603",临朐:"101120604",昌乐:"101120605",昌邑:"101120606",安丘:"101120607",高密:"101120608",诸城:"101120609",济宁:"101120701",嘉祥:"101120702",微山:"101120703",鱼台:"101120704",兖州:"101120705",金乡:"101120706",汶上:"101120707",泗水:"101120708",梁山:"101120709",曲阜:"101120710",邹城:"101120711",泰安:"101120801",新泰:"101120802",泰山:"101120803",肥城:"101120804",东平:"101120805",宁阳:"101120806",临沂:"101120901",莒南:"101120902",沂南:"101120903",苍山:"101120904",临沭:"101120905",郯城:"101120906",蒙阴:"101120907",平邑:"101120908",费县:"101120909",沂水:"101120910",马站:"101120911",菏泽:"101121001",鄄城:"101121002",郓城:"101121003",东明:"101121004",定陶:"101121005",巨野:"101121006",曹县:"101121007",成武:"101121008",单县:"101121009",滨州:"101121101",博兴:"101121102",无棣:"101121103",阳信:"101121104",惠民:"101121105",沾化:"101121106",邹平:"101121107",东营:"101121201",河口:"101121202",垦利:"101121203",利津:"101121204",广饶:"101121205",威海:"101121301",文登:"101121302",荣成:"101121303",乳山:"101121304",成山头:"101121305",石岛:"101121306",枣庄:"101121401",薛城:"101121402",峄城:"101121403",台儿庄:"101121404",滕州:"101121405",日照:"101121501",五莲:"101121502",莒县:"101121503",莱芜:"101121601",聊城:"101121701",冠县:"101121702",阳谷:"101121703",高唐:"101121704",茌平:"101121705",东阿:"101121706",临清:"101121707",朝城:"101121708",莘县:"101121709",乌鲁木齐:"101130101",蔡家湖:"101130102",小渠子:"101130103",巴仑台:"101130104",达坂城:"101130105",十三间房气象站:"101130106",天山大西沟:"101130107",乌鲁木齐牧试站:"101130108",白杨沟:"101130110",克拉玛依:"101130201",石河子:"101130301",炮台:"101130302",莫索湾:"101130303",乌兰乌苏:"101130304",昌吉:"101130401",呼图壁:"101130402",米泉:"101130403",阜康:"101130404",吉木萨尔:"101130405",奇台:"101130406",玛纳斯:"101130407",木垒:"101130408",北塔山:"101130409",吐鲁番:"101130501",托克逊:"101130502",吐鲁番东坎:"101130503",鄯善:"101130504",红柳河:"101130505",库尔勒:"101130601",轮台:"101130602",尉犁:"101130603",若羌:"101130604",且末:"101130605",和静:"101130606",焉耆:"101130607",和硕:"101130608",库米什:"101130609",巴音布鲁克:"101130610",铁干里克:"101130611",博湖:"101130612",塔中:"101130613",阿拉尔:"101130701",阿克苏:"101130801",乌什:"101130802",温宿:"101130803",拜城:"101130804",新和:"101130805",沙雅:"101130806",库车:"101130807",柯坪:"101130808",阿瓦提:"101130809",喀什:"101130901",英吉沙:"101130902",塔什库尔干:"101130903",麦盖提:"101130904",莎车:"101130905",叶城:"101130906",泽普:"101130907",巴楚:"101130908",岳普湖:"101130909",伽师:"101130910",伊宁:"101131001",察布查尔:"101131002",尼勒克:"101131003",伊宁县:"101131004",巩留:"101131005",新源:"101131006",昭苏:"101131007",特克斯:"101131008",霍城:"101131009",霍尔果斯:"101131010",塔城:"101131101",裕民:"101131102",额敏:"101131103",和布克赛尔:"101131104",托里:"101131105",乌苏:"101131106",沙湾:"101131107",和丰:"101131108",哈密:"101131201",沁城:"101131202",巴里坤:"101131203",伊吾:"101131204",淖毛湖:"101131205",和田:"101131301",皮山:"101131302",策勒:"101131303",墨玉:"101131304",洛浦:"101131305",民丰:"101131306",于田:"101131307",阿勒泰:"101131401",哈巴河:"101131402",一八五团:"101131403",黑山头:"101131404",吉木乃:"101131405",布尔津:"101131406",福海:"101131407",富蕴:"101131408",青河:"101131409",安德河:"101131410",阿图什:"101131501",乌恰:"101131502",阿克陶:"101131503",阿合奇:"101131504",吐尔尕特:"101131505",博乐:"101131601",温泉:"101131602",精河:"101131603",阿拉山口:"101131606",拉萨:"101140101",当雄:"101140102",尼木:"101140103",墨竹贡卡:"101140104",日喀则:"101140201",拉孜:"101140202",南木林:"101140203",聂拉木:"101140204",定日:"101140205",江孜:"101140206",帕里:"101140207",山南:"101140301",贡嘎:"101140302",琼结:"101140303",加查:"101140304",浪卡子:"101140305",错那:"101140306",隆子:"101140307",泽当:"101140308",林芝:"101140401",波密:"101140402",米林:"101140403",察隅:"101140404",昌都:"101140501",丁青:"101140502",类乌齐:"101140503",洛隆:"101140504",左贡:"101140505",芒康:"101140506",八宿:"101140507",那曲:"101140601",嘉黎:"101140603",班戈:"101140604",安多:"101140605",索县:"101140606",比如:"101140607",阿里:"101140701",改则:"101140702",申扎:"101140703",狮泉河:"101140704",普兰:"101140705",西宁:"101150101",大通:"101150102",湟源:"101150103",湟中:"101150104",铁卜加:"101150105",铁卜加寺:"101150106",中心站:"101150107",海东:"101150201",乐都:"101150202",民和:"101150203",互助:"101150204",化隆:"101150205",循化:"101150206",冷湖:"101150207",平安:"101150208",黄南:"101150301",尖扎:"101150302",泽库:"101150303",海南:"101150401",江西沟:"101150402",贵德:"101150404",河卡:"101150405",兴海:"101150406",贵南:"101150407",同德:"101150408",共和:"101150409",果洛:"101150501",班玛:"101150502",甘德:"101150503",达日:"101150504",久治:"101150505",玛多:"101150506",玛沁:"101150508",玉树:"101150601",托托河:"101150602",治多:"101150603",杂多:"101150604",囊谦:"101150605",曲麻莱:"101150606",海西:"101150701",格尔木:"101150702",察尔汉:"101150703",野牛沟:"101150704",五道梁:"101150705",小灶火:"101150706",天峻:"101150708",乌兰:"101150709",都兰:"101150710",诺木洪:"101150711",茫崖:"101150712",大柴旦:"101150713",茶卡:"101150714",香日德:"101150715",德令哈:"101150716",海北:"101150801",门源:"101150802",祁连:"101150803",海晏:"101150804",托勒:"101150805",刚察:"101150806",兰州:"101160101",皋兰:"101160102",永登:"101160103",榆中:"101160104",定西:"101160201",通渭:"101160202",陇西:"101160203",渭源:"101160204",临洮:"101160205",漳县:"101160206",岷县:"101160207",安定:"101160208",平凉:"101160301",泾川:"101160302",灵台:"101160303",崇信:"101160304",华亭:"101160305",庄浪:"101160306",静宁:"101160307",崆峒:"101160308",庆阳:"101160401",西峰:"101160402",环县:"101160403",华池:"101160404",合水:"101160405",正宁:"101160406",宁县:"101160407",镇原:"101160408",庆城:"101160409",武威:"101160501",民勤:"101160502",古浪:"101160503",乌鞘岭:"101160504",天祝:"101160505",金昌:"101160601",永昌:"101160602",张掖:"101160701",肃南:"101160702",民乐:"101160703",临泽:"101160704",高台:"101160705",山丹:"101160706",酒泉:"101160801",鼎新:"101160802",金塔:"101160803",马鬃山:"101160804",瓜州:"101160805",肃北:"101160806",玉门镇:"101160807",敦煌:"101160808",天水:"101160901",北道区:"101160902",清水:"101160903",秦安:"101160904",甘谷:"101160905",武山:"101160906",张家川:"101160907",麦积:"101160908",武都:"101161001",成县:"101161002",文县:"101161003",宕昌:"101161004",康县:"101161005",西和:"101161006",礼县:"101161007",徽县:"101161008",两当:"101161009",临夏:"101161101",康乐:"101161102",永靖:"101161103",广河:"101161104",和政:"101161105",东乡:"101161106",合作:"101161201",临潭:"101161202",卓尼:"101161203",舟曲:"101161204",迭部:"101161205",玛曲:"101161206",碌曲:"101161207",夏河:"101161208",白银:"101161301",靖远:"101161302",会宁:"101161303",华家岭:"101161304",景泰:"101161305",银川:"101170101",永宁:"101170102",灵武:"101170103",贺兰:"101170104",石嘴山:"101170201",惠农:"101170202",平罗:"101170203",陶乐:"101170204",石炭井:"101170205",大武口:"101170206",吴忠:"101170301",同心:"101170302",盐池:"101170303",韦州:"101170304",麻黄山:"101170305",青铜峡:"101170306",固原:"101170401",西吉:"101170402",隆德:"101170403",泾源:"101170404",六盘山:"101170405",彭阳:"101170406",中卫:"101170501",中宁:"101170502",兴仁堡:"101170503",海原:"101170504",郑州:"101180101",巩义:"101180102",荥阳:"101180103",登封:"101180104",新密:"101180105",新郑:"101180106",中牟:"101180107",郑州农试站:"101180108",安阳:"101180201",汤阴:"101180202",滑县:"101180203",内黄:"101180204",林州:"101180205",新乡:"101180301",获嘉:"101180302",原阳:"101180303",辉县:"101180304",卫辉:"101180305",延津:"101180306",封丘:"101180307",长垣:"101180308",许昌:"101180401",鄢陵:"101180402",襄城:"101180403",长葛:"101180404",禹州:"101180405",平顶山:"101180501",郏县:"101180502",宝丰:"101180503",汝州:"101180504",叶县:"101180505",舞钢:"101180506",鲁山:"101180507",信阳:"101180601",息县:"101180602",罗山:"101180603",光山:"101180604",新县:"101180605",淮滨:"101180606",潢川:"101180607",固始:"101180608",商城:"101180609",鸡公山:"101180610",信阳地区农试站:"101180611",南阳:"101180701",南召:"101180702",方城:"101180703",社旗:"101180704",西峡:"101180705",内乡:"101180706",镇平:"101180707",淅川:"101180708",新野:"101180709",唐河:"101180710",邓州:"101180711",桐柏:"101180712",开封:"101180801",杞县:"101180802",尉氏:"101180803",通许:"101180804",兰考:"101180805",洛阳:"101180901",新安:"101180902",孟津:"101180903",宜阳:"101180904",洛宁:"101180905",伊川:"101180906",嵩县:"101180907",偃师:"101180908",栾川:"101180909",汝阳:"101180910",商丘:"101181001",睢阳区:"101181002",睢县:"101181003",民权:"101181004",虞城:"101181005",柘城:"101181006",宁陵:"101181007",夏邑:"101181008",永城:"101181009",焦作:"101181101",修武:"101181102",武陟:"101181103",沁阳:"101181104",博爱:"101181106",温县:"101181107",孟州:"101181108",鹤壁:"101181201",浚县:"101181202",淇县:"101181203",濮阳:"101181301",台前:"101181302",南乐:"101181303",清丰:"101181304",范县:"101181305",周口:"101181401",扶沟:"101181402",太康:"101181403",淮阳:"101181404",西华:"101181405",商水:"101181406",项城:"101181407",郸城:"101181408",鹿邑:"101181409",沈丘:"101181410",黄泛区:"101181411",漯河:"101181501",临颍:"101181502",舞阳:"101181503",驻马店:"101181601",西平:"101181602",遂平:"101181603",上蔡:"101181604",汝南:"101181605",泌阳:"101181606",平舆:"101181607",新蔡:"101181608",确山:"101181609",正阳:"101181610",三门峡:"101181701",灵宝:"101181702",渑池:"101181703",卢氏:"101181704",济源:"101181801",南京:"101190101",溧水:"101190102",高淳:"101190103",江宁:"101190104",六合:"101190105",江浦:"101190106",浦口:"101190107",无锡:"101190201",江阴:"101190202",宜兴:"101190203",镇江:"101190301",丹阳:"101190302",扬中:"101190303",句容:"101190304",丹徒:"101190305",苏州:"101190401",常熟:"101190402",张家港:"101190403",昆山:"101190404",吴县东山:"101190405",吴县:"101190406",吴江:"101190407",太仓:"101190408",南通:"101190501",海安:"101190502",如皋:"101190503",如东:"101190504",吕泗:"101190505",吕泗渔场:"101190506",启东:"101190507",海门:"101190508",扬州:"101190601",宝应:"101190602",仪征:"101190603",高邮:"101190604",江都:"101190605",邗江:"101190606",盐城:"101190701",响水:"101190702",滨海:"101190703",阜宁:"101190704",射阳:"101190705",建湖:"101190706",东台:"101190707",大丰:"101190708",盐都:"101190709",徐州:"101190801",徐州农试站:"101190802",丰县:"101190803",沛县:"101190804",邳州:"101190805",睢宁:"101190806",新沂:"101190807",淮安:"101190901",金湖:"101190902",盱眙:"101190903",洪泽:"101190904",涟水:"101190905",淮阴县:"101190906",淮阴:"101190907",楚州:"101190908",连云港:"101191001",东海:"101191002",赣榆:"101191003",灌云:"101191004",灌南:"101191005",西连岛:"101191006",燕尾港:"101191007",常州:"101191101",溧阳:"101191102",金坛:"101191103",泰州:"101191201",兴化:"101191202",泰兴:"101191203",姜堰:"101191204",靖江:"101191205",宿迁:"101191301",沭阳:"101191302",泗阳:"101191303",泗洪:"101191304",武汉:"101200101",蔡甸:"101200102",黄陂:"101200103",新洲:"101200104",江夏:"101200105",襄樊:"101200201",襄阳:"101200202",保康:"101200203",南漳:"101200204",宜城:"101200205",老河口:"101200206",谷城:"101200207",枣阳:"101200208",鄂州:"101200301",孝感:"101200401",安陆:"101200402",云梦:"101200403",大悟:"101200404",应城:"101200405",汉川:"101200406",黄冈:"101200501",红安:"101200502",麻城:"101200503",罗田:"101200504",英山:"101200505",浠水:"101200506",蕲春:"101200507",黄梅:"101200508",武穴:"101200509",黄石:"101200601",大冶:"101200602",阳新:"101200603",咸宁:"101200701",赤壁:"101200702",嘉鱼:"101200703",崇阳:"101200704",通城:"101200705",通山:"101200706",荆州:"101200801",江陵:"101200802",公安:"101200803",石首:"101200804",监利:"101200805",洪湖:"101200806",松滋:"101200807",宜昌:"101200901",远安:"101200902",秭归:"101200903",兴山:"101200904",宜昌县:"101200905",五峰:"101200906",当阳:"101200907",长阳:"101200908",宜都:"101200909",枝江:"101200910",三峡:"101200911",夷陵:"101200912",恩施:"101201001",利川:"101201002",建始:"101201003",咸丰:"101201004",宣恩:"101201005",鹤峰:"101201006",来凤:"101201007",巴东:"101201008",绿葱坡:"101201009",十堰:"101201101",竹溪:"101201102",郧西:"101201103",郧县:"101201104",竹山:"101201105",房县:"101201106",丹江口:"101201107",神农架:"101201201",随州:"101201301",广水:"101201302",荆门:"101201401",钟祥:"101201402",京山:"101201403",天门:"101201501",仙桃:"101201601",潜江:"101201701",杭州:"101210101",萧山:"101210102",桐庐:"101210103",淳安:"101210104",建德:"101210105",余杭:"101210106",临安:"101210107",富阳:"101210108",湖州:"101210201",长兴:"101210202",安吉:"101210203",德清:"101210204",嘉兴:"101210301",嘉善:"101210302",海宁:"101210303",桐乡:"101210304",平湖:"101210305",海盐:"101210306",宁波:"101210401",慈溪:"101210403",余姚:"101210404",奉化:"101210405",象山:"101210406",石浦:"101210407",宁海:"101210408",鄞县:"101210409",北仑:"101210410",鄞州:"101210411",镇海:"101210412",绍兴:"101210501",诸暨:"101210502",上虞:"101210503",新昌:"101210504",嵊州:"101210505",台州:"101210601",括苍山:"101210602",玉环:"101210603",三门:"101210604",天台:"101210605",仙居:"101210606",温岭:"101210607",大陈:"101210608",洪家:"101210609",温州:"101210701",泰顺:"101210702",文成:"101210703",平阳:"101210704",瑞安:"101210705",洞头:"101210706",乐清:"101210707",永嘉:"101210708",苍南:"101210709",丽水:"101210801",遂昌:"101210802",龙泉:"101210803",缙云:"101210804",青田:"101210805",云和:"101210806",庆元:"101210807",金华:"101210901",浦江:"101210902",兰溪:"101210903",义乌:"101210904",东阳:"101210905",武义:"101210906",永康:"101210907",磐安:"101210908",衢州:"101211001",常山:"101211002",开化:"101211003",龙游:"101211004",江山:"101211005",舟山:"101211101",嵊泗:"101211102",嵊山:"101211103",岱山:"101211104",普陀:"101211105",定海:"101211106",合肥:"101220101",长丰:"101220102",肥东:"101220103",肥西:"101220104",蚌埠:"101220201",怀远:"101220202",固镇:"101220203",五河:"101220204",芜湖:"101220301",繁昌:"101220302",芜湖县:"101220303",南陵:"101220304",淮南:"101220401",凤台:"101220402",马鞍山:"101220501",当涂:"101220502",安庆:"101220601",枞阳:"101220602",太湖:"101220603",潜山:"101220604",怀宁:"101220605",宿松:"101220606",望江:"101220607",岳西:"101220608",桐城:"101220609",宿州:"101220701",砀山:"101220702",灵璧:"101220703",泗县:"101220704",萧县:"101220705",阜阳:"101220801",阜南:"101220802",颍上:"101220803",临泉:"101220804",界首:"101220805",太和:"101220806",亳州:"101220901",涡阳:"101220902",利辛:"101220903",蒙城:"101220904",黄山站:"101221001",黄山区:"101221002",屯溪:"101221003",祁门:"101221004",黟县:"101221005",歙县:"101221006",休宁:"101221007",黄山市:"101221008",滁州:"101221101",凤阳:"101221102",明光:"101221103",定远:"101221104",全椒:"101221105",来安:"101221106",天长:"101221107",淮北:"101221201",濉溪:"101221202",铜陵:"101221301",宣城:"101221401",泾县:"101221402",旌德:"101221403",宁国:"101221404",绩溪:"101221405",广德:"101221406",郎溪:"101221407",六安:"101221501",霍邱:"101221502",寿县:"101221503",南溪:"101221504",金寨:"101221505",霍山:"101221506",舒城:"101221507",巢湖:"101221601",庐江:"101221602",无为:"101221603",含山:"101221604",和县:"101221605",池州:"101221701",东至:"101221702",青阳:"101221703",九华山:"101221704",石台:"101221705",福州:"101230101",闽清:"101230102",闽侯:"101230103",罗源:"101230104",连江:"101230105",马祖:"101230106",永泰:"101230107",平潭:"101230108",福州郊区:"101230109",长乐:"101230110",福清:"101230111",平潭海峡大桥:"101230112",厦门:"101230201",同安:"101230202",宁德:"101230301",古田:"101230302",霞浦:"101230303",寿宁:"101230304",周宁:"101230305",福安:"101230306",柘荣:"101230307",福鼎:"101230308",屏南:"101230309",莆田:"101230401",仙游:"101230402",秀屿港:"101230403",泉州:"101230501",安溪:"101230502",九仙山:"101230503",永春:"101230504",德化:"101230505",南安:"101230506",崇武:"101230507",晋江:"101230509",漳州:"101230601",长泰:"101230602",南靖:"101230603",平和:"101230604",龙海:"101230605",漳浦:"101230606",诏安:"101230607",东山:"101230608",云霄:"101230609",华安:"101230610",龙岩:"101230701",长汀:"101230702",连城:"101230703",武平:"101230704",上杭:"101230705",永定:"101230706",漳平:"101230707",三明:"101230801",宁化:"101230802",清流:"101230803",泰宁:"101230804",将乐:"101230805",建宁:"101230806",明溪:"101230807",沙县:"101230808",尤溪:"101230809",永安:"101230810",大田:"101230811",南平:"101230901",顺昌:"101230902",光泽:"101230903",邵武:"101230904",武夷山:"101230905",浦城:"101230906",建阳:"101230907",松溪:"101230908",政和:"101230909",建瓯:"101230910",南昌:"101240101",新建:"101240102",南昌县:"101240103",安义:"101240104",进贤:"101240105",莲塘:"101240106",九江:"101240201",瑞昌:"101240202",庐山:"101240203",武宁:"101240204",德安:"101240205",永修:"101240206",湖口:"101240207",彭泽:"101240208",星子:"101240209",都昌:"101240210",棠荫:"101240211",修水:"101240212",上饶:"101240301",鄱阳:"101240302",婺源:"101240303",康山:"101240304",余干:"101240305",万年:"101240306",德兴:"101240307",上饶县:"101240308",弋阳:"101240309",横峰:"101240310",铅山:"101240311",玉山:"101240312",广丰:"101240313",波阳:"101240314",抚州:"101240401",广昌:"101240402",乐安:"101240403",崇仁:"101240404",金溪:"101240405",资溪:"101240406",宜黄:"101240407",南城:"101240408",南丰:"101240409",黎川:"101240410",宜春:"101240501",铜鼓:"101240502",宜丰:"101240503",万载:"101240504",上高:"101240505",靖安:"101240506",奉新:"101240507",高安:"101240508",樟树:"101240509",丰城:"101240510",吉安:"101240601",吉安县:"101240602",吉水:"101240603",新干:"101240604",峡江:"101240605",永丰:"101240606",永新:"101240607",井冈山:"101240608",万安:"101240609",遂川:"101240610",泰和:"101240611",安福:"101240612",宁冈:"101240613",赣州:"101240701",崇义:"101240702",上犹:"101240703",南康:"101240704",大余:"101240705",信丰:"101240706",宁都:"101240707",石城:"101240708",瑞金:"101240709",于都:"101240710",会昌:"101240711",安远:"101240712",全南:"101240713",龙南:"101240714",定南:"101240715",寻乌:"101240716",兴国:"101240717",景德镇:"101240801",乐平:"101240802",萍乡:"101240901",莲花:"101240902",新余:"101241001",分宜:"101241002",鹰潭:"101241101",余江:"101241102",贵溪:"101241103",长沙:"101250101",宁乡:"101250102",浏阳:"101250103",马坡岭:"101250104",湘潭:"101250201",韶山:"101250202",湘乡:"101250203",株洲:"101250301",攸县:"101250302",醴陵:"101250303",株洲县:"101250304",茶陵:"101250305",炎陵:"101250306",衡阳:"101250401",衡山:"101250402",衡东:"101250403",祁东:"101250404",衡阳县:"101250405",常宁:"101250406",衡南:"101250407",耒阳:"101250408",南岳:"101250409",郴州:"101250501",桂阳:"101250502",嘉禾:"101250503",宜章:"101250504",临武:"101250505",桥口:"101250506",资兴:"101250507",汝城:"101250508",安仁:"101250509",永兴:"101250510",桂东:"101250511",常德:"101250601",安乡:"101250602",桃源:"101250603",汉寿:"101250604",澧县:"101250605",临澧:"101250606",石门:"101250607",益阳:"101250700",赫山区:"101250701",南县:"101250702",桃江:"101250703",安化:"101250704",沅江:"101250705",娄底:"101250801",双峰:"101250802",冷水江:"101250803",冷水滩:"101250804",新化:"101250805",涟源:"101250806",邵阳:"101250901",隆回:"101250902",洞口:"101250903",新邵:"101250904",邵东:"101250905",绥宁:"101250906",新宁:"101250907",武冈:"101250908",城步:"101250909",邵阳县:"101250910",岳阳:"101251001",华容:"101251002",湘阴:"101251003",汨罗:"101251004",平江:"101251005",临湘:"101251006",张家界:"101251101",桑植:"101251102",慈利:"101251103",怀化:"101251201",鹤城区:"101251202",沅陵:"101251203",辰溪:"101251204",靖州:"101251205",会同:"101251206",通道:"101251207",麻阳:"101251208",新晃:"101251209",芷江:"101251210",溆浦:"101251211",黔阳:"101251301",洪江:"101251302",永州:"101251401",祁阳:"101251402",东安:"101251403",双牌:"101251404",道县:"101251405",宁远:"101251406",江永:"101251407",蓝山:"101251408",新田:"101251409",江华:"101251410",吉首:"101251501",保靖:"101251502",永顺:"101251503",古丈:"101251504",凤凰:"101251505",泸溪:"101251506",龙山:"101251507",花垣:"101251508",贵阳:"101260101",白云:"101260102",花溪:"101260103",乌当:"101260104",息烽:"101260105",开阳:"101260106",修文:"101260107",清镇:"101260108",遵义:"101260201",遵义县:"101260202",仁怀:"101260203",绥阳:"101260204",湄潭:"101260205",凤冈:"101260206",桐梓:"101260207",赤水:"101260208",习水:"101260209",道真:"101260210",正安:"101260211",务川:"101260212",余庆:"101260213",汇川:"101260214",安顺:"101260301",普定:"101260302",镇宁:"101260303",平坝:"101260304",紫云:"101260305",关岭:"101260306",都匀:"101260401",贵定:"101260402",瓮安:"101260403",长顺:"101260404",福泉:"101260405",惠水:"101260406",龙里:"101260407",罗甸:"101260408",平塘:"101260409",独山:"101260410",三都:"101260411",荔波:"101260412",凯里:"101260501",岑巩:"101260502",施秉:"101260503",镇远:"101260504",黄平:"101260505",黄平旧洲:"101260506",麻江:"101260507",丹寨:"101260508",三穗:"101260509",台江:"101260510",剑河:"101260511",雷山:"101260512",黎平:"101260513",天柱:"101260514",锦屏:"101260515",榕江:"101260516",从江:"101260517",炉山:"101260518",铜仁:"101260601",江口:"101260602",玉屏:"101260603",万山:"101260604",思南:"101260605",塘头:"101260606",印江:"101260607",石阡:"101260608",沿河:"101260609",德江:"101260610",松桃:"101260611",毕节:"101260701",赫章:"101260702",金沙:"101260703",威宁:"101260704",大方:"101260705",纳雍:"101260706",织金:"101260707",六盘水:"101260801",六枝:"101260802",水城:"101260803",盘县:"101260804",黔西:"101260901",晴隆:"101260902",兴仁:"101260903",贞丰:"101260904",望谟:"101260905",兴义:"101260906",安龙:"101260907",册亨:"101260908",普安:"101260909",成都:"101270101",龙泉驿:"101270102",新都:"101270103",温江:"101270104",金堂:"101270105",双流:"101270106",郫县:"101270107",大邑:"101270108",蒲江:"101270109",新津:"101270110",都江堰:"101270111",彭州:"101270112",邛崃:"101270113",崇州:"101270114",崇庆:"101270115",彭县:"101270116",攀枝花:"101270201",仁和:"101270202",米易:"101270203",盐边:"101270204",自贡:"101270301",富顺:"101270302",荣县:"101270303",绵阳:"101270401",三台:"101270402",盐亭:"101270403",安县:"101270404",梓潼:"101270405",北川:"101270406",平武:"101270407",江油:"101270408",南充:"101270501",南部:"101270502",营山:"101270503",蓬安:"101270504",仪陇:"101270505",西充:"101270506",阆中:"101270507",达州:"101270601",宣汉:"101270602",开江:"101270603",大竹:"101270604",渠县:"101270605",万源:"101270606",达川:"101270607",遂宁:"101270701",蓬溪:"101270702",射洪:"101270703",广安:"101270801",岳池:"101270802",武胜:"101270803",邻水:"101270804",华蓥山:"101270805",巴中:"101270901",通江:"101270902",南江:"101270903",平昌:"101270904",泸州:"101271001",泸县:"101271003",合江:"101271004",叙永:"101271005",古蔺:"101271006",纳溪:"101271007",宜宾:"101271101",宜宾农试站:"101271102",宜宾县:"101271103",江安:"101271105",长宁:"101271106",高县:"101271107",珙县:"101271108",筠连:"101271109",兴文:"101271110",屏山:"101271111",内江:"101271201",东兴:"101271202",威远:"101271203",资中:"101271204",隆昌:"101271205",资阳:"101271301",安岳:"101271302",乐至:"101271303",简阳:"101271304",乐山:"101271401",犍为:"101271402",井研:"101271403",夹江:"101271404",沐川:"101271405",峨边:"101271406",马边:"101271407",峨眉:"101271408",峨眉山:"101271409",眉山:"101271501",仁寿:"101271502",彭山:"101271503",洪雅:"101271504",丹棱:"101271505",青神:"101271506",凉山:"101271601",木里:"101271603",盐源:"101271604",德昌:"101271605",会理:"101271606",会东:"101271607",宁南:"101271608",普格:"101271609",西昌:"101271610",金阳:"101271611",昭觉:"101271612",喜德:"101271613",冕宁:"101271614",越西:"101271615",甘洛:"101271616",雷波:"101271617",美姑:"101271618",布拖:"101271619",雅安:"101271701",名山:"101271702",荣经:"101271703",汉源:"101271704",石棉:"101271705",天全:"101271706",芦山:"101271707",宝兴:"101271708",甘孜:"101271801",康定:"101271802",泸定:"101271803",丹巴:"101271804",九龙:"101271805",雅江:"101271806",道孚:"101271807",炉霍:"101271808",新龙:"101271809",德格:"101271810",白玉:"101271811",石渠:"101271812",色达:"101271813",理塘:"101271814",巴塘:"101271815",乡城:"101271816",稻城:"101271817",得荣:"101271818",阿坝:"101271901",汶川:"101271902",理县:"101271903",茂县:"101271904",松潘:"101271905",九寨沟:"101271906",金川:"101271907",小金:"101271908",黑水:"101271909",马尔康:"101271910",壤塘:"101271911",若尔盖:"101271912",红原:"101271913",南坪:"101271914",德阳:"101272001",中江:"101272002",广汉:"101272003",什邡:"101272004",绵竹:"101272005",罗江:"101272006",广元:"101272101",旺苍:"101272102",青川:"101272103",剑阁:"101272104",苍溪:"101272105",广州:"101280101",番禺:"101280102",从化:"101280103",增城:"101280104",花都:"101280105",天河:"101280106",韶关:"101280201",乳源:"101280202",始兴:"101280203",翁源:"101280204",乐昌:"101280205",仁化:"101280206",南雄:"101280207",新丰:"101280208",曲江:"101280209",惠州:"101280301",博罗:"101280302",惠阳:"101280303",惠东:"101280304",龙门:"101280305",梅州:"101280401",兴宁:"101280402",蕉岭:"101280403",大埔:"101280404",丰顺:"101280406",平远:"101280407",五华:"101280408",梅县:"101280409",汕头:"101280501",潮阳:"101280502",澄海:"101280503",南澳:"101280504",云澳:"101280505",南澎岛:"101280506",深圳:"101280601",珠海:"101280701",斗门:"101280702",黄茅洲:"101280703",佛山:"101280800",顺德:"101280801",三水:"101280802",南海:"101280803",肇庆:"101280901",广宁:"101280902",四会:"101280903",德庆:"101280905",怀集:"101280906",封开:"101280907",高要:"101280908",湛江:"101281001",吴川:"101281002",雷州:"101281003",徐闻:"101281004",廉江:"101281005",硇洲:"101281006",遂溪:"101281007",江门:"101281101",开平:"101281103",新会:"101281104",恩平:"101281105",台山:"101281106",上川岛:"101281107",鹤山:"101281108",河源:"101281201",紫金:"101281202",连平:"101281203",和平:"101281204",龙川:"101281205",清远:"101281301",连南:"101281302",连州:"101281303",连山:"101281304",阳山:"101281305",佛冈:"101281306",英德:"101281307",云浮:"101281401",罗定:"101281402",新兴:"101281403",郁南:"101281404",潮州:"101281501",饶平:"101281502",东莞:"101281601",中山:"101281701",阳江:"101281801",阳春:"101281802",揭阳:"101281901",揭西:"101281902",普宁:"101281903",惠来:"101281904",茂名:"101282001",高州:"101282002",化州:"101282003",电白:"101282004",信宜:"101282005",汕尾:"101282101",海丰:"101282102",陆丰:"101282103",遮浪:"101282104",东沙岛:"101282105",昆明:"101290101",昆明农试站:"101290102",东川:"101290103",寻甸:"101290104",晋宁:"101290105",宜良:"101290106",石林:"101290107",呈贡:"101290108",富民:"101290109",嵩明:"101290110",禄劝:"101290111",安宁:"101290112",太华山:"101290113",大理:"101290201",云龙:"101290202",漾鼻:"101290203",永平:"101290204",宾川:"101290205",弥渡:"101290206",祥云:"101290207",魏山:"101290208",剑川:"101290209",洱源:"101290210",鹤庆:"101290211",南涧:"101290212",红河:"101290301",石屏:"101290302",建水:"101290303",弥勒:"101290304",元阳:"101290305",绿春:"101290306",开远:"101290307",个旧:"101290308",蒙自:"101290309",屏边:"101290310",泸西:"101290311",金平:"101290312",曲靖:"101290401",沾益:"101290402",陆良:"101290403",富源:"101290404",马龙:"101290405",师宗:"101290406",罗平:"101290407",会泽:"101290408",宣威:"101290409",保山:"101290501",富宁:"101290502",龙陵:"101290503",施甸:"101290504",昌宁:"101290505",腾冲:"101290506",文山:"101290601",西畴:"101290602",马关:"101290603",麻栗坡:"101290604",砚山:"101290605",邱北:"101290606",广南:"101290607",玉溪:"101290701",澄江:"101290702",江川:"101290703",通海:"101290704",华宁:"101290705",新平:"101290706",易门:"101290707",峨山:"101290708",元江:"101290709",楚雄:"101290801",大姚:"101290802",元谋:"101290803",姚安:"101290804",牟定:"101290805",南华:"101290806",武定:"101290807",禄丰:"101290808",双柏:"101290809",永仁:"101290810",普洱:"101290901",景谷:"101290902",景东:"101290903",澜沧:"101290904",墨江:"101290906",江城:"101290907",孟连:"101290908",西盟:"101290909",镇源:"101290910",镇沅:"101290911",宁洱:"101290912",昭通:"101291001",鲁甸:"101291002",彝良:"101291003",镇雄:"101291004",威信:"101291005",巧家:"101291006",绥江:"101291007",永善:"101291008",盐津:"101291009",大关:"101291010",临沧:"101291101",沧源:"101291102",耿马:"101291103",双江:"101291104",凤庆:"101291105",永德:"101291106",云县:"101291107",镇康:"101291108",怒江:"101291201",福贡:"101291203",兰坪:"101291204",泸水:"101291205",六库:"101291206",贡山:"101291207",香格里拉:"101291301",德钦:"101291302",维西:"101291303",中甸:"101291304",丽江:"101291401",永胜:"101291402",华坪:"101291403",宁蒗:"101291404",德宏:"101291501",潞江坝:"101291502",陇川:"101291503",盈江:"101291504",畹町镇:"101291505",瑞丽:"101291506",梁河:"101291507",潞西:"101291508",景洪:"101291601",大勐龙:"101291602",勐海:"101291603",景洪电站:"101291604",勐腊:"101291605",南宁:"101300101",南宁城区:"101300102",邕宁:"101300103",横县:"101300104",隆安:"101300105",马山:"101300106",上林:"101300107",武鸣:"101300108",宾阳:"101300109",硕龙:"101300110",崇左:"101300201",天等:"101300202",龙州:"101300203",凭祥:"101300204",大新:"101300205",扶绥:"101300206",宁明:"101300207",海渊:"101300208",柳州:"101300301",柳城:"101300302",沙塘:"101300303",鹿寨:"101300304",柳江:"101300305",融安:"101300306",融水:"101300307",三江:"101300308",来宾:"101300401",忻城:"101300402",金秀:"101300403",象州:"101300404",武宣:"101300405",桂林:"101300501",桂林农试站:"101300502",龙胜:"101300503",永福:"101300504",临桂:"101300505",兴安:"101300506",灵川:"101300507",全州:"101300508",灌阳:"101300509",阳朔:"101300510",恭城:"101300511",平乐:"101300512",荔浦:"101300513",资源:"101300514",梧州:"101300601",藤县:"101300602",太平:"101300603",苍梧:"101300604",蒙山:"101300605",岑溪:"101300606",贺州:"101300701",昭平:"101300702",富川:"101300703",钟山:"101300704",信都:"101300705",贵港:"101300801",桂平:"101300802",平南:"101300803",玉林:"101300901",博白:"101300902",北流:"101300903",容县:"101300904",陆川:"101300905",百色:"101301001",那坡:"101301002",田阳:"101301003",德保:"101301004",靖西:"101301005",田东:"101301006",平果:"101301007",隆林:"101301008",西林:"101301009",乐业:"101301010",凌云:"101301011",田林:"101301012",钦州:"101301101",浦北:"101301102",灵山:"101301103",河池:"101301201",天峨:"101301202",东兰:"101301203",巴马:"101301204",环江:"101301205",罗城:"101301206",宜州:"101301207",凤山:"101301208",南丹:"101301209",都安:"101301210",北海:"101301301",合浦:"101301302",涠洲岛:"101301303",防城港:"101301401",上思:"101301402",板栏:"101301404",防城:"101301405",海口:"101310101",琼山:"101310102",三亚:"101310201",东方:"101310202",临高:"101310203",澄迈:"101310204",儋州:"101310205",昌江:"101310206",白沙:"101310207",琼中:"101310208",定安:"101310209",屯昌:"101310210",琼海:"101310211",文昌:"101310212",清兰:"101310213",保亭:"101310214",万宁:"101310215",陵水:"101310216",西沙:"101310217",珊瑚岛:"101310218",永署礁:"101310219",南沙岛:"101310220",乐东:"101310221",五指山:"101310222",通什:"101310223",香港:"101320101",新界:"101320103",中环:"101320104",铜锣湾:"101320105",澳门:"101330101",台北县:"101340101",台北市:"101340102",高雄:"101340201",大武:"101340203",恒春:"101340204",兰屿:"101340205",台南:"101340301",台中:"101340401",桃园:"101340501",新竹县:"101340601",新竹市:"101340602",公馆:"101340603",宜兰:"101340701",马公:"101340801",东吉屿:"101340802",嘉义:"101340901",阿里山:"101340902",新港:"101340904"};const Ih=function(x,f){var e=this.getFieldValue("data"),t=Ah[e];return f.definitions_.include_Weather_Forcast="#include ",f.definitions_.var_declare_Weather_Forcast="Weather_Forcast Weather;",t?this.setFieldValue("ok","check"):(t="error",this.setFieldValue("error","check")),['Weather.RefreshData("'+t+'")',f.ORDER_ATOMIC]},gh=function(x,f){return["Weather.getToday("+this.getFieldValue("type")+")",f.ORDER_ATOMIC]},Th=function(x,f){return["Weather.get"+this.getFieldValue("type")+"("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Eh=function(x,f){var e=f.valueToCode(this,"server",f.ORDER_ATOMIC),t=f.valueToCode(this,"port",f.ORDER_ATOMIC),i=f.valueToCode(this,"mqtt_username",f.ORDER_ATOMIC),n=f.valueToCode(this,"mqtt_password",f.ORDER_ATOMIC),s=f.valueToCode(this,"project",f.ORDER_ATOMIC);t=t.replace(/"/g,""),f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient="const char *mqtt_broker = "+e+";\nconst char *mqtt_username = "+i+";\nconst char *mqtt_password = "+n+";\nconst int mqtt_port = "+t+';\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = '+s+';\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},Ch=function(x,f){var e=this.getFieldValue("key"),t=this.getFieldValue("server");f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient='const char *mqtt_broker = "'+t+'";\nconst char *mqtt_username = "MixIO_public";\nconst char *mqtt_password = "MixIO_public";\nconst int mqtt_port = 1883;\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = "'+e+'";\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},Mh=function(x,f){var e=f.valueToCode(this,"data",f.ORDER_ATOMIC),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=this.getFieldValue("mode");if(1==i)var n='client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str(),String("+e+").c_str());\n";if(2==i)n='client.publish(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str(),String("+e+").c_str());\n";return n},mh=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=f.statementToCode(this,"function");if(i=i.replace(/(^\s*)|(\s*$)/g,""),1==e){f.setups_["setups_topic_"+t]='client.subscribe(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str());";var n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")))) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}if(2==e){f.setups_["setups_topic_"+t]='client.subscribe(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str());";n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str())) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}return n},Oh=function(x,f){z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESPAsyncTCP="#include ":f.definitions_.include_AsyncTCP="#include ",f.definitions_.include_ESPAsyncWebServer="#include ",f.definitions_.include_AsyncElegantOTA="#include \n",f.definitions_.var_AsyncWebServer="AsyncWebServer server(80);\n",f.setups_.setups_AsyncWebServer="AsyncElegantOTA.begin(&server);\nserver.begin();\n";return""},Rh=function(x,f){var e=this.getFieldValue("INCLUDE");return f.definitions_["include_"+e]="#include <"+e+".h>",""},Sh=function(x,f){for(var e=this.getFieldValue("NAME"),t=new Array(this.itemCount_),i=0;i-1&&delete f.setups_["setup_input_"+e],t="digitalRead("+e+")";return[t,f.ORDER_ATOMIC]},Kh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);const{pwm:i}=z.Profile.default;if("object"==typeof i)for(let x of i)if(e===x[1]){f.setups_["setup_output"+e]="pinMode("+e+", OUTPUT);";break}return"analogWrite("+e+", "+t+");\n"},Zh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);const{analog:t}=z.Profile.default;if("object"==typeof t)for(let x of t)if(e===x[1])break;return["analogRead("+e+")",f.ORDER_ATOMIC]},zh=function(x,f){var e=this.getFieldValue("STAT");return f.setups_.setup_output_13="pinMode(13, OUTPUT);","digitalWrite(13, "+e+");\n"},jh=function(x,f){f.definitions_.include_OneButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode"),i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_button"+e]="OneButton button"+e+"("+e+","+("HIGH"==i?"false":"true")+");",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var n="button"+e+".tick();",s=t+e,c="void "+s+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[s]=c,n},Jh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.setups_["setup_input_"+e]="pinMode("+e+", INPUT_PULLUP);";var i="attachInterrupt("+("digitalPinToInterrupt("+e+")")+",attachInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},qh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachInterrupt("+("digitalPinToInterrupt("+e+")")+");\n"},Qh=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_.include_PinChangeInterrupt="#include ",f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);";var i="attachPCINT(digitalPinToPCINT("+e+"),attachPinInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachPinInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},$h=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachPCINT(digitalPinToPCINT("+e+"));\n"},xA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT");return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+")",f.ORDER_ATOMIC]},fA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT"),i=f.valueToCode(this,"TIMEOUT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+", "+i+")",f.ORDER_ATOMIC]},eA=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i=this.getFieldValue("ORDER"),n=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", OUTPUT);","shiftOut("+e+", "+t+", "+i+", "+n+");\n"},tA=function(x,f){f.definitions_.include_ESP32touchButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_["var_declare_button"+e]="ESP32touchButton button"+e+"("+e+",true);",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var i="button"+e+".tick();",n=t+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},iA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMSet("+e+", "+t+");\n"},nA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMEnd("+e+");\n"},sA=function(x,f){var e=this.getFieldValue("ADS1015_setGain");f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin(); \n",f.setups_["setup_ads.setGain"]="ads.setGain("+e+");";return""},cA=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin();",[this.getFieldValue("ADS1015_AIN"),f.ORDER_ATOMIC]},aA=function(x,f){return f.definitions_.include_PCF8591_h="#include ",f.definitions_.var_declare_PCF8591="PCF8591 pcf8591(0x48);",f.setups_["setup_pcf8591.begin()"]="pcf8591.begin(); \n",[this.getFieldValue("PCF8591T_AIN"),f.ORDER_ATOMIC]},lA=function(x,f){for(var e=this.getFieldValue("TYPE"),t=f.variableDB_.getName(this.getFieldValue("VAR"),Z.Variables.NAME_TYPE),i=window.parseFloat(this.getFieldValue("SIZE")),n=new Array(this.itemCount_),s=0;s= (1); i = i + (-1)) {\n "+i+"[(int)((i + 1) - 1)] = "+i+"[(int)(i - 1)];\n }\n "+i+"[(int)(0)] = item;\n}\n";n="array_right_loop();\n"}return n},OA=function(x,f){var e=this.getFieldValue("list_name");return["col"==this.getFieldValue("type")?"(sizeof("+e+"[0]) / sizeof("+e+"[0][0]))":"(sizeof("+e+") / sizeof("+e+"[0]))",f.ORDER_ATOMIC]},RA=function(x,f){var e=this.getFieldValue("OP"),t=RA.OPERATORS[e],i="=="==t||"!="==t?f.ORDER_EQUALITY:f.ORDER_RELATIONAL;return[(f.valueToCode(this,"A",i)||"0")+" "+t+" "+(f.valueToCode(this,"B",i)||"0"),i]};RA.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const SA=function(x,f){var e="AND"==this.getFieldValue("OP")?"&&":"||",t="&&"==e?f.ORDER_LOGICAL_AND:f.ORDER_LOGICAL_OR;return[(f.valueToCode(this,"A",t)||"false")+" "+e+" "+(f.valueToCode(this,"B",t)||"false"),t]},DA=function(x,f){var e=f.ORDER_UNARY_PREFIX;return["!"+(f.valueToCode(this,"BOOL",e)||"false"),e]},LA=function(x,f){return["TRUE"==this.getFieldValue("BOOL")?"true":"false",f.ORDER_ATOMIC]},NA=function(x,f){return["NULL",f.ORDER_ATOMIC]},PA=function(x,f){return["("+(f.valueToCode(this,"A",f.ORDER_ATOMIC)||"false")+"?"+(f.valueToCode(this,"B",f.ORDER_ATOMIC)||"false")+":"+(f.valueToCode(this,"C",f.ORDER_ATOMIC)||"false")+")",f.ORDER_ATOMIC]},yA=function(x,f){var e=this.getFieldValue("NUM");return[e,e<0?f.ORDER_UNARY_PREFIX:f.ORDER_ATOMIC]},bA=function(x,f){var e={ADD:[" + ",f.ORDER_ADDITIVE],MINUS:[" - ",f.ORDER_ADDITIVE],MULTIPLY:[" * ",f.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",f.ORDER_MULTIPLICATIVE],QUYU:[" % ",f.ORDER_MULTIPLICATIVE],POWER:[null,f.ORDER_NONE]}[this.getFieldValue("OP")],t=e[0],i=e[1],n=f.valueToCode(this,"A",i)||"0",s=f.valueToCode(this,"B",i)||"0";return t?(" % "==t&&(n="(long) ("+n+")",s="(long) ("+s+")"),[n+t+s,i]):["pow("+n+", "+s+")",f.ORDER_UNARY_POSTFIX]},vA=function(x,f){var e=this.getFieldValue("OP"),t=f.ORDER_ATOMIC;return["("+(f.valueToCode(this,"A",t)||"0")+e+(f.valueToCode(this,"B",t)||"0")+")",t]},wA=function(x,f){var e,t,i=this.getFieldValue("OP");if("NEG"==i)return"-"==(t=f.valueToCode(this,"NUM",f.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),[e="-"+t,f.ORDER_UNARY_PREFIX];switch(t="ABS"==i||"ROUND"==i.substring(0,5)?f.valueToCode(this,"NUM",f.ORDER_UNARY_POSTFIX)||"0":"SIN"==i||"COS"==i||"TAN"==i?f.valueToCode(this,"NUM",f.ORDER_MULTIPLICATIVE)||"0":f.valueToCode(this,"NUM",f.ORDER_NONE)||"0",i){case"ABS":e=t+".abs()";break;case"ROOT":e="sqrt("+t+")";break;case"LN":e="log("+t+")";break;case"EXP":e="exp("+t+")";break;case"POW10":e="pow(10,"+t+")";break;case"++":e="(++"+t+")";break;case"--":e="(--"+t+")";break;case"~":e="~("+t+")";break;case"ROUND":e=t+".round()";break;case"ROUNDUP":e=t+".ceil()";break;case"ROUNDDOWN":e=t+".floor()";break;case"SIN":e="sin("+t+" / 180.0 * 3.14159)";break;case"COS":e="cos("+t+" / 180.0 * 3.14159)";break;case"TAN":e="tan("+t+" / 180.0 * 3.14159)"}if(e)return[e,f.ORDER_UNARY_POSTFIX];switch(i){case"LOG10":e="log("+t+") / log(10)";break;case"ASIN":e="asin("+t+") / 3.14159 * 180";break;case"ACOS":e="acos("+t+") / 3.14159 * 180";break;case"ATAN":e="atan("+t+") / 3.14159 * 180";break;default:throw"Unknown math operator: "+i}return[e,f.ORDER_MULTIPLICATIVE]},YA=wA,VA=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+")",f.ORDER_ATOMIC]},kA=function(x,f){return[this.getFieldValue("variate_type"),f.ORDER_ATOMIC]},XA=function(x,f){return this.setTooltip("以字节形式返回某个操作数的储存大小"),["sizeof("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},GA=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0",t=f.valueToCode(this,"B",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+", "+t+")",f.ORDER_ATOMIC]},BA=function(x,f){return"randomSeed("+(f.valueToCode(this,"NUM",f.ORDER_NONE)||"0")+");\n"},UA=function(x,f){return["random("+(f.valueToCode(this,"FROM",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"TO",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},WA=function(x,f){var e=this.getFieldValue("maptype"),t=f.valueToCode(this,"NUM",f.ORDER_NONE),i=f.valueToCode(this,"fromLow",f.ORDER_ATOMIC),n=f.valueToCode(this,"fromHigh",f.ORDER_ATOMIC),s=f.valueToCode(this,"toLow",f.ORDER_ATOMIC),c=f.valueToCode(this,"toHigh",f.ORDER_ATOMIC);if("map_float"==e){f.definitions_.function_mapfloat="float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)\n{\n return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\n}";var a="mapfloat("+t+", "+i+", "+n+", "+s+", "+c+")"}else a="map("+t+", "+i+", "+n+", "+s+", "+c+")";return[a,f.ORDER_NONE]},HA=function(x,f){return["constrain("+(f.valueToCode(this,"VALUE",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"LOW",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"HIGH",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},KA=function(x,f){var e=this.getFieldValue("type"),t=f.valueToCode(this,"variables",f.ORDER_ATOMIC);return t+" = "+t+" "+e+" "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+";\n"},ZA=function(x,f){return f.valueToCode(this,"math_auto_add_minus_output",f.ORDER_ATOMIC)+this.getFieldValue("math_auto_add_minus_type")+";\n"},zA=function(x,f){return[this.getFieldValue("PIN"),f.ORDER_ATOMIC]},jA=zA,JA=zA,qA=zA,QA=zA,$A=zA,xI=zA,fI=zA,eI=zA,tI=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("NAME"),Z.Procedures.NAME_TYPE),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);var i=f.valueToCode(this,"RETURN",f.ORDER_NONE)||"",n=this.getFieldValue("TYPE");i&&(i=" return "+i+";\n");for(var s=n||"void",c=[],a=0;a",f.definitions_.include_SoftwareSerial="#include ";var e=f.valueToCode(this,"RX",f.ORDER_ATOMIC),t=f.valueToCode(this,"TX",f.ORDER_ATOMIC),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.definitions_.var_declare_TinyGPSPlus_gps="TinyGPSPlus gps;",f.definitions_.var_declare_SoftwareSerial_gps_ss="SoftwareSerial gps_ss("+e+", "+t+");",f.setups_.setup_gps_ss_begin="gps_ss.begin("+i+");",""},uI=function(x,f){return["gps_ss.available()",f.ORDER_ATOMIC]},rI=function(x,f){return["gps.encode(gps_ss.read())",f.ORDER_ATOMIC]},_I=function(x,f){return["gps."+this.getFieldValue("WHAT")+".isValid()",f.ORDER_ATOMIC]},FI=function(x,f){return["gps."+this.getFieldValue("WHAT")+"()",f.ORDER_ATOMIC]},hI=function(x,f){var e=this.getFieldValue("Trig"),t=this.getFieldValue("Echo");f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+e+"_"+t,n="float "+i+"() {\n digitalWrite("+e+", LOW);\n delayMicroseconds(2);\n digitalWrite("+e+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+e+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return f.definitions_[i]=n,[i+"()",f.ORDER_ATOMIC]},AI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return f.definitions_.include_DHT="#include ",f.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+e+");",f.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",f.ORDER_ATOMIC]},II=function(x,f){var e=z.JSFuncs.getPlatform(),t=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),i="analogRead("+t+")*0.488";if(e.match(RegExp(/ESP8266/)))i="analogRead("+t+")*0.322";else if(e.match(RegExp(/ESP32/)))i="analogRead("+t+")*0.161";return[i,f.ORDER_ATOMIC]},gI=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("UNIT");f.definitions_.include_OneWire="#include ",f.definitions_.include_DallasTemperature="#include ",f.definitions_["var_declare_OneWire_DallasTemperature_sensors_"+e]="OneWire oneWire_"+e+"("+e+");\nDallasTemperature sensors_"+e+"(&oneWire_"+e+");",f.definitions_.var_declare_DeviceAddress_insideThermometer="DeviceAddress insideThermometer;",f.setups_["setup_sensors_"+e+"_getAddress"]="sensors_"+e+".getAddress(insideThermometer, 0);",f.setups_["setup_sensors_"+e+"_setResolution"]="sensors_"+e+".setResolution(insideThermometer, 9);";var i="ds18b20_"+e+"_getTemp",n="float "+i+"(int w) {\n sensors_"+e+".requestTemperatures();\n if(w==0) {\n return sensors_"+e+".getTempC(insideThermometer);\n }\n else {\n return sensors_"+e+".getTempF(insideThermometer);\n }\n}\n";return f.definitions_[i]=n,["ds18b20_"+e+"_getTemp("+t+")",f.ORDER_ATOMIC]},TI=function(x,f){var e=f.valueToCode(this,"mlx90614_address",f.ORDER_ATOMIC),t="MLX";f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_MLX90614="#include ",f.definitions_["var_declare_MLX90614_"+t]="Adafruit_MLX90614 MLX = Adafruit_MLX90614("+e+");",f.setups_["setup_MLX90614_"+t]=t+".begin();";return""},EI=function(x,f){return["MLX."+this.getFieldValue("mlx90614_data")+"()",f.ORDER_ATOMIC]},CI=function(x,f){var e=this.getFieldValue("DOUT"),t=this.getFieldValue("SCK"),i=f.valueToCode(this,"scale",f.ORDER_ATOMIC);return f.definitions_.include_Hx711="#include ",f.definitions_["var_declare_Hx711"+e+t]="Hx711 scale"+e+"_"+t+"("+e+","+t+");",f.setups_["setup_HX711"+e+t]="scale"+e+"_"+t+".setOffset(scale"+e+"_"+t+".getAverageValue(30));",f.setups_["setup_scale"+e+"_"+t+" .setScale"]="scale"+e+"_"+t+".setScale("+i+");",["scale"+e+"_"+t+".getWeight(10)",f.ORDER_ATOMIC]},MI=function(x,f){var e=f.valueToCode(this,"RST",f.ORDER_ATOMIC),t=f.valueToCode(this,"DAT",f.ORDER_ATOMIC),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC);return f.definitions_.include_ThreeWire="#include ",f.definitions_.include_RtcDS1302="#include ",f.definitions_.var_declare_ThreeWire="ThreeWire myWire("+t+","+i+","+e+");",f.definitions_.var_declare_RtcDS1302="RtcDS1302 Rtc(myWire);",f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},mI=function(x,f){var e=f.valueToCode(this,"SDA",f.ORDER_ATOMIC),t=f.valueToCode(this,"SCL",f.ORDER_ATOMIC),i=this.getFieldValue("RTCType");return f.definitions_["include_"+i]="#include <"+i+".h>",e!=z.Profile.default.SDA[0][1]||t!=z.Profile.default.SCL[0][1]?(f.definitions_.include_SoftwareWire="#include ",f.definitions_.var_declare_SoftwareWire="SoftwareWire myWire("+e+","+t+");",f.definitions_["var_declare_"+i]=i+" Rtc(myWire);"):(f.definitions_.include_Wire="#include ",f.definitions_["var_declare_"+i]=i+" Rtc(Wire);"),f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},OI=function(x,f){return["Rtc.GetDateTime()."+this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},RI=function(x,f){var e=f.valueToCode(this,"year",f.ORDER_ATOMIC),t=f.valueToCode(this,"month",f.ORDER_ATOMIC),i=f.valueToCode(this,"day",f.ORDER_ATOMIC);switch(t){case"1":default:t="Jan";break;case"2":t="Feb";break;case"3":t="Mar";break;case"4":t="Apr";break;case"5":t="May";break;case"6":t="Jun";break;case"7":t="Jul";break;case"8":t="Aug";break;case"9":t="Sep";break;case"10":t="Oct";break;case"11":t="Nov";break;case"12":t="Dec"}return 1==i.length&&(i="0"+i),['"'+t+"/"+i+"/"+e+'"',f.ORDER_ATOMIC]},SI=function(x,f){var e=f.valueToCode(this,"hour",f.ORDER_ATOMIC),t=f.valueToCode(this,"minute",f.ORDER_ATOMIC),i=f.valueToCode(this,"second",f.ORDER_ATOMIC);return 1==e.length&&(e="0"+e),1==t.length&&(t="0"+t),1==i.length&&(i="0"+i),['"'+e+":"+t+":"+i+'"',f.ORDER_ATOMIC]},DI=function(x,f){return"Rtc.SetDateTime(RtcDateTime("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"time",f.ORDER_ATOMIC)+"));\n"},LI=function(x,f){return["__"+this.getFieldValue("type")+"__",f.ORDER_ATOMIC]},NI=function(){const x=new Date,f=x.getFullYear(),e=x.getMonth()+1,t=x.getDate();var i="myRTC",n=i+".setDate("+f+","+e+","+t+");\n";return n+=i+".setDOW("+f+","+e+","+t+");\n"},PI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_DFRobot_SHT20="#include ",f.definitions_.var_declare_DFRobot_SHT20="DFRobot_SHT20 sht20;\n",f.setups_.setup_sht20initSHT20="sht20.initSHT20();",f.setups_["setup_sht20.checkSHT20"]="sht20.checkSHT20(); \n",[this.getFieldValue("SHT20_TYPE"),f.ORDER_ATOMIC]},yI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n",[this.getFieldValue("ADXL345_PIN"),f.ORDER_ATOMIC]},bI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_LIS3DHTR="#include ",f.definitions_.include_define_Wire="#define WIRE Wire",f.definitions_.var_declare_LIS3DHTR="LIS3DHTR LIS;\n",f.setups_["setup_LIS.begin"]="LIS.begin(WIRE,0x19);\n",f.setups_["setup_LIS.openTemp"]="LIS.openTemp();",f.setups_["setup_LIS.setFullScaleRange"]="LIS.setFullScaleRange(LIS3DHTR_RANGE_2G);",f.setups_["setup_LIS.setOutputDataRate"]="LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);",[this.getFieldValue("LIS3DHTR_GETDATA"),f.ORDER_ATOMIC]},vI=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n";var e,t=this.getFieldValue("MIXEPI_ADXL345_OFFSET"),i=f.valueToCode(this,"OFFSET",f.ORDER_ATOMIC);return"setOffsetX"==t?e="accel.setOffsetX(round("+i+"*4/15.9));\n":"setOffsetY"==t?e="accel.setOffsetY(round("+i+"*4/15.9));\n":"setOffsetZ"==t&&(e="accel.setOffsetZ(round("+i+"*4/15.9));\n"),e},wI=function(x,f){return f.definitions_.include_MPU6050_tockn="#include ",f.definitions_.include_Wire="#include ",f.definitions_.var_declare_mpu6050="MPU6050 mpu6050(Wire);",f.setups_.setup_ngyro="Wire.begin();\n mpu6050.begin();\n mpu6050.calcGyroOffsets(true);",["mpu6050."+this.getFieldValue("MPU6050_TYPE"),f.ORDER_ATOMIC]},YI=function(){return"mpu6050.update();\n"},VI=function(x,f){return"encoder_"+this.getFieldValue("Encoder_NO")+".write("+f.valueToCode(this,"value",f.ORDER_ATOMIC)+");\n "},kI=function(x,f){return["encoder_"+this.getFieldValue("Encoder_NO")+".read()",f.ORDER_ATOMIC]},XI=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");f.definitions_.include_Encoder="#include \n",f.definitions_["var_declare_Encoder_"+i]="Encoder encoder_"+i+"("+e+","+t+");\n ";return""},GI=function(x,f){return"encoder_counter_"+this.getFieldValue("Encoder_NO")+" = "+f.valueToCode(this,"value",f.ORDER_ATOMIC)+";\n "},BI=function(x,f){return["encoder_counter_"+this.getFieldValue("Encoder_NO"),f.ORDER_ATOMIC]},UI=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");return f.definitions_["var_declare_Encoder_"+i]="int encoder_counter_"+i+" = 0;\nint encoder_aState_"+i+";\nint encoder_aLastState_"+i+";\n",f.setups_["setups_encoder_"+i]=" pinMode ("+e+", INPUT);\n pinMode ("+t+", INPUT);\n encoder_aLastState_"+i+" = digitalRead("+e+");\n"," encoder_aState_"+i+" = digitalRead("+e+");\n if (encoder_aState_"+i+" != encoder_aLastState_"+i+") {\n if (digitalRead("+t+") != encoder_aState_"+i+") {\n encoder_counter_"+i+" ++;\n } else {\n encoder_counter_"+i+" --;\n }\n }\n encoder_aLastState_"+i+" = encoder_aState_"+i+";\n"},WI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("mode"),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC),n=f.valueToCode(this,"DT",f.ORDER_ATOMIC);return f.definitions_.include_ESPRotary="#include ",f.definitions_["var_declare_encoder"+e]=`ESPRotary encoder${e};`,f.setups_["setup_encoder"+e]=`encoder${e}.begin(${n}, ${i});\n encoder${e}.setStepsPerClick(${t});`,f.loops_begin_["loop_encoder"+e]=`encoder${e}.loop();\n`,""},HI=function(x,f){return[`encoder${this.getFieldValue("TYPE")}.${this.getFieldValue("OPERATE_TYPE")}()`,f.ORDER_ATOMIC]},KI=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC);return`encoder${e}.${this.getFieldValue("OPERATE_TYPE")}(${t});\n`},ZI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("OPERATE_TYPE"),i=f.statementToCode(this,"DO"),n="encoder"+e;switch(t){case"setChangedHandler":n+="OnChanged";break;case"setRightRotationHandler":n+="OnRightRotation";break;case"setLeftRotationHandler":n+="OnLeftRotation";break;case"setUpperOverflowHandler":n+="OnUpperOverflow";break;default:n+="OnLowerOverflow"}f.definitions_["function_"+n]=`void ${n}(ESPRotary& encoder${e}) {\n ${i}}\n`,f.setups_["setup_"+n]=`encoder${e}.${t}(${n});`;return""},zI=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"address",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_Sensor="#include ","bme"==e?(f.definitions_.include_Adafruit_BME280="#include ",f.definitions_.var_declare_Adafruit_BME280="Adafruit_BME280 bme;"):(f.definitions_.include_Adafruit_BMP280="#include ",f.definitions_.var_declare_Adafruit_BMP280="Adafruit_BMP280 bmp;"),f.setups_.setup_status="unsigned status;\n status = "+e+".begin("+t+");",f.definitions_.include_SEALEVELPRESSURE_HPA="#define SEALEVELPRESSURE_HPA (1013.25)",[e+"."+this.getFieldValue("BME_TYPE"),f.ORDER_ATOMIC]},jI=function(x,f){f.definitions_.include_PS2X_lib="#include ",f.definitions_.var_declare_PS2X="PS2X ps2x;";var e=this.getFieldValue("PS2_DAT"),t=this.getFieldValue("PS2_CMD"),i=this.getFieldValue("PS2_SEL"),n=this.getFieldValue("PS2_CLK"),s=this.getFieldValue("rumble");return f.setups_.setup_ps2x_config_gamepad="ps2x.config_gamepad("+n+","+t+","+i+","+e+", true, "+s+");\n delay(300);\n",""},JI=function(){return"ps2x.read_gamepad(false, 0);\ndelay(30);\n"},qI=function(x,f){var e=this.getFieldValue("psbt");return["ps2x."+this.getFieldValue("btstate")+"("+e+")",f.ORDER_ATOMIC]},QI=function(x,f){return["ps2x.Analog("+this.getFieldValue("psstk")+")",f.ORDER_ATOMIC]},$I=function(x,f){return f.definitions_.include_DFRobot_TCS34725="#include ",f.definitions_.var_declare_TCS34725="DFRobot_TCS34725 tcs34725;\n",f.setups_.setup_DFRobot_TCS34725="tcs34725.begin();",[this.getFieldValue("DF_TCS34725_COLOR"),f.ORDER_ATOMIC]},xg=function(x,f){var e=f.valueToCode(this,"tcs230_s0",f.ORDER_ATOMIC),t=f.valueToCode(this,"tcs230_s1",f.ORDER_ATOMIC),i=f.valueToCode(this,"tcs230_s2",f.ORDER_ATOMIC),n=f.valueToCode(this,"tcs230_s3",f.ORDER_ATOMIC),s=f.valueToCode(this,"tcs230_led",f.ORDER_ATOMIC),c=f.valueToCode(this,"tcs230_out",f.ORDER_ATOMIC);f.definitions_.define_tcs230_pin="#define tcs230_S0 "+e+"\n#define tcs230_S1 "+t+"\n#define tcs230_S2 "+i+"\n#define tcs230_S3 "+n+"\n#define tcs230_sensorOut "+c+"\n#define tcs230_LED "+s,f.definitions_.function_tcs230_Getcolor="//TCS230颜色传感器获取RGB值\nint tcs230_Getcolor(char data)\n{\n int frequency = 0;\n switch(data)\n {\n case 'R':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,LOW);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 72, 255, 0);\n break;\n }\n case 'G':\n {\n digitalWrite(tcs230_S2,HIGH);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 30, 90, 255, 0);\n break;\n }\n case 'B':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 70, 255, 0);\n break;\n }\n default:\n return -1;\n }\n if (frequency < 0)\n frequency = 0;\n if (frequency > 255)\n frequency = 255;\n return frequency;\n}\n",f.setups_.setup_tcs230_pin="pinMode(tcs230_S0, OUTPUT);\n pinMode(tcs230_S1, OUTPUT);\n pinMode(tcs230_S2, OUTPUT);\n pinMode(tcs230_S3, OUTPUT);\n pinMode(tcs230_LED, OUTPUT);\n pinMode(tcs230_sensorOut, INPUT);\n digitalWrite(tcs230_S0,HIGH);\n digitalWrite(tcs230_S1,LOW);\n digitalWrite(tcs230_LED,HIGH);";return""},fg=function(x,f){return["tcs230_Getcolor('"+this.getFieldValue("tcs230_color")+"')",f.ORDER_ATOMIC]},eg=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_row",f.ORDER_ATOMIC),i=f.valueToCode(this,"keypad_col",f.ORDER_ATOMIC),n=f.valueToCode(this,"keypad_type",f.ORDER_ATOMIC);f.definitions_.include_Keypad="#include ",f.definitions_["var_keypadstart1"+e]="const byte "+e+"_ROWS = 4;",f.definitions_["var_keypadstart2"+e]="const byte "+e+"_COLS = 4;",f.definitions_["var_keypadstart3"+e]="char "+e+"_hexaKeys["+e+"_ROWS]["+e+"_COLS] = {\n"+n+"\n};",f.definitions_["var_keypadstart4"+e]="byte "+e+"_rowPins["+e+"_ROWS] = "+t,f.definitions_["var_keypadstart5"+e]="byte "+e+"_colPins["+e+"_COLS] = "+i,f.definitions_["var_keypadstart6"+e]="Keypad "+e+" = Keypad(makeKeymap("+e+"_hexaKeys), "+e+"_rowPins, "+e+"_colPins, "+e+"_ROWS, "+e+"_COLS);",f.setups_.setup_serial_Serial="Serial.begin(9600);";return""},tg=function(x,f){return["{"+f.valueToCode(this,"keypad_row_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},ig=function(x,f){return["{"+f.valueToCode(this,"keypad_col_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},ng=function(x,f){return[" {'"+this.getFieldValue("keypad_1_1")+"','"+this.getFieldValue("keypad_1_2")+"','"+this.getFieldValue("keypad_1_3")+"','"+this.getFieldValue("keypad_1_4")+"'},\n {'"+this.getFieldValue("keypad_2_1")+"','"+this.getFieldValue("keypad_2_2")+"','"+this.getFieldValue("keypad_2_3")+"','"+this.getFieldValue("keypad_2_4")+"'},\n {'"+this.getFieldValue("keypad_3_1")+"','"+this.getFieldValue("keypad_3_2")+"','"+this.getFieldValue("keypad_3_3")+"','"+this.getFieldValue("keypad_3_4")+"'},\n {'"+this.getFieldValue("keypad_4_1")+"','"+this.getFieldValue("keypad_4_2")+"','"+this.getFieldValue("keypad_4_3")+"','"+this.getFieldValue("keypad_4_4")+"'}",f.ORDER_ATOMIC]},sg=function(x,f){return[this.getFieldValue("keypad_name")+".getKey()",f.ORDER_ATOMIC]},cg=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_event_input",f.ORDER_ATOMIC),i=this.getFieldValue("keypad_start_event_delay"),n=f.statementToCode(this,"keypad_event_data");f.definitions_["define_variate_"+t]="volatile char "+t+";",f.definitions_["var_keypadstart7_event"+e]="void keypadEvent_"+e+"(KeypadEvent "+t+") {\n"+n+"\n}",f.setups_["setup_keypad_event_and_delay"+e]=e+".addEventListener(keypadEvent_"+e+");\n "+e+".setHoldTime("+i+");";return""},ag=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_FaBo9Axis_MPU9250="#include ",f.definitions_.var_declare_FaBo9Axis="FaBo9Axis fabo_9axis;\n float ax,ay,az,gx,gy,gz,mx,my,mz;",f.setups_.setup_fabo_9axis="fabo_9axis.begin();";var e=this.getFieldValue("MixGo_MPU9250_GETAB"),t="";return"a"==e&&(t+="fabo_9axis.readAccelX()"),"b"==e&&(t+="fabo_9axis.readAccelY()"),"c"==e&&(t+="fabo_9axis.readAccelZ()"),"d"==e&&(t+="fabo_9axis.readGyroX()"),"e"==e&&(t+="fabo_9axis.readGyroY()"),"f"==e&&(t+="fabo_9axis.readGyroZ()"),"g"==e&&(t+="fabo_9axis.readMagnetX()"),"h"==e&&(t+="fabo_9axis.readMagnetY()"),"i"==e&&(t+="fabo_9axis.readMagnetZ()"),[t,f.ORDER_ATOMIC]},lg=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"NominalResistance",f.ORDER_ATOMIC),i=f.valueToCode(this,"betaCoefficient",f.ORDER_ATOMIC),n=f.valueToCode(this,"seriesResistor",f.ORDER_ATOMIC);return f.definitions_.include_thermistor="#include ",f.definitions_["var_declare_thermistor"+e]="THERMISTOR thermistor"+e+"("+e+","+t+","+i+","+n+");",["thermistor"+e+".read()",f.ORDER_ATOMIC]},dg=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_RL_AHT21="#include ",f.definitions_.var_declare_AHT21="AHT21Class AHT21;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_AHT21.begin"]="AHT21.begin();\n",[this.getFieldValue("AHT21_TYPE"),f.ORDER_ATOMIC]},pg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||z.Profile.default.serial;return f.setups_["setup_serial_"+e]=e+".begin("+t+");",""},og=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+".write("+t+");\n"},ug=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("new_line"),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+"."+t+"("+i+");\n"},rg=ug,_g=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("STAT"),i=this.getFieldValue("new_line"),n=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+"."+i+"("+n+","+t+");\n"},Fg=_g,hg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+".available()",f.ORDER_ATOMIC]},Ag=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+".readString()",f.ORDER_ATOMIC]},Ig=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+".readStringUntil("+t+")",f.ORDER_ATOMIC]},gg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+"."+this.getFieldValue("STAT")+"()",f.ORDER_ATOMIC]},Tg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+".flush();\n"},Eg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);return f.definitions_.include_SoftwareSerial="#include ",f.definitions_["var_declare_"+e]="SoftwareSerial "+e+"("+t+","+i+");",""},Cg=function(x,f){var e=this.getFieldValue("serial_select"),t="attachPinInterrupt_fun_"+e,i=f.statementToCode(this,"DO"),n="void "+e.replace("Serial","serialEvent")+"() {\n"+i+"}\n";return f.definitions_[t]=n,""};var Mg;const mg=function(x,f){var e=z.JSFuncs.getPlatform();Mg=f.valueToCode(this,"PIN_CS",f.ORDER_ATOMIC),e.match(RegExp(/ESP32/))?f.definitions_.include_mySD="#include ":f.definitions_.include_SD="#include ",f.definitions_.include_SPI="#include ",f.setups_.setup_sd_write_begin="SD.begin("+Mg+");";return""},Og=function(x,f){var e=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";f.definitions_.var_declare_File_datafile="File datafile;";var n="datafile = SD.open("+e+", FILE_WRITE);\n";return n+="if(datafile){\n",n+="\tdatafile.print("+t+");\n","true"==i&&(n+='\tdatafile.println("");\n'),n+="\tdatafile.close();\n",n+="}\n"},Rg=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Mg+");";return["card.type()",f.ORDER_ATOMIC]},Sg=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.definitions_.var_declare_SdFile="SdFile root;",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Mg+");",f.setups_.setup_volume_init="volume.init(card);";return"root.openRoot(volume);\nroot.ls(LS_R | LS_DATE | LS_SIZE);"},Dg=function(x,f){return f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Mg+");",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_volume_init="volume.init(card);",[this.getFieldValue("volume_TYPE"),f.ORDER_ATOMIC]},Lg=function(x,f){return["SD.exists("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Ng=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.var_declare_File_datafile="File datafile;",f.definitions_.var_declare_File_datafile_SD_card_reading='String SD_card_reading(String path) {\ndatafile = SD.open(path.c_str());\n String sd_data = "";\n while (datafile.available()) {\n sd_data = String(sd_data) + String(char(datafile.read()));\n }\n return sd_data;\n}',["SD_card_reading("+e+")",f.ORDER_ATOMIC]},Pg=function(x,f){return"SD.remove("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");"},yg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value){\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if(time.b[2] != EEPROM.read(address+2))\n EEPROM.write(address+2, time.b[2]);\n if(time.b[3] != EEPROM.read(address+3))\n EEPROM.write(address+3, time.b[3]);\n}\n";return f.definitions_[i]=n,"eepromWriteLong("+e+", "+t+");\n"},bg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var t="eepromReadLong("+e+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return f.definitions_[i]=n,[t,f.ORDER_ATOMIC]},vg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.write("+e+", "+t+");\n"},wg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ",["EEPROM.read("+e+")",f.ORDER_ATOMIC]},Yg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.put("+e+", "+t+");\n"},Vg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.get("+e+", "+t+");\n"},kg=function(x,f){var e=this.getFieldValue("MODE"),t=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',n=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";if(f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',1==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void writeFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_WRITE);\n if (!file) {\n Serial.println("- failed to open file for writing");\n return;\n }\n if (file.print(message)) {\n Serial.println("- file written");\n } else {\n Serial.println("- write failed");\n }\n file.close();\n}',"true"==n)var s="writeFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="writeFile(SPIFFS, "+t+", String("+i+").c_str());\n";if(2==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void appendFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_APPEND);\n if (!file) {\n Serial.println("- failed to open file for appending");\n return;\n }\n if (file.print(message)) {\n Serial.println("- message appended");\n } else {\n Serial.println("- append failed");\n }\n file.close();\n}',"true"==n)s="appendFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="appendFile(SPIFFS, "+t+", String("+i+").c_str());\n";return s},Xg=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_read='String readFile(fs::FS &fs, const char * path) {\n File file = fs.open(path);\n if (!file || file.isDirectory()) {\n Serial.println("- failed to open file for reading");\n file.close();\n return "SPIFFS_error";\n } else {\n Serial.println("- read from file:");\n String SPIFFS_data = "";\n while (file.available()) {\n SPIFFS_data = String(SPIFFS_data) + String(char(file.read()));\n }\n file.close();\n return SPIFFS_data;\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',["readFile(SPIFFS, "+e+")",f.ORDER_ATOMIC]},Gg=function(x,f){return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_DelFile='void deleteFile(fs::FS &fs, const char * path) {\n if (fs.remove(path)) {\n Serial.println("- file deleted");\n } else {\n Serial.println("- delete failed");\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',"deleteFile(SPIFFS, "+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");\n"},Bg=function(x,f){return[f.quote_(this.getFieldValue("TEXT")),f.ORDER_ATOMIC]},Ug=function(x,f){return["'"+this.getFieldValue("TEXT")+"'",f.ORDER_ATOMIC]},Wg=function(x,f){return["String("+f.valueToCode(this,"A",f.ORDER_ATOMIC)+")"+" + "+("String("+f.valueToCode(this,"B",f.ORDER_ATOMIC)+")"),f.ORDER_ATOMIC]},Hg=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+f.valueToCode(this,"VAR",f.ORDER_ATOMIC)+")"+"."+e+"()",f.ORDER_ATOMIC]},Kg=function(x,f){return["char("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},Zg=function(x,f){return["toascii("+("'"+this.getFieldValue("TEXT")+"'")+")",f.ORDER_ATOMIC]},zg=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+", "+e+")",f.ORDER_ATOMIC]},jg=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").length()",f.ORDER_ATOMIC]},Jg=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").charAt("+(f.valueToCode(this,"AT",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},qg=function(x,f){var e="String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")",t="String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")";return[e+"."+this.getFieldValue("DOWHAT")+"("+t+")",f.ORDER_ATOMIC]},Qg=function(x,f){return["String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")"+".compareTo("+("String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")")+")",f.ORDER_ATOMIC]},$g=function(x,f){return["String("+f.valueToCode(this,"numeral",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"decimal_places",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},xT=function(x,f){return["String("+f.valueToCode(this,"name",f.ORDER_ATOMIC)+").substring("+f.valueToCode(this,"Start",f.ORDER_ATOMIC)+","+f.valueToCode(this,"end",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},fT=function(x,f){var e=this.getFieldValue("type");return""+f.valueToCode(this,"String",f.ORDER_ATOMIC)+e+";\n"},eT=function(x,f){var e=f.valueToCode(this,"String",f.ORDER_ATOMIC),t=f.valueToCode(this,"replace",f.ORDER_ATOMIC);return e+".replace("+f.valueToCode(this,"source_data",f.ORDER_ATOMIC)+", "+t+");\n"},tT=function(x,f){return f.valueToCode(this,"String",f.ORDER_ATOMIC)+".trim();\n"},iT=function(x,f){var e=this.getFieldValue("type");return["String("+f.valueToCode(this,"String",f.ORDER_ATOMIC)+")"+e+"("+f.valueToCode(this,"String1",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},nT=function(x,f){var e=f.valueToCode(this,"variable",f.ORDER_ATOMIC);return[this.getFieldValue("type")+"("+e+")",f.ORDER_ATOMIC]},sT=function(x,f){return["String("+f.valueToCode(this,"str1",f.ORDER_ATOMIC)+").indexOf(String("+f.valueToCode(this,"str2",f.ORDER_ATOMIC)+"))",f.ORDER_ATOMIC]},cT=function(x,f){for(var e=new Array(this.itemCount_),t=0;t",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wire_begin="Wire.begin();",f.setups_['setup_Serial.println("I2C Scanner")']='Serial.println("I2C Scanner");';return'byte error, address;\nint nDevices;\nSerial.println("Scanning...");\nnDevices = 0;\nfor (address = 1; address < 127; address++ ){\n Wire.beginTransmission(address);\n error = Wire.endTransmission();\n if (error == 0){\n Serial.print("I2C device found at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.print(address, HEX);\n Serial.println(" !");\n nDevices++;\n }\n else if (error == 4){\n Serial.print("Unknow error at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.println(address, HEX);\n }\n}\nif (nDevices == 0)\n Serial.println("No I2C devices found");\nelse\n Serial.println("done");\ndelay(5000);\n'};function oT(x){switch(x){case"0000":x="0";break;case"0001":x="1";break;case"0010":x="2";break;case"0011":x="3";break;case"0100":x="4";break;case"0101":x="5";break;case"0110":x="6";break;case"0111":x="7";break;case"1000":x="8";break;case"1001":x="9";break;case"1010":x="A";break;case"1011":x="B";break;case"1100":x="C";break;case"1101":x="D";break;case"1110":x="E";break;case"1111":x="F"}return x}function uT(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}const rT=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),Z.Variables.NAME_TYPE),t="TRUE"==this.getFieldValue("save_hz"),i=f.valueToCode(this,"input_data",f.ORDER_ATOMIC),n=0;for(var s of i)","==s&&n++;n++,this.setFieldValue(n,"x"),f.libs_[e]=t?"static const unsigned char PROGMEM "+e+"["+n+"] = {"+i+"};":"unsigned char "+e+"["+n+"] = {"+i+"};";return""};for(var _T=new Array,FT=0;FT<8;FT++)_T[FT]=128>>FT;var hT=document.createElement("canvas"),AT=hT.getContext("2d");const IT=function(x,f){var e=this.getFieldValue("bitmap_formats"),t=this.getFieldValue("modulus_way"),i=this.getFieldValue("modulus_direction"),n=this.getFieldValue("hz_sharp"),s=this.getFieldValue("hz_line_height"),c=this.getFieldValue("hz_up_down"),a=this.getFieldValue("hz_up_down_data"),l=this.getFieldValue("hz_left_right"),d=this.getFieldValue("hz_left_right_data"),p=this.getFieldValue("bitmap_width"),o=this.getFieldValue("bitmap_height"),u=this.getFieldValue("input_data"),r=uT(p),_=uT(o),F=Math.ceil(r/8),h=0,A=0;A=uT("hz_down"==c?a:"-"+a),h=uT("hz_right"==l?d:"-"+d),hT.width=r,hT.height=_,AT.font="normal normal normal "+s+"px "+n,AT.textAlign="left",AT.textBaseline="top";var I=u;AT.fillStyle="#000000",AT.fillRect(0,0,r,_),AT.fillStyle="#ffffff",AT.translate(r/2,_/2),AT.rotate(Math.PI/180*0),AT.fillText(I,h-r/2,A-_/2);for(var g=AT.getImageData(0,0,r,_).data,T=new Array(F*_),E=0;E0?"0"==D?R+=" ":"1"==D&&(R+="0 "):S%(8*F)==0&&(R+="|\n|");for(E=0;Er-1));E++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}else if("2"==t){P=Y*_;for(C=1;C<=P;C++){for(E=1;E<=8;E++)b=C%Y==0?8*(Y-1)+E-1:8*(C%Y-1)+E-1,v=Math.ceil(C/Y)-1,"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}else if("3"==t){P=w*r;for(C=1;C<=P;C++){for(E=1;E<=8&&(b=C%(8*Y)==0?8*Y-1:C%(8*Y)-1,v=8*(Math.ceil(C/(8*Y))-1)+E-1,!(b>r-1));E++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}else if("4"==t){P=Y*_;for(C=1;C<=P;C++){for(E=1;E<=8;E++)v=C%_==0?_-1:C%_-1,b=8*(Math.ceil(C/_)-1)+E-1,"1"==e?y+=N[v][b]:"0"==N[v][b]?y+="1":y+="0";y+=","}}var V="",k="";if(2==i){for(var E of y)","==E?(k+=V,k+=",",V=""):V=E+V;y=k}for(var E of(V="",k="0x",y))","!=E?4==(V+=E).length&&(k+=oT(V),V=""):k+=",0x";return y=(y=k).substring(0,y.length-3),f.definitions_["var_declare_tool_modulus_data_"+n+"_"+s+"px"+function(x){let f=[];for(let e=0;e \ No newline at end of file + \ No newline at end of file diff --git a/boards/default/arduino_esp32/main.bundle.js b/boards/default/arduino_esp32/main.bundle.js index 34a7e340..af84fc49 100644 --- a/boards/default/arduino_esp32/main.bundle.js +++ b/boards/default/arduino_esp32/main.bundle.js @@ -1 +1 @@ -(()=>{"use strict";var x={145:x=>{x.exports="data:image/png;base64,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"},93:x=>{x.exports="data:image/png;base64,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"},394:x=>{x.exports="data:image/png;base64,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"},306:x=>{x.exports="data:image/png;base64,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"},987:x=>{x.exports="data:image/png;base64,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"},378:x=>{x.exports="data:image/png;base64,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"},800:x=>{x.exports="data:image/png;base64,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"},155:x=>{x.exports="data:image/png;base64,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"},525:x=>{x.exports="data:image/png;base64,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"},761:x=>{x.exports="data:image/png;base64,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"},789:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAVsSURBVHja3JttbxtFEIDPiR2nTaKkkKRuSpOGNkUplKZ5gQCBtEENoW4DTQAlLW2htEUgIVqE+IT4B3xD4gP/1Pbdw5ddazzadc72vTgZ6aT4vL7Ms7O7NzM7GwBBitcAMA5cB6rAU+BX4DfglbpeAs+AXWAFOAMMJq1T7w9QYpScBnYQEkURURTRTjxt7gHngWLgkNyAgSHgmlY+iiLCMKRWqzVh5HcS0rYLw7ClrZA14HSuwEABuKEtFYZhi8KNRoMwDJsw9m/72V6NRqN52d85rP4RUMoD+LyEspBSUY+lYg1tDS87x8ibWQLf1iDWYkp+B742VpkHRoESUBZXCRgB5oB1YM8sbi2doMGN7JnfpwY8ZpWRQ9fR+58AlaAHASaBD4BftOUdo2Y6DeAL+p+qOfYDsAgMBAkLsAB8I0eTo6OvJwk8J1ddx9BaCDIQM+zRa4fQZTkJ4IsSVvXqLlAOMhTzrr9poev1uoa+0Qtwi2Xr9bqEXQxyFGBGvhXUvF7qBnhMv0vFAydcnlYHyg4kBD1kFarX69pjq3QCPChXYgV7yudadjgP1xMADoCitLRaW8pxge94HjDezpeOCyuet54AcGCM0OLBCSkcBXxB+7jm7ytHBQ8xFLyrpsffCQEHwFntoBh5px3wkG1srWvkbpxoKYaC+6oT/0sQOADe169OIyM+4DUJLIZeISHg+wr434SBA+B7yWBk2wV8Wi5UAvZi3Hi4T4An5TohpucZ3XDZ4bl4rdvHwM1FVy1gW7JBSfqpAnauk4xHHwFPuOJy2WDWE9sOHFPgAHgk4+ooilq+3JVOhpHVTnNafQY8L1NHErjose5rxxy46YzYGMB+MeVYnX/sJmvZZ8ABsCejPHvzPd0T9r11AoCXZKRnbx5EUaRTpEsnBHhWGtPefOmYvzMnBHhCTteWMFBFMeUTAjyogYse4MIJAQ6AZxJ4yAM8kBHwPxkAP5fAwxkD7zvc11LKwC/iDOm0gL+0+ScVfk7lAmxW6b+63S6NoeAVmToSbizA1SzmsM+tLKYBbJTcaZPn3kgYuCCjQLtL7xrSk2kBG0XXdLwqoO8nCDwqE/b25nf2hshjvZ0msFF2Xu8Mig7/2bfr3yHwjAt4y84r4Utvpg1sFB71bZAZGe0ReNHlWs7qjTLgQRbARumisahvl2OmB+BtV7RU9szjkSyAhfJfyXy4qiJY6QK4pMNe+eVjoBkxGVnMEtgA3JLzWq3gWx0CV3wZjwC46shHH2YNbCDedZU5GLnUAfC2jIXx5aTVsJ7KGtiAvC6hhREexwQedvkXutGOYwPtdh7AYuP7D1UksxITeNmRxXngDZZ1xj4PYAFVBf50LVwevXyL8Buuxl84rPwwT+Au3sOfWgblqxddjUc8TsBbxwS40m4t8vXQqoQWPxrrc+BhT9XCZ0dtiBek/2mXdFec3GfAz2WsLWQoTsnDmB7awqnvR+AD6RoL4EonVTwLnlj5J5vk6xPgA49xNrqp09ppU303kjNsyVTZu/Q77KUSryofqubHbE6wFV3gKmL5h0nUWlbbWLqalbXNSrwpF1UVTn6bZDXt53oPWZUMr+oS/YRBr7mODQjYI2P4buqll3SFjKN4bdu86Ad7hCyYIGLDVS+t/ufHaVbEjwOvZMwqHXUlm8Al0wGnjgAsm+ThPPCh7xyFqh8DOJfVmYeb0oXTReOeMw9PzWvk0OxC7JvPT3QdtOu5yqp3Oin/T+pUy1ngkWvIyZMsuhMcEVlLnaRM3+oDI8AL+3bI89zSnHUA5PxqNBrUarWWFLC89D0b4ejjPUaeAJe72HlI9WTatC2hcB3NiXM5ZBM418NWS/P6fwDuvO4Lk3UlZAAAAABJRU5ErkJggg=="},290:x=>{x.exports="data:image/png;base64,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"},305:x=>{x.exports="data:image/png;base64,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"},964:x=>{x.exports="data:image/png;base64,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"},544:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAWZElEQVR4Xu1dCdivRV09J7UwzKLFjTbESKXFJUlBUApMqUCQpYQEMkFMEcRURGMpS8yrLBlo7hoKCrhSiQuokUUg4gKmmLiCZYuIilin53Tno8/vfsv7n5l3//2e533uhfvOvDNn5vxn+W1ESCAQCKyJAAObQCAQWBuBIEjMjkBgHQSCIDE9AoEgSMyBQCAPgVhB8nCLUjNBIAgyk4GObuYhEATJwy1KzQSBIMhMBjq6mYdAECQPtyg1EwSCIDMZ6OhmHgJBkDzcotRMEAiCzGSgo5t5CARB8nCLUjNBIAgyk4GObuYhEATJwy1KzQSBIEjHAy1pGwA/DMB/3g3AzwHYCsB3AHwtPTcB+A8ANy/776+R9L+HdIhAEKQy2JJ2BPDzAPznLwK4RyKDCeGnVK4F4OdjAK5Zekh+q7TiKL8lAkGQglkh6cEAdgVw/0QKrwZ9yb8kspg4HwTwHpLf6KsxU/luEKThSEq6PYBfBvCw9OwM4E4Ni/fx2q0ALgPwrvRcSfJ/+mjImL8ZBFln9CTdF8CjADwSwB5jHmgA/wXgYq8sAN5G8ksj708nzQ+CLINZ0tYAfjWRwsT4qU5GoZ+PeBv2EgAXkPx2P00Y/leDIAAkPRrAEYkYwx+1ui38CoCXAzib5OfrVj3+2mZLEEl3BPC7AJ4C4GfHP5TFPfD55B0A/sJnFpIqrnECFcyOIJJ+GsBxAA4F8AMTGMM2uvAZAGcCeOXcdS+zIYikhwN4KoC9AXxPG7NqgnX+J4AXATh9rkSZPEEkeRt1TNJT9DWHrRn/6rLn39Pfvf//SLphuh2AHwHwg+nx6maN+9J/+9+sgLxzD52wVt9EOY3k13v4fm+fnCxBJB0M4FQA23aErknwyVWea0neUqsNkn4cwC+seHyGsp6mbTGxNwE4Yy5EmRxBJNm8w9eXu7Q9WwBcCuBv/ZC8soPvrfkJSQ9IWv09AXg76SvrtmQ2RJkMQST9GIAXADisrVkB4LMA/gbARUM35ZBkjb/JYgWnLQDaEG8bn0XS18STlEkQRNIfAPjDlkw/rFDz9ec7SdrOaXQiyeeYRwDYB4C3nrXl7wEcSfKjtSvuu75RE0SStd1nALhXZSAvAHB+IoVNNCYjkn4IwOOTYnSHyh3z+eS5JL9Zud7eqhslQSTdM93T71URuS8CeAWAl5H03ycvkh6SiHIggO+v1OHrATyJpLeho5fREUTSnwA4viLyNuB7OcnzKtY5qqok+UrZZ7ejANynUuPfZL0TyS9Xqq+XakZDkHQ79YaKA+gt1B+RtB4iJCEg6beNC4DtK4Diq+8TSForP0oZPEEkWev9TAAnAfjeQpTt1vpXAP6Y5KcL65ps8eT7cni6+LDepVT+GsCBY9SdDJogkmxufg4AOyeViut5NknvkUMaIiDJVgjPSVr+hqVWfc0ej/uObcUeLEEk7QvgtRWubv8BwNEk/7FkdOdcVpIP8McC8HW6r4xzxRYFh5P0VnkUMjiCSLIb61kADilE0L4Nx5P0liqkAgKSbA9mm6zHFVb3MrsZjMFRa1AESS6ubwfga9wSsQ3WSRHpowTCtcsmy2hfiZeM0xUA9iP5uXZaWafWwRAkKf181VoSCMHbqMNIOhxOSIsISPKFybN8rgPwfZmfshL2MSTtJz9IGQRBkqmI7ahyxX4LzyFpI8WQDhGQ5OvglyZf/twvn0jylNzCbZbrlSDpV8gH8YMKOvnGdAj/14I6omghAsm9wOeTu2RW5bOiV39fxQ9GeiOIJIfdtGWszdNzxIfwQ0m+L6dwlKmPgKQfBeAbqtwQSXYf2HtI3ou9EETSA5PJeO6vzZ/7ynEMh/B0K+f4Wn7sD+/wo/YKXHrukKaqfzkdCdGGfsv/tDb6nwFcNZazlaQTrIzNpOAnAOw1FH1V5wSR5LhTb8s0jhv0PXqyabJS0yFJd0pefzU00UtzzeS52mQB8GEAl/ftqLUWCSTtBuDcFKB7Ua54u7znEJSKnRJE0u8k5d+igPl9OyvtQ9ITZBCSCGE/C5PeMXr7iM1rf3HfAvl5B8kvDAKczfHGvEPwlutXMtrkyPa/RdK+OL1JZwSRZE2sD3E5Yv8Ma2B7D/+fzF8cMsim9m156uVgtFTmunS2O4/k+0sqqlVWku3oTsysz6bzVhz3Ip0QRNJ+yQFp0U56S3EMSWteexNJvuffPwWa2x1AJ7hV6LDPLq8E8CqSjqDSm6Qt15sB2DV6UXkhgGf0Ecyu9YGW5An13kURAWCnpUf26eaaVounJV+JPsLtZMC2ZpG3JKL4/NeLSPqJFEA7J5LlJpJP77rhXRDEJgWOuLGI2EfD5LhhkUK13pXk84S3hPbhnlqQOVvVWin3OpL/XQuzpvUkey5f7/9S0zLL3vMZtFOCt0qQZJHr88Mi4jA6ttHpPPmLJBPCpt05g7dIH4fwrv1h7Bfzmq4bk6Loe0VbVF9iUpcaSi7U3bYJYludP12gRS8l+cQF3q/yarIDOxnAg6pUOK5KbLfmQ/Sbut7jS/I1sP3hm8o1JK1P6kzaJohjM13SsDeOhpGrXGr4ie9+LQUt8M2a9RZzF4c0OoKkQ/h0JpJsP/ekhh+8hKTPtJ1J2wRxdD/fyzvUzHpiv43nd9XrpL/w95oOTG7TbET58fT4l9qT0P9vKZutM9fetpWU5Fi8xmzpsWXzzyxLCOrYvDbnaFOc/sDB4KzB70QkOaaZV/CNpPODeqsEcW8lHenkLOv03IETDFAnIsnR3X2v7uyzbYgDzTnkjZV21QOpJRs2Jw39dQAHFBgHrtd3p2c7qssDcYN5YoXo9iT9Z2fSOkESSfzrsBoJOlMCSfI17V8uuOdtMhD+pXVQgrf2EWhOkk1aTHpnyXLq6ZriC5YndxW6R9JvpKAaK6/UverabyRHXVCERycESSS5azI5cCAG/0J9iKQVWa2LpIem4A++h68hVmC+HsCbSTqL7CBEkk1dvGI7xlWJ49ny/tip6QkkHeeqdZHkKJm/v8xb0ZYBZ5L09XTn0hlBOu/Z5u2dc274hsaB5vz3UrHHogM1v2HIIWxSejn72JgstS4gTgfw9KH5a5QO6EblJ0uQpAW3M1WNCfLOpDP40EaADu3fJTmXiK/bHRCuVNz//ecSmtVgTZIgyWrY14elOQhNDLuD2hpg1CLJ5h0+C5Z4bxoDpzywle27Rw1Iw8ZPiiBJQ2sXXhtHloh/KX04HT0xVoKQ9vi2rPWKkrvtdEZchyc9haT/PlmZDEEk3T35RJQEX3YKtWeS9I3UpEWSdSq29C0xq7Fd1EFj8OzMHcxJECRF1rBveu4tlVOK+Vf1rD4M+HIHr7Rcint8dHKPzU3Z9k92GBuCr04pHquVHz1BUm4+Gzjmapgd5d0mFibJLEXSTzovCoBfywTAVgKPGJI3Y2Y/tig2aoKkCH8+SOcmf3kiScd0Ctl8LW6XaFs95OB5owk2BD/ymoM5WoJIsub4wkwwbALicPzXZpafbLF0iPcZLMdq1lYF9tmYTCimURIk089kaVK/hOSTJzvDK3Qs3Qb6AL+IKfryLz96KhcdoyNIuq3ybdOiOo5/S4HmJpE7rwIPNqxC0lMBnLbhi1u+YAvlnUjaknnUMkaCNDWNXj4wju5xQN+BC8Y4UyTtAsBGi4sG+TufpANdjFrGSBBHxnjMAqi/hqSN90IyEUjBFmyUee8FqriJ5NgDXYzP1ESSryOf0HCgOvU12ahNkjzBtk1X0s7U5GdJ/+CokV9f8dxA0hEUexdJbqsVg46Y2ERuJOn4y6OWMa4gTaMz9nqFm4wl90whSO+Xoi7eMXO2XJlCjZosV5DszWhSks38D27Qj/eRzImo2KDq7l4ZI0F8R/+pDTwCO3PEWhoqSXYrdhhSTwoToyT70kYzwGE5L0v+/h8g+YGNCtT8d0m2w3L0l/VkjyEnxmmKx+gI4o5tEIzOiXSe1xSAkveS+6ujsDgMaZ8RUUwYh+9xBEWbfrQukhx+1VH2V3PMOpvkUa03ooMPjJIgiST2yz4OgKOn28PPwa3t4dd6Oi9J3jI9I/mE376DcVrkE96G2bX49W0HXkhX7s5h7xXTqR3s9WdymDiTkNESpA/0JTlQgp2P7MI7dLFW+wwHDJ+znVnpIAVBGiAo6bHJ2neHBq8P7RVvv0yUFwZRFh+aIMg6mEmy953N4Et8TBYflXZKmCheTToLsdRON7qtNQiyCt7JYM+JX0qcibodyeZfs5nOY4eamap5N7p5MwiyAmdJXjEcCWXq8meOVTZlb8AaAxgESShKsv7CERfbOmc4K69/va3D8d8d/MBOWn7s1239zpJ23X86jpgzANs1NifpTJP54bY4U3Cn8XibNGwo7wRBNutV7DR1ROVBcQhSG0n6uazkyjXF7HUExUelkKPbV27rSSSbxMat/NnhVzdrgkhyfF7nqail5LOjkF14zyVp8/pWJIXwcZhO+2uYODXk7xzphKRXt5CEwGwJklIf2HOudPvyrRSG1Neo3kJ1KulC4RAfvFMk+JLvO8yot1yTj+rSFKRZEkSSNfBODFkiTmFgjfFpJJ3Xu3dJyVKd1sEpE0rkDJJ2lpq9zIogknwQtjXqvoUj7xx/p/aRJq5JuyU9PuUhLEnx4GAYdjKzGc9sZTYESUlznDxy54LRdnghWwp/pqCOToqmANbPTYG7c7/pYN17kfSN2yxlFgSRtJ1zdxRoxK8G8LQuDCFrz8JkWOlVMzd3iNMPOObV4H8UamPn+iZPkOQJZ4ejXP8MB6/2lmrUIsn5H0/I7ISzOu3WZ876zHYXF5sDQU5NpumLguUkP45i3qkz0qKNXOT9lI3qPABOYrSofM6mN0O5kFi08bnvT5ogyaHJPgpbLQjQOSlHn2+qJiVpRXXMq5wI+I7mblOc2cjUCWIXWB+sm8q3ATyFpANDTFok/V4yg1/ET/6DJHedNDArOjd1gtiOyQfsJuIthMNmXtXk5Sm8k1IgXJzsvpp06aMknbFqNjJ1gjjiexMlnkm0+xwdipK5jbP0Npn4F5LM2ZqNllCTJohHRZJ1H+uF9b88XWM61fAsRZIDL/jwbmPI9WRvkm+fE0hzIIhvbGxZ6+AOK+XclBtkcofxnEksaZP1PWuUnd3qYRwmT5C0ijjzlKOQ+NBu8wsHXnMqZ9/mhCxDQNIBAF6QopQs/cvpJI+ZI1CzIMhQBzYFm7NT1JJcT9Lhi3oXSVas2nHruqmmV2sCchCkCUoV30mJf/YB4ARAjsa4mthHxc9bSc72bFQR9uyqgiDZ0C1WMKWLezEAB51rKl5N7O3nqIkhPSAQBOkAdElOQlPiX3GJTfRjNelgsFZ8IgjSIubpjPGqtJ0q/ZIVmCbJIM4opZ0ZS/kgSIsjJenVdmGt+AmTxArNOJdUBHW9qoIgLQEtybG12jDsewvJUo/Ilno9vWqDIC2MqaSlSOct1P5/VR5O0qtTSMsIBEFaALiFrdXKVn6WpL0kQ1pGIAhSGeAOVo+lFvvAbl1JSIsIBEEqgyvJGXV9c9W2RPbethGeiy1WBzje9glJ/lW3prxtiW1W2wgHQeojLMlKvYfVr3nLGknGDqBloAPgygBLso7CRn5dyDahE2kX5iBIZXwlqXKV61VnpaFXrJCWEAiCVAZWkrXdy03YK3/h/6uLLVZr0N5WcRCkMsZxBqkMaM/VBUEqD0AFy92mLfoIyUVM55vWG+8tQyAIUnk6JIeoCytXu1p1x5K0GX1IiwgEQVoAt6ObrO3C9L2FwVtRZRCkBYwlOcCBvQfbktCit4VsEKQbZCXZsSknSPRGDXSatPvF6rERTHX+PVaQOjhuUUvKy2EdRW2lYZi6tzRmq1UbBGkR7BYO7CeTtCNWSEcIBEFaBjqRxM5NpStJ3Fq1PFaxgvQAsD+Ztlu28s05k/jMcVj4fvQzeLGCdIh78hXxFqkJUUwM6zmcZjqCNHQ4Tss/NWiCSNoWgB+nbx6L3EjymvUam1aUh68RDsgH+0s2MkJMaQt2GAEotwL4Ekln+hqdDIogkrYGcByAPQE8dHRobm7wDSTv3nbbJV3UIF1B281YtH4bcvoHYBPJLyxauI/3B0MQSc7h8Yq0YvSBRc1vHtlmGre0An24ZoM7rusmR9sneXbH3134c4MgiKRnA3Ca4kG0Z2EUtyxgJeE9SbbiGyLJeU0OrNDOvqt4I4DHkfQ2bJDS+4SUdIYTZw4SnbJGOYW0J3JVkXQvAJ+qWmm/lV1K0uexQUqvBJF0NIDTB4lMeaOcG3Fnkp8ur2pzDemMdimAB9aqcyD1nEPy4IG05bua0RtBUvwoT57bDRGYSm36MoCdahxIJTld83sBPLhS24ZWzX4ku3ATWKjffRLE+8+DFmrtOF/29aZXkhtymy/pDgDeDWC33DpGUO6TAO7T1rktt/+9EETSnQFY+dXL93PBKij3VQDPB3AmyVua1iPJ+PgwfgqAMeg8mnZtrff2IPme0kpqlu9lgko6BMDranZkJHV9EcDJjrxI8jvrtVmSUzI/D8D9R9K3Gs18Mcm1suzWqH/hOvoiyHrphhfuxAgLfBPA1QA+DuAT6bH5yb1TRBRHRdlmhP0qbbItCHYvraRm+b4I4qT1TjccEggsR8AZdX2NPRjpiyCdheccDNLRkCYI3EzyTk1e7OqdvgjyfgC7dtXJ+M5oELiF5FZDam0QZEijEW0JgngOSIoVJMiwGgJBkCBIMGMdBIIgQZAgSBBkgzkQW6wgyRoIxAoSK0iQI1aQWEGCBXkIxAoSK0jezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIEGQmUz2vm0GQIEjezJlJqSBIIshFAJwgJiQQWI7AV0jedUiQ9BW8+tUADh0SENGWQSBwJclBZfDtiyDHAnjRIIYkGjEkBF5LclA/nH0RZEcAHxvSyERbBoHAQSSdfWww0gtB0jnkCgAPGAwS0ZC+EfgGgLuRvKnvhiz/fp8E2Q/A+UMCI9rSKwInknS660FJbwSJVWRQ86DvxlwPYEeSN/fdkJXf75sgvtK7ykvr0ICJ9nSGgFNiP4ikU2IPTnolSFpF7gvgYgD3GBw60aC2ETA59iHp8R+k9E6QRJK7ALgAwC6DRCka1QYCnwewN0nvIAYrgyDIEjqSfhPA8QAeMljEomGlCFwHYBPJs0or6qL8oAiyjCjbAdgfwNZdgBDf6ASBWwG8i+TlnXyt0kcGSZBKfYtqAoFiBIIgxRBGBVNGIAgy5dGNvhUjEAQphjAqmDICQZApj270rRiBIEgxhFHBlBEIgkx5dKNvxQgEQYohjAqmjEAQZMqjG30rRiAIUgxhVDBlBIIgUx7d6FsxAkGQYgijgikjEASZ8uhG34oRCIIUQxgVTBmBIMiURzf6VoxAEKQYwqhgyggEQaY8utG3YgSCIMUQRgVTRiAIMuXRjb4VIxAEKYYwKpgyAkGQKY9u9K0Ygf8FabU0I8zCu7kAAAAASUVORK5CYII="},723:(x,e,f)=>{x.exports=f.p+"images/ESP32_865dc232.png"},182:(x,e,f)=>{x.exports=f.p+"images/ESP32_CAM_pin_a7f52a3b.png"},606:(x,e,f)=>{x.exports=f.p+"images/ESP32_pico_kit_1_042520dd.png"},591:(x,e,f)=>{x.exports=f.p+"images/ESP32c3_ad3ebf81.jpg"},617:(x,e,f)=>{x.exports=f.p+"images/ESP32s2_b49570e2.jpg"},906:(x,e,f)=>{x.exports=f.p+"images/ESP32s3_10bcc520.jpg"},877:x=>{x.exports="data:image/png;base64,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"},491:x=>{x.exports="data:image/png;base64,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"},907:(x,e,f)=>{x.exports=f.p+"images/MixGo_pin_A_1c416631.png"},780:(x,e,f)=>{x.exports=f.p+"images/MixGo_pin_B_4bf86f45.png"},685:x=>{x.exports="data:image/jpeg;base64,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O2HFp1laLTDxGMmcf0vIPaFkEEp6xPXroo4NTdLkX2Ss+u2C6MY3ydtG+mc0nzsl4cCPcqGy3A6rFz5Y/Jm03k/JnzjvnK69FPCqjdLi6i03Q6up7iyGM0cdM6Bw5vOy4g5/IsVRabq7W1Lc46Zpoo6N9M/LvOy5wdkD+CF3KJGHWDWUfVlFcvr3pa40EhooKZ8XO05Jc4g9PkXumWbP6TqPxV0iKOFCd0ua+zHfyWf3Kx7agjakn9y6hE4NTdLh6qxV9bfLTcIoxGyk7XtGybFwe0N2+dUuum7lVagtdZD2Ip6Xn5w5255hjZdyinhVN0uJuumK+qvNrq4XxCKke5zw47uy3GysvGmrnU3iz1VMYezo5XvkDnbuDmFuB713KJwqo3Sj++6autTc7TUUrITFSyl8gc7BIIxsq3rTVyrbhZ5YmMEVJUdtIS7f0SMD3rv0ThVN0uTltdVj7S4+xaHwZXc5zTSEexd2irwKp3y4T4NrOYkUku/qXm3/AE7dqyKjdR02ZYalkxa84BaOqk1EjArBvlGGp9M3mvjofIqZhdFUsmfzvxsD0Cs1Tpq91kdvFBSNc6GqjnfzvAGGnOFKSK3CqjdKL9R6VvFypqeOjgY1zJ2Su7R+NgcrJqbSV3r7bHDRxw9oJo5DzvwAGuB/mUmIo4NTdKH9a2a8uoqeCmtssxdURveWEENa1wJ+Zew2mrXuwKGpHtapIRJwayndKOjb67GfIp/csHkNc/8A1GoH8FSYijgVN0oX1barpUWeqhprbUySuZhgDepXnamo73WaWkipbLVuqpWNbyFvonbKnlFMYUQjdKCdQU14qtKStgs9X5VIwDsi30T3rDeo7tUaRkihs9a6qli7Ps+TocYU+InBqbpQLdYbtVaQdFFZ6w1UkQi7Ms6HGF71FT1sNDTtkoKkObG0EcnfhS4iicGsp3SinyeqfuaKpA/eFWyU9Q3rRVWP3ilhFHo9U75RJJa624Qvp6ejmD5GEAvbgDPitzhTwqpNHOdX1zm1V0eNnY82Mer1+tSei0pSKdFZnUREV0CIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIg//Z"},942:x=>{x.exports="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAG1AqQDASIAAhEBAxEB/8QAHQABAAICAwEBAAAAAAAAAAAAAAYHBAUBAgMICf/EAF8QAAEDAwMBBAQIBgkODQQDAAEAAgMEBREGEiExBxNBURQiYXEIFTKBkaGx0RYXI0JSVmJyk5WkssHS0yQlMzU2N0NVdHWSlLPhJjQ4U1RjZHOCg4SitCdFwvBEo8P/xAAaAQEAAwEBAQAAAAAAAAAAAAAAAQIDBAUG/8QAPhEBAAIBAgMEBgcGBgIDAAAAAAECEQMEEiExBRMUUSIyQWFykVNUcZKxstEGFSM0NVIkJTOB0vBCc2Khwf/aAAwDAQACEQMRAD8A+qUREBERAREQEREBERAREQEWk1Lqux6YEBv9ygoRPkRGUkbsYzj6Qulq1hp662mqulBd6SW3UpLZ6jftZGcA8k4xwQg3yKLab7QNLamuT7fYrzBWVjGl5iY1wJaOpGQAR7l4/jL0YK91G/UdujqWvMbmSSbNrgcEEngcoJei0upNU2TTVLDUXu4RUsU5xESC4v4z6oaCTwvS36lstwsRvVHdKSS1NaXOqu8AYwDruJ+TjyKDbIo1pzXemNSVz6Ky3imqqtrd3dDLXOb5tDgNw9oyttfbzb7DbZLheKuOko4yA6WT5IJOB9aDPReNFVQV1HDVUkrZqeZgkjkYchzSMghYNp1DabvXV1HbK+GpqqF+ypjjOTE7JGD9B+hBtEREBFrLZfKG53K6UNJI51TbZGxVLSwgNc5ocACevBHRbNARa2hvdFXXi5Wunkc6st/d+kNLSA3eMtweh4WyQEREBEWJdbjSWm3T19ynZT0cDd0kr+jR5lBlosWpuFJS2yS4VE7Y6KOLvnSnoGYzu92Frr1qyw2O0QXO7XSmpaGcB0Mkjv7ICMjaOp454CDdoo5atcabu1jrLxb7tBNbaPPpE+HNEXGfWBAI+hdLDr3St/rhR2e+0NVVuGWwskw53uB6/MgkyIiAiLDu9zo7Pbpq+51DKajhG6SV/Rozjn6UGYijVh13pbUFaKOz32hqqojIhZJh7h44B5PzKSoCIiAiLrG9kjA6NzXtPi05CDsiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIKo7W6qto9faDntdsN0q2yVeykEzYe8/JjPrO4GBzz5Laaos16152e1NFWWuOwXTv2SxU09Qyojf3bg4B7o+NrsYx4LYa80fcNRXWyXKz3xtnrrW6V0cjqMVIdvaGnguA6A+fVItPau+JZ6efWokuRmZJBWMtUbBG0A7mOj3EOBz1yMIMTSGtH1l7i09qixvsmoo4jJDGcSQTsHBdDIPZ1b4e1Vnpi8Go0TqbTdPpO83irrLjXRxSsowaUOc8gF0xOG7Tz7FaVm0Zc/wppL9qm/i7VdFE+Kkiho200UW/hziA5xcSBjrwtroTTP4KWqqovS/S+/rZqzf3Xd7e8du24yc48/HyQYFDT3zSugrLSUFqbfrtSU8dPIz0pkHRvJD3DpkALT9j8FLUW/UkddCGXOoub5rlbpYgG0sjgCGAZIcMAHcOD14Us1Jb7/V1FNLYL5T21rGubLFPQioZLnGD8tpBHPjg5UeZ2f1kOmL7R0+o6iO/XqQS1d3FOA4nAGGRhw2t2jAwcjPVBj1DotX9plpntLQ6h026Y1Nc0erJM9m0QMP52M5d4A4HVd+3qNk3Z7JFINzH11G1wPiDOzK9dGaN1NpySgp36upqizUo2mhis0cG9uDxvDyQc855J+dbftJs0F70nUQ1le230tPJHWy1Lo94YyF4kdkZHGGnnw9qmImZxAg9h1A/RGktT2GYmSvsU3dW6M9Zo5z/U4Hzu2/+Fa3s2gZoW9a8NVmZ9uoKWoqHDrLJ3TnvPvLiVNJNNWPW2pLBrW3XET0tM1w2xNzHVFjiGEnI+Q/d4HlbOm0bA3UWp7jV1AqKe+wxQSUxj27GsYWn1s85z5DCm1bUtNbRiYEKqLpruk0YNcS3uhkgFO2ufZBQtEQhPJaJs79wac56Z8Fta+/37VGrWWPS9yistPT2+G4VNW+mbUSOMvyI2td6oGOSUHZzd5LIzTlXqySbS7cR+j+hNbUuhHSIzbsY8M7c4W1vGiqsakhvmlruyz1noraOeOSl9Iimib8j1dzSC3wIKqINZ7heLFQ9rlfLUwOvNE9sgniiwxz2042u2HOMgAkcqW6v1JdLdpzR1XSVDWT3Guo4Klxjad7JG5eMEcZ9i9rN2dspKDVdLc7rPcW6hOZ5Hxhj2Ex7Hcg4PPI4AHA8Frj2cXuspLDS3fVvpVPZqqGogYy3iPvBH0Eh3kk4wARgDnglBr57+3S2pu1K9Oi740cNHI2PONzu6IA92SFi2DXF3ZfLEJr78dx3KZsNXRstElOyj3AkOjkLQS0HAO4nOc8KbVWhKWurdWvuFS6al1BFFFJC1m0whjC3Idk5Pj0GMeK76bsWp7bNRxXHVMNfb6Ybe7FtEcsrQMND5N5HHHIaCcIJciIgKD9t4J7J9TYGf6kP8YKcLDvVsprzaay217O8paqJ0Mrc4y1wwUEW1kQOx66EkAfE7v9kozcrBen0Wh9U6dpKa51Vqt7Y3W6of3fetfG3Lo3HhrxjqVlu7N9QVNnjsFy1tNUabaBG6nbQMZPJCOkbpt3TAAJ25K2XaFLPp6noK6l1hS6ZtsbRR91VUQqIpHYJbj1gWkBp6dQFemnbUtFKRmZ9kEzjq0WrNWUGq+yPWclPST0FxpaZ8NbR1MeyaF4HAd5jyK0E1Zcaqq0DUau06bHaaKeA09wgqI6kzSlm2Nj9u10TXHBPDucDjqpvH2bvfprU9HX3qSru+oW4qrg6nDWtw3a0NiB4AHhu+deFH2c3epda4NU6uku1qt0kc0NFDb46Vrnx/I3uDnFwHlwqCykREBQHt4/vS6j/wC4H8dqny0GvNO/hZpK42T0r0T0xgZ33d95s5BztyM9PNBWjqqXWOttI22otEtgqbSW3LvKwt72qY1u3ZDsyCMkF3rcccLI1DrysrNWXu3UeoBYae0vEDAy1vrHVUu3JLztIawZAwMOPJypvq3SAvtJaHUtcaC62qVk1JWiLftIGHNLcjLXDgjKwqnR93o9RXC66Xv8Nu+Mtr6ymqKH0iN8rQG94312lpwORkhBFbvr69y6R0vcZZH2GmrnSMudybQun9EczgYY4HaHEdXA4WdqjWlTYtM6fgpdQUtxqrvUOiZehSiRjIgC4vEUWQ5wGAAOM8kBbq9VldFdrNp6l1jQU9+lpnOfBVW4SmsGD+UDWvbtxsfwDjr5LDi7MI6XTNtorfd5aa8W+sfcILi2BpAmeTvHdZxsIJG3Pzq9tO1McUYzzj3x5mWht+ob3eoNRWGm1A6qDKD0qmvElpMTupEkToyGtJxjBGOvsW4+D7R3On7ObVNX3VtXRzQNNLTimbH6M0F2QXgkvz5nCltmtd6bDWx6jvMFxbPH3bWU9H6M2MYIJ+U4knPnjjosTs80zX6SszbTU3ZlwoacbKMClET4mZJw5247jyOcDoqCVIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAo12nf3tdWf5oq/9i9SVRrtO/va6s/zRV/7F66dl/MafxR+KLdJRn4N395fTv8A6j/5MqstVp8G7+8vp3/1H/yZVZa6e2f6juPjt+aVdP1I+wREXmriIiAiIgIiICIiAqO+F7/e1tv+d4v9jMrxVHfC9/va23/O8X+xmXt/s3/VND4mWt6krxREXiNRERAREQEREFHas/5WWi/80SfxKtXiqO1Z/wArLRf+aJP4lWrxXt9s+ptf/VH5rM9Prb7REReI0EREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQETI80yPNARMjzTI8wgKNdp397XVn+aKv/AGL1JcjzUZ7TiPxa6s5/+0Vf+xeunZfzGn8Ufii3SUa+Dd/eX07/AOo/+TKrLVafBuI/Evp3n/pH/wAmVWXkeYXT2z/Udx8dvzSrp+pH2CJkeYTI8wvNXETI8wmR5oCImQgImUQEyPNae7VZdKYInYLRl2FqW1ZLsNqJtzeuHdFGRLlR3wvf72tt/wA7xf7GZWW2rqW8iqlPsOD/ACKnvhTVE0vZ7b2yyl4+NIzggf8ANSr3P2bn/NND4met6kvodFGDcas5AqD/AKIXT43q2ODXTAu8i0Lw8tEqRYNrrHVUP5TAePrWcpBERAREQUdqz/lZaL/zRJ/Eq1eKo7Vn/Ky0X/miT+JVq8V7fbPqbX/1R+azPT62+0REXiNBEQkDqgIvJ9TCw4fI0fOvF9xpW/4UH3BMjLRYYuVMfzz9C7CvpT/hmj38KMjKReYniOMSMOfau4cD0IKkcoiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgLFulfTWygmrK2RsUETdznFZLnBrS5xAAGSSvljts7Qp77dJrbQyltugcWgNPyyPEq+nSbziFbWisZSbVXbrOat1PYqZkcWdolk5cfbhV9cu0LUMtXKTdKkHJ4a8gKvWPJmZz+cFlVTj6S/J8VrracUxEKUtNuqVP1vqFwyLtV4/7wrq3XGo2jAu9Z+6lRlp/Jrw7w7iMrLDRKp9cajfjdd6s/+aV5s1vqAcG7Vn7qVHxy0FeAPJUYEq/DbUGOLtWD/wA1ywbrq+/VNrrIJ7pVvhlhex7HSkhzS0ggrTs5aViVziKeYfsD9i6tlH+I0/ij8UW6S3WltVXq22KmpaG41MMEe7axkhAGXEnj3krZO1zqLdzdqz91KiFnP9QRj3/aV7Sn110dsx/mG4+O35pV0/Uj7EtbrrUJ4F2qx/5pXQ641ET/AG2rP3UqLxn1klcRjC83C6UnW+oR/wDdav8AdSjdd6jaci7Vf7oVFmOLs5XR7iHcJgymP4f6lPW71f7oVwO0DUjT/ber5/6wqJxnOcrpLwQmBPbVr/UL66Fj7tVFrnYOXr1rO03WEFxmo6W7zvDXlrRtaSfqUItJ/rhBz+cFtrE3ve0Nrc8968j37SnKOaH0Poy4XW6aJdXOlzdHs3Oe8eI6qN9muqbhfb/WU7v7HTZ77cB1zjhS3s6YW6V2ng73t+srUdn2jJtMXO71UtSyb01+5rWtxtGSf5Vn1WT1r8+C+a/hKauqay+DS7IWR0VC6Ooe8j1pJSwkc/ohr8e/K+lcDb7VCNcdm2ntaVkVZdI6iGsjaGGalkDHPaDwHZBB8ecZ9vRe7+zm+2uw3sbjd1mYiJxj2T5/iz1q2vXFXTsj1bUaw0ey5V0TI6yGV1PKWAhr3NAO4DwyHD58+5Rut1VdB2gts78+lkjDAPUwRkfUrGsNkt+nLPT2y0QCGkhzgZyXE9XOJ6klQ6q0fVydqDNSuli9EbG1ojGd2QzavN32po6u4vfb14aTM4jyhesTFYiere9oN+r7Fp9s9BKYalzOC0Z9ZUg7tg1pE9zJLm4OHUGNv3K3O1l7TaKQE45HT3r541kz/hRW+A3A/wDtCx0cTbhmEW5Rlb1LrbVctFTyzX2XvJYhKWxUgftB6ZK92a11T3e4XmpIA5JoVk6TrLTbNKwTVlXTMqZIYWiKVwB24PKmGkJLRe/SWwVNJM9jTiKN+S7jy8km3uTCrdQ9purLUyjlgvTKmGqjMjHdyGkYOCCF6aN7QNaaouj6OC7CJzYzIXGNuAB8yiV3tT7syw0cUrIdtNIXOeDho7x3kt12eWyTTmoHTR1MdWJIXMwyNwAOR1yOivM14PerzyXibUL+3LTzhd46m7ihe2GoEYwwbZ8tx/pfSuKvtj1fTVMsL69m6NxYfyQ8DhbK/wBwp2fCA0xUtc1kbbe4PcyM8EtqAeByeqiVRoqe4V9XKKvui6V5aHwPAIzwc9Blez2nNeHa8f0UfmszjPpY820/HTq//p7P3Nqfjq1cOtez9yatP2f2sOulxp5SzfGGxl5AO318EjKsa66SgpaOWaKeZ7Wty1+1m08e5eTe9KziKrRxeaIN7Z9XucB8YN5/6tv3L6CsdVVXCzUNTV1EkkskTZHc4GSM+C+TdWbTdIJI2NaXU7HP2jAzjk4X1Tox27Stpd500f8AFCw1pjETEYX0/e3DsnryuuFG+0CpnpbTFJTyvjd3gBLTjhYnZ5WT1UNZ6RK+TBbjcc+a5stsJiFy9rXMLXDIK11/vFJYLJWXW4uc2lpYzI/aMk+AAHmTgD2lVVYu3S0XqumoK+hktUcrHCGqkna5mccb+Btz08ecL0tr2VvN5pX19vpzatesx/3n/tlS2pWs4mVysawEY6jpyvUFzHbmuIcPEFUbYtX21t8pHT3yjbEJRuc+raG49pyrR/DbSuP7prH/AK/F/OXPGz3P0dvlKZtXzemoNfv0050ldEJ6VhaHFvDhlTDTOoLdqS2srbVO2WI9R+cw+RC+eO1/UlkrbVWR2+726pe5zCBBUseTzz0Kg/ZZr2TSOoYZvSWegyODKiMyDBb5+8Lo09hubVme7t8pZW1IicPtVFGI+0HRr2NcNV2ABwzh1xhBHvG5dvw/0d+tmn/3yh/nKvgtx9Hb5SnijzSVFGvw/wBHfrZp/wDfKH+cn4f6O/WzT/75Q/zk8FuPo7fKTijzSVFGvw/0d+tmn/3yh/nJ+H+jv1s0/wDvlD/OTwW4+jt8pOKPNJUWqs2o7He5ZI7LebbcZIxue2kqmTFo8yGk4C2qxvp2054bxifetE5EVSvvWsLnftZC2362W+hsU4YyKqoe8Dx3Yf6z94wPDOCpRpzW9PL2eWrUuptlr9LjaXMw4guJIGxoy45xkDk4KoJkiiT+0PTR01cL3T3JklHRHbMHRvY9jz8lrmFu5uTjqFEqfttscnZ3NqBz4vjKJga63gvwJnbi2PfsxyGnnGOEFtIolZO0DT1y0gNQuudPHQxhrJ5HbmtZLgEsGQCTk4GM5WfZNXWK+UNXWWy4MmhpAXVALHsfEAM+sxwDhwPLlBvkUQZ2laQkkijjvcD3SNicNrHnAlIDNx2+rnI646hSCuu9BQXCgoaqoDKuuc5lNFtJMhaMu6DgAeJwEGeiiXaDqeqsMNuorLSxVl9us/o1FFK4tjaQMukeRztaOTheVhtGtaW6QVN51TQ19G7PfUcdtEIbx+ZIHEnBx1HRBMkURuvaTpC03d1suF8poqxjtkjdrnNjd5PeAWtP7Yhbe86ls1lFGbrcIKZlZu7h7ydr9rdxO4cAbRnJQbdFHtO6109qOnrZrLc46llFzUDY9joxgnJa4A44POMFYEXaZo6WsoKWO+0xmrg0wDa8B275ILsYaT4BxBQTBFo9S6tsemTA29V7KeSfPdxNY6SR4HUhjAXYHicYC9XamsjdPC+uulILQW7xVmQbCOnXzzxjrnhBt0VdX3te0xR6Tr7zbK1ta6nPdRwujlh7yUglrMuZxkA84xwtzYtfafuekPwhNzp4qCIBtRK/cxscmASz1gCTk44zlBLEUd0trbTuqpZorFc4qmaIbnxFj45AP0trwCR7QMLi36403cbpT26iusMtdO6VkcAa7cTGSH8Y4wQeT1xxlBI0REBERAREQEREBERAREQRPtVuEls0DeKmFxbIIS1pHgTwviipe58jnOOSeSvs3tkjE2gq6Nzdwe5jSM4zlwVHVPZvDG4MMEXeEZ2+kOW+jrRp5yzvSbKdjwZo/wBsFmVP9mcfatxqqz0tufbJaVr4zPu3sc7dtLX44K0tQfyzh7VOreL84RSvC9GH1AsYH1ivdp/JjCxfzismjLafUBWOc+S7iUBgGOVx3gQdojwQVi139hm/aH7FkCUeSxa126CY/sD9i6dn/MafxR+KtukubR/xCP5/tK9peXrHtLw2hZkZ6/aVk94M9F09s/1DcfHb80o0/Uh1iJDuQk3guRIPJdJHbscLzV3eE9fcusvy1zD4rpN8pB6Q8ArrMfWC5h5BXWY+sEGTa/8Aj8H7cLOoLky1a2FdLG58cUziQ3qeCFg2r/j8H7YLrfD/AFwmIxy93T3q1Kcc4VtOIy+rezWVlRo+nqIg4Mle57d3XBOeVvzUxd46MyM7wDO3Iz9Crrs11jYaDRVFRVdxiiqGNGWuz1wojU6so4dbm5Pe+enjlHyAeW4wsZ5LRK92u49q8zyck8qsb32mUrqBzLK6R1U8/k3SgAAePC0MGtNQ07YKus2PpHPwclvP0FQlcz5Ov6I8fJeAmbK0ljg4ew5Ve3btItnxRV9z3/fPidGGbeGucMAlyw+zW/W+npq0VFZFGC9jm947GRhwOM/MpGz7YphT2mgke172tO9wZwcBfP8Aebg253SprY2GNsriQ1xyRwrw7VLzQXO2MioKuGodHA8uDDnHC+fxzuGAOXLo29eeWWpKR3SQ5oRkn+pY8j5l2sNzrrddI32+rlo5XZZ3rDy0HqvO6vZvpMnaRSxfYvCjoH3Orjp6Vjp5Xk4Yw4JwMnn3BYyvCz+zyON+udPRCbv4nUkrRIR8r1nZP0qZ1lLJE+ZzCe6Er4hwTnB96gfZm6P8NdKiBr2x+iPwHnnq/Km+sXuZYshxafTn5wVW84jK+nTjtFfNVN8ulBH2xWiV9XC2Knp3QzPzgRvIlG088HLh9KuCGnay33psg/LQxsPvDsFfLdbpq7NuckPosspc84mA9V2T1Lug+dfTlrgfR224UU0veyw22mY9/wCmWxtBPz4X1v7S7baaWjtZ2+tF5inDyx0jnnl0zMz1/VjSmpS1o1KzHNVmhDnVFdzgOqohjz/KK/roxhtkzNrNgicRxznBXz3o6o9GvtzqCWDuqiN2XdB+U6lWXfdWiCnlaK2heXwl+wPHq5B4znqvlL9V4UVqJ7vS4s/8y1fVXZ+/vNF2Z2etKz7F8s6qx6bSkjG6mjP0hfUHZm7foSyn/szQra8ehWUafWXh2l8WAHr+VC1fZY7cK9vltP2rf66pDW2buhu+WDwsbQdsZb4XkNc2WRo35PkuP2uj2NjrCwxan01X2aqe6OKqj272jJY4EOa7HjhwBwqTsHYJPSXGSo1FX0tTb4muc2GnLw6U443HA2jPPBPRfRBxleNV/YZOMjaV7Ow7c3vZ+hfQ21+GtvnE9MxPsllfSreYm0Pm+16J07NeKWCW3bonzNY5vfyDIJ/bK1R2O6DI/tF/DJ/56wqayMbe4p4o8MbI1ww7oQfJWWDwso7a7S+sX+/b9UzpU/th889q+g9MWG21Elqtop5m7Np9IldjJ54c4qo6egpnuIMef/EfvV99uFpNc907ZAx0ewEuJxg+we1VRTaeqGbnOkYBjklj+PqXbodtb6I9LcX+9b9WF9KueULy7KOynQmpND0FxuNhEtW/c2R4q527iD1wHgBS/wDEX2c/q7/Dqn+kXp2AxGHs7poy9r9s0nrN6HlWOsp7Z7Qz/MX+9b9Vo06eUK0/EX2c/q7/AA6p/pE/EX2c/q7/AA6p/pFZaKP3z2j9Yv8Aet+qe7p5QrT8RfZz+rv8Oqf6RPxF9nP6u/w6p/pFZaJ++e0frF/vW/U7unlCK6O7PtMaMqaio03bPQpqhgjld6RLJuaDkDD3HHPkpUiLi1tfV3F+81rTa3nM5n5ytERHKHzbXDs7PaLrka+IFd6cz0Tb3/eY7tvye78c4Ujp9UahsegNKfHNTJbhW1skMl1uEHeSUlP63dOeDwHuGBl3zq70IBGCAR5FZJUtoGQ12t9e+jXKru4mttNsqpoWRGclsgBaGNa0t8Acc46lYlhrae7fBtuFot0npF0obW+GppWA95E/LvVc3rngq9EAAzgAZ6oKJ1ddae7aX0FeLVddtntdQxtdVwQCcUj+5Aa97CCPVJwcjjOVurLDbrhNqi90WrhqGrNodTTmKnZHG1uHOZlzAAXD1uOuCrbDQBgAAeSNAaMNAA9iCsNJ6Zpr52A2yzxMZCau2MexzRjbMRuD/fuwcrH7Lq2o1nqH8IbhC+M2iiba2se3GKo81Dh84a3PvVi6iiu81sdHp+po6Wuc4AS1UTpGNb44aCOfLnCx9Gaeh0vp+C2QSvne0ukmneMOmlcS57z7ySgiXavDWWy+aX1ZS0c9bS2eaVtZDAzfI2GRu0vaPHbjK2tm7StKahq6e32O8Mqq6qa7uomRSbm4BJLst9XHtwpmuA1oJIABPXAQUdo/Ulg032e3PTepSIb8x9THU0EkTjNVySOdtcwY/KbgRgjK9YbVU0NN2NW69xZqoJn95HJyWuEDnNB9o4+hXYWgkEgZHiuUFX3GNkfa3qJzGhrpNNAvx+cQ94BPzKM1dLAz4Lts2RMbtgpphgYw8zNJd78kq9kQUlqWeWy9rVbXXPUR09S1tugjo62SlZLG/bnfHveCGHODjjOfcsK52yitOnNN3iCvmvumIb7Jca+ZtNhoDsjvO7aOWNfk5AxzlXy5ocMOAI9q5QVxrm/WrV/ZjqyPTFZFc3x0Lg70bLsEgkDOOuAeOqjeobvQXTS2g73SSi4WCz1kLrn3LDIIsQ4DnNAz6jiCfJXU1oaMNAA9i5AAGAAB7EFVyXa26v7U9MVmlZm10dthqHV1bAD3bI3tAZGX4wSXc7fDCzewumhi0xdJo42tlmu9YZHgcuIlcBn5grGa0NGGgAexcoCIiAiIgIiICIiAiIgIiIIX2vy9xoaslLdwY+M48/XCpG9a2ZcGVNXSUUTID8kvLt449hwrs7YYvSNGSQHpJUQtPuLwqk1JpSloJ5bbDa6gySH8kGy4a5RIq3UsnfW/T78k7mSHk5/whWklaTI4+1b3VNI6jgsUD2bHtjeCM5wRIVrqagq6+tdT0UD55eu1gzwtJnEKwxQ3DOVjd2clSI6UvpH9raj/AEU/BO+/4tqf9BRlOEeLCuNhUh/BO++FtqCP2iHSd9z/AGsqP9BOKBHdhxleNU0ilm/aH7FKDpO+44tlTn9osS56XvdPbqqaa21DIY4nve8s4AAJJXRs7f4jT+KPxVt0lHrY0mij+f7SsrYs7T2nbvXWanqaOgnmgfu2va3IOHEH6wVsDpO/cf1rqsftF1ds2/zDcfHb80o0/Uhotg8U2Bbx2lL8Olrqj/4F1/BW+5GbZVAftF5vEu1MUfXC8p2HeplpqxXCgvNPUXGx1FXSMdl8JaRuGFjXrTl1qrlUTUdmqIIHvLmRhudgzwFXi5mEagYdpXnO07hlS/TdjuNBdIZ7lYqmrpmHL4S3G5YOoLNcH3CaaG0VFPA9znMjDCdo8vmTiGntbf640/7cLxvT2m5VLQ0+rI7ke9e1pd/XKBpGCHgEH3rxuoDrxUtB/wAIefnXTt8cbPU6PWC7VcVPTMaWSU9O8ODC0Z6+fVbK4Xu3GgmFFDM6omGD3oGGZ64I6rQNDWTNy7x2nHiFuYtNyGNk1XVQUsUg3M35LnN8wAttXR05nNpwzrefYzKS5WumktkkzHu9HjcyUAfKJYRkfOQvMVlE+2UkW2TeKszE/wDV56L1qtG1UTGyQzxyMdy0PBjLh1ONy8maaugp4pO4HdDjf3g29fPKxnR0/ZK/FZkVlfbJLZeYI2SCWokZJD6vyQB4+XVYluvlBBSQtq4JjNEzZtZgtf5Hnp9a8ZtNXiORtQIWtYMAPMjcfaux0vX1YBhhiMh6sbK08+Y5SNHT6ZOKWCb9VubVRwuEbKhx3NDR08s4ysBp2eqfWc7P1rey6PvFLDvkpNg83uAH1roNMXKN35RkId7ZW/euinBWMRKk5lZ2ndIUdzoPjCobCTTU9PjvAHDlpzkHqFONBaW01BV1Nzkkh+MQxzYmNDY42jbgkNHiqpb31RRxemUUIEMbYnPbW7A7HAyB4rybHTs4bTRAnjPp7h/IuCYxLaJSLs/gbHrvS4YeBSPP/vepZrUONlj8vTX5+hQ3QlRM/tStFG+kFIKJncbA7dkcnOfHqpxqp9PPa6qikqooJ2VjnAFwDgMeRWepGYmG2jeKXi0+xX8vycDxIH1qyZ2ubcr0zHS3xZ/0QoJFaaBjmumvcZwQSwuaMqcU9dBcq6+VFNKyVgtzGlzDkZA6LDb6c06u7tLdU3Fo4PYp3Rriy63kB0Ac97Wbp2bmDL8ZIUwudIWUEjopLZJURNLz/UTdrwPLxCglin7ll+qGbS+J7JAHDIOH+KzdQ6xrhHDK5tPsc1zdkcYZgOC6tTq8yEf1tN6RdIJy1rN9PG4taMAceAV+9nGprbRaGtMVTMWPZAAfVJxyV8+6mxJWU+c4FNER9CurT9FC/syp5NjO8bSHJx4hW1ZzSEU6pZW6ss9whMMFU0PznLwWj611p9T2u2+tLVNkzxiIhxVCtvDI5SCyB/hzMAu8t4dU1EcEcULMAu3Rv3Lm4ZbcUL7j1/aJXlsPfvIGTho+9Y7+0S1Stc1kdR5HIAx9aoG3Xeqpqj0eWlia4AuD5n7Q4Z6rJdWVVdLPJHEwEYYO6O5pPvU4k4oXPHf7VCwS+mxuIOdrevuWfD2gUM8gjhpqgk+771RNFdahrpWSw0kckTixzZZMHIUq0PXy1WoqWKQUQYST+Sk3HonDKOKEj7QLtHU0j6qSN0LI5odwf5B2crxtN1oKrcam7UhjdC4CJzS0DjzK57VqZ0trqYGNBfMYmj2c9VDKTR1RcaCOCmuNJJK1u4MaTuOArVVlf/YMMaAhx075+PpViquOwJpZ2ewNPVszwVY60kERFAIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgg3bI4t0Y4gOJ9IixtdtOd48VAauhrLhNEX3SdlSxuA3vSSPnAU37cHhmhJXHwqIen7cKpb9dY7ZBTVlOHwubI3Lw7JwevBVLThMRln27QVPqKKmuHeyGO2gNNO47u8O9xJJ8sqS0dso6DtPDKKmigZ6EMsY3ABKimlbTc7zaornT3CaClhg/LxscWmcF7jgkKTadoIaLtFcKd05jfRNk2zPL3Nz4ZKyvPpwvWPRlPtjWvOAOD5Ll5AbgBp+ZdHnMhwF6AbjjzV1WDV1fo5a1jQ57jgABY77k9rQDG3eTgcLIuFD6Q9r48BzT0Pisd1vlERAiZknO0Hn6UMOJLhI1rT3YBJwOPFR/tAur3aI1FE9gBdbqgHjpmJy3brVKdjjw3cMtLlre0agaNA6gdExrdtvqHHHHSJy6dl/M6fxR+KLdJR3sLrxB2XWWN4Bx3+31c5/LyKfmvexhcQxx8g3kKvOw23vqOzSyPBAaRPg56Hv5FYMdJMA7OPnOSuntr+o7j47/mlXS9SPsdPjF4YXOa0jOB6qG5PETiRHkDxbghdTb5X+twC3zK6SW6SVuTweRjK8yF8PT4wc/bta3gc+p1WXDMZIWPLGDIzwFhQ0T2TF0hy3AAWeAGxtAHuCtkwOLSAdrfoUL7S53UcFsqICGv7zHsUxxkcjCg3awM0FtB6CUn6giMIdoex0V705c5paaFtTLXub6QW8wjrkKEdpWlYdL11KymqJpjURmRzpMZzlb/SFsbU6ZusjJKttSKsRxCKUtY1xz6xHitD2j2e6Wa6w094uMlfIYNzXPz6gz0V9rM94rqx6KHx04bD3ocM+R96ubTbJqu1U8MT6WJzqSNxkmbnGMjAVKjqrk0xJDHVU5qqmKnYLdH60nAPK7t9E1rGGGhiZ5udVXqN1voqOrMU1TSSzh7h+eAxuBj51kVlwEELqsyW19IQXijErT16AN81GLwxjdR1tYGMq6WVkzYXA9XbGDcPcVqn6Lu8duNfIYBE1u/b3o349y4Y6N5hu7FXS3G1T22aekpYWPEzXVDw3r4Alec1bFS6gtLKZtPUimPrSQHIkJIOM+OMfWtR8Sy31sMtuhZSMZE1rjNJgPd4kZXlBb5bZPU0VVAKiplZiF8UmQx2RzkKc80LEvVway219TU1FBVMkY7bCJw4tJ6Yb5hbLQOnKa7WSaodGx1R35GXt3YAA4VVXTSF1tdEa2r7kxNwSGygn6FfHZRUUsunZQxvo5752WjnnA5+dQlG9XW63WPUNumxFGHx4c0sGwuB6keXKwLxcKQWe4xtqbVUmWnfgRkbm8denVZ3bM1lwr6Gjp42ySyMOHZxtwQVX+qdO3D0OGQiLhpcGtmDjgDPIHuRDcWe5QWrtUdXVZcIYNjnkDOB3bVK7zc9I3m5SVVZHG+aQ8udG5oPvwVWd8uzLTretnlpm1DC1rHRuOMgsat5oKjodZaiqaKCmqaUNpHkBku/LuMdR0V70mIyRMTySOWDRsQL+4oC1ozhpc4n3Bd6XV2nbTbq6C3QPiZURlhayEDJPTJyvW76Ypp6GmtZgpoJ43sEksL8yux5+/xVVW27W2zHE9sNVVRSPAkfO7GQTj1eirSs3nEFpiOrN7NaEXbUFbRvDTHPNEx288YMnOVZlysA9LqLZWUVBHAxp/LQwgsIA/S81Slmvklsr6ydtPFLHU/LjcSAOcjBHK2r9Vxu7x3xbDtx0M0uP4y3nb6k+xTvKtdrOLuLjTtBwPRo/sVg6e1Y2j0HT0MkQLHROZ3hd7TlVnfbk67VzZpIo49rGxtYzOA0dBys24XGCXTFst0cZElNNKXO8DuIwtbaFprEKRqRmUXlZmpkIzjPCsbsSlp4NS1IqqdlRG+nOWO9jgVA5WAbneJcQpj2WNmjvNRVRRukjihPe7erQfH6Qp1KRXSKzmzM7WmRPraKaGJsbHmfDR4DvDgLZ9nbcaPuwAG6NznN46Hatb2pwT00lpbUtDXyRyS7c8gOfkA/Mszs5qJvie50zKeSQSvDGPA4DiMcn3LCY/gx9q8T6SB3975rpUyvA3veScDxWVoy5mz3WGtyAY84JGVzqWnNNf6yJxBc2VwOD5Fa5uBTv453H7V0104vSIZzaayuGfUTrxaDcppIG93OxrXPOxpI5xlets1HBbjPLRR2hk8jXtMhrc4Dh4ccY5+lVk28xDSAtIY7vvSO+3+GMYwtXRPcZMDyKpGzmczMpnWxyfXfYQMaHAEjJAKiT1mHIPuKsVVd8HH+9xCfH0iT7VaK5LRicN46CIihIiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiCAdtsT59GiGNm98lVC0N8/WVV3K31V1rIrVNZ/RnNcHvLj1DRzjKtntiO3TEDxOactq4yJQAdpzweVTj75fLjcpC7VFC8NBDpBTEkN/0cD6VW0ZTE4bTS0l4ioYaS0ziC3vYxs42bn4Ln9PLAC2+kKGW39ptyppaqWq7uAYklPrEHBWp01erzT0z7TaKOmZShzI3V8zdzzno4AHBHjhbjQ9LW0/aRd2XKqFVUNhG6Xbt3dPD3LK3rLRM4WKAC4+9eV1c+CnJhzu3DkeS7OkbGMkkDPiuslbC4YLuFKGpkqqjdw9xPuXdslb6P3xe4NyQeFsDUwAdfqXElyp44CXEnB6YRLWxTVj+72vcXE85HGFo+0uorWaNvrdp2SW6oa7HQfk3Z+rKlja+B0AlB4JIx7VpO0CeM9neo354fbakN/cnLq2P8zp/FH4q26ShHYrNUR9mlnERfjExGOn9nepw+qqywOjLzJzuHsUd7CpooeyWxvk/N78f/wB8imrLnBvAcwgea6O2v6luPjv+aUaXqR9jWSVNXG0GAOkbvHX3HP8AIs22zVbmyGRnO49fALbNDHMDm4wTkIAASQF5uF2hkkmMh9Z5z7ehXZjqrd+cSNoGeh81uS1pzwOV2fjZwAMKUPEjLOnKgfbACLbbS3k94eB48gKwBgAKA9rrv6htWB0ldx9CCuNI2eqq7Teaigr6mKVtVsihZja92TguUe7SYb/DdYRqaeOepfTgscwYw3Pit5o8XmDT9zqrZcWQsFXtbTGLeZZMnHPgtB2lXC+VV3gdqinjp6nuA1ndnIIz48labblqK6vqoWPlK56G6Wym09F6TaJbmZKeMCanIcYiByCOqqm1UL6u50tMxu50js7QCcjGfBWVBp+mpnk07O5cAfkPePryu/ealZmK+Tn0qzHNnVVxgutFbooLNJS0tIHue+XEbpNxb6oz7iutwrqF98dJBa5jbj/g3SMyf/coXrChuEVvp7oA30SaV0DT3j3kkc87ifqWt0bpu5apr5KekcyJkTN75HAkNHzLmrpxNeLLWbYnC0qG62+DSAt1RaHGrbK57JGvYfVJzjqvGnuVBHcLTKyzl0dPvM7nyMBfuwBjnw5KrSk0zc6nWf4Nh8bazvHRl7vkjAyT9AXS9acuNr1WywukjlqJHMDHjhrg7ofYo7uvmZlZVRW22aWt7y2zzRvje2Nr5GYDiDg9fBbC13ijtGnTSMoJ5658xe5zZ2NZg49vsVUay01X6WuUNJUzRzOlblrmDHOcEfSsjWmkLlpSmoZqyeKQVORhgI2uABx7evVI06+ZmVnvvNPU6korlLRDuKeINkgnqGDc7nODn3Lwlu1C59yay30jGzRPjiBqo/yZcMZ6+Cr3UWiau2aKt1/dPk1AaXx5+SHfJIWLTaGulRouTUbZ4xTMBf3ZzuLQdpOff4JFa+Yx9f1Ec2rK11M5ssZc1rXtOQcNA4PvCyuz3V9Xou8zV9NAyaSSIxlrui9dI6MqtQaaule2YNbTHETT4uAycnwGF4aG0hVasNZ3dYKcU4GSWbsk/OF0Tek14ZZ8MxOYTB3au9lU2tZZ6Y1coJLw4/ThVjUympm71wwZXucR5ZK9pqZ8FwipT67w4xDHic4W5bou9+r/AFMwFpOczM4596tpRp6c5Vvm0Is4PBJGA3JAXA3H5R48gpI/SV1PqujgByetQz711bo+6uOGsgLj0AnZz9a6o1dOfay4LPHStBHcbtAycZp2bpZfa1ozhWxUaJt9DDTyVtDC81A3xthbzgjPOSq00mfi7URoKwGN8jX08gP5pI4+tWp2ja7mp6C1PoLVJE+iZ3bnzOaWv4xxg581wbm0zflLfTry5oTS2p9XqB9Eyx0roA9w4zuIHsz14UhfZrbS6frrrb6SWBtMWtlaCWlwLsEcFQOh19dILq6ubSQCdxc7nOMlTahvtVcdFV1q+LZfSa8gmfvGBg9YEk85XNmWsRDu7T9qdFPJUl9aYmxva+VxccSZLR8wAS4WKltjmtp4wxkg3HYS0Z+YrInrGsoa2C1U01yM8UUTZISMsfEC05HkVFr1dtUlrDPZ5WNibjLm4wq2z0haMZSF2lLe61sr3RMdI4jh3OcuxlQzVNoiip6g00ccU1JP3cojztcCMg8rrT6uu/5Gnqmg0rXgujYBnrngrcaidLPT3CpZR1EXxjK17Ii3Jaxo6nC10bTFozKl4hX5Hqt9y9qM/lOvgV5P4DQeDhetJzJx5Fe1E5q4p6vrH4OJz2bw/wDfyfarRVV/Bu47OIx/2iT7Vai8S/rS769BERVSIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIggPbS9selIXPaHN9LiyD0PKrSrubbUS+SClZRVJEcojwCGnx4Vg9vTHS6MijYdrn1cYB8uVTWsomss8cLZ4ZJA5vqsfk8BUt1TDZ6eraxklLT22hfUbmRuhmMm2OMnIy4ePQKWaEfcH9od6+NhGKwMAeI/k+GMfMozpC9xW+3UdBHQ1NbcaiKB0LI8BvAd1PgpL2fVNVWdoV7nr6U0tQWgPhLt208eKpbqmEvv5c10RwdgOSPNakOeNwkLeDgEDqpTWiB4xUbdpPQrGjpbc+URt5cegyVWYS1NK2V8hG0AuHBx0XZkAkdTxubl7pjuA/RUhbbom8NB4HmvWKkjiPqtGc9VYaG407KeqpRtxByce1aPtN9bRN7cwZi+LqnGP8AunKc1FPHNHtewOHkVG9fRRDs51O1rfVZbKrA8iInLq2X8zp/FH4q26ShHZE1x7HLA5rdwa6fI/8APkUlige6Rjgw7Mg4zlYXYDG1/ZFYg4Ag9/nP/fyKwIqWFmXCNrcLo7brntLcfHf80o0p9CPsaksqtuIy4DPARra4cEOWw9NgYRydueoCy2bJIw6Mgg+IXnQs0ojq8AcjPVc93U+O7HjytuW88ELu9oxgDwQaVjKgEEk49qg/bC4x0FqcMY7w5z4dB/KrMcOowq67Yh+QtLNu5pc8n5gEkVpo+putvsFbUUkNLNRw1u7Dzh7ng9GrQdqOoqy+3unnuNsdQOEWBE7xBPULeaQuVZR6arZXWl9VQw1ffPnbIG7XeWPFaLtG1BTaqusU8FLNTCOINAlGD1+xW205urqRiGm0mayi1TTfF1Q6Co9YNkAyWjBB6q1KOV0kURedxLBud5lVPahE/UkLZpZYY+QXxnDm9fFWjTy01JRwsM0e1rQCXyAH51vuI9NnTogupYap2n6dzq2SSlFU8Nhx6sbi3J58+Fm9kVyq7fqMU1OZnU1SzM0cYy4gdFodShsFNH3NW/M0pkkiJ9UED1TjzwSsK3TXC0up6ykqXwSTMJY+M4O3OFas/wAPCP8AySOjq5z2qQ1AMpmkrDuA+XjJBH0Lpr+aYdos0jTM2VsrBGH/ACwABhRqGoq4rgK6OolbVh28Sg+tu88rmtqKytrzW1VRLLVEhxkccuyFkumHbCZBe6Zz2zMc2BpHenknxWR2sSTvsempKhk7XPhcSZTnccN6KE3OrrbpOJrhUzVEgG0OkOThc3Gur7jHCytqpp2Qt2xh7sho8ggm+oXVM3ZPZn1AnA343uJ27RnAXNqfUSdjVw3NnMTJg1rw71Q3cMjHvUFnrq2agjopaqZ9LHyyIuy1vuC4jrKxlvdQtqZhSOOTEHeqT7kE67LzPLpXU0cUU0sbYw5ux2A04PJ+ZefYy+b44uEUccssRgLnNjdjkdCVCaOrq6OCWGmqZoo5eJGscQHD2rypKmehlcaWeWJzxhxY7GQg3+lmtfrOiM+HuY+SQNPOXgEgfSArwprfHQ6GsFUXCKOsIfVTcDBcSTkr59t0c9FcLNcGO4fU7QfHIIz9qu642GN+nKQV9bW+hyyPEVOx/qgBxHAS05MPE6e0c69ekGopi4v3F5lGPo6LxraCjqdLakqaGjpXQ0RPc1DWAEjPGCq5ZSW8XOopviyd9IJsCq3kSMb06ZwVPaHScD7PdIqCsrYm07DJLTySYa/HgRlVgRWnr6C3azs10u0PeRSUrZJmYyScYzhY+qNWUVcK+kt1vp2U9QW7ZCzD27T1HlnxWDrChr7pq2WG1U0k74omARxjO1u0LWnSd+pKaorq6gkgpoA3vDJgEbvk8e1bcNce9Xnlr8BWDorVNqt92a++6eBjbjHdxEk4bgcHz6qAbDwB4qx9OXLVloqHiqsXxgxuwjIBAyw7eR7MrKVmosle2t7Rpqi04p4JJXuY17cBgweMBbeWWaWlmZNVS1BcHEucT9QUc0zXsg1/NWXSmlib373SwRt3OaTnIwtnXVsz62Ka2QtktM0jomOccPbnwIVr+whqjQxOt5kdBjAOHg855WxtOqKmmigga7Ag5DnH5QA6HzWnNbGI3RPiLiM8g458FraWopZq/uJu9OQQBE3cSfJVglhV03pNTJNtDe8cXYHhkrtR47znpgrHe1zJXMcHAbsYd1asikGJsH2r2tP1IhxW6vqz4Npz2cs/yh6tVVR8Gs//AE8x5VD1a68e/rS7a9IERFVYREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERBBe158MdhonVMT5YRWxl7GDLiOeipaur9LNvU8tLba+QSBwZTyREAnHmCrR+EVNJDoaEwuc2T0pmC3qOCV801WobjPTsgdUOcI8+sTzz7VrTRnUjMKWtELc0vebTbaZkNSXy1obCGUsDS52Q0/YpB2dV/xpry/VYhkgL8HZIMOHGOVBux2ttFDaqitutTEypZVNLG43SHAzkexTrs5r6e6a41DW0me4k9ZpIxlcl4xfDWs8kw1Bt72AYzjcffwvKlnEUkb3AHHyfbws64UsdU5he/btOQkdNC2Rm57HBqiEuzrpycMwPeu3xmxpH5M5I6L1kEGSfUXDjAS3Ow+ClDxmugDGbY8581G9f3Jz9A6lZ3QG621IPzxOUqkdCI8ODPnUb7QpIvxf6lxs/tZUgfuTl1bL+Z0/ij8UW9WUa7B7iYOyuxxBgOO/x+7yKbXC5SPpJGbNuRyQfBQ/sEdCOyexB+zf8Al85/7+RWDup9uHCPB4XT21/Udx8d/wA0q6fqR9jURvxE3Y4bRn1fArrHVvhaWxvwB4DwWWyhgc78m/LRnGPBZTqSAAYYOi81diUtxkdC0vYHO81m1Ve5jiGx8HHVI2RxtAaxoAXq/BwcBBgmvkPAjHJUH7aXbIbPgEEl314CsLDfIZVedsrhN8UMJwPWP0YP8iCs9H3qkodOzQXCnqnRx1veukYzMYHkStT2q3q23e9wVtkcZKUQ924OaRjnotnoe5WsW6Gmusze79ML5InAhpafElavtZltJ1I12nzA+lEA3iH5OVfbRi6upPJD3VLBLFI0Mft5G8fUfNbCfUtRM8PkipCQMD1OgWp2sETnsGWPxz4tK4EcbXYfjY/lr/JerOnW3WHLxTD1u1xNylbJNHA14GC5gwXe/wA1m1QIt1rd+aYXY/0itRLHscWkYIW8uBb8T2faR/Yn5/0isNxSK1jC1JzLGgxgr2Bbx48LCjftXbvsEea428MnIIXQkFp58F4ib6QuA/Lvb5oDBnIXYDaGgjhdpNrG5HUry7zgexSPVwbvOPoXi5oznHKb+SVwSpHpHWv9LtcEhAghm3j53DP2K+r/AKmpKnSlFb6OjnNZSyFzZWlpZy4knrznKoCuijbbqKoyO9c+RpGfAYx9q8opy4Ya5wIHTPVa10eOM5ZzfCayNvs1w2sjzSB4OHFgOAc+antm1DVUlPdGVFsE8tazYJHyMAbkdcZVGelONU15c4AcFcmoP/OH6VeNtnrKs6i5LDT3WPVtxulhqYGSM2wZMZlz6ozjC1GtLRejTT3G8XdzaaSQMeTE8M3dQMD3KS/B7ulJQUlS6tcA2WbYC5wAzt8crX9pV1txZUUsk7JSK4vc1j9zSzbx7Oqx1OU4aV5whdHo+orLcK+luDZKXOO8ELuvl0W4pptR6Rpaivo7rudEWB8U0bs4dkA4d86z9IXi3R2argbJsidLEYhkAAg8rbdrclPNQXJ9HURTs7mlBdG4EZy5RSOK0RJblCrbXqOqo9SyXeWFk88j3Pe3o0l2c/apnHbXVUcdU3TNOxr/AMoM1jhjPjjPCre37XV0DZDhheA4+zK+ln0jT2a1NWXRhzKg8A4OwEAAfMttzSKTEQpp2yq6eCmik2T2ugYSMlr67BXrao6Sgqm1VFZ7W2Zh3Nf6aXEH51lX68aXra+MOZHEWsAIljwSpho9lmuVzroaBkEtAylL3ux0dg9PqXLEtZUhqGlqYK2d9WxgfMO8BY4OaQT4ELBp+Kg/OpJqBrDpencflMqJWMP7DIUZpz/VB6eK9XQtmnNyXriX1V8Gr+97/wCperYVT/BqI/F6QPCperYXm39aXXXoIiKqRERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREFU/CLJGjaXH/AEkZ/wBBy+X6tjWMi2gDcwEr6h+EYM6Lpz5VI/iOXy/W52Q5P5gXftPVc+r1W32N2q1xaddfKx1MyqhrdjZJccNwPPwUy7N5aaq1rqSWhLHU73ZYWdD7lCeyLStHVafivdYwTba3uTE92GYwOo+dTfsygp4NYakZQtY2BsmGBnQD2Ly9Wf4rrpHoJzVQl7j62D0WMKIE8SD34WXVM3yD1sELybTF2R3rQoQ8BRZc4CUYQ0Ld4LpW/MvYUm124yjy6rzFGBJkysIKDrNSMceJgB71TXwlpbjQ6dtkdDNKKColeyrcwkAnALGnHgfXOP2IVymhGD+VaV41dqpquB8FV3U0Dxh0cjQ5rh7QV6HZW9rsN3p7m1OKKz0/75dY96mpXjrNVBfBknuNTcLrROllNojgEmHElrJS4YA8sjeT7gvoOOhGB+UOfcvK22GkoaVkFuhp6WBpyI4IwxufcOFs2s2Boz4LbtrtGvae8vuaU4YnHL/9n3yaVOCvDMsampzFk7skrKx6gysd9UI5C3aSRznK6urshoMeAT1yvKXezV6OBB9iwnVoBwGkjrldzXf9X4Z5KD2xhVr2yfLtIaOTuGPfhWEKvcQNvU46qCdsM5ppLRIGMdgl3rDPQg/yIIV2eC0VOk5Lbc6qniEtaRJG9wDi37lFu1y1Wqzao9FsMcZp3wNwITkE56qTaHs1Be9GSekx07aiesc18xxvDTjofBRHtHsNLpfV0VHbpXyRGAOJc7cckHPKnaz6X+6NXohjWPjJeBx0c0/yr1bE1s3d53RPG7HkuZnvf3z3nJe52fm4XIH5dmOpZwvYiZmObjliPlDmsaQfVGCfnW40lYqnUlwfQwVlLStiYZHSzuw3C1MTXExNe31C44d5ZUr7K7H8Z6ocJIDUUtPG6SZgeGkt8OfestxPor06tDb7VPU6tZY3V1NG4zGJ055jGPHPkuuoLZNaNTS2h1dTT7XtaJ4wSwg+P1qRWaxtre0YW+npcvFQ53cukHLQSSN3TovDU1nhqNfvoKSnEDppmhrHSAgZA4yuBu1mt7HJpi4wUoudNXCWISB8DeBnw6r01dYH6eoLbUtutLWGsYXFkTeYzgHB+lb3tUtUNDfoKcUop3PhY0APDhkcE8LI7UrRHaqOywGljY6OJ0b5WSBwkdhpzjqgjdysJpNIUV6bd6aaSd200rW+uweZ5XFJYmz6NqL0+8U8c8TsCjc313DOM9VKb7p02zQ9mfLTwO75wlErXjcQ7JAIWWzT0dJ2U1Nwlp4ZO/k71sgcNzWteARhBDNKWFl8tdyq571T0L6UZjimZzKcZ454Xjou1Ragr5oKu7x0DI4y8PkjzuPl1Uz0FZGz6L1BdTDTStIMLWPeGuaQ0uJH0hY3ZBYYrlLcqp7Kd4gj2d3K/bku6FShFtLWqO6amZS1RdLTwtkJ28b9oJ+tWJWaHpaUsE9qpGSmMS7fTJcgYzzgKL6J7uk1U4SFjGsjnbndxnaehVgaw1vQ1L6estFNPt9HEUrnt4ztAVrTNeiIxKBUlDR11xZSt022nc920Sy1Epa4+A4HipBT6KpQKSqqbXRuoZJ2wvMNTJuaXdOCtVZNVV09zgPxa50UUgf6g3HIORwpnbLhJU26ko5bbWsqTXRyGV7NrAxufvUcVvNOIe1rsE9JbHts1otslJJK491Vl7uhxnPPkvCutdZRUpq7jpawvpGyMZI6JpLm7nBoPI8yrNbqKzUOhofS6ylbUt3NYzcMg7j4KsdY60d8TzWw1ME0c74nju3g9JB5KvUaOm00+oZVTQVEVPFHPIwM7pm0AO9rVHblJJtloo6t8sBcC/DWta8jpwAtrXX2SrpX00DRFF3r95aflncVqZQxm3b1Vo5TyJ5tS62wxvzg5HI5WyqbjWzxCOSpnawdGtkIH0BKljS5rmn3rxcAT7leZm3VWIwwZ6ESuElR3kjh0LnEnC9KNrqUuEE00e7h22QjIWdu4B444wvMsy7PAUYWejO7rJKOlrnvbQxnadvUNJ5PvVo2PsisF0dGaSepkjkGWyCTIP1KpiHAZHiVYfZXr1+mqp8VY181E8fIB5afMKJmY6IxC6uyG1sslquNtiPq09U5vT2KeqAdkd1be6W8V7Gua2WsJDXDBHCn6ouIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIKs+EV/cRF/lA/iuXyxM+SSNrtvqtG3K+pPhHH/AIEQj/tH/wCLl8uPx6ACDyX9PmXdtpxWWOp1W32TaXmr7PT1NdPUPtslSWmljkwwnA5OPH7lNuy6khoNS6lp6UEQxS7WgnPAJUL7LbTd6vTFMZbtLSWWWsLBHT8SF+MZz5KZ9lFKaK86jgMr5THMWb3nLnYJ5PtXmamO8dFPVTuqZ3jz6+3jGV4RxNYcOlBJ8yu1fF3jhmRrMefisL0f8oA6dhJxjnqoGU6Fry8983jw8l17mINJM7MdAfmWMaYta7E0YxnldRTBzQ4zRhu7nB8x/uQZQgi4BqW5PQDxXc0jWOaDLyRkArCjoQ1zfyzABjGCtlNA4zNe0j1WlvKDvE+KGJjRI3b4HzXoyRrh6rg4jg4WtdbnuYwNl27RjOOq96OnMBcXO3F2AgxaogzytJAyByV5M9UBrXAnK9ahzu+fg8BcE7mgAncDyiXiC49cD2r0kIIcCeoHK4AOPVwADhd2Zc/bucDlBxFhpYM5O7KhPbYATaefzXH6gp1FkT7Sc84UD7ZWNfPaQ8uwA4kDxHj9SCCaP0zT3TRzJGNe2unrDCKhsjgIxxyAOMqKdodil05qxlHNWTVbmxg95KcnoePcpJpGyVdRoyOqt1zrYKqarLIomvxE0jHrEeaj/aJRXa3ahjgv9YKysbG0tmIwMHwKvtIzfqrrdEWdkwZPm/7V2HFVHzxt8F4Th8bSIye7cfWaerSvYf8AGh5bV67jl1bkww8/nDHt5K4ZLNBJJJTyvjc4lp2HHC2+jJLcb/bWXUNdSB+ZGuHHAdj68LpqOuZWXCodRU0FLTteWtZGwDgePnlYamrFZxMZXrWZjk0sc8kUwlileyUfntdg/Su8LZ6mqb3AkkqHH1dmS4n2KTaB03aL5VOhuNUYpd3DN23Ix5qY3nSFBpXXlhZbJg6GopzNkv3YPIzlU8RT2VT3c+auZrLepnb56Gvkd5ujcSsK4U9wp3Mdc4aqPPDBO0jOPLKvX0C1UssD/iuCSKNrS+TOdxwMnkqG9o00U0FC6NhMLLhU7WNGcNBYqxrRacTEJ4ZhXsc1XI+HvpJHMbw1pJIaF6y107reKeWaT0cSH1C44GT5KW6r1pVV1fJHZwaW3Ma0MxEGnOOecLTWN1NX3Isv1YIqVwdI4uaDvcBwPnUTqx5J4Wmo46uqc6lt4nlDuTHFk5+YLLis18hDu6oa6MO4dtjcMq173YdI0un7PVW2WKOZ9Tsm7t25zmYPXC3dssVqrLhHTOskLIJ8ta57iHN44PVJ14/thHB71EilqaOdkddDJTlxacStLTguHPPh1Vkdo92sVMKu3W401Q6UDYaZ3qxEeORwVF9aQy1NytNC1rhIKdkALz8ol7sHPkvLUGmqjT9va2ro4zIJOapjyeo4bhRrTFoiVqRMI02pnpD3kD3se3kFp5yptadY3WWyR0dfT102KhspqSxx2MHUdFDqSsZSVUc8sLJmMPLHdCrdl7RrLLpcUJpsPmpnx5A9Zrz8kjHhx9axXVvf7ia2ukmZEyOF7i6Pa3buGepUeuMpb3ZHXeFubrT1FNHQitkLnPp2vaCMbWknAWgrn/l6cMP+ECshL7OS6mO7k73Hn3rKmAdtwB15WPbG7I5cf848D6V7yOLAQevmrDiZzMYZjKx9vq5PUrsG8lwxlHP2tO5Sh1DdoPPOMrnPqDI4HtWgm1DAypLGxPdGDgvz9gWwFfS7ciqgweeZAvS3HY2+20Vtq6UxFunt/Dp9kqRqVnpLPfJxgjp0wu1EB37D4lwWubXUucmrg/dAvemr6RszXGspwMj/AArfvXLOz3H0dvlK/FHm+muwD+5+6H/tr1aSpLsP1bpu22K4x3HUFopZH1bnhs9bHGXDzALuisj8P9HfrZp/98of5yz8FuPo7fKU8UeaSoo1+H+jv1s0/wDvlD/OT8P9HfrZp/8AfKH+cngtx9Hb5ScUeaSoo1+H+jv1s0/++UP85Pw/0d+tmn/3yh/nJ4LcfR2+UnFHmkqLVWbUdjvcskdlvNtuMkY3PbSVTJi0eZDScBbVY307ac8N4xPvWiciKnjqDWNfJrOvob7a6OisNZLCynqqHcJGsYH+tIHgjOcdFOdN6tgrrDpqpvDRQXG9xAw0xa47n7NxA44GOefBUEoRamp1Faqa5VdBPVtZWUlL6bNHscSyHJG/OMHoeByo/aO1XRd4uVPb7bfI6isqHbIomwS5cfnbhBNkUEb2uaGdWikbf4jUmTuhGIJcl+cY+R5rcah1xpzTtaykvF0ip6lze8MYY+Qsb+k/aDsb7XYCCRotHddW2G0x0klwulPBFVxPmgkJJY9jW7nODhxjBHjz4LY2i5Ul4tlNcLbMJ6OpYJIpACA5p6HB5QZaIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIKm+EgT+BtMB41B/iOXy88f1vaf2a+m/hJvxpeiZ+lK4/+0r5nf/axg5/shXbt/UljqdVxdljtRTaWo6WGelo7VLVOEVQ5u6QSY8Apd2RwTRXXUDKmUzTNnLXyEfKIJyVEuyy43yfTFFbbdaKfZHUuliralx7suxy3HieimHZD6R6XfnVxZ6SKhwk29N2TnHzrytT/AFXVT1EzudvdUzRua/Ab5hYnxUe+DzJjgDj2LdTO/JvLRlwHCj+kJr1NFVnUMUMcgncIO68Y/AlXwq9Z7U6WN7e99V3X6V2jtjYQG9+CAcjPuwtu4Nw7BWHLRSOII24PP+5QMYW0vaB34wCDgdOFsA5pO3I6cc9V4NopNngPn6pDRvY8Ok2gA54SBlY2hvmV5vHRZAAdgrrI0AfMpGlqfWmcA0cdSSvMDBzgZPiCvSrb+XkBOM45K8mD5LQcndlQlxh3U+eMAr3kJjY0jq7oR4LxaNz+GkuPn4o4vY4kne0HkeSDKAjNQ3dw/rkeKr7tpANTauQB3b8qfxQuklEoBAJ3ZVf9tTHS11qaOW7C0/OiEC0nDeYtGU89ruO10lWWw0hjyC8Y5J8FGO0GW9v1OWal7v0t0TQ4R9MeClOka+/W7R9LVUNLb6ilZVF0Mb8965/GQPDC0OvLlcb1qF1TeaAUFXtaO6znAx1+dX2cTx/7o155InNxJKAOkY+1dOe/PHOxekmBPJv6Fgzj3lKQRtqXCck4b4dML15lxrS7GWaS/Bm5/H1baIrv6RmnjqZmiXYGjJa0nJHXoPBQfW8lskuznWbJiI/KHwL/ABI9ij+l7V8a6ooaSp7xtFLUhz8PYxpZ55PO5by86TudtqJo4afvYA9xY4Ss5b4Hr5Lz9SsxPNvWeTQUBhF4phVyTR0xP5V0QO4D2KSaVqXSavphNLUSQxh4j73OdmDjqu3Z5f7fbq18V0pmtaZN3e7d7xgEYHs8fmUv1HcrPe+0i1VNifvpXUe1zMYLHYdkY+v51SMx7E5aWlorubPP3lJM7gnvHNJIHhypd2W1tptdupZ9WvZHG1tW3Ezdxc/fHx7+q8qystkJpqaCvuj4SxonJY8YOBkAAdFFdbupxRWhzA40z6yocO8aWlzNzeSDzykRMynLJ7Sr/p66PkZZm+vvDmuY3a3bjkEefRVxUgyNDWtLiXDAHipbrWx2+Gulq7BVUD6SQDZCycBzOOeq0Om74yyXYzVNDDVbWOYA87g0kYDh7R1Thky3kEUNNUVU7rXV01JNAY6bvOcS4H+9betprwLRA+jbWmq4xtY5vOOeVvrtq+06t0/aLZTxVcdZTz97O/ut2GYwTxyeq96yvtcd07unuN1fRMae7e6N+c48sJwyZRWaCermslWC1xoaCOeYvOPkvORnz8E7StVz6jlkbSxmmoyWuEb355Axk8KS0MDIbfRMcA1zjRNmDhg92ZXE5+fC3+u/ih+oLlSXeaGKONoMDC/aCD7ktbJCmdMaZ+N6eeavr2U1PEcOLIzJ9inlrs9kgs8Nst9dFXV5qmzBz4iw7R1aMhcUkOnbdbax9vrI4agAOjbHOfWd7s8rd6nq6h9t0jK/0Y1bqnLHRAB+3HO7CpE5S41pXaPr9P2706enN6p90bx3ZOGgnAdhVLV0lpNWyWgqWSSPnYBE1pADdwzjKuq8WeSe1z1VPVU8Ldx/KyUzJCXdep6BQOq9NogWVc1BPup5ZYp6aFrHsewZ54V4nnhEtRG1sc1SzBw2Z4H+kUncSA7jywsezyPkpBI8lz3uJc4nqcr3lHPhlaIdO9GMFvJXSUd40FhGR4LsG+sDxnyXLhjPq4RCLSabkdUEsla2EnxHIC2BslDggQcgdS933rbOcWYBAx5LpJk8tXt7j9o+0txWtba0xw+U8OftxjLONKkexrGWSh28w5d+3d969oLHbjI3fT7hnn13D+VZzGuPh4LvCC2QbvMLkntntD6xf71v1XjTr5Ld7IOyrRuoLPXT3izekSx1JjY70qZmG46eq8Ke/iL7Of1d/h1T/SLz7Asfg5cf8sd9gVnqn757R+sX+9b9Vu7p5QrT8RfZz+rv8Oqf6RPxF9nP6u/w6p/pFZaJ++e0frF/vW/U7unlCtPxF9nP6u/w6p/pE/EX2c/q7/Dqn+kVlon757R+sX+9b9Tu6eUIro7s+0xoypqKjTds9CmqGCOV3pEsm5oOQMPccc+SlSIuLW19XcX7zWtNreczmfnK0REcofMwHZ0dWa3/AA2JF5F2kNGYu/77btbt2d3xndnGVJJ6+52ywdmN91maiJtHWy+l1E7DviY+N7InS46HBbknx6q9UIBGCMj2rJKnrRqe01PbFf71DVg2qnsEbnVRaQxzWyOJc0n5TfDI4JBXhoLWum9R6sfqC8Xmkbc5yaW1W5ziXUsOepHTvH4yT4DAV0DgcIgpCg19pbVGuvjO83ukhttrlMNponuOZpehqHD6mDyyfFYpqfiXXOsoL7qwaddX1Ini7+jieyqpywBu2R4Occt2g8eSvlcFodjcAceYQUxBY6Civ3ZTb4ah1xoYGVctPNNHsLh3Ycw7T0xkY9wV0IiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiCkvhMSEW62M8AJXfPgD+VfPEDO8p4GHO0vOV9CfCd4t1rPiRKP4qoGlm7qkhYA3D3HOfDC69HPByZX6rl7O9TmXTNrtVvs09RW0kr5GvB2xv6k8+fT6FJOyKSWolvs08eyV1U4vZ1wcnIUO0VrawWjSVnimlqHV9FNJJJDEzGQTx6x4x0WtsGtfQrdepaO4miq5pzPFG6LeHgknGccLz7xPHLesxh9EBrsY2lcMicCfVK+aT2q6oBGK+PB/YDhdo+1fVBkDHVeGk4L+74+xDL6RexwJ9UrnDyOjsr5sm7UtR9+5vxixzQeHBuM/Uur+1TUzXkC4NI8PVH3JkfSrXPB2lpXJB8jnwXzC7tY1OH5Na3J82/7ly/tT1MdrvTm5z4D/cg+nw1/g04HguXsfswWnpwvl9vavqnHNxa3nxZ/uXI7VdT7j/XBuPPbx9iD6XjgbLkvZz4p6M0OH5PwXzK7tY1K0nbXDPsau341NSuZuNybu8tv+5B9LikwQ4R45XqadmeGdevC+Yvxo6mDHEXJpJH6OV5t7WNUN5+Mmj/AMCgfTr4nAABpwqn7aHllzoQ3q2nec+R5Vc/ja1Vkf1wb+5hJtU/H0T6vUN0JqYWubHE2P8AsgIPiBxypwjLL0re7ha9E0sotJnooKre2YP5cTjLQ3xWp7QNQnUmoJK91DJR5jazupBgjAHKy9N6vt9Bpmit80E8k9NOZXEAFpacZ9ueF4doWoLbqS+musrJI4DEyMiQYO4AArbaxPGpqdEMqT+VnJwPyY+0rmChrqtrailpZpW42uDWFZlqijn1PRQvjL2vlaHjwIyrMraHTc0cclRcbgZiXB8UDy1sWHEYAA44XXq6s0nDKtcqdNFVNqO5bBUCXwZtO76F61VsucUe+opapjP0nNOFZVvFsn1JU0JvNYLXHE7ZIH+u4hrTt3Y6ZJ+hdLnDZ7db5qi13Ku9KDmhrJJS5rsnnIIWc7jM9FuBVLGFjtwJB816xTSxSd5E97Xt53NOCFdbLHSiipJ5a+pL5YmySYiYA0kZwPVWIbXaZqyKOqY+upoK2RneMjw5ze7aQHbR0yVPiY8jgVW+6XIBrhX1Ow8E94ePrXhWS1Mrx6RUvlI6Fzi5WnbrLpZ1xvgdBIaU4awc4iyMn3cqLusFnGkm1TvSRcnvw0EkNI34yB4jCRuK+RNJQo7z1euGscXfKCmOsrJZqKe3x2Q1D3yHEweT7ORn51KKzQumo7jaGNqpW08rC6pHe5dwAQB5clW8TTyR3cq2ooK+OCSrpZHMbHnLmOwcDqvX41r2DAuFQ5x4H5VysSy2HT8GpL3RyPqHW1sI7jc4nkgE5I8VrG6d09Ho6erk79t0a53d7nEAjdxx06LONeMrcKLWu+11HPUNdmqMrNkjZSXZGc9fZhSllHQVLe/rYad5fHHIHb3EgOOMHJ8FF6KSnZFUMkpo5KhziGSum2lgwOA3xWsuF0bSyCLa57gOQDgBdG32Wv2hrdztqcVv++fI4opGZlMXUtkMMrqekh7xjC4A5A3bg0Dr7crAkvM1tqagQUdOH0+Y2ztLnBpPHGTwtDT19PJEHd61hPVrnAELuKmKVkkPpEfdOG4j0hrAXDp16ql+z91p3ml9K2Y90p46zzysm13JzruKWpaZ6d1JHIInOIbux1UWvFSG6uuUEbO6hbRylrAcgZjW3orrSQSw1rKq1Txx00cRjlrI2u3Y8s5OFprnVUlXfai4vntsDJ6OZgZFUsdhwZgA85BPhnqqRstzE57u3ykm0ebXWCq30Yh2n1TnOFtHHxPRSTTjtOt0bRwz3S2Rzlu57X1MbXh2fInKiV3rKKjqnRx11NNGeQ6KUPH1FX8JuPo7fKVeKPN7OPA8lz1IwfpWnF3pg3/jDDj2rn44peomZ9Kt4PcfR2+UnFHm2z2YIIIJyupB5B6rVi7U/Xv48H2rs27UZPNQz6VHg9x9Hb5ScUebP3uaF6tdgNeQcZHRYlPX0M8rWelwtyer3ho+kqwtNnTVLC51XebS55HOauPj2DlVnZ7j6O3ylaLR5rc7AHtk03cSzoaxxH0BWgqh7LNV6VtVLdYZ9R2SBrqrcwSV0Tdwx1GXchTn8P8AR362af8A3yh/nKvgtx9Hb5SnijzSVFGvw/0d+tmn/wB8of5yfh/o79bNP/vlD/OTwW4+jt8pOKPNJUUa/D/R362af/fKH+cn4f6O/WzT/wC+UP8AOTwW4+jt8pOKPNJUWqs2o7He5ZI7LebbcZIxue2kqmTFo8yGk4C2qxvp2054bxifetE5EVTza8u9D2yTWWs7k6cMkVI1wjw6OeSLezLvIlrh84Wd23a1uOk7NCzTxh+NZGvqHGVu4RwRj1nEe0lrR71QWUirPU991HNqXSFmsdypbe660UtRPNLSCf1mNYeG7h+kfFYrNZaitsWtbTeH0M91slAK2mraaIsZK1zSW72EnDgR0zhBayKN267VU/Z3BeJHN9NfbBVFwbxv7rdnHlnwUQj1hfbnp/Q1Hb56WmvWoqfv5q2WHeyFrYw55bHkAuORgE4QWmigmk71e4tR3rS17q6WvuVHTMrKWsbD3ImjfkYewEgEOGOOoK1V7rtZ6Tq7PX3O+UF1pa6vhoprfFQdz3feHGYn7i47f2XggtBFW9yuGprn2g3ezWa/0NqpqKCnkY2ehE7pDIHZwd7em329VnavvN6t34OaettXTOv91eY310kHqRMjZuklEeevTDc45QTpFBdG3m9QauuultS1UNfU01PHWU1dHAITNE4lpDmAkAhw8FOkBERAREQEREBERAREQEREBERAREQEREBERBRvwnXf1Fam+O2U/wAVfP0WDFSgjPrOX0V2+ULbtftN2x8vcipEsYfjOCS1VY7s+fDqNtjra5jcRmZk8Yx83K309WtIxKlq5lDLbTQGrDauo7mGWNx34yGnPitkLXb2M9W802PDr9y3lLoOSroL3VGuYyotsjoht+TLtBJ+kBaq66Jq7Vpekvs9RBJDOGnuQDuAJxyomaXnOSImIeTrTRNA/rpS88jOfuV86bfe32C21Polulo5YO7jAYOcDAcTjxwvnK10MlbWxUTXtY2Vpcx0h+SMZVp0NBdmWu3QQ3CsMHdDuQalsPqnxDT4crLX0a8oWreWy0sLj3VbixWyeKjqXtne+JrjISc9SOAvLTkFc6/3+hpLLbO8ilFVI58bXhjHDhjcjooVdm3WxwV5hulUGvkLJoC/1g/GcnHBUXt1/utFBUzUdbPHLO4Mke15y4DoD9KyjZ1tHEv30xyXFS0c7O0g07rLbI319O14Gxr2xNHU7cYyU1PG6DXlnFBZrbKalj6WNojbsc/xeW4xkKB02m9bsrYLgI65zntBEzNzvUPtAXlX2HVsdXNXxelllHum7525hYMcnnoqzo0nlJF7RzhPNcxy0QtMr7HbnPpqtschbE2MSuIPBAHRc66oq6n01Oa+x22N9NKyZ8kUbWHbn5IwOVUt3u11uFS7vquok7vEoDnE4PmtjTHU2sBHQ0s9TWSNi7x0bnk5A9nirzs+Dmd9NuS2rzbqio0dUvksdrikqaQzxlkTWmJoGeCByViabpquu0zSzfEFrdT1FP3cYdE0OyBjcXYzlQWtsusja46aZ9w71pMZiLX42Y//AHhaqvZqrTdLTUdxnqaenqGkxR7yMAezwWcbakzyT31oWDoiKtZZIJzp+2TUEMzoJHyRtc6R27HJIyAvDTVuucNZf6WksdqnNFWl9Q+RjXgB3Rjc+HCquhvl1hoqimirKhsHLiwPIBOeq5td2uLKSrjirp4e/eDIQ8jefDK18Fmcyp30x0STXNpa7U9UagUluDmNkEUXLBkdBgKPm2UG4MN1hD/AbHc/Ute6sndFI+qdJLIDtdvyXALEI2hrXu3Qk5ZIPzSuqm2iI5spvnmk1qgtNulkmkuTZCGuGwMPJx7lpKYNEkpZ8neeixSC71JDiTwd4PWRTEMfJg/nfWt6aMU5wpNsttpY51XR54IkZj6VtmVEj5KkZ27Kh4Ht9YrS6SZFPf6J80hjnZM3LT48qfasstHTWWhr6a7wvlmLu8p2vAcw5PVc24nNmlECtrO7mZUx1DTK6qMJi25OOCXZWdeo2vmoY3zCFskmC93IHtU50TpSzVU92Y+7QboYRNHLuDQXkNPU+RWju1koIYJZK26RTSRPb3bA8Hdzz0XM0drff7i2gqYTcpAyIGKLuztDgBwVi2G43GHSdwraN7zUtqXNLg3JGdnh7grDvEdDa4II7XUUElLUxNeBsa4tJHIytZomyyOuVTarfXxxmStk/LMAc0tbGD0QVxZL5XZrYp6iSOOpy6UiMYc7Hjxwsq4Xeo+LIWtmLmUbmCmbtGA4YJI4yQrItnZ+58+oqR1xjFPFJmUFgy4lu7r4LGqtF1J0NRXd1dC/0WNkkDGxjDRvA5Pigro1tfe7hQVFwc0vj3AuLduRkKSTzyx1m5ryHR+q0jjAXprizT2nUdviuVdE9s7+6zE0NDc4OfrW5p9HXN2sHUklZTxRiGSZspZuD9oHh86pqUmcYaadq19ZHO/l/KESPy/l/PyvetdfQX2ec5wQGgE+HIUrtumb3NfrzRNrafEMMcriyLI9YcD2LSV2mrhNoeSvqq3dHFK5pjDAMta7HVVpp2i0Zla+rWYxEIFA/PfF2/JkPRrcdPM8/QtXcba6pnMsTgCeHBy21A9jp6mKR0EMb3EtkkZk58s+C2UdjqJYGPifG8OYx+AefWcQPsXtbHtDcdma/f7ecT088w5JrW8YlG4LVTsiAlb3j/F2SFw620pnDe6eBtJw13X6SpC6y17YBJ3GQW7h6w6b9nPlykVuqYm18kUlMaqicWPhcA/I8SPD6FpftztHVvNp175nytMR8onEHd0iOjW0VLp6sha2eKaina3Bc0ukY/29cgrmrpNP0lO9tNDNXTuaQHvc6NkftAByT7+Fq4zmdwO3xOQveKknrK6no6RpfNOWsY39Jx6Bbx2nv4jM7i/3rfqyxX2RDFbSwbcmmbgccudnP0oKJkj2NjpM45OwuJI+lSa6aMv9rcWV1K2Mjk5dn7FLewyidJfa2erpS+FkOzcW5aDnj7Cs79tb2sZjcX+/b9Vo04nrCp3W8Nc5r43Mc0Zw5cx2+NxaCDznxVp6/wBI3au1RVzWu2SupXgBpaABwfatFT6F1GHsJtcnq5zlzfvVq9ub2a89xfPxW/UnSjPKESpNPVNTQT1UVNK+KMj1wDheNFaZK2QxUlNLNKBktYCSvpPQNnloez99uuMBjqw9z2sODz4cqL9mOlbrp/U1RWXKmDad7HNy14J59mVz/v3tDP8Ar3+9b9V+6r5KYNtbTSd3VUj2yNwXNeS3hZEdNRvfhlBCcnxfJ/OVgdq9BU1etRBRRbnyxsDGeJz0WLT9mGrmPO+3GJ7Ruw9wHC2p23vLR6W4vn47fqpOlETyhYHYb2Z6P1Vpiorb3Zmz1DZywEVU7ABjphrwrH/EX2c/q7/Dqn+kWq+DPG+HSFfFIMPZVua4eRwrgWM9s9oZ5bi/37fq0jTp5QrT8RfZz+rv8Oqf6RPxF9nP6u/w6p/pFZaKP3z2j9Yv9636p7unlCtPxF9nP6u/w6p/pE/EX2c/q7/Dqn+kVlon757R+sX+9b9Tu6eUIro7s+0xoypqKjTds9CmqGCOV3pEsm5oOQMPccc+SlSIuLW19XcX7zWtNreczmfnK0REcoU3crC7Uepe02ghOysDaGalk8WTsjLmEfOAo9c56vVPZlrTWN2p30801C2300T+sbIyO9Ps3SbvmaF9CoskqX1faTe9edndE243C2l1sqHekUEoilbhkfAcQeD48KXSaAo7bo7UdDa31dXc7rTSNmra2Yyzzv2EN3PPgOgAACnSIKVoe0uw03ZiyyyyTt1JFQfF5tPcSGcziPZtDdvn49FtK6x2C2dnOkaPWtzkstbQRRR09dDN3MkEwj9YNfggcAjB4OFau0bt2Bu88I4Bww4Aj2oKe7PmUFHe9Ta0iqLjU2GGhZAy4Vpc+Ws2Fz5JRkAlvRowAOOAtdpftC0vqnVVHeNQ3uGOobL3VotAjkcKdzjtEkh24Mrs464aDx4lXmiCp+0yp7NKme7RakbQyX6KIRbRG70suLcsEeBknkYxx5+K1Mclz07b+zTUWqxOGUUMtLcZpA5zqcSsAY+Tx8ACT08Vdpa0uBIGR44XJGRg9EFa6PqYdT9qV31Jan9/Z6e3x26KqaDsnk3l79h8QOBkeKspAABgDARAREQEREBERAREQEREBERAREQEREBERAREQU523sjOpdPvme6ONkM7y9vVuNpyqm+PKCXVTqh1bVupmwFjXNYC/Pj8ytTt17s6ksbah7mQupp2uLRkgHaqWpbRbhfJmx1FWaRkeWyiL1iT4YUSM2Ctp6Ww3VlRU1sdZNIX/IywtPA3e1dbhVW+4abigt1RWSSUzW96yXGw+4e9dJ7Y6q0/VVDvSHVT+AwRYbta7PJ+teEtPbrdY4n0MlUairADjIza0eeD4pCJYWkcP1RbARkBjjjw4YVN4HfGOn4LjLcZm1FND3bImx5bhnTn5lBNFevqWkY7iZm8A+DhtPCmMDqW1abdQVbphXkPbsazI56crXc5iYV0unNoLjcZbnpusq6lwdNJU8ux4bAofTuIpMtG4iTp9Ck0tPJTaQljlBDxUkEEfsQo7DI6gqIpohzhri0jIPj0W2lGaSi081kXTtA1xJbqeKJ76ONjQxsUMW3DQMDlaml1Trj0S4Nk72op5oHxzd43dhhHJ+ZSG99rN5qLfDDTWmKCJjQ3mPLjgdei1lT2nX2us9ZRVNohFPNCYnPZBtLQR1yuVZA5CTUznPG0fapJoXUV309V+kWCmbLVPp9jnOZv2AnrhRicgy1WDxxz86lPZhqyo0pcqh0FG2rdNHsbuGQz2+5dutH8PLGk88O1x1britqnvfUVBe45PGFi6ovmorq22M1Iw/kGObDI5uHPHHU+K21V2maj9LmcKWL1uMCHIGPJavWWrq7U8lvfdKNtM+njc0ODdoePNcun60NZ6IjSuIFTg/mnhc0jHy0r2MPrOeOpXSnPqVJHTH3pCD6C/acO3DC7sMsvc97DPte5rptvnw9vkvDc6APLNzqaT1XtPUFdXAzO2PJFQ3oc/KXLJXSO2kYl6EHo/wBhV4iY6oyb8RiJ7y6AnLHfoleLXy0k2c5B+hwXvEGMcd2e4d8pv6JXSdw2uELS6EH1SeoUZ5jN76SMQVUL8SQ4cx2OQOoBW2fe7ZcXulr7MyWo6l0Mzog4+Zbz9S0znbaLP7EcLGjeC7vYhzzuaqXpFusLROF7WDT1suNlfTOordTbI2ySh27c0uaXfK3A9MdfFRSut9PZJ2SUGnYbo12cPm7w49wzjC3VlqqMuuNbWR1slPcqSJ0LqZu7a9oIII961FVqq7GKCBliqXNgZsB2kZ9q820THRtXn1bK30puMtOx2mbBDPKNzI5e8afuWWKWufJJSUdqpLbVUD5XStp53wgEENyCOTkFa626or5r7aqqusdWyCjIDmsbkuGR9ylUGpoo7jf7jWUNYIrpvMUQZl4IIDc+XGUjJKBz1Fwp5545qaeEVDS+V4rZDv44zkjKyrZSXm5Wuno45Hmke8xNpjVvDGlpHv8AErRanuN6uBhlhpZu9a3YQYvzc8KTaFrGW+kpHXH4xbUteZZGNiy3cfL6Ao5jRdo9qqKKAGvdOy4U1T3Lg6odK3G0OBaTyFEYb/dY5hL8Y1bpAwsa4yuy0HqByp72pXJ94pKiukjMXpFcXMY7hxYGYzhVYSvT22lW1MzDnvaYnk3kepL3HJNNT3OrZLMGskc2QgvA6ZPipNbqK7VlngZLU3OphlYX+h0YLsjdyXE8DlQWlidJMxocGgYcc+9Wrpm5SQQW+lZUPhjnpXBzoxk4Dz0XPua1pPor6czMc0XrdOQsYDUUl1tm9+A+piEjC7HTIAI6eSUejbhI18dNVPHq7sOgkbwPLIUruWoWUNyprZNUy1FMaiGqPeNy4Abt31BbrVGqaKqvtVW26pkfTiTLHsb6uBjKx760xzacKshYKmSExQ17pQDteGwSnbzyDwsmXQVXBSirmqw2N/8AhHxSAk/RlTKy6lpJKOspoq403f1Tpw4RElw9iz7hqmidZm219QZqiKoExc5mHbAxTGrMHCrQaLqcl3ev3Y/6LL/NWMyKo0herRdS+nqy1zamFpDg1213Qjg9QrYuWrbbPPPcaauqmO3ksHdep9Pkqx1q51b8RmFjpHzUx2NaOpMruAtI1bX5W6K8MR0S53bLqC4Xc7qS3shqsRPj7okbTxwc58Vblu07btNxvbbI3RipayR4c4nJx7feV8x01rulHcKcVNtqoy2QHBjPAyvpqO+0N5eGUFQ2Z1PFG2UN/NOP9xWWrFY9Vavvez8uPXleLyc+zxXswnOSEMfUnosJaKnr+2m10l5ko4bdUT0Ubyx1U2QAnBwS1mOR7yFM3ar05Ixsjb/acPGQDVxgj3gnIVZ3HsQqn3p7qK500dre8uAe13extJ+SBjBx55Cmbey3SDGsabUXEDBc6plyfacOwvse0dH9nK00+4vfOOfDGfnxTGJ+z5Oek62ZzEN3BedGvo7lWVF5sbrhFEDTvdVxbw4Z+TzlVdZu2TUFvq5ZH1kNWyQbS2ofu49h8FKq/RvZ9a6h9HWWOV9TPEDTubUzYa4nH6arKs7Ob5RSj0iwVQYRuHUjHvBXnaen2Ln19X7tf+SbTqe5e3YHrHT9Jp24Ou99tFDPPVuk7qorI4zz5BxBwrZtur9NXStjo7ZqGz1lXJnZBT1sUj3YBJw1riTgAn3BUR2Gdl+ktS6bqqnUFnNTVR1BjyamaPaAOmGvAXszSll0d8KDR9v05Reh0klulnfH3r5MvMdU0nLyT0a3jpwujS2PZm6jUjb3vxVra3OK49GM+y0yjivXGcPo1ERfONhERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREFIdu89VT6x0zLQ0zamoijke2J/R3I4Kgtru+qZ6uquFJp+ExVMfc4LQ1jcHnGT1Vh9sNfBbdfWGqqjiGKlkceM/nKFDV9urSZvjD0USANkpZIt0ZAPhjor8EzHKEZwyJrtqSj0q6lfp5mD3ksspcN3rAj5Oc4GSoNV3+6agsNJb20ETaK3sDjJEPWAHiefarAOvLCaplPE4902nLBIWkkHPLRnzSLV2nYY6iOKpgY+X5LhT42t/RPmkVmOeETKqtIzQ0+pqaWpdsiy5u7GcEtIH2qwJ7jd6OoipJdPUM0lIAwSh+d5A6uOVkz6u0xDE+ajipmuaDiH0cZc/wAH5Vf9p92iu+o311DUmWKRjSAG7dnHRa3ide8ThnHoQztX3dlRRSRVU0BuNRO6aRkPLIsgANz8yhTpXd9G2ZhBYQHH2BYstQZMF7QXDx8Sujpc+C6KafDGFJtld957TrBFQ0TaLT1PO5rQHumxuOABzjzWkl7UbfU2240o03TwOqIXRsfH1YSMA8qqTJ5hcb/YFSNtXzT3ksgTv2vBYSXEc+5Tjso1Ja9PXmqqr3SPqYpIO7ZGGgguz45UAjJe8Na0ZPtXYh4PyVvbTi9eFSLYnK3Lx2pWw1LxTaVoWMzjnkn6OFFu0LWFLqmG3CltbaE07S2RsfyXe5Qo7j+aFwd36AWddrFZytOplkU39hqfV2+qOPpXanwKIud07wZK9IXNfCC3HHBB8PYfYseRwYHxsH5MnODzgrXh5q5dKl8bpHFruCcgrtE9srmkkCdhG13g72e9eBA8vqXIx/8AoVpREpTpzTN2uzXXCmgg9FEha7vpmsyfLlYOpbXXWmsfFWUfciUBzdrg5rh5gjgqb2aK3S9lsLbrVS08PpriDG3cScDjC9qKe036PuGU8lVQWSkfIyOV3rTuJ9nQLim8xbLWI5Ksile1u17eAMBe9pt1RdK+Oko2AzyZ2g8A4GVaNq01ZtTUVDcG0DbcRO6OSBpOJg1ufVXpo6a31epqdtFp30KWGVzROwnaBgjDvarzrxjlCOFVHf1NOXRCSRm04IB8VzFU1csrGMmk3PIaPWPUq1ho62uu9toHQtqY6iR801c0naduT3Q+hcXi36ep4aeqoaWm9Ip6tjcQh20jOMOz4qve1/tW4ZQBtqvhvRtbBK6rb8oB/qt4zknOAPau2obJerK2OSuJfFJw2aKTvGZ8sg9VaWq6nfTaqNvpmxV0bIWmSMHe6M9VXGn6W6XCmp6GZ8rLLNVNa8uHq7z5KK3zzxBMIuaifj8o/wCkrmKed0jR3j8eeVbtrtVjuNwu1rNhhhFI0BkxLtx9YDJXrNa7G/VNfaqezUscdBC6d2Cd8xDQdvuOVPfV/tRwyrasttdLbhX4d3DH90HvdzuxnaR/KtI4bgTjDwcFqtO+1sdb2ciSOhjomCs2d2wYa7j/APeVWdSzcN+drm8B38hW2heZUvDEIyfHyVnWKNkFDaK+Zs/osdK6MmJu47tyq8l2eoVraW1TUU2kqa3WyGlrHc9/Tyna7OeCCqbuItHKFtLlLXXrvo7rDf7eJO5BFKzvoupLXZyFnjTNRaaSqpq240cUjCXAPDw524Z4A8F6XK7XO5W2noa2lo7XRRT98DJL8pwBGPrW0vurjerjSVFZHaNkDWgtbUAb8eZwuDhb5QzT1PU3NlOGvpmw0YMOXnZkEk5JwfJbIWmopbgauOallfMw0bWRkvGSzrkgLMtV3ZbLfd6eJlme64O3Bxnx3HX5P0rrQ3R0dFS09RVWsGnmdO2YTZc5xGMHjomJMsep0lVUlFJb31lKJmvLO6LX7yc+7H1rV1lULNWaRqp4jMykjD3NHBdsldkKYXPXFbW6lpruZLOyWEYDWzcH2nhQfXVdBVNtrWTwyzMieZDCcsa50hdgfStdOnFbEqWnEJzqHtxqKmdzrVZ6amjLS0mVoe7n2qsbdq+82yWokt9SYTUHLwGAg4JI+0rUvjLskHLWgEhTPTGk6GttVJVXWedklfOaenbF0aR4lbX06U6qRaZa49oep3dLjID7GAfyLr+Hupi8NN2n68gYClt40DarNLRUdXLWSVVSQxsrHAMDifLqo9rqx2rT8/oVKKs1bTnfIRtcPmWfDS3KIXzPtXvbYXVNtgllmlc58YJJceuFSGvL7eKDVdbSU9yqmQMcNrBIeOFOdN67Mum5qj0NwZQiNknrdSeBha/UWhZb3eIbmZcCrcC9jerWY6rk0qTXU9OOTa9o4eSumXCpfWMqq6pqJ+6kaTl/O3I4BVnWbtnno3VkU9DNV08xxH38u58bMdFVlwgFLVVkDXZEc20E+ODheNNzVNBPGV6VdvW/NzTqzHJ9R/ByqBVaaukrW7WvrHPA8s8rQa+uFHa/hS6PrLnV09HSR2h++eokbGxuRVAZc4gDJIHvK2/wYv7j67n/APlH7FNNX9m+k9Y3KK4ajtXplXHCIGSekSx4YHOcBhjgOrnc9eV09l7rQ2mvfv8APDatq8sTPpRj2zC9om1Ywyvw/wBHfrZp/wDfKH+cn4f6O/WzT/75Q/zlGfxF9nP6u/w6p/pE/EX2c/q7/Dqn+kWvB2N/fq/dp/yR/E9yTfh/o79bNP8A75Q/zk/D/R362af/AHyh/nKM/iL7Of1d/h1T/SJ+Ivs5/V3+HVP9InB2N/fq/dp/yP4nuTazajsd7lkjst5ttxkjG57aSqZMWjzIaTgLaOOGkjyUW0d2faY0ZU1FRpu2ehTVDBHK70iWTc0HIGHuOOfJSl/yHe5eZuY0I1J8NMzX/wCURE//AFMw0rnHNRlPrHWzdBVOsjeLVLTwVEkYtstDtMobKY9okD87jjj1eqt+nvtG+vordO/ubpVUvpbaVzTuDBgO5xjgkDqvmPTx0G3SVY8mpHaA2oqTSGh9I9I73vHd1t2+r0x14x1Vn192fp3Xei7xrSVtGJrJJSVFU8YjbUkscWuI4GcH2LnSsSs1fYqOO8PqbgyNloLW1xMbz3JcAW5wOcgjplamz9qGjbzUyQWy9x1EscT53tbDKNrGDLnct8AoVpPV9rtN47TtS1MkjbdHU072FzC10n5EBoaDz6xxj3gr37N9X6Ze+43+83+hn1HXROqKiNji4UdOwFwhb7GjkkdTn2IJZaO1TRd4udPb7ZfI6isqH7IomwS5cfnbhZ9z19pe2Xg2uuvEEVY1wa9u1xbE49A94G1hPk4hV/oDWWndTatdfrreKUXapcaS020uJdSwk9SOneP6nyGAoxZvRqayag05qnWRslTNV1Iq7fLQxufOJHkh7HFu6TcCMEZPh5ILuv8ArPT2np5IbzdIaSRkAqSJA7+xl20EYHPPGBz7F31bfviXRtyvtJD6X6NSuqY4xkb+MjPjjz9ihVstkMHbNa4pT6S+i021sU0jfWyJdu7HgSPtKsK/3KjtFmq6+559BgZumxGX4Z0PqjJI5QQzRMer7pHbL7VattlbbqpjZZaCmtzQxrSOWslDy7IPmPAqSnV9iGnJ78bjGLTA5zJagscAxzXbSC3Gc7uOiqO31WnKbX9jk7JrhK811V/XS3Uge6k7gg7pXNIxGRxjGPLCyZrUKrXV10DPEXWysrze3tI9XuHR8t/dsILcrL5b4paKmNY2OouEb30uGF28NbuLuBjABB5wq9u3abQ6P0XYqitvMd/ra+QNZVOgNMJY+8w+TY1pA2AjjjK1/ZWai7XOd9c15fpi2us254xmbe7ef9Bkf0rTVILPg86XqS13cUlfT1E7gCdkbag7nHHgEFuVOuNN02nKa+1F2gjtVTxBM4OBlOcYa3G4ng8AKM6o11S1NDpa56euu22VN3ZTVMrmGMGMNcXNcHgEdB5LW6qvlrh7QtKasrZ2T6VNHPTw1zWl8MFQ5ww8kfJyARuXv2gXS0anZouots8FfQHUMTC9gyxzmtdnB8fDnogmmmdZ6e1RU1VPYrnFVz039ljDXMcB5gOAyPaMhSFVvWAN+EDbS0AF9hm3Y/OxM3GVZCAiIgIiICIiAiIgIiICIiAiIgIiIPnz4SR/r9Qeyhef/eqEc456q+PhIE/hHSAdBbyT/plUJIcFentJxRzavVw93AycFbG26fvN1but1trJ2fptjOPp6K5+zXs7tos9DcbnQPrLrUnfDTyn1WjwJHTHjkq4KfS1Q+Foqbi+mGOIqJjWNZ7MkEn6lyau8m0zGnDWmlEc7Pj6t0tfLfC59daa2No5392SB78LVNkaWmOY4A+S7HT2FfZ9bp+6UETpbbWfGDWjLqaraMv9zxjn3hVNrnRFt1Lb6i7WOm9EutO49/SluMkdQR5+1Upu7Vn04WtpRMclAEsBPRcB0fs+hZdfTdzISWbQT08j4hYwa39EL1aTxRmHHaMS6l0fsTdH7F22t8guNrcdAr8MquO7ywPbwM8EL0dI18fr+rIPH9JdYn90/gbmO4LfNX1oDQNuitNFNU0Ar7tVgSsjmHEY8M+Q8yuTca8aP2ttPT41LW6w3i5t3UFsqpmHo9sZwfn6L0r9OXq3sL621VcUY6uMZIHzhfXcOhp5oWisvFRAccR0LGxtb7MkEn6lg3LSN6tjDPa7h8awtHr0lawB7h+xePH2ELj8ZreUN+4o+PNr2ZkiPHQ/7144efFuVe+tdGUV9t8150/T+j18ORUUZGNxHUEeftVIVkPcvBb8l3Iz4exdm2141uXSWOppzR4vaGsa4uByOg8/Jee4Z8foXdu3Occrs48Lq4JZZZJu1UbW23mV/ojX94I/Dd5rmz3irtFV6RQyvjkxtJA4I8j5rD3rkOVO4hMXSGq1fdq+rpnmpMBhOYmxt2tafPAXvVa6v5LdtS2EtPPdNDdx8zjqVFi45BHBByFY/ZzpqkuMEt1usY7hpw1h+S4+a5detNGMzDXTzacI5Y7rqWSLuLUaqRned6AxuQHeefBbi9s1tW0TWVdBUNgad5EUYGT5nHUq27BpW8XqFrrLBBbreOGzyjbv/agDJW3m7N9UUw72i1DBLIP8FIxzWu9meV5/e2nnEOngjzfPMurb+2pidLMY6iFvdkOZhzx5O8/nXjdtUXK6CnM0oZBA7cIoWhga7zwFcmodNsvUclu1FQto7vGMxzMGM+0HxCoy92ios1ZLBKNs8LsO8njwK6NC9dTlMc2d6zHNIhr27SMdF37NpA3yNjAc7HTJWng1BXOv7bl6RJ6c7Jkf58dFoXZ2boSQPzm+S9qcNZUtcH7uCXE+5dXdV8mPEkN/1Xcrvb2QTvZ3Qkz3bGBoJHuUcfODEBkA+IKyGf2KIj9J38qwztLvWAJWmnSIjkraXTd7R9K7tfIzDmZHkQVwWt8gt5pG1G83eCjeHCEHc9zfBqnUxSM2KxMziGnjfU1cgjjbLM89GjLitrHpm+yM3stlRt+hX1o/RLrhJI2w08FFSMOySse3JJ8mjxP1Kcs7LaUMy693Pvv0mlgbn3bf5V5s7m8+rHJ0xpRHWXx3X0dbQvDaymmhP7NpCxw443fKb4jyX1XqjRstBTll3bFcrY71TP3e10ef0h/KF8/9oGlHaarxJSl0lBMfUJ8PYVfS3XFbhvGFbaeIzCMCPEhaQC3jnyygjO8NPyC4NPsXg9wc4k94PYvaJu2SNwf6vDsFd2IYZekTe7bO3OcYGVJrRrCrtNIykZDTzRxPMkJlbkxuPiFGZHgPk64f5LyMoe4cYOFHBW3rGcJJdtW3K6XSluFXIHTU+NnGBwc9FrLhWVt+uks/dyVFTK7JaxpP0L20zY57/dGUcB2sA3Sv/Rar+0Pod9REaeyxx0dHGdsla9u573eOPP7Fza+vXStw6cZlrTTm0ZlUOnaTVFnp6hkVmM1NUAF8UzQQcdDjK97jrfUdLWU762F1K+DOxrosAg8Y9q+jfxXUZbuN5unffpB7Q36MfyrQ6j0XPSQd1dBFcbcTgSmPDmn9kP5QuWda2eK1WvdxjES+YamsdVyTzPb+UlfvIC5pR/VTfI8hSPtB02bBdWmiaRSz5Lc/mHxblRqhJ9Ij9nC9LQvW9c1c16zE4l9OfBi/uQr/APKj9iuRU18GH+5K4f5V/IrlXn39aXRXoIiKiwiIgIiICEBwwQCPaiICIiAuC0EgkAkdDhcogIiIOGta3O0AZ8guURAQjIweiIg42jbjAx5LkAAYAwERAREQEREBERAREQEREBERAREQEREBERB88/CQ/ujpsf4v/wD9Cqh0TbG3fV9so5BujfMC4eYHJ+xWj8J6Ut1VbmtOP6i59vruVb9m1Yyg1ta6iU7Wd6Gk+QPH8q7KzMaEsp53fW+kYGumrakgZY4U8Y/RaGg8e8n6gpIolpKsbT3K4UMx2uke2aMn87LQP/xUtXBp+rDe3UUEv0LKDXdHJGA1lwiLJWjoXDjP2fQp2SAMngKtamvZf9ewupiHUdA0+uOhI6n3ZwPmS/REKD7W7ZFbtT3KGJuGue2ZoA6buqr7Cm/bPdG3DW9cYHZZHiLIPXCgGT5r1Npea6cRLl1a5tye/ih6rw3HzKZPmV1d7DPgSLQ9sF31dbKOT+xvmBdnyHK+xNEU7HCrqyBvL+6b+xaB0XyD2a1rLfrS11ExAjEoa4nwB4X1Roe8R0t9rbPVODHTETQE9Hccge3xXkbq3FrZl16UYon6IuHuaxpc8hrQMkk8ALNZW97p2W/tEZHCA2K505dI0dN4zz9S+be0u2R2/UtzghbiMSiVg8g8ZI+lfQT7qzUHaI6rpjuoqCJzGvHR3BH1kr517Vbo24a0uUkD8xNcIgR47Rj7VO2nGtmEasZphE8LsQcLwyfNMnHVe130OPgeuEAXhl3muQSfEp3xwMmJu94b5nC+jtJWSKdljtLRtp5Nplx4gDJ+lfNsD9szCegIK+ltKXmGmlsdy3ZgaGiQ+QIwT8y8vfW4pr5OrQjESviKNkMTI4mhrGANa0DAAXZcRvbIxr2ODmOGQR0IXKwXRftCt0dVZHVgAFTRkSMcOuM8j3Y+xfPPbLb499DWhoBlBY4+fGV9DdoVxjpLC+l3D0isIijb44yNx+j7V86dutwY2G3UEbvyjBvdjw4wq1/1IwmfV5qkj3CTLOoHI8wvV0TmkiEDEjMkH3rA3EnqVm1ziGU+049THC9bLke0Jd3MO45O45WKRyvSRzhQQ89CcLDJJPUq1b8KJjLIA5AVsdllAI7Lcq5oBkLu7a72AKn8nPUq4eyKsbNpy4UO78o0lwHsIXLvr8Wm10IxZ9T2CgitlnpKSAAMjjA48T4n5ys9R/RF8ivtihla8ekxARzszy1w/kPVSBcUdOTaXnUwR1VPJBO0PikaWuafEFfO+urY2q0ncKeT1n0b3sa4+bD1+pX3qC7U9ktU1bVOADB6rc8vd4NCoDV9xNJoqtmqHDvanc4+1zlS/WMLV6SoScYlyPEZXm2MPeATgLHe4k9SuuT5lezW/KMuKYZL4yHFoecBe0EG4ODzkbdw81gAnzKzreTukOeQwqJsYW92QW9kGla24YHfSvLQfYMAfWV9QWWijt9qpaWFoDY4wOPE45P0r5k7HqxtTpKvoGEd9E5xAPkcEfWCvo3R95hvVkp543DvWNDJWeLXDqvI/wDO2ersj1YbteVXAyqppYJWhzJGlpBXqsG9XGK2W+WolcAQMMHi53gFdCiu061Nn0pWFwzJTgyMd5FrsfYqGpwBWDbwM5V9dpVzbT6OrDIRvlYWAeZcfuXzo1zt+Q4rfYziLMtx1h9U/Bi/uPr/APKj9iuRU18F8f8AA2uP/aT9iuVZ6nrSvXpAiIqLCIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiIPmT4Trs6zoR5UTf47lTkchjka5pwQcgq3vhNuzrmmHlRM/jPVNk8rv0ozp4c9uVn0VoLVlNqi201PUTtp71TM2Nc44EzfvU5F9vlC3u3s73HAL2bvrC+QIKiSCQPieWPByCDjCmdq7TtSW6IRx1zpGDgCUbsfSuS+2vE+g3rqRMc163Oq1RqHNMCYKZ3Dto2NI9p6qOaw1PbdC6fmt1tmZPeZxh7mnOz7vcqsvHafqS4wGKSvdGxwwRENufoUHqaiSoe58r3PceSXHJKim2tM+mW1I9jpVzvqKh8sji57yXEnxK8R0XKLviIiMQ555uFwuUUj0ieY5A5pwQcghXnpXUFJrC1U1JUztpb5SgCOUu295joQfNUR0K9YJnwvD43Oa4dCDghYa2hGpHvaUvwvpsas1vZY+4kiZWNbwHyRbjj3ghausumuNWn0erJpKJ3y2sb3TSPb4n3KpbZ2iait8Qjjr3vYOAJPW+1dLr2h6huMJjluEjYyMER+r9i4/D6vRr3lVl6t1PQaL0/JarRM2a6TNxJI052HzP8gVBzPdJIXOOSTkkrvNK+V5c9xc49STnK8j1XXoaEaUe9le/E4TwRc4XQzcIEwiDkdVYnZ7qiKni+LLi78g4+o4/mlV14ru1xaeFlq6cakYlatuGcvqOw6ru1gp2x0xjr7ePkRvdy0eQd5exbWftPusrNlLZWRyHo+SQkD5sL5htmprlbgGwVL9g/NJyFsqnX14mj2GYN9rRhcXh9WOUN+8rK3b9qX0TvLpf6sTVmPUjB+T7APAKhtS3ie93SasqCS554HkPALErq6orZTJUSvkcfFxWKQt9Hb8E8U9Wd78XKHDeCD5L0ll3jAbhuchdPFD0XWxe8lQ11OIgzpjB8ljBc8c5XVQOT1W+0lfJbFdI6hmTGfVkb5haH2ruq3rFoxK0TiX0HaLo9723PTVcYpnD1msPX2EeK3ru0XWDG902Cjcem8wnP2r5qobhU0Lw+lmfG79icLet11e2R7RVE+3HK8+22vX1W8atZ6rirq24XB/xhqiv/ACcfIa4hrW+4KqO0TVfx5UspqQkUUPDR+kfNRu53uvuZzWVMsg8i7ha3qVro7fE8Vlb6uYxAeq4QrkLsYC9ope7aQBkk5XkAuVKUi0VqOXT14bUsG6F3qysH5zVdtpu7pHi66Yrtj38vjafqLV84BZlDcKqgkElLNJE7zY7C5dbb8U8VerWmpjlL6gb2h6oH5N0FNnpv7k5+1YlwvVRK306/1YDGjPrnAHuCoiLXt+YzYK1x4xkgErS3K8V1zk3VtTLKfJzuFzxt9S3KWk6tY6JP2hasOoK0RU5IooSdg/SPmolH1Xi0cr3j6rv0tONOvDDlvabTmX1T8GIY0XWHzqT9iuJU78GP+4usH/aT9iuJcep60uinqwIiKiwiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiD5d+Etxr2HcDj0Jn8Zyp+Qs/Nb9K+j/hO2Az2633qGPLoSYJXAfmnlufnz9K+bnDld+3nNHPqes6rgrkhcFbKuDyupC7FcFQZeaFcnqh6IOuPND1XKFEupQLnCIhwUK7LgqEupXBXYrgoOq4XbHCY4QdUC5wiIcIVz4rhEuEIXZFA64XOE8UQcOC4K7HlcIOhCYXbGUwiHGFzhc4REuFxhcog4wuF2QqEOuEXOEwg4XYBMLsMbcY5z1Qy64XYBAM+9cgcoZc4THHRFypBoXtGOQvNoysimidJIxjQXOccADxKlD6p+DOzboaodj5VS77ArdUM7IrC7T2hqClmaWzyDvpAfAuUzXnWnMzLqrGIERFVIiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiDDvNspbxbaigr4hLTTNLXNK+U+0XsovWm6uaehp5K61kksliG4sHk4dR7+i+uEV6ak0nkrasW6vz+fE9hw5hB8iF5lh8ivvSpsVoqnl9Va6CZ5/Okp2OP0kLx/Biw/wCJLZ/qrPuXR4r3Kd0+ENjj4FcFjvIr7xGmrEOlltg/9Kz7lwdMWE9bLbP9VZ9yeJ9x3T4O2HyKbD5FfeP4MWH/ABJbP9Vj+5PwYsOc/Elsz/ksf3KPE+47p8G7D5FcbHeRX3r+Ddj/AMTW3/VWfcuDpmxE82W2f6qz7k8T7junwX3Zx8kpsd5Ffev4OWT/ABPbf9VZ9y4OmrETk2W2E/5Kz7k8T7junwVsPkmx3kV96jTNiHSy2z/VWfcuDpmwk82S2f6rH9yeJ9x3b4K2Ox0KGM+RX3t+DVixj4ltmP8AJWfcg01Ygciy2wH/ACVn3J4n3HdvgnuXno130Lt3EgB9R30L77ZZbWwYZbaJo9kDB/Iu5tVvIwaCkI9sLfuTxPuO6fn+YZOux2PcuBE/9B30L9ATareW7TQUm3y7luPsXDbRbW/Jt9GPdC37lHifcd0+ABTTHJETz/4Shgk/5t/0L9BmUtOzOyCJueuGAZXQ0FGetJTn/wAsfcnifcd2/PvuZP0HfQncSYJ7t30L9Axb6IDAo6cD2RN+5dm0FI0ENpacA9QIxz9SeJ9x3b8+O6f+g76E7p36LvoX6AGzWwkk22iJPUmBv3I2zWtvybbRD3QN+5PEe5PdvgAwv/Rd9C47p/6DvoX6A/E9sz/a6j/cG/cuPia1/wCLaL9wb9yeI9yO7fn+Yn/oO+hdDE/d8l30L9AjZLUcZtlCcdM07PuQ2O0k5Nroc+fo7PuTxHuO6fAAif8AoH6FyIXn8x30L7+FktIORbKHP+Ts+5cGx2k9bXQH307PuTxHuO6fAHcyfoO+hDE8fmn6F+gLbNa24222iGPKBv3Lq+x2l5y+10Lj7adh/kTxHuO7fn+Ynj80/Que6eOrT9C/QA2O0kc2uh/1dn3Lh9itD27X2qgcPI07PuTxHuO7fn/3bv0T9CCJ36J+hffn4OWT/E9u/wBWZ9yfg5ZMY+J7djy9GZ9yeI9x3T4D7s+IXbu3DwK+9pNK6fkPr2S2O99Kz7l2bpiwtGG2W2gf5Kz7k8R7junwQIX9dpx7lyI3Y+SV98DTlkAwLRbgPL0Zn3Lk6dspGDaLeR/kzPuTxHuO6fBAif1DT9C5EDz0afoX3y2w2how21UAHkKdn3Ls2zWtnybbRD3QN+5PEe47r3vg+jtlZVzNipaWaaRxwGxsLifoX0P2M9kTqCSO86ppwJxh0FI7nb+yePP2K8oaWnhOYYIoz+wYAvZZ31ptGFq6cRzAMDA6IiLJcREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf//Z"},989:(x,e,f)=>{x.exports=f.p+"images/PocketCard_pin_cfddd546.png"},998:(x,e,f)=>{x.exports=f.p+"images/ProMini_bb71f95d.png"},537:(x,e,f)=>{x.exports=f.p+"images/STM32F103C8T6_aac49c53.png"},517:(x,e,f)=>{x.exports=f.p+"images/core_esp32c3_pin_ae75bf97.png"},911:(x,e,f)=>{x.exports=f.p+"images/handbit_A_ad66cec6.jpg"},233:(x,e,f)=>{x.exports=f.p+"images/handbit_B_91dfbc19.jpg"},429:(x,e,f)=>{x.exports=f.p+"images/handbit_pin_A_be8ebedd.jpg"},713:(x,e,f)=>{x.exports=f.p+"images/handbit_pin_B_88ea3f7a.jpg"},59:(x,e,f)=>{x.exports=f.p+"images/leonardo_68c8b773.png"},408:(x,e,f)=>{x.exports=f.p+"images/mega_bb27e7ea.png"},573:(x,e,f)=>{x.exports=f.p+"images/nano_31da349a.png"},773:(x,e,f)=>{x.exports=f.p+"images/nodemcu_32s_pin_415e75d0.png"},260:(x,e,f)=>{x.exports=f.p+"images/uno_bf94dd41.png"},583:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAMAAACxiD++AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAX1QTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxHl7wAAAH50Uk5TAAMRDg2g9OVmm/5C7ZHBadria32iW4rmYZChAevjqqzx9a288O722yNU/XaVZXdMzecCQCUSELJd+kpBr0/T3l4WbNcyyg8ERGI1H+D5IcajQ4B0FPeL1YjSnOkolsCDwzoJ7/zsGvikl0mm+2+dMyeYlNTqO2oLmUWCCiIM0L6s7AAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAF+SURBVCjPjdP5OwJBGAfwt5AtIglRrVSEKFbpcJSjkPvOfRTCuq9c799uGvt0bNPD95fdmfk8M+/OzgD8HYWSmQppuLJKhexUcxSosWw0NVlQWx6gNgvIs46r12GDnuO4Rk0RMEigCaAZ1XTBFiYwArRiW7ZhMjOBhW+3YoeN53k7MkHZ5IGjU56uQuDsLt1eU09vHrhKhnv6XNDvdnskoC8BAzgoAAx5mcAHMGxB9Ae4oCrEACPBUXc1+Q+0+DEGGCcd4YgPJibNOMVaYtqK0djM7Fwc5hd646waootLvmXSuyKsYnhtvQRsBP2gpQUEwIm4KQOVW9uYgB0KdsGPuCcD+6R5AIcUHMGx9WRGBk7NSdQJnhTpPTufuEizirwk7Su789oLBnrm6FyFianEGyFbzi1iykiBI3KXiwLuRbJTD4m0A8Mp8iWQLD4jw/CIGH0ib88heHklMxnk4C3zCPCOmJGWVNrEYvB7HVXiR66qz6+CCFLnt+Ift5rmByYI3KFNc08pAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTE3VDAwOjU3OjEwKzA4OjAw/IyOtAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0xN1QwMDo1NzoxMCswODowMI3RNggAAABWdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uXzg5dXZ1cnJsZHplL3BlaXpoaS14aXRvbmdwZWl6aGkuc3Zn5h+NFgAAAABJRU5ErkJggg=="}},e={};function f(t){var i=e[t];if(void 0!==i)return i.exports;var n=e[t]={exports:{}};return x[t](n,n.exports,f),n.exports}f.n=x=>{var e=x&&x.__esModule?()=>x.default:()=>x;return f.d(e,{a:e}),e},f.d=(x,e)=>{for(var t in e)f.o(e,t)&&!f.o(x,t)&&Object.defineProperty(x,t,{enumerable:!0,get:e[t]})},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(x){if("object"==typeof window)return window}}(),f.o=(x,e)=>Object.prototype.hasOwnProperty.call(x,e),f.r=x=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})},(()=>{var x;f.g.importScripts&&(x=f.g.location+"");var e=f.g.document;if(!x&&e&&(e.currentScript&&(x=e.currentScript.src),!x)){var t=e.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&!x;)x=t[i--].src}if(!x)throw new Error("Automatic publicPath is not supported in this browser");x=x.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),f.p=x})(),(()=>{var x={};f.r(x),f.d(x,{china_city:()=>Rx,http_get:()=>Tx,http_post:()=>gx,weather_get_seniverse_weather_info:()=>Px,weather_get_seniverse_weather_info1:()=>Lx,weather_get_seniverse_weather_info2:()=>bx,weather_get_seniverse_weather_info3:()=>yx,weather_private_key:()=>Nx,weather_seniverse_city_weather:()=>Dx});var e={};f.r(e),f.d(e,{text_base64_url_codec:()=>vx});var t={};f.r(t),f.d(t,{china_city:()=>kx,http_get:()=>wx,http_post:()=>Vx,weather_get_seniverse_weather_info:()=>Bx,weather_get_seniverse_weather_info1:()=>Ux,weather_get_seniverse_weather_info2:()=>Hx,weather_get_seniverse_weather_info3:()=>Wx,weather_private_key:()=>Xx,weather_seniverse_city_weather:()=>Gx});var i={};f.r(i),f.d(i,{text_base64_url_codec:()=>jx});var n={};f.r(n),f.d(n,{AFMotorRun:()=>We,AFMotorStop:()=>je,GD5800_MP3_CONTROL:()=>we,GD5800_MP3_EQ_MODE:()=>Xe,GD5800_MP3_LOOP_MODE:()=>Ye,GD5800_MP3_PLAY_NUM:()=>Be,GD5800_MP3_Set_Device:()=>ve,GD5800_MP3_VOL:()=>Ge,I2Cmotor:()=>of,M9101X_S_MP3_CONTROL:()=>rf,M9101X_S_MP3_PLAY_NUM:()=>hf,M9101X_S_MP3_VOL_CONTROL:()=>_f,Mixly_motor:()=>Pe,Motor_8833:()=>Le,RGB_color_HSV:()=>Ne,RGB_color_rgb:()=>Ae,RGB_color_seclet:()=>Ie,arduino_dfplayer_available:()=>pf,arduino_dfplayer_loopFolder:()=>sf,arduino_dfplayer_mini_EQ:()=>Qe,arduino_dfplayer_mini_EQ_type:()=>$e,arduino_dfplayer_mini_begin:()=>Ke,arduino_dfplayer_mini_outputDevice:()=>xf,arduino_dfplayer_mini_outputDevice_type:()=>ef,arduino_dfplayer_mini_pin:()=>qe,arduino_dfplayer_mini_setTimeOut:()=>ze,arduino_dfplayer_mini_volume:()=>Ze,arduino_dfplayer_mini_volume_up_down:()=>Je,arduino_dfplayer_playFolder:()=>nf,arduino_dfplayer_play_loop:()=>tf,arduino_dfplayer_readFileCounts:()=>lf,arduino_dfplayer_readFileCountsInFolder:()=>cf,arduino_dfplayer_read_now:()=>af,arduino_dfplayer_set_1:()=>ff,controls_notone:()=>oe,controls_notone_noTimer:()=>re,controls_tone:()=>de,controls_tone_noTimer:()=>ue,display_rgb:()=>me,display_rgb_Brightness:()=>ge,display_rgb_init:()=>Te,display_rgb_rainbow1:()=>Oe,display_rgb_rainbow2:()=>Se,display_rgb_rainbow3:()=>Re,display_rgb_show:()=>Me,group_stepper_move:()=>Fe,group_stepper_setup:()=>_e,group_stepper_setup2:()=>he,servo_move:()=>te,servo_move1:()=>se,servo_read_degrees:()=>ne,servo_read_degrees1:()=>le,servo_writeMicroseconds:()=>ie,servo_writeMicroseconds1:()=>ae,tone_notes:()=>pe,voice_module:()=>He});var s={};f.r(s),f.d(s,{Blynk_connect_state:()=>Of,Blynk_iot_BLYNK_syncAll:()=>Nf,Blynk_iot_CONNECT_STATE:()=>Rf,Blynk_iot_timer:()=>Cf,LM35ESP:()=>tt,arduino_blynk_bluetooth:()=>dt,blynk_AP_config:()=>it,blynk_AP_config_2:()=>nt,blynk_WidgetRTC_get_time:()=>Zf,blynk_WidgetRTC_init:()=>qf,blynk_acc:()=>et,blynk_bridge_AnaloglWrite:()=>jf,blynk_bridge_VPin:()=>Kf,blynk_bridge_auth:()=>Hf,blynk_bridge_digitalWrite:()=>Wf,blynk_email:()=>Xf,blynk_esp32_Bluetooth:()=>pt,blynk_esp32_ble:()=>ct,blynk_gravity:()=>xt,blynk_iot_WidgetLED_COLOR:()=>Pf,blynk_iot_WidgetLED_VALUE:()=>Lf,blynk_iot_get_data:()=>Mf,blynk_iot_ir_recv_raw:()=>Yf,blynk_iot_ir_send:()=>kf,blynk_iot_ir_send_ac:()=>Vf,blynk_iot_playmusic:()=>Jf,blynk_iot_push_data:()=>mf,blynk_iot_syncVirtual:()=>Df,blynk_iot_terminal_get:()=>Qf,blynk_lcd:()=>at,blynk_lcd_clear:()=>lt,blynk_light:()=>$f,blynk_notify:()=>Gf,blynk_server:()=>Ef,blynk_smartconfig:()=>Af,blynk_table:()=>ot,blynk_table_add_data:()=>mt,blynk_table_cleardata:()=>Ft,blynk_table_click:()=>Tt,blynk_table_highlight:()=>rt,blynk_table_order:()=>gt,blynk_table_select:()=>_t,blynk_table_unselect:()=>ht,blynk_table_update:()=>ut,blynk_terminal:()=>Bf,blynk_terminal_clear:()=>st,blynk_time_input_1:()=>ft,blynk_usb_server:()=>If,blynk_videourl:()=>Uf,esp_camera:()=>It,esp_camera_blynk:()=>At,take_a_photo1:()=>Et});var a={};f.r(a),f.d(a,{MFRC522_IsNewCard:()=>ei,MFRC522_ReadCard:()=>ii,MFRC522_ReadCardUID:()=>fi,MFRC522_WriteCard:()=>ti,MFRC522_init:()=>xi,RFID_in:()=>Zt,RFID_init:()=>Kt,RFID_off:()=>$t,RFID_on:()=>qt,RFID_readcarddata:()=>Qt,RFID_readcardnum:()=>zt,RFID_writecarddata:()=>Jt,i2c_available:()=>wt,i2c_begin_end_transmission:()=>Lt,i2c_howmany:()=>vt,i2c_master_Init:()=>Dt,i2c_master_reader:()=>Bt,i2c_master_reader2:()=>Ut,i2c_master_readerReg:()=>kt,i2c_master_writer:()=>Gt,i2c_master_writerReg:()=>Yt,i2c_read:()=>Vt,i2c_slave_Init:()=>Pt,i2c_slave_onreceive:()=>Ht,i2c_slave_onrequest:()=>Xt,i2c_slave_write:()=>Wt,i2c_slave_write_array:()=>yt,i2c_write:()=>bt,ir_recv:()=>Ct,ir_recv_enable:()=>St,ir_recv_raw:()=>Rt,ir_send_nec:()=>Ot,ir_send_raw:()=>Nt,spi_begin_master:()=>si,spi_begin_slave:()=>ni,spi_slave_interrupt:()=>pi,spi_slave_receive:()=>di,spi_transfer:()=>jt,spi_transfer_1:()=>li,spi_transfer_2:()=>ci,spi_transfer_Init:()=>ai});var l={};f.r(l),f.d(l,{base_delay:()=>yi,base_setup:()=>ui,controls_case:()=>Ci,controls_default:()=>Oi,controls_delay:()=>ri,controls_end_program:()=>Di,controls_flow_statements:()=>Fi,controls_for:()=>_i,controls_if:()=>Ai,controls_if_else:()=>gi,controls_if_elseif:()=>Ti,controls_if_if:()=>Ei,controls_interrupts:()=>Li,controls_millis:()=>Ii,controls_mstimer2:()=>Si,controls_mstimer2_start:()=>Ri,controls_mstimer2_stop:()=>Ni,controls_nointerrupts:()=>bi,controls_soft_reset:()=>Pi,controls_switch:()=>Mi,controls_switch_case:()=>mi,controls_whileUntil:()=>hi,do_while:()=>wi,execute_super_delay_function1:()=>Yi,simple_timer:()=>vi,super_delay_function1:()=>Vi});var c={};f.r(c),f.d(c,{HT16K33_Init:()=>nn,MAX7219_init:()=>sn,Matrix_img:()=>Tn,TFT_Brightness:()=>hs,TFT_Rotation:()=>Ts,TFT_color_rgb:()=>Is,TFT_color_seclet:()=>Fs,TFT_fillScreen:()=>Es,TFT_init:()=>As,TFT_init_with_pin:()=>rs,TFT_st7735_show_hz:()=>_s,display_4digitdisplay_displayString:()=>Ji,display_4digitdisplay_power:()=>Zi,display_4digitdisplay_showDot:()=>Qi,display_HT16K33_Rotation:()=>on,display_Matrix_Brightness:()=>In,display_Matrix_DisplayChar:()=>_n,display_Matrix_DrawPixel:()=>ln,display_Matrix_LedArray:()=>hn,display_Matrix_TEXT:()=>un,display_Matrix_fillScreen:()=>En,display_Matrix_print:()=>rn,display_Matrix_write:()=>gn,display_Max7219_Rotation:()=>pn,display_Max7219_setPosition:()=>dn,display_TM1637_Brightness:()=>fn,display_TM1637_Brightness_32:()=>Gs,display_TM1637_clearDisplay:()=>tn,display_TM1637_clearDisplay_32:()=>Bs,display_TM1637_displayTime:()=>en,display_TM1637_displayTime_32:()=>Xs,display_TM1637_displyPrint:()=>xn,display_TM1637_displyPrint_32:()=>ks,display_TM1637_init:()=>$i,display_TM1637_init_32:()=>Ys,display_lcd_bitmap:()=>us,display_matrix_bitmap:()=>Fn,get_utf8_width:()=>ps,group_lcd_init:()=>Vs,group_lcd_init2:()=>Wi,group_lcd_init3:()=>ji,group_lcd_power:()=>zi,group_lcd_print:()=>Ki,group_lcd_print2:()=>qi,lcd_display_pattern:()=>ds,lcd_pattern:()=>os,oled_clear:()=>Hn,oled_define_bitmap_data:()=>Wn,oled_drawCircle:()=>fs,oled_drawEllipse:()=>ts,oled_drawFrame:()=>xs,oled_drawLine:()=>Zn,oled_drawPixel:()=>zn,oled_drawRFrame:()=>es,oled_drawStr:()=>is,oled_drawTriangle:()=>$n,oled_draw_Str_Line:()=>Jn,oled_face:()=>Kn,oled_icons:()=>jn,oled_init:()=>Xn,oled_page:()=>Qn,oled_print:()=>ls,oled_set_CN_Font:()=>ss,oled_set_EN_Font:()=>ns,oled_set_ZH_TW_Font:()=>as,oled_showBitmap:()=>qn,tft_Circle:()=>Ps,tft_Rect:()=>Ns,tft_RoundRect:()=>Ds,tft_Triangle:()=>Rs,tft_define_bitmap_data:()=>gs,tft_drawFastLine:()=>Ss,tft_drawLine:()=>Os,tft_drawPixel:()=>Cs,tft_generate_bitmap_data:()=>ms,tft_icons:()=>ys,tft_print:()=>vs,tft_print_refresh:()=>ws,tft_set_CN_Font:()=>bs,tft_set_EN_Font:()=>Ls,tft_showBitmap:()=>Ms,u8g2_LCD12864_8080_init:()=>Un,u8g2_LCD12864_spi_init:()=>Bn,u8g2_setContrast:()=>cs,u8g2_spi_init:()=>Gn});var p={};f.r(p),f.d(p,{MQTT_add_subscribe_topic:()=>oa,MQTT_connect:()=>la,MQTT_publish:()=>pa,MQTT_server:()=>ta,MQTT_subscribe:()=>ua,MQTT_subscribe_value:()=>da,NTP_server:()=>xa,NTP_server_get_time:()=>fa,WIFI_ap_and_sta:()=>Ia,WIFI_ap_or_sta:()=>Fa,WIFI_incomingPacket:()=>Aa,WIFI_info:()=>ia,WIFI_send_data:()=>Ea,WIFI_smartConfig:()=>ha,WeatherGet:()=>Ta,WeatherGetForecast:()=>ma,WeatherGetToday:()=>ga,asyncelegantota:()=>Ra,ethernet_client_available:()=>zs,ethernet_client_connect_server:()=>js,ethernet_client_connected:()=>qs,ethernet_client_get_request:()=>$s,ethernet_client_print:()=>Zs,ethernet_client_println:()=>Js,ethernet_client_read:()=>Qs,ethernet_client_stop:()=>Ks,ethernet_init_begin:()=>Us,ethernet_init_local_ip:()=>Ws,ethernet_mac_address:()=>Hs,http_get:()=>_a,mixio_mqtt_publish:()=>Oa,mixio_mqtt_received_the_news:()=>Sa,mixio_mqtt_subscribe:()=>Ma,mixio_mqtt_subscribe_key:()=>Ca,mqtt_topics_set:()=>ra,network_connect:()=>na,network_get_connect:()=>aa,network_wifi_connect:()=>sa});var d={};f.r(d),f.d(d,{factory_block:()=>Ba,factory_block_return:()=>Ua,factory_block_return_with_textarea:()=>Wa,factory_block_with_textarea:()=>Ha,factory_callMethod_noreturn:()=>Xa,factory_callMethod_return:()=>Ga,factory_create_with_container:()=>La,factory_create_with_item:()=>ba,factory_declare:()=>va,factory_declare2:()=>wa,factory_define:()=>Va,factory_function_noreturn:()=>Pa,factory_function_return:()=>ya,factory_include:()=>Da,factory_static_method_noreturn:()=>Ya,factory_static_method_return:()=>ka});var o={};f.r(o),f.d(o,{ADS1015_Get_Value:()=>rl,ADS1015_setGain:()=>ul,ESP32touchButton:()=>cl,OneButton_interrupt:()=>el,PCF8591T:()=>_l,controls_attachInterrupt:()=>fl,controls_attachPinInterrupt:()=>il,controls_detachInterrupt:()=>tl,controls_detachPinInterrupt:()=>nl,inout_analog_read:()=>$a,inout_analog_write:()=>Qa,inout_buildin_led:()=>xl,inout_cancel_soft_analog_write:()=>dl,inout_digital_read:()=>Za,inout_digital_read2:()=>Ja,inout_digital_write2:()=>za,inout_highlow:()=>Ka,inout_pinMode:()=>qa,inout_pulseIn:()=>sl,inout_pulseIn2:()=>al,inout_shiftout:()=>ll,inout_soft_analog_write:()=>pl});var u={};f.r(u),f.d(u,{array2_assignment:()=>Dl,create_array2_with_text:()=>Nl,get_array2_value:()=>Pl,lists2GetValueByIndex:()=>bl,lists2SetValueByIndex:()=>Ll,listsGetValueByIndex:()=>Ol,listsSetValueByIndex:()=>Sl,lists_array2_get_length:()=>Vl,lists_array2_setup:()=>yl,lists_array2_setup_get_data:()=>vl,lists_create_with:()=>Il,lists_create_with2:()=>El,lists_create_with_container:()=>gl,lists_create_with_item:()=>ml,lists_create_with_text:()=>Al,lists_create_with_text2:()=>Tl,lists_getIndex:()=>Ml,lists_length:()=>Rl,lists_setIndex:()=>Cl,loop_array:()=>wl});var r={};f.r(r),f.d(r,{logic_boolean:()=>Bl,logic_compare:()=>kl,logic_negate:()=>Gl,logic_null:()=>Ul,logic_operation:()=>Xl,logic_true_or_false:()=>Hl});var _={};f.r(_),f.d(_,{arduino_variate_type:()=>Jl,base_map:()=>tc,math_SizeOf:()=>Ql,math_arithmetic:()=>Kl,math_auto_add_or_minus:()=>nc,math_bit:()=>ql,math_constrain:()=>fc,math_max_min:()=>$l,math_number:()=>jl,math_random_int:()=>ec,math_random_seed:()=>xc,math_to_int:()=>Zl,math_trig:()=>zl,variables_operation:()=>ic});var h={};f.r(h),f.d(h,{pins_MISO:()=>oc,pins_MOSI:()=>dc,pins_SCK:()=>uc,pins_SCL:()=>rc,pins_SDA:()=>_c,pins_analog:()=>lc,pins_digital:()=>ac,pins_interrupt:()=>pc,pins_pwm:()=>cc});var F={};f.r(F),f.d(F,{procedures_callnoreturn:()=>Tc,procedures_callreturn:()=>gc,procedures_defnoreturn:()=>Fc,procedures_defreturn:()=>Ic,procedures_ifreturn:()=>mc,procedures_mutatorarg:()=>Ec,procedures_mutatorcontainer:()=>Ac,procedures_return:()=>Mc});var I={};f.r(I),f.d(I,{ADXL345:()=>Jc,ADXL345_setOffset:()=>xp,AHT20_21:()=>bp,Arduino_keypad_4_4_start:()=>Mp,BME280_READ:()=>rp,DHT:()=>Lc,DS1302_init:()=>Yc,DS1307_init:()=>Xc,LIS3DHTR:()=>$c,LM35:()=>bc,MPU6050:()=>ep,MPU6050_update:()=>fp,NTC_TEMP:()=>Lp,PS2_Button:()=>Ip,PS2_init:()=>_p,PS2_stk:()=>Ap,PS2_update:()=>hp,RTC_date:()=>Hc,RTC_get_time:()=>Bc,RTC_set_date:()=>Kc,RTC_set_time:()=>Wc,RTC_time:()=>Uc,SHT20:()=>zc,TCS34725_Get_RGB:()=>Tp,arduino_keypad_event:()=>Np,chaoshengbo2:()=>Pc,ds18b20:()=>yc,encoder_init:()=>ip,encoder_init1:()=>ap,encoder_read:()=>sp,encoder_read1:()=>cp,encoder_write:()=>np,encoder_write1:()=>lp,get_keypad_num:()=>Rp,get_system_date_time:()=>jc,gps_data_available:()=>Sc,gps_data_encode:()=>Rc,gps_getData_xxx:()=>Dc,gps_init:()=>Oc,gps_xxx_isValid:()=>Nc,keypad_col_data:()=>Op,keypad_row_data:()=>Cp,keypad_type_data:()=>Sp,mixgo_MPU9250:()=>Pp,mlx90614_get_data:()=>wc,mlx90614_init:()=>vc,sensor_encoder_get:()=>dp,sensor_encoder_handle:()=>up,sensor_encoder_init:()=>pp,sensor_encoder_set:()=>op,tcs230_Get_RGB:()=>mp,tcs230_init:()=>gp,weightSensor:()=>Vc});var A={};f.r(A),f.d(A,{serial_available:()=>Gp,serial_begin:()=>vp,serial_event:()=>Kp,serial_flush:()=>Wp,serial_parseInt_Float:()=>Hp,serial_print:()=>Vp,serial_print_hex:()=>Xp,serial_print_num:()=>kp,serial_println:()=>Yp,serial_readstr:()=>Bp,serial_readstr_until:()=>Up,serial_softserial:()=>jp,serial_write:()=>wp});var E={};f.r(E),f.d(E,{sd_DelFile:()=>ed,sd_card_root_files:()=>Jp,sd_card_type:()=>Zp,sd_exist:()=>xd,sd_read:()=>fd,sd_volume:()=>$p,simple_spiffs_DelFile:()=>ud,simple_spiffs_read:()=>dd,simple_spiffs_store_spiffs_write:()=>od,store_eeprom_get:()=>cd,store_eeprom_put:()=>ld,store_eeprom_read_byte:()=>ad,store_eeprom_read_long:()=>nd,store_eeprom_write_byte:()=>sd,store_eeprom_write_long:()=>id,store_sd_init:()=>qp,store_sd_init_32:()=>zp,store_sd_write:()=>td});var T={};f.r(T),f.d(T,{Arduinojson:()=>Yd,String_indexOf:()=>wd,String_to_Long_Integer:()=>kd,ascii_to_char:()=>Ad,char_to_ascii:()=>Ed,create_with_container:()=>vd,create_with_item:()=>yd,data_replacement:()=>Dd,decimal_places:()=>Sd,eliminate:()=>Pd,first_and_last:()=>Ld,letter_conversion:()=>Nd,number_to_text:()=>Td,number_to_text_:()=>gd,substring:()=>Rd,text:()=>_d,text_char:()=>hd,text_char_at:()=>Md,text_compareTo:()=>Od,text_equals_starts_ends:()=>Cd,text_join:()=>Fd,text_join2:()=>Vd,text_length:()=>md,text_to_number:()=>Id,type_conversion:()=>bd});var g={};f.r(g),f.d(g,{IICSCAN:()=>Ud,core_esp32c3_pin:()=>$d,esp32c3_pin:()=>Qd,esp32s2_pin:()=>Jd,esp32s3_pin:()=>xo,esp8266_board_pin:()=>so,esp8266_pin:()=>eo,factory_notes:()=>Gd,folding_block:()=>Bd,get_the_number_of_days_between_the_two_dates:()=>io,leonardo_pin:()=>Zd,mega_pin:()=>qd,nano_pin:()=>Kd,promini_pin:()=>zd,stm32f103c8t6_pin:()=>to,tool_modulus:()=>Wd,tool_modulus_show:()=>Hd,uno_pin:()=>jd,wemos_d1_mini_pin:()=>fo});var m={};f.r(m),f.d(m,{variables_change:()=>uo,variables_declare:()=>co,variables_get:()=>po,variables_set:()=>oo});var M={};f.r(M),f.d(M,{AFMotorRun:()=>Ko,AFMotorStop:()=>qo,GD5800_MP3_CONTROL:()=>Go,GD5800_MP3_EQ_MODE:()=>Ho,GD5800_MP3_LOOP_MODE:()=>Uo,GD5800_MP3_PLAY_NUM:()=>jo,GD5800_MP3_Set_Device:()=>Bo,GD5800_MP3_VOL:()=>Wo,I2Cmotor:()=>ou,M9101X_S_MP3_CONTROL:()=>uu,M9101X_S_MP3_PLAY_NUM:()=>_u,M9101X_S_MP3_VOL_CONTROL:()=>ru,Mixly_motor:()=>Yo,Motor_8833:()=>ko,RGB_color_HSV:()=>bo,RGB_color_rgb:()=>No,RGB_color_seclet:()=>Ro,arduino_dfplayer_available:()=>du,arduino_dfplayer_loopFolder:()=>au,arduino_dfplayer_mini_EQ:()=>xu,arduino_dfplayer_mini_EQ_type:()=>eu,arduino_dfplayer_mini_begin:()=>zo,arduino_dfplayer_mini_outputDevice:()=>fu,arduino_dfplayer_mini_outputDevice_type:()=>tu,arduino_dfplayer_mini_pin:()=>Zo,arduino_dfplayer_mini_setTimeOut:()=>Jo,arduino_dfplayer_mini_volume:()=>Qo,arduino_dfplayer_mini_volume_up_down:()=>$o,arduino_dfplayer_playFolder:()=>su,arduino_dfplayer_play_loop:()=>nu,arduino_dfplayer_readFileCounts:()=>cu,arduino_dfplayer_readFileCountsInFolder:()=>pu,arduino_dfplayer_read_now:()=>lu,arduino_dfplayer_set_1:()=>iu,controls_notone:()=>go,controls_notone_noTimer:()=>Mo,controls_tone:()=>To,controls_tone_noTimer:()=>mo,display_rgb:()=>Lo,display_rgb_Brightness:()=>Po,display_rgb_init:()=>Do,display_rgb_rainbow1:()=>vo,display_rgb_rainbow2:()=>wo,display_rgb_rainbow3:()=>Vo,display_rgb_show:()=>yo,group_stepper_move:()=>So,group_stepper_setup:()=>Co,group_stepper_setup2:()=>Oo,servo_move:()=>ro,servo_move1:()=>Fo,servo_read_degrees:()=>ho,servo_read_degrees1:()=>Ao,servo_writeMicroseconds:()=>_o,servo_writeMicroseconds1:()=>Io,tone_notes:()=>Eo,voice_module:()=>Xo});var C={};f.r(C),f.d(C,{Blynk_connect_state:()=>Ju,Blynk_iot_BLYNK_syncAll:()=>Mu,Blynk_iot_CONNECT_STATE:()=>mu,Blynk_iot_timer:()=>gu,arduino_blynk_bluetooth:()=>tr,blynk_AP_config:()=>zu,blynk_AP_config_2:()=>Zu,blynk_WidgetRTC_get_time:()=>Gu,blynk_WidgetRTC_init:()=>Xu,blynk_acc:()=>Wu,blynk_bridge_AnaloglWrite:()=>Yu,blynk_bridge_VPin:()=>ku,blynk_bridge_auth:()=>wu,blynk_bridge_digitalWrite:()=>Vu,blynk_connected:()=>pr,blynk_email:()=>Pu,blynk_esp32_Bluetooth:()=>fr,blynk_esp32_ble:()=>er,blynk_gravity:()=>Hu,blynk_iot_WidgetLED_COLOR:()=>Ou,blynk_iot_WidgetLED_VALUE:()=>Su,blynk_iot_auth:()=>hu,blynk_iot_get_data:()=>Tu,blynk_iot_ir_recv_raw:()=>Nu,blynk_iot_ir_send:()=>Du,blynk_iot_ir_send_ac:()=>Ru,blynk_iot_playmusic:()=>Bu,blynk_iot_push_data:()=>Eu,blynk_iot_syncVirtual:()=>Cu,blynk_iot_terminal_get:()=>yu,blynk_lcd:()=>$u,blynk_lcd_clear:()=>xr,blynk_light:()=>Uu,blynk_notify:()=>Lu,blynk_server:()=>Iu,blynk_smartconfig:()=>Fu,blynk_table:()=>ir,blynk_table_add_data:()=>hr,blynk_table_cleardata:()=>cr,blynk_table_click:()=>rr,blynk_table_highlight:()=>sr,blynk_table_order:()=>_r,blynk_table_select:()=>ar,blynk_table_unselect:()=>lr,blynk_table_update:()=>nr,blynk_terminal:()=>bu,blynk_terminal_clear:()=>Qu,blynk_time_input_1:()=>ju,blynk_usb_server:()=>Au,blynk_videourl:()=>vu,esp_camera:()=>dr,esp_camera_blynk:()=>or,factory_declare2:()=>qu,take_a_photo1:()=>ur,tone_notes:()=>Ku});var O={};f.r(O),f.d(O,{MFRC522_IsNewCard:()=>br,MFRC522_ReadCard:()=>wr,MFRC522_ReadCardUID:()=>yr,MFRC522_WriteCard:()=>vr,MFRC522_init:()=>Lr,RFID_in:()=>Pr,RFID_init:()=>Cr,RFID_off:()=>Dr,RFID_on:()=>Or,RFID_readcarddata:()=>Nr,RFID_readcardnum:()=>Sr,RFID_writecarddata:()=>Rr,i2c_available:()=>Br,i2c_begin_end_transmission:()=>kr,i2c_howmany:()=>Ur,i2c_master_Init:()=>Vr,i2c_master_reader:()=>Jr,i2c_master_reader2:()=>mr,i2c_master_readerReg:()=>qr,i2c_master_writer:()=>gr,i2c_master_writerReg:()=>Kr,i2c_read:()=>Hr,i2c_slave_Init:()=>Yr,i2c_slave_onreceive:()=>zr,i2c_slave_onrequest:()=>Zr,i2c_slave_write:()=>Mr,i2c_slave_write_array:()=>Gr,i2c_write:()=>Xr,ir_recv:()=>Fr,ir_recv_enable:()=>Ir,ir_recv_raw:()=>Er,ir_send_nec:()=>Ar,ir_send_raw:()=>Tr,spi_begin_master:()=>Qr,spi_begin_slave:()=>jr,spi_slave_interrupt:()=>f_,spi_slave_receive:()=>t_,spi_transfer:()=>Wr,spi_transfer_1:()=>x_,spi_transfer_2:()=>e_,spi_transfer_Init:()=>$r});var S={};f.r(S),f.d(S,{base_delay:()=>A_,base_setup:()=>i_,controls_delay:()=>p_,controls_end_program:()=>__,controls_flow_statements:()=>c_,controls_for:()=>a_,controls_if:()=>n_,controls_interrupts:()=>F_,controls_millis:()=>d_,controls_mstimer2:()=>o_,controls_mstimer2_start:()=>u_,controls_mstimer2_stop:()=>r_,controls_nointerrupts:()=>I_,controls_soft_reset:()=>h_,controls_switch_case:()=>s_,controls_whileUntil:()=>l_,do_while:()=>T_,execute_super_delay_function1:()=>m_,simple_timer:()=>E_,super_delay_function1:()=>g_});var R={};f.r(R),f.d(R,{HT16K33_Init:()=>k_,LedArray:()=>Q_,MAX7219_init:()=>X_,Matrix_img:()=>$_,TFT_Brightness:()=>Vh,TFT_Rotation:()=>kh,TFT_color_rgb:()=>Uh,TFT_color_seclet:()=>Bh,TFT_fillScreen:()=>Wh,TFT_init:()=>Hh,TFT_init_with_pin:()=>Nh,TFT_st7735_show_hz:()=>wh,display_4digitdisplay_displayString:()=>D_,display_4digitdisplay_power:()=>N_,display_4digitdisplay_showDot:()=>P_,display_HT16K33_Rotation:()=>J_,display_Matrix_Brightness:()=>K_,display_Matrix_DisplayChar:()=>H_,display_Matrix_DrawPixel:()=>G_,display_Matrix_LedArray:()=>W_,display_Matrix_TEXT:()=>B_,display_Matrix_fillScreen:()=>q_,display_Matrix_print:()=>U_,display_Matrix_write:()=>xh,display_Max7219_Rotation:()=>z_,display_Max7219_setPosition:()=>Z_,display_TM1637_Brightness:()=>Y_,display_TM1637_Brightness_32:()=>lF,display_TM1637_clearDisplay:()=>V_,display_TM1637_clearDisplay_32:()=>aF,display_TM1637_displayTime:()=>w_,display_TM1637_displayTime_32:()=>sF,display_TM1637_displyPrint:()=>v_,display_TM1637_displyPrint_32:()=>nF,display_TM1637_init:()=>y_,display_TM1637_init_32:()=>iF,display_lcd_bitmap:()=>Sh,display_matrix_bitmap:()=>j_,get_utf8_width:()=>Mh,group_lcd_init:()=>cF,group_lcd_init2:()=>M_,group_lcd_init3:()=>C_,group_lcd_power:()=>R_,group_lcd_print:()=>O_,group_lcd_print2:()=>S_,lcd_display_pattern:()=>Ch,lcd_pattern:()=>Oh,oled_clear:()=>nh,oled_define_bitmap_data:()=>dh,oled_drawCircle:()=>Fh,oled_drawEllipse:()=>Ih,oled_drawFrame:()=>_h,oled_drawLine:()=>oh,oled_drawPixel:()=>lh,oled_drawRFrame:()=>hh,oled_drawTriangle:()=>rh,oled_draw_Str_Line:()=>uh,oled_face:()=>sh,oled_icons:()=>ah,oled_init:()=>eh,oled_page:()=>ch,oled_print:()=>Ah,oled_set_CN_Font:()=>Th,oled_set_EN_Font:()=>Eh,oled_set_ZH_TW_Font:()=>gh,oled_showBitmap:()=>ph,tft_Circle:()=>Qh,tft_Rect:()=>Zh,tft_RoundRect:()=>Jh,tft_Triangle:()=>zh,tft_define_bitmap_data:()=>$h,tft_drawFastLine:()=>qh,tft_drawLine:()=>Kh,tft_drawPixel:()=>jh,tft_generate_bitmap_data:()=>xF,tft_icons:()=>Yh,tft_print:()=>Gh,tft_setFont:()=>Xh,tft_set_CN_Font:()=>tF,tft_set_EN_Font:()=>fF,tft_showBitmap:()=>eF,u8g2_LCD12864_8080_init:()=>ih,u8g2_LCD12864_spi_init:()=>th,u8g2_setContrast:()=>mh,u8g2_spi_init:()=>fh});var N={};f.r(N),f.d(N,{MQTT_connect:()=>RF,MQTT_publish:()=>NF,MQTT_server:()=>SF,MQTT_subscribe:()=>PF,MQTT_subscribe_value:()=>DF,NTP_server:()=>MF,NTP_server_get_time:()=>CF,WIFI_ap_and_sta:()=>vF,WIFI_ap_or_sta:()=>yF,WIFI_incomingPacket:()=>wF,WIFI_info:()=>TF,WIFI_send_data:()=>VF,WIFI_smartConfig:()=>bF,WeatherGet:()=>kF,WeatherGetForecast:()=>GF,WeatherGetToday:()=>XF,asyncelegantota:()=>jF,ethernet_client_available:()=>hF,ethernet_client_connect_server:()=>uF,ethernet_client_connected:()=>_F,ethernet_client_get_request:()=>EF,ethernet_client_print:()=>FF,ethernet_client_println:()=>IF,ethernet_client_read:()=>AF,ethernet_client_stop:()=>rF,ethernet_init_begin:()=>pF,ethernet_init_local_ip:()=>oF,ethernet_mac_address:()=>dF,http_get:()=>LF,mixio_mqtt_publish:()=>HF,mixio_mqtt_received_the_news:()=>WF,mixio_mqtt_subscribe:()=>BF,mixio_mqtt_subscribe_key:()=>UF,network_get_connect:()=>mF,network_wifi_connect:()=>gF});var D={};f.r(D),f.d(D,{factory_block:()=>tI,factory_block_return:()=>iI,factory_block_return_with_textarea:()=>sI,factory_block_with_textarea:()=>nI,factory_callMethod_noreturn:()=>eI,factory_callMethod_return:()=>fI,factory_declare:()=>ZF,factory_declare2:()=>JF,factory_define:()=>QF,factory_function_noreturn:()=>qF,factory_function_return:()=>zF,factory_include:()=>KF,factory_static_method_noreturn:()=>$F,factory_static_method_return:()=>xI});var P={};f.r(P),f.d(P,{ADS1015_Get_Value:()=>SI,ADS1015_setGain:()=>OI,ESP32touchButton:()=>mI,OneButton_interrupt:()=>_I,PCF8591T:()=>RI,controls_attachInterrupt:()=>hI,controls_attachPinInterrupt:()=>II,controls_detachInterrupt:()=>FI,controls_detachPinInterrupt:()=>AI,inout_analog_read:()=>uI,inout_analog_write:()=>oI,inout_buildin_led:()=>rI,inout_cancel_soft_analog_write:()=>CI,inout_digital_read:()=>pI,inout_digital_read2:()=>dI,inout_digital_write2:()=>cI,inout_highlow:()=>aI,inout_pinMode:()=>lI,inout_pulseIn:()=>EI,inout_pulseIn2:()=>TI,inout_shiftout:()=>gI,inout_soft_analog_write:()=>MI});var L={};f.r(L),f.d(L,{array2_assignment:()=>kI,create_array2_with_text:()=>YI,get_array2_value:()=>XI,lists2GetValueByIndex:()=>BI,lists2SetValueByIndex:()=>GI,listsGetValueByIndex:()=>vI,listsSetValueByIndex:()=>wI,lists_array2_get_length:()=>jI,lists_array2_setup:()=>UI,lists_array2_setup_get_data:()=>HI,lists_create_with:()=>NI,lists_create_with2:()=>PI,lists_create_with_text:()=>DI,lists_create_with_text2:()=>LI,lists_getIndex:()=>bI,lists_length:()=>VI,lists_setIndex:()=>yI,loop_array:()=>WI});var b={};f.r(b),f.d(b,{logic_boolean:()=>ZI,logic_compare:()=>KI,logic_negate:()=>zI,logic_null:()=>JI,logic_operation:()=>qI,logic_true_or_false:()=>QI});var y={};f.r(y),f.d(y,{arduino_variate_type:()=>nA,base_map:()=>pA,math_SizeOf:()=>sA,math_arithmetic:()=>xA,math_auto_add_or_minus:()=>uA,math_bit:()=>eA,math_constrain:()=>dA,math_max_min:()=>aA,math_number:()=>$I,math_random_int:()=>cA,math_random_seed:()=>lA,math_single:()=>fA,math_to_int:()=>iA,math_trig:()=>tA,variables_operation:()=>oA});var v={};f.r(v),f.d(v,{pins_MISO:()=>AA,pins_MOSI:()=>IA,pins_SCK:()=>EA,pins_SCL:()=>TA,pins_SDA:()=>gA,pins_analog:()=>_A,pins_digital:()=>rA,pins_interrupt:()=>FA,pins_pwm:()=>hA});var w={};f.r(w),f.d(w,{procedures_callnoreturn:()=>OA,procedures_callreturn:()=>CA,procedures_defnoreturn:()=>MA,procedures_defreturn:()=>mA,procedures_ifreturn:()=>SA,procedures_return:()=>RA});var V={};f.r(V),f.d(V,{ADXL345:()=>ZA,ADXL345_setOffset:()=>QA,AHT20_21:()=>SE,Arduino_keypad_4_4_start:()=>AE,BME280_READ:()=>dE,DHT:()=>vA,DS1302_init:()=>GA,DS1307_init:()=>BA,LIS3DHTR:()=>JA,LM35:()=>wA,MPU6050:()=>$A,MPU6050_update:()=>xE,NTC_TEMP:()=>OE,PS2_Button:()=>rE,PS2_init:()=>oE,PS2_stk:()=>_E,PS2_update:()=>uE,RTC_date:()=>HA,RTC_get_time:()=>UA,RTC_set_date:()=>qA,RTC_set_time:()=>jA,RTC_time:()=>WA,SHT20:()=>zA,TCS34725_Get_RGB:()=>hE,arduino_keypad_event:()=>ME,chaoshengbo2:()=>yA,ds18b20:()=>VA,encoder_init:()=>tE,encoder_init1:()=>sE,encoder_read:()=>fE,encoder_read1:()=>nE,encoder_write:()=>eE,encoder_write1:()=>iE,get_keypad_num:()=>mE,get_system_date_time:()=>KA,gps_data_available:()=>DA,gps_data_encode:()=>PA,gps_getData_xxx:()=>bA,gps_init:()=>NA,gps_xxx_isValid:()=>LA,keypad_col_data:()=>TE,keypad_row_data:()=>EE,keypad_type_data:()=>gE,mixgo_MPU9250:()=>CE,mlx90614_get_data:()=>kA,mlx90614_init:()=>YA,sensor_encoder_get:()=>lE,sensor_encoder_handle:()=>pE,sensor_encoder_init:()=>aE,sensor_encoder_set:()=>cE,tcs230_Get_RGB:()=>IE,tcs230_init:()=>FE,weightSensor:()=>XA});var Y={};f.r(Y),f.d(Y,{serial_available:()=>yE,serial_begin:()=>RE,serial_event:()=>XE,serial_flush:()=>YE,serial_parseInt_Float:()=>VE,serial_print:()=>DE,serial_print_hex:()=>bE,serial_print_num:()=>LE,serial_println:()=>PE,serial_readstr:()=>vE,serial_readstr_until:()=>wE,serial_softserial:()=>kE,serial_write:()=>NE});var k={};f.r(k),f.d(k,{sd_DelFile:()=>zE,sd_card_root_files:()=>WE,sd_card_type:()=>HE,sd_exist:()=>KE,sd_read:()=>qE,sd_volume:()=>jE,simple_spiffs_DelFile:()=>iT,simple_spiffs_read:()=>tT,simple_spiffs_store_spiffs_write:()=>fT,store_eeprom_get:()=>eT,store_eeprom_put:()=>xT,store_eeprom_read_byte:()=>$E,store_eeprom_read_long:()=>JE,store_eeprom_write_byte:()=>QE,store_eeprom_write_long:()=>ZE,store_sd_init:()=>BE,store_sd_write:()=>UE});var X={};f.r(X),f.d(X,{String_indexOf:()=>mT,String_to_Long_Integer:()=>CT,ascii_to_char:()=>cT,char_to_ascii:()=>pT,data_replacement:()=>AT,decimal_places:()=>hT,eliminate:()=>ET,first_and_last:()=>TT,letter_conversion:()=>IT,number_to_text:()=>dT,substring:()=>FT,text:()=>nT,text_char:()=>sT,text_char_at:()=>uT,text_compareTo:()=>_T,text_equals_starts_ends:()=>rT,text_join:()=>aT,text_join2:()=>MT,text_length:()=>oT,text_to_number:()=>lT,type_conversion:()=>gT});var G={};f.r(G),f.d(G,{IICSCAN:()=>RT,core_esp32c3_pin:()=>qT,esp32c3_pin:()=>jT,esp32s2_pin:()=>WT,esp32s3_pin:()=>KT,esp8266_board_pin:()=>ZT,esp8266_pin:()=>BT,factory_notes:()=>OT,folding_block:()=>ST,get_the_number_of_days_between_the_two_dates:()=>zT,leonardo_pin:()=>kT,mega_pin:()=>GT,nano_pin:()=>VT,promini_pin:()=>YT,stm32f103c8t6_pin:()=>HT,tool_modulus:()=>wT,tool_modulus_show:()=>PT,uno_pin:()=>XT,wemos_d1_mini_pin:()=>UT});var B={};f.r(B),f.d(B,{variables_change:()=>xg,variables_declare:()=>QT,variables_get:()=>JT,variables_set:()=>$T});var U={};f.r(U),f.d(U,{HR8833_Motor_Setup:()=>cg,HR8833_Motor_Speed:()=>pg,controls_notone:()=>ng,controls_tone:()=>ig,handbit_motor_move:()=>dg,motor_id:()=>lg,onboard_notone:()=>ag,onboard_tone:()=>sg});var H={};f.r(H),f.d(H,{serialBT_Init:()=>ug,serialBT_available:()=>rg,serialBT_read:()=>_g,serialBT_write:()=>hg});var W={};f.r(W),f.d(W,{control_core_delay:()=>Eg,controls_hw_timer:()=>Ig,controls_hw_timer_start:()=>Tg,controls_hw_timer_stop:()=>gg,controls_runnig_core:()=>Ag,esp32_deep_sleep:()=>mg});var j={};f.r(j),f.d(j,{esp32_wifi_connection_event:()=>Og,esp_now_receive:()=>Cg,esp_now_send:()=>Mg});var K={};f.r(K),f.d(K,{handbit_MSA300:()=>wg,handbit_MSA300_action:()=>Vg,handbit_RGB_color_HSV:()=>jg,handbit_button_is_pressed:()=>Ng,handbit_light:()=>Dg,handbit_motor_move:()=>Wg,handbit_rgb:()=>Gg,handbit_rgb2:()=>Bg,handbit_rgb_Brightness:()=>Ug,handbit_rgb_rainbow1:()=>Yg,handbit_rgb_rainbow3:()=>Xg,handbit_rgb_show:()=>Hg,handbit_sound:()=>Pg,inout_touchRead:()=>Lg,touchAttachInterrupt:()=>bg});var q={};f.r(q),f.d(q,{esp32_led_pwm:()=>xm,inout_esp32_dac:()=>$g,inout_touchRead:()=>Jg,ledcAttachPin:()=>qg,ledcDetachPin:()=>zg,ledcSetup:()=>Kg,ledcWrite:()=>Zg,touchAttachInterrupt:()=>Qg});var z={};f.r(z),f.d(z,{RGB_color_rgb:()=>rm,RGB_color_seclet:()=>um,brightness_select:()=>im,mixePi_button_is_pressed:()=>nm,mixepi_ADXL345_action:()=>cm,mixepi_inout_touchRead:()=>lm,mixepi_light:()=>sm,mixepi_rgb:()=>_m,mixepi_rgb2:()=>hm,mixepi_rgb_Brightness:()=>Fm,mixepi_rgb_rainbow1:()=>pm,mixepi_rgb_rainbow3:()=>om,mixepi_sound:()=>am});var Z={};f.r(Z),f.d(Z,{HT16K33_DisplayChar:()=>gm,HT16K33_Displayclear:()=>Mm,HT16K33_LedArray:()=>mm,HT16K33_POS:()=>Tm,HT16K33_TEXT:()=>Em,HT16K33_blink_rate:()=>Om,HT16K33_brightness:()=>Sm,HT16K33_show_image:()=>Cm,MixGo_rgb:()=>Ym,MixGo_rgb2:()=>km,MixGo_rgb_Brightness:()=>Xm,MixGo_rgb_rainbow1:()=>vm,MixGo_rgb_rainbow3:()=>Vm,MixGo_rgb_show:()=>Gm,mixGo_led:()=>bm,mixGo_led_brightness:()=>ym,mixgo_button_is_pressed:()=>Rm,mixgo_touch_pin:()=>Pm,sensor_mixgo_light:()=>Nm,sensor_mixgo_pin_near:()=>Lm,sensor_mixgo_sound:()=>Dm});var J={};f.r(J),f.d(J,{CHANNEL:()=>lM,OCTAVE:()=>pM,PWM_RESOLUTION:()=>cM,TONE_NOTE:()=>dM,brightness:()=>aM,pins_axis:()=>$m,pins_brightness:()=>xM,pins_button:()=>Hm,pins_dac:()=>Um,pins_digitalWrite:()=>oM,pins_exlcdh:()=>Jm,pins_exlcdv:()=>Qm,pins_one_more:()=>iM,pins_playlist:()=>Zm,pins_radio_datarate:()=>tM,pins_radio_power:()=>fM,pins_scl:()=>Km,pins_sda:()=>Wm,pins_serial:()=>zm,pins_tone_notes:()=>eM,pins_touch:()=>qm,pins_tx:()=>jm,serial_HardwareSelect:()=>sM,serial_select:()=>nM});var Q={};f.r(Q),f.d(Q,{MPU9250_update:()=>EM,NTC_TEMP:()=>AM,Pocket_rgb:()=>TM,Pocket_rgb2:()=>gM,Pocket_rgb_Brightness:()=>mM,Pocket_rgb_show:()=>MM,mixgo_button_is_pressed:()=>_M,mixgo_touch_pin:()=>FM,pocket_RGB_color_HSV:()=>CM,sensor_button_is_pressed:()=>OM,sensor_light:()=>RM,sensor_mixgo_light:()=>IM,sensor_mixgo_sound:()=>hM,sensor_pin_near:()=>SM,sensor_sound:()=>NM});var xx={};f.r(xx),f.d(xx,{ESP32_hallRead:()=>DM,ESP32_temprature:()=>PM,ESP_TCS34725_Get_RGB:()=>bM,OneButton:()=>LM});var ex={};f.r(ex),f.d(ex,{serial_HardwareSerial:()=>vM,serial_available:()=>BM,serial_begin:()=>wM,serial_event:()=>qM,serial_flush:()=>jM,serial_parseInt_Float:()=>WM,serial_print:()=>YM,serial_print_hex:()=>GM,serial_print_num:()=>XM,serial_println:()=>kM,serial_readstr:()=>UM,serial_readstr_until:()=>HM,serial_softserial:()=>KM,serial_write:()=>VM});var fx={};f.r(fx),f.d(fx,{hsc025a_instruction:()=>ZM,hsc025a_play:()=>JM,hsc025a_volume:()=>QM});var tx={};f.r(tx),f.d(tx,{initialize_spiffs:()=>$M,spiffs_close_file:()=>fC,spiffs_delete_file:()=>aC,spiffs_file_size:()=>sC,spiffs_open_file:()=>eC,spiffs_read_available:()=>iC,spiffs_read_data:()=>nC,spiffs_write_data:()=>tC});var ix={};f.r(ix),f.d(ix,{HR8833_Motor_Setup:()=>mC,HR8833_Motor_Speed:()=>MC,Mixly_motor:()=>TC,controls_notone:()=>IC,controls_tone:()=>FC,display_rgb_show:()=>uC,handbit_motor_move:()=>CC,motor_id:()=>gC,onboard_notone:()=>EC,onboard_tone:()=>AC,servo_move:()=>rC,servo_read_degrees:()=>hC,servo_writeMicroseconds:()=>_C});var nx={};f.r(nx),f.d(nx,{serialBT_Init:()=>SC,serialBT_available:()=>RC,serialBT_read:()=>NC,serialBT_write:()=>DC,spi_transfer:()=>OC});var sx={};f.r(sx),f.d(sx,{base_delay:()=>XC,control_core_delay:()=>LC,controls_end_program:()=>wC,controls_hw_timer:()=>bC,controls_hw_timer_start:()=>yC,controls_hw_timer_stop:()=>vC,controls_interrupts:()=>VC,controls_nointerrupts:()=>YC,controls_runnig_core:()=>PC,esp32_deep_sleep:()=>kC});var ax={};f.r(ax),f.d(ax,{WIFI_info:()=>GC,esp32_wifi_connection_event:()=>HC,esp_now_receive:()=>UC,esp_now_send:()=>BC});var lx={};f.r(lx),f.d(lx,{DHT:()=>jC,ESP32_hallRead:()=>KC,ESP32_temprature:()=>qC,ESP_TCS34725_Get_RGB:()=>JC,chaoshengbo:()=>WC,sensor_light:()=>zC,sensor_sound:()=>ZC});var cx={};f.r(cx),f.d(cx,{OneButton:()=>dO,handbit_MSA300:()=>eO,handbit_MSA300_action:()=>fO,handbit_RGB_color_HSV:()=>uO,handbit_button_is_pressed:()=>QC,handbit_light:()=>$C,handbit_motor_move:()=>oO,handbit_rgb:()=>nO,handbit_rgb2:()=>sO,handbit_rgb_Brightness:()=>aO,handbit_rgb_rainbow1:()=>cO,handbit_rgb_rainbow3:()=>pO,handbit_rgb_show:()=>lO,handbit_sound:()=>xO,inout_touchRead:()=>iO,touchAttachInterrupt:()=>tO});var px={};f.r(px),f.d(px,{controls_attachInterrupt:()=>EO,controls_detachInterrupt:()=>TO,esp32_led_pwm:()=>MO,inout_esp32_dac:()=>mO,inout_pwm_analog_write:()=>AO,inout_touchRead:()=>rO,ledcAttachPin:()=>hO,ledcDetachPin:()=>FO,ledcSetup:()=>_O,ledcWrite:()=>IO,touchAttachInterrupt:()=>gO});var dx={};f.r(dx),f.d(dx,{RGB_color_rgb:()=>LO,RGB_color_seclet:()=>PO,brightness_select:()=>YO,mixePi_button_is_pressed:()=>SO,mixepi_ADXL345_action:()=>DO,mixepi_button_is_pressed:()=>OO,mixepi_inout_touchRead:()=>CO,mixepi_light:()=>RO,mixepi_rgb:()=>bO,mixepi_rgb2:()=>yO,mixepi_rgb_Brightness:()=>vO,mixepi_rgb_rainbow1:()=>wO,mixepi_rgb_rainbow3:()=>VO,mixepi_sound:()=>NO});var ox={};f.r(ox),f.d(ox,{HT16K33_DisplayChar:()=>GO,HT16K33_Displayclear:()=>UO,HT16K33_LedArray:()=>BO,HT16K33_POS:()=>XO,HT16K33_TEXT:()=>kO,HT16K33_brightness:()=>HO,HT16K33_show_image:()=>WO,MixGo_rgb:()=>JO,MixGo_rgb2:()=>QO,MixGo_rgb_Brightness:()=>$O,MixGo_rgb_rainbow1:()=>xS,MixGo_rgb_rainbow3:()=>eS,MixGo_rgb_show:()=>fS,OneButton:()=>tS,mixGo_led:()=>ZO,mixgo_button_is_pressed:()=>iS,mixgo_touch_pin:()=>qO,sensor_button_is_pressed:()=>nS,sensor_mixgo_light:()=>jO,sensor_mixgo_pin_near:()=>zO,sensor_mixgo_sound:()=>KO,sensor_pin_near:()=>sS});var ux={};f.r(ux),f.d(ux,{CHANNEL:()=>bS,OCTAVE:()=>vS,PWM_RESOLUTION:()=>yS,TONE_NOTE:()=>wS,brightness:()=>PS,pins_MISO:()=>SS,pins_MOSI:()=>OS,pins_SCK:()=>RS,pins_analog:()=>cS,pins_axis:()=>IS,pins_brightness:()=>TS,pins_builtinimg:()=>_S,pins_button:()=>lS,pins_dac:()=>dS,pins_digital:()=>aS,pins_digitalWrite:()=>VS,pins_exlcdh:()=>AS,pins_exlcdv:()=>ES,pins_imglist:()=>hS,pins_interrupt:()=>uS,pins_one_more:()=>CS,pins_playlist:()=>FS,pins_pwm:()=>pS,pins_radio_datarate:()=>MS,pins_radio_power:()=>mS,pins_scl:()=>NS,pins_sda:()=>DS,pins_serial:()=>rS,pins_tone_notes:()=>gS,pins_touch:()=>oS,pins_tx:()=>LS});var rx={};f.r(rx),f.d(rx,{MPU9250_update:()=>KS,NTC_TEMP:()=>US,OneButton:()=>BS,Pocket_rgb:()=>qS,Pocket_rgb2:()=>zS,Pocket_rgb_Brightness:()=>ZS,Pocket_rgb_show:()=>JS,controls_tone:()=>HS,mixgo_MPU9250:()=>jS,mixgo_button_is_pressed:()=>YS,mixgo_touch_pin:()=>XS,onboard_tone:()=>WS,pocket_RGB_color_HSV:()=>QS,sensor_mixgo_light:()=>GS,sensor_mixgo_sound:()=>kS});var _x={};f.r(_x),f.d(_x,{serial_HardwareSerial:()=>$S});var hx={};f.r(hx),f.d(hx,{hsc025a_instruction:()=>xR,hsc025a_play:()=>eR,hsc025a_volume:()=>fR});var Fx={};f.r(Fx),f.d(Fx,{initialize_spiffs:()=>tR,spiffs_close_file:()=>nR,spiffs_delete_file:()=>pR,spiffs_file_size:()=>cR,spiffs_open_file:()=>iR,spiffs_read_available:()=>aR,spiffs_read_data:()=>lR,spiffs_write_data:()=>sR,store_eeprom_get:()=>hR,store_eeprom_put:()=>_R,store_eeprom_read_byte:()=>rR,store_eeprom_read_long:()=>oR,store_eeprom_write_byte:()=>uR,store_eeprom_write_long:()=>dR});const Ix=Blockly,Ax=Mixly,Ex="#27b6ac",Tx={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(Ix.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(Ix.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Ix.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},gx={init:function(){this.appendDummyInput().appendField(new Ix.FieldDropdown([["POST","POST"],["PATCH","PATCH"],["PUT","PUT"]]),"TYPE").appendField(Ix.Msg.blockpy_REQUESTS),this.appendValueInput("api").setCheck(null).appendField(Ix.Msg.blynk_SERVER_ADD),this.appendValueInput("data").setCheck(null).appendField(Ix.Msg.MIXLY_SD_DATA),this.appendStatementInput("success").setCheck(null).appendField(Ix.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Ix.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},mx={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}};var Mx,Cx=[];for(Mx in mx)Cx.push([Mx,Mx]);function Ox(x){var e,f=[];for(e in mx[x])f.push([e,e]);return f}var Sx={};for(Mx of Cx)Sx[Mx[0]]=Ox(Mx[0]);const Rx={init:function(){this.appendDummyInput().appendField(new Ix.FieldDropdown(Cx),"province").appendField(new Ix.FieldDependentDropdown("province",Sx,[["-","-"]]),"city"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Ex),this.setHelpUrl(""),this.preProvince=null}},Nx={init:function(){this.setColour(Ex),this.appendDummyInput("").appendField(new Ix.FieldDropdown([["S9l2sb_ZK-UsWaynG","S9l2sb_ZK-UsWaynG"],["SpRpSYb7QOMT0M8Tz","SpRpSYb7QOMT0M8Tz"],["SboqGMxP4tYNXUN8f","SboqGMxP4tYNXUN8f"],["SJiRrYGYFkGnfi081","SJiRrYGYFkGnfi081"],["SMhSshUxuTL0GLVLS","SMhSshUxuTL0GLVLS"]]),"key"),this.setOutput(!0,null)}},Dx={init:function(){this.appendDummyInput("").appendField(Ix.Msg.MSG.catweather).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[Ix.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[Ix.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(Ix.Msg.MIXLY_INFORMATION_CONFIGURATION),this.appendValueInput("location").setCheck(null).appendField(Ix.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("private_key").setCheck(null).appendField(Ix.Msg.MIXLY_API_PRIVATE_KEY),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_LANGUAGE).appendField(new Ix.FieldDropdown([["简体中文","zh-Hans"],["繁體中文","zh-Hant"],["English","en"]]),"language"),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_TEMPERATURE_UNIT).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_CELSIUS+"(℃)","c"],[Ix.Msg.MIXLY_FAHRENHEIT+"(℉)","f"]]),"unit"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ex),this.setTooltip("这里的API私钥免费体验有次数限制\n访问频率限制20次/分钟"),this.setHelpUrl("")}},Px={init:function(){this.appendDummyInput("").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[Ix.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[Ix.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_AVAILABLE,"update"],[Ix.Msg.MIXLY_GET_DATA_UPDATE_TIME,"getLastUpdate"],[Ix.Msg.MIXLY_GET_SERVER_RESPONSE_STATUS_CODE,"getServerCode"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Ex),this.setTooltip(""),this.setHelpUrl("")}},Lx={init:function(){this.appendDummyInput("").appendField(Ix.Msg.MIXLY_LIVE_WEATHER).appendField(Ix.Msg.MIXLY_GET).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_WEATHER_PHENOMENON,"getWeatherText"],[Ix.Msg.MIXLY_WEATHER_PHENOMENON_CODE,"getWeatherCode"],[Ix.Msg.MIXLY_TEMPERATURE,"getDegree"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Ex),this.setTooltip(""),this.setHelpUrl("")}},bx={init:function(){this.appendDummyInput("").appendField(Ix.Msg.MIXLY_3_DAY_WEATHER_FORECAST).appendField(Ix.Msg.MIXLY_GET).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_TODAY,"0"],[Ix.Msg.MIXLY_TOMORROW,"1"],[Ix.Msg.MIXLY_DAY_AFTER_TOMORROW,"2"]]),"date").appendField(new Ix.FieldDropdown([[Ix.Msg.ForecastHigh,"getHigh"],[Ix.Msg.ForecastLow,"getLow"],[Ix.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON,"getDayText"],[Ix.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE,"getDayCode"],[Ix.Msg.MIXLY_EVENING_WEATHER_PHENOMENON,"getNightText"],[Ix.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE,"getNightCode"],[Ix.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION,"getRain"],[Ix.Msg.ForecastFx,"getWindDirection"],[Ix.Msg.MIXLY_WIND_SPEED,"getWindSpeed"],[Ix.Msg.MIXLY_WIND_RATING,"getWindScale"],[Ix.Msg.MIXLY_Humidity,"getHumidity"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Ex),this.setTooltip(""),this.setHelpUrl("")}},yx={init:function(){this.appendDummyInput("").appendField(Ix.Msg.MIXLY_6_LIFE_INDEXES).appendField(Ix.Msg.MIXLY_GET).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_CAR_WASH_INDEX,"getCarWash"],[Ix.Msg.MIXLY_DRESSING_INDEX,"getDressing"],[Ix.Msg.MIXLY_COLD_INDEX,"getFactorFlu"],[Ix.Msg.MIXLY_MOVEMENT_INDEX,"getExercise"],[Ix.Msg.MIXLY_TOURISM_INDEX,"getTravel"],[Ix.Msg.MIXLY_UV_INDEX,"getUV"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Ex),this.setTooltip(""),this.setHelpUrl("")}},vx={init:function(){this.appendValueInput("VALUE").setCheck(null).setAlign(Ix.inputs.Align.LEFT).appendField(new Ix.FieldDropdown([["Base64","BASE64"],["URL","URL"]]),"TYPE").appendField(new Ix.FieldDropdown([["编码","ENCODE"],["解码","DECODE"]]),"OPTION"),this.setOutput(!0,null),this.setColour(160),this.setTooltip(""),this.setHelpUrl("")}},wx=function(){const x=Ax.Boards.getType(),e=Ix.Arduino.valueToCode(this,"api",Ix.Arduino.ORDER_ATOMIC);let f=Ix.Arduino.statementToCode(this,"success")||"";f=f.replace(/(^\s*)|(\s*$)/g,"");let t=Ix.Arduino.statementToCode(this,"failure")||"";t=t.replace(/(^\s*)|(\s*$)/g,"");let i="";return"arduino_esp8266"==x?(Ix.Arduino.definitions_.include_ESP8266WiFi="#include ",Ix.Arduino.definitions_.include_ESP8266HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n WiFiClient client;\n HTTPClient http;\n http.begin(client, "+e+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+f+"\n } else {\n "+t+"\n }\n http.end();\n}\n"):(Ix.Arduino.definitions_.include_WiFi="#include ",Ix.Arduino.definitions_.include_HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+e+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+f+"\n }\n else {\n "+t+"\n }\n http.end();\n}\n"),i},Vx=function(){const x=Ax.Boards.getType(),e=this.getFieldValue("TYPE"),f=Ix.Arduino.valueToCode(this,"api",Ix.Arduino.ORDER_ATOMIC),t=Ix.Arduino.valueToCode(this,"data",Ix.Arduino.ORDER_ATOMIC);let i=Ix.Arduino.statementToCode(this,"success")||"";i=i.replace(/(^\s*)|(\s*$)/g,"");let n=Ix.Arduino.statementToCode(this,"failure")||"";n=n.replace(/(^\s*)|(\s*$)/g,"");let s="";return"arduino_esp8266"==x?(Ix.Arduino.definitions_.include_ESP8266WiFi="#include ",Ix.Arduino.definitions_.include_ESP8266HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n WiFiClient client;\n http.begin(client, "+f+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+e+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n } else {\n "+n+"\n }\n http.end();\n}\n"):(Ix.Arduino.definitions_.include_WiFi="#include ",Ix.Arduino.definitions_.include_HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+f+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+e+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n }\n else {\n "+n+"\n }\n http.end();\n}\n"),s},Yx={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}},kx=function(){var x=this.getFieldValue("province"),e=this.getFieldValue("city"),f="";try{f='"'+Yx[x][e].pinyin+'"'}catch(x){console.log(x)}return[f,Ix.Arduino.ORDER_ATOMIC]},Xx=function(){return['"'+this.getFieldValue("key")+'"',Ix.Arduino.ORDER_ATOMIC]},Gx=function(){var x=this.getFieldValue("api"),e=Ix.Arduino.valueToCode(this,"location",Ix.Arduino.ORDER_ATOMIC),f=Ix.Arduino.valueToCode(this,"private_key",Ix.Arduino.ORDER_ATOMIC),t=this.getFieldValue("language"),i=this.getFieldValue("unit");switch(Ix.Arduino.definitions_.include_ESP8266_Seniverse="#include ",Ix.Arduino.setups_.setup_serial_Serial="Serial.begin(9600);",x){case"weather/now":Ix.Arduino.definitions_.var_declare_weatherNow="WeatherNow weatherNow;",Ix.Arduino.setups_.setup_seniverse_weatherNow="weatherNow.config("+f+", "+e+', "'+i+'", "'+t+'");';break;case"weather/daily":Ix.Arduino.definitions_.var_declare_forecast="Forecast forecast;",Ix.Arduino.setups_.setup_seniverse_forecast="forecast.config("+f+", "+e+', "'+i+'", "'+t+'");';break;default:Ix.Arduino.definitions_.var_declare_lifeInfo="LifeInfo lifeInfo;",Ix.Arduino.setups_.setup_seniverse_lifeInfo="lifeInfo.config("+f+", "+e+', "'+i+'", "'+t+'");'}return""},Bx=function(){var x=this.getFieldValue("api"),e=this.getFieldValue("type"),f="";switch(x){case"weather/now":f="weatherNow."+e+"()";break;case"weather/daily":f="forecast."+e+"()";break;default:f="lifeInfo."+e+"()"}return[f,Ix.Arduino.ORDER_ATOMIC]},Ux=function(){return["weatherNow."+this.getFieldValue("type")+"()",Ix.Arduino.ORDER_ATOMIC]},Hx=function(){var x=this.getFieldValue("date");return["forecast."+this.getFieldValue("type")+"("+x+")",Ix.Arduino.ORDER_ATOMIC]},Wx=function(){return["lifeInfo."+this.getFieldValue("type")+"()",Ix.Arduino.ORDER_ATOMIC]},jx=function(){const x=this.getFieldValue("TYPE"),e=this.getFieldValue("OPTION"),f=Ix.Arduino.valueToCode(this,"VALUE",Ix.Arduino.ORDER_ATOMIC);let t="";return"BASE64"===x?(Ix.Arduino.definitions_.include_rBase64="#include ",t="ENCODE"===e?"rbase64.encode("+f+")":"rbase64.decode("+f+")"):(Ix.Arduino.definitions_.include_URLCode="#include ",Ix.Arduino.definitions_.var_declare_urlCode="URLCode urlCode;","ENCODE"===e?(Ix.Arduino.definitions_.function_urlEncode="String urlEncode(String urlStr) {\n urlCode.strcode = urlStr;\n urlCode.urlencode();\n return urlCode.urlcode;\n}\n",t="urlEncode("+f+")"):(Ix.Arduino.definitions_.function_urlDecode="String urlDecode(String urlStr) {\n urlCode.urlcode = urlStr;\n urlCode.urldecode();\n return urlCode.strcode;\n}\n",t="urlDecode("+f+")")),[t,Ix.Arduino.ORDER_ATOMIC]},Kx=function(x,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),x)for(var f=x.split(","),t=0;t1&&(s+=t)):f=s}else f="i";return f}},Qx=Jx;class $x extends Ix.Generator{constructor(x){super(x??"Arduino"),this.ORDER_ATOMIC=0,this.ORDER_UNARY_POSTFIX=1,this.ORDER_UNARY_PREFIX=2,this.ORDER_MULTIPLICATIVE=3,this.ORDER_ADDITIVE=4,this.ORDER_SHIFT=5,this.ORDER_RELATIONAL=6,this.ORDER_EQUALITY=7,this.ORDER_BITWISE_AND=8,this.ORDER_BITWISE_XOR=9,this.ORDER_BITWISE_OR=10,this.ORDER_LOGICAL_AND=11,this.ORDER_LOGICAL_OR=12,this.ORDER_CONDITIONAL=13,this.ORDER_ASSIGNMENT=14,this.ORDER_NONE=99,this.INDENT=" ",this.isInitialized=!1,this.PASS="",this.addReservedWords("setup,loop,if,else,for,switch,case,while,do,break,continue,return,goto,define,include,HIGH,LOW,INPUT,OUTPUT,INPUT_PULLUP,true,false,interger,constants,floating,point,void,bookean,char,unsigned,byte,int,short,word,long,float,double,string,String,array,static,volatile,const,sizeof")}init(){super.init(),this.definitions_=Object.create(null),this.setups_=Object.create(null),this.setups_begin_=Object.create(null),this.setups_end_=Object.create(null),this.libs_=Object.create(null),this.loops_begin_=Object.create(null),this.loops_end_=Object.create(null),this.variableDB_?this.variableDB_.reset():this.variableDB_=new qx(this.RESERVED_WORDS_),this.isInitialized=!0}finish(x){x=(x=" "+x.replace(/\n/g,"\n ")).replace(/\n\s+$/,"\n");var e=[],f=[],t=[],i=[],n=Object.keys(this.definitions_);if(n.length)for(var s in n){var a=n[s],l=this.definitions_[a];a.match(/^define/)?f.push(l):a.match(/^include/)||l.match(/^WiFiClient/)?e.push(l):a.match(/^var_declare/)?t.push(l):i.push(l)}var c=[];for(let x in this.setups_)c.push(this.setups_[x]);var p=[],d=[];for(let x in this.setups_begin_)p.push(this.setups_begin_[x]);for(let x in this.setups_end_)d.push(this.setups_end_[x]);for(let x in this.libs_)e.push(`#include "${x}.h"`);var o=[],u=[];for(let x in this.loops_begin_)o.push(this.loops_begin_[x]);for(let x in this.loops_end_)u.push(this.loops_end_[x]);return x="void loop(){\n"+(o.length?" "+o.join("\n "):"")+x+(u.length?" "+u.join("\n "):"")+"\n}",(f.join("\n")+"\n"+e.join("\n")+"\n\n"+t.join("\n")+"\n\n"+i.join("\n")+"\n\nvoid setup(){\n "+p.join("\n ")+(p.length&&(d.length||c.length)?"\n ":"")+c.join("\n ")+(d.length&&c.length?"\n ":"")+d.join("\n ")+"\n}\n\n").replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n")+x}scrubNakedValue(x){return x+";\n"}quote_(x){return'"'+x+'"'}scrub_(x,e){if(null===e)return"";var f="";if(!x.outputConnection||!x.outputConnection.targetConnection){let e=x.getCommentText();e&&(f+=this.prefixLines(e,"// ")+"\n");for(var t=0;t0;i--)e.getInputTargetBlock("IF"+i)&&e.getInputTargetBlock("IF"+i).previousConnection?f[i]=e.getInputTargetBlock("IF"+i).previousConnection:f[i]=null,this.removeInput("IF"+i),e.getInputTargetBlock("DO"+i)&&e.getInputTargetBlock("DO"+i).previousConnection?t[i]=e.getInputTargetBlock("DO"+i).previousConnection:t[i]=null,this.removeInput("DO"+i);this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(i=1;i<=this.elseifCount_;i++)this.appendValueInput("IF"+i).setCheck([Boolean,Number]).appendField(Ix.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+i).appendField(Ix.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ix.Msg.CONTROLS_IF_MSG_ELSE);for(i=f.length-2;i>0;i--)f[i]&&f[i].reconnect(this,"IF"+i);for(i=t.length-2;i>0;i--)t[i]&&t[i].reconnect(this,"DO"+i)},decompose:function(x){var e=x.newBlock("controls_if_if");e.initSvg();for(var f=e.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_if_elseif");i.initSvg(),f.connect(i.previousConnection),f=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_if_else");n.initSvg(),f.connect(n.previousConnection)}return e},compose:function(x){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 f=x.getInputTargetBlock("STACK"),t=[null],i=[null],n=null;f;){switch(f.type){case"controls_if_elseif":this.elseifCount_++,t.push(f.valueConnection_),i.push(f.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=f.statementConnection_;break;default:throw Error("Unknown block type: "+f.type)}f=f.nextConnection&&f.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,i,n)},saveConnections:function(x){for(var e=x.getInputTargetBlock("STACK"),f=1;e;){switch(e.type){case"controls_if_elseif":var t=this.getInput("IF"+f),i=this.getInput("DO"+f);e.valueConnection_=t&&t.connection.targetConnection,e.statementConnection_=i&&i.connection.targetConnection,f++;break;case"controls_if_else":i=this.getInput("ELSE");e.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var x=[null],e=[null],f=null;this.getInput("ELSE")&&(f=this.getInput("ELSE").connection.targetConnection);for(var t=1;this.getInput("IF"+t);){var i=this.getInput("IF"+t),n=this.getInput("DO"+t);console.log(i.connection.targetConnection),x.push(i.connection.targetConnection),e.push(n.connection.targetConnection),t++}this.updateShape_(),this.reconnectChildBlocks_(x,e,f)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var x=1;this.getInput("IF"+x);)this.removeInput("IF"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendValueInput("IF"+x).setCheck([Number,Boolean]).appendField(Ix.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+x).appendField(Ix.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ix.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(x,e,f){for(var t=1;t<=this.elseifCount_;t++)x[t]&&x[t].reconnect(this,"IF"+t),e[t]&&e[t].reconnect(this,"DO"+t);f&&f.reconnect(this,"ELSE")}},Ei={init:function(){this.setColour(oi),this.appendDummyInput().appendField(Ix.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ix.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Ti={init:function(){this.setColour(oi),this.appendDummyInput().appendField(Ix.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},gi={init:function(){this.setColour(oi),this.appendDummyInput().appendField(Ix.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ix.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},mi={init:function(){this.setColour(oi),this.appendValueInput("IF0").setCheck([Number,Boolean]).appendField("switch"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#switch"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","switch 选择"]}},this.setMutator(new Ix.icons.MutatorIcon(["controls_case","controls_default"],this)),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),this.elseCount_&&x.setAttribute("else",1),x},domToMutation:function(x){this.compose(this),this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(var e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField("case"),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField("default")},decompose:function(x){var e=x.newBlock("controls_switch");e.initSvg();for(var f=e.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_case");i.initSvg(),f.connect(i.previousConnection),f=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_default");n.initSvg(),f.connect(n.previousConnection)}return e},compose:function(x){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 f=x.getInputTargetBlock("STACK");f;){switch(f.type){case"controls_case":this.elseifCount_++;var t=this.appendValueInput("IF"+this.elseifCount_).setCheck([Number,Boolean]).appendField("case"),i=this.appendStatementInput("DO"+this.elseifCount_);i.appendField(""),f.valueConnection_&&t.connection.connect(f.valueConnection_),f.statementConnection_&&i.connection.connect(f.statementConnection_);break;case"controls_default":this.elseCount_++;var n=this.appendStatementInput("ELSE");n.appendField("default"),f.statementConnection_&&n.connection.connect(f.statementConnection_);break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}},saveConnections:function(x){for(var e=x.getInputTargetBlock("STACK"),f=1;e;){switch(e.type){case"controls_case":var t=this.getInput("IF"+f),i=this.getInput("DO"+f);e.valueConnection_=t&&t.connection.targetConnection,e.statementConnection_=i&&i.connection.targetConnection,f++;break;case"controls_default":i=this.getInput("ELSE");e.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}}},Mi={init:function(){this.setColour(oi),this.appendDummyInput().appendField("switch"),this.appendStatementInput("STACK"),this.contextMenu=!1}},Ci={init:function(){this.setColour(oi),this.appendDummyInput().appendField("case"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},Oi={init:function(){this.setColour(oi),this.appendDummyInput().appendField("default"),this.setPreviousStatement(!0),this.contextMenu=!1}},Si={init:function(){this.setColour(oi),this.appendValueInput("TIME").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField("MsTimer2"+Ix.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(Ix.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#MsTimer2"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"]}}}},Ri={init:function(){this.setColour(oi),this.appendDummyInput().appendField("MsTimer2"+Ix.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id45"),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_START),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器启动"}}}},Ni={init:function(){this.setColour(oi),this.appendDummyInput().appendField("MsTimer2").appendField(Ix.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_STOP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id48"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器停止"}}}},Di={init:function(){this.setColour(oi),this.appendDummyInput().appendField(Ix.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},Pi={init:function(){this.setColour(oi),this.appendDummyInput().appendField(Ix.Msg.SOFT_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},Li={init:function(){this.setColour(oi),this.appendDummyInput().appendField(Ix.Msg.MIXLY_CONTROL_INTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_CONTROL_ALLOW_INTERRUPT),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id51"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"允许中断"}}}},bi={init:function(){this.setColour(oi),this.appendDummyInput().appendField(Ix.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id55"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"禁止中断"}}}},yi=ri,vi={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_SIMPLE_TIMER).appendField(new Ix.FieldDropdown([["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"]]),"NO").appendField(Ix.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("timein").setCheck(null),this.appendDummyInput().appendField(Ix.Msg.MIXLY_mSecond),this.appendStatementInput("zxhs").setCheck(null).appendField(Ix.Msg.CONTROLS_REPEAT_INPUT_DO),this.setColour(120),this.setTooltip(),this.setHelpUrl(""),this.wiki={"zh-hans":{page:["Arduino AVR","控制","简单定时器"]}}}},wi={init:function(){this.appendStatementInput("input_data").setCheck(null).appendField(Ix.Msg.MIXLY_DO),this.appendValueInput("select_data").setCheck(null).appendField(Ix.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Ix.FieldDropdown([[Ix.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ix.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Vi={init:function(){this.appendDummyInput().appendField(Ix.Msg.super_delay_function).appendField(new Ix.FieldDropdown([["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"]]),"number"),this.appendStatementInput("delay_function").setCheck(null),this.setColour(120),this.setTooltip(Ix.Msg.super_delay_function_help),this.setHelpUrl("")}},Yi={init:function(){this.appendDummyInput().appendField(Ix.Msg.execute_super_delay_function).appendField(new Ix.FieldDropdown([["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"]]),"number"),this.appendValueInput("time_interval").setCheck(null).appendField(Ix.Msg.time_interval),this.appendValueInput("frequency").setCheck(null).appendField(Ix.Msg.number_of_executions),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip(Ix.Msg.execute_super_delay_function_help),this.setHelpUrl("")}},ki=layui,Xi=$;var Gi=f.n(Xi);const{layer:Bi}=ki,Ui=180;var Hi=[[Ix.Msg.OLED_HOLLOW,"draw"],[Ix.Msg.OLED_SOLID,"fill"]];const Wi={init:function(){this.setColour(Ui),this.appendValueInput("device").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_SETUP).appendField(Ix.Msg.MIXLY_DF_LCD).appendField(new Ix.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new Ix.FieldTextInput("mylcd"),"VAR").appendField(Ix.Msg.MIXLY_LCD_ADDRESS),this.appendDummyInput("").appendField("SCL").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"SCL").appendField("SDA").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_LCD_INIT2),this.setFieldValue(Ax.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Ax.Profile.default.SDA[0][1],"SDA")}},ji={init:function(){this.setColour(Ui),this.appendDummyInput().setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_SETUP).appendField(Ix.Msg.MIXLY_DF_LCD).appendField(new Ix.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new Ix.FieldTextInput("mylcd"),"VAR").setAlign(Ix.inputs.Align.LEFT),this.appendDummyInput().appendField("RS").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"RS").appendField("EN").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"EN").appendField("D4").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"D4").appendField("D5").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"D5").appendField("D6").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"D6").appendField("D7").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"D7"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_LCD_INIT3)}},Ki={init:function(){this.setColour(Ui),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DF_LCD).appendField(new Ix.FieldTextInput("mylcd"),"VAR").appendField(Ix.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_LCD_PRINT)}},qi={init:function(){this.setColour(Ui),this.appendValueInput("row",Number).setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DF_LCD).appendField(new Ix.FieldTextInput("mylcd"),"VAR").appendField(Ix.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace("%1",Ix.Arduino.valueToCode(this,"row",Ix.Arduino.ORDER_ATOMIC)).replace("%2",Ix.Arduino.valueToCode(this,"column",Ix.Arduino.ORDER_ATOMIC)))}},zi={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_DF_LCD).appendField(new Ix.FieldTextInput("mylcd"),"VAR").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_ON,"display"],[Ix.Msg.MIXLY_OFF,"noDisplay"],[Ix.Msg.MIXLY_LCD_STAT_CURSOR,"cursor"],[Ix.Msg.MIXLY_LCD_STAT_NOCURSOR,"noCursor"],[Ix.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[Ix.Msg.MIXLY_LCD_STAT_NOBLINK,"noBlink"],[Ix.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ix.Msg.MIXLY_LCD_NOBACKLIGHT,"noBacklight"],[Ix.Msg.MIXLY_LCD_BACKLIGHT,"backlight"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_LCD_POWER)}},Zi={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_ON,"displayOn"],[Ix.Msg.MIXLY_OFF,"displayOff"],[Ix.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Ji={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"_TM1650"),this.appendValueInput("VALUE").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.OLED_DRAWSTR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString)}},Qi={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY_NOMBER1).appendField(new Ix.FieldDropdown([["1","0"],["2","1"],["3","2"],["4","3"]]),"NO").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY_NOMBER2).appendField(Ix.Msg.MIXLY_4DIGITDISPLAY_DOT).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_4DIGITDISPLAY_ON,"true"],[Ix.Msg.MIXLY_4DIGITDISPLAY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},$i={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.MIXLY_SETUP).appendField("CLK").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"CLK").appendField("DIO").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},xn={init:function(){this.setColour(Ui),this.appendValueInput("VALUE").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP)}},en={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_ON,"true"],[Ix.Msg.MIXLY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},fn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},tn={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ix.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[Ix.Msg.MIXLY_ON,"on"],[Ix.Msg.MIXLY_OFF,"off"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},nn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_INIT),this.appendDummyInput("").appendField("SCL").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"SCL").appendField("SDA").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT),this.setFieldValue(Ax.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Ax.Profile.default.SDA[0][1],"SDA")}},sn={init:function(){this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MAX7219_INIT),this.appendValueInput("PIN1").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField("DIN(MOSI)").appendField(Ix.Msg.MIXLY_PIN),this.appendValueInput("PIN2").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField("CS").appendField(Ix.Msg.MIXLY_PIN),this.appendValueInput("PIN3").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField("CLK(SCK)").appendField(Ix.Msg.MIXLY_PIN),this.appendValueInput("hDisplays").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MAX7219_HDISPALY),this.appendValueInput("vDisplays").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MAX7219_VDISPALY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ui),this.setInputsInline(!1),this.setTooltip(Ix.Msg.MAX7219_INIT_TOOLTIP),this.setHelpUrl("")}};var an=[["MAX7219","MAX7219"],["HT16K33","HT16K33"]];const ln={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField(new Ix.FieldDropdown(an),"TYPE"),this.appendValueInput("XVALUE").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendValueInput("STAT").appendField(Ix.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.appendDummyInput("").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ix.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}};var cn=[[Ix.Msg.MIXLY_0DEGREE,"0"],[Ix.Msg.MIXLY_90DEGREE,"3"],[Ix.Msg.MIXLY_180DEGREE,"2"],[Ix.Msg.MIXLY_270DEGREE,"1"]];const pn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MAX7219_NO),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Ix.FieldDropdown(cn),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},dn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MAX7219_NO),this.appendValueInput("X").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField("X"),this.appendValueInput("Y").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField("Y"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},on={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField("HT16K33"),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Ix.FieldDropdown(cn),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},un={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField(new Ix.FieldDropdown(an),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.texttodisplay),this.appendValueInput("Speed").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},rn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField(new Ix.FieldDropdown(an),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.texttodisplay),this.appendDummyInput("").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ix.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},_n={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField(new Ix.FieldDropdown(an),"TYPE").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ix.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.appendValueInput("NO").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MAX7219_NO),this.appendValueInput("LEDArray").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR)}},hn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ix.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a81").appendField(new Ix.FieldCheckbox("FALSE"),"a82").appendField(new Ix.FieldCheckbox("FALSE"),"a83").appendField(new Ix.FieldCheckbox("FALSE"),"a84").appendField(new Ix.FieldCheckbox("FALSE"),"a85").appendField(new Ix.FieldCheckbox("FALSE"),"a86").appendField(new Ix.FieldCheckbox("FALSE"),"a87").appendField(new Ix.FieldCheckbox("FALSE"),"a88"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a71").appendField(new Ix.FieldCheckbox("FALSE"),"a72").appendField(new Ix.FieldCheckbox("FALSE"),"a73").appendField(new Ix.FieldCheckbox("FALSE"),"a74").appendField(new Ix.FieldCheckbox("FALSE"),"a75").appendField(new Ix.FieldCheckbox("FALSE"),"a76").appendField(new Ix.FieldCheckbox("FALSE"),"a77").appendField(new Ix.FieldCheckbox("FALSE"),"a78"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a61").appendField(new Ix.FieldCheckbox("FALSE"),"a62").appendField(new Ix.FieldCheckbox("FALSE"),"a63").appendField(new Ix.FieldCheckbox("FALSE"),"a64").appendField(new Ix.FieldCheckbox("FALSE"),"a65").appendField(new Ix.FieldCheckbox("FALSE"),"a66").appendField(new Ix.FieldCheckbox("FALSE"),"a67").appendField(new Ix.FieldCheckbox("FALSE"),"a68"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a51").appendField(new Ix.FieldCheckbox("FALSE"),"a52").appendField(new Ix.FieldCheckbox("FALSE"),"a53").appendField(new Ix.FieldCheckbox("FALSE"),"a54").appendField(new Ix.FieldCheckbox("FALSE"),"a55").appendField(new Ix.FieldCheckbox("FALSE"),"a56").appendField(new Ix.FieldCheckbox("FALSE"),"a57").appendField(new Ix.FieldCheckbox("FALSE"),"a58"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a41").appendField(new Ix.FieldCheckbox("FALSE"),"a42").appendField(new Ix.FieldCheckbox("FALSE"),"a43").appendField(new Ix.FieldCheckbox("FALSE"),"a44").appendField(new Ix.FieldCheckbox("FALSE"),"a45").appendField(new Ix.FieldCheckbox("FALSE"),"a46").appendField(new Ix.FieldCheckbox("FALSE"),"a47").appendField(new Ix.FieldCheckbox("FALSE"),"a48"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a31").appendField(new Ix.FieldCheckbox("FALSE"),"a32").appendField(new Ix.FieldCheckbox("FALSE"),"a33").appendField(new Ix.FieldCheckbox("FALSE"),"a34").appendField(new Ix.FieldCheckbox("FALSE"),"a35").appendField(new Ix.FieldCheckbox("FALSE"),"a36").appendField(new Ix.FieldCheckbox("FALSE"),"a37").appendField(new Ix.FieldCheckbox("FALSE"),"a38"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a21").appendField(new Ix.FieldCheckbox("FALSE"),"a22").appendField(new Ix.FieldCheckbox("FALSE"),"a23").appendField(new Ix.FieldCheckbox("FALSE"),"a24").appendField(new Ix.FieldCheckbox("FALSE"),"a25").appendField(new Ix.FieldCheckbox("FALSE"),"a26").appendField(new Ix.FieldCheckbox("FALSE"),"a27").appendField(new Ix.FieldCheckbox("FALSE"),"a28"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a11").appendField(new Ix.FieldCheckbox("FALSE"),"a12").appendField(new Ix.FieldCheckbox("FALSE"),"a13").appendField(new Ix.FieldCheckbox("FALSE"),"a14").appendField(new Ix.FieldCheckbox("FALSE"),"a15").appendField(new Ix.FieldCheckbox("FALSE"),"a16").appendField(new Ix.FieldCheckbox("FALSE"),"a17").appendField(new Ix.FieldCheckbox("FALSE"),"a18"),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY)}},Fn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ix.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").setAlign(Ix.inputs.Align.CENTRE).appendField(new Ix.FieldBitmap([[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},In={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField(new Ix.FieldDropdown(an),"TYPE"),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_BRIGHTNESS),this.setTooltip(Ix.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}};var An=[[Ix.Msg.MAX7219_FILLSCREEN_ON,"fillScreen(1)"],[Ix.Msg.MAX7219_FILLSCREEN_OFF,"fillScreen(0)"]];const En={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField(new Ix.FieldDropdown(an),"TYPE"),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_STAT),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldDropdown(An),"FILLSCREEN_TYPE"),this.appendDummyInput("").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ix.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS)}},Tn={init:function(){this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MAX7219_IMG).appendField(new Ix.FieldDropdown([["↑","18181818db7e3c18"],["↓","183c7edb18181818"],["←","080c06ffff060c08"],["→","103060ffff603010"],["♥","183c7effffffe742"],["▲","00000000ff7e3c18"],["▼","183c7eff00000000"],["◄","080c0e0f0f0e0c08"],["►","103070f0f0703010"],["△","00000000ff422418"],["▽","182442ff00000000"],["☺","3c4299a581a5423c"],["○","3c4281818181423c"],["◑","3c72f1f1f1f1723c"],["◐","3c4e8f8f8f8f4e3c"],["¥","101010ff10ff2442"],["Χ","8142241818244281"],["√","0000010204885020"],["□","007e424242427e00"],["▣","007e425a5a427e00"],["◇","1824428181422418"],["♀","083e081c2222221c"],["♂","0e1b111b9ea0c0f0"],["♪","061f1e1010d07030"],["✈","203098ffff983020"],["卍","00f21212fe90909e"],["卐","009e9090fe1212f2"],["|","1010101010101010"],["—","000000ff00000000"],["╱","0102040810204080"],["\","8040201008040201"],["大","41221408087f0808"],["中","1010fe9292fe1010"],["小","0e08492a2a080808"],["米","00925438fe385492"],["正","7f0a0a3a08087f00"],["囧","ffa5a5bdc3a5a5ff"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(Ui),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR),this.setHelpUrl("")}},gn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MATRIX_TYPE).appendField(new Ix.FieldDropdown(an),"TYPE").appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}};var mn=[[Ix.Msg.OLED_HOR,"H"],[Ix.Msg.OLED_VER,"V"]],Mn=[[Ix.Msg.OLED_HOLLOW,"drawFrame"],[Ix.Msg.OLED_SOLID,"drawBox"]],Cn=[[Ix.Msg.OLED_HOLLOW,"drawCircle"],[Ix.Msg.OLED_SOLID,"drawDisc"]],On=[[Ix.Msg.OLED_HOLLOW,"drawRFrame"],[Ix.Msg.OLED_SOLID,"drawRBox"]],Sn=[[Ix.Msg.OLED_WHOLE_CICILE,"U8G2_DRAW_ALL"],[Ix.Msg.OLED_UP_R,"U8G2_DRAW_UPPER_RIGHT"],[Ix.Msg.OLED_UP_L,"U8G2_DRAW_UPPER_LEFT"],[Ix.Msg.OLED_LOW_R,"U8G2_DRAW_LOWER_RIGHT"],[Ix.Msg.OLED_LOW_L,"U8G2_DRAW_LOWER_LEFT"]],Rn=[[Ix.Msg.OLED_HOLLOW,"drawEllipse"],[Ix.Msg.OLED_SOLID,"drawFilledEllipse"]],Nn=[["Times New Roman","tim"],["Helvetica","helv"],["ncen","ncen"],["courier new","cour"]],Dn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["SSD1306(128×32)","SSD1306_128X32_UNIVISION"],["SH1106(128×64)","SH1106_128X64_NONAME"]],Pn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["LCM12864","ST7565_NHD_C12864"],["NOKIA5110","PCD8544_84X48"]],Ln=[[Ix.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 0°","U8G2_R0"],[Ix.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 90°","U8G2_R1"],[Ix.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 180°","U8G2_R2"],[Ix.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 270°","U8G2_R3"],[Ix.Msg.MIRROR,"U8G2_MIRROR"]],bn=[["08","08"],["10","10"],["12","12"],["14","14"],["18","18"],["24","24"]],yn=[["常规","R"],["加粗","B"]],vn=[[Ix.Msg.OLED_FONT_chinese1,"_t_chinese1"],[Ix.Msg.OLED_FONT_chinese2,"_t_chinese2"],[Ix.Msg.OLED_FONT_chinese3,"_t_chinese3"],[Ix.Msg.OLED_FONT_gb2312a,"_t_gb2312a"],[Ix.Msg.OLED_FONT_gb2312b,"_t_gb2312b"],[Ix.Msg.OLED_FONT_gb2312,"_t_gb2312"]],wn=[["12","wqy12"],["13","wqy13"],["14","wqy14"],["15","wqy15"],["16","wqy16"]],Vn=[[{src:"../common/media/oled_icons/64.png",width:24,height:24,alt:"64"},"64"],[{src:"../common/media/oled_icons/65.png",width:24,height:24,alt:"65"},"65"],[{src:"../common/media/oled_icons/66.png",width:24,height:24,alt:"66"},"66"],[{src:"../common/media/oled_icons/67.png",width:24,height:24,alt:"67"},"67"],[{src:"../common/media/oled_icons/68.png",width:24,height:24,alt:"68"},"68"],[{src:"../common/media/oled_icons/69.png",width:24,height:24,alt:"69"},"69"],[{src:"../common/media/oled_icons/70.png",width:24,height:24,alt:"70"},"70"],[{src:"../common/media/oled_icons/71.png",width:24,height:24,alt:"71"},"71"],[{src:"../common/media/oled_icons/72.png",width:24,height:24,alt:"72"},"72"],[{src:"../common/media/oled_icons/73.png",width:24,height:24,alt:"73"},"73"],[{src:"../common/media/oled_icons/74.png",width:24,height:24,alt:"74"},"74"],[{src:"../common/media/oled_icons/75.png",width:24,height:24,alt:"75"},"75"],[{src:"../common/media/oled_icons/76.png",width:24,height:24,alt:"76"},"76"],[{src:"../common/media/oled_icons/77.png",width:24,height:24,alt:"77"},"77"],[{src:"../common/media/oled_icons/78.png",width:24,height:24,alt:"78"},"78"],[{src:"../common/media/oled_icons/79.png",width:24,height:24,alt:"79"},"79"],[{src:"../common/media/oled_icons/80.png",width:24,height:24,alt:"80"},"80"],[{src:"../common/media/oled_icons/81.png",width:24,height:24,alt:"81"},"81"],[{src:"../common/media/oled_icons/82.png",width:24,height:24,alt:"82"},"82"],[{src:"../common/media/oled_icons/83.png",width:24,height:24,alt:"83"},"83"],[{src:"../common/media/oled_icons/84.png",width:24,height:24,alt:"84"},"84"],[{src:"../common/media/oled_icons/85.png",width:24,height:24,alt:"85"},"85"],[{src:"../common/media/oled_icons/86.png",width:24,height:24,alt:"86"},"86"],[{src:"../common/media/oled_icons/87.png",width:24,height:24,alt:"87"},"87"],[{src:"../common/media/oled_icons/88.png",width:24,height:24,alt:"88"},"88"],[{src:"../common/media/oled_icons/89.png",width:24,height:24,alt:"89"},"89"],[{src:"../common/media/oled_icons/90.png",width:24,height:24,alt:"90"},"90"],[{src:"../common/media/oled_icons/91.png",width:24,height:24,alt:"91"},"91"],[{src:"../common/media/oled_icons/92.png",width:24,height:24,alt:"92"},"92"],[{src:"../common/media/oled_icons/93.png",width:24,height:24,alt:"93"},"93"],[{src:"../common/media/oled_icons/94.png",width:24,height:24,alt:"94"},"94"],[{src:"../common/media/oled_icons/95.png",width:24,height:24,alt:"95"},"95"],[{src:"../common/media/oled_icons/96.png",width:24,height:24,alt:"96"},"96"],[{src:"../common/media/oled_icons/97.png",width:24,height:24,alt:"97"},"97"],[{src:"../common/media/oled_icons/98.png",width:24,height:24,alt:"98"},"98"],[{src:"../common/media/oled_icons/99.png",width:24,height:24,alt:"99"},"99"],[{src:"../common/media/oled_icons/100.png",width:24,height:24,alt:"100"},"100"],[{src:"../common/media/oled_icons/101.png",width:24,height:24,alt:"101"},"101"],[{src:"../common/media/oled_icons/102.png",width:24,height:24,alt:"102"},"102"],[{src:"../common/media/oled_icons/103.png",width:24,height:24,alt:"103"},"103"],[{src:"../common/media/oled_icons/104.png",width:24,height:24,alt:"104"},"104"],[{src:"../common/media/oled_icons/105.png",width:24,height:24,alt:"105"},"105"],[{src:"../common/media/oled_icons/106.png",width:24,height:24,alt:"106"},"106"],[{src:"../common/media/oled_icons/107.png",width:24,height:24,alt:"107"},"107"],[{src:"../common/media/oled_icons/108.png",width:24,height:24,alt:"108"},"108"],[{src:"../common/media/oled_icons/109.png",width:24,height:24,alt:"109"},"109"],[{src:"../common/media/oled_icons/110.png",width:24,height:24,alt:"110"},"110"],[{src:"../common/media/oled_icons/111.png",width:24,height:24,alt:"111"},"111"],[{src:"../common/media/oled_icons/112.png",width:24,height:24,alt:"112"},"112"],[{src:"../common/media/oled_icons/113.png",width:24,height:24,alt:"113"},"113"],[{src:"../common/media/oled_icons/114.png",width:24,height:24,alt:"114"},"114"],[{src:"../common/media/oled_icons/115.png",width:24,height:24,alt:"115"},"115"],[{src:"../common/media/oled_icons/116.png",width:24,height:24,alt:"116"},"116"],[{src:"../common/media/oled_icons/117.png",width:24,height:24,alt:"117"},"117"],[{src:"../common/media/oled_icons/118.png",width:24,height:24,alt:"118"},"118"],[{src:"../common/media/oled_icons/119.png",width:24,height:24,alt:"119"},"119"],[{src:"../common/media/oled_icons/120.png",width:24,height:24,alt:"120"},"120"],[{src:"../common/media/oled_icons/121.png",width:24,height:24,alt:"121"},"121"],[{src:"../common/media/oled_icons/122.png",width:24,height:24,alt:"122"},"122"],[{src:"../common/media/oled_icons/123.png",width:24,height:24,alt:"123"},"123"],[{src:"../common/media/oled_icons/124.png",width:24,height:24,alt:"124"},"124"],[{src:"../common/media/oled_icons/125.png",width:24,height:24,alt:"125"},"125"],[{src:"../common/media/oled_icons/126.png",width:24,height:24,alt:"126"},"126"],[{src:"../common/media/oled_icons/127.png",width:24,height:24,alt:"127"},"127"],[{src:"../common/media/oled_icons/128.png",width:24,height:24,alt:"128"},"128"],[{src:"../common/media/oled_icons/129.png",width:24,height:24,alt:"129"},"129"],[{src:"../common/media/oled_icons/130.png",width:24,height:24,alt:"130"},"130"],[{src:"../common/media/oled_icons/131.png",width:24,height:24,alt:"131"},"131"],[{src:"../common/media/oled_icons/132.png",width:24,height:24,alt:"132"},"132"],[{src:"../common/media/oled_icons/133.png",width:24,height:24,alt:"133"},"133"],[{src:"../common/media/oled_icons/134.png",width:24,height:24,alt:"134"},"134"],[{src:"../common/media/oled_icons/135.png",width:24,height:24,alt:"135"},"135"],[{src:"../common/media/oled_icons/136.png",width:24,height:24,alt:"136"},"136"],[{src:"../common/media/oled_icons/137.png",width:24,height:24,alt:"137"},"137"],[{src:"../common/media/oled_icons/138.png",width:24,height:24,alt:"138"},"138"],[{src:"../common/media/oled_icons/139.png",width:24,height:24,alt:"139"},"139"],[{src:"../common/media/oled_icons/140.png",width:24,height:24,alt:"140"},"140"],[{src:"../common/media/oled_icons/141.png",width:24,height:24,alt:"141"},"141"],[{src:"../common/media/oled_icons/142.png",width:24,height:24,alt:"142"},"142"],[{src:"../common/media/oled_icons/143.png",width:24,height:24,alt:"143"},"143"],[{src:"../common/media/oled_icons/144.png",width:24,height:24,alt:"144"},"144"],[{src:"../common/media/oled_icons/145.png",width:24,height:24,alt:"145"},"145"],[{src:"../common/media/oled_icons/146.png",width:24,height:24,alt:"146"},"146"],[{src:"../common/media/oled_icons/147.png",width:24,height:24,alt:"147"},"147"],[{src:"../common/media/oled_icons/148.png",width:24,height:24,alt:"148"},"148"],[{src:"../common/media/oled_icons/149.png",width:24,height:24,alt:"149"},"149"],[{src:"../common/media/oled_icons/150.png",width:24,height:24,alt:"150"},"150"],[{src:"../common/media/oled_icons/151.png",width:24,height:24,alt:"151"},"151"],[{src:"../common/media/oled_icons/152.png",width:24,height:24,alt:"152"},"152"],[{src:"../common/media/oled_icons/153.png",width:24,height:24,alt:"153"},"153"],[{src:"../common/media/oled_icons/154.png",width:24,height:24,alt:"154"},"154"],[{src:"../common/media/oled_icons/155.png",width:24,height:24,alt:"155"},"155"],[{src:"../common/media/oled_icons/156.png",width:24,height:24,alt:"156"},"156"],[{src:"../common/media/oled_icons/157.png",width:24,height:24,alt:"157"},"157"],[{src:"../common/media/oled_icons/158.png",width:24,height:24,alt:"158"},"158"],[{src:"../common/media/oled_icons/159.png",width:24,height:24,alt:"159"},"159"],[{src:"../common/media/oled_icons/160.png",width:24,height:24,alt:"160"},"160"],[{src:"../common/media/oled_icons/161.png",width:24,height:24,alt:"161"},"161"],[{src:"../common/media/oled_icons/162.png",width:24,height:24,alt:"162"},"162"],[{src:"../common/media/oled_icons/163.png",width:24,height:24,alt:"163"},"163"],[{src:"../common/media/oled_icons/164.png",width:24,height:24,alt:"164"},"164"],[{src:"../common/media/oled_icons/165.png",width:24,height:24,alt:"165"},"165"],[{src:"../common/media/oled_icons/166.png",width:24,height:24,alt:"166"},"166"],[{src:"../common/media/oled_icons/167.png",width:24,height:24,alt:"167"},"167"],[{src:"../common/media/oled_icons/168.png",width:24,height:24,alt:"168"},"168"],[{src:"../common/media/oled_icons/169.png",width:24,height:24,alt:"169"},"169"],[{src:"../common/media/oled_icons/170.png",width:24,height:24,alt:"170"},"170"],[{src:"../common/media/oled_icons/171.png",width:24,height:24,alt:"171"},"171"],[{src:"../common/media/oled_icons/172.png",width:24,height:24,alt:"172"},"172"],[{src:"../common/media/oled_icons/173.png",width:24,height:24,alt:"173"},"173"],[{src:"../common/media/oled_icons/174.png",width:24,height:24,alt:"174"},"174"],[{src:"../common/media/oled_icons/175.png",width:24,height:24,alt:"175"},"175"],[{src:"../common/media/oled_icons/176.png",width:24,height:24,alt:"176"},"176"],[{src:"../common/media/oled_icons/177.png",width:24,height:24,alt:"177"},"177"],[{src:"../common/media/oled_icons/178.png",width:24,height:24,alt:"178"},"178"],[{src:"../common/media/oled_icons/179.png",width:24,height:24,alt:"179"},"179"],[{src:"../common/media/oled_icons/180.png",width:24,height:24,alt:"180"},"180"],[{src:"../common/media/oled_icons/181.png",width:24,height:24,alt:"181"},"181"],[{src:"../common/media/oled_icons/182.png",width:24,height:24,alt:"182"},"182"],[{src:"../common/media/oled_icons/183.png",width:24,height:24,alt:"183"},"183"],[{src:"../common/media/oled_icons/184.png",width:24,height:24,alt:"184"},"184"],[{src:"../common/media/oled_icons/185.png",width:24,height:24,alt:"185"},"185"],[{src:"../common/media/oled_icons/186.png",width:24,height:24,alt:"186"},"186"],[{src:"../common/media/oled_icons/187.png",width:24,height:24,alt:"187"},"187"],[{src:"../common/media/oled_icons/188.png",width:24,height:24,alt:"188"},"188"],[{src:"../common/media/oled_icons/189.png",width:24,height:24,alt:"189"},"189"],[{src:"../common/media/oled_icons/190.png",width:24,height:24,alt:"190"},"190"],[{src:"../common/media/oled_icons/191.png",width:24,height:24,alt:"191"},"191"],[{src:"../common/media/oled_icons/192.png",width:24,height:24,alt:"192"},"192"],[{src:"../common/media/oled_icons/193.png",width:24,height:24,alt:"193"},"193"],[{src:"../common/media/oled_icons/194.png",width:24,height:24,alt:"194"},"194"],[{src:"../common/media/oled_icons/195.png",width:24,height:24,alt:"195"},"195"],[{src:"../common/media/oled_icons/196.png",width:24,height:24,alt:"196"},"196"],[{src:"../common/media/oled_icons/197.png",width:24,height:24,alt:"197"},"197"],[{src:"../common/media/oled_icons/198.png",width:24,height:24,alt:"198"},"198"],[{src:"../common/media/oled_icons/199.png",width:24,height:24,alt:"199"},"199"],[{src:"../common/media/oled_icons/200.png",width:24,height:24,alt:"200"},"200"],[{src:"../common/media/oled_icons/201.png",width:24,height:24,alt:"201"},"201"],[{src:"../common/media/oled_icons/202.png",width:24,height:24,alt:"202"},"202"],[{src:"../common/media/oled_icons/203.png",width:24,height:24,alt:"203"},"203"],[{src:"../common/media/oled_icons/204.png",width:24,height:24,alt:"204"},"204"],[{src:"../common/media/oled_icons/205.png",width:24,height:24,alt:"205"},"205"],[{src:"../common/media/oled_icons/206.png",width:24,height:24,alt:"206"},"206"],[{src:"../common/media/oled_icons/207.png",width:24,height:24,alt:"207"},"207"],[{src:"../common/media/oled_icons/208.png",width:24,height:24,alt:"208"},"208"],[{src:"../common/media/oled_icons/209.png",width:24,height:24,alt:"209"},"209"],[{src:"../common/media/oled_icons/210.png",width:24,height:24,alt:"210"},"210"],[{src:"../common/media/oled_icons/211.png",width:24,height:24,alt:"211"},"211"],[{src:"../common/media/oled_icons/212.png",width:24,height:24,alt:"212"},"212"],[{src:"../common/media/oled_icons/213.png",width:24,height:24,alt:"213"},"213"],[{src:"../common/media/oled_icons/214.png",width:24,height:24,alt:"214"},"214"],[{src:"../common/media/oled_icons/215.png",width:24,height:24,alt:"215"},"215"],[{src:"../common/media/oled_icons/216.png",width:24,height:24,alt:"216"},"216"],[{src:"../common/media/oled_icons/217.png",width:24,height:24,alt:"217"},"217"],[{src:"../common/media/oled_icons/218.png",width:24,height:24,alt:"218"},"218"],[{src:"../common/media/oled_icons/219.png",width:24,height:24,alt:"219"},"219"],[{src:"../common/media/oled_icons/220.png",width:24,height:24,alt:"220"},"220"],[{src:"../common/media/oled_icons/221.png",width:24,height:24,alt:"221"},"221"],[{src:"../common/media/oled_icons/222.png",width:24,height:24,alt:"222"},"222"],[{src:"../common/media/oled_icons/223.png",width:24,height:24,alt:"223"},"223"],[{src:"../common/media/oled_icons/224.png",width:24,height:24,alt:"224"},"224"],[{src:"../common/media/oled_icons/225.png",width:24,height:24,alt:"225"},"225"],[{src:"../common/media/oled_icons/226.png",width:24,height:24,alt:"226"},"226"],[{src:"../common/media/oled_icons/227.png",width:24,height:24,alt:"227"},"227"],[{src:"../common/media/oled_icons/228.png",width:24,height:24,alt:"228"},"228"],[{src:"../common/media/oled_icons/229.png",width:24,height:24,alt:"229"},"229"],[{src:"../common/media/oled_icons/230.png",width:24,height:24,alt:"230"},"230"],[{src:"../common/media/oled_icons/231.png",width:24,height:24,alt:"231"},"231"],[{src:"../common/media/oled_icons/232.png",width:24,height:24,alt:"232"},"232"],[{src:"../common/media/oled_icons/233.png",width:24,height:24,alt:"233"},"233"],[{src:"../common/media/oled_icons/234.png",width:24,height:24,alt:"234"},"234"],[{src:"../common/media/oled_icons/235.png",width:24,height:24,alt:"235"},"235"],[{src:"../common/media/oled_icons/236.png",width:24,height:24,alt:"236"},"236"],[{src:"../common/media/oled_icons/237.png",width:24,height:24,alt:"237"},"237"],[{src:"../common/media/oled_icons/238.png",width:24,height:24,alt:"238"},"238"],[{src:"../common/media/oled_icons/239.png",width:24,height:24,alt:"239"},"239"],[{src:"../common/media/oled_icons/240.png",width:24,height:24,alt:"240"},"240"],[{src:"../common/media/oled_icons/241.png",width:24,height:24,alt:"241"},"241"],[{src:"../common/media/oled_icons/242.png",width:24,height:24,alt:"242"},"242"],[{src:"../common/media/oled_icons/243.png",width:24,height:24,alt:"243"},"243"],[{src:"../common/media/oled_icons/244.png",width:24,height:24,alt:"244"},"244"],[{src:"../common/media/oled_icons/245.png",width:24,height:24,alt:"245"},"245"],[{src:"../common/media/oled_icons/246.png",width:24,height:24,alt:"246"},"246"],[{src:"../common/media/oled_icons/247.png",width:24,height:24,alt:"247"},"247"],[{src:"../common/media/oled_icons/248.png",width:24,height:24,alt:"248"},"248"],[{src:"../common/media/oled_icons/249.png",width:24,height:24,alt:"249"},"249"],[{src:"../common/media/oled_icons/250.png",width:24,height:24,alt:"250"},"250"],[{src:"../common/media/oled_icons/251.png",width:24,height:24,alt:"251"},"251"],[{src:"../common/media/oled_icons/252.png",width:24,height:24,alt:"252"},"252"],[{src:"../common/media/oled_icons/253.png",width:24,height:24,alt:"253"},"253"],[{src:"../common/media/oled_icons/254.png",width:24,height:24,alt:"254"},"254"],[{src:"../common/media/oled_icons/255.png",width:24,height:24,alt:"255"},"255"],[{src:"../common/media/oled_icons/256.png",width:24,height:24,alt:"256"},"256"],[{src:"../common/media/oled_icons/257.png",width:24,height:24,alt:"257"},"257"],[{src:"../common/media/oled_icons/258.png",width:24,height:24,alt:"258"},"258"],[{src:"../common/media/oled_icons/259.png",width:24,height:24,alt:"259"},"259"],[{src:"../common/media/oled_icons/260.png",width:24,height:24,alt:"260"},"260"],[{src:"../common/media/oled_icons/261.png",width:24,height:24,alt:"261"},"261"],[{src:"../common/media/oled_icons/262.png",width:24,height:24,alt:"262"},"262"],[{src:"../common/media/oled_icons/263.png",width:24,height:24,alt:"263"},"263"],[{src:"../common/media/oled_icons/264.png",width:24,height:24,alt:"264"},"264"],[{src:"../common/media/oled_icons/265.png",width:24,height:24,alt:"265"},"265"],[{src:"../common/media/oled_icons/266.png",width:24,height:24,alt:"266"},"266"],[{src:"../common/media/oled_icons/267.png",width:24,height:24,alt:"267"},"267"],[{src:"../common/media/oled_icons/268.png",width:24,height:24,alt:"268"},"268"],[{src:"../common/media/oled_icons/269.png",width:24,height:24,alt:"269"},"269"],[{src:"../common/media/oled_icons/270.png",width:24,height:24,alt:"270"},"270"],[{src:"../common/media/oled_icons/271.png",width:24,height:24,alt:"271"},"271"],[{src:"../common/media/oled_icons/272.png",width:24,height:24,alt:"272"},"272"],[{src:"../common/media/oled_icons/273.png",width:24,height:24,alt:"273"},"273"],[{src:"../common/media/oled_icons/274.png",width:24,height:24,alt:"274"},"274"],[{src:"../common/media/oled_icons/275.png",width:24,height:24,alt:"275"},"275"],[{src:"../common/media/oled_icons/276.png",width:24,height:24,alt:"276"},"276"],[{src:"../common/media/oled_icons/277.png",width:24,height:24,alt:"277"},"277"],[{src:"../common/media/oled_icons/278.png",width:24,height:24,alt:"278"},"278"],[{src:"../common/media/oled_icons/279.png",width:24,height:24,alt:"279"},"279"],[{src:"../common/media/oled_icons/280.png",width:24,height:24,alt:"280"},"280"],[{src:"../common/media/oled_icons/281.png",width:24,height:24,alt:"281"},"281"],[{src:"../common/media/oled_icons/282.png",width:24,height:24,alt:"282"},"282"],[{src:"../common/media/oled_icons/283.png",width:24,height:24,alt:"283"},"283"],[{src:"../common/media/oled_icons/284.png",width:24,height:24,alt:"284"},"284"],[{src:"../common/media/oled_icons/285.png",width:24,height:24,alt:"285"},"285"],[{src:"../common/media/oled_icons/286.png",width:24,height:24,alt:"286"},"286"]],Yn=[[{src:"../common/media/oled_icons/face/Eyes/Angry.png",width:35,height:25,alt:"Angry"},"Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Awake.png",width:35,height:25,alt:"Awake"},"Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0xF8,0xFF,0x03,0x00,0xE0,0x00,0x0C,0x00,0x80,0xFF,0x3F,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x7F,0x30,0x00,0x38,0x00,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFC,0xFF,0xE1,0x00,0x0C,0xFE,0x7F,0x00,0x30,0x00,0x38,0x80,0xFE,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0x7E,0x96,0xFF,0x00,0xFC,0x87,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xF0,0x00,0x3C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x80,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Black eye.png",width:35,height:25,alt:"Black_eye"},"Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x5F,0x55,0xD5,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x4B,0xAA,0xA4,0x3E,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xB5,0x55,0x5B,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0x4A,0xAA,0xA4,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0xB6,0x55,0x5B,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xE9,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x1C,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0xB8,0xAA,0xAA,0xAA,0xEA,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0xD5,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xD2,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x70,0x2D,0x49,0xAA,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF0,0xD2,0xB6,0x55,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0x2D,0x49,0xAA,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xD3,0xB6,0x55,0x3E,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xC0,0x2F,0x49,0xD2,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Bottom left.png",width:35,height:25,alt:"Bottom_left"},"Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"],[{src:"../common/media/oled_icons/face/Eyes/Bottom right.png",width:35,height:25,alt:"Bottom_right"},"Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 1.png",width:35,height:25,alt:"Crazy_1"},"Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 2.png",width:35,height:25,alt:"Crazy_2"},"Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Disappointed.png",width:35,height:25,alt:"Disappointed"},"Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Dizzy.png",width:35,height:25,alt:"Dizzy"},"Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Down.png",width:35,height:25,alt:"Down"},"Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Evil.png",width:35,height:25,alt:"Evil"},"Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Hurt.png",width:35,height:25,alt:"Hurt"},"Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Knocked out.png",width:35,height:25,alt:"Knocked_out"},"Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Love.png",width:35,height:25,alt:"Love"},"Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle left.png",width:35,height:25,alt:"Middle_left"},"Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle right.png",width:35,height:25,alt:"Middle_right"},"Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Neutral.png",width:35,height:25,alt:"Neutral"},"Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Nuclear.png",width:35,height:25,alt:"Nuclear"},"Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch left.png",width:35,height:25,alt:"Pinch_left"},"Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch middle.png",width:35,height:25,alt:"Pinch_middle"},"Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch right.png",width:35,height:25,alt:"Pinch_right"},"Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tear.png",width:35,height:25,alt:"Tear"},"Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired left.png",width:35,height:25,alt:"Tired_left"},"Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired middle.png",width:35,height:25,alt:"Tired_middle"},"Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired right.png",width:35,height:25,alt:"Tired_right"},"Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Toxic.png",width:35,height:25,alt:"Toxic"},"Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Up.png",width:35,height:25,alt:"Up"},"Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Winking.png",width:35,height:25,alt:"Winking"},"Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Big smile.png",width:35,height:25,alt:"Big_smile"},"Big_smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart large.png",width:35,height:25,alt:"Heart_large"},"Heart_large,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xBF,0x07,0x00,0xC0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x1C,0x00,0xF0,0xFF,0xE1,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x71,0x00,0xF8,0xFF,0xC3,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE7,0x00,0xFC,0xFF,0x8F,0x03,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCF,0x01,0xFE,0xFF,0x3F,0x07,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x9F,0x03,0xFF,0xFF,0x7F,0x06,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x3F,0x83,0xFF,0xFF,0xFF,0x0C,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x7F,0x87,0xFF,0xFF,0xFF,0x1D,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xC6,0xFF,0xFF,0xFF,0x19,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart small.png",width:35,height:25,alt:"Heart_small"},"Heart_small,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xC7,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x9F,0x01,0xFF,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x83,0xFF,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0xC6,0xFF,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCE,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0D,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 open.png",width:35,height:25,alt:"Mouth_1_open"},"Mouth_1_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x78,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE4,0xD7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x1F,0x00,0x08,0xA8,0xFF,0x71,0x00,0x38,0x00,0x1C,0xFF,0x23,0x40,0x00,0xA8,0x2A,0x00,0xE4,0x03,0xEF,0x81,0x2F,0x00,0xA8,0x2A,0x00,0x54,0x55,0x55,0x95,0xFF,0xC7,0xFF,0x53,0x55,0x55,0x55,0x00,0x28,0x55,0x55,0x15,0x00,0x28,0x00,0xA8,0xAA,0xAA,0x2A,0x00,0xD4,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x52,0x00,0xE8,0x55,0x51,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0xAA,0x2E,0x00,0x0C,0x54,0xAF,0xAA,0xAA,0x56,0x55,0xAB,0xEA,0xAB,0x50,0x00,0xF0,0x57,0xA0,0xAA,0x54,0xA9,0xAA,0x54,0x15,0xA8,0x5F,0x00,0x04,0xD8,0x5F,0x55,0xAB,0x56,0x55,0x53,0xF5,0x2F,0x40,0x00,0xF0,0x27,0x40,0xAD,0x54,0xA9,0xAA,0xAC,0x0A,0xA0,0x3F,0x00,0x18,0xEE,0x7F,0x51,0xAB,0x56,0x55,0x53,0xFA,0xDF,0x71,0x00,0x0C,0x0C,0x00,0xDF,0x54,0x51,0xA5,0xDC,0x03,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x00,0x6B,0xDF,0x5D,0x03,0xF8,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x20,0xC0,0xF8,0x1C,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xFF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 shut.png",width:35,height:25,alt:"Mouth_1_shut"},"Mouth_1_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x38,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE0,0xC7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x5F,0x00,0x04,0x90,0xFF,0x71,0x00,0x38,0x00,0x9C,0xFF,0x33,0x00,0x00,0xF0,0x17,0x00,0xE4,0x03,0xEF,0x81,0x4F,0x00,0x94,0x3F,0x00,0x18,0xEE,0x5F,0x95,0xFF,0xD7,0xFF,0xA3,0xFA,0xD7,0x71,0x00,0x0C,0x1C,0x00,0x6D,0x00,0x20,0x00,0xDC,0x02,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x01,0x55,0xAF,0x5D,0x01,0xFA,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x50,0x40,0xF8,0x1D,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xEF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 open.png",width:35,height:25,alt:"Mouth_2_open"},"Mouth_2_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x4E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0xA0,0x02,0x4C,0x01,0x25,0xC0,0x4A,0x53,0x8D,0xD5,0x48,0x63,0x55,0x02,0xAE,0x00,0x6A,0x40,0xAA,0x9E,0x8A,0x94,0xA8,0xB2,0xAA,0x02,0xA6,0x00,0x6A,0x40,0x55,0xAD,0xD2,0xAA,0x54,0x92,0xAA,0x02,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0xAA,0x02,0x53,0x01,0xD5,0x60,0x55,0x51,0x85,0x2A,0xA9,0x52,0x55,0x82,0xA9,0x00,0xAA,0x60,0x55,0x55,0x55,0x55,0x54,0xA9,0xAA,0x82,0xA9,0x00,0x95,0x20,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xC2,0x54,0x01,0xAA,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xE2,0xAA,0x00,0x2A,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x62,0x55,0x01,0x55,0x33,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x33,0x55,0x01,0x55,0xB2,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0xBB,0xAA,0x00,0xAA,0xB6,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0x9F,0xAA,0x00,0xAA,0x5C,0x55,0x55,0x55,0x95,0xAA,0xAA,0x2A,0x4F,0x55,0x01,0x55,0x9D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA7,0xAA,0x00,0x55,0x59,0x55,0x55,0x55,0x95,0xAA,0xAA,0xAA,0x57,0x55,0x01,0xAA,0xBA,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA9,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x54,0x55,0x01,0x55,0x8D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x45,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0xD5,0xAA,0x7A,0xA5,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x85,0x5A,0x55,0x01,0x55,0xAD,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0x2A,0xA5,0xAA,0x00,0xAA,0x52,0x56,0x55,0x55,0x95,0x2A,0x55,0xF5,0x5A,0x55,0x01,0x55,0x2D,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0xEA,0xA5,0xAA,0x00,0xAA,0x92,0x55,0x55,0x55,0x95,0x2A,0x55,0x65,0x59,0x55,0x01,0x55,0xCD,0x55,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xA2,0xAA,0x00,0xAA,0xE2,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x56,0x55,0x01,0x55,0xB5,0x51,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xAC,0xAA,0x00,0xAA,0x1A,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x4C,0x55,0x01,0x55,0x0D,0x53,0x55,0x55,0xE9,0xEA,0xAA,0x6A,0x58,0x55,0x01,0xAA,0x0C,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x90,0xAA,0x00,0xD5,0x06,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0xB0,0xAA,0x00,0x2A,0x06,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x60,0x55,0x01,0x55,0x03,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x60,0xAA,0x00,0x2A,0x03,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xC0,0x56,0x01,0xB5,0x01,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC0,0xA8,0x00,0x8A,0x01,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x80,0x55,0x01,0xB5,0x01,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x80,0x55,0x01,0x8A,0x01,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 shut.png",width:35,height:25,alt:"Mouth_2_shut"},"Mouth_2_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x8E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0x20,0x02,0x4C,0x01,0x25,0xC0,0x46,0x53,0x8D,0xD5,0x48,0x63,0xF5,0x02,0xAE,0x00,0x6A,0x40,0xA8,0x9E,0x8A,0x94,0xA8,0xB2,0xEA,0x02,0xA6,0x00,0x6A,0xC0,0x55,0xAD,0xD2,0xAA,0x54,0x92,0x6A,0x03,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0x6A,0x02,0x53,0x01,0xD5,0xE0,0xAD,0x52,0x85,0x2A,0xA9,0x52,0x65,0x82,0xA9,0x00,0xAA,0xE0,0x51,0x55,0x55,0x55,0x54,0xA9,0x6A,0x82,0xA9,0x00,0x95,0x20,0xAD,0xAA,0xAA,0xAA,0x2A,0x55,0x65,0xC2,0x54,0x01,0xAA,0x31,0x53,0x55,0x55,0xD5,0xEA,0xAA,0x6A,0xE2,0xAA,0x00,0x2A,0x31,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x62,0x55,0x01,0x55,0x33,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0x32,0xAA,0x00,0xAA,0x32,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x3B,0x55,0x01,0x55,0x36,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x5F,0xAA,0x00,0x55,0x15,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xCF,0x56,0x01,0xAA,0x1D,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC7,0xA8,0x00,0xAA,0x19,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x87,0x55,0x01,0xB5,0x19,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x81,0x55,0x01,0x8A,0x11,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sad.png",width:35,height:25,alt:"Sad"},"Sad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sick.png",width:35,height:25,alt:"Sick"},"Sick,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x0F,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Smile.png",width:35,height:25,alt:"Smile"},"Smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Swearing.png",width:35,height:25,alt:"Swearing"},"Swearing,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xC0,0x00,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x60,0x28,0x00,0x00,0xC0,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x1F,0x64,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x28,0x00,0x00,0x00,0xC0,0x0B,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0xC4,0x3F,0x04,0x00,0x00,0x00,0xF8,0x7F,0x00,0x40,0x03,0x00,0x76,0x60,0x00,0x18,0x00,0x00,0xFC,0x7F,0x00,0xC0,0x01,0x00,0x1A,0x40,0x00,0x18,0x00,0x00,0xFC,0xF7,0x00,0xE0,0x01,0x00,0xC9,0x41,0x40,0x08,0x00,0x00,0xFC,0xE3,0x00,0xC0,0x03,0x00,0x09,0x42,0x40,0x00,0x00,0x00,0xFC,0xC3,0x10,0x80,0x00,0x00,0x19,0x63,0xC0,0x00,0x00,0x00,0x3C,0x63,0x70,0x00,0x00,0x03,0xF1,0x31,0xF0,0x07,0x00,0x00,0x1C,0x7E,0x78,0x00,0xC0,0x03,0x01,0x18,0xFC,0x03,0x00,0x00,0x1C,0x72,0x2C,0x00,0xE0,0x03,0x03,0x0C,0xF0,0x03,0x00,0x00,0x38,0x33,0x06,0x00,0xF0,0x03,0x0E,0x07,0xB0,0x03,0x00,0x00,0xF0,0x7F,0xC3,0x01,0xF0,0x03,0xF8,0x01,0x10,0x07,0x00,0x00,0xE0,0x2F,0xE1,0x00,0xF0,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x80,0x02,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xF0,0x01,0xF8,0xFE,0x01,0x00,0x00,0x00,0xFC,0x07,0x00,0x00,0xF0,0x01,0xFC,0xFF,0x03,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0xF0,0x01,0xFE,0xFF,0x07,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0xF0,0x00,0xBE,0xFE,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xF8,0xC0,0xDF,0xFF,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0xF8,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0xE0,0x01,0x00,0x00,0x78,0xE0,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x70,0xE0,0xFF,0xFF,0x7F,0x0F,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xC0,0x00,0x08,0x80,0xFF,0xDF,0xFF,0x0F,0x00,0xF0,0x01,0x00,0xF0,0x03,0x1E,0x00,0xFF,0xFF,0xFF,0x1F,0x00,0x3C,0x07,0x00,0xF0,0x03,0x3C,0x00,0xC0,0xBF,0xFF,0x3F,0x00,0x04,0x0C,0x00,0xE0,0x01,0x1C,0x00,0x00,0xFF,0xFF,0x7F,0x00,0xE4,0x19,0x00,0xF0,0x01,0x18,0x3E,0x00,0xFE,0xFF,0x7F,0x00,0xB2,0x11,0x00,0x10,0x03,0x00,0xE3,0x00,0xFC,0xFF,0xEF,0x00,0x56,0x19,0x00,0x00,0x02,0x80,0x81,0x03,0xF4,0xFF,0xFF,0x00,0x34,0x09,0x00,0x04,0x00,0x80,0x00,0x02,0xE6,0xFF,0xEF,0x00,0x8C,0x09,0x30,0x02,0x00,0xC0,0x30,0x02,0x23,0xFE,0xFB,0x00,0xB8,0x08,0x00,0x20,0x30,0x40,0x10,0x03,0x11,0xFC,0xFF,0x00,0xE0,0x00,0x0C,0x04,0x30,0xC0,0x98,0x81,0x18,0xE4,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x98,0x40,0x0C,0x27,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x71,0x60,0x06,0x21,0x38,0x00,0x00,0x00,0x08,0x00,0x20,0x10,0x03,0x40,0x0C,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x80,0x8C,0x09,0x00,0x00,0x00,0x1C,0x40,0x18,0x40,0x10,0x06,0xC0,0xC4,0x04,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x10,0x00,0x40,0xC2,0x04,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xD0,0x00,0x20,0xC1,0x0C,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x70,0x00,0x94,0xC1,0x0F,0x00,0x00,0x80,0x19,0x80,0xFF,0x00,0x70,0x00,0xDC,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0xFF,0x01,0x58,0x01,0x44,0x00,0x00,0x00,0x00,0x90,0x00,0xC0,0xFF,0x01,0xC0,0x00,0x44,0x00,0x00,0x00,0x00,0x30,0x18,0xC0,0xFF,0x03,0xC0,0x00,0x64,0x00,0x00,0x20,0x00,0x40,0x10,0xC0,0xFF,0x03,0xA0,0x00,0x1C,0x00,0x00,0x38,0x00,0x40,0x20,0xC0,0xFF,0x03,0xA0,0x00,0x00,0x00,0x00,0x70,0x00,0x80,0x54,0xC0,0xFF,0x01,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Talking.png",width:35,height:25,alt:"Talking"},"Talking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x0F,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Wink.png",width:35,height:25,alt:"Wink"},"Wink,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/ZZZ.png",width:35,height:25,alt:"ZZZ"},"ZZZ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0x3A,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0x0F,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0xE0,0xEF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xBF,0x01,0x00,0x00,0x20,0xE0,0x0F,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x3F,0x00,0xF0,0x07,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x6F,0x00,0xF8,0x07,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x5F,0x00,0xF8,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x7F,0x00,0xFC,0x03,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x81,0xFF,0x3F,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0xDF,0x3F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,0x1F,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x80,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x87,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x8D,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x02,0x00,0x00,0xC0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"]],kn=[["8","1"],["16","2"],["32","4"],["48","6"],["64","8"]];const Xn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_SETUP).appendField(new Ix.FieldDropdown(Dn),"OLED_TYPE").appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(" "+Ix.Msg.MIXLY_MICROBIT_monitor).appendField(new Ix.FieldDropdown(Ln),"ROTATION").appendField(" SCL").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"SCL").appendField("SDA").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"SDA"),this.appendValueInput("ADDRESS").appendField(Ix.Msg.MIXLY_LCD_ADDRESS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_INIT2_TOOLTIP),this.setFieldValue(Ax.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Ax.Profile.default.SDA[0][1],"SDA")}},Gn={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_SETUP).appendField(new Ix.FieldDropdown(Pn),"U8G2_TYPE_SPI").appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(" "+Ix.Msg.MIXLY_MICROBIT_monitor).appendField(new Ix.FieldDropdown(Ln),"ROTATION"),this.appendDummyInput().appendField("CLK").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"CLK").appendField("MOSI").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"MOSI"),this.appendDummyInput().appendField("CS").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"CS").appendField("DC").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DC").appendField("RST").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"RST"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("CLK - SCL(SSD1306) - CLK(NOKIA5110)\nMOSI - SDA(SSD1306) - DIN(NOKIA5110)"),this.setHelpUrl(""),this.setFieldValue(Ax.Profile.default.SCK[0][1],"CLK"),this.setFieldValue(Ax.Profile.default.MOSI[0][1],"MOSI")}},Bn={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_SETUP+"LCD12864").appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(" "+Ix.Msg.MIXLY_MICROBIT_monitor).appendField(new Ix.FieldDropdown(Ln),"ROTATION"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("RS").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DC"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("PSB = 0"),this.setHelpUrl("")}},Un={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_SETUP+"LCD12864").appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(" "+Ix.Msg.MIXLY_MICROBIT_monitor).appendField(new Ix.FieldDropdown(Ln),"ROTATION"),this.appendDummyInput().appendField("D0").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB0").appendField("D1").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB1").appendField("D2").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB2").appendField("D3").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB3").appendField("D4").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB4").appendField("D5").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB5").appendField("D6").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB6").appendField("D7").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DB7").appendField("E").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"ENABLE").appendField("RS").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DC"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("R/W = 0,PSB = 1"),this.setHelpUrl("")}},Hn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},Wn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_BITMAP_NAME).appendField(new Ix.FieldTextInput("bitmap1"),"VAR").appendField(Ix.Msg.OLED_BITMAP_DATA).appendField(new Ix.FieldTextInput("0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},jn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new Ix.FieldDropdown(kn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(Ix.Msg.OLED_ICON).appendField(new Ix.FieldDropdown(Vn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},Kn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput().appendField(Ix.Msg.OLED_ICON).appendField(new Ix.FieldDropdown(Yn),"FACE_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},qn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ix.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ix.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Ix.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_SHOW_BMP_TOOLTIP)}},zn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(Ix.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ix.Msg.OLED_POSY).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Zn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(Ix.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(Ix.Msg.OLED_END_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DRAW_LINE_TOOLTIP)}},Jn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(Ix.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new Ix.FieldDropdown(mn),"TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Qn={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_PAGE),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_page_tooltip)}},$n={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAW_TRIANGLE),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(Ix.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(Ix.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(Ix.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(Ix.Msg.OLED_D2_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},xs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Mn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ix.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ix.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},es={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(On),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ix.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ix.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ix.Msg.OLED_RADIUS).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},fs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Cn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ix.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Sn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ts={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAW_ELLIPSE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Rn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS_X",Number).appendField(Ix.Msg.OLED_ELLIPSE_RADIUS_X).setCheck(Number),this.appendValueInput("RADIUS_Y",Number).appendField(Ix.Msg.OLED_ELLIPSE_RADIUS_Y).setCheck(Number),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Sn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DRAW_ELLIPSE_TOOLTIP)}},is={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_DRAWSTR),this.appendValueInput("POS_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ix.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ns={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.set_EN_Font).appendField(new Ix.FieldDropdown(Nn),"FONT_NAME"),this.appendDummyInput("").appendField(Ix.Msg.FontSize).appendField(new Ix.FieldDropdown(bn),"FONT_SIZE"),this.appendDummyInput("").appendField(Ix.Msg.Font_Style).appendField(new Ix.FieldDropdown(yn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},ss={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.set_CN_Font).appendField(new Ix.FieldDropdown(vn),"FONT_NAME"),this.appendDummyInput("").appendField(Ix.Msg.FontSize).appendField(new Ix.FieldDropdown(wn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},as={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.set_ZH_TW_Font),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},ls={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ix.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_print_tooltip)}},cs={init:function(){this.appendValueInput("Contrast").setCheck(null).appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(Ix.Msg.TFT_Brightness+Ix.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ui),this.setTooltip(Ix.Msg.MIXLY_U8G2_SETCONTRAST_HELP),this.setHelpUrl("")}},ps={init:function(){this.appendValueInput("str").setCheck(null).appendField(Ix.Msg.DISPLAY).appendField(new Ix.FieldTextInput("u8g2"),"NAME").appendField(" "+Ix.Msg.OLED_DRAWSTR+Ix.Msg.MIXLY_WIDTH),this.setOutput(!0,null),this.setColour(Ui),this.setTooltip(""),this.setHelpUrl("https://www.cnblogs.com/danpianjicainiao/p/11048729.html#_label3_1_39")}},ds={init:function(){this.appendValueInput("row").setCheck(null).appendField(Ix.Msg.MIXLY_DF_LCD).appendField(new Ix.FieldTextInput("mylcd"),"name").appendField(Ix.Msg.MIXLY_LCD_ROW),this.appendValueInput("column").setCheck(null).appendField(Ix.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("pattern").setCheck(null).appendField(Ix.Msg.COLUMN_DISPLAY_IMAGE),this.appendDummyInput().appendField(Ix.Msg.LCD_NUMBERING).appendField(new Ix.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]]),"number"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ui),this.setTooltip(""),this.setHelpUrl("https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar")}},os={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ix.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a81").appendField(new Ix.FieldCheckbox("FALSE"),"a82").appendField(new Ix.FieldCheckbox("FALSE"),"a83").appendField(new Ix.FieldCheckbox("FALSE"),"a84").appendField(new Ix.FieldCheckbox("FALSE"),"a85"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a71").appendField(new Ix.FieldCheckbox("FALSE"),"a72").appendField(new Ix.FieldCheckbox("FALSE"),"a73").appendField(new Ix.FieldCheckbox("FALSE"),"a74").appendField(new Ix.FieldCheckbox("FALSE"),"a75"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a61").appendField(new Ix.FieldCheckbox("FALSE"),"a62").appendField(new Ix.FieldCheckbox("FALSE"),"a63").appendField(new Ix.FieldCheckbox("FALSE"),"a64").appendField(new Ix.FieldCheckbox("FALSE"),"a65"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a51").appendField(new Ix.FieldCheckbox("FALSE"),"a52").appendField(new Ix.FieldCheckbox("FALSE"),"a53").appendField(new Ix.FieldCheckbox("FALSE"),"a54").appendField(new Ix.FieldCheckbox("FALSE"),"a55"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a41").appendField(new Ix.FieldCheckbox("FALSE"),"a42").appendField(new Ix.FieldCheckbox("FALSE"),"a43").appendField(new Ix.FieldCheckbox("FALSE"),"a44").appendField(new Ix.FieldCheckbox("FALSE"),"a45"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a31").appendField(new Ix.FieldCheckbox("FALSE"),"a32").appendField(new Ix.FieldCheckbox("FALSE"),"a33").appendField(new Ix.FieldCheckbox("FALSE"),"a34").appendField(new Ix.FieldCheckbox("FALSE"),"a35"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a21").appendField(new Ix.FieldCheckbox("FALSE"),"a22").appendField(new Ix.FieldCheckbox("FALSE"),"a23").appendField(new Ix.FieldCheckbox("FALSE"),"a24").appendField(new Ix.FieldCheckbox("FALSE"),"a25"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a11").appendField(new Ix.FieldCheckbox("FALSE"),"a12").appendField(new Ix.FieldCheckbox("FALSE"),"a13").appendField(new Ix.FieldCheckbox("FALSE"),"a14").appendField(new Ix.FieldCheckbox("FALSE"),"a15"),this.setOutput(!0,Number),this.setTooltip("")}},us={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ix.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").setAlign(Ix.inputs.Align.CENTRE).appendField(new Ix.FieldBitmap([[0,0,0,0,0],[0,1,1,1,0],[1,0,0,0,1],[1,0,1,0,1],[1,0,1,0,1],[1,0,0,0,1],[0,1,1,1,0],[0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},rs={init:function(){this.setColour(Ui),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_SETUP+" TFT "+Ix.Msg.DISPLAY),this.appendDummyInput().appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_STM32_TFT_GREENTAB+"(ST7735)","ST7735_INITR_GREENTAB"],[Ix.Msg.MIXLY_STM32_TFT_REDTAB+"(ST7735)","ST7735_INITR_REDTAB"],[Ix.Msg.MIXLY_STM32_TFT_BLACKTAB+"(ST7735)","ST7735_INITR_BLACKTAB"],["160×80(ST7735)","ST7735_160×80"],["160×128(ST7789)","ST7789_160×128"],["240×135(ST7789)","ST7789_240×135"],["240×240(ST7789)","ST7789_240×240"],["320×240(ST7789)","ST7789_320×240"],["480×320(ST7796)","ST7796_480×320"]]),"TYPE"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("CS").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"CS").appendField("DC").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DC").appendField("RST").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"RST"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_s={init:function(){this.appendDummyInput().appendField("TFT").appendField(Ix.Msg.TFT_DISPLAY_CHINESE_CHARACTERS),this.appendDummyInput().appendField(Ix.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ix.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"],["AcadEref","AcadEref"],["Adobe Ming Std L","Adobe Ming Std L"],["Adobe Myungjo Std M","Adobe Myungjo Std M"],["Adobe Pi Std","Adobe Pi Std"],["AIGDT","AIGDT"],["AIgerian","AIgerian"],["AmdtSymbols","AmdtSymbols"],["Arial","Arial"],["Arial Rounded MT Bold","Arial Rounded MT Bold"],["Arial Unicode MS","Arial Unicode MS"],["BankGothic Lt BT","BankGothic Lt BT"],["BankGothic Md BT","BankGothic Md BT"],["Baskerville Old Face","Baskerville Old Face"],["Bauhaus 93","Bauhaus 93"],["Beranad MT Condensed","Beranad MT Condensed"]]),"st7735_hz_sharp").appendField(" "+Ix.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new Ix.FieldTextInput("16"),"st7735_hz_line_height").appendField("px").appendField(Ix.Msg.SAVETO+" flash").appendField(new Ix.FieldCheckbox("true"),"st7735_show_hz_save"),this.appendValueInput("st7735_hz_data").setCheck(null).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_SD_DATA+"#"),this.appendValueInput("st7735_hz_x").setCheck(null).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.OLED_L_U_X+"#"),this.appendValueInput("st7735_hz_y").setCheck(null).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.OLED_L_U_Y+"#"),this.appendValueInput("st7735_hz_height").setCheck(null).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_HEIGHT+"#"),this.appendValueInput("st7735_hz_width").setCheck(null).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_WIDTH+"#"),this.appendValueInput("st7735_hz_color").setCheck(null).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.blynk_iot_WidgetLED_COLOR),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ui),this.setTooltip(""),this.setHelpUrl("")}},hs={init:function(){this.setColour(Ui),this.appendValueInput("BRIGHTNESS").setCheck(Number).appendField("TFT"+Ix.Msg.TFT_Brightness+Ix.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Fs={init:function(){this.setColour(Ui),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldColour("33ccff"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Is={init:function(){this.setColour(Ui),this.appendValueInput("R").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},As={init:function(){this.setColour(Ui),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_SETUP+" TFT "+Ix.Msg.DISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Es={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.MIXLY_BACKGROUND_COLOR),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};cn=[[Ix.Msg.MIXLY_0DEGREE,"0"],[Ix.Msg.MIXLY_90DEGREE,"1"],[Ix.Msg.MIXLY_180DEGREE,"2"],[Ix.Msg.MIXLY_270DEGREE,"3"]];const Ts={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Ix.FieldDropdown(cn),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},gs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_BITMAP_NAME).appendField(new Ix.FieldTextInput("bitmap1"),"VAR").appendField(Ix.Msg.OLED_BITMAP_DATA).appendField(new Ix.FieldTextInput("0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f, 0x9f00, 0x989c, 0x009a, 0x9f00, 0x9c9e, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x0099, 0x9e00, 0x989e, 0x009c, 0x9c00, 0x7f7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a3, 0xa300, 0x989e, 0x0096, 0x9e00, 0x989d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989d, 0x0099, 0x9e00, 0x979c, 0x0098, 0x9c00, 0x7faa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0099, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9d00, 0x999e, 0x009d, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0xa000, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9e00, 0x969c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9aa1, 0x0096, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x008d, 0x9b00, 0x0000, 0x007f, 0x7f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x0000, 0x0095, 0x9c00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x949b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999f, 0x0098, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0899, 0x9e0e, 0x9ca1, 0x0c9b, 0x9f04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0095, 0x9a04, 0x989d, 0x119d, 0xa21e, 0xa2a6, 0x2faa, 0xae47, 0xb3b7, 0x5bbb, 0xbe6d, 0xc3c6, 0x42b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2b, 0xa8ac, 0x7fca, 0xcdbf, 0xe4e6, 0xe6f5, 0xf6f3, 0xfafa, 0xf1f9, 0xfad6, 0xeeef, 0x93d2, 0xd525, 0xa5aa, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0699, 0x9e0e, 0x9ca1, 0x169f, 0xa424, 0xa5aa, 0x36ac, 0xb045, 0xb2b6, 0x52b8, 0xbb64, 0xbfc2, 0x77c6, 0xc984, 0xccce, 0x98d4, 0xd7ac, 0xdcde, 0xbbe3, 0xe5d0, 0xeced, 0xe2f3, 0xf4ed, 0xf8f8, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3cae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0598, 0x9d52, 0xb7bb, 0xbfe4, 0xe6fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x6bc2, 0xc501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x4ab5, 0xb859, 0xbabd, 0x5fbc, 0xc068, 0xc0c3, 0x72c5, 0xc881, 0xcbce, 0x92d1, 0xd4a1, 0xd7d9, 0xaede, 0xdfc1, 0xe5e7, 0xd3ed, 0xeedd, 0xf1f2, 0xe7f5, 0xf6f2, 0xfafa, 0xfafd, 0xfdfc, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f2, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d4c, 0xb5b9, 0xcdeb, 0xecfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe6d, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xb9e2, 0xe3fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x35ab, 0xb000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff47, 0xb3b7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0x7ac8, 0xcaf6, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe401, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xecf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0f, 0x9ca1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x24a5, 0xa9c9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff38, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xd8f0, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4e, 0xb6ba, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x74c5, 0xc800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989c, 0x6fc3, 0xc6f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf2f2, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0398, 0x9d04, 0x989d, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x62be, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d88, 0xced1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x26a6, 0xaa00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x43b2, 0xb582, 0xccce, 0xb2df, 0xe1d7, 0xefef, 0xe5f4, 0xf5e7, 0xf5f6, 0xdff2, 0xf2c4, 0xe7e8, 0x98d4, 0xd657, 0xbabd, 0x18a0, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x089a, 0x9f77, 0xc6c9, 0x9dd5, 0xd7ac, 0xdddf, 0xc2e6, 0xe8d7, 0xeff0, 0xe5f5, 0xf5f7, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff0, 0xf9f9, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0x91d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5dbc, 0xbf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2e, 0xa9ad, 0x9bd6, 0xd7e8, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfaa6, 0xdadc, 0x2aa7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0398, 0x9d13, 0x9ea3, 0x72c5, 0xc7f6, 0xfbfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffcb, 0xeaeb, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x90d1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c23, 0xa4a9, 0xa5da, 0xdbfa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc8a, 0xced1, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c65, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9d, 0xd7d8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x6dc2, 0xc5fd, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c05, 0x999e, 0x6dc2, 0xc5f2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc9e9, 0xea1c, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9b9f, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6d, 0xc3c5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ec, 0xed00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4b6, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f1, 0x22a3, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3e, 0xb0b4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8ea, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe2f3, 0xf405, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7ee, 0xef15, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe1d, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xc1e5, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf805, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c76, 0xc6c9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xaaae, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x64be, 0xc200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb6e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcfec, 0xed01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2aa7, 0xacf5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd17, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x26a6, 0xaae4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xebf7, 0xf715, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0xb9e2, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1a, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea3, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff82, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb1df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ad5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c52, 0xb8bb, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9eb3, 0xdfe1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9fd7, 0xefef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd18, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57ba, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd6, 0xd8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x60bd, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc15, 0x9fa3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4c, 0xb5b9, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa2d9, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x95d2, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5cbc, 0xbf00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xdbf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7e8, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xddf1, 0xf205, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x87cd, 0xd0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c5b, 0xbbbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1b, 0xa1a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x78c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b2, 0xb600, 0x979c, 0x0398, 0x9dc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf506, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7e, 0xcacc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x66c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41b0, 0xb400, 0x979c, 0x38ad, 0xb1fe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xffe8, 0xf6f6, 0xd1ec, 0xede7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdaf0, 0xf101, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3caf, 0xb3f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0xc3e6, 0xe8b8, 0xe2e3, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff5b, 0xbbbe, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x58b9, 0xbdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3caf, 0xb200, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd3, 0xecee, 0x4bb5, 0xb807, 0x999e, 0x0096, 0x9b07, 0x999e, 0x62be, 0xc1f3, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcbe9, 0xeb00, 0x969b, 0x0097, 0x9c0e, 0x9ca1, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x6cc2, 0xc512, 0x9da2, 0x0096, 0x9b00, 0x969b, 0x19a0, 0xa5ce, 0xebec, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6a, 0xc1c4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x44b2, 0xb6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x38ad, 0xb110, 0x9da1, 0xecf7, 0xf8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e1, 0xe20f, 0x9da1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbabd, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xafde, 0xe000, 0x979c, 0x0197, 0x9c90, 0xd1d4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe519, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c43, 0xb1b5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff72, 0xc5c8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2ea9, 0xadff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x37ad, 0xb054, 0xb8bb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbd, 0xe4e5, 0x0a9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0xb6e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x98d4, 0xd600, 0x979c, 0x3aae, 0xb2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa4, 0xd9db, 0x0899, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xe9f6, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3dae, 0xb2ae, 0xdedf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf41a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x48b4, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bc8, 0xcb05, 0x989d, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xaadb, 0xdd07, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979b, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff69, 0xc1c3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa1f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5ab9, 0xbcf2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x51b7, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0699, 0x9de5, 0xf4f5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x60bd, 0xc06a, 0xc2c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffca, 0xe9ea, 0x0c9c, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbae3, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff57, 0xb9bd, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9de4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9f, 0xd7d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4db5, 0xb8e3, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f6, 0xf61e, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbce3, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9ccd, 0xeaeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fc, 0xfd2c, 0xa8ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c66, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfeff, 0x9ad5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x4eb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x969c, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd20, 0xa3a8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa3d9, 0xdb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c38, 0xadb1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xf0f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff99, 0xd5d7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x969b, 0xdff2, 0xf3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe8f6, 0xf609, 0x9a9e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c95, 0xd3d5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x32aa, 0xae00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdff2, 0xf312, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xf1f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce4, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c78, 0xc7ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbc, 0xe3e5, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x52b8, 0xbb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c26, 0xa6aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff50, 0xb7ba, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb6, 0xe1e2, 0x0297, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c54, 0xb8bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xabaf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf50c, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc2e6, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc2d, 0xa9ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea2, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9bd6, 0xd800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb0df, 0xe0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cbb, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8c, 0xd0d2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0xe2f3, 0xf4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa1d9, 0xdbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffee, 0xf8f8, 0x1aa1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9fe9, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe30, 0xaaae, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xbee4, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffed, 0xf8f8, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x98d4, 0xd6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff83, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x35ac, 0xb0fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe502, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdee0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x94d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf612, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x48b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x80ca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc7, 0xe8e9, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x47b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff37, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x169f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff49, 0xb4b8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a4, 0xa8fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x96d3, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe001, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9eea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xccea, 0xeb00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd29, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca8, 0xdbdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x28a7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc3, 0xe6e8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x99d5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbae2, 0xe301, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0c9b, 0xa0ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff76, 0xc6c9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c90, 0xd1d3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4eb6, 0xb900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x52b8, 0xbbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc5e7, 0xe807, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbabe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b3, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x089a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffec, 0xf7f8, 0x24a4, 0xa900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3eb0, 0xb400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc8e8, 0xe9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8b, 0xcfd1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c12, 0x9ea2, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe54, 0xb8bc, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c09, 0x9a9f, 0xe7f5, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x53b8, 0xbc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd2ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81ca, 0xcd01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ec3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xe4f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd3ed, 0xee02, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cba, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffab, 0xddde, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7fca, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd0, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0f, 0x9ca1, 0xf4fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7fca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc1e5, 0xe70b, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eb0, 0xb4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e1, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c22, 0xa4a9, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x34ac, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x79c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffce, 0xebec, 0x159f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0a9a, 0x9fee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe1f2, 0xf302, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c39, 0xadb1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf2f3, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ed, 0xed18, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc16, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5e, 0xbcbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbb, 0xe3e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c41, 0xb0b4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x1aa1, 0xa500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c6f, 0xc4c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff3d, 0xafb3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c83, 0xccce, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe2e4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9caa, 0xdcde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcae9, 0xea18, 0xa0a4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ac, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6c, 0xc2c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9caa, 0xdcdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xe4e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1ea2, 0xa6f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x139e, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0xa058, 0xbabd, 0xa2d8, 0xdacd, 0xeaeb, 0xd6ee, 0xefc7, 0xe8e9, 0xa0d8, 0xd96a, 0xc1c4, 0x2aa7, 0xac07, 0x999d, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9e, 0xd7d9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cd9, 0xf0f0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc2, 0xe6e7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb3e0, 0xe10d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7ac9, 0xcbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfed7, 0xeeef, 0xd7ef, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd0, 0xeced, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4fb, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc9, 0xe8ea, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ca0, 0xe7f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd8ef, 0xf0a6, 0xdadc, 0x73c5, 0xc840, 0xb0b4, 0x129e, 0xa200, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x119d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x46b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c68, 0xc0c4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfcd3, 0xedee, 0xa0d8, 0xd96f, 0xc3c6, 0x3eaf, 0xb315, 0x9ea3, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x72c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x43b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7dc9, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9dd8, 0xeff0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xfff6, 0xfbfc, 0xd7ef, 0xefa4, 0xd9db, 0x1da1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x68c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7cc9, 0xcb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xbee4, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf3f3, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x63be, 0xc2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d2, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x5abb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf1fa, 0xfaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffea, 0xf7f7, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xdaf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfb20, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4db6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f5, 0xf609, 0x9a9f, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff4, 0xfbfb, 0x119d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c72, 0xc5c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x42b1, 0xb5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe2c, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca3, 0xd9db, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0x20a4, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa2, 0xa7ee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x20a3, 0xa700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eaf, 0xb3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xeaf7, 0xf7c7, 0xe8e9, 0xa8db, 0xdd91, 0xd2d4, 0x83cb, 0xce7f, 0xc9cc, 0x7ac7, 0xca7f, 0xc9cc, 0x83cb, 0xcd92, 0xd2d5, 0xa9db, 0xddbf, 0xe5e6, 0xddf1, 0xf2f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff63, 0xbfc2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0d9c, 0xa0e9, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3caf, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4cb5, 0xb986, 0xcdcf, 0x84cb, 0xcd81, 0xcacd, 0x79c7, 0xca71, 0xc4c7, 0x6bc2, 0xc565, 0xc0c3, 0x5fbd, 0xc15a, 0xbbbe, 0x56ba, 0xbd54, 0xb9bd, 0x52b8, 0xbc51, 0xb7bb, 0x50b7, 0xba4f, 0xb6ba, 0x4eb6, 0xb94e, 0xb5b9, 0x4db5, 0xb94d, 0xb5b9, 0x4db5, 0xb94e, 0xb5b9, 0x4fb6, 0xba51, 0xb7bb, 0x52b8, 0xbc57, 0xbabd, 0x5cbc, 0xbf65, 0xc0c3, 0x6fc3, 0xc679, 0xc8ca, 0x83cb, 0xce8d, 0xd0d3, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3cae, 0xb2ff, 0xffff, 0xfeff, 0xffd3, 0xedee, 0x78c7, 0xca2c, 0xa8ac, 0x089a, 0x9e01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0497, 0x9c0e, 0x9ca1, 0x2ea9, 0xad61, 0xbec1, 0x9fd7, 0xd9d8, 0xeff0, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa5, 0xdadb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4eb6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5fbd, 0xc000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee1, 0xf3f3, 0x56b9, 0xbc05, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0x25a5, 0xaa67, 0xc0c3, 0xb8e2, 0xe3f9, 0xfdfd, 0xffff, 0xffe4, 0xf4f4, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d3, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x139f, 0xa31d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa2a6, 0x74c6, 0xc8d6, 0xeeef, 0x30a9, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf75b, 0xbbbe, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989e, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0x5dbc, 0xbfa6, 0xd9db, 0xe1f3, 0xf3fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf580, 0xcbcd, 0x1ea2, 0xa701, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e2c, 0xa8ac, 0x6ac1, 0xc4ac, 0xddde, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbae, 0xdddf, 0x48b4, 0xb705, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e37, 0xacb0, 0x76c6, 0xc9b3, 0xdfe1, 0xe8f6, 0xf6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1f, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e2f, 0xa9ae, 0x71c4, 0xc7ae, 0xdddf, 0xe3f3, 0xf4fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e28, 0xa7ab, 0x5ebc, 0xbf96, 0xd3d6, 0xd2ed, 0xeefa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b9, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa3a7, 0x6fc4, 0xc653, 0xb8bc, 0x3cae, 0xb21e, 0xa3a7, 0x0c9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c16, 0x9fa4, 0x49b4, 0xb881, 0xcbcd, 0xb7e1, 0xe2e6, 0xf5f5, 0xfeff, 0xffec, 0xf8f8, 0x109d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9dbc, 0xe3e5, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0xf0f9, 0xfa3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989d, 0x27a6, 0xaa44, 0xb1b6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x59bb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff43, 0xb1b5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6f, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x26a6, 0xaa5a, 0xbbbe, 0xb1df, 0xe0c5, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c32, 0xaaae, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdfe0, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x2da8, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7a, 0xc8ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x2aa7, 0xac00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c49, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x77c7, 0xca00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cad, 0xdddf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd0eb, 0xed17, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c97, 0xd4d6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa5da, 0xdc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x33ab, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4ea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc2, 0xe6e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf6fb, 0xfc8b, 0xcfd1, 0x149f, 0xa300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xa8db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce3, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9a, 0xd5d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf88c, 0xd0d2, 0x2ba7, 0xac01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9f9f, 0xd8d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbfe, 0xfec4, 0xe7e8, 0x6dc2, 0xc624, 0xa5aa, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2d, 0xa8ad, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa0d8, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0xe5f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xd2ec, 0xed8f, 0xd1d3, 0x49b4, 0xb812, 0x9ea2, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c15, 0x9fa3, 0x91d2, 0xd3f6, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8bce, 0xd100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xccea, 0xeb99, 0xd5d7, 0x66c0, 0xc337, 0xacb0, 0x109d, 0xa100, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c21, 0xa4a8, 0x8ace, 0xd1ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9dbf, 0xe4e6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbd5, 0xeeef, 0xa7da, 0xdc7c, 0xc9cb, 0x57ba, 0xbd33, 0xabaf, 0x159f, 0xa306, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9f49, 0xb4b8, 0xa9db, 0xddf8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fb0, 0xb300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xdef1, 0xf2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xf5fb, 0xfbe1, 0xf3f4, 0xc7e8, 0xe9a4, 0xd9db, 0x85cc, 0xcf65, 0xbfc2, 0x46b3, 0xb627, 0xa6aa, 0x159f, 0xa306, 0x999e, 0x0397, 0x9c01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0397, 0x9c1c, 0xa1a6, 0x59bb, 0xbea5, 0xd9dc, 0xe6f5, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x27a6, 0xaadf, 0xf2f3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfced, 0xf8f8, 0xdef1, 0xf2c7, 0xe8e9, 0xb7e0, 0xe2a5, 0xd9db, 0x90d1, 0xd482, 0xcbcd, 0x76c6, 0xc967, 0xc0c3, 0x58bb, 0xbe51, 0xb7ba, 0x4cb4, 0xb844, 0xb2b5, 0x3daf, 0xb33a, 0xaeb2, 0x37ad, 0xb136, 0xacb0, 0x3daf, 0xb247, 0xb2b6, 0x55b9, 0xbd6e, 0xc3c6, 0x8ccf, 0xd2b2, 0xdfe1, 0xddf1, 0xf2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xd1ec, 0xedff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff7b, 0xc8cb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x119d, 0xa2a6, 0xdadc, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe2b, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989d, 0x62be, 0xc1eb, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xa5da, 0xdbfb, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x45b2, 0xb600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c3b, 0xaeb2, 0xc1e5, 0xe7fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe3e4, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d47, 0xb3b7, 0xbee4, 0xe6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfa2a, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c40, 0xb0b4, 0xafde, 0xe0f8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c25, 0xa5a9, 0x88ce, 0xd0e7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff92, 0xd2d4, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0x56b9, 0xbdb0, 0xdee0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9dd6, 0xd806, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa46c, 0xc2c5, 0xbce3, 0xe5f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe8b, 0xcfd2, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c19, 0xa0a5, 0x5fbd, 0xc0b2, 0xdfe1, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe9, 0xf6f7, 0x53b8, 0xbb01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa14a, 0xb4b8, 0x8fd0, 0xd2d0, 0xeced, 0xfbfd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffb, 0xfefe, 0x9ed7, 0xd91a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x1da2, 0xa65e, 0xbdc0, 0x9ad5, 0xd7d2, 0xeded, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xabdc, 0xde33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x19a0, 0xa54a, 0xb4b8, 0x85cc, 0xcfc2, 0xe6e7, 0xedf8, 0xf8fd, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfed7, 0xeff0, 0x7cc8, 0xcb20, 0xa3a7, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0b9a, 0x9f2e, 0xa9ad, 0x5ebd, 0xbf8c, 0xcfd1, 0xb9e2, 0xe3e4, 0xf4f5, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdff, 0xffe5, 0xf4f5, 0xafde, 0xdf70, 0xc3c7, 0x2ea9, 0xad04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0x179f, 0xa43e, 0xafb3, 0x62be, 0xc185, 0xcccf, 0xa3d9, 0xdbbe, 0xe4e5, 0xd1ec, 0xede1, 0xf3f4, 0xebf7, 0xf7ee, 0xf8f8, 0xeef8, 0xf8ed, 0xf8f8, 0xeaf6, 0xf7e0, 0xf3f3, 0xd2ed, 0xeec4, 0xe6e7, 0xafde, 0xdf92, 0xd2d4, 0x71c4, 0xc74b, 0xb4b8, 0x1fa2, 0xa704, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989b, 0x0097, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c06, 0x989d, 0x0899, 0x9e09, 0x999e, 0x099a, 0x9f09, 0x999e, 0x0899, 0x9d06, 0x989d, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x009a, 0x9d00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x007f, 0x7f00, 0x969e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9f00, 0x0000, 0x0000, 0x0000, 0x9a9f, 0x0099, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989c, 0x0094, 0x9f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x9e00, 0x969c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9e00, 0x979b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0098, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999e, 0x0097, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x9900, 0x9a9e, 0x0097, 0x9e00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x989c, 0x0099, 0x9e00, 0x9494, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},ms={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(new Ix.FieldImage(f(583),20,20,"*",(()=>{this.showSettingDialog()}))).appendField("TFT").appendField(Ix.Msg.OLED_BITMAP_NAME).appendField(new Ix.FieldTextInput("bitmap1"),"VAR").appendField(Ix.Msg.OLED_BITMAP_DATA).appendField(new Ix.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DEF_BMP_DATA_TOOLTIP)},showSettingDialog:function(){this.userImgSize={width:100,height:100};const x=Ax.XML.render(Ax.XML.TEMPLATE_STR.READ_BITMAP_DIV,{btn1Name:"加载",btn2Name:"保存"});this.canvas=Gi()(""),this.ctx=this.canvas[0].getContext("2d"),this.ctx.textAlign="left",this.ctx.textBaseline="top",Ax.LayerExt.open({title:"图片取模工具",id:"read-bitmap-layer",area:["50%","250px"],max:["500px","250px"],min:["350px","100px"],content:x,borderRadius:"5px",shade:Ax.LayerExt.SHADE_ALL,success:x=>{Gi()("#read-bitmap-layer").css("overflow","hidden"),this.addEvents(x)}})},addEvents:function(x){x.find("button").click((e=>{switch(Gi()(e.currentTarget).attr("m-id")){case"0":this.loadImg(x);break;case"1":this.writeJson()}}))},loadImg:function(x){Ax.MFile.openFile(".png,.jpg","url",(e=>{const{data:f}=e,t=new Image;t.src=f,t.onload=()=>{Gi()("#read-bitmap-div-input-img").empty(),Gi()("#read-bitmap-div-input-img").append(t);const e={width:t.naturalWidth,height:t.naturalHeight},i=this.getUserImgSize(x),n=i.width/e.width,s=i.height/e.height;isNaN(e.width)||isNaN(e.height)||(s>n?i.height=parseInt(n*e.height):i.width=parseInt(s*e.width)),this.userImgSize=i,this.imgSize=e;const a=new Image;a.height=i.height,a.width=i.width,a.src=f,a.onload=()=>{const x=Gi()(""),e=x[0].getContext("2d");e.textAlign="left",e.textBaseline="top";const f=window.devicePixelRatio||1;this.canvas[0].width=a.width,this.canvas[0].height=a.height,this.ctx.width=a.width,this.ctx.height=a.height,x[0].width=a.width*f,x[0].height=a.height*f,e.width=a.width*f,e.height=a.height*f,this.ctx.drawImage(a,0,0,a.width,a.height),e.drawImage(a,0,0,a.width*f,a.height*f),Gi()("#read-bitmap-div-output-img").empty(),Gi()("#read-bitmap-div-output-img").append(x)};const l=Gi()("#read-bitmap-div-message"),c="输入尺寸:"+e.width+"×"+e.height+"  输出尺寸:"+i.width+"×"+i.height;l.empty(),l.append(``)}}))},writeJson:function(){const{userImgSize:x={}}=this,{width:e=100,height:f=100}=x,{data:t}=this.ctx.getImageData(0,0,e,f);let i=0,n="";for(let x=0;x>3&31;break;case 2:i=(31&i)<<6,i|=t[x]>>2&63;break;case 3:i=(2047&i)<<5,i|=t[x]>>3&31;break;default:e=i.toString(16);for(let x=4;x>e.length;x--)f+="0";e=f+e,n+="0x"+e+(x===t.length-1?"":","),i=0}(x+1)%400==0&&x!==t.length-1&&(n+="\n ")}this.setFieldValue(n,"TEXT"),this.setTooltip("图片尺寸(宽×高):"+e+"×"+f),Bi.msg("保存成功",{time:1e3})},getUserImgSize:function(x){const e=x.find("input"),f={width:100,height:100};for(let x=0;e[x];x++){const t=Gi()(e[x]);switch(t.attr("m-id")){case"0":f.width=parseInt(t.val())??100;break;case"1":f.height=parseInt(t.val())??100}}return f.width>300&&(f.width=300),f.height>300&&(f.height=300),f}},Ms={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Ix.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ix.Msg.OLED_POSY).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ix.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ix.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Ix.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_SHOW_BMP_TOOLTIP)}},Cs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(Ix.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ix.Msg.OLED_POSY).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Os={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(Ix.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(Ix.Msg.OLED_END_Y).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.OLED_DRAW_LINE_TOOLTIP)}},Ss={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(Ix.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new Ix.FieldDropdown(mn),"TYPE"),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_DRAW_TRIANGLE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Hi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(Ix.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(Ix.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(Ix.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(Ix.Msg.OLED_D2_Y).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Ns={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Hi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ix.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ix.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Ds={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Hi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ix.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ix.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ix.Msg.OLED_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ps={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Hi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ix.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ix.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ix.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Sn),"OPT"),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Ls={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(Ix.Msg.set_EN_Font).appendField(new Ix.FieldDropdown(Nn),"FONT_NAME"),this.appendDummyInput("").appendField(Ix.Msg.FontSize).appendField(new Ix.FieldDropdown(bn),"FONT_SIZE"),this.appendDummyInput("").appendField(Ix.Msg.Font_Style).appendField(new Ix.FieldDropdown(yn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},bs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(Ix.Msg.set_CN_Font).appendField(new Ix.FieldDropdown(vn),"FONT_NAME"),this.appendDummyInput("").appendField(Ix.Msg.FontSize).appendField(new Ix.FieldDropdown(wn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},ys={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_BITMAP),this.appendValueInput("POS_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new Ix.FieldDropdown(kn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(Ix.Msg.OLED_ICON).appendField(new Ix.FieldDropdown(Vn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_setFont_tooltip)}},vs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ix.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_print_tooltip)}},ws={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField("TFT").appendField(Ix.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Ix.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ix.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ix.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.oled_print_tooltip)}},Vs=Wi,Ys={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.MIXLY_SETUP).appendField("CLK").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"CLK").appendField("DIO").appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},ks={init:function(){this.setColour(Ui),this.appendValueInput("VALUE").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP1)}},Xs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_ON,"(0x80 >> 1)"],[Ix.Msg.MIXLY_OFF,"(0x80 >> 2)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},Gs={init:function(){this.setColour(Ui),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(Ix.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},Bs={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(Ix.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ix.FieldTextInput("display"),"NAME").appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},Us={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_BEGIN).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_ETHERNET,"Ethernet"],[Ix.Msg.MIXLY_ETHERNET2,"Ethernet2"]]),"Ethernet"),this.appendValueInput("MAC").setCheck(Array).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_ETHERNET_MAC_ADDRESS),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_INIT)}},Hs={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ix.FieldTextInput("DE"),"VAR1").appendField("-").appendField(new Ix.FieldTextInput("AD"),"VAR2").appendField("-").appendField(new Ix.FieldTextInput("BE"),"VAR3").appendField("-").appendField(new Ix.FieldTextInput("EF"),"VAR4").appendField("-").appendField(new Ix.FieldTextInput("FE"),"VAR5").appendField("-").appendField(new Ix.FieldTextInput("ED"),"VAR6"),this.setOutput(!0,Array),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_MACADDRESS)}},Ws={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_LOCALIP),this.setOutput(!0,"IPAddress"),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_LOCALIP)}},js={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_CONNECT_SERVER).appendField(this.newQuote_(!0)).appendField(new Ix.FieldTextInput("mixly.org"),"SERVER").appendField(this.newQuote_(!1)),this.appendValueInput("PORT").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECT)},newQuote_:function(x){if(x==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 Ix.FieldImage(e,12,12,'"')}},Ks={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_STOP)}},qs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_CONNECTED),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECTED)}},zs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_AVAILABLE),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_AVAILABLE)}},Zs={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINT)}},Js={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINTLN)}},Qs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_READ),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_READ)}},$s={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_URL).appendField(this.newQuote_(!0)).appendField(new Ix.FieldTextInput(""),"URL").appendField(this.newQuote_(!1)),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_SERVER).appendField(this.newQuote_(!0)).appendField(new Ix.FieldTextInput(""),"SERVER").appendField(this.newQuote_(!1)),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_ETHERNET_GET_REQUEST)},newQuote_:function(x){if(x==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 Ix.FieldImage(e,12,12,'"')}},xa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ix.Msg.NTP_SERVER),this.appendValueInput("server_add").appendField(Ix.Msg.blynk_SERVER_ADD).setCheck(String),this.appendValueInput("timeZone").appendField(Ix.Msg.MIXLY_TimeZone).setCheck(Number),this.appendValueInput("Interval").appendField(Ix.Msg.blynk_WidgetRTC_setSyncInterval).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ea=[[Ix.Msg.MIXLY_YEAR,"NTP.getDateYear()"],[Ix.Msg.MIXLY_MONTH,"NTP.getDateMonth()"],[Ix.Msg.MIXLY_DAY,"NTP.getDateDay()"],[Ix.Msg.MIXLY_HOUR,"NTP.getTimeHour24()"],[Ix.Msg.MIXLY_MINUTE,"NTP.getTimeMinute()"],[Ix.Msg.MIXLY_SECOND,"NTP.getTimeSecond()"],[Ix.Msg.MIXLY_WEEK,"NTP.getDateWeekday()"]];const fa={init:function(){this.setColour(0),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.NTP_server_get_time),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldDropdown(ea),"TIME_TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number)}},ta={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Ix.FieldImage(f(93),20,20)).appendField(Ix.Msg.MQTT_SERVER),this.appendValueInput("server_add").appendField(Ix.Msg.MQTT_SERVER_ADD).setCheck(String),this.appendValueInput("server_port").appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_PORT).setCheck(Number),this.appendValueInput("IOT_ID").appendField(Ix.Msg.MIXLY_EMQX_USERNAME).setCheck(String),this.appendValueInput("IOT_PWD",String).appendField(Ix.Msg.HTML_PASSWORD).setCheck([String,Number]),this.appendValueInput("Client_ID").appendField(Ix.Msg.MQTT_Client_ID).setCheck(String),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},ia={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Ix.FieldImage(f(93),20,20)).appendField(Ix.Msg.MIXLY_NETWORK_INIT),this.appendValueInput("SSID").appendField(Ix.Msg.HTML_NAME),this.appendValueInput("PWD").appendField(Ix.Msg.HTML_PASSWORD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},na={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Ix.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Ix.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},sa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},aa={init:function(){this.setColour(0),this.appendDummyInput(),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_GET+Ix.Msg.MIXLY_DEVICE).appendField(new Ix.FieldDropdown([["MAC","MAC"],["IP","IP"]]),"mode").appendField(Ix.Msg.MQTT_SERVER_ADD),this.setOutput(!0),this.setInputsInline(!0)}},la={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ix.Msg.MQTT_connect),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}};var ca=function(x){return x.replace(/\//g,"")};const pa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Ix.FieldImage(f(93),20,20)).appendField(Ix.Msg.MQTT_publish),this.appendValueInput("data"),this.appendDummyInput("").appendField(Ix.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.appendDummyInput().appendField(Ix.Msg.MQTT_Topic).appendField(new Ix.FieldTextInput("Topic",ca),"Topic"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},da={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MQTT_Topic).appendField(new Ix.FieldTextInput("Topic_0",ca),"Topic_0"),this.appendDummyInput("").appendField(Ix.Msg.HTML_VALUE),this.setInputsInline(!0),this.setOutput(!0,String)}},oa={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MQTT_Topic),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},ua={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Ix.Msg.MQTT_Topic+Ix.Msg.MQTT_subscribe2).appendField(new Ix.FieldTextInput("Topic_0",ca),"Topic_0"),this.appendStatementInput("DO0").appendField(Ix.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ix.icons.MutatorIcon(["MQTT_add_subscribe_topic"],this));var x=this;this.setTooltip((function(){return x.elseifCount_?x.elseifCount_?Ix.Msg.CONTROLS_IF_TOOLTIP_3:void 0:Ix.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),x},domToMutation:function(x){for(var e=this,f=[],t=this.elseifCount_;t>0;t--)this.removeInput("DummyInput"+t),e.getInputTargetBlock("DO"+t)&&e.getInputTargetBlock("DO"+t).previousConnection?f[t]=e.getInputTargetBlock("DO"+t).previousConnection:f[t]=null,this.removeInput("DO"+t);this.elseifCount_=parseInt(x.getAttribute("elseif"),10);for(t=1;t<=this.elseifCount_;t++)this.appendDummyInput("DummyInput"+t).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Ix.Msg.MQTT_Topic+Ix.Msg.MQTT_subscribe2).appendField(new Ix.FieldTextInput("Topic_"+t,ca),"Topic_"+t),this.appendStatementInput("DO"+t).appendField(Ix.Msg.CONTROLS_IF_MSG_THEN);for(t=f.length-2;t>0;t--)f[t]&&f[t]&&f[t].reconnect(this,"DO"+t)},decompose:function(x){var e=x.newBlock("mqtt_topics_set");e.initSvg();for(var f=e.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("MQTT_add_subscribe_topic");i.initSvg(),f.connect(i.previousConnection),f=i.nextConnection}return e},compose:function(x){for(var e=this.elseifCount_;e>0;e--)this.removeInput("DummyInput"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var f=x.getInputTargetBlock("STACK"),t=[null];f;){if("MQTT_add_subscribe_topic"!==f.type)throw Error("Unknown block type: "+f.type);this.elseifCount_++,t.push(f.statementConnection_),f=f.nextConnection&&f.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t)},saveConnections:function(x){for(var e=x.getInputTargetBlock("STACK"),f=1;e;){if("MQTT_add_subscribe_topic"!==e.type)throw"Unknown block type.";var t=this.getInput("DO"+f);e.statementConnection_=t&&t.connection.targetConnection,f++,e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){for(var x=[null],e=1;this.getInput("DummyInput"+e);){var f=this.getInput("DO"+e);x.push(f.connection.targetConnection),e++}this.updateShape_(),this.reconnectChildBlocks_(x)},updateShape_:function(){for(var x=1;this.getInput("DummyInput"+x);)this.removeInput("DummyInput"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendDummyInput("DummyInput"+x).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Ix.Msg.MQTT_Topic+Ix.Msg.MQTT_subscribe2).appendField(new Ix.FieldTextInput("Topic_"+x,ca),"Topic_"+x),this.appendStatementInput("DO"+x).appendField(Ix.Msg.CONTROLS_IF_MSG_THEN)},reconnectChildBlocks_:function(x){for(var e=1;e<=this.elseifCount_;e++)x[e]&&x[e].reconnect(this,"DO"+e)}},ra={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.MIXLY_EMQX_SUBSCRIBE+Ix.Msg.MQTT_Topic),this.appendStatementInput("STACK"),this.contextMenu=!1}},_a={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(Ix.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(Ix.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Ix.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},ha={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ix.Msg.blynk_smartconfig).appendField(new Ix.FieldDropdown([["SmartConfig","SmartConfig"],["AP","AP"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MQTT_TEST_TOOLTIP)}},Fa={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(544),25,25,"*")).appendField(Ix.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+":").appendField(new Ix.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.appendValueInput("SSID").setCheck(null).appendField("WIFI "+Ix.Msg.HTML_NAME),this.appendValueInput("PSK").setCheck(null).appendField("WIFI "+Ix.Msg.HTML_PASSWORD),this.appendValueInput("IP1").setCheck(null).appendField(Ix.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(Ix.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(Ix.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Ia={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(544),25,25,"*")).appendField(Ix.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+": AP+STA"),this.appendValueInput("SSID1").setCheck(null).appendField("WIFI "+Ix.Msg.HTML_NAME+"(STA)"),this.appendValueInput("SSID2").setCheck(null).appendField("WIFI "+Ix.Msg.HTML_NAME+"(AP)"),this.appendValueInput("PSK1").setCheck(null).appendField("WIFI "+Ix.Msg.HTML_PASSWORD+"(STA)"),this.appendValueInput("PSK2").setCheck(null).appendField("WIFI "+Ix.Msg.HTML_PASSWORD+"(AP)"),this.appendValueInput("IP1").setCheck(null).appendField(Ix.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(Ix.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(Ix.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(Ix.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Aa={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(544),25,25,"*")).appendField(Ix.Msg.CONTROLS_IF_MSG_IF+" WIFI UDP "+Ix.Msg.MIXLY_STM32_SPI_DATA_RECEIVED+"?"),this.appendValueInput("input_data").setCheck(null).appendField(Ix.Msg.PROCEDURES_CALL_BEFORE_PARAMS),this.appendDummyInput().appendField("("+Ix.Msg.LANG_MATH_STRING+")"),this.appendStatementInput("do").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},Ea={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(544),25,25,"*")).appendField("WIFI UDP "+Ix.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},Ta={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ix.Msg.WeatherGet).appendField(new Ix.FieldTextInput("北京"),"data").appendField("1","check"),this.setOutput(!0,Boolean),this.setTooltip("输入正确的城市名(不用带“市”字)如:深圳 北京 广州,如果错误会显示'error'刷新成功则返回true\n天气接口优化注意:\n1. 接口每 8 小时更新一次,机制是 CDN 缓存 8 小时更新一次。注意:自己做缓存。\n2. 接口采用城市 ID 来精准查询请求,省份不能直接查询天气。\n3.每分钟阈值为 300 次,如果超过会禁用一天。请谨慎使用。")}},ga={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ix.Msg.WeatherGetToday).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_Humidity,"0"],["PM2.5","1"],["PM1.0","2"],[Ix.Msg.TodayQuality,"3"],[Ix.Msg.MIXLY_TEMPERATURE,"4"]]),"type"),this.setOutput(!0,Number),this.setTooltip("返回对应数据 字符串型。")}},ma={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ix.Msg.WeatherGetForecast).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_GPS_DATE,"ForecastDate"],[Ix.Msg.ForecastHigh,"ForecastHigh"],[Ix.Msg.ForecastLow,"ForecastLow"],[Ix.Msg.ForecastYmd,"ForecastYmd"],[Ix.Msg.MIXLY_WEEK,"ForecastWeek"],[Ix.Msg.ForecastAqi,"ForecastAqi"],[Ix.Msg.ForecastFx,"ForecastFx"],[Ix.Msg.ForecastFl,"ForecastFl"],[Ix.Msg.ForecastType,"ForecastType"]]),"type"),this.appendValueInput("date",Number).appendField(Ix.Msg.MIXLY_GPS_DATE+"(0~14)"),this.setOutput(!0,Number),this.setTooltip("返回预报天气内容0表示当天,最大为14,字符串型。"),this.setInputsInline(!0)}},Ma={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("server").setCheck(null).appendField(Ix.Msg.blynk_SERVER_ADD),this.appendValueInput("port").setCheck(null).appendField(Ix.Msg.MIXLY_EMQX_PORT),this.appendValueInput("mqtt_username").setCheck(null).appendField(Ix.Msg.MIXLY_WIFI_USERNAME),this.appendValueInput("mqtt_password").setCheck(null).appendField(Ix.Msg.MIXLY_WIFI_PASSWORD),this.appendValueInput("project").setCheck(null).appendField(Ix.Msg.MIXLY_EMQX_PROJECT),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Ca={init:function(){this.appendDummyInput().appendField(Ix.Msg.USE_MIXLY_KEY).appendField(new Ix.FieldTextInput("1RFOH08C"),"key").appendField(Ix.Msg.CONNECT_TO_MIXIO).appendField(Ix.Msg.blynk_SERVER_ADD).appendField(new Ix.FieldTextInput("mixio.mixly.cn"),"server"),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Oa={init:function(){this.appendValueInput("data").setCheck(null).appendField(Ix.Msg.MQTT_SEND_MESSAGE),this.appendValueInput("topic").setCheck(null).appendField(Ix.Msg.TO_TOPIC),this.appendDummyInput().appendField(new Ix.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Sa={init:function(){this.appendValueInput("topic").setCheck(null).appendField(Ix.Msg.WHEN_THE_SUBJECT_IS_RECEIVED),this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_MSG).appendField(new Ix.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.appendStatementInput("function").setCheck(null),this.setPreviousStatement(!1,null),this.setNextStatement(!1,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Ra={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(145),15,15,{alt:"*",flipRtl:"FALSE"})).appendField("ElegantOTA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("http://ip/update"),this.setHelpUrl("")}},Na="#777777",Da={init:function(){this.setColour(Na),this.appendDummyInput("").appendField("#include <").appendField(new Ix.FieldTextInput("Test"),"INCLUDE").appendField(".h>"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pa={init:function(){this.setColour(Na),this.appendDummyInput("").appendField(new Ix.FieldTextInput("function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ix.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var x=document.createElement("mutation");x.setAttribute("items",this.itemCount_);for(var e=0;e0&&x","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Yl),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ix.FieldDropdown(x),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{EQ:Ix.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ix.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ix.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ix.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ix.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ix.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[x]})),this.prevBlocks_=[null,null]}},Xl={init:function(){var x=[[Ix.Msg.LOGIC_OPERATION_AND,"AND"],[Ix.Msg.LOGIC_OPERATION_OR,"OR"]];this.setColour(Yl),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ix.FieldDropdown(x),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{AND:Ix.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ix.Msg.LOGIC_OPERATION_TOOLTIP_OR}[x]}))}},Gl={init:function(){this.setColour(Yl),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ix.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ix.Msg.LOGIC_NEGATE_TOOLTIP)}},Bl={init:function(){var x=[[Ix.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ix.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Yl),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ix.FieldDropdown(x),"BOOL"),this.setTooltip(Ix.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Ul={init:function(){this.setColour(Yl),this.setOutput(!0),this.appendDummyInput().appendField(Ix.Msg.LOGIC_NULL),this.setTooltip(Ix.Msg.LOGIC_NULL_TOOLTIP)}},Hl={init:function(){this.setColour(Yl),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ix.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ix.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Wl=230;Ix.FieldTextInput.math_number_validator=function(x){return String(x)};const jl={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(new Ix.FieldTextInput("0",Ix.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MATH_NUMBER_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id2")}},Kl={init:function(){var x=[[Ix.Msg.MATH_ADDITION_SYMBOL,"ADD"],[Ix.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[Ix.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[Ix.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[Ix.Msg.MATH_QUYU_SYMBOL,"QUYU"],[Ix.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setColour(Wl),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(null),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id4"),this.appendValueInput("B").setCheck(null).appendField(new Ix.FieldDropdown(x),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{ADD:Ix.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ix.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ix.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ix.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ix.Msg.MATH_MODULO_TOOLTIP,POWER:Ix.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[x]}))}},ql={init:function(){this.setColour(Wl),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ix.FieldDropdown([["&","&"],["|","|"],["xor","^"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id8")}},zl={init:function(){this.setColour(Wl),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ix.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"],["++","++"],["--","--"],["~","~"]]),"OP");var x=this;this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id17"),this.setTooltip((function(){var e=x.getFieldValue("OP");return{SIN:Ix.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ix.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ix.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ix.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ix.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ix.Msg.MATH_TRIG_TOOLTIP_ATAN}[e]}))}},Zl={init:function(){var x=[[Ix.Msg.LANG_MATH_TO_ROUND,"round"],[Ix.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ix.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ix.Msg.MATH_ABS,"abs"],[Ix.Msg.MATH_SQ,"sq"],[Ix.Msg.MATH_SQRT,"sqrt"]];this.setColour(Wl),this.appendValueInput("A").setCheck(Number).appendField(new Ix.FieldDropdown(x),"OP"),this.setOutput(!0,Number),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id18");var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{sqrt:Ix.Msg.MATH_SINGLE_TOOLTIP_ROOT,abs:Ix.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ix.Msg.MATH_SINGLE_TOOLTIP_SQ,log:Ix.Msg.MATH_SINGLE_TOOLTIP_LN,round:Ix.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ix.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ix.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[x]}))}},Jl={init:function(){var x=[[Ix.Msg.LANG_MATH_INT,"int"],[Ix.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Ix.Msg.LANG_MATH_WORD,"word"],[Ix.Msg.LANG_MATH_LONG,"long"],[Ix.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Ix.Msg.LANG_MATH_FLOAT,"float"],[Ix.Msg.LANG_MATH_DOUBLE,"double"],[Ix.Msg.LANG_MATH_BOOLEAN,"boolean"],[Ix.Msg.LANG_MATH_BYTE,"byte"],[Ix.Msg.LANG_MATH_CHAR,"char"],[Ix.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Ix.Msg.LANG_MATH_STRING,"String"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];this.appendDummyInput().appendField(new Ix.FieldDropdown(x),"variate_type"),this.setOutput(!0,null),this.setColour(Wl),this.setTooltip(""),this.setHelpUrl("")}},Ql={init:function(){this.appendValueInput("data").setCheck(null).appendField(Ix.Msg.MIXLY_GET+" "+Ix.Msg.MIXLY_I2C_BYTES),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Wl),this.setTooltip(""),this.setHelpUrl("")}},$l={init:function(){var x=[[Ix.Msg.MIXLY_MAX,"max"],[Ix.Msg.MIXLY_MIN,"min"]];this.setColour(Wl),this.appendValueInput("A").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldDropdown(x),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#min-max"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{max:Ix.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ix.Msg.MIXLY_TOOLTIP_MATH_MIN}[x]}))}},xc={init:function(){this.setColour(Wl),this.appendValueInput("NUM").setCheck(Number).appendField(Ix.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#randomseed")}},ec={init:function(){this.setColour(Wl),this.setOutput(!0,Number),this.appendValueInput("FROM").setCheck(Number).appendField(Ix.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MATH_RANDOM_INT_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#random")}},fc={init:function(){this.setColour(Wl),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ix.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ix.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ix.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MATH_CONSTRAIN_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#constrain")}},tc={init:function(){this.setColour(Wl),this.appendValueInput("NUM",Number).appendField(Ix.Msg.MIXLY_MAP).appendField(new Ix.FieldDropdown([[Ix.Msg.LANG_MATH_INT,"map_int"],[Ix.Msg.LANG_MATH_FLOAT,"map_float"]]),"maptype").setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ix.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ix.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_MATH_MAP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#map")}},ic={init:function(){this.setColour(Wl),this.appendValueInput("variables").setCheck(null),this.appendValueInput("data").setCheck(null).appendField(new Ix.FieldDropdown([["+=","+"],["-=","-"],["*=","*"],["/=","/"]]),"type"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl("")}},nc={init:function(){this.appendValueInput("math_auto_add_minus_output").setCheck(null),this.appendDummyInput().appendField(new Ix.FieldDropdown([["++","++"],["--","--"]]),"math_auto_add_minus_type"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wl),this.setTooltip(""),this.setHelpUrl("")}},sc=230,ac={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.digital),"PIN"),this.setOutput(!0,Number)}},lc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.analog),"PIN"),this.setOutput(!0,Number)}},cc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.pwm),"PIN"),this.setOutput(!0,Number)}},pc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.interrupt),"PIN"),this.setOutput(!0,Number)}},dc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.MOSI),"PIN"),this.setOutput(!0,Number)}},oc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.MISO),"PIN"),this.setOutput(!0,Number)}},uc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.SCK),"PIN"),this.setOutput(!0,Number)}},rc={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},_c={init:function(){this.setColour(sc),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},hc=290,Fc={init:function(){var x=Ix.Procedures.findLegalName("",this),e=new Ix.FieldTextInput(x,Ix.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(Ix.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Ix.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ix.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ix.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ix.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ix.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentstype_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(x){this.hasStatements_!==x&&(x?(this.appendStatementInput("STACK").appendField(Ix.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=x)},updateParams_:function(){var x="";this.arguments_.length&&(x=Ix.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ix.Events.disable();try{this.setFieldValue(x,"PARAMS")}finally{Ix.Events.enable()}},mutationToDom:function(x){var e=Ix.utils.xml.createElement("mutation");x&&e.setAttribute("name",this.getFieldValue("NAME"));for(var f=0;f1&&"\\"===x.charAt(0)){var e=x.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(x).substring(0,2);if("x"===e&&"0"===x.charAt(2)&&"B"===x.charAt(3))return String(x).substring(0,4)}return String(x).substring(0,1)};const hd={init:function(){this.setColour(rd),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ix.FieldTextInput("",Ix.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(x){if(1==x)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKlJREFUGNNVkD0LwkAMhlNsnUvBH+DmKnXoeODgWgXBsaOj+AGuVfTys8318l7OTA/hTe7JEWmVNwekA/fAHfNSsVoxew0/mfkbeSvo6wkLSbx0tJH2XdPS/pClsfxs7TA5WOQNl5M9X3bMF8RlS608z+JhFOZNMowybftw4GDvjHmTsc84PJJ4iPbgWcZVxuEUMHXKvS2dZHVgxJHpV4qr4Brei+Oe/usHT1JfDpNGeM0AAAAASUVORK5CYII=";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKpJREFUGNNV0bEKAjEMBuActOd6KIKrg+h4cII3Cg6u5yA6Ot4DONxcUfPYJmnaxn/6KEmaUoD/LK+XxAUibhuhR85bvBLjQHR99DqXIL7ItTo0xdyQ3RrvjWlQZQyT8cnYjcXgbl2XzBmNe5kv4WUfar6kUc9o56N6nh4Zy1NrHZ8iuSN+lB5LCR0HnXIuy/hd7qymUs3bf7WajsNQrn9CHr7Jn+IOaUH4ATxJW2wDnL5kAAAAAElFTkSuQmCC";return new Ix.FieldImage(e,7,12,'"')}},Fd={init:function(){this.setColour(rd),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ix.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Id={init:function(){var x=[[Ix.Msg.MIXLY_TO_INT,"toInt"],[Ix.Msg.MIXLY_TO_FLOAT,"toFloat"]];this.setColour(rd),this.appendValueInput("VAR").setCheck([String,Number]).appendField(new Ix.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var x=e.getFieldValue("TOWHAT");return{toInt:Ix.Msg.MIXLY_TOOLTIP_TEXT_TOINT,toFloat:Ix.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[x]}))}},Ad={init:function(){this.setColour(rd),this.appendValueInput("VAR").setCheck(Number).appendField(Ix.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ed={init:function(){this.setColour(rd),this.appendDummyInput().appendField(Ix.Msg.MIXLY_TOASCII).appendField("'").appendField(new Ix.FieldTextInput("",Ix.FieldTextInput.char_validator),"TEXT").appendField("'"),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Td={init:function(){var x=[[Ix.Msg.MATH_BIN,"BIN"],[Ix.Msg.MATH_OCT,"OCT"],[Ix.Msg.MATH_DEC,"DEC"],[Ix.Msg.MATH_HEX,"HEX"]];this.setColour(rd),this.appendValueInput("VAR").setCheck(Number).appendField(Ix.Msg.MIXLY_TOSTRING).appendField(new Ix.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,String),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},gd={init:function(){this.setColour(rd),this.appendValueInput("VAR").setCheck(Number).appendField(Ix.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},md={init:function(){this.setColour(rd),this.appendValueInput("VAR").appendField(Ix.Msg.MIXLY_LENGTH).setCheck(String),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Md={init:function(){this.setColour(rd),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").appendField(Ix.Msg.TEXT_CHARAT).setCheck(Number),this.appendDummyInput().appendField(Ix.Msg.TEXT_CHARAT2),this.setOutput(!0,Number),this.setInputsInline(!0);var x=this;this.setTooltip((function(){return Ix.Msg.MIXLY_TOOLTIP_TEXT_FIND_CHAR_AT.replace("%1",Ix.Arduino.valueToCode(x,"VAR",Ix.Arduino.ORDER_ATOMIC))}))}},Cd={init:function(){var x=[[Ix.Msg.MIXLY_EQUALS,"equals"],[Ix.Msg.MIXLY_STARTSWITH,"startsWith"],[Ix.Msg.MIXLY_ENDSWITH,"endsWith"]];this.setColour(rd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(new Ix.FieldDropdown(x),"DOWHAT").setCheck([String,Number]),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("DOWHAT"),f={equals:Ix.Msg.MIXLY_EQUALS,startsWith:Ix.Msg.MIXLY_STARTSWITH,endsWith:Ix.Msg.MIXLY_ENDSWITH};return Ix.Msg.MIXLY_TOOLTIP_TEXT_EQUALS_STARTS_ENDS.replace("%1",f[x]).replace("%2",Ix.Arduino.valueToCode(e,"STR2",Ix.Arduino.ORDER_ATOMIC))}))}},Od={init:function(){this.setColour(rd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(Ix.Msg.MIXLY_COMPARETO).setCheck([String,Number]),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_COMPARETO_HELP)}},Sd={init:function(){this.setColour(rd),this.appendValueInput("numeral").setCheck(null).appendField(Ix.Msg.LANG_MATH_FLOAT),this.appendValueInput("decimal_places").setCheck(null).appendField(Ix.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ix.Msg.TEXT_DECIMAL),this.setOutput(!0,null),this.setTooltip(Ix.Msg.DECIMAL_PLACES_HELP),this.setHelpUrl("")}},Rd={init:function(){this.appendValueInput("name").setCheck(null),this.appendValueInput("Start").setCheck(null).appendField(Ix.Msg.LISTS_GET_INDEX_GET),this.appendValueInput("end").setCheck(null).appendField(Ix.Msg.TEXT_TO),this.appendDummyInput().appendField(Ix.Msg.LANG_MATH_STRING),this.setOutput(!0,null),this.setColour(rd),this.setTooltip(Ix.Msg.SUBSTRING_HELP),this.setHelpUrl("")}},Nd={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ix.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(Ix.Msg.LETTERS_ARE_CONVERTED_TO).appendField(new Ix.FieldDropdown([[Ix.Msg.CAPITAL,".toUpperCase()"],[Ix.Msg.LOWER_CASE,".toLowerCase()"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(rd),this.setTooltip(Ix.Msg.LETTER_CONVERSION_HELP),this.setHelpUrl("")}},Dd={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ix.Msg.STRING_VARIABLE),this.appendValueInput("source_data").setCheck(null).appendField(Ix.Msg.LANG_MATH_STRING),this.appendValueInput("replace").setCheck(null).appendField(Ix.Msg.REPLACE_WITH),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(rd),this.setTooltip(Ix.Msg.DATA_REPLACEMENT_HELP),this.setHelpUrl("")}},Pd={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ix.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(Ix.Msg.ELIMINATE_NON_VISUAL_CHARACTERS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(rd),this.setTooltip(Ix.Msg.ELIMINATE_HELP),this.setHelpUrl("")}},Ld={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ix.Msg.LANG_MATH_STRING),this.appendValueInput("String1").setCheck(null).appendField(Ix.Msg.AS_A_STRING),this.appendDummyInput().appendField(new Ix.FieldDropdown([[Ix.Msg.STARTSWITH,".startsWith"],[Ix.Msg.ENDSWITH,".endsWith"]]),"type"),this.setOutput(!0,null),this.setColour(rd),this.setTooltip(Ix.Msg.FIRST_AND_LAST_HELP),this.setHelpUrl("")}},bd={init:function(){this.appendValueInput("variable").setCheck(null).appendField(Ix.Msg.DATA_TYPE_CONVERSION).appendField(new Ix.FieldDropdown([[Ix.Msg.LANG_MATH_STRING,"String"],[Ix.Msg.LANG_MATH_CHAR,"char"],[Ix.Msg.LANG_MATH_BYTE,"byte"],[Ix.Msg.LANG_MATH_INT,"int"],[Ix.Msg.LANG_MATH_LONG,"long"],[Ix.Msg.LANG_MATH_FLOAT,"float"],[Ix.Msg.LANG_MATH_WORD,"word"]]),"type"),this.setOutput(!0,null),this.setColour(rd),this.setTooltip(Ix.Msg.TYPE_CONVERSION_HELP),this.setHelpUrl("")}},yd={init:function(){this.setColour(rd),this.appendDummyInput().appendField(Ix.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},vd={init:function(){this.setColour(rd),this.appendDummyInput().appendField(Ix.Msg.HTML_TEXT),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},wd={init:function(){this.appendValueInput("str1").setCheck(null),this.appendDummyInput().setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.PROCEDURES_DEFRETURN_RETURN),this.appendValueInput("str2").setCheck(null),this.appendDummyInput().setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.SERIES_INDEX),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(160),this.setTooltip(),this.setHelpUrl("")}},Vd={init:function(){this.setColour(rd),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_TEXT_JOIN+Ix.Msg.MIXLY_MICROBIT_TYPE_STRING),this.itemCount_=3,this.updateShape_(),this.setInputsInline(!0),this.setOutput(!0,null),this.setMutator(new Ix.icons.MutatorIcon(["create_with_item"],this)),this.setTooltip("")},mutationToDom:function(){var x=Ix.utils.xml.createElement("mutation");return x.setAttribute("items",this.itemCount_),x},domToMutation:function(x){this.itemCount_=parseInt(x.getAttribute("items"),10),this.updateShape_()},decompose:function(x){var e=x.newBlock("create_with_container");e.initSvg();for(var f=e.getInput("STACK").connection,t=0;t0&&(e.setAlign(Ix.inputs.Align.RIGHT),e.appendField("+"))}}},Yd={init:function(){this.appendDummyInput().appendField(Ix.Msg.ARDUINOJSON_STRING_PARSING),this.appendDummyInput("").appendField(new Ix.FieldMultilineInput('const size_t capacity = JSON_ARRAY_SIZE(3) + 10;\nDynamicJsonBuffer jsonBuffer(capacity);\nconst char* json = "[\\"0\\",\\"74\\",\\"134\\"]";\nJsonArray& root = jsonBuffer.parseArray(json);\nconst char* root_0 = root[0]; // "0"\nconst char* root_1 = root[1]; // "74"\nconst char* root_2 = root[2]; // "134"'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(120),this.setTooltip(Ix.Msg.ARDUINOJSON_STRING_PARSING1),this.setHelpUrl("https://arduinojson.org/v5/assistant/")}},kd={init:function(){this.appendValueInput("data").setCheck(null).appendField(Ix.Msg.MIXLY_MICROBIT_TYPE_STRING+Ix.Msg.A_TO_B+Ix.Msg.LANG_MATH_LONG).appendField(new Ix.FieldDropdown([[Ix.Msg.MATH_HEX,"16"],[Ix.Msg.MATH_DEC,"10"],[Ix.Msg.MATH_OCT,"8"],[Ix.Msg.MATH_BIN,"2"],[Ix.Msg.blynk_IOT_AUTO,"0"]]),"type"),this.setOutput(!0,null),this.setColour(rd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/lizhengze1117/article/details/103318662?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base")}},Xd="#555555",Gd={init:function(){this.setColour(Xd),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_CONTROL_NOTES).appendField(new Ix.FieldMultilineInput(""),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bd={init:function(){this.setColour(Xd),this.appendDummyInput().appendField(new Ix.FieldTextInput(Ix.Msg.FOLDING_BLOCK),"peien"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.FOLDING_BLOCK_HELP)}},Ud={init:function(){this.setColour(Xd),this.appendDummyInput("").appendField(Ix.Msg.IICSCAN),this.setInputsInline(!0),this.setTooltip("")}},Hd={init:function(){this.setColour(260),this.appendDummyInput("").appendField(Ix.Msg.OLED_BITMAP_NAME).appendField(new Ix.FieldTextInput("mylist"),"VAR").appendField("[").appendField(new Ix.FieldTextInput("3"),"x").appendField("]"),this.appendDummyInput("").appendField(Ix.Msg.SAVETO+" flash").appendField(new Ix.FieldCheckbox("true"),"save_hz"),this.appendValueInput("input_data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Wd={init:function(){this.appendDummyInput().appendField("点阵格式").appendField(new Ix.FieldDropdown([["阴码","1"],["阳码","2"]]),"bitmap_formats").appendField(" 取模方式").appendField(new Ix.FieldDropdown([["逐列式","1"],["逐行式","2"],["列行式","3"],["行列式","4"]]),"modulus_way").appendField(" 取模走向").appendField(new Ix.FieldDropdown([["顺向(高位在前)","1"],["逆向(低位在前)","2"]]),"modulus_direction"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ix.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"]]),"hz_sharp").appendField(Ix.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new Ix.FieldTextInput("16"),"hz_line_height").appendField("px").appendField(Ix.Msg.MIXLY_WIDTH).appendField(new Ix.FieldTextInput("16"),"bitmap_width").appendField("px "+Ix.Msg.MIXLY_HEIGHT).appendField(new Ix.FieldTextInput("16"),"bitmap_height").appendField("px"),this.appendDummyInput().appendField("输入数据").appendField(new Ix.FieldTextInput(""),"input_data"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(180),this.setTooltip(""),this.setHelpUrl("")}},jd={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(260),525,372,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},Kd={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(573),525,368,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},qd={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(408),525,736,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},zd={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(998),525,371,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},Zd={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(59),525,371,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},Jd={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(617),525,376,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},Qd={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(591),525,376,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},$d={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(517),500,376,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},xo={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(906),500,350,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},eo={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(877),525,346,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},fo={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(491),525,264,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl()}},to={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(f(537),525,376,"*")),this.setColour(Xd),this.setTooltip(),this.setHelpUrl("https://blog.csdn.net/xatsoft/article/details/90687016?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase")}},io={init:function(){this.appendDummyInput().appendField(Ix.Msg.GET_THE_DIFFERENCE_BETWEEN_TWO_DATES),this.appendValueInput("year_start").setCheck(null).appendField(Ix.Msg.START+Ix.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_start").setCheck(null).appendField(Ix.Msg.START+Ix.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_start").setCheck(null).appendField(Ix.Msg.START+Ix.Msg.MIXLY_GPS_DATE_DAY),this.appendValueInput("year_end").setCheck(null).appendField(Ix.Msg.END+Ix.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_end").setCheck(null).appendField(Ix.Msg.END+Ix.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_end").setCheck(null).appendField(Ix.Msg.END+Ix.Msg.MIXLY_GPS_DATE_DAY),this.setOutput(!0,null),this.setColour(Xd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/a_ran/article/details/43601699?utm_source=distribute.pc_relevant.none-task")}};var no=[["D0","16"],["D1","5"],["D2","4"],["D3","0"],["D4","2"],["D5","14"],["D6","12"],["D7","13"],["D8","15"],["RX","3"],["TX","1"],["A0","A0"],["SD3","10"],["SD2","9"]];const so={init:function(){this.appendDummyInput().appendField("ESP8266 GPIO").appendField(new Ix.FieldDropdown(no),"pin"),this.setOutput(!0,null),this.setColour(Xd),this.setTooltip(""),this.setHelpUrl("")}},ao=330;var lo=[[Ix.Msg.LANG_MATH_INT,"int"],[Ix.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Ix.Msg.LANG_MATH_WORD,"word"],[Ix.Msg.LANG_MATH_LONG,"long"],[Ix.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Ix.Msg.LANG_MATH_FLOAT,"float"],[Ix.Msg.LANG_MATH_DOUBLE,"double"],[Ix.Msg.LANG_MATH_BOOLEAN,"boolean"],[Ix.Msg.LANG_MATH_BYTE,"byte"],[Ix.Msg.LANG_MATH_CHAR,"char"],[Ix.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Ix.Msg.LANG_MATH_STRING,"String"],["char*","char*"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];const co={init:function(){this.setColour(ao),this.appendValueInput("VALUE",null).appendField(Ix.Msg.MIXLY_DECLARE).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_GLOBAL_VARIABLE,"global_variate"],[Ix.Msg.MIXLY_LOCAL_VARIABLE,"local_variate"]]),"variables_type").appendField(new Ix.FieldTextInput("item"),"VAR").appendField(Ix.Msg.MIXLY_AS).appendField(new Ix.FieldDropdown(lo),"TYPE").appendField(Ix.Msg.MIXLY_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_VARIABLES_DECLARE)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,e){Ix.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},po={init:function(){this.setColour(ao),this.appendDummyInput().appendField(new Ix.FieldTextInput("item"),"VAR"),this.setOutput(!0),this.setTooltip(Ix.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,e){Ix.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},oo={init:function(){this.setColour(ao),this.appendValueInput("VALUE").appendField(new Ix.FieldTextInput("item"),"VAR").appendField(Ix.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,e){Ix.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},uo={init:function(){this.setColour(ao);var x=[[Ix.Msg.LANG_MATH_INT,"int"],[Ix.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Ix.Msg.LANG_MATH_WORD,"word"],[Ix.Msg.LANG_MATH_LONG,"long"],[Ix.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Ix.Msg.LANG_MATH_FLOAT,"float"],[Ix.Msg.LANG_MATH_DOUBLE,"double"],[Ix.Msg.LANG_MATH_BOOLEAN,"boolean"],[Ix.Msg.LANG_MATH_BYTE,"byte"],[Ix.Msg.LANG_MATH_CHAR,"char"],[Ix.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Ix.Msg.LANG_MATH_STRING,"String"]];this.appendValueInput("MYVALUE").appendField(new Ix.FieldDropdown(x),"OP"),this.setOutput(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_VARIABLES_CHANGE)}},ro=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC),i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"0";return e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");","servo_"+f+".write("+t+");\ndelay("+i+");\n"},_o=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC);return e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");","servo_"+f+".writeMicroseconds("+t+");\n"},ho=function(x,e){var f=this.getFieldValue("PIN");return e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");",["servo_"+f+".read()",e.ORDER_ATOMIC]},Fo=function(x,e){var f=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC),n=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"0";return 0==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),e.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".write("+i+");\ndelay("+n+");\n"},Io=function(x,e){var f=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC);return 0==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),e.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".writeMicroseconds("+i+");\n"},Ao=function(x,e){var f=this.getFieldValue("mode"),t=this.getFieldValue("PIN");return 0==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),e.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");",["servo_"+t+".read()",e.ORDER_ATOMIC]},Eo=function(x,e){return[this.getFieldValue("STAT"),e.ORDER_ATOMIC]},To=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i="";return window.isNaN(f)?i=i+"pinMode("+f+", OUTPUT);\n":e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",i+="tone("+f+","+t+");\n"},go=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t="";return window.isNaN(f)?t=t+"pinMode("+f+", OUTPUT);\n":e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",t+="noTone("+f+");\n"},mo=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i=e.valueToCode(this,"DURATION",e.ORDER_ASSIGNMENT)||"0";return e.definitions_.include_NewTone="#include ",e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);","NewTone("+f+","+t+","+i+");\n"},Mo=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);","NewNoTone("+f+");\n"},Co=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ix.Variables.NAME_TYPE),t=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),n=e.valueToCode(this,"steps",e.ORDER_ATOMIC),s=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Stepper="#include ",e.definitions_["var_declare_stepper"+f]="Stepper "+f+"("+n+","+t+","+i+");",e.setups_["setup_stepper"+f]=f+".setSpeed("+s+");",""},Oo=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ix.Variables.NAME_TYPE),t=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN3",e.ORDER_ATOMIC),s=e.valueToCode(this,"PIN4",e.ORDER_ATOMIC),a=e.valueToCode(this,"steps",e.ORDER_ATOMIC),l=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Stepper="#include ",e.definitions_["var_declare_stepper"+f]="Stepper "+f+"("+a+","+t+","+i+","+n+","+s+");",e.setups_["setup_stepper"+f]=f+".setSpeed("+l+");",""},So=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ix.Variables.NAME_TYPE),t=e.valueToCode(this,"step",e.ORDER_ATOMIC);return e.definitions_.include_Stepper="#include ",f+".step("+t+");\n"},Ro=function(x,e){var f=this.getFieldValue("COLOR");return[f="0x"+f.substring(1,f.length),e.ORDER_NONE]},No=function(x,e){return["(("+e.valueToCode(this,"R",e.ORDER_ATOMIC)+" & 0xffffff) << 16) | (("+e.valueToCode(this,"G",e.ORDER_ATOMIC)+" & 0xffffff) << 8) | "+e.valueToCode(this,"B",e.ORDER_ATOMIC),e.ORDER_NONE]},Do=function(x,e){var f=this.getFieldValue("PIN"),t=this.getFieldValue("TYPE"),i=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_["var_declare_rgb_display"+f]="Adafruit_NeoPixel rgb_display_"+f+" = Adafruit_NeoPixel("+i+","+f+","+t+" + NEO_KHZ800);",e.setups_["setup_rgb_display_begin_"+f]="rgb_display_"+f+".begin();",""},Po=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.setups_["setup_rgb_display_begin_"+f]="rgb_display_"+f+".begin();","rgb_display_"+f+".setBrightness("+t+");\n"},Lo=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),i=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return"rgb_display_"+f+".setPixelColor(("+t+")-1, "+(i=i.replace(/#/g,"0x"))+");\n"},bo=function(x,e){var f=this.getFieldValue("PIN");return"rgb_display_"+f+".setPixelColor(("+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+")-1, rgb_display_"+f+".ColorHSV("+e.valueToCode(this,"H",e.ORDER_ATOMIC)+","+e.valueToCode(this,"S",e.ORDER_ATOMIC)+","+e.valueToCode(this,"V",e.ORDER_ATOMIC)+"));\n"},yo=function(){var x=Ax.JSFuncs.getPlatform(),e=this.getFieldValue("PIN"),f="rgb_display_"+e+".show();\n";return x.match(RegExp(/ESP32/))&&(f+="rgb_display_"+e+".show();\n"),f},vo=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_["setup_rgb_display_begin_"+f]="rgb_display_"+f+".begin();\n";var i="uint32_t Wheel(byte WheelPos){\n if(WheelPos < 85){\n return rgb_display_"+f+".Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n }\n else if(WheelPos < 170){\n WheelPos -= 85;\n return rgb_display_"+f+".Color(255 - WheelPos * 3, 0, WheelPos * 3);\n }\n else{\n WheelPos -= 170;\n return rgb_display_"+f+".Color(0, WheelPos * 3, 255 - WheelPos * 3);\n }\n}\n";e.definitions_.Wheel=i;var n="void rainbow(uint8_t wait){\n uint16_t i, j;\n for(j=0; j<256; j++){\n for(i=0; i 0) {\n digitalWrite(dirpin1, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin1, HIGH);\n analogWrite(speedpin, -speed);\n }\n}\n";return e.definitions_[n]=s,i},ko=function(x,e){var f=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),i="setMotor8833("+f+", "+t+", "+(e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)||"0")+");\n";e.setups_["setup_output_"+f+t+"_S"]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+f+t+"_D"]="pinMode("+t+", OUTPUT);",e.setups_["setup_output_"+f+t+"_S_W"]="digitalWrite("+f+", LOW);",e.setups_["setup_output_"+f+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor8833",s="void "+n+"(int speedpin, int dirpin, int speed) {\n if (speed == 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } else if (speed > 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return e.definitions_[n]=s,i},Xo=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("VOICE"),i=e.valueToCode(this,"WAIT",e.ORDER_ASSIGNMENT)||"0";e.setups_.setup_output_sda="pinMode("+f+", OUTPUT);";var n="send_data("+t+"); //volume control 0xE0-E7;\n";n+="delay("+i+");\n";var s="void send_data(int addr) {\n int i;\n digitalWrite("+f+", LOW);\n delay(3); //>2ms\n for (i = 0; i < 8; i++) {\n digitalWrite("+f+", HIGH);\n if (addr & 1) {\n delayMicroseconds(2400); //>2400us\n digitalWrite("+f+", LOW);\n delayMicroseconds(800);\n } //>800us\n else {\n delayMicroseconds(800); //>800us\n digitalWrite("+f+", LOW);\n delayMicroseconds(2400);\n } //>2400us\n addr >>= 1;\n }\n digitalWrite("+f+", HIGH);\n}\n";return e.definitions_.funcName=s,n},Go=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("CONTROL_TYPE");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+"."+i+"\n"},Bo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("DEVICEID");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setDevice("+i+");\n"},Uo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("LOOP_MODE");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setLoopMode("+i+");\n"},Ho=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("EQ_MODE");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setEqualizer("+i+");\n"},Wo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=e.valueToCode(this,"vol",e.ORDER_ATOMIC);return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setVolume("+i+");\n"},jo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".playFileByIndexNumber("+i+");\n"},Ko=function(x,e){e.definitions_.include_AFMotor="#include ";var f=this.getFieldValue("motor"),t=this.getFieldValue("direction"),i=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_["var_declare_motor_"+f]="AF_DCMotor motor"+f+"("+f+");"," motor"+f+".setSpeed("+i+");\n motor"+f+".run("+t+");\n"},qo=function(x,e){e.definitions_.include_AFMotor="#include ";var f=this.getFieldValue("motor");return e.definitions_["var_declare_motor_"+f]="AF_DCMotor motor"+f+"("+f+");"," motor"+f+".setSpeed(0);\n motor"+f+".run(RELEASE);\n"},zo=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"dfplayer_pin",e.ORDER_ATOMIC);e.definitions_.include_Arduino='#include "generator.h"',e.definitions_.include_DFRobotDFPlayerMini='#include "DFRobotDFPlayerMini.h"',e.definitions_["var_declare_DFPlayerMini_"+f]="DFRobotDFPlayerMini "+f+";",e.setups_["setup_DFPlayerMini_"+f]=f+".begin("+t+");";return""},Zo=function(x,e){var f=this.getFieldValue("pin_type");return e.definitions_.include_SoftwareSerial="#include ",[f,e.ORDER_ATOMIC]},Jo=function(x,e){return this.getFieldValue("dfplayer_name")+".setTimeOut("+e.valueToCode(this,"timeout_data",e.ORDER_ATOMIC)+");\n"},Qo=function(x,e){return this.getFieldValue("dfplayer_name")+".volume("+e.valueToCode(this,"volume_data",e.ORDER_ATOMIC)+");\n"},$o=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("volume_type")+"();\n"},xu=function(x,e){return this.getFieldValue("dfplayer_name")+".EQ("+e.valueToCode(this,"eq_data",e.ORDER_ATOMIC)+");\n"},eu=function(x,e){return[this.getFieldValue("eq_type"),e.ORDER_ATOMIC]},fu=function(x,e){return this.getFieldValue("dfplayer_name")+".outputDevice("+e.valueToCode(this,"outputdevice_data",e.ORDER_ATOMIC)+");\n"},tu=function(x,e){return[this.getFieldValue("outputdevice_type"),e.ORDER_ATOMIC]},iu=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("set_data")+"();\n"},nu=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"play_data",e.ORDER_ATOMIC);return f+"."+this.getFieldValue("play_type")+"("+t+");\n"},su=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"fold_data",e.ORDER_ATOMIC);return f+"."+this.getFieldValue("fold_type")+"("+t+", "+e.valueToCode(this,"play_data",e.ORDER_ATOMIC)+");\n"},au=function(x,e){return this.getFieldValue("dfplayer_name")+".loopFolder("+e.valueToCode(this,"fold_data",e.ORDER_ATOMIC)+");\n"},lu=function(x,e){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("read_type")+"()",e.ORDER_ATOMIC]},cu=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"device_type",e.ORDER_ATOMIC);return[f+"."+this.getFieldValue("play_data")+"("+t+")",e.ORDER_ATOMIC]},pu=function(x,e){return[this.getFieldValue("dfplayer_name")+".readFileCountsInFolder("+e.valueToCode(this,"folder_data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},du=function(x,e){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("type")+"()",e.ORDER_ATOMIC]},ou=function(x,e){var f=this.getFieldValue("motor"),t=e.valueToCode(this,"SPEED",e.ORDER_ASSIGNMENT)||"0";return e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_PWMServoDriver="#include ",e.definitions_.var_declare_Adafruit_PWMServoDriver="Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();",e.setups_.setup_pwm_begin="pwm.begin();\npwm.setOscillatorFrequency(27000000);\npwm.setPWMFreq(400);\nWire.setClock(400000);","void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n",e.definitions_.motor="void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n","motor("+f+","+t+");\n"},uu=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("CONTROL_TYPE");return e.definitions_.include_N910X="#include ",e.definitions_["var_declare_N910X_ mp3"+f]="N910X mp3_"+f+"("+f+");",e.setups_["setup_ mp3"+f]="mp3_"+f+".begin();","mp3_"+f+"."+t+"\n"},ru=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_N910X="#include ",e.definitions_["var_declare_N910X_ mp3"+f]="N910X mp3_"+f+"("+f+");",e.setups_["setup_ mp3"+f]=" mp3_"+f+".begin();","mp3_"+f+".set_volume("+t+");\n"},_u=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_N910X="#include ",e.definitions_["var_declare_N910X_ mp3"+f]="N910X mp3_"+f+"("+f+");",e.setups_["setup_ mp3"+f]=" mp3_"+f+".begin();","mp3_"+f+".set_play_number("+t+");\n"},hu=function(){return""},Fu=function(x,e){let f=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC),t=e.valueToCode(this,"server_add",e.ORDER_ATOMIC);isNaN(t.charAt(2))||(t=t.replace(/"/g,"").replace(/\./g,","),t="IPAddress("+t+")");let i=Ax.JSFuncs.getPlatform();e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_smartconfig='WiFi.mode(WIFI_STA);\n int cnt = 0;\n while (WiFi.status() != WL_CONNECTED) {\n delay(500); \n Serial.print("."); \n if (cnt++ >= 10) {\n WiFi.beginSmartConfig();\n while (1) {\n delay(1000);\n if (WiFi.smartConfigDone()) {\n Serial.println();\n Serial.println("SmartConfig: Success");\n break;\n }\n Serial.print("|");\n }\n }\n }\n WiFi.printDiag(Serial);\n',i.match(RegExp(/ESP8266/))?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_BlynkSimpleEsp32="#include "),e.setups_.setup_smartconfig+="Blynk.config(auth,"+t+",8080);";return"Blynk.run();\n"},Iu=function(x,e){let f=e.valueToCode(this,"wifi_ssid",e.ORDER_ATOMIC),t=e.valueToCode(this,"wifi_pass",e.ORDER_ATOMIC),i=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC),n=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),s=Ax.JSFuncs.getPlatform();e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.var_declare_auth_key="char auth[] = "+i+";",e.definitions_.var_declare_wifi_ssid="char ssid[] = "+f+";",e.definitions_.var_declare_wifi_pass="char pass[] = "+t+";",s.match(RegExp(/AVR/))&&(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include ",e.definitions_.define_BLYNK_PRINT="#define ESP8266_BAUD 115200",e.definitions_.var_declare_ESP8266="ESP8266 wifi(&Serial);",e.setups_.setup_serial_Serial="Serial.begin(115200);",e.setups_.delay_10_1="delay(10);",e.setups_["wifi.setOprToStation"]="wifi.setOprToStation(2, 2);",e.setups_.delay_10_2="delay(10);",e.setups_["wifi.enableMUX"]="wifi.enableMUX();",e.setups_.delay_10_3="delay(10);",e.setups_["setup_Blynk.begin"]="Blynk.begin(auth, wifi,ssid, pass,"+n+",8080);"),isNaN(n.charAt(2))||(n=n.replace(/"/g,"").replace(/\./g,","),n="IPAddress("+n+")"),s.match(RegExp(/ESP8266/))?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include ",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]=" Blynk.begin(auth, ssid, pass,"+n+",8080);"):s.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_BlynkSimpleEsp32="#include ",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(auth, ssid, pass,"+n+",8080);");return"Blynk.run();\n"},Au=function(x,e){e.definitions_.include_SoftwareSerial="#include ",e.definitions_.include_BlynkSimpleStream="#include ",e.definitions_.var_declare_SoftwareSerial="SoftwareSerial DebugSerial(2, 3);";let f=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC);e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);",e.setups_.setup_DebugSerial="DebugSerial.begin(9600);";return"Blynk.run();\n"},Eu=function(x,e){return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+", "+e.valueToCode(this,"data",e.ORDER_ATOMIC)+");\n"},Tu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"STACK");e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);let i=[];for(let x=0;x0&&(e.definitions_["var_declare_"+i]=i.join(";\n")+";");let s="BLYNK_WRITE("+f+") {\n"+n+t+"}\n";return s=e.scrub_(this,s),e.definitions_[f]=s,null},gu=function(x,e){e.definitions_.var_declare_BlynkTimer="BlynkTimer timer;";let f=this.getFieldValue("timerNo"),t=e.valueToCode(this,"TIME",e.ORDER_ATOMIC),i="myTimerEvent"+f,n="void "+i+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[i]=n,e.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},mu=function(x,e){let f=this.getFieldValue("state"),t=f+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[f]=t,""},Mu=function(){return"Blynk.syncAll();\n"},Cu=function(){return"Blynk.syncVirtual("+this.getFieldValue("Vpin")+");\n"},Ou=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=e.valueToCode(this,"STAT",e.ORDER_ATOMIC);e.definitions_["var_declare_WidgetLED"+f]="WidgetLED led"+f+"("+f+");";let n="led"+f+'.setColor("#'+t+'");\n';return"HIGH"==i?n+="led"+f+".on();\n":"LOW"==i&&(n+="led"+f+".off();\n"),n},Su=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);e.definitions_["var_declare_WidgetLED"+f]="WidgetLED led"+f+"("+f+");";let n="led"+f+'.setColor("#'+t+'");\n';return n+="led"+f+".setValue("+i+");",n},Ru=function(x,e){let f=this.getFieldValue("AC_TYPE"),t=this.getFieldValue("AC_POWER"),i=this.getFieldValue("AC_MODE"),n=this.getFieldValue("AC_FAN"),s=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),a=e.valueToCode(this,"AC_TEMP",e.ORDER_ATOMIC);e.definitions_.include_Arduino="#ifndef UNIT_TEST\n#include \n#endif",e.definitions_.include_IRremoteESP8266="#include ",e.definitions_.include_IRsend="#include ",e.definitions_["include"+f]="#include ",e.definitions_["define_IR_LED"+s]="#define IR_LED "+s,e.definitions_["IR"+f+"AC"]="IR"+f+"AC "+f+"AC(IR_LED); ",e.setups_["setup"+f]=f+"AC.begin();";let l=f+"AC.setPower("+t+");\n";return l+=f+"AC.setFan("+n+");\n",l+=f+"AC.setMode("+i+");\n",l+=f+"AC.setTemp("+a+");\n",l+=f+"AC.send();\n",l},Nu=function(x,e){let f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);e.definitions_.include_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#include \n#if DECODE_AC\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#endif \n",e.definitions_["define_RECV_PIN"+f]="#define RECV_PIN "+f+"\n",e.definitions_.var_declare_CAPTURE_BUFFER_SIZE="#define CAPTURE_BUFFER_SIZE 1024\n#if DECODE_AC\n#define TIMEOUT 50U\n#else\n#define TIMEOUT 15U \n#endif\n#define MIN_UNKNOWN_SIZE 12\n#define IN_UNKNOWN_SIZE 12\nIRrecv irrecv(RECV_PIN, CAPTURE_BUFFER_SIZE, TIMEOUT, true);\ndecode_results results;",e.setups_.ir_recv_begin="while(!Serial)\n delay(50);\n #if DECODE_HASH\n irrecv.setUnknownThreshold(MIN_UNKNOWN_SIZE);\n #endif \n irrecv.enableIRIn();";return e.definitions_.dumpACInfo='void dumpACInfo(decode_results *results){\n String description="";\n #if DECODE_DAIKIN\n if(results->decode_type == DAIKIN){\n IRDaikinESP ac(0);\n ac.setRaw(results->state);\n description=ac.toString();\n }\n #endif\n #if DECODE_FUJITSU_AC\n if(results->decode_type==FUJITSU_AC){\n IRFujitsuAC ac(0);\n ac.setRaw(results->state, results->bits / 8);\n description = ac.toString();\n }\n #endif\n #if DECODE_KELVINATOR\n if(results->decode_type == KELVINATOR){\n IRKelvinatorAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_TOSHIBA_AC\n if(results->decode_type == TOSHIBA_AC){\n IRToshibaAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_GREE\n if (results->decode_type == GREE){\n IRGreeAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_MIDEA\n if(results->decode_type == MIDEA){\n IRMideaAC ac(0);\n ac.setRaw(results->value);\n description=ac.toString();\n }\n #endif\n #if DECODE_HAIER_AC\n if(results->decode_type == HAIER_AC){\n IRHaierAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n if(description != "")\n Serial.println("Mesg Desc.: " + description);\n}\n',"if(irrecv.decode(&results)){\n uint32_t now = millis();\n dumpACInfo(&results);\n Serial.println(resultToSourceCode(&results));\n}\n"},Du=function(x,e){let f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("IR_CODE"),i=t.split(",").length,n=Math.ceil(1e5*Math.random());return e.definitions_.define_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#define IR_LED "+f,e.definitions_.var_declare_IRsend_irsend="IRsend irsend(IR_LED);\n",e.definitions_["var_declare_send"+n]="uint16_t rawData"+n+"["+i+"] = {"+t+"};",e.setups_.irsend_begin="irsend.begin();\n","irsend.sendRaw(rawData"+n+", "+i+", 38);\ndelay(2000);\n"},Pu=function(x,e){let f=e.valueToCode(this,"email_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"Subject",e.ORDER_ATOMIC),i=e.valueToCode(this,"content",e.ORDER_ATOMIC);return e.definitions_.define_BLYNK_MAX_SENDBYTES="#define BLYNK_MAX_SENDBYTES 128 \n","Blynk.email("+f+", "+t+", "+i+");\n"},Lu=function(x,e){return"Blynk.notify("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+");\n"},bu=function(x,e){let f=this.getFieldValue("Vpin");return e.definitions_["var_declare_WidgetTerminal"+f]="WidgetTerminal terminal"+f+"("+f+");\n","terminal"+f+".println("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+");\nterminal"+f+".flush();\n"},yu=function(x,e){let f=this.getFieldValue("Vpin");e.definitions_.var_declare_WidgetTerminal="WidgetTerminal terminal("+f+");\n",e.definitions_.var_declare_action="String terminal_text ;";let t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n terminal_text = param.asStr();\n "+t+"\n terminal.flush();\n}\n";return e.definitions_[f]=i,null},vu=function(x,e){return"Blynk.setProperty("+this.getFieldValue("Vpin")+',"url",'+e.valueToCode(this,"url",e.ORDER_ATOMIC)+");\n"},wu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"auth",e.ORDER_ATOMIC);return e.definitions_["var_declare_WidgetBridge"+f]="WidgetBridge bridge"+f+"("+f+");\n","bridge"+f+".setAuthToken("+t+");\n"},Vu=function(x,e){return"bridge"+this.getFieldValue("Vpin")+".digitalWrite("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+");\n"},Yu=function(x,e){return"bridge"+this.getFieldValue("Vpin")+".analogWrite("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+");\n"},ku=function(x,e){return"bridge"+this.getFieldValue("Vpin")+".virtualWrite("+this.getFieldValue("Vpin2")+", "+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+");\n"},Xu=function(x,e){e.definitions_.include_TimeLib="#include ",e.definitions_.include_WidgetRTC="#include ";let f=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);e.definitions_.var_declare_WidgetRTC="WidgetRTC rtc;\n",e.setups_.setSyncInterval="setSyncInterval("+f+"* 60);";return"rtc.begin();\n"},Gu=function(x,e){return[this.getFieldValue("TIME_TYPE")+"()",e.ORDER_ATOMIC]},Bu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n action = param.asStr();\n "+t+"\n Blynk.setProperty("+f+', "label", action);\n}\n';return i=e.scrub_(this,i),e.definitions_[f]=i,""},Uu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n int lx = param.asInt();\n "+t+"\n}\n";return e.definitions_[f]=i,""},Hu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n int x = param[0].asFloat();\n int y = param[1].asFloat();\n int z = param[2].asFloat();\n "+t+"\n}\n";return e.definitions_[f]=i,""},Wu=Hu,ju=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n long startTimeInSecs = param[0].asLong();\n long hour =startTimeInSecs/3600;\n long minute=(startTimeInSecs-3600*hour)/60;\n long second=(startTimeInSecs-3600*hour)%60;\n "+t+"\n}\n";return e.definitions_[f]=i,""},Ku=function(x,e){return[this.getFieldValue("STAT"),e.ORDER_ATOMIC]},qu=function(x,e){let f=this.getFieldValue("VALUE");return e.definitions_["var_"+f]=f,""},zu=function(x,e){let f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC),i=Ax.JSFuncs.getPlatform();e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",i.match(RegExp(/ESP8266/))?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_BlynkSimpleEsp32="#include "),e.definitions_.include_DNSServer="#include ",e.definitions_.include_ESP8266WebServer="#include \n",e.definitions_.include_WiFiManager="#include ",e.definitions_.var_declare_WiFiServer="WiFiServer server(80);",e.definitions_.var_declare_auth_key="char auth[] = "+t+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_WiFiManager="WiFiManager wifiManager;",e.setups_.setup_wifiManagerautoConnect='wifiManager.autoConnect("Blynk");',e.setups_["setup_server.begin"]='Serial.println("Connected.");\n server.begin();',isNaN(f.charAt(2))?e.setups_.setup_Blynkconfig="Blynk.config(auth, "+f+", 8080);":(f=f.replace(/"/g,"").replace(/\./g,","),e.setups_.setup_Blynkconfig="Blynk.config(auth, IPAddress("+f+"), 8080);");return"Blynk.run();"},Zu=function(x,e){let f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.include_FS="#include ",e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include ",e.definitions_.include_DNSServer="#include ",e.definitions_.include_ESP8266WebServer="#include ",e.definitions_.include_WiFiManager="#include ",e.definitions_.include_ArduinoJson="#include ",e.definitions_.var_declare_auth_key='char blynk_token[34] = "YOUR_BLYNK_TOKEN";',e.definitions_.var_declare_shouldSaveConfig="bool shouldSaveConfig = false;",e.definitions_.saveConfigCallback='void saveConfigCallback (){\n Serial.println("Should save config");\n shouldSaveConfig = true;\n}',e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.otasetup1='Serial.println("mounting FS...");\n if (SPIFFS.begin()){\n Serial.println("mounted file system");\n if (SPIFFS.exists("/config.json")) {\n Serial.println("reading config file");\n File configFile = SPIFFS.open("/config.json", "r");\n if (configFile) {\n Serial.println("opened config file");\n size_t size = configFile.size();\n std::unique_ptr buf(new char[size]);\n configFile.readBytes(buf.get(), size);\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.parseObject(buf.get());\n json.printTo(Serial);\n if (json.success()){\n Serial.println("parsed json");\n strcpy(blynk_token, json["blynk_token"]);\n }\n else{\n Serial.println("failed to load json config");\n }\n configFile.close();\n }\n }\n } else{\n Serial.println("failed to mount FS");\n }\n WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32);\n WiFiManager wifiManager;\n wifiManager.setSaveConfigCallback(saveConfigCallback);\n wifiManager.addParameter(&custom_blynk_token);\n wifiManager.setMinimumSignalQuality(10);\n if (!wifiManager.autoConnect()){\n Serial.println("failed to connect and hit timeout");\n delay(3000);\n ESP.reset();\n delay(5000);\n }\n Serial.println("connected...yeey :)");\n strcpy(blynk_token, custom_blynk_token.getValue());\n if(shouldSaveConfig){\n Serial.println("saving config");\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.createObject();\n json["blynk_token"] = blynk_token;\n File configFile = SPIFFS.open("/config.json", "w");\n if(!configFile){\n Serial.println("failed to open config file for writing");\n }\n json.printTo(Serial);\n json.printTo(configFile);\n configFile.close();\n }\n Serial.println("local ip");\n Serial.println(WiFi.localIP());\n',isNaN(f.charAt(2))?e.setups_.otasetup1+=" Blynk.config(blynk_token,"+f+",8080);":(f=f.replace(/"/g,"").replace(/\./g,","),e.setups_.otasetup1+=" Blynk.config(blynk_token,IPAddress("+f+"),8080);");return"Blynk.run();\n"},Ju=function(x,e){return["Blynk.connected()",e.ORDER_ATOMIC]},Qu=function(){return"terminal.clear();\n"},$u=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"x",e.ORDER_ATOMIC),i=e.valueToCode(this,"y",e.ORDER_ATOMIC),n=e.valueToCode(this,"value",e.ORDER_ATOMIC);return e.definitions_.include_lcd="WidgetLCD lcd("+f+");\n","lcd.print("+t+", "+i+", "+n+");\n"},xr=function(){return"lcd.clear();\n"},er=function(x,e){let f=e.valueToCode(this,"auth",e.ORDER_ATOMIC),t=e.valueToCode(this,"name",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",e.definitions_.include_BlynkSimpleEsp32_BLE="#include ",e.definitions_.include_BLEDevice="#include ",e.definitions_.include_BLEServer="#include \n",e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},fr=function(x,e){let f=e.valueToCode(this,"auth",e.ORDER_ATOMIC),t=e.valueToCode(this,"name",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",e.definitions_.include_BlynkSimpleEsp32_BT="#include \n",e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},tr=function(x,e){let f=e.valueToCode(this,"auth",e.ORDER_ATOMIC),t=e.valueToCode(this,"RX",e.ORDER_ATOMIC),i=e.valueToCode(this,"TX",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.include_SoftwareSerial="#include ",e.definitions_.include_BlynkSimpleSerialBLE="#include ",e.definitions_.define_auth="char auth[] = "+f+";",0!=t||1!=i?(e.setups_.setup_serial_Serial="Serial.begin(9600);",e.definitions_.var_declare_SoftwareSerial="SoftwareSerial SerialBLE("+t+", "+i+");",e.setups_.setup_SerialBLE_begin="SerialBLE.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(SerialBLE, auth);"):(e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);"),e.setups_["setup_Serial.println"]='Serial.println("Waiting for connections...");';return"Blynk.run();\n"},ir=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC),t=e.valueToCode(this,"mingcheng",e.ORDER_ATOMIC),i=e.valueToCode(this,"shujv",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "add", '+f+","+t+", "+i+");\n"},nr=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC),t=e.valueToCode(this,"mingcheng",e.ORDER_ATOMIC),i=e.valueToCode(this,"shujv",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "update", '+f+","+t+", "+i+");\n"},sr=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "pick", '+f+");\n"},ar=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "select", '+f+");\n"},lr=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "deselect", '+f+");\n"},cr=function(x,e){let f=this.getFieldValue("Vpin");return e.definitions_["rowIndex_"+f]="int rowIndex_"+f+" = 0;\n","Blynk.virtualWrite("+f+', "clr");\nrowIndex_'+f+" = 0;\n"},pr=function(x,e){return["Blynk.connected()",e.ORDER_ATOMIC]},dr=function(x,e){let f=e.valueToCode(this,"wifi_ssid",e.ORDER_ATOMIC),t=e.valueToCode(this,"wifi_pass",e.ORDER_ATOMIC),i="";return i=this.getFieldValue("mode")>0?'WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED){\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n':'Serial.print("Setting AP (Access Point)…");\nWiFi.softAP(wif_ssid,wif_password);\nIPAddress IP = WiFi.softAPIP();\nSerial.print("Camera Stream Ready! Connect to the ESP32 AP and go to: http://");\nSerial.println(IP);\nSerial.println("");\n',e.definitions_.esp_camera='#include "esp_camera.h"\n#include \n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+f+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',e.setups_.setups_esp_camera=' WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n '+i+" startCameraServer();\n","delay(1);\n"},or=function(x,e){let f=e.valueToCode(this,"wifi_ssid",e.ORDER_ATOMIC),t=e.valueToCode(this,"wifi_pass",e.ORDER_ATOMIC),i=e.valueToCode(this,"server",e.ORDER_ATOMIC);isNaN(i.charAt(2))||(i=i.replace(/"/g,"").replace(/\./g,","),i="IPAddress("+i+")");let n=e.valueToCode(this,"auth",e.ORDER_ATOMIC);return e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.include_WiFi="#include ",e.definitions_.include_BlynkSimpleEsp32="#include ",e.definitions_.include_WidgetRTC="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_TimeLib="#include ",e.definitions_.var_declare_auth_key="char auth[] = "+n+";",e.definitions_.esp_camera='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+f+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',e.setups_.setups_esp_camera='WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n startCameraServer();\n Blynk.config(auth,'+i+",8080);\n","Blynk.run();\n"},ur=function(x,e){e.definitions_.take_a_photo='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "fd_forward.h"\n#include "fr_forward.h"\n#include "FS.h" \n#include "SD_MMC.h" \n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h" \n#include "dl_lib.h"\n#include "driver/rtc_io.h"\n#include \n#define EEPROM_SIZE 1\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nint pictureNumber = 0;\n';return'WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\nSerial.begin(115200);\ncamera_config_t config;\nconfig.ledc_channel = LEDC_CHANNEL_0;\nconfig.ledc_timer = LEDC_TIMER_0;\nconfig.pin_d0 = Y2_GPIO_NUM;\nconfig.pin_d1 = Y3_GPIO_NUM;\nconfig.pin_d2 = Y4_GPIO_NUM;\nconfig.pin_d3 = Y5_GPIO_NUM;\nconfig.pin_d4 = Y6_GPIO_NUM;\nconfig.pin_d5 = Y7_GPIO_NUM;\nconfig.pin_d6 = Y8_GPIO_NUM;\nconfig.pin_d7 = Y9_GPIO_NUM;\nconfig.pin_xclk = XCLK_GPIO_NUM;\nconfig.pin_pclk = PCLK_GPIO_NUM;\nconfig.pin_vsync = VSYNC_GPIO_NUM;\nconfig.pin_href = HREF_GPIO_NUM;\nconfig.pin_sscb_sda = SIOD_GPIO_NUM;\nconfig.pin_sscb_scl = SIOC_GPIO_NUM;\nconfig.pin_pwdn = PWDN_GPIO_NUM;\nconfig.pin_reset = RESET_GPIO_NUM;\nconfig.xclk_freq_hz = 20000000;\nconfig.pixel_format = PIXFORMAT_JPEG; \nif(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n} else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n}\nesp_err_t err = esp_camera_init(&config);\nif (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n}\nif(!SD_MMC.begin()){\n Serial.println("SD Card Mount Failed");\n return;\n}\nuint8_t cardType = SD_MMC.cardType();\nif(cardType == CARD_NONE){\n Serial.println("No SD Card attached");\n return;\n}\ncamera_fb_t * fb = NULL;\nfb = esp_camera_fb_get();\nif(!fb) {\n Serial.println("Camera capture failed");\n return;\n}\nEEPROM.begin(EEPROM_SIZE);\npictureNumber = EEPROM.read(0) + 1;\nString path = "/picture" + String(pictureNumber) +".jpg";\nfs::FS &fs = SD_MMC; \nSerial.printf("Picture file name: %s\\n", path.c_str());\nFile file = fs.open(path.c_str(), FILE_WRITE);\nif(!file){\n Serial.println("Failed to open file in writing mode");\n} \nelse {\n file.write(fb->buf, fb->len);\n Serial.printf("Saved file to path: %s\\n", path.c_str());\n EEPROM.write(0, pictureNumber);\n EEPROM.commit();\n}\nfile.close();\nesp_camera_fb_return(fb); \npinMode(4, OUTPUT);\ndigitalWrite(4, LOW);\nrtc_gpio_hold_en(GPIO_NUM_4);\n'},rr=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),e.definitions_["blynk_table"+f]="WidgetTable table_"+f+";\nBLYNK_ATTACH_WIDGET(table_"+f+", "+f+");\n",e.setups_["setup_blynk_table_click"+f]="table_"+f+".onSelectChange([](int index, bool selected) {\n "+t+"\n });\n";return""},_r=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),e.definitions_["blynk_table"+f]="WidgetTable table_"+f+";\nBLYNK_ATTACH_WIDGET(table_"+f+", "+f+");\n",e.setups_["setup_blynk_table_order"+f]="table_"+f+".onOrderChange([](int indexFrom, int indexTo) {\n "+t+"\n });\n";return""},hr=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"data",e.ORDER_ATOMIC),i=e.valueToCode(this,"name",e.ORDER_ATOMIC);return e.definitions_["rowIndex_"+f]="int rowIndex_"+f+" = 0;\n","table_"+f+".addRow(rowIndex_"+f+", "+i+", "+t+");\ntable_"+f+".pickRow(rowIndex_"+f+");\nrowIndex_"+f+"++;\n"},Fr=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.statementToCode(this,"DO"),i=e.statementToCode(this,"DO2");return e.definitions_.include_IRremote="#include \n",e.definitions_.var_declare_irProtocolList='const String IR_PROTOCOL_TYPE[] = {\n "UNKNOWN",\n "PULSE_DISTANCE",\n "PULSE_WIDTH",\n "DENON",\n "DISH",\n "JVC",\n "LG",\n "LG2",\n "NEC",\n "PANASONIC",\n "KASEIKYO",\n "KASEIKYO_JVC",\n "KASEIKYO_DENON",\n "KASEIKYO_SHARP",\n "KASEIKYO_MITSUBISHI",\n "RC5",\n "RC6",\n "SAMSUNG",\n "SHARP",\n "SONY",\n "ONKYO",\n "APPLE",\n "BOSEWAVE",\n "LEGO_PF",\n "MAGIQUEST",\n "WHYNTER"\n};',e.definitions_["var_declare_irrecv_"+f]=`IRrecv irrecv_${f}(${f});\n`,e.setups_["setup_ir_recv_"+f]=`irrecv_${f}.enableIRIn();`,`if (irrecv_${f}.decode()) {\n struct IRData *pIrData = &irrecv_${f}.decodedIRData;\n long ir_item = pIrData->decodedRawData;\n String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol];\n Serial.print("IR TYPE:" + irProtocol + "\\tVALUE:");\n Serial.println(ir_item, HEX);\n irrecv_${f}.resume();\n${t}\n} else {\n${i}\n}\n`},Ir=function(x,e){return e.definitions_.include_IRremote="#include ","irrecv_"+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".enableIRIn();\n"},Ar=function(x,e){var f=this.getFieldValue("PIN");e.definitions_.include_IRremote="#include \n",e.definitions_["var_declare_ir_send_"+f]=`IRsend irsend_${f}(${f});`;var t=e.valueToCode(this,"data",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"bits",e.ORDER_ATOMIC)||"0";return`irsend_${f}.send${this.getFieldValue("TYPE")}(${t},${i});\n`},Er=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);e.definitions_.include_IRremote="#include \n",e.definitions_["var_declare_ir_recv"+f]="IRrecv irrecv_"+f+"("+f+");\ndecode_results results_"+f+";\n",e.setups_.setup_serial_Serial||(e.setups_.setup_serial_Serial="Serial.begin("+Ax.Profile.default.serial+");"),e.setups_["setup_ir_recv_"+f]="irrecv_"+f+".enableIRIn();\n";var t="if (irrecv_"+f+".decode(&results_"+f+")) {\n";t+=" dumpRaw(&results_"+f+");\n",t+=" irrecv_"+f+".resume();\n",t+="}\n";return e.definitions_.dumpRaw='void dumpRaw(decode_results *results) {\n int count = results->rawlen;\n Serial.print("RawData (");\n Serial.print(count, DEC);\n Serial.print("): ");\n for (int i = 0; i < count; i++) {\n Serial.print(results->rawbuf[i]*MICROS_PER_TICK, DEC);\n if(i!=count-1){\n Serial.print(",");\n }\n }\n Serial.println("");\n}\n',t},Tr=function(x,e){var f=this.getFieldValue("PIN");e.definitions_.include_IRremote="#include \n",e.definitions_["var_declare_ir_send_"+f]=`IRsend irsend_${f}(${f});`;var t=e.valueToCode(this,"length",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"freq",e.ORDER_ATOMIC)||"0",n="unsigned int buf_raw["+t+"]={"+this.getFieldValue("TEXT")+"};\n";return n+=`irsend_${f}.sendRaw(buf_raw,${t},${i});\n`},gr=function(x,e){e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();";var f="Wire.beginTransmission("+(e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0")+");\n";return f+="Wire.write("+(e.valueToCode(this,"value",e.ORDER_ATOMIC)||"0")+");\n",f+="Wire.endTransmission();\n"},mr=function(x,e){e.definitions_.include_Wire="#include \n";return["Wire.read()",e.ORDER_ATOMIC]},Mr=function(x,e){return e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();","Wire.write("+(e.valueToCode(this,"value",e.ORDER_ATOMIC)||"0")+");\n"},Cr=function(x,e){var f=this.getFieldValue("SDA");return e.definitions_.include_SPI="#include ",e.definitions_.include_RFID="#include ",e.definitions_.var_declare_RFID="RFID rfid("+f+",5);",e.definitions_["var_declare__i and tmp"]="unsigned char i,tmp;",e.definitions_.var_declare__status="unsigned char status;",e.definitions_.var_declare__strmax="unsigned char str[MAX_LEN];",e.definitions_.var_declare__RC_size="unsigned char RC_size;",e.definitions_.var_declare__blockAddr="unsigned char blockAddr; //选择操作的块地址0~63",e.definitions_.define_1="//4字节卡序列号,第5字节为校验字节",e.definitions_.define_2="unsigned char serNum[5];",e.definitions_.define_3="//写卡数据",e.definitions_.define_5="//原扇区A密码,16个扇区,每个扇区密码6Byte",e.definitions_.define_6="unsigned char sectorKeyA[16][16] = {",e.definitions_.define_7=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_8=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_9=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",e.definitions_.define_10="//新扇区A密码,16个扇区,每个扇区密码6Byte",e.definitions_.define_11="unsigned char sectorNewKeyA[16][16] = {",e.definitions_.define_12=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_13=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_14=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_output_2="SPI.begin();",e.setups_.setup_output_3="rfid.init();",""},Or=function(x,e){var f=e.statementToCode(this,"do_");return e.INFINITE_LOOP_TRAP&&(f=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+f),"if(rfid.isCard()){\n"+f+"}\n"},Sr=function(x,e){var f="RFID_readcardnum",t="String "+f+"(){\n rfid.readCardSerial();\n String stringserNum = String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum;\n}\n";return e.definitions_[f]=t,[f+"()",e.ORDER_ATOMIC]},Rr=function(x,e){var f=e.valueToCode(this,"address1",e.ORDER_ATOMIC),t="RFID_writecarddata",i="void "+t+'(int ad2){\n rfid.readCardSerial();\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n //写数据卡\n blockAddr = ad2;\n if(rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK){\n //写数据\n status = rfid.write(blockAddr, sectorKeyA[blockAddr/4]);\n Serial.print("set the new card password, and can modify the data of the Sector: ");\n Serial.println(blockAddr/4,DEC);\n blockAddr=blockAddr-3;\n status=rfid.write(blockAddr,(unsigned char*)'+this.getFieldValue("data1")+');\n if(status == MI_OK){\n Serial.println("Write card OK!");\n }\n }\n}\n';return e.definitions_[t]=i,t+"("+f+");\n"},Nr=function(x,e){var f=e.valueToCode(this,"address",e.ORDER_ATOMIC),t="RFID_readcarddata",i="String "+t+'(int ad3){\n //读卡\n blockAddr =ad3;\n status = rfid.auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA[blockAddr/4], rfid.serNum);\n\tif(status == MI_OK){ //认证\n //读数据\n if(rfid.read(blockAddr, str) == MI_OK)\n {\n Serial.print("Read from the card ,the data is : ");\n Serial.println((char *)str);\n }\n }\n rfid.halt();\n String stringstr((char*)str);\n return stringstr;\n}\n';return e.definitions_[t]=i,[t+"("+f+")",e.ORDER_ATOMIC]},Dr=function(x,e){var f="RFID_off",t="void "+f+"() {\n\n rfid.halt(); \n}\n";return e.definitions_[f]=t,f+"();\n"},Pr=function(x,e){var f="RFID_readcardnum",t="String "+f+"() {\n\n rfid.readCardSerial(); \n String stringserNum=String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum; \n}\n";e.definitions_[f]=t;var i=e.valueToCode(this,"uid_",e.ORDER_NONE)||"false",n=e.statementToCode(this,"do_");return e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n),"false"!=i?0===i.indexOf('"')?"if (strcmp(RFID_readcardnum().c_str(),"+i+")==0) {\n"+n+"}\n":"if (strcmp(RFID_readcardnum().c_str(),"+i+".c_str())==0) {\n"+n+"}\n":""},Lr=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.valueToCode(this,"PIN_SDA",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN_RST",e.ORDER_ATOMIC);e.definitions_.include_SPI="#include ",e.definitions_.include_MFRC522="#include ",e.definitions_["var_declare_"+f]="MFRC522 "+f+"("+t+", "+i+");",e.setups_.setup_spi="SPI.begin();",e.setups_["setup_mfc522_"+f]=f+".PCD_Init();";return""},br=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.statementToCode(this,"DO");return e.definitions_.function_MFRC522_IsNewCard="boolean MFRC522_IsNewCard(MFRC522 *_name){\n if(!_name->PICC_IsNewCardPresent())\n return false;\n if(!_name->PICC_ReadCardSerial())\n return false;\n return true;\n}\n","if(MFRC522_IsNewCard(&"+f+")){\n"+(""!=t?t:"")+" "+f+".PICC_HaltA();\n "+f+".PCD_StopCrypto1();\n}\n"},yr=function(x,e){var f=this.getFieldValue("rfid_name");return e.definitions_.function_MFRC522_ReadCardUID='String MFRC522_ReadCardUID(MFRC522 *_name){\n String _CardUID = "";\n for (byte _i = 0; _i < _name->uid.size; _i++){\n if(_name->uid.uidByte[_i] < 0x10)\n _CardUID += "0";\n _CardUID += String(_name->uid.uidByte[_i], HEX);\n }\n return _CardUID;\n}\n',["MFRC522_ReadCardUID(&"+f+")",e.ORDER_ATOMIC]},vr=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.valueToCode(this,"block",e.ORDER_ATOMIC),i=e.valueToCode(this,"buffer",e.ORDER_ATOMIC),n=e.valueToCode(this,"length",e.ORDER_ATOMIC);return e.definitions_.function_MFRC522_WriteCard='boolean MFRC522_WriteCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n _status = _name->MIFARE_Write(_block, _buffer, _length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Write() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Write() success;"));\n }\n return true;\n}\n',e.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_WriteCard(&"+f+", "+t+", "+i+", "+n+");\n"},wr=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.valueToCode(this,"block",e.ORDER_ATOMIC),i=e.valueToCode(this,"buffer",e.ORDER_ATOMIC),n=e.valueToCode(this,"length",e.ORDER_ATOMIC);return e.definitions_.function_MFRC522_ReadCard='boolean MFRC522_ReadCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n if(_length < 18){\n byte _Read_buffer[18];\n byte _Read_buffer_length = 18;\n _status = _name->MIFARE_Read(_block, _Read_buffer, &_Read_buffer_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n for(byte _i = 0; _i < _length; _i++)\n _buffer[_i] = _Read_buffer[_i];\n }\n else{\n _status = _name->MIFARE_Read(_block, _buffer, &_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n }\n return true;\n}\n',e.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_ReadCard(&"+f+", "+t+", "+i+", "+n+");\n"},Vr=function(x,e){e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();";return""},Yr=function(x,e){e.definitions_.include_Wire="#include ";var f=e.valueToCode(this,"i2c_address",e.ORDER_ATOMIC);e.setups_.setup_i2c="Wire.begin("+f+");";return""},kr=function(x,e){return e.definitions_.include_Wire="#include ","Wire.beginTransmission("+e.valueToCode(this,"i2c_address",e.ORDER_ATOMIC)+");\n"+e.statementToCode(this,"transmission_data")+"Wire.endTransmission();\n"},Xr=function(x,e){return e.definitions_.include_Wire="#include ","Wire.write("+e.valueToCode(this,"i2c_write_data",e.ORDER_ATOMIC)+");\n"},Gr=function(x,e){return e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();","Wire.write("+e.valueToCode(this,"array",e.ORDER_ATOMIC)+","+(e.valueToCode(this,"length",e.ORDER_ATOMIC)||"1")+");\n"},Br=function(x,e){e.definitions_.include_Wire="#include \n";var f=this.workspace.getAllBlocks(),t=0;for(t=0;t\n",e.setups_.setup_wire_begin="Wire.begin();";return["howMany",e.ORDER_ATOMIC]},Hr=function(x,e){return["Wire.read()",e.ORDER_ATOMIC]},Wr=function(x,e){e.definitions_.include_SPI="#include ",e.setups_.setup_spi="SPI.begin();";var f=e.valueToCode(this,"pin",e.ORDER_ATOMIC),t=e.valueToCode(this,"value",e.ORDER_ATOMIC);e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);";var i="digitalWrite("+f+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+f+", HIGH);\n"},jr=function(x,e){e.definitions_.include_SPI="#include ",e.setups_.setup_spi="pinMode(12, OUTPUT);\n SPCR |= _BV(SPE);";return""},Kr=function(x,e){e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();";var f="Wire.beginTransmission("+(e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0")+");\n";return f+="Wire.write("+(e.valueToCode(this,"regadd",e.ORDER_ATOMIC)||"0")+");\n",f+="Wire.write("+(e.valueToCode(this,"value",e.ORDER_ATOMIC)||"0")+");\n",f+="Wire.endTransmission();\n"},qr=function(x,e){e.definitions_.include_Wire="#include \n",e.setups_.setup_wire_begin="Wire.begin();";var f=e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0",t="Wire.beginTransmission("+f+");\n";return t+="Wire.write("+(e.valueToCode(this,"regadd",e.ORDER_ATOMIC)||"0")+");\n",t+="Wire.requestFrom("+f+", "+(e.valueToCode(this,"bytes",e.ORDER_ATOMIC)||"0")+");\n",t+="Wire.endTransmission();\n"},zr=function(x,e){e.definitions_.include_Wire="#include \n";var f=e.valueToCode(this,"onReceive_length",e.ORDER_ATOMIC),t=e.statementToCode(this,"DO");e.definitions_.function_receiveEvent="void receiveEvent(int "+f+")\n{ "+t+"\n}\n",e.setups_.setup_i2c_receiveEvent="Wire.onReceive(receiveEvent);";return""},Zr=function(x,e){e.definitions_.include_Wire="#include \n",e.setups_.setup_i2c_slave="Wire.setClock(400000);",e.setups_.setup_i2c_onRequest="Wire.onRequest(i2cRequestEvent);";var f="i2cRequestEvent",t="void "+f+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[f]=t,""},Jr=function(x,e){return e.definitions_.include_Wire="#include \n","Wire.requestFrom("+(e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0")+", "+(e.valueToCode(this,"bytes",e.ORDER_ATOMIC)||"0")+");\n"},Qr=function(x,e){var f=e.valueToCode(this,"spi_slave_pin",e.ORDER_ATOMIC);e.definitions_.include_SPI="#include ",e.setups_.setup_spi="SPI.begin();",e.setups_.setup_spi_divider="SPI.setClockDivider(SPI_CLOCK_DIV8);",e.setups_["setup_spi_pin_"+f]="digitalWrite("+f+", HIGH);";return""},$r=function(x,e){var f=e.valueToCode(this,"slave_pin",e.ORDER_ATOMIC);return"digitalWrite("+f+", LOW);\n"+e.statementToCode(this,"transfer_data")+"digitalWrite("+f+", HIGH);\n"},x_=function(x,e){return"SPI.transfer("+e.valueToCode(this,"transfer_data",e.ORDER_ATOMIC)+");\n"},e_=function(x,e){return["SPI.transfer("+e.valueToCode(this,"transfer_data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},f_=function(x,e){var f=e.statementToCode(this,"slave_interrupt_data");e.definitions_.function_ISR="ISR(SPI_STC_vect)\n{\n"+f+"\n}\n",e.setups_.setup_spi_interrupt="SPI.attachInterrupt();";return""},t_=function(x,e){e.definitions_.function_SPI_SlaveReceive="char SPI_SlaveReceive()\n{\n while(!(SPSR&(1<= ":" <= ")+i+"; "+f+" = "+f+" + ("+n+")) {\n"+s+"}\n":n.match(/^-?\d+(\.\d+)?$/)?"for (int "+f+" = ("+t+"); "+f+(n<0?" >= ":" <= ")+"("+i+"); "+f+" = "+f+" + ("+n+")) {\n"+s+"}\n":"for (int "+f+" = ("+t+"); ("+i+">="+t+")?("+f+"<="+i+"):("+f+">="+i+"); "+f+" = "+f+" + ("+n+")) {\n"+s+"}\n"},l_=function(x,e){var f=e.valueToCode(this,"BOOL",e.ORDER_NONE)||"false",t=e.statementToCode(this,"DO");return e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),"UNTIL"==this.getFieldValue("MODE")&&(f.match(/^\w+$/)||(f="("+f+")"),f="!"+f),"while ("+f+") {\n"+t+"}\n"},c_=function(){switch(this.getFieldValue("FLOW")){case"BREAK":return"break;\n";case"CONTINUE":return"continue;\n"}throw"Unknown flow statement."},p_=function(x,e){var f=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";return this.getFieldValue("UNIT")+"("+f+");\n"},d_=function(x,e){return[this.getFieldValue("UNIT")+"()",e.ORDER_ATOMIC]},o_=function(x,e){e.definitions_.include_MsTimer2="#include ";var f=e.valueToCode(this,"TIME",e.ORDER_ATOMIC),t="msTimer2_func",i="void "+t+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[t]=i,"MsTimer2::set("+f+", "+t+");\n"},u_=function(x,e){return e.definitions_.include_MsTimer2="#include ","MsTimer2::start();\n"},r_=function(x,e){return e.definitions_.include_MsTimer2="#include ","MsTimer2::stop();\n"},__=function(){return Ax.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?"while(true) delay(1000);\n":"while(true);\n"},h_=function(x,e){return e.definitions_.resetFunc="void(* resetFunc) (void) = 0;\n","resetFunc();\n"},F_=function(){return"interrupts();\n"},I_=function(){return"noInterrupts();\n"},A_=p_,E_=function(x,e){var f=this.getFieldValue("NO"),t=e.valueToCode(this,"timein",e.ORDER_ATOMIC),i="Simple_timer_"+f,n=e.statementToCode(this,"zxhs"),s="void "+i+"() {\n "+(n=n.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return e.definitions_[i]=s,e.definitions_.include_SimpleTimer="#include \n",e.definitions_.var_declare_SimpleTimer="SimpleTimer timer;",e.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},T_=function(x,e){var f=e.statementToCode(this,"input_data"),t=e.valueToCode(this,"select_data",e.ORDER_ATOMIC);if("false"==this.getFieldValue("type"))var i="do{\n"+f+"}while(!("+t+"));\n";else i="do{\n"+f+"}while("+t+");\n";return i},g_=function(x,e){var f="super_delay_function"+this.getFieldValue("number"),t=e.statementToCode(this,"delay_function"),i="void "+f+"() {\n "+(t=t.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return e.definitions_[f]=i,e.definitions_.include_SimpleTimer="#include \n",e.definitions_.var_declare_SimpleTimer="SimpleTimer timer;","timer.run();\n"},m_=function(x,e){var f=this.getFieldValue("number");return"timer.setTimer("+e.valueToCode(this,"time_interval",e.ORDER_ATOMIC)+", super_delay_function"+f+", "+e.valueToCode(this,"frequency",e.ORDER_ATOMIC)+");\n"},M_=function(x,e){var f=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("SCL"),n=this.getFieldValue("SDA"),s=Ax.JSFuncs.getPlatform(),a=e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0x27";return n==Ax.Profile.default.SDA[0][1]&&i==Ax.Profile.default.SCL[0][1]?(e.definitions_.include_Wire="#include ",e.definitions_.include_LiquidCrystal_I2C="#include ",e.definitions_["var_declare_LiquidCrystal_I2C_"+f]="LiquidCrystal_I2C "+f+"("+a+","+t+");"):s.match(RegExp(/AVR/))?(e.definitions_.include_SoftI2CMaster="#include ",e.definitions_.include_LiquidCrystal_SoftI2C="#include ",e.definitions_["var_declare_LiquidCrystal_SoftI2C_"+f]="LiquidCrystal_SoftI2C "+f+"("+a+","+t+","+i+","+n+");"):(e.definitions_.include_Wire="#include ",e.definitions_.include_LiquidCrystal_SoftI2C="#include ",e.definitions_["var_declare_LiquidCrystal_I2C_"+f]="LiquidCrystal_I2C "+f+"("+a+","+t+");",e.setups_.setup_Wire="Wire.begin("+n+","+i+");"),e.setups_["setup_lcd_init_"+f]=f+".init();",e.setups_["setup_lcd_backlight_"+f]=f+".backlight();",""},C_=function(x,e){var f=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("RS"),n=this.getFieldValue("EN"),s=this.getFieldValue("D4"),a=this.getFieldValue("D5"),l=this.getFieldValue("D6"),c=this.getFieldValue("D7");return e.definitions_.include_LiquidCrystal="#include ",e.definitions_["var_declare_LiquidCrystal"+f]="LiquidCrystal "+f+"("+i+","+n+","+s+","+a+","+l+","+c+");",e.setups_["setup_lcd_begin_"+f]=f+".begin("+t+");",""},O_=function(x,e){var f=this.getFieldValue("VAR"),t=f+".setCursor(0, 0);\n";return t+=f+".print("+(e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'""')+");\n",t+=f+".setCursor(0, 1);\n",t+=f+".print("+(e.valueToCode(this,"TEXT2",e.ORDER_ATOMIC)||'""')+");\n"},S_=function(x,e){var f=this.getFieldValue("VAR"),t=e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'String("")',i=e.valueToCode(this,"row",e.ORDER_ATOMIC)||"1",n=f+".setCursor("+(e.valueToCode(this,"column",e.ORDER_ATOMIC)||"1")+"-1, "+i+"-1);\n";return n+=f+".print("+t+");\n"},R_=function(){return this.getFieldValue("VAR")+"."+this.getFieldValue("STAT")+"();\n"},N_=function(x,e){var f=this.getFieldValue("STAT");return e.definitions_.include_Wire="#include ",e.definitions_.include_TM1650="#include ",e.definitions_.var_declare_display_4display="TM1650 tm_4display;",e.setups_.setup_wire_begin="Wire.begin();",e.setups_.setup_display_4display_init="tm_4display.init();","tm_4display."+f+"();\n"},D_=function(x,e){var f=e.valueToCode(this,"VALUE",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.definitions_.include_TM1650="#include ",e.definitions_.var_declare_display_4display="TM1650 tm_4display;",e.setups_.setup_wire_begin="Wire.begin();",e.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.displayString("+f+");\n"},P_=function(x,e){var f=this.getFieldValue("NO"),t=this.getFieldValue("STAT");return e.definitions_.include_Wire="#include ",e.definitions_.include_TM1650="#include ",e.definitions_.var_declare_display_4display="TM1650 tm_4display;",e.setups_.setup_wire_begin="Wire.begin();",e.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.setDot("+f+","+t+");\n"};var L_,b_;const y_=function(x,e){b_=this.getFieldValue("CLK"),L_=this.getFieldValue("DIO");var f=this.getFieldValue("NAME")||"display";return e.definitions_.include_SevenSegmentTM1637="#include ",e.definitions_["var_declare_SevenSegmentTM1637"+f]="SevenSegmentTM1637 "+f+"("+b_+","+L_+");",e.setups_["setup_"+f+".begin()"]=f+".begin();",""},v_=function(x,e){return(this.getFieldValue("NAME")||"display")+".print("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+");\n"},w_=function(x,e){var f=this.getFieldValue("NAME")||"display";return e.definitions_.include_SevenSegmentExtended="#include ",e.definitions_["var_declare_SevenSegmentTM1637"+f]="SevenSegmentExtended "+f+"("+b_+","+L_+");",f+".printTime("+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+","+e.valueToCode(this,"minute",e.ORDER_ATOMIC)+","+this.getFieldValue("STAT")+");\n"},V_=function(){var x=this.getFieldValue("STAT");return(this.getFieldValue("NAME")||"display")+"."+x+"();\n"},Y_=function(x,e){return(this.getFieldValue("NAME")||"display")+".setBacklight("+e.valueToCode(this,"Brightness",e.ORDER_ATOMIC)+");\n"},k_=function(x,e){var f=this.getFieldValue("SDA"),t=this.getFieldValue("SCL"),i="myMatrix";return e.definitions_.include_Matrix="#include ",e.definitions_["var_declare"+i]="Matrix "+i+"("+f+","+t+");",e.setups_["setup_"+i]=i+".begin(0x70);",i+".clear();\n"},X_=function(x,e){var f=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),t=e.valueToCode(this,"hDisplays",e.ORDER_ATOMIC),i=e.valueToCode(this,"vDisplays",e.ORDER_ATOMIC);e.definitions_.include_SPI="#include ",e.definitions_.include_Adafruit_GFX="#include ",e.definitions_.include_Max72xxPanel="#include ",e.definitions_.var_declare_Max72xxPanel="Max72xxPanel myMatrix = Max72xxPanel("+f+","+t+","+i+");";return""},G_=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("WRITE"),i=e.valueToCode(this,"XVALUE",e.ORDER_ASSIGNMENT),n=e.valueToCode(this,"YVALUE",e.ORDER_ASSIGNMENT),s="myMatrix",a=e.valueToCode(this,"STAT",e.ORDER_ATOMIC);if("HT16K33"==f)var l=s+".drawPixel("+i+",7-"+n+","+a+");\n";else l=s+".drawPixel("+i+","+n+","+a+");\n";return"OFF"!==t&&(l+=s+".write();\n"),l},B_=function(x,e){return"myMatrix.scrollMessage("+e.valueToCode(this,"TEXT",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"Speed",e.ORDER_ATOMIC)+");\n"},U_=function(x,e){var f="myMatrix",t=this.getFieldValue("WRITE"),i=f+".setCursor(0, 0);\n";return i+=f+".print("+e.valueToCode(this,"TEXT",e.ORDER_ASSIGNMENT)+");\n","OFF"!==t&&(i+=f+".write();\n"),i},H_=function(x,e){var f=this.getFieldValue("TYPE"),t="myMatrix",i=this.getFieldValue("WRITE"),n=e.valueToCode(this,"NO",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDArray",e.ORDER_ASSIGNMENT);e.definitions_.var_declare_LEDArray="uint8_t LEDArray[8];";var a="";return a+="memcpy_P(&LEDArray, &"+s+", 8);\n",a+="for(int index_i=0; index_i<8; index_i++)\n",a+="{\n",a+=" for(int index_j="+n+"*8; index_j<"+n+"*8+8; index_j++)\n",a+=" {\n",a+=" if((LEDArray[index_i]&0x01)>0)\n","HT16K33"==f?(a+=" "+t+".drawPixel(index_j, index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, index_i,0);\n"):(a+=" "+t+".drawPixel(index_j, 7-index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, 7-index_i,0);\n"),a+=" LEDArray[index_i] = LEDArray[index_i]>>1;\n",a+=" } \n",a+="}\n","OFF"!==i&&(a+=t+".write();\n"),a},W_=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][9-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};",e.definitions_[f]="const uint8_t "+f+"[8] PROGMEM ="+s,[f,e.ORDER_ATOMIC]},j_=function(x,e){for(var f=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=7;n>=0;n--){for(var s="",a=7;a>=0;a--)s+=t[n][a];1==(s=parseInt(s,2).toString(16)).length&&(s="0"+s),i+="0x"+s+(0!==n?",":"")}return i+="};",e.definitions_[f]="const uint8_t "+f+"[8] PROGMEM ="+i,[f,e.ORDER_ATOMIC]},K_=function(x,e){var f=this.getFieldValue("TYPE"),t="myMatrix",i=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);if("HT16K33"==f)var n=t+".setBrightness("+i+");\n";else n=t+".setIntensity("+i+");\n";return n},q_=function(){var x=this.getFieldValue("WRITE"),e="myMatrix",f=e+"."+this.getFieldValue("FILLSCREEN_TYPE")+";\n";return"OFF"!==x&&(f+=e+".write();\n"),f},z_=function(x,e){var f=this.getFieldValue("Rotation_TYPE");return"myMatrix.setRotation("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+","+f+");\n"},Z_=function(x,e){return"myMatrix.setPosition("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+","+e.valueToCode(this,"X",e.ORDER_ATOMIC)+","+e.valueToCode(this,"Y",e.ORDER_ATOMIC)+");\n"},J_=function(){return"myMatrix.setRotation(4-"+this.getFieldValue("Rotation_TYPE")+");\n"},Q_=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};\n",e.definitions_[f]="byte "+f+"[]="+s,[f,e.ORDER_ATOMIC]},$_=function(x,e){var f=this.getFieldValue("img_"),t='"'+f+'"';t="{";for(var i=0;i<15;i+=2)t+="0x"+f.substr(i,2)+(14!=i?",":"");return t+="};\n",e.definitions_["matrix_img_"+f]="const uint8_t matrix_img_"+f+"[8] PROGMEM="+t,["matrix_img_"+f,e.ORDER_ATOMIC]},xh=function(){return"myMatrix.write();\n"},eh=function(x,e){var f=this.getFieldValue("OLED_TYPE"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("SDA"),s=this.getFieldValue("SCL"),a=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0x3C",l=Ax.JSFuncs.getPlatform();e.definitions_.include_U8g2lib="#include ",l.match(RegExp(/AVR/))?n==Ax.Profile.default.SDA[0][1]&&s==Ax.Profile.default.SCL[0][1]?e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_1_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_1_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);":n==Ax.Profile.default.SDA[0][1]&&s==Ax.Profile.default.SCL[0][1]?e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_F_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_F_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);",e.definitions_.include_Wire="#include ",e.setups_["setup_u8g2"+t]=t+".setI2CAddress("+a+"*2);\n "+t+".begin();";return""},fh=function(x,e){var f=this.getFieldValue("U8G2_TYPE_SPI"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("CLK"),s=this.getFieldValue("MOSI"),a=this.getFieldValue("CS"),l=this.getFieldValue("DC"),c=this.getFieldValue("RST");e.definitions_.include_U8g2lib="#include ",e.definitions_.include_SPI="#include ",e.setups_["setup_u8g2"+t]=t+".begin();",e.definitions_["var_declare_U8G2"+t]="SCK"==n&&"MOSI"==s?"U8G2_"+f+"_1_4W_HW_SPI "+t+"("+i+", "+a+", "+l+", "+c+");":"U8G2_"+f+"_1_4W_SW_SPI "+t+"("+i+", "+n+","+s+","+a+", "+l+", "+c+");";return""},th=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DC");e.definitions_.include_U8g2lib="#include ",e.definitions_.include_SPI="#include ",e.setups_["setup_u8g2"+f]=f+".begin();",e.definitions_["var_declare_U8G2"+f]="U8G2_ST7920_128X64_1_HW_SPI "+f+"("+t+", "+i+", U8X8_PIN_NONE);";return""},ih=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DB0"),n=this.getFieldValue("DB1"),s=this.getFieldValue("DB2"),a=this.getFieldValue("DB3"),l=this.getFieldValue("DB4"),c=this.getFieldValue("DB5"),p=this.getFieldValue("DB6"),d=this.getFieldValue("DB7"),o=this.getFieldValue("ENABLE"),u=this.getFieldValue("DC");e.definitions_.include_U8g2lib="#include ",e.setups_["setup_u8g2"+f]=f+".begin();",e.definitions_["var_declare_U8G2"+f]="U8G2_ST7920_128X64_1_8080 "+f+"("+t+", "+i+", "+n+", "+s+", "+a+", "+l+", "+c+", "+p+", "+d+", "+o+", U8X8_PIN_NONE, "+u+");";return""},nh=function(){return(this.getFieldValue("NAME")||"u8g2")+".clearDisplay();\n"},sh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0",n=this.getFieldValue("FACE_IMAGE"),s=n.indexOf(","),a="FACE_"+n.substring(0,s);return n=n.substring(s+1,n.length),e.libs_[a]="const static unsigned char "+a+"[] PROGMEM ={"+n+" };",f+".drawXBMP("+t+","+i+",89,64,"+a+");\n"},ah=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0",n=this.getFieldValue("ICON_SIZE");return f+".setFontPosBottom();\n"+f+".setFont(u8g2_font_open_iconic_all_"+n+"x_t);\n"+f+".drawGlyph("+t+","+i+"+"+n+"*8,"+this.getFieldValue("ICON_IMAGE")+");\n"},lh=function(x,e){var f="";return f=f+(this.getFieldValue("NAME")||"u8g2")+".drawPixel("+(e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0")+");\n"},ch=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.statementToCode(this,"DO"),i="";return t&&(i=f+".firstPage();\ndo\n{\n"+t+"}while("+f+".nextPage());\n"),i},ph=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"START_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)||"0",a=e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC),l="";return l=f+".drawXBMP("+t+", ",l+=i+", ",l+=n+", ",l+=s+", "+(a=a.replace(/"/g,""))+");\n"},dh=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ix.Variables.NAME_TYPE),t=this.getFieldValue("TEXT");return e.libs_[f]="const static unsigned char "+f+"[] PROGMEM ={"+t+" };",""},oh=function(x,e){var f="";return f=(this.getFieldValue("NAME")||"u8g2")+".drawLine("+(e.valueToCode(this,"START_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"END_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"END_Y",e.ORDER_ATOMIC)||"0")+");\n"},uh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"START_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"LENGTH",e.ORDER_ATOMIC)||"0",s="";return s=f+".draw"+this.getFieldValue("TYPE")+"Line("+t+",",s+=i+",",s+=n+");\n"},rh=function(x,e){var f="";return f=(this.getFieldValue("NAME")||"u8g2")+".drawTriangle("+(e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D1_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D1_Y",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D2_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D2_Y",e.ORDER_ATOMIC)||"0")+");\n"},_h=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)||"0",a="";return a=f+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+");\n"},hh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)||"0",a=e.valueToCode(this,"RADIUS",e.ORDER_ATOMIC)||"0",l="";return l=f+"."+this.getFieldValue("TYPE")+"("+t+",",l+=i+",",l+=n+",",l+=s+",",l+=a+");\n"},Fh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"RADIUS",e.ORDER_ATOMIC)||"0",s="";return s=f+"."+this.getFieldValue("TYPE")+"("+t+",",s+=i+",",s+=n+","+this.getFieldValue("OPT")+"); \n"},Ih=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"RADIUS_X",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"RADIUS_Y",e.ORDER_ATOMIC)||"0",a="";return a=f+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+","+this.getFieldValue("OPT")+"); \n"},Ah=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||"0";e.setups_["setup_enableUTF8Print"+f]=f+".enableUTF8Print();\n";var s="";return s=f+".setCursor("+t+",",s+=i+"); \n",s+=f+".print("+n+"); \n"},Eh=function(){var x=this.getFieldValue("NAME")||"u8g2",e=this.getFieldValue("FONT_NAME"),f=this.getFieldValue("FONT_SIZE");return x+".setFont(u8g2_font_"+e+this.getFieldValue("FONT_STYLE")+f+"_tf);\n"+x+".setFontPosTop();\n"},Th=function(){var x=this.getFieldValue("NAME")||"u8g2",e=this.getFieldValue("FONT_NAME");return x+".setFont(u8g2_font_"+this.getFieldValue("FONT_SIZE")+e+");\n"+x+".setFontPosTop();\n"},gh=function(){var x=this.getFieldValue("NAME")||"u8g2";return x+".setFont(u8g2_font_unifont_t_chinese1);\n"+x+".setFontPosTop();\n"},mh=function(x,e){return(this.getFieldValue("NAME")||"u8g2")+".setContrast("+e.valueToCode(this,"Contrast",e.ORDER_ATOMIC)+");\n"},Mh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"str",e.ORDER_ATOMIC);return e.definitions_["getutf8width"+f]="int "+f+"_getUTF8Width(String str) {\n const char *string_variable = str.c_str();\n return "+f+".getUTF8Width(string_variable);\n}",[f+"_getUTF8Width(String("+t+"))",e.ORDER_ATOMIC]},Ch=function(x,e){var f=this.getFieldValue("name"),t=this.getFieldValue("number"),i=e.valueToCode(this,"row",e.ORDER_ATOMIC),n=e.valueToCode(this,"column",e.ORDER_ATOMIC),s=e.valueToCode(this,"pattern",e.ORDER_ATOMIC);return e.setups_["setup_lcd_display_pattern"+t]=f+".createChar("+t+", "+s+");",f+".setCursor("+n+"-1, "+i+"-1);\n"+f+".write("+t+");\n"},Oh=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<6;n++)t[i][6-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{0B"+t[8][5]+t[8][4]+t[8][3]+t[8][2]+t[8][1]+",0B"+t[7][5]+t[7][4]+t[7][3]+t[7][2]+t[7][1]+",0B"+t[6][5]+t[6][4]+t[6][3]+t[6][2]+t[6][1]+",0B"+t[5][5]+t[5][4]+t[5][3]+t[5][2]+t[5][1]+",0B"+t[4][5]+t[4][4]+t[4][3]+t[4][2]+t[4][1]+",0B"+t[3][5]+t[3][4]+t[3][3]+t[3][2]+t[3][1]+",0B"+t[2][5]+t[2][4]+t[2][3]+t[2][2]+t[2][1]+",0B"+t[1][5]+t[1][4]+t[1][3]+t[1][2]+t[1][1]+"};";return e.definitions_[f]="byte "+f+"[]="+s,[f,e.ORDER_ATOMIC]},Sh=function(x,e){for(var f=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=0;n>8)+((64512&x)>>5)+((248&x)>>3)}const Nh=function(x,e){const f=this.getFieldValue("CS"),t=this.getFieldValue("DC"),i=this.getFieldValue("RST"),n=this.getFieldValue("TYPE");let s=n.split("_")[0],a="";"ST7735_INITR_GREENTAB"===n?a="INITR_GREENTAB":"ST7735_INITR_REDTAB"===n?a="INITR_REDTAB":"ST7735_INITR_BLACKTAB"===n?a="INITR_BLACKTAB":"ST7735_160×80"===n?a="INITR_MINI160x80":"ST7735_160×128"===n?a="128, 160":"ST7789_240×135"===n?a="135, 240":"ST7789_240×240"===n?a="240, 240":"ST7789_320×240"===n?a="240, 320":"ST7796_480×320"===n&&(a=""),e.definitions_.include_Adafruit_GFX="#include ",e.definitions_.include_Adafruit_tft="#include ",e.definitions_.include_SPI="#include ",e.definitions_.var_declare_Adafruit_tft="Adafruit_"+s+" tft = Adafruit_"+s+"("+f+", "+t+", "+i+");",e.setups_.setup_tft_init="tft."+("ST7735"===s?"initR":"init")+"("+a+");",e.setups_.setup_tft_fillScreen="tft.fillScreen(0x0000);",e.definitions_.include_U8g2_for_Adafruit_GFX="#include ",e.definitions_.var_declare_U8G2_FOR_ADAFRUIT_GFX="U8G2_FOR_ADAFRUIT_GFX u8g2_for_adafruit_gfx;",e.setups_.setup_u8g2_for_adafruit_gfx="u8g2_for_adafruit_gfx.begin(tft);";return""};function Dh(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var e="";for(let f=0;f2147483647?2147483647:e-0<-2147483648?-2147483648:isNaN(e-0)?0:e-0}function Ph(x){return x<16?"0x0"+x.toString(16).toUpperCase():"0x"+x.toString(16).toUpperCase()}function Lh(x){let e=[];for(let f=0;f0?"0"==L?D+=" ":"1"==L&&(D+="0 "):P%(8*I)==0&&(D+="|\n|");for(M=0;M",e.definitions_.var_declare_EthernetClient="EthernetClient client;",["Ethernet.begin("+e.valueToCode(this,"MAC",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},dF=function(x,e){var f=this.getFieldValue("VAR1"),t=this.getFieldValue("VAR2"),i=this.getFieldValue("VAR3"),n=this.getFieldValue("VAR4"),s=this.getFieldValue("VAR5"),a=this.getFieldValue("VAR6");e.definitions_.var_declare_byte_mac="byte mac[] = {0x"+f+", 0x"+t+", 0x"+i+", 0x"+n+", 0x"+s+", 0x"+a+"};";return["mac",e.ORDER_ATOMIC]},oF=function(x,e){return["Ethernet.localIP()",e.ORDER_ATOMIC]},uF=function(x,e){var f=e.valueToCode(this,"PORT",e.ORDER_ATOMIC);return["client.connect("+e.quote_(this.getFieldValue("SERVER"))+","+f+")",e.ORDER_ATOMIC]},rF=function(){return"client.stop();\n"},_F=function(x,e){return["client.connected()",e.ORDER_ATOMIC]},hF=function(x,e){return["client.available()",e.ORDER_ATOMIC]},FF=function(x,e){return"client.print("+(e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'""')+");\n"},IF=function(x,e){return"client.println("+(e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'""')+");\n"},AF=function(x,e){return["(char)client.read()",e.ORDER_ATOMIC]},EF=function(){return'client.println("GET '+this.getFieldValue("URL")+' HTTP/1.1");\nclient.println(F("Host: '+this.getFieldValue("SERVER")+'"));\nclient.println(F("Connection: close"));\nclient.println();\n'},TF=function(x,e){var f=e.valueToCode(this,"SSID",e.ORDER_ATOMIC),t=e.valueToCode(this,"PWD",e.ORDER_ATOMIC);return e.definitions_.include_ESP8266WiFi="#include ",e.setups_.setup_WiFi_begin="WiFi.begin("+f+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},gF=function(x,e){return["WiFi.status()",e.ORDER_ATOMIC]},mF=function(x,e){var f=Ax.JSFuncs.getPlatform(),t=this.getFieldValue("mode");return f.match(RegExp(/ESP8266/))?e.definitions_.include_ESP8266WiFi="#include ":f.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include "),"IP"==t?["WiFi.localIP()",e.ORDER_ATOMIC]:["WiFi.macAddress()",e.ORDER_ATOMIC]},MF=function(x,e){var f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"timeZone",e.ORDER_ATOMIC),i=e.valueToCode(this,"Interval",e.ORDER_ATOMIC);return e.definitions_.include_TimeLib="#include ",e.definitions_.include_NtpClientLib="#include ",e.definitions_.var_declare_timeZone="int8_t timeZone = "+t+";",e.definitions_.var_declare_ntpServer="const PROGMEM char *ntpServer = "+f+";",e.setups_["setup_NTP.setInterval"]="NTP.setInterval ("+i+");",e.setups_["setup_NTP.setNTPTimeout"]="NTP.setNTPTimeout (1500);",e.setups_["setup_NTP.begin"]="NTP.begin (ntpServer, timeZone, false);",""},CF=function(x,e){return[this.getFieldValue("TIME_TYPE"),e.ORDER_ATOMIC]};var OF;const SF=function(x,e){var f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"server_port",e.ORDER_ATOMIC),i=e.valueToCode(this,"IOT_ID",e.ORDER_ATOMIC),n=e.valueToCode(this,"IOT_PWD",e.ORDER_ATOMIC);(OF=e.valueToCode(this,"Client_ID",e.ORDER_ATOMIC)).length>2&&(OF+="/"),OF=OF.replace(/"/g,""),e.definitions_.include_Adafruit_MQTT='#include "Adafruit_MQTT.h"',e.definitions_.include_Adafruit_MQTT_Client='#include "Adafruit_MQTT_Client.h"',e.definitions_.include__WiFiClient="WiFiClient client;",e.definitions_.var_declare_Adafruit_MQTT_Client="Adafruit_MQTT_Client mqtt(&client, "+f+", "+t+", "+i+", "+n+");",Ax.JSFuncs.getPlatform().match(RegExp(/ESP8266/))&&(e.definitions_["var_declare_ MQTT_connect();"]="void MQTT_connect();");var s="MQTT_connect",a="void "+s+'() {\n int8_t ret;\n if (mqtt.connected()) {\n return;\n }\n Serial.print("Connecting to MQTT... ");\n uint8_t retries = 3;\n while ((ret = mqtt.connect()) != 0) {\n Serial.println(mqtt.connectErrorString(ret));\n Serial.println("Retrying MQTT connection in 5 seconds...");\n mqtt.disconnect();\n delay(5000);\n retries--;\n if (retries == 0) {\n while (1);\n }\n }\n Serial.println("MQTT Connected!");\n}\n';return e.definitions_["var_declare_"+s]=a,s+"();\n"},RF=function(){return"MQTT_connect();\n"},NF=function(x,e){var f=this.getFieldValue("Topic"),t=e.valueToCode(this,"data",e.ORDER_ATOMIC),i="MQTT_Topic_"+f;return e.definitions_["var_declare_Adafruit_MQTT_Publish"+i]="Adafruit_MQTT_Publish "+i+' = Adafruit_MQTT_Publish(&mqtt, "'+OF+f+'");',i+".publish("+t+");\n "},DF=function(x,e){var f=this.getFieldValue("Topic_0");return f&&(f=f.replace(/"/g,"")),["(char *)"+("MQTT_Topic_"+f)+".lastread",e.ORDER_ATOMIC]},PF=function(x,e){var f=0;(s=this.getFieldValue("Topic_0"))&&(s=s.replace(/"/g,""));var t="MQTT_Topic_"+s,i=e.statementToCode(this,"DO"+f),n="if (subscription ==&"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }";for(e.definitions_["var_declare_Adafruit_MQTT_Subscribe"+OF+"/"+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+OF+s+'");',e.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",f=1;f<=this.elseifCount_;f++){var s;(s=this.getFieldValue("Topic_"+f))&&(s=s.replace(/"/g,"")),t="MQTT_Topic_"+s,i=e.statementToCode(this,"DO"+f),e.definitions_["var_declare_Adafruit_MQTT_Subscribe"+OF+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+OF+s+'");',e.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",n+=" else if (subscription == &"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }"}return this.elseCount_&&(n+=" else {\n "+(i=e.statementToCode(this,"ELSE"))+"\n }"),"Adafruit_MQTT_Subscribe *subscription;\nwhile ((subscription = mqtt.readSubscription(5000))) {\n "+n+"\n}\n"},LF=function(x,e){var f=e.valueToCode(this,"api",e.ORDER_ATOMIC),t=e.statementToCode(this,"success");t=t.replace(/(^\s*)|(\s*$)/g,"");var i=e.statementToCode(this,"failure");return i=i.replace(/(^\s*)|(\s*$)/g,""),e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_ESP8266HTTPClient="#include ","if (WiFi.status() == WL_CONNECTED) {\nHTTPClient http;\nhttp.begin("+f+");\nint httpCode = http.GET();\nif (httpCode > 0) {\nString Request_result = http.getString();\n"+t+"\n}\nelse {\n"+i+"\n} \nhttp.end();\n}\n"},bF=function(x,e){return"SmartConfig"==this.getFieldValue("MODE")?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_ESP8266WiFiMulti="#include ",e.definitions_.var_declare_ESP8266WiFiMulti=" ESP8266WiFiMulti wifiMulti;",e.setups_.setup_WiFi_Smartconfig='Serial.println("Wait for Smartconfig");\nwifiMulti.run();\nWiFi.setAutoConnect(true);\nif (WiFi.status() == WL_CONNECTED) {\nSerial.println("WiFi connected");\nSerial.println("IP address: ");\nSerial.println(WiFi.localIP());\n }\nelse{\n WiFi.mode(WIFI_STA);\n WiFi.beginSmartConfig();\n while(!WiFi.smartConfigDone()){\nSerial.print(".");\ndelay(500);\n}\nSerial.println("SmartConfig Success");\nSerial.printf("SSID:%s", WiFi.SSID().c_str());\nSerial.printf("PSW:%s", WiFi.psk().c_str());\nwifiMulti.addAP(WiFi.SSID().c_str(),WiFi.psk().c_str());\n}\n',""):(e.definitions_.include_WiFiManager="#include ",e.definitions_.var_declare_WiFiServer="WiFiServer server(80);",e.setups_.setup_WiFi_mode="WiFi.mode(WIFI_STA);",e.setups_.setup_WiFiManager="WiFiManager wm;",e.setups_.setup_bool_res="bool res;",e.setups_.setup_wifiManagerautoConnect="res=wm.autoConnect();","")},yF=function(x,e){var f=this.getFieldValue("mode"),t=e.valueToCode(this,"SSID",e.ORDER_ATOMIC),i=e.valueToCode(this,"PSK",e.ORDER_ATOMIC),n=e.valueToCode(this,"IP1",e.ORDER_ATOMIC),s=e.valueToCode(this,"IP2",e.ORDER_ATOMIC),a=e.valueToCode(this,"IP",e.ORDER_ATOMIC),l=e.valueToCode(this,"duankou",e.ORDER_ATOMIC);n=n.replace(new RegExp(/\./g),","),s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),null!=Ax.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?e.definitions_.include_ESP8266WiFi="#include ":e.definitions_.include_WiFi="#include ",e.setups_.setup_serial_Serial="Serial.begin(9600);","STA"==f?(e.definitions_.include_WiFiUdp="#include ",e.definitions_.define_STASSID="#define STASSID "+t,e.definitions_.define_STAPSK="#define STAPSK "+i,e.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",e.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",e.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",e.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",e.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",e.definitions_.var_declare_incomingPacket="char incomingPacket[537];",e.definitions_.var_declare_A="char A;",e.definitions_.var_declare_Udp="WiFiUDP Udp;",e.setups_.setup_wifi_sta='WiFi.mode(WIFI_STA);\n WiFi.begin(STASSID, STAPSK);\n while(WiFi.status() != WL_CONNECTED){\n Serial.print(".");\n delay(500);\n }\n delay(500);\n Serial.print("Connected! IP address: ");\n Serial.println(WiFi.localIP());\n Serial.printf("UDP server on port ", localPort);\n Udp.begin(localPort);'):(e.definitions_.include_WiFiUDP="#include ",e.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",e.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+i+";",e.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",e.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",e.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",e.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",e.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",e.definitions_.var_declare_incomingPacket="char incomingPacket[537];",e.definitions_.var_declare_A="char A;",e.definitions_.var_declare_Udp="WiFiUDP Udp;",e.setups_.setup_wifi_ap='WiFi.mode(WIFI_AP);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());');return""},vF=function(x,e){var f=e.valueToCode(this,"SSID1",e.ORDER_ATOMIC),t=e.valueToCode(this,"SSID2",e.ORDER_ATOMIC),i=e.valueToCode(this,"PSK1",e.ORDER_ATOMIC),n=e.valueToCode(this,"PSK2",e.ORDER_ATOMIC),s=e.valueToCode(this,"IP1",e.ORDER_ATOMIC),a=e.valueToCode(this,"IP2",e.ORDER_ATOMIC),l=e.valueToCode(this,"IP",e.ORDER_ATOMIC),c=e.valueToCode(this,"duankou",e.ORDER_ATOMIC);s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),l=l.replace(new RegExp(/\./g),","),e.definitions_.define_STASSID="#define STASSID "+f,e.definitions_.define_STAPSK="#define STAPSK "+i,null!=Ax.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?e.definitions_.include_ESP8266WiFi="#include ":e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiUDP="#include ",e.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",e.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+n+";",e.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+s+");",e.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+a+");",e.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+l+");",e.definitions_.var_declare_localPort="unsigned int localPort = "+c+";",e.definitions_.var_declare_remotePort="unsigned int remotePort = "+c+";",e.definitions_.var_declare_incomingPacket="char incomingPacket[537];",e.definitions_.var_declare_A="char A;",e.definitions_.var_declare_Udp="WiFiUDP Udp;",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_wifi_ap_and_sta='WiFi.mode(WIFI_AP_STA);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n WiFi.begin(STASSID, STAPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';return""},wF=function(x,e){var f=e.valueToCode(this,"input_data",e.ORDER_ATOMIC)||"COM",t=e.statementToCode(this,"do");return'int packetSize = Udp.parsePacket();\nif (packetSize) {\n Serial.printf("Received %d bytes from %s, port %d\\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());\n int len = Udp.read(incomingPacket, 536);\n if (len > 0) {\n incomingPacket[len] = 0;\n Serial.printf("UDP packet contents: %s\\n", incomingPacket);\n String '+f+" = incomingPacket;\n"+(""!=(t=t.replace(/(^\s*)|(\s*$)/g,""))?" "+t.replace(new RegExp(/\n/g),"\n ")+"\n":"")+" }\n}\n"},VF=function(x,e){return"Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());\nUdp.write("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+");\nUdp.endPacket();\n"};var YF={北京:"101010100",海淀:"101010200",朝阳:"101010300",顺义:"101010400",怀柔:"101010500",通州:"101010600",昌平:"101010700",延庆:"101010800",丰台:"101010900",石景山:"101011000",大兴:"101011100",房山:"101011200",密云:"101011300",门头沟:"101011400",平谷:"101011500",八达岭:"101011600",佛爷顶:"101011700",汤河口:"101011800",密云上甸子:"101011900",斋堂:"101012000",霞云岭:"101012100",上海:"101020100",闵行:"101020200",宝山:"101020300",川沙:"101020400",嘉定:"101020500",南汇:"101020600",金山:"101020700",青浦:"101020800",松江:"101020900",奉贤:"101021000",崇明:"101021100",陈家镇:"101021101",引水船:"101021102",徐家汇:"101021200",浦东:"101021300",天津:"101030100",武清:"101030200",宝坻:"101030300",东丽:"101030400",西青:"101030500",北辰:"101030600",宁河:"101030700",汉沽:"101030800",静海:"101030900",津南:"101031000",塘沽:"101031100",大港:"101031200",平台:"101031300",蓟县:"101031400",重庆:"101040100",永川:"101040200",合川:"101040300",南川:"101040400",江津:"101040500",万盛:"101040600",渝北:"101040700",北碚:"101040800",巴南:"101040900",长寿:"101041000",黔江:"101041100",万州天城:"101041200",万州龙宝:"101041300",涪陵:"101041400",开县:"101041500",城口:"101041600",云阳:"101041700",巫溪:"101041800",奉节:"101041900",巫山:"101042000",潼南:"101042100",垫江:"101042200",梁平:"101042300",忠县:"101042400",石柱:"101042500",大足:"101042600",荣昌:"101042700",铜梁:"101042800",璧山:"101042900",丰都:"101043000",武隆:"101043100",彭水:"101043200",綦江:"101043300",酉阳:"101043400",金佛山:"101043500",秀山:"101043600",沙坪坝:"101043700",哈尔滨:"101050101",双城:"101050102",呼兰:"101050103",阿城:"101050104",宾县:"101050105",依兰:"101050106",巴彦:"101050107",通河:"101050108",方正:"101050109",延寿:"101050110",尚志:"101050111",五常:"101050112",木兰:"101050113",齐齐哈尔:"101050201",讷河:"101050202",龙江:"101050203",甘南:"101050204",富裕:"101050205",依安:"101050206",拜泉:"101050207",克山:"101050208",克东:"101050209",泰来:"101050210",牡丹江:"101050301",海林:"101050302",穆棱:"101050303",林口:"101050304",绥芬河:"101050305",宁安:"101050306",东宁:"101050307",佳木斯:"101050401",汤原:"101050402",抚远:"101050403",桦川:"101050404",桦南:"101050405",同江:"101050406",富锦:"101050407",绥化:"101050501",肇东:"101050502",安达:"101050503",海伦:"101050504",明水:"101050505",望奎:"101050506",兰西:"101050507",青冈:"101050508",庆安:"101050509",绥棱:"101050510",黑河:"101050601",嫩江:"101050602",孙吴:"101050603",逊克:"101050604",五大连池:"101050605",北安:"101050606",大兴安岭:"101050701",塔河:"101050702",漠河:"101050703",呼玛:"101050704",呼中:"101050705",新林:"101050706",阿木尔:"101050707",加格达奇:"101050708",伊春:"101050801",乌伊岭:"101050802",五营:"101050803",铁力:"101050804",嘉荫:"101050805",大庆:"101050901",林甸:"101050902",肇州:"101050903",肇源:"101050904",杜蒙:"101050905",七台河:"101051002",勃利:"101051003",鸡西:"101051101",虎林:"101051102",密山:"101051103",鸡东:"101051104",鹤岗:"101051201",绥滨:"101051202",萝北:"101051203",双鸭山:"101051301",集贤:"101051302",宝清:"101051303",饶河:"101051304",长春:"101060101",农安:"101060102",德惠:"101060103",九台:"101060104",榆树:"101060105",双阳:"101060106",吉林:"101060201",舒兰:"101060202",永吉:"101060203",蛟河:"101060204",磐石:"101060205",桦甸:"101060206",烟筒山:"101060207",延吉:"101060301",敦化:"101060302",安图:"101060303",汪清:"101060304",和龙:"101060305",天池:"101060306",龙井:"101060307",珲春:"101060308",图们:"101060309",罗子沟:"101060311",延边:"101060312",四平:"101060401",双辽:"101060402",梨树:"101060403",公主岭:"101060404",伊通:"101060405",孤家子:"101060406",通化:"101060501",梅河口:"101060502",柳河:"101060503",辉南:"101060504",集安:"101060505",通化县:"101060506",白城:"101060601",洮南:"101060602",大安:"101060603",镇赉:"101060604",通榆:"101060605",辽源:"101060701",东丰:"101060702",松原:"101060801",乾安:"101060802",前郭:"101060803",长岭:"101060804",扶余:"101060805",白山:"101060901",靖宇:"101060902",临江:"101060903",东岗:"101060904",长白:"101060905",沈阳:"101070101",苏家屯:"101070102",辽中:"101070103",康平:"101070104",法库:"101070105",新民:"101070106",于洪:"101070107",新城子:"101070108",大连:"101070201",瓦房店:"101070202",金州:"101070203",普兰店:"101070204",旅顺:"101070205",长海:"101070206",庄河:"101070207",皮口:"101070208",海洋岛:"101070209",鞍山:"101070301",台安:"101070302",岫岩:"101070303",海城:"101070304",抚顺:"101070401",清原:"101070403",章党:"101070404",本溪:"101070501",本溪县:"101070502",草河口:"101070503",桓仁:"101070504",丹东:"101070601",凤城:"101070602",宽甸:"101070603",东港:"101070604",东沟:"101070605",锦州:"101070701",凌海:"101070702",北宁:"101070703",义县:"101070704",黑山:"101070705",北镇:"101070706",营口:"101070801",大石桥:"101070802",盖州:"101070803",阜新:"101070901",彰武:"101070902",辽阳:"101071001",辽阳县:"101071002",灯塔:"101071003",铁岭:"101071101",开原:"101071102",昌图:"101071103",西丰:"101071104",建平:"101071202",凌源:"101071203",喀左:"101071204",北票:"101071205",羊山:"101071206",建平县:"101071207",盘锦:"101071301",大洼:"101071302",盘山:"101071303",葫芦岛:"101071401",建昌:"101071402",绥中:"101071403",兴城:"101071404",呼和浩特:"101080101",土默特左旗:"101080102",托克托:"101080103",和林格尔:"101080104",清水河:"101080105",呼和浩特市郊区:"101080106",武川:"101080107",包头:"101080201",白云鄂博:"101080202",满都拉:"101080203",土默特右旗:"101080204",固阳:"101080205",达尔罕茂明安联合旗:"101080206",石拐:"101080207",乌海:"101080301",集宁:"101080401",卓资:"101080402",化德:"101080403",商都:"101080404",希拉穆仁:"101080405",兴和:"101080406",凉城:"101080407",察哈尔右翼前旗:"101080408",察哈尔右翼中旗:"101080409",察哈尔右翼后旗:"101080410",四子王旗:"101080411",丰镇:"101080412",通辽:"101080501",舍伯吐:"101080502",科尔沁左翼中旗:"101080503",科尔沁左翼后旗:"101080504",青龙山:"101080505",开鲁:"101080506",库伦旗:"101080507",奈曼旗:"101080508",扎鲁特旗:"101080509",高力板:"101080510",巴雅尔吐胡硕:"101080511",通辽钱家店:"101080512",赤峰:"101080601",赤峰郊区站:"101080602",阿鲁科尔沁旗:"101080603",浩尔吐:"101080604",巴林左旗:"101080605",巴林右旗:"101080606",林西:"101080607",克什克腾旗:"101080608",翁牛特旗:"101080609",岗子:"101080610",喀喇沁旗:"101080611",八里罕:"101080612",宁城:"101080613",敖汉旗:"101080614",宝过图:"101080615",鄂尔多斯:"101080701",达拉特旗:"101080703",准格尔旗:"101080704",鄂托克前旗:"101080705",河南:"101080706",伊克乌素:"101080707",鄂托克旗:"101080708",杭锦旗:"101080709",乌审旗:"101080710",伊金霍洛旗:"101080711",乌审召:"101080712",东胜:"101080713",临河:"101080801",五原:"101080802",磴口:"101080803",乌拉特前旗:"101080804",大佘太:"101080805",乌拉特中旗:"101080806",乌拉特后旗:"101080807",海力素:"101080808",那仁宝力格:"101080809",杭锦后旗:"101080810",巴盟农试站:"101080811",锡林浩特:"101080901",朝克乌拉:"101080902",二连浩特:"101080903",阿巴嘎旗:"101080904",伊和郭勒:"101080905",苏尼特左旗:"101080906",苏尼特右旗:"101080907",朱日和:"101080908",东乌珠穆沁旗:"101080909",西乌珠穆沁旗:"101080910",太仆寺旗:"101080911",镶黄旗:"101080912",正镶白旗:"101080913",正兰旗:"101080914",多伦:"101080915",博克图:"101080916",乌拉盖:"101080917",白日乌拉:"101080918",那日图:"101080919",呼伦贝尔:"101081000",海拉尔:"101081001",小二沟:"101081002",阿荣旗:"101081003",莫力达瓦旗:"101081004",鄂伦春旗:"101081005",鄂温克旗:"101081006",陈巴尔虎旗:"101081007",新巴尔虎左旗:"101081008",新巴尔虎右旗:"101081009",满洲里:"101081010",牙克石:"101081011",扎兰屯:"101081012",额尔古纳:"101081014",根河:"101081015",图里河:"101081016",乌兰浩特:"101081101",阿尔山:"101081102",科尔沁右翼中旗:"101081103",胡尔勒:"101081104",扎赉特旗:"101081105",索伦:"101081106",突泉:"101081107",霍林郭勒:"101081108",阿拉善左旗:"101081201",阿拉善右旗:"101081202",额济纳旗:"101081203",拐子湖:"101081204",吉兰太:"101081205",锡林高勒:"101081206",头道湖:"101081207",中泉子:"101081208",巴彦诺尔贡:"101081209",雅布赖:"101081210",乌斯太:"101081211",孪井滩:"101081212",石家庄:"101090101",井陉:"101090102",正定:"101090103",栾城:"101090104",行唐:"101090105",灵寿:"101090106",高邑:"101090107",深泽:"101090108",赞皇:"101090109",无极:"101090110",平山:"101090111",元氏:"101090112",赵县:"101090113",辛集:"101090114",藁城:"101090115",晋洲:"101090116",新乐:"101090117",保定:"101090201",满城:"101090202",阜平:"101090203",徐水:"101090204",唐县:"101090205",高阳:"101090206",容城:"101090207",紫荆关:"101090208",涞源:"101090209",望都:"101090210",安新:"101090211",易县:"101090212",涞水:"101090213",曲阳:"101090214",蠡县:"101090215",顺平:"101090216",雄县:"101090217",涿州:"101090218",定州:"101090219",安国:"101090220",高碑店:"101090221",张家口:"101090301",宣化:"101090302",张北:"101090303",康保:"101090304",沽源:"101090305",尚义:"101090306",蔚县:"101090307",阳原:"101090308",怀安:"101090309",万全:"101090310",怀来:"101090311",涿鹿:"101090312",赤城:"101090313",崇礼:"101090314",承德:"101090402",承德县:"101090403",兴隆:"101090404",平泉:"101090405",滦平:"101090406",隆化:"101090407",丰宁:"101090408",宽城:"101090409",围场:"101090410",塞罕坎:"101090411",唐山:"101090501",丰南:"101090502",丰润:"101090503",滦县:"101090504",滦南:"101090505",乐亭:"101090506",迁西:"101090507",玉田:"101090508",唐海:"101090509",遵化:"101090510",迁安:"101090511",廊坊:"101090601",固安:"101090602",永清:"101090603",香河:"101090604",大城:"101090605",文安:"101090606",大厂:"101090607",霸州:"101090608",三河:"101090609",沧州:"101090701",青县:"101090702",东光:"101090703",海兴:"101090704",盐山:"101090705",肃宁:"101090706",南皮:"101090707",吴桥:"101090708",献县:"101090709",孟村:"101090710",泊头:"101090711",任丘:"101090712",黄骅:"101090713",河间:"101090714",曹妃甸:"101090715",衡水:"101090801",枣强:"101090802",武邑:"101090803",武强:"101090804",饶阳:"101090805",安平:"101090806",故城:"101090807",景县:"101090808",阜城:"101090809",冀州:"101090810",深州:"101090811",邢台:"101090901",临城:"101090902",邢台县浆水:"101090903",内邱:"101090904",柏乡:"101090905",隆尧:"101090906",南和:"101090907",宁晋:"101090908",巨鹿:"101090909",新河:"101090910",广宗:"101090911",平乡:"101090912",威县:"101090913",清河:"101090914",临西:"101090915",南宫:"101090916",沙河:"101090917",任县:"101090918",邯郸:"101091001",峰峰:"101091002",临漳:"101091003",成安:"101091004",大名:"101091005",涉县:"101091006",磁县:"101091007",肥乡:"101091008",永年:"101091009",邱县:"101091010",鸡泽:"101091011",广平:"101091012",馆陶:"101091013",魏县:"101091014",曲周:"101091015",武安:"101091016",秦皇岛:"101091101",青龙:"101091102",昌黎:"101091103",抚宁:"101091104",卢龙:"101091105",北戴河:"101091106",太原:"101100101",清徐:"101100102",阳曲:"101100103",娄烦:"101100104",太原古交区:"101100105",太原北郊:"101100106",太原南郊:"101100107",大同:"101100201",阳高:"101100202",大同县:"101100203",天镇:"101100204",广灵:"101100205",灵邱:"101100206",浑源:"101100207",左云:"101100208",阳泉:"101100301",盂县:"101100302",平定:"101100303",晋中:"101100401",榆次:"101100402",榆社:"101100403",左权:"101100404",和顺:"101100405",昔阳:"101100406",寿阳:"101100407",太谷:"101100408",祁县:"101100409",平遥:"101100410",灵石:"101100411",介休:"101100412",长治:"101100501",黎城:"101100502",屯留:"101100503",潞城:"101100504",襄垣:"101100505",平顺:"101100506",武乡:"101100507",沁县:"101100508",长子:"101100509",沁源:"101100510",壶关:"101100511",晋城:"101100601",沁水:"101100602",阳城:"101100603",陵川:"101100604",高平:"101100605",临汾:"101100701",曲沃:"101100702",永和:"101100703",隰县:"101100704",大宁:"101100705",吉县:"101100706",襄汾:"101100707",蒲县:"101100708",汾西:"101100709",洪洞:"101100710",霍州:"101100711",乡宁:"101100712",翼城:"101100713",侯马:"101100714",浮山:"101100715",安泽:"101100716",古县:"101100717",运城:"101100801",临猗:"101100802",稷山:"101100803",万荣:"101100804",河津:"101100805",新绛:"101100806",绛县:"101100807",闻喜:"101100808",垣曲:"101100809",永济:"101100810",芮城:"101100811",夏县:"101100812",平陆:"101100813",朔州:"101100901",平鲁:"101100902",山阴:"101100903",右玉:"101100904",应县:"101100905",怀仁:"101100906",忻州:"101101001",定襄:"101101002",五台县豆村:"101101003",河曲:"101101004",偏关:"101101005",神池:"101101006",宁武:"101101007",代县:"101101008",繁峙:"101101009",五台山:"101101010",保德:"101101011",静乐:"101101012",岢岚:"101101013",五寨:"101101014",原平:"101101015",吕梁:"101101100",离石:"101101101",临县:"101101102",兴县:"101101103",岚县:"101101104",柳林:"101101105",石楼:"101101106",方山:"101101107",交口:"101101108",中阳:"101101109",孝义:"101101110",汾阳:"101101111",文水:"101101112",交城:"101101113",西安:"101110101",长安:"101110102",临潼:"101110103",蓝田:"101110104",周至:"101110105",户县:"101110106",高陵:"101110107",杨凌:"101110108",咸阳:"101110200",三原:"101110201",礼泉:"101110202",永寿:"101110203",淳化:"101110204",泾阳:"101110205",武功:"101110206",乾县:"101110207",彬县:"101110208",长武:"101110209",旬邑:"101110210",兴平:"101110211",延安:"101110300",延长:"101110301",延川:"101110302",子长:"101110303",宜川:"101110304",富县:"101110305",志丹:"101110306",安塞:"101110307",甘泉:"101110308",洛川:"101110309",黄陵:"101110310",黄龙:"101110311",吴起:"101110312",榆林:"101110401",府谷:"101110402",神木:"101110403",佳县:"101110404",定边:"101110405",靖边:"101110406",横山:"101110407",米脂:"101110408",子洲:"101110409",绥德:"101110410",吴堡:"101110411",清涧:"101110412",渭南:"101110501",华县:"101110502",潼关:"101110503",大荔:"101110504",白水:"101110505",富平:"101110506",蒲城:"101110507",澄城:"101110508",合阳:"101110509",韩城:"101110510",华阴:"101110511",华山:"101110512",商洛:"101110601",洛南:"101110602",柞水:"101110603",镇安:"101110605",丹凤:"101110606",商南:"101110607",山阳:"101110608",安康:"101110701",紫阳:"101110702",石泉:"101110703",汉阴:"101110704",旬阳:"101110705",岚皋:"101110706",平利:"101110707",白河:"101110708",镇坪:"101110709",宁陕:"101110710",汉中:"101110801",略阳:"101110802",勉县:"101110803",留坝:"101110804",洋县:"101110805",城固:"101110806",西乡:"101110807",佛坪:"101110808",宁强:"101110809",南郑:"101110810",镇巴:"101110811",宝鸡:"101110901",宝鸡县:"101110902",千阳:"101110903",麟游:"101110904",岐山:"101110905",凤翔:"101110906",扶风:"101110907",眉县:"101110908",太白:"101110909",凤县:"101110910",陇县:"101110911",铜川:"101111001",耀县:"101111002",宜君:"101111003",济南:"101120101",长清:"101120102",商河:"101120103",章丘:"101120104",平阴:"101120105",济阳:"101120106",青岛:"101120201",崂山:"101120202",潮连岛:"101120203",即墨:"101120204",胶州:"101120205",胶南:"101120206",莱西:"101120207",平度:"101120208",淄博:"101120301",淄川:"101120302",博山:"101120303",高青:"101120304",周村:"101120305",沂源:"101120306",桓台:"101120307",临淄:"101120308",德州:"101120401",武城:"101120402",临邑:"101120403",陵县:"101120404",齐河:"101120405",乐陵:"101120406",庆云:"101120407",平原:"101120408",宁津:"101120409",夏津:"101120410",禹城:"101120411",烟台:"101120501",莱州:"101120502",长岛:"101120503",蓬莱:"101120504",龙口:"101120505",招远:"101120506",栖霞:"101120507",福山:"101120508",牟平:"101120509",莱阳:"101120510",海阳:"101120511",千里岩:"101120512",潍坊:"101120601",青州:"101120602",寿光:"101120603",临朐:"101120604",昌乐:"101120605",昌邑:"101120606",安丘:"101120607",高密:"101120608",诸城:"101120609",济宁:"101120701",嘉祥:"101120702",微山:"101120703",鱼台:"101120704",兖州:"101120705",金乡:"101120706",汶上:"101120707",泗水:"101120708",梁山:"101120709",曲阜:"101120710",邹城:"101120711",泰安:"101120801",新泰:"101120802",泰山:"101120803",肥城:"101120804",东平:"101120805",宁阳:"101120806",临沂:"101120901",莒南:"101120902",沂南:"101120903",苍山:"101120904",临沭:"101120905",郯城:"101120906",蒙阴:"101120907",平邑:"101120908",费县:"101120909",沂水:"101120910",马站:"101120911",菏泽:"101121001",鄄城:"101121002",郓城:"101121003",东明:"101121004",定陶:"101121005",巨野:"101121006",曹县:"101121007",成武:"101121008",单县:"101121009",滨州:"101121101",博兴:"101121102",无棣:"101121103",阳信:"101121104",惠民:"101121105",沾化:"101121106",邹平:"101121107",东营:"101121201",河口:"101121202",垦利:"101121203",利津:"101121204",广饶:"101121205",威海:"101121301",文登:"101121302",荣成:"101121303",乳山:"101121304",成山头:"101121305",石岛:"101121306",枣庄:"101121401",薛城:"101121402",峄城:"101121403",台儿庄:"101121404",滕州:"101121405",日照:"101121501",五莲:"101121502",莒县:"101121503",莱芜:"101121601",聊城:"101121701",冠县:"101121702",阳谷:"101121703",高唐:"101121704",茌平:"101121705",东阿:"101121706",临清:"101121707",朝城:"101121708",莘县:"101121709",乌鲁木齐:"101130101",蔡家湖:"101130102",小渠子:"101130103",巴仑台:"101130104",达坂城:"101130105",十三间房气象站:"101130106",天山大西沟:"101130107",乌鲁木齐牧试站:"101130108",白杨沟:"101130110",克拉玛依:"101130201",石河子:"101130301",炮台:"101130302",莫索湾:"101130303",乌兰乌苏:"101130304",昌吉:"101130401",呼图壁:"101130402",米泉:"101130403",阜康:"101130404",吉木萨尔:"101130405",奇台:"101130406",玛纳斯:"101130407",木垒:"101130408",北塔山:"101130409",吐鲁番:"101130501",托克逊:"101130502",吐鲁番东坎:"101130503",鄯善:"101130504",红柳河:"101130505",库尔勒:"101130601",轮台:"101130602",尉犁:"101130603",若羌:"101130604",且末:"101130605",和静:"101130606",焉耆:"101130607",和硕:"101130608",库米什:"101130609",巴音布鲁克:"101130610",铁干里克:"101130611",博湖:"101130612",塔中:"101130613",阿拉尔:"101130701",阿克苏:"101130801",乌什:"101130802",温宿:"101130803",拜城:"101130804",新和:"101130805",沙雅:"101130806",库车:"101130807",柯坪:"101130808",阿瓦提:"101130809",喀什:"101130901",英吉沙:"101130902",塔什库尔干:"101130903",麦盖提:"101130904",莎车:"101130905",叶城:"101130906",泽普:"101130907",巴楚:"101130908",岳普湖:"101130909",伽师:"101130910",伊宁:"101131001",察布查尔:"101131002",尼勒克:"101131003",伊宁县:"101131004",巩留:"101131005",新源:"101131006",昭苏:"101131007",特克斯:"101131008",霍城:"101131009",霍尔果斯:"101131010",塔城:"101131101",裕民:"101131102",额敏:"101131103",和布克赛尔:"101131104",托里:"101131105",乌苏:"101131106",沙湾:"101131107",和丰:"101131108",哈密:"101131201",沁城:"101131202",巴里坤:"101131203",伊吾:"101131204",淖毛湖:"101131205",和田:"101131301",皮山:"101131302",策勒:"101131303",墨玉:"101131304",洛浦:"101131305",民丰:"101131306",于田:"101131307",阿勒泰:"101131401",哈巴河:"101131402",一八五团:"101131403",黑山头:"101131404",吉木乃:"101131405",布尔津:"101131406",福海:"101131407",富蕴:"101131408",青河:"101131409",安德河:"101131410",阿图什:"101131501",乌恰:"101131502",阿克陶:"101131503",阿合奇:"101131504",吐尔尕特:"101131505",博乐:"101131601",温泉:"101131602",精河:"101131603",阿拉山口:"101131606",拉萨:"101140101",当雄:"101140102",尼木:"101140103",墨竹贡卡:"101140104",日喀则:"101140201",拉孜:"101140202",南木林:"101140203",聂拉木:"101140204",定日:"101140205",江孜:"101140206",帕里:"101140207",山南:"101140301",贡嘎:"101140302",琼结:"101140303",加查:"101140304",浪卡子:"101140305",错那:"101140306",隆子:"101140307",泽当:"101140308",林芝:"101140401",波密:"101140402",米林:"101140403",察隅:"101140404",昌都:"101140501",丁青:"101140502",类乌齐:"101140503",洛隆:"101140504",左贡:"101140505",芒康:"101140506",八宿:"101140507",那曲:"101140601",嘉黎:"101140603",班戈:"101140604",安多:"101140605",索县:"101140606",比如:"101140607",阿里:"101140701",改则:"101140702",申扎:"101140703",狮泉河:"101140704",普兰:"101140705",西宁:"101150101",大通:"101150102",湟源:"101150103",湟中:"101150104",铁卜加:"101150105",铁卜加寺:"101150106",中心站:"101150107",海东:"101150201",乐都:"101150202",民和:"101150203",互助:"101150204",化隆:"101150205",循化:"101150206",冷湖:"101150207",平安:"101150208",黄南:"101150301",尖扎:"101150302",泽库:"101150303",海南:"101150401",江西沟:"101150402",贵德:"101150404",河卡:"101150405",兴海:"101150406",贵南:"101150407",同德:"101150408",共和:"101150409",果洛:"101150501",班玛:"101150502",甘德:"101150503",达日:"101150504",久治:"101150505",玛多:"101150506",玛沁:"101150508",玉树:"101150601",托托河:"101150602",治多:"101150603",杂多:"101150604",囊谦:"101150605",曲麻莱:"101150606",海西:"101150701",格尔木:"101150702",察尔汉:"101150703",野牛沟:"101150704",五道梁:"101150705",小灶火:"101150706",天峻:"101150708",乌兰:"101150709",都兰:"101150710",诺木洪:"101150711",茫崖:"101150712",大柴旦:"101150713",茶卡:"101150714",香日德:"101150715",德令哈:"101150716",海北:"101150801",门源:"101150802",祁连:"101150803",海晏:"101150804",托勒:"101150805",刚察:"101150806",兰州:"101160101",皋兰:"101160102",永登:"101160103",榆中:"101160104",定西:"101160201",通渭:"101160202",陇西:"101160203",渭源:"101160204",临洮:"101160205",漳县:"101160206",岷县:"101160207",安定:"101160208",平凉:"101160301",泾川:"101160302",灵台:"101160303",崇信:"101160304",华亭:"101160305",庄浪:"101160306",静宁:"101160307",崆峒:"101160308",庆阳:"101160401",西峰:"101160402",环县:"101160403",华池:"101160404",合水:"101160405",正宁:"101160406",宁县:"101160407",镇原:"101160408",庆城:"101160409",武威:"101160501",民勤:"101160502",古浪:"101160503",乌鞘岭:"101160504",天祝:"101160505",金昌:"101160601",永昌:"101160602",张掖:"101160701",肃南:"101160702",民乐:"101160703",临泽:"101160704",高台:"101160705",山丹:"101160706",酒泉:"101160801",鼎新:"101160802",金塔:"101160803",马鬃山:"101160804",瓜州:"101160805",肃北:"101160806",玉门镇:"101160807",敦煌:"101160808",天水:"101160901",北道区:"101160902",清水:"101160903",秦安:"101160904",甘谷:"101160905",武山:"101160906",张家川:"101160907",麦积:"101160908",武都:"101161001",成县:"101161002",文县:"101161003",宕昌:"101161004",康县:"101161005",西和:"101161006",礼县:"101161007",徽县:"101161008",两当:"101161009",临夏:"101161101",康乐:"101161102",永靖:"101161103",广河:"101161104",和政:"101161105",东乡:"101161106",合作:"101161201",临潭:"101161202",卓尼:"101161203",舟曲:"101161204",迭部:"101161205",玛曲:"101161206",碌曲:"101161207",夏河:"101161208",白银:"101161301",靖远:"101161302",会宁:"101161303",华家岭:"101161304",景泰:"101161305",银川:"101170101",永宁:"101170102",灵武:"101170103",贺兰:"101170104",石嘴山:"101170201",惠农:"101170202",平罗:"101170203",陶乐:"101170204",石炭井:"101170205",大武口:"101170206",吴忠:"101170301",同心:"101170302",盐池:"101170303",韦州:"101170304",麻黄山:"101170305",青铜峡:"101170306",固原:"101170401",西吉:"101170402",隆德:"101170403",泾源:"101170404",六盘山:"101170405",彭阳:"101170406",中卫:"101170501",中宁:"101170502",兴仁堡:"101170503",海原:"101170504",郑州:"101180101",巩义:"101180102",荥阳:"101180103",登封:"101180104",新密:"101180105",新郑:"101180106",中牟:"101180107",郑州农试站:"101180108",安阳:"101180201",汤阴:"101180202",滑县:"101180203",内黄:"101180204",林州:"101180205",新乡:"101180301",获嘉:"101180302",原阳:"101180303",辉县:"101180304",卫辉:"101180305",延津:"101180306",封丘:"101180307",长垣:"101180308",许昌:"101180401",鄢陵:"101180402",襄城:"101180403",长葛:"101180404",禹州:"101180405",平顶山:"101180501",郏县:"101180502",宝丰:"101180503",汝州:"101180504",叶县:"101180505",舞钢:"101180506",鲁山:"101180507",信阳:"101180601",息县:"101180602",罗山:"101180603",光山:"101180604",新县:"101180605",淮滨:"101180606",潢川:"101180607",固始:"101180608",商城:"101180609",鸡公山:"101180610",信阳地区农试站:"101180611",南阳:"101180701",南召:"101180702",方城:"101180703",社旗:"101180704",西峡:"101180705",内乡:"101180706",镇平:"101180707",淅川:"101180708",新野:"101180709",唐河:"101180710",邓州:"101180711",桐柏:"101180712",开封:"101180801",杞县:"101180802",尉氏:"101180803",通许:"101180804",兰考:"101180805",洛阳:"101180901",新安:"101180902",孟津:"101180903",宜阳:"101180904",洛宁:"101180905",伊川:"101180906",嵩县:"101180907",偃师:"101180908",栾川:"101180909",汝阳:"101180910",商丘:"101181001",睢阳区:"101181002",睢县:"101181003",民权:"101181004",虞城:"101181005",柘城:"101181006",宁陵:"101181007",夏邑:"101181008",永城:"101181009",焦作:"101181101",修武:"101181102",武陟:"101181103",沁阳:"101181104",博爱:"101181106",温县:"101181107",孟州:"101181108",鹤壁:"101181201",浚县:"101181202",淇县:"101181203",濮阳:"101181301",台前:"101181302",南乐:"101181303",清丰:"101181304",范县:"101181305",周口:"101181401",扶沟:"101181402",太康:"101181403",淮阳:"101181404",西华:"101181405",商水:"101181406",项城:"101181407",郸城:"101181408",鹿邑:"101181409",沈丘:"101181410",黄泛区:"101181411",漯河:"101181501",临颍:"101181502",舞阳:"101181503",驻马店:"101181601",西平:"101181602",遂平:"101181603",上蔡:"101181604",汝南:"101181605",泌阳:"101181606",平舆:"101181607",新蔡:"101181608",确山:"101181609",正阳:"101181610",三门峡:"101181701",灵宝:"101181702",渑池:"101181703",卢氏:"101181704",济源:"101181801",南京:"101190101",溧水:"101190102",高淳:"101190103",江宁:"101190104",六合:"101190105",江浦:"101190106",浦口:"101190107",无锡:"101190201",江阴:"101190202",宜兴:"101190203",镇江:"101190301",丹阳:"101190302",扬中:"101190303",句容:"101190304",丹徒:"101190305",苏州:"101190401",常熟:"101190402",张家港:"101190403",昆山:"101190404",吴县东山:"101190405",吴县:"101190406",吴江:"101190407",太仓:"101190408",南通:"101190501",海安:"101190502",如皋:"101190503",如东:"101190504",吕泗:"101190505",吕泗渔场:"101190506",启东:"101190507",海门:"101190508",扬州:"101190601",宝应:"101190602",仪征:"101190603",高邮:"101190604",江都:"101190605",邗江:"101190606",盐城:"101190701",响水:"101190702",滨海:"101190703",阜宁:"101190704",射阳:"101190705",建湖:"101190706",东台:"101190707",大丰:"101190708",盐都:"101190709",徐州:"101190801",徐州农试站:"101190802",丰县:"101190803",沛县:"101190804",邳州:"101190805",睢宁:"101190806",新沂:"101190807",淮安:"101190901",金湖:"101190902",盱眙:"101190903",洪泽:"101190904",涟水:"101190905",淮阴县:"101190906",淮阴:"101190907",楚州:"101190908",连云港:"101191001",东海:"101191002",赣榆:"101191003",灌云:"101191004",灌南:"101191005",西连岛:"101191006",燕尾港:"101191007",常州:"101191101",溧阳:"101191102",金坛:"101191103",泰州:"101191201",兴化:"101191202",泰兴:"101191203",姜堰:"101191204",靖江:"101191205",宿迁:"101191301",沭阳:"101191302",泗阳:"101191303",泗洪:"101191304",武汉:"101200101",蔡甸:"101200102",黄陂:"101200103",新洲:"101200104",江夏:"101200105",襄樊:"101200201",襄阳:"101200202",保康:"101200203",南漳:"101200204",宜城:"101200205",老河口:"101200206",谷城:"101200207",枣阳:"101200208",鄂州:"101200301",孝感:"101200401",安陆:"101200402",云梦:"101200403",大悟:"101200404",应城:"101200405",汉川:"101200406",黄冈:"101200501",红安:"101200502",麻城:"101200503",罗田:"101200504",英山:"101200505",浠水:"101200506",蕲春:"101200507",黄梅:"101200508",武穴:"101200509",黄石:"101200601",大冶:"101200602",阳新:"101200603",咸宁:"101200701",赤壁:"101200702",嘉鱼:"101200703",崇阳:"101200704",通城:"101200705",通山:"101200706",荆州:"101200801",江陵:"101200802",公安:"101200803",石首:"101200804",监利:"101200805",洪湖:"101200806",松滋:"101200807",宜昌:"101200901",远安:"101200902",秭归:"101200903",兴山:"101200904",宜昌县:"101200905",五峰:"101200906",当阳:"101200907",长阳:"101200908",宜都:"101200909",枝江:"101200910",三峡:"101200911",夷陵:"101200912",恩施:"101201001",利川:"101201002",建始:"101201003",咸丰:"101201004",宣恩:"101201005",鹤峰:"101201006",来凤:"101201007",巴东:"101201008",绿葱坡:"101201009",十堰:"101201101",竹溪:"101201102",郧西:"101201103",郧县:"101201104",竹山:"101201105",房县:"101201106",丹江口:"101201107",神农架:"101201201",随州:"101201301",广水:"101201302",荆门:"101201401",钟祥:"101201402",京山:"101201403",天门:"101201501",仙桃:"101201601",潜江:"101201701",杭州:"101210101",萧山:"101210102",桐庐:"101210103",淳安:"101210104",建德:"101210105",余杭:"101210106",临安:"101210107",富阳:"101210108",湖州:"101210201",长兴:"101210202",安吉:"101210203",德清:"101210204",嘉兴:"101210301",嘉善:"101210302",海宁:"101210303",桐乡:"101210304",平湖:"101210305",海盐:"101210306",宁波:"101210401",慈溪:"101210403",余姚:"101210404",奉化:"101210405",象山:"101210406",石浦:"101210407",宁海:"101210408",鄞县:"101210409",北仑:"101210410",鄞州:"101210411",镇海:"101210412",绍兴:"101210501",诸暨:"101210502",上虞:"101210503",新昌:"101210504",嵊州:"101210505",台州:"101210601",括苍山:"101210602",玉环:"101210603",三门:"101210604",天台:"101210605",仙居:"101210606",温岭:"101210607",大陈:"101210608",洪家:"101210609",温州:"101210701",泰顺:"101210702",文成:"101210703",平阳:"101210704",瑞安:"101210705",洞头:"101210706",乐清:"101210707",永嘉:"101210708",苍南:"101210709",丽水:"101210801",遂昌:"101210802",龙泉:"101210803",缙云:"101210804",青田:"101210805",云和:"101210806",庆元:"101210807",金华:"101210901",浦江:"101210902",兰溪:"101210903",义乌:"101210904",东阳:"101210905",武义:"101210906",永康:"101210907",磐安:"101210908",衢州:"101211001",常山:"101211002",开化:"101211003",龙游:"101211004",江山:"101211005",舟山:"101211101",嵊泗:"101211102",嵊山:"101211103",岱山:"101211104",普陀:"101211105",定海:"101211106",合肥:"101220101",长丰:"101220102",肥东:"101220103",肥西:"101220104",蚌埠:"101220201",怀远:"101220202",固镇:"101220203",五河:"101220204",芜湖:"101220301",繁昌:"101220302",芜湖县:"101220303",南陵:"101220304",淮南:"101220401",凤台:"101220402",马鞍山:"101220501",当涂:"101220502",安庆:"101220601",枞阳:"101220602",太湖:"101220603",潜山:"101220604",怀宁:"101220605",宿松:"101220606",望江:"101220607",岳西:"101220608",桐城:"101220609",宿州:"101220701",砀山:"101220702",灵璧:"101220703",泗县:"101220704",萧县:"101220705",阜阳:"101220801",阜南:"101220802",颍上:"101220803",临泉:"101220804",界首:"101220805",太和:"101220806",亳州:"101220901",涡阳:"101220902",利辛:"101220903",蒙城:"101220904",黄山站:"101221001",黄山区:"101221002",屯溪:"101221003",祁门:"101221004",黟县:"101221005",歙县:"101221006",休宁:"101221007",黄山市:"101221008",滁州:"101221101",凤阳:"101221102",明光:"101221103",定远:"101221104",全椒:"101221105",来安:"101221106",天长:"101221107",淮北:"101221201",濉溪:"101221202",铜陵:"101221301",宣城:"101221401",泾县:"101221402",旌德:"101221403",宁国:"101221404",绩溪:"101221405",广德:"101221406",郎溪:"101221407",六安:"101221501",霍邱:"101221502",寿县:"101221503",南溪:"101221504",金寨:"101221505",霍山:"101221506",舒城:"101221507",巢湖:"101221601",庐江:"101221602",无为:"101221603",含山:"101221604",和县:"101221605",池州:"101221701",东至:"101221702",青阳:"101221703",九华山:"101221704",石台:"101221705",福州:"101230101",闽清:"101230102",闽侯:"101230103",罗源:"101230104",连江:"101230105",马祖:"101230106",永泰:"101230107",平潭:"101230108",福州郊区:"101230109",长乐:"101230110",福清:"101230111",平潭海峡大桥:"101230112",厦门:"101230201",同安:"101230202",宁德:"101230301",古田:"101230302",霞浦:"101230303",寿宁:"101230304",周宁:"101230305",福安:"101230306",柘荣:"101230307",福鼎:"101230308",屏南:"101230309",莆田:"101230401",仙游:"101230402",秀屿港:"101230403",泉州:"101230501",安溪:"101230502",九仙山:"101230503",永春:"101230504",德化:"101230505",南安:"101230506",崇武:"101230507",晋江:"101230509",漳州:"101230601",长泰:"101230602",南靖:"101230603",平和:"101230604",龙海:"101230605",漳浦:"101230606",诏安:"101230607",东山:"101230608",云霄:"101230609",华安:"101230610",龙岩:"101230701",长汀:"101230702",连城:"101230703",武平:"101230704",上杭:"101230705",永定:"101230706",漳平:"101230707",三明:"101230801",宁化:"101230802",清流:"101230803",泰宁:"101230804",将乐:"101230805",建宁:"101230806",明溪:"101230807",沙县:"101230808",尤溪:"101230809",永安:"101230810",大田:"101230811",南平:"101230901",顺昌:"101230902",光泽:"101230903",邵武:"101230904",武夷山:"101230905",浦城:"101230906",建阳:"101230907",松溪:"101230908",政和:"101230909",建瓯:"101230910",南昌:"101240101",新建:"101240102",南昌县:"101240103",安义:"101240104",进贤:"101240105",莲塘:"101240106",九江:"101240201",瑞昌:"101240202",庐山:"101240203",武宁:"101240204",德安:"101240205",永修:"101240206",湖口:"101240207",彭泽:"101240208",星子:"101240209",都昌:"101240210",棠荫:"101240211",修水:"101240212",上饶:"101240301",鄱阳:"101240302",婺源:"101240303",康山:"101240304",余干:"101240305",万年:"101240306",德兴:"101240307",上饶县:"101240308",弋阳:"101240309",横峰:"101240310",铅山:"101240311",玉山:"101240312",广丰:"101240313",波阳:"101240314",抚州:"101240401",广昌:"101240402",乐安:"101240403",崇仁:"101240404",金溪:"101240405",资溪:"101240406",宜黄:"101240407",南城:"101240408",南丰:"101240409",黎川:"101240410",宜春:"101240501",铜鼓:"101240502",宜丰:"101240503",万载:"101240504",上高:"101240505",靖安:"101240506",奉新:"101240507",高安:"101240508",樟树:"101240509",丰城:"101240510",吉安:"101240601",吉安县:"101240602",吉水:"101240603",新干:"101240604",峡江:"101240605",永丰:"101240606",永新:"101240607",井冈山:"101240608",万安:"101240609",遂川:"101240610",泰和:"101240611",安福:"101240612",宁冈:"101240613",赣州:"101240701",崇义:"101240702",上犹:"101240703",南康:"101240704",大余:"101240705",信丰:"101240706",宁都:"101240707",石城:"101240708",瑞金:"101240709",于都:"101240710",会昌:"101240711",安远:"101240712",全南:"101240713",龙南:"101240714",定南:"101240715",寻乌:"101240716",兴国:"101240717",景德镇:"101240801",乐平:"101240802",萍乡:"101240901",莲花:"101240902",新余:"101241001",分宜:"101241002",鹰潭:"101241101",余江:"101241102",贵溪:"101241103",长沙:"101250101",宁乡:"101250102",浏阳:"101250103",马坡岭:"101250104",湘潭:"101250201",韶山:"101250202",湘乡:"101250203",株洲:"101250301",攸县:"101250302",醴陵:"101250303",株洲县:"101250304",茶陵:"101250305",炎陵:"101250306",衡阳:"101250401",衡山:"101250402",衡东:"101250403",祁东:"101250404",衡阳县:"101250405",常宁:"101250406",衡南:"101250407",耒阳:"101250408",南岳:"101250409",郴州:"101250501",桂阳:"101250502",嘉禾:"101250503",宜章:"101250504",临武:"101250505",桥口:"101250506",资兴:"101250507",汝城:"101250508",安仁:"101250509",永兴:"101250510",桂东:"101250511",常德:"101250601",安乡:"101250602",桃源:"101250603",汉寿:"101250604",澧县:"101250605",临澧:"101250606",石门:"101250607",益阳:"101250700",赫山区:"101250701",南县:"101250702",桃江:"101250703",安化:"101250704",沅江:"101250705",娄底:"101250801",双峰:"101250802",冷水江:"101250803",冷水滩:"101250804",新化:"101250805",涟源:"101250806",邵阳:"101250901",隆回:"101250902",洞口:"101250903",新邵:"101250904",邵东:"101250905",绥宁:"101250906",新宁:"101250907",武冈:"101250908",城步:"101250909",邵阳县:"101250910",岳阳:"101251001",华容:"101251002",湘阴:"101251003",汨罗:"101251004",平江:"101251005",临湘:"101251006",张家界:"101251101",桑植:"101251102",慈利:"101251103",怀化:"101251201",鹤城区:"101251202",沅陵:"101251203",辰溪:"101251204",靖州:"101251205",会同:"101251206",通道:"101251207",麻阳:"101251208",新晃:"101251209",芷江:"101251210",溆浦:"101251211",黔阳:"101251301",洪江:"101251302",永州:"101251401",祁阳:"101251402",东安:"101251403",双牌:"101251404",道县:"101251405",宁远:"101251406",江永:"101251407",蓝山:"101251408",新田:"101251409",江华:"101251410",吉首:"101251501",保靖:"101251502",永顺:"101251503",古丈:"101251504",凤凰:"101251505",泸溪:"101251506",龙山:"101251507",花垣:"101251508",贵阳:"101260101",白云:"101260102",花溪:"101260103",乌当:"101260104",息烽:"101260105",开阳:"101260106",修文:"101260107",清镇:"101260108",遵义:"101260201",遵义县:"101260202",仁怀:"101260203",绥阳:"101260204",湄潭:"101260205",凤冈:"101260206",桐梓:"101260207",赤水:"101260208",习水:"101260209",道真:"101260210",正安:"101260211",务川:"101260212",余庆:"101260213",汇川:"101260214",安顺:"101260301",普定:"101260302",镇宁:"101260303",平坝:"101260304",紫云:"101260305",关岭:"101260306",都匀:"101260401",贵定:"101260402",瓮安:"101260403",长顺:"101260404",福泉:"101260405",惠水:"101260406",龙里:"101260407",罗甸:"101260408",平塘:"101260409",独山:"101260410",三都:"101260411",荔波:"101260412",凯里:"101260501",岑巩:"101260502",施秉:"101260503",镇远:"101260504",黄平:"101260505",黄平旧洲:"101260506",麻江:"101260507",丹寨:"101260508",三穗:"101260509",台江:"101260510",剑河:"101260511",雷山:"101260512",黎平:"101260513",天柱:"101260514",锦屏:"101260515",榕江:"101260516",从江:"101260517",炉山:"101260518",铜仁:"101260601",江口:"101260602",玉屏:"101260603",万山:"101260604",思南:"101260605",塘头:"101260606",印江:"101260607",石阡:"101260608",沿河:"101260609",德江:"101260610",松桃:"101260611",毕节:"101260701",赫章:"101260702",金沙:"101260703",威宁:"101260704",大方:"101260705",纳雍:"101260706",织金:"101260707",六盘水:"101260801",六枝:"101260802",水城:"101260803",盘县:"101260804",黔西:"101260901",晴隆:"101260902",兴仁:"101260903",贞丰:"101260904",望谟:"101260905",兴义:"101260906",安龙:"101260907",册亨:"101260908",普安:"101260909",成都:"101270101",龙泉驿:"101270102",新都:"101270103",温江:"101270104",金堂:"101270105",双流:"101270106",郫县:"101270107",大邑:"101270108",蒲江:"101270109",新津:"101270110",都江堰:"101270111",彭州:"101270112",邛崃:"101270113",崇州:"101270114",崇庆:"101270115",彭县:"101270116",攀枝花:"101270201",仁和:"101270202",米易:"101270203",盐边:"101270204",自贡:"101270301",富顺:"101270302",荣县:"101270303",绵阳:"101270401",三台:"101270402",盐亭:"101270403",安县:"101270404",梓潼:"101270405",北川:"101270406",平武:"101270407",江油:"101270408",南充:"101270501",南部:"101270502",营山:"101270503",蓬安:"101270504",仪陇:"101270505",西充:"101270506",阆中:"101270507",达州:"101270601",宣汉:"101270602",开江:"101270603",大竹:"101270604",渠县:"101270605",万源:"101270606",达川:"101270607",遂宁:"101270701",蓬溪:"101270702",射洪:"101270703",广安:"101270801",岳池:"101270802",武胜:"101270803",邻水:"101270804",华蓥山:"101270805",巴中:"101270901",通江:"101270902",南江:"101270903",平昌:"101270904",泸州:"101271001",泸县:"101271003",合江:"101271004",叙永:"101271005",古蔺:"101271006",纳溪:"101271007",宜宾:"101271101",宜宾农试站:"101271102",宜宾县:"101271103",江安:"101271105",长宁:"101271106",高县:"101271107",珙县:"101271108",筠连:"101271109",兴文:"101271110",屏山:"101271111",内江:"101271201",东兴:"101271202",威远:"101271203",资中:"101271204",隆昌:"101271205",资阳:"101271301",安岳:"101271302",乐至:"101271303",简阳:"101271304",乐山:"101271401",犍为:"101271402",井研:"101271403",夹江:"101271404",沐川:"101271405",峨边:"101271406",马边:"101271407",峨眉:"101271408",峨眉山:"101271409",眉山:"101271501",仁寿:"101271502",彭山:"101271503",洪雅:"101271504",丹棱:"101271505",青神:"101271506",凉山:"101271601",木里:"101271603",盐源:"101271604",德昌:"101271605",会理:"101271606",会东:"101271607",宁南:"101271608",普格:"101271609",西昌:"101271610",金阳:"101271611",昭觉:"101271612",喜德:"101271613",冕宁:"101271614",越西:"101271615",甘洛:"101271616",雷波:"101271617",美姑:"101271618",布拖:"101271619",雅安:"101271701",名山:"101271702",荣经:"101271703",汉源:"101271704",石棉:"101271705",天全:"101271706",芦山:"101271707",宝兴:"101271708",甘孜:"101271801",康定:"101271802",泸定:"101271803",丹巴:"101271804",九龙:"101271805",雅江:"101271806",道孚:"101271807",炉霍:"101271808",新龙:"101271809",德格:"101271810",白玉:"101271811",石渠:"101271812",色达:"101271813",理塘:"101271814",巴塘:"101271815",乡城:"101271816",稻城:"101271817",得荣:"101271818",阿坝:"101271901",汶川:"101271902",理县:"101271903",茂县:"101271904",松潘:"101271905",九寨沟:"101271906",金川:"101271907",小金:"101271908",黑水:"101271909",马尔康:"101271910",壤塘:"101271911",若尔盖:"101271912",红原:"101271913",南坪:"101271914",德阳:"101272001",中江:"101272002",广汉:"101272003",什邡:"101272004",绵竹:"101272005",罗江:"101272006",广元:"101272101",旺苍:"101272102",青川:"101272103",剑阁:"101272104",苍溪:"101272105",广州:"101280101",番禺:"101280102",从化:"101280103",增城:"101280104",花都:"101280105",天河:"101280106",韶关:"101280201",乳源:"101280202",始兴:"101280203",翁源:"101280204",乐昌:"101280205",仁化:"101280206",南雄:"101280207",新丰:"101280208",曲江:"101280209",惠州:"101280301",博罗:"101280302",惠阳:"101280303",惠东:"101280304",龙门:"101280305",梅州:"101280401",兴宁:"101280402",蕉岭:"101280403",大埔:"101280404",丰顺:"101280406",平远:"101280407",五华:"101280408",梅县:"101280409",汕头:"101280501",潮阳:"101280502",澄海:"101280503",南澳:"101280504",云澳:"101280505",南澎岛:"101280506",深圳:"101280601",珠海:"101280701",斗门:"101280702",黄茅洲:"101280703",佛山:"101280800",顺德:"101280801",三水:"101280802",南海:"101280803",肇庆:"101280901",广宁:"101280902",四会:"101280903",德庆:"101280905",怀集:"101280906",封开:"101280907",高要:"101280908",湛江:"101281001",吴川:"101281002",雷州:"101281003",徐闻:"101281004",廉江:"101281005",硇洲:"101281006",遂溪:"101281007",江门:"101281101",开平:"101281103",新会:"101281104",恩平:"101281105",台山:"101281106",上川岛:"101281107",鹤山:"101281108",河源:"101281201",紫金:"101281202",连平:"101281203",和平:"101281204",龙川:"101281205",清远:"101281301",连南:"101281302",连州:"101281303",连山:"101281304",阳山:"101281305",佛冈:"101281306",英德:"101281307",云浮:"101281401",罗定:"101281402",新兴:"101281403",郁南:"101281404",潮州:"101281501",饶平:"101281502",东莞:"101281601",中山:"101281701",阳江:"101281801",阳春:"101281802",揭阳:"101281901",揭西:"101281902",普宁:"101281903",惠来:"101281904",茂名:"101282001",高州:"101282002",化州:"101282003",电白:"101282004",信宜:"101282005",汕尾:"101282101",海丰:"101282102",陆丰:"101282103",遮浪:"101282104",东沙岛:"101282105",昆明:"101290101",昆明农试站:"101290102",东川:"101290103",寻甸:"101290104",晋宁:"101290105",宜良:"101290106",石林:"101290107",呈贡:"101290108",富民:"101290109",嵩明:"101290110",禄劝:"101290111",安宁:"101290112",太华山:"101290113",大理:"101290201",云龙:"101290202",漾鼻:"101290203",永平:"101290204",宾川:"101290205",弥渡:"101290206",祥云:"101290207",魏山:"101290208",剑川:"101290209",洱源:"101290210",鹤庆:"101290211",南涧:"101290212",红河:"101290301",石屏:"101290302",建水:"101290303",弥勒:"101290304",元阳:"101290305",绿春:"101290306",开远:"101290307",个旧:"101290308",蒙自:"101290309",屏边:"101290310",泸西:"101290311",金平:"101290312",曲靖:"101290401",沾益:"101290402",陆良:"101290403",富源:"101290404",马龙:"101290405",师宗:"101290406",罗平:"101290407",会泽:"101290408",宣威:"101290409",保山:"101290501",富宁:"101290502",龙陵:"101290503",施甸:"101290504",昌宁:"101290505",腾冲:"101290506",文山:"101290601",西畴:"101290602",马关:"101290603",麻栗坡:"101290604",砚山:"101290605",邱北:"101290606",广南:"101290607",玉溪:"101290701",澄江:"101290702",江川:"101290703",通海:"101290704",华宁:"101290705",新平:"101290706",易门:"101290707",峨山:"101290708",元江:"101290709",楚雄:"101290801",大姚:"101290802",元谋:"101290803",姚安:"101290804",牟定:"101290805",南华:"101290806",武定:"101290807",禄丰:"101290808",双柏:"101290809",永仁:"101290810",普洱:"101290901",景谷:"101290902",景东:"101290903",澜沧:"101290904",墨江:"101290906",江城:"101290907",孟连:"101290908",西盟:"101290909",镇源:"101290910",镇沅:"101290911",宁洱:"101290912",昭通:"101291001",鲁甸:"101291002",彝良:"101291003",镇雄:"101291004",威信:"101291005",巧家:"101291006",绥江:"101291007",永善:"101291008",盐津:"101291009",大关:"101291010",临沧:"101291101",沧源:"101291102",耿马:"101291103",双江:"101291104",凤庆:"101291105",永德:"101291106",云县:"101291107",镇康:"101291108",怒江:"101291201",福贡:"101291203",兰坪:"101291204",泸水:"101291205",六库:"101291206",贡山:"101291207",香格里拉:"101291301",德钦:"101291302",维西:"101291303",中甸:"101291304",丽江:"101291401",永胜:"101291402",华坪:"101291403",宁蒗:"101291404",德宏:"101291501",潞江坝:"101291502",陇川:"101291503",盈江:"101291504",畹町镇:"101291505",瑞丽:"101291506",梁河:"101291507",潞西:"101291508",景洪:"101291601",大勐龙:"101291602",勐海:"101291603",景洪电站:"101291604",勐腊:"101291605",南宁:"101300101",南宁城区:"101300102",邕宁:"101300103",横县:"101300104",隆安:"101300105",马山:"101300106",上林:"101300107",武鸣:"101300108",宾阳:"101300109",硕龙:"101300110",崇左:"101300201",天等:"101300202",龙州:"101300203",凭祥:"101300204",大新:"101300205",扶绥:"101300206",宁明:"101300207",海渊:"101300208",柳州:"101300301",柳城:"101300302",沙塘:"101300303",鹿寨:"101300304",柳江:"101300305",融安:"101300306",融水:"101300307",三江:"101300308",来宾:"101300401",忻城:"101300402",金秀:"101300403",象州:"101300404",武宣:"101300405",桂林:"101300501",桂林农试站:"101300502",龙胜:"101300503",永福:"101300504",临桂:"101300505",兴安:"101300506",灵川:"101300507",全州:"101300508",灌阳:"101300509",阳朔:"101300510",恭城:"101300511",平乐:"101300512",荔浦:"101300513",资源:"101300514",梧州:"101300601",藤县:"101300602",太平:"101300603",苍梧:"101300604",蒙山:"101300605",岑溪:"101300606",贺州:"101300701",昭平:"101300702",富川:"101300703",钟山:"101300704",信都:"101300705",贵港:"101300801",桂平:"101300802",平南:"101300803",玉林:"101300901",博白:"101300902",北流:"101300903",容县:"101300904",陆川:"101300905",百色:"101301001",那坡:"101301002",田阳:"101301003",德保:"101301004",靖西:"101301005",田东:"101301006",平果:"101301007",隆林:"101301008",西林:"101301009",乐业:"101301010",凌云:"101301011",田林:"101301012",钦州:"101301101",浦北:"101301102",灵山:"101301103",河池:"101301201",天峨:"101301202",东兰:"101301203",巴马:"101301204",环江:"101301205",罗城:"101301206",宜州:"101301207",凤山:"101301208",南丹:"101301209",都安:"101301210",北海:"101301301",合浦:"101301302",涠洲岛:"101301303",防城港:"101301401",上思:"101301402",板栏:"101301404",防城:"101301405",海口:"101310101",琼山:"101310102",三亚:"101310201",东方:"101310202",临高:"101310203",澄迈:"101310204",儋州:"101310205",昌江:"101310206",白沙:"101310207",琼中:"101310208",定安:"101310209",屯昌:"101310210",琼海:"101310211",文昌:"101310212",清兰:"101310213",保亭:"101310214",万宁:"101310215",陵水:"101310216",西沙:"101310217",珊瑚岛:"101310218",永署礁:"101310219",南沙岛:"101310220",乐东:"101310221",五指山:"101310222",通什:"101310223",香港:"101320101",新界:"101320103",中环:"101320104",铜锣湾:"101320105",澳门:"101330101",台北县:"101340101",台北市:"101340102",高雄:"101340201",大武:"101340203",恒春:"101340204",兰屿:"101340205",台南:"101340301",台中:"101340401",桃园:"101340501",新竹县:"101340601",新竹市:"101340602",公馆:"101340603",宜兰:"101340701",马公:"101340801",东吉屿:"101340802",嘉义:"101340901",阿里山:"101340902",新港:"101340904"};const kF=function(x,e){var f=this.getFieldValue("data"),t=YF[f];return e.definitions_.include_Weather_Forcast="#include ",e.definitions_.var_declare_Weather_Forcast="Weather_Forcast Weather;",t?this.setFieldValue("ok","check"):(t="error",this.setFieldValue("error","check")),['Weather.RefreshData("'+t+'")',e.ORDER_ATOMIC]},XF=function(x,e){return["Weather.getToday("+this.getFieldValue("type")+")",e.ORDER_ATOMIC]},GF=function(x,e){return["Weather.get"+this.getFieldValue("type")+"("+e.valueToCode(this,"date",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},BF=function(x,e){var f=e.valueToCode(this,"server",e.ORDER_ATOMIC),t=e.valueToCode(this,"port",e.ORDER_ATOMIC),i=e.valueToCode(this,"mqtt_username",e.ORDER_ATOMIC),n=e.valueToCode(this,"mqtt_password",e.ORDER_ATOMIC),s=e.valueToCode(this,"project",e.ORDER_ATOMIC);t=t.replace(/"/g,""),e.definitions_.include_PubSubClient="#include \n",e.definitions_.var_declare_PubSubClient="const char *mqtt_broker = "+f+";\nconst char *mqtt_username = "+i+";\nconst char *mqtt_password = "+n+";\nconst int mqtt_port = "+t+';\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = '+s+';\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',e.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},UF=function(x,e){var f=this.getFieldValue("key"),t=this.getFieldValue("server");e.definitions_.include_PubSubClient="#include \n",e.definitions_.var_declare_PubSubClient='const char *mqtt_broker = "'+t+'";\nconst char *mqtt_username = "MixIO_public";\nconst char *mqtt_password = "MixIO_public";\nconst int mqtt_port = 1883;\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = "'+f+'";\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',e.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},HF=function(x,e){var f=e.valueToCode(this,"data",e.ORDER_ATOMIC),t=e.valueToCode(this,"topic",e.ORDER_ATOMIC),i=this.getFieldValue("mode");if(1==i)var n='client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str(),String("+f+").c_str());\n";if(2==i)n='client.publish(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str(),String("+f+").c_str());\n";return n},WF=function(x,e){var f=this.getFieldValue("mode"),t=e.valueToCode(this,"topic",e.ORDER_ATOMIC),i=e.statementToCode(this,"function");if(i=i.replace(/(^\s*)|(\s*$)/g,""),1==f){e.setups_["setups_topic_"+t]='client.subscribe(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str());";var n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")))) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}if(2==f){e.setups_["setups_topic_"+t]='client.subscribe(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str());";n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str())) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}return n},jF=function(x,e){Ax.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?e.definitions_.include_ESPAsyncTCP="#include ":e.definitions_.include_AsyncTCP="#include ",e.definitions_.include_ESPAsyncWebServer="#include ",e.definitions_.include_AsyncElegantOTA="#include \n",e.definitions_.var_AsyncWebServer="AsyncWebServer server(80);\n",e.setups_.setups_AsyncWebServer="AsyncElegantOTA.begin(&server);\nserver.begin();\n";return""},KF=function(x,e){var f=this.getFieldValue("INCLUDE");return e.definitions_["include_"+f]="#include <"+f+".h>",""},qF=function(x,e){for(var f=this.getFieldValue("NAME"),t=new Array(this.itemCount_),i=0;i-1&&delete e.setups_["setup_input_"+f],t="digitalRead("+f+")";return[t,e.ORDER_ATOMIC]},oI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);const{pwm:i}=Ax.Profile.default;if("object"==typeof i)for(let x of i)if(f===x[1]){e.setups_["setup_output"+f]="pinMode("+f+", OUTPUT);";break}return"analogWrite("+f+", "+t+");\n"},uI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);const{analog:t}=Ax.Profile.default;if("object"==typeof t)for(let x of t)if(f===x[1])break;return["analogRead("+f+")",e.ORDER_ATOMIC]},rI=function(x,e){var f=this.getFieldValue("STAT");return e.setups_.setup_output_13="pinMode(13, OUTPUT);","digitalWrite(13, "+f+");\n"},_I=function(x,e){e.definitions_.include_OneButton="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode"),i=e.valueToCode(this,"STAT",e.ORDER_ATOMIC);e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+","+("HIGH"==i?"false":"true")+");",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var n="button"+f+".tick();",s=t+f,a="void "+s+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[s]=a,n},hI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.setups_["setup_input_"+f]="pinMode("+f+", INPUT_PULLUP);";var i="attachInterrupt("+("digitalPinToInterrupt("+f+")")+",attachInterrupt_fun_"+t+"_"+f+","+t+");\n",n="attachInterrupt_fun_"+t+"_"+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},FI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);","detachInterrupt("+("digitalPinToInterrupt("+f+")")+");\n"},II=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.definitions_.include_PinChangeInterrupt="#include ",e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);";var i="attachPCINT(digitalPinToPCINT("+f+"),attachPinInterrupt_fun_"+t+"_"+f+","+t+");\n",n="attachPinInterrupt_fun_"+t+"_"+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},AI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);","detachPCINT(digitalPinToPCINT("+f+"));\n"},EI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("STAT");return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);",["pulseIn("+f+", "+t+")",e.ORDER_ATOMIC]},TI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("STAT"),i=e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)||"0";return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);",["pulseIn("+f+", "+t+", "+i+")",e.ORDER_ATOMIC]},gI=function(x,e){var f=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),i=this.getFieldValue("ORDER"),n=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+t]="pinMode("+t+", OUTPUT);","shiftOut("+f+", "+t+", "+i+", "+n+");\n"},mI=function(x,e){e.definitions_.include_ESP32touchButton="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="ESP32touchButton button"+f+"("+f+",true);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},MI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_SoftPWM="#include ",e.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMSet("+f+", "+t+");\n"},CI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.definitions_.include_SoftPWM="#include ",e.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMEnd("+f+");\n"},OI=function(x,e){var f=this.getFieldValue("ADS1015_setGain");e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_ADS1015="#include ",e.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",e.setups_["setup_ads.begin()"]="ads.begin(); \n",e.setups_["setup_ads.setGain"]="ads.setGain("+f+");";return""},SI=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_ADS1015="#include ",e.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",e.setups_["setup_ads.begin()"]="ads.begin();",[this.getFieldValue("ADS1015_AIN"),e.ORDER_ATOMIC]},RI=function(x,e){return e.definitions_.include_PCF8591_h="#include ",e.definitions_.var_declare_PCF8591="PCF8591 pcf8591(0x48);",e.setups_["setup_pcf8591.begin()"]="pcf8591.begin(); \n",[this.getFieldValue("PCF8591T_AIN"),e.ORDER_ATOMIC]},NI=function(x,e){for(var f=this.getFieldValue("TYPE"),t=e.variableDB_.getName(this.getFieldValue("VAR"),Ix.Variables.NAME_TYPE),i=window.parseFloat(this.getFieldValue("SIZE")),n=new Array(this.itemCount_),s=0;s= (1); i = i + (-1)) {\n "+i+"[(int)((i + 1) - 1)] = "+i+"[(int)(i - 1)];\n }\n "+i+"[(int)(0)] = item;\n}\n";n="array_right_loop();\n"}return n},jI=function(x,e){var f=this.getFieldValue("list_name");return["col"==this.getFieldValue("type")?"(sizeof("+f+"[0]) / sizeof("+f+"[0][0]))":"(sizeof("+f+") / sizeof("+f+"[0]))",e.ORDER_ATOMIC]},KI=function(x,e){var f=this.getFieldValue("OP"),t=KI.OPERATORS[f],i="=="==t||"!="==t?e.ORDER_EQUALITY:e.ORDER_RELATIONAL;return[(e.valueToCode(this,"A",i)||"0")+" "+t+" "+(e.valueToCode(this,"B",i)||"0"),i]};KI.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const qI=function(x,e){var f="AND"==this.getFieldValue("OP")?"&&":"||",t="&&"==f?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR;return[(e.valueToCode(this,"A",t)||"false")+" "+f+" "+(e.valueToCode(this,"B",t)||"false"),t]},zI=function(x,e){var f=e.ORDER_UNARY_PREFIX;return["!"+(e.valueToCode(this,"BOOL",f)||"false"),f]},ZI=function(x,e){return["TRUE"==this.getFieldValue("BOOL")?"true":"false",e.ORDER_ATOMIC]},JI=function(x,e){return["NULL",e.ORDER_ATOMIC]},QI=function(x,e){return["("+(e.valueToCode(this,"A",e.ORDER_ATOMIC)||"false")+"?"+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"false")+":"+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"false")+")",e.ORDER_ATOMIC]},$I=function(x,e){var f=this.getFieldValue("NUM");return[f,f<0?e.ORDER_UNARY_PREFIX:e.ORDER_ATOMIC]},xA=function(x,e){var f={ADD:[" + ",e.ORDER_ADDITIVE],MINUS:[" - ",e.ORDER_ADDITIVE],MULTIPLY:[" * ",e.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.ORDER_MULTIPLICATIVE],QUYU:[" % ",e.ORDER_MULTIPLICATIVE],POWER:[null,e.ORDER_NONE]}[this.getFieldValue("OP")],t=f[0],i=f[1],n=e.valueToCode(this,"A",i)||"0",s=e.valueToCode(this,"B",i)||"0";return t?(" % "==t&&(n="(long) ("+n+")",s="(long) ("+s+")"),[n+t+s,i]):["pow("+n+", "+s+")",e.ORDER_UNARY_POSTFIX]},eA=function(x,e){var f=this.getFieldValue("OP"),t=e.ORDER_ATOMIC;return["("+(e.valueToCode(this,"A",t)||"0")+f+(e.valueToCode(this,"B",t)||"0")+")",t]},fA=function(x,e){var f,t,i=this.getFieldValue("OP");if("NEG"==i)return"-"==(t=e.valueToCode(this,"NUM",e.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),[f="-"+t,e.ORDER_UNARY_PREFIX];switch(t="ABS"==i||"ROUND"==i.substring(0,5)?e.valueToCode(this,"NUM",e.ORDER_UNARY_POSTFIX)||"0":"SIN"==i||"COS"==i||"TAN"==i?e.valueToCode(this,"NUM",e.ORDER_MULTIPLICATIVE)||"0":e.valueToCode(this,"NUM",e.ORDER_NONE)||"0",i){case"ABS":f=t+".abs()";break;case"ROOT":f="sqrt("+t+")";break;case"LN":f="log("+t+")";break;case"EXP":f="exp("+t+")";break;case"POW10":f="pow(10,"+t+")";break;case"++":f="(++"+t+")";break;case"--":f="(--"+t+")";break;case"~":f="~("+t+")";break;case"ROUND":f=t+".round()";break;case"ROUNDUP":f=t+".ceil()";break;case"ROUNDDOWN":f=t+".floor()";break;case"SIN":f="sin("+t+" / 180.0 * 3.14159)";break;case"COS":f="cos("+t+" / 180.0 * 3.14159)";break;case"TAN":f="tan("+t+" / 180.0 * 3.14159)"}if(f)return[f,e.ORDER_UNARY_POSTFIX];switch(i){case"LOG10":f="log("+t+") / log(10)";break;case"ASIN":f="asin("+t+") / 3.14159 * 180";break;case"ACOS":f="acos("+t+") / 3.14159 * 180";break;case"ATAN":f="atan("+t+") / 3.14159 * 180";break;default:throw"Unknown math operator: "+i}return[f,e.ORDER_MULTIPLICATIVE]},tA=fA,iA=function(x,e){var f=e.valueToCode(this,"A",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+f+")",e.ORDER_ATOMIC]},nA=function(x,e){return[this.getFieldValue("variate_type"),e.ORDER_ATOMIC]},sA=function(x,e){return this.setTooltip("以字节形式返回某个操作数的储存大小"),["sizeof("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},aA=function(x,e){var f=e.valueToCode(this,"A",e.ORDER_NONE)||"0",t=e.valueToCode(this,"B",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+f+", "+t+")",e.ORDER_ATOMIC]},lA=function(x,e){return"randomSeed("+(e.valueToCode(this,"NUM",e.ORDER_NONE)||"0")+");\n"},cA=function(x,e){return["random("+(e.valueToCode(this,"FROM",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"TO",e.ORDER_NONE)||"0")+")",e.ORDER_UNARY_POSTFIX]},pA=function(x,e){var f=this.getFieldValue("maptype"),t=e.valueToCode(this,"NUM",e.ORDER_NONE),i=e.valueToCode(this,"fromLow",e.ORDER_ATOMIC),n=e.valueToCode(this,"fromHigh",e.ORDER_ATOMIC),s=e.valueToCode(this,"toLow",e.ORDER_ATOMIC),a=e.valueToCode(this,"toHigh",e.ORDER_ATOMIC);if("map_float"==f){e.definitions_.function_mapfloat="float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)\n{\n return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\n}";var l="mapfloat("+t+", "+i+", "+n+", "+s+", "+a+")"}else l="map("+t+", "+i+", "+n+", "+s+", "+a+")";return[l,e.ORDER_NONE]},dA=function(x,e){return["constrain("+(e.valueToCode(this,"VALUE",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"LOW",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"HIGH",e.ORDER_NONE)||"0")+")",e.ORDER_UNARY_POSTFIX]},oA=function(x,e){var f=this.getFieldValue("type"),t=e.valueToCode(this,"variables",e.ORDER_ATOMIC);return t+" = "+t+" "+f+" "+e.valueToCode(this,"data",e.ORDER_ATOMIC)+";\n"},uA=function(x,e){return e.valueToCode(this,"math_auto_add_minus_output",e.ORDER_ATOMIC)+this.getFieldValue("math_auto_add_minus_type")+";\n"},rA=function(x,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},_A=rA,hA=rA,FA=rA,IA=rA,AA=rA,EA=rA,TA=rA,gA=rA,mA=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("NAME"),Ix.Procedures.NAME_TYPE),t=e.statementToCode(this,"STACK");e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);var i=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"",n=this.getFieldValue("TYPE");i&&(i=" return "+i+";\n");for(var s=n||"void",a=[],l=0;l",e.definitions_.include_SoftwareSerial="#include ";var f=e.valueToCode(this,"RX",e.ORDER_ATOMIC),t=e.valueToCode(this,"TX",e.ORDER_ATOMIC),i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.var_declare_TinyGPSPlus_gps="TinyGPSPlus gps;",e.definitions_.var_declare_SoftwareSerial_gps_ss="SoftwareSerial gps_ss("+f+", "+t+");",e.setups_.setup_gps_ss_begin="gps_ss.begin("+i+");",""},DA=function(x,e){return["gps_ss.available()",e.ORDER_ATOMIC]},PA=function(x,e){return["gps.encode(gps_ss.read())",e.ORDER_ATOMIC]},LA=function(x,e){return["gps."+this.getFieldValue("WHAT")+".isValid()",e.ORDER_ATOMIC]},bA=function(x,e){return["gps."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},yA=function(x,e){var f=this.getFieldValue("Trig"),t=this.getFieldValue("Echo");e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+f+"_"+t,n="float "+i+"() {\n digitalWrite("+f+", LOW);\n delayMicroseconds(2);\n digitalWrite("+f+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+f+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return e.definitions_[i]=n,[i+"()",e.ORDER_ATOMIC]},vA=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return e.definitions_.include_DHT="#include ",e.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+f+");",e.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",e.ORDER_ATOMIC]},wA=function(x,e){var f=Ax.JSFuncs.getPlatform(),t=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),i="analogRead("+t+")*0.488";if(f.match(RegExp(/ESP8266/)))i="analogRead("+t+")*0.322";else if(f.match(RegExp(/ESP32/)))i="analogRead("+t+")*0.161";return[i,e.ORDER_ATOMIC]},VA=function(x,e){var f=this.getFieldValue("PIN"),t=this.getFieldValue("UNIT");e.definitions_.include_OneWire="#include ",e.definitions_.include_DallasTemperature="#include ",e.definitions_["var_declare_OneWire_DallasTemperature_sensors_"+f]="OneWire oneWire_"+f+"("+f+");\nDallasTemperature sensors_"+f+"(&oneWire_"+f+");",e.definitions_.var_declare_DeviceAddress_insideThermometer="DeviceAddress insideThermometer;",e.setups_["setup_sensors_"+f+"_getAddress"]="sensors_"+f+".getAddress(insideThermometer, 0);",e.setups_["setup_sensors_"+f+"_setResolution"]="sensors_"+f+".setResolution(insideThermometer, 9);";var i="ds18b20_"+f+"_getTemp",n="float "+i+"(int w) {\n sensors_"+f+".requestTemperatures();\n if(w==0) {\n return sensors_"+f+".getTempC(insideThermometer);\n }\n else {\n return sensors_"+f+".getTempF(insideThermometer);\n }\n}\n";return e.definitions_[i]=n,["ds18b20_"+f+"_getTemp("+t+")",e.ORDER_ATOMIC]},YA=function(x,e){var f=e.valueToCode(this,"mlx90614_address",e.ORDER_ATOMIC),t="MLX";e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_MLX90614="#include ",e.definitions_["var_declare_MLX90614_"+t]="Adafruit_MLX90614 MLX = Adafruit_MLX90614("+f+");",e.setups_["setup_MLX90614_"+t]=t+".begin();";return""},kA=function(x,e){return["MLX."+this.getFieldValue("mlx90614_data")+"()",e.ORDER_ATOMIC]},XA=function(x,e){var f=this.getFieldValue("DOUT"),t=this.getFieldValue("SCK"),i=e.valueToCode(this,"scale",e.ORDER_ATOMIC);return e.definitions_.include_Hx711="#include ",e.definitions_["var_declare_Hx711"+f+t]="Hx711 scale"+f+"_"+t+"("+f+","+t+");",e.setups_["setup_HX711"+f+t]="scale"+f+"_"+t+".setOffset(scale"+f+"_"+t+".getAverageValue(30));",e.setups_["setup_scale"+f+"_"+t+" .setScale"]="scale"+f+"_"+t+".setScale("+i+");",["scale"+f+"_"+t+".getWeight(10)",e.ORDER_ATOMIC]},GA=function(x,e){var f=e.valueToCode(this,"RST",e.ORDER_ATOMIC),t=e.valueToCode(this,"DAT",e.ORDER_ATOMIC),i=e.valueToCode(this,"CLK",e.ORDER_ATOMIC);return e.definitions_.include_ThreeWire="#include ",e.definitions_.include_RtcDS1302="#include ",e.definitions_.var_declare_ThreeWire="ThreeWire myWire("+t+","+i+","+f+");",e.definitions_.var_declare_RtcDS1302="RtcDS1302 Rtc(myWire);",e.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},BA=function(x,e){var f=e.valueToCode(this,"SDA",e.ORDER_ATOMIC),t=e.valueToCode(this,"SCL",e.ORDER_ATOMIC),i=this.getFieldValue("RTCType");return e.definitions_["include_"+i]="#include <"+i+".h>",f!=Ax.Profile.default.SDA[0][1]||t!=Ax.Profile.default.SCL[0][1]?(e.definitions_.include_SoftwareWire="#include ",e.definitions_.var_declare_SoftwareWire="SoftwareWire myWire("+f+","+t+");",e.definitions_["var_declare_"+i]=i+" Rtc(myWire);"):(e.definitions_.include_Wire="#include ",e.definitions_["var_declare_"+i]=i+" Rtc(Wire);"),e.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},UA=function(x,e){return["Rtc.GetDateTime()."+this.getFieldValue("TIME_TYPE")+"()",e.ORDER_ATOMIC]},HA=function(x,e){var f=e.valueToCode(this,"year",e.ORDER_ATOMIC),t=e.valueToCode(this,"month",e.ORDER_ATOMIC),i=e.valueToCode(this,"day",e.ORDER_ATOMIC);switch(t){case"1":default:t="Jan";break;case"2":t="Feb";break;case"3":t="Mar";break;case"4":t="Apr";break;case"5":t="May";break;case"6":t="Jun";break;case"7":t="Jul";break;case"8":t="Aug";break;case"9":t="Sep";break;case"10":t="Oct";break;case"11":t="Nov";break;case"12":t="Dec"}return 1==i.length&&(i="0"+i),['"'+t+"/"+i+"/"+f+'"',e.ORDER_ATOMIC]},WA=function(x,e){var f=e.valueToCode(this,"hour",e.ORDER_ATOMIC),t=e.valueToCode(this,"minute",e.ORDER_ATOMIC),i=e.valueToCode(this,"second",e.ORDER_ATOMIC);return 1==f.length&&(f="0"+f),1==t.length&&(t="0"+t),1==i.length&&(i="0"+i),['"'+f+":"+t+":"+i+'"',e.ORDER_ATOMIC]},jA=function(x,e){return"Rtc.SetDateTime(RtcDateTime("+e.valueToCode(this,"date",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+"));\n"},KA=function(x,e){return["__"+this.getFieldValue("type")+"__",e.ORDER_ATOMIC]},qA=function(){const x=new Date,e=x.getFullYear(),f=x.getMonth()+1,t=x.getDate();var i="myRTC",n=i+".setDate("+e+","+f+","+t+");\n";return n+=i+".setDOW("+e+","+f+","+t+");\n"},zA=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_DFRobot_SHT20="#include ",e.definitions_.var_declare_DFRobot_SHT20="DFRobot_SHT20 sht20;\n",e.setups_.setup_sht20initSHT20="sht20.initSHT20();",e.setups_["setup_sht20.checkSHT20"]="sht20.checkSHT20(); \n",[this.getFieldValue("SHT20_TYPE"),e.ORDER_ATOMIC]},ZA=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_I2Cdev="#include ",e.definitions_.include_ADXL345="#include ",e.definitions_.var_declare_ADXL345="ADXL345 accel;\n",e.setups_["setup_Wire.begin"]="Wire.begin();",e.setups_["setup_accel.begin"]="accel.initialize(); \n",[this.getFieldValue("ADXL345_PIN"),e.ORDER_ATOMIC]},JA=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_LIS3DHTR="#include ",e.definitions_.include_define_Wire="#define WIRE Wire",e.definitions_.var_declare_LIS3DHTR="LIS3DHTR LIS;\n",e.setups_["setup_LIS.begin"]="LIS.begin(WIRE,0x19);\n",e.setups_["setup_LIS.openTemp"]="LIS.openTemp();",e.setups_["setup_LIS.setFullScaleRange"]="LIS.setFullScaleRange(LIS3DHTR_RANGE_2G);",e.setups_["setup_LIS.setOutputDataRate"]="LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);",[this.getFieldValue("LIS3DHTR_GETDATA"),e.ORDER_ATOMIC]},QA=function(x,e){e.definitions_.include_Wire="#include ",e.definitions_.include_I2Cdev="#include ",e.definitions_.include_ADXL345="#include ",e.definitions_.var_declare_ADXL345="ADXL345 accel;\n",e.setups_["setup_Wire.begin"]="Wire.begin();",e.setups_["setup_accel.begin"]="accel.initialize(); \n";var f,t=this.getFieldValue("MIXEPI_ADXL345_OFFSET"),i=e.valueToCode(this,"OFFSET",e.ORDER_ATOMIC);return"setOffsetX"==t?f="accel.setOffsetX(round("+i+"*4/15.9));\n":"setOffsetY"==t?f="accel.setOffsetY(round("+i+"*4/15.9));\n":"setOffsetZ"==t&&(f="accel.setOffsetZ(round("+i+"*4/15.9));\n"),f},$A=function(x,e){return e.definitions_.include_MPU6050_tockn="#include ",e.definitions_.include_Wire="#include ",e.definitions_.var_declare_mpu6050="MPU6050 mpu6050(Wire);",e.setups_.setup_ngyro="Wire.begin();\n mpu6050.begin();\n mpu6050.calcGyroOffsets(true);",["mpu6050."+this.getFieldValue("MPU6050_TYPE"),e.ORDER_ATOMIC]},xE=function(){return"mpu6050.update();\n"},eE=function(x,e){return"encoder_"+this.getFieldValue("Encoder_NO")+".write("+e.valueToCode(this,"value",e.ORDER_ATOMIC)+");\n "},fE=function(x,e){return["encoder_"+this.getFieldValue("Encoder_NO")+".read()",e.ORDER_ATOMIC]},tE=function(x,e){var f=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");e.definitions_.include_Encoder="#include \n",e.definitions_["var_declare_Encoder_"+i]="Encoder encoder_"+i+"("+f+","+t+");\n ";return""},iE=function(x,e){return"encoder_counter_"+this.getFieldValue("Encoder_NO")+" = "+e.valueToCode(this,"value",e.ORDER_ATOMIC)+";\n "},nE=function(x,e){return["encoder_counter_"+this.getFieldValue("Encoder_NO"),e.ORDER_ATOMIC]},sE=function(x,e){var f=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");return e.definitions_["var_declare_Encoder_"+i]="int encoder_counter_"+i+" = 0;\nint encoder_aState_"+i+";\nint encoder_aLastState_"+i+";\n",e.setups_["setups_encoder_"+i]=" pinMode ("+f+", INPUT);\n pinMode ("+t+", INPUT);\n encoder_aLastState_"+i+" = digitalRead("+f+");\n"," encoder_aState_"+i+" = digitalRead("+f+");\n if (encoder_aState_"+i+" != encoder_aLastState_"+i+") {\n if (digitalRead("+t+") != encoder_aState_"+i+") {\n encoder_counter_"+i+" ++;\n } else {\n encoder_counter_"+i+" --;\n }\n }\n encoder_aLastState_"+i+" = encoder_aState_"+i+";\n"},aE=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("mode"),i=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),n=e.valueToCode(this,"DT",e.ORDER_ATOMIC);return e.definitions_.include_ESPRotary="#include ",e.definitions_["var_declare_encoder"+f]=`ESPRotary encoder${f};`,e.setups_["setup_encoder"+f]=`encoder${f}.begin(${n}, ${i});\n encoder${f}.setStepsPerClick(${t});`,e.loops_begin_["loop_encoder"+f]=`encoder${f}.loop();\n`,""},lE=function(x,e){return[`encoder${this.getFieldValue("TYPE")}.${this.getFieldValue("OPERATE_TYPE")}()`,e.ORDER_ATOMIC]},cE=function(x,e){var f=this.getFieldValue("TYPE"),t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC);return`encoder${f}.${this.getFieldValue("OPERATE_TYPE")}(${t});\n`},pE=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("OPERATE_TYPE"),i=e.statementToCode(this,"DO"),n="encoder"+f;switch(t){case"setChangedHandler":n+="OnChanged";break;case"setRightRotationHandler":n+="OnRightRotation";break;case"setLeftRotationHandler":n+="OnLeftRotation";break;case"setUpperOverflowHandler":n+="OnUpperOverflow";break;default:n+="OnLowerOverflow"}e.definitions_["function_"+n]=`void ${n}(ESPRotary& encoder${f}) {\n ${i}}\n`,e.setups_["setup_"+n]=`encoder${f}.${t}(${n});`;return""},dE=function(x,e){var f=this.getFieldValue("TYPE"),t=e.valueToCode(this,"address",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.definitions_.include_SPI="#include ",e.definitions_.include_Adafruit_Sensor="#include ","bme"==f?(e.definitions_.include_Adafruit_BME280="#include ",e.definitions_.var_declare_Adafruit_BME280="Adafruit_BME280 bme;"):(e.definitions_.include_Adafruit_BMP280="#include ",e.definitions_.var_declare_Adafruit_BMP280="Adafruit_BMP280 bmp;"),e.setups_.setup_status="unsigned status;\n status = "+f+".begin("+t+");",e.definitions_.include_SEALEVELPRESSURE_HPA="#define SEALEVELPRESSURE_HPA (1013.25)",[f+"."+this.getFieldValue("BME_TYPE"),e.ORDER_ATOMIC]},oE=function(x,e){e.definitions_.include_PS2X_lib="#include ",e.definitions_.var_declare_PS2X="PS2X ps2x;";var f=this.getFieldValue("PS2_DAT"),t=this.getFieldValue("PS2_CMD"),i=this.getFieldValue("PS2_SEL"),n=this.getFieldValue("PS2_CLK"),s=this.getFieldValue("rumble");return e.setups_.setup_ps2x_config_gamepad="ps2x.config_gamepad("+n+","+t+","+i+","+f+", true, "+s+");\n delay(300);\n",""},uE=function(){return"ps2x.read_gamepad(false, 0);\ndelay(30);\n"},rE=function(x,e){var f=this.getFieldValue("psbt");return["ps2x."+this.getFieldValue("btstate")+"("+f+")",e.ORDER_ATOMIC]},_E=function(x,e){return["ps2x.Analog("+this.getFieldValue("psstk")+")",e.ORDER_ATOMIC]},hE=function(x,e){return e.definitions_.include_DFRobot_TCS34725="#include ",e.definitions_.var_declare_TCS34725="DFRobot_TCS34725 tcs34725;\n",e.setups_.setup_DFRobot_TCS34725="tcs34725.begin();",[this.getFieldValue("DF_TCS34725_COLOR"),e.ORDER_ATOMIC]},FE=function(x,e){var f=e.valueToCode(this,"tcs230_s0",e.ORDER_ATOMIC),t=e.valueToCode(this,"tcs230_s1",e.ORDER_ATOMIC),i=e.valueToCode(this,"tcs230_s2",e.ORDER_ATOMIC),n=e.valueToCode(this,"tcs230_s3",e.ORDER_ATOMIC),s=e.valueToCode(this,"tcs230_led",e.ORDER_ATOMIC),a=e.valueToCode(this,"tcs230_out",e.ORDER_ATOMIC);e.definitions_.define_tcs230_pin="#define tcs230_S0 "+f+"\n#define tcs230_S1 "+t+"\n#define tcs230_S2 "+i+"\n#define tcs230_S3 "+n+"\n#define tcs230_sensorOut "+a+"\n#define tcs230_LED "+s,e.definitions_.function_tcs230_Getcolor="//TCS230颜色传感器获取RGB值\nint tcs230_Getcolor(char data)\n{\n int frequency = 0;\n switch(data)\n {\n case 'R':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,LOW);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 72, 255, 0);\n break;\n }\n case 'G':\n {\n digitalWrite(tcs230_S2,HIGH);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 30, 90, 255, 0);\n break;\n }\n case 'B':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 70, 255, 0);\n break;\n }\n default:\n return -1;\n }\n if (frequency < 0)\n frequency = 0;\n if (frequency > 255)\n frequency = 255;\n return frequency;\n}\n",e.setups_.setup_tcs230_pin="pinMode(tcs230_S0, OUTPUT);\n pinMode(tcs230_S1, OUTPUT);\n pinMode(tcs230_S2, OUTPUT);\n pinMode(tcs230_S3, OUTPUT);\n pinMode(tcs230_LED, OUTPUT);\n pinMode(tcs230_sensorOut, INPUT);\n digitalWrite(tcs230_S0,HIGH);\n digitalWrite(tcs230_S1,LOW);\n digitalWrite(tcs230_LED,HIGH);";return""},IE=function(x,e){return["tcs230_Getcolor('"+this.getFieldValue("tcs230_color")+"')",e.ORDER_ATOMIC]},AE=function(x,e){var f=this.getFieldValue("keypad_name"),t=e.valueToCode(this,"keypad_row",e.ORDER_ATOMIC),i=e.valueToCode(this,"keypad_col",e.ORDER_ATOMIC),n=e.valueToCode(this,"keypad_type",e.ORDER_ATOMIC);e.definitions_.include_Keypad="#include ",e.definitions_["var_keypadstart1"+f]="const byte "+f+"_ROWS = 4;",e.definitions_["var_keypadstart2"+f]="const byte "+f+"_COLS = 4;",e.definitions_["var_keypadstart3"+f]="char "+f+"_hexaKeys["+f+"_ROWS]["+f+"_COLS] = {\n"+n+"\n};",e.definitions_["var_keypadstart4"+f]="byte "+f+"_rowPins["+f+"_ROWS] = "+t,e.definitions_["var_keypadstart5"+f]="byte "+f+"_colPins["+f+"_COLS] = "+i,e.definitions_["var_keypadstart6"+f]="Keypad "+f+" = Keypad(makeKeymap("+f+"_hexaKeys), "+f+"_rowPins, "+f+"_colPins, "+f+"_ROWS, "+f+"_COLS);",e.setups_.setup_serial_Serial="Serial.begin(9600);";return""},EE=function(x,e){return["{"+e.valueToCode(this,"keypad_row_1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_row_2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_row_3",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_row_4",e.ORDER_ATOMIC)+"};",e.ORDER_ATOMIC]},TE=function(x,e){return["{"+e.valueToCode(this,"keypad_col_1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_col_2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_col_3",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_col_4",e.ORDER_ATOMIC)+"};",e.ORDER_ATOMIC]},gE=function(x,e){return[" {'"+this.getFieldValue("keypad_1_1")+"','"+this.getFieldValue("keypad_1_2")+"','"+this.getFieldValue("keypad_1_3")+"','"+this.getFieldValue("keypad_1_4")+"'},\n {'"+this.getFieldValue("keypad_2_1")+"','"+this.getFieldValue("keypad_2_2")+"','"+this.getFieldValue("keypad_2_3")+"','"+this.getFieldValue("keypad_2_4")+"'},\n {'"+this.getFieldValue("keypad_3_1")+"','"+this.getFieldValue("keypad_3_2")+"','"+this.getFieldValue("keypad_3_3")+"','"+this.getFieldValue("keypad_3_4")+"'},\n {'"+this.getFieldValue("keypad_4_1")+"','"+this.getFieldValue("keypad_4_2")+"','"+this.getFieldValue("keypad_4_3")+"','"+this.getFieldValue("keypad_4_4")+"'}",e.ORDER_ATOMIC]},mE=function(x,e){return[this.getFieldValue("keypad_name")+".getKey()",e.ORDER_ATOMIC]},ME=function(x,e){var f=this.getFieldValue("keypad_name"),t=e.valueToCode(this,"keypad_event_input",e.ORDER_ATOMIC),i=this.getFieldValue("keypad_start_event_delay"),n=e.statementToCode(this,"keypad_event_data");e.definitions_["define_variate_"+t]="volatile char "+t+";",e.definitions_["var_keypadstart7_event"+f]="void keypadEvent_"+f+"(KeypadEvent "+t+") {\n"+n+"\n}",e.setups_["setup_keypad_event_and_delay"+f]=f+".addEventListener(keypadEvent_"+f+");\n "+f+".setHoldTime("+i+");";return""},CE=function(x,e){e.definitions_.include_Wire="#include ",e.definitions_.include_FaBo9Axis_MPU9250="#include ",e.definitions_.var_declare_FaBo9Axis="FaBo9Axis fabo_9axis;\n float ax,ay,az,gx,gy,gz,mx,my,mz;",e.setups_.setup_fabo_9axis="fabo_9axis.begin();";var f=this.getFieldValue("MixGo_MPU9250_GETAB"),t="";return"a"==f&&(t+="fabo_9axis.readAccelX()"),"b"==f&&(t+="fabo_9axis.readAccelY()"),"c"==f&&(t+="fabo_9axis.readAccelZ()"),"d"==f&&(t+="fabo_9axis.readGyroX()"),"e"==f&&(t+="fabo_9axis.readGyroY()"),"f"==f&&(t+="fabo_9axis.readGyroZ()"),"g"==f&&(t+="fabo_9axis.readMagnetX()"),"h"==f&&(t+="fabo_9axis.readMagnetY()"),"i"==f&&(t+="fabo_9axis.readMagnetZ()"),[t,e.ORDER_ATOMIC]},OE=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),i=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),n=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_.include_thermistor="#include ",e.definitions_["var_declare_thermistor"+f]="THERMISTOR thermistor"+f+"("+f+","+t+","+i+","+n+");",["thermistor"+f+".read()",e.ORDER_ATOMIC]},SE=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_RL_AHT21="#include ",e.definitions_.var_declare_AHT21="AHT21Class AHT21;\n",e.setups_["setup_Wire.begin"]="Wire.begin();",e.setups_["setup_AHT21.begin"]="AHT21.begin();\n",[this.getFieldValue("AHT21_TYPE"),e.ORDER_ATOMIC]},RE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||Ax.Profile.default.serial;return e.setups_["setup_serial_"+f]=f+".begin("+t+");",""},NE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""';return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),f+".write("+t+");\n"},DE=function(x,e){var f=this.getFieldValue("serial_select"),t=this.getFieldValue("new_line"),i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""';return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),f+"."+t+"("+i+");\n"},PE=DE,LE=function(x,e){var f=this.getFieldValue("serial_select"),t=this.getFieldValue("STAT"),i=this.getFieldValue("new_line"),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0";return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),f+"."+i+"("+n+","+t+");\n"},bE=LE,yE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),[f+".available()",e.ORDER_ATOMIC]},vE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),[f+".readString()",e.ORDER_ATOMIC]},wE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),[f+".readStringUntil("+t+")",e.ORDER_ATOMIC]},VE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),[f+"."+this.getFieldValue("STAT")+"()",e.ORDER_ATOMIC]},YE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Ax.Profile.default.serial+");"),f+".flush();\n"},kE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"RX",e.ORDER_ATOMIC),i=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return e.definitions_.include_SoftwareSerial="#include ",e.definitions_["var_declare_"+f]="SoftwareSerial "+f+"("+t+","+i+");",""},XE=function(x,e){var f=this.getFieldValue("serial_select"),t="attachPinInterrupt_fun_"+f,i=e.statementToCode(this,"DO"),n="void "+f.replace("Serial","serialEvent")+"() {\n"+i+"}\n";return e.definitions_[t]=n,""};var GE;const BE=function(x,e){var f=Ax.JSFuncs.getPlatform();GE=e.valueToCode(this,"PIN_CS",e.ORDER_ATOMIC),f.match(RegExp(/ESP32/))?e.definitions_.include_mySD="#include ":e.definitions_.include_SD="#include ",e.definitions_.include_SPI="#include ",e.setups_.setup_sd_write_begin="SD.begin("+GE+");";return""},UE=function(x,e){var f=e.valueToCode(this,"FILE",e.ORDER_ATOMIC)||'""',t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||'""',i=e.valueToCode(this,"NEWLINE",e.ORDER_ATOMIC)||"false";e.definitions_.var_declare_File_datafile="File datafile;";var n="datafile = SD.open("+f+", FILE_WRITE);\n";return n+="if(datafile){\n",n+="\tdatafile.print("+t+");\n","true"==i&&(n+='\tdatafile.println("");\n'),n+="\tdatafile.close();\n",n+="}\n"},HE=function(x,e){e.definitions_.var_declare_Sd2Card_card="Sd2Card card;",e.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+GE+");";return["card.type()",e.ORDER_ATOMIC]},WE=function(x,e){e.definitions_.var_declare_Sd2Card_card="Sd2Card card;",e.definitions_.var_declare_SdFile="SdFile root;",e.definitions_.var_declare_SdVolume="SdVolume volume;",e.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+GE+");",e.setups_.setup_volume_init="volume.init(card);";return"root.openRoot(volume);\nroot.ls(LS_R | LS_DATE | LS_SIZE);"},jE=function(x,e){return e.definitions_.var_declare_Sd2Card_card="Sd2Card card;",e.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+GE+");",e.definitions_.var_declare_SdVolume="SdVolume volume;",e.setups_.setup_volume_init="volume.init(card);",[this.getFieldValue("volume_TYPE"),e.ORDER_ATOMIC]},KE=function(x,e){return["SD.exists("+e.valueToCode(this,"FileName",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qE=function(x,e){var f=e.valueToCode(this,"FileName",e.ORDER_ATOMIC);return e.definitions_.var_declare_File_datafile="File datafile;",e.definitions_.var_declare_File_datafile_SD_card_reading='String SD_card_reading(String path) {\ndatafile = SD.open(path.c_str());\n String sd_data = "";\n while (datafile.available()) {\n sd_data = String(sd_data) + String(char(datafile.read()));\n }\n return sd_data;\n}',["SD_card_reading("+f+")",e.ORDER_ATOMIC]},zE=function(x,e){return"SD.remove("+e.valueToCode(this,"FileName",e.ORDER_ATOMIC)+");"},ZE=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value){\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if(time.b[2] != EEPROM.read(address+2))\n EEPROM.write(address+2, time.b[2]);\n if(time.b[3] != EEPROM.read(address+3))\n EEPROM.write(address+3, time.b[3]);\n}\n";return e.definitions_[i]=n,"eepromWriteLong("+f+", "+t+");\n"},JE=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ";var t="eepromReadLong("+f+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return e.definitions_[i]=n,[t,e.ORDER_ATOMIC]},QE=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.write("+f+", "+t+");\n"},$E=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ",["EEPROM.read("+f+")",e.ORDER_ATOMIC]},xT=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.put("+f+", "+t+");\n"},eT=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.get("+f+", "+t+");\n"},fT=function(x,e){var f=this.getFieldValue("MODE"),t=e.valueToCode(this,"FILE",e.ORDER_ATOMIC)||'""',i=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||'""',n=e.valueToCode(this,"NEWLINE",e.ORDER_ATOMIC)||"false";if(e.definitions_.include_ESP_FS='#include "FS.h"',e.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',1==f)if(e.definitions_["var_simple_spiffs_store_spiffs_write"+f]='void writeFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_WRITE);\n if (!file) {\n Serial.println("- failed to open file for writing");\n return;\n }\n if (file.print(message)) {\n Serial.println("- file written");\n } else {\n Serial.println("- write failed");\n }\n file.close();\n}',"true"==n)var s="writeFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="writeFile(SPIFFS, "+t+", String("+i+").c_str());\n";if(2==f)if(e.definitions_["var_simple_spiffs_store_spiffs_write"+f]='void appendFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_APPEND);\n if (!file) {\n Serial.println("- failed to open file for appending");\n return;\n }\n if (file.print(message)) {\n Serial.println("- message appended");\n } else {\n Serial.println("- append failed");\n }\n file.close();\n}',"true"==n)s="appendFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="appendFile(SPIFFS, "+t+", String("+i+").c_str());\n";return s},tT=function(x,e){var f=e.valueToCode(this,"FileName",e.ORDER_ATOMIC);return e.definitions_.include_ESP_FS='#include "FS.h"',e.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',e.definitions_.var_simple_spiffs_read='String readFile(fs::FS &fs, const char * path) {\n File file = fs.open(path);\n if (!file || file.isDirectory()) {\n Serial.println("- failed to open file for reading");\n file.close();\n return "SPIFFS_error";\n } else {\n Serial.println("- read from file:");\n String SPIFFS_data = "";\n while (file.available()) {\n SPIFFS_data = String(SPIFFS_data) + String(char(file.read()));\n }\n file.close();\n return SPIFFS_data;\n }\n}',e.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',["readFile(SPIFFS, "+f+")",e.ORDER_ATOMIC]},iT=function(x,e){return e.definitions_.include_ESP_FS='#include "FS.h"',e.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',e.definitions_.var_simple_spiffs_DelFile='void deleteFile(fs::FS &fs, const char * path) {\n if (fs.remove(path)) {\n Serial.println("- file deleted");\n } else {\n Serial.println("- delete failed");\n }\n}',e.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',"deleteFile(SPIFFS, "+e.valueToCode(this,"FileName",e.ORDER_ATOMIC)+");\n"},nT=function(x,e){return[e.quote_(this.getFieldValue("TEXT")),e.ORDER_ATOMIC]},sT=function(x,e){return["'"+this.getFieldValue("TEXT")+"'",e.ORDER_ATOMIC]},aT=function(x,e){return["String("+e.valueToCode(this,"A",e.ORDER_ATOMIC)+")"+" + "+("String("+e.valueToCode(this,"B",e.ORDER_ATOMIC)+")"),e.ORDER_ATOMIC]},lT=function(x,e){var f=this.getFieldValue("TOWHAT");return["String("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")"+"."+f+"()",e.ORDER_ATOMIC]},cT=function(x,e){return["char("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},pT=function(x,e){return["toascii("+("'"+this.getFieldValue("TEXT")+"'")+")",e.ORDER_ATOMIC]},dT=function(x,e){var f=this.getFieldValue("TOWHAT");return["String("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+", "+f+")",e.ORDER_ATOMIC]},oT=function(x,e){return["String("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+").length()",e.ORDER_ATOMIC]},uT=function(x,e){return["String("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+").charAt("+(e.valueToCode(this,"AT",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},rT=function(x,e){var f="String("+(e.valueToCode(this,"STR1",e.ORDER_ATOMIC)||'""')+")",t="String("+(e.valueToCode(this,"STR2",e.ORDER_ATOMIC)||'""')+")";return[f+"."+this.getFieldValue("DOWHAT")+"("+t+")",e.ORDER_ATOMIC]},_T=function(x,e){return["String("+(e.valueToCode(this,"STR1",e.ORDER_ATOMIC)||'""')+")"+".compareTo("+("String("+(e.valueToCode(this,"STR2",e.ORDER_ATOMIC)||'""')+")")+")",e.ORDER_ATOMIC]},hT=function(x,e){return["String("+e.valueToCode(this,"numeral",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"decimal_places",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},FT=function(x,e){return["String("+e.valueToCode(this,"name",e.ORDER_ATOMIC)+").substring("+e.valueToCode(this,"Start",e.ORDER_ATOMIC)+","+e.valueToCode(this,"end",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},IT=function(x,e){var f=this.getFieldValue("type");return""+e.valueToCode(this,"String",e.ORDER_ATOMIC)+f+";\n"},AT=function(x,e){var f=e.valueToCode(this,"String",e.ORDER_ATOMIC),t=e.valueToCode(this,"replace",e.ORDER_ATOMIC);return f+".replace("+e.valueToCode(this,"source_data",e.ORDER_ATOMIC)+", "+t+");\n"},ET=function(x,e){return e.valueToCode(this,"String",e.ORDER_ATOMIC)+".trim();\n"},TT=function(x,e){var f=this.getFieldValue("type");return["String("+e.valueToCode(this,"String",e.ORDER_ATOMIC)+")"+f+"("+e.valueToCode(this,"String1",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},gT=function(x,e){var f=e.valueToCode(this,"variable",e.ORDER_ATOMIC);return[this.getFieldValue("type")+"("+f+")",e.ORDER_ATOMIC]},mT=function(x,e){return["String("+e.valueToCode(this,"str1",e.ORDER_ATOMIC)+").indexOf(String("+e.valueToCode(this,"str2",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},MT=function(x,e){for(var f=new Array(this.itemCount_),t=0;t",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_wire_begin="Wire.begin();",e.setups_['setup_Serial.println("I2C Scanner")']='Serial.println("I2C Scanner");';return'byte error, address;\nint nDevices;\nSerial.println("Scanning...");\nnDevices = 0;\nfor (address = 1; address < 127; address++ ){\n Wire.beginTransmission(address);\n error = Wire.endTransmission();\n if (error == 0){\n Serial.print("I2C device found at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.print(address, HEX);\n Serial.println(" !");\n nDevices++;\n }\n else if (error == 4){\n Serial.print("Unknow error at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.println(address, HEX);\n }\n}\nif (nDevices == 0)\n Serial.println("No I2C devices found");\nelse\n Serial.println("done");\ndelay(5000);\n'};function NT(x){switch(x){case"0000":x="0";break;case"0001":x="1";break;case"0010":x="2";break;case"0011":x="3";break;case"0100":x="4";break;case"0101":x="5";break;case"0110":x="6";break;case"0111":x="7";break;case"1000":x="8";break;case"1001":x="9";break;case"1010":x="A";break;case"1011":x="B";break;case"1100":x="C";break;case"1101":x="D";break;case"1110":x="E";break;case"1111":x="F"}return x}function DT(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var e="";for(let f=0;f2147483647?2147483647:e-0<-2147483648?-2147483648:isNaN(e-0)?0:e-0}const PT=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ix.Variables.NAME_TYPE),t="TRUE"==this.getFieldValue("save_hz"),i=e.valueToCode(this,"input_data",e.ORDER_ATOMIC),n=0;for(var s of i)","==s&&n++;n++,this.setFieldValue(n,"x"),e.libs_[f]=t?"static const unsigned char PROGMEM "+f+"["+n+"] = {"+i+"};":"unsigned char "+f+"["+n+"] = {"+i+"};";return""};for(var LT=new Array,bT=0;bT<8;bT++)LT[bT]=128>>bT;var yT=document.createElement("canvas"),vT=yT.getContext("2d");const wT=function(x,e){var f=this.getFieldValue("bitmap_formats"),t=this.getFieldValue("modulus_way"),i=this.getFieldValue("modulus_direction"),n=this.getFieldValue("hz_sharp"),s=this.getFieldValue("hz_line_height"),a=this.getFieldValue("hz_up_down"),l=this.getFieldValue("hz_up_down_data"),c=this.getFieldValue("hz_left_right"),p=this.getFieldValue("hz_left_right_data"),d=this.getFieldValue("bitmap_width"),o=this.getFieldValue("bitmap_height"),u=this.getFieldValue("input_data"),r=DT(d),_=DT(o),h=Math.ceil(r/8),F=0,I=0;I=DT("hz_down"==a?l:"-"+l),F=DT("hz_right"==c?p:"-"+p),yT.width=r,yT.height=_,vT.font="normal normal normal "+s+"px "+n,vT.textAlign="left",vT.textBaseline="top";var A=u;vT.fillStyle="#000000",vT.fillRect(0,0,r,_),vT.fillStyle="#ffffff",vT.translate(r/2,_/2),vT.rotate(Math.PI/180*0),vT.fillText(A,F-r/2,I-_/2);for(var E=vT.getImageData(0,0,r,_).data,T=new Array(h*_),g=0;g0?"0"==N?S+=" ":"1"==N&&(S+="0 "):R%(8*h)==0&&(S+="|\n|");for(g=0;gr-1));g++)v>_-1?b+="1"==f?"0":"1":"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}else if("2"==t){L=V*_;for(m=1;m<=L;m++){for(g=1;g<=8;g++)y=m%V==0?8*(V-1)+g-1:8*(m%V-1)+g-1,v=Math.ceil(m/V)-1,"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}else if("3"==t){L=w*r;for(m=1;m<=L;m++){for(g=1;g<=8&&(y=m%(8*V)==0?8*V-1:m%(8*V)-1,v=8*(Math.ceil(m/(8*V))-1)+g-1,!(y>r-1));g++)v>_-1?b+="1"==f?"0":"1":"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}else if("4"==t){L=V*_;for(m=1;m<=L;m++){for(g=1;g<=8;g++)v=m%_==0?_-1:m%_-1,y=8*(Math.ceil(m/_)-1)+g-1,"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}var Y="",k="";if(2==i){for(var g of b)","==g?(k+=Y,k+=",",Y=""):Y=g+Y;b=k}for(var g of(Y="",k="0x",b))","!=g?4==(Y+=g).length&&(k+=NT(Y),Y=""):k+=",0x";return b=(b=k).substring(0,b.length-3),e.definitions_["var_declare_tool_modulus_data_"+n+"_"+s+"px"+function(x){let e=[];for(let f=0;f1500&&msa.getX()<2000&&msa.getZ()>-1000&&msa.getZ()<0"],[Ix.Msg.HANDBIT_BACKWARD,"msa.getX()>1500&&msa.getX()<2000&&msa.getZ()>0&&msa.getZ()<1500"],[Ix.Msg.HANDBIT_LEFT,"msa.getY()<1000&&msa.getY()>0"],[Ix.Msg.HANDBIT_RIGHT,"msa.getY()<0&&msa.getY()>-1000"],[Ix.Msg.HANDBIT_UP,"msa.getX()>-400&&msa.getX()<400&&msa.getY()>-400&&msa.getY()<400&&msa.getZ()>-1800&&msa.getZ()<-1400"],[Ix.Msg.HANDBIT_DOWN,"msa.getX()>-400&&msa.getX()<400&&msa.getY()>-400&&msa.getY()<400&&msa.getZ()>2000&&msa.getZ()<2400"]];const wg={init:function(){this.setColour(Sg),this.appendDummyInput("").appendField(Ix.Msg.MixGo_MPU9250),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldDropdown(yg),"HANDBIT_MSA300_GETAB"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(""),this.setHelpUrl("")}},Vg={init:function(){this.setColour(Sg),this.appendDummyInput("").appendField(Ix.Msg.Handbit),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldDropdown(vg),"HANDBIT_MSA300_ACTION"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(""),this.setHelpUrl("")}},Yg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("WAIT").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGBdisplay_rgb_rainbow1),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};var kg=[[Ix.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_1,"normal"],[Ix.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_2,"change"]];const Xg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(new Ix.FieldDropdown(kg),"TYPE"),this.appendValueInput("rainbow_color").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_display_rgb_rainbow3),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Gg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Bg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB_NUM+"1"+Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB_NUM+"2"+Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR2",Number).setCheck(Number),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB_NUM+"3"+Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR3",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ug={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Hg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB_SHOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wg={init:function(){this.appendDummyInput().appendField("掌控宝"+Ix.Msg.MIXLY_MOTOR).appendField(new Ix.FieldDropdown([["M1","0x01"],["M2","0x10"]]),"type"),this.appendValueInput("speed").setCheck(null).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_SPEED+"(-100~100)"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Rg),this.setTooltip(""),this.setHelpUrl("")}},jg={init:function(){this.setColour(Rg),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_NUM),this.appendValueInput("H").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.HSV_H),this.appendValueInput("S").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.HSV_S),this.appendValueInput("V").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.HSV_V),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("色调范围0-65536;饱和度范围0-255;明度范围0-255")}},Kg={init:function(){this.setColour(20),this.appendValueInput("CHANNEL").setCheck(Number).appendField("ledc"+Ix.Msg.MIXLY_SETUP+Ix.Msg.MIXLY_CHANNEL),this.appendValueInput("FREQ",Number).appendField(Ix.Msg.MIXLY_FREQUENCY).setCheck(Number),this.appendValueInput("PWM_RESOLUTION").setCheck(Number).appendField(Ix.Msg.MIXLY_RESOLUTION),this.appendDummyInput("").appendField("bit"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},qg={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField("ledc"+Ix.Msg.MIXLY_ATTATCH+Ix.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("CHANNEL").setCheck(Number).appendField(Ix.Msg.MIXLY_CHANNEL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},zg={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField("ledc"+Ix.Msg.MIXLY_DETACH+Ix.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Zg=Qa,Jg={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Ix.Msg.MIXLY_ESP32_TOUCH).appendField(Ix.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},Qg={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Ix.Msg.MIXLY_TOUCHATTACHINTERRUPT_PIN).setCheck(Number),this.appendValueInput("threshold",Number).appendField(Ix.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number),this.appendDummyInput(""),this.appendStatementInput("DO").appendField(Ix.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},$g={init:function(){this.appendValueInput("value").setCheck(null).appendField(Ix.Msg.inout_esp32_dac).appendField(new Ix.FieldDropdown(Ax.Profile.default.dac),"PIN").appendField(Ix.Msg.MIXLY_VALUE2),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(20),this.setTooltip(Ix.Msg.inout_esp32_dac_HELP),this.setHelpUrl("")}},xm={init:function(){this.appendValueInput("PIN").setCheck(null).appendField(Ix.Msg.MICROBIT_ACTUATOR_ticks).appendField(new Ix.FieldTextInput("8"),"resolution").appendField(Ix.Msg.MIXLY_FREQUENCY).appendField(new Ix.FieldTextInput("5000"),"freq").appendField(Ix.Msg.MIXLY_CHANNEL).appendField(new Ix.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]]),"ledChannel").appendField(Ix.Msg.MIXLY_ANALOGWRITE_PIN),this.appendValueInput("val").setCheck(null).appendField(Ix.Msg.MIXLY_VALUE2),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(20),this.setTooltip(""),this.setHelpUrl("")}},em=100;var fm=[[Ix.Msg.HANDBIT_FORWARD,"accel.getAcceleration().x>-4.7&&accel.getAcceleration().x<0&&accel.getAcceleration().y<1&&accel.getAcceleration().y>-1&&accel.getAcceleration().z<-8&&accel.getAcceleration().z>-9.8"],[Ix.Msg.HANDBIT_BACKWARD,"accel.getAcceleration().x>0&&accel.getAcceleration().x<4.7&&accel.getAcceleration().y<1&&accel.getAcceleration().y>-1&&accel.getAcceleration().z<-8&&accel.getAcceleration().z>-9.8"],[Ix.Msg.HANDBIT_LEFT,"accel.getAcceleration().y>0&&accel.getAcceleration().y<5.5&&accel.getAcceleration().z<-7.5&&accel.getAcceleration().z>-9.8"],[Ix.Msg.HANDBIT_RIGHT,"accel.getAcceleration().y<0&&accel.getAcceleration().y>-4.7&&accel.getAcceleration().z<-7.5&&accel.getAcceleration().z>-9.8"],[Ix.Msg.HANDBIT_UP,"accel.getAcceleration().z>-9.8&&accel.getAcceleration().z<-8"],[Ix.Msg.HANDBIT_DOWN,"accel.getAcceleration().z>8&&accel.getAcceleration().z<9.8"]],tm=[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"]];const im={init:function(){this.setColour(180),this.appendDummyInput("").appendField(new Ix.FieldDropdown(tm),"STAT"),this.setOutput(!0,Number)}},nm={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.button),"btn"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_SENOR_IS_PRESSED)}},sm={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},am={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},lm={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_TOUCH).appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.touch),"touch_pin"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},cm={init:function(){this.setColour(40),this.appendDummyInput("").appendField("MIXEPI"),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldDropdown(fm),"MIXEPI_ADXL345_ACTION"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(""),this.setHelpUrl("")}},pm={init:function(){this.setColour(em),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("WAIT").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGBdisplay_rgb_rainbow1),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};var dm=[[Ix.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_1,"normal"],[Ix.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_2,"change"]];const om={init:function(){this.setColour(em),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(new Ix.FieldDropdown(dm),"TYPE"),this.appendValueInput("rainbow_color").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_display_rgb_rainbow3),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},um={init:function(){this.setColour(em),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(new Ix.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ix.Msg.OLED_DRAW_PIXE_TOOLTIP)}},rm={init:function(){this.setColour(em),this.appendValueInput("R").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},_m={init:function(){this.setColour(em),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},hm={init:function(){this.setColour(em),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField("1").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.appendDummyInput("").appendField("2").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR2",Number).setCheck(Number),this.appendDummyInput("").appendField("3").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR3",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fm={init:function(){this.setColour(em),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Im=100,Am=180,Em={init:function(){this.setColour(Am),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MAX7219_PUTSTR),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Ix.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("")}},Tm={init:function(){var x=[[Ix.Msg.MIXLY_4DIGITDISPLAY_ON,"LED_ON"],[Ix.Msg.MIXLY_4DIGITDISPLAY_OFF,"LED_OFF"]];this.setColour(Am),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("XVALUE").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_SHOWPOINT).appendField(new Ix.FieldDropdown(x),"DrawPixel_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},gm={init:function(){this.setColour(Am),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("Chars").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},mm={init:function(){this.setColour(Am),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ix.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a81").appendField(new Ix.FieldCheckbox("FALSE"),"a82").appendField(new Ix.FieldCheckbox("FALSE"),"a83").appendField(new Ix.FieldCheckbox("FALSE"),"a84").appendField(new Ix.FieldCheckbox("FALSE"),"a85").appendField(new Ix.FieldCheckbox("FALSE"),"a86").appendField(new Ix.FieldCheckbox("FALSE"),"a87").appendField(new Ix.FieldCheckbox("FALSE"),"a88").appendField(new Ix.FieldCheckbox("FALSE"),"a89").appendField(new Ix.FieldCheckbox("FALSE"),"a810").appendField(new Ix.FieldCheckbox("FALSE"),"a811").appendField(new Ix.FieldCheckbox("FALSE"),"a812").appendField(new Ix.FieldCheckbox("FALSE"),"a813").appendField(new Ix.FieldCheckbox("FALSE"),"a814").appendField(new Ix.FieldCheckbox("FALSE"),"a815").appendField(new Ix.FieldCheckbox("FALSE"),"a816"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a71").appendField(new Ix.FieldCheckbox("FALSE"),"a72").appendField(new Ix.FieldCheckbox("FALSE"),"a73").appendField(new Ix.FieldCheckbox("FALSE"),"a74").appendField(new Ix.FieldCheckbox("FALSE"),"a75").appendField(new Ix.FieldCheckbox("FALSE"),"a76").appendField(new Ix.FieldCheckbox("FALSE"),"a77").appendField(new Ix.FieldCheckbox("FALSE"),"a78").appendField(new Ix.FieldCheckbox("FALSE"),"a79").appendField(new Ix.FieldCheckbox("FALSE"),"a710").appendField(new Ix.FieldCheckbox("FALSE"),"a711").appendField(new Ix.FieldCheckbox("FALSE"),"a712").appendField(new Ix.FieldCheckbox("FALSE"),"a713").appendField(new Ix.FieldCheckbox("FALSE"),"a714").appendField(new Ix.FieldCheckbox("FALSE"),"a715").appendField(new Ix.FieldCheckbox("FALSE"),"a716"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a61").appendField(new Ix.FieldCheckbox("FALSE"),"a62").appendField(new Ix.FieldCheckbox("FALSE"),"a63").appendField(new Ix.FieldCheckbox("FALSE"),"a64").appendField(new Ix.FieldCheckbox("FALSE"),"a65").appendField(new Ix.FieldCheckbox("FALSE"),"a66").appendField(new Ix.FieldCheckbox("FALSE"),"a67").appendField(new Ix.FieldCheckbox("FALSE"),"a68").appendField(new Ix.FieldCheckbox("FALSE"),"a69").appendField(new Ix.FieldCheckbox("FALSE"),"a610").appendField(new Ix.FieldCheckbox("FALSE"),"a611").appendField(new Ix.FieldCheckbox("FALSE"),"a612").appendField(new Ix.FieldCheckbox("FALSE"),"a613").appendField(new Ix.FieldCheckbox("FALSE"),"a614").appendField(new Ix.FieldCheckbox("FALSE"),"a615").appendField(new Ix.FieldCheckbox("FALSE"),"a616"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a51").appendField(new Ix.FieldCheckbox("FALSE"),"a52").appendField(new Ix.FieldCheckbox("FALSE"),"a53").appendField(new Ix.FieldCheckbox("FALSE"),"a54").appendField(new Ix.FieldCheckbox("FALSE"),"a55").appendField(new Ix.FieldCheckbox("FALSE"),"a56").appendField(new Ix.FieldCheckbox("FALSE"),"a57").appendField(new Ix.FieldCheckbox("FALSE"),"a58").appendField(new Ix.FieldCheckbox("FALSE"),"a59").appendField(new Ix.FieldCheckbox("FALSE"),"a510").appendField(new Ix.FieldCheckbox("FALSE"),"a511").appendField(new Ix.FieldCheckbox("FALSE"),"a512").appendField(new Ix.FieldCheckbox("FALSE"),"a513").appendField(new Ix.FieldCheckbox("FALSE"),"a514").appendField(new Ix.FieldCheckbox("FALSE"),"a515").appendField(new Ix.FieldCheckbox("FALSE"),"a516"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a41").appendField(new Ix.FieldCheckbox("FALSE"),"a42").appendField(new Ix.FieldCheckbox("FALSE"),"a43").appendField(new Ix.FieldCheckbox("FALSE"),"a44").appendField(new Ix.FieldCheckbox("FALSE"),"a45").appendField(new Ix.FieldCheckbox("FALSE"),"a46").appendField(new Ix.FieldCheckbox("FALSE"),"a47").appendField(new Ix.FieldCheckbox("FALSE"),"a48").appendField(new Ix.FieldCheckbox("FALSE"),"a49").appendField(new Ix.FieldCheckbox("FALSE"),"a410").appendField(new Ix.FieldCheckbox("FALSE"),"a411").appendField(new Ix.FieldCheckbox("FALSE"),"a412").appendField(new Ix.FieldCheckbox("FALSE"),"a413").appendField(new Ix.FieldCheckbox("FALSE"),"a414").appendField(new Ix.FieldCheckbox("FALSE"),"a415").appendField(new Ix.FieldCheckbox("FALSE"),"a416"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a31").appendField(new Ix.FieldCheckbox("FALSE"),"a32").appendField(new Ix.FieldCheckbox("FALSE"),"a33").appendField(new Ix.FieldCheckbox("FALSE"),"a34").appendField(new Ix.FieldCheckbox("FALSE"),"a35").appendField(new Ix.FieldCheckbox("FALSE"),"a36").appendField(new Ix.FieldCheckbox("FALSE"),"a37").appendField(new Ix.FieldCheckbox("FALSE"),"a38").appendField(new Ix.FieldCheckbox("FALSE"),"a39").appendField(new Ix.FieldCheckbox("FALSE"),"a310").appendField(new Ix.FieldCheckbox("FALSE"),"a311").appendField(new Ix.FieldCheckbox("FALSE"),"a312").appendField(new Ix.FieldCheckbox("FALSE"),"a313").appendField(new Ix.FieldCheckbox("FALSE"),"a314").appendField(new Ix.FieldCheckbox("FALSE"),"a315").appendField(new Ix.FieldCheckbox("FALSE"),"a316"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a21").appendField(new Ix.FieldCheckbox("FALSE"),"a22").appendField(new Ix.FieldCheckbox("FALSE"),"a23").appendField(new Ix.FieldCheckbox("FALSE"),"a24").appendField(new Ix.FieldCheckbox("FALSE"),"a25").appendField(new Ix.FieldCheckbox("FALSE"),"a26").appendField(new Ix.FieldCheckbox("FALSE"),"a27").appendField(new Ix.FieldCheckbox("FALSE"),"a28").appendField(new Ix.FieldCheckbox("FALSE"),"a29").appendField(new Ix.FieldCheckbox("FALSE"),"a210").appendField(new Ix.FieldCheckbox("FALSE"),"a211").appendField(new Ix.FieldCheckbox("FALSE"),"a212").appendField(new Ix.FieldCheckbox("FALSE"),"a213").appendField(new Ix.FieldCheckbox("FALSE"),"a214").appendField(new Ix.FieldCheckbox("FALSE"),"a215").appendField(new Ix.FieldCheckbox("FALSE"),"a216"),this.appendDummyInput("").appendField(new Ix.FieldCheckbox("FALSE"),"a11").appendField(new Ix.FieldCheckbox("FALSE"),"a12").appendField(new Ix.FieldCheckbox("FALSE"),"a13").appendField(new Ix.FieldCheckbox("FALSE"),"a14").appendField(new Ix.FieldCheckbox("FALSE"),"a15").appendField(new Ix.FieldCheckbox("FALSE"),"a16").appendField(new Ix.FieldCheckbox("FALSE"),"a17").appendField(new Ix.FieldCheckbox("FALSE"),"a18").appendField(new Ix.FieldCheckbox("FALSE"),"a19").appendField(new Ix.FieldCheckbox("FALSE"),"a110").appendField(new Ix.FieldCheckbox("FALSE"),"a111").appendField(new Ix.FieldCheckbox("FALSE"),"a112").appendField(new Ix.FieldCheckbox("FALSE"),"a113").appendField(new Ix.FieldCheckbox("FALSE"),"a114").appendField(new Ix.FieldCheckbox("FALSE"),"a115").appendField(new Ix.FieldCheckbox("FALSE"),"a116"),this.setOutput(!0,Number),this.setTooltip()}},Mm={init:function(){this.setColour(Am),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MICROBIT_monitor),this.appendDummyInput("").setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_MICROBIT_Clear_display),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},Cm={init:function(){this.appendDummyInput("").appendField(Ix.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION).appendField(new Ix.FieldDropdown([["❤","0100038007c00fe01ff01ff00ee00640"],["♥","00000100038007c00fe00ee004400000"],["▲","00003ffc1ff80ff007e003c001800000"],["▼","0000018003c007e00ff01ff83ffc0000"],["◄","100030007000f000f000700030001000"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(Am),this.setTooltip(Ix.Msg.OLED_BITMAP_OR_STRING),this.setHelpUrl("")}},Om={init:function(){this.setColour(Am),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("x").setCheck(Number).appendField(Ix.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},Sm={init:function(){this.setColour(Am),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},Rm={init:function(){this.setColour(Ix.Msg.SENSOR_HUE),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.button),"PIN"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_SENOR_IS_PRESSED)}},Nm={init:function(){this.setColour(Ix.Msg.SENSOR_HUE),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Dm={init:function(){this.setColour(Ix.Msg.SENSOR_HUE),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},Pm={init:function(){this.setColour(Ix.Msg.SENSOR_HUE),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_TOUCH).appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.touch),"touch_pin"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},Lm={init:function(){this.setColour(Ix.Msg.SENSOR_HUE),this.appendDummyInput().appendField(new Ix.FieldDropdown([[Ix.Msg.TEXT_TRIM_LEFT,"34"],[Ix.Msg.TEXT_TRIM_RIGHT,"36"]]),"direction").appendField(Ix.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Boolean),this.setInputsInline(!0);var x=this;this.setTooltip((function(){var e=x.getFieldValue("direction"),f=Ix.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,t=Ix.Msg.MIXLY_ESP32_NEAR;return f+{left:Ix.Msg.TEXT_TRIM_LEFT,right:Ix.Msg.TEXT_TRIM_RIGHT}[e]+t}))}},bm={init:function(){this.setColour(Im),this.appendDummyInput().appendField(Ix.Msg.MIXLY_SETTING).appendField(Ix.Msg.MIXLY_BUILDIN_LED).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_LEFT,"0"],[Ix.Msg.MIXLY_RIGHT,"5"]]),"STAT"),this.appendValueInput("bright").appendField(Ix.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_LED_SETONOFF)}},ym={init:function(){this.setColour(Im),this.appendDummyInput().appendField(Ix.Msg.MIXLY_SETTING).appendField(Ix.Msg.MIXLY_BUILDIN_LED).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_LEFT,"0"],[Ix.Msg.MIXLY_RIGHT,"5"]]),"STAT"),this.appendValueInput("bright").appendField(Ix.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_ESP32_LED_SETONOFF)}},vm={init:function(){this.setColour(Im),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("WAIT").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGBdisplay_rgb_rainbow1),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};var wm=[[Ix.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_1,"normal"],[Ix.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_2,"change"]];const Vm={init:function(){this.setColour(Im),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(new Ix.FieldDropdown(wm),"TYPE"),this.appendValueInput("rainbow_color").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_display_rgb_rainbow3),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ym={init:function(){this.setColour(Im),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},km={init:function(){this.setColour(Im),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField("1").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.appendDummyInput("").appendField("2").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR2",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xm={init:function(){this.setColour(Im),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Gm={init:function(){this.setColour(Im),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB_SHOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bm=230,Um={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.dac),"PIN"),this.setOutput(!0)}},Hm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Wm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},jm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.tx),"PIN"),this.setOutput(!0,Number)}},Km={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},qm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.touch),"PIN"),this.setOutput(!0)}},zm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Zm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Jm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Qm={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},$m={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},xM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},eM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},fM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},tM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},iM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.one_more),"PIN"),this.setOutput(!0)}},nM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_select),"PIN"),this.setOutput(!0)}},sM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"PIN"),this.setOutput(!0)}},aM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.brightness),"PIN"),this.setOutput(!0)}},lM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.CHANNEL),"PIN"),this.setOutput(!0)}},cM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.PWM_RESOLUTION),"PIN"),this.setOutput(!0)}},pM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.OCTAVE),"PIN"),this.setOutput(!0)}},dM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.TONE_NOTE),"PIN"),this.setOutput(!0)}},oM={init:function(){this.setColour(Bm),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.digitalWrite),"PIN"),this.setOutput(!0,Number)}},uM=40,rM=100,_M={init:function(){this.setColour(uM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.button),"PIN"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_SENOR_IS_PRESSED)}},hM={init:function(){this.setColour(uM),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ix.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},FM={init:function(){this.setColour(uM),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_TOUCH).appendField(Ix.Msg.MIXLY_PIN).appendField(new Ix.FieldDropdown(Ax.Profile.default.touch),"touch_pin"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},IM={init:function(){this.setColour(uM),this.appendDummyInput().appendField(Ix.Msg.MIXLY_ESP32_LIGHT).appendField(new Ix.FieldDropdown([["A","39"],["B","36"]]),"direction"),this.setOutput(!0,Number),this.setInputsInline(!0)}},AM={init:function(){this.setColour(uM),this.appendDummyInput("").appendField("NTC").appendField(Ix.Msg.MIXLY_TEMP),this.setInputsInline(!1),this.setOutput(!0,Number),this.setTooltip()}},EM={init:function(){this.setColour(uM),this.appendDummyInput("").appendField("MPU9250"+Ix.Msg.MIXLY_update_data),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},TM={init:function(){this.setColour(rM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},gM={init:function(){this.setColour(rM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ix.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},mM={init:function(){this.setColour(rM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},MM={init:function(){this.setColour(rM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB_SHOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},CM={init:function(){this.setColour(rM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_RGB),this.appendValueInput("H").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.HSV_H),this.appendValueInput("S").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.HSV_S),this.appendValueInput("V").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT).appendField(Ix.Msg.HSV_V),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("色调范围0-65536;饱和度范围0-255;明度范围0-255")}},OM=_M,SM=Lm,RM=IM,NM=hM,DM={init:function(){this.appendDummyInput().appendField(Ix.Msg.ESP32_HALL),this.setOutput(!0,null),this.setColour(40),this.setTooltip(),this.setHelpUrl("")}},PM={init:function(){this.appendDummyInput().appendField(Ix.Msg.ESP32_TEMP),this.setOutput(!0,null),this.setColour(40),this.setTooltip(),this.setHelpUrl("")}},LM={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_JS_CURRENT),this.appendDummyInput("").appendField(new Ix.FieldDropdown(Ax.Profile.default.button),"PIN"),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_BUTTON).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_CLICK,"attachClick"],[Ix.Msg.MIXLY_DOUBLE_CLICK,"attachDoubleClick"],[Ix.Msg.MIXLY_LONG_PRESS_START,"attachLongPressStart"],[Ix.Msg.MIXLY_DURING_LONG_PRESS,"attachDuringLongPress"],[Ix.Msg.MIXLY_LONG_PRESS_END,"attachLongPressStop"]]),"mode"),this.appendStatementInput("DO").appendField(Ix.Msg.MIXLY_DO),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT),this.setInputsInline(!0),this.setHelpUrl()}},bM={init:function(){const x=[[Ix.Msg.COLOUR_RGB_RED,"r"],[Ix.Msg.COLOUR_RGB_GREEN,"g"],[Ix.Msg.COLOUR_RGB_BLUE,"b"]];this.setColour(40),this.appendDummyInput("").appendField(Ix.Msg.TCS34725_Get_RGB).appendField(new Ix.FieldDropdown(x),"TCS34725_COLOR"),this.setInputsInline(!0),this.setOutput(!0)}},yM=65,vM={init:function(){this.setColour(yM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_SETUP+Ix.Msg.Hardware_Serial).appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select"),this.appendValueInput("RX",Number).setCheck(Number).appendField("RX#").setAlign(Ix.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.appendValueInput("CONTENT",Number).appendField(Ix.Msg.MIXLY_SERIAL_BEGIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_SOFTSERIAL.replace("%1",Ix.Arduino.valueToCode(this,"RX",Ix.Arduino.ORDER_ATOMIC)).replace("%2",Ix.Arduino.valueToCode(this,"TX",Ix.Arduino.ORDER_ATOMIC)))}},wM={init:function(){this.setColour(yM),this.appendValueInput("CONTENT",Number).appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_BEGIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_SERIAL_BEGIN)}},VM={init:function(){this.setColour(yM),this.appendValueInput("CONTENT",String).appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_WRITE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.TEXT_WRITE_TOOLTIP)}},YM={init:function(){this.setColour(yM),this.appendValueInput("CONTENT",String).appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_PRINT).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_PRINT_INLINE,"print"],[Ix.Msg.TEXT_PRINT_Huanhang_TOOLTIP,"println"]]),"new_line"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.TEXT_PRINT_TOOLTIP)}},kM={init:function(){this.setColour(yM),this.appendValueInput("CONTENT",String).appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_PRINT).appendField(new Ix.FieldDropdown([[Ix.Msg.TEXT_PRINT_Huanhang_TOOLTIP,"println"],[Ix.Msg.MIXLY_PRINT_INLINE,"print"]]),"new_line"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.TEXT_PRINT_TOOLTIP)}},XM={init:function(){this.setColour(yM),this.appendDummyInput().appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_PRINT).appendField(new Ix.FieldDropdown([[Ix.Msg.MIXLY_PRINT_INLINE,"print"],[Ix.Msg.TEXT_PRINT_Huanhang_TOOLTIP,"println"]]),"new_line").appendField(Ix.Msg.MIXLY_NUMBER),this.appendValueInput("CONTENT",Number).appendField(new Ix.FieldDropdown([[Ix.Msg.MATH_HEX,"HEX"],[Ix.Msg.MATH_BIN,"BIN"],[Ix.Msg.MATH_OCT,"OCT"],[Ix.Msg.MATH_DEC,"DEC"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.TEXT_PRINT_HEX_TOOLTIP)}},GM=XM,BM={init:function(){this.setColour(yM),this.appendDummyInput().appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_AVAILABLE)}},UM={init:function(){this.setColour(yM),this.appendDummyInput().appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},HM={init:function(){this.setColour(yM),this.appendValueInput("CONTENT",Number).appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_READSTR_UNTIL).setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_SERIAL_READSTRUNITL.replace("%1",Ix.Arduino.valueToCode(this,"CONTENT",Ix.Arduino.ORDER_ATOMIC)))}},WM={init:function(){this.setColour(yM),this.appendDummyInput().appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(new Ix.FieldDropdown([["read","read"],["peek","peek"],["parseInt","parseInt"],["parseFloat","parseFloat"]]),"STAT"),this.setOutput(!0,Number);var x=this;this.setTooltip((function(){var e=x.getFieldValue("STAT");return{parseInt:Ix.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_INT,parseFloat:Ix.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_FLOAT}[e]}))}},jM={init:function(){this.setColour(yM),this.appendDummyInput().appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_FLUSH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_SERIAL_FLUSH)}},KM={init:function(){this.setColour(yM),this.appendDummyInput("").appendField(Ix.Msg.MIXLY_SETUP).appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select"),this.appendValueInput("RX",Number).setCheck(Number).appendField("RX#").setAlign(Ix.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Ix.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_SOFTSERIAL.replace("%1",Ix.Arduino.valueToCode(this,"RX",Ix.Arduino.ORDER_ATOMIC)).replace("%2",Ix.Arduino.valueToCode(this,"TX",Ix.Arduino.ORDER_ATOMIC)))}},qM={init:function(){this.setColour(yM),this.appendDummyInput().appendField(new Ix.FieldDropdown(Ax.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ix.Msg.MIXLY_SERIAL_EVENT),this.appendStatementInput("DO").appendField(Ix.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ix.Msg.MIXLY_TOOLTIP_SERIALEVENT)}};Ix.Msg.TURN_OFF_BLUETOOTH_TO_CONNECT="关闭蓝牙可连接",Ix.Msg.TURN_ON_BLUETOOTH_TO_CONNECT="打开蓝牙可连接",Ix.Msg.RANGE_0="范围0-30",Ix.Msg.HSC025A_CONTROL_INSTRUCTION="HSC025A控制指令",Ix.Msg.HSC025A_DESIGNATED_PLAYBACK="HSC025A指定播放",Ix.Msg.HSC025A_DESIGNATED_PLAYBACK1="HSC025A指定播放歌曲名0000-0255",Ix.Msg.HSC025A_VOLUME_IS_SET_TO="HSC025A音量设置为",Ix.Msg.BLUETOOTH_ON="蓝牙开启",Ix.Msg.BLUETOOTH_OFF="蓝牙关闭",Ix.Msg.MUTE="静音",Ix.Msg.RESTORE_SOUND="恢复声音",Ix.Msg.STANDBY="待机",Ix.Msg.BOOT="开机",Ix.Msg.PLAY_PAUSE="播放/暂停",Ix.Msg.SHUTDOWN="关机",Ix.Msg.SD_CARD_MODE="SD卡模式",Ix.Msg.BLUETOOTH_MODE="蓝牙模式",Ix.Msg.RESET="恢复出厂设置",Ix.Msg.STOP_PLAYING="放完停止",Ix.Msg.BLUETOOTH_CONNECT="蓝牙回连",Ix.Msg.MATH_DEC_MODE="方式",Ix.Msg.REQUEST_SUCCEEDED="请求成功",Ix.Msg.MIXLY_FAILED="请求失败",Ix.Msg.MODE_SWITCH="模式切换";var zM=[[Ix.Msg.MODE_SWITCH,"1"],[Ix.Msg.MIXLY_MP3_PLAY,"2"],[Ix.Msg.MIXLY_MP3_PAUSE,"3"],[Ix.Msg.MIXLY_MP3_NEXT,"4"],[Ix.Msg.MIXLY_MP3_PREV,"5"],[Ix.Msg.MIXLY_MP3_VOL_UP,"6"],[Ix.Msg.MIXLY_MP3_VOL_DOWN,"7"],[Ix.Msg.STANDBY,"8"],[Ix.Msg.BOOT,"9"],[Ix.Msg.PLAY_PAUSE,"10"],[Ix.Msg.MIXLY_MICROBIT_Stop_music,"11"],[Ix.Msg.SHUTDOWN,"12"],[Ix.Msg.SD_CARD_MODE,"13"],[Ix.Msg.BLUETOOTH_MODE,"14"],[Ix.Msg.RESET,"15"],[Ix.Msg.STOP_PLAYING,"16"],[Ix.Msg.BLUETOOTH_CONNECT,"17"],[Ix.Msg.TURN_OFF_BLUETOOTH_TO_CONNECT,"18"],[Ix.Msg.TURN_ON_BLUETOOTH_TO_CONNECT,"19"],[Ix.Msg.BLUETOOTH_ON,"20"],[Ix.Msg.BLUETOOTH_OFF,"21"],[Ix.Msg.MUTE,"22"],[Ix.Msg.RESTORE_SOUND,"23"]];const ZM={init:function(){this.appendDummyInput().appendField(Ix.Msg.HSC025A_CONTROL_INSTRUCTION).appendField(new Ix.FieldDropdown(zM),"instruction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(100),this.setTooltip(""),this.setHelpUrl("")}},JM={init:function(){this.appendValueInput("num").setCheck(null).appendField(Ix.Msg.HSC025A_DESIGNATED_PLAYBACK),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(100),this.setTooltip(Ix.Msg.HSC025A_DESIGNATED_PLAYBACK1),this.setHelpUrl("")}},QM={init:function(){this.appendValueInput("num").setCheck(null).appendField(Ix.Msg.HSC025A_VOLUME_IS_SET_TO),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(100),this.setTooltip(Ix.Msg.RANGE_0),this.setHelpUrl("")}},$M={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_SETUP+"SPIFFS"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}};var xC=[[Ix.Msg.MIXLY_READONLY,"FILE_READ"],[Ix.Msg.TEXT_WRITE_TEXT,"FILE_WRITE"],[Ix.Msg.TEXT_APPEND_APPENDTEXT,"FILE_APPEND"]];const eC={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(new Ix.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_FILE_PATH),this.appendDummyInput().appendField(new Ix.FieldTextInput("/fileName.txt"),"file_path"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_MODE),this.appendDummyInput().appendField(new Ix.FieldDropdown(xC),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},fC={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.appendDummyInput().appendField(new Ix.FieldTextInput("myFile"),"file_var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},tC={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(new Ix.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_WRITE),this.appendValueInput("data").setCheck(null),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},iC={init:function(){this.appendDummyInput().appendField(Ix.Msg.HTML_FILE),this.appendDummyInput().appendField(new Ix.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_AVAILABLE),this.setColour(0),this.setOutput(!0,null),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},nC={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(new Ix.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ix.Msg.OLED_STRING),this.setOutput(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},sC={init:function(){this.appendDummyInput().appendField(Ix.Msg.HTML_FILE),this.appendDummyInput().appendField(new Ix.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setOutput(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},aC={init:function(){this.appendDummyInput().appendField(Ix.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE),this.appendDummyInput().appendField(new Ix.FieldTextInput("/fileName.txt"),"file_path"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}};let lC={},cC={};const pC={esp32_pin:{path:f(723),height:270},handbit_A:{path:f(911),height:260},handbit_B:{path:f(233),height:260,width:460},handbit_pin_A:{path:f(429),width:270},handbit_pin_B:{path:f(713),width:290},mixgo_pin_A:{path:f(907)},mixgo_pin_B:{path:f(780)},PocketCard_A:{path:f(685)},PocketCard_B:{path:f(942)},PocketCard_pin:{path:f(989)},esp32_cam_pin:{path:f(182),height:270},esp32_pico_kit_1_pin:{path:f(606),height:230},nodemcu_32s_pin:{path:f(773),width:380}};for(let x in pC){const e={path:f(723),height:376,width:525,tooltip:"",helpUrl:""};let t={};Object.assign(t,e,pC[x]),lC[x]={init:function(){this.appendDummyInput().appendField(new Ix.FieldImage(t.path,t.width,t.height,"*")),this.setColour("#555555"),this.setTooltip(t.tooltip),this.setHelpUrl(t.helpUrl)}},cC[x]=function(){return""}}const dC=lC,oC=cC,uC=function(){return"rgb_display_"+this.getFieldValue("PIN")+".show();\n"},rC=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC),i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"0";return e.definitions_.include_ESP32_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+",500,2500);","servo_"+f+".write("+t+");\ndelay("+i+");\n"},_C=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC);return e.definitions_.include_ESP32_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");","servo_"+f+".writeMicroseconds("+t+");\n"},hC=function(x,e){var f=this.getFieldValue("PIN");return e.definitions_.include_ESP32_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");",["servo_"+f+".read()",e.ORDER_ATOMIC]},FC=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone("+f+", "+t+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+i+");\n"},IC=function(x,e){return" noTone("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0")+");\n"},AC=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",t=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone(BUZZER, "+f+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+t+");\n"},EC=function(x,e){return" noTone(BUZZER, "+(e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0")+");\n"},TC=function(x,e){var f=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),i="setMotor("+f+", "+t+", "+(e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)||"0")+");\n";e.definitions_.include_Arduino="#include ",e.setups_["setup_output_"+f+t+"_S"]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+f+t+"_D"]="pinMode("+t+", OUTPUT);",e.setups_["setup_output_"+f+t+"_S_W"]="digitalWrite("+f+", LOW);",e.setups_["setup_output_"+f+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor",s="void "+n+"(int speedpin,int dirpin, int speed)\n {\n if (speed == 0)\n {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } \n else if (speed > 0)\n {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n }\n else\n {\n if(speed < -255)\n speed = -255;\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return e.definitions_[n]=s,i},gC=function(x,e){return[this.getFieldValue("CHANNEL"),e.ORDER_ATOMIC]},mC=function(x,e){var f=e.valueToCode(this,"MOTOR_ID",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC);e.definitions_.HR8833_Motor_Setup_fun="void HR8833_Motor_Setup(int motorID,int pin1,int pin2){//电机初始化 ID=1~4 定义四组电机\n ledcSetup(motorID*2-2, 5000, 8);\n ledcAttachPin(pin1, motorID*2-2);\n ledcSetup(motorID*2-1, 5000, 8);\n ledcAttachPin(pin2, motorID*2-1);\n}",e.setups_["motorID_"+f]="HR8833_Motor_Setup("+f+","+t+","+i+");";return""},MC=function(x,e){var f=e.valueToCode(this,"MOTOR_ID",e.ORDER_ATOMIC),t=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC);return e.definitions_.HR8833_Motor_Speed_fun="void HR8833_Motor_Speed(int motorID,int speed){//电机速度设置 ID=1~4,speed=-255~255\n if (speed == 0){ \n ledcWrite(motorID*2-2, 0);\n ledcWrite(motorID*2-1, 0);\n }\n else if (speed > 0){\n ledcWrite(motorID*2-2, speed);\n ledcWrite(motorID*2-1, 0);\n }\n else{\n ledcWrite(motorID*2-2, 0);\n ledcWrite(motorID*2-1, -speed);\n }\n}\n","HR8833_Motor_Speed("+f+","+t+");\n"},CC=function(x,e){var f=this.getFieldValue("type"),t=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.setups_.setup_i2c_23_22="Wire.begin(23, 22);",e.definitions_.HandBit_Motor_Speed_fun="void HandBit_Motor_Speed(int pin, int speed){//电机速度设置 pin=1~2,speed=--100~100\n Wire.beginTransmission(0x10);\n Wire.write(pin);\n Wire.write(speed);\n Wire.endTransmission();\n}","HandBit_Motor_Speed("+f+", "+t+");\n"},OC=function(x,e){e.definitions_.include_SPI="#include ",e.setups_.setup_spi="SPI.begin();";var f=e.valueToCode(this,"pin",e.ORDER_ATOMIC),t=e.valueToCode(this,"value",e.ORDER_ATOMIC);e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);";var i="digitalWrite("+f+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+f+", HIGH);\n"},SC=function(x,e){var f=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||Ax.Profile.default.serial;return e.definitions_.include_BluetoothSerial='#include "BluetoothSerial.h"',e.definitions_.var_declare_BluetoothSerial="BluetoothSerial SerialBT;",e.setups_.setup_serial_BT="SerialBT.begin("+f+");",e.setups_.setup_serial_started='Serial.println("The device started, now you can pair it with bluetooth!");',""},RC=function(x,e){return["SerialBT.available() > 0",e.ORDER_ATOMIC]},NC=function(x,e){return["SerialBT.read()",e.ORDER_ATOMIC]},DC=function(x,e){return"SerialBT.write("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+");\n"},PC=function(x,e){var f=this.getFieldValue("task"),t=this.getFieldValue("core"),i=e.valueToCode(this,"length",e.ORDER_ATOMIC),n=e.statementToCode(this,"setup");n=n.replace(/(^\s*)|(\s*$)/g,"");var s=e.statementToCode(this,"loop");return s=s.replace(/(^\s*)|(\s*$)/g,""),e.definitions_["esp32_task_"+f]="void task_"+f+"( void * pvParameters ){\nfor(;;){\n "+s+"\n vTaskDelay(1);\n}\n}\n",e.setups_["setups_esp32_task_"+f]=n+"\n xTaskCreatePinnedToCore(task_"+f+', "task_'+f+'", '+i+", NULL, 2, NULL, "+t+");\n","vTaskDelay(1);\n"},LC=function(x,e){return"vTaskDelay("+e.valueToCode(this,"sleeplength",e.ORDER_ATOMIC)+");\n"},bC=function(x,e){var f=e.valueToCode(this,"TIME",e.ORDER_ATOMIC),t=this.getFieldValue("TIMER_NUM"),i=this.getFieldValue("mode");e.definitions_["hw_timer_t"+t]="hw_timer_t * timer"+t+" =NULL;";var n="IRAM_ATTR onTimer"+t,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return isNaN(parseInt(f))?e.setups_begin_["setup_hw_timer"+n]="timer"+t+"=timerBegin("+t+", 80, true);\n timerAttachInterrupt(timer"+t+", &onTimer"+t+", true);\n timerAlarmWrite(timer"+t+", "+f+", "+i+");":e.setups_begin_["setup_hw_timer"+n]="timer"+t+"=timerBegin("+t+", 80, true);\n timerAttachInterrupt(timer"+t+", &onTimer"+t+", true);\n timerAlarmWrite(timer"+t+", "+1e3*f+", "+i+");",e.definitions_[n]=s,""},yC=function(){return"timerAlarmEnable(timer"+this.getFieldValue("TIMER_NUM")+");\n"},vC=function(){return"timerEnd(timer"+this.getFieldValue("TIMER_NUM")+");\n"},wC=function(){return"while(true);\n"},VC=function(){return"interrupts();\n"},YC=function(){return"noInterrupts();\n"},kC=function(){return"esp_sleep_enable_timer_wakeup("+this.getFieldValue("time")+" * 1000000);\nesp_deep_sleep_start();\n"},XC=p_,GC=function(x,e){var f=e.valueToCode(this,"SSID",e.ORDER_ATOMIC),t=e.valueToCode(this,"PWD",e.ORDER_ATOMIC);return e.definitions_.include_WiFi="#include ",e.setups_.setup_WiFi_begin="WiFi.begin("+f+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},BC=function(x,e){var f=e.valueToCode(this,"mac",e.ORDER_ATOMIC),t=e.valueToCode(this,"data",e.ORDER_ATOMIC),i=e.statementToCode(this,"success"),n=e.statementToCode(this,"failure");const s=(f=(f=f.replaceAll('"',"")).toUpperCase()).split(":");f="0x"+(f=s.join(", 0x")),e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_WifiEspNow="#include ";const a=s.join("");return e.definitions_["var_declare_PEER_"+a]="uint8_t PEER_"+a+"[] = {"+f+"};\n",e.definitions_.function_sendMessage="bool sendMessage(uint8_t *macAddress, String _data) {\n bool ok = WifiEspNow.addPeer(macAddress, 0, nullptr, WIFI_IF_STA);\n if (!ok) return false;\n uint16_t length = _data.length();\n char _msg[length];\n strcpy(_msg, _data.c_str());\n return WifiEspNow.send(macAddress, reinterpret_cast(_msg), length);\n}\n",e.setups_.setup_esp_now='\n WiFi.mode(WIFI_STA);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.macAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }',`if (sendMessage(PEER_${a}, ${t})) {\n`+i+"} else {\n"+n+"}\n"},UC=function(x,e){var f=e.statementToCode(this,"receive_data");f=f.replace(/(^\s*)|(\s*$)/g,""),e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_WifiEspNow="#include ",e.definitions_.function_onMessageRecv='void OnMessageRecv(const uint8_t _mac[WIFIESPNOW_ALEN], const uint8_t* _buf, size_t _count, void* arg) {\n // Serial.printf("从MAC:%02X:%02X:%02X:%02X:%02X:%02X处收到数据\\n", _mac[0], _mac[1], _mac[2], _mac[3], _mac[4], _mac[5]);\n String myData = "";\n for (int i = 0; i < static_cast(_count); i++) {\n myData += String(static_cast(_buf[i]));\n }\n '+f+"\n}\n",e.setups_.setup_esp_now_message_receive_cb="WifiEspNow.onReceive(OnMessageRecv, nullptr);",e.setups_.setup_esp_now='\n WiFi.mode(WIFI_STA);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.macAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }';return""},HC=function(x,e){var f=this.getFieldValue("type"),t=e.statementToCode(this,"event");t=t.replace(/(^\s*)|(\s*$)/g,""),e.definitions_.include_WiFi="#include ",1==f&&(e.definitions_.function_WiFiStationConnected="void WiFiStationConnected(WiFiEvent_t event, WiFiEventInfo_t info){\n "+t+"\n}\n",e.setups_.esp32_wifi_WiFiStationConnected="WiFi.onEvent(WiFiStationConnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_CONNECTED);"),2==f&&(e.definitions_.function_WiFiGotIP="void WiFiGotIP(WiFiEvent_t event, WiFiEventInfo_t info){\n "+t+"\n}\n",e.setups_.esp32_wifi_WiFiGotIP="WiFi.onEvent(WiFiGotIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP);"),3==f&&(e.definitions_.function_WiFiStationDisconnected="void WiFiStationDisconnected(WiFiEvent_t event, WiFiEventInfo_t info){\n "+t+"\n}\n",e.setups_.esp32_wifi_WiFiStationDisconnected="WiFi.onEvent(WiFiStationDisconnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);");return""},WC=function(x,e){var f=this.getFieldValue("PIN1"),t=this.getFieldValue("PIN2");e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+f+"_"+t,n="float "+i+"() {\n digitalWrite("+f+", LOW);\n delayMicroseconds(2);\n digitalWrite("+f+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+f+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return e.definitions_[i]=n,[i+"()",e.ORDER_ATOMIC]},jC=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return e.definitions_.include_DHT="#include ",e.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+f+");",e.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",e.ORDER_ATOMIC]},KC=function(x,e){return["hallRead()",e.ORDER_ATOMIC]},qC=function(x,e){e.definitions_.wendu='extern "C"\n{\nuint8_t temprature_sens_read();\n}\nuint8_t temprature_sens_read();\n';return["(temprature_sens_read() - 32) / 1.8",e.ORDER_ATOMIC]},zC=function(x,e){return["analogRead(LIGHT)",e.ORDER_ATOMIC]},ZC=function(x,e){return["analogRead(SOUND)",e.ORDER_ATOMIC]},JC=function(x,e){e.definitions_.include_Adafruit_TCS34725="#include ",e.definitions_.var_declare_TCS34725="Adafruit_TCS34725 tcs34725 = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_24MS, TCS34725_GAIN_1X);\n",e.definitions_.function_TCS34725_getRGB="uint16_t getRGB(char _type) {\n uint16_t _red, _green, _blue, _c;\n tcs34725.getRawData(&_red, &_green, &_blue, &_c);\n switch (_type) {\n case 'r':\n return _red;\n case 'g':\n return _green;\n case 'b':\n return _blue;\n default:\n return _c;\n }\n}\n",e.setups_.setup_Adafruit_TCS34725="tcs34725.begin(0x29);";return["getRGB('"+this.getFieldValue("TCS34725_COLOR")+"')",e.ORDER_ATOMIC]},QC=function(x,e){var f=this.getFieldValue("btn");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["!digitalRead("+f+")",e.ORDER_ATOMIC]},$C=zC,xO=ZC,eO=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_MSA300="#include ",e.definitions_.var_declare_MSA300="MSA300 msa;\n",e.setups_["setup_msa.begin"]="msa.begin();",e.setups_["setup_Wire.begin"]="Wire.begin();",[this.getFieldValue("HANDBIT_MSA300_GETAB"),e.ORDER_ATOMIC]},fO=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_MSA300="#include ",e.definitions_.var_declare_MSA300="MSA300 msa;\n",e.setups_["setup_msa.begin"]="msa.begin();",e.setups_["setup_Wire.begin"]="Wire.begin();",[this.getFieldValue("HANDBIT_MSA300_ACTION"),e.ORDER_ATOMIC]},tO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"threshold",e.ORDER_ATOMIC);e.setups_["touchAttachInterrupt"+f]="touchAttachInterrupt("+f+",gotTouch"+f+", "+t+");";var i="gotTouch"+f,n="void "+i+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[i]=n,""},iO=function(x,e){return["touchRead("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},nO=function(x,e){var f=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();","rgb_display_17.setPixelColor("+f+"-1,"+t+");\n"},sO=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR2",e.ORDER_ATOMIC),i=e.valueToCode(this,"COLOR3",e.ORDER_ATOMIC);f=f.replace(/#/g,"0x"),t=t.replace(/#/g,"0x"),i=i.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var n="rgb_display_17.setPixelColor(0,"+f+");\n";return n+="rgb_display_17.setPixelColor(1,"+t+");\n",n+="rgb_display_17.setPixelColor(2,"+i+");\n"},aO=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();","rgb_display_17.setBrightness("+f+");\n"},lO=function(){return"rgb_display_17.show();\n"},cO=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85) \n{\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n} \nelse if(WheelPos < 170) \n{\nWheelPos -= 85; \nreturn rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);\n}\n else\n {\nWheelPos -= 170;\nreturn rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);\n}\n}\n";return"for(j=0; j<256; j++) {\n","for(i=0; i",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"rainbow_color",e.ORDER_ATOMIC),t=this.getFieldValue("TYPE");if("if(WheelPos < 85)\n {\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \n","else if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n ","else {\nWheelPos -= 170;return rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n","}\n",e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85)\n {\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \nelse if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n else {\nWheelPos -= 170;return rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n}\n","normal"==t)var i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n{rgb_display_17.setPixelColor(i, Wheel("+f+" & 255));\n}\n";else i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n {rgb_display_17.setPixelColor(i, Wheel(((i * 256 / rgb_display_17.numPixels()) + "+f+") & 255));\n}\n";return i},dO=function(x,e){e.definitions_.include_OneButton="#include ";var f=this.getFieldValue("PIN"),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+",true);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},oO=function(x,e){var f=this.getFieldValue("type"),t=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.setups_.setup_i2c_23_22="Wire.begin(23, 22);",e.definitions_.HandBit_Motor_Speed_fun="void HandBit_Motor_Speed(int pin, int speed){//电机速度设置 pin=1~2,speed=--100~100\n Wire.beginTransmission(0x10);\n Wire.write(pin);\n Wire.write(speed);\n Wire.endTransmission();\n}","HandBit_Motor_Speed("+f+", "+t+");\n"},uO=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);";return"rgb_display_17.setPixelColor("+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+")-1, rgb_display_17.ColorHSV("+e.valueToCode(this,"H",e.ORDER_ATOMIC)+","+e.valueToCode(this,"S",e.ORDER_ATOMIC)+","+e.valueToCode(this,"V",e.ORDER_ATOMIC)+"));\n"},rO=function(x,e){return["touchRead("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},_O=function(x,e){var f=e.valueToCode(this,"FREQ",e.ORDER_ATOMIC),t=e.valueToCode(this,"PWM_RESOLUTION",e.ORDER_ATOMIC)||"8",i=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return e.setups_["ledcSetup"+i+f+t]="ledcSetup("+i+", "+f+", "+t+");\n",""},hO=function(x,e){return"ledcAttachPin("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0")+");\n"},FO=function(x,e){return"ledcDetachPin("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+");\n"},IO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);e.definitions_.include_Arduino="#include ";const{analog:i}=Ax.Profile.default;if("object"==typeof i)for(let x of i)if(f===x[1]){e.setups_["setup_output"+f]="pinMode("+f+", OUTPUT);";break}return"analogWrite("+f+", "+t+");\n"},AO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQ",e.ORDER_ATOMIC),i=e.valueToCode(this,"NUM",e.ORDER_ATOMIC),n=this.getFieldValue("RESOLUTION"),s=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return e.setups_["ledcSetup"+s+t+n]="ledcSetup("+s+", "+t+", "+n+");\n",e.setups_["ledcAttachPin"+f+s]="ledcAttachPin("+f+", "+s+");\n ","ledcWrite("+s+", "+i+");\n"},EO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.setups_["setup_input_"+f]="pinMode("+f+", INPUT_PULLUP);";var i="attachInterrupt("+f+",attachInterrupt_fun_"+f+","+t+");\n",n="attachInterrupt_fun_"+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},TO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);","detachInterrupt("+f+");\n"},gO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"threshold",e.ORDER_ATOMIC);e.setups_["touchAttachInterrupt"+f]="touchAttachInterrupt("+f+",gotTouch"+f+", "+t+");";var i="gotTouch"+f,n="void "+i+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[i]=n,""},mO=function(x,e){return"dacWrite("+this.getFieldValue("PIN")+", "+e.valueToCode(this,"value",e.ORDER_ATOMIC)+");\n"},MO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"val",e.ORDER_ATOMIC),i=this.getFieldValue("resolution"),n=this.getFieldValue("freq"),s=this.getFieldValue("ledChannel");return e.setups_["ledChannel"+s]="ledcSetup("+s+", "+n+", "+i+");",e.setups_["ledChannel"+f]="ledcAttachPin("+f+", "+s+");","ledcWrite("+s+", "+t+");\n"},CO=function(x,e){return["touchRead("+this.getFieldValue("touch_pin")+")",e.ORDER_ATOMIC]},OO=function(x,e){var f=this.getFieldValue("btn");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["!digitalRead("+f+")",e.ORDER_ATOMIC]},SO=function(x,e){var f=this.getFieldValue("btn");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT_PULLUP);",["!digitalRead("+f+")",e.ORDER_ATOMIC]},RO=function(x,e){return["analogRead(39)",e.ORDER_ATOMIC]},NO=function(x,e){return["analogRead(36)",e.ORDER_ATOMIC]},DO=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_I2Cdev="#include ",e.definitions_.include_ADXL345="#include ",e.definitions_.var_declare_ADXL345="ADXL345 accel;\n",e.setups_["setup_accel.begin"]="accel.begin();",e.setups_["setup_Wire.begin"]="Wire.begin();",[this.getFieldValue("MIXEPI_ADXL345_ACTION"),e.ORDER_ATOMIC]},PO=function(x,e){return[this.getFieldValue("COLOR"),e.ORDER_NONE]},LO=function(x,e){return[e.valueToCode(this,"R",e.ORDER_ATOMIC)+"*65536+"+e.valueToCode(this,"G",e.ORDER_ATOMIC)+"*256+"+e.valueToCode(this,"B",e.ORDER_ATOMIC),e.ORDER_NONE]},bO=function(x,e){var f=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var i="rgb_display_17.setPixelColor("+f+"-1,"+t+");\n";return i+="rgb_display_17.show();\nrgb_display_17.show();\n"},yO=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR2",e.ORDER_ATOMIC),i=e.valueToCode(this,"COLOR3",e.ORDER_ATOMIC);f=f.replace(/#/g,"0x"),t=t.replace(/#/g,"0x"),i=i.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var n="rgb_display_17.setPixelColor(0,"+f+");\n";return n+="rgb_display_17.setPixelColor(1,"+t+");\n",n+="rgb_display_17.setPixelColor(2,"+i+");\n",n+="rgb_display_17.show();\nrgb_display_17.show();\n"},vO=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var t="rgb_display_17.setBrightness("+f+");\n";return t+="rgb_display_17.show();\nrgb_display_17.show();\n"},wO=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);";var f=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85) \n{\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n} \nelse if(WheelPos < 170) \n{\nWheelPos -= 85; \nreturn rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);\n}\n else\n {\nWheelPos -= 170;\nreturn rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);\n}\n}\n";return"for(j=0; j<256; j++) {\n","for(i=0; i",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);";var f=e.valueToCode(this,"rainbow_color",e.ORDER_ATOMIC),t=this.getFieldValue("TYPE");if("if(WheelPos < 85)\n {\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \n","else if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n ","else {\nWheelPos -= 170;return rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n","}\n",e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85)\n {\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \nelse if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n else {\nWheelPos -= 170;return rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n}\n","normal"==t)var i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n{rgb_display_17.setPixelColor(i, Wheel("+f+" & 255));\n}\n";else i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n {rgb_display_17.setPixelColor(i, Wheel(((i * 256 / rgb_display_17.numPixels()) + "+f+") & 255));\n}\n";return i},YO=function(x,e){return[this.getFieldValue("STAT"),e.ORDER_ATOMIC]},kO=function(x,e){return e.definitions_.include_HT16K33="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);","MixGo_HT16K33.drawStr("+e.valueToCode(this,"TEXT",e.ORDER_ASSIGNMENT)+");\n"},XO=function(x,e){e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";var f="MixGo_HT16K33.drawPixel("+e.valueToCode(this,"XVALUE",e.ORDER_ASSIGNMENT)+"-1,"+e.valueToCode(this,"YVALUE",e.ORDER_ASSIGNMENT)+"-1,"+this.getFieldValue("DrawPixel_TYPE")+");\n";return f+="MixGo_HT16K33.writeDisplay();\n"},GO=function(x,e){e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.definitions_.var_declare_Matrix1="uint16_t MixGo_LedArray[8];",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";var f="";return f+="for(int i=0; i<8; i++)\n",f+="{\n",f+=" MixGo_LedArray[i]="+e.valueToCode(this,"Chars",e.ORDER_ASSIGNMENT)+"[i];\n",f+=" for(int j=15; j>=0; j--)\n",f+=" {\n",f+=" if((MixGo_LedArray[i]&0x01)>0)\n",f+=" MixGo_HT16K33.drawPixel(j, i,LED_ON);\n",f+=" MixGo_LedArray[i] = MixGo_LedArray[i]>>1;\n",f+=" } \n",f+="}\n",f+="MixGo_HT16K33.writeDisplay();\n"},BO=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<17;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<17;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length?a="000"+a:2==a.length?a="00"+a:3==a.length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};",e.definitions_[f]="uint16_t "+f+"[8]="+s,[f,e.ORDER_ATOMIC]},UO=function(x,e){e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";return"MixGo_HT16K33.clear();\n","MixGo_HT16K33.clear();\n"},HO=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";var t="";return t+="MixGo_HT16K33.setBrightness("+f+");\n"},WO=function(x,e){var f=this.getFieldValue("img_"),t='"'+f+'"';t="{";for(var i=0;i<31;i+=4)t+="0x"+f.substr(i,4)+(28!=i?",":"");return t+="};\n",e.definitions_["matrix_img_"+f]="byte matrix_img_"+f+"[]="+t,["matrix_img_"+f,e.ORDER_ATOMIC]},jO=zC,KO=ZC,qO=function(x,e){return["touchRead("+this.getFieldValue("touch_pin")+")",e.ORDER_ATOMIC]},zO=function(x,e){return["digitalRead("+this.getFieldValue("direction")+")",e.ORDER_ATOMIC]},ZO=function(x,e){var f=this.getFieldValue("STAT"),t=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return e.setups_["setup_pinmode"+f]="pinMode("+f+",OUTPUT);","digitalWrite("+f+",!"+t+");\n"},JO=function(x,e){var f=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();","rgb_display_02.setPixelColor("+f+"-1,"+t+");\n"},QO=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR2",e.ORDER_ATOMIC);f=f.replace(/#/g,"0x"),t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();";var i="rgb_display_02.setPixelColor(0,"+f+");\n";return i+="rgb_display_02.setPixelColor(1,"+t+");\n"},$O=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();","rgb_display_02.setBrightness("+f+");\n"},xS=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();";e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85) \n{\nreturn rgb_display_02.Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n} \nelse if(WheelPos < 170) \n{\nWheelPos -= 85; \nreturn rgb_display_02.Color(255 - WheelPos * 3, 0, WheelPos * 3);\n}\n else\n {\nWheelPos -= 170;\nreturn rgb_display_02.Color(0, WheelPos * 3, 255 - WheelPos * 3);\n}\n}\n";return"for(j=0; j<256; j++) {\n","for(i=0; i",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"rainbow_color",e.ORDER_ATOMIC),t=this.getFieldValue("TYPE");if("if(WheelPos < 85)\n {\nreturn rgb_display_02.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \n","else if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_02.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n ","else {\nWheelPos -= 170;return rgb_display_02.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n","}\n",e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85)\n {\nreturn rgb_display_02.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \nelse if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_02.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n else {\nWheelPos -= 170;return rgb_display_02.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n}\n","normal"==t)var i="for (int i = 0; i < rgb_display_02.numPixels(); i++)\n{rgb_display_02.setPixelColor(i, Wheel("+f+" & 255));\n}\n";else i="for (int i = 0; i < rgb_display_02.numPixels(); i++)\n {rgb_display_02.setPixelColor(i, Wheel(((i * 256 / rgb_display_02.numPixels()) + "+f+") & 255));\n}\n";return i},fS=function(){return"rgb_display_02.show();rgb_display_02.show();\ndelay(1);\n"},tS=function(x,e){e.definitions_.include_OneButton="#include ";var f=this.getFieldValue("PIN"),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+",false);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},iS=function(x,e){var f=this.getFieldValue("PIN");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["digitalRead("+f+")",e.ORDER_ATOMIC]},nS=iS,sS=zO,aS=function(x,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},lS=aS,cS=aS,pS=aS,dS=aS,oS=aS,uS=aS,rS=aS,_S=aS,hS=aS,FS=aS,IS=aS,AS=aS,ES=aS,TS=aS,gS=aS,mS=aS,MS=aS,CS=aS,OS=aS,SS=aS,RS=aS,NS=aS,DS=aS,PS=aS,LS=aS,bS=aS,yS=aS,vS=aS,wS=aS,VS=aS,YS=function(x,e){var f=this.getFieldValue("PIN");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["digitalRead("+f+")",e.ORDER_ATOMIC]},kS=ZC,XS=function(x,e){return["touchRead("+this.getFieldValue("touch_pin")+")",e.ORDER_ATOMIC]},GS=function(x,e){return["analogRead("+this.getFieldValue("direction")+")",e.ORDER_ATOMIC]},BS=function(x,e){e.definitions_.include_OneButton="#include ";var f=this.getFieldValue("PIN"),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+",false);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},US=function(x,e){e.definitions_.include_thermistor="#include ",e.definitions_.var_declare_thermistor34="THERMISTOR thermistor34(34,10000,3380,10000);";return["thermistor34.read()/10.0",e.ORDER_ATOMIC]},HS=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone("+f+", "+t+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+i+");\n"},WS=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",t=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone(BUZZER, "+f+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+t+");\n"},jS=function(x,e){var f=this.getFieldValue("MixGo_MPU9250_GETAB");e.definitions_.include_MPU9250_asukiaaa="#include ",e.definitions_.define_CALIB_SEC="#define CALIB_SEC 20",e.definitions_.var_declare_MPU9250_asukiaaa="MPU9250_asukiaaa myMPU9250;\n float aX, aY, aZ, aSqrt, gX, gY, gZ, mDirection, mX, mY, mZ;",e.setups_.setup_Wire_begin="Wire.begin(SDA, SCL);\n",e.setups_.setup_myMPU9250_setWire="myMPU9250.setWire(&Wire);",e.setups_.setup_myMPU9250_beginAccel="myMPU9250.beginAccel();",e.setups_.setup_myMPU9250_beginMag="myMPU9250.beginMag();",e.setups_.setup_myMPU9250_beginGyro="myMPU9250.beginGyro();";var t="void setMagMinMaxAndSetOffset(MPU9250_asukiaaa* sensor, int seconds) {\nunsigned long calibStartAt = millis();\nfloat magX, magXMin, magXMax, magY, magYMin, magYMax, magZ, magZMin, magZMax;\nsensor->magUpdate();\nmagXMin = magXMax = sensor->magX();\nmagYMin = magYMax = sensor->magY();\nmagZMin = magZMax = sensor->magZ();\nwhile(millis() - calibStartAt < (unsigned long) seconds * 1000) {\n delay(100);\n sensor->magUpdate();\n magX = sensor->magX();\n magY = sensor->magY();\n magZ = sensor->magZ();\n if (magX > magXMax) magXMax = magX;\n if (magY > magYMax) magYMax = magY;\n if (magZ > magZMax) magZMax = magZ;\n if (magX < magXMin) magXMin = magX;\n if (magY < magYMin) magYMin = magY;\n if (magZ < magZMin) magZMin = magZ;\n}\nsensor->magXOffset = - (magXMax + magXMin) / 2;\nsensor->magYOffset = - (magYMax + magYMin) / 2;\nsensor->magZOffset = - (magZMax + magZMin) / 2;\n}",i="";return"a"==f&&(i+="myMPU9250.accelX()"),"b"==f&&(i+="myMPU9250.accelY()"),"c"==f&&(i+="myMPU9250.accelZ()"),"d"==f&&(i+="myMPU9250.gyroX()"),"e"==f&&(i+="myMPU9250.gyroY()"),"f"==f&&(i+="myMPU9250.gyroZ()"),"g"==f&&(i+="myMPU9250.magX()"),"h"==f&&(i+="myMPU9250.magY()"),"i"==f&&(i+="myMPU9250.magZ()"),"j"!=f&&"h"!=f&&"g"!=f&&"i"!=f||(e.setups_.setup_magnetometer='Serial.println("Start scanning values of magnetometer to get offset values.Rotate your device for " + String(CALIB_SEC) + " seconds.");',e.setups_.setup_setMagMinMaxAndSetOffset="setMagMinMaxAndSetOffset(&myMPU9250, CALIB_SEC);",e.setups_.setup_magnetometerFinished=' Serial.println("Finished setting offset values.");',e.definitions_[t]=t,i+="myMPU9250.magHorizDirection()"),[i,e.ORDER_ATOMIC]},KS=function(){return"myMPU9250.accelUpdate();\nmyMPU9250.gyroUpdate();\nmyMPU9250.magUpdate();\n"},qS=function(x,e){var f=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return f=f.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_12="rgb_display_12.begin();","rgb_display_12.setPixelColor(0,"+f+");\n"},zS=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC);return f=f.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_12="rgb_display_12.begin();","rgb_display_12.setPixelColor(0,"+f+");\n"},ZS=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_12="rgb_display_12.begin();","rgb_display_12.setBrightness("+f+");\n"},JS=function(){return"rgb_display_12.show();\ndelay(1);\n"},QS=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);";return"rgb_display_12.setPixelColor(0, rgb_display_12.ColorHSV("+e.valueToCode(this,"H",e.ORDER_ATOMIC)+","+e.valueToCode(this,"S",e.ORDER_ATOMIC)+","+e.valueToCode(this,"V",e.ORDER_ATOMIC)+"));\n"},$S=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);e.definitions_.include_HardwareSerial="#include ";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return e.setups_["setup_serial_"+f]=f+".begin("+t+",SERIAL_8N1,"+i+","+n+");",""},xR=function(x,e){var f=this.getFieldValue("instruction");e.setups_.setup_serial_Serial="Serial.begin(9600);";var t="";return 1==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),2==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x01);\n Serial.write(0xEF);\n"),3==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x02);\n Serial.write(0xEF);\n"),4==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x03);\n Serial.write(0xEF);\n"),5==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x04);\n Serial.write(0xEF);\n"),6==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x05);\n Serial.write(0xEF);\n"),7==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x06);\n Serial.write(0xEF);\n"),8==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x07);\n Serial.write(0xEF);\n"),9==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x08);\n Serial.write(0xEF);\n"),10==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x09);\n Serial.write(0xEF);\n"),11==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x0A);\n Serial.write(0xEF);\n"),12==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0D);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),13==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0D);\n Serial.write(0x02);\n Serial.write(0xEF);\n"),14==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0D);\n Serial.write(0x04);\n Serial.write(0xEF);\n"),15==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x17);\n Serial.write(0xEF);\n"),16==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x46);\n Serial.write(0x01);\n Serial.write(0xEF);\n"),17==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),18==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x0B);\n Serial.write(0xEF);\n"),19==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x0C);\n Serial.write(0xEF);\n"),20==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x45);\n Serial.write(0xEF);\n"),21==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x44);\n Serial.write(0xEF);\n"),22==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x15);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),23==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x15);\n Serial.write(0x01);\n Serial.write(0xEF);\n"),t},eR=function(x,e){var f=e.valueToCode(this,"num",e.ORDER_ATOMIC);return e.setups_.setup_serial_Serial="Serial.begin(9600);"," Serial.write(0x7E);\n Serial.write(0x04);\n Serial.write(0x40);\n Serial.write(0x00);\n Serial.write("+f+");\n Serial.write(0xEF);\n"},fR=function(x,e){var f=e.valueToCode(this,"num",e.ORDER_ATOMIC);return e.setups_.setup_serial_Serial="Serial.begin(9600);"," Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0F);\n Serial.write("+f+");\n Serial.write(0xEF);\n"},tR=function(x,e){e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File myFile;\n",e.setups_["setup_SPIFFS.begin"]="SPIFFS.begin(true);";return""},iR=function(x,e){var f=this.getFieldValue("file_var"),t=this.getFieldValue("file_path");t='"'+t+'"';var i=this.getFieldValue("MODE");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",f+"= SPIFFS.open(String("+t+"), "+i+");\n"},nR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",f+".close();\n"},sR=function(x,e){var f=this.getFieldValue("file_var"),t=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",f+".print(String("+t+"));\n"},aR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",[f+".available()",e.ORDER_ATOMIC]},lR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",[f+".read()",e.ORDER_ATOMIC]},cR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",[f+".size()",e.ORDER_ATOMIC]},pR=function(x,e){e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"';var f=this.getFieldValue("file_path");return"SPIFFS.remove(String("+(f='"'+f+'"')+"));"},dR=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if (time.b[2] != EEPROM.read(address+2) ) EEPROM.write(address+2, time.b[2]);\n if (time.b[3] != EEPROM.read(address+3) ) EEPROM.write(address+3, time.b[3]);\n EEPROM.commit();\n}\n";return e.definitions_[i]=n,"eepromWriteLong("+f+", "+t+");\n"},oR=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);";var t="eepromReadLong("+f+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return e.definitions_[i]=n,[t,e.ORDER_ATOMIC]},uR=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);","EEPROM.write("+f+", "+t+");\nEEPROM.commit();\n"},rR=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);",["EEPROM.read("+f+")",e.ORDER_ATOMIC]},_R=function(x,e){e.setups_.setup_EEPROM_begin="EEPROM.begin(4000);";var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.put("+f+", "+t+");\nEEPROM.commit();"},hR=function(x,e){e.setups_.setup_EEPROM_begin="EEPROM.begin(4000);";var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.get("+f+", "+t+");\n"},FR='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n {{# if (d.href === \'#\') { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } else { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } }}\r\n
\r\n
',IR={},{XML:AR}=Ax;IR.ESP32_CONFIG_TEMPLATE=FR,IR.ESP32_CONFIG_INTRODUCE="详细介绍请参考",IR.ESP32_CONFIG_MESSAGE_PSRAM=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"PSRAM",message:"PSRAM是存在于某些板、模块或SoC上的内部或外部扩展RAM。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#psram",name:"PSRAM"}),IR.ESP32_CONFIG_MESSAGE_PARTITION_SCHEME=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"分区方案",message:"此选项用于根据闪存大小和所需资源(如存储区域和OTA(空中更新))选择分区方案。请注意根据闪存大小选择正确的分区,如果你选择了错误的分区,系统将崩溃。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Partition Scheme"}),IR.ESP32_CONFIG_MESSAGE_CPU_FREQUENCY=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"CPU时钟频率",message:"在此选项上,你可以选择CPU时钟频率。此选项至关重要,必须根据板上的晶振和无线模块使用情况(Wi-Fi和蓝牙)进行选择。在某些应用中,建议降低CPU时钟频率以降低功耗。如果你不知道为什么要更改此频率,请保留默认选项。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#cpu-frequency",name:"CPU Frequency"}),IR.ESP32_CONFIG_MESSAGE_FLASH_MODE=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"烧录方式",message:"此选项用于选择与闪存的SPI通信模式。根据应用程序的不同,可以更改此模式以提高闪存通信速度。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-mode",name:"Flash Mode"}),IR.ESP32_CONFIG_MESSAGE_FLASH_FREQUENCY=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"闪存频率",message:"使用此功能可选择闪存频率。频率取决于内存型号,如果你不知道内存是否支持80Mhz,你可以尝试使用80Mhz选项上传草图,并通过串行监视器查看日志输出。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Flash Frequency"}),IR.ESP32_CONFIG_MESSAGE_FLASH_SIZE=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"闪存大小",message:"此选项用于选择闪存大小。应该根据你板上使用的闪存型号来确定闪存大小,如果你选择了错误的大小,则在选择分区方案时可能会出现问题。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-size",name:"Flash Size"}),IR.ESP32_CONFIG_MESSAGE_UPLOAD_SPEED=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"上传速度",message:"要选择上传速度,请更改“上载速度”,此值将用于向设备烧录代码。如果在用较高的上传速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#upload-speed",name:"Upload Speed"}),IR.ESP32_CONFIG_MESSAGE_ARDUINO_RUNS_ON=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"Arduino循环核心",message:"此选项用于选择运行Arduino核心任务的内核。只有当目标SoC有2个核心时才有效。当你有一些繁重的任务在运行时,你可能想在与Arduino任务不同的核心上运行此任务。出于这个原因,你可以使用此配置来选择正确的核心。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#arduino-runs-on",name:"Arduino Runs On"}),IR.ESP32_CONFIG_MESSAGE_EVENTS_RUN_ON=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"Arduino事件核心",message:"此选项用于选择运行Arduino事件的核心,这仅在目标SoC具有2个核心的情况下有效。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#events-run-on",name:"Events Run On"}),IR.ESP32_CONFIG_MESSAGE_USB_CDC_ON_BOOT=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"USB CDC On Boot",message:"USB通信设备类,或USB CDC,是一个用于基本通信的类,被用作常规串行控制器。该类用于在没有任何其他外部设备连接到SoC的情况下烧写设备。该选项可用于在启动时启用或禁用该功能。如果此选项为E启用,则一旦设备通过USB连接,一个新的串行端口将出现在串行端口列表中,使用这个新的串行端口来烧写设备。这个选项也可以用于使用CDC而不是UART0通过串行监视器进行调试。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-cdc-on-boot",name:"USB CDC On Boot"}),IR.ESP32_CONFIG_MESSAGE_USB_FIRMWARE_MSC_ON_BOOT=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"USB Firmware MSC On Boot",message:"USB大容量存储类或USB MSC是用于存储设备(如USB闪存驱动器)的类,此选项可用于在启动时启用或禁用此功能。如果此选项为启用,则一旦设备通过USB连接,系统中将显示一个新的存储设备作为存储驱动器。使用这个新的存储驱动器来写入和读取文件,或者拖拽新的二进制固件来烧写设备。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-firmware-msc-on-boot",name:"USB Firmware MSC On Boot"}),IR.ESP32_CONFIG_MESSAGE_USB_DFU_ON_BOOT=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"USB DFU On Boot",message:"USB设备固件升级是一个用于通过USB烧写设备的类,此选项可用于在启动时启用或禁用此功能。如果此选项为启用,则一旦设备通过USB连接,该设备将显示为支持USB DFU的设备。",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-dfu-on-boot",name:"USB DFU On Boot"}),IR.ESP32_CONFIG_MESSAGE_UPLOAD_MODE=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"上传方式",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"#",name:"无"}),IR.ESP32_CONFIG_MESSAGE_USB_MODE=AR.render(IR.ESP32_CONFIG_TEMPLATE,{title:"USB模式",moreInfo:IR.ESP32_CONFIG_INTRODUCE,href:"#",name:"无"}),IR.BOARD_FS="板卡文件管理";const ER=IR,TR={},{XML:gR}=Ax;TR.ESP32_CONFIG_TEMPLATE=FR,TR.ESP32_CONFIG_INTRODUCE="詳細介紹請參攷",TR.ESP32_CONFIG_MESSAGE_PSRAM=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"PSRAM",message:"PSRAM是存在於某些板、模塊或SoC上的內部或外部擴展RAM。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#psram",name:"PSRAM"}),TR.ESP32_CONFIG_MESSAGE_PARTITION_SCHEME=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"分區方案",message:"此選項用於根據閃存大小和所需資源(如存儲區域和OTA(空中更新))選擇分區方案。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Partition Scheme"}),TR.ESP32_CONFIG_MESSAGE_CPU_FREQUENCY=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"CPU時鐘頻率",message:"在此選項上,你可以選擇CPU時鐘頻率。 此選項至關重要,必須根據板上的晶振和無線模塊使用情况(Wi-Fi和藍牙)進行選擇。 在某些應用中,建議降低CPU時鐘頻率以降低功耗。 如果你不知道為什麼要更改此頻率,請保留默認選項。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#cpu-frequency",name:"CPU Frequency"}),TR.ESP32_CONFIG_MESSAGE_FLASH_MODE=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"燒錄管道",message:"此選項用於選擇與閃存的SPI通信模式。 根據應用程序的不同,可以更改此模式以提高閃存通信速度。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-mode",name:"Flash Mode"}),TR.ESP32_CONFIG_MESSAGE_FLASH_FREQUENCY=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"閃存頻率",message:"使用此功能可選擇閃存頻率。 頻率取決於記憶體型號,如果你不知道記憶體是否支持80Mhz,你可以嘗試使用80Mhz選項上傳草圖,並通過串列監視器查看日誌輸出。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Flash Frequency"}),TR.ESP32_CONFIG_MESSAGE_FLASH_SIZE=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"閃存大小",message:"此選項用於選擇閃存大小。 應該根據你板上使用的閃存型號來確定閃存大小,如果你選擇了錯誤的大小,則在選擇分區方案時可能會出現問題。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-size",name:"Flash Size"}),TR.ESP32_CONFIG_MESSAGE_UPLOAD_SPEED=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"上傳速度",message:"要選擇上傳速度,請更改“上載速度”,此值將用於向設備燒錄程式碼。 如果在用較高的上傳速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#upload-speed",name:"Upload Speed"}),TR.ESP32_CONFIG_MESSAGE_ARDUINO_RUNS_ON=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"Arduino迴圈覈心",message:"此選項用於選擇運行Arduino覈心任務的內核。 只有當目標SoC有2個覈心時才有效。 當你有一些繁重的任務在運行時,你可能想在與Arduino任務不同的覈心上運行此任務。 出於這個原因,你可以使用此配寘來選擇正確的覈心。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#arduino-runs-on",name:"Arduino Runs On"}),TR.ESP32_CONFIG_MESSAGE_EVENTS_RUN_ON=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"Arduino事件覈心",message:"此選項用於選擇運行Arduino事件的覈心,這僅在目標SoC具有2個覈心的情况下有效。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#events-run-on",name:"Events Run On"}),TR.ESP32_CONFIG_MESSAGE_USB_CDC_ON_BOOT=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"USB CDC On Boot",message:"USB通信設備類,或USB CDC,是一個用於基本通信的類,被用作常規串列控制器。 該類用於在沒有任何其他外部設備連接到SoC的情况下燒寫設備。 該選項可用於在啟動時啟用或禁用該功能。 如果此選項為E啟用,則一旦設備通過USB連接,一個新的串列埠將出現在串列埠清單中,使用這個新的串列埠來燒寫設備。 這個選項也可以用於使用CDC而不是UART0通過串列監視器進行調試。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-cdc-on-boot",name:"USB CDC On Boot"}),TR.ESP32_CONFIG_MESSAGE_USB_FIRMWARE_MSC_ON_BOOT=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"USB Firmware MSC On Boot",message:"USB大容量存儲類或USB MSC是用於儲存設備(如USB閃存驅動器)的類,此選項可用於在啟動時啟用或禁用此功能。 如果此選項為啟用,則一旦設備通過USB連接,系統中將顯示一個新的儲存設備作為存儲驅動器。 使用這個新的存儲驅動器來寫入和讀取檔案,或者拖拽新的二進位固件來燒寫設備。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-firmware-msc-on-boot",name:"USB Firmware MSC On Boot"}),TR.ESP32_CONFIG_MESSAGE_USB_DFU_ON_BOOT=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"USB DFU On Boot",message:"USB設備固件升級是一個用於通過USB燒寫設備的類,此選項可用於在啟動時啟用或禁用此功能。 如果此選項為啟用,則一旦設備通過USB連接,該設備將顯示為支持USB DFU的設備。",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-dfu-on-boot",name:"USB DFU On Boot"}),TR.ESP32_CONFIG_MESSAGE_UPLOAD_MODE=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"上传方式",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"#",name:"無"}),TR.ESP32_CONFIG_MESSAGE_USB_MODE=gR.render(TR.ESP32_CONFIG_TEMPLATE,{title:"USB模式",moreInfo:TR.ESP32_CONFIG_INTRODUCE,href:"#",name:"無"}),TR.BOARD_FS="闆卡文件管理";const mR=TR,MR={},{XML:CR}=Ax;MR.ESP32_CONFIG_TEMPLATE=FR,MR.ESP32_CONFIG_INTRODUCE="For more information, please visit",MR.ESP32_CONFIG_MESSAGE_PSRAM=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"PSRAM",message:"The PSRAM is an internal or external extended RAM present on some boards, modules or SoC.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#psram",name:"PSRAM"}),MR.ESP32_CONFIG_MESSAGE_PARTITION_SCHEME=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Partition Scheme",message:"This option is used to select the partition model according to the flash size and the resources needed, like storage area and OTA (Over The Air updates). Be careful selecting the right partition according to the flash size. If you select the wrong partition, the system will crash.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Partition Scheme"}),MR.ESP32_CONFIG_MESSAGE_CPU_FREQUENCY=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"CPU Frequency",message:"On this option, you can select the CPU clock frequency. This option is critical and must be selected according to the high-frequency crystal present on the board and the radio usage (Wi-Fi and Bluetooth). In some applications, reducing the CPU clock frequency is recommended in order to reduce power consumption. If you don’t know why you should change this frequency, leave the default option.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#cpu-frequency",name:"CPU Frequency"}),MR.ESP32_CONFIG_MESSAGE_FLASH_MODE=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Flash Mode",message:"This option is used to select the SPI communication mode with the flash memory. Depending on the application, this mode can be changed in order to increase the flash communication speed.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-mode",name:"Flash Mode"}),MR.ESP32_CONFIG_MESSAGE_FLASH_FREQUENCY=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Flash Frequency",message:"Use this function to select the flash memory frequency. The frequency will be dependent on the memory model.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Flash Frequency"}),MR.ESP32_CONFIG_MESSAGE_FLASH_SIZE=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Flash Size",message:"This option is used to select the flash size. The flash size should be selected according to the flash model used on your board. If you choose the wrong size, you may have issues when selecting the partition scheme.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-size",name:"Flash Size"}),MR.ESP32_CONFIG_MESSAGE_UPLOAD_SPEED=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Upload Speed",message:"To select the flashing speed, change the Upload Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#upload-speed",name:"Upload Speed"}),MR.ESP32_CONFIG_MESSAGE_ARDUINO_RUNS_ON=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Arduino Runs On",message:"This function is used to select the core that runs the Arduino core. This is only valid if the target SoC has 2 cores. When you have some heavy task running, you might want to run this task on a different core than the Arduino tasks. For this reason, you have this configuration to select the right core.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#arduino-runs-on",name:"Arduino Runs On"}),MR.ESP32_CONFIG_MESSAGE_EVENTS_RUN_ON=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Events Run On",message:"This function is also used to select the core that runs the Arduino events. This is only valid if the target SoC has 2 cores.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#events-run-on",name:"Events Run On"}),MR.ESP32_CONFIG_MESSAGE_USB_CDC_ON_BOOT=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"USB CDC On Boot",message:"The USB Communications Device Class, or USB CDC, is a class used for basic communication to be used as a regular serial controller (like RS-232). This class is used for flashing the device without any other external device attached to the SoC. This option can be used to Enable or Disable this function at the boot. If this option is Enabled, once the device is connected via USB, one new serial port will appear in the list of the serial ports. Use this new serial port for flashing the device.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-cdc-on-boot",name:"USB CDC On Boot"}),MR.ESP32_CONFIG_MESSAGE_USB_FIRMWARE_MSC_ON_BOOT=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"USB Firmware MSC On Boot",message:"The USB Mass Storage Class, or USB MSC, is a class used for storage devices, like a USB flash drive. This option can be used to Enable or Disable this function at the boot. If this option is Enabled, once the device is connected via USB, one new storage device will appear in the system as a storage drive. Use this new storage drive to write and read files or to drop a new firmware binary to flash the device.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-firmware-msc-on-boot",name:"USB Firmware MSC On Boot"}),MR.ESP32_CONFIG_MESSAGE_USB_DFU_ON_BOOT=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"USB DFU On Boot",message:"The USB Device Firmware Upgrade is a class used for flashing the device through USB. This option can be used to Enable or Disable this function at the boot. If this option is Enabled, once the device is connected via USB, the device will appear as a USB DFU capable device.",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-dfu-on-boot",name:"USB DFU On Boot"}),MR.ESP32_CONFIG_MESSAGE_UPLOAD_MODE=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"Upload Mode",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"#",name:"None"}),MR.ESP32_CONFIG_MESSAGE_USB_MODE=CR.render(MR.ESP32_CONFIG_TEMPLATE,{title:"USB Mode",moreInfo:MR.ESP32_CONFIG_INTRODUCE,href:"#",name:"None"}),MR.BOARD_FS="Board FS";const OR=MR,SR=dC,RR=oC,NR=path,DR={littlefs:{download:"{{&esptool}} --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},spiffs:{download:"{{&esptool}} --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},fatfs:{download:"{{&esptool}} --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -t fatfs -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -t fatfs -s {{&size}} {{&img}} && {{&esptool}} --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"}},PR={app3M_fat9M_16MB:{type:Ax.FSBoardHandler.FsType.FATFS,offset:6356992,size:10420224,blockSize:4096,pageSize:256},default:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:2686976,size:1441792,blockSize:4096,pageSize:256},default_8MB:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:6750208,size:1638400,blockSize:4096,pageSize:256},default_16MB:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:13172736,size:3604480,blockSize:4096,pageSize:256},defaultffat:{type:Ax.FSBoardHandler.FsType.FATFS,offset:2691072,size:1437696,blockSize:4096,pageSize:256},ffat:{type:Ax.FSBoardHandler.FsType.FATFS,offset:4263936,size:12517376,blockSize:4096,pageSize:256},huge_app:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:3211264,size:983040,blockSize:4096,pageSize:256},large_spiffs_16MB:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:9502720,size:7274496,blockSize:4096,pageSize:256},min_spiffs:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:3997696,size:196608,blockSize:4096,pageSize:256},minimal:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:1376256,size:720896},no_ota:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:2162688,size:2031616,blockSize:4096,pageSize:256},noota_3g:{type:Ax.FSBoardHandler.FsType.SPIFFS,offset:1114112,size:3080192,blockSize:4096,pageSize:256},noota_3gffat:{type:Ax.FSBoardHandler.FsType.FATFS,offset:1114112,size:3080192,blockSize:4096,pageSize:256},noota_ffat:{type:Ax.FSBoardHandler.FsType.FATFS,offset:2162688,size:2031616,blockSize:4096,pageSize:256},rainmaker:{type:Ax.FSBoardHandler.FsType.FATFS,offset:2686976,size:1441792,blockSize:4096,pageSize:256}},LR={"esp32:esp32:esp32c3":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:esp32":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB","rainmaker"],"esp32:esp32:esp32wrover":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:pico32":["default","no_ota","min_spiffs"],"esp32:esp32:esp32wroverkit":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:tinypico":["default","no_ota","min_spiffs"],"esp32:esp32:feathers2":["fatflash","app3M_fat9M_16MB","default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:tinys2":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:S_ODI_Ultra":["default"],"esp32:esp32:micros2":["fatflash","app3M_fat9M_16MB","default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:magicbit":["default"],"esp32:esp32:turta_iot_node":["default"],"esp32:esp32:ttgo-lora32-v1":["default"],"esp32:esp32:ttgo-t1":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:ttgo-t7-v13-mini32":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:ttgo-t7-v14-mini32":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:cw02":["default"],"esp32:esp32:esp32thing":["default","no_ota","min_spiffs"],"esp32:esp32:esp32thing_plus":["default","large_spiffs"],"esp32:esp32:sparkfun_esp32s2_thing_plus":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:sparkfun_lora_gateway_1-channel":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:nina_w10":["minimal"],"esp32:esp32:widora-air":["default"],"esp32:esp32:esp320":["default"],"esp32:esp32:nano32":["default"],"esp32:esp32:d32":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:d32_pro":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:lolin32":["default","no_ota","min_spiffs"],"esp32:esp32:lolin32-lite":["default","no_ota","min_spiffs"],"esp32:esp32:pocket_32":["default"],"esp32:esp32:WeMosBat":["default"],"esp32:esp32:espea32":["default"],"esp32:esp32:quantum":["default"],"esp32:esp32:node32s":["default","no_ota","min_spiffs"],"esp32:esp32:hornbill32dev":["default"],"esp32:esp32:hornbill32minima":["default"],"esp32:esp32:firebeetle32":["default"],"esp32:esp32:intorobot-fig":["default"],"esp32:esp32:onehorse32dev":["default"],"esp32:esp32:featheresp32":["default","no_ota","min_spiffs"],"esp32:esp32:adafruit_metro_esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:adafruit_magtag29_esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:adafruit_funhouse_esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:adafruit_feather_esp32s2_nopsram":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:nodemcu-32s":["default"],"esp32:esp32:mhetesp32devkit":["default","no_ota","min_spiffs"],"esp32:esp32:mhetesp32minikit":["default","defaultffat","no_ota","min_spiffs"],"esp32:esp32:esp32vn-iot-uno":["default"],"esp32:esp32:esp32doit-devkit-v1":["default"],"esp32:esp32:esp32doit-espduino":["default"],"esp32:esp32:esp32-evb":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-gateway":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-poe":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-poe-iso":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-DevKitLipo":["default","minimal","no_ota","huge_app","min_spiffs","fatflash"],"esp32:esp32:espino32":["default"],"esp32:esp32:m5stack-core-esp32":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-fire":["default","large_spiffs"],"esp32:esp32:m5stick-c":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-atom":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-core2":["default","large_spiffs","minimal","no_ota","noota_3g","huge_app","min_spiffs"],"esp32:esp32:m5stack-timer-cam":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-coreink":["default","no_ota","min_spiffs"],"esp32:esp32:odroid_esp32":["default","no_ota","min_spiffs"],"esp32:esp32:heltec_wifi_kit_32":["default"],"esp32:esp32:heltec_wifi_lora_32":["default"],"esp32:esp32:heltec_wifi_lora_32_V2":["default_8MB"],"esp32:esp32:heltec_wireless_stick":["default_8MB"],"esp32:esp32:heltec_wireless_stick_lite":["default"],"esp32:esp32:espectro32":["default"],"esp32:esp32:CoreESP32":["default","minimal","no_ota","min_spiffs","fatflash"],"esp32:esp32:alksesp32":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:wipy3":["default"],"esp32:esp32:bpi-bit":["default"],"esp32:esp32:wesp32":["default"],"esp32:esp32:t-beam":["default"],"esp32:esp32:d-duino-32":["default","minimal","no_ota","min_spiffs","fatflash"],"esp32:esp32:lopy":["default"],"esp32:esp32:lopy4":["default"],"esp32:esp32:oroca_edubot":["huge_app","min_spiffs"],"esp32:esp32:fm-devkit":["default"],"esp32:esp32:frogboard":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:esp32cam":["huge_app"],"esp32:esp32:twatch":["default","large_spiffs"],"esp32:esp32:d1_mini32":["default","no_ota","min_spiffs"],"esp32:esp32:gpy":["default"],"esp32:esp32:vintlabs-devkit-v1":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:honeylemon":["default"],"esp32:esp32:mgbot-iotik32a":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:mgbot-iotik32b":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:piranha_esp-32":["default","no_ota","min_spiffs"],"esp32:esp32:metro_esp-32":["default","no_ota","min_spiffs"],"esp32:esp32:sensesiot_weizen":["default"],"esp32:esp32:kits-edu":["default","no_ota","min_spiffs"],"esp32:esp32:mPython":["huge_app","default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","min_spiffs","fatflash"],"esp32:esp32:OpenKB":["default"],"esp32:esp32:wifiduino32":["default","no_ota","min_spiffs"],"esp32:esp32:ttgo-lora32-v21new":["default"],"esp32:esp32:imbrios-logsens-v1p1":["default","no_ota","min_spiffs"],"esp32:esp32:healthypi4":["default","no_ota","min_spiffs"],"esp32:esp32:ET-Board":["default","no_ota","min_spiffs"],"esp32:esp32:ch_denky":["default","no_ota","min_spiffs"],"esp32:esp32:uPesy_wrover":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:uPesy_wroom":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:kb32":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:deneyapkart":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:esp32-trueverit-iot-driver":["default"],"esp32:esp32:esp32-trueverit-iot-driver-mkii":["default"]},bR=[{id:"default",text:"default"},{id:"spiffs",text:"spiffs"},{id:"fatfs",text:"fatfs"},{id:"littlefs",text:"littlefs"}],yR={mkspiffs:{version:"0.2.3",linux:{x32:"./mkspiffs/linux/mkspiffs-x32.bin",x64:"./mkspiffs/linux/mkspiffs-x64.bin",arm:"./mkspiffs/linux/mkspiffs-arm.bin"},darwin:{x64:"./mkspiffs/darwin/mkspiffs.bin",arm:"./mkspiffs/darwin/mkspiffs.bin"},win32:{x32:"./mkspiffs/win32/mkspiffs.exe",x64:"./mkspiffs/win32/mkspiffs.exe"}},mklittlefs:{version:"3.2.0",linux:{x32:"./mklittlefs/linux/mklittlefs-x64.bin",x64:"./mklittlefs/linux/mklittlefs-x64.bin",arm:"./mklittlefs/linux/mklittlefs-arm.bin"},darwin:{x64:"./mklittlefs/darwin/mklittlefs.bin",arm:"./mklittlefs/darwin/mklittlefs.bin"},win32:{x32:"./mklittlefs/win32/mklittlefs-x32.exe",x64:"./mklittlefs/win32/mklittlefs-x64.exe"}},mkfatfs:{version:"2.0.1",linux:{x32:"./mkfatfs/linux/mkfatfs-x64.bin",x64:"./mkfatfs/linux/mkfatfs-x64.bin",arm:"./mkfatfs/linux/mkfatfs-arm.bin"},darwin:{x64:"./mkfatfs/darwin/mkfatfs.bin",arm:"./mkfatfs/darwin/mkfatfs.bin"},win32:{x32:"./mkfatfs/win32/mkfatfs.exe",x64:"./mkfatfs/win32/mkfatfs.exe"}}};class vR extends Ax.FSBoardHandler{constructor(){super();for(let x in DR)this.setFSCommands(x,DR[x])}onBeforeUpload(){const x=Ax.Boards.getSelectedBoardKey(),e=Ax.Boards.getSelectedBoardConfigParam("FlashMode")||"keep";let f=Ax.Boards.getSelectedBoardConfigParam("FlashFreq")||"keep";"keep"!==f&&(f+="m");let t=Ax.Boards.getSelectedBoardConfigParam("FlashSize")||"detect";"detect"!==t&&(t+="B");const i=Ax.Boards.getSelectedBoardConfigParam("UploadSpeed")||"115200";let n=Ax.Boards.getSelectedBoardConfigParam("PartitionScheme"),s=LR[x]??[];s.includes(n)||(n=s.length?s[0]:"default");const a={...PR[n]};"default"===this.getFSType()&&this.setFSType(a.type);const l=this.getFSToolPath(),c=NR.join(Ax.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:l,img:c,flashMode:e,flashFreq:f,flashSize:t,baud:i,...a})}onBeforeDownload(){const x=Ax.Boards.getSelectedBoardKey(),e=Ax.Boards.getSelectedBoardConfigParam("UploadSpeed")||"115200";let f=Ax.Boards.getSelectedBoardConfigParam("PartitionScheme"),t=LR[x]??[];t.includes(f)||(f=t.length?t[0]:"default");const i={...PR[f]};"default"===this.getFSType()&&this.setFSType(i.type);const n=this.getFSToolPath(),s=NR.join(Ax.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:n,img:s,baud:e,...i})}getFSMenu(){return bR}getFSToolPath(){const x=this.getFSType();let e="x64";switch(process.arch){case"arm64":case"arm":e="arm";break;case"ia32":e="x32";break;default:e="x64"}const f=Ax.Env.currentPlatform,t=yR[`mk${x}`];return NR.join(Ax.Env.boardDirPath,"build/tools",t[f][e])}}Ix.Arduino=xe,Ix.generator=xe,Object.assign(Ix.Variables,Qx),Object.assign(Ix.Procedures,Zx),Ax.Profile.default={},Object.assign(Ax.Profile,fg),Object.assign(Ax.Profile.default,fg.arduino_esp32),Object.assign(Ix.Lang.ZhHans,ER),Object.assign(Ix.Lang.ZhHant,mR),Object.assign(Ix.Lang.En,OR),function(){const x=Ax.Workspace.getMain().getStatusBarsManager(),e=x.getDropdownMenu().getItem("menu");e.add({weight:2,type:"sep1",data:"---------"}),e.add({weight:3,type:"filesystem-tool",data:{isHtmlName:!0,name:Ax.ContextMenu.getItem(Ix.Msg.BOARD_FS,""),callback:()=>{x.add("board-fs","board-fs",Ix.Msg.BOARD_FS,Ix.Msg.BOARD_FS),x.changeTo("board-fs");x.getStatusBarById("board-fs").setHandler(new vR)}}})}(),Object.assign(Ix.Blocks,x,e,n,s,a,l,c,p,d,o,u,r,_,h,F,I,A,E,T,g,m,U,H,W,j,K,q,z,Z,J,Q,xx,ex,fx,tx,SR),Object.assign(Ix.Arduino.forBlock,t,i,M,C,O,S,R,N,D,P,L,b,y,v,w,V,Y,k,X,G,B,ix,nx,sx,ax,cx,px,dx,ox,ux,rx,lx,_x,hx,Fx,RR)})()})(); \ No newline at end of file +(()=>{"use strict";var x={810:x=>{x.exports="data:image/png;base64,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"},803:x=>{x.exports="data:image/png;base64,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"},964:x=>{x.exports="data:image/png;base64,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"},135:x=>{x.exports="data:image/png;base64,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"},626:x=>{x.exports="data:image/png;base64,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"},415:x=>{x.exports="data:image/png;base64,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"},465:x=>{x.exports="data:image/png;base64,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"},157:x=>{x.exports="data:image/png;base64,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"},199:x=>{x.exports="data:image/png;base64,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"},593:x=>{x.exports="data:image/png;base64,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"},111:x=>{x.exports="data:image/png;base64,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"},292:x=>{x.exports="data:image/png;base64,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"},607:x=>{x.exports="data:image/png;base64,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"},875:x=>{x.exports="data:image/png;base64,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"},244:x=>{x.exports="data:image/png;base64,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"},886:(x,e,f)=>{x.exports=f.p+"images/ESP32_865dc232.png"},278:(x,e,f)=>{x.exports=f.p+"images/ESP32_CAM_pin_a7f52a3b.png"},949:(x,e,f)=>{x.exports=f.p+"images/ESP32_pico_kit_1_042520dd.png"},624:(x,e,f)=>{x.exports=f.p+"images/ESP32c3_ad3ebf81.jpg"},741:(x,e,f)=>{x.exports=f.p+"images/ESP32s2_b49570e2.jpg"},288:(x,e,f)=>{x.exports=f.p+"images/ESP32s3_10bcc520.jpg"},101:x=>{x.exports="data:image/png;base64,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"},319:x=>{x.exports="data:image/png;base64,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"},89:(x,e,f)=>{x.exports=f.p+"images/MixGo_pin_A_1c416631.png"},378:(x,e,f)=>{x.exports=f.p+"images/MixGo_pin_B_4bf86f45.png"},689:x=>{x.exports="data:image/jpeg;base64,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O2HFp1laLTDxGMmcf0vIPaFkEEp6xPXroo4NTdLkX2Ss+u2C6MY3ydtG+mc0nzsl4cCPcqGy3A6rFz5Y/Jm03k/JnzjvnK69FPCqjdLi6i03Q6up7iyGM0cdM6Bw5vOy4g5/IsVRabq7W1Lc46Zpoo6N9M/LvOy5wdkD+CF3KJGHWDWUfVlFcvr3pa40EhooKZ8XO05Jc4g9PkXumWbP6TqPxV0iKOFCd0ua+zHfyWf3Kx7agjakn9y6hE4NTdLh6qxV9bfLTcIoxGyk7XtGybFwe0N2+dUuum7lVagtdZD2Ip6Xn5w5255hjZdyinhVN0uJuumK+qvNrq4XxCKke5zw47uy3GysvGmrnU3iz1VMYezo5XvkDnbuDmFuB713KJwqo3Sj++6autTc7TUUrITFSyl8gc7BIIxsq3rTVyrbhZ5YmMEVJUdtIS7f0SMD3rv0ThVN0uTltdVj7S4+xaHwZXc5zTSEexd2irwKp3y4T4NrOYkUku/qXm3/AE7dqyKjdR02ZYalkxa84BaOqk1EjArBvlGGp9M3mvjofIqZhdFUsmfzvxsD0Cs1Tpq91kdvFBSNc6GqjnfzvAGGnOFKSK3CqjdKL9R6VvFypqeOjgY1zJ2Su7R+NgcrJqbSV3r7bHDRxw9oJo5DzvwAGuB/mUmIo4NTdKH9a2a8uoqeCmtssxdURveWEENa1wJ+Zew2mrXuwKGpHtapIRJwayndKOjb67GfIp/csHkNc/8A1GoH8FSYijgVN0oX1barpUWeqhprbUySuZhgDepXnamo73WaWkipbLVuqpWNbyFvonbKnlFMYUQjdKCdQU14qtKStgs9X5VIwDsi30T3rDeo7tUaRkihs9a6qli7Ps+TocYU+InBqbpQLdYbtVaQdFFZ6w1UkQi7Ms6HGF71FT1sNDTtkoKkObG0EcnfhS4iicGsp3SinyeqfuaKpA/eFWyU9Q3rRVWP3ilhFHo9U75RJJa624Qvp6ejmD5GEAvbgDPitzhTwqpNHOdX1zm1V0eNnY82Mer1+tSei0pSKdFZnUREV0CIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIgIiICIiAiIg//Z"},926:x=>{x.exports="data:image/jpeg;base64,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7s+IXbu3DwK+9pNK6fkPr2S2O99Kz7l2bpiwtGG2W2gf5Kz7k8R7junwQIX9dpx7lyI3Y+SV98DTlkAwLRbgPL0Zn3Lk6dspGDaLeR/kzPuTxHuO6fBAif1DT9C5EDz0afoX3y2w2how21UAHkKdn3Ls2zWtnybbRD3QN+5PEe47r3vg+jtlZVzNipaWaaRxwGxsLifoX0P2M9kTqCSO86ppwJxh0FI7nb+yePP2K8oaWnhOYYIoz+wYAvZZ31ptGFq6cRzAMDA6IiLJcREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQEREBERAREQf//Z"},173:(x,e,f)=>{x.exports=f.p+"images/PocketCard_pin_cfddd546.png"},169:(x,e,f)=>{x.exports=f.p+"images/ProMini_bb71f95d.png"},715:(x,e,f)=>{x.exports=f.p+"images/STM32F103C8T6_aac49c53.png"},392:(x,e,f)=>{x.exports=f.p+"images/core_esp32c3_pin_ae75bf97.png"},93:(x,e,f)=>{x.exports=f.p+"images/handbit_A_ad66cec6.jpg"},138:(x,e,f)=>{x.exports=f.p+"images/handbit_B_91dfbc19.jpg"},985:(x,e,f)=>{x.exports=f.p+"images/handbit_pin_A_be8ebedd.jpg"},486:(x,e,f)=>{x.exports=f.p+"images/handbit_pin_B_88ea3f7a.jpg"},945:(x,e,f)=>{x.exports=f.p+"images/leonardo_68c8b773.png"},775:(x,e,f)=>{x.exports=f.p+"images/mega_bb27e7ea.png"},711:(x,e,f)=>{x.exports=f.p+"images/nano_31da349a.png"},492:(x,e,f)=>{x.exports=f.p+"images/nodemcu_32s_pin_415e75d0.png"},533:(x,e,f)=>{x.exports=f.p+"images/uno_bf94dd41.png"},481:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAMAAACxiD++AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAX1QTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxHl7wAAAH50Uk5TAAMRDg2g9OVmm/5C7ZHBadria32iW4rmYZChAevjqqzx9a288O722yNU/XaVZXdMzecCQCUSELJd+kpBr0/T3l4WbNcyyg8ERGI1H+D5IcajQ4B0FPeL1YjSnOkolsCDwzoJ7/zsGvikl0mm+2+dMyeYlNTqO2oLmUWCCiIM0L6s7AAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAF+SURBVCjPjdP5OwJBGAfwt5AtIglRrVSEKFbpcJSjkPvOfRTCuq9c799uGvt0bNPD95fdmfk8M+/OzgD8HYWSmQppuLJKhexUcxSosWw0NVlQWx6gNgvIs46r12GDnuO4Rk0RMEigCaAZ1XTBFiYwArRiW7ZhMjOBhW+3YoeN53k7MkHZ5IGjU56uQuDsLt1eU09vHrhKhnv6XNDvdnskoC8BAzgoAAx5mcAHMGxB9Ae4oCrEACPBUXc1+Q+0+DEGGCcd4YgPJibNOMVaYtqK0djM7Fwc5hd646waootLvmXSuyKsYnhtvQRsBP2gpQUEwIm4KQOVW9uYgB0KdsGPuCcD+6R5AIcUHMGx9WRGBk7NSdQJnhTpPTufuEizirwk7Su789oLBnrm6FyFianEGyFbzi1iykiBI3KXiwLuRbJTD4m0A8Mp8iWQLD4jw/CIGH0ib88heHklMxnk4C3zCPCOmJGWVNrEYvB7HVXiR66qz6+CCFLnt+Ift5rmByYI3KFNc08pAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTE3VDAwOjU3OjEwKzA4OjAw/IyOtAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0xN1QwMDo1NzoxMCswODowMI3RNggAAABWdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uXzg5dXZ1cnJsZHplL3BlaXpoaS14aXRvbmdwZWl6aGkuc3Zn5h+NFgAAAABJRU5ErkJggg=="}},e={};function f(t){var i=e[t];if(void 0!==i)return i.exports;var n=e[t]={exports:{}};return x[t](n,n.exports,f),n.exports}f.n=x=>{var e=x&&x.__esModule?()=>x.default:()=>x;return f.d(e,{a:e}),e},f.d=(x,e)=>{for(var t in e)f.o(e,t)&&!f.o(x,t)&&Object.defineProperty(x,t,{enumerable:!0,get:e[t]})},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(x){if("object"==typeof window)return window}}(),f.o=(x,e)=>Object.prototype.hasOwnProperty.call(x,e),f.r=x=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})},(()=>{var x;f.g.importScripts&&(x=f.g.location+"");var e=f.g.document;if(!x&&e&&(e.currentScript&&(x=e.currentScript.src),!x)){var t=e.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&(!x||!/^http(s?):/.test(x));)x=t[i--].src}if(!x)throw new Error("Automatic publicPath is not supported in this browser");x=x.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),f.p=x})();var t={};f.r(t),f.d(t,{china_city:()=>Dx,http_get:()=>mx,http_post:()=>Mx,weather_get_seniverse_weather_info:()=>bx,weather_get_seniverse_weather_info1:()=>yx,weather_get_seniverse_weather_info2:()=>vx,weather_get_seniverse_weather_info3:()=>wx,weather_private_key:()=>Px,weather_seniverse_city_weather:()=>Lx});var i={};f.r(i),f.d(i,{text_base64_url_codec:()=>Vx});var n={};f.r(n),f.d(n,{china_city:()=>Gx,http_get:()=>Yx,http_post:()=>kx,weather_get_seniverse_weather_info:()=>Hx,weather_get_seniverse_weather_info1:()=>Wx,weather_get_seniverse_weather_info2:()=>jx,weather_get_seniverse_weather_info3:()=>Kx,weather_private_key:()=>Bx,weather_seniverse_city_weather:()=>Ux});var s={};f.r(s),f.d(s,{text_base64_url_codec:()=>qx});var a={};f.r(a),f.d(a,{AFMotorRun:()=>Ke,AFMotorStop:()=>qe,GD5800_MP3_CONTROL:()=>Ye,GD5800_MP3_EQ_MODE:()=>Be,GD5800_MP3_LOOP_MODE:()=>Xe,GD5800_MP3_PLAY_NUM:()=>He,GD5800_MP3_Set_Device:()=>Ve,GD5800_MP3_VOL:()=>Ue,I2Cmotor:()=>rf,M9101X_S_MP3_CONTROL:()=>hf,M9101X_S_MP3_PLAY_NUM:()=>If,M9101X_S_MP3_VOL_CONTROL:()=>Ff,Mixly_motor:()=>be,Motor_8833:()=>ye,RGB_color_HSV:()=>Pe,RGB_color_rgb:()=>Te,RGB_color_seclet:()=>Ee,arduino_dfplayer_available:()=>of,arduino_dfplayer_loopFolder:()=>lf,arduino_dfplayer_mini_EQ:()=>xf,arduino_dfplayer_mini_EQ_type:()=>ef,arduino_dfplayer_mini_begin:()=>ze,arduino_dfplayer_mini_outputDevice:()=>ff,arduino_dfplayer_mini_outputDevice_type:()=>tf,arduino_dfplayer_mini_pin:()=>Ze,arduino_dfplayer_mini_setTimeOut:()=>Je,arduino_dfplayer_mini_volume:()=>Qe,arduino_dfplayer_mini_volume_up_down:()=>$e,arduino_dfplayer_playFolder:()=>af,arduino_dfplayer_play_loop:()=>sf,arduino_dfplayer_readFileCounts:()=>pf,arduino_dfplayer_readFileCountsInFolder:()=>df,arduino_dfplayer_read_now:()=>cf,arduino_dfplayer_set_1:()=>nf,controls_notone:()=>re,controls_notone_noTimer:()=>he,controls_tone:()=>ue,controls_tone_noTimer:()=>_e,display_rgb:()=>Ce,display_rgb_Brightness:()=>Me,display_rgb_init:()=>me,display_rgb_rainbow1:()=>Re,display_rgb_rainbow2:()=>Ne,display_rgb_rainbow3:()=>De,display_rgb_show:()=>Oe,group_stepper_move:()=>Ae,group_stepper_setup:()=>Fe,group_stepper_setup2:()=>Ie,servo_move:()=>ne,servo_move1:()=>le,servo_read_degrees:()=>ae,servo_read_degrees1:()=>pe,servo_writeMicroseconds:()=>se,servo_writeMicroseconds1:()=>ce,tone_notes:()=>oe,voice_module:()=>je});var l={};f.r(l),f.d(l,{Blynk_connect_state:()=>Rf,Blynk_iot_BLYNK_syncAll:()=>Pf,Blynk_iot_CONNECT_STATE:()=>Df,Blynk_iot_timer:()=>Sf,LM35ESP:()=>nt,arduino_blynk_bluetooth:()=>ut,blynk_AP_config:()=>st,blynk_AP_config_2:()=>at,blynk_WidgetRTC_get_time:()=>Qf,blynk_WidgetRTC_init:()=>Zf,blynk_acc:()=>tt,blynk_bridge_AnaloglWrite:()=>qf,blynk_bridge_VPin:()=>zf,blynk_bridge_auth:()=>jf,blynk_bridge_digitalWrite:()=>Kf,blynk_email:()=>Bf,blynk_esp32_Bluetooth:()=>ot,blynk_esp32_ble:()=>dt,blynk_gravity:()=>ft,blynk_iot_WidgetLED_COLOR:()=>bf,blynk_iot_WidgetLED_VALUE:()=>yf,blynk_iot_get_data:()=>Of,blynk_iot_ir_recv_raw:()=>Xf,blynk_iot_ir_send:()=>Gf,blynk_iot_ir_send_ac:()=>kf,blynk_iot_playmusic:()=>$f,blynk_iot_push_data:()=>Cf,blynk_iot_syncVirtual:()=>Lf,blynk_iot_terminal_get:()=>xt,blynk_lcd:()=>ct,blynk_lcd_clear:()=>pt,blynk_light:()=>et,blynk_notify:()=>Uf,blynk_server:()=>gf,blynk_smartconfig:()=>Tf,blynk_table:()=>rt,blynk_table_add_data:()=>Ct,blynk_table_cleardata:()=>At,blynk_table_click:()=>mt,blynk_table_highlight:()=>ht,blynk_table_order:()=>Mt,blynk_table_select:()=>Ft,blynk_table_unselect:()=>It,blynk_table_update:()=>_t,blynk_terminal:()=>Hf,blynk_terminal_clear:()=>lt,blynk_time_input_1:()=>it,blynk_usb_server:()=>Ef,blynk_videourl:()=>Wf,esp_camera:()=>Et,esp_camera_blynk:()=>Tt,take_a_photo1:()=>gt});var c={};f.r(c),f.d(c,{MFRC522_IsNewCard:()=>ti,MFRC522_ReadCard:()=>si,MFRC522_ReadCardUID:()=>ii,MFRC522_WriteCard:()=>ni,MFRC522_init:()=>fi,RFID_in:()=>Qt,RFID_init:()=>zt,RFID_off:()=>ei,RFID_on:()=>Zt,RFID_readcarddata:()=>xi,RFID_readcardnum:()=>Jt,RFID_writecarddata:()=>$t,i2c_available:()=>Yt,i2c_begin_end_transmission:()=>yt,i2c_howmany:()=>Vt,i2c_master_Init:()=>Lt,i2c_master_reader:()=>Ht,i2c_master_reader2:()=>Wt,i2c_master_readerReg:()=>Gt,i2c_master_writer:()=>Ut,i2c_master_writerReg:()=>Xt,i2c_read:()=>kt,i2c_slave_Init:()=>bt,i2c_slave_onreceive:()=>jt,i2c_slave_onrequest:()=>Bt,i2c_slave_write:()=>Kt,i2c_slave_write_array:()=>wt,i2c_write:()=>vt,ir_recv:()=>St,ir_recv_enable:()=>Nt,ir_recv_raw:()=>Dt,ir_send_nec:()=>Rt,ir_send_raw:()=>Pt,spi_begin_master:()=>li,spi_begin_slave:()=>ai,spi_slave_interrupt:()=>oi,spi_slave_receive:()=>ui,spi_transfer:()=>qt,spi_transfer_1:()=>pi,spi_transfer_2:()=>di,spi_transfer_Init:()=>ci});var p={};f.r(p),f.d(p,{base_delay:()=>wi,base_setup:()=>_i,controls_case:()=>Si,controls_default:()=>Ri,controls_delay:()=>hi,controls_end_program:()=>Li,controls_flow_statements:()=>Ai,controls_for:()=>Fi,controls_if:()=>Ti,controls_if_else:()=>Mi,controls_if_elseif:()=>mi,controls_if_if:()=>gi,controls_interrupts:()=>yi,controls_millis:()=>Ei,controls_mstimer2:()=>Ni,controls_mstimer2_start:()=>Di,controls_mstimer2_stop:()=>Pi,controls_nointerrupts:()=>vi,controls_soft_reset:()=>bi,controls_switch:()=>Oi,controls_switch_case:()=>Ci,controls_whileUntil:()=>Ii,do_while:()=>Yi,execute_super_delay_function1:()=>Xi,simple_timer:()=>Vi,super_delay_function1:()=>ki});var d={};f.r(d),f.d(d,{HT16K33_Init:()=>an,MAX7219_init:()=>ln,Matrix_img:()=>mn,TFT_Brightness:()=>Is,TFT_Rotation:()=>ms,TFT_color_rgb:()=>Es,TFT_color_seclet:()=>As,TFT_fillScreen:()=>gs,TFT_init:()=>Ts,TFT_init_with_pin:()=>hs,TFT_st7735_show_hz:()=>Fs,display_4digitdisplay_displayString:()=>$i,display_4digitdisplay_power:()=>Qi,display_4digitdisplay_showDot:()=>xn,display_HT16K33_Rotation:()=>rn,display_Matrix_Brightness:()=>En,display_Matrix_DisplayChar:()=>Fn,display_Matrix_DrawPixel:()=>pn,display_Matrix_LedArray:()=>In,display_Matrix_TEXT:()=>_n,display_Matrix_fillScreen:()=>gn,display_Matrix_print:()=>hn,display_Matrix_write:()=>Mn,display_Max7219_Rotation:()=>on,display_Max7219_setPosition:()=>un,display_TM1637_Brightness:()=>nn,display_TM1637_Brightness_32:()=>Us,display_TM1637_clearDisplay:()=>sn,display_TM1637_clearDisplay_32:()=>Hs,display_TM1637_displayTime:()=>tn,display_TM1637_displayTime_32:()=>Bs,display_TM1637_displyPrint:()=>fn,display_TM1637_displyPrint_32:()=>Gs,display_TM1637_init:()=>en,display_TM1637_init_32:()=>Xs,display_lcd_bitmap:()=>_s,display_matrix_bitmap:()=>An,get_utf8_width:()=>os,group_lcd_init:()=>ks,group_lcd_init2:()=>Ki,group_lcd_init3:()=>qi,group_lcd_power:()=>Ji,group_lcd_print:()=>zi,group_lcd_print2:()=>Zi,lcd_display_pattern:()=>us,lcd_pattern:()=>rs,oled_clear:()=>jn,oled_define_bitmap_data:()=>Kn,oled_drawCircle:()=>is,oled_drawEllipse:()=>ns,oled_drawFrame:()=>fs,oled_drawLine:()=>Qn,oled_drawPixel:()=>Jn,oled_drawRFrame:()=>ts,oled_drawStr:()=>ss,oled_drawTriangle:()=>es,oled_draw_Str_Line:()=>$n,oled_face:()=>zn,oled_icons:()=>qn,oled_init:()=>Bn,oled_page:()=>xs,oled_print:()=>ps,oled_set_CN_Font:()=>ls,oled_set_EN_Font:()=>as,oled_set_ZH_TW_Font:()=>cs,oled_showBitmap:()=>Zn,tft_Circle:()=>bs,tft_Rect:()=>Ps,tft_RoundRect:()=>Ls,tft_Triangle:()=>Ds,tft_define_bitmap_data:()=>Ms,tft_drawFastLine:()=>Ns,tft_drawLine:()=>Rs,tft_drawPixel:()=>Ss,tft_generate_bitmap_data:()=>Cs,tft_icons:()=>ws,tft_print:()=>Vs,tft_print_refresh:()=>Ys,tft_set_CN_Font:()=>vs,tft_set_EN_Font:()=>ys,tft_showBitmap:()=>Os,u8g2_LCD12864_8080_init:()=>Wn,u8g2_LCD12864_spi_init:()=>Hn,u8g2_setContrast:()=>ds,u8g2_spi_init:()=>Un});var o={};f.r(o),f.d(o,{MQTT_add_subscribe_topic:()=>ra,MQTT_connect:()=>pa,MQTT_publish:()=>oa,MQTT_server:()=>na,MQTT_subscribe:()=>_a,MQTT_subscribe_value:()=>ua,NTP_server:()=>fa,NTP_server_get_time:()=>ia,WIFI_ap_and_sta:()=>Ea,WIFI_ap_or_sta:()=>Aa,WIFI_incomingPacket:()=>Ta,WIFI_info:()=>sa,WIFI_send_data:()=>ga,WIFI_smartConfig:()=>Ia,WeatherGet:()=>ma,WeatherGetForecast:()=>Ca,WeatherGetToday:()=>Ma,asyncelegantota:()=>Da,ethernet_client_available:()=>Js,ethernet_client_connect_server:()=>qs,ethernet_client_connected:()=>Zs,ethernet_client_get_request:()=>ea,ethernet_client_print:()=>Qs,ethernet_client_println:()=>$s,ethernet_client_read:()=>xa,ethernet_client_stop:()=>zs,ethernet_init_begin:()=>Ws,ethernet_init_local_ip:()=>Ks,ethernet_mac_address:()=>js,http_get:()=>Fa,mixio_mqtt_publish:()=>Ra,mixio_mqtt_received_the_news:()=>Na,mixio_mqtt_subscribe:()=>Oa,mixio_mqtt_subscribe_key:()=>Sa,mqtt_topics_set:()=>ha,network_connect:()=>aa,network_get_connect:()=>ca,network_wifi_connect:()=>la});var u={};f.r(u),f.d(u,{factory_block:()=>Ha,factory_block_return:()=>Wa,factory_block_return_with_textarea:()=>Ka,factory_block_with_textarea:()=>ja,factory_callMethod_noreturn:()=>Ba,factory_callMethod_return:()=>Ua,factory_create_with_container:()=>ya,factory_create_with_item:()=>va,factory_declare:()=>Va,factory_declare2:()=>Ya,factory_define:()=>ka,factory_function_noreturn:()=>ba,factory_function_return:()=>wa,factory_include:()=>La,factory_static_method_noreturn:()=>Xa,factory_static_method_return:()=>Ga});var r={};f.r(r),f.d(r,{ADS1015_Get_Value:()=>hl,ADS1015_setGain:()=>_l,ESP32touchButton:()=>dl,OneButton_interrupt:()=>tl,PCF8591T:()=>Fl,controls_attachInterrupt:()=>il,controls_attachPinInterrupt:()=>sl,controls_detachInterrupt:()=>nl,controls_detachPinInterrupt:()=>al,inout_analog_read:()=>el,inout_analog_write:()=>xl,inout_buildin_led:()=>fl,inout_cancel_soft_analog_write:()=>ul,inout_digital_read:()=>Qa,inout_digital_read2:()=>$a,inout_digital_write2:()=>Ja,inout_highlow:()=>za,inout_pinMode:()=>Za,inout_pulseIn:()=>ll,inout_pulseIn2:()=>cl,inout_shiftout:()=>pl,inout_soft_analog_write:()=>ol});var _={};f.r(_),f.d(_,{array2_assignment:()=>Ll,create_array2_with_text:()=>Pl,get_array2_value:()=>bl,lists2GetValueByIndex:()=>vl,lists2SetValueByIndex:()=>yl,listsGetValueByIndex:()=>Rl,listsSetValueByIndex:()=>Nl,lists_array2_get_length:()=>kl,lists_array2_setup:()=>wl,lists_array2_setup_get_data:()=>Vl,lists_create_with:()=>El,lists_create_with2:()=>gl,lists_create_with_container:()=>Ml,lists_create_with_item:()=>Cl,lists_create_with_text:()=>Tl,lists_create_with_text2:()=>ml,lists_getIndex:()=>Ol,lists_length:()=>Dl,lists_setIndex:()=>Sl,loop_array:()=>Yl});var h={};f.r(h),f.d(h,{logic_boolean:()=>Hl,logic_compare:()=>Gl,logic_negate:()=>Ul,logic_null:()=>Wl,logic_operation:()=>Bl,logic_true_or_false:()=>jl});var F={};f.r(F),f.d(F,{arduino_variate_type:()=>$l,base_map:()=>nc,math_SizeOf:()=>xc,math_arithmetic:()=>zl,math_auto_add_or_minus:()=>ac,math_bit:()=>Zl,math_constrain:()=>ic,math_max_min:()=>ec,math_number:()=>ql,math_random_int:()=>tc,math_random_seed:()=>fc,math_to_int:()=>Ql,math_trig:()=>Jl,variables_operation:()=>sc});var I={};f.r(I),f.d(I,{pins_MISO:()=>rc,pins_MOSI:()=>uc,pins_SCK:()=>_c,pins_SCL:()=>hc,pins_SDA:()=>Fc,pins_analog:()=>pc,pins_digital:()=>cc,pins_interrupt:()=>oc,pins_pwm:()=>dc});var A={};f.r(A),f.d(A,{procedures_callnoreturn:()=>mc,procedures_callreturn:()=>Mc,procedures_defnoreturn:()=>Ac,procedures_defreturn:()=>Ec,procedures_ifreturn:()=>Cc,procedures_mutatorarg:()=>gc,procedures_mutatorcontainer:()=>Tc,procedures_return:()=>Oc});var E={};f.r(E),f.d(E,{ADXL345:()=>$c,ADXL345_setOffset:()=>fp,AHT20_21:()=>vp,Arduino_keypad_4_4_start:()=>Op,BME280_READ:()=>hp,DHT:()=>yc,DS1302_init:()=>Xc,DS1307_init:()=>Bc,LIS3DHTR:()=>ep,LM35:()=>vc,MPU6050:()=>tp,MPU6050_update:()=>ip,NTC_TEMP:()=>yp,PS2_Button:()=>Ep,PS2_init:()=>Fp,PS2_stk:()=>Tp,PS2_update:()=>Ip,RTC_date:()=>jc,RTC_get_time:()=>Hc,RTC_set_date:()=>zc,RTC_set_time:()=>Kc,RTC_time:()=>Wc,SHT20:()=>Jc,TCS34725_Get_RGB:()=>mp,arduino_keypad_event:()=>Pp,chaoshengbo2:()=>bc,ds18b20:()=>wc,encoder_init:()=>sp,encoder_init1:()=>cp,encoder_read:()=>lp,encoder_read1:()=>dp,encoder_write:()=>ap,encoder_write1:()=>pp,get_keypad_num:()=>Dp,get_system_date_time:()=>qc,gps_data_available:()=>Nc,gps_data_encode:()=>Dc,gps_getData_xxx:()=>Lc,gps_init:()=>Rc,gps_xxx_isValid:()=>Pc,keypad_col_data:()=>Rp,keypad_row_data:()=>Sp,keypad_type_data:()=>Np,mixgo_MPU9250:()=>bp,mlx90614_get_data:()=>Yc,mlx90614_init:()=>Vc,sensor_encoder_get:()=>up,sensor_encoder_handle:()=>_p,sensor_encoder_init:()=>op,sensor_encoder_set:()=>rp,tcs230_Get_RGB:()=>Cp,tcs230_init:()=>Mp,weightSensor:()=>kc});var T={};f.r(T),f.d(T,{serial_available:()=>Up,serial_begin:()=>Vp,serial_event:()=>zp,serial_flush:()=>Kp,serial_parseInt_Float:()=>jp,serial_print:()=>kp,serial_print_hex:()=>Bp,serial_print_num:()=>Gp,serial_println:()=>Xp,serial_readstr:()=>Hp,serial_readstr_until:()=>Wp,serial_softserial:()=>qp,serial_write:()=>Yp});var g={};f.r(g),f.d(g,{sd_DelFile:()=>td,sd_card_root_files:()=>$p,sd_card_type:()=>Qp,sd_exist:()=>fd,sd_read:()=>id,sd_volume:()=>ed,simple_spiffs_DelFile:()=>_d,simple_spiffs_read:()=>ud,simple_spiffs_store_spiffs_write:()=>rd,store_eeprom_get:()=>dd,store_eeprom_put:()=>pd,store_eeprom_read_byte:()=>cd,store_eeprom_read_long:()=>ad,store_eeprom_write_byte:()=>ld,store_eeprom_write_long:()=>sd,store_sd_init:()=>Zp,store_sd_init_32:()=>Jp,store_sd_write:()=>nd});var m={};f.r(m),f.d(m,{Arduinojson:()=>Xd,String_indexOf:()=>Yd,String_to_Long_Integer:()=>Gd,ascii_to_char:()=>Td,char_to_ascii:()=>gd,create_with_container:()=>Vd,create_with_item:()=>wd,data_replacement:()=>Ld,decimal_places:()=>Nd,eliminate:()=>bd,first_and_last:()=>yd,letter_conversion:()=>Pd,number_to_text:()=>md,number_to_text_:()=>Md,substring:()=>Dd,text:()=>Fd,text_char:()=>Id,text_char_at:()=>Od,text_compareTo:()=>Rd,text_equals_starts_ends:()=>Sd,text_join:()=>Ad,text_join2:()=>kd,text_length:()=>Cd,text_to_number:()=>Ed,type_conversion:()=>vd});var M={};f.r(M),f.d(M,{IICSCAN:()=>Wd,core_esp32c3_pin:()=>eo,esp32c3_pin:()=>xo,esp32s2_pin:()=>$d,esp32s3_pin:()=>fo,esp8266_board_pin:()=>lo,esp8266_pin:()=>to,factory_notes:()=>Ud,folding_block:()=>Hd,get_the_number_of_days_between_the_two_dates:()=>so,leonardo_pin:()=>Qd,mega_pin:()=>Zd,nano_pin:()=>zd,promini_pin:()=>Jd,stm32f103c8t6_pin:()=>no,tool_modulus:()=>Kd,tool_modulus_show:()=>jd,uno_pin:()=>qd,wemos_d1_mini_pin:()=>io});var C={};f.r(C),f.d(C,{variables_change:()=>_o,variables_declare:()=>oo,variables_get:()=>uo,variables_set:()=>ro});var O={};f.r(O),f.d(O,{AFMotorRun:()=>zo,AFMotorStop:()=>Zo,GD5800_MP3_CONTROL:()=>Uo,GD5800_MP3_EQ_MODE:()=>jo,GD5800_MP3_LOOP_MODE:()=>Wo,GD5800_MP3_PLAY_NUM:()=>qo,GD5800_MP3_Set_Device:()=>Ho,GD5800_MP3_VOL:()=>Ko,I2Cmotor:()=>ru,M9101X_S_MP3_CONTROL:()=>_u,M9101X_S_MP3_PLAY_NUM:()=>Fu,M9101X_S_MP3_VOL_CONTROL:()=>hu,Mixly_motor:()=>Xo,Motor_8833:()=>Go,RGB_color_HSV:()=>vo,RGB_color_rgb:()=>Po,RGB_color_seclet:()=>Do,arduino_dfplayer_available:()=>uu,arduino_dfplayer_loopFolder:()=>cu,arduino_dfplayer_mini_EQ:()=>fu,arduino_dfplayer_mini_EQ_type:()=>tu,arduino_dfplayer_mini_begin:()=>Jo,arduino_dfplayer_mini_outputDevice:()=>iu,arduino_dfplayer_mini_outputDevice_type:()=>nu,arduino_dfplayer_mini_pin:()=>Qo,arduino_dfplayer_mini_setTimeOut:()=>$o,arduino_dfplayer_mini_volume:()=>xu,arduino_dfplayer_mini_volume_up_down:()=>eu,arduino_dfplayer_playFolder:()=>lu,arduino_dfplayer_play_loop:()=>au,arduino_dfplayer_readFileCounts:()=>du,arduino_dfplayer_readFileCountsInFolder:()=>ou,arduino_dfplayer_read_now:()=>pu,arduino_dfplayer_set_1:()=>su,controls_notone:()=>Mo,controls_notone_noTimer:()=>Oo,controls_tone:()=>mo,controls_tone_noTimer:()=>Co,display_rgb:()=>yo,display_rgb_Brightness:()=>bo,display_rgb_init:()=>Lo,display_rgb_rainbow1:()=>Vo,display_rgb_rainbow2:()=>Yo,display_rgb_rainbow3:()=>ko,display_rgb_show:()=>wo,group_stepper_move:()=>No,group_stepper_setup:()=>So,group_stepper_setup2:()=>Ro,servo_move:()=>ho,servo_move1:()=>Ao,servo_read_degrees:()=>Io,servo_read_degrees1:()=>To,servo_writeMicroseconds:()=>Fo,servo_writeMicroseconds1:()=>Eo,tone_notes:()=>go,voice_module:()=>Bo});var S={};f.r(S),f.d(S,{Blynk_connect_state:()=>$u,Blynk_iot_BLYNK_syncAll:()=>Ou,Blynk_iot_CONNECT_STATE:()=>Cu,Blynk_iot_timer:()=>Mu,arduino_blynk_bluetooth:()=>nr,blynk_AP_config:()=>Ju,blynk_AP_config_2:()=>Qu,blynk_WidgetRTC_get_time:()=>Uu,blynk_WidgetRTC_init:()=>Bu,blynk_acc:()=>Ku,blynk_bridge_AnaloglWrite:()=>Xu,blynk_bridge_VPin:()=>Gu,blynk_bridge_auth:()=>Yu,blynk_bridge_digitalWrite:()=>ku,blynk_connected:()=>or,blynk_email:()=>bu,blynk_esp32_Bluetooth:()=>ir,blynk_esp32_ble:()=>tr,blynk_gravity:()=>ju,blynk_iot_WidgetLED_COLOR:()=>Ru,blynk_iot_WidgetLED_VALUE:()=>Nu,blynk_iot_auth:()=>Iu,blynk_iot_get_data:()=>mu,blynk_iot_ir_recv_raw:()=>Pu,blynk_iot_ir_send:()=>Lu,blynk_iot_ir_send_ac:()=>Du,blynk_iot_playmusic:()=>Hu,blynk_iot_push_data:()=>gu,blynk_iot_syncVirtual:()=>Su,blynk_iot_terminal_get:()=>wu,blynk_lcd:()=>er,blynk_lcd_clear:()=>fr,blynk_light:()=>Wu,blynk_notify:()=>yu,blynk_server:()=>Eu,blynk_smartconfig:()=>Au,blynk_table:()=>sr,blynk_table_add_data:()=>Ir,blynk_table_cleardata:()=>dr,blynk_table_click:()=>hr,blynk_table_highlight:()=>lr,blynk_table_order:()=>Fr,blynk_table_select:()=>cr,blynk_table_unselect:()=>pr,blynk_table_update:()=>ar,blynk_terminal:()=>vu,blynk_terminal_clear:()=>xr,blynk_time_input_1:()=>qu,blynk_usb_server:()=>Tu,blynk_videourl:()=>Vu,esp_camera:()=>ur,esp_camera_blynk:()=>rr,factory_declare2:()=>Zu,take_a_photo1:()=>_r,tone_notes:()=>zu});var R={};f.r(R),f.d(R,{MFRC522_IsNewCard:()=>vr,MFRC522_ReadCard:()=>Yr,MFRC522_ReadCardUID:()=>wr,MFRC522_WriteCard:()=>Vr,MFRC522_init:()=>yr,RFID_in:()=>br,RFID_init:()=>Sr,RFID_off:()=>Lr,RFID_on:()=>Rr,RFID_readcarddata:()=>Pr,RFID_readcardnum:()=>Nr,RFID_writecarddata:()=>Dr,i2c_available:()=>Hr,i2c_begin_end_transmission:()=>Gr,i2c_howmany:()=>Wr,i2c_master_Init:()=>kr,i2c_master_reader:()=>$r,i2c_master_reader2:()=>Cr,i2c_master_readerReg:()=>Zr,i2c_master_writer:()=>Mr,i2c_master_writerReg:()=>zr,i2c_read:()=>jr,i2c_slave_Init:()=>Xr,i2c_slave_onreceive:()=>Jr,i2c_slave_onrequest:()=>Qr,i2c_slave_write:()=>Or,i2c_slave_write_array:()=>Ur,i2c_write:()=>Br,ir_recv:()=>Ar,ir_recv_enable:()=>Er,ir_recv_raw:()=>gr,ir_send_nec:()=>Tr,ir_send_raw:()=>mr,spi_begin_master:()=>x_,spi_begin_slave:()=>qr,spi_slave_interrupt:()=>i_,spi_slave_receive:()=>n_,spi_transfer:()=>Kr,spi_transfer_1:()=>f_,spi_transfer_2:()=>t_,spi_transfer_Init:()=>e_});var N={};f.r(N),f.d(N,{base_delay:()=>T_,base_setup:()=>s_,controls_delay:()=>o_,controls_end_program:()=>F_,controls_flow_statements:()=>d_,controls_for:()=>c_,controls_if:()=>a_,controls_interrupts:()=>A_,controls_millis:()=>u_,controls_mstimer2:()=>r_,controls_mstimer2_start:()=>__,controls_mstimer2_stop:()=>h_,controls_nointerrupts:()=>E_,controls_soft_reset:()=>I_,controls_switch_case:()=>l_,controls_whileUntil:()=>p_,do_while:()=>m_,execute_super_delay_function1:()=>C_,simple_timer:()=>g_,super_delay_function1:()=>M_});var D={};f.r(D),f.d(D,{HT16K33_Init:()=>G_,LedArray:()=>xh,MAX7219_init:()=>B_,Matrix_img:()=>eh,TFT_Brightness:()=>kh,TFT_Rotation:()=>Gh,TFT_color_rgb:()=>Wh,TFT_color_seclet:()=>Hh,TFT_fillScreen:()=>Kh,TFT_init:()=>jh,TFT_init_with_pin:()=>Ph,TFT_st7735_show_hz:()=>Yh,display_4digitdisplay_displayString:()=>L_,display_4digitdisplay_power:()=>P_,display_4digitdisplay_showDot:()=>b_,display_HT16K33_Rotation:()=>$_,display_Matrix_Brightness:()=>z_,display_Matrix_DisplayChar:()=>j_,display_Matrix_DrawPixel:()=>U_,display_Matrix_LedArray:()=>K_,display_Matrix_TEXT:()=>H_,display_Matrix_fillScreen:()=>Z_,display_Matrix_print:()=>W_,display_Matrix_write:()=>fh,display_Max7219_Rotation:()=>J_,display_Max7219_setPosition:()=>Q_,display_TM1637_Brightness:()=>X_,display_TM1637_Brightness_32:()=>pF,display_TM1637_clearDisplay:()=>k_,display_TM1637_clearDisplay_32:()=>cF,display_TM1637_displayTime:()=>Y_,display_TM1637_displayTime_32:()=>lF,display_TM1637_displyPrint:()=>V_,display_TM1637_displyPrint_32:()=>aF,display_TM1637_init:()=>w_,display_TM1637_init_32:()=>sF,display_lcd_bitmap:()=>Nh,display_matrix_bitmap:()=>q_,get_utf8_width:()=>Oh,group_lcd_init:()=>dF,group_lcd_init2:()=>O_,group_lcd_init3:()=>S_,group_lcd_power:()=>D_,group_lcd_print:()=>R_,group_lcd_print2:()=>N_,lcd_display_pattern:()=>Sh,lcd_pattern:()=>Rh,oled_clear:()=>ah,oled_define_bitmap_data:()=>uh,oled_drawCircle:()=>Ah,oled_drawEllipse:()=>Eh,oled_drawFrame:()=>Fh,oled_drawLine:()=>rh,oled_drawPixel:()=>ph,oled_drawRFrame:()=>Ih,oled_drawTriangle:()=>hh,oled_draw_Str_Line:()=>_h,oled_face:()=>lh,oled_icons:()=>ch,oled_init:()=>th,oled_page:()=>dh,oled_print:()=>Th,oled_set_CN_Font:()=>mh,oled_set_EN_Font:()=>gh,oled_set_ZH_TW_Font:()=>Mh,oled_showBitmap:()=>oh,tft_Circle:()=>xF,tft_Rect:()=>Qh,tft_RoundRect:()=>$h,tft_Triangle:()=>Jh,tft_define_bitmap_data:()=>eF,tft_drawFastLine:()=>Zh,tft_drawLine:()=>zh,tft_drawPixel:()=>qh,tft_generate_bitmap_data:()=>fF,tft_icons:()=>Xh,tft_print:()=>Uh,tft_setFont:()=>Bh,tft_set_CN_Font:()=>nF,tft_set_EN_Font:()=>iF,tft_showBitmap:()=>tF,u8g2_LCD12864_8080_init:()=>sh,u8g2_LCD12864_spi_init:()=>nh,u8g2_setContrast:()=>Ch,u8g2_spi_init:()=>ih});var P={};f.r(P),f.d(P,{MQTT_connect:()=>DF,MQTT_publish:()=>PF,MQTT_server:()=>NF,MQTT_subscribe:()=>bF,MQTT_subscribe_value:()=>LF,NTP_server:()=>OF,NTP_server_get_time:()=>SF,WIFI_ap_and_sta:()=>VF,WIFI_ap_or_sta:()=>wF,WIFI_incomingPacket:()=>YF,WIFI_info:()=>mF,WIFI_send_data:()=>kF,WIFI_smartConfig:()=>vF,WeatherGet:()=>GF,WeatherGetForecast:()=>UF,WeatherGetToday:()=>BF,asyncelegantota:()=>qF,ethernet_client_available:()=>IF,ethernet_client_connect_server:()=>_F,ethernet_client_connected:()=>FF,ethernet_client_get_request:()=>gF,ethernet_client_print:()=>AF,ethernet_client_println:()=>EF,ethernet_client_read:()=>TF,ethernet_client_stop:()=>hF,ethernet_init_begin:()=>oF,ethernet_init_local_ip:()=>rF,ethernet_mac_address:()=>uF,http_get:()=>yF,mixio_mqtt_publish:()=>jF,mixio_mqtt_received_the_news:()=>KF,mixio_mqtt_subscribe:()=>HF,mixio_mqtt_subscribe_key:()=>WF,network_get_connect:()=>CF,network_wifi_connect:()=>MF});var L={};f.r(L),f.d(L,{factory_block:()=>nI,factory_block_return:()=>sI,factory_block_return_with_textarea:()=>lI,factory_block_with_textarea:()=>aI,factory_callMethod_noreturn:()=>tI,factory_callMethod_return:()=>iI,factory_declare:()=>QF,factory_declare2:()=>$F,factory_define:()=>xI,factory_function_noreturn:()=>ZF,factory_function_return:()=>JF,factory_include:()=>zF,factory_static_method_noreturn:()=>eI,factory_static_method_return:()=>fI});var b={};f.r(b),f.d(b,{ADS1015_Get_Value:()=>NI,ADS1015_setGain:()=>RI,ESP32touchButton:()=>CI,OneButton_interrupt:()=>FI,PCF8591T:()=>DI,controls_attachInterrupt:()=>II,controls_attachPinInterrupt:()=>EI,controls_detachInterrupt:()=>AI,controls_detachPinInterrupt:()=>TI,inout_analog_read:()=>_I,inout_analog_write:()=>rI,inout_buildin_led:()=>hI,inout_cancel_soft_analog_write:()=>SI,inout_digital_read:()=>oI,inout_digital_read2:()=>uI,inout_digital_write2:()=>dI,inout_highlow:()=>cI,inout_pinMode:()=>pI,inout_pulseIn:()=>gI,inout_pulseIn2:()=>mI,inout_shiftout:()=>MI,inout_soft_analog_write:()=>OI});var y={};f.r(y),f.d(y,{array2_assignment:()=>GI,create_array2_with_text:()=>XI,get_array2_value:()=>BI,lists2GetValueByIndex:()=>HI,lists2SetValueByIndex:()=>UI,listsGetValueByIndex:()=>VI,listsSetValueByIndex:()=>YI,lists_array2_get_length:()=>qI,lists_array2_setup:()=>WI,lists_array2_setup_get_data:()=>jI,lists_create_with:()=>PI,lists_create_with2:()=>bI,lists_create_with_text:()=>LI,lists_create_with_text2:()=>yI,lists_getIndex:()=>vI,lists_length:()=>kI,lists_setIndex:()=>wI,loop_array:()=>KI});var v={};f.r(v),f.d(v,{logic_boolean:()=>QI,logic_compare:()=>zI,logic_negate:()=>JI,logic_null:()=>$I,logic_operation:()=>ZI,logic_true_or_false:()=>xA});var w={};f.r(w),f.d(w,{arduino_variate_type:()=>aA,base_map:()=>oA,math_SizeOf:()=>lA,math_arithmetic:()=>fA,math_auto_add_or_minus:()=>_A,math_bit:()=>tA,math_constrain:()=>uA,math_max_min:()=>cA,math_number:()=>eA,math_random_int:()=>dA,math_random_seed:()=>pA,math_single:()=>iA,math_to_int:()=>sA,math_trig:()=>nA,variables_operation:()=>rA});var V={};f.r(V),f.d(V,{pins_MISO:()=>TA,pins_MOSI:()=>EA,pins_SCK:()=>gA,pins_SCL:()=>mA,pins_SDA:()=>MA,pins_analog:()=>FA,pins_digital:()=>hA,pins_interrupt:()=>AA,pins_pwm:()=>IA});var Y={};f.r(Y),f.d(Y,{procedures_callnoreturn:()=>RA,procedures_callreturn:()=>SA,procedures_defnoreturn:()=>OA,procedures_defreturn:()=>CA,procedures_ifreturn:()=>NA,procedures_return:()=>DA});var k={};f.r(k),f.d(k,{ADXL345:()=>QA,ADXL345_setOffset:()=>xE,AHT20_21:()=>NE,Arduino_keypad_4_4_start:()=>TE,BME280_READ:()=>uE,DHT:()=>VA,DS1302_init:()=>UA,DS1307_init:()=>HA,LIS3DHTR:()=>$A,LM35:()=>YA,MPU6050:()=>eE,MPU6050_update:()=>fE,NTC_TEMP:()=>RE,PS2_Button:()=>hE,PS2_init:()=>rE,PS2_stk:()=>FE,PS2_update:()=>_E,RTC_date:()=>jA,RTC_get_time:()=>WA,RTC_set_date:()=>ZA,RTC_set_time:()=>qA,RTC_time:()=>KA,SHT20:()=>JA,TCS34725_Get_RGB:()=>IE,arduino_keypad_event:()=>OE,chaoshengbo2:()=>wA,ds18b20:()=>kA,encoder_init:()=>nE,encoder_init1:()=>lE,encoder_read:()=>iE,encoder_read1:()=>aE,encoder_write:()=>tE,encoder_write1:()=>sE,get_keypad_num:()=>CE,get_system_date_time:()=>zA,gps_data_available:()=>LA,gps_data_encode:()=>bA,gps_getData_xxx:()=>vA,gps_init:()=>PA,gps_xxx_isValid:()=>yA,keypad_col_data:()=>mE,keypad_row_data:()=>gE,keypad_type_data:()=>ME,mixgo_MPU9250:()=>SE,mlx90614_get_data:()=>GA,mlx90614_init:()=>XA,sensor_encoder_get:()=>pE,sensor_encoder_handle:()=>oE,sensor_encoder_init:()=>cE,sensor_encoder_set:()=>dE,tcs230_Get_RGB:()=>EE,tcs230_init:()=>AE,weightSensor:()=>BA});var X={};f.r(X),f.d(X,{serial_available:()=>wE,serial_begin:()=>DE,serial_event:()=>BE,serial_flush:()=>XE,serial_parseInt_Float:()=>kE,serial_print:()=>LE,serial_print_hex:()=>vE,serial_print_num:()=>yE,serial_println:()=>bE,serial_readstr:()=>VE,serial_readstr_until:()=>YE,serial_softserial:()=>GE,serial_write:()=>PE});var G={};f.r(G),f.d(G,{sd_DelFile:()=>JE,sd_card_root_files:()=>KE,sd_card_type:()=>jE,sd_exist:()=>zE,sd_read:()=>ZE,sd_volume:()=>qE,simple_spiffs_DelFile:()=>sT,simple_spiffs_read:()=>nT,simple_spiffs_store_spiffs_write:()=>iT,store_eeprom_get:()=>tT,store_eeprom_put:()=>fT,store_eeprom_read_byte:()=>eT,store_eeprom_read_long:()=>$E,store_eeprom_write_byte:()=>xT,store_eeprom_write_long:()=>QE,store_sd_init:()=>HE,store_sd_write:()=>WE});var B={};f.r(B),f.d(B,{String_indexOf:()=>CT,String_to_Long_Integer:()=>ST,ascii_to_char:()=>dT,char_to_ascii:()=>oT,data_replacement:()=>TT,decimal_places:()=>IT,eliminate:()=>gT,first_and_last:()=>mT,letter_conversion:()=>ET,number_to_text:()=>uT,substring:()=>AT,text:()=>aT,text_char:()=>lT,text_char_at:()=>_T,text_compareTo:()=>FT,text_equals_starts_ends:()=>hT,text_join:()=>cT,text_join2:()=>OT,text_length:()=>rT,text_to_number:()=>pT,type_conversion:()=>MT});var U={};f.r(U),f.d(U,{IICSCAN:()=>DT,core_esp32c3_pin:()=>ZT,esp32c3_pin:()=>qT,esp32s2_pin:()=>KT,esp32s3_pin:()=>zT,esp8266_board_pin:()=>QT,esp8266_pin:()=>HT,factory_notes:()=>RT,folding_block:()=>NT,get_the_number_of_days_between_the_two_dates:()=>JT,leonardo_pin:()=>GT,mega_pin:()=>UT,nano_pin:()=>kT,promini_pin:()=>XT,stm32f103c8t6_pin:()=>jT,tool_modulus:()=>YT,tool_modulus_show:()=>bT,uno_pin:()=>BT,wemos_d1_mini_pin:()=>WT});var H={};f.r(H),f.d(H,{variables_change:()=>fg,variables_declare:()=>xg,variables_get:()=>$T,variables_set:()=>eg});var W={};f.r(W),f.d(W,{HR8833_Motor_Setup:()=>dg,HR8833_Motor_Speed:()=>og,controls_notone:()=>ag,controls_tone:()=>sg,handbit_motor_move:()=>ug,motor_id:()=>pg,onboard_notone:()=>cg,onboard_tone:()=>lg});var j={};f.r(j),f.d(j,{serialBT_Init:()=>_g,serialBT_available:()=>hg,serialBT_read:()=>Fg,serialBT_write:()=>Ig});var K={};f.r(K),f.d(K,{control_core_delay:()=>gg,controls_hw_timer:()=>Eg,controls_hw_timer_start:()=>mg,controls_hw_timer_stop:()=>Mg,controls_runnig_core:()=>Tg,esp32_deep_sleep:()=>Cg});var q={};f.r(q),f.d(q,{esp32_wifi_connection_event:()=>Rg,esp_now_receive:()=>Sg,esp_now_send:()=>Og});var z={};f.r(z),f.d(z,{handbit_MSA300:()=>Yg,handbit_MSA300_action:()=>kg,handbit_RGB_color_HSV:()=>qg,handbit_button_is_pressed:()=>Pg,handbit_light:()=>Lg,handbit_motor_move:()=>Kg,handbit_rgb:()=>Ug,handbit_rgb2:()=>Hg,handbit_rgb_Brightness:()=>Wg,handbit_rgb_rainbow1:()=>Xg,handbit_rgb_rainbow3:()=>Bg,handbit_rgb_show:()=>jg,handbit_sound:()=>bg,inout_touchRead:()=>yg,touchAttachInterrupt:()=>vg});var Z={};f.r(Z),f.d(Z,{esp32_led_pwm:()=>fm,inout_esp32_dac:()=>em,inout_touchRead:()=>$g,ledcAttachPin:()=>Zg,ledcDetachPin:()=>Jg,ledcSetup:()=>zg,ledcWrite:()=>Qg,touchAttachInterrupt:()=>xm});var J={};f.r(J),f.d(J,{RGB_color_rgb:()=>hm,RGB_color_seclet:()=>_m,brightness_select:()=>sm,mixePi_button_is_pressed:()=>am,mixepi_ADXL345_action:()=>dm,mixepi_inout_touchRead:()=>pm,mixepi_light:()=>lm,mixepi_rgb:()=>Fm,mixepi_rgb2:()=>Im,mixepi_rgb_Brightness:()=>Am,mixepi_rgb_rainbow1:()=>om,mixepi_rgb_rainbow3:()=>rm,mixepi_sound:()=>cm});var Q={};f.r(Q),f.d(Q,{HT16K33_DisplayChar:()=>Mm,HT16K33_Displayclear:()=>Om,HT16K33_LedArray:()=>Cm,HT16K33_POS:()=>mm,HT16K33_TEXT:()=>gm,HT16K33_blink_rate:()=>Rm,HT16K33_brightness:()=>Nm,HT16K33_show_image:()=>Sm,MixGo_rgb:()=>Xm,MixGo_rgb2:()=>Gm,MixGo_rgb_Brightness:()=>Bm,MixGo_rgb_rainbow1:()=>Vm,MixGo_rgb_rainbow3:()=>km,MixGo_rgb_show:()=>Um,mixGo_led:()=>vm,mixGo_led_brightness:()=>wm,mixgo_button_is_pressed:()=>Dm,mixgo_touch_pin:()=>bm,sensor_mixgo_light:()=>Pm,sensor_mixgo_pin_near:()=>ym,sensor_mixgo_sound:()=>Lm});var xx={};f.r(xx),f.d(xx,{CHANNEL:()=>pM,OCTAVE:()=>oM,PWM_RESOLUTION:()=>dM,TONE_NOTE:()=>uM,brightness:()=>cM,pins_axis:()=>eM,pins_brightness:()=>fM,pins_button:()=>jm,pins_dac:()=>Wm,pins_digitalWrite:()=>rM,pins_exlcdh:()=>$m,pins_exlcdv:()=>xM,pins_one_more:()=>sM,pins_playlist:()=>Qm,pins_radio_datarate:()=>nM,pins_radio_power:()=>iM,pins_scl:()=>zm,pins_sda:()=>Km,pins_serial:()=>Jm,pins_tone_notes:()=>tM,pins_touch:()=>Zm,pins_tx:()=>qm,serial_HardwareSelect:()=>lM,serial_select:()=>aM});var ex={};f.r(ex),f.d(ex,{MPU9250_update:()=>gM,NTC_TEMP:()=>TM,Pocket_rgb:()=>mM,Pocket_rgb2:()=>MM,Pocket_rgb_Brightness:()=>CM,Pocket_rgb_show:()=>OM,mixgo_button_is_pressed:()=>FM,mixgo_touch_pin:()=>AM,pocket_RGB_color_HSV:()=>SM,sensor_button_is_pressed:()=>RM,sensor_light:()=>DM,sensor_mixgo_light:()=>EM,sensor_mixgo_sound:()=>IM,sensor_pin_near:()=>NM,sensor_sound:()=>PM});var fx={};f.r(fx),f.d(fx,{ESP32_hallRead:()=>LM,ESP32_temprature:()=>bM,ESP_TCS34725_Get_RGB:()=>vM,OneButton:()=>yM});var tx={};f.r(tx),f.d(tx,{serial_HardwareSerial:()=>VM,serial_available:()=>HM,serial_begin:()=>YM,serial_event:()=>ZM,serial_flush:()=>qM,serial_parseInt_Float:()=>KM,serial_print:()=>XM,serial_print_hex:()=>UM,serial_print_num:()=>BM,serial_println:()=>GM,serial_readstr:()=>WM,serial_readstr_until:()=>jM,serial_softserial:()=>zM,serial_write:()=>kM});var ix={};f.r(ix),f.d(ix,{hsc025a_instruction:()=>QM,hsc025a_play:()=>$M,hsc025a_volume:()=>xC});var nx={};f.r(nx),f.d(nx,{initialize_spiffs:()=>eC,spiffs_close_file:()=>iC,spiffs_delete_file:()=>cC,spiffs_file_size:()=>lC,spiffs_open_file:()=>tC,spiffs_read_available:()=>sC,spiffs_read_data:()=>aC,spiffs_write_data:()=>nC});var sx={};f.r(sx),f.d(sx,{HR8833_Motor_Setup:()=>CC,HR8833_Motor_Speed:()=>OC,Mixly_motor:()=>mC,controls_notone:()=>EC,controls_tone:()=>AC,display_rgb_show:()=>_C,handbit_motor_move:()=>SC,motor_id:()=>MC,onboard_notone:()=>gC,onboard_tone:()=>TC,servo_move:()=>hC,servo_read_degrees:()=>IC,servo_writeMicroseconds:()=>FC});var ax={};f.r(ax),f.d(ax,{serialBT_Init:()=>NC,serialBT_available:()=>DC,serialBT_read:()=>PC,serialBT_write:()=>LC,spi_transfer:()=>RC});var lx={};f.r(lx),f.d(lx,{base_delay:()=>BC,control_core_delay:()=>yC,controls_end_program:()=>YC,controls_hw_timer:()=>vC,controls_hw_timer_start:()=>wC,controls_hw_timer_stop:()=>VC,controls_interrupts:()=>kC,controls_nointerrupts:()=>XC,controls_runnig_core:()=>bC,esp32_deep_sleep:()=>GC});var cx={};f.r(cx),f.d(cx,{WIFI_info:()=>UC,esp32_wifi_connection_event:()=>jC,esp_now_receive:()=>WC,esp_now_send:()=>HC});var px={};f.r(px),f.d(px,{DHT:()=>qC,ESP32_hallRead:()=>zC,ESP32_temprature:()=>ZC,ESP_TCS34725_Get_RGB:()=>$C,chaoshengbo:()=>KC,sensor_light:()=>JC,sensor_sound:()=>QC});var dx={};f.r(dx),f.d(dx,{OneButton:()=>uO,handbit_MSA300:()=>tO,handbit_MSA300_action:()=>iO,handbit_RGB_color_HSV:()=>_O,handbit_button_is_pressed:()=>xO,handbit_light:()=>eO,handbit_motor_move:()=>rO,handbit_rgb:()=>aO,handbit_rgb2:()=>lO,handbit_rgb_Brightness:()=>cO,handbit_rgb_rainbow1:()=>dO,handbit_rgb_rainbow3:()=>oO,handbit_rgb_show:()=>pO,handbit_sound:()=>fO,inout_touchRead:()=>sO,touchAttachInterrupt:()=>nO});var ox={};f.r(ox),f.d(ox,{controls_attachInterrupt:()=>gO,controls_detachInterrupt:()=>mO,esp32_led_pwm:()=>OO,inout_esp32_dac:()=>CO,inout_pwm_analog_write:()=>TO,inout_touchRead:()=>hO,ledcAttachPin:()=>IO,ledcDetachPin:()=>AO,ledcSetup:()=>FO,ledcWrite:()=>EO,touchAttachInterrupt:()=>MO});var ux={};f.r(ux),f.d(ux,{RGB_color_rgb:()=>yO,RGB_color_seclet:()=>bO,brightness_select:()=>XO,mixePi_button_is_pressed:()=>NO,mixepi_ADXL345_action:()=>LO,mixepi_button_is_pressed:()=>RO,mixepi_inout_touchRead:()=>SO,mixepi_light:()=>DO,mixepi_rgb:()=>vO,mixepi_rgb2:()=>wO,mixepi_rgb_Brightness:()=>VO,mixepi_rgb_rainbow1:()=>YO,mixepi_rgb_rainbow3:()=>kO,mixepi_sound:()=>PO});var rx={};f.r(rx),f.d(rx,{HT16K33_DisplayChar:()=>UO,HT16K33_Displayclear:()=>WO,HT16K33_LedArray:()=>HO,HT16K33_POS:()=>BO,HT16K33_TEXT:()=>GO,HT16K33_brightness:()=>jO,HT16K33_show_image:()=>KO,MixGo_rgb:()=>$O,MixGo_rgb2:()=>xS,MixGo_rgb_Brightness:()=>eS,MixGo_rgb_rainbow1:()=>fS,MixGo_rgb_rainbow3:()=>tS,MixGo_rgb_show:()=>iS,OneButton:()=>nS,mixGo_led:()=>QO,mixgo_button_is_pressed:()=>sS,mixgo_touch_pin:()=>ZO,sensor_button_is_pressed:()=>aS,sensor_mixgo_light:()=>qO,sensor_mixgo_pin_near:()=>JO,sensor_mixgo_sound:()=>zO,sensor_pin_near:()=>lS});var _x={};f.r(_x),f.d(_x,{CHANNEL:()=>vS,OCTAVE:()=>VS,PWM_RESOLUTION:()=>wS,TONE_NOTE:()=>YS,brightness:()=>bS,pins_MISO:()=>NS,pins_MOSI:()=>RS,pins_SCK:()=>DS,pins_analog:()=>dS,pins_axis:()=>ES,pins_brightness:()=>mS,pins_builtinimg:()=>FS,pins_button:()=>pS,pins_dac:()=>uS,pins_digital:()=>cS,pins_digitalWrite:()=>kS,pins_exlcdh:()=>TS,pins_exlcdv:()=>gS,pins_imglist:()=>IS,pins_interrupt:()=>_S,pins_one_more:()=>SS,pins_playlist:()=>AS,pins_pwm:()=>oS,pins_radio_datarate:()=>OS,pins_radio_power:()=>CS,pins_scl:()=>PS,pins_sda:()=>LS,pins_serial:()=>hS,pins_tone_notes:()=>MS,pins_touch:()=>rS,pins_tx:()=>yS});var hx={};f.r(hx),f.d(hx,{MPU9250_update:()=>zS,NTC_TEMP:()=>WS,OneButton:()=>HS,Pocket_rgb:()=>ZS,Pocket_rgb2:()=>JS,Pocket_rgb_Brightness:()=>QS,Pocket_rgb_show:()=>$S,controls_tone:()=>jS,mixgo_MPU9250:()=>qS,mixgo_button_is_pressed:()=>XS,mixgo_touch_pin:()=>BS,onboard_tone:()=>KS,pocket_RGB_color_HSV:()=>xR,sensor_mixgo_light:()=>US,sensor_mixgo_sound:()=>GS});var Fx={};f.r(Fx),f.d(Fx,{serial_HardwareSerial:()=>eR});var Ix={};f.r(Ix),f.d(Ix,{hsc025a_instruction:()=>fR,hsc025a_play:()=>tR,hsc025a_volume:()=>iR});var Ax={};f.r(Ax),f.d(Ax,{initialize_spiffs:()=>nR,spiffs_close_file:()=>aR,spiffs_delete_file:()=>oR,spiffs_file_size:()=>dR,spiffs_open_file:()=>sR,spiffs_read_available:()=>cR,spiffs_read_data:()=>pR,spiffs_write_data:()=>lR,store_eeprom_get:()=>IR,store_eeprom_put:()=>FR,store_eeprom_read_byte:()=>hR,store_eeprom_read_long:()=>rR,store_eeprom_write_byte:()=>_R,store_eeprom_write_long:()=>uR});const Ex=Blockly,Tx=Mixly,gx="#27b6ac",mx={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(Ex.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(Ex.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Ex.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Mx={init:function(){this.appendDummyInput().appendField(new Ex.FieldDropdown([["POST","POST"],["PATCH","PATCH"],["PUT","PUT"]]),"TYPE").appendField(Ex.Msg.blockpy_REQUESTS),this.appendValueInput("api").setCheck(null).appendField(Ex.Msg.blynk_SERVER_ADD),this.appendValueInput("data").setCheck(null).appendField(Ex.Msg.MIXLY_SD_DATA),this.appendStatementInput("success").setCheck(null).appendField(Ex.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Ex.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Cx={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}};var Ox,Sx=[];for(Ox in Cx)Sx.push([Ox,Ox]);function Rx(x){var e,f=[];for(e in Cx[x])f.push([e,e]);return f}var Nx={};for(Ox of Sx)Nx[Ox[0]]=Rx(Ox[0]);const Dx={init:function(){this.appendDummyInput().appendField(new Ex.FieldDropdown(Sx),"province").appendField(new Ex.FieldDependentDropdown("province",Nx,[["-","-"]]),"city"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(gx),this.setHelpUrl(""),this.preProvince=null}},Px={init:function(){this.setColour(gx),this.appendDummyInput("").appendField(new Ex.FieldDropdown([["S9l2sb_ZK-UsWaynG","S9l2sb_ZK-UsWaynG"],["SpRpSYb7QOMT0M8Tz","SpRpSYb7QOMT0M8Tz"],["SboqGMxP4tYNXUN8f","SboqGMxP4tYNXUN8f"],["SJiRrYGYFkGnfi081","SJiRrYGYFkGnfi081"],["SMhSshUxuTL0GLVLS","SMhSshUxuTL0GLVLS"]]),"key"),this.setOutput(!0,null)}},Lx={init:function(){this.appendDummyInput("").appendField(Ex.Msg.MSG.catweather).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[Ex.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[Ex.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(Ex.Msg.MIXLY_INFORMATION_CONFIGURATION),this.appendValueInput("location").setCheck(null).appendField(Ex.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("private_key").setCheck(null).appendField(Ex.Msg.MIXLY_API_PRIVATE_KEY),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_LANGUAGE).appendField(new Ex.FieldDropdown([["简体中文","zh-Hans"],["繁體中文","zh-Hant"],["English","en"]]),"language"),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_TEMPERATURE_UNIT).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_CELSIUS+"(℃)","c"],[Ex.Msg.MIXLY_FAHRENHEIT+"(℉)","f"]]),"unit"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(gx),this.setTooltip("这里的API私钥免费体验有次数限制\n访问频率限制20次/分钟"),this.setHelpUrl("")}},bx={init:function(){this.appendDummyInput("").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[Ex.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[Ex.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_AVAILABLE,"update"],[Ex.Msg.MIXLY_GET_DATA_UPDATE_TIME,"getLastUpdate"],[Ex.Msg.MIXLY_GET_SERVER_RESPONSE_STATUS_CODE,"getServerCode"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(gx),this.setTooltip(""),this.setHelpUrl("")}},yx={init:function(){this.appendDummyInput("").appendField(Ex.Msg.MIXLY_LIVE_WEATHER).appendField(Ex.Msg.MIXLY_GET).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_WEATHER_PHENOMENON,"getWeatherText"],[Ex.Msg.MIXLY_WEATHER_PHENOMENON_CODE,"getWeatherCode"],[Ex.Msg.MIXLY_TEMPERATURE,"getDegree"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(gx),this.setTooltip(""),this.setHelpUrl("")}},vx={init:function(){this.appendDummyInput("").appendField(Ex.Msg.MIXLY_3_DAY_WEATHER_FORECAST).appendField(Ex.Msg.MIXLY_GET).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_TODAY,"0"],[Ex.Msg.MIXLY_TOMORROW,"1"],[Ex.Msg.MIXLY_DAY_AFTER_TOMORROW,"2"]]),"date").appendField(new Ex.FieldDropdown([[Ex.Msg.ForecastHigh,"getHigh"],[Ex.Msg.ForecastLow,"getLow"],[Ex.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON,"getDayText"],[Ex.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE,"getDayCode"],[Ex.Msg.MIXLY_EVENING_WEATHER_PHENOMENON,"getNightText"],[Ex.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE,"getNightCode"],[Ex.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION,"getRain"],[Ex.Msg.ForecastFx,"getWindDirection"],[Ex.Msg.MIXLY_WIND_SPEED,"getWindSpeed"],[Ex.Msg.MIXLY_WIND_RATING,"getWindScale"],[Ex.Msg.MIXLY_Humidity,"getHumidity"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(gx),this.setTooltip(""),this.setHelpUrl("")}},wx={init:function(){this.appendDummyInput("").appendField(Ex.Msg.MIXLY_6_LIFE_INDEXES).appendField(Ex.Msg.MIXLY_GET).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_CAR_WASH_INDEX,"getCarWash"],[Ex.Msg.MIXLY_DRESSING_INDEX,"getDressing"],[Ex.Msg.MIXLY_COLD_INDEX,"getFactorFlu"],[Ex.Msg.MIXLY_MOVEMENT_INDEX,"getExercise"],[Ex.Msg.MIXLY_TOURISM_INDEX,"getTravel"],[Ex.Msg.MIXLY_UV_INDEX,"getUV"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(gx),this.setTooltip(""),this.setHelpUrl("")}},Vx={init:function(){this.appendValueInput("VALUE").setCheck(null).setAlign(Ex.inputs.Align.LEFT).appendField(new Ex.FieldDropdown([["Base64","BASE64"],["URL","URL"]]),"TYPE").appendField(new Ex.FieldDropdown([["编码","ENCODE"],["解码","DECODE"]]),"OPTION"),this.setOutput(!0,null),this.setColour(160),this.setTooltip(""),this.setHelpUrl("")}},Yx=function(){const x=Tx.Boards.getType(),e=Ex.Arduino.valueToCode(this,"api",Ex.Arduino.ORDER_ATOMIC);let f=Ex.Arduino.statementToCode(this,"success")||"";f=f.replace(/(^\s*)|(\s*$)/g,"");let t=Ex.Arduino.statementToCode(this,"failure")||"";t=t.replace(/(^\s*)|(\s*$)/g,"");let i="";return"arduino_esp8266"==x?(Ex.Arduino.definitions_.include_ESP8266WiFi="#include ",Ex.Arduino.definitions_.include_ESP8266HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n WiFiClient client;\n HTTPClient http;\n http.begin(client, "+e+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+f+"\n } else {\n "+t+"\n }\n http.end();\n}\n"):(Ex.Arduino.definitions_.include_WiFi="#include ",Ex.Arduino.definitions_.include_HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+e+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+f+"\n }\n else {\n "+t+"\n }\n http.end();\n}\n"),i},kx=function(){const x=Tx.Boards.getType(),e=this.getFieldValue("TYPE"),f=Ex.Arduino.valueToCode(this,"api",Ex.Arduino.ORDER_ATOMIC),t=Ex.Arduino.valueToCode(this,"data",Ex.Arduino.ORDER_ATOMIC);let i=Ex.Arduino.statementToCode(this,"success")||"";i=i.replace(/(^\s*)|(\s*$)/g,"");let n=Ex.Arduino.statementToCode(this,"failure")||"";n=n.replace(/(^\s*)|(\s*$)/g,"");let s="";return"arduino_esp8266"==x?(Ex.Arduino.definitions_.include_ESP8266WiFi="#include ",Ex.Arduino.definitions_.include_ESP8266HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n WiFiClient client;\n http.begin(client, "+f+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+e+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n } else {\n "+n+"\n }\n http.end();\n}\n"):(Ex.Arduino.definitions_.include_WiFi="#include ",Ex.Arduino.definitions_.include_HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+f+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+e+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n }\n else {\n "+n+"\n }\n http.end();\n}\n"),s},Xx={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}},Gx=function(){var x=this.getFieldValue("province"),e=this.getFieldValue("city"),f="";try{f='"'+Xx[x][e].pinyin+'"'}catch(x){console.log(x)}return[f,Ex.Arduino.ORDER_ATOMIC]},Bx=function(){return['"'+this.getFieldValue("key")+'"',Ex.Arduino.ORDER_ATOMIC]},Ux=function(){var x=this.getFieldValue("api"),e=Ex.Arduino.valueToCode(this,"location",Ex.Arduino.ORDER_ATOMIC),f=Ex.Arduino.valueToCode(this,"private_key",Ex.Arduino.ORDER_ATOMIC),t=this.getFieldValue("language"),i=this.getFieldValue("unit");switch(Ex.Arduino.definitions_.include_ESP8266_Seniverse="#include ",Ex.Arduino.setups_.setup_serial_Serial="Serial.begin(9600);",x){case"weather/now":Ex.Arduino.definitions_.var_declare_weatherNow="WeatherNow weatherNow;",Ex.Arduino.setups_.setup_seniverse_weatherNow="weatherNow.config("+f+", "+e+', "'+i+'", "'+t+'");';break;case"weather/daily":Ex.Arduino.definitions_.var_declare_forecast="Forecast forecast;",Ex.Arduino.setups_.setup_seniverse_forecast="forecast.config("+f+", "+e+', "'+i+'", "'+t+'");';break;default:Ex.Arduino.definitions_.var_declare_lifeInfo="LifeInfo lifeInfo;",Ex.Arduino.setups_.setup_seniverse_lifeInfo="lifeInfo.config("+f+", "+e+', "'+i+'", "'+t+'");'}return""},Hx=function(){var x=this.getFieldValue("api"),e=this.getFieldValue("type"),f="";switch(x){case"weather/now":f="weatherNow."+e+"()";break;case"weather/daily":f="forecast."+e+"()";break;default:f="lifeInfo."+e+"()"}return[f,Ex.Arduino.ORDER_ATOMIC]},Wx=function(){return["weatherNow."+this.getFieldValue("type")+"()",Ex.Arduino.ORDER_ATOMIC]},jx=function(){var x=this.getFieldValue("date");return["forecast."+this.getFieldValue("type")+"("+x+")",Ex.Arduino.ORDER_ATOMIC]},Kx=function(){return["lifeInfo."+this.getFieldValue("type")+"()",Ex.Arduino.ORDER_ATOMIC]},qx=function(){const x=this.getFieldValue("TYPE"),e=this.getFieldValue("OPTION"),f=Ex.Arduino.valueToCode(this,"VALUE",Ex.Arduino.ORDER_ATOMIC);let t="";return"BASE64"===x?(Ex.Arduino.definitions_.include_rBase64="#include ",t="ENCODE"===e?"rbase64.encode("+f+")":"rbase64.decode("+f+")"):(Ex.Arduino.definitions_.include_URLCode="#include ",Ex.Arduino.definitions_.var_declare_urlCode="URLCode urlCode;","ENCODE"===e?(Ex.Arduino.definitions_.function_urlEncode="String urlEncode(String urlStr) {\n urlCode.strcode = urlStr;\n urlCode.urlencode();\n return urlCode.urlcode;\n}\n",t="urlEncode("+f+")"):(Ex.Arduino.definitions_.function_urlDecode="String urlDecode(String urlStr) {\n urlCode.urlcode = urlStr;\n urlCode.urldecode();\n return urlCode.strcode;\n}\n",t="urlDecode("+f+")")),[t,Ex.Arduino.ORDER_ATOMIC]},zx=function(x,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),x)for(var f=x.split(","),t=0;t1&&(s+=t)):f=s}else f="i";return f}},xe=$x;class ee extends Ex.Generator{constructor(x){super(x??"Arduino"),this.ORDER_ATOMIC=0,this.ORDER_UNARY_POSTFIX=1,this.ORDER_UNARY_PREFIX=2,this.ORDER_MULTIPLICATIVE=3,this.ORDER_ADDITIVE=4,this.ORDER_SHIFT=5,this.ORDER_RELATIONAL=6,this.ORDER_EQUALITY=7,this.ORDER_BITWISE_AND=8,this.ORDER_BITWISE_XOR=9,this.ORDER_BITWISE_OR=10,this.ORDER_LOGICAL_AND=11,this.ORDER_LOGICAL_OR=12,this.ORDER_CONDITIONAL=13,this.ORDER_ASSIGNMENT=14,this.ORDER_NONE=99,this.INDENT=" ",this.isInitialized=!1,this.PASS="",this.addReservedWords("setup,loop,if,else,for,switch,case,while,do,break,continue,return,goto,define,include,HIGH,LOW,INPUT,OUTPUT,INPUT_PULLUP,true,false,interger,constants,floating,point,void,bookean,char,unsigned,byte,int,short,word,long,float,double,string,String,array,static,volatile,const,sizeof")}init(){super.init(),this.definitions_=Object.create(null),this.setups_=Object.create(null),this.setups_begin_=Object.create(null),this.setups_end_=Object.create(null),this.libs_=Object.create(null),this.loops_begin_=Object.create(null),this.loops_end_=Object.create(null),this.variableDB_?this.variableDB_.reset():this.variableDB_=new Zx(this.RESERVED_WORDS_),this.isInitialized=!0}finish(x){x=(x=" "+x.replace(/\n/g,"\n ")).replace(/\n\s+$/,"\n");var e=[],f=[],t=[],i=[],n=Object.keys(this.definitions_);if(n.length)for(var s in n){var a=n[s],l=this.definitions_[a];a.match(/^define/)?f.push(l):a.match(/^include/)||l.match(/^WiFiClient/)?e.push(l):a.match(/^var_declare/)?t.push(l):i.push(l)}var c=[];for(let x in this.setups_)c.push(this.setups_[x]);var p=[],d=[];for(let x in this.setups_begin_)p.push(this.setups_begin_[x]);for(let x in this.setups_end_)d.push(this.setups_end_[x]);for(let x in this.libs_)e.push(`#include "${x}.h"`);var o=[],u=[];for(let x in this.loops_begin_)o.push(this.loops_begin_[x]);for(let x in this.loops_end_)u.push(this.loops_end_[x]);return x="void loop(){\n"+(o.length?" "+o.join("\n "):"")+x+(u.length?" "+u.join("\n "):"")+"\n}",(f.join("\n")+"\n"+e.join("\n")+"\n\n"+t.join("\n")+"\n\n"+i.join("\n")+"\n\nvoid setup(){\n "+p.join("\n ")+(p.length&&(d.length||c.length)?"\n ":"")+c.join("\n ")+(d.length&&c.length?"\n ":"")+d.join("\n ")+"\n}\n\n").replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n")+x}scrubNakedValue(x){return x+";\n"}quote_(x){return'"'+x+'"'}scrub_(x,e){if(null===e)return"";var f="";if(!x.outputConnection||!x.outputConnection.targetConnection){let e=x.getCommentText();e&&(f+=this.prefixLines(e,"// ")+"\n");for(var t=0;t0;i--)e.getInputTargetBlock("IF"+i)&&e.getInputTargetBlock("IF"+i).previousConnection?f[i]=e.getInputTargetBlock("IF"+i).previousConnection:f[i]=null,this.removeInput("IF"+i),e.getInputTargetBlock("DO"+i)&&e.getInputTargetBlock("DO"+i).previousConnection?t[i]=e.getInputTargetBlock("DO"+i).previousConnection:t[i]=null,this.removeInput("DO"+i);this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(i=1;i<=this.elseifCount_;i++)this.appendValueInput("IF"+i).setCheck([Boolean,Number]).appendField(Ex.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+i).appendField(Ex.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ex.Msg.CONTROLS_IF_MSG_ELSE);for(i=f.length-2;i>0;i--)f[i]&&f[i].reconnect(this,"IF"+i);for(i=t.length-2;i>0;i--)t[i]&&t[i].reconnect(this,"DO"+i)},decompose:function(x){var e=x.newBlock("controls_if_if");e.initSvg();for(var f=e.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_if_elseif");i.initSvg(),f.connect(i.previousConnection),f=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_if_else");n.initSvg(),f.connect(n.previousConnection)}return e},compose:function(x){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 f=x.getInputTargetBlock("STACK"),t=[null],i=[null],n=null;f;){switch(f.type){case"controls_if_elseif":this.elseifCount_++,t.push(f.valueConnection_),i.push(f.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=f.statementConnection_;break;default:throw Error("Unknown block type: "+f.type)}f=f.nextConnection&&f.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,i,n)},saveConnections:function(x){for(var e=x.getInputTargetBlock("STACK"),f=1;e;){switch(e.type){case"controls_if_elseif":var t=this.getInput("IF"+f),i=this.getInput("DO"+f);e.valueConnection_=t&&t.connection.targetConnection,e.statementConnection_=i&&i.connection.targetConnection,f++;break;case"controls_if_else":i=this.getInput("ELSE");e.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var x=[null],e=[null],f=null;this.getInput("ELSE")&&(f=this.getInput("ELSE").connection.targetConnection);for(var t=1;this.getInput("IF"+t);){var i=this.getInput("IF"+t),n=this.getInput("DO"+t);console.log(i.connection.targetConnection),x.push(i.connection.targetConnection),e.push(n.connection.targetConnection),t++}this.updateShape_(),this.reconnectChildBlocks_(x,e,f)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var x=1;this.getInput("IF"+x);)this.removeInput("IF"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendValueInput("IF"+x).setCheck([Number,Boolean]).appendField(Ex.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+x).appendField(Ex.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Ex.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(x,e,f){for(var t=1;t<=this.elseifCount_;t++)x[t]&&x[t].reconnect(this,"IF"+t),e[t]&&e[t].reconnect(this,"DO"+t);f&&f.reconnect(this,"ELSE")}},gi={init:function(){this.setColour(ri),this.appendDummyInput().appendField(Ex.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Ex.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},mi={init:function(){this.setColour(ri),this.appendDummyInput().appendField(Ex.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Mi={init:function(){this.setColour(ri),this.appendDummyInput().appendField(Ex.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Ex.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ci={init:function(){this.setColour(ri),this.appendValueInput("IF0").setCheck([Number,Boolean]).appendField("switch"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#switch"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","switch 选择"]}},this.setMutator(new Ex.icons.MutatorIcon(["controls_case","controls_default"],this)),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),this.elseCount_&&x.setAttribute("else",1),x},domToMutation:function(x){this.compose(this),this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(var e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField("case"),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField("default")},decompose:function(x){var e=x.newBlock("controls_switch");e.initSvg();for(var f=e.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_case");i.initSvg(),f.connect(i.previousConnection),f=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_default");n.initSvg(),f.connect(n.previousConnection)}return e},compose:function(x){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 f=x.getInputTargetBlock("STACK");f;){switch(f.type){case"controls_case":this.elseifCount_++;var t=this.appendValueInput("IF"+this.elseifCount_).setCheck([Number,Boolean]).appendField("case"),i=this.appendStatementInput("DO"+this.elseifCount_);i.appendField(""),f.valueConnection_&&t.connection.connect(f.valueConnection_),f.statementConnection_&&i.connection.connect(f.statementConnection_);break;case"controls_default":this.elseCount_++;var n=this.appendStatementInput("ELSE");n.appendField("default"),f.statementConnection_&&n.connection.connect(f.statementConnection_);break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}},saveConnections:function(x){for(var e=x.getInputTargetBlock("STACK"),f=1;e;){switch(e.type){case"controls_case":var t=this.getInput("IF"+f),i=this.getInput("DO"+f);e.valueConnection_=t&&t.connection.targetConnection,e.statementConnection_=i&&i.connection.targetConnection,f++;break;case"controls_default":i=this.getInput("ELSE");e.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}}},Oi={init:function(){this.setColour(ri),this.appendDummyInput().appendField("switch"),this.appendStatementInput("STACK"),this.contextMenu=!1}},Si={init:function(){this.setColour(ri),this.appendDummyInput().appendField("case"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},Ri={init:function(){this.setColour(ri),this.appendDummyInput().appendField("default"),this.setPreviousStatement(!0),this.contextMenu=!1}},Ni={init:function(){this.setColour(ri),this.appendValueInput("TIME").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField("MsTimer2"+Ex.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(Ex.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#MsTimer2"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"]}}}},Di={init:function(){this.setColour(ri),this.appendDummyInput().appendField("MsTimer2"+Ex.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id45"),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_START),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器启动"}}}},Pi={init:function(){this.setColour(ri),this.appendDummyInput().appendField("MsTimer2").appendField(Ex.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_STOP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id48"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器停止"}}}},Li={init:function(){this.setColour(ri),this.appendDummyInput().appendField(Ex.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},bi={init:function(){this.setColour(ri),this.appendDummyInput().appendField(Ex.Msg.SOFT_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},yi={init:function(){this.setColour(ri),this.appendDummyInput().appendField(Ex.Msg.MIXLY_CONTROL_INTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_CONTROL_ALLOW_INTERRUPT),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id51"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"允许中断"}}}},vi={init:function(){this.setColour(ri),this.appendDummyInput().appendField(Ex.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id55"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"禁止中断"}}}},wi=hi,Vi={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_SIMPLE_TIMER).appendField(new Ex.FieldDropdown([["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"]]),"NO").appendField(Ex.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("timein").setCheck(null),this.appendDummyInput().appendField(Ex.Msg.MIXLY_mSecond),this.appendStatementInput("zxhs").setCheck(null).appendField(Ex.Msg.CONTROLS_REPEAT_INPUT_DO),this.setColour(120),this.setTooltip(),this.setHelpUrl(""),this.wiki={"zh-hans":{page:["Arduino AVR","控制","简单定时器"]}}}},Yi={init:function(){this.appendStatementInput("input_data").setCheck(null).appendField(Ex.Msg.MIXLY_DO),this.appendValueInput("select_data").setCheck(null).appendField(Ex.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Ex.FieldDropdown([[Ex.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Ex.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ki={init:function(){this.appendDummyInput().appendField(Ex.Msg.super_delay_function).appendField(new Ex.FieldDropdown([["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"]]),"number"),this.appendStatementInput("delay_function").setCheck(null),this.setColour(120),this.setTooltip(Ex.Msg.super_delay_function_help),this.setHelpUrl("")}},Xi={init:function(){this.appendDummyInput().appendField(Ex.Msg.execute_super_delay_function).appendField(new Ex.FieldDropdown([["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"]]),"number"),this.appendValueInput("time_interval").setCheck(null).appendField(Ex.Msg.time_interval),this.appendValueInput("frequency").setCheck(null).appendField(Ex.Msg.number_of_executions),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip(Ex.Msg.execute_super_delay_function_help),this.setHelpUrl("")}},Gi=layui,Bi=$;var Ui=f.n(Bi);const{layer:Hi}=Gi,Wi=180;var ji=[[Ex.Msg.OLED_HOLLOW,"draw"],[Ex.Msg.OLED_SOLID,"fill"]];const Ki={init:function(){this.setColour(Wi),this.appendValueInput("device").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_SETUP).appendField(Ex.Msg.MIXLY_DF_LCD).appendField(new Ex.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new Ex.FieldTextInput("mylcd"),"VAR").appendField(Ex.Msg.MIXLY_LCD_ADDRESS),this.appendDummyInput("").appendField("SCL").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"SCL").appendField("SDA").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_LCD_INIT2),this.setFieldValue(Tx.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Tx.Profile.default.SDA[0][1],"SDA")}},qi={init:function(){this.setColour(Wi),this.appendDummyInput().setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_SETUP).appendField(Ex.Msg.MIXLY_DF_LCD).appendField(new Ex.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new Ex.FieldTextInput("mylcd"),"VAR").setAlign(Ex.inputs.Align.LEFT),this.appendDummyInput().appendField("RS").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"RS").appendField("EN").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"EN").appendField("D4").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"D4").appendField("D5").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"D5").appendField("D6").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"D6").appendField("D7").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"D7"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_LCD_INIT3)}},zi={init:function(){this.setColour(Wi),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DF_LCD).appendField(new Ex.FieldTextInput("mylcd"),"VAR").appendField(Ex.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_LCD_PRINT)}},Zi={init:function(){this.setColour(Wi),this.appendValueInput("row",Number).setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DF_LCD).appendField(new Ex.FieldTextInput("mylcd"),"VAR").appendField(Ex.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace("%1",Ex.Arduino.valueToCode(this,"row",Ex.Arduino.ORDER_ATOMIC)).replace("%2",Ex.Arduino.valueToCode(this,"column",Ex.Arduino.ORDER_ATOMIC)))}},Ji={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_DF_LCD).appendField(new Ex.FieldTextInput("mylcd"),"VAR").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_ON,"display"],[Ex.Msg.MIXLY_OFF,"noDisplay"],[Ex.Msg.MIXLY_LCD_STAT_CURSOR,"cursor"],[Ex.Msg.MIXLY_LCD_STAT_NOCURSOR,"noCursor"],[Ex.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[Ex.Msg.MIXLY_LCD_STAT_NOBLINK,"noBlink"],[Ex.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ex.Msg.MIXLY_LCD_NOBACKLIGHT,"noBacklight"],[Ex.Msg.MIXLY_LCD_BACKLIGHT,"backlight"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_LCD_POWER)}},Qi={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_ON,"displayOn"],[Ex.Msg.MIXLY_OFF,"displayOff"],[Ex.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},$i={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"_TM1650"),this.appendValueInput("VALUE").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.OLED_DRAWSTR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString)}},xn={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY_NOMBER1).appendField(new Ex.FieldDropdown([["1","0"],["2","1"],["3","2"],["4","3"]]),"NO").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY_NOMBER2).appendField(Ex.Msg.MIXLY_4DIGITDISPLAY_DOT).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_4DIGITDISPLAY_ON,"true"],[Ex.Msg.MIXLY_4DIGITDISPLAY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},en={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.MIXLY_SETUP).appendField("CLK").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"CLK").appendField("DIO").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},fn={init:function(){this.setColour(Wi),this.appendValueInput("VALUE").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP)}},tn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_ON,"true"],[Ex.Msg.MIXLY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},nn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},sn={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[Ex.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[Ex.Msg.MIXLY_ON,"on"],[Ex.Msg.MIXLY_OFF,"off"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},an={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_INIT),this.appendDummyInput("").appendField("SCL").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"SCL").appendField("SDA").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT),this.setFieldValue(Tx.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Tx.Profile.default.SDA[0][1],"SDA")}},ln={init:function(){this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MAX7219_INIT),this.appendValueInput("PIN1").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField("DIN(MOSI)").appendField(Ex.Msg.MIXLY_PIN),this.appendValueInput("PIN2").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField("CS").appendField(Ex.Msg.MIXLY_PIN),this.appendValueInput("PIN3").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField("CLK(SCK)").appendField(Ex.Msg.MIXLY_PIN),this.appendValueInput("hDisplays").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MAX7219_HDISPALY),this.appendValueInput("vDisplays").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MAX7219_VDISPALY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wi),this.setInputsInline(!1),this.setTooltip(Ex.Msg.MAX7219_INIT_TOOLTIP),this.setHelpUrl("")}};var cn=[["MAX7219","MAX7219"],["HT16K33","HT16K33"]];const pn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField(new Ex.FieldDropdown(cn),"TYPE"),this.appendValueInput("XVALUE").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendValueInput("STAT").appendField(Ex.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.appendDummyInput("").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ex.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}};var dn=[[Ex.Msg.MIXLY_0DEGREE,"0"],[Ex.Msg.MIXLY_90DEGREE,"3"],[Ex.Msg.MIXLY_180DEGREE,"2"],[Ex.Msg.MIXLY_270DEGREE,"1"]];const on={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MAX7219_NO),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Ex.FieldDropdown(dn),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},un={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MAX7219_NO),this.appendValueInput("X").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField("X"),this.appendValueInput("Y").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField("Y"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},rn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField("HT16K33"),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Ex.FieldDropdown(dn),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},_n={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField(new Ex.FieldDropdown(cn),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.texttodisplay),this.appendValueInput("Speed").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},hn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField(new Ex.FieldDropdown(cn),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.texttodisplay),this.appendDummyInput("").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ex.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Fn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField(new Ex.FieldDropdown(cn),"TYPE").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ex.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.appendValueInput("NO").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MAX7219_NO),this.appendValueInput("LEDArray").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR)}},In={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ex.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a81").appendField(new Ex.FieldCheckbox("FALSE"),"a82").appendField(new Ex.FieldCheckbox("FALSE"),"a83").appendField(new Ex.FieldCheckbox("FALSE"),"a84").appendField(new Ex.FieldCheckbox("FALSE"),"a85").appendField(new Ex.FieldCheckbox("FALSE"),"a86").appendField(new Ex.FieldCheckbox("FALSE"),"a87").appendField(new Ex.FieldCheckbox("FALSE"),"a88"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a71").appendField(new Ex.FieldCheckbox("FALSE"),"a72").appendField(new Ex.FieldCheckbox("FALSE"),"a73").appendField(new Ex.FieldCheckbox("FALSE"),"a74").appendField(new Ex.FieldCheckbox("FALSE"),"a75").appendField(new Ex.FieldCheckbox("FALSE"),"a76").appendField(new Ex.FieldCheckbox("FALSE"),"a77").appendField(new Ex.FieldCheckbox("FALSE"),"a78"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a61").appendField(new Ex.FieldCheckbox("FALSE"),"a62").appendField(new Ex.FieldCheckbox("FALSE"),"a63").appendField(new Ex.FieldCheckbox("FALSE"),"a64").appendField(new Ex.FieldCheckbox("FALSE"),"a65").appendField(new Ex.FieldCheckbox("FALSE"),"a66").appendField(new Ex.FieldCheckbox("FALSE"),"a67").appendField(new Ex.FieldCheckbox("FALSE"),"a68"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a51").appendField(new Ex.FieldCheckbox("FALSE"),"a52").appendField(new Ex.FieldCheckbox("FALSE"),"a53").appendField(new Ex.FieldCheckbox("FALSE"),"a54").appendField(new Ex.FieldCheckbox("FALSE"),"a55").appendField(new Ex.FieldCheckbox("FALSE"),"a56").appendField(new Ex.FieldCheckbox("FALSE"),"a57").appendField(new Ex.FieldCheckbox("FALSE"),"a58"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a41").appendField(new Ex.FieldCheckbox("FALSE"),"a42").appendField(new Ex.FieldCheckbox("FALSE"),"a43").appendField(new Ex.FieldCheckbox("FALSE"),"a44").appendField(new Ex.FieldCheckbox("FALSE"),"a45").appendField(new Ex.FieldCheckbox("FALSE"),"a46").appendField(new Ex.FieldCheckbox("FALSE"),"a47").appendField(new Ex.FieldCheckbox("FALSE"),"a48"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a31").appendField(new Ex.FieldCheckbox("FALSE"),"a32").appendField(new Ex.FieldCheckbox("FALSE"),"a33").appendField(new Ex.FieldCheckbox("FALSE"),"a34").appendField(new Ex.FieldCheckbox("FALSE"),"a35").appendField(new Ex.FieldCheckbox("FALSE"),"a36").appendField(new Ex.FieldCheckbox("FALSE"),"a37").appendField(new Ex.FieldCheckbox("FALSE"),"a38"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a21").appendField(new Ex.FieldCheckbox("FALSE"),"a22").appendField(new Ex.FieldCheckbox("FALSE"),"a23").appendField(new Ex.FieldCheckbox("FALSE"),"a24").appendField(new Ex.FieldCheckbox("FALSE"),"a25").appendField(new Ex.FieldCheckbox("FALSE"),"a26").appendField(new Ex.FieldCheckbox("FALSE"),"a27").appendField(new Ex.FieldCheckbox("FALSE"),"a28"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a11").appendField(new Ex.FieldCheckbox("FALSE"),"a12").appendField(new Ex.FieldCheckbox("FALSE"),"a13").appendField(new Ex.FieldCheckbox("FALSE"),"a14").appendField(new Ex.FieldCheckbox("FALSE"),"a15").appendField(new Ex.FieldCheckbox("FALSE"),"a16").appendField(new Ex.FieldCheckbox("FALSE"),"a17").appendField(new Ex.FieldCheckbox("FALSE"),"a18"),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY)}},An={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ex.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").setAlign(Ex.inputs.Align.CENTRE).appendField(new Ex.FieldBitmap([[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},En={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField(new Ex.FieldDropdown(cn),"TYPE"),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_BRIGHTNESS),this.setTooltip(Ex.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}};var Tn=[[Ex.Msg.MAX7219_FILLSCREEN_ON,"fillScreen(1)"],[Ex.Msg.MAX7219_FILLSCREEN_OFF,"fillScreen(0)"]];const gn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField(new Ex.FieldDropdown(cn),"TYPE"),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_STAT),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldDropdown(Tn),"FILLSCREEN_TYPE"),this.appendDummyInput("").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[Ex.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS)}},mn={init:function(){this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MAX7219_IMG).appendField(new Ex.FieldDropdown([["↑","18181818db7e3c18"],["↓","183c7edb18181818"],["←","080c06ffff060c08"],["→","103060ffff603010"],["♥","183c7effffffe742"],["▲","00000000ff7e3c18"],["▼","183c7eff00000000"],["◄","080c0e0f0f0e0c08"],["►","103070f0f0703010"],["△","00000000ff422418"],["▽","182442ff00000000"],["☺","3c4299a581a5423c"],["○","3c4281818181423c"],["◑","3c72f1f1f1f1723c"],["◐","3c4e8f8f8f8f4e3c"],["¥","101010ff10ff2442"],["Χ","8142241818244281"],["√","0000010204885020"],["□","007e424242427e00"],["▣","007e425a5a427e00"],["◇","1824428181422418"],["♀","083e081c2222221c"],["♂","0e1b111b9ea0c0f0"],["♪","061f1e1010d07030"],["✈","203098ffff983020"],["卍","00f21212fe90909e"],["卐","009e9090fe1212f2"],["|","1010101010101010"],["—","000000ff00000000"],["╱","0102040810204080"],["\","8040201008040201"],["大","41221408087f0808"],["中","1010fe9292fe1010"],["小","0e08492a2a080808"],["米","00925438fe385492"],["正","7f0a0a3a08087f00"],["囧","ffa5a5bdc3a5a5ff"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(Wi),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR),this.setHelpUrl("")}},Mn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MATRIX_TYPE).appendField(new Ex.FieldDropdown(cn),"TYPE").appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}};var Cn=[[Ex.Msg.OLED_HOR,"H"],[Ex.Msg.OLED_VER,"V"]],On=[[Ex.Msg.OLED_HOLLOW,"drawFrame"],[Ex.Msg.OLED_SOLID,"drawBox"]],Sn=[[Ex.Msg.OLED_HOLLOW,"drawCircle"],[Ex.Msg.OLED_SOLID,"drawDisc"]],Rn=[[Ex.Msg.OLED_HOLLOW,"drawRFrame"],[Ex.Msg.OLED_SOLID,"drawRBox"]],Nn=[[Ex.Msg.OLED_WHOLE_CICILE,"U8G2_DRAW_ALL"],[Ex.Msg.OLED_UP_R,"U8G2_DRAW_UPPER_RIGHT"],[Ex.Msg.OLED_UP_L,"U8G2_DRAW_UPPER_LEFT"],[Ex.Msg.OLED_LOW_R,"U8G2_DRAW_LOWER_RIGHT"],[Ex.Msg.OLED_LOW_L,"U8G2_DRAW_LOWER_LEFT"]],Dn=[[Ex.Msg.OLED_HOLLOW,"drawEllipse"],[Ex.Msg.OLED_SOLID,"drawFilledEllipse"]],Pn=[["Times New Roman","tim"],["Helvetica","helv"],["ncen","ncen"],["courier new","cour"]],Ln=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["SSD1306(128×32)","SSD1306_128X32_UNIVISION"],["SH1106(128×64)","SH1106_128X64_NONAME"]],bn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["LCM12864","ST7565_NHD_C12864"],["NOKIA5110","PCD8544_84X48"]],yn=[[Ex.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 0°","U8G2_R0"],[Ex.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 90°","U8G2_R1"],[Ex.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 180°","U8G2_R2"],[Ex.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 270°","U8G2_R3"],[Ex.Msg.MIRROR,"U8G2_MIRROR"]],vn=[["08","08"],["10","10"],["12","12"],["14","14"],["18","18"],["24","24"]],wn=[["常规","R"],["加粗","B"]],Vn=[[Ex.Msg.OLED_FONT_chinese1,"_t_chinese1"],[Ex.Msg.OLED_FONT_chinese2,"_t_chinese2"],[Ex.Msg.OLED_FONT_chinese3,"_t_chinese3"],[Ex.Msg.OLED_FONT_gb2312a,"_t_gb2312a"],[Ex.Msg.OLED_FONT_gb2312b,"_t_gb2312b"],[Ex.Msg.OLED_FONT_gb2312,"_t_gb2312"]],Yn=[["12","wqy12"],["13","wqy13"],["14","wqy14"],["15","wqy15"],["16","wqy16"]],kn=[[{src:"../common/media/oled_icons/64.png",width:24,height:24,alt:"64"},"64"],[{src:"../common/media/oled_icons/65.png",width:24,height:24,alt:"65"},"65"],[{src:"../common/media/oled_icons/66.png",width:24,height:24,alt:"66"},"66"],[{src:"../common/media/oled_icons/67.png",width:24,height:24,alt:"67"},"67"],[{src:"../common/media/oled_icons/68.png",width:24,height:24,alt:"68"},"68"],[{src:"../common/media/oled_icons/69.png",width:24,height:24,alt:"69"},"69"],[{src:"../common/media/oled_icons/70.png",width:24,height:24,alt:"70"},"70"],[{src:"../common/media/oled_icons/71.png",width:24,height:24,alt:"71"},"71"],[{src:"../common/media/oled_icons/72.png",width:24,height:24,alt:"72"},"72"],[{src:"../common/media/oled_icons/73.png",width:24,height:24,alt:"73"},"73"],[{src:"../common/media/oled_icons/74.png",width:24,height:24,alt:"74"},"74"],[{src:"../common/media/oled_icons/75.png",width:24,height:24,alt:"75"},"75"],[{src:"../common/media/oled_icons/76.png",width:24,height:24,alt:"76"},"76"],[{src:"../common/media/oled_icons/77.png",width:24,height:24,alt:"77"},"77"],[{src:"../common/media/oled_icons/78.png",width:24,height:24,alt:"78"},"78"],[{src:"../common/media/oled_icons/79.png",width:24,height:24,alt:"79"},"79"],[{src:"../common/media/oled_icons/80.png",width:24,height:24,alt:"80"},"80"],[{src:"../common/media/oled_icons/81.png",width:24,height:24,alt:"81"},"81"],[{src:"../common/media/oled_icons/82.png",width:24,height:24,alt:"82"},"82"],[{src:"../common/media/oled_icons/83.png",width:24,height:24,alt:"83"},"83"],[{src:"../common/media/oled_icons/84.png",width:24,height:24,alt:"84"},"84"],[{src:"../common/media/oled_icons/85.png",width:24,height:24,alt:"85"},"85"],[{src:"../common/media/oled_icons/86.png",width:24,height:24,alt:"86"},"86"],[{src:"../common/media/oled_icons/87.png",width:24,height:24,alt:"87"},"87"],[{src:"../common/media/oled_icons/88.png",width:24,height:24,alt:"88"},"88"],[{src:"../common/media/oled_icons/89.png",width:24,height:24,alt:"89"},"89"],[{src:"../common/media/oled_icons/90.png",width:24,height:24,alt:"90"},"90"],[{src:"../common/media/oled_icons/91.png",width:24,height:24,alt:"91"},"91"],[{src:"../common/media/oled_icons/92.png",width:24,height:24,alt:"92"},"92"],[{src:"../common/media/oled_icons/93.png",width:24,height:24,alt:"93"},"93"],[{src:"../common/media/oled_icons/94.png",width:24,height:24,alt:"94"},"94"],[{src:"../common/media/oled_icons/95.png",width:24,height:24,alt:"95"},"95"],[{src:"../common/media/oled_icons/96.png",width:24,height:24,alt:"96"},"96"],[{src:"../common/media/oled_icons/97.png",width:24,height:24,alt:"97"},"97"],[{src:"../common/media/oled_icons/98.png",width:24,height:24,alt:"98"},"98"],[{src:"../common/media/oled_icons/99.png",width:24,height:24,alt:"99"},"99"],[{src:"../common/media/oled_icons/100.png",width:24,height:24,alt:"100"},"100"],[{src:"../common/media/oled_icons/101.png",width:24,height:24,alt:"101"},"101"],[{src:"../common/media/oled_icons/102.png",width:24,height:24,alt:"102"},"102"],[{src:"../common/media/oled_icons/103.png",width:24,height:24,alt:"103"},"103"],[{src:"../common/media/oled_icons/104.png",width:24,height:24,alt:"104"},"104"],[{src:"../common/media/oled_icons/105.png",width:24,height:24,alt:"105"},"105"],[{src:"../common/media/oled_icons/106.png",width:24,height:24,alt:"106"},"106"],[{src:"../common/media/oled_icons/107.png",width:24,height:24,alt:"107"},"107"],[{src:"../common/media/oled_icons/108.png",width:24,height:24,alt:"108"},"108"],[{src:"../common/media/oled_icons/109.png",width:24,height:24,alt:"109"},"109"],[{src:"../common/media/oled_icons/110.png",width:24,height:24,alt:"110"},"110"],[{src:"../common/media/oled_icons/111.png",width:24,height:24,alt:"111"},"111"],[{src:"../common/media/oled_icons/112.png",width:24,height:24,alt:"112"},"112"],[{src:"../common/media/oled_icons/113.png",width:24,height:24,alt:"113"},"113"],[{src:"../common/media/oled_icons/114.png",width:24,height:24,alt:"114"},"114"],[{src:"../common/media/oled_icons/115.png",width:24,height:24,alt:"115"},"115"],[{src:"../common/media/oled_icons/116.png",width:24,height:24,alt:"116"},"116"],[{src:"../common/media/oled_icons/117.png",width:24,height:24,alt:"117"},"117"],[{src:"../common/media/oled_icons/118.png",width:24,height:24,alt:"118"},"118"],[{src:"../common/media/oled_icons/119.png",width:24,height:24,alt:"119"},"119"],[{src:"../common/media/oled_icons/120.png",width:24,height:24,alt:"120"},"120"],[{src:"../common/media/oled_icons/121.png",width:24,height:24,alt:"121"},"121"],[{src:"../common/media/oled_icons/122.png",width:24,height:24,alt:"122"},"122"],[{src:"../common/media/oled_icons/123.png",width:24,height:24,alt:"123"},"123"],[{src:"../common/media/oled_icons/124.png",width:24,height:24,alt:"124"},"124"],[{src:"../common/media/oled_icons/125.png",width:24,height:24,alt:"125"},"125"],[{src:"../common/media/oled_icons/126.png",width:24,height:24,alt:"126"},"126"],[{src:"../common/media/oled_icons/127.png",width:24,height:24,alt:"127"},"127"],[{src:"../common/media/oled_icons/128.png",width:24,height:24,alt:"128"},"128"],[{src:"../common/media/oled_icons/129.png",width:24,height:24,alt:"129"},"129"],[{src:"../common/media/oled_icons/130.png",width:24,height:24,alt:"130"},"130"],[{src:"../common/media/oled_icons/131.png",width:24,height:24,alt:"131"},"131"],[{src:"../common/media/oled_icons/132.png",width:24,height:24,alt:"132"},"132"],[{src:"../common/media/oled_icons/133.png",width:24,height:24,alt:"133"},"133"],[{src:"../common/media/oled_icons/134.png",width:24,height:24,alt:"134"},"134"],[{src:"../common/media/oled_icons/135.png",width:24,height:24,alt:"135"},"135"],[{src:"../common/media/oled_icons/136.png",width:24,height:24,alt:"136"},"136"],[{src:"../common/media/oled_icons/137.png",width:24,height:24,alt:"137"},"137"],[{src:"../common/media/oled_icons/138.png",width:24,height:24,alt:"138"},"138"],[{src:"../common/media/oled_icons/139.png",width:24,height:24,alt:"139"},"139"],[{src:"../common/media/oled_icons/140.png",width:24,height:24,alt:"140"},"140"],[{src:"../common/media/oled_icons/141.png",width:24,height:24,alt:"141"},"141"],[{src:"../common/media/oled_icons/142.png",width:24,height:24,alt:"142"},"142"],[{src:"../common/media/oled_icons/143.png",width:24,height:24,alt:"143"},"143"],[{src:"../common/media/oled_icons/144.png",width:24,height:24,alt:"144"},"144"],[{src:"../common/media/oled_icons/145.png",width:24,height:24,alt:"145"},"145"],[{src:"../common/media/oled_icons/146.png",width:24,height:24,alt:"146"},"146"],[{src:"../common/media/oled_icons/147.png",width:24,height:24,alt:"147"},"147"],[{src:"../common/media/oled_icons/148.png",width:24,height:24,alt:"148"},"148"],[{src:"../common/media/oled_icons/149.png",width:24,height:24,alt:"149"},"149"],[{src:"../common/media/oled_icons/150.png",width:24,height:24,alt:"150"},"150"],[{src:"../common/media/oled_icons/151.png",width:24,height:24,alt:"151"},"151"],[{src:"../common/media/oled_icons/152.png",width:24,height:24,alt:"152"},"152"],[{src:"../common/media/oled_icons/153.png",width:24,height:24,alt:"153"},"153"],[{src:"../common/media/oled_icons/154.png",width:24,height:24,alt:"154"},"154"],[{src:"../common/media/oled_icons/155.png",width:24,height:24,alt:"155"},"155"],[{src:"../common/media/oled_icons/156.png",width:24,height:24,alt:"156"},"156"],[{src:"../common/media/oled_icons/157.png",width:24,height:24,alt:"157"},"157"],[{src:"../common/media/oled_icons/158.png",width:24,height:24,alt:"158"},"158"],[{src:"../common/media/oled_icons/159.png",width:24,height:24,alt:"159"},"159"],[{src:"../common/media/oled_icons/160.png",width:24,height:24,alt:"160"},"160"],[{src:"../common/media/oled_icons/161.png",width:24,height:24,alt:"161"},"161"],[{src:"../common/media/oled_icons/162.png",width:24,height:24,alt:"162"},"162"],[{src:"../common/media/oled_icons/163.png",width:24,height:24,alt:"163"},"163"],[{src:"../common/media/oled_icons/164.png",width:24,height:24,alt:"164"},"164"],[{src:"../common/media/oled_icons/165.png",width:24,height:24,alt:"165"},"165"],[{src:"../common/media/oled_icons/166.png",width:24,height:24,alt:"166"},"166"],[{src:"../common/media/oled_icons/167.png",width:24,height:24,alt:"167"},"167"],[{src:"../common/media/oled_icons/168.png",width:24,height:24,alt:"168"},"168"],[{src:"../common/media/oled_icons/169.png",width:24,height:24,alt:"169"},"169"],[{src:"../common/media/oled_icons/170.png",width:24,height:24,alt:"170"},"170"],[{src:"../common/media/oled_icons/171.png",width:24,height:24,alt:"171"},"171"],[{src:"../common/media/oled_icons/172.png",width:24,height:24,alt:"172"},"172"],[{src:"../common/media/oled_icons/173.png",width:24,height:24,alt:"173"},"173"],[{src:"../common/media/oled_icons/174.png",width:24,height:24,alt:"174"},"174"],[{src:"../common/media/oled_icons/175.png",width:24,height:24,alt:"175"},"175"],[{src:"../common/media/oled_icons/176.png",width:24,height:24,alt:"176"},"176"],[{src:"../common/media/oled_icons/177.png",width:24,height:24,alt:"177"},"177"],[{src:"../common/media/oled_icons/178.png",width:24,height:24,alt:"178"},"178"],[{src:"../common/media/oled_icons/179.png",width:24,height:24,alt:"179"},"179"],[{src:"../common/media/oled_icons/180.png",width:24,height:24,alt:"180"},"180"],[{src:"../common/media/oled_icons/181.png",width:24,height:24,alt:"181"},"181"],[{src:"../common/media/oled_icons/182.png",width:24,height:24,alt:"182"},"182"],[{src:"../common/media/oled_icons/183.png",width:24,height:24,alt:"183"},"183"],[{src:"../common/media/oled_icons/184.png",width:24,height:24,alt:"184"},"184"],[{src:"../common/media/oled_icons/185.png",width:24,height:24,alt:"185"},"185"],[{src:"../common/media/oled_icons/186.png",width:24,height:24,alt:"186"},"186"],[{src:"../common/media/oled_icons/187.png",width:24,height:24,alt:"187"},"187"],[{src:"../common/media/oled_icons/188.png",width:24,height:24,alt:"188"},"188"],[{src:"../common/media/oled_icons/189.png",width:24,height:24,alt:"189"},"189"],[{src:"../common/media/oled_icons/190.png",width:24,height:24,alt:"190"},"190"],[{src:"../common/media/oled_icons/191.png",width:24,height:24,alt:"191"},"191"],[{src:"../common/media/oled_icons/192.png",width:24,height:24,alt:"192"},"192"],[{src:"../common/media/oled_icons/193.png",width:24,height:24,alt:"193"},"193"],[{src:"../common/media/oled_icons/194.png",width:24,height:24,alt:"194"},"194"],[{src:"../common/media/oled_icons/195.png",width:24,height:24,alt:"195"},"195"],[{src:"../common/media/oled_icons/196.png",width:24,height:24,alt:"196"},"196"],[{src:"../common/media/oled_icons/197.png",width:24,height:24,alt:"197"},"197"],[{src:"../common/media/oled_icons/198.png",width:24,height:24,alt:"198"},"198"],[{src:"../common/media/oled_icons/199.png",width:24,height:24,alt:"199"},"199"],[{src:"../common/media/oled_icons/200.png",width:24,height:24,alt:"200"},"200"],[{src:"../common/media/oled_icons/201.png",width:24,height:24,alt:"201"},"201"],[{src:"../common/media/oled_icons/202.png",width:24,height:24,alt:"202"},"202"],[{src:"../common/media/oled_icons/203.png",width:24,height:24,alt:"203"},"203"],[{src:"../common/media/oled_icons/204.png",width:24,height:24,alt:"204"},"204"],[{src:"../common/media/oled_icons/205.png",width:24,height:24,alt:"205"},"205"],[{src:"../common/media/oled_icons/206.png",width:24,height:24,alt:"206"},"206"],[{src:"../common/media/oled_icons/207.png",width:24,height:24,alt:"207"},"207"],[{src:"../common/media/oled_icons/208.png",width:24,height:24,alt:"208"},"208"],[{src:"../common/media/oled_icons/209.png",width:24,height:24,alt:"209"},"209"],[{src:"../common/media/oled_icons/210.png",width:24,height:24,alt:"210"},"210"],[{src:"../common/media/oled_icons/211.png",width:24,height:24,alt:"211"},"211"],[{src:"../common/media/oled_icons/212.png",width:24,height:24,alt:"212"},"212"],[{src:"../common/media/oled_icons/213.png",width:24,height:24,alt:"213"},"213"],[{src:"../common/media/oled_icons/214.png",width:24,height:24,alt:"214"},"214"],[{src:"../common/media/oled_icons/215.png",width:24,height:24,alt:"215"},"215"],[{src:"../common/media/oled_icons/216.png",width:24,height:24,alt:"216"},"216"],[{src:"../common/media/oled_icons/217.png",width:24,height:24,alt:"217"},"217"],[{src:"../common/media/oled_icons/218.png",width:24,height:24,alt:"218"},"218"],[{src:"../common/media/oled_icons/219.png",width:24,height:24,alt:"219"},"219"],[{src:"../common/media/oled_icons/220.png",width:24,height:24,alt:"220"},"220"],[{src:"../common/media/oled_icons/221.png",width:24,height:24,alt:"221"},"221"],[{src:"../common/media/oled_icons/222.png",width:24,height:24,alt:"222"},"222"],[{src:"../common/media/oled_icons/223.png",width:24,height:24,alt:"223"},"223"],[{src:"../common/media/oled_icons/224.png",width:24,height:24,alt:"224"},"224"],[{src:"../common/media/oled_icons/225.png",width:24,height:24,alt:"225"},"225"],[{src:"../common/media/oled_icons/226.png",width:24,height:24,alt:"226"},"226"],[{src:"../common/media/oled_icons/227.png",width:24,height:24,alt:"227"},"227"],[{src:"../common/media/oled_icons/228.png",width:24,height:24,alt:"228"},"228"],[{src:"../common/media/oled_icons/229.png",width:24,height:24,alt:"229"},"229"],[{src:"../common/media/oled_icons/230.png",width:24,height:24,alt:"230"},"230"],[{src:"../common/media/oled_icons/231.png",width:24,height:24,alt:"231"},"231"],[{src:"../common/media/oled_icons/232.png",width:24,height:24,alt:"232"},"232"],[{src:"../common/media/oled_icons/233.png",width:24,height:24,alt:"233"},"233"],[{src:"../common/media/oled_icons/234.png",width:24,height:24,alt:"234"},"234"],[{src:"../common/media/oled_icons/235.png",width:24,height:24,alt:"235"},"235"],[{src:"../common/media/oled_icons/236.png",width:24,height:24,alt:"236"},"236"],[{src:"../common/media/oled_icons/237.png",width:24,height:24,alt:"237"},"237"],[{src:"../common/media/oled_icons/238.png",width:24,height:24,alt:"238"},"238"],[{src:"../common/media/oled_icons/239.png",width:24,height:24,alt:"239"},"239"],[{src:"../common/media/oled_icons/240.png",width:24,height:24,alt:"240"},"240"],[{src:"../common/media/oled_icons/241.png",width:24,height:24,alt:"241"},"241"],[{src:"../common/media/oled_icons/242.png",width:24,height:24,alt:"242"},"242"],[{src:"../common/media/oled_icons/243.png",width:24,height:24,alt:"243"},"243"],[{src:"../common/media/oled_icons/244.png",width:24,height:24,alt:"244"},"244"],[{src:"../common/media/oled_icons/245.png",width:24,height:24,alt:"245"},"245"],[{src:"../common/media/oled_icons/246.png",width:24,height:24,alt:"246"},"246"],[{src:"../common/media/oled_icons/247.png",width:24,height:24,alt:"247"},"247"],[{src:"../common/media/oled_icons/248.png",width:24,height:24,alt:"248"},"248"],[{src:"../common/media/oled_icons/249.png",width:24,height:24,alt:"249"},"249"],[{src:"../common/media/oled_icons/250.png",width:24,height:24,alt:"250"},"250"],[{src:"../common/media/oled_icons/251.png",width:24,height:24,alt:"251"},"251"],[{src:"../common/media/oled_icons/252.png",width:24,height:24,alt:"252"},"252"],[{src:"../common/media/oled_icons/253.png",width:24,height:24,alt:"253"},"253"],[{src:"../common/media/oled_icons/254.png",width:24,height:24,alt:"254"},"254"],[{src:"../common/media/oled_icons/255.png",width:24,height:24,alt:"255"},"255"],[{src:"../common/media/oled_icons/256.png",width:24,height:24,alt:"256"},"256"],[{src:"../common/media/oled_icons/257.png",width:24,height:24,alt:"257"},"257"],[{src:"../common/media/oled_icons/258.png",width:24,height:24,alt:"258"},"258"],[{src:"../common/media/oled_icons/259.png",width:24,height:24,alt:"259"},"259"],[{src:"../common/media/oled_icons/260.png",width:24,height:24,alt:"260"},"260"],[{src:"../common/media/oled_icons/261.png",width:24,height:24,alt:"261"},"261"],[{src:"../common/media/oled_icons/262.png",width:24,height:24,alt:"262"},"262"],[{src:"../common/media/oled_icons/263.png",width:24,height:24,alt:"263"},"263"],[{src:"../common/media/oled_icons/264.png",width:24,height:24,alt:"264"},"264"],[{src:"../common/media/oled_icons/265.png",width:24,height:24,alt:"265"},"265"],[{src:"../common/media/oled_icons/266.png",width:24,height:24,alt:"266"},"266"],[{src:"../common/media/oled_icons/267.png",width:24,height:24,alt:"267"},"267"],[{src:"../common/media/oled_icons/268.png",width:24,height:24,alt:"268"},"268"],[{src:"../common/media/oled_icons/269.png",width:24,height:24,alt:"269"},"269"],[{src:"../common/media/oled_icons/270.png",width:24,height:24,alt:"270"},"270"],[{src:"../common/media/oled_icons/271.png",width:24,height:24,alt:"271"},"271"],[{src:"../common/media/oled_icons/272.png",width:24,height:24,alt:"272"},"272"],[{src:"../common/media/oled_icons/273.png",width:24,height:24,alt:"273"},"273"],[{src:"../common/media/oled_icons/274.png",width:24,height:24,alt:"274"},"274"],[{src:"../common/media/oled_icons/275.png",width:24,height:24,alt:"275"},"275"],[{src:"../common/media/oled_icons/276.png",width:24,height:24,alt:"276"},"276"],[{src:"../common/media/oled_icons/277.png",width:24,height:24,alt:"277"},"277"],[{src:"../common/media/oled_icons/278.png",width:24,height:24,alt:"278"},"278"],[{src:"../common/media/oled_icons/279.png",width:24,height:24,alt:"279"},"279"],[{src:"../common/media/oled_icons/280.png",width:24,height:24,alt:"280"},"280"],[{src:"../common/media/oled_icons/281.png",width:24,height:24,alt:"281"},"281"],[{src:"../common/media/oled_icons/282.png",width:24,height:24,alt:"282"},"282"],[{src:"../common/media/oled_icons/283.png",width:24,height:24,alt:"283"},"283"],[{src:"../common/media/oled_icons/284.png",width:24,height:24,alt:"284"},"284"],[{src:"../common/media/oled_icons/285.png",width:24,height:24,alt:"285"},"285"],[{src:"../common/media/oled_icons/286.png",width:24,height:24,alt:"286"},"286"]],Xn=[[{src:"../common/media/oled_icons/face/Eyes/Angry.png",width:35,height:25,alt:"Angry"},"Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Awake.png",width:35,height:25,alt:"Awake"},"Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0xF8,0xFF,0x03,0x00,0xE0,0x00,0x0C,0x00,0x80,0xFF,0x3F,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x7F,0x30,0x00,0x38,0x00,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFC,0xFF,0xE1,0x00,0x0C,0xFE,0x7F,0x00,0x30,0x00,0x38,0x80,0xFE,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0x7E,0x96,0xFF,0x00,0xFC,0x87,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xF0,0x00,0x3C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x80,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Black eye.png",width:35,height:25,alt:"Black_eye"},"Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x5F,0x55,0xD5,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x4B,0xAA,0xA4,0x3E,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xB5,0x55,0x5B,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0x4A,0xAA,0xA4,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0xB6,0x55,0x5B,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xE9,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x1C,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0xB8,0xAA,0xAA,0xAA,0xEA,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0xD5,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xD2,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x70,0x2D,0x49,0xAA,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF0,0xD2,0xB6,0x55,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0x2D,0x49,0xAA,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xD3,0xB6,0x55,0x3E,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xC0,0x2F,0x49,0xD2,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Bottom left.png",width:35,height:25,alt:"Bottom_left"},"Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"],[{src:"../common/media/oled_icons/face/Eyes/Bottom right.png",width:35,height:25,alt:"Bottom_right"},"Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 1.png",width:35,height:25,alt:"Crazy_1"},"Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 2.png",width:35,height:25,alt:"Crazy_2"},"Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Disappointed.png",width:35,height:25,alt:"Disappointed"},"Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Dizzy.png",width:35,height:25,alt:"Dizzy"},"Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Down.png",width:35,height:25,alt:"Down"},"Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Evil.png",width:35,height:25,alt:"Evil"},"Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Hurt.png",width:35,height:25,alt:"Hurt"},"Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Knocked out.png",width:35,height:25,alt:"Knocked_out"},"Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Love.png",width:35,height:25,alt:"Love"},"Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle left.png",width:35,height:25,alt:"Middle_left"},"Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle right.png",width:35,height:25,alt:"Middle_right"},"Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Neutral.png",width:35,height:25,alt:"Neutral"},"Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Nuclear.png",width:35,height:25,alt:"Nuclear"},"Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch left.png",width:35,height:25,alt:"Pinch_left"},"Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch middle.png",width:35,height:25,alt:"Pinch_middle"},"Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch right.png",width:35,height:25,alt:"Pinch_right"},"Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tear.png",width:35,height:25,alt:"Tear"},"Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired left.png",width:35,height:25,alt:"Tired_left"},"Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired middle.png",width:35,height:25,alt:"Tired_middle"},"Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired right.png",width:35,height:25,alt:"Tired_right"},"Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Toxic.png",width:35,height:25,alt:"Toxic"},"Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Up.png",width:35,height:25,alt:"Up"},"Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Winking.png",width:35,height:25,alt:"Winking"},"Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Big smile.png",width:35,height:25,alt:"Big_smile"},"Big_smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart large.png",width:35,height:25,alt:"Heart_large"},"Heart_large,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xBF,0x07,0x00,0xC0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x1C,0x00,0xF0,0xFF,0xE1,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x71,0x00,0xF8,0xFF,0xC3,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE7,0x00,0xFC,0xFF,0x8F,0x03,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCF,0x01,0xFE,0xFF,0x3F,0x07,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x9F,0x03,0xFF,0xFF,0x7F,0x06,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x3F,0x83,0xFF,0xFF,0xFF,0x0C,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x7F,0x87,0xFF,0xFF,0xFF,0x1D,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xC6,0xFF,0xFF,0xFF,0x19,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart small.png",width:35,height:25,alt:"Heart_small"},"Heart_small,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xC7,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x9F,0x01,0xFF,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x83,0xFF,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0xC6,0xFF,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCE,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0D,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 open.png",width:35,height:25,alt:"Mouth_1_open"},"Mouth_1_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x78,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE4,0xD7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x1F,0x00,0x08,0xA8,0xFF,0x71,0x00,0x38,0x00,0x1C,0xFF,0x23,0x40,0x00,0xA8,0x2A,0x00,0xE4,0x03,0xEF,0x81,0x2F,0x00,0xA8,0x2A,0x00,0x54,0x55,0x55,0x95,0xFF,0xC7,0xFF,0x53,0x55,0x55,0x55,0x00,0x28,0x55,0x55,0x15,0x00,0x28,0x00,0xA8,0xAA,0xAA,0x2A,0x00,0xD4,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x52,0x00,0xE8,0x55,0x51,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0xAA,0x2E,0x00,0x0C,0x54,0xAF,0xAA,0xAA,0x56,0x55,0xAB,0xEA,0xAB,0x50,0x00,0xF0,0x57,0xA0,0xAA,0x54,0xA9,0xAA,0x54,0x15,0xA8,0x5F,0x00,0x04,0xD8,0x5F,0x55,0xAB,0x56,0x55,0x53,0xF5,0x2F,0x40,0x00,0xF0,0x27,0x40,0xAD,0x54,0xA9,0xAA,0xAC,0x0A,0xA0,0x3F,0x00,0x18,0xEE,0x7F,0x51,0xAB,0x56,0x55,0x53,0xFA,0xDF,0x71,0x00,0x0C,0x0C,0x00,0xDF,0x54,0x51,0xA5,0xDC,0x03,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x00,0x6B,0xDF,0x5D,0x03,0xF8,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x20,0xC0,0xF8,0x1C,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xFF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 shut.png",width:35,height:25,alt:"Mouth_1_shut"},"Mouth_1_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x38,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE0,0xC7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x5F,0x00,0x04,0x90,0xFF,0x71,0x00,0x38,0x00,0x9C,0xFF,0x33,0x00,0x00,0xF0,0x17,0x00,0xE4,0x03,0xEF,0x81,0x4F,0x00,0x94,0x3F,0x00,0x18,0xEE,0x5F,0x95,0xFF,0xD7,0xFF,0xA3,0xFA,0xD7,0x71,0x00,0x0C,0x1C,0x00,0x6D,0x00,0x20,0x00,0xDC,0x02,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x01,0x55,0xAF,0x5D,0x01,0xFA,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x50,0x40,0xF8,0x1D,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xEF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 open.png",width:35,height:25,alt:"Mouth_2_open"},"Mouth_2_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x4E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0xA0,0x02,0x4C,0x01,0x25,0xC0,0x4A,0x53,0x8D,0xD5,0x48,0x63,0x55,0x02,0xAE,0x00,0x6A,0x40,0xAA,0x9E,0x8A,0x94,0xA8,0xB2,0xAA,0x02,0xA6,0x00,0x6A,0x40,0x55,0xAD,0xD2,0xAA,0x54,0x92,0xAA,0x02,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0xAA,0x02,0x53,0x01,0xD5,0x60,0x55,0x51,0x85,0x2A,0xA9,0x52,0x55,0x82,0xA9,0x00,0xAA,0x60,0x55,0x55,0x55,0x55,0x54,0xA9,0xAA,0x82,0xA9,0x00,0x95,0x20,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xC2,0x54,0x01,0xAA,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xE2,0xAA,0x00,0x2A,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x62,0x55,0x01,0x55,0x33,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x33,0x55,0x01,0x55,0xB2,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0xBB,0xAA,0x00,0xAA,0xB6,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0x9F,0xAA,0x00,0xAA,0x5C,0x55,0x55,0x55,0x95,0xAA,0xAA,0x2A,0x4F,0x55,0x01,0x55,0x9D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA7,0xAA,0x00,0x55,0x59,0x55,0x55,0x55,0x95,0xAA,0xAA,0xAA,0x57,0x55,0x01,0xAA,0xBA,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA9,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x54,0x55,0x01,0x55,0x8D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x45,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0xD5,0xAA,0x7A,0xA5,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x85,0x5A,0x55,0x01,0x55,0xAD,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0x2A,0xA5,0xAA,0x00,0xAA,0x52,0x56,0x55,0x55,0x95,0x2A,0x55,0xF5,0x5A,0x55,0x01,0x55,0x2D,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0xEA,0xA5,0xAA,0x00,0xAA,0x92,0x55,0x55,0x55,0x95,0x2A,0x55,0x65,0x59,0x55,0x01,0x55,0xCD,0x55,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xA2,0xAA,0x00,0xAA,0xE2,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x56,0x55,0x01,0x55,0xB5,0x51,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xAC,0xAA,0x00,0xAA,0x1A,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x4C,0x55,0x01,0x55,0x0D,0x53,0x55,0x55,0xE9,0xEA,0xAA,0x6A,0x58,0x55,0x01,0xAA,0x0C,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x90,0xAA,0x00,0xD5,0x06,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0xB0,0xAA,0x00,0x2A,0x06,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x60,0x55,0x01,0x55,0x03,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x60,0xAA,0x00,0x2A,0x03,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xC0,0x56,0x01,0xB5,0x01,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC0,0xA8,0x00,0x8A,0x01,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x80,0x55,0x01,0xB5,0x01,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x80,0x55,0x01,0x8A,0x01,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 shut.png",width:35,height:25,alt:"Mouth_2_shut"},"Mouth_2_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x8E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0x20,0x02,0x4C,0x01,0x25,0xC0,0x46,0x53,0x8D,0xD5,0x48,0x63,0xF5,0x02,0xAE,0x00,0x6A,0x40,0xA8,0x9E,0x8A,0x94,0xA8,0xB2,0xEA,0x02,0xA6,0x00,0x6A,0xC0,0x55,0xAD,0xD2,0xAA,0x54,0x92,0x6A,0x03,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0x6A,0x02,0x53,0x01,0xD5,0xE0,0xAD,0x52,0x85,0x2A,0xA9,0x52,0x65,0x82,0xA9,0x00,0xAA,0xE0,0x51,0x55,0x55,0x55,0x54,0xA9,0x6A,0x82,0xA9,0x00,0x95,0x20,0xAD,0xAA,0xAA,0xAA,0x2A,0x55,0x65,0xC2,0x54,0x01,0xAA,0x31,0x53,0x55,0x55,0xD5,0xEA,0xAA,0x6A,0xE2,0xAA,0x00,0x2A,0x31,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x62,0x55,0x01,0x55,0x33,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0x32,0xAA,0x00,0xAA,0x32,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x3B,0x55,0x01,0x55,0x36,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x5F,0xAA,0x00,0x55,0x15,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xCF,0x56,0x01,0xAA,0x1D,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC7,0xA8,0x00,0xAA,0x19,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x87,0x55,0x01,0xB5,0x19,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x81,0x55,0x01,0x8A,0x11,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sad.png",width:35,height:25,alt:"Sad"},"Sad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sick.png",width:35,height:25,alt:"Sick"},"Sick,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x0F,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Smile.png",width:35,height:25,alt:"Smile"},"Smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Swearing.png",width:35,height:25,alt:"Swearing"},"Swearing,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xC0,0x00,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x60,0x28,0x00,0x00,0xC0,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x1F,0x64,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x28,0x00,0x00,0x00,0xC0,0x0B,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0xC4,0x3F,0x04,0x00,0x00,0x00,0xF8,0x7F,0x00,0x40,0x03,0x00,0x76,0x60,0x00,0x18,0x00,0x00,0xFC,0x7F,0x00,0xC0,0x01,0x00,0x1A,0x40,0x00,0x18,0x00,0x00,0xFC,0xF7,0x00,0xE0,0x01,0x00,0xC9,0x41,0x40,0x08,0x00,0x00,0xFC,0xE3,0x00,0xC0,0x03,0x00,0x09,0x42,0x40,0x00,0x00,0x00,0xFC,0xC3,0x10,0x80,0x00,0x00,0x19,0x63,0xC0,0x00,0x00,0x00,0x3C,0x63,0x70,0x00,0x00,0x03,0xF1,0x31,0xF0,0x07,0x00,0x00,0x1C,0x7E,0x78,0x00,0xC0,0x03,0x01,0x18,0xFC,0x03,0x00,0x00,0x1C,0x72,0x2C,0x00,0xE0,0x03,0x03,0x0C,0xF0,0x03,0x00,0x00,0x38,0x33,0x06,0x00,0xF0,0x03,0x0E,0x07,0xB0,0x03,0x00,0x00,0xF0,0x7F,0xC3,0x01,0xF0,0x03,0xF8,0x01,0x10,0x07,0x00,0x00,0xE0,0x2F,0xE1,0x00,0xF0,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x80,0x02,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xF0,0x01,0xF8,0xFE,0x01,0x00,0x00,0x00,0xFC,0x07,0x00,0x00,0xF0,0x01,0xFC,0xFF,0x03,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0xF0,0x01,0xFE,0xFF,0x07,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0xF0,0x00,0xBE,0xFE,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xF8,0xC0,0xDF,0xFF,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0xF8,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0xE0,0x01,0x00,0x00,0x78,0xE0,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x70,0xE0,0xFF,0xFF,0x7F,0x0F,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xC0,0x00,0x08,0x80,0xFF,0xDF,0xFF,0x0F,0x00,0xF0,0x01,0x00,0xF0,0x03,0x1E,0x00,0xFF,0xFF,0xFF,0x1F,0x00,0x3C,0x07,0x00,0xF0,0x03,0x3C,0x00,0xC0,0xBF,0xFF,0x3F,0x00,0x04,0x0C,0x00,0xE0,0x01,0x1C,0x00,0x00,0xFF,0xFF,0x7F,0x00,0xE4,0x19,0x00,0xF0,0x01,0x18,0x3E,0x00,0xFE,0xFF,0x7F,0x00,0xB2,0x11,0x00,0x10,0x03,0x00,0xE3,0x00,0xFC,0xFF,0xEF,0x00,0x56,0x19,0x00,0x00,0x02,0x80,0x81,0x03,0xF4,0xFF,0xFF,0x00,0x34,0x09,0x00,0x04,0x00,0x80,0x00,0x02,0xE6,0xFF,0xEF,0x00,0x8C,0x09,0x30,0x02,0x00,0xC0,0x30,0x02,0x23,0xFE,0xFB,0x00,0xB8,0x08,0x00,0x20,0x30,0x40,0x10,0x03,0x11,0xFC,0xFF,0x00,0xE0,0x00,0x0C,0x04,0x30,0xC0,0x98,0x81,0x18,0xE4,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x98,0x40,0x0C,0x27,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x71,0x60,0x06,0x21,0x38,0x00,0x00,0x00,0x08,0x00,0x20,0x10,0x03,0x40,0x0C,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x80,0x8C,0x09,0x00,0x00,0x00,0x1C,0x40,0x18,0x40,0x10,0x06,0xC0,0xC4,0x04,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x10,0x00,0x40,0xC2,0x04,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xD0,0x00,0x20,0xC1,0x0C,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x70,0x00,0x94,0xC1,0x0F,0x00,0x00,0x80,0x19,0x80,0xFF,0x00,0x70,0x00,0xDC,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0xFF,0x01,0x58,0x01,0x44,0x00,0x00,0x00,0x00,0x90,0x00,0xC0,0xFF,0x01,0xC0,0x00,0x44,0x00,0x00,0x00,0x00,0x30,0x18,0xC0,0xFF,0x03,0xC0,0x00,0x64,0x00,0x00,0x20,0x00,0x40,0x10,0xC0,0xFF,0x03,0xA0,0x00,0x1C,0x00,0x00,0x38,0x00,0x40,0x20,0xC0,0xFF,0x03,0xA0,0x00,0x00,0x00,0x00,0x70,0x00,0x80,0x54,0xC0,0xFF,0x01,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Talking.png",width:35,height:25,alt:"Talking"},"Talking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x0F,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Wink.png",width:35,height:25,alt:"Wink"},"Wink,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/ZZZ.png",width:35,height:25,alt:"ZZZ"},"ZZZ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0x3A,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0x0F,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0xE0,0xEF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xBF,0x01,0x00,0x00,0x20,0xE0,0x0F,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x3F,0x00,0xF0,0x07,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x6F,0x00,0xF8,0x07,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x5F,0x00,0xF8,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x7F,0x00,0xFC,0x03,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x81,0xFF,0x3F,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0xDF,0x3F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,0x1F,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x80,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x87,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x8D,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x02,0x00,0x00,0xC0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"]],Gn=[["8","1"],["16","2"],["32","4"],["48","6"],["64","8"]];const Bn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_SETUP).appendField(new Ex.FieldDropdown(Ln),"OLED_TYPE").appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(" "+Ex.Msg.MIXLY_MICROBIT_monitor).appendField(new Ex.FieldDropdown(yn),"ROTATION").appendField(" SCL").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"SCL").appendField("SDA").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"SDA"),this.appendValueInput("ADDRESS").appendField(Ex.Msg.MIXLY_LCD_ADDRESS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_INIT2_TOOLTIP),this.setFieldValue(Tx.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Tx.Profile.default.SDA[0][1],"SDA")}},Un={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_SETUP).appendField(new Ex.FieldDropdown(bn),"U8G2_TYPE_SPI").appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(" "+Ex.Msg.MIXLY_MICROBIT_monitor).appendField(new Ex.FieldDropdown(yn),"ROTATION"),this.appendDummyInput().appendField("CLK").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"CLK").appendField("MOSI").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"MOSI"),this.appendDummyInput().appendField("CS").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"CS").appendField("DC").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DC").appendField("RST").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"RST"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("CLK - SCL(SSD1306) - CLK(NOKIA5110)\nMOSI - SDA(SSD1306) - DIN(NOKIA5110)"),this.setHelpUrl(""),this.setFieldValue(Tx.Profile.default.SCK[0][1],"CLK"),this.setFieldValue(Tx.Profile.default.MOSI[0][1],"MOSI")}},Hn={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_SETUP+"LCD12864").appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(" "+Ex.Msg.MIXLY_MICROBIT_monitor).appendField(new Ex.FieldDropdown(yn),"ROTATION"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("RS").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DC"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("PSB = 0"),this.setHelpUrl("")}},Wn={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_SETUP+"LCD12864").appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(" "+Ex.Msg.MIXLY_MICROBIT_monitor).appendField(new Ex.FieldDropdown(yn),"ROTATION"),this.appendDummyInput().appendField("D0").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB0").appendField("D1").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB1").appendField("D2").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB2").appendField("D3").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB3").appendField("D4").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB4").appendField("D5").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB5").appendField("D6").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB6").appendField("D7").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DB7").appendField("E").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"ENABLE").appendField("RS").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DC"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("R/W = 0,PSB = 1"),this.setHelpUrl("")}},jn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},Kn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_BITMAP_NAME).appendField(new Ex.FieldTextInput("bitmap1"),"VAR").appendField(Ex.Msg.OLED_BITMAP_DATA).appendField(new Ex.FieldTextInput("0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},qn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new Ex.FieldDropdown(Gn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(Ex.Msg.OLED_ICON).appendField(new Ex.FieldDropdown(kn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},zn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput().appendField(Ex.Msg.OLED_ICON).appendField(new Ex.FieldDropdown(Xn),"FACE_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},Zn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ex.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ex.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Ex.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_SHOW_BMP_TOOLTIP)}},Jn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(Ex.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ex.Msg.OLED_POSY).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Qn={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(Ex.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(Ex.Msg.OLED_END_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DRAW_LINE_TOOLTIP)}},$n={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(Ex.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Cn),"TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},xs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_PAGE),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_page_tooltip)}},es={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAW_TRIANGLE),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(Ex.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(Ex.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(Ex.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(Ex.Msg.OLED_D2_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},fs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(On),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ex.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ex.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ts={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Rn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ex.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ex.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ex.Msg.OLED_RADIUS).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},is={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Sn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ex.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Nn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ns={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAW_ELLIPSE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Dn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS_X",Number).appendField(Ex.Msg.OLED_ELLIPSE_RADIUS_X).setCheck(Number),this.appendValueInput("RADIUS_Y",Number).appendField(Ex.Msg.OLED_ELLIPSE_RADIUS_Y).setCheck(Number),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Nn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DRAW_ELLIPSE_TOOLTIP)}},ss={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_DRAWSTR),this.appendValueInput("POS_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ex.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},as={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.set_EN_Font).appendField(new Ex.FieldDropdown(Pn),"FONT_NAME"),this.appendDummyInput("").appendField(Ex.Msg.FontSize).appendField(new Ex.FieldDropdown(vn),"FONT_SIZE"),this.appendDummyInput("").appendField(Ex.Msg.Font_Style).appendField(new Ex.FieldDropdown(wn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},ls={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.set_CN_Font).appendField(new Ex.FieldDropdown(Vn),"FONT_NAME"),this.appendDummyInput("").appendField(Ex.Msg.FontSize).appendField(new Ex.FieldDropdown(Yn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},cs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.set_ZH_TW_Font),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},ps={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ex.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_print_tooltip)}},ds={init:function(){this.appendValueInput("Contrast").setCheck(null).appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(Ex.Msg.TFT_Brightness+Ex.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wi),this.setTooltip(Ex.Msg.MIXLY_U8G2_SETCONTRAST_HELP),this.setHelpUrl("")}},os={init:function(){this.appendValueInput("str").setCheck(null).appendField(Ex.Msg.DISPLAY).appendField(new Ex.FieldTextInput("u8g2"),"NAME").appendField(" "+Ex.Msg.OLED_DRAWSTR+Ex.Msg.MIXLY_WIDTH),this.setOutput(!0,null),this.setColour(Wi),this.setTooltip(""),this.setHelpUrl("https://www.cnblogs.com/danpianjicainiao/p/11048729.html#_label3_1_39")}},us={init:function(){this.appendValueInput("row").setCheck(null).appendField(Ex.Msg.MIXLY_DF_LCD).appendField(new Ex.FieldTextInput("mylcd"),"name").appendField(Ex.Msg.MIXLY_LCD_ROW),this.appendValueInput("column").setCheck(null).appendField(Ex.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("pattern").setCheck(null).appendField(Ex.Msg.COLUMN_DISPLAY_IMAGE),this.appendDummyInput().appendField(Ex.Msg.LCD_NUMBERING).appendField(new Ex.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]]),"number"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wi),this.setTooltip(""),this.setHelpUrl("https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar")}},rs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ex.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a81").appendField(new Ex.FieldCheckbox("FALSE"),"a82").appendField(new Ex.FieldCheckbox("FALSE"),"a83").appendField(new Ex.FieldCheckbox("FALSE"),"a84").appendField(new Ex.FieldCheckbox("FALSE"),"a85"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a71").appendField(new Ex.FieldCheckbox("FALSE"),"a72").appendField(new Ex.FieldCheckbox("FALSE"),"a73").appendField(new Ex.FieldCheckbox("FALSE"),"a74").appendField(new Ex.FieldCheckbox("FALSE"),"a75"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a61").appendField(new Ex.FieldCheckbox("FALSE"),"a62").appendField(new Ex.FieldCheckbox("FALSE"),"a63").appendField(new Ex.FieldCheckbox("FALSE"),"a64").appendField(new Ex.FieldCheckbox("FALSE"),"a65"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a51").appendField(new Ex.FieldCheckbox("FALSE"),"a52").appendField(new Ex.FieldCheckbox("FALSE"),"a53").appendField(new Ex.FieldCheckbox("FALSE"),"a54").appendField(new Ex.FieldCheckbox("FALSE"),"a55"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a41").appendField(new Ex.FieldCheckbox("FALSE"),"a42").appendField(new Ex.FieldCheckbox("FALSE"),"a43").appendField(new Ex.FieldCheckbox("FALSE"),"a44").appendField(new Ex.FieldCheckbox("FALSE"),"a45"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a31").appendField(new Ex.FieldCheckbox("FALSE"),"a32").appendField(new Ex.FieldCheckbox("FALSE"),"a33").appendField(new Ex.FieldCheckbox("FALSE"),"a34").appendField(new Ex.FieldCheckbox("FALSE"),"a35"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a21").appendField(new Ex.FieldCheckbox("FALSE"),"a22").appendField(new Ex.FieldCheckbox("FALSE"),"a23").appendField(new Ex.FieldCheckbox("FALSE"),"a24").appendField(new Ex.FieldCheckbox("FALSE"),"a25"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a11").appendField(new Ex.FieldCheckbox("FALSE"),"a12").appendField(new Ex.FieldCheckbox("FALSE"),"a13").appendField(new Ex.FieldCheckbox("FALSE"),"a14").appendField(new Ex.FieldCheckbox("FALSE"),"a15"),this.setOutput(!0,Number),this.setTooltip("")}},_s={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ex.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").setAlign(Ex.inputs.Align.CENTRE).appendField(new Ex.FieldBitmap([[0,0,0,0,0],[0,1,1,1,0],[1,0,0,0,1],[1,0,1,0,1],[1,0,1,0,1],[1,0,0,0,1],[0,1,1,1,0],[0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},hs={init:function(){this.setColour(Wi),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_SETUP+" TFT "+Ex.Msg.DISPLAY),this.appendDummyInput().appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_STM32_TFT_GREENTAB+"(ST7735)","ST7735_INITR_GREENTAB"],[Ex.Msg.MIXLY_STM32_TFT_REDTAB+"(ST7735)","ST7735_INITR_REDTAB"],[Ex.Msg.MIXLY_STM32_TFT_BLACKTAB+"(ST7735)","ST7735_INITR_BLACKTAB"],["160×80(ST7735)","ST7735_160×80"],["160×128(ST7789)","ST7789_160×128"],["240×135(ST7789)","ST7789_240×135"],["240×240(ST7789)","ST7789_240×240"],["320×240(ST7789)","ST7789_320×240"],["480×320(ST7796)","ST7796_480×320"]]),"TYPE"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("CS").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"CS").appendField("DC").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DC").appendField("RST").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"RST"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Fs={init:function(){this.appendDummyInput().appendField("TFT").appendField(Ex.Msg.TFT_DISPLAY_CHINESE_CHARACTERS),this.appendDummyInput().appendField(Ex.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ex.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"],["AcadEref","AcadEref"],["Adobe Ming Std L","Adobe Ming Std L"],["Adobe Myungjo Std M","Adobe Myungjo Std M"],["Adobe Pi Std","Adobe Pi Std"],["AIGDT","AIGDT"],["AIgerian","AIgerian"],["AmdtSymbols","AmdtSymbols"],["Arial","Arial"],["Arial Rounded MT Bold","Arial Rounded MT Bold"],["Arial Unicode MS","Arial Unicode MS"],["BankGothic Lt BT","BankGothic Lt BT"],["BankGothic Md BT","BankGothic Md BT"],["Baskerville Old Face","Baskerville Old Face"],["Bauhaus 93","Bauhaus 93"],["Beranad MT Condensed","Beranad MT Condensed"]]),"st7735_hz_sharp").appendField(" "+Ex.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new Ex.FieldTextInput("16"),"st7735_hz_line_height").appendField("px").appendField(Ex.Msg.SAVETO+" flash").appendField(new Ex.FieldCheckbox("true"),"st7735_show_hz_save"),this.appendValueInput("st7735_hz_data").setCheck(null).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_SD_DATA+"#"),this.appendValueInput("st7735_hz_x").setCheck(null).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.OLED_L_U_X+"#"),this.appendValueInput("st7735_hz_y").setCheck(null).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.OLED_L_U_Y+"#"),this.appendValueInput("st7735_hz_height").setCheck(null).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_HEIGHT+"#"),this.appendValueInput("st7735_hz_width").setCheck(null).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_WIDTH+"#"),this.appendValueInput("st7735_hz_color").setCheck(null).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.blynk_iot_WidgetLED_COLOR),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wi),this.setTooltip(""),this.setHelpUrl("")}},Is={init:function(){this.setColour(Wi),this.appendValueInput("BRIGHTNESS").setCheck(Number).appendField("TFT"+Ex.Msg.TFT_Brightness+Ex.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},As={init:function(){this.setColour(Wi),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldColour("33ccff"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Es={init:function(){this.setColour(Wi),this.appendValueInput("R").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ts={init:function(){this.setColour(Wi),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_SETUP+" TFT "+Ex.Msg.DISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},gs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.MIXLY_BACKGROUND_COLOR),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};dn=[[Ex.Msg.MIXLY_0DEGREE,"0"],[Ex.Msg.MIXLY_90DEGREE,"1"],[Ex.Msg.MIXLY_180DEGREE,"2"],[Ex.Msg.MIXLY_270DEGREE,"3"]];const ms={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new Ex.FieldDropdown(dn),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Ms={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_BITMAP_NAME).appendField(new Ex.FieldTextInput("bitmap1"),"VAR").appendField(Ex.Msg.OLED_BITMAP_DATA).appendField(new Ex.FieldTextInput("0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f, 0x9f00, 0x989c, 0x009a, 0x9f00, 0x9c9e, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x0099, 0x9e00, 0x989e, 0x009c, 0x9c00, 0x7f7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a3, 0xa300, 0x989e, 0x0096, 0x9e00, 0x989d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989d, 0x0099, 0x9e00, 0x979c, 0x0098, 0x9c00, 0x7faa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0099, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9d00, 0x999e, 0x009d, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0xa000, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9e00, 0x969c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9aa1, 0x0096, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x008d, 0x9b00, 0x0000, 0x007f, 0x7f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x0000, 0x0095, 0x9c00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x949b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999f, 0x0098, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0899, 0x9e0e, 0x9ca1, 0x0c9b, 0x9f04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0095, 0x9a04, 0x989d, 0x119d, 0xa21e, 0xa2a6, 0x2faa, 0xae47, 0xb3b7, 0x5bbb, 0xbe6d, 0xc3c6, 0x42b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2b, 0xa8ac, 0x7fca, 0xcdbf, 0xe4e6, 0xe6f5, 0xf6f3, 0xfafa, 0xf1f9, 0xfad6, 0xeeef, 0x93d2, 0xd525, 0xa5aa, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0699, 0x9e0e, 0x9ca1, 0x169f, 0xa424, 0xa5aa, 0x36ac, 0xb045, 0xb2b6, 0x52b8, 0xbb64, 0xbfc2, 0x77c6, 0xc984, 0xccce, 0x98d4, 0xd7ac, 0xdcde, 0xbbe3, 0xe5d0, 0xeced, 0xe2f3, 0xf4ed, 0xf8f8, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3cae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0598, 0x9d52, 0xb7bb, 0xbfe4, 0xe6fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x6bc2, 0xc501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x4ab5, 0xb859, 0xbabd, 0x5fbc, 0xc068, 0xc0c3, 0x72c5, 0xc881, 0xcbce, 0x92d1, 0xd4a1, 0xd7d9, 0xaede, 0xdfc1, 0xe5e7, 0xd3ed, 0xeedd, 0xf1f2, 0xe7f5, 0xf6f2, 0xfafa, 0xfafd, 0xfdfc, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f2, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d4c, 0xb5b9, 0xcdeb, 0xecfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe6d, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xb9e2, 0xe3fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x35ab, 0xb000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff47, 0xb3b7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0x7ac8, 0xcaf6, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe401, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xecf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0f, 0x9ca1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x24a5, 0xa9c9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff38, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xd8f0, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4e, 0xb6ba, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x74c5, 0xc800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989c, 0x6fc3, 0xc6f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf2f2, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0398, 0x9d04, 0x989d, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x62be, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d88, 0xced1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x26a6, 0xaa00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x43b2, 0xb582, 0xccce, 0xb2df, 0xe1d7, 0xefef, 0xe5f4, 0xf5e7, 0xf5f6, 0xdff2, 0xf2c4, 0xe7e8, 0x98d4, 0xd657, 0xbabd, 0x18a0, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x089a, 0x9f77, 0xc6c9, 0x9dd5, 0xd7ac, 0xdddf, 0xc2e6, 0xe8d7, 0xeff0, 0xe5f5, 0xf5f7, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff0, 0xf9f9, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0x91d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5dbc, 0xbf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2e, 0xa9ad, 0x9bd6, 0xd7e8, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfaa6, 0xdadc, 0x2aa7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0398, 0x9d13, 0x9ea3, 0x72c5, 0xc7f6, 0xfbfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffcb, 0xeaeb, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x90d1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c23, 0xa4a9, 0xa5da, 0xdbfa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc8a, 0xced1, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c65, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9d, 0xd7d8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x6dc2, 0xc5fd, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c05, 0x999e, 0x6dc2, 0xc5f2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc9e9, 0xea1c, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9b9f, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6d, 0xc3c5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ec, 0xed00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4b6, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f1, 0x22a3, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3e, 0xb0b4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8ea, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe2f3, 0xf405, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7ee, 0xef15, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe1d, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xc1e5, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf805, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c76, 0xc6c9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xaaae, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x64be, 0xc200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb6e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcfec, 0xed01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2aa7, 0xacf5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd17, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x26a6, 0xaae4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xebf7, 0xf715, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0xb9e2, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1a, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea3, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff82, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb1df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ad5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c52, 0xb8bb, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9eb3, 0xdfe1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9fd7, 0xefef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd18, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57ba, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd6, 0xd8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x60bd, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc15, 0x9fa3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4c, 0xb5b9, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa2d9, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x95d2, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5cbc, 0xbf00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xdbf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7e8, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xddf1, 0xf205, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x87cd, 0xd0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c5b, 0xbbbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1b, 0xa1a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x78c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b2, 0xb600, 0x979c, 0x0398, 0x9dc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf506, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7e, 0xcacc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x66c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41b0, 0xb400, 0x979c, 0x38ad, 0xb1fe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xffe8, 0xf6f6, 0xd1ec, 0xede7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdaf0, 0xf101, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3caf, 0xb3f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0xc3e6, 0xe8b8, 0xe2e3, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff5b, 0xbbbe, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x58b9, 0xbdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3caf, 0xb200, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd3, 0xecee, 0x4bb5, 0xb807, 0x999e, 0x0096, 0x9b07, 0x999e, 0x62be, 0xc1f3, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcbe9, 0xeb00, 0x969b, 0x0097, 0x9c0e, 0x9ca1, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x6cc2, 0xc512, 0x9da2, 0x0096, 0x9b00, 0x969b, 0x19a0, 0xa5ce, 0xebec, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6a, 0xc1c4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x44b2, 0xb6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x38ad, 0xb110, 0x9da1, 0xecf7, 0xf8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e1, 0xe20f, 0x9da1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbabd, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xafde, 0xe000, 0x979c, 0x0197, 0x9c90, 0xd1d4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe519, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c43, 0xb1b5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff72, 0xc5c8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2ea9, 0xadff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x37ad, 0xb054, 0xb8bb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbd, 0xe4e5, 0x0a9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0xb6e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x98d4, 0xd600, 0x979c, 0x3aae, 0xb2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa4, 0xd9db, 0x0899, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xe9f6, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3dae, 0xb2ae, 0xdedf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf41a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x48b4, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bc8, 0xcb05, 0x989d, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xaadb, 0xdd07, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979b, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff69, 0xc1c3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa1f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5ab9, 0xbcf2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x51b7, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0699, 0x9de5, 0xf4f5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x60bd, 0xc06a, 0xc2c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffca, 0xe9ea, 0x0c9c, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbae3, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff57, 0xb9bd, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9de4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9f, 0xd7d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4db5, 0xb8e3, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f6, 0xf61e, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbce3, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9ccd, 0xeaeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fc, 0xfd2c, 0xa8ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c66, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfeff, 0x9ad5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x4eb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x969c, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd20, 0xa3a8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa3d9, 0xdb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c38, 0xadb1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xf0f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff99, 0xd5d7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x969b, 0xdff2, 0xf3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe8f6, 0xf609, 0x9a9e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c95, 0xd3d5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x32aa, 0xae00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdff2, 0xf312, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xf1f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce4, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c78, 0xc7ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbc, 0xe3e5, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x52b8, 0xbb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c26, 0xa6aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff50, 0xb7ba, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb6, 0xe1e2, 0x0297, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c54, 0xb8bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xabaf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf50c, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc2e6, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc2d, 0xa9ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea2, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9bd6, 0xd800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb0df, 0xe0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cbb, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8c, 0xd0d2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0xe2f3, 0xf4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa1d9, 0xdbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffee, 0xf8f8, 0x1aa1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9fe9, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe30, 0xaaae, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xbee4, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffed, 0xf8f8, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x98d4, 0xd6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff83, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x35ac, 0xb0fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe502, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdee0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x94d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf612, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x48b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x80ca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc7, 0xe8e9, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x47b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff37, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x169f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff49, 0xb4b8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a4, 0xa8fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x96d3, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe001, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9eea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xccea, 0xeb00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd29, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca8, 0xdbdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x28a7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc3, 0xe6e8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x99d5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbae2, 0xe301, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0c9b, 0xa0ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff76, 0xc6c9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c90, 0xd1d3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4eb6, 0xb900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x52b8, 0xbbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc5e7, 0xe807, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbabe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b3, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x089a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffec, 0xf7f8, 0x24a4, 0xa900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3eb0, 0xb400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc8e8, 0xe9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8b, 0xcfd1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c12, 0x9ea2, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe54, 0xb8bc, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c09, 0x9a9f, 0xe7f5, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x53b8, 0xbc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd2ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81ca, 0xcd01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ec3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xe4f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd3ed, 0xee02, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cba, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffab, 0xddde, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7fca, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd0, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0f, 0x9ca1, 0xf4fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7fca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc1e5, 0xe70b, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eb0, 0xb4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e1, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c22, 0xa4a9, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x34ac, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x79c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffce, 0xebec, 0x159f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0a9a, 0x9fee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe1f2, 0xf302, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c39, 0xadb1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf2f3, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ed, 0xed18, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc16, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5e, 0xbcbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbb, 0xe3e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c41, 0xb0b4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x1aa1, 0xa500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c6f, 0xc4c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff3d, 0xafb3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c83, 0xccce, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe2e4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9caa, 0xdcde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcae9, 0xea18, 0xa0a4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ac, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6c, 0xc2c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9caa, 0xdcdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xe4e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1ea2, 0xa6f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x139e, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0xa058, 0xbabd, 0xa2d8, 0xdacd, 0xeaeb, 0xd6ee, 0xefc7, 0xe8e9, 0xa0d8, 0xd96a, 0xc1c4, 0x2aa7, 0xac07, 0x999d, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9e, 0xd7d9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cd9, 0xf0f0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc2, 0xe6e7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb3e0, 0xe10d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7ac9, 0xcbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfed7, 0xeeef, 0xd7ef, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd0, 0xeced, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4fb, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc9, 0xe8ea, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ca0, 0xe7f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd8ef, 0xf0a6, 0xdadc, 0x73c5, 0xc840, 0xb0b4, 0x129e, 0xa200, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x119d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x46b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c68, 0xc0c4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfcd3, 0xedee, 0xa0d8, 0xd96f, 0xc3c6, 0x3eaf, 0xb315, 0x9ea3, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x72c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x43b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7dc9, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9dd8, 0xeff0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xfff6, 0xfbfc, 0xd7ef, 0xefa4, 0xd9db, 0x1da1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x68c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7cc9, 0xcb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xbee4, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf3f3, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x63be, 0xc2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d2, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x5abb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf1fa, 0xfaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffea, 0xf7f7, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xdaf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfb20, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4db6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f5, 0xf609, 0x9a9f, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff4, 0xfbfb, 0x119d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c72, 0xc5c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x42b1, 0xb5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe2c, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca3, 0xd9db, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0x20a4, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa2, 0xa7ee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x20a3, 0xa700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eaf, 0xb3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xeaf7, 0xf7c7, 0xe8e9, 0xa8db, 0xdd91, 0xd2d4, 0x83cb, 0xce7f, 0xc9cc, 0x7ac7, 0xca7f, 0xc9cc, 0x83cb, 0xcd92, 0xd2d5, 0xa9db, 0xddbf, 0xe5e6, 0xddf1, 0xf2f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff63, 0xbfc2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0d9c, 0xa0e9, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3caf, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4cb5, 0xb986, 0xcdcf, 0x84cb, 0xcd81, 0xcacd, 0x79c7, 0xca71, 0xc4c7, 0x6bc2, 0xc565, 0xc0c3, 0x5fbd, 0xc15a, 0xbbbe, 0x56ba, 0xbd54, 0xb9bd, 0x52b8, 0xbc51, 0xb7bb, 0x50b7, 0xba4f, 0xb6ba, 0x4eb6, 0xb94e, 0xb5b9, 0x4db5, 0xb94d, 0xb5b9, 0x4db5, 0xb94e, 0xb5b9, 0x4fb6, 0xba51, 0xb7bb, 0x52b8, 0xbc57, 0xbabd, 0x5cbc, 0xbf65, 0xc0c3, 0x6fc3, 0xc679, 0xc8ca, 0x83cb, 0xce8d, 0xd0d3, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3cae, 0xb2ff, 0xffff, 0xfeff, 0xffd3, 0xedee, 0x78c7, 0xca2c, 0xa8ac, 0x089a, 0x9e01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0497, 0x9c0e, 0x9ca1, 0x2ea9, 0xad61, 0xbec1, 0x9fd7, 0xd9d8, 0xeff0, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa5, 0xdadb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4eb6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5fbd, 0xc000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee1, 0xf3f3, 0x56b9, 0xbc05, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0x25a5, 0xaa67, 0xc0c3, 0xb8e2, 0xe3f9, 0xfdfd, 0xffff, 0xffe4, 0xf4f4, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d3, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x139f, 0xa31d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa2a6, 0x74c6, 0xc8d6, 0xeeef, 0x30a9, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf75b, 0xbbbe, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989e, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0x5dbc, 0xbfa6, 0xd9db, 0xe1f3, 0xf3fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf580, 0xcbcd, 0x1ea2, 0xa701, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e2c, 0xa8ac, 0x6ac1, 0xc4ac, 0xddde, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbae, 0xdddf, 0x48b4, 0xb705, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e37, 0xacb0, 0x76c6, 0xc9b3, 0xdfe1, 0xe8f6, 0xf6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1f, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e2f, 0xa9ae, 0x71c4, 0xc7ae, 0xdddf, 0xe3f3, 0xf4fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e28, 0xa7ab, 0x5ebc, 0xbf96, 0xd3d6, 0xd2ed, 0xeefa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b9, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa3a7, 0x6fc4, 0xc653, 0xb8bc, 0x3cae, 0xb21e, 0xa3a7, 0x0c9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c16, 0x9fa4, 0x49b4, 0xb881, 0xcbcd, 0xb7e1, 0xe2e6, 0xf5f5, 0xfeff, 0xffec, 0xf8f8, 0x109d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9dbc, 0xe3e5, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0xf0f9, 0xfa3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989d, 0x27a6, 0xaa44, 0xb1b6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x59bb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff43, 0xb1b5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6f, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x26a6, 0xaa5a, 0xbbbe, 0xb1df, 0xe0c5, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c32, 0xaaae, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdfe0, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x2da8, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7a, 0xc8ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x2aa7, 0xac00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c49, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x77c7, 0xca00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cad, 0xdddf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd0eb, 0xed17, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c97, 0xd4d6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa5da, 0xdc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x33ab, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4ea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc2, 0xe6e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf6fb, 0xfc8b, 0xcfd1, 0x149f, 0xa300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xa8db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce3, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9a, 0xd5d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf88c, 0xd0d2, 0x2ba7, 0xac01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9f9f, 0xd8d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbfe, 0xfec4, 0xe7e8, 0x6dc2, 0xc624, 0xa5aa, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2d, 0xa8ad, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa0d8, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0xe5f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xd2ec, 0xed8f, 0xd1d3, 0x49b4, 0xb812, 0x9ea2, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c15, 0x9fa3, 0x91d2, 0xd3f6, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8bce, 0xd100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xccea, 0xeb99, 0xd5d7, 0x66c0, 0xc337, 0xacb0, 0x109d, 0xa100, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c21, 0xa4a8, 0x8ace, 0xd1ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9dbf, 0xe4e6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbd5, 0xeeef, 0xa7da, 0xdc7c, 0xc9cb, 0x57ba, 0xbd33, 0xabaf, 0x159f, 0xa306, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9f49, 0xb4b8, 0xa9db, 0xddf8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fb0, 0xb300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xdef1, 0xf2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xf5fb, 0xfbe1, 0xf3f4, 0xc7e8, 0xe9a4, 0xd9db, 0x85cc, 0xcf65, 0xbfc2, 0x46b3, 0xb627, 0xa6aa, 0x159f, 0xa306, 0x999e, 0x0397, 0x9c01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0397, 0x9c1c, 0xa1a6, 0x59bb, 0xbea5, 0xd9dc, 0xe6f5, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x27a6, 0xaadf, 0xf2f3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfced, 0xf8f8, 0xdef1, 0xf2c7, 0xe8e9, 0xb7e0, 0xe2a5, 0xd9db, 0x90d1, 0xd482, 0xcbcd, 0x76c6, 0xc967, 0xc0c3, 0x58bb, 0xbe51, 0xb7ba, 0x4cb4, 0xb844, 0xb2b5, 0x3daf, 0xb33a, 0xaeb2, 0x37ad, 0xb136, 0xacb0, 0x3daf, 0xb247, 0xb2b6, 0x55b9, 0xbd6e, 0xc3c6, 0x8ccf, 0xd2b2, 0xdfe1, 0xddf1, 0xf2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xd1ec, 0xedff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff7b, 0xc8cb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x119d, 0xa2a6, 0xdadc, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe2b, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989d, 0x62be, 0xc1eb, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xa5da, 0xdbfb, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x45b2, 0xb600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c3b, 0xaeb2, 0xc1e5, 0xe7fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe3e4, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d47, 0xb3b7, 0xbee4, 0xe6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfa2a, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c40, 0xb0b4, 0xafde, 0xe0f8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c25, 0xa5a9, 0x88ce, 0xd0e7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff92, 0xd2d4, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0x56b9, 0xbdb0, 0xdee0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9dd6, 0xd806, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa46c, 0xc2c5, 0xbce3, 0xe5f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe8b, 0xcfd2, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c19, 0xa0a5, 0x5fbd, 0xc0b2, 0xdfe1, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe9, 0xf6f7, 0x53b8, 0xbb01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa14a, 0xb4b8, 0x8fd0, 0xd2d0, 0xeced, 0xfbfd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffb, 0xfefe, 0x9ed7, 0xd91a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x1da2, 0xa65e, 0xbdc0, 0x9ad5, 0xd7d2, 0xeded, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xabdc, 0xde33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x19a0, 0xa54a, 0xb4b8, 0x85cc, 0xcfc2, 0xe6e7, 0xedf8, 0xf8fd, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfed7, 0xeff0, 0x7cc8, 0xcb20, 0xa3a7, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0b9a, 0x9f2e, 0xa9ad, 0x5ebd, 0xbf8c, 0xcfd1, 0xb9e2, 0xe3e4, 0xf4f5, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdff, 0xffe5, 0xf4f5, 0xafde, 0xdf70, 0xc3c7, 0x2ea9, 0xad04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0x179f, 0xa43e, 0xafb3, 0x62be, 0xc185, 0xcccf, 0xa3d9, 0xdbbe, 0xe4e5, 0xd1ec, 0xede1, 0xf3f4, 0xebf7, 0xf7ee, 0xf8f8, 0xeef8, 0xf8ed, 0xf8f8, 0xeaf6, 0xf7e0, 0xf3f3, 0xd2ed, 0xeec4, 0xe6e7, 0xafde, 0xdf92, 0xd2d4, 0x71c4, 0xc74b, 0xb4b8, 0x1fa2, 0xa704, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989b, 0x0097, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c06, 0x989d, 0x0899, 0x9e09, 0x999e, 0x099a, 0x9f09, 0x999e, 0x0899, 0x9d06, 0x989d, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x009a, 0x9d00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x007f, 0x7f00, 0x969e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9f00, 0x0000, 0x0000, 0x0000, 0x9a9f, 0x0099, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989c, 0x0094, 0x9f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x9e00, 0x969c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9e00, 0x979b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0098, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999e, 0x0097, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x9900, 0x9a9e, 0x0097, 0x9e00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x989c, 0x0099, 0x9e00, 0x9494, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},Cs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(new Ex.FieldImage(f(481),20,20,"*",(()=>{this.showSettingDialog()}))).appendField("TFT").appendField(Ex.Msg.OLED_BITMAP_NAME).appendField(new Ex.FieldTextInput("bitmap1"),"VAR").appendField(Ex.Msg.OLED_BITMAP_DATA).appendField(new Ex.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DEF_BMP_DATA_TOOLTIP)},showSettingDialog:function(){this.userImgSize={width:100,height:100};const x=Tx.XML.render(Tx.XML.TEMPLATE_STR.READ_BITMAP_DIV,{btn1Name:"加载",btn2Name:"保存"});this.canvas=Ui()(""),this.ctx=this.canvas[0].getContext("2d"),this.ctx.textAlign="left",this.ctx.textBaseline="top",Tx.LayerExt.open({title:"图片取模工具",id:"read-bitmap-layer",area:["50%","250px"],max:["500px","250px"],min:["350px","100px"],content:x,borderRadius:"5px",shade:Tx.LayerExt.SHADE_ALL,success:x=>{Ui()("#read-bitmap-layer").css("overflow","hidden"),this.addEvents(x)}})},addEvents:function(x){x.find("button").click((e=>{switch(Ui()(e.currentTarget).attr("m-id")){case"0":this.loadImg(x);break;case"1":this.writeJson()}}))},loadImg:function(x){Tx.MFile.openFile(".png,.jpg","url",(e=>{const{data:f}=e,t=new Image;t.src=f,t.onload=()=>{Ui()("#read-bitmap-div-input-img").empty(),Ui()("#read-bitmap-div-input-img").append(t);const e={width:t.naturalWidth,height:t.naturalHeight},i=this.getUserImgSize(x),n=i.width/e.width,s=i.height/e.height;isNaN(e.width)||isNaN(e.height)||(s>n?i.height=parseInt(n*e.height):i.width=parseInt(s*e.width)),this.userImgSize=i,this.imgSize=e;const a=new Image;a.height=i.height,a.width=i.width,a.src=f,a.onload=()=>{const x=Ui()(""),e=x[0].getContext("2d");e.textAlign="left",e.textBaseline="top";const f=window.devicePixelRatio||1;this.canvas[0].width=a.width,this.canvas[0].height=a.height,this.ctx.width=a.width,this.ctx.height=a.height,x[0].width=a.width*f,x[0].height=a.height*f,e.width=a.width*f,e.height=a.height*f,this.ctx.drawImage(a,0,0,a.width,a.height),e.drawImage(a,0,0,a.width*f,a.height*f),Ui()("#read-bitmap-div-output-img").empty(),Ui()("#read-bitmap-div-output-img").append(x)};const l=Ui()("#read-bitmap-div-message"),c="输入尺寸:"+e.width+"×"+e.height+"  输出尺寸:"+i.width+"×"+i.height;l.empty(),l.append(``)}}))},writeJson:function(){const{userImgSize:x={}}=this,{width:e=100,height:f=100}=x,{data:t}=this.ctx.getImageData(0,0,e,f);let i=0,n="";for(let x=0;x>3&31;break;case 2:i=(31&i)<<6,i|=t[x]>>2&63;break;case 3:i=(2047&i)<<5,i|=t[x]>>3&31;break;default:e=i.toString(16);for(let x=4;x>e.length;x--)f+="0";e=f+e,n+="0x"+e+(x===t.length-1?"":","),i=0}(x+1)%400==0&&x!==t.length-1&&(n+="\n ")}this.setFieldValue(n,"TEXT"),this.setTooltip("图片尺寸(宽×高):"+e+"×"+f),Hi.msg("保存成功",{time:1e3})},getUserImgSize:function(x){const e=x.find("input"),f={width:100,height:100};for(let x=0;e[x];x++){const t=Ui()(e[x]);switch(t.attr("m-id")){case"0":f.width=parseInt(t.val())??100;break;case"1":f.height=parseInt(t.val())??100}}return f.width>300&&(f.width=300),f.height>300&&(f.height=300),f}},Os={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Ex.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ex.Msg.OLED_POSY).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ex.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ex.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Ex.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_SHOW_BMP_TOOLTIP)}},Ss={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(Ex.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ex.Msg.OLED_POSY).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Rs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(Ex.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(Ex.Msg.OLED_END_Y).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.OLED_DRAW_LINE_TOOLTIP)}},Ns={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(Ex.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Cn),"TYPE"),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ds={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_DRAW_TRIANGLE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(ji),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(Ex.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(Ex.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(Ex.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(Ex.Msg.OLED_D2_Y).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Ps={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(ji),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ex.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ex.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Ls={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(ji),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(Ex.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Ex.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ex.Msg.OLED_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new Ex.FieldDropdown(ji),"TYPE"),this.appendValueInput("D0_X",Number).appendField(Ex.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(Ex.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(Ex.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Nn),"OPT"),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ys={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(Ex.Msg.set_EN_Font).appendField(new Ex.FieldDropdown(Pn),"FONT_NAME"),this.appendDummyInput("").appendField(Ex.Msg.FontSize).appendField(new Ex.FieldDropdown(vn),"FONT_SIZE"),this.appendDummyInput("").appendField(Ex.Msg.Font_Style).appendField(new Ex.FieldDropdown(wn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},vs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(Ex.Msg.set_CN_Font).appendField(new Ex.FieldDropdown(Vn),"FONT_NAME"),this.appendDummyInput("").appendField(Ex.Msg.FontSize).appendField(new Ex.FieldDropdown(Yn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},ws={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_BITMAP),this.appendValueInput("POS_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new Ex.FieldDropdown(Gn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(Ex.Msg.OLED_ICON).appendField(new Ex.FieldDropdown(kn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_setFont_tooltip)}},Vs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ex.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_print_tooltip)}},Ys={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField("TFT").appendField(Ex.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(Ex.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(Ex.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(Ex.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.oled_print_tooltip)}},ks=Ki,Xs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.MIXLY_SETUP).appendField("CLK").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"CLK").appendField("DIO").appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},Gs={init:function(){this.setColour(Wi),this.appendValueInput("VALUE").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP1)}},Bs={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_ON,"(0x80 >> 1)"],[Ex.Msg.MIXLY_OFF,"(0x80 >> 2)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},Us={init:function(){this.setColour(Wi),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(Ex.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},Hs={init:function(){this.setColour(Wi),this.appendDummyInput().appendField(Ex.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new Ex.FieldTextInput("display"),"NAME").appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},Ws={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_BEGIN).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_ETHERNET,"Ethernet"],[Ex.Msg.MIXLY_ETHERNET2,"Ethernet2"]]),"Ethernet"),this.appendValueInput("MAC").setCheck(Array).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_ETHERNET_MAC_ADDRESS),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_INIT)}},js={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Ex.FieldTextInput("DE"),"VAR1").appendField("-").appendField(new Ex.FieldTextInput("AD"),"VAR2").appendField("-").appendField(new Ex.FieldTextInput("BE"),"VAR3").appendField("-").appendField(new Ex.FieldTextInput("EF"),"VAR4").appendField("-").appendField(new Ex.FieldTextInput("FE"),"VAR5").appendField("-").appendField(new Ex.FieldTextInput("ED"),"VAR6"),this.setOutput(!0,Array),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_MACADDRESS)}},Ks={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_LOCALIP),this.setOutput(!0,"IPAddress"),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_LOCALIP)}},qs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_CONNECT_SERVER).appendField(this.newQuote_(!0)).appendField(new Ex.FieldTextInput("mixly.org"),"SERVER").appendField(this.newQuote_(!1)),this.appendValueInput("PORT").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECT)},newQuote_:function(x){if(x==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 Ex.FieldImage(e,12,12,'"')}},zs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_STOP)}},Zs={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_CONNECTED),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECTED)}},Js={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_AVAILABLE),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_AVAILABLE)}},Qs={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINT)}},$s={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINTLN)}},xa={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_READ),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_READ)}},ea={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_URL).appendField(this.newQuote_(!0)).appendField(new Ex.FieldTextInput(""),"URL").appendField(this.newQuote_(!1)),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_SERVER).appendField(this.newQuote_(!0)).appendField(new Ex.FieldTextInput(""),"SERVER").appendField(this.newQuote_(!1)),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_ETHERNET_GET_REQUEST)},newQuote_:function(x){if(x==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 Ex.FieldImage(e,12,12,'"')}},fa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ex.Msg.NTP_SERVER),this.appendValueInput("server_add").appendField(Ex.Msg.blynk_SERVER_ADD).setCheck(String),this.appendValueInput("timeZone").appendField(Ex.Msg.MIXLY_TimeZone).setCheck(Number),this.appendValueInput("Interval").appendField(Ex.Msg.blynk_WidgetRTC_setSyncInterval).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ta=[[Ex.Msg.MIXLY_YEAR,"NTP.getDateYear()"],[Ex.Msg.MIXLY_MONTH,"NTP.getDateMonth()"],[Ex.Msg.MIXLY_DAY,"NTP.getDateDay()"],[Ex.Msg.MIXLY_HOUR,"NTP.getTimeHour24()"],[Ex.Msg.MIXLY_MINUTE,"NTP.getTimeMinute()"],[Ex.Msg.MIXLY_SECOND,"NTP.getTimeSecond()"],[Ex.Msg.MIXLY_WEEK,"NTP.getDateWeekday()"]];const ia={init:function(){this.setColour(0),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.NTP_server_get_time),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldDropdown(ta),"TIME_TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number)}},na={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Ex.FieldImage(f(803),20,20)).appendField(Ex.Msg.MQTT_SERVER),this.appendValueInput("server_add").appendField(Ex.Msg.MQTT_SERVER_ADD).setCheck(String),this.appendValueInput("server_port").appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_PORT).setCheck(Number),this.appendValueInput("IOT_ID").appendField(Ex.Msg.MIXLY_EMQX_USERNAME).setCheck(String),this.appendValueInput("IOT_PWD",String).appendField(Ex.Msg.HTML_PASSWORD).setCheck([String,Number]),this.appendValueInput("Client_ID").appendField(Ex.Msg.MQTT_Client_ID).setCheck(String),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},sa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Ex.FieldImage(f(803),20,20)).appendField(Ex.Msg.MIXLY_NETWORK_INIT),this.appendValueInput("SSID").appendField(Ex.Msg.HTML_NAME),this.appendValueInput("PWD").appendField(Ex.Msg.HTML_PASSWORD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},aa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(Ex.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(Ex.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},la={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},ca={init:function(){this.setColour(0),this.appendDummyInput(),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_GET+Ex.Msg.MIXLY_DEVICE).appendField(new Ex.FieldDropdown([["MAC","MAC"],["IP","IP"]]),"mode").appendField(Ex.Msg.MQTT_SERVER_ADD),this.setOutput(!0),this.setInputsInline(!0)}},pa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ex.Msg.MQTT_connect),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}};var da=function(x){return x.replace(/\//g,"")};const oa={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new Ex.FieldImage(f(803),20,20)).appendField(Ex.Msg.MQTT_publish),this.appendValueInput("data"),this.appendDummyInput("").appendField(Ex.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.appendDummyInput().appendField(Ex.Msg.MQTT_Topic).appendField(new Ex.FieldTextInput("Topic",da),"Topic"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},ua={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MQTT_Topic).appendField(new Ex.FieldTextInput("Topic_0",da),"Topic_0"),this.appendDummyInput("").appendField(Ex.Msg.HTML_VALUE),this.setInputsInline(!0),this.setOutput(!0,String)}},ra={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MQTT_Topic),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},_a={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Ex.Msg.MQTT_Topic+Ex.Msg.MQTT_subscribe2).appendField(new Ex.FieldTextInput("Topic_0",da),"Topic_0"),this.appendStatementInput("DO0").appendField(Ex.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new Ex.icons.MutatorIcon(["MQTT_add_subscribe_topic"],this));var x=this;this.setTooltip((function(){return x.elseifCount_?x.elseifCount_?Ex.Msg.CONTROLS_IF_TOOLTIP_3:void 0:Ex.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),x},domToMutation:function(x){for(var e=this,f=[],t=this.elseifCount_;t>0;t--)this.removeInput("DummyInput"+t),e.getInputTargetBlock("DO"+t)&&e.getInputTargetBlock("DO"+t).previousConnection?f[t]=e.getInputTargetBlock("DO"+t).previousConnection:f[t]=null,this.removeInput("DO"+t);this.elseifCount_=parseInt(x.getAttribute("elseif"),10);for(t=1;t<=this.elseifCount_;t++)this.appendDummyInput("DummyInput"+t).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Ex.Msg.MQTT_Topic+Ex.Msg.MQTT_subscribe2).appendField(new Ex.FieldTextInput("Topic_"+t,da),"Topic_"+t),this.appendStatementInput("DO"+t).appendField(Ex.Msg.CONTROLS_IF_MSG_THEN);for(t=f.length-2;t>0;t--)f[t]&&f[t]&&f[t].reconnect(this,"DO"+t)},decompose:function(x){var e=x.newBlock("mqtt_topics_set");e.initSvg();for(var f=e.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("MQTT_add_subscribe_topic");i.initSvg(),f.connect(i.previousConnection),f=i.nextConnection}return e},compose:function(x){for(var e=this.elseifCount_;e>0;e--)this.removeInput("DummyInput"+e),this.removeInput("DO"+e);this.elseifCount_=0;for(var f=x.getInputTargetBlock("STACK"),t=[null];f;){if("MQTT_add_subscribe_topic"!==f.type)throw Error("Unknown block type: "+f.type);this.elseifCount_++,t.push(f.statementConnection_),f=f.nextConnection&&f.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t)},saveConnections:function(x){for(var e=x.getInputTargetBlock("STACK"),f=1;e;){if("MQTT_add_subscribe_topic"!==e.type)throw"Unknown block type.";var t=this.getInput("DO"+f);e.statementConnection_=t&&t.connection.targetConnection,f++,e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){for(var x=[null],e=1;this.getInput("DummyInput"+e);){var f=this.getInput("DO"+e);x.push(f.connection.targetConnection),e++}this.updateShape_(),this.reconnectChildBlocks_(x)},updateShape_:function(){for(var x=1;this.getInput("DummyInput"+x);)this.removeInput("DummyInput"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendDummyInput("DummyInput"+x).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(Ex.Msg.MQTT_Topic+Ex.Msg.MQTT_subscribe2).appendField(new Ex.FieldTextInput("Topic_"+x,da),"Topic_"+x),this.appendStatementInput("DO"+x).appendField(Ex.Msg.CONTROLS_IF_MSG_THEN)},reconnectChildBlocks_:function(x){for(var e=1;e<=this.elseifCount_;e++)x[e]&&x[e].reconnect(this,"DO"+e)}},ha={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.MIXLY_EMQX_SUBSCRIBE+Ex.Msg.MQTT_Topic),this.appendStatementInput("STACK"),this.contextMenu=!1}},Fa={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(Ex.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(Ex.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(Ex.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Ia={init:function(){this.setColour(0),this.appendDummyInput().appendField(Ex.Msg.blynk_smartconfig).appendField(new Ex.FieldDropdown([["SmartConfig","SmartConfig"],["AP","AP"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MQTT_TEST_TOOLTIP)}},Aa={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(244),25,25,"*")).appendField(Ex.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+":").appendField(new Ex.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.appendValueInput("SSID").setCheck(null).appendField("WIFI "+Ex.Msg.HTML_NAME),this.appendValueInput("PSK").setCheck(null).appendField("WIFI "+Ex.Msg.HTML_PASSWORD),this.appendValueInput("IP1").setCheck(null).appendField(Ex.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(Ex.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(Ex.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Ea={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(244),25,25,"*")).appendField(Ex.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+": AP+STA"),this.appendValueInput("SSID1").setCheck(null).appendField("WIFI "+Ex.Msg.HTML_NAME+"(STA)"),this.appendValueInput("SSID2").setCheck(null).appendField("WIFI "+Ex.Msg.HTML_NAME+"(AP)"),this.appendValueInput("PSK1").setCheck(null).appendField("WIFI "+Ex.Msg.HTML_PASSWORD+"(STA)"),this.appendValueInput("PSK2").setCheck(null).appendField("WIFI "+Ex.Msg.HTML_PASSWORD+"(AP)"),this.appendValueInput("IP1").setCheck(null).appendField(Ex.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(Ex.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(Ex.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(Ex.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Ta={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(244),25,25,"*")).appendField(Ex.Msg.CONTROLS_IF_MSG_IF+" WIFI UDP "+Ex.Msg.MIXLY_STM32_SPI_DATA_RECEIVED+"?"),this.appendValueInput("input_data").setCheck(null).appendField(Ex.Msg.PROCEDURES_CALL_BEFORE_PARAMS),this.appendDummyInput().appendField("("+Ex.Msg.LANG_MATH_STRING+")"),this.appendStatementInput("do").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},ga={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(244),25,25,"*")).appendField("WIFI UDP "+Ex.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},ma={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ex.Msg.WeatherGet).appendField(new Ex.FieldTextInput("北京"),"data").appendField("1","check"),this.setOutput(!0,Boolean),this.setTooltip("输入正确的城市名(不用带“市”字)如:深圳 北京 广州,如果错误会显示'error'刷新成功则返回true\n天气接口优化注意:\n1. 接口每 8 小时更新一次,机制是 CDN 缓存 8 小时更新一次。注意:自己做缓存。\n2. 接口采用城市 ID 来精准查询请求,省份不能直接查询天气。\n3.每分钟阈值为 300 次,如果超过会禁用一天。请谨慎使用。")}},Ma={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ex.Msg.WeatherGetToday).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_Humidity,"0"],["PM2.5","1"],["PM1.0","2"],[Ex.Msg.TodayQuality,"3"],[Ex.Msg.MIXLY_TEMPERATURE,"4"]]),"type"),this.setOutput(!0,Number),this.setTooltip("返回对应数据 字符串型。")}},Ca={init:function(){this.setColour(0),this.appendDummyInput("").appendField(Ex.Msg.WeatherGetForecast).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_GPS_DATE,"ForecastDate"],[Ex.Msg.ForecastHigh,"ForecastHigh"],[Ex.Msg.ForecastLow,"ForecastLow"],[Ex.Msg.ForecastYmd,"ForecastYmd"],[Ex.Msg.MIXLY_WEEK,"ForecastWeek"],[Ex.Msg.ForecastAqi,"ForecastAqi"],[Ex.Msg.ForecastFx,"ForecastFx"],[Ex.Msg.ForecastFl,"ForecastFl"],[Ex.Msg.ForecastType,"ForecastType"]]),"type"),this.appendValueInput("date",Number).appendField(Ex.Msg.MIXLY_GPS_DATE+"(0~14)"),this.setOutput(!0,Number),this.setTooltip("返回预报天气内容0表示当天,最大为14,字符串型。"),this.setInputsInline(!0)}},Oa={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("server").setCheck(null).appendField(Ex.Msg.blynk_SERVER_ADD),this.appendValueInput("port").setCheck(null).appendField(Ex.Msg.MIXLY_EMQX_PORT),this.appendValueInput("mqtt_username").setCheck(null).appendField(Ex.Msg.MIXLY_WIFI_USERNAME),this.appendValueInput("mqtt_password").setCheck(null).appendField(Ex.Msg.MIXLY_WIFI_PASSWORD),this.appendValueInput("project").setCheck(null).appendField(Ex.Msg.MIXLY_EMQX_PROJECT),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Sa={init:function(){this.appendDummyInput().appendField(Ex.Msg.USE_MIXLY_KEY).appendField(new Ex.FieldTextInput("1RFOH08C"),"key").appendField(Ex.Msg.CONNECT_TO_MIXIO).appendField(Ex.Msg.blynk_SERVER_ADD).appendField(new Ex.FieldTextInput("mixio.mixly.cn"),"server"),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Ra={init:function(){this.appendValueInput("data").setCheck(null).appendField(Ex.Msg.MQTT_SEND_MESSAGE),this.appendValueInput("topic").setCheck(null).appendField(Ex.Msg.TO_TOPIC),this.appendDummyInput().appendField(new Ex.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Na={init:function(){this.appendValueInput("topic").setCheck(null).appendField(Ex.Msg.WHEN_THE_SUBJECT_IS_RECEIVED),this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_MSG).appendField(new Ex.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.appendStatementInput("function").setCheck(null),this.setPreviousStatement(!1,null),this.setNextStatement(!1,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},Da={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(810),15,15,{alt:"*",flipRtl:"FALSE"})).appendField("ElegantOTA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("http://ip/update"),this.setHelpUrl("")}},Pa="#777777",La={init:function(){this.setColour(Pa),this.appendDummyInput("").appendField("#include <").appendField(new Ex.FieldTextInput("Test"),"INCLUDE").appendField(".h>"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ba={init:function(){this.setColour(Pa),this.appendDummyInput("").appendField(new Ex.FieldTextInput("function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Ex.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var x=document.createElement("mutation");x.setAttribute("items",this.itemCount_);for(var e=0;e0&&x","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xl),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Ex.FieldDropdown(x),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{EQ:Ex.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Ex.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Ex.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Ex.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Ex.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Ex.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[x]})),this.prevBlocks_=[null,null]}},Bl={init:function(){var x=[[Ex.Msg.LOGIC_OPERATION_AND,"AND"],[Ex.Msg.LOGIC_OPERATION_OR,"OR"]];this.setColour(Xl),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Ex.FieldDropdown(x),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{AND:Ex.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Ex.Msg.LOGIC_OPERATION_TOOLTIP_OR}[x]}))}},Ul={init:function(){this.setColour(Xl),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Ex.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Ex.Msg.LOGIC_NEGATE_TOOLTIP)}},Hl={init:function(){var x=[[Ex.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Ex.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xl),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Ex.FieldDropdown(x),"BOOL"),this.setTooltip(Ex.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Wl={init:function(){this.setColour(Xl),this.setOutput(!0),this.appendDummyInput().appendField(Ex.Msg.LOGIC_NULL),this.setTooltip(Ex.Msg.LOGIC_NULL_TOOLTIP)}},jl={init:function(){this.setColour(Xl),this.appendValueInput("A"),this.appendValueInput("B").appendField(Ex.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Ex.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Kl=230;Ex.FieldTextInput.math_number_validator=function(x){return String(x)};const ql={init:function(){this.setColour(Kl),this.appendDummyInput().appendField(new Ex.FieldTextInput("0",Ex.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MATH_NUMBER_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id2")}},zl={init:function(){var x=[[Ex.Msg.MATH_ADDITION_SYMBOL,"ADD"],[Ex.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[Ex.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[Ex.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[Ex.Msg.MATH_QUYU_SYMBOL,"QUYU"],[Ex.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setColour(Kl),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(null),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id4"),this.appendValueInput("B").setCheck(null).appendField(new Ex.FieldDropdown(x),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{ADD:Ex.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Ex.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Ex.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Ex.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Ex.Msg.MATH_MODULO_TOOLTIP,POWER:Ex.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[x]}))}},Zl={init:function(){this.setColour(Kl),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Ex.FieldDropdown([["&","&"],["|","|"],["xor","^"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id8")}},Jl={init:function(){this.setColour(Kl),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Ex.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"],["++","++"],["--","--"],["~","~"]]),"OP");var x=this;this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id17"),this.setTooltip((function(){var e=x.getFieldValue("OP");return{SIN:Ex.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Ex.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Ex.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Ex.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Ex.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Ex.Msg.MATH_TRIG_TOOLTIP_ATAN}[e]}))}},Ql={init:function(){var x=[[Ex.Msg.LANG_MATH_TO_ROUND,"round"],[Ex.Msg.LANG_MATH_TO_CEIL,"ceil"],[Ex.Msg.LANG_MATH_TO_FLOOR,"floor"],[Ex.Msg.MATH_ABS,"abs"],[Ex.Msg.MATH_SQ,"sq"],[Ex.Msg.MATH_SQRT,"sqrt"]];this.setColour(Kl),this.appendValueInput("A").setCheck(Number).appendField(new Ex.FieldDropdown(x),"OP"),this.setOutput(!0,Number),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id18");var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{sqrt:Ex.Msg.MATH_SINGLE_TOOLTIP_ROOT,abs:Ex.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Ex.Msg.MATH_SINGLE_TOOLTIP_SQ,log:Ex.Msg.MATH_SINGLE_TOOLTIP_LN,round:Ex.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Ex.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Ex.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[x]}))}},$l={init:function(){var x=[[Ex.Msg.LANG_MATH_INT,"int"],[Ex.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Ex.Msg.LANG_MATH_WORD,"word"],[Ex.Msg.LANG_MATH_LONG,"long"],[Ex.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Ex.Msg.LANG_MATH_FLOAT,"float"],[Ex.Msg.LANG_MATH_DOUBLE,"double"],[Ex.Msg.LANG_MATH_BOOLEAN,"boolean"],[Ex.Msg.LANG_MATH_BYTE,"byte"],[Ex.Msg.LANG_MATH_CHAR,"char"],[Ex.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Ex.Msg.LANG_MATH_STRING,"String"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];this.appendDummyInput().appendField(new Ex.FieldDropdown(x),"variate_type"),this.setOutput(!0,null),this.setColour(Kl),this.setTooltip(""),this.setHelpUrl("")}},xc={init:function(){this.appendValueInput("data").setCheck(null).appendField(Ex.Msg.MIXLY_GET+" "+Ex.Msg.MIXLY_I2C_BYTES),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Kl),this.setTooltip(""),this.setHelpUrl("")}},ec={init:function(){var x=[[Ex.Msg.MIXLY_MAX,"max"],[Ex.Msg.MIXLY_MIN,"min"]];this.setColour(Kl),this.appendValueInput("A").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldDropdown(x),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#min-max"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var x=e.getFieldValue("OP");return{max:Ex.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Ex.Msg.MIXLY_TOOLTIP_MATH_MIN}[x]}))}},fc={init:function(){this.setColour(Kl),this.appendValueInput("NUM").setCheck(Number).appendField(Ex.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#randomseed")}},tc={init:function(){this.setColour(Kl),this.setOutput(!0,Number),this.appendValueInput("FROM").setCheck(Number).appendField(Ex.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MATH_RANDOM_INT_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#random")}},ic={init:function(){this.setColour(Kl),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Ex.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Ex.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Ex.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MATH_CONSTRAIN_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#constrain")}},nc={init:function(){this.setColour(Kl),this.appendValueInput("NUM",Number).appendField(Ex.Msg.MIXLY_MAP).appendField(new Ex.FieldDropdown([[Ex.Msg.LANG_MATH_INT,"map_int"],[Ex.Msg.LANG_MATH_FLOAT,"map_float"]]),"maptype").setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Ex.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Ex.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_MATH_MAP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#map")}},sc={init:function(){this.setColour(Kl),this.appendValueInput("variables").setCheck(null),this.appendValueInput("data").setCheck(null).appendField(new Ex.FieldDropdown([["+=","+"],["-=","-"],["*=","*"],["/=","/"]]),"type"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl("")}},ac={init:function(){this.appendValueInput("math_auto_add_minus_output").setCheck(null),this.appendDummyInput().appendField(new Ex.FieldDropdown([["++","++"],["--","--"]]),"math_auto_add_minus_type"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Kl),this.setTooltip(""),this.setHelpUrl("")}},lc=230,cc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.digital),"PIN"),this.setOutput(!0,Number)}},pc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.analog),"PIN"),this.setOutput(!0,Number)}},dc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.pwm),"PIN"),this.setOutput(!0,Number)}},oc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.interrupt),"PIN"),this.setOutput(!0,Number)}},uc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.MOSI),"PIN"),this.setOutput(!0,Number)}},rc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.MISO),"PIN"),this.setOutput(!0,Number)}},_c={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.SCK),"PIN"),this.setOutput(!0,Number)}},hc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},Fc={init:function(){this.setColour(lc),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},Ic=290,Ac={init:function(){var x=Ex.Procedures.findLegalName("",this),e=new Ex.FieldTextInput(x,Ex.Procedures.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(Ex.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Ex.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Ex.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Ex.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Ex.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Ex.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentstype_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(x){this.hasStatements_!==x&&(x?(this.appendStatementInput("STACK").appendField(Ex.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=x)},updateParams_:function(){var x="";this.arguments_.length&&(x=Ex.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Ex.Events.disable();try{this.setFieldValue(x,"PARAMS")}finally{Ex.Events.enable()}},mutationToDom:function(x){var e=Ex.utils.xml.createElement("mutation");x&&e.setAttribute("name",this.getFieldValue("NAME"));for(var f=0;f1&&"\\"===x.charAt(0)){var e=x.charAt(1);if("0"===e||"b"===e||"f"===e||"n"===e||"r"===e||"t"===e||"\\"===e||"'"===e)return String(x).substring(0,2);if("x"===e&&"0"===x.charAt(2)&&"B"===x.charAt(3))return String(x).substring(0,4)}return String(x).substring(0,1)};const Id={init:function(){this.setColour(hd),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Ex.FieldTextInput("",Ex.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(x){if(1==x)var e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKlJREFUGNNVkD0LwkAMhlNsnUvBH+DmKnXoeODgWgXBsaOj+AGuVfTys8318l7OTA/hTe7JEWmVNwekA/fAHfNSsVoxew0/mfkbeSvo6wkLSbx0tJH2XdPS/pClsfxs7TA5WOQNl5M9X3bMF8RlS608z+JhFOZNMowybftw4GDvjHmTsc84PJJ4iPbgWcZVxuEUMHXKvS2dZHVgxJHpV4qr4Brei+Oe/usHT1JfDpNGeM0AAAAASUVORK5CYII=";else e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKpJREFUGNNV0bEKAjEMBuActOd6KIKrg+h4cII3Cg6u5yA6Ot4DONxcUfPYJmnaxn/6KEmaUoD/LK+XxAUibhuhR85bvBLjQHR99DqXIL7ItTo0xdyQ3RrvjWlQZQyT8cnYjcXgbl2XzBmNe5kv4WUfar6kUc9o56N6nh4Zy1NrHZ8iuSN+lB5LCR0HnXIuy/hd7qymUs3bf7WajsNQrn9CHr7Jn+IOaUH4ATxJW2wDnL5kAAAAAElFTkSuQmCC";return new Ex.FieldImage(e,7,12,'"')}},Ad={init:function(){this.setColour(hd),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Ex.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Ed={init:function(){var x=[[Ex.Msg.MIXLY_TO_INT,"toInt"],[Ex.Msg.MIXLY_TO_FLOAT,"toFloat"]];this.setColour(hd),this.appendValueInput("VAR").setCheck([String,Number]).appendField(new Ex.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var x=e.getFieldValue("TOWHAT");return{toInt:Ex.Msg.MIXLY_TOOLTIP_TEXT_TOINT,toFloat:Ex.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[x]}))}},Td={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck(Number).appendField(Ex.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},gd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(Ex.Msg.MIXLY_TOASCII).appendField("'").appendField(new Ex.FieldTextInput("",Ex.FieldTextInput.char_validator),"TEXT").appendField("'"),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},md={init:function(){var x=[[Ex.Msg.MATH_BIN,"BIN"],[Ex.Msg.MATH_OCT,"OCT"],[Ex.Msg.MATH_DEC,"DEC"],[Ex.Msg.MATH_HEX,"HEX"]];this.setColour(hd),this.appendValueInput("VAR").setCheck(Number).appendField(Ex.Msg.MIXLY_TOSTRING).appendField(new Ex.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,String),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},Md={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck(Number).appendField(Ex.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},Cd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField(Ex.Msg.MIXLY_LENGTH).setCheck(String),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Od={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").appendField(Ex.Msg.TEXT_CHARAT).setCheck(Number),this.appendDummyInput().appendField(Ex.Msg.TEXT_CHARAT2),this.setOutput(!0,Number),this.setInputsInline(!0);var x=this;this.setTooltip((function(){return Ex.Msg.MIXLY_TOOLTIP_TEXT_FIND_CHAR_AT.replace("%1",Ex.Arduino.valueToCode(x,"VAR",Ex.Arduino.ORDER_ATOMIC))}))}},Sd={init:function(){var x=[[Ex.Msg.MIXLY_EQUALS,"equals"],[Ex.Msg.MIXLY_STARTSWITH,"startsWith"],[Ex.Msg.MIXLY_ENDSWITH,"endsWith"]];this.setColour(hd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(new Ex.FieldDropdown(x),"DOWHAT").setCheck([String,Number]),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var x=e.getFieldValue("DOWHAT"),f={equals:Ex.Msg.MIXLY_EQUALS,startsWith:Ex.Msg.MIXLY_STARTSWITH,endsWith:Ex.Msg.MIXLY_ENDSWITH};return Ex.Msg.MIXLY_TOOLTIP_TEXT_EQUALS_STARTS_ENDS.replace("%1",f[x]).replace("%2",Ex.Arduino.valueToCode(e,"STR2",Ex.Arduino.ORDER_ATOMIC))}))}},Rd={init:function(){this.setColour(hd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(Ex.Msg.MIXLY_COMPARETO).setCheck([String,Number]),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_COMPARETO_HELP)}},Nd={init:function(){this.setColour(hd),this.appendValueInput("numeral").setCheck(null).appendField(Ex.Msg.LANG_MATH_FLOAT),this.appendValueInput("decimal_places").setCheck(null).appendField(Ex.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Ex.Msg.TEXT_DECIMAL),this.setOutput(!0,null),this.setTooltip(Ex.Msg.DECIMAL_PLACES_HELP),this.setHelpUrl("")}},Dd={init:function(){this.appendValueInput("name").setCheck(null),this.appendValueInput("Start").setCheck(null).appendField(Ex.Msg.LISTS_GET_INDEX_GET),this.appendValueInput("end").setCheck(null).appendField(Ex.Msg.TEXT_TO),this.appendDummyInput().appendField(Ex.Msg.LANG_MATH_STRING),this.setOutput(!0,null),this.setColour(hd),this.setTooltip(Ex.Msg.SUBSTRING_HELP),this.setHelpUrl("")}},Pd={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ex.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(Ex.Msg.LETTERS_ARE_CONVERTED_TO).appendField(new Ex.FieldDropdown([[Ex.Msg.CAPITAL,".toUpperCase()"],[Ex.Msg.LOWER_CASE,".toLowerCase()"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(hd),this.setTooltip(Ex.Msg.LETTER_CONVERSION_HELP),this.setHelpUrl("")}},Ld={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ex.Msg.STRING_VARIABLE),this.appendValueInput("source_data").setCheck(null).appendField(Ex.Msg.LANG_MATH_STRING),this.appendValueInput("replace").setCheck(null).appendField(Ex.Msg.REPLACE_WITH),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(hd),this.setTooltip(Ex.Msg.DATA_REPLACEMENT_HELP),this.setHelpUrl("")}},bd={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ex.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(Ex.Msg.ELIMINATE_NON_VISUAL_CHARACTERS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(hd),this.setTooltip(Ex.Msg.ELIMINATE_HELP),this.setHelpUrl("")}},yd={init:function(){this.appendValueInput("String").setCheck(null).appendField(Ex.Msg.LANG_MATH_STRING),this.appendValueInput("String1").setCheck(null).appendField(Ex.Msg.AS_A_STRING),this.appendDummyInput().appendField(new Ex.FieldDropdown([[Ex.Msg.STARTSWITH,".startsWith"],[Ex.Msg.ENDSWITH,".endsWith"]]),"type"),this.setOutput(!0,null),this.setColour(hd),this.setTooltip(Ex.Msg.FIRST_AND_LAST_HELP),this.setHelpUrl("")}},vd={init:function(){this.appendValueInput("variable").setCheck(null).appendField(Ex.Msg.DATA_TYPE_CONVERSION).appendField(new Ex.FieldDropdown([[Ex.Msg.LANG_MATH_STRING,"String"],[Ex.Msg.LANG_MATH_CHAR,"char"],[Ex.Msg.LANG_MATH_BYTE,"byte"],[Ex.Msg.LANG_MATH_INT,"int"],[Ex.Msg.LANG_MATH_LONG,"long"],[Ex.Msg.LANG_MATH_FLOAT,"float"],[Ex.Msg.LANG_MATH_WORD,"word"]]),"type"),this.setOutput(!0,null),this.setColour(hd),this.setTooltip(Ex.Msg.TYPE_CONVERSION_HELP),this.setHelpUrl("")}},wd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(Ex.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Vd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(Ex.Msg.HTML_TEXT),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},Yd={init:function(){this.appendValueInput("str1").setCheck(null),this.appendDummyInput().setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.PROCEDURES_DEFRETURN_RETURN),this.appendValueInput("str2").setCheck(null),this.appendDummyInput().setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.SERIES_INDEX),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(160),this.setTooltip(),this.setHelpUrl("")}},kd={init:function(){this.setColour(hd),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_TEXT_JOIN+Ex.Msg.MIXLY_MICROBIT_TYPE_STRING),this.itemCount_=3,this.updateShape_(),this.setInputsInline(!0),this.setOutput(!0,null),this.setMutator(new Ex.icons.MutatorIcon(["create_with_item"],this)),this.setTooltip("")},mutationToDom:function(){var x=Ex.utils.xml.createElement("mutation");return x.setAttribute("items",this.itemCount_),x},domToMutation:function(x){this.itemCount_=parseInt(x.getAttribute("items"),10),this.updateShape_()},decompose:function(x){var e=x.newBlock("create_with_container");e.initSvg();for(var f=e.getInput("STACK").connection,t=0;t0&&(e.setAlign(Ex.inputs.Align.RIGHT),e.appendField("+"))}}},Xd={init:function(){this.appendDummyInput().appendField(Ex.Msg.ARDUINOJSON_STRING_PARSING),this.appendDummyInput("").appendField(new Ex.FieldMultilineInput('const size_t capacity = JSON_ARRAY_SIZE(3) + 10;\nDynamicJsonBuffer jsonBuffer(capacity);\nconst char* json = "[\\"0\\",\\"74\\",\\"134\\"]";\nJsonArray& root = jsonBuffer.parseArray(json);\nconst char* root_0 = root[0]; // "0"\nconst char* root_1 = root[1]; // "74"\nconst char* root_2 = root[2]; // "134"'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(120),this.setTooltip(Ex.Msg.ARDUINOJSON_STRING_PARSING1),this.setHelpUrl("https://arduinojson.org/v5/assistant/")}},Gd={init:function(){this.appendValueInput("data").setCheck(null).appendField(Ex.Msg.MIXLY_MICROBIT_TYPE_STRING+Ex.Msg.A_TO_B+Ex.Msg.LANG_MATH_LONG).appendField(new Ex.FieldDropdown([[Ex.Msg.MATH_HEX,"16"],[Ex.Msg.MATH_DEC,"10"],[Ex.Msg.MATH_OCT,"8"],[Ex.Msg.MATH_BIN,"2"],[Ex.Msg.blynk_IOT_AUTO,"0"]]),"type"),this.setOutput(!0,null),this.setColour(hd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/lizhengze1117/article/details/103318662?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base")}},Bd="#555555",Ud={init:function(){this.setColour(Bd),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_CONTROL_NOTES).appendField(new Ex.FieldMultilineInput(""),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hd={init:function(){this.setColour(Bd),this.appendDummyInput().appendField(new Ex.FieldTextInput(Ex.Msg.FOLDING_BLOCK),"peien"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.FOLDING_BLOCK_HELP)}},Wd={init:function(){this.setColour(Bd),this.appendDummyInput("").appendField(Ex.Msg.IICSCAN),this.setInputsInline(!0),this.setTooltip("")}},jd={init:function(){this.setColour(260),this.appendDummyInput("").appendField(Ex.Msg.OLED_BITMAP_NAME).appendField(new Ex.FieldTextInput("mylist"),"VAR").appendField("[").appendField(new Ex.FieldTextInput("3"),"x").appendField("]"),this.appendDummyInput("").appendField(Ex.Msg.SAVETO+" flash").appendField(new Ex.FieldCheckbox("true"),"save_hz"),this.appendValueInput("input_data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Kd={init:function(){this.appendDummyInput().appendField("点阵格式").appendField(new Ex.FieldDropdown([["阴码","1"],["阳码","2"]]),"bitmap_formats").appendField(" 取模方式").appendField(new Ex.FieldDropdown([["逐列式","1"],["逐行式","2"],["列行式","3"],["行列式","4"]]),"modulus_way").appendField(" 取模走向").appendField(new Ex.FieldDropdown([["顺向(高位在前)","1"],["逆向(低位在前)","2"]]),"modulus_direction"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new Ex.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"]]),"hz_sharp").appendField(Ex.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new Ex.FieldTextInput("16"),"hz_line_height").appendField("px").appendField(Ex.Msg.MIXLY_WIDTH).appendField(new Ex.FieldTextInput("16"),"bitmap_width").appendField("px "+Ex.Msg.MIXLY_HEIGHT).appendField(new Ex.FieldTextInput("16"),"bitmap_height").appendField("px"),this.appendDummyInput().appendField("输入数据").appendField(new Ex.FieldTextInput(""),"input_data"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(180),this.setTooltip(""),this.setHelpUrl("")}},qd={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(533),525,372,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},zd={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(711),525,368,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},Zd={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(775),525,736,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},Jd={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(169),525,371,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},Qd={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(945),525,371,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},$d={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(741),525,376,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},xo={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(624),525,376,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},eo={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(392),500,376,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},fo={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(288),500,350,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},to={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(101),525,346,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},io={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(319),525,264,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl()}},no={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(f(715),525,376,"*")),this.setColour(Bd),this.setTooltip(),this.setHelpUrl("https://blog.csdn.net/xatsoft/article/details/90687016?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase")}},so={init:function(){this.appendDummyInput().appendField(Ex.Msg.GET_THE_DIFFERENCE_BETWEEN_TWO_DATES),this.appendValueInput("year_start").setCheck(null).appendField(Ex.Msg.START+Ex.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_start").setCheck(null).appendField(Ex.Msg.START+Ex.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_start").setCheck(null).appendField(Ex.Msg.START+Ex.Msg.MIXLY_GPS_DATE_DAY),this.appendValueInput("year_end").setCheck(null).appendField(Ex.Msg.END+Ex.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_end").setCheck(null).appendField(Ex.Msg.END+Ex.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_end").setCheck(null).appendField(Ex.Msg.END+Ex.Msg.MIXLY_GPS_DATE_DAY),this.setOutput(!0,null),this.setColour(Bd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/a_ran/article/details/43601699?utm_source=distribute.pc_relevant.none-task")}};var ao=[["D0","16"],["D1","5"],["D2","4"],["D3","0"],["D4","2"],["D5","14"],["D6","12"],["D7","13"],["D8","15"],["RX","3"],["TX","1"],["A0","A0"],["SD3","10"],["SD2","9"]];const lo={init:function(){this.appendDummyInput().appendField("ESP8266 GPIO").appendField(new Ex.FieldDropdown(ao),"pin"),this.setOutput(!0,null),this.setColour(Bd),this.setTooltip(""),this.setHelpUrl("")}},co=330;var po=[[Ex.Msg.LANG_MATH_INT,"int"],[Ex.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Ex.Msg.LANG_MATH_WORD,"word"],[Ex.Msg.LANG_MATH_LONG,"long"],[Ex.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Ex.Msg.LANG_MATH_FLOAT,"float"],[Ex.Msg.LANG_MATH_DOUBLE,"double"],[Ex.Msg.LANG_MATH_BOOLEAN,"boolean"],[Ex.Msg.LANG_MATH_BYTE,"byte"],[Ex.Msg.LANG_MATH_CHAR,"char"],[Ex.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Ex.Msg.LANG_MATH_STRING,"String"],["char*","char*"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];const oo={init:function(){this.setColour(co),this.appendValueInput("VALUE",null).appendField(Ex.Msg.MIXLY_DECLARE).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_GLOBAL_VARIABLE,"global_variate"],[Ex.Msg.MIXLY_LOCAL_VARIABLE,"local_variate"]]),"variables_type").appendField(new Ex.FieldTextInput("item"),"VAR").appendField(Ex.Msg.MIXLY_AS).appendField(new Ex.FieldDropdown(po),"TYPE").appendField(Ex.Msg.MIXLY_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_VARIABLES_DECLARE)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,e){Ex.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},uo={init:function(){this.setColour(co),this.appendDummyInput().appendField(new Ex.FieldTextInput("item"),"VAR"),this.setOutput(!0),this.setTooltip(Ex.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,e){Ex.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},ro={init:function(){this.setColour(co),this.appendValueInput("VALUE").appendField(new Ex.FieldTextInput("item"),"VAR").appendField(Ex.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,e){Ex.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},_o={init:function(){this.setColour(co);var x=[[Ex.Msg.LANG_MATH_INT,"int"],[Ex.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[Ex.Msg.LANG_MATH_WORD,"word"],[Ex.Msg.LANG_MATH_LONG,"long"],[Ex.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[Ex.Msg.LANG_MATH_FLOAT,"float"],[Ex.Msg.LANG_MATH_DOUBLE,"double"],[Ex.Msg.LANG_MATH_BOOLEAN,"boolean"],[Ex.Msg.LANG_MATH_BYTE,"byte"],[Ex.Msg.LANG_MATH_CHAR,"char"],[Ex.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[Ex.Msg.LANG_MATH_STRING,"String"]];this.appendValueInput("MYVALUE").appendField(new Ex.FieldDropdown(x),"OP"),this.setOutput(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_VARIABLES_CHANGE)}},ho=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC),i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"0";return e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");","servo_"+f+".write("+t+");\ndelay("+i+");\n"},Fo=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC);return e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");","servo_"+f+".writeMicroseconds("+t+");\n"},Io=function(x,e){var f=this.getFieldValue("PIN");return e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");",["servo_"+f+".read()",e.ORDER_ATOMIC]},Ao=function(x,e){var f=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC),n=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"0";return 0==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),e.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".write("+i+");\ndelay("+n+");\n"},Eo=function(x,e){var f=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC);return 0==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),e.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".writeMicroseconds("+i+");\n"},To=function(x,e){var f=this.getFieldValue("mode"),t=this.getFieldValue("PIN");return 0==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==f&&(e.definitions_.include_Servo="#include ",e.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),e.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");",["servo_"+t+".read()",e.ORDER_ATOMIC]},go=function(x,e){return[this.getFieldValue("STAT"),e.ORDER_ATOMIC]},mo=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i="";return window.isNaN(f)?i=i+"pinMode("+f+", OUTPUT);\n":e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",i+="tone("+f+","+t+");\n"},Mo=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t="";return window.isNaN(f)?t=t+"pinMode("+f+", OUTPUT);\n":e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",t+="noTone("+f+");\n"},Co=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i=e.valueToCode(this,"DURATION",e.ORDER_ASSIGNMENT)||"0";return e.definitions_.include_NewTone="#include ",e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);","NewTone("+f+","+t+","+i+");\n"},Oo=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);","NewNoTone("+f+");\n"},So=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ex.Variables.NAME_TYPE),t=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),n=e.valueToCode(this,"steps",e.ORDER_ATOMIC),s=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Stepper="#include ",e.definitions_["var_declare_stepper"+f]="Stepper "+f+"("+n+","+t+","+i+");",e.setups_["setup_stepper"+f]=f+".setSpeed("+s+");",""},Ro=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ex.Variables.NAME_TYPE),t=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN3",e.ORDER_ATOMIC),s=e.valueToCode(this,"PIN4",e.ORDER_ATOMIC),a=e.valueToCode(this,"steps",e.ORDER_ATOMIC),l=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Stepper="#include ",e.definitions_["var_declare_stepper"+f]="Stepper "+f+"("+a+","+t+","+i+","+n+","+s+");",e.setups_["setup_stepper"+f]=f+".setSpeed("+l+");",""},No=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ex.Variables.NAME_TYPE),t=e.valueToCode(this,"step",e.ORDER_ATOMIC);return e.definitions_.include_Stepper="#include ",f+".step("+t+");\n"},Do=function(x,e){var f=this.getFieldValue("COLOR");return[f="0x"+f.substring(1,f.length),e.ORDER_NONE]},Po=function(x,e){return["(("+e.valueToCode(this,"R",e.ORDER_ATOMIC)+" & 0xffffff) << 16) | (("+e.valueToCode(this,"G",e.ORDER_ATOMIC)+" & 0xffffff) << 8) | "+e.valueToCode(this,"B",e.ORDER_ATOMIC),e.ORDER_NONE]},Lo=function(x,e){var f=this.getFieldValue("PIN"),t=this.getFieldValue("TYPE"),i=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_["var_declare_rgb_display"+f]="Adafruit_NeoPixel rgb_display_"+f+" = Adafruit_NeoPixel("+i+","+f+","+t+" + NEO_KHZ800);",e.setups_["setup_rgb_display_begin_"+f]="rgb_display_"+f+".begin();",""},bo=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.setups_["setup_rgb_display_begin_"+f]="rgb_display_"+f+".begin();","rgb_display_"+f+".setBrightness("+t+");\n"},yo=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),i=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return"rgb_display_"+f+".setPixelColor(("+t+")-1, "+(i=i.replace(/#/g,"0x"))+");\n"},vo=function(x,e){var f=this.getFieldValue("PIN");return"rgb_display_"+f+".setPixelColor(("+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+")-1, rgb_display_"+f+".ColorHSV("+e.valueToCode(this,"H",e.ORDER_ATOMIC)+","+e.valueToCode(this,"S",e.ORDER_ATOMIC)+","+e.valueToCode(this,"V",e.ORDER_ATOMIC)+"));\n"},wo=function(){var x=Tx.JSFuncs.getPlatform(),e=this.getFieldValue("PIN"),f="rgb_display_"+e+".show();\n";return x.match(RegExp(/ESP32/))&&(f+="rgb_display_"+e+".show();\n"),f},Vo=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_["setup_rgb_display_begin_"+f]="rgb_display_"+f+".begin();\n";var i="uint32_t Wheel(byte WheelPos){\n if(WheelPos < 85){\n return rgb_display_"+f+".Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n }\n else if(WheelPos < 170){\n WheelPos -= 85;\n return rgb_display_"+f+".Color(255 - WheelPos * 3, 0, WheelPos * 3);\n }\n else{\n WheelPos -= 170;\n return rgb_display_"+f+".Color(0, WheelPos * 3, 255 - WheelPos * 3);\n }\n}\n";e.definitions_.Wheel=i;var n="void rainbow(uint8_t wait){\n uint16_t i, j;\n for(j=0; j<256; j++){\n for(i=0; i 0) {\n digitalWrite(dirpin1, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin1, HIGH);\n analogWrite(speedpin, -speed);\n }\n}\n";return e.definitions_[n]=s,i},Go=function(x,e){var f=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),i="setMotor8833("+f+", "+t+", "+(e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)||"0")+");\n";e.setups_["setup_output_"+f+t+"_S"]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+f+t+"_D"]="pinMode("+t+", OUTPUT);",e.setups_["setup_output_"+f+t+"_S_W"]="digitalWrite("+f+", LOW);",e.setups_["setup_output_"+f+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor8833",s="void "+n+"(int speedpin, int dirpin, int speed) {\n if (speed == 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } else if (speed > 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return e.definitions_[n]=s,i},Bo=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("VOICE"),i=e.valueToCode(this,"WAIT",e.ORDER_ASSIGNMENT)||"0";e.setups_.setup_output_sda="pinMode("+f+", OUTPUT);";var n="send_data("+t+"); //volume control 0xE0-E7;\n";n+="delay("+i+");\n";var s="void send_data(int addr) {\n int i;\n digitalWrite("+f+", LOW);\n delay(3); //>2ms\n for (i = 0; i < 8; i++) {\n digitalWrite("+f+", HIGH);\n if (addr & 1) {\n delayMicroseconds(2400); //>2400us\n digitalWrite("+f+", LOW);\n delayMicroseconds(800);\n } //>800us\n else {\n delayMicroseconds(800); //>800us\n digitalWrite("+f+", LOW);\n delayMicroseconds(2400);\n } //>2400us\n addr >>= 1;\n }\n digitalWrite("+f+", HIGH);\n}\n";return e.definitions_.funcName=s,n},Uo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("CONTROL_TYPE");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+"."+i+"\n"},Ho=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("DEVICEID");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setDevice("+i+");\n"},Wo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("LOOP_MODE");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setLoopMode("+i+");\n"},jo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=this.getFieldValue("EQ_MODE");return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setEqualizer("+i+");\n"},Ko=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=e.valueToCode(this,"vol",e.ORDER_ATOMIC);return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".setVolume("+i+");\n"},qo=function(x,e){var f=e.valueToCode(this,"RXPIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"TXPIN",e.ORDER_ATOMIC),i=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_GD5800="#include ",e.definitions_["var_declare_GD5800_ mp3"+f+t]="GD5800_Serial mp3"+f+t+"("+f+", "+t+");",e.setups_["setup_ mp3"+f+t]="mp3"+f+t+".begin(9600);","mp3"+f+t+".playFileByIndexNumber("+i+");\n"},zo=function(x,e){e.definitions_.include_AFMotor="#include ";var f=this.getFieldValue("motor"),t=this.getFieldValue("direction"),i=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_["var_declare_motor_"+f]="AF_DCMotor motor"+f+"("+f+");"," motor"+f+".setSpeed("+i+");\n motor"+f+".run("+t+");\n"},Zo=function(x,e){e.definitions_.include_AFMotor="#include ";var f=this.getFieldValue("motor");return e.definitions_["var_declare_motor_"+f]="AF_DCMotor motor"+f+"("+f+");"," motor"+f+".setSpeed(0);\n motor"+f+".run(RELEASE);\n"},Jo=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"dfplayer_pin",e.ORDER_ATOMIC);e.definitions_.include_Arduino='#include "generator.h"',e.definitions_.include_DFRobotDFPlayerMini='#include "DFRobotDFPlayerMini.h"',e.definitions_["var_declare_DFPlayerMini_"+f]="DFRobotDFPlayerMini "+f+";",e.setups_["setup_DFPlayerMini_"+f]=f+".begin("+t+");";return""},Qo=function(x,e){var f=this.getFieldValue("pin_type");return e.definitions_.include_SoftwareSerial="#include ",[f,e.ORDER_ATOMIC]},$o=function(x,e){return this.getFieldValue("dfplayer_name")+".setTimeOut("+e.valueToCode(this,"timeout_data",e.ORDER_ATOMIC)+");\n"},xu=function(x,e){return this.getFieldValue("dfplayer_name")+".volume("+e.valueToCode(this,"volume_data",e.ORDER_ATOMIC)+");\n"},eu=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("volume_type")+"();\n"},fu=function(x,e){return this.getFieldValue("dfplayer_name")+".EQ("+e.valueToCode(this,"eq_data",e.ORDER_ATOMIC)+");\n"},tu=function(x,e){return[this.getFieldValue("eq_type"),e.ORDER_ATOMIC]},iu=function(x,e){return this.getFieldValue("dfplayer_name")+".outputDevice("+e.valueToCode(this,"outputdevice_data",e.ORDER_ATOMIC)+");\n"},nu=function(x,e){return[this.getFieldValue("outputdevice_type"),e.ORDER_ATOMIC]},su=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("set_data")+"();\n"},au=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"play_data",e.ORDER_ATOMIC);return f+"."+this.getFieldValue("play_type")+"("+t+");\n"},lu=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"fold_data",e.ORDER_ATOMIC);return f+"."+this.getFieldValue("fold_type")+"("+t+", "+e.valueToCode(this,"play_data",e.ORDER_ATOMIC)+");\n"},cu=function(x,e){return this.getFieldValue("dfplayer_name")+".loopFolder("+e.valueToCode(this,"fold_data",e.ORDER_ATOMIC)+");\n"},pu=function(x,e){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("read_type")+"()",e.ORDER_ATOMIC]},du=function(x,e){var f=this.getFieldValue("dfplayer_name"),t=e.valueToCode(this,"device_type",e.ORDER_ATOMIC);return[f+"."+this.getFieldValue("play_data")+"("+t+")",e.ORDER_ATOMIC]},ou=function(x,e){return[this.getFieldValue("dfplayer_name")+".readFileCountsInFolder("+e.valueToCode(this,"folder_data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uu=function(x,e){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("type")+"()",e.ORDER_ATOMIC]},ru=function(x,e){var f=this.getFieldValue("motor"),t=e.valueToCode(this,"SPEED",e.ORDER_ASSIGNMENT)||"0";return e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_PWMServoDriver="#include ",e.definitions_.var_declare_Adafruit_PWMServoDriver="Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();",e.setups_.setup_pwm_begin="pwm.begin();\npwm.setOscillatorFrequency(27000000);\npwm.setPWMFreq(400);\nWire.setClock(400000);",e.definitions_.motor="void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n","motor("+f+","+t+");\n"},_u=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("CONTROL_TYPE");return e.definitions_.include_N910X="#include ",e.definitions_["var_declare_N910X_ mp3"+f]="N910X mp3_"+f+"("+f+");",e.setups_["setup_ mp3"+f]="mp3_"+f+".begin();","mp3_"+f+"."+t+"\n"},hu=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_N910X="#include ",e.definitions_["var_declare_N910X_ mp3"+f]="N910X mp3_"+f+"("+f+");",e.setups_["setup_ mp3"+f]=" mp3_"+f+".begin();","mp3_"+f+".set_volume("+t+");\n"},Fu=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_N910X="#include ",e.definitions_["var_declare_N910X_ mp3"+f]="N910X mp3_"+f+"("+f+");",e.setups_["setup_ mp3"+f]=" mp3_"+f+".begin();","mp3_"+f+".set_play_number("+t+");\n"},Iu=function(){return""},Au=function(x,e){let f=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC),t=e.valueToCode(this,"server_add",e.ORDER_ATOMIC);isNaN(t.charAt(2))||(t=t.replace(/"/g,"").replace(/\./g,","),t="IPAddress("+t+")");let i=Tx.JSFuncs.getPlatform();e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_smartconfig='WiFi.mode(WIFI_STA);\n int cnt = 0;\n while (WiFi.status() != WL_CONNECTED) {\n delay(500); \n Serial.print("."); \n if (cnt++ >= 10) {\n WiFi.beginSmartConfig();\n while (1) {\n delay(1000);\n if (WiFi.smartConfigDone()) {\n Serial.println();\n Serial.println("SmartConfig: Success");\n break;\n }\n Serial.print("|");\n }\n }\n }\n WiFi.printDiag(Serial);\n',i.match(RegExp(/ESP8266/))?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_BlynkSimpleEsp32="#include "),e.setups_.setup_smartconfig+="Blynk.config(auth,"+t+",8080);";return"Blynk.run();\n"},Eu=function(x,e){let f=e.valueToCode(this,"wifi_ssid",e.ORDER_ATOMIC),t=e.valueToCode(this,"wifi_pass",e.ORDER_ATOMIC),i=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC),n=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),s=Tx.JSFuncs.getPlatform();e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.var_declare_auth_key="char auth[] = "+i+";",e.definitions_.var_declare_wifi_ssid="char ssid[] = "+f+";",e.definitions_.var_declare_wifi_pass="char pass[] = "+t+";",s.match(RegExp(/AVR/))&&(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include ",e.definitions_.define_BLYNK_PRINT="#define ESP8266_BAUD 115200",e.definitions_.var_declare_ESP8266="ESP8266 wifi(&Serial);",e.setups_.setup_serial_Serial="Serial.begin(115200);",e.setups_.delay_10_1="delay(10);",e.setups_["wifi.setOprToStation"]="wifi.setOprToStation(2, 2);",e.setups_.delay_10_2="delay(10);",e.setups_["wifi.enableMUX"]="wifi.enableMUX();",e.setups_.delay_10_3="delay(10);",e.setups_["setup_Blynk.begin"]="Blynk.begin(auth, wifi,ssid, pass,"+n+",8080);"),isNaN(n.charAt(2))||(n=n.replace(/"/g,"").replace(/\./g,","),n="IPAddress("+n+")"),s.match(RegExp(/ESP8266/))?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include ",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]=" Blynk.begin(auth, ssid, pass,"+n+",8080);"):s.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_BlynkSimpleEsp32="#include ",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(auth, ssid, pass,"+n+",8080);");return"Blynk.run();\n"},Tu=function(x,e){e.definitions_.include_SoftwareSerial="#include ",e.definitions_.include_BlynkSimpleStream="#include ",e.definitions_.var_declare_SoftwareSerial="SoftwareSerial DebugSerial(2, 3);";let f=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC);e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);",e.setups_.setup_DebugSerial="DebugSerial.begin(9600);";return"Blynk.run();\n"},gu=function(x,e){return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+", "+e.valueToCode(this,"data",e.ORDER_ATOMIC)+");\n"},mu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"STACK");e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);let i=[];for(let x=0;x0&&(e.definitions_["var_declare_"+i]=i.join(";\n")+";");let s="BLYNK_WRITE("+f+") {\n"+n+t+"}\n";return s=e.scrub_(this,s),e.definitions_[f]=s,null},Mu=function(x,e){e.definitions_.var_declare_BlynkTimer="BlynkTimer timer;";let f=this.getFieldValue("timerNo"),t=e.valueToCode(this,"TIME",e.ORDER_ATOMIC),i="myTimerEvent"+f,n="void "+i+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[i]=n,e.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},Cu=function(x,e){let f=this.getFieldValue("state"),t=f+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[f]=t,""},Ou=function(){return"Blynk.syncAll();\n"},Su=function(){return"Blynk.syncVirtual("+this.getFieldValue("Vpin")+");\n"},Ru=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=e.valueToCode(this,"STAT",e.ORDER_ATOMIC);e.definitions_["var_declare_WidgetLED"+f]="WidgetLED led"+f+"("+f+");";let n="led"+f+'.setColor("#'+t+'");\n';return"HIGH"==i?n+="led"+f+".on();\n":"LOW"==i&&(n+="led"+f+".off();\n"),n},Nu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);e.definitions_["var_declare_WidgetLED"+f]="WidgetLED led"+f+"("+f+");";let n="led"+f+'.setColor("#'+t+'");\n';return n+="led"+f+".setValue("+i+");",n},Du=function(x,e){let f=this.getFieldValue("AC_TYPE"),t=this.getFieldValue("AC_POWER"),i=this.getFieldValue("AC_MODE"),n=this.getFieldValue("AC_FAN"),s=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),a=e.valueToCode(this,"AC_TEMP",e.ORDER_ATOMIC);e.definitions_.include_Arduino="#ifndef UNIT_TEST\n#include \n#endif",e.definitions_.include_IRremoteESP8266="#include ",e.definitions_.include_IRsend="#include ",e.definitions_["include"+f]="#include ",e.definitions_["define_IR_LED"+s]="#define IR_LED "+s,e.definitions_["IR"+f+"AC"]="IR"+f+"AC "+f+"AC(IR_LED); ",e.setups_["setup"+f]=f+"AC.begin();";let l=f+"AC.setPower("+t+");\n";return l+=f+"AC.setFan("+n+");\n",l+=f+"AC.setMode("+i+");\n",l+=f+"AC.setTemp("+a+");\n",l+=f+"AC.send();\n",l},Pu=function(x,e){let f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);e.definitions_.include_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#include \n#if DECODE_AC\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#endif \n",e.definitions_["define_RECV_PIN"+f]="#define RECV_PIN "+f+"\n",e.definitions_.var_declare_CAPTURE_BUFFER_SIZE="#define CAPTURE_BUFFER_SIZE 1024\n#if DECODE_AC\n#define TIMEOUT 50U\n#else\n#define TIMEOUT 15U \n#endif\n#define MIN_UNKNOWN_SIZE 12\n#define IN_UNKNOWN_SIZE 12\nIRrecv irrecv(RECV_PIN, CAPTURE_BUFFER_SIZE, TIMEOUT, true);\ndecode_results results;",e.setups_.ir_recv_begin="while(!Serial)\n delay(50);\n #if DECODE_HASH\n irrecv.setUnknownThreshold(MIN_UNKNOWN_SIZE);\n #endif \n irrecv.enableIRIn();";return e.definitions_.dumpACInfo='void dumpACInfo(decode_results *results){\n String description="";\n #if DECODE_DAIKIN\n if(results->decode_type == DAIKIN){\n IRDaikinESP ac(0);\n ac.setRaw(results->state);\n description=ac.toString();\n }\n #endif\n #if DECODE_FUJITSU_AC\n if(results->decode_type==FUJITSU_AC){\n IRFujitsuAC ac(0);\n ac.setRaw(results->state, results->bits / 8);\n description = ac.toString();\n }\n #endif\n #if DECODE_KELVINATOR\n if(results->decode_type == KELVINATOR){\n IRKelvinatorAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_TOSHIBA_AC\n if(results->decode_type == TOSHIBA_AC){\n IRToshibaAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_GREE\n if (results->decode_type == GREE){\n IRGreeAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_MIDEA\n if(results->decode_type == MIDEA){\n IRMideaAC ac(0);\n ac.setRaw(results->value);\n description=ac.toString();\n }\n #endif\n #if DECODE_HAIER_AC\n if(results->decode_type == HAIER_AC){\n IRHaierAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n if(description != "")\n Serial.println("Mesg Desc.: " + description);\n}\n',"if(irrecv.decode(&results)){\n uint32_t now = millis();\n dumpACInfo(&results);\n Serial.println(resultToSourceCode(&results));\n}\n"},Lu=function(x,e){let f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("IR_CODE"),i=t.split(",").length,n=Math.ceil(1e5*Math.random());return e.definitions_.define_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#define IR_LED "+f,e.definitions_.var_declare_IRsend_irsend="IRsend irsend(IR_LED);\n",e.definitions_["var_declare_send"+n]="uint16_t rawData"+n+"["+i+"] = {"+t+"};",e.setups_.irsend_begin="irsend.begin();\n","irsend.sendRaw(rawData"+n+", "+i+", 38);\ndelay(2000);\n"},bu=function(x,e){let f=e.valueToCode(this,"email_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"Subject",e.ORDER_ATOMIC),i=e.valueToCode(this,"content",e.ORDER_ATOMIC);return e.definitions_.define_BLYNK_MAX_SENDBYTES="#define BLYNK_MAX_SENDBYTES 128 \n","Blynk.email("+f+", "+t+", "+i+");\n"},yu=function(x,e){return"Blynk.notify("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+");\n"},vu=function(x,e){let f=this.getFieldValue("Vpin");return e.definitions_["var_declare_WidgetTerminal"+f]="WidgetTerminal terminal"+f+"("+f+");\n","terminal"+f+".println("+e.valueToCode(this,"content",e.ORDER_ATOMIC)+");\nterminal"+f+".flush();\n"},wu=function(x,e){let f=this.getFieldValue("Vpin");e.definitions_.var_declare_WidgetTerminal="WidgetTerminal terminal("+f+");\n",e.definitions_.var_declare_action="String terminal_text ;";let t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n terminal_text = param.asStr();\n "+t+"\n terminal.flush();\n}\n";return e.definitions_[f]=i,null},Vu=function(x,e){return"Blynk.setProperty("+this.getFieldValue("Vpin")+',"url",'+e.valueToCode(this,"url",e.ORDER_ATOMIC)+");\n"},Yu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"auth",e.ORDER_ATOMIC);return e.definitions_["var_declare_WidgetBridge"+f]="WidgetBridge bridge"+f+"("+f+");\n","bridge"+f+".setAuthToken("+t+");\n"},ku=function(x,e){return"bridge"+this.getFieldValue("Vpin")+".digitalWrite("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+");\n"},Xu=function(x,e){return"bridge"+this.getFieldValue("Vpin")+".analogWrite("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+");\n"},Gu=function(x,e){return"bridge"+this.getFieldValue("Vpin")+".virtualWrite("+this.getFieldValue("Vpin2")+", "+e.valueToCode(this,"NUM",e.ORDER_ATOMIC)+");\n"},Bu=function(x,e){e.definitions_.include_TimeLib="#include ",e.definitions_.include_WidgetRTC="#include ";let f=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);e.definitions_.var_declare_WidgetRTC="WidgetRTC rtc;\n",e.setups_.setSyncInterval="setSyncInterval("+f+"* 60);";return"rtc.begin();\n"},Uu=function(x,e){return[this.getFieldValue("TIME_TYPE")+"()",e.ORDER_ATOMIC]},Hu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n action = param.asStr();\n "+t+"\n Blynk.setProperty("+f+', "label", action);\n}\n';return i=e.scrub_(this,i),e.definitions_[f]=i,""},Wu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n int lx = param.asInt();\n "+t+"\n}\n";return e.definitions_[f]=i,""},ju=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n int x = param[0].asFloat();\n int y = param[1].asFloat();\n int z = param[2].asFloat();\n "+t+"\n}\n";return e.definitions_[f]=i,""},Ku=ju,qu=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+f+"){\n long startTimeInSecs = param[0].asLong();\n long hour =startTimeInSecs/3600;\n long minute=(startTimeInSecs-3600*hour)/60;\n long second=(startTimeInSecs-3600*hour)%60;\n "+t+"\n}\n";return e.definitions_[f]=i,""},zu=function(x,e){return[this.getFieldValue("STAT"),e.ORDER_ATOMIC]},Zu=function(x,e){let f=this.getFieldValue("VALUE");return e.definitions_["var_"+f]=f,""},Ju=function(x,e){let f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"auth_key",e.ORDER_ATOMIC),i=Tx.JSFuncs.getPlatform();e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",i.match(RegExp(/ESP8266/))?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_BlynkSimpleEsp32="#include "),e.definitions_.include_DNSServer="#include ",e.definitions_.include_ESP8266WebServer="#include \n",e.definitions_.include_WiFiManager="#include ",e.definitions_.var_declare_WiFiServer="WiFiServer server(80);",e.definitions_.var_declare_auth_key="char auth[] = "+t+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_WiFiManager="WiFiManager wifiManager;",e.setups_.setup_wifiManagerautoConnect='wifiManager.autoConnect("Blynk");',e.setups_["setup_server.begin"]='Serial.println("Connected.");\n server.begin();',isNaN(f.charAt(2))?e.setups_.setup_Blynkconfig="Blynk.config(auth, "+f+", 8080);":(f=f.replace(/"/g,"").replace(/\./g,","),e.setups_.setup_Blynkconfig="Blynk.config(auth, IPAddress("+f+"), 8080);");return"Blynk.run();"},Qu=function(x,e){let f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.include_FS="#include ",e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_BlynkSimpleEsp8266="#include ",e.definitions_.include_DNSServer="#include ",e.definitions_.include_ESP8266WebServer="#include ",e.definitions_.include_WiFiManager="#include ",e.definitions_.include_ArduinoJson="#include ",e.definitions_.var_declare_auth_key='char blynk_token[34] = "YOUR_BLYNK_TOKEN";',e.definitions_.var_declare_shouldSaveConfig="bool shouldSaveConfig = false;",e.definitions_.saveConfigCallback='void saveConfigCallback (){\n Serial.println("Should save config");\n shouldSaveConfig = true;\n}',e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.otasetup1='Serial.println("mounting FS...");\n if (SPIFFS.begin()){\n Serial.println("mounted file system");\n if (SPIFFS.exists("/config.json")) {\n Serial.println("reading config file");\n File configFile = SPIFFS.open("/config.json", "r");\n if (configFile) {\n Serial.println("opened config file");\n size_t size = configFile.size();\n std::unique_ptr buf(new char[size]);\n configFile.readBytes(buf.get(), size);\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.parseObject(buf.get());\n json.printTo(Serial);\n if (json.success()){\n Serial.println("parsed json");\n strcpy(blynk_token, json["blynk_token"]);\n }\n else{\n Serial.println("failed to load json config");\n }\n configFile.close();\n }\n }\n } else{\n Serial.println("failed to mount FS");\n }\n WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32);\n WiFiManager wifiManager;\n wifiManager.setSaveConfigCallback(saveConfigCallback);\n wifiManager.addParameter(&custom_blynk_token);\n wifiManager.setMinimumSignalQuality(10);\n if (!wifiManager.autoConnect()){\n Serial.println("failed to connect and hit timeout");\n delay(3000);\n ESP.reset();\n delay(5000);\n }\n Serial.println("connected...yeey :)");\n strcpy(blynk_token, custom_blynk_token.getValue());\n if(shouldSaveConfig){\n Serial.println("saving config");\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.createObject();\n json["blynk_token"] = blynk_token;\n File configFile = SPIFFS.open("/config.json", "w");\n if(!configFile){\n Serial.println("failed to open config file for writing");\n }\n json.printTo(Serial);\n json.printTo(configFile);\n configFile.close();\n }\n Serial.println("local ip");\n Serial.println(WiFi.localIP());\n',isNaN(f.charAt(2))?e.setups_.otasetup1+=" Blynk.config(blynk_token,"+f+",8080);":(f=f.replace(/"/g,"").replace(/\./g,","),e.setups_.otasetup1+=" Blynk.config(blynk_token,IPAddress("+f+"),8080);");return"Blynk.run();\n"},$u=function(x,e){return["Blynk.connected()",e.ORDER_ATOMIC]},xr=function(){return"terminal.clear();\n"},er=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"x",e.ORDER_ATOMIC),i=e.valueToCode(this,"y",e.ORDER_ATOMIC),n=e.valueToCode(this,"value",e.ORDER_ATOMIC);return e.definitions_.include_lcd="WidgetLCD lcd("+f+");\n","lcd.print("+t+", "+i+", "+n+");\n"},fr=function(){return"lcd.clear();\n"},tr=function(x,e){let f=e.valueToCode(this,"auth",e.ORDER_ATOMIC),t=e.valueToCode(this,"name",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",e.definitions_.include_BlynkSimpleEsp32_BLE="#include ",e.definitions_.include_BLEDevice="#include ",e.definitions_.include_BLEServer="#include \n",e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},ir=function(x,e){let f=e.valueToCode(this,"auth",e.ORDER_ATOMIC),t=e.valueToCode(this,"name",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",e.definitions_.include_BlynkSimpleEsp32_BT="#include \n",e.definitions_.var_declare_auth_key="char auth[] = "+f+";",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},nr=function(x,e){let f=e.valueToCode(this,"auth",e.ORDER_ATOMIC),t=e.valueToCode(this,"RX",e.ORDER_ATOMIC),i=e.valueToCode(this,"TX",e.ORDER_ATOMIC);e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.include_SoftwareSerial="#include ",e.definitions_.include_BlynkSimpleSerialBLE="#include ",e.definitions_.define_auth="char auth[] = "+f+";",0!=t||1!=i?(e.setups_.setup_serial_Serial="Serial.begin(9600);",e.definitions_.var_declare_SoftwareSerial="SoftwareSerial SerialBLE("+t+", "+i+");",e.setups_.setup_SerialBLE_begin="SerialBLE.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(SerialBLE, auth);"):(e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);"),e.setups_["setup_Serial.println"]='Serial.println("Waiting for connections...");';return"Blynk.run();\n"},sr=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC),t=e.valueToCode(this,"mingcheng",e.ORDER_ATOMIC),i=e.valueToCode(this,"shujv",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "add", '+f+","+t+", "+i+");\n"},ar=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC),t=e.valueToCode(this,"mingcheng",e.ORDER_ATOMIC),i=e.valueToCode(this,"shujv",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "update", '+f+","+t+", "+i+");\n"},lr=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "pick", '+f+");\n"},cr=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "select", '+f+");\n"},pr=function(x,e){let f=e.valueToCode(this,"id",e.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "deselect", '+f+");\n"},dr=function(x,e){let f=this.getFieldValue("Vpin");return e.definitions_["rowIndex_"+f]="int rowIndex_"+f+" = 0;\n","Blynk.virtualWrite("+f+', "clr");\nrowIndex_'+f+" = 0;\n"},or=function(x,e){return["Blynk.connected()",e.ORDER_ATOMIC]},ur=function(x,e){let f=e.valueToCode(this,"wifi_ssid",e.ORDER_ATOMIC),t=e.valueToCode(this,"wifi_pass",e.ORDER_ATOMIC),i="";return i=this.getFieldValue("mode")>0?'WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED){\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n':'Serial.print("Setting AP (Access Point)…");\nWiFi.softAP(wif_ssid,wif_password);\nIPAddress IP = WiFi.softAPIP();\nSerial.print("Camera Stream Ready! Connect to the ESP32 AP and go to: http://");\nSerial.println(IP);\nSerial.println("");\n',e.definitions_.esp_camera='#include "esp_camera.h"\n#include \n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+f+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',e.setups_.setups_esp_camera=' WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n '+i+" startCameraServer();\n","delay(1);\n"},rr=function(x,e){let f=e.valueToCode(this,"wifi_ssid",e.ORDER_ATOMIC),t=e.valueToCode(this,"wifi_pass",e.ORDER_ATOMIC),i=e.valueToCode(this,"server",e.ORDER_ATOMIC);isNaN(i.charAt(2))||(i=i.replace(/"/g,"").replace(/\./g,","),i="IPAddress("+i+")");let n=e.valueToCode(this,"auth",e.ORDER_ATOMIC);return e.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",e.definitions_.include_WiFi="#include ",e.definitions_.include_BlynkSimpleEsp32="#include ",e.definitions_.include_WidgetRTC="#include ",e.definitions_.include_WiFiClient="#include ",e.definitions_.include_TimeLib="#include ",e.definitions_.var_declare_auth_key="char auth[] = "+n+";",e.definitions_.esp_camera='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+f+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',e.setups_.setups_esp_camera='WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n startCameraServer();\n Blynk.config(auth,'+i+",8080);\n","Blynk.run();\n"},_r=function(x,e){e.definitions_.take_a_photo='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "fd_forward.h"\n#include "fr_forward.h"\n#include "FS.h" \n#include "SD_MMC.h" \n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h" \n#include "dl_lib.h"\n#include "driver/rtc_io.h"\n#include \n#define EEPROM_SIZE 1\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nint pictureNumber = 0;\n';return'WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\nSerial.begin(115200);\ncamera_config_t config;\nconfig.ledc_channel = LEDC_CHANNEL_0;\nconfig.ledc_timer = LEDC_TIMER_0;\nconfig.pin_d0 = Y2_GPIO_NUM;\nconfig.pin_d1 = Y3_GPIO_NUM;\nconfig.pin_d2 = Y4_GPIO_NUM;\nconfig.pin_d3 = Y5_GPIO_NUM;\nconfig.pin_d4 = Y6_GPIO_NUM;\nconfig.pin_d5 = Y7_GPIO_NUM;\nconfig.pin_d6 = Y8_GPIO_NUM;\nconfig.pin_d7 = Y9_GPIO_NUM;\nconfig.pin_xclk = XCLK_GPIO_NUM;\nconfig.pin_pclk = PCLK_GPIO_NUM;\nconfig.pin_vsync = VSYNC_GPIO_NUM;\nconfig.pin_href = HREF_GPIO_NUM;\nconfig.pin_sscb_sda = SIOD_GPIO_NUM;\nconfig.pin_sscb_scl = SIOC_GPIO_NUM;\nconfig.pin_pwdn = PWDN_GPIO_NUM;\nconfig.pin_reset = RESET_GPIO_NUM;\nconfig.xclk_freq_hz = 20000000;\nconfig.pixel_format = PIXFORMAT_JPEG; \nif(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n} else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n}\nesp_err_t err = esp_camera_init(&config);\nif (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n}\nif(!SD_MMC.begin()){\n Serial.println("SD Card Mount Failed");\n return;\n}\nuint8_t cardType = SD_MMC.cardType();\nif(cardType == CARD_NONE){\n Serial.println("No SD Card attached");\n return;\n}\ncamera_fb_t * fb = NULL;\nfb = esp_camera_fb_get();\nif(!fb) {\n Serial.println("Camera capture failed");\n return;\n}\nEEPROM.begin(EEPROM_SIZE);\npictureNumber = EEPROM.read(0) + 1;\nString path = "/picture" + String(pictureNumber) +".jpg";\nfs::FS &fs = SD_MMC; \nSerial.printf("Picture file name: %s\\n", path.c_str());\nFile file = fs.open(path.c_str(), FILE_WRITE);\nif(!file){\n Serial.println("Failed to open file in writing mode");\n} \nelse {\n file.write(fb->buf, fb->len);\n Serial.printf("Saved file to path: %s\\n", path.c_str());\n EEPROM.write(0, pictureNumber);\n EEPROM.commit();\n}\nfile.close();\nesp_camera_fb_return(fb); \npinMode(4, OUTPUT);\ndigitalWrite(4, LOW);\nrtc_gpio_hold_en(GPIO_NUM_4);\n'},hr=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),e.definitions_["blynk_table"+f]="WidgetTable table_"+f+";\nBLYNK_ATTACH_WIDGET(table_"+f+", "+f+");\n",e.setups_["setup_blynk_table_click"+f]="table_"+f+".onSelectChange([](int index, bool selected) {\n "+t+"\n });\n";return""},Fr=function(x,e){let f=this.getFieldValue("Vpin"),t=e.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),e.definitions_["blynk_table"+f]="WidgetTable table_"+f+";\nBLYNK_ATTACH_WIDGET(table_"+f+", "+f+");\n",e.setups_["setup_blynk_table_order"+f]="table_"+f+".onOrderChange([](int indexFrom, int indexTo) {\n "+t+"\n });\n";return""},Ir=function(x,e){let f=this.getFieldValue("Vpin"),t=e.valueToCode(this,"data",e.ORDER_ATOMIC),i=e.valueToCode(this,"name",e.ORDER_ATOMIC);return e.definitions_["rowIndex_"+f]="int rowIndex_"+f+" = 0;\n","table_"+f+".addRow(rowIndex_"+f+", "+i+", "+t+");\ntable_"+f+".pickRow(rowIndex_"+f+");\nrowIndex_"+f+"++;\n"},Ar=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.statementToCode(this,"DO"),i=e.statementToCode(this,"DO2");return e.definitions_.include_IRremote="#include \n",e.definitions_.var_declare_irProtocolList='const String IR_PROTOCOL_TYPE[] = {\n "UNKNOWN",\n "PULSE_DISTANCE",\n "PULSE_WIDTH",\n "DENON",\n "DISH",\n "JVC",\n "LG",\n "LG2",\n "NEC",\n "PANASONIC",\n "KASEIKYO",\n "KASEIKYO_JVC",\n "KASEIKYO_DENON",\n "KASEIKYO_SHARP",\n "KASEIKYO_MITSUBISHI",\n "RC5",\n "RC6",\n "SAMSUNG",\n "SHARP",\n "SONY",\n "ONKYO",\n "APPLE",\n "BOSEWAVE",\n "LEGO_PF",\n "MAGIQUEST",\n "WHYNTER"\n};',e.definitions_["var_declare_irrecv_"+f]=`IRrecv irrecv_${f}(${f});\n`,e.setups_["setup_ir_recv_"+f]=`irrecv_${f}.enableIRIn();`,`if (irrecv_${f}.decode()) {\n struct IRData *pIrData = &irrecv_${f}.decodedIRData;\n long ir_item = pIrData->decodedRawData;\n String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol];\n Serial.print("IR TYPE:" + irProtocol + "\\tVALUE:");\n Serial.println(ir_item, HEX);\n irrecv_${f}.resume();\n${t}\n} else {\n${i}\n}\n`},Er=function(x,e){return e.definitions_.include_IRremote="#include ","irrecv_"+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".enableIRIn();\n"},Tr=function(x,e){var f=this.getFieldValue("PIN");e.definitions_.include_IRremote="#include \n",e.definitions_["var_declare_ir_send_"+f]=`IRsend irsend_${f}(${f});`;var t=e.valueToCode(this,"data",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"bits",e.ORDER_ATOMIC)||"0";return`irsend_${f}.send${this.getFieldValue("TYPE")}(${t},${i});\n`},gr=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);e.definitions_.include_IRremote="#include \n",e.definitions_["var_declare_ir_recv"+f]="IRrecv irrecv_"+f+"("+f+");\ndecode_results results_"+f+";\n",e.setups_.setup_serial_Serial||(e.setups_.setup_serial_Serial="Serial.begin("+Tx.Profile.default.serial+");"),e.setups_["setup_ir_recv_"+f]="irrecv_"+f+".enableIRIn();\n";var t="if (irrecv_"+f+".decode(&results_"+f+")) {\n";t+=" dumpRaw(&results_"+f+");\n",t+=" irrecv_"+f+".resume();\n",t+="}\n";return e.definitions_.dumpRaw='void dumpRaw(decode_results *results) {\n int count = results->rawlen;\n Serial.print("RawData (");\n Serial.print(count, DEC);\n Serial.print("): ");\n for (int i = 0; i < count; i++) {\n Serial.print(results->rawbuf[i]*MICROS_PER_TICK, DEC);\n if(i!=count-1){\n Serial.print(",");\n }\n }\n Serial.println("");\n}\n',t},mr=function(x,e){var f=this.getFieldValue("PIN");e.definitions_.include_IRremote="#include \n",e.definitions_["var_declare_ir_send_"+f]=`IRsend irsend_${f}(${f});`;var t=e.valueToCode(this,"length",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"freq",e.ORDER_ATOMIC)||"0",n="unsigned int buf_raw["+t+"]={"+this.getFieldValue("TEXT")+"};\n";return n+=`irsend_${f}.sendRaw(buf_raw,${t},${i});\n`},Mr=function(x,e){e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();";var f="Wire.beginTransmission("+(e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0")+");\n";return f+="Wire.write("+(e.valueToCode(this,"value",e.ORDER_ATOMIC)||"0")+");\n",f+="Wire.endTransmission();\n"},Cr=function(x,e){e.definitions_.include_Wire="#include \n";return["Wire.read()",e.ORDER_ATOMIC]},Or=function(x,e){return e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();","Wire.write("+(e.valueToCode(this,"value",e.ORDER_ATOMIC)||"0")+");\n"},Sr=function(x,e){var f=this.getFieldValue("SDA");return e.definitions_.include_SPI="#include ",e.definitions_.include_RFID="#include ",e.definitions_.var_declare_RFID="RFID rfid("+f+",5);",e.definitions_["var_declare__i and tmp"]="unsigned char i,tmp;",e.definitions_.var_declare__status="unsigned char status;",e.definitions_.var_declare__strmax="unsigned char str[MAX_LEN];",e.definitions_.var_declare__RC_size="unsigned char RC_size;",e.definitions_.var_declare__blockAddr="unsigned char blockAddr; //选择操作的块地址0~63",e.definitions_.define_1="//4字节卡序列号,第5字节为校验字节",e.definitions_.define_2="unsigned char serNum[5];",e.definitions_.define_3="//写卡数据",e.definitions_.define_5="//原扇区A密码,16个扇区,每个扇区密码6Byte",e.definitions_.define_6="unsigned char sectorKeyA[16][16] = {",e.definitions_.define_7=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_8=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_9=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",e.definitions_.define_10="//新扇区A密码,16个扇区,每个扇区密码6Byte",e.definitions_.define_11="unsigned char sectorNewKeyA[16][16] = {",e.definitions_.define_12=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_13=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",e.definitions_.define_14=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_output_2="SPI.begin();",e.setups_.setup_output_3="rfid.init();",""},Rr=function(x,e){var f=e.statementToCode(this,"do_");return e.INFINITE_LOOP_TRAP&&(f=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+f),"if(rfid.isCard()){\n"+f+"}\n"},Nr=function(x,e){var f="RFID_readcardnum",t="String "+f+"(){\n rfid.readCardSerial();\n String stringserNum = String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum;\n}\n";return e.definitions_[f]=t,[f+"()",e.ORDER_ATOMIC]},Dr=function(x,e){var f=e.valueToCode(this,"address1",e.ORDER_ATOMIC),t="RFID_writecarddata",i="void "+t+'(int ad2){\n rfid.readCardSerial();\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n //写数据卡\n blockAddr = ad2;\n if(rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK){\n //写数据\n status = rfid.write(blockAddr, sectorKeyA[blockAddr/4]);\n Serial.print("set the new card password, and can modify the data of the Sector: ");\n Serial.println(blockAddr/4,DEC);\n blockAddr=blockAddr-3;\n status=rfid.write(blockAddr,(unsigned char*)'+this.getFieldValue("data1")+');\n if(status == MI_OK){\n Serial.println("Write card OK!");\n }\n }\n}\n';return e.definitions_[t]=i,t+"("+f+");\n"},Pr=function(x,e){var f=e.valueToCode(this,"address",e.ORDER_ATOMIC),t="RFID_readcarddata",i="String "+t+'(int ad3){\n //读卡\n blockAddr =ad3;\n status = rfid.auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA[blockAddr/4], rfid.serNum);\n\tif(status == MI_OK){ //认证\n //读数据\n if(rfid.read(blockAddr, str) == MI_OK)\n {\n Serial.print("Read from the card ,the data is : ");\n Serial.println((char *)str);\n }\n }\n rfid.halt();\n String stringstr((char*)str);\n return stringstr;\n}\n';return e.definitions_[t]=i,[t+"("+f+")",e.ORDER_ATOMIC]},Lr=function(x,e){var f="RFID_off",t="void "+f+"() {\n\n rfid.halt(); \n}\n";return e.definitions_[f]=t,f+"();\n"},br=function(x,e){var f="RFID_readcardnum",t="String "+f+"() {\n\n rfid.readCardSerial(); \n String stringserNum=String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum; \n}\n";e.definitions_[f]=t;var i=e.valueToCode(this,"uid_",e.ORDER_NONE)||"false",n=e.statementToCode(this,"do_");return e.INFINITE_LOOP_TRAP&&(n=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n),"false"!=i?0===i.indexOf('"')?"if (strcmp(RFID_readcardnum().c_str(),"+i+")==0) {\n"+n+"}\n":"if (strcmp(RFID_readcardnum().c_str(),"+i+".c_str())==0) {\n"+n+"}\n":""},yr=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.valueToCode(this,"PIN_SDA",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN_RST",e.ORDER_ATOMIC);e.definitions_.include_SPI="#include ",e.definitions_.include_MFRC522="#include ",e.definitions_["var_declare_"+f]="MFRC522 "+f+"("+t+", "+i+");",e.setups_.setup_spi="SPI.begin();",e.setups_["setup_mfc522_"+f]=f+".PCD_Init();";return""},vr=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.statementToCode(this,"DO");return e.definitions_.function_MFRC522_IsNewCard="boolean MFRC522_IsNewCard(MFRC522 *_name){\n if(!_name->PICC_IsNewCardPresent())\n return false;\n if(!_name->PICC_ReadCardSerial())\n return false;\n return true;\n}\n","if(MFRC522_IsNewCard(&"+f+")){\n"+(""!=t?t:"")+" "+f+".PICC_HaltA();\n "+f+".PCD_StopCrypto1();\n}\n"},wr=function(x,e){var f=this.getFieldValue("rfid_name");return e.definitions_.function_MFRC522_ReadCardUID='String MFRC522_ReadCardUID(MFRC522 *_name){\n String _CardUID = "";\n for (byte _i = 0; _i < _name->uid.size; _i++){\n if(_name->uid.uidByte[_i] < 0x10)\n _CardUID += "0";\n _CardUID += String(_name->uid.uidByte[_i], HEX);\n }\n return _CardUID;\n}\n',["MFRC522_ReadCardUID(&"+f+")",e.ORDER_ATOMIC]},Vr=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.valueToCode(this,"block",e.ORDER_ATOMIC),i=e.valueToCode(this,"buffer",e.ORDER_ATOMIC),n=e.valueToCode(this,"length",e.ORDER_ATOMIC);return e.definitions_.function_MFRC522_WriteCard='boolean MFRC522_WriteCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n _status = _name->MIFARE_Write(_block, _buffer, _length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Write() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Write() success;"));\n }\n return true;\n}\n',e.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_WriteCard(&"+f+", "+t+", "+i+", "+n+");\n"},Yr=function(x,e){var f=this.getFieldValue("rfid_name"),t=e.valueToCode(this,"block",e.ORDER_ATOMIC),i=e.valueToCode(this,"buffer",e.ORDER_ATOMIC),n=e.valueToCode(this,"length",e.ORDER_ATOMIC);return e.definitions_.function_MFRC522_ReadCard='boolean MFRC522_ReadCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n if(_length < 18){\n byte _Read_buffer[18];\n byte _Read_buffer_length = 18;\n _status = _name->MIFARE_Read(_block, _Read_buffer, &_Read_buffer_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n for(byte _i = 0; _i < _length; _i++)\n _buffer[_i] = _Read_buffer[_i];\n }\n else{\n _status = _name->MIFARE_Read(_block, _buffer, &_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n }\n return true;\n}\n',e.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_ReadCard(&"+f+", "+t+", "+i+", "+n+");\n"},kr=function(x,e){e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();";return""},Xr=function(x,e){e.definitions_.include_Wire="#include ";var f=e.valueToCode(this,"i2c_address",e.ORDER_ATOMIC);e.setups_.setup_i2c="Wire.begin("+f+");";return""},Gr=function(x,e){return e.definitions_.include_Wire="#include ","Wire.beginTransmission("+e.valueToCode(this,"i2c_address",e.ORDER_ATOMIC)+");\n"+e.statementToCode(this,"transmission_data")+"Wire.endTransmission();\n"},Br=function(x,e){return e.definitions_.include_Wire="#include ","Wire.write("+e.valueToCode(this,"i2c_write_data",e.ORDER_ATOMIC)+");\n"},Ur=function(x,e){return e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();","Wire.write("+e.valueToCode(this,"array",e.ORDER_ATOMIC)+","+(e.valueToCode(this,"length",e.ORDER_ATOMIC)||"1")+");\n"},Hr=function(x,e){e.definitions_.include_Wire="#include \n";var f=this.workspace.getAllBlocks(),t=0;for(t=0;t\n",e.setups_.setup_wire_begin="Wire.begin();";return["howMany",e.ORDER_ATOMIC]},jr=function(x,e){return["Wire.read()",e.ORDER_ATOMIC]},Kr=function(x,e){e.definitions_.include_SPI="#include ",e.setups_.setup_spi="SPI.begin();";var f=e.valueToCode(this,"pin",e.ORDER_ATOMIC),t=e.valueToCode(this,"value",e.ORDER_ATOMIC);e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);";var i="digitalWrite("+f+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+f+", HIGH);\n"},qr=function(x,e){e.definitions_.include_SPI="#include ",e.setups_.setup_spi="pinMode(12, OUTPUT);\n SPCR |= _BV(SPE);";return""},zr=function(x,e){e.definitions_.include_Wire="#include ",e.setups_.setup_wire_begin="Wire.begin();";var f="Wire.beginTransmission("+(e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0")+");\n";return f+="Wire.write("+(e.valueToCode(this,"regadd",e.ORDER_ATOMIC)||"0")+");\n",f+="Wire.write("+(e.valueToCode(this,"value",e.ORDER_ATOMIC)||"0")+");\n",f+="Wire.endTransmission();\n"},Zr=function(x,e){e.definitions_.include_Wire="#include \n",e.setups_.setup_wire_begin="Wire.begin();";var f=e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0",t="Wire.beginTransmission("+f+");\n";return t+="Wire.write("+(e.valueToCode(this,"regadd",e.ORDER_ATOMIC)||"0")+");\n",t+="Wire.requestFrom("+f+", "+(e.valueToCode(this,"bytes",e.ORDER_ATOMIC)||"0")+");\n",t+="Wire.endTransmission();\n"},Jr=function(x,e){e.definitions_.include_Wire="#include \n";var f=e.valueToCode(this,"onReceive_length",e.ORDER_ATOMIC),t=e.statementToCode(this,"DO");e.definitions_.function_receiveEvent="void receiveEvent(int "+f+")\n{ "+t+"\n}\n",e.setups_.setup_i2c_receiveEvent="Wire.onReceive(receiveEvent);";return""},Qr=function(x,e){e.definitions_.include_Wire="#include \n",e.setups_.setup_i2c_slave="Wire.setClock(400000);",e.setups_.setup_i2c_onRequest="Wire.onRequest(i2cRequestEvent);";var f="i2cRequestEvent",t="void "+f+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[f]=t,""},$r=function(x,e){return e.definitions_.include_Wire="#include \n","Wire.requestFrom("+(e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0")+", "+(e.valueToCode(this,"bytes",e.ORDER_ATOMIC)||"0")+");\n"},x_=function(x,e){var f=e.valueToCode(this,"spi_slave_pin",e.ORDER_ATOMIC);e.definitions_.include_SPI="#include ",e.setups_.setup_spi="SPI.begin();",e.setups_.setup_spi_divider="SPI.setClockDivider(SPI_CLOCK_DIV8);",e.setups_["setup_spi_pin_"+f]="digitalWrite("+f+", HIGH);";return""},e_=function(x,e){var f=e.valueToCode(this,"slave_pin",e.ORDER_ATOMIC);return"digitalWrite("+f+", LOW);\n"+e.statementToCode(this,"transfer_data")+"digitalWrite("+f+", HIGH);\n"},f_=function(x,e){return"SPI.transfer("+e.valueToCode(this,"transfer_data",e.ORDER_ATOMIC)+");\n"},t_=function(x,e){return["SPI.transfer("+e.valueToCode(this,"transfer_data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},i_=function(x,e){var f=e.statementToCode(this,"slave_interrupt_data");e.definitions_.function_ISR="ISR(SPI_STC_vect)\n{\n"+f+"\n}\n",e.setups_.setup_spi_interrupt="SPI.attachInterrupt();";return""},n_=function(x,e){e.definitions_.function_SPI_SlaveReceive="char SPI_SlaveReceive()\n{\n while(!(SPSR&(1<= ":" <= ")+i+"; "+f+" = "+f+" + ("+n+")) {\n"+s+"}\n":n.match(/^-?\d+(\.\d+)?$/)?"for (int "+f+" = ("+t+"); "+f+(n<0?" >= ":" <= ")+"("+i+"); "+f+" = "+f+" + ("+n+")) {\n"+s+"}\n":"for (int "+f+" = ("+t+"); ("+i+">="+t+")?("+f+"<="+i+"):("+f+">="+i+"); "+f+" = "+f+" + ("+n+")) {\n"+s+"}\n"},p_=function(x,e){var f=e.valueToCode(this,"BOOL",e.ORDER_NONE)||"false",t=e.statementToCode(this,"DO");return e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),"UNTIL"==this.getFieldValue("MODE")&&(f.match(/^\w+$/)||(f="("+f+")"),f="!"+f),"while ("+f+") {\n"+t+"}\n"},d_=function(){switch(this.getFieldValue("FLOW")){case"BREAK":return"break;\n";case"CONTINUE":return"continue;\n"}throw"Unknown flow statement."},o_=function(x,e){var f=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000";return this.getFieldValue("UNIT")+"("+f+");\n"},u_=function(x,e){return[this.getFieldValue("UNIT")+"()",e.ORDER_ATOMIC]},r_=function(x,e){e.definitions_.include_MsTimer2="#include ";var f=e.valueToCode(this,"TIME",e.ORDER_ATOMIC),t="msTimer2_func",i="void "+t+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[t]=i,"MsTimer2::set("+f+", "+t+");\n"},__=function(x,e){return e.definitions_.include_MsTimer2="#include ","MsTimer2::start();\n"},h_=function(x,e){return e.definitions_.include_MsTimer2="#include ","MsTimer2::stop();\n"},F_=function(){return Tx.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?"while(true) delay(1000);\n":"while(true);\n"},I_=function(x,e){return e.definitions_.resetFunc="void(* resetFunc) (void) = 0;\n","resetFunc();\n"},A_=function(){return"interrupts();\n"},E_=function(){return"noInterrupts();\n"},T_=o_,g_=function(x,e){var f=this.getFieldValue("NO"),t=e.valueToCode(this,"timein",e.ORDER_ATOMIC),i="Simple_timer_"+f,n=e.statementToCode(this,"zxhs"),s="void "+i+"() {\n "+(n=n.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return e.definitions_[i]=s,e.definitions_.include_SimpleTimer="#include \n",e.definitions_.var_declare_SimpleTimer="SimpleTimer timer;",e.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},m_=function(x,e){var f=e.statementToCode(this,"input_data"),t=e.valueToCode(this,"select_data",e.ORDER_ATOMIC);if("false"==this.getFieldValue("type"))var i="do{\n"+f+"}while(!("+t+"));\n";else i="do{\n"+f+"}while("+t+");\n";return i},M_=function(x,e){var f="super_delay_function"+this.getFieldValue("number"),t=e.statementToCode(this,"delay_function"),i="void "+f+"() {\n "+(t=t.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return e.definitions_[f]=i,e.definitions_.include_SimpleTimer="#include \n",e.definitions_.var_declare_SimpleTimer="SimpleTimer timer;","timer.run();\n"},C_=function(x,e){var f=this.getFieldValue("number");return"timer.setTimer("+e.valueToCode(this,"time_interval",e.ORDER_ATOMIC)+", super_delay_function"+f+", "+e.valueToCode(this,"frequency",e.ORDER_ATOMIC)+");\n"},O_=function(x,e){var f=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("SCL"),n=this.getFieldValue("SDA"),s=Tx.JSFuncs.getPlatform(),a=e.valueToCode(this,"device",e.ORDER_ATOMIC)||"0x27";return n==Tx.Profile.default.SDA[0][1]&&i==Tx.Profile.default.SCL[0][1]?(e.definitions_.include_Wire="#include ",e.definitions_.include_LiquidCrystal_I2C="#include ",e.definitions_["var_declare_LiquidCrystal_I2C_"+f]="LiquidCrystal_I2C "+f+"("+a+","+t+");"):s.match(RegExp(/AVR/))?(e.definitions_.include_SoftI2CMaster="#include ",e.definitions_.include_LiquidCrystal_SoftI2C="#include ",e.definitions_["var_declare_LiquidCrystal_SoftI2C_"+f]="LiquidCrystal_SoftI2C "+f+"("+a+","+t+","+i+","+n+");"):(e.definitions_.include_Wire="#include ",e.definitions_.include_LiquidCrystal_SoftI2C="#include ",e.definitions_["var_declare_LiquidCrystal_I2C_"+f]="LiquidCrystal_I2C "+f+"("+a+","+t+");",e.setups_.setup_Wire="Wire.begin("+n+","+i+");"),e.setups_["setup_lcd_init_"+f]=f+".init();",e.setups_["setup_lcd_backlight_"+f]=f+".backlight();",""},S_=function(x,e){var f=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("RS"),n=this.getFieldValue("EN"),s=this.getFieldValue("D4"),a=this.getFieldValue("D5"),l=this.getFieldValue("D6"),c=this.getFieldValue("D7");return e.definitions_.include_LiquidCrystal="#include ",e.definitions_["var_declare_LiquidCrystal"+f]="LiquidCrystal "+f+"("+i+","+n+","+s+","+a+","+l+","+c+");",e.setups_["setup_lcd_begin_"+f]=f+".begin("+t+");",""},R_=function(x,e){var f=this.getFieldValue("VAR"),t=f+".setCursor(0, 0);\n";return t+=f+".print("+(e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'""')+");\n",t+=f+".setCursor(0, 1);\n",t+=f+".print("+(e.valueToCode(this,"TEXT2",e.ORDER_ATOMIC)||'""')+");\n"},N_=function(x,e){var f=this.getFieldValue("VAR"),t=e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'String("")',i=e.valueToCode(this,"row",e.ORDER_ATOMIC)||"1",n=f+".setCursor("+(e.valueToCode(this,"column",e.ORDER_ATOMIC)||"1")+"-1, "+i+"-1);\n";return n+=f+".print("+t+");\n"},D_=function(){return this.getFieldValue("VAR")+"."+this.getFieldValue("STAT")+"();\n"},P_=function(x,e){var f=this.getFieldValue("STAT");return e.definitions_.include_Wire="#include ",e.definitions_.include_TM1650="#include ",e.definitions_.var_declare_display_4display="TM1650 tm_4display;",e.setups_.setup_wire_begin="Wire.begin();",e.setups_.setup_display_4display_init="tm_4display.init();","tm_4display."+f+"();\n"},L_=function(x,e){var f=e.valueToCode(this,"VALUE",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.definitions_.include_TM1650="#include ",e.definitions_.var_declare_display_4display="TM1650 tm_4display;",e.setups_.setup_wire_begin="Wire.begin();",e.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.displayString("+f+");\n"},b_=function(x,e){var f=this.getFieldValue("NO"),t=this.getFieldValue("STAT");return e.definitions_.include_Wire="#include ",e.definitions_.include_TM1650="#include ",e.definitions_.var_declare_display_4display="TM1650 tm_4display;",e.setups_.setup_wire_begin="Wire.begin();",e.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.setDot("+f+","+t+");\n"};var y_,v_;const w_=function(x,e){v_=this.getFieldValue("CLK"),y_=this.getFieldValue("DIO");var f=this.getFieldValue("NAME")||"display";return e.definitions_.include_SevenSegmentTM1637="#include ",e.definitions_["var_declare_SevenSegmentTM1637"+f]="SevenSegmentTM1637 "+f+"("+v_+","+y_+");",e.setups_["setup_"+f+".begin()"]=f+".begin();",""},V_=function(x,e){return(this.getFieldValue("NAME")||"display")+".print("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+");\n"},Y_=function(x,e){var f=this.getFieldValue("NAME")||"display";return e.definitions_.include_SevenSegmentExtended="#include ",e.definitions_["var_declare_SevenSegmentTM1637"+f]="SevenSegmentExtended "+f+"("+v_+","+y_+");",f+".printTime("+e.valueToCode(this,"hour",e.ORDER_ATOMIC)+","+e.valueToCode(this,"minute",e.ORDER_ATOMIC)+","+this.getFieldValue("STAT")+");\n"},k_=function(){var x=this.getFieldValue("STAT");return(this.getFieldValue("NAME")||"display")+"."+x+"();\n"},X_=function(x,e){return(this.getFieldValue("NAME")||"display")+".setBacklight("+e.valueToCode(this,"Brightness",e.ORDER_ATOMIC)+");\n"},G_=function(x,e){var f=this.getFieldValue("SDA"),t=this.getFieldValue("SCL"),i="myMatrix";return e.definitions_.include_Matrix="#include ",e.definitions_["var_declare"+i]="Matrix "+i+"("+f+","+t+");",e.setups_["setup_"+i]=i+".begin(0x70);",i+".clear();\n"},B_=function(x,e){var f=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),t=e.valueToCode(this,"hDisplays",e.ORDER_ATOMIC),i=e.valueToCode(this,"vDisplays",e.ORDER_ATOMIC);e.definitions_.include_SPI="#include ",e.definitions_.include_Adafruit_GFX="#include ",e.definitions_.include_Max72xxPanel="#include ",e.definitions_.var_declare_Max72xxPanel="Max72xxPanel myMatrix = Max72xxPanel("+f+","+t+","+i+");";return""},U_=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("WRITE"),i=e.valueToCode(this,"XVALUE",e.ORDER_ASSIGNMENT),n=e.valueToCode(this,"YVALUE",e.ORDER_ASSIGNMENT),s="myMatrix",a=e.valueToCode(this,"STAT",e.ORDER_ATOMIC);if("HT16K33"==f)var l=s+".drawPixel("+i+",7-"+n+","+a+");\n";else l=s+".drawPixel("+i+","+n+","+a+");\n";return"OFF"!==t&&(l+=s+".write();\n"),l},H_=function(x,e){return"myMatrix.scrollMessage("+e.valueToCode(this,"TEXT",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"Speed",e.ORDER_ATOMIC)+");\n"},W_=function(x,e){var f="myMatrix",t=this.getFieldValue("WRITE"),i=f+".setCursor(0, 0);\n";return i+=f+".print("+e.valueToCode(this,"TEXT",e.ORDER_ASSIGNMENT)+");\n","OFF"!==t&&(i+=f+".write();\n"),i},j_=function(x,e){var f=this.getFieldValue("TYPE"),t="myMatrix",i=this.getFieldValue("WRITE"),n=e.valueToCode(this,"NO",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDArray",e.ORDER_ASSIGNMENT);e.definitions_.var_declare_LEDArray="uint8_t LEDArray[8];";var a="";return a+="memcpy_P(&LEDArray, &"+s+", 8);\n",a+="for(int index_i=0; index_i<8; index_i++)\n",a+="{\n",a+=" for(int index_j="+n+"*8; index_j<"+n+"*8+8; index_j++)\n",a+=" {\n",a+=" if((LEDArray[index_i]&0x01)>0)\n","HT16K33"==f?(a+=" "+t+".drawPixel(index_j, index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, index_i,0);\n"):(a+=" "+t+".drawPixel(index_j, 7-index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, 7-index_i,0);\n"),a+=" LEDArray[index_i] = LEDArray[index_i]>>1;\n",a+=" } \n",a+="}\n","OFF"!==i&&(a+=t+".write();\n"),a},K_=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][9-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};",e.definitions_[f]="const uint8_t "+f+"[8] PROGMEM ="+s,[f,e.ORDER_ATOMIC]},q_=function(x,e){for(var f=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=7;n>=0;n--){for(var s="",a=7;a>=0;a--)s+=t[n][a];1==(s=parseInt(s,2).toString(16)).length&&(s="0"+s),i+="0x"+s+(0!==n?",":"")}return i+="};",e.definitions_[f]="const uint8_t "+f+"[8] PROGMEM ="+i,[f,e.ORDER_ATOMIC]},z_=function(x,e){var f=this.getFieldValue("TYPE"),t="myMatrix",i=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);if("HT16K33"==f)var n=t+".setBrightness("+i+");\n";else n=t+".setIntensity("+i+");\n";return n},Z_=function(){var x=this.getFieldValue("WRITE"),e="myMatrix",f=e+"."+this.getFieldValue("FILLSCREEN_TYPE")+";\n";return"OFF"!==x&&(f+=e+".write();\n"),f},J_=function(x,e){var f=this.getFieldValue("Rotation_TYPE");return"myMatrix.setRotation("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+","+f+");\n"},Q_=function(x,e){return"myMatrix.setPosition("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+","+e.valueToCode(this,"X",e.ORDER_ATOMIC)+","+e.valueToCode(this,"Y",e.ORDER_ATOMIC)+");\n"},$_=function(){return"myMatrix.setRotation(4-"+this.getFieldValue("Rotation_TYPE")+");\n"},xh=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};\n",e.definitions_[f]="byte "+f+"[]="+s,[f,e.ORDER_ATOMIC]},eh=function(x,e){var f=this.getFieldValue("img_"),t='"'+f+'"';t="{";for(var i=0;i<15;i+=2)t+="0x"+f.substr(i,2)+(14!=i?",":"");return t+="};\n",e.definitions_["matrix_img_"+f]="const uint8_t matrix_img_"+f+"[8] PROGMEM="+t,["matrix_img_"+f,e.ORDER_ATOMIC]},fh=function(){return"myMatrix.write();\n"},th=function(x,e){var f=this.getFieldValue("OLED_TYPE"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("SDA"),s=this.getFieldValue("SCL"),a=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0x3C",l=Tx.JSFuncs.getPlatform();e.definitions_.include_U8g2lib="#include ",l.match(RegExp(/AVR/))?n==Tx.Profile.default.SDA[0][1]&&s==Tx.Profile.default.SCL[0][1]?e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_1_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_1_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);":n==Tx.Profile.default.SDA[0][1]&&s==Tx.Profile.default.SCL[0][1]?e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_F_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":e.definitions_["var_declare_U8G2"+t]="U8G2_"+f+"_F_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);",e.definitions_.include_Wire="#include ",e.setups_["setup_u8g2"+t]=t+".setI2CAddress("+a+"*2);\n "+t+".begin();";return""},ih=function(x,e){var f=this.getFieldValue("U8G2_TYPE_SPI"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("CLK"),s=this.getFieldValue("MOSI"),a=this.getFieldValue("CS"),l=this.getFieldValue("DC"),c=this.getFieldValue("RST");e.definitions_.include_U8g2lib="#include ",e.definitions_.include_SPI="#include ",e.setups_["setup_u8g2"+t]=t+".begin();",e.definitions_["var_declare_U8G2"+t]="SCK"==n&&"MOSI"==s?"U8G2_"+f+"_1_4W_HW_SPI "+t+"("+i+", "+a+", "+l+", "+c+");":"U8G2_"+f+"_1_4W_SW_SPI "+t+"("+i+", "+n+","+s+","+a+", "+l+", "+c+");";return""},nh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DC");e.definitions_.include_U8g2lib="#include ",e.definitions_.include_SPI="#include ",e.setups_["setup_u8g2"+f]=f+".begin();",e.definitions_["var_declare_U8G2"+f]="U8G2_ST7920_128X64_1_HW_SPI "+f+"("+t+", "+i+", U8X8_PIN_NONE);";return""},sh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DB0"),n=this.getFieldValue("DB1"),s=this.getFieldValue("DB2"),a=this.getFieldValue("DB3"),l=this.getFieldValue("DB4"),c=this.getFieldValue("DB5"),p=this.getFieldValue("DB6"),d=this.getFieldValue("DB7"),o=this.getFieldValue("ENABLE"),u=this.getFieldValue("DC");e.definitions_.include_U8g2lib="#include ",e.setups_["setup_u8g2"+f]=f+".begin();",e.definitions_["var_declare_U8G2"+f]="U8G2_ST7920_128X64_1_8080 "+f+"("+t+", "+i+", "+n+", "+s+", "+a+", "+l+", "+c+", "+p+", "+d+", "+o+", U8X8_PIN_NONE, "+u+");";return""},ah=function(){return(this.getFieldValue("NAME")||"u8g2")+".clearDisplay();\n"},lh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0",n=this.getFieldValue("FACE_IMAGE"),s=n.indexOf(","),a="FACE_"+n.substring(0,s);return n=n.substring(s+1,n.length),e.libs_[a]="const static unsigned char "+a+"[] PROGMEM ={"+n+" };",f+".drawXBMP("+t+","+i+",89,64,"+a+");\n"},ch=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0",n=this.getFieldValue("ICON_SIZE");return f+".setFontPosBottom();\n"+f+".setFont(u8g2_font_open_iconic_all_"+n+"x_t);\n"+f+".drawGlyph("+t+","+i+"+"+n+"*8,"+this.getFieldValue("ICON_IMAGE")+");\n"},ph=function(x,e){var f="";return f=f+(this.getFieldValue("NAME")||"u8g2")+".drawPixel("+(e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0")+");\n"},dh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.statementToCode(this,"DO"),i="";return t&&(i=f+".firstPage();\ndo\n{\n"+t+"}while("+f+".nextPage());\n"),i},oh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"START_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)||"0",a=e.valueToCode(this,"bitmap_name",e.ORDER_ATOMIC),l="";return l=f+".drawXBMP("+t+", ",l+=i+", ",l+=n+", ",l+=s+", "+(a=a.replace(/"/g,""))+");\n"},uh=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ex.Variables.NAME_TYPE),t=this.getFieldValue("TEXT");return e.libs_[f]="const static unsigned char "+f+"[] PROGMEM ={"+t+" };",""},rh=function(x,e){var f="";return f=(this.getFieldValue("NAME")||"u8g2")+".drawLine("+(e.valueToCode(this,"START_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"END_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"END_Y",e.ORDER_ATOMIC)||"0")+");\n"},_h=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"START_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"START_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"LENGTH",e.ORDER_ATOMIC)||"0",s="";return s=f+".draw"+this.getFieldValue("TYPE")+"Line("+t+",",s+=i+",",s+=n+");\n"},hh=function(x,e){var f="";return f=(this.getFieldValue("NAME")||"u8g2")+".drawTriangle("+(e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D1_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D1_Y",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D2_X",e.ORDER_ATOMIC)||"0")+",",f+=(e.valueToCode(this,"D2_Y",e.ORDER_ATOMIC)||"0")+");\n"},Fh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)||"0",a="";return a=f+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+");\n"},Ih=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"WIDTH",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"HEIGHT",e.ORDER_ATOMIC)||"0",a=e.valueToCode(this,"RADIUS",e.ORDER_ATOMIC)||"0",l="";return l=f+"."+this.getFieldValue("TYPE")+"("+t+",",l+=i+",",l+=n+",",l+=s+",",l+=a+");\n"},Ah=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"RADIUS",e.ORDER_ATOMIC)||"0",s="";return s=f+"."+this.getFieldValue("TYPE")+"("+t+",",s+=i+",",s+=n+","+this.getFieldValue("OPT")+"); \n"},Eh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"D0_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"D0_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"RADIUS_X",e.ORDER_ATOMIC)||"0",s=e.valueToCode(this,"RADIUS_Y",e.ORDER_ATOMIC)||"0",a="";return a=f+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+","+this.getFieldValue("OPT")+"); \n"},Th=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||"0";e.setups_["setup_enableUTF8Print"+f]=f+".enableUTF8Print();\n";var s="";return s=f+".setCursor("+t+",",s+=i+"); \n",s+=f+".print("+n+"); \n"},gh=function(){var x=this.getFieldValue("NAME")||"u8g2",e=this.getFieldValue("FONT_NAME"),f=this.getFieldValue("FONT_SIZE");return x+".setFont(u8g2_font_"+e+this.getFieldValue("FONT_STYLE")+f+"_tf);\n"+x+".setFontPosTop();\n"},mh=function(){var x=this.getFieldValue("NAME")||"u8g2",e=this.getFieldValue("FONT_NAME");return x+".setFont(u8g2_font_"+this.getFieldValue("FONT_SIZE")+e+");\n"+x+".setFontPosTop();\n"},Mh=function(){var x=this.getFieldValue("NAME")||"u8g2";return x+".setFont(u8g2_font_unifont_t_chinese1);\n"+x+".setFontPosTop();\n"},Ch=function(x,e){return(this.getFieldValue("NAME")||"u8g2")+".setContrast("+e.valueToCode(this,"Contrast",e.ORDER_ATOMIC)+");\n"},Oh=function(x,e){var f=this.getFieldValue("NAME")||"u8g2",t=e.valueToCode(this,"str",e.ORDER_ATOMIC);return e.definitions_["getutf8width"+f]="int "+f+"_getUTF8Width(String str) {\n const char *string_variable = str.c_str();\n return "+f+".getUTF8Width(string_variable);\n}",[f+"_getUTF8Width(String("+t+"))",e.ORDER_ATOMIC]},Sh=function(x,e){var f=this.getFieldValue("name"),t=this.getFieldValue("number"),i=e.valueToCode(this,"row",e.ORDER_ATOMIC),n=e.valueToCode(this,"column",e.ORDER_ATOMIC),s=e.valueToCode(this,"pattern",e.ORDER_ATOMIC);return e.setups_["setup_lcd_display_pattern"+t]=f+".createChar("+t+", "+s+");",f+".setCursor("+n+"-1, "+i+"-1);\n"+f+".write("+t+");\n"},Rh=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<6;n++)t[i][6-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{0B"+t[8][5]+t[8][4]+t[8][3]+t[8][2]+t[8][1]+",0B"+t[7][5]+t[7][4]+t[7][3]+t[7][2]+t[7][1]+",0B"+t[6][5]+t[6][4]+t[6][3]+t[6][2]+t[6][1]+",0B"+t[5][5]+t[5][4]+t[5][3]+t[5][2]+t[5][1]+",0B"+t[4][5]+t[4][4]+t[4][3]+t[4][2]+t[4][1]+",0B"+t[3][5]+t[3][4]+t[3][3]+t[3][2]+t[3][1]+",0B"+t[2][5]+t[2][4]+t[2][3]+t[2][2]+t[2][1]+",0B"+t[1][5]+t[1][4]+t[1][3]+t[1][2]+t[1][1]+"};";return e.definitions_[f]="byte "+f+"[]="+s,[f,e.ORDER_ATOMIC]},Nh=function(x,e){for(var f=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=0;n>8)+((64512&x)>>5)+((248&x)>>3)}const Ph=function(x,e){const f=this.getFieldValue("CS"),t=this.getFieldValue("DC"),i=this.getFieldValue("RST"),n=this.getFieldValue("TYPE");let s=n.split("_")[0],a="";"ST7735_INITR_GREENTAB"===n?a="INITR_GREENTAB":"ST7735_INITR_REDTAB"===n?a="INITR_REDTAB":"ST7735_INITR_BLACKTAB"===n?a="INITR_BLACKTAB":"ST7735_160×80"===n?a="INITR_MINI160x80":"ST7735_160×128"===n?a="128, 160":"ST7789_240×135"===n?a="135, 240":"ST7789_240×240"===n?a="240, 240":"ST7789_320×240"===n?a="240, 320":"ST7796_480×320"===n&&(a=""),e.definitions_.include_Adafruit_GFX="#include ",e.definitions_.include_Adafruit_tft="#include ",e.definitions_.include_SPI="#include ",e.definitions_.var_declare_Adafruit_tft="Adafruit_"+s+" tft = Adafruit_"+s+"("+f+", "+t+", "+i+");",e.setups_.setup_tft_init="tft."+("ST7735"===s?"initR":"init")+"("+a+");",e.setups_.setup_tft_fillScreen="tft.fillScreen(0x0000);",e.definitions_.include_U8g2_for_Adafruit_GFX="#include ",e.definitions_.var_declare_U8G2_FOR_ADAFRUIT_GFX="U8G2_FOR_ADAFRUIT_GFX u8g2_for_adafruit_gfx;",e.setups_.setup_u8g2_for_adafruit_gfx="u8g2_for_adafruit_gfx.begin(tft);";return""};function Lh(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var e="";for(let f=0;f2147483647?2147483647:e-0<-2147483648?-2147483648:isNaN(e-0)?0:e-0}function bh(x){return x<16?"0x0"+x.toString(16).toUpperCase():"0x"+x.toString(16).toUpperCase()}function yh(x){let e=[];for(let f=0;f0?"0"==L?D+=" ":"1"==L&&(D+="0 "):P%(8*I)==0&&(D+="|\n|");for(M=0;M",e.definitions_.var_declare_EthernetClient="EthernetClient client;",["Ethernet.begin("+e.valueToCode(this,"MAC",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},uF=function(x,e){var f=this.getFieldValue("VAR1"),t=this.getFieldValue("VAR2"),i=this.getFieldValue("VAR3"),n=this.getFieldValue("VAR4"),s=this.getFieldValue("VAR5"),a=this.getFieldValue("VAR6");e.definitions_.var_declare_byte_mac="byte mac[] = {0x"+f+", 0x"+t+", 0x"+i+", 0x"+n+", 0x"+s+", 0x"+a+"};";return["mac",e.ORDER_ATOMIC]},rF=function(x,e){return["Ethernet.localIP()",e.ORDER_ATOMIC]},_F=function(x,e){var f=e.valueToCode(this,"PORT",e.ORDER_ATOMIC);return["client.connect("+e.quote_(this.getFieldValue("SERVER"))+","+f+")",e.ORDER_ATOMIC]},hF=function(){return"client.stop();\n"},FF=function(x,e){return["client.connected()",e.ORDER_ATOMIC]},IF=function(x,e){return["client.available()",e.ORDER_ATOMIC]},AF=function(x,e){return"client.print("+(e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'""')+");\n"},EF=function(x,e){return"client.println("+(e.valueToCode(this,"TEXT",e.ORDER_ATOMIC)||'""')+");\n"},TF=function(x,e){return["(char)client.read()",e.ORDER_ATOMIC]},gF=function(){return'client.println("GET '+this.getFieldValue("URL")+' HTTP/1.1");\nclient.println(F("Host: '+this.getFieldValue("SERVER")+'"));\nclient.println(F("Connection: close"));\nclient.println();\n'},mF=function(x,e){var f=e.valueToCode(this,"SSID",e.ORDER_ATOMIC),t=e.valueToCode(this,"PWD",e.ORDER_ATOMIC);return e.definitions_.include_ESP8266WiFi="#include ",e.setups_.setup_WiFi_begin="WiFi.begin("+f+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},MF=function(x,e){return["WiFi.status()",e.ORDER_ATOMIC]},CF=function(x,e){var f=Tx.JSFuncs.getPlatform(),t=this.getFieldValue("mode");return f.match(RegExp(/ESP8266/))?e.definitions_.include_ESP8266WiFi="#include ":f.match(RegExp(/ESP32/))&&(e.definitions_.include_WiFi="#include "),"IP"==t?["WiFi.localIP()",e.ORDER_ATOMIC]:["WiFi.macAddress()",e.ORDER_ATOMIC]},OF=function(x,e){var f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"timeZone",e.ORDER_ATOMIC),i=e.valueToCode(this,"Interval",e.ORDER_ATOMIC);return e.definitions_.include_TimeLib="#include ",e.definitions_.include_NtpClientLib="#include ",e.definitions_.var_declare_timeZone="int8_t timeZone = "+t+";",e.definitions_.var_declare_ntpServer="const PROGMEM char *ntpServer = "+f+";",e.setups_["setup_NTP.setInterval"]="NTP.setInterval ("+i+");",e.setups_["setup_NTP.setNTPTimeout"]="NTP.setNTPTimeout (1500);",e.setups_["setup_NTP.begin"]="NTP.begin (ntpServer, timeZone, false);",""},SF=function(x,e){return[this.getFieldValue("TIME_TYPE"),e.ORDER_ATOMIC]};var RF;const NF=function(x,e){var f=e.valueToCode(this,"server_add",e.ORDER_ATOMIC),t=e.valueToCode(this,"server_port",e.ORDER_ATOMIC),i=e.valueToCode(this,"IOT_ID",e.ORDER_ATOMIC),n=e.valueToCode(this,"IOT_PWD",e.ORDER_ATOMIC);(RF=e.valueToCode(this,"Client_ID",e.ORDER_ATOMIC)).length>2&&(RF+="/"),RF=RF.replace(/"/g,""),e.definitions_.include_Adafruit_MQTT='#include "Adafruit_MQTT.h"',e.definitions_.include_Adafruit_MQTT_Client='#include "Adafruit_MQTT_Client.h"',e.definitions_.include__WiFiClient="WiFiClient client;",e.definitions_.var_declare_Adafruit_MQTT_Client="Adafruit_MQTT_Client mqtt(&client, "+f+", "+t+", "+i+", "+n+");",Tx.JSFuncs.getPlatform().match(RegExp(/ESP8266/))&&(e.definitions_["var_declare_ MQTT_connect();"]="void MQTT_connect();");var s="MQTT_connect",a="void "+s+'() {\n int8_t ret;\n if (mqtt.connected()) {\n return;\n }\n Serial.print("Connecting to MQTT... ");\n uint8_t retries = 3;\n while ((ret = mqtt.connect()) != 0) {\n Serial.println(mqtt.connectErrorString(ret));\n Serial.println("Retrying MQTT connection in 5 seconds...");\n mqtt.disconnect();\n delay(5000);\n retries--;\n if (retries == 0) {\n while (1);\n }\n }\n Serial.println("MQTT Connected!");\n}\n';return e.definitions_["var_declare_"+s]=a,s+"();\n"},DF=function(){return"MQTT_connect();\n"},PF=function(x,e){var f=this.getFieldValue("Topic"),t=e.valueToCode(this,"data",e.ORDER_ATOMIC),i="MQTT_Topic_"+f;return e.definitions_["var_declare_Adafruit_MQTT_Publish"+i]="Adafruit_MQTT_Publish "+i+' = Adafruit_MQTT_Publish(&mqtt, "'+RF+f+'");',i+".publish("+t+");\n "},LF=function(x,e){var f=this.getFieldValue("Topic_0");return f&&(f=f.replace(/"/g,"")),["(char *)"+("MQTT_Topic_"+f)+".lastread",e.ORDER_ATOMIC]},bF=function(x,e){var f=0;(s=this.getFieldValue("Topic_0"))&&(s=s.replace(/"/g,""));var t="MQTT_Topic_"+s,i=e.statementToCode(this,"DO"+f),n="if (subscription ==&"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }";for(e.definitions_["var_declare_Adafruit_MQTT_Subscribe"+RF+"/"+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+RF+s+'");',e.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",f=1;f<=this.elseifCount_;f++){var s;(s=this.getFieldValue("Topic_"+f))&&(s=s.replace(/"/g,"")),t="MQTT_Topic_"+s,i=e.statementToCode(this,"DO"+f),e.definitions_["var_declare_Adafruit_MQTT_Subscribe"+RF+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+RF+s+'");',e.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",n+=" else if (subscription == &"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }"}return this.elseCount_&&(n+=" else {\n "+(i=e.statementToCode(this,"ELSE"))+"\n }"),"Adafruit_MQTT_Subscribe *subscription;\nwhile ((subscription = mqtt.readSubscription(5000))) {\n "+n+"\n}\n"},yF=function(x,e){var f=e.valueToCode(this,"api",e.ORDER_ATOMIC),t=e.statementToCode(this,"success");t=t.replace(/(^\s*)|(\s*$)/g,"");var i=e.statementToCode(this,"failure");return i=i.replace(/(^\s*)|(\s*$)/g,""),e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_ESP8266HTTPClient="#include ","if (WiFi.status() == WL_CONNECTED) {\nHTTPClient http;\nhttp.begin("+f+");\nint httpCode = http.GET();\nif (httpCode > 0) {\nString Request_result = http.getString();\n"+t+"\n}\nelse {\n"+i+"\n} \nhttp.end();\n}\n"},vF=function(x,e){return"SmartConfig"==this.getFieldValue("MODE")?(e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_ESP8266WiFiMulti="#include ",e.definitions_.var_declare_ESP8266WiFiMulti=" ESP8266WiFiMulti wifiMulti;",e.setups_.setup_WiFi_Smartconfig='Serial.println("Wait for Smartconfig");\nwifiMulti.run();\nWiFi.setAutoConnect(true);\nif (WiFi.status() == WL_CONNECTED) {\nSerial.println("WiFi connected");\nSerial.println("IP address: ");\nSerial.println(WiFi.localIP());\n }\nelse{\n WiFi.mode(WIFI_STA);\n WiFi.beginSmartConfig();\n while(!WiFi.smartConfigDone()){\nSerial.print(".");\ndelay(500);\n}\nSerial.println("SmartConfig Success");\nSerial.printf("SSID:%s", WiFi.SSID().c_str());\nSerial.printf("PSW:%s", WiFi.psk().c_str());\nwifiMulti.addAP(WiFi.SSID().c_str(),WiFi.psk().c_str());\n}\n',""):(e.definitions_.include_WiFiManager="#include ",e.definitions_.var_declare_WiFiServer="WiFiServer server(80);",e.setups_.setup_WiFi_mode="WiFi.mode(WIFI_STA);",e.setups_.setup_WiFiManager="WiFiManager wm;",e.setups_.setup_bool_res="bool res;",e.setups_.setup_wifiManagerautoConnect="res=wm.autoConnect();","")},wF=function(x,e){var f=this.getFieldValue("mode"),t=e.valueToCode(this,"SSID",e.ORDER_ATOMIC),i=e.valueToCode(this,"PSK",e.ORDER_ATOMIC),n=e.valueToCode(this,"IP1",e.ORDER_ATOMIC),s=e.valueToCode(this,"IP2",e.ORDER_ATOMIC),a=e.valueToCode(this,"IP",e.ORDER_ATOMIC),l=e.valueToCode(this,"duankou",e.ORDER_ATOMIC);n=n.replace(new RegExp(/\./g),","),s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),null!=Tx.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?e.definitions_.include_ESP8266WiFi="#include ":e.definitions_.include_WiFi="#include ",e.setups_.setup_serial_Serial="Serial.begin(9600);","STA"==f?(e.definitions_.include_WiFiUdp="#include ",e.definitions_.define_STASSID="#define STASSID "+t,e.definitions_.define_STAPSK="#define STAPSK "+i,e.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",e.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",e.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",e.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",e.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",e.definitions_.var_declare_incomingPacket="char incomingPacket[537];",e.definitions_.var_declare_A="char A;",e.definitions_.var_declare_Udp="WiFiUDP Udp;",e.setups_.setup_wifi_sta='WiFi.mode(WIFI_STA);\n WiFi.begin(STASSID, STAPSK);\n while(WiFi.status() != WL_CONNECTED){\n Serial.print(".");\n delay(500);\n }\n delay(500);\n Serial.print("Connected! IP address: ");\n Serial.println(WiFi.localIP());\n Serial.printf("UDP server on port ", localPort);\n Udp.begin(localPort);'):(e.definitions_.include_WiFiUDP="#include ",e.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",e.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+i+";",e.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",e.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",e.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",e.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",e.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",e.definitions_.var_declare_incomingPacket="char incomingPacket[537];",e.definitions_.var_declare_A="char A;",e.definitions_.var_declare_Udp="WiFiUDP Udp;",e.setups_.setup_wifi_ap='WiFi.mode(WIFI_AP);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());');return""},VF=function(x,e){var f=e.valueToCode(this,"SSID1",e.ORDER_ATOMIC),t=e.valueToCode(this,"SSID2",e.ORDER_ATOMIC),i=e.valueToCode(this,"PSK1",e.ORDER_ATOMIC),n=e.valueToCode(this,"PSK2",e.ORDER_ATOMIC),s=e.valueToCode(this,"IP1",e.ORDER_ATOMIC),a=e.valueToCode(this,"IP2",e.ORDER_ATOMIC),l=e.valueToCode(this,"IP",e.ORDER_ATOMIC),c=e.valueToCode(this,"duankou",e.ORDER_ATOMIC);s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),l=l.replace(new RegExp(/\./g),","),e.definitions_.define_STASSID="#define STASSID "+f,e.definitions_.define_STAPSK="#define STAPSK "+i,null!=Tx.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?e.definitions_.include_ESP8266WiFi="#include ":e.definitions_.include_WiFi="#include ",e.definitions_.include_WiFiUDP="#include ",e.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",e.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+n+";",e.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+s+");",e.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+a+");",e.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+l+");",e.definitions_.var_declare_localPort="unsigned int localPort = "+c+";",e.definitions_.var_declare_remotePort="unsigned int remotePort = "+c+";",e.definitions_.var_declare_incomingPacket="char incomingPacket[537];",e.definitions_.var_declare_A="char A;",e.definitions_.var_declare_Udp="WiFiUDP Udp;",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_wifi_ap_and_sta='WiFi.mode(WIFI_AP_STA);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n WiFi.begin(STASSID, STAPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';return""},YF=function(x,e){var f=e.valueToCode(this,"input_data",e.ORDER_ATOMIC)||"COM",t=e.statementToCode(this,"do");return'int packetSize = Udp.parsePacket();\nif (packetSize) {\n Serial.printf("Received %d bytes from %s, port %d\\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());\n int len = Udp.read(incomingPacket, 536);\n if (len > 0) {\n incomingPacket[len] = 0;\n Serial.printf("UDP packet contents: %s\\n", incomingPacket);\n String '+f+" = incomingPacket;\n"+(""!=(t=t.replace(/(^\s*)|(\s*$)/g,""))?" "+t.replace(new RegExp(/\n/g),"\n ")+"\n":"")+" }\n}\n"},kF=function(x,e){return"Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());\nUdp.write("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+");\nUdp.endPacket();\n"};var XF={北京:"101010100",海淀:"101010200",朝阳:"101010300",顺义:"101010400",怀柔:"101010500",通州:"101010600",昌平:"101010700",延庆:"101010800",丰台:"101010900",石景山:"101011000",大兴:"101011100",房山:"101011200",密云:"101011300",门头沟:"101011400",平谷:"101011500",八达岭:"101011600",佛爷顶:"101011700",汤河口:"101011800",密云上甸子:"101011900",斋堂:"101012000",霞云岭:"101012100",上海:"101020100",闵行:"101020200",宝山:"101020300",川沙:"101020400",嘉定:"101020500",南汇:"101020600",金山:"101020700",青浦:"101020800",松江:"101020900",奉贤:"101021000",崇明:"101021100",陈家镇:"101021101",引水船:"101021102",徐家汇:"101021200",浦东:"101021300",天津:"101030100",武清:"101030200",宝坻:"101030300",东丽:"101030400",西青:"101030500",北辰:"101030600",宁河:"101030700",汉沽:"101030800",静海:"101030900",津南:"101031000",塘沽:"101031100",大港:"101031200",平台:"101031300",蓟县:"101031400",重庆:"101040100",永川:"101040200",合川:"101040300",南川:"101040400",江津:"101040500",万盛:"101040600",渝北:"101040700",北碚:"101040800",巴南:"101040900",长寿:"101041000",黔江:"101041100",万州天城:"101041200",万州龙宝:"101041300",涪陵:"101041400",开县:"101041500",城口:"101041600",云阳:"101041700",巫溪:"101041800",奉节:"101041900",巫山:"101042000",潼南:"101042100",垫江:"101042200",梁平:"101042300",忠县:"101042400",石柱:"101042500",大足:"101042600",荣昌:"101042700",铜梁:"101042800",璧山:"101042900",丰都:"101043000",武隆:"101043100",彭水:"101043200",綦江:"101043300",酉阳:"101043400",金佛山:"101043500",秀山:"101043600",沙坪坝:"101043700",哈尔滨:"101050101",双城:"101050102",呼兰:"101050103",阿城:"101050104",宾县:"101050105",依兰:"101050106",巴彦:"101050107",通河:"101050108",方正:"101050109",延寿:"101050110",尚志:"101050111",五常:"101050112",木兰:"101050113",齐齐哈尔:"101050201",讷河:"101050202",龙江:"101050203",甘南:"101050204",富裕:"101050205",依安:"101050206",拜泉:"101050207",克山:"101050208",克东:"101050209",泰来:"101050210",牡丹江:"101050301",海林:"101050302",穆棱:"101050303",林口:"101050304",绥芬河:"101050305",宁安:"101050306",东宁:"101050307",佳木斯:"101050401",汤原:"101050402",抚远:"101050403",桦川:"101050404",桦南:"101050405",同江:"101050406",富锦:"101050407",绥化:"101050501",肇东:"101050502",安达:"101050503",海伦:"101050504",明水:"101050505",望奎:"101050506",兰西:"101050507",青冈:"101050508",庆安:"101050509",绥棱:"101050510",黑河:"101050601",嫩江:"101050602",孙吴:"101050603",逊克:"101050604",五大连池:"101050605",北安:"101050606",大兴安岭:"101050701",塔河:"101050702",漠河:"101050703",呼玛:"101050704",呼中:"101050705",新林:"101050706",阿木尔:"101050707",加格达奇:"101050708",伊春:"101050801",乌伊岭:"101050802",五营:"101050803",铁力:"101050804",嘉荫:"101050805",大庆:"101050901",林甸:"101050902",肇州:"101050903",肇源:"101050904",杜蒙:"101050905",七台河:"101051002",勃利:"101051003",鸡西:"101051101",虎林:"101051102",密山:"101051103",鸡东:"101051104",鹤岗:"101051201",绥滨:"101051202",萝北:"101051203",双鸭山:"101051301",集贤:"101051302",宝清:"101051303",饶河:"101051304",长春:"101060101",农安:"101060102",德惠:"101060103",九台:"101060104",榆树:"101060105",双阳:"101060106",吉林:"101060201",舒兰:"101060202",永吉:"101060203",蛟河:"101060204",磐石:"101060205",桦甸:"101060206",烟筒山:"101060207",延吉:"101060301",敦化:"101060302",安图:"101060303",汪清:"101060304",和龙:"101060305",天池:"101060306",龙井:"101060307",珲春:"101060308",图们:"101060309",罗子沟:"101060311",延边:"101060312",四平:"101060401",双辽:"101060402",梨树:"101060403",公主岭:"101060404",伊通:"101060405",孤家子:"101060406",通化:"101060501",梅河口:"101060502",柳河:"101060503",辉南:"101060504",集安:"101060505",通化县:"101060506",白城:"101060601",洮南:"101060602",大安:"101060603",镇赉:"101060604",通榆:"101060605",辽源:"101060701",东丰:"101060702",松原:"101060801",乾安:"101060802",前郭:"101060803",长岭:"101060804",扶余:"101060805",白山:"101060901",靖宇:"101060902",临江:"101060903",东岗:"101060904",长白:"101060905",沈阳:"101070101",苏家屯:"101070102",辽中:"101070103",康平:"101070104",法库:"101070105",新民:"101070106",于洪:"101070107",新城子:"101070108",大连:"101070201",瓦房店:"101070202",金州:"101070203",普兰店:"101070204",旅顺:"101070205",长海:"101070206",庄河:"101070207",皮口:"101070208",海洋岛:"101070209",鞍山:"101070301",台安:"101070302",岫岩:"101070303",海城:"101070304",抚顺:"101070401",清原:"101070403",章党:"101070404",本溪:"101070501",本溪县:"101070502",草河口:"101070503",桓仁:"101070504",丹东:"101070601",凤城:"101070602",宽甸:"101070603",东港:"101070604",东沟:"101070605",锦州:"101070701",凌海:"101070702",北宁:"101070703",义县:"101070704",黑山:"101070705",北镇:"101070706",营口:"101070801",大石桥:"101070802",盖州:"101070803",阜新:"101070901",彰武:"101070902",辽阳:"101071001",辽阳县:"101071002",灯塔:"101071003",铁岭:"101071101",开原:"101071102",昌图:"101071103",西丰:"101071104",建平:"101071202",凌源:"101071203",喀左:"101071204",北票:"101071205",羊山:"101071206",建平县:"101071207",盘锦:"101071301",大洼:"101071302",盘山:"101071303",葫芦岛:"101071401",建昌:"101071402",绥中:"101071403",兴城:"101071404",呼和浩特:"101080101",土默特左旗:"101080102",托克托:"101080103",和林格尔:"101080104",清水河:"101080105",呼和浩特市郊区:"101080106",武川:"101080107",包头:"101080201",白云鄂博:"101080202",满都拉:"101080203",土默特右旗:"101080204",固阳:"101080205",达尔罕茂明安联合旗:"101080206",石拐:"101080207",乌海:"101080301",集宁:"101080401",卓资:"101080402",化德:"101080403",商都:"101080404",希拉穆仁:"101080405",兴和:"101080406",凉城:"101080407",察哈尔右翼前旗:"101080408",察哈尔右翼中旗:"101080409",察哈尔右翼后旗:"101080410",四子王旗:"101080411",丰镇:"101080412",通辽:"101080501",舍伯吐:"101080502",科尔沁左翼中旗:"101080503",科尔沁左翼后旗:"101080504",青龙山:"101080505",开鲁:"101080506",库伦旗:"101080507",奈曼旗:"101080508",扎鲁特旗:"101080509",高力板:"101080510",巴雅尔吐胡硕:"101080511",通辽钱家店:"101080512",赤峰:"101080601",赤峰郊区站:"101080602",阿鲁科尔沁旗:"101080603",浩尔吐:"101080604",巴林左旗:"101080605",巴林右旗:"101080606",林西:"101080607",克什克腾旗:"101080608",翁牛特旗:"101080609",岗子:"101080610",喀喇沁旗:"101080611",八里罕:"101080612",宁城:"101080613",敖汉旗:"101080614",宝过图:"101080615",鄂尔多斯:"101080701",达拉特旗:"101080703",准格尔旗:"101080704",鄂托克前旗:"101080705",河南:"101080706",伊克乌素:"101080707",鄂托克旗:"101080708",杭锦旗:"101080709",乌审旗:"101080710",伊金霍洛旗:"101080711",乌审召:"101080712",东胜:"101080713",临河:"101080801",五原:"101080802",磴口:"101080803",乌拉特前旗:"101080804",大佘太:"101080805",乌拉特中旗:"101080806",乌拉特后旗:"101080807",海力素:"101080808",那仁宝力格:"101080809",杭锦后旗:"101080810",巴盟农试站:"101080811",锡林浩特:"101080901",朝克乌拉:"101080902",二连浩特:"101080903",阿巴嘎旗:"101080904",伊和郭勒:"101080905",苏尼特左旗:"101080906",苏尼特右旗:"101080907",朱日和:"101080908",东乌珠穆沁旗:"101080909",西乌珠穆沁旗:"101080910",太仆寺旗:"101080911",镶黄旗:"101080912",正镶白旗:"101080913",正兰旗:"101080914",多伦:"101080915",博克图:"101080916",乌拉盖:"101080917",白日乌拉:"101080918",那日图:"101080919",呼伦贝尔:"101081000",海拉尔:"101081001",小二沟:"101081002",阿荣旗:"101081003",莫力达瓦旗:"101081004",鄂伦春旗:"101081005",鄂温克旗:"101081006",陈巴尔虎旗:"101081007",新巴尔虎左旗:"101081008",新巴尔虎右旗:"101081009",满洲里:"101081010",牙克石:"101081011",扎兰屯:"101081012",额尔古纳:"101081014",根河:"101081015",图里河:"101081016",乌兰浩特:"101081101",阿尔山:"101081102",科尔沁右翼中旗:"101081103",胡尔勒:"101081104",扎赉特旗:"101081105",索伦:"101081106",突泉:"101081107",霍林郭勒:"101081108",阿拉善左旗:"101081201",阿拉善右旗:"101081202",额济纳旗:"101081203",拐子湖:"101081204",吉兰太:"101081205",锡林高勒:"101081206",头道湖:"101081207",中泉子:"101081208",巴彦诺尔贡:"101081209",雅布赖:"101081210",乌斯太:"101081211",孪井滩:"101081212",石家庄:"101090101",井陉:"101090102",正定:"101090103",栾城:"101090104",行唐:"101090105",灵寿:"101090106",高邑:"101090107",深泽:"101090108",赞皇:"101090109",无极:"101090110",平山:"101090111",元氏:"101090112",赵县:"101090113",辛集:"101090114",藁城:"101090115",晋洲:"101090116",新乐:"101090117",保定:"101090201",满城:"101090202",阜平:"101090203",徐水:"101090204",唐县:"101090205",高阳:"101090206",容城:"101090207",紫荆关:"101090208",涞源:"101090209",望都:"101090210",安新:"101090211",易县:"101090212",涞水:"101090213",曲阳:"101090214",蠡县:"101090215",顺平:"101090216",雄县:"101090217",涿州:"101090218",定州:"101090219",安国:"101090220",高碑店:"101090221",张家口:"101090301",宣化:"101090302",张北:"101090303",康保:"101090304",沽源:"101090305",尚义:"101090306",蔚县:"101090307",阳原:"101090308",怀安:"101090309",万全:"101090310",怀来:"101090311",涿鹿:"101090312",赤城:"101090313",崇礼:"101090314",承德:"101090402",承德县:"101090403",兴隆:"101090404",平泉:"101090405",滦平:"101090406",隆化:"101090407",丰宁:"101090408",宽城:"101090409",围场:"101090410",塞罕坎:"101090411",唐山:"101090501",丰南:"101090502",丰润:"101090503",滦县:"101090504",滦南:"101090505",乐亭:"101090506",迁西:"101090507",玉田:"101090508",唐海:"101090509",遵化:"101090510",迁安:"101090511",廊坊:"101090601",固安:"101090602",永清:"101090603",香河:"101090604",大城:"101090605",文安:"101090606",大厂:"101090607",霸州:"101090608",三河:"101090609",沧州:"101090701",青县:"101090702",东光:"101090703",海兴:"101090704",盐山:"101090705",肃宁:"101090706",南皮:"101090707",吴桥:"101090708",献县:"101090709",孟村:"101090710",泊头:"101090711",任丘:"101090712",黄骅:"101090713",河间:"101090714",曹妃甸:"101090715",衡水:"101090801",枣强:"101090802",武邑:"101090803",武强:"101090804",饶阳:"101090805",安平:"101090806",故城:"101090807",景县:"101090808",阜城:"101090809",冀州:"101090810",深州:"101090811",邢台:"101090901",临城:"101090902",邢台县浆水:"101090903",内邱:"101090904",柏乡:"101090905",隆尧:"101090906",南和:"101090907",宁晋:"101090908",巨鹿:"101090909",新河:"101090910",广宗:"101090911",平乡:"101090912",威县:"101090913",清河:"101090914",临西:"101090915",南宫:"101090916",沙河:"101090917",任县:"101090918",邯郸:"101091001",峰峰:"101091002",临漳:"101091003",成安:"101091004",大名:"101091005",涉县:"101091006",磁县:"101091007",肥乡:"101091008",永年:"101091009",邱县:"101091010",鸡泽:"101091011",广平:"101091012",馆陶:"101091013",魏县:"101091014",曲周:"101091015",武安:"101091016",秦皇岛:"101091101",青龙:"101091102",昌黎:"101091103",抚宁:"101091104",卢龙:"101091105",北戴河:"101091106",太原:"101100101",清徐:"101100102",阳曲:"101100103",娄烦:"101100104",太原古交区:"101100105",太原北郊:"101100106",太原南郊:"101100107",大同:"101100201",阳高:"101100202",大同县:"101100203",天镇:"101100204",广灵:"101100205",灵邱:"101100206",浑源:"101100207",左云:"101100208",阳泉:"101100301",盂县:"101100302",平定:"101100303",晋中:"101100401",榆次:"101100402",榆社:"101100403",左权:"101100404",和顺:"101100405",昔阳:"101100406",寿阳:"101100407",太谷:"101100408",祁县:"101100409",平遥:"101100410",灵石:"101100411",介休:"101100412",长治:"101100501",黎城:"101100502",屯留:"101100503",潞城:"101100504",襄垣:"101100505",平顺:"101100506",武乡:"101100507",沁县:"101100508",长子:"101100509",沁源:"101100510",壶关:"101100511",晋城:"101100601",沁水:"101100602",阳城:"101100603",陵川:"101100604",高平:"101100605",临汾:"101100701",曲沃:"101100702",永和:"101100703",隰县:"101100704",大宁:"101100705",吉县:"101100706",襄汾:"101100707",蒲县:"101100708",汾西:"101100709",洪洞:"101100710",霍州:"101100711",乡宁:"101100712",翼城:"101100713",侯马:"101100714",浮山:"101100715",安泽:"101100716",古县:"101100717",运城:"101100801",临猗:"101100802",稷山:"101100803",万荣:"101100804",河津:"101100805",新绛:"101100806",绛县:"101100807",闻喜:"101100808",垣曲:"101100809",永济:"101100810",芮城:"101100811",夏县:"101100812",平陆:"101100813",朔州:"101100901",平鲁:"101100902",山阴:"101100903",右玉:"101100904",应县:"101100905",怀仁:"101100906",忻州:"101101001",定襄:"101101002",五台县豆村:"101101003",河曲:"101101004",偏关:"101101005",神池:"101101006",宁武:"101101007",代县:"101101008",繁峙:"101101009",五台山:"101101010",保德:"101101011",静乐:"101101012",岢岚:"101101013",五寨:"101101014",原平:"101101015",吕梁:"101101100",离石:"101101101",临县:"101101102",兴县:"101101103",岚县:"101101104",柳林:"101101105",石楼:"101101106",方山:"101101107",交口:"101101108",中阳:"101101109",孝义:"101101110",汾阳:"101101111",文水:"101101112",交城:"101101113",西安:"101110101",长安:"101110102",临潼:"101110103",蓝田:"101110104",周至:"101110105",户县:"101110106",高陵:"101110107",杨凌:"101110108",咸阳:"101110200",三原:"101110201",礼泉:"101110202",永寿:"101110203",淳化:"101110204",泾阳:"101110205",武功:"101110206",乾县:"101110207",彬县:"101110208",长武:"101110209",旬邑:"101110210",兴平:"101110211",延安:"101110300",延长:"101110301",延川:"101110302",子长:"101110303",宜川:"101110304",富县:"101110305",志丹:"101110306",安塞:"101110307",甘泉:"101110308",洛川:"101110309",黄陵:"101110310",黄龙:"101110311",吴起:"101110312",榆林:"101110401",府谷:"101110402",神木:"101110403",佳县:"101110404",定边:"101110405",靖边:"101110406",横山:"101110407",米脂:"101110408",子洲:"101110409",绥德:"101110410",吴堡:"101110411",清涧:"101110412",渭南:"101110501",华县:"101110502",潼关:"101110503",大荔:"101110504",白水:"101110505",富平:"101110506",蒲城:"101110507",澄城:"101110508",合阳:"101110509",韩城:"101110510",华阴:"101110511",华山:"101110512",商洛:"101110601",洛南:"101110602",柞水:"101110603",镇安:"101110605",丹凤:"101110606",商南:"101110607",山阳:"101110608",安康:"101110701",紫阳:"101110702",石泉:"101110703",汉阴:"101110704",旬阳:"101110705",岚皋:"101110706",平利:"101110707",白河:"101110708",镇坪:"101110709",宁陕:"101110710",汉中:"101110801",略阳:"101110802",勉县:"101110803",留坝:"101110804",洋县:"101110805",城固:"101110806",西乡:"101110807",佛坪:"101110808",宁强:"101110809",南郑:"101110810",镇巴:"101110811",宝鸡:"101110901",宝鸡县:"101110902",千阳:"101110903",麟游:"101110904",岐山:"101110905",凤翔:"101110906",扶风:"101110907",眉县:"101110908",太白:"101110909",凤县:"101110910",陇县:"101110911",铜川:"101111001",耀县:"101111002",宜君:"101111003",济南:"101120101",长清:"101120102",商河:"101120103",章丘:"101120104",平阴:"101120105",济阳:"101120106",青岛:"101120201",崂山:"101120202",潮连岛:"101120203",即墨:"101120204",胶州:"101120205",胶南:"101120206",莱西:"101120207",平度:"101120208",淄博:"101120301",淄川:"101120302",博山:"101120303",高青:"101120304",周村:"101120305",沂源:"101120306",桓台:"101120307",临淄:"101120308",德州:"101120401",武城:"101120402",临邑:"101120403",陵县:"101120404",齐河:"101120405",乐陵:"101120406",庆云:"101120407",平原:"101120408",宁津:"101120409",夏津:"101120410",禹城:"101120411",烟台:"101120501",莱州:"101120502",长岛:"101120503",蓬莱:"101120504",龙口:"101120505",招远:"101120506",栖霞:"101120507",福山:"101120508",牟平:"101120509",莱阳:"101120510",海阳:"101120511",千里岩:"101120512",潍坊:"101120601",青州:"101120602",寿光:"101120603",临朐:"101120604",昌乐:"101120605",昌邑:"101120606",安丘:"101120607",高密:"101120608",诸城:"101120609",济宁:"101120701",嘉祥:"101120702",微山:"101120703",鱼台:"101120704",兖州:"101120705",金乡:"101120706",汶上:"101120707",泗水:"101120708",梁山:"101120709",曲阜:"101120710",邹城:"101120711",泰安:"101120801",新泰:"101120802",泰山:"101120803",肥城:"101120804",东平:"101120805",宁阳:"101120806",临沂:"101120901",莒南:"101120902",沂南:"101120903",苍山:"101120904",临沭:"101120905",郯城:"101120906",蒙阴:"101120907",平邑:"101120908",费县:"101120909",沂水:"101120910",马站:"101120911",菏泽:"101121001",鄄城:"101121002",郓城:"101121003",东明:"101121004",定陶:"101121005",巨野:"101121006",曹县:"101121007",成武:"101121008",单县:"101121009",滨州:"101121101",博兴:"101121102",无棣:"101121103",阳信:"101121104",惠民:"101121105",沾化:"101121106",邹平:"101121107",东营:"101121201",河口:"101121202",垦利:"101121203",利津:"101121204",广饶:"101121205",威海:"101121301",文登:"101121302",荣成:"101121303",乳山:"101121304",成山头:"101121305",石岛:"101121306",枣庄:"101121401",薛城:"101121402",峄城:"101121403",台儿庄:"101121404",滕州:"101121405",日照:"101121501",五莲:"101121502",莒县:"101121503",莱芜:"101121601",聊城:"101121701",冠县:"101121702",阳谷:"101121703",高唐:"101121704",茌平:"101121705",东阿:"101121706",临清:"101121707",朝城:"101121708",莘县:"101121709",乌鲁木齐:"101130101",蔡家湖:"101130102",小渠子:"101130103",巴仑台:"101130104",达坂城:"101130105",十三间房气象站:"101130106",天山大西沟:"101130107",乌鲁木齐牧试站:"101130108",白杨沟:"101130110",克拉玛依:"101130201",石河子:"101130301",炮台:"101130302",莫索湾:"101130303",乌兰乌苏:"101130304",昌吉:"101130401",呼图壁:"101130402",米泉:"101130403",阜康:"101130404",吉木萨尔:"101130405",奇台:"101130406",玛纳斯:"101130407",木垒:"101130408",北塔山:"101130409",吐鲁番:"101130501",托克逊:"101130502",吐鲁番东坎:"101130503",鄯善:"101130504",红柳河:"101130505",库尔勒:"101130601",轮台:"101130602",尉犁:"101130603",若羌:"101130604",且末:"101130605",和静:"101130606",焉耆:"101130607",和硕:"101130608",库米什:"101130609",巴音布鲁克:"101130610",铁干里克:"101130611",博湖:"101130612",塔中:"101130613",阿拉尔:"101130701",阿克苏:"101130801",乌什:"101130802",温宿:"101130803",拜城:"101130804",新和:"101130805",沙雅:"101130806",库车:"101130807",柯坪:"101130808",阿瓦提:"101130809",喀什:"101130901",英吉沙:"101130902",塔什库尔干:"101130903",麦盖提:"101130904",莎车:"101130905",叶城:"101130906",泽普:"101130907",巴楚:"101130908",岳普湖:"101130909",伽师:"101130910",伊宁:"101131001",察布查尔:"101131002",尼勒克:"101131003",伊宁县:"101131004",巩留:"101131005",新源:"101131006",昭苏:"101131007",特克斯:"101131008",霍城:"101131009",霍尔果斯:"101131010",塔城:"101131101",裕民:"101131102",额敏:"101131103",和布克赛尔:"101131104",托里:"101131105",乌苏:"101131106",沙湾:"101131107",和丰:"101131108",哈密:"101131201",沁城:"101131202",巴里坤:"101131203",伊吾:"101131204",淖毛湖:"101131205",和田:"101131301",皮山:"101131302",策勒:"101131303",墨玉:"101131304",洛浦:"101131305",民丰:"101131306",于田:"101131307",阿勒泰:"101131401",哈巴河:"101131402",一八五团:"101131403",黑山头:"101131404",吉木乃:"101131405",布尔津:"101131406",福海:"101131407",富蕴:"101131408",青河:"101131409",安德河:"101131410",阿图什:"101131501",乌恰:"101131502",阿克陶:"101131503",阿合奇:"101131504",吐尔尕特:"101131505",博乐:"101131601",温泉:"101131602",精河:"101131603",阿拉山口:"101131606",拉萨:"101140101",当雄:"101140102",尼木:"101140103",墨竹贡卡:"101140104",日喀则:"101140201",拉孜:"101140202",南木林:"101140203",聂拉木:"101140204",定日:"101140205",江孜:"101140206",帕里:"101140207",山南:"101140301",贡嘎:"101140302",琼结:"101140303",加查:"101140304",浪卡子:"101140305",错那:"101140306",隆子:"101140307",泽当:"101140308",林芝:"101140401",波密:"101140402",米林:"101140403",察隅:"101140404",昌都:"101140501",丁青:"101140502",类乌齐:"101140503",洛隆:"101140504",左贡:"101140505",芒康:"101140506",八宿:"101140507",那曲:"101140601",嘉黎:"101140603",班戈:"101140604",安多:"101140605",索县:"101140606",比如:"101140607",阿里:"101140701",改则:"101140702",申扎:"101140703",狮泉河:"101140704",普兰:"101140705",西宁:"101150101",大通:"101150102",湟源:"101150103",湟中:"101150104",铁卜加:"101150105",铁卜加寺:"101150106",中心站:"101150107",海东:"101150201",乐都:"101150202",民和:"101150203",互助:"101150204",化隆:"101150205",循化:"101150206",冷湖:"101150207",平安:"101150208",黄南:"101150301",尖扎:"101150302",泽库:"101150303",海南:"101150401",江西沟:"101150402",贵德:"101150404",河卡:"101150405",兴海:"101150406",贵南:"101150407",同德:"101150408",共和:"101150409",果洛:"101150501",班玛:"101150502",甘德:"101150503",达日:"101150504",久治:"101150505",玛多:"101150506",玛沁:"101150508",玉树:"101150601",托托河:"101150602",治多:"101150603",杂多:"101150604",囊谦:"101150605",曲麻莱:"101150606",海西:"101150701",格尔木:"101150702",察尔汉:"101150703",野牛沟:"101150704",五道梁:"101150705",小灶火:"101150706",天峻:"101150708",乌兰:"101150709",都兰:"101150710",诺木洪:"101150711",茫崖:"101150712",大柴旦:"101150713",茶卡:"101150714",香日德:"101150715",德令哈:"101150716",海北:"101150801",门源:"101150802",祁连:"101150803",海晏:"101150804",托勒:"101150805",刚察:"101150806",兰州:"101160101",皋兰:"101160102",永登:"101160103",榆中:"101160104",定西:"101160201",通渭:"101160202",陇西:"101160203",渭源:"101160204",临洮:"101160205",漳县:"101160206",岷县:"101160207",安定:"101160208",平凉:"101160301",泾川:"101160302",灵台:"101160303",崇信:"101160304",华亭:"101160305",庄浪:"101160306",静宁:"101160307",崆峒:"101160308",庆阳:"101160401",西峰:"101160402",环县:"101160403",华池:"101160404",合水:"101160405",正宁:"101160406",宁县:"101160407",镇原:"101160408",庆城:"101160409",武威:"101160501",民勤:"101160502",古浪:"101160503",乌鞘岭:"101160504",天祝:"101160505",金昌:"101160601",永昌:"101160602",张掖:"101160701",肃南:"101160702",民乐:"101160703",临泽:"101160704",高台:"101160705",山丹:"101160706",酒泉:"101160801",鼎新:"101160802",金塔:"101160803",马鬃山:"101160804",瓜州:"101160805",肃北:"101160806",玉门镇:"101160807",敦煌:"101160808",天水:"101160901",北道区:"101160902",清水:"101160903",秦安:"101160904",甘谷:"101160905",武山:"101160906",张家川:"101160907",麦积:"101160908",武都:"101161001",成县:"101161002",文县:"101161003",宕昌:"101161004",康县:"101161005",西和:"101161006",礼县:"101161007",徽县:"101161008",两当:"101161009",临夏:"101161101",康乐:"101161102",永靖:"101161103",广河:"101161104",和政:"101161105",东乡:"101161106",合作:"101161201",临潭:"101161202",卓尼:"101161203",舟曲:"101161204",迭部:"101161205",玛曲:"101161206",碌曲:"101161207",夏河:"101161208",白银:"101161301",靖远:"101161302",会宁:"101161303",华家岭:"101161304",景泰:"101161305",银川:"101170101",永宁:"101170102",灵武:"101170103",贺兰:"101170104",石嘴山:"101170201",惠农:"101170202",平罗:"101170203",陶乐:"101170204",石炭井:"101170205",大武口:"101170206",吴忠:"101170301",同心:"101170302",盐池:"101170303",韦州:"101170304",麻黄山:"101170305",青铜峡:"101170306",固原:"101170401",西吉:"101170402",隆德:"101170403",泾源:"101170404",六盘山:"101170405",彭阳:"101170406",中卫:"101170501",中宁:"101170502",兴仁堡:"101170503",海原:"101170504",郑州:"101180101",巩义:"101180102",荥阳:"101180103",登封:"101180104",新密:"101180105",新郑:"101180106",中牟:"101180107",郑州农试站:"101180108",安阳:"101180201",汤阴:"101180202",滑县:"101180203",内黄:"101180204",林州:"101180205",新乡:"101180301",获嘉:"101180302",原阳:"101180303",辉县:"101180304",卫辉:"101180305",延津:"101180306",封丘:"101180307",长垣:"101180308",许昌:"101180401",鄢陵:"101180402",襄城:"101180403",长葛:"101180404",禹州:"101180405",平顶山:"101180501",郏县:"101180502",宝丰:"101180503",汝州:"101180504",叶县:"101180505",舞钢:"101180506",鲁山:"101180507",信阳:"101180601",息县:"101180602",罗山:"101180603",光山:"101180604",新县:"101180605",淮滨:"101180606",潢川:"101180607",固始:"101180608",商城:"101180609",鸡公山:"101180610",信阳地区农试站:"101180611",南阳:"101180701",南召:"101180702",方城:"101180703",社旗:"101180704",西峡:"101180705",内乡:"101180706",镇平:"101180707",淅川:"101180708",新野:"101180709",唐河:"101180710",邓州:"101180711",桐柏:"101180712",开封:"101180801",杞县:"101180802",尉氏:"101180803",通许:"101180804",兰考:"101180805",洛阳:"101180901",新安:"101180902",孟津:"101180903",宜阳:"101180904",洛宁:"101180905",伊川:"101180906",嵩县:"101180907",偃师:"101180908",栾川:"101180909",汝阳:"101180910",商丘:"101181001",睢阳区:"101181002",睢县:"101181003",民权:"101181004",虞城:"101181005",柘城:"101181006",宁陵:"101181007",夏邑:"101181008",永城:"101181009",焦作:"101181101",修武:"101181102",武陟:"101181103",沁阳:"101181104",博爱:"101181106",温县:"101181107",孟州:"101181108",鹤壁:"101181201",浚县:"101181202",淇县:"101181203",濮阳:"101181301",台前:"101181302",南乐:"101181303",清丰:"101181304",范县:"101181305",周口:"101181401",扶沟:"101181402",太康:"101181403",淮阳:"101181404",西华:"101181405",商水:"101181406",项城:"101181407",郸城:"101181408",鹿邑:"101181409",沈丘:"101181410",黄泛区:"101181411",漯河:"101181501",临颍:"101181502",舞阳:"101181503",驻马店:"101181601",西平:"101181602",遂平:"101181603",上蔡:"101181604",汝南:"101181605",泌阳:"101181606",平舆:"101181607",新蔡:"101181608",确山:"101181609",正阳:"101181610",三门峡:"101181701",灵宝:"101181702",渑池:"101181703",卢氏:"101181704",济源:"101181801",南京:"101190101",溧水:"101190102",高淳:"101190103",江宁:"101190104",六合:"101190105",江浦:"101190106",浦口:"101190107",无锡:"101190201",江阴:"101190202",宜兴:"101190203",镇江:"101190301",丹阳:"101190302",扬中:"101190303",句容:"101190304",丹徒:"101190305",苏州:"101190401",常熟:"101190402",张家港:"101190403",昆山:"101190404",吴县东山:"101190405",吴县:"101190406",吴江:"101190407",太仓:"101190408",南通:"101190501",海安:"101190502",如皋:"101190503",如东:"101190504",吕泗:"101190505",吕泗渔场:"101190506",启东:"101190507",海门:"101190508",扬州:"101190601",宝应:"101190602",仪征:"101190603",高邮:"101190604",江都:"101190605",邗江:"101190606",盐城:"101190701",响水:"101190702",滨海:"101190703",阜宁:"101190704",射阳:"101190705",建湖:"101190706",东台:"101190707",大丰:"101190708",盐都:"101190709",徐州:"101190801",徐州农试站:"101190802",丰县:"101190803",沛县:"101190804",邳州:"101190805",睢宁:"101190806",新沂:"101190807",淮安:"101190901",金湖:"101190902",盱眙:"101190903",洪泽:"101190904",涟水:"101190905",淮阴县:"101190906",淮阴:"101190907",楚州:"101190908",连云港:"101191001",东海:"101191002",赣榆:"101191003",灌云:"101191004",灌南:"101191005",西连岛:"101191006",燕尾港:"101191007",常州:"101191101",溧阳:"101191102",金坛:"101191103",泰州:"101191201",兴化:"101191202",泰兴:"101191203",姜堰:"101191204",靖江:"101191205",宿迁:"101191301",沭阳:"101191302",泗阳:"101191303",泗洪:"101191304",武汉:"101200101",蔡甸:"101200102",黄陂:"101200103",新洲:"101200104",江夏:"101200105",襄樊:"101200201",襄阳:"101200202",保康:"101200203",南漳:"101200204",宜城:"101200205",老河口:"101200206",谷城:"101200207",枣阳:"101200208",鄂州:"101200301",孝感:"101200401",安陆:"101200402",云梦:"101200403",大悟:"101200404",应城:"101200405",汉川:"101200406",黄冈:"101200501",红安:"101200502",麻城:"101200503",罗田:"101200504",英山:"101200505",浠水:"101200506",蕲春:"101200507",黄梅:"101200508",武穴:"101200509",黄石:"101200601",大冶:"101200602",阳新:"101200603",咸宁:"101200701",赤壁:"101200702",嘉鱼:"101200703",崇阳:"101200704",通城:"101200705",通山:"101200706",荆州:"101200801",江陵:"101200802",公安:"101200803",石首:"101200804",监利:"101200805",洪湖:"101200806",松滋:"101200807",宜昌:"101200901",远安:"101200902",秭归:"101200903",兴山:"101200904",宜昌县:"101200905",五峰:"101200906",当阳:"101200907",长阳:"101200908",宜都:"101200909",枝江:"101200910",三峡:"101200911",夷陵:"101200912",恩施:"101201001",利川:"101201002",建始:"101201003",咸丰:"101201004",宣恩:"101201005",鹤峰:"101201006",来凤:"101201007",巴东:"101201008",绿葱坡:"101201009",十堰:"101201101",竹溪:"101201102",郧西:"101201103",郧县:"101201104",竹山:"101201105",房县:"101201106",丹江口:"101201107",神农架:"101201201",随州:"101201301",广水:"101201302",荆门:"101201401",钟祥:"101201402",京山:"101201403",天门:"101201501",仙桃:"101201601",潜江:"101201701",杭州:"101210101",萧山:"101210102",桐庐:"101210103",淳安:"101210104",建德:"101210105",余杭:"101210106",临安:"101210107",富阳:"101210108",湖州:"101210201",长兴:"101210202",安吉:"101210203",德清:"101210204",嘉兴:"101210301",嘉善:"101210302",海宁:"101210303",桐乡:"101210304",平湖:"101210305",海盐:"101210306",宁波:"101210401",慈溪:"101210403",余姚:"101210404",奉化:"101210405",象山:"101210406",石浦:"101210407",宁海:"101210408",鄞县:"101210409",北仑:"101210410",鄞州:"101210411",镇海:"101210412",绍兴:"101210501",诸暨:"101210502",上虞:"101210503",新昌:"101210504",嵊州:"101210505",台州:"101210601",括苍山:"101210602",玉环:"101210603",三门:"101210604",天台:"101210605",仙居:"101210606",温岭:"101210607",大陈:"101210608",洪家:"101210609",温州:"101210701",泰顺:"101210702",文成:"101210703",平阳:"101210704",瑞安:"101210705",洞头:"101210706",乐清:"101210707",永嘉:"101210708",苍南:"101210709",丽水:"101210801",遂昌:"101210802",龙泉:"101210803",缙云:"101210804",青田:"101210805",云和:"101210806",庆元:"101210807",金华:"101210901",浦江:"101210902",兰溪:"101210903",义乌:"101210904",东阳:"101210905",武义:"101210906",永康:"101210907",磐安:"101210908",衢州:"101211001",常山:"101211002",开化:"101211003",龙游:"101211004",江山:"101211005",舟山:"101211101",嵊泗:"101211102",嵊山:"101211103",岱山:"101211104",普陀:"101211105",定海:"101211106",合肥:"101220101",长丰:"101220102",肥东:"101220103",肥西:"101220104",蚌埠:"101220201",怀远:"101220202",固镇:"101220203",五河:"101220204",芜湖:"101220301",繁昌:"101220302",芜湖县:"101220303",南陵:"101220304",淮南:"101220401",凤台:"101220402",马鞍山:"101220501",当涂:"101220502",安庆:"101220601",枞阳:"101220602",太湖:"101220603",潜山:"101220604",怀宁:"101220605",宿松:"101220606",望江:"101220607",岳西:"101220608",桐城:"101220609",宿州:"101220701",砀山:"101220702",灵璧:"101220703",泗县:"101220704",萧县:"101220705",阜阳:"101220801",阜南:"101220802",颍上:"101220803",临泉:"101220804",界首:"101220805",太和:"101220806",亳州:"101220901",涡阳:"101220902",利辛:"101220903",蒙城:"101220904",黄山站:"101221001",黄山区:"101221002",屯溪:"101221003",祁门:"101221004",黟县:"101221005",歙县:"101221006",休宁:"101221007",黄山市:"101221008",滁州:"101221101",凤阳:"101221102",明光:"101221103",定远:"101221104",全椒:"101221105",来安:"101221106",天长:"101221107",淮北:"101221201",濉溪:"101221202",铜陵:"101221301",宣城:"101221401",泾县:"101221402",旌德:"101221403",宁国:"101221404",绩溪:"101221405",广德:"101221406",郎溪:"101221407",六安:"101221501",霍邱:"101221502",寿县:"101221503",南溪:"101221504",金寨:"101221505",霍山:"101221506",舒城:"101221507",巢湖:"101221601",庐江:"101221602",无为:"101221603",含山:"101221604",和县:"101221605",池州:"101221701",东至:"101221702",青阳:"101221703",九华山:"101221704",石台:"101221705",福州:"101230101",闽清:"101230102",闽侯:"101230103",罗源:"101230104",连江:"101230105",马祖:"101230106",永泰:"101230107",平潭:"101230108",福州郊区:"101230109",长乐:"101230110",福清:"101230111",平潭海峡大桥:"101230112",厦门:"101230201",同安:"101230202",宁德:"101230301",古田:"101230302",霞浦:"101230303",寿宁:"101230304",周宁:"101230305",福安:"101230306",柘荣:"101230307",福鼎:"101230308",屏南:"101230309",莆田:"101230401",仙游:"101230402",秀屿港:"101230403",泉州:"101230501",安溪:"101230502",九仙山:"101230503",永春:"101230504",德化:"101230505",南安:"101230506",崇武:"101230507",晋江:"101230509",漳州:"101230601",长泰:"101230602",南靖:"101230603",平和:"101230604",龙海:"101230605",漳浦:"101230606",诏安:"101230607",东山:"101230608",云霄:"101230609",华安:"101230610",龙岩:"101230701",长汀:"101230702",连城:"101230703",武平:"101230704",上杭:"101230705",永定:"101230706",漳平:"101230707",三明:"101230801",宁化:"101230802",清流:"101230803",泰宁:"101230804",将乐:"101230805",建宁:"101230806",明溪:"101230807",沙县:"101230808",尤溪:"101230809",永安:"101230810",大田:"101230811",南平:"101230901",顺昌:"101230902",光泽:"101230903",邵武:"101230904",武夷山:"101230905",浦城:"101230906",建阳:"101230907",松溪:"101230908",政和:"101230909",建瓯:"101230910",南昌:"101240101",新建:"101240102",南昌县:"101240103",安义:"101240104",进贤:"101240105",莲塘:"101240106",九江:"101240201",瑞昌:"101240202",庐山:"101240203",武宁:"101240204",德安:"101240205",永修:"101240206",湖口:"101240207",彭泽:"101240208",星子:"101240209",都昌:"101240210",棠荫:"101240211",修水:"101240212",上饶:"101240301",鄱阳:"101240302",婺源:"101240303",康山:"101240304",余干:"101240305",万年:"101240306",德兴:"101240307",上饶县:"101240308",弋阳:"101240309",横峰:"101240310",铅山:"101240311",玉山:"101240312",广丰:"101240313",波阳:"101240314",抚州:"101240401",广昌:"101240402",乐安:"101240403",崇仁:"101240404",金溪:"101240405",资溪:"101240406",宜黄:"101240407",南城:"101240408",南丰:"101240409",黎川:"101240410",宜春:"101240501",铜鼓:"101240502",宜丰:"101240503",万载:"101240504",上高:"101240505",靖安:"101240506",奉新:"101240507",高安:"101240508",樟树:"101240509",丰城:"101240510",吉安:"101240601",吉安县:"101240602",吉水:"101240603",新干:"101240604",峡江:"101240605",永丰:"101240606",永新:"101240607",井冈山:"101240608",万安:"101240609",遂川:"101240610",泰和:"101240611",安福:"101240612",宁冈:"101240613",赣州:"101240701",崇义:"101240702",上犹:"101240703",南康:"101240704",大余:"101240705",信丰:"101240706",宁都:"101240707",石城:"101240708",瑞金:"101240709",于都:"101240710",会昌:"101240711",安远:"101240712",全南:"101240713",龙南:"101240714",定南:"101240715",寻乌:"101240716",兴国:"101240717",景德镇:"101240801",乐平:"101240802",萍乡:"101240901",莲花:"101240902",新余:"101241001",分宜:"101241002",鹰潭:"101241101",余江:"101241102",贵溪:"101241103",长沙:"101250101",宁乡:"101250102",浏阳:"101250103",马坡岭:"101250104",湘潭:"101250201",韶山:"101250202",湘乡:"101250203",株洲:"101250301",攸县:"101250302",醴陵:"101250303",株洲县:"101250304",茶陵:"101250305",炎陵:"101250306",衡阳:"101250401",衡山:"101250402",衡东:"101250403",祁东:"101250404",衡阳县:"101250405",常宁:"101250406",衡南:"101250407",耒阳:"101250408",南岳:"101250409",郴州:"101250501",桂阳:"101250502",嘉禾:"101250503",宜章:"101250504",临武:"101250505",桥口:"101250506",资兴:"101250507",汝城:"101250508",安仁:"101250509",永兴:"101250510",桂东:"101250511",常德:"101250601",安乡:"101250602",桃源:"101250603",汉寿:"101250604",澧县:"101250605",临澧:"101250606",石门:"101250607",益阳:"101250700",赫山区:"101250701",南县:"101250702",桃江:"101250703",安化:"101250704",沅江:"101250705",娄底:"101250801",双峰:"101250802",冷水江:"101250803",冷水滩:"101250804",新化:"101250805",涟源:"101250806",邵阳:"101250901",隆回:"101250902",洞口:"101250903",新邵:"101250904",邵东:"101250905",绥宁:"101250906",新宁:"101250907",武冈:"101250908",城步:"101250909",邵阳县:"101250910",岳阳:"101251001",华容:"101251002",湘阴:"101251003",汨罗:"101251004",平江:"101251005",临湘:"101251006",张家界:"101251101",桑植:"101251102",慈利:"101251103",怀化:"101251201",鹤城区:"101251202",沅陵:"101251203",辰溪:"101251204",靖州:"101251205",会同:"101251206",通道:"101251207",麻阳:"101251208",新晃:"101251209",芷江:"101251210",溆浦:"101251211",黔阳:"101251301",洪江:"101251302",永州:"101251401",祁阳:"101251402",东安:"101251403",双牌:"101251404",道县:"101251405",宁远:"101251406",江永:"101251407",蓝山:"101251408",新田:"101251409",江华:"101251410",吉首:"101251501",保靖:"101251502",永顺:"101251503",古丈:"101251504",凤凰:"101251505",泸溪:"101251506",龙山:"101251507",花垣:"101251508",贵阳:"101260101",白云:"101260102",花溪:"101260103",乌当:"101260104",息烽:"101260105",开阳:"101260106",修文:"101260107",清镇:"101260108",遵义:"101260201",遵义县:"101260202",仁怀:"101260203",绥阳:"101260204",湄潭:"101260205",凤冈:"101260206",桐梓:"101260207",赤水:"101260208",习水:"101260209",道真:"101260210",正安:"101260211",务川:"101260212",余庆:"101260213",汇川:"101260214",安顺:"101260301",普定:"101260302",镇宁:"101260303",平坝:"101260304",紫云:"101260305",关岭:"101260306",都匀:"101260401",贵定:"101260402",瓮安:"101260403",长顺:"101260404",福泉:"101260405",惠水:"101260406",龙里:"101260407",罗甸:"101260408",平塘:"101260409",独山:"101260410",三都:"101260411",荔波:"101260412",凯里:"101260501",岑巩:"101260502",施秉:"101260503",镇远:"101260504",黄平:"101260505",黄平旧洲:"101260506",麻江:"101260507",丹寨:"101260508",三穗:"101260509",台江:"101260510",剑河:"101260511",雷山:"101260512",黎平:"101260513",天柱:"101260514",锦屏:"101260515",榕江:"101260516",从江:"101260517",炉山:"101260518",铜仁:"101260601",江口:"101260602",玉屏:"101260603",万山:"101260604",思南:"101260605",塘头:"101260606",印江:"101260607",石阡:"101260608",沿河:"101260609",德江:"101260610",松桃:"101260611",毕节:"101260701",赫章:"101260702",金沙:"101260703",威宁:"101260704",大方:"101260705",纳雍:"101260706",织金:"101260707",六盘水:"101260801",六枝:"101260802",水城:"101260803",盘县:"101260804",黔西:"101260901",晴隆:"101260902",兴仁:"101260903",贞丰:"101260904",望谟:"101260905",兴义:"101260906",安龙:"101260907",册亨:"101260908",普安:"101260909",成都:"101270101",龙泉驿:"101270102",新都:"101270103",温江:"101270104",金堂:"101270105",双流:"101270106",郫县:"101270107",大邑:"101270108",蒲江:"101270109",新津:"101270110",都江堰:"101270111",彭州:"101270112",邛崃:"101270113",崇州:"101270114",崇庆:"101270115",彭县:"101270116",攀枝花:"101270201",仁和:"101270202",米易:"101270203",盐边:"101270204",自贡:"101270301",富顺:"101270302",荣县:"101270303",绵阳:"101270401",三台:"101270402",盐亭:"101270403",安县:"101270404",梓潼:"101270405",北川:"101270406",平武:"101270407",江油:"101270408",南充:"101270501",南部:"101270502",营山:"101270503",蓬安:"101270504",仪陇:"101270505",西充:"101270506",阆中:"101270507",达州:"101270601",宣汉:"101270602",开江:"101270603",大竹:"101270604",渠县:"101270605",万源:"101270606",达川:"101270607",遂宁:"101270701",蓬溪:"101270702",射洪:"101270703",广安:"101270801",岳池:"101270802",武胜:"101270803",邻水:"101270804",华蓥山:"101270805",巴中:"101270901",通江:"101270902",南江:"101270903",平昌:"101270904",泸州:"101271001",泸县:"101271003",合江:"101271004",叙永:"101271005",古蔺:"101271006",纳溪:"101271007",宜宾:"101271101",宜宾农试站:"101271102",宜宾县:"101271103",江安:"101271105",长宁:"101271106",高县:"101271107",珙县:"101271108",筠连:"101271109",兴文:"101271110",屏山:"101271111",内江:"101271201",东兴:"101271202",威远:"101271203",资中:"101271204",隆昌:"101271205",资阳:"101271301",安岳:"101271302",乐至:"101271303",简阳:"101271304",乐山:"101271401",犍为:"101271402",井研:"101271403",夹江:"101271404",沐川:"101271405",峨边:"101271406",马边:"101271407",峨眉:"101271408",峨眉山:"101271409",眉山:"101271501",仁寿:"101271502",彭山:"101271503",洪雅:"101271504",丹棱:"101271505",青神:"101271506",凉山:"101271601",木里:"101271603",盐源:"101271604",德昌:"101271605",会理:"101271606",会东:"101271607",宁南:"101271608",普格:"101271609",西昌:"101271610",金阳:"101271611",昭觉:"101271612",喜德:"101271613",冕宁:"101271614",越西:"101271615",甘洛:"101271616",雷波:"101271617",美姑:"101271618",布拖:"101271619",雅安:"101271701",名山:"101271702",荣经:"101271703",汉源:"101271704",石棉:"101271705",天全:"101271706",芦山:"101271707",宝兴:"101271708",甘孜:"101271801",康定:"101271802",泸定:"101271803",丹巴:"101271804",九龙:"101271805",雅江:"101271806",道孚:"101271807",炉霍:"101271808",新龙:"101271809",德格:"101271810",白玉:"101271811",石渠:"101271812",色达:"101271813",理塘:"101271814",巴塘:"101271815",乡城:"101271816",稻城:"101271817",得荣:"101271818",阿坝:"101271901",汶川:"101271902",理县:"101271903",茂县:"101271904",松潘:"101271905",九寨沟:"101271906",金川:"101271907",小金:"101271908",黑水:"101271909",马尔康:"101271910",壤塘:"101271911",若尔盖:"101271912",红原:"101271913",南坪:"101271914",德阳:"101272001",中江:"101272002",广汉:"101272003",什邡:"101272004",绵竹:"101272005",罗江:"101272006",广元:"101272101",旺苍:"101272102",青川:"101272103",剑阁:"101272104",苍溪:"101272105",广州:"101280101",番禺:"101280102",从化:"101280103",增城:"101280104",花都:"101280105",天河:"101280106",韶关:"101280201",乳源:"101280202",始兴:"101280203",翁源:"101280204",乐昌:"101280205",仁化:"101280206",南雄:"101280207",新丰:"101280208",曲江:"101280209",惠州:"101280301",博罗:"101280302",惠阳:"101280303",惠东:"101280304",龙门:"101280305",梅州:"101280401",兴宁:"101280402",蕉岭:"101280403",大埔:"101280404",丰顺:"101280406",平远:"101280407",五华:"101280408",梅县:"101280409",汕头:"101280501",潮阳:"101280502",澄海:"101280503",南澳:"101280504",云澳:"101280505",南澎岛:"101280506",深圳:"101280601",珠海:"101280701",斗门:"101280702",黄茅洲:"101280703",佛山:"101280800",顺德:"101280801",三水:"101280802",南海:"101280803",肇庆:"101280901",广宁:"101280902",四会:"101280903",德庆:"101280905",怀集:"101280906",封开:"101280907",高要:"101280908",湛江:"101281001",吴川:"101281002",雷州:"101281003",徐闻:"101281004",廉江:"101281005",硇洲:"101281006",遂溪:"101281007",江门:"101281101",开平:"101281103",新会:"101281104",恩平:"101281105",台山:"101281106",上川岛:"101281107",鹤山:"101281108",河源:"101281201",紫金:"101281202",连平:"101281203",和平:"101281204",龙川:"101281205",清远:"101281301",连南:"101281302",连州:"101281303",连山:"101281304",阳山:"101281305",佛冈:"101281306",英德:"101281307",云浮:"101281401",罗定:"101281402",新兴:"101281403",郁南:"101281404",潮州:"101281501",饶平:"101281502",东莞:"101281601",中山:"101281701",阳江:"101281801",阳春:"101281802",揭阳:"101281901",揭西:"101281902",普宁:"101281903",惠来:"101281904",茂名:"101282001",高州:"101282002",化州:"101282003",电白:"101282004",信宜:"101282005",汕尾:"101282101",海丰:"101282102",陆丰:"101282103",遮浪:"101282104",东沙岛:"101282105",昆明:"101290101",昆明农试站:"101290102",东川:"101290103",寻甸:"101290104",晋宁:"101290105",宜良:"101290106",石林:"101290107",呈贡:"101290108",富民:"101290109",嵩明:"101290110",禄劝:"101290111",安宁:"101290112",太华山:"101290113",大理:"101290201",云龙:"101290202",漾鼻:"101290203",永平:"101290204",宾川:"101290205",弥渡:"101290206",祥云:"101290207",魏山:"101290208",剑川:"101290209",洱源:"101290210",鹤庆:"101290211",南涧:"101290212",红河:"101290301",石屏:"101290302",建水:"101290303",弥勒:"101290304",元阳:"101290305",绿春:"101290306",开远:"101290307",个旧:"101290308",蒙自:"101290309",屏边:"101290310",泸西:"101290311",金平:"101290312",曲靖:"101290401",沾益:"101290402",陆良:"101290403",富源:"101290404",马龙:"101290405",师宗:"101290406",罗平:"101290407",会泽:"101290408",宣威:"101290409",保山:"101290501",富宁:"101290502",龙陵:"101290503",施甸:"101290504",昌宁:"101290505",腾冲:"101290506",文山:"101290601",西畴:"101290602",马关:"101290603",麻栗坡:"101290604",砚山:"101290605",邱北:"101290606",广南:"101290607",玉溪:"101290701",澄江:"101290702",江川:"101290703",通海:"101290704",华宁:"101290705",新平:"101290706",易门:"101290707",峨山:"101290708",元江:"101290709",楚雄:"101290801",大姚:"101290802",元谋:"101290803",姚安:"101290804",牟定:"101290805",南华:"101290806",武定:"101290807",禄丰:"101290808",双柏:"101290809",永仁:"101290810",普洱:"101290901",景谷:"101290902",景东:"101290903",澜沧:"101290904",墨江:"101290906",江城:"101290907",孟连:"101290908",西盟:"101290909",镇源:"101290910",镇沅:"101290911",宁洱:"101290912",昭通:"101291001",鲁甸:"101291002",彝良:"101291003",镇雄:"101291004",威信:"101291005",巧家:"101291006",绥江:"101291007",永善:"101291008",盐津:"101291009",大关:"101291010",临沧:"101291101",沧源:"101291102",耿马:"101291103",双江:"101291104",凤庆:"101291105",永德:"101291106",云县:"101291107",镇康:"101291108",怒江:"101291201",福贡:"101291203",兰坪:"101291204",泸水:"101291205",六库:"101291206",贡山:"101291207",香格里拉:"101291301",德钦:"101291302",维西:"101291303",中甸:"101291304",丽江:"101291401",永胜:"101291402",华坪:"101291403",宁蒗:"101291404",德宏:"101291501",潞江坝:"101291502",陇川:"101291503",盈江:"101291504",畹町镇:"101291505",瑞丽:"101291506",梁河:"101291507",潞西:"101291508",景洪:"101291601",大勐龙:"101291602",勐海:"101291603",景洪电站:"101291604",勐腊:"101291605",南宁:"101300101",南宁城区:"101300102",邕宁:"101300103",横县:"101300104",隆安:"101300105",马山:"101300106",上林:"101300107",武鸣:"101300108",宾阳:"101300109",硕龙:"101300110",崇左:"101300201",天等:"101300202",龙州:"101300203",凭祥:"101300204",大新:"101300205",扶绥:"101300206",宁明:"101300207",海渊:"101300208",柳州:"101300301",柳城:"101300302",沙塘:"101300303",鹿寨:"101300304",柳江:"101300305",融安:"101300306",融水:"101300307",三江:"101300308",来宾:"101300401",忻城:"101300402",金秀:"101300403",象州:"101300404",武宣:"101300405",桂林:"101300501",桂林农试站:"101300502",龙胜:"101300503",永福:"101300504",临桂:"101300505",兴安:"101300506",灵川:"101300507",全州:"101300508",灌阳:"101300509",阳朔:"101300510",恭城:"101300511",平乐:"101300512",荔浦:"101300513",资源:"101300514",梧州:"101300601",藤县:"101300602",太平:"101300603",苍梧:"101300604",蒙山:"101300605",岑溪:"101300606",贺州:"101300701",昭平:"101300702",富川:"101300703",钟山:"101300704",信都:"101300705",贵港:"101300801",桂平:"101300802",平南:"101300803",玉林:"101300901",博白:"101300902",北流:"101300903",容县:"101300904",陆川:"101300905",百色:"101301001",那坡:"101301002",田阳:"101301003",德保:"101301004",靖西:"101301005",田东:"101301006",平果:"101301007",隆林:"101301008",西林:"101301009",乐业:"101301010",凌云:"101301011",田林:"101301012",钦州:"101301101",浦北:"101301102",灵山:"101301103",河池:"101301201",天峨:"101301202",东兰:"101301203",巴马:"101301204",环江:"101301205",罗城:"101301206",宜州:"101301207",凤山:"101301208",南丹:"101301209",都安:"101301210",北海:"101301301",合浦:"101301302",涠洲岛:"101301303",防城港:"101301401",上思:"101301402",板栏:"101301404",防城:"101301405",海口:"101310101",琼山:"101310102",三亚:"101310201",东方:"101310202",临高:"101310203",澄迈:"101310204",儋州:"101310205",昌江:"101310206",白沙:"101310207",琼中:"101310208",定安:"101310209",屯昌:"101310210",琼海:"101310211",文昌:"101310212",清兰:"101310213",保亭:"101310214",万宁:"101310215",陵水:"101310216",西沙:"101310217",珊瑚岛:"101310218",永署礁:"101310219",南沙岛:"101310220",乐东:"101310221",五指山:"101310222",通什:"101310223",香港:"101320101",新界:"101320103",中环:"101320104",铜锣湾:"101320105",澳门:"101330101",台北县:"101340101",台北市:"101340102",高雄:"101340201",大武:"101340203",恒春:"101340204",兰屿:"101340205",台南:"101340301",台中:"101340401",桃园:"101340501",新竹县:"101340601",新竹市:"101340602",公馆:"101340603",宜兰:"101340701",马公:"101340801",东吉屿:"101340802",嘉义:"101340901",阿里山:"101340902",新港:"101340904"};const GF=function(x,e){var f=this.getFieldValue("data"),t=XF[f];return e.definitions_.include_Weather_Forcast="#include ",e.definitions_.var_declare_Weather_Forcast="Weather_Forcast Weather;",t?this.setFieldValue("ok","check"):(t="error",this.setFieldValue("error","check")),['Weather.RefreshData("'+t+'")',e.ORDER_ATOMIC]},BF=function(x,e){return["Weather.getToday("+this.getFieldValue("type")+")",e.ORDER_ATOMIC]},UF=function(x,e){return["Weather.get"+this.getFieldValue("type")+"("+e.valueToCode(this,"date",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},HF=function(x,e){var f=e.valueToCode(this,"server",e.ORDER_ATOMIC),t=e.valueToCode(this,"port",e.ORDER_ATOMIC),i=e.valueToCode(this,"mqtt_username",e.ORDER_ATOMIC),n=e.valueToCode(this,"mqtt_password",e.ORDER_ATOMIC),s=e.valueToCode(this,"project",e.ORDER_ATOMIC);t=t.replace(/"/g,""),e.definitions_.include_PubSubClient="#include \n",e.definitions_.var_declare_PubSubClient="const char *mqtt_broker = "+f+";\nconst char *mqtt_username = "+i+";\nconst char *mqtt_password = "+n+";\nconst int mqtt_port = "+t+';\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = '+s+';\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',e.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},WF=function(x,e){var f=this.getFieldValue("key"),t=this.getFieldValue("server");e.definitions_.include_PubSubClient="#include \n",e.definitions_.var_declare_PubSubClient='const char *mqtt_broker = "'+t+'";\nconst char *mqtt_username = "MixIO_public";\nconst char *mqtt_password = "MixIO_public";\nconst int mqtt_port = 1883;\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = "'+f+'";\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',e.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},jF=function(x,e){var f=e.valueToCode(this,"data",e.ORDER_ATOMIC),t=e.valueToCode(this,"topic",e.ORDER_ATOMIC),i=this.getFieldValue("mode");if(1==i)var n='client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str(),String("+f+").c_str());\n";if(2==i)n='client.publish(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str(),String("+f+").c_str());\n";return n},KF=function(x,e){var f=this.getFieldValue("mode"),t=e.valueToCode(this,"topic",e.ORDER_ATOMIC),i=e.statementToCode(this,"function");if(i=i.replace(/(^\s*)|(\s*$)/g,""),1==f){e.setups_["setups_topic_"+t]='client.subscribe(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str());";var n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")))) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}if(2==f){e.setups_["setups_topic_"+t]='client.subscribe(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str());";n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str())) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}return n},qF=function(x,e){Tx.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?e.definitions_.include_ESPAsyncTCP="#include ":e.definitions_.include_AsyncTCP="#include ",e.definitions_.include_ESPAsyncWebServer="#include ",e.definitions_.include_AsyncElegantOTA="#include \n",e.definitions_.var_AsyncWebServer="AsyncWebServer server(80);\n",e.setups_.setups_AsyncWebServer="AsyncElegantOTA.begin(&server);\nserver.begin();\n";return""},zF=function(x,e){var f=this.getFieldValue("INCLUDE");return e.definitions_["include_"+f]="#include <"+f+".h>",""},ZF=function(x,e){for(var f=this.getFieldValue("NAME"),t=new Array(this.itemCount_),i=0;i-1&&delete e.setups_["setup_input_"+f],t="digitalRead("+f+")";return[t,e.ORDER_ATOMIC]},rI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);const{pwm:i}=Tx.Profile.default;if("object"==typeof i)for(let x of i)if(f===x[1]){e.setups_["setup_output"+f]="pinMode("+f+", OUTPUT);";break}return"analogWrite("+f+", "+t+");\n"},_I=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);const{analog:t}=Tx.Profile.default;if("object"==typeof t)for(let x of t)if(f===x[1])break;return["analogRead("+f+")",e.ORDER_ATOMIC]},hI=function(x,e){var f=this.getFieldValue("STAT");return e.setups_.setup_output_13="pinMode(13, OUTPUT);","digitalWrite(13, "+f+");\n"},FI=function(x,e){e.definitions_.include_OneButton="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode"),i=e.valueToCode(this,"STAT",e.ORDER_ATOMIC);e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+","+("HIGH"==i?"false":"true")+");",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var n="button"+f+".tick();",s=t+f,a="void "+s+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[s]=a,n},II=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.setups_["setup_input_"+f]="pinMode("+f+", INPUT_PULLUP);";var i="attachInterrupt("+("digitalPinToInterrupt("+f+")")+",attachInterrupt_fun_"+t+"_"+f+","+t+");\n",n="attachInterrupt_fun_"+t+"_"+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},AI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);","detachInterrupt("+("digitalPinToInterrupt("+f+")")+");\n"},EI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.definitions_.include_PinChangeInterrupt="#include ",e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);";var i="attachPCINT(digitalPinToPCINT("+f+"),attachPinInterrupt_fun_"+t+"_"+f+","+t+");\n",n="attachPinInterrupt_fun_"+t+"_"+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},TI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);","detachPCINT(digitalPinToPCINT("+f+"));\n"},gI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("STAT");return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);",["pulseIn("+f+", "+t+")",e.ORDER_ATOMIC]},mI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("STAT"),i=e.valueToCode(this,"TIMEOUT",e.ORDER_ATOMIC)||"0";return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);",["pulseIn("+f+", "+t+", "+i+")",e.ORDER_ATOMIC]},MI=function(x,e){var f=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),i=this.getFieldValue("ORDER"),n=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+t]="pinMode("+t+", OUTPUT);","shiftOut("+f+", "+t+", "+i+", "+n+");\n"},CI=function(x,e){e.definitions_.include_ESP32touchButton="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="ESP32touchButton button"+f+"("+f+",true);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},OI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);return e.definitions_.include_SoftPWM="#include ",e.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMSet("+f+", "+t+");\n"},SI=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.definitions_.include_SoftPWM="#include ",e.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMEnd("+f+");\n"},RI=function(x,e){var f=this.getFieldValue("ADS1015_setGain");e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_ADS1015="#include ",e.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",e.setups_["setup_ads.begin()"]="ads.begin(); \n",e.setups_["setup_ads.setGain"]="ads.setGain("+f+");";return""},NI=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_ADS1015="#include ",e.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",e.setups_["setup_ads.begin()"]="ads.begin();",[this.getFieldValue("ADS1015_AIN"),e.ORDER_ATOMIC]},DI=function(x,e){return e.definitions_.include_PCF8591_h="#include ",e.definitions_.var_declare_PCF8591="PCF8591 pcf8591(0x48);",e.setups_["setup_pcf8591.begin()"]="pcf8591.begin(); \n",[this.getFieldValue("PCF8591T_AIN"),e.ORDER_ATOMIC]},PI=function(x,e){for(var f=this.getFieldValue("TYPE"),t=e.variableDB_.getName(this.getFieldValue("VAR"),Ex.Variables.NAME_TYPE),i=window.parseFloat(this.getFieldValue("SIZE")),n=new Array(this.itemCount_),s=0;s= (1); i = i + (-1)) {\n "+i+"[(int)((i + 1) - 1)] = "+i+"[(int)(i - 1)];\n }\n "+i+"[(int)(0)] = item;\n}\n";n="array_right_loop();\n"}return n},qI=function(x,e){var f=this.getFieldValue("list_name");return["col"==this.getFieldValue("type")?"(sizeof("+f+"[0]) / sizeof("+f+"[0][0]))":"(sizeof("+f+") / sizeof("+f+"[0]))",e.ORDER_ATOMIC]},zI=function(x,e){var f=this.getFieldValue("OP"),t=zI.OPERATORS[f],i="=="==t||"!="==t?e.ORDER_EQUALITY:e.ORDER_RELATIONAL;return[(e.valueToCode(this,"A",i)||"0")+" "+t+" "+(e.valueToCode(this,"B",i)||"0"),i]};zI.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const ZI=function(x,e){var f="AND"==this.getFieldValue("OP")?"&&":"||",t="&&"==f?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR;return[(e.valueToCode(this,"A",t)||"false")+" "+f+" "+(e.valueToCode(this,"B",t)||"false"),t]},JI=function(x,e){var f=e.ORDER_UNARY_PREFIX;return["!"+(e.valueToCode(this,"BOOL",f)||"false"),f]},QI=function(x,e){return["TRUE"==this.getFieldValue("BOOL")?"true":"false",e.ORDER_ATOMIC]},$I=function(x,e){return["NULL",e.ORDER_ATOMIC]},xA=function(x,e){return["("+(e.valueToCode(this,"A",e.ORDER_ATOMIC)||"false")+"?"+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"false")+":"+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"false")+")",e.ORDER_ATOMIC]},eA=function(x,e){var f=this.getFieldValue("NUM");return[f,f<0?e.ORDER_UNARY_PREFIX:e.ORDER_ATOMIC]},fA=function(x,e){var f={ADD:[" + ",e.ORDER_ADDITIVE],MINUS:[" - ",e.ORDER_ADDITIVE],MULTIPLY:[" * ",e.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.ORDER_MULTIPLICATIVE],QUYU:[" % ",e.ORDER_MULTIPLICATIVE],POWER:[null,e.ORDER_NONE]}[this.getFieldValue("OP")],t=f[0],i=f[1],n=e.valueToCode(this,"A",i)||"0",s=e.valueToCode(this,"B",i)||"0";return t?(" % "==t&&(n="(long) ("+n+")",s="(long) ("+s+")"),[n+t+s,i]):["pow("+n+", "+s+")",e.ORDER_UNARY_POSTFIX]},tA=function(x,e){var f=this.getFieldValue("OP"),t=e.ORDER_ATOMIC;return["("+(e.valueToCode(this,"A",t)||"0")+f+(e.valueToCode(this,"B",t)||"0")+")",t]},iA=function(x,e){var f,t,i=this.getFieldValue("OP");if("NEG"==i)return"-"==(t=e.valueToCode(this,"NUM",e.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),[f="-"+t,e.ORDER_UNARY_PREFIX];switch(t="ABS"==i||"ROUND"==i.substring(0,5)?e.valueToCode(this,"NUM",e.ORDER_UNARY_POSTFIX)||"0":"SIN"==i||"COS"==i||"TAN"==i?e.valueToCode(this,"NUM",e.ORDER_MULTIPLICATIVE)||"0":e.valueToCode(this,"NUM",e.ORDER_NONE)||"0",i){case"ABS":f=t+".abs()";break;case"ROOT":f="sqrt("+t+")";break;case"LN":f="log("+t+")";break;case"EXP":f="exp("+t+")";break;case"POW10":f="pow(10,"+t+")";break;case"++":f="(++"+t+")";break;case"--":f="(--"+t+")";break;case"~":f="~("+t+")";break;case"ROUND":f=t+".round()";break;case"ROUNDUP":f=t+".ceil()";break;case"ROUNDDOWN":f=t+".floor()";break;case"SIN":f="sin("+t+" / 180.0 * 3.14159)";break;case"COS":f="cos("+t+" / 180.0 * 3.14159)";break;case"TAN":f="tan("+t+" / 180.0 * 3.14159)"}if(f)return[f,e.ORDER_UNARY_POSTFIX];switch(i){case"LOG10":f="log("+t+") / log(10)";break;case"ASIN":f="asin("+t+") / 3.14159 * 180";break;case"ACOS":f="acos("+t+") / 3.14159 * 180";break;case"ATAN":f="atan("+t+") / 3.14159 * 180";break;default:throw"Unknown math operator: "+i}return[f,e.ORDER_MULTIPLICATIVE]},nA=iA,sA=function(x,e){var f=e.valueToCode(this,"A",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+f+")",e.ORDER_ATOMIC]},aA=function(x,e){return[this.getFieldValue("variate_type"),e.ORDER_ATOMIC]},lA=function(x,e){return this.setTooltip("以字节形式返回某个操作数的储存大小"),["sizeof("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cA=function(x,e){var f=e.valueToCode(this,"A",e.ORDER_NONE)||"0",t=e.valueToCode(this,"B",e.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+f+", "+t+")",e.ORDER_ATOMIC]},pA=function(x,e){return"randomSeed("+(e.valueToCode(this,"NUM",e.ORDER_NONE)||"0")+");\n"},dA=function(x,e){return["random("+(e.valueToCode(this,"FROM",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"TO",e.ORDER_NONE)||"0")+")",e.ORDER_UNARY_POSTFIX]},oA=function(x,e){var f=this.getFieldValue("maptype"),t=e.valueToCode(this,"NUM",e.ORDER_NONE),i=e.valueToCode(this,"fromLow",e.ORDER_ATOMIC),n=e.valueToCode(this,"fromHigh",e.ORDER_ATOMIC),s=e.valueToCode(this,"toLow",e.ORDER_ATOMIC),a=e.valueToCode(this,"toHigh",e.ORDER_ATOMIC);if("map_float"==f){e.definitions_.function_mapfloat="float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)\n{\n return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\n}";var l="mapfloat("+t+", "+i+", "+n+", "+s+", "+a+")"}else l="map("+t+", "+i+", "+n+", "+s+", "+a+")";return[l,e.ORDER_NONE]},uA=function(x,e){return["constrain("+(e.valueToCode(this,"VALUE",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"LOW",e.ORDER_NONE)||"0")+", "+(e.valueToCode(this,"HIGH",e.ORDER_NONE)||"0")+")",e.ORDER_UNARY_POSTFIX]},rA=function(x,e){var f=this.getFieldValue("type"),t=e.valueToCode(this,"variables",e.ORDER_ATOMIC);return t+" = "+t+" "+f+" "+e.valueToCode(this,"data",e.ORDER_ATOMIC)+";\n"},_A=function(x,e){return e.valueToCode(this,"math_auto_add_minus_output",e.ORDER_ATOMIC)+this.getFieldValue("math_auto_add_minus_type")+";\n"},hA=function(x,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},FA=hA,IA=hA,AA=hA,EA=hA,TA=hA,gA=hA,mA=hA,MA=hA,CA=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("NAME"),Ex.Procedures.NAME_TYPE),t=e.statementToCode(this,"STACK");e.INFINITE_LOOP_TRAP&&(t=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);var i=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"",n=this.getFieldValue("TYPE");i&&(i=" return "+i+";\n");for(var s=n||"void",a=[],l=0;l",e.definitions_.include_SoftwareSerial="#include ";var f=e.valueToCode(this,"RX",e.ORDER_ATOMIC),t=e.valueToCode(this,"TX",e.ORDER_ATOMIC),i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.definitions_.var_declare_TinyGPSPlus_gps="TinyGPSPlus gps;",e.definitions_.var_declare_SoftwareSerial_gps_ss="SoftwareSerial gps_ss("+f+", "+t+");",e.setups_.setup_gps_ss_begin="gps_ss.begin("+i+");",""},LA=function(x,e){return["gps_ss.available()",e.ORDER_ATOMIC]},bA=function(x,e){return["gps.encode(gps_ss.read())",e.ORDER_ATOMIC]},yA=function(x,e){return["gps."+this.getFieldValue("WHAT")+".isValid()",e.ORDER_ATOMIC]},vA=function(x,e){return["gps."+this.getFieldValue("WHAT")+"()",e.ORDER_ATOMIC]},wA=function(x,e){var f=this.getFieldValue("Trig"),t=this.getFieldValue("Echo");e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+f+"_"+t,n="float "+i+"() {\n digitalWrite("+f+", LOW);\n delayMicroseconds(2);\n digitalWrite("+f+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+f+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return e.definitions_[i]=n,[i+"()",e.ORDER_ATOMIC]},VA=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return e.definitions_.include_DHT="#include ",e.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+f+");",e.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",e.ORDER_ATOMIC]},YA=function(x,e){var f=Tx.JSFuncs.getPlatform(),t=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),i="analogRead("+t+")*0.488";if(f.match(RegExp(/ESP8266/)))i="analogRead("+t+")*0.322";else if(f.match(RegExp(/ESP32/)))i="analogRead("+t+")*0.161";return[i,e.ORDER_ATOMIC]},kA=function(x,e){var f=this.getFieldValue("PIN"),t=this.getFieldValue("UNIT");e.definitions_.include_OneWire="#include ",e.definitions_.include_DallasTemperature="#include ",e.definitions_["var_declare_OneWire_DallasTemperature_sensors_"+f]="OneWire oneWire_"+f+"("+f+");\nDallasTemperature sensors_"+f+"(&oneWire_"+f+");",e.definitions_.var_declare_DeviceAddress_insideThermometer="DeviceAddress insideThermometer;",e.setups_["setup_sensors_"+f+"_getAddress"]="sensors_"+f+".getAddress(insideThermometer, 0);",e.setups_["setup_sensors_"+f+"_setResolution"]="sensors_"+f+".setResolution(insideThermometer, 9);";var i="ds18b20_"+f+"_getTemp",n="float "+i+"(int w) {\n sensors_"+f+".requestTemperatures();\n if(w==0) {\n return sensors_"+f+".getTempC(insideThermometer);\n }\n else {\n return sensors_"+f+".getTempF(insideThermometer);\n }\n}\n";return e.definitions_[i]=n,["ds18b20_"+f+"_getTemp("+t+")",e.ORDER_ATOMIC]},XA=function(x,e){var f=e.valueToCode(this,"mlx90614_address",e.ORDER_ATOMIC),t="MLX";e.definitions_.include_Wire="#include ",e.definitions_.include_Adafruit_MLX90614="#include ",e.definitions_["var_declare_MLX90614_"+t]="Adafruit_MLX90614 MLX = Adafruit_MLX90614("+f+");",e.setups_["setup_MLX90614_"+t]=t+".begin();";return""},GA=function(x,e){return["MLX."+this.getFieldValue("mlx90614_data")+"()",e.ORDER_ATOMIC]},BA=function(x,e){var f=this.getFieldValue("DOUT"),t=this.getFieldValue("SCK"),i=e.valueToCode(this,"scale",e.ORDER_ATOMIC);return e.definitions_.include_Hx711="#include ",e.definitions_["var_declare_Hx711"+f+t]="Hx711 scale"+f+"_"+t+"("+f+","+t+");",e.setups_["setup_HX711"+f+t]="scale"+f+"_"+t+".setOffset(scale"+f+"_"+t+".getAverageValue(30));",e.setups_["setup_scale"+f+"_"+t+" .setScale"]="scale"+f+"_"+t+".setScale("+i+");",["scale"+f+"_"+t+".getWeight(10)",e.ORDER_ATOMIC]},UA=function(x,e){var f=e.valueToCode(this,"RST",e.ORDER_ATOMIC),t=e.valueToCode(this,"DAT",e.ORDER_ATOMIC),i=e.valueToCode(this,"CLK",e.ORDER_ATOMIC);return e.definitions_.include_ThreeWire="#include ",e.definitions_.include_RtcDS1302="#include ",e.definitions_.var_declare_ThreeWire="ThreeWire myWire("+t+","+i+","+f+");",e.definitions_.var_declare_RtcDS1302="RtcDS1302 Rtc(myWire);",e.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},HA=function(x,e){var f=e.valueToCode(this,"SDA",e.ORDER_ATOMIC),t=e.valueToCode(this,"SCL",e.ORDER_ATOMIC),i=this.getFieldValue("RTCType");return e.definitions_["include_"+i]="#include <"+i+".h>",f!=Tx.Profile.default.SDA[0][1]||t!=Tx.Profile.default.SCL[0][1]?(e.definitions_.include_SoftwareWire="#include ",e.definitions_.var_declare_SoftwareWire="SoftwareWire myWire("+f+","+t+");",e.definitions_["var_declare_"+i]=i+" Rtc(myWire);"):(e.definitions_.include_Wire="#include ",e.definitions_["var_declare_"+i]=i+" Rtc(Wire);"),e.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},WA=function(x,e){return["Rtc.GetDateTime()."+this.getFieldValue("TIME_TYPE")+"()",e.ORDER_ATOMIC]},jA=function(x,e){var f=e.valueToCode(this,"year",e.ORDER_ATOMIC),t=e.valueToCode(this,"month",e.ORDER_ATOMIC),i=e.valueToCode(this,"day",e.ORDER_ATOMIC);switch(t){case"1":default:t="Jan";break;case"2":t="Feb";break;case"3":t="Mar";break;case"4":t="Apr";break;case"5":t="May";break;case"6":t="Jun";break;case"7":t="Jul";break;case"8":t="Aug";break;case"9":t="Sep";break;case"10":t="Oct";break;case"11":t="Nov";break;case"12":t="Dec"}return 1==i.length&&(i="0"+i),['"'+t+"/"+i+"/"+f+'"',e.ORDER_ATOMIC]},KA=function(x,e){var f=e.valueToCode(this,"hour",e.ORDER_ATOMIC),t=e.valueToCode(this,"minute",e.ORDER_ATOMIC),i=e.valueToCode(this,"second",e.ORDER_ATOMIC);return 1==f.length&&(f="0"+f),1==t.length&&(t="0"+t),1==i.length&&(i="0"+i),['"'+f+":"+t+":"+i+'"',e.ORDER_ATOMIC]},qA=function(x,e){return"Rtc.SetDateTime(RtcDateTime("+e.valueToCode(this,"date",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+"));\n"},zA=function(x,e){return["__"+this.getFieldValue("type")+"__",e.ORDER_ATOMIC]},ZA=function(){const x=new Date,e=x.getFullYear(),f=x.getMonth()+1,t=x.getDate();var i="myRTC",n=i+".setDate("+e+","+f+","+t+");\n";return n+=i+".setDOW("+e+","+f+","+t+");\n"},JA=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_DFRobot_SHT20="#include ",e.definitions_.var_declare_DFRobot_SHT20="DFRobot_SHT20 sht20;\n",e.setups_.setup_sht20initSHT20="sht20.initSHT20();",e.setups_["setup_sht20.checkSHT20"]="sht20.checkSHT20(); \n",[this.getFieldValue("SHT20_TYPE"),e.ORDER_ATOMIC]},QA=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_I2Cdev="#include ",e.definitions_.include_ADXL345="#include ",e.definitions_.var_declare_ADXL345="ADXL345 accel;\n",e.setups_["setup_Wire.begin"]="Wire.begin();",e.setups_["setup_accel.begin"]="accel.initialize(); \n",[this.getFieldValue("ADXL345_PIN"),e.ORDER_ATOMIC]},$A=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_LIS3DHTR="#include ",e.definitions_.include_define_Wire="#define WIRE Wire",e.definitions_.var_declare_LIS3DHTR="LIS3DHTR LIS;\n",e.setups_["setup_LIS.begin"]="LIS.begin(WIRE,0x19);\n",e.setups_["setup_LIS.openTemp"]="LIS.openTemp();",e.setups_["setup_LIS.setFullScaleRange"]="LIS.setFullScaleRange(LIS3DHTR_RANGE_2G);",e.setups_["setup_LIS.setOutputDataRate"]="LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);",[this.getFieldValue("LIS3DHTR_GETDATA"),e.ORDER_ATOMIC]},xE=function(x,e){e.definitions_.include_Wire="#include ",e.definitions_.include_I2Cdev="#include ",e.definitions_.include_ADXL345="#include ",e.definitions_.var_declare_ADXL345="ADXL345 accel;\n",e.setups_["setup_Wire.begin"]="Wire.begin();",e.setups_["setup_accel.begin"]="accel.initialize(); \n";var f,t=this.getFieldValue("MIXEPI_ADXL345_OFFSET"),i=e.valueToCode(this,"OFFSET",e.ORDER_ATOMIC);return"setOffsetX"==t?f="accel.setOffsetX(round("+i+"*4/15.9));\n":"setOffsetY"==t?f="accel.setOffsetY(round("+i+"*4/15.9));\n":"setOffsetZ"==t&&(f="accel.setOffsetZ(round("+i+"*4/15.9));\n"),f},eE=function(x,e){return e.definitions_.include_MPU6050_tockn="#include ",e.definitions_.include_Wire="#include ",e.definitions_.var_declare_mpu6050="MPU6050 mpu6050(Wire);",e.setups_.setup_ngyro="Wire.begin();\n mpu6050.begin();\n mpu6050.calcGyroOffsets(true);",["mpu6050."+this.getFieldValue("MPU6050_TYPE"),e.ORDER_ATOMIC]},fE=function(){return"mpu6050.update();\n"},tE=function(x,e){return"encoder_"+this.getFieldValue("Encoder_NO")+".write("+e.valueToCode(this,"value",e.ORDER_ATOMIC)+");\n "},iE=function(x,e){return["encoder_"+this.getFieldValue("Encoder_NO")+".read()",e.ORDER_ATOMIC]},nE=function(x,e){var f=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");e.definitions_.include_Encoder="#include \n",e.definitions_["var_declare_Encoder_"+i]="Encoder encoder_"+i+"("+f+","+t+");\n ";return""},sE=function(x,e){return"encoder_counter_"+this.getFieldValue("Encoder_NO")+" = "+e.valueToCode(this,"value",e.ORDER_ATOMIC)+";\n "},aE=function(x,e){return["encoder_counter_"+this.getFieldValue("Encoder_NO"),e.ORDER_ATOMIC]},lE=function(x,e){var f=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");return e.definitions_["var_declare_Encoder_"+i]="int encoder_counter_"+i+" = 0;\nint encoder_aState_"+i+";\nint encoder_aLastState_"+i+";\n",e.setups_["setups_encoder_"+i]=" pinMode ("+f+", INPUT);\n pinMode ("+t+", INPUT);\n encoder_aLastState_"+i+" = digitalRead("+f+");\n"," encoder_aState_"+i+" = digitalRead("+f+");\n if (encoder_aState_"+i+" != encoder_aLastState_"+i+") {\n if (digitalRead("+t+") != encoder_aState_"+i+") {\n encoder_counter_"+i+" ++;\n } else {\n encoder_counter_"+i+" --;\n }\n }\n encoder_aLastState_"+i+" = encoder_aState_"+i+";\n"},cE=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("mode"),i=e.valueToCode(this,"CLK",e.ORDER_ATOMIC),n=e.valueToCode(this,"DT",e.ORDER_ATOMIC);return e.definitions_.include_ESPRotary="#include ",e.definitions_["var_declare_encoder"+f]=`ESPRotary encoder${f};`,e.setups_["setup_encoder"+f]=`encoder${f}.begin(${n}, ${i});\n encoder${f}.setStepsPerClick(${t});`,e.loops_begin_["loop_encoder"+f]=`encoder${f}.loop();\n`,""},pE=function(x,e){return[`encoder${this.getFieldValue("TYPE")}.${this.getFieldValue("OPERATE_TYPE")}()`,e.ORDER_ATOMIC]},dE=function(x,e){var f=this.getFieldValue("TYPE"),t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC);return`encoder${f}.${this.getFieldValue("OPERATE_TYPE")}(${t});\n`},oE=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("OPERATE_TYPE"),i=e.statementToCode(this,"DO"),n="encoder"+f;switch(t){case"setChangedHandler":n+="OnChanged";break;case"setRightRotationHandler":n+="OnRightRotation";break;case"setLeftRotationHandler":n+="OnLeftRotation";break;case"setUpperOverflowHandler":n+="OnUpperOverflow";break;default:n+="OnLowerOverflow"}e.definitions_["function_"+n]=`void ${n}(ESPRotary& encoder${f}) {\n ${i}}\n`,e.setups_["setup_"+n]=`encoder${f}.${t}(${n});`;return""},uE=function(x,e){var f=this.getFieldValue("TYPE"),t=e.valueToCode(this,"address",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.definitions_.include_SPI="#include ",e.definitions_.include_Adafruit_Sensor="#include ","bme"==f?(e.definitions_.include_Adafruit_BME280="#include ",e.definitions_.var_declare_Adafruit_BME280="Adafruit_BME280 bme;"):(e.definitions_.include_Adafruit_BMP280="#include ",e.definitions_.var_declare_Adafruit_BMP280="Adafruit_BMP280 bmp;"),e.setups_.setup_status="unsigned status;\n status = "+f+".begin("+t+");",e.definitions_.include_SEALEVELPRESSURE_HPA="#define SEALEVELPRESSURE_HPA (1013.25)",[f+"."+this.getFieldValue("BME_TYPE"),e.ORDER_ATOMIC]},rE=function(x,e){e.definitions_.include_PS2X_lib="#include ",e.definitions_.var_declare_PS2X="PS2X ps2x;";var f=this.getFieldValue("PS2_DAT"),t=this.getFieldValue("PS2_CMD"),i=this.getFieldValue("PS2_SEL"),n=this.getFieldValue("PS2_CLK"),s=this.getFieldValue("rumble");return e.setups_.setup_ps2x_config_gamepad="ps2x.config_gamepad("+n+","+t+","+i+","+f+", true, "+s+");\n delay(300);\n",""},_E=function(){return"ps2x.read_gamepad(false, 0);\ndelay(30);\n"},hE=function(x,e){var f=this.getFieldValue("psbt");return["ps2x."+this.getFieldValue("btstate")+"("+f+")",e.ORDER_ATOMIC]},FE=function(x,e){return["ps2x.Analog("+this.getFieldValue("psstk")+")",e.ORDER_ATOMIC]},IE=function(x,e){return e.definitions_.include_DFRobot_TCS34725="#include ",e.definitions_.var_declare_TCS34725="DFRobot_TCS34725 tcs34725;\n",e.setups_.setup_DFRobot_TCS34725="tcs34725.begin();",[this.getFieldValue("DF_TCS34725_COLOR"),e.ORDER_ATOMIC]},AE=function(x,e){var f=e.valueToCode(this,"tcs230_s0",e.ORDER_ATOMIC),t=e.valueToCode(this,"tcs230_s1",e.ORDER_ATOMIC),i=e.valueToCode(this,"tcs230_s2",e.ORDER_ATOMIC),n=e.valueToCode(this,"tcs230_s3",e.ORDER_ATOMIC),s=e.valueToCode(this,"tcs230_led",e.ORDER_ATOMIC),a=e.valueToCode(this,"tcs230_out",e.ORDER_ATOMIC);e.definitions_.define_tcs230_pin="#define tcs230_S0 "+f+"\n#define tcs230_S1 "+t+"\n#define tcs230_S2 "+i+"\n#define tcs230_S3 "+n+"\n#define tcs230_sensorOut "+a+"\n#define tcs230_LED "+s,e.definitions_.function_tcs230_Getcolor="//TCS230颜色传感器获取RGB值\nint tcs230_Getcolor(char data)\n{\n int frequency = 0;\n switch(data)\n {\n case 'R':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,LOW);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 72, 255, 0);\n break;\n }\n case 'G':\n {\n digitalWrite(tcs230_S2,HIGH);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 30, 90, 255, 0);\n break;\n }\n case 'B':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 70, 255, 0);\n break;\n }\n default:\n return -1;\n }\n if (frequency < 0)\n frequency = 0;\n if (frequency > 255)\n frequency = 255;\n return frequency;\n}\n",e.setups_.setup_tcs230_pin="pinMode(tcs230_S0, OUTPUT);\n pinMode(tcs230_S1, OUTPUT);\n pinMode(tcs230_S2, OUTPUT);\n pinMode(tcs230_S3, OUTPUT);\n pinMode(tcs230_LED, OUTPUT);\n pinMode(tcs230_sensorOut, INPUT);\n digitalWrite(tcs230_S0,HIGH);\n digitalWrite(tcs230_S1,LOW);\n digitalWrite(tcs230_LED,HIGH);";return""},EE=function(x,e){return["tcs230_Getcolor('"+this.getFieldValue("tcs230_color")+"')",e.ORDER_ATOMIC]},TE=function(x,e){var f=this.getFieldValue("keypad_name"),t=e.valueToCode(this,"keypad_row",e.ORDER_ATOMIC),i=e.valueToCode(this,"keypad_col",e.ORDER_ATOMIC),n=e.valueToCode(this,"keypad_type",e.ORDER_ATOMIC);e.definitions_.include_Keypad="#include ",e.definitions_["var_keypadstart1"+f]="const byte "+f+"_ROWS = 4;",e.definitions_["var_keypadstart2"+f]="const byte "+f+"_COLS = 4;",e.definitions_["var_keypadstart3"+f]="char "+f+"_hexaKeys["+f+"_ROWS]["+f+"_COLS] = {\n"+n+"\n};",e.definitions_["var_keypadstart4"+f]="byte "+f+"_rowPins["+f+"_ROWS] = "+t,e.definitions_["var_keypadstart5"+f]="byte "+f+"_colPins["+f+"_COLS] = "+i,e.definitions_["var_keypadstart6"+f]="Keypad "+f+" = Keypad(makeKeymap("+f+"_hexaKeys), "+f+"_rowPins, "+f+"_colPins, "+f+"_ROWS, "+f+"_COLS);",e.setups_.setup_serial_Serial="Serial.begin(9600);";return""},gE=function(x,e){return["{"+e.valueToCode(this,"keypad_row_1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_row_2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_row_3",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_row_4",e.ORDER_ATOMIC)+"};",e.ORDER_ATOMIC]},mE=function(x,e){return["{"+e.valueToCode(this,"keypad_col_1",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_col_2",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_col_3",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"keypad_col_4",e.ORDER_ATOMIC)+"};",e.ORDER_ATOMIC]},ME=function(x,e){return[" {'"+this.getFieldValue("keypad_1_1")+"','"+this.getFieldValue("keypad_1_2")+"','"+this.getFieldValue("keypad_1_3")+"','"+this.getFieldValue("keypad_1_4")+"'},\n {'"+this.getFieldValue("keypad_2_1")+"','"+this.getFieldValue("keypad_2_2")+"','"+this.getFieldValue("keypad_2_3")+"','"+this.getFieldValue("keypad_2_4")+"'},\n {'"+this.getFieldValue("keypad_3_1")+"','"+this.getFieldValue("keypad_3_2")+"','"+this.getFieldValue("keypad_3_3")+"','"+this.getFieldValue("keypad_3_4")+"'},\n {'"+this.getFieldValue("keypad_4_1")+"','"+this.getFieldValue("keypad_4_2")+"','"+this.getFieldValue("keypad_4_3")+"','"+this.getFieldValue("keypad_4_4")+"'}",e.ORDER_ATOMIC]},CE=function(x,e){return[this.getFieldValue("keypad_name")+".getKey()",e.ORDER_ATOMIC]},OE=function(x,e){var f=this.getFieldValue("keypad_name"),t=e.valueToCode(this,"keypad_event_input",e.ORDER_ATOMIC),i=this.getFieldValue("keypad_start_event_delay"),n=e.statementToCode(this,"keypad_event_data");e.definitions_["define_variate_"+t]="volatile char "+t+";",e.definitions_["var_keypadstart7_event"+f]="void keypadEvent_"+f+"(KeypadEvent "+t+") {\n"+n+"\n}",e.setups_["setup_keypad_event_and_delay"+f]=f+".addEventListener(keypadEvent_"+f+");\n "+f+".setHoldTime("+i+");";return""},SE=function(x,e){e.definitions_.include_Wire="#include ",e.definitions_.include_FaBo9Axis_MPU9250="#include ",e.definitions_.var_declare_FaBo9Axis="FaBo9Axis fabo_9axis;\n float ax,ay,az,gx,gy,gz,mx,my,mz;",e.setups_.setup_fabo_9axis="fabo_9axis.begin();";var f=this.getFieldValue("MixGo_MPU9250_GETAB"),t="";return"a"==f&&(t+="fabo_9axis.readAccelX()"),"b"==f&&(t+="fabo_9axis.readAccelY()"),"c"==f&&(t+="fabo_9axis.readAccelZ()"),"d"==f&&(t+="fabo_9axis.readGyroX()"),"e"==f&&(t+="fabo_9axis.readGyroY()"),"f"==f&&(t+="fabo_9axis.readGyroZ()"),"g"==f&&(t+="fabo_9axis.readMagnetX()"),"h"==f&&(t+="fabo_9axis.readMagnetY()"),"i"==f&&(t+="fabo_9axis.readMagnetZ()"),[t,e.ORDER_ATOMIC]},RE=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),i=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),n=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_.include_thermistor="#include ",e.definitions_["var_declare_thermistor"+f]="THERMISTOR thermistor"+f+"("+f+","+t+","+i+","+n+");",["thermistor"+f+".read()",e.ORDER_ATOMIC]},NE=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_RL_AHT21="#include ",e.definitions_.var_declare_AHT21="AHT21Class AHT21;\n",e.setups_["setup_Wire.begin"]="Wire.begin();",e.setups_["setup_AHT21.begin"]="AHT21.begin();\n",[this.getFieldValue("AHT21_TYPE"),e.ORDER_ATOMIC]},DE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||Tx.Profile.default.serial;return e.setups_["setup_serial_"+f]=f+".begin("+t+");",""},PE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""';return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),f+".write("+t+");\n"},LE=function(x,e){var f=this.getFieldValue("serial_select"),t=this.getFieldValue("new_line"),i=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""';return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),f+"."+t+"("+i+");\n"},bE=LE,yE=function(x,e){var f=this.getFieldValue("serial_select"),t=this.getFieldValue("STAT"),i=this.getFieldValue("new_line"),n=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0";return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),f+"."+i+"("+n+","+t+");\n"},vE=yE,wE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),[f+".available()",e.ORDER_ATOMIC]},VE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),[f+".readString()",e.ORDER_ATOMIC]},YE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),[f+".readStringUntil("+t+")",e.ORDER_ATOMIC]},kE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),[f+"."+this.getFieldValue("STAT")+"()",e.ORDER_ATOMIC]},XE=function(x,e){var f=this.getFieldValue("serial_select");return e.setups_["setup_serial_"+f]||(e.setups_["setup_serial_"+f]=f+".begin("+Tx.Profile.default.serial+");"),f+".flush();\n"},GE=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"RX",e.ORDER_ATOMIC),i=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return e.definitions_.include_SoftwareSerial="#include ",e.definitions_["var_declare_"+f]="SoftwareSerial "+f+"("+t+","+i+");",""},BE=function(x,e){var f=this.getFieldValue("serial_select"),t="attachPinInterrupt_fun_"+f,i=e.statementToCode(this,"DO"),n="void "+f.replace("Serial","serialEvent")+"() {\n"+i+"}\n";return e.definitions_[t]=n,""};var UE;const HE=function(x,e){var f=Tx.JSFuncs.getPlatform();UE=e.valueToCode(this,"PIN_CS",e.ORDER_ATOMIC),f.match(RegExp(/ESP32/))?e.definitions_.include_mySD="#include ":e.definitions_.include_SD="#include ",e.definitions_.include_SPI="#include ",e.setups_.setup_sd_write_begin="SD.begin("+UE+");";return""},WE=function(x,e){var f=e.valueToCode(this,"FILE",e.ORDER_ATOMIC)||'""',t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||'""',i=e.valueToCode(this,"NEWLINE",e.ORDER_ATOMIC)||"false";e.definitions_.var_declare_File_datafile="File datafile;";var n="datafile = SD.open("+f+", FILE_WRITE);\n";return n+="if(datafile){\n",n+="\tdatafile.print("+t+");\n","true"==i&&(n+='\tdatafile.println("");\n'),n+="\tdatafile.close();\n",n+="}\n"},jE=function(x,e){e.definitions_.var_declare_Sd2Card_card="Sd2Card card;",e.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+UE+");";return["card.type()",e.ORDER_ATOMIC]},KE=function(x,e){e.definitions_.var_declare_Sd2Card_card="Sd2Card card;",e.definitions_.var_declare_SdFile="SdFile root;",e.definitions_.var_declare_SdVolume="SdVolume volume;",e.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+UE+");",e.setups_.setup_volume_init="volume.init(card);";return"root.openRoot(volume);\nroot.ls(LS_R | LS_DATE | LS_SIZE);"},qE=function(x,e){return e.definitions_.var_declare_Sd2Card_card="Sd2Card card;",e.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+UE+");",e.definitions_.var_declare_SdVolume="SdVolume volume;",e.setups_.setup_volume_init="volume.init(card);",[this.getFieldValue("volume_TYPE"),e.ORDER_ATOMIC]},zE=function(x,e){return["SD.exists("+e.valueToCode(this,"FileName",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZE=function(x,e){var f=e.valueToCode(this,"FileName",e.ORDER_ATOMIC);return e.definitions_.var_declare_File_datafile="File datafile;",e.definitions_.var_declare_File_datafile_SD_card_reading='String SD_card_reading(String path) {\ndatafile = SD.open(path.c_str());\n String sd_data = "";\n while (datafile.available()) {\n sd_data = String(sd_data) + String(char(datafile.read()));\n }\n return sd_data;\n}',["SD_card_reading("+f+")",e.ORDER_ATOMIC]},JE=function(x,e){return"SD.remove("+e.valueToCode(this,"FileName",e.ORDER_ATOMIC)+");"},QE=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value){\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if(time.b[2] != EEPROM.read(address+2))\n EEPROM.write(address+2, time.b[2]);\n if(time.b[3] != EEPROM.read(address+3))\n EEPROM.write(address+3, time.b[3]);\n}\n";return e.definitions_[i]=n,"eepromWriteLong("+f+", "+t+");\n"},$E=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ";var t="eepromReadLong("+f+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return e.definitions_[i]=n,[t,e.ORDER_ATOMIC]},xT=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.write("+f+", "+t+");\n"},eT=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ",["EEPROM.read("+f+")",e.ORDER_ATOMIC]},fT=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.put("+f+", "+t+");\n"},tT=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.get("+f+", "+t+");\n"},iT=function(x,e){var f=this.getFieldValue("MODE"),t=e.valueToCode(this,"FILE",e.ORDER_ATOMIC)||'""',i=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||'""',n=e.valueToCode(this,"NEWLINE",e.ORDER_ATOMIC)||"false";if(e.definitions_.include_ESP_FS='#include "FS.h"',e.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',1==f)if(e.definitions_["var_simple_spiffs_store_spiffs_write"+f]='void writeFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_WRITE);\n if (!file) {\n Serial.println("- failed to open file for writing");\n return;\n }\n if (file.print(message)) {\n Serial.println("- file written");\n } else {\n Serial.println("- write failed");\n }\n file.close();\n}',"true"==n)var s="writeFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="writeFile(SPIFFS, "+t+", String("+i+").c_str());\n";if(2==f)if(e.definitions_["var_simple_spiffs_store_spiffs_write"+f]='void appendFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_APPEND);\n if (!file) {\n Serial.println("- failed to open file for appending");\n return;\n }\n if (file.print(message)) {\n Serial.println("- message appended");\n } else {\n Serial.println("- append failed");\n }\n file.close();\n}',"true"==n)s="appendFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="appendFile(SPIFFS, "+t+", String("+i+").c_str());\n";return s},nT=function(x,e){var f=e.valueToCode(this,"FileName",e.ORDER_ATOMIC);return e.definitions_.include_ESP_FS='#include "FS.h"',e.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',e.definitions_.var_simple_spiffs_read='String readFile(fs::FS &fs, const char * path) {\n File file = fs.open(path);\n if (!file || file.isDirectory()) {\n Serial.println("- failed to open file for reading");\n file.close();\n return "SPIFFS_error";\n } else {\n Serial.println("- read from file:");\n String SPIFFS_data = "";\n while (file.available()) {\n SPIFFS_data = String(SPIFFS_data) + String(char(file.read()));\n }\n file.close();\n return SPIFFS_data;\n }\n}',e.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',["readFile(SPIFFS, "+f+")",e.ORDER_ATOMIC]},sT=function(x,e){return e.definitions_.include_ESP_FS='#include "FS.h"',e.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',e.definitions_.var_simple_spiffs_DelFile='void deleteFile(fs::FS &fs, const char * path) {\n if (fs.remove(path)) {\n Serial.println("- file deleted");\n } else {\n Serial.println("- delete failed");\n }\n}',e.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',"deleteFile(SPIFFS, "+e.valueToCode(this,"FileName",e.ORDER_ATOMIC)+");\n"},aT=function(x,e){return[e.quote_(this.getFieldValue("TEXT")),e.ORDER_ATOMIC]},lT=function(x,e){return["'"+this.getFieldValue("TEXT")+"'",e.ORDER_ATOMIC]},cT=function(x,e){return["String("+e.valueToCode(this,"A",e.ORDER_ATOMIC)+")"+" + "+("String("+e.valueToCode(this,"B",e.ORDER_ATOMIC)+")"),e.ORDER_ATOMIC]},pT=function(x,e){var f=this.getFieldValue("TOWHAT");return["String("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+")"+"."+f+"()",e.ORDER_ATOMIC]},dT=function(x,e){return["char("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},oT=function(x,e){return["toascii("+("'"+this.getFieldValue("TEXT")+"'")+")",e.ORDER_ATOMIC]},uT=function(x,e){var f=this.getFieldValue("TOWHAT");return["String("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+", "+f+")",e.ORDER_ATOMIC]},rT=function(x,e){return["String("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+").length()",e.ORDER_ATOMIC]},_T=function(x,e){return["String("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+").charAt("+(e.valueToCode(this,"AT",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},hT=function(x,e){var f="String("+(e.valueToCode(this,"STR1",e.ORDER_ATOMIC)||'""')+")",t="String("+(e.valueToCode(this,"STR2",e.ORDER_ATOMIC)||'""')+")";return[f+"."+this.getFieldValue("DOWHAT")+"("+t+")",e.ORDER_ATOMIC]},FT=function(x,e){return["String("+(e.valueToCode(this,"STR1",e.ORDER_ATOMIC)||'""')+")"+".compareTo("+("String("+(e.valueToCode(this,"STR2",e.ORDER_ATOMIC)||'""')+")")+")",e.ORDER_ATOMIC]},IT=function(x,e){return["String("+e.valueToCode(this,"numeral",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"decimal_places",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},AT=function(x,e){return["String("+e.valueToCode(this,"name",e.ORDER_ATOMIC)+").substring("+e.valueToCode(this,"Start",e.ORDER_ATOMIC)+","+e.valueToCode(this,"end",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ET=function(x,e){var f=this.getFieldValue("type");return""+e.valueToCode(this,"String",e.ORDER_ATOMIC)+f+";\n"},TT=function(x,e){var f=e.valueToCode(this,"String",e.ORDER_ATOMIC),t=e.valueToCode(this,"replace",e.ORDER_ATOMIC);return f+".replace("+e.valueToCode(this,"source_data",e.ORDER_ATOMIC)+", "+t+");\n"},gT=function(x,e){return e.valueToCode(this,"String",e.ORDER_ATOMIC)+".trim();\n"},mT=function(x,e){var f=this.getFieldValue("type");return["String("+e.valueToCode(this,"String",e.ORDER_ATOMIC)+")"+f+"("+e.valueToCode(this,"String1",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},MT=function(x,e){var f=e.valueToCode(this,"variable",e.ORDER_ATOMIC);return[this.getFieldValue("type")+"("+f+")",e.ORDER_ATOMIC]},CT=function(x,e){return["String("+e.valueToCode(this,"str1",e.ORDER_ATOMIC)+").indexOf(String("+e.valueToCode(this,"str2",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},OT=function(x,e){for(var f=new Array(this.itemCount_),t=0;t",e.setups_.setup_serial_Serial="Serial.begin(9600);",e.setups_.setup_wire_begin="Wire.begin();",e.setups_['setup_Serial.println("I2C Scanner")']='Serial.println("I2C Scanner");';return'byte error, address;\nint nDevices;\nSerial.println("Scanning...");\nnDevices = 0;\nfor (address = 1; address < 127; address++ ){\n Wire.beginTransmission(address);\n error = Wire.endTransmission();\n if (error == 0){\n Serial.print("I2C device found at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.print(address, HEX);\n Serial.println(" !");\n nDevices++;\n }\n else if (error == 4){\n Serial.print("Unknow error at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.println(address, HEX);\n }\n}\nif (nDevices == 0)\n Serial.println("No I2C devices found");\nelse\n Serial.println("done");\ndelay(5000);\n'};function PT(x){switch(x){case"0000":x="0";break;case"0001":x="1";break;case"0010":x="2";break;case"0011":x="3";break;case"0100":x="4";break;case"0101":x="5";break;case"0110":x="6";break;case"0111":x="7";break;case"1000":x="8";break;case"1001":x="9";break;case"1010":x="A";break;case"1011":x="B";break;case"1100":x="C";break;case"1101":x="D";break;case"1110":x="E";break;case"1111":x="F"}return x}function LT(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var e="";for(let f=0;f2147483647?2147483647:e-0<-2147483648?-2147483648:isNaN(e-0)?0:e-0}const bT=function(x,e){var f=e.variableDB_.getName(this.getFieldValue("VAR"),Ex.Variables.NAME_TYPE),t="TRUE"==this.getFieldValue("save_hz"),i=e.valueToCode(this,"input_data",e.ORDER_ATOMIC),n=0;for(var s of i)","==s&&n++;n++,this.setFieldValue(n,"x"),e.libs_[f]=t?"static const unsigned char PROGMEM "+f+"["+n+"] = {"+i+"};":"unsigned char "+f+"["+n+"] = {"+i+"};";return""};for(var yT=new Array,vT=0;vT<8;vT++)yT[vT]=128>>vT;var wT=document.createElement("canvas"),VT=wT.getContext("2d");const YT=function(x,e){var f=this.getFieldValue("bitmap_formats"),t=this.getFieldValue("modulus_way"),i=this.getFieldValue("modulus_direction"),n=this.getFieldValue("hz_sharp"),s=this.getFieldValue("hz_line_height"),a=this.getFieldValue("hz_up_down"),l=this.getFieldValue("hz_up_down_data"),c=this.getFieldValue("hz_left_right"),p=this.getFieldValue("hz_left_right_data"),d=this.getFieldValue("bitmap_width"),o=this.getFieldValue("bitmap_height"),u=this.getFieldValue("input_data"),r=LT(d),_=LT(o),h=Math.ceil(r/8),F=0,I=0;I=LT("hz_down"==a?l:"-"+l),F=LT("hz_right"==c?p:"-"+p),wT.width=r,wT.height=_,VT.font="normal normal normal "+s+"px "+n,VT.textAlign="left",VT.textBaseline="top";var A=u;VT.fillStyle="#000000",VT.fillRect(0,0,r,_),VT.fillStyle="#ffffff",VT.translate(r/2,_/2),VT.rotate(Math.PI/180*0),VT.fillText(A,F-r/2,I-_/2);for(var E=VT.getImageData(0,0,r,_).data,T=new Array(h*_),g=0;g0?"0"==N?S+=" ":"1"==N&&(S+="0 "):R%(8*h)==0&&(S+="|\n|");for(g=0;gr-1));g++)v>_-1?b+="1"==f?"0":"1":"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}else if("2"==t){L=V*_;for(m=1;m<=L;m++){for(g=1;g<=8;g++)y=m%V==0?8*(V-1)+g-1:8*(m%V-1)+g-1,v=Math.ceil(m/V)-1,"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}else if("3"==t){L=w*r;for(m=1;m<=L;m++){for(g=1;g<=8&&(y=m%(8*V)==0?8*V-1:m%(8*V)-1,v=8*(Math.ceil(m/(8*V))-1)+g-1,!(y>r-1));g++)v>_-1?b+="1"==f?"0":"1":"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}else if("4"==t){L=V*_;for(m=1;m<=L;m++){for(g=1;g<=8;g++)v=m%_==0?_-1:m%_-1,y=8*(Math.ceil(m/_)-1)+g-1,"1"==f?b+=P[v][y]:"0"==P[v][y]?b+="1":b+="0";b+=","}}var Y="",k="";if(2==i){for(var g of b)","==g?(k+=Y,k+=",",Y=""):Y=g+Y;b=k}for(var g of(Y="",k="0x",b))","!=g?4==(Y+=g).length&&(k+=PT(Y),Y=""):k+=",0x";return b=(b=k).substring(0,b.length-3),e.definitions_["var_declare_tool_modulus_data_"+n+"_"+s+"px"+function(x){let e=[];for(let f=0;f1500&&msa.getX()<2000&&msa.getZ()>-1000&&msa.getZ()<0"],[Ex.Msg.HANDBIT_BACKWARD,"msa.getX()>1500&&msa.getX()<2000&&msa.getZ()>0&&msa.getZ()<1500"],[Ex.Msg.HANDBIT_LEFT,"msa.getY()<1000&&msa.getY()>0"],[Ex.Msg.HANDBIT_RIGHT,"msa.getY()<0&&msa.getY()>-1000"],[Ex.Msg.HANDBIT_UP,"msa.getX()>-400&&msa.getX()<400&&msa.getY()>-400&&msa.getY()<400&&msa.getZ()>-1800&&msa.getZ()<-1400"],[Ex.Msg.HANDBIT_DOWN,"msa.getX()>-400&&msa.getX()<400&&msa.getY()>-400&&msa.getY()<400&&msa.getZ()>2000&&msa.getZ()<2400"]];const Yg={init:function(){this.setColour(Ng),this.appendDummyInput("").appendField(Ex.Msg.MixGo_MPU9250),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldDropdown(wg),"HANDBIT_MSA300_GETAB"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(""),this.setHelpUrl("")}},kg={init:function(){this.setColour(Ng),this.appendDummyInput("").appendField(Ex.Msg.Handbit),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldDropdown(Vg),"HANDBIT_MSA300_ACTION"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(""),this.setHelpUrl("")}},Xg={init:function(){this.setColour(Dg),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("WAIT").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGBdisplay_rgb_rainbow1),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};var Gg=[[Ex.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_1,"normal"],[Ex.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_2,"change"]];const Bg={init:function(){this.setColour(Dg),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Gg),"TYPE"),this.appendValueInput("rainbow_color").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_display_rgb_rainbow3),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ug={init:function(){this.setColour(Dg),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Hg={init:function(){this.setColour(Dg),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB_NUM+"1"+Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB_NUM+"2"+Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR2",Number).setCheck(Number),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB_NUM+"3"+Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR3",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wg={init:function(){this.setColour(Dg),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},jg={init:function(){this.setColour(Dg),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB_SHOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Kg={init:function(){this.appendDummyInput().appendField("掌控宝"+Ex.Msg.MIXLY_MOTOR).appendField(new Ex.FieldDropdown([["M1","0x01"],["M2","0x10"]]),"type"),this.appendValueInput("speed").setCheck(null).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_SPEED+"(-100~100)"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Dg),this.setTooltip(""),this.setHelpUrl("")}},qg={init:function(){this.setColour(Dg),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_NUM),this.appendValueInput("H").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.HSV_H),this.appendValueInput("S").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.HSV_S),this.appendValueInput("V").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.HSV_V),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("色调范围0-65536;饱和度范围0-255;明度范围0-255")}},zg={init:function(){this.setColour(20),this.appendValueInput("CHANNEL").setCheck(Number).appendField("ledc"+Ex.Msg.MIXLY_SETUP+Ex.Msg.MIXLY_CHANNEL),this.appendValueInput("FREQ",Number).appendField(Ex.Msg.MIXLY_FREQUENCY).setCheck(Number),this.appendValueInput("PWM_RESOLUTION").setCheck(Number).appendField(Ex.Msg.MIXLY_RESOLUTION),this.appendDummyInput("").appendField("bit"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Zg={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField("ledc"+Ex.Msg.MIXLY_ATTATCH+Ex.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("CHANNEL").setCheck(Number).appendField(Ex.Msg.MIXLY_CHANNEL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Jg={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField("ledc"+Ex.Msg.MIXLY_DETACH+Ex.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Qg=xl,$g={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Ex.Msg.MIXLY_ESP32_TOUCH).appendField(Ex.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},xm={init:function(){this.setColour(20),this.appendValueInput("PIN",Number).appendField(Ex.Msg.MIXLY_TOUCHATTACHINTERRUPT_PIN).setCheck(Number),this.appendValueInput("threshold",Number).appendField(Ex.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number),this.appendDummyInput(""),this.appendStatementInput("DO").appendField(Ex.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT)}},em={init:function(){this.appendValueInput("value").setCheck(null).appendField(Ex.Msg.inout_esp32_dac).appendField(new Ex.FieldDropdown(Tx.Profile.default.dac),"PIN").appendField(Ex.Msg.MIXLY_VALUE2),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(20),this.setTooltip(Ex.Msg.inout_esp32_dac_HELP),this.setHelpUrl("")}},fm={init:function(){this.appendValueInput("PIN").setCheck(null).appendField(Ex.Msg.MICROBIT_ACTUATOR_ticks).appendField(new Ex.FieldTextInput("8"),"resolution").appendField(Ex.Msg.MIXLY_FREQUENCY).appendField(new Ex.FieldTextInput("5000"),"freq").appendField(Ex.Msg.MIXLY_CHANNEL).appendField(new Ex.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"],["10","10"],["11","11"],["12","12"],["13","13"],["14","14"],["15","15"]]),"ledChannel").appendField(Ex.Msg.MIXLY_ANALOGWRITE_PIN),this.appendValueInput("val").setCheck(null).appendField(Ex.Msg.MIXLY_VALUE2),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(20),this.setTooltip(""),this.setHelpUrl("")}},tm=100;var im=[[Ex.Msg.HANDBIT_FORWARD,"accel.getAcceleration().x>-4.7&&accel.getAcceleration().x<0&&accel.getAcceleration().y<1&&accel.getAcceleration().y>-1&&accel.getAcceleration().z<-8&&accel.getAcceleration().z>-9.8"],[Ex.Msg.HANDBIT_BACKWARD,"accel.getAcceleration().x>0&&accel.getAcceleration().x<4.7&&accel.getAcceleration().y<1&&accel.getAcceleration().y>-1&&accel.getAcceleration().z<-8&&accel.getAcceleration().z>-9.8"],[Ex.Msg.HANDBIT_LEFT,"accel.getAcceleration().y>0&&accel.getAcceleration().y<5.5&&accel.getAcceleration().z<-7.5&&accel.getAcceleration().z>-9.8"],[Ex.Msg.HANDBIT_RIGHT,"accel.getAcceleration().y<0&&accel.getAcceleration().y>-4.7&&accel.getAcceleration().z<-7.5&&accel.getAcceleration().z>-9.8"],[Ex.Msg.HANDBIT_UP,"accel.getAcceleration().z>-9.8&&accel.getAcceleration().z<-8"],[Ex.Msg.HANDBIT_DOWN,"accel.getAcceleration().z>8&&accel.getAcceleration().z<9.8"]],nm=[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"]];const sm={init:function(){this.setColour(180),this.appendDummyInput("").appendField(new Ex.FieldDropdown(nm),"STAT"),this.setOutput(!0,Number)}},am={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.button),"btn"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_SENOR_IS_PRESSED)}},lm={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},cm={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},pm={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_TOUCH).appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.touch),"touch_pin"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_MACHINE_VALUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_INOUT_PIN_PRESSED_TOOLTIP)}},dm={init:function(){this.setColour(40),this.appendDummyInput("").appendField("MIXEPI"),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldDropdown(im),"MIXEPI_ADXL345_ACTION"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(""),this.setHelpUrl("")}},om={init:function(){this.setColour(tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("WAIT").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGBdisplay_rgb_rainbow1),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};var um=[[Ex.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_1,"normal"],[Ex.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_2,"change"]];const rm={init:function(){this.setColour(tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(new Ex.FieldDropdown(um),"TYPE"),this.appendValueInput("rainbow_color").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_display_rgb_rainbow3),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_m={init:function(){this.setColour(tm),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(new Ex.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Ex.Msg.OLED_DRAW_PIXE_TOOLTIP)}},hm={init:function(){this.setColour(tm),this.appendValueInput("R").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Fm={init:function(){this.setColour(tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Im={init:function(){this.setColour(tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField("1").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.appendDummyInput("").appendField("2").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR2",Number).setCheck(Number),this.appendDummyInput("").appendField("3").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR3",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Am={init:function(){this.setColour(tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Em=100,Tm=180,gm={init:function(){this.setColour(Tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MAX7219_PUTSTR),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(Ex.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("")}},mm={init:function(){var x=[[Ex.Msg.MIXLY_4DIGITDISPLAY_ON,"LED_ON"],[Ex.Msg.MIXLY_4DIGITDISPLAY_OFF,"LED_OFF"]];this.setColour(Tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("XVALUE").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_SHOWPOINT).appendField(new Ex.FieldDropdown(x),"DrawPixel_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Mm={init:function(){this.setColour(Tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("Chars").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},Cm={init:function(){this.setColour(Tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new Ex.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a81").appendField(new Ex.FieldCheckbox("FALSE"),"a82").appendField(new Ex.FieldCheckbox("FALSE"),"a83").appendField(new Ex.FieldCheckbox("FALSE"),"a84").appendField(new Ex.FieldCheckbox("FALSE"),"a85").appendField(new Ex.FieldCheckbox("FALSE"),"a86").appendField(new Ex.FieldCheckbox("FALSE"),"a87").appendField(new Ex.FieldCheckbox("FALSE"),"a88").appendField(new Ex.FieldCheckbox("FALSE"),"a89").appendField(new Ex.FieldCheckbox("FALSE"),"a810").appendField(new Ex.FieldCheckbox("FALSE"),"a811").appendField(new Ex.FieldCheckbox("FALSE"),"a812").appendField(new Ex.FieldCheckbox("FALSE"),"a813").appendField(new Ex.FieldCheckbox("FALSE"),"a814").appendField(new Ex.FieldCheckbox("FALSE"),"a815").appendField(new Ex.FieldCheckbox("FALSE"),"a816"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a71").appendField(new Ex.FieldCheckbox("FALSE"),"a72").appendField(new Ex.FieldCheckbox("FALSE"),"a73").appendField(new Ex.FieldCheckbox("FALSE"),"a74").appendField(new Ex.FieldCheckbox("FALSE"),"a75").appendField(new Ex.FieldCheckbox("FALSE"),"a76").appendField(new Ex.FieldCheckbox("FALSE"),"a77").appendField(new Ex.FieldCheckbox("FALSE"),"a78").appendField(new Ex.FieldCheckbox("FALSE"),"a79").appendField(new Ex.FieldCheckbox("FALSE"),"a710").appendField(new Ex.FieldCheckbox("FALSE"),"a711").appendField(new Ex.FieldCheckbox("FALSE"),"a712").appendField(new Ex.FieldCheckbox("FALSE"),"a713").appendField(new Ex.FieldCheckbox("FALSE"),"a714").appendField(new Ex.FieldCheckbox("FALSE"),"a715").appendField(new Ex.FieldCheckbox("FALSE"),"a716"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a61").appendField(new Ex.FieldCheckbox("FALSE"),"a62").appendField(new Ex.FieldCheckbox("FALSE"),"a63").appendField(new Ex.FieldCheckbox("FALSE"),"a64").appendField(new Ex.FieldCheckbox("FALSE"),"a65").appendField(new Ex.FieldCheckbox("FALSE"),"a66").appendField(new Ex.FieldCheckbox("FALSE"),"a67").appendField(new Ex.FieldCheckbox("FALSE"),"a68").appendField(new Ex.FieldCheckbox("FALSE"),"a69").appendField(new Ex.FieldCheckbox("FALSE"),"a610").appendField(new Ex.FieldCheckbox("FALSE"),"a611").appendField(new Ex.FieldCheckbox("FALSE"),"a612").appendField(new Ex.FieldCheckbox("FALSE"),"a613").appendField(new Ex.FieldCheckbox("FALSE"),"a614").appendField(new Ex.FieldCheckbox("FALSE"),"a615").appendField(new Ex.FieldCheckbox("FALSE"),"a616"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a51").appendField(new Ex.FieldCheckbox("FALSE"),"a52").appendField(new Ex.FieldCheckbox("FALSE"),"a53").appendField(new Ex.FieldCheckbox("FALSE"),"a54").appendField(new Ex.FieldCheckbox("FALSE"),"a55").appendField(new Ex.FieldCheckbox("FALSE"),"a56").appendField(new Ex.FieldCheckbox("FALSE"),"a57").appendField(new Ex.FieldCheckbox("FALSE"),"a58").appendField(new Ex.FieldCheckbox("FALSE"),"a59").appendField(new Ex.FieldCheckbox("FALSE"),"a510").appendField(new Ex.FieldCheckbox("FALSE"),"a511").appendField(new Ex.FieldCheckbox("FALSE"),"a512").appendField(new Ex.FieldCheckbox("FALSE"),"a513").appendField(new Ex.FieldCheckbox("FALSE"),"a514").appendField(new Ex.FieldCheckbox("FALSE"),"a515").appendField(new Ex.FieldCheckbox("FALSE"),"a516"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a41").appendField(new Ex.FieldCheckbox("FALSE"),"a42").appendField(new Ex.FieldCheckbox("FALSE"),"a43").appendField(new Ex.FieldCheckbox("FALSE"),"a44").appendField(new Ex.FieldCheckbox("FALSE"),"a45").appendField(new Ex.FieldCheckbox("FALSE"),"a46").appendField(new Ex.FieldCheckbox("FALSE"),"a47").appendField(new Ex.FieldCheckbox("FALSE"),"a48").appendField(new Ex.FieldCheckbox("FALSE"),"a49").appendField(new Ex.FieldCheckbox("FALSE"),"a410").appendField(new Ex.FieldCheckbox("FALSE"),"a411").appendField(new Ex.FieldCheckbox("FALSE"),"a412").appendField(new Ex.FieldCheckbox("FALSE"),"a413").appendField(new Ex.FieldCheckbox("FALSE"),"a414").appendField(new Ex.FieldCheckbox("FALSE"),"a415").appendField(new Ex.FieldCheckbox("FALSE"),"a416"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a31").appendField(new Ex.FieldCheckbox("FALSE"),"a32").appendField(new Ex.FieldCheckbox("FALSE"),"a33").appendField(new Ex.FieldCheckbox("FALSE"),"a34").appendField(new Ex.FieldCheckbox("FALSE"),"a35").appendField(new Ex.FieldCheckbox("FALSE"),"a36").appendField(new Ex.FieldCheckbox("FALSE"),"a37").appendField(new Ex.FieldCheckbox("FALSE"),"a38").appendField(new Ex.FieldCheckbox("FALSE"),"a39").appendField(new Ex.FieldCheckbox("FALSE"),"a310").appendField(new Ex.FieldCheckbox("FALSE"),"a311").appendField(new Ex.FieldCheckbox("FALSE"),"a312").appendField(new Ex.FieldCheckbox("FALSE"),"a313").appendField(new Ex.FieldCheckbox("FALSE"),"a314").appendField(new Ex.FieldCheckbox("FALSE"),"a315").appendField(new Ex.FieldCheckbox("FALSE"),"a316"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a21").appendField(new Ex.FieldCheckbox("FALSE"),"a22").appendField(new Ex.FieldCheckbox("FALSE"),"a23").appendField(new Ex.FieldCheckbox("FALSE"),"a24").appendField(new Ex.FieldCheckbox("FALSE"),"a25").appendField(new Ex.FieldCheckbox("FALSE"),"a26").appendField(new Ex.FieldCheckbox("FALSE"),"a27").appendField(new Ex.FieldCheckbox("FALSE"),"a28").appendField(new Ex.FieldCheckbox("FALSE"),"a29").appendField(new Ex.FieldCheckbox("FALSE"),"a210").appendField(new Ex.FieldCheckbox("FALSE"),"a211").appendField(new Ex.FieldCheckbox("FALSE"),"a212").appendField(new Ex.FieldCheckbox("FALSE"),"a213").appendField(new Ex.FieldCheckbox("FALSE"),"a214").appendField(new Ex.FieldCheckbox("FALSE"),"a215").appendField(new Ex.FieldCheckbox("FALSE"),"a216"),this.appendDummyInput("").appendField(new Ex.FieldCheckbox("FALSE"),"a11").appendField(new Ex.FieldCheckbox("FALSE"),"a12").appendField(new Ex.FieldCheckbox("FALSE"),"a13").appendField(new Ex.FieldCheckbox("FALSE"),"a14").appendField(new Ex.FieldCheckbox("FALSE"),"a15").appendField(new Ex.FieldCheckbox("FALSE"),"a16").appendField(new Ex.FieldCheckbox("FALSE"),"a17").appendField(new Ex.FieldCheckbox("FALSE"),"a18").appendField(new Ex.FieldCheckbox("FALSE"),"a19").appendField(new Ex.FieldCheckbox("FALSE"),"a110").appendField(new Ex.FieldCheckbox("FALSE"),"a111").appendField(new Ex.FieldCheckbox("FALSE"),"a112").appendField(new Ex.FieldCheckbox("FALSE"),"a113").appendField(new Ex.FieldCheckbox("FALSE"),"a114").appendField(new Ex.FieldCheckbox("FALSE"),"a115").appendField(new Ex.FieldCheckbox("FALSE"),"a116"),this.setOutput(!0,Number),this.setTooltip()}},Om={init:function(){this.setColour(Tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MICROBIT_monitor),this.appendDummyInput("").setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_MICROBIT_Clear_display),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},Sm={init:function(){this.appendDummyInput("").appendField(Ex.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION).appendField(new Ex.FieldDropdown([["❤","0100038007c00fe01ff01ff00ee00640"],["♥","00000100038007c00fe00ee004400000"],["▲","00003ffc1ff80ff007e003c001800000"],["▼","0000018003c007e00ff01ff83ffc0000"],["◄","100030007000f000f000700030001000"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(Tm),this.setTooltip(Ex.Msg.OLED_BITMAP_OR_STRING),this.setHelpUrl("")}},Rm={init:function(){this.setColour(Tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("x").setCheck(Number).appendField(Ex.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},Nm={init:function(){this.setColour(Tm),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_MICROBIT_monitor),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},Dm={init:function(){this.setColour(Ex.Msg.SENSOR_HUE),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.button),"PIN"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_SENOR_IS_PRESSED)}},Pm={init:function(){this.setColour(Ex.Msg.SENSOR_HUE),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_LIGHT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.ESP32_SENSOR_NIXGO_LIGHT_TOOLTIP)}},Lm={init:function(){this.setColour(Ex.Msg.SENSOR_HUE),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},bm={init:function(){this.setColour(Ex.Msg.SENSOR_HUE),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_TOUCH).appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.touch),"touch_pin"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},ym={init:function(){this.setColour(Ex.Msg.SENSOR_HUE),this.appendDummyInput().appendField(new Ex.FieldDropdown([[Ex.Msg.TEXT_TRIM_LEFT,"34"],[Ex.Msg.TEXT_TRIM_RIGHT,"36"]]),"direction").appendField(Ex.Msg.MIXLY_ESP32_NEAR),this.setOutput(!0,Boolean),this.setInputsInline(!0);var x=this;this.setTooltip((function(){var e=x.getFieldValue("direction"),f=Ex.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP,t=Ex.Msg.MIXLY_ESP32_NEAR;return f+{left:Ex.Msg.TEXT_TRIM_LEFT,right:Ex.Msg.TEXT_TRIM_RIGHT}[e]+t}))}},vm={init:function(){this.setColour(Em),this.appendDummyInput().appendField(Ex.Msg.MIXLY_SETTING).appendField(Ex.Msg.MIXLY_BUILDIN_LED).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_LEFT,"0"],[Ex.Msg.MIXLY_RIGHT,"5"]]),"STAT"),this.appendValueInput("bright").appendField(Ex.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_LED_SETONOFF)}},wm={init:function(){this.setColour(Em),this.appendDummyInput().appendField(Ex.Msg.MIXLY_SETTING).appendField(Ex.Msg.MIXLY_BUILDIN_LED).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_LEFT,"0"],[Ex.Msg.MIXLY_RIGHT,"5"]]),"STAT"),this.appendValueInput("bright").appendField(Ex.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_ESP32_LED_SETONOFF)}},Vm={init:function(){this.setColour(Em),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("WAIT").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGBdisplay_rgb_rainbow1),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};var Ym=[[Ex.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_1,"normal"],[Ex.Msg.MIXLY_RGB_DISPLAY_RAINBOW_TYPE_2,"change"]];const km={init:function(){this.setColour(Em),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Ym),"TYPE"),this.appendValueInput("rainbow_color").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_display_rgb_rainbow3),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xm={init:function(){this.setColour(Em),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Gm={init:function(){this.setColour(Em),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField("1").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.appendDummyInput("").appendField("2").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR2",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bm={init:function(){this.setColour(Em),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},Um={init:function(){this.setColour(Em),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB_SHOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hm=230,Wm={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.dac),"PIN"),this.setOutput(!0)}},jm={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Km={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},qm={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.tx),"PIN"),this.setOutput(!0,Number)}},zm={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},Zm={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.touch),"PIN"),this.setOutput(!0)}},Jm={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Qm={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.playlist),"PIN"),this.setOutput(!0)}},$m={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},xM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},eM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},fM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},tM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},iM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},nM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},sM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.one_more),"PIN"),this.setOutput(!0)}},aM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_select),"PIN"),this.setOutput(!0)}},lM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"PIN"),this.setOutput(!0)}},cM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.brightness),"PIN"),this.setOutput(!0)}},pM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.CHANNEL),"PIN"),this.setOutput(!0)}},dM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.PWM_RESOLUTION),"PIN"),this.setOutput(!0)}},oM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.OCTAVE),"PIN"),this.setOutput(!0)}},uM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.TONE_NOTE),"PIN"),this.setOutput(!0)}},rM={init:function(){this.setColour(Hm),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.digitalWrite),"PIN"),this.setOutput(!0,Number)}},_M=40,hM=100,FM={init:function(){this.setColour(_M),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_BUTTON),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.button),"PIN"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_IS_PRESSED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_SENOR_IS_PRESSED)}},IM={init:function(){this.setColour(_M),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_SOUND),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Ex.Msg.ESP32_SENSOR_NIXGO_SOUND_TOOLTIP)}},AM={init:function(){this.setColour(_M),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_TOUCH).appendField(Ex.Msg.MIXLY_PIN).appendField(new Ex.FieldDropdown(Tx.Profile.default.touch),"touch_pin"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_IS_TOUCHED),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_sensor_pin_pressed)}},EM={init:function(){this.setColour(_M),this.appendDummyInput().appendField(Ex.Msg.MIXLY_ESP32_LIGHT).appendField(new Ex.FieldDropdown([["A","39"],["B","36"]]),"direction"),this.setOutput(!0,Number),this.setInputsInline(!0)}},TM={init:function(){this.setColour(_M),this.appendDummyInput("").appendField("NTC").appendField(Ex.Msg.MIXLY_TEMP),this.setInputsInline(!1),this.setOutput(!0,Number),this.setTooltip()}},gM={init:function(){this.setColour(_M),this.appendDummyInput("").appendField("MPU9250"+Ex.Msg.MIXLY_update_data),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mM={init:function(){this.setColour(hM),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},MM={init:function(){this.setColour(hM),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendDummyInput("").appendField(Ex.Msg.HTML_COLOUR),this.appendValueInput("COLOR1",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},CM={init:function(){this.setColour(hM),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("Brightness").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("")}},OM={init:function(){this.setColour(hM),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB_SHOW),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},SM={init:function(){this.setColour(hM),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_RGB),this.appendValueInput("H").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.HSV_H),this.appendValueInput("S").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.HSV_S),this.appendValueInput("V").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT).appendField(Ex.Msg.HSV_V),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("色调范围0-65536;饱和度范围0-255;明度范围0-255")}},RM=FM,NM=ym,DM=EM,PM=IM,LM={init:function(){this.appendDummyInput().appendField(Ex.Msg.ESP32_HALL),this.setOutput(!0,null),this.setColour(40),this.setTooltip(),this.setHelpUrl("")}},bM={init:function(){this.appendDummyInput().appendField(Ex.Msg.ESP32_TEMP),this.setOutput(!0,null),this.setColour(40),this.setTooltip(),this.setHelpUrl("")}},yM={init:function(){this.setColour(40),this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_JS_CURRENT),this.appendDummyInput("").appendField(new Ex.FieldDropdown(Tx.Profile.default.button),"PIN"),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_BUTTON).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_CLICK,"attachClick"],[Ex.Msg.MIXLY_DOUBLE_CLICK,"attachDoubleClick"],[Ex.Msg.MIXLY_LONG_PRESS_START,"attachLongPressStart"],[Ex.Msg.MIXLY_DURING_LONG_PRESS,"attachDuringLongPress"],[Ex.Msg.MIXLY_LONG_PRESS_END,"attachLongPressStop"]]),"mode"),this.appendStatementInput("DO").appendField(Ex.Msg.MIXLY_DO),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_INOUT_ATTACHINTERRUPT),this.setInputsInline(!0),this.setHelpUrl()}},vM={init:function(){const x=[[Ex.Msg.COLOUR_RGB_RED,"r"],[Ex.Msg.COLOUR_RGB_GREEN,"g"],[Ex.Msg.COLOUR_RGB_BLUE,"b"]];this.setColour(40),this.appendDummyInput("").appendField(Ex.Msg.TCS34725_Get_RGB).appendField(new Ex.FieldDropdown(x),"TCS34725_COLOR"),this.setInputsInline(!0),this.setOutput(!0)}},wM=65,VM={init:function(){this.setColour(wM),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_SETUP+Ex.Msg.Hardware_Serial).appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select"),this.appendValueInput("RX",Number).setCheck(Number).appendField("RX#").setAlign(Ex.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.appendValueInput("CONTENT",Number).appendField(Ex.Msg.MIXLY_SERIAL_BEGIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_SOFTSERIAL.replace("%1",Ex.Arduino.valueToCode(this,"RX",Ex.Arduino.ORDER_ATOMIC)).replace("%2",Ex.Arduino.valueToCode(this,"TX",Ex.Arduino.ORDER_ATOMIC)))}},YM={init:function(){this.setColour(wM),this.appendValueInput("CONTENT",Number).appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_BEGIN).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_SERIAL_BEGIN)}},kM={init:function(){this.setColour(wM),this.appendValueInput("CONTENT",String).appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_WRITE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.TEXT_WRITE_TOOLTIP)}},XM={init:function(){this.setColour(wM),this.appendValueInput("CONTENT",String).appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_PRINT).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_PRINT_INLINE,"print"],[Ex.Msg.TEXT_PRINT_Huanhang_TOOLTIP,"println"]]),"new_line"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.TEXT_PRINT_TOOLTIP)}},GM={init:function(){this.setColour(wM),this.appendValueInput("CONTENT",String).appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_PRINT).appendField(new Ex.FieldDropdown([[Ex.Msg.TEXT_PRINT_Huanhang_TOOLTIP,"println"],[Ex.Msg.MIXLY_PRINT_INLINE,"print"]]),"new_line"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.TEXT_PRINT_TOOLTIP)}},BM={init:function(){this.setColour(wM),this.appendDummyInput().appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_PRINT).appendField(new Ex.FieldDropdown([[Ex.Msg.MIXLY_PRINT_INLINE,"print"],[Ex.Msg.TEXT_PRINT_Huanhang_TOOLTIP,"println"]]),"new_line").appendField(Ex.Msg.MIXLY_NUMBER),this.appendValueInput("CONTENT",Number).appendField(new Ex.FieldDropdown([[Ex.Msg.MATH_HEX,"HEX"],[Ex.Msg.MATH_BIN,"BIN"],[Ex.Msg.MATH_OCT,"OCT"],[Ex.Msg.MATH_DEC,"DEC"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.TEXT_PRINT_HEX_TOOLTIP)}},UM=BM,HM={init:function(){this.setColour(wM),this.appendDummyInput().appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_AVAILABLE)}},WM={init:function(){this.setColour(wM),this.appendDummyInput().appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},jM={init:function(){this.setColour(wM),this.appendValueInput("CONTENT",Number).appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_READSTR_UNTIL).setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_SERIAL_READSTRUNITL.replace("%1",Ex.Arduino.valueToCode(this,"CONTENT",Ex.Arduino.ORDER_ATOMIC)))}},KM={init:function(){this.setColour(wM),this.appendDummyInput().appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(new Ex.FieldDropdown([["read","read"],["peek","peek"],["parseInt","parseInt"],["parseFloat","parseFloat"]]),"STAT"),this.setOutput(!0,Number);var x=this;this.setTooltip((function(){var e=x.getFieldValue("STAT");return{parseInt:Ex.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_INT,parseFloat:Ex.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_FLOAT}[e]}))}},qM={init:function(){this.setColour(wM),this.appendDummyInput().appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_FLUSH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_SERIAL_FLUSH)}},zM={init:function(){this.setColour(wM),this.appendDummyInput("").appendField(Ex.Msg.MIXLY_SETUP).appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select"),this.appendValueInput("RX",Number).setCheck(Number).appendField("RX#").setAlign(Ex.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Ex.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_SOFTSERIAL.replace("%1",Ex.Arduino.valueToCode(this,"RX",Ex.Arduino.ORDER_ATOMIC)).replace("%2",Ex.Arduino.valueToCode(this,"TX",Ex.Arduino.ORDER_ATOMIC)))}},ZM={init:function(){this.setColour(wM),this.appendDummyInput().appendField(new Ex.FieldDropdown(Tx.Profile.default.serial_HardwareSelect),"serial_select").appendField(Ex.Msg.MIXLY_SERIAL_EVENT),this.appendStatementInput("DO").appendField(Ex.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Ex.Msg.MIXLY_TOOLTIP_SERIALEVENT)}};Ex.Msg.TURN_OFF_BLUETOOTH_TO_CONNECT="关闭蓝牙可连接",Ex.Msg.TURN_ON_BLUETOOTH_TO_CONNECT="打开蓝牙可连接",Ex.Msg.RANGE_0="范围0-30",Ex.Msg.HSC025A_CONTROL_INSTRUCTION="HSC025A控制指令",Ex.Msg.HSC025A_DESIGNATED_PLAYBACK="HSC025A指定播放",Ex.Msg.HSC025A_DESIGNATED_PLAYBACK1="HSC025A指定播放歌曲名0000-0255",Ex.Msg.HSC025A_VOLUME_IS_SET_TO="HSC025A音量设置为",Ex.Msg.BLUETOOTH_ON="蓝牙开启",Ex.Msg.BLUETOOTH_OFF="蓝牙关闭",Ex.Msg.MUTE="静音",Ex.Msg.RESTORE_SOUND="恢复声音",Ex.Msg.STANDBY="待机",Ex.Msg.BOOT="开机",Ex.Msg.PLAY_PAUSE="播放/暂停",Ex.Msg.SHUTDOWN="关机",Ex.Msg.SD_CARD_MODE="SD卡模式",Ex.Msg.BLUETOOTH_MODE="蓝牙模式",Ex.Msg.RESET="恢复出厂设置",Ex.Msg.STOP_PLAYING="放完停止",Ex.Msg.BLUETOOTH_CONNECT="蓝牙回连",Ex.Msg.MATH_DEC_MODE="方式",Ex.Msg.REQUEST_SUCCEEDED="请求成功",Ex.Msg.MIXLY_FAILED="请求失败",Ex.Msg.MODE_SWITCH="模式切换";var JM=[[Ex.Msg.MODE_SWITCH,"1"],[Ex.Msg.MIXLY_MP3_PLAY,"2"],[Ex.Msg.MIXLY_MP3_PAUSE,"3"],[Ex.Msg.MIXLY_MP3_NEXT,"4"],[Ex.Msg.MIXLY_MP3_PREV,"5"],[Ex.Msg.MIXLY_MP3_VOL_UP,"6"],[Ex.Msg.MIXLY_MP3_VOL_DOWN,"7"],[Ex.Msg.STANDBY,"8"],[Ex.Msg.BOOT,"9"],[Ex.Msg.PLAY_PAUSE,"10"],[Ex.Msg.MIXLY_MICROBIT_Stop_music,"11"],[Ex.Msg.SHUTDOWN,"12"],[Ex.Msg.SD_CARD_MODE,"13"],[Ex.Msg.BLUETOOTH_MODE,"14"],[Ex.Msg.RESET,"15"],[Ex.Msg.STOP_PLAYING,"16"],[Ex.Msg.BLUETOOTH_CONNECT,"17"],[Ex.Msg.TURN_OFF_BLUETOOTH_TO_CONNECT,"18"],[Ex.Msg.TURN_ON_BLUETOOTH_TO_CONNECT,"19"],[Ex.Msg.BLUETOOTH_ON,"20"],[Ex.Msg.BLUETOOTH_OFF,"21"],[Ex.Msg.MUTE,"22"],[Ex.Msg.RESTORE_SOUND,"23"]];const QM={init:function(){this.appendDummyInput().appendField(Ex.Msg.HSC025A_CONTROL_INSTRUCTION).appendField(new Ex.FieldDropdown(JM),"instruction"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(100),this.setTooltip(""),this.setHelpUrl("")}},$M={init:function(){this.appendValueInput("num").setCheck(null).appendField(Ex.Msg.HSC025A_DESIGNATED_PLAYBACK),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(100),this.setTooltip(Ex.Msg.HSC025A_DESIGNATED_PLAYBACK1),this.setHelpUrl("")}},xC={init:function(){this.appendValueInput("num").setCheck(null).appendField(Ex.Msg.HSC025A_VOLUME_IS_SET_TO),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(100),this.setTooltip(Ex.Msg.RANGE_0),this.setHelpUrl("")}},eC={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_SETUP+"SPIFFS"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}};var fC=[[Ex.Msg.MIXLY_READONLY,"FILE_READ"],[Ex.Msg.TEXT_WRITE_TEXT,"FILE_WRITE"],[Ex.Msg.TEXT_APPEND_APPENDTEXT,"FILE_APPEND"]];const tC={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(new Ex.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_FILE_PATH),this.appendDummyInput().appendField(new Ex.FieldTextInput("/fileName.txt"),"file_path"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_MODE),this.appendDummyInput().appendField(new Ex.FieldDropdown(fC),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},iC={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.appendDummyInput().appendField(new Ex.FieldTextInput("myFile"),"file_var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},nC={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(new Ex.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_WRITE),this.appendValueInput("data").setCheck(null),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},sC={init:function(){this.appendDummyInput().appendField(Ex.Msg.HTML_FILE),this.appendDummyInput().appendField(new Ex.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_AVAILABLE),this.setColour(0),this.setOutput(!0,null),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},aC={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(new Ex.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ex.Msg.OLED_STRING),this.setOutput(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},lC={init:function(){this.appendDummyInput().appendField(Ex.Msg.HTML_FILE),this.appendDummyInput().appendField(new Ex.FieldTextInput("myFile"),"file_var"),this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setOutput(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},cC={init:function(){this.appendDummyInput().appendField(Ex.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE),this.appendDummyInput().appendField(new Ex.FieldTextInput("/fileName.txt"),"file_path"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}};let pC={},dC={};const oC={esp32_pin:{path:f(886),height:270},handbit_A:{path:f(93),height:260},handbit_B:{path:f(138),height:260,width:460},handbit_pin_A:{path:f(985),width:270},handbit_pin_B:{path:f(486),width:290},mixgo_pin_A:{path:f(89)},mixgo_pin_B:{path:f(378)},PocketCard_A:{path:f(689)},PocketCard_B:{path:f(926)},PocketCard_pin:{path:f(173)},esp32_cam_pin:{path:f(278),height:270},esp32_pico_kit_1_pin:{path:f(949),height:230},nodemcu_32s_pin:{path:f(492),width:380}};for(let x in oC){const e={path:f(886),height:376,width:525,tooltip:"",helpUrl:""};let t={};Object.assign(t,e,oC[x]),pC[x]={init:function(){this.appendDummyInput().appendField(new Ex.FieldImage(t.path,t.width,t.height,"*")),this.setColour("#555555"),this.setTooltip(t.tooltip),this.setHelpUrl(t.helpUrl)}},dC[x]=function(){return""}}const uC=pC,rC=dC,_C=function(){return"rgb_display_"+this.getFieldValue("PIN")+".show();\n"},hC=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC),i=e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"0";return e.definitions_.include_ESP32_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+",500,2500);","servo_"+f+".write("+t+");\ndelay("+i+");\n"},FC=function(x,e){var f=this.getFieldValue("PIN"),t=e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC);return e.definitions_.include_ESP32_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");","servo_"+f+".writeMicroseconds("+t+");\n"},IC=function(x,e){var f=this.getFieldValue("PIN");return e.definitions_.include_ESP32_Servo="#include ",e.definitions_["var_declare_servo"+f]="Servo servo_"+f+";",e.setups_["setup_servo_"+f]="servo_"+f+".attach("+f+");",["servo_"+f+".read()",e.ORDER_ATOMIC]},AC=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone("+f+", "+t+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+i+");\n"},EC=function(x,e){return" noTone("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0")+");\n"},TC=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",t=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone(BUZZER, "+f+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+t+");\n"},gC=function(x,e){return" noTone(BUZZER, "+(e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0")+");\n"},mC=function(x,e){var f=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC),i="setMotor("+f+", "+t+", "+(e.valueToCode(this,"speed",e.ORDER_ASSIGNMENT)||"0")+");\n";e.definitions_.include_Arduino="#include ",e.setups_["setup_output_"+f+t+"_S"]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+f+t+"_D"]="pinMode("+t+", OUTPUT);",e.setups_["setup_output_"+f+t+"_S_W"]="digitalWrite("+f+", LOW);",e.setups_["setup_output_"+f+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor",s="void "+n+"(int speedpin,int dirpin, int speed)\n {\n if (speed == 0)\n {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } \n else if (speed > 0)\n {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n }\n else\n {\n if(speed < -255)\n speed = -255;\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return e.definitions_[n]=s,i},MC=function(x,e){return[this.getFieldValue("CHANNEL"),e.ORDER_ATOMIC]},CC=function(x,e){var f=e.valueToCode(this,"MOTOR_ID",e.ORDER_ATOMIC),t=e.valueToCode(this,"PIN1",e.ORDER_ATOMIC),i=e.valueToCode(this,"PIN2",e.ORDER_ATOMIC);e.definitions_.HR8833_Motor_Setup_fun="void HR8833_Motor_Setup(int motorID,int pin1,int pin2){//电机初始化 ID=1~4 定义四组电机\n ledcSetup(motorID*2-2, 5000, 8);\n ledcAttachPin(pin1, motorID*2-2);\n ledcSetup(motorID*2-1, 5000, 8);\n ledcAttachPin(pin2, motorID*2-1);\n}",e.setups_["motorID_"+f]="HR8833_Motor_Setup("+f+","+t+","+i+");";return""},OC=function(x,e){var f=e.valueToCode(this,"MOTOR_ID",e.ORDER_ATOMIC),t=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC);return e.definitions_.HR8833_Motor_Speed_fun="void HR8833_Motor_Speed(int motorID,int speed){//电机速度设置 ID=1~4,speed=-255~255\n if (speed == 0){ \n ledcWrite(motorID*2-2, 0);\n ledcWrite(motorID*2-1, 0);\n }\n else if (speed > 0){\n ledcWrite(motorID*2-2, speed);\n ledcWrite(motorID*2-1, 0);\n }\n else{\n ledcWrite(motorID*2-2, 0);\n ledcWrite(motorID*2-1, -speed);\n }\n}\n","HR8833_Motor_Speed("+f+","+t+");\n"},SC=function(x,e){var f=this.getFieldValue("type"),t=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.setups_.setup_i2c_23_22="Wire.begin(23, 22);",e.definitions_.HandBit_Motor_Speed_fun="void HandBit_Motor_Speed(int pin, int speed){//电机速度设置 pin=1~2,speed=--100~100\n Wire.beginTransmission(0x10);\n Wire.write(pin);\n Wire.write(speed);\n Wire.endTransmission();\n}","HandBit_Motor_Speed("+f+", "+t+");\n"},RC=function(x,e){e.definitions_.include_SPI="#include ",e.setups_.setup_spi="SPI.begin();";var f=e.valueToCode(this,"pin",e.ORDER_ATOMIC),t=e.valueToCode(this,"value",e.ORDER_ATOMIC);e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);";var i="digitalWrite("+f+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+f+", HIGH);\n"},NC=function(x,e){var f=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||Tx.Profile.default.serial;return e.definitions_.include_BluetoothSerial='#include "BluetoothSerial.h"',e.definitions_.var_declare_BluetoothSerial="BluetoothSerial SerialBT;",e.setups_.setup_serial_BT="SerialBT.begin("+f+");",e.setups_.setup_serial_started='Serial.println("The device started, now you can pair it with bluetooth!");',""},DC=function(x,e){return["SerialBT.available() > 0",e.ORDER_ATOMIC]},PC=function(x,e){return["SerialBT.read()",e.ORDER_ATOMIC]},LC=function(x,e){return"SerialBT.write("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+");\n"},bC=function(x,e){var f=this.getFieldValue("task"),t=this.getFieldValue("core"),i=e.valueToCode(this,"length",e.ORDER_ATOMIC),n=e.statementToCode(this,"setup");n=n.replace(/(^\s*)|(\s*$)/g,"");var s=e.statementToCode(this,"loop");return s=s.replace(/(^\s*)|(\s*$)/g,""),e.definitions_["esp32_task_"+f]="void task_"+f+"( void * pvParameters ){\nfor(;;){\n "+s+"\n vTaskDelay(1);\n}\n}\n",e.setups_["setups_esp32_task_"+f]=n+"\n xTaskCreatePinnedToCore(task_"+f+', "task_'+f+'", '+i+", NULL, 2, NULL, "+t+");\n","vTaskDelay(1);\n"},yC=function(x,e){return"vTaskDelay("+e.valueToCode(this,"sleeplength",e.ORDER_ATOMIC)+");\n"},vC=function(x,e){var f=e.valueToCode(this,"TIME",e.ORDER_ATOMIC),t=this.getFieldValue("TIMER_NUM"),i=this.getFieldValue("mode");e.definitions_["hw_timer_t"+t]="hw_timer_t * timer"+t+" =NULL;";var n="IRAM_ATTR onTimer"+t,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return isNaN(parseInt(f))?e.setups_begin_["setup_hw_timer"+n]="timer"+t+"=timerBegin("+t+", 80, true);\n timerAttachInterrupt(timer"+t+", &onTimer"+t+", true);\n timerAlarmWrite(timer"+t+", "+f+", "+i+");":e.setups_begin_["setup_hw_timer"+n]="timer"+t+"=timerBegin("+t+", 80, true);\n timerAttachInterrupt(timer"+t+", &onTimer"+t+", true);\n timerAlarmWrite(timer"+t+", "+1e3*f+", "+i+");",e.definitions_[n]=s,""},wC=function(){return"timerAlarmEnable(timer"+this.getFieldValue("TIMER_NUM")+");\n"},VC=function(){return"timerEnd(timer"+this.getFieldValue("TIMER_NUM")+");\n"},YC=function(){return"while(true);\n"},kC=function(){return"interrupts();\n"},XC=function(){return"noInterrupts();\n"},GC=function(){return"esp_sleep_enable_timer_wakeup("+this.getFieldValue("time")+" * 1000000);\nesp_deep_sleep_start();\n"},BC=o_,UC=function(x,e){var f=e.valueToCode(this,"SSID",e.ORDER_ATOMIC),t=e.valueToCode(this,"PWD",e.ORDER_ATOMIC);return e.definitions_.include_WiFi="#include ",e.setups_.setup_WiFi_begin="WiFi.begin("+f+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},HC=function(x,e){var f=e.valueToCode(this,"mac",e.ORDER_ATOMIC),t=e.valueToCode(this,"data",e.ORDER_ATOMIC),i=e.statementToCode(this,"success"),n=e.statementToCode(this,"failure");const s=(f=(f=f.replaceAll('"',"")).toUpperCase()).split(":");f="0x"+(f=s.join(", 0x")),e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_WifiEspNow="#include ";const a=s.join("");return e.definitions_["var_declare_PEER_"+a]="uint8_t PEER_"+a+"[] = {"+f+"};\n",e.definitions_.function_sendMessage="bool sendMessage(uint8_t *macAddress, String _data) {\n bool ok = WifiEspNow.addPeer(macAddress, 0, nullptr, WIFI_IF_STA);\n if (!ok) return false;\n uint16_t length = _data.length();\n char _msg[length];\n strcpy(_msg, _data.c_str());\n return WifiEspNow.send(macAddress, reinterpret_cast(_msg), length);\n}\n",e.setups_.setup_esp_now='\n WiFi.mode(WIFI_STA);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.macAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }',`if (sendMessage(PEER_${a}, ${t})) {\n`+i+"} else {\n"+n+"}\n"},WC=function(x,e){var f=e.statementToCode(this,"receive_data");f=f.replace(/(^\s*)|(\s*$)/g,""),e.definitions_.include_ESP8266WiFi="#include ",e.definitions_.include_WifiEspNow="#include ",e.definitions_.function_onMessageRecv='void OnMessageRecv(const uint8_t _mac[WIFIESPNOW_ALEN], const uint8_t* _buf, size_t _count, void* arg) {\n // Serial.printf("从MAC:%02X:%02X:%02X:%02X:%02X:%02X处收到数据\\n", _mac[0], _mac[1], _mac[2], _mac[3], _mac[4], _mac[5]);\n String myData = "";\n for (int i = 0; i < static_cast(_count); i++) {\n myData += String(static_cast(_buf[i]));\n }\n '+f+"\n}\n",e.setups_.setup_esp_now_message_receive_cb="WifiEspNow.onReceive(OnMessageRecv, nullptr);",e.setups_.setup_esp_now='\n WiFi.mode(WIFI_STA);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.macAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }';return""},jC=function(x,e){var f=this.getFieldValue("type"),t=e.statementToCode(this,"event");t=t.replace(/(^\s*)|(\s*$)/g,""),e.definitions_.include_WiFi="#include ",1==f&&(e.definitions_.function_WiFiStationConnected="void WiFiStationConnected(WiFiEvent_t event, WiFiEventInfo_t info){\n "+t+"\n}\n",e.setups_.esp32_wifi_WiFiStationConnected="WiFi.onEvent(WiFiStationConnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_CONNECTED);"),2==f&&(e.definitions_.function_WiFiGotIP="void WiFiGotIP(WiFiEvent_t event, WiFiEventInfo_t info){\n "+t+"\n}\n",e.setups_.esp32_wifi_WiFiGotIP="WiFi.onEvent(WiFiGotIP, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_GOT_IP);"),3==f&&(e.definitions_.function_WiFiStationDisconnected="void WiFiStationDisconnected(WiFiEvent_t event, WiFiEventInfo_t info){\n "+t+"\n}\n",e.setups_.esp32_wifi_WiFiStationDisconnected="WiFi.onEvent(WiFiStationDisconnected, WiFiEvent_t::ARDUINO_EVENT_WIFI_STA_DISCONNECTED);");return""},KC=function(x,e){var f=this.getFieldValue("PIN1"),t=this.getFieldValue("PIN2");e.setups_["setup_output_"+f]="pinMode("+f+", OUTPUT);",e.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+f+"_"+t,n="float "+i+"() {\n digitalWrite("+f+", LOW);\n delayMicroseconds(2);\n digitalWrite("+f+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+f+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return e.definitions_[i]=n,[i+"()",e.ORDER_ATOMIC]},qC=function(x,e){var f=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return e.definitions_.include_DHT="#include ",e.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+f+");",e.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",e.ORDER_ATOMIC]},zC=function(x,e){return["hallRead()",e.ORDER_ATOMIC]},ZC=function(x,e){e.definitions_.wendu='extern "C"\n{\nuint8_t temprature_sens_read();\n}\nuint8_t temprature_sens_read();\n';return["(temprature_sens_read() - 32) / 1.8",e.ORDER_ATOMIC]},JC=function(x,e){return["analogRead(LIGHT)",e.ORDER_ATOMIC]},QC=function(x,e){return["analogRead(SOUND)",e.ORDER_ATOMIC]},$C=function(x,e){e.definitions_.include_Adafruit_TCS34725="#include ",e.definitions_.var_declare_TCS34725="Adafruit_TCS34725 tcs34725 = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_24MS, TCS34725_GAIN_1X);\n",e.definitions_.function_TCS34725_getRGB="uint16_t getRGB(char _type) {\n uint16_t _red, _green, _blue, _c;\n tcs34725.getRawData(&_red, &_green, &_blue, &_c);\n switch (_type) {\n case 'r':\n return _red;\n case 'g':\n return _green;\n case 'b':\n return _blue;\n default:\n return _c;\n }\n}\n",e.setups_.setup_Adafruit_TCS34725="tcs34725.begin(0x29);";return["getRGB('"+this.getFieldValue("TCS34725_COLOR")+"')",e.ORDER_ATOMIC]},xO=function(x,e){var f=this.getFieldValue("btn");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["!digitalRead("+f+")",e.ORDER_ATOMIC]},eO=JC,fO=QC,tO=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_MSA300="#include ",e.definitions_.var_declare_MSA300="MSA300 msa;\n",e.setups_["setup_msa.begin"]="msa.begin();",e.setups_["setup_Wire.begin"]="Wire.begin();",[this.getFieldValue("HANDBIT_MSA300_GETAB"),e.ORDER_ATOMIC]},iO=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_MSA300="#include ",e.definitions_.var_declare_MSA300="MSA300 msa;\n",e.setups_["setup_msa.begin"]="msa.begin();",e.setups_["setup_Wire.begin"]="Wire.begin();",[this.getFieldValue("HANDBIT_MSA300_ACTION"),e.ORDER_ATOMIC]},nO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"threshold",e.ORDER_ATOMIC);e.setups_["touchAttachInterrupt"+f]="touchAttachInterrupt("+f+",gotTouch"+f+", "+t+");";var i="gotTouch"+f,n="void "+i+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[i]=n,""},sO=function(x,e){return["touchRead("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},aO=function(x,e){var f=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();","rgb_display_17.setPixelColor("+f+"-1,"+t+");\n"},lO=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR2",e.ORDER_ATOMIC),i=e.valueToCode(this,"COLOR3",e.ORDER_ATOMIC);f=f.replace(/#/g,"0x"),t=t.replace(/#/g,"0x"),i=i.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var n="rgb_display_17.setPixelColor(0,"+f+");\n";return n+="rgb_display_17.setPixelColor(1,"+t+");\n",n+="rgb_display_17.setPixelColor(2,"+i+");\n"},cO=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();","rgb_display_17.setBrightness("+f+");\n"},pO=function(){return"rgb_display_17.show();\n"},dO=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85) \n{\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n} \nelse if(WheelPos < 170) \n{\nWheelPos -= 85; \nreturn rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);\n}\n else\n {\nWheelPos -= 170;\nreturn rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);\n}\n}\n";return e.definitions_.rainbow="void rainbow(uint8_t wait) {\n uint16_t i, j;\nfor(j=0; j<256; j++) {\nfor(i=0; i",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"rainbow_color",e.ORDER_ATOMIC),t=this.getFieldValue("TYPE");if(e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85)\n {\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \nelse if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n else {\nWheelPos -= 170;return rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n}\n","normal"==t)var i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n{rgb_display_17.setPixelColor(i, Wheel("+f+" & 255));\n}\n";else i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n {rgb_display_17.setPixelColor(i, Wheel(((i * 256 / rgb_display_17.numPixels()) + "+f+") & 255));\n}\n";return i},uO=function(x,e){e.definitions_.include_OneButton="#include ";var f=this.getFieldValue("PIN"),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+",true);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},rO=function(x,e){var f=this.getFieldValue("type"),t=e.valueToCode(this,"speed",e.ORDER_ATOMIC);return e.definitions_.include_Wire="#include ",e.setups_.setup_i2c_23_22="Wire.begin(23, 22);",e.definitions_.HandBit_Motor_Speed_fun="void HandBit_Motor_Speed(int pin, int speed){//电机速度设置 pin=1~2,speed=--100~100\n Wire.beginTransmission(0x10);\n Wire.write(pin);\n Wire.write(speed);\n Wire.endTransmission();\n}","HandBit_Motor_Speed("+f+", "+t+");\n"},_O=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_GRB + NEO_KHZ800);";return"rgb_display_17.setPixelColor("+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+")-1, rgb_display_17.ColorHSV("+e.valueToCode(this,"H",e.ORDER_ATOMIC)+","+e.valueToCode(this,"S",e.ORDER_ATOMIC)+","+e.valueToCode(this,"V",e.ORDER_ATOMIC)+"));\n"},hO=function(x,e){return["touchRead("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},FO=function(x,e){var f=e.valueToCode(this,"FREQ",e.ORDER_ATOMIC),t=e.valueToCode(this,"PWM_RESOLUTION",e.ORDER_ATOMIC)||"8",i=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return e.setups_["ledcSetup"+i+f+t]="ledcSetup("+i+", "+f+", "+t+");\n",""},IO=function(x,e){return"ledcAttachPin("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0")+");\n"},AO=function(x,e){return"ledcDetachPin("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+");\n"},EO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"NUM",e.ORDER_ATOMIC);e.definitions_.include_Arduino="#include ";const{analog:i}=Tx.Profile.default;if("object"==typeof i)for(let x of i)if(f===x[1]){e.setups_["setup_output"+f]="pinMode("+f+", OUTPUT);";break}return"analogWrite("+f+", "+t+");\n"},TO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQ",e.ORDER_ATOMIC),i=e.valueToCode(this,"NUM",e.ORDER_ATOMIC),n=this.getFieldValue("RESOLUTION"),s=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return e.setups_["ledcSetup"+s+t+n]="ledcSetup("+s+", "+t+", "+n+");\n",e.setups_["ledcAttachPin"+f+s]="ledcAttachPin("+f+", "+s+");\n ","ledcWrite("+s+", "+i+");\n"},gO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=this.getFieldValue("mode");e.setups_["setup_input_"+f]="pinMode("+f+", INPUT_PULLUP);";var i="attachInterrupt("+f+",attachInterrupt_fun_"+f+","+t+");\n",n="attachInterrupt_fun_"+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},mO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC);return e.setups_["setup_input_"+f]="pinMode("+f+", INPUT);","detachInterrupt("+f+");\n"},MO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"threshold",e.ORDER_ATOMIC);e.setups_["touchAttachInterrupt"+f]="touchAttachInterrupt("+f+",gotTouch"+f+", "+t+");";var i="gotTouch"+f,n="void "+i+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[i]=n,""},CO=function(x,e){return"dacWrite("+this.getFieldValue("PIN")+", "+e.valueToCode(this,"value",e.ORDER_ATOMIC)+");\n"},OO=function(x,e){var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"val",e.ORDER_ATOMIC),i=this.getFieldValue("resolution"),n=this.getFieldValue("freq"),s=this.getFieldValue("ledChannel");return e.setups_["ledChannel"+s]="ledcSetup("+s+", "+n+", "+i+");",e.setups_["ledChannel"+f]="ledcAttachPin("+f+", "+s+");","ledcWrite("+s+", "+t+");\n"},SO=function(x,e){return["touchRead("+this.getFieldValue("touch_pin")+")",e.ORDER_ATOMIC]},RO=function(x,e){var f=this.getFieldValue("btn");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["!digitalRead("+f+")",e.ORDER_ATOMIC]},NO=function(x,e){var f=this.getFieldValue("btn");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT_PULLUP);",["!digitalRead("+f+")",e.ORDER_ATOMIC]},DO=function(x,e){return["analogRead(39)",e.ORDER_ATOMIC]},PO=function(x,e){return["analogRead(36)",e.ORDER_ATOMIC]},LO=function(x,e){return e.definitions_.include_Wire="#include ",e.definitions_.include_I2Cdev="#include ",e.definitions_.include_ADXL345="#include ",e.definitions_.var_declare_ADXL345="ADXL345 accel;\n",e.setups_["setup_accel.begin"]="accel.begin();",e.setups_["setup_Wire.begin"]="Wire.begin();",[this.getFieldValue("MIXEPI_ADXL345_ACTION"),e.ORDER_ATOMIC]},bO=function(x,e){return[this.getFieldValue("COLOR"),e.ORDER_NONE]},yO=function(x,e){return[e.valueToCode(this,"R",e.ORDER_ATOMIC)+"*65536+"+e.valueToCode(this,"G",e.ORDER_ATOMIC)+"*256+"+e.valueToCode(this,"B",e.ORDER_ATOMIC),e.ORDER_NONE]},vO=function(x,e){var f=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var i="rgb_display_17.setPixelColor("+f+"-1,"+t+");\n";return i+="rgb_display_17.show();\nrgb_display_17.show();\n"},wO=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR2",e.ORDER_ATOMIC),i=e.valueToCode(this,"COLOR3",e.ORDER_ATOMIC);f=f.replace(/#/g,"0x"),t=t.replace(/#/g,"0x"),i=i.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var n="rgb_display_17.setPixelColor(0,"+f+");\n";return n+="rgb_display_17.setPixelColor(1,"+t+");\n",n+="rgb_display_17.setPixelColor(2,"+i+");\n",n+="rgb_display_17.show();\nrgb_display_17.show();\n"},VO=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";var t="rgb_display_17.setBrightness("+f+");\n";return t+="rgb_display_17.show();\nrgb_display_17.show();\n"},YO=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);";var f=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_.setup_rgb_display_begin_17="rgb_display_17.begin();";e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85) \n{\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n} \nelse if(WheelPos < 170) \n{\nWheelPos -= 85; \nreturn rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);\n}\n else\n {\nWheelPos -= 170;\nreturn rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);\n}\n}\n";return e.definitions_.rainbow="void rainbow(uint8_t wait) {\n uint16_t i, j;\nfor(j=0; j<256; j++) {\nfor(i=0; i",e.definitions_.var_declare_rgb_display17="Adafruit_NeoPixel rgb_display_17= Adafruit_NeoPixel(3,17,NEO_RGB + NEO_KHZ800);";var f=e.valueToCode(this,"rainbow_color",e.ORDER_ATOMIC),t=this.getFieldValue("TYPE");if(e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85)\n {\nreturn rgb_display_17.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \nelse if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_17.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n else {\nWheelPos -= 170;return rgb_display_17.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n}\n","normal"==t)var i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n{rgb_display_17.setPixelColor(i, Wheel("+f+" & 255));\n}\n";else i="for (int i = 0; i < rgb_display_17.numPixels(); i++)\n {rgb_display_17.setPixelColor(i, Wheel(((i * 256 / rgb_display_17.numPixels()) + "+f+") & 255));\n}\n";return i},XO=function(x,e){return[this.getFieldValue("STAT"),e.ORDER_ATOMIC]},GO=function(x,e){return e.definitions_.include_HT16K33="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);","MixGo_HT16K33.drawStr("+e.valueToCode(this,"TEXT",e.ORDER_ASSIGNMENT)+");\n"},BO=function(x,e){e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";var f="MixGo_HT16K33.drawPixel("+e.valueToCode(this,"XVALUE",e.ORDER_ASSIGNMENT)+"-1,"+e.valueToCode(this,"YVALUE",e.ORDER_ASSIGNMENT)+"-1,"+this.getFieldValue("DrawPixel_TYPE")+");\n";return f+="MixGo_HT16K33.writeDisplay();\n"},UO=function(x,e){e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.definitions_.var_declare_Matrix1="uint16_t MixGo_LedArray[8];",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";var f="";return f+="for(int i=0; i<8; i++)\n",f+="{\n",f+=" MixGo_LedArray[i]="+e.valueToCode(this,"Chars",e.ORDER_ASSIGNMENT)+"[i];\n",f+=" for(int j=15; j>=0; j--)\n",f+=" {\n",f+=" if((MixGo_LedArray[i]&0x01)>0)\n",f+=" MixGo_HT16K33.drawPixel(j, i,LED_ON);\n",f+=" MixGo_LedArray[i] = MixGo_LedArray[i]>>1;\n",f+=" } \n",f+="}\n",f+="MixGo_HT16K33.writeDisplay();\n"},HO=function(x,e){for(var f=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<17;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<17;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length?a="000"+a:2==a.length?a="00"+a:3==a.length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};",e.definitions_[f]="uint16_t "+f+"[8]="+s,[f,e.ORDER_ATOMIC]},WO=function(x,e){e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";return"MixGo_HT16K33.clear();\n"},jO=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);e.definitions_["2_include_HT16K33"]="#include ",e.definitions_.var_declare_HT16K33="HT16K33 MixGo_HT16K33;",e.setups_.setup_Matrix_1="MixGo_HT16K33.begin(0x70);",e.setups_.setup_Matrix_2="delay(100);";var t="";return t+="MixGo_HT16K33.setBrightness("+f+");\n"},KO=function(x,e){var f=this.getFieldValue("img_"),t='"'+f+'"';t="{";for(var i=0;i<31;i+=4)t+="0x"+f.substr(i,4)+(28!=i?",":"");return t+="};\n",e.definitions_["matrix_img_"+f]="byte matrix_img_"+f+"[]="+t,["matrix_img_"+f,e.ORDER_ATOMIC]},qO=JC,zO=QC,ZO=function(x,e){return["touchRead("+this.getFieldValue("touch_pin")+")",e.ORDER_ATOMIC]},JO=function(x,e){return["digitalRead("+this.getFieldValue("direction")+")",e.ORDER_ATOMIC]},QO=function(x,e){var f=this.getFieldValue("STAT"),t=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return e.setups_["setup_pinmode"+f]="pinMode("+f+",OUTPUT);","digitalWrite("+f+",!"+t+");\n"},$O=function(x,e){var f=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();","rgb_display_02.setPixelColor("+f+"-1,"+t+");\n"},xS=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC),t=e.valueToCode(this,"COLOR2",e.ORDER_ATOMIC);f=f.replace(/#/g,"0x"),t=t.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();";var i="rgb_display_02.setPixelColor(0,"+f+");\n";return i+="rgb_display_02.setPixelColor(1,"+t+");\n"},eS=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();","rgb_display_02.setBrightness("+f+");\n"},fS=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"WAIT",e.ORDER_ATOMIC);e.setups_.setup_rgb_display_begin_02="rgb_display_02.begin();";e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85) \n{\nreturn rgb_display_02.Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n} \nelse if(WheelPos < 170) \n{\nWheelPos -= 85; \nreturn rgb_display_02.Color(255 - WheelPos * 3, 0, WheelPos * 3);\n}\n else\n {\nWheelPos -= 170;\nreturn rgb_display_02.Color(0, WheelPos * 3, 255 - WheelPos * 3);\n}\n}\n";return e.definitions_.rainbow="void rainbow(uint8_t wait) {\n uint16_t i, j;\nfor(j=0; j<256; j++) {\nfor(i=0; i",e.definitions_.var_declare_rgb_display02="Adafruit_NeoPixel rgb_display_02= Adafruit_NeoPixel(2,2,NEO_GRB + NEO_KHZ800);";var f=e.valueToCode(this,"rainbow_color",e.ORDER_ATOMIC),t=this.getFieldValue("TYPE");if(e.definitions_.Wheel="uint32_t Wheel(byte WheelPos) {\nif(WheelPos < 85)\n {\nreturn rgb_display_02.Color(WheelPos * 3, 255 - WheelPos * 3, 0);} \nelse if(WheelPos < 170)\n {\nWheelPos -= 85; return rgb_display_02.Color(255 - WheelPos * 3, 0, WheelPos * 3);}\n else {\nWheelPos -= 170;return rgb_display_02.Color(0, WheelPos * 3, 255 - WheelPos * 3);}\n}\n","normal"==t)var i="for (int i = 0; i < rgb_display_02.numPixels(); i++)\n{rgb_display_02.setPixelColor(i, Wheel("+f+" & 255));\n}\n";else i="for (int i = 0; i < rgb_display_02.numPixels(); i++)\n {rgb_display_02.setPixelColor(i, Wheel(((i * 256 / rgb_display_02.numPixels()) + "+f+") & 255));\n}\n";return i},iS=function(){return"rgb_display_02.show();rgb_display_02.show();\ndelay(1);\n"},nS=function(x,e){e.definitions_.include_OneButton="#include ";var f=this.getFieldValue("PIN"),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+",false);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},sS=function(x,e){var f=this.getFieldValue("PIN");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["digitalRead("+f+")",e.ORDER_ATOMIC]},aS=sS,lS=JO,cS=function(x,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},pS=cS,dS=cS,oS=cS,uS=cS,rS=cS,_S=cS,hS=cS,FS=cS,IS=cS,AS=cS,ES=cS,TS=cS,gS=cS,mS=cS,MS=cS,CS=cS,OS=cS,SS=cS,RS=cS,NS=cS,DS=cS,PS=cS,LS=cS,bS=cS,yS=cS,vS=cS,wS=cS,VS=cS,YS=cS,kS=cS,XS=function(x,e){var f=this.getFieldValue("PIN");return e.setups_["setup_btn"+f]="pinMode("+f+",INPUT);",["digitalRead("+f+")",e.ORDER_ATOMIC]},GS=QC,BS=function(x,e){return["touchRead("+this.getFieldValue("touch_pin")+")",e.ORDER_ATOMIC]},US=function(x,e){return["analogRead("+this.getFieldValue("direction")+")",e.ORDER_ATOMIC]},HS=function(x,e){e.definitions_.include_OneButton="#include ";var f=this.getFieldValue("PIN"),t=this.getFieldValue("mode");e.definitions_["var_declare_button"+f]="OneButton button"+f+"("+f+",false);",e.setups_["setup_onebutton_"+f+t]="button"+f+"."+t+"("+t+f+");";var i="button"+f+".tick();",n=t+f,s="void "+n+"() {\n"+e.statementToCode(this,"DO")+"}\n";return e.definitions_[n]=s,i},WS=function(x,e){e.definitions_.include_thermistor="#include ",e.definitions_.var_declare_thermistor34="THERMISTOR thermistor34(34,10000,3380,10000);";return["thermistor34.read()/10.0",e.ORDER_ATOMIC]},jS=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),t=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",i=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone("+f+", "+t+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+i+");\n"},KS=function(x,e){e.definitions_.include_ESP32Tone="#include ";var f=e.valueToCode(this,"FREQUENCY",e.ORDER_ASSIGNMENT)||"0",t=e.valueToCode(this,"CHANNEL",e.ORDER_ASSIGNMENT)||"0";return" tone(BUZZER, "+f+", "+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ASSIGNMENT)||"0")+", "+t+");\n"},qS=function(x,e){var f=this.getFieldValue("MixGo_MPU9250_GETAB");e.definitions_.include_MPU9250_asukiaaa="#include ",e.definitions_.define_CALIB_SEC="#define CALIB_SEC 20",e.definitions_.var_declare_MPU9250_asukiaaa="MPU9250_asukiaaa myMPU9250;\n float aX, aY, aZ, aSqrt, gX, gY, gZ, mDirection, mX, mY, mZ;",e.setups_.setup_Wire_begin="Wire.begin(SDA, SCL);\n",e.setups_.setup_myMPU9250_setWire="myMPU9250.setWire(&Wire);",e.setups_.setup_myMPU9250_beginAccel="myMPU9250.beginAccel();",e.setups_.setup_myMPU9250_beginMag="myMPU9250.beginMag();",e.setups_.setup_myMPU9250_beginGyro="myMPU9250.beginGyro();";var t="void setMagMinMaxAndSetOffset(MPU9250_asukiaaa* sensor, int seconds) {\nunsigned long calibStartAt = millis();\nfloat magX, magXMin, magXMax, magY, magYMin, magYMax, magZ, magZMin, magZMax;\nsensor->magUpdate();\nmagXMin = magXMax = sensor->magX();\nmagYMin = magYMax = sensor->magY();\nmagZMin = magZMax = sensor->magZ();\nwhile(millis() - calibStartAt < (unsigned long) seconds * 1000) {\n delay(100);\n sensor->magUpdate();\n magX = sensor->magX();\n magY = sensor->magY();\n magZ = sensor->magZ();\n if (magX > magXMax) magXMax = magX;\n if (magY > magYMax) magYMax = magY;\n if (magZ > magZMax) magZMax = magZ;\n if (magX < magXMin) magXMin = magX;\n if (magY < magYMin) magYMin = magY;\n if (magZ < magZMin) magZMin = magZ;\n}\nsensor->magXOffset = - (magXMax + magXMin) / 2;\nsensor->magYOffset = - (magYMax + magYMin) / 2;\nsensor->magZOffset = - (magZMax + magZMin) / 2;\n}",i="";return"a"==f&&(i+="myMPU9250.accelX()"),"b"==f&&(i+="myMPU9250.accelY()"),"c"==f&&(i+="myMPU9250.accelZ()"),"d"==f&&(i+="myMPU9250.gyroX()"),"e"==f&&(i+="myMPU9250.gyroY()"),"f"==f&&(i+="myMPU9250.gyroZ()"),"g"==f&&(i+="myMPU9250.magX()"),"h"==f&&(i+="myMPU9250.magY()"),"i"==f&&(i+="myMPU9250.magZ()"),"j"!=f&&"h"!=f&&"g"!=f&&"i"!=f||(e.setups_.setup_magnetometer='Serial.println("Start scanning values of magnetometer to get offset values.Rotate your device for " + String(CALIB_SEC) + " seconds.");',e.setups_.setup_setMagMinMaxAndSetOffset="setMagMinMaxAndSetOffset(&myMPU9250, CALIB_SEC);",e.setups_.setup_magnetometerFinished=' Serial.println("Finished setting offset values.");',e.definitions_[t]=t,i+="myMPU9250.magHorizDirection()"),[i,e.ORDER_ATOMIC]},zS=function(){return"myMPU9250.accelUpdate();\nmyMPU9250.gyroUpdate();\nmyMPU9250.magUpdate();\n"},ZS=function(x,e){var f=e.valueToCode(this,"COLOR",e.ORDER_ATOMIC);return f=f.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_12="rgb_display_12.begin();","rgb_display_12.setPixelColor(0,"+f+");\n"},JS=function(x,e){var f=e.valueToCode(this,"COLOR1",e.ORDER_ATOMIC);return f=f.replace(/#/g,"0x"),e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_12="rgb_display_12.begin();","rgb_display_12.setPixelColor(0,"+f+");\n"},QS=function(x,e){var f=e.valueToCode(this,"Brightness",e.ORDER_ATOMIC);return e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);",e.setups_.setup_rgb_display_begin_12="rgb_display_12.begin();","rgb_display_12.setBrightness("+f+");\n"},$S=function(){return"rgb_display_12.show();\ndelay(1);\n"},xR=function(x,e){e.definitions_.include_Adafruit_NeoPixel="#include ",e.definitions_.var_declare_rgb_display12="Adafruit_NeoPixel rgb_display_12= Adafruit_NeoPixel(1,12,NEO_GRB + NEO_KHZ800);";return"rgb_display_12.setPixelColor(0, rgb_display_12.ColorHSV("+e.valueToCode(this,"H",e.ORDER_ATOMIC)+","+e.valueToCode(this,"S",e.ORDER_ATOMIC)+","+e.valueToCode(this,"V",e.ORDER_ATOMIC)+"));\n"},eR=function(x,e){var f=this.getFieldValue("serial_select"),t=e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC);e.definitions_.include_HardwareSerial="#include ";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return e.setups_["setup_serial_"+f]=f+".begin("+t+",SERIAL_8N1,"+i+","+n+");",""},fR=function(x,e){var f=this.getFieldValue("instruction");e.setups_.setup_serial_Serial="Serial.begin(9600);";var t="";return 1==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),2==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x01);\n Serial.write(0xEF);\n"),3==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x02);\n Serial.write(0xEF);\n"),4==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x03);\n Serial.write(0xEF);\n"),5==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x04);\n Serial.write(0xEF);\n"),6==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x05);\n Serial.write(0xEF);\n"),7==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x06);\n Serial.write(0xEF);\n"),8==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x07);\n Serial.write(0xEF);\n"),9==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x08);\n Serial.write(0xEF);\n"),10==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x09);\n Serial.write(0xEF);\n"),11==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x0A);\n Serial.write(0xEF);\n"),12==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0D);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),13==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0D);\n Serial.write(0x02);\n Serial.write(0xEF);\n"),14==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0D);\n Serial.write(0x04);\n Serial.write(0xEF);\n"),15==f&&(t=" Serial.write(0x7E);\n Serial.write(0x02);\n Serial.write(0x17);\n Serial.write(0xEF);\n"),16==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x46);\n Serial.write(0x01);\n Serial.write(0xEF);\n"),17==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),18==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x0B);\n Serial.write(0xEF);\n"),19==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x0C);\n Serial.write(0xEF);\n"),20==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x45);\n Serial.write(0xEF);\n"),21==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x51);\n Serial.write(0x44);\n Serial.write(0xEF);\n"),22==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x15);\n Serial.write(0x00);\n Serial.write(0xEF);\n"),23==f&&(t=" Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x15);\n Serial.write(0x01);\n Serial.write(0xEF);\n"),t},tR=function(x,e){var f=e.valueToCode(this,"num",e.ORDER_ATOMIC);return e.setups_.setup_serial_Serial="Serial.begin(9600);"," Serial.write(0x7E);\n Serial.write(0x04);\n Serial.write(0x40);\n Serial.write(0x00);\n Serial.write("+f+");\n Serial.write(0xEF);\n"},iR=function(x,e){var f=e.valueToCode(this,"num",e.ORDER_ATOMIC);return e.setups_.setup_serial_Serial="Serial.begin(9600);"," Serial.write(0x7E);\n Serial.write(0x03);\n Serial.write(0x0F);\n Serial.write("+f+");\n Serial.write(0xEF);\n"},nR=function(x,e){e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File myFile;\n",e.setups_["setup_SPIFFS.begin"]="SPIFFS.begin(true);";return""},sR=function(x,e){var f=this.getFieldValue("file_var"),t=this.getFieldValue("file_path");t='"'+t+'"';var i=this.getFieldValue("MODE");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",f+"= SPIFFS.open(String("+t+"), "+i+");\n"},aR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",f+".close();\n"},lR=function(x,e){var f=this.getFieldValue("file_var"),t=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",f+".print(String("+t+"));\n"},cR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",[f+".available()",e.ORDER_ATOMIC]},pR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",[f+".read()",e.ORDER_ATOMIC]},dR=function(x,e){var f=this.getFieldValue("file_var");return e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"',e.definitions_.esp32_spiffs="File "+f+";\n",[f+".size()",e.ORDER_ATOMIC]},oR=function(x,e){e.definitions_.include_FS='#include "FS.h"',e.definitions_.include_SPIFFS='#include "SPIFFS.h"';var f=this.getFieldValue("file_path");return"SPIFFS.remove(String("+(f='"'+f+'"')+"));"},uR=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if (time.b[2] != EEPROM.read(address+2) ) EEPROM.write(address+2, time.b[2]);\n if (time.b[3] != EEPROM.read(address+3) ) EEPROM.write(address+3, time.b[3]);\n EEPROM.commit();\n}\n";return e.definitions_[i]=n,"eepromWriteLong("+f+", "+t+");\n"},rR=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);";var t="eepromReadLong("+f+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return e.definitions_[i]=n,[t,e.ORDER_ATOMIC]},_R=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);","EEPROM.write("+f+", "+t+");\nEEPROM.commit();\n"},hR=function(x,e){var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ",e.setups_["setup_EEPROM.begin"]="EEPROM.begin(512);",["EEPROM.read("+f+")",e.ORDER_ATOMIC]},FR=function(x,e){e.setups_.setup_EEPROM_begin="EEPROM.begin(4000);";var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.put("+f+", "+t+");\nEEPROM.commit();"},IR=function(x,e){e.setups_.setup_EEPROM_begin="EEPROM.begin(4000);";var f=e.valueToCode(this,"ADDRESS",e.ORDER_ATOMIC)||"0",t=e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"0";return e.definitions_.include_EEPROM="#include ","EEPROM.get("+f+", "+t+");\n"},AR='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n {{# if (d.href === \'#\') { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } else { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } }}\r\n
\r\n
',ER={},{XML:TR}=Tx;ER.ESP32_CONFIG_TEMPLATE=AR,ER.ESP32_CONFIG_INTRODUCE="详细介绍请参考",ER.ESP32_CONFIG_MESSAGE_PSRAM=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"PSRAM",message:"PSRAM是存在于某些板、模块或SoC上的内部或外部扩展RAM。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#psram",name:"PSRAM"}),ER.ESP32_CONFIG_MESSAGE_PARTITION_SCHEME=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"分区方案",message:"此选项用于根据闪存大小和所需资源(如存储区域和OTA(空中更新))选择分区方案。请注意根据闪存大小选择正确的分区,如果你选择了错误的分区,系统将崩溃。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Partition Scheme"}),ER.ESP32_CONFIG_MESSAGE_CPU_FREQUENCY=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"CPU时钟频率",message:"在此选项上,你可以选择CPU时钟频率。此选项至关重要,必须根据板上的晶振和无线模块使用情况(Wi-Fi和蓝牙)进行选择。在某些应用中,建议降低CPU时钟频率以降低功耗。如果你不知道为什么要更改此频率,请保留默认选项。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#cpu-frequency",name:"CPU Frequency"}),ER.ESP32_CONFIG_MESSAGE_FLASH_MODE=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"烧录方式",message:"此选项用于选择与闪存的SPI通信模式。根据应用程序的不同,可以更改此模式以提高闪存通信速度。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-mode",name:"Flash Mode"}),ER.ESP32_CONFIG_MESSAGE_FLASH_FREQUENCY=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"闪存频率",message:"使用此功能可选择闪存频率。频率取决于内存型号,如果你不知道内存是否支持80Mhz,你可以尝试使用80Mhz选项上传草图,并通过串行监视器查看日志输出。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Flash Frequency"}),ER.ESP32_CONFIG_MESSAGE_FLASH_SIZE=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"闪存大小",message:"此选项用于选择闪存大小。应该根据你板上使用的闪存型号来确定闪存大小,如果你选择了错误的大小,则在选择分区方案时可能会出现问题。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-size",name:"Flash Size"}),ER.ESP32_CONFIG_MESSAGE_UPLOAD_SPEED=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"上传速度",message:"要选择上传速度,请更改“上载速度”,此值将用于向设备烧录代码。如果在用较高的上传速度时出现问题,请尝试减小此值,这可能是由于外部串行到USB芯片的限制。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#upload-speed",name:"Upload Speed"}),ER.ESP32_CONFIG_MESSAGE_ARDUINO_RUNS_ON=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"Arduino循环核心",message:"此选项用于选择运行Arduino核心任务的内核。只有当目标SoC有2个核心时才有效。当你有一些繁重的任务在运行时,你可能想在与Arduino任务不同的核心上运行此任务。出于这个原因,你可以使用此配置来选择正确的核心。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#arduino-runs-on",name:"Arduino Runs On"}),ER.ESP32_CONFIG_MESSAGE_EVENTS_RUN_ON=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"Arduino事件核心",message:"此选项用于选择运行Arduino事件的核心,这仅在目标SoC具有2个核心的情况下有效。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#events-run-on",name:"Events Run On"}),ER.ESP32_CONFIG_MESSAGE_USB_CDC_ON_BOOT=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"USB CDC On Boot",message:"USB通信设备类,或USB CDC,是一个用于基本通信的类,被用作常规串行控制器。该类用于在没有任何其他外部设备连接到SoC的情况下烧写设备。该选项可用于在启动时启用或禁用该功能。如果此选项为E启用,则一旦设备通过USB连接,一个新的串行端口将出现在串行端口列表中,使用这个新的串行端口来烧写设备。这个选项也可以用于使用CDC而不是UART0通过串行监视器进行调试。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-cdc-on-boot",name:"USB CDC On Boot"}),ER.ESP32_CONFIG_MESSAGE_USB_FIRMWARE_MSC_ON_BOOT=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"USB Firmware MSC On Boot",message:"USB大容量存储类或USB MSC是用于存储设备(如USB闪存驱动器)的类,此选项可用于在启动时启用或禁用此功能。如果此选项为启用,则一旦设备通过USB连接,系统中将显示一个新的存储设备作为存储驱动器。使用这个新的存储驱动器来写入和读取文件,或者拖拽新的二进制固件来烧写设备。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-firmware-msc-on-boot",name:"USB Firmware MSC On Boot"}),ER.ESP32_CONFIG_MESSAGE_USB_DFU_ON_BOOT=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"USB DFU On Boot",message:"USB设备固件升级是一个用于通过USB烧写设备的类,此选项可用于在启动时启用或禁用此功能。如果此选项为启用,则一旦设备通过USB连接,该设备将显示为支持USB DFU的设备。",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-dfu-on-boot",name:"USB DFU On Boot"}),ER.ESP32_CONFIG_MESSAGE_UPLOAD_MODE=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"上传方式",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"#",name:"无"}),ER.ESP32_CONFIG_MESSAGE_USB_MODE=TR.render(ER.ESP32_CONFIG_TEMPLATE,{title:"USB模式",moreInfo:ER.ESP32_CONFIG_INTRODUCE,href:"#",name:"无"}),ER.BOARD_FS="板卡文件管理";const gR=ER,mR={},{XML:MR}=Tx;mR.ESP32_CONFIG_TEMPLATE=AR,mR.ESP32_CONFIG_INTRODUCE="詳細介紹請參攷",mR.ESP32_CONFIG_MESSAGE_PSRAM=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"PSRAM",message:"PSRAM是存在於某些板、模塊或SoC上的內部或外部擴展RAM。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#psram",name:"PSRAM"}),mR.ESP32_CONFIG_MESSAGE_PARTITION_SCHEME=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"分區方案",message:"此選項用於根據閃存大小和所需資源(如存儲區域和OTA(空中更新))選擇分區方案。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Partition Scheme"}),mR.ESP32_CONFIG_MESSAGE_CPU_FREQUENCY=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"CPU時鐘頻率",message:"在此選項上,你可以選擇CPU時鐘頻率。 此選項至關重要,必須根據板上的晶振和無線模塊使用情况(Wi-Fi和藍牙)進行選擇。 在某些應用中,建議降低CPU時鐘頻率以降低功耗。 如果你不知道為什麼要更改此頻率,請保留默認選項。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#cpu-frequency",name:"CPU Frequency"}),mR.ESP32_CONFIG_MESSAGE_FLASH_MODE=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"燒錄管道",message:"此選項用於選擇與閃存的SPI通信模式。 根據應用程序的不同,可以更改此模式以提高閃存通信速度。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-mode",name:"Flash Mode"}),mR.ESP32_CONFIG_MESSAGE_FLASH_FREQUENCY=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"閃存頻率",message:"使用此功能可選擇閃存頻率。 頻率取決於記憶體型號,如果你不知道記憶體是否支持80Mhz,你可以嘗試使用80Mhz選項上傳草圖,並通過串列監視器查看日誌輸出。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Flash Frequency"}),mR.ESP32_CONFIG_MESSAGE_FLASH_SIZE=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"閃存大小",message:"此選項用於選擇閃存大小。 應該根據你板上使用的閃存型號來確定閃存大小,如果你選擇了錯誤的大小,則在選擇分區方案時可能會出現問題。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-size",name:"Flash Size"}),mR.ESP32_CONFIG_MESSAGE_UPLOAD_SPEED=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"上傳速度",message:"要選擇上傳速度,請更改“上載速度”,此值將用於向設備燒錄程式碼。 如果在用較高的上傳速度時出現問題,請嘗試减小此值,這可能是由於外部串列到USB晶片的限制。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#upload-speed",name:"Upload Speed"}),mR.ESP32_CONFIG_MESSAGE_ARDUINO_RUNS_ON=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"Arduino迴圈覈心",message:"此選項用於選擇運行Arduino覈心任務的內核。 只有當目標SoC有2個覈心時才有效。 當你有一些繁重的任務在運行時,你可能想在與Arduino任務不同的覈心上運行此任務。 出於這個原因,你可以使用此配寘來選擇正確的覈心。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#arduino-runs-on",name:"Arduino Runs On"}),mR.ESP32_CONFIG_MESSAGE_EVENTS_RUN_ON=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"Arduino事件覈心",message:"此選項用於選擇運行Arduino事件的覈心,這僅在目標SoC具有2個覈心的情况下有效。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#events-run-on",name:"Events Run On"}),mR.ESP32_CONFIG_MESSAGE_USB_CDC_ON_BOOT=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"USB CDC On Boot",message:"USB通信設備類,或USB CDC,是一個用於基本通信的類,被用作常規串列控制器。 該類用於在沒有任何其他外部設備連接到SoC的情况下燒寫設備。 該選項可用於在啟動時啟用或禁用該功能。 如果此選項為E啟用,則一旦設備通過USB連接,一個新的串列埠將出現在串列埠清單中,使用這個新的串列埠來燒寫設備。 這個選項也可以用於使用CDC而不是UART0通過串列監視器進行調試。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-cdc-on-boot",name:"USB CDC On Boot"}),mR.ESP32_CONFIG_MESSAGE_USB_FIRMWARE_MSC_ON_BOOT=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"USB Firmware MSC On Boot",message:"USB大容量存儲類或USB MSC是用於儲存設備(如USB閃存驅動器)的類,此選項可用於在啟動時啟用或禁用此功能。 如果此選項為啟用,則一旦設備通過USB連接,系統中將顯示一個新的儲存設備作為存儲驅動器。 使用這個新的存儲驅動器來寫入和讀取檔案,或者拖拽新的二進位固件來燒寫設備。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-firmware-msc-on-boot",name:"USB Firmware MSC On Boot"}),mR.ESP32_CONFIG_MESSAGE_USB_DFU_ON_BOOT=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"USB DFU On Boot",message:"USB設備固件升級是一個用於通過USB燒寫設備的類,此選項可用於在啟動時啟用或禁用此功能。 如果此選項為啟用,則一旦設備通過USB連接,該設備將顯示為支持USB DFU的設備。",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-dfu-on-boot",name:"USB DFU On Boot"}),mR.ESP32_CONFIG_MESSAGE_UPLOAD_MODE=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"上传方式",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"#",name:"無"}),mR.ESP32_CONFIG_MESSAGE_USB_MODE=MR.render(mR.ESP32_CONFIG_TEMPLATE,{title:"USB模式",moreInfo:mR.ESP32_CONFIG_INTRODUCE,href:"#",name:"無"}),mR.BOARD_FS="闆卡文件管理";const CR=mR,OR={},{XML:SR}=Tx;OR.ESP32_CONFIG_TEMPLATE=AR,OR.ESP32_CONFIG_INTRODUCE="For more information, please visit",OR.ESP32_CONFIG_MESSAGE_PSRAM=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"PSRAM",message:"The PSRAM is an internal or external extended RAM present on some boards, modules or SoC.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#psram",name:"PSRAM"}),OR.ESP32_CONFIG_MESSAGE_PARTITION_SCHEME=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Partition Scheme",message:"This option is used to select the partition model according to the flash size and the resources needed, like storage area and OTA (Over The Air updates). Be careful selecting the right partition according to the flash size. If you select the wrong partition, the system will crash.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Partition Scheme"}),OR.ESP32_CONFIG_MESSAGE_CPU_FREQUENCY=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"CPU Frequency",message:"On this option, you can select the CPU clock frequency. This option is critical and must be selected according to the high-frequency crystal present on the board and the radio usage (Wi-Fi and Bluetooth). In some applications, reducing the CPU clock frequency is recommended in order to reduce power consumption. If you don’t know why you should change this frequency, leave the default option.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#cpu-frequency",name:"CPU Frequency"}),OR.ESP32_CONFIG_MESSAGE_FLASH_MODE=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Flash Mode",message:"This option is used to select the SPI communication mode with the flash memory. Depending on the application, this mode can be changed in order to increase the flash communication speed.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-mode",name:"Flash Mode"}),OR.ESP32_CONFIG_MESSAGE_FLASH_FREQUENCY=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Flash Frequency",message:"Use this function to select the flash memory frequency. The frequency will be dependent on the memory model.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#partition-scheme",name:"Flash Frequency"}),OR.ESP32_CONFIG_MESSAGE_FLASH_SIZE=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Flash Size",message:"This option is used to select the flash size. The flash size should be selected according to the flash model used on your board. If you choose the wrong size, you may have issues when selecting the partition scheme.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#flash-size",name:"Flash Size"}),OR.ESP32_CONFIG_MESSAGE_UPLOAD_SPEED=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Upload Speed",message:"To select the flashing speed, change the Upload Speed. This value will be used for flashing the code to the device. If you have issues while flashing the device at high speed, try to decrease this value. This could be due to the external serial-to-USB chip limitations.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#upload-speed",name:"Upload Speed"}),OR.ESP32_CONFIG_MESSAGE_ARDUINO_RUNS_ON=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Arduino Runs On",message:"This function is used to select the core that runs the Arduino core. This is only valid if the target SoC has 2 cores. When you have some heavy task running, you might want to run this task on a different core than the Arduino tasks. For this reason, you have this configuration to select the right core.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#arduino-runs-on",name:"Arduino Runs On"}),OR.ESP32_CONFIG_MESSAGE_EVENTS_RUN_ON=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Events Run On",message:"This function is also used to select the core that runs the Arduino events. This is only valid if the target SoC has 2 cores.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#events-run-on",name:"Events Run On"}),OR.ESP32_CONFIG_MESSAGE_USB_CDC_ON_BOOT=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"USB CDC On Boot",message:"The USB Communications Device Class, or USB CDC, is a class used for basic communication to be used as a regular serial controller (like RS-232). This class is used for flashing the device without any other external device attached to the SoC. This option can be used to Enable or Disable this function at the boot. If this option is Enabled, once the device is connected via USB, one new serial port will appear in the list of the serial ports. Use this new serial port for flashing the device.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-cdc-on-boot",name:"USB CDC On Boot"}),OR.ESP32_CONFIG_MESSAGE_USB_FIRMWARE_MSC_ON_BOOT=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"USB Firmware MSC On Boot",message:"The USB Mass Storage Class, or USB MSC, is a class used for storage devices, like a USB flash drive. This option can be used to Enable or Disable this function at the boot. If this option is Enabled, once the device is connected via USB, one new storage device will appear in the system as a storage drive. Use this new storage drive to write and read files or to drop a new firmware binary to flash the device.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-firmware-msc-on-boot",name:"USB Firmware MSC On Boot"}),OR.ESP32_CONFIG_MESSAGE_USB_DFU_ON_BOOT=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"USB DFU On Boot",message:"The USB Device Firmware Upgrade is a class used for flashing the device through USB. This option can be used to Enable or Disable this function at the boot. If this option is Enabled, once the device is connected via USB, the device will appear as a USB DFU capable device.",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"https://docs.espressif.com/projects/arduino-esp32/en/latest/guides/tools_menu.html#usb-dfu-on-boot",name:"USB DFU On Boot"}),OR.ESP32_CONFIG_MESSAGE_UPLOAD_MODE=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"Upload Mode",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"#",name:"None"}),OR.ESP32_CONFIG_MESSAGE_USB_MODE=SR.render(OR.ESP32_CONFIG_TEMPLATE,{title:"USB Mode",moreInfo:OR.ESP32_CONFIG_INTRODUCE,href:"#",name:"None"}),OR.BOARD_FS="Board FS";const RR=OR,NR=uC,DR=rC,PR=path,LR={littlefs:{download:"{{&esptool}} --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},spiffs:{download:"{{&esptool}} --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},fatfs:{download:"{{&esptool}} --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -t fatfs -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -t fatfs -s {{&size}} {{&img}} && {{&esptool}} --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"}},bR={app3M_fat9M_16MB:{type:Tx.FSBoardHandler.FsType.FATFS,offset:6356992,size:10420224,blockSize:4096,pageSize:256},default:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:2686976,size:1441792,blockSize:4096,pageSize:256},default_8MB:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:6750208,size:1638400,blockSize:4096,pageSize:256},default_16MB:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:13172736,size:3604480,blockSize:4096,pageSize:256},defaultffat:{type:Tx.FSBoardHandler.FsType.FATFS,offset:2691072,size:1437696,blockSize:4096,pageSize:256},ffat:{type:Tx.FSBoardHandler.FsType.FATFS,offset:4263936,size:12517376,blockSize:4096,pageSize:256},huge_app:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:3211264,size:983040,blockSize:4096,pageSize:256},large_spiffs_16MB:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:9502720,size:7274496,blockSize:4096,pageSize:256},min_spiffs:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:3997696,size:196608,blockSize:4096,pageSize:256},minimal:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:1376256,size:720896},no_ota:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:2162688,size:2031616,blockSize:4096,pageSize:256},noota_3g:{type:Tx.FSBoardHandler.FsType.SPIFFS,offset:1114112,size:3080192,blockSize:4096,pageSize:256},noota_3gffat:{type:Tx.FSBoardHandler.FsType.FATFS,offset:1114112,size:3080192,blockSize:4096,pageSize:256},noota_ffat:{type:Tx.FSBoardHandler.FsType.FATFS,offset:2162688,size:2031616,blockSize:4096,pageSize:256},rainmaker:{type:Tx.FSBoardHandler.FsType.FATFS,offset:2686976,size:1441792,blockSize:4096,pageSize:256}},yR={"esp32:esp32:esp32c3":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:esp32":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB","rainmaker"],"esp32:esp32:esp32wrover":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:pico32":["default","no_ota","min_spiffs"],"esp32:esp32:esp32wroverkit":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:tinypico":["default","no_ota","min_spiffs"],"esp32:esp32:feathers2":["fatflash","app3M_fat9M_16MB","default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:tinys2":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:S_ODI_Ultra":["default"],"esp32:esp32:micros2":["fatflash","app3M_fat9M_16MB","default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:magicbit":["default"],"esp32:esp32:turta_iot_node":["default"],"esp32:esp32:ttgo-lora32-v1":["default"],"esp32:esp32:ttgo-t1":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:ttgo-t7-v13-mini32":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:ttgo-t7-v14-mini32":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:cw02":["default"],"esp32:esp32:esp32thing":["default","no_ota","min_spiffs"],"esp32:esp32:esp32thing_plus":["default","large_spiffs"],"esp32:esp32:sparkfun_esp32s2_thing_plus":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:sparkfun_lora_gateway_1-channel":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:nina_w10":["minimal"],"esp32:esp32:widora-air":["default"],"esp32:esp32:esp320":["default"],"esp32:esp32:nano32":["default"],"esp32:esp32:d32":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:d32_pro":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:lolin32":["default","no_ota","min_spiffs"],"esp32:esp32:lolin32-lite":["default","no_ota","min_spiffs"],"esp32:esp32:pocket_32":["default"],"esp32:esp32:WeMosBat":["default"],"esp32:esp32:espea32":["default"],"esp32:esp32:quantum":["default"],"esp32:esp32:node32s":["default","no_ota","min_spiffs"],"esp32:esp32:hornbill32dev":["default"],"esp32:esp32:hornbill32minima":["default"],"esp32:esp32:firebeetle32":["default"],"esp32:esp32:intorobot-fig":["default"],"esp32:esp32:onehorse32dev":["default"],"esp32:esp32:featheresp32":["default","no_ota","min_spiffs"],"esp32:esp32:adafruit_metro_esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:adafruit_magtag29_esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:adafruit_funhouse_esp32s2":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:adafruit_feather_esp32s2_nopsram":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:nodemcu-32s":["default"],"esp32:esp32:mhetesp32devkit":["default","no_ota","min_spiffs"],"esp32:esp32:mhetesp32minikit":["default","defaultffat","no_ota","min_spiffs"],"esp32:esp32:esp32vn-iot-uno":["default"],"esp32:esp32:esp32doit-devkit-v1":["default"],"esp32:esp32:esp32doit-espduino":["default"],"esp32:esp32:esp32-evb":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-gateway":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-poe":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-poe-iso":["default","no_ota","min_spiffs"],"esp32:esp32:esp32-DevKitLipo":["default","minimal","no_ota","huge_app","min_spiffs","fatflash"],"esp32:esp32:espino32":["default"],"esp32:esp32:m5stack-core-esp32":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-fire":["default","large_spiffs"],"esp32:esp32:m5stick-c":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-atom":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-core2":["default","large_spiffs","minimal","no_ota","noota_3g","huge_app","min_spiffs"],"esp32:esp32:m5stack-timer-cam":["default","no_ota","min_spiffs"],"esp32:esp32:m5stack-coreink":["default","no_ota","min_spiffs"],"esp32:esp32:odroid_esp32":["default","no_ota","min_spiffs"],"esp32:esp32:heltec_wifi_kit_32":["default"],"esp32:esp32:heltec_wifi_lora_32":["default"],"esp32:esp32:heltec_wifi_lora_32_V2":["default_8MB"],"esp32:esp32:heltec_wireless_stick":["default_8MB"],"esp32:esp32:heltec_wireless_stick_lite":["default"],"esp32:esp32:espectro32":["default"],"esp32:esp32:CoreESP32":["default","minimal","no_ota","min_spiffs","fatflash"],"esp32:esp32:alksesp32":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:wipy3":["default"],"esp32:esp32:bpi-bit":["default"],"esp32:esp32:wesp32":["default"],"esp32:esp32:t-beam":["default"],"esp32:esp32:d-duino-32":["default","minimal","no_ota","min_spiffs","fatflash"],"esp32:esp32:lopy":["default"],"esp32:esp32:lopy4":["default"],"esp32:esp32:oroca_edubot":["huge_app","min_spiffs"],"esp32:esp32:fm-devkit":["default"],"esp32:esp32:frogboard":["default","minimal","no_ota","min_spiffs"],"esp32:esp32:esp32cam":["huge_app"],"esp32:esp32:twatch":["default","large_spiffs"],"esp32:esp32:d1_mini32":["default","no_ota","min_spiffs"],"esp32:esp32:gpy":["default"],"esp32:esp32:vintlabs-devkit-v1":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:honeylemon":["default"],"esp32:esp32:mgbot-iotik32a":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:mgbot-iotik32b":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:piranha_esp-32":["default","no_ota","min_spiffs"],"esp32:esp32:metro_esp-32":["default","no_ota","min_spiffs"],"esp32:esp32:sensesiot_weizen":["default"],"esp32:esp32:kits-edu":["default","no_ota","min_spiffs"],"esp32:esp32:mPython":["huge_app","default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","min_spiffs","fatflash"],"esp32:esp32:OpenKB":["default"],"esp32:esp32:wifiduino32":["default","no_ota","min_spiffs"],"esp32:esp32:ttgo-lora32-v21new":["default"],"esp32:esp32:imbrios-logsens-v1p1":["default","no_ota","min_spiffs"],"esp32:esp32:healthypi4":["default","no_ota","min_spiffs"],"esp32:esp32:ET-Board":["default","no_ota","min_spiffs"],"esp32:esp32:ch_denky":["default","no_ota","min_spiffs"],"esp32:esp32:uPesy_wrover":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:uPesy_wroom":["default","defaultffat","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs"],"esp32:esp32:kb32":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash","app3M_fat9M_16MB"],"esp32:esp32:deneyapkart":["default","defaultffat","default_8MB","minimal","no_ota","noota_3g","noota_ffat","noota_3gffat","huge_app","min_spiffs","fatflash"],"esp32:esp32:esp32-trueverit-iot-driver":["default"],"esp32:esp32:esp32-trueverit-iot-driver-mkii":["default"]},vR=[{id:"default",text:"default"},{id:"spiffs",text:"spiffs"},{id:"fatfs",text:"fatfs"},{id:"littlefs",text:"littlefs"}],wR={mkspiffs:{version:"0.2.3",linux:{x32:"./mkspiffs/linux/mkspiffs-x32.bin",x64:"./mkspiffs/linux/mkspiffs-x64.bin",arm:"./mkspiffs/linux/mkspiffs-arm.bin"},darwin:{x64:"./mkspiffs/darwin/mkspiffs.bin",arm:"./mkspiffs/darwin/mkspiffs.bin"},win32:{x32:"./mkspiffs/win32/mkspiffs.exe",x64:"./mkspiffs/win32/mkspiffs.exe"}},mklittlefs:{version:"3.2.0",linux:{x32:"./mklittlefs/linux/mklittlefs-x64.bin",x64:"./mklittlefs/linux/mklittlefs-x64.bin",arm:"./mklittlefs/linux/mklittlefs-arm.bin"},darwin:{x64:"./mklittlefs/darwin/mklittlefs.bin",arm:"./mklittlefs/darwin/mklittlefs.bin"},win32:{x32:"./mklittlefs/win32/mklittlefs-x32.exe",x64:"./mklittlefs/win32/mklittlefs-x64.exe"}},mkfatfs:{version:"2.0.1",linux:{x32:"./mkfatfs/linux/mkfatfs-x64.bin",x64:"./mkfatfs/linux/mkfatfs-x64.bin",arm:"./mkfatfs/linux/mkfatfs-arm.bin"},darwin:{x64:"./mkfatfs/darwin/mkfatfs.bin",arm:"./mkfatfs/darwin/mkfatfs.bin"},win32:{x32:"./mkfatfs/win32/mkfatfs.exe",x64:"./mkfatfs/win32/mkfatfs.exe"}}};class VR extends Tx.FSBoardHandler{constructor(){super();for(let x in LR)this.setFSCommands(x,LR[x])}onBeforeUpload(){const x=Tx.Boards.getSelectedBoardKey(),e=Tx.Boards.getSelectedBoardConfigParam("FlashMode")||"keep";let f=Tx.Boards.getSelectedBoardConfigParam("FlashFreq")||"keep";"keep"!==f&&(f+="m");let t=Tx.Boards.getSelectedBoardConfigParam("FlashSize")||"detect";"detect"!==t&&(t+="B");const i=Tx.Boards.getSelectedBoardConfigParam("UploadSpeed")||"115200";let n=Tx.Boards.getSelectedBoardConfigParam("PartitionScheme"),s=yR[x]??[];s.includes(n)||(n=s.length?s[0]:"default");const a={...bR[n]};"default"===this.getFSType()&&this.setFSType(a.type);const l=this.getFSToolPath(),c=PR.join(Tx.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:l,img:c,flashMode:e,flashFreq:f,flashSize:t,baud:i,...a})}onBeforeDownload(){const x=Tx.Boards.getSelectedBoardKey(),e=Tx.Boards.getSelectedBoardConfigParam("UploadSpeed")||"115200";let f=Tx.Boards.getSelectedBoardConfigParam("PartitionScheme"),t=yR[x]??[];t.includes(f)||(f=t.length?t[0]:"default");const i={...bR[f]};"default"===this.getFSType()&&this.setFSType(i.type);const n=this.getFSToolPath(),s=PR.join(Tx.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:n,img:s,baud:e,...i})}getFSMenu(){return vR}getFSToolPath(){const x=this.getFSType();let e="x64";switch(process.arch){case"arm64":case"arm":e="arm";break;case"ia32":e="x32";break;default:e="x64"}const f=Tx.Env.currentPlatform,t=wR[`mk${x}`];return PR.join(Tx.Env.boardDirPath,"build/tools",t[f][e])}}Ex.Arduino=fe,Ex.generator=fe,Object.assign(Ex.Variables,xe),Object.assign(Ex.Procedures,Qx),Tx.Profile.default={},Object.assign(Tx.Profile,ig),Object.assign(Tx.Profile.default,ig.arduino_esp32),Object.assign(Ex.Lang.ZhHans,gR),Object.assign(Ex.Lang.ZhHant,CR),Object.assign(Ex.Lang.En,RR),function(){const x=Tx.Workspace.getMain().getStatusBarsManager(),e=x.getDropdownMenu().getItem("menu");e.add({weight:2,type:"sep1",data:"---------"}),e.add({weight:3,type:"filesystem-tool",data:{isHtmlName:!0,name:Tx.ContextMenu.getItem(Ex.Msg.BOARD_FS,""),callback:()=>{x.add("board-fs","board-fs",Ex.Msg.BOARD_FS,Ex.Msg.BOARD_FS),x.changeTo("board-fs");x.getStatusBarById("board-fs").setHandler(new VR)}}})}(),Object.assign(Ex.Blocks,t,i,a,l,c,p,d,o,u,r,_,h,F,I,A,E,T,g,m,M,C,W,j,K,q,z,Z,J,Q,xx,ex,fx,tx,ix,nx,NR),Object.assign(Ex.Arduino.forBlock,n,s,O,S,R,N,D,P,L,b,y,v,w,V,Y,k,X,G,B,U,H,sx,ax,lx,cx,dx,ox,ux,rx,_x,hx,px,Fx,Ix,Ax,DR)})(); \ No newline at end of file diff --git a/boards/default/arduino_esp32/styles/main.c1d6a0af.css b/boards/default/arduino_esp32/styles/main.d5ec9bef.css similarity index 100% rename from boards/default/arduino_esp32/styles/main.c1d6a0af.css rename to boards/default/arduino_esp32/styles/main.d5ec9bef.css diff --git a/boards/default/arduino_esp8266/examples/心知天气.mix b/boards/default/arduino_esp8266/examples/1Jvh5XjrbIsU.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/心知天气.mix rename to boards/default/arduino_esp8266/examples/1Jvh5XjrbIsU.mix diff --git a/boards/default/arduino_esp8266/examples/Blynk留言机.mix b/boards/default/arduino_esp8266/examples/ATosn5mEP7pO.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/Blynk留言机.mix rename to boards/default/arduino_esp8266/examples/ATosn5mEP7pO.mix diff --git a/boards/default/arduino_esp8266/examples/简明教程/AP模式一键配置网络与清除网络信息.mix b/boards/default/arduino_esp8266/examples/E7EhYuZNSpDu/4NGViUpv7pWW.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/简明教程/AP模式一键配置网络与清除网络信息.mix rename to boards/default/arduino_esp8266/examples/E7EhYuZNSpDu/4NGViUpv7pWW.mix diff --git a/boards/default/arduino_esp8266/examples/简明教程/MQTT断线反馈与重连.mix b/boards/default/arduino_esp8266/examples/E7EhYuZNSpDu/ARc9f9iD6kK7.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/简明教程/MQTT断线反馈与重连.mix rename to boards/default/arduino_esp8266/examples/E7EhYuZNSpDu/ARc9f9iD6kK7.mix diff --git a/boards/default/arduino_esp8266/examples/简明教程/网络连接超时优化.mix b/boards/default/arduino_esp8266/examples/E7EhYuZNSpDu/u98AlCsA6LAb.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/简明教程/网络连接超时优化.mix rename to boards/default/arduino_esp8266/examples/E7EhYuZNSpDu/u98AlCsA6LAb.mix diff --git a/boards/default/arduino_esp8266/examples/OLED网络时钟.mix b/boards/default/arduino_esp8266/examples/GCgYG8sn74yS.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/OLED网络时钟.mix rename to boards/default/arduino_esp8266/examples/GCgYG8sn74yS.mix diff --git a/boards/default/arduino_esp8266/examples/NTP时间服务器.mix b/boards/default/arduino_esp8266/examples/Gw2AedZWvq3C.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/NTP时间服务器.mix rename to boards/default/arduino_esp8266/examples/Gw2AedZWvq3C.mix diff --git a/boards/default/arduino_esp8266/examples/15-MQTT Send Message.mix b/boards/default/arduino_esp8266/examples/J_1v445PPqtU.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/15-MQTT Send Message.mix rename to boards/default/arduino_esp8266/examples/J_1v445PPqtU.mix diff --git a/boards/default/arduino_esp8266/examples/Blynk-远程七彩灯.mix b/boards/default/arduino_esp8266/examples/Ti910iSljVAB.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/Blynk-远程七彩灯.mix rename to boards/default/arduino_esp8266/examples/Ti910iSljVAB.mix diff --git a/boards/default/arduino_esp8266/examples/Blynk连接服务器.mix b/boards/default/arduino_esp8266/examples/VSG3JppSFOVu.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/Blynk连接服务器.mix rename to boards/default/arduino_esp8266/examples/VSG3JppSFOVu.mix diff --git a/boards/default/arduino_esp8266/examples/TM1637网络时钟.mix b/boards/default/arduino_esp8266/examples/Yx9ZDJAkyQoE.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/TM1637网络时钟.mix rename to boards/default/arduino_esp8266/examples/Yx9ZDJAkyQoE.mix diff --git a/boards/default/arduino_esp8266/examples/Blynk气象站.mix b/boards/default/arduino_esp8266/examples/_6YFfl5JsbCK.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/Blynk气象站.mix rename to boards/default/arduino_esp8266/examples/_6YFfl5JsbCK.mix diff --git a/boards/default/arduino_esp8266/examples/旋转编码器读取数据.mix b/boards/default/arduino_esp8266/examples/f98EC8NLXMEJ.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/旋转编码器读取数据.mix rename to boards/default/arduino_esp8266/examples/f98EC8NLXMEJ.mix diff --git a/boards/default/arduino_esp8266/examples/MQTT连接DF EASY_IOT.mix b/boards/default/arduino_esp8266/examples/fjrDL0pqbJlk.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/MQTT连接DF EASY_IOT.mix rename to boards/default/arduino_esp8266/examples/fjrDL0pqbJlk.mix diff --git a/boards/default/arduino_esp8266/examples/MAX7219点阵时钟.mix b/boards/default/arduino_esp8266/examples/hfvUoEPl92yX.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/MAX7219点阵时钟.mix rename to boards/default/arduino_esp8266/examples/hfvUoEPl92yX.mix diff --git a/boards/default/arduino_esp8266/examples/URL和Base64编解码.mix b/boards/default/arduino_esp8266/examples/iR1klIOhXGAN.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/URL和Base64编解码.mix rename to boards/default/arduino_esp8266/examples/iR1klIOhXGAN.mix diff --git a/boards/default/arduino_esp8266/examples/Blynk控制舵机.mix b/boards/default/arduino_esp8266/examples/jsGKMNMYZqfw.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/Blynk控制舵机.mix rename to boards/default/arduino_esp8266/examples/jsGKMNMYZqfw.mix diff --git a/boards/default/arduino_esp8266/examples/map.json b/boards/default/arduino_esp8266/examples/map.json index 7b292708..6f42bbc5 100644 --- a/boards/default/arduino_esp8266/examples/map.json +++ b/boards/default/arduino_esp8266/examples/map.json @@ -1,78 +1,78 @@ { - "15-MQTT Send Message.mix": { + "J_1v445PPqtU.mix": { "__file__": true, "__name__": "15-MQTT Send Message.mix" }, - "Blynk-远程七彩灯.mix": { + "Ti910iSljVAB.mix": { "__file__": true, "__name__": "Blynk-远程七彩灯.mix" }, - "Blynk控制舵机.mix": { + "jsGKMNMYZqfw.mix": { "__file__": true, "__name__": "Blynk控制舵机.mix" }, - "Blynk无线桥接通信.mix": { + "peJXVZ7twXtc.mix": { "__file__": true, "__name__": "Blynk无线桥接通信.mix" }, - "Blynk气象站.mix": { + "_6YFfl5JsbCK.mix": { "__file__": true, "__name__": "Blynk气象站.mix" }, - "Blynk留言机.mix": { + "ATosn5mEP7pO.mix": { "__file__": true, "__name__": "Blynk留言机.mix" }, - "Blynk连接服务器.mix": { + "VSG3JppSFOVu.mix": { "__file__": true, "__name__": "Blynk连接服务器.mix" }, - "MAX7219点阵时钟.mix": { + "hfvUoEPl92yX.mix": { "__file__": true, "__name__": "MAX7219点阵时钟.mix" }, - "MQTT连接DF EASY_IOT.mix": { + "fjrDL0pqbJlk.mix": { "__file__": true, "__name__": "MQTT连接DF EASY_IOT.mix" }, - "NTP时间服务器.mix": { + "Gw2AedZWvq3C.mix": { "__file__": true, "__name__": "NTP时间服务器.mix" }, - "OLED网络时钟.mix": { + "GCgYG8sn74yS.mix": { "__file__": true, "__name__": "OLED网络时钟.mix" }, - "TM1637网络时钟.mix": { + "Yx9ZDJAkyQoE.mix": { "__file__": true, "__name__": "TM1637网络时钟.mix" }, - "URL和Base64编解码.mix": { + "iR1klIOhXGAN.mix": { "__file__": true, "__name__": "URL和Base64编解码.mix" }, - "使用http发送POST请求.mix": { + "mc38ZoFb5gv7.mix": { "__file__": true, "__name__": "使用http发送POST请求.mix" }, - "心知天气.mix": { + "1Jvh5XjrbIsU.mix": { "__file__": true, "__name__": "心知天气.mix" }, - "旋转编码器读取数据.mix": { + "f98EC8NLXMEJ.mix": { "__file__": true, "__name__": "旋转编码器读取数据.mix" }, - "简明教程": { - "AP模式一键配置网络与清除网络信息.mix": { + "E7EhYuZNSpDu": { + "4NGViUpv7pWW.mix": { "__file__": true, "__name__": "AP模式一键配置网络与清除网络信息.mix" }, - "MQTT断线反馈与重连.mix": { + "ARc9f9iD6kK7.mix": { "__file__": true, "__name__": "MQTT断线反馈与重连.mix" }, - "网络连接超时优化.mix": { + "u98AlCsA6LAb.mix": { "__file__": true, "__name__": "网络连接超时优化.mix" }, diff --git a/boards/default/arduino_esp8266/examples/使用http发送POST请求.mix b/boards/default/arduino_esp8266/examples/mc38ZoFb5gv7.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/使用http发送POST请求.mix rename to boards/default/arduino_esp8266/examples/mc38ZoFb5gv7.mix diff --git a/boards/default/arduino_esp8266/examples/Blynk无线桥接通信.mix b/boards/default/arduino_esp8266/examples/peJXVZ7twXtc.mix similarity index 100% rename from boards/default/arduino_esp8266/examples/Blynk无线桥接通信.mix rename to boards/default/arduino_esp8266/examples/peJXVZ7twXtc.mix diff --git a/boards/default/arduino_esp8266/index.xml b/boards/default/arduino_esp8266/index.xml index a3835dce..a25e0f47 100644 --- a/boards/default/arduino_esp8266/index.xml +++ b/boards/default/arduino_esp8266/index.xml @@ -1 +1 @@ -01000000010001101110001000111001item++item12997millis11001100110011000helloaHelloMixlyABC123Mixlyysubstring036.6662StringStringsQStringsubstringsubstringsubstring0xff0000223a0hellohello000intmylist012123234array22{0,0},{0,0}array000array00array96000a0x77100003950100000x5A2345671201992240234SDASCL800202011Jan/01/202020201112:34:568000245121314154800WHILElocationSeriallocation.latSeriallocation.lng45610054100100100001500121001012341001010100045452454545208830801000mySerial1011mySerial9600myPlayermySerial50015myPlayer0DFPLAYER_EQ_NORMALmyPlayer2DFPLAYER_DEVICE_SD1111myPlayerreadFileCounts2DFPLAYER_DEVICE_SD1#ff000000042020100010255255202020clearabcd20234530012300x270245121311mylcd011clear0x3CSSD1306_128X64_NONAMEU8G2_R01098U8G2_R010page1timR08_tr0201234bitmap96TRUE122STHeiti16hz_up0hz_left04816TRUE米思齐0012864bitmap1100200020643211152011301110201110203303063030615145545338431211SDASCL111111Mixly300Mixly05ir_item0SerialprintlnHEXir_item32021mylist161mylist164fileName.txtfileName.txtfileName.txtfileName.txthello worldTRUE000itemssidpasswordntp1.aliyun.com860030:AE:A4:58:9D:7CrandomMixly1100SerialSent with successSerialError sending the dataSerialmessagehttp://jsonplaceholder.typicode.com/posts/1SerialRequest_resultSerialInvalid response!http://jsonplaceholder.typicode.com/posts/1{\"name\":\"Mixly\"}SerialRequest_resultSerialInvalid response!0d9efdd0413ec4b74ab0057a0b8675654wifi-ssidwifi-passd9efdd0413ec4b74ab0057a0b8675654d9efdd0413ec4b74ab0057a0b8675654V0Serialvpin_valueV01000V00#ff00000#ff0000example@blynk.ccSubjectContentNotifyV0Serialterminal_textHello,World!V0SerialhourSerialminuteSerialsecondV000923http://yourvideostream.urlTest rowhelloV0SerialindexSerialselectedV0SerialindexFromSerialindexTo0NameJohn0NameJohn000BLYNK_CONNECTEDV0n2KlfPGDyjDBluNi1G9DG5OEjqDT996L00BLYNK_CONNECTED10V0actionStringEQactionplayplay();45EQactionstoppause();45EQactionnextnext();45EQactionprevprev();45V0SeriallxV0SerialxSerialySerialzV0SerialxSerialySerialzV039.98.114.1221883IDsiotsiot120Topic_0Serialmixio.mixly.cn188312345678@qq.comd86d2e60b813590963e2641b44945154testtextSerialprintlnmqtt_dataHellotext \ No newline at end of file +01000000010001101110001000111001item++item12997millis11001100110011000helloaHelloMixlyABC123Mixlyysubstring036.6662StringStringsQStringsubstringsubstringsubstring0xff0000223a0hellohello000intmylist012123234array22{0,0},{0,0}array000array00array96000a0x77100003950100000x5A2345671201992240234SDASCL800202011Jan/01/202020201112:34:568000245121314154800WHILElocationSeriallocation.latSeriallocation.lng45610054100100100001500121001012341001010100045452454545208830801000mySerial1011mySerial9600myPlayermySerial50015myPlayer0DFPLAYER_EQ_NORMALmyPlayer2DFPLAYER_DEVICE_SD1111myPlayerreadFileCounts2DFPLAYER_DEVICE_SD1#ff000000042020100010255255202020clearabcd20234530012300x270245121311mylcd011clear0x3CSSD1306_128X64_NONAMEU8G2_R01098U8G2_R010page1timR08_tr0201234bitmap96TRUE122STHeiti16hz_up0hz_left04816TRUE米思齐0012864bitmap1100200020643211152011301110201110203303063030615145545338431211SDASCL111111Mixly300Mixly05ir_item0SerialprintlnHEXir_item32021mylist161mylist164fileName.txtfileName.txtfileName.txtfileName.txthello worldTRUE000itemssidpasswordntp1.aliyun.com860030:AE:A4:58:9D:7CrandomMixly1100SerialSent with successSerialError sending the dataSerialmessagehttp://jsonplaceholder.typicode.com/posts/1SerialRequest_resultSerialInvalid response!http://jsonplaceholder.typicode.com/posts/1{\"name\":\"Mixly\"}SerialRequest_resultSerialInvalid response!0d9efdd0413ec4b74ab0057a0b8675654wifi-ssidwifi-passd9efdd0413ec4b74ab0057a0b8675654d9efdd0413ec4b74ab0057a0b8675654V0Serialvpin_valueV01000V00#ff00000#ff0000example@blynk.ccSubjectContentNotifyV0Serialterminal_textHello,World!V0SerialhourSerialminuteSerialsecondV000923http://yourvideostream.urlTest rowhelloV0SerialindexSerialselectedV0SerialindexFromSerialindexTo0NameJohn0NameJohn000BLYNK_CONNECTEDV0n2KlfPGDyjDBluNi1G9DG5OEjqDT996L00BLYNK_CONNECTED10V0actionStringEQactionplayplay();45EQactionstoppause();45EQactionnextnext();45EQactionprevprev();45V0SeriallxV0SerialxSerialySerialzV0SerialxSerialySerialzV039.98.114.1221883IDsiotsiot120Topic_0Serialmixio.mixly.cn188312345678@qq.comd86d2e60b813590963e2641b44945154testtextSerialprintlnmqtt_dataHellotext \ No newline at end of file diff --git a/boards/default/arduino_esp8266/main.bundle.js b/boards/default/arduino_esp8266/main.bundle.js index 69a9cdb5..4af184de 100644 --- a/boards/default/arduino_esp8266/main.bundle.js +++ b/boards/default/arduino_esp8266/main.bundle.js @@ -1 +1 @@ -(()=>{"use strict";var x={145:x=>{x.exports="data:image/png;base64,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"},93:x=>{x.exports="data:image/png;base64,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"},394:x=>{x.exports="data:image/png;base64,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"},306:x=>{x.exports="data:image/png;base64,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"},987:x=>{x.exports="data:image/png;base64,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"},378:x=>{x.exports="data:image/png;base64,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"},800:x=>{x.exports="data:image/png;base64,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"},155:x=>{x.exports="data:image/png;base64,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"},525:x=>{x.exports="data:image/png;base64,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"},761:x=>{x.exports="data:image/png;base64,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"},789:x=>{x.exports="data:image/png;base64,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"},290:x=>{x.exports="data:image/png;base64,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"},305:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAUOSURBVHja5JvdbxVFFMC31kSIBa1KBUsk1BgR2sb6gWLFD9qSYGJMbSiJKYpUVLRKgp+BBJu0iUhLRYRrjKAiJj74JH2jEF/0Uf0z/Cfu3p8vZ8jhOHvv7t7dvYudZNL70btzfnPOzJw5cyYAguVUi2ikDbgPGAImgWngDPA9cBGoAMeBw8CLwKNAZ2mBowrQC5xFSq1WQ7/WVRf1fhE4BPQGdUpa4HZgChjIAhh4wAkfhiFhGJKkhGFoO+Iq8BpwW1bAU6qBE8DGJoGfc89zwtfTsO4Q+95aB/ChBk8L/HcYhlSrVS3cUWB1SuAVRtDLwOfAPmBYxmm/mP0jwCAwCnwMXIiCNZp/txng3/SDq9WqbvOgmHzSMbwC2AqsCRIWaW8TsB9YsuBOMcCPwLamgSN6dHcS4CwLsBk4roeJ6YT3MgH2mNXPwNNFAyvwDbKkXZNJWeOXmQF7Jp/TwINFAyvwsQgTr2QGHGHm08CdLYLuAiq1Wu2aluNAJwa2E5v87pDM6G0tAD+RBDo1sMecXGmLOQtPyXI12iRwABzzKGE2F2DPxHZrDCGnjDOyvkngAJjRnp08+5XMgT1uYBwN/26Wlp0ZAAfAvJZLyrrMxrD6zUlxFNpiCnnVtDeUEXAAfO2eLX9PNg2szPEnYDCFkFdyBO53ClHW93wqYGO+o2nX4ZyBA9lbay0vJgI2oAdkUx+UGDgAlsyuqzGwGacfACuz8KULAn7JtDFYd7ekxuks0J10t1QC4JuMdX6ngf/07EDOy741VYinBMABMOm8MGmvywXZtEYX9ax2gwPfY0bpHvdFDzAHjGcVxCsJcGBm63O5RS1LBPyPDiQuB+BLelldDsAzuq3lADzxH+/jfw78bJSGO4A76oVkcwQezBF4q949uQ97zXrVnjOw3Q+fAlbmBNyvlyb34VlzxDGQM/C0PYqRONSmooArZtO8PWfgu30nilJ2FWHSswZ4JE9gEfQu0arvJOHNvCetg2YMT+YNHBVmVSZ+LCPgvb5lacSY1nxRwCL0R1rT6vjkVKM4WQwZZ30a3uwmLfnycpHAIviENmszmfU041rqCdl9eItrRDXUVSSwCL/ddyYsZUfWm4czZuJ6pmhgAeh2q4YTUkHvy3J7+IIBnm8FsAL5Qo9nZXlHEgB3G49uXH/ZqeO5UjpaBSwwRyI0XYkJ/LpxqNbYf/jKaPnlVgIL0H59DqVe9yUM4p335WkN6Mkrjl9d0JHosCfDp6cB8Jgx5yejEtN+MVqebDWwgN0LfAb8AUzEMOkr9QLxuu7wuHsdrQZOuA6/b5R2qVHqYaXeCVzJgR9yrqrS8K5GwH1OyyqI/dYNAvxNveW13hg4avOiJCO2zMALHg9tbZJs2opnOXi4pMCzHlPemzR9eIP2beXvtxq6JMCfek47Z9LmS++M2KQPlwR4zpPB0zBtqVHdE+HtvN1C0LXNJKbFqeMR+9XTwO0Fw+62+ZZJUw/j1qGIxE63bLXnDLrRRlhNdCSXOw/rrSmZHJBXgc6MQbdIpv51/rROFi/ikscndaITztRHgHUpAG8WyANy34GIDr4APFHkrZb7Xai1Tqqxu6SxALwhnbBNdmZ9wGPAU8CYdOJFz1Lo69B3YkY8sr/GAzwO/GA10eiSh30d85LHYWB1ghBPfveW5FhjToNkdI1nSS6IrEoR08r/ohawShJjFoC/Gl3UikiK+1Umoy1NxqWvq/8OAMrTepLRmYKGAAAAAElFTkSuQmCC"},964:x=>{x.exports="data:image/png;base64,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"},544:x=>{x.exports="data:image/png;base64,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"},591:(x,f,e)=>{x.exports=e.p+"images/ESP32c3_ad3ebf81.jpg"},617:(x,f,e)=>{x.exports=e.p+"images/ESP32s2_b49570e2.jpg"},906:(x,f,e)=>{x.exports=e.p+"images/ESP32s3_10bcc520.jpg"},877:x=>{x.exports="data:image/png;base64,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"},491:x=>{x.exports="data:image/png;base64,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"},998:(x,f,e)=>{x.exports=e.p+"images/ProMini_bb71f95d.png"},537:(x,f,e)=>{x.exports=e.p+"images/STM32F103C8T6_aac49c53.png"},517:(x,f,e)=>{x.exports=e.p+"images/core_esp32c3_pin_ae75bf97.png"},59:(x,f,e)=>{x.exports=e.p+"images/leonardo_68c8b773.png"},408:(x,f,e)=>{x.exports=e.p+"images/mega_bb27e7ea.png"},573:(x,f,e)=>{x.exports=e.p+"images/nano_31da349a.png"},260:(x,f,e)=>{x.exports=e.p+"images/uno_bf94dd41.png"},583:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAMAAACxiD++AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAX1QTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxHl7wAAAH50Uk5TAAMRDg2g9OVmm/5C7ZHBadria32iW4rmYZChAevjqqzx9a288O722yNU/XaVZXdMzecCQCUSELJd+kpBr0/T3l4WbNcyyg8ERGI1H+D5IcajQ4B0FPeL1YjSnOkolsCDwzoJ7/zsGvikl0mm+2+dMyeYlNTqO2oLmUWCCiIM0L6s7AAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAF+SURBVCjPjdP5OwJBGAfwt5AtIglRrVSEKFbpcJSjkPvOfRTCuq9c799uGvt0bNPD95fdmfk8M+/OzgD8HYWSmQppuLJKhexUcxSosWw0NVlQWx6gNgvIs46r12GDnuO4Rk0RMEigCaAZ1XTBFiYwArRiW7ZhMjOBhW+3YoeN53k7MkHZ5IGjU56uQuDsLt1eU09vHrhKhnv6XNDvdnskoC8BAzgoAAx5mcAHMGxB9Ae4oCrEACPBUXc1+Q+0+DEGGCcd4YgPJibNOMVaYtqK0djM7Fwc5hd646waootLvmXSuyKsYnhtvQRsBP2gpQUEwIm4KQOVW9uYgB0KdsGPuCcD+6R5AIcUHMGx9WRGBk7NSdQJnhTpPTufuEizirwk7Su789oLBnrm6FyFianEGyFbzi1iykiBI3KXiwLuRbJTD4m0A8Mp8iWQLD4jw/CIGH0ib88heHklMxnk4C3zCPCOmJGWVNrEYvB7HVXiR66qz6+CCFLnt+Ift5rmByYI3KFNc08pAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTE3VDAwOjU3OjEwKzA4OjAw/IyOtAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0xN1QwMDo1NzoxMCswODowMI3RNggAAABWdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uXzg5dXZ1cnJsZHplL3BlaXpoaS14aXRvbmdwZWl6aGkuc3Zn5h+NFgAAAABJRU5ErkJggg=="}},f={};function e(t){var i=f[t];if(void 0!==i)return i.exports;var n=f[t]={exports:{}};return x[t](n,n.exports,e),n.exports}e.n=x=>{var f=x&&x.__esModule?()=>x.default:()=>x;return e.d(f,{a:f}),f},e.d=(x,f)=>{for(var t in f)e.o(f,t)&&!e.o(x,t)&&Object.defineProperty(x,t,{enumerable:!0,get:f[t]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(x){if("object"==typeof window)return window}}(),e.o=(x,f)=>Object.prototype.hasOwnProperty.call(x,f),e.r=x=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})},(()=>{var x;e.g.importScripts&&(x=e.g.location+"");var f=e.g.document;if(!x&&f&&(f.currentScript&&(x=f.currentScript.src),!x)){var t=f.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&!x;)x=t[i--].src}if(!x)throw new Error("Automatic publicPath is not supported in this browser");x=x.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=x})(),(()=>{var x={};e.r(x),e.d(x,{china_city:()=>ex,http_get:()=>Z,http_post:()=>j,weather_get_seniverse_weather_info:()=>nx,weather_get_seniverse_weather_info1:()=>sx,weather_get_seniverse_weather_info2:()=>ax,weather_get_seniverse_weather_info3:()=>cx,weather_private_key:()=>tx,weather_seniverse_city_weather:()=>ix});var f={};e.r(f),e.d(f,{text_base64_url_codec:()=>lx});var t={};e.r(t),e.d(t,{china_city:()=>rx,http_get:()=>dx,http_post:()=>px,weather_get_seniverse_weather_info:()=>hx,weather_get_seniverse_weather_info1:()=>Fx,weather_get_seniverse_weather_info2:()=>Ix,weather_get_seniverse_weather_info3:()=>Ax,weather_private_key:()=>ux,weather_seniverse_city_weather:()=>_x});var i={};e.r(i),e.d(i,{text_base64_url_codec:()=>gx});var n={};e.r(n),e.d(n,{AFMotorRun:()=>gf,AFMotorStop:()=>Ef,GD5800_MP3_CONTROL:()=>pf,GD5800_MP3_EQ_MODE:()=>_f,GD5800_MP3_LOOP_MODE:()=>rf,GD5800_MP3_PLAY_NUM:()=>Ff,GD5800_MP3_Set_Device:()=>df,GD5800_MP3_VOL:()=>hf,I2Cmotor:()=>Xf,M9101X_S_MP3_CONTROL:()=>Bf,M9101X_S_MP3_PLAY_NUM:()=>Wf,M9101X_S_MP3_VOL_CONTROL:()=>Uf,Mixly_motor:()=>sf,Motor_8833:()=>af,RGB_color_HSV:()=>tf,RGB_color_rgb:()=>Kx,RGB_color_seclet:()=>zx,arduino_dfplayer_available:()=>Vf,arduino_dfplayer_loopFolder:()=>bf,arduino_dfplayer_mini_EQ:()=>Sf,arduino_dfplayer_mini_EQ_type:()=>Rf,arduino_dfplayer_mini_begin:()=>Mf,arduino_dfplayer_mini_outputDevice:()=>Df,arduino_dfplayer_mini_outputDevice_type:()=>Nf,arduino_dfplayer_mini_pin:()=>Tf,arduino_dfplayer_mini_setTimeOut:()=>mf,arduino_dfplayer_mini_volume:()=>Cf,arduino_dfplayer_mini_volume_up_down:()=>Of,arduino_dfplayer_playFolder:()=>yf,arduino_dfplayer_play_loop:()=>Pf,arduino_dfplayer_readFileCounts:()=>wf,arduino_dfplayer_readFileCountsInFolder:()=>Yf,arduino_dfplayer_read_now:()=>vf,arduino_dfplayer_set_1:()=>Lf,controls_notone:()=>Xx,controls_notone_noTimer:()=>Bx,controls_tone:()=>kx,controls_tone_noTimer:()=>Gx,display_rgb:()=>qx,display_rgb_Brightness:()=>Jx,display_rgb_init:()=>jx,display_rgb_rainbow1:()=>xf,display_rgb_rainbow2:()=>ff,display_rgb_rainbow3:()=>ef,display_rgb_show:()=>Qx,group_stepper_move:()=>Hx,group_stepper_setup:()=>Ux,group_stepper_setup2:()=>Wx,servo_move:()=>Lx,servo_move1:()=>bx,servo_read_degrees:()=>yx,servo_read_degrees1:()=>wx,servo_writeMicroseconds:()=>Px,servo_writeMicroseconds1:()=>vx,tone_notes:()=>Vx,voice_module:()=>Af});var s={};e.r(s),e.d(s,{Blynk_connect_state:()=>xe,Blynk_iot_BLYNK_syncAll:()=>te,Blynk_iot_CONNECT_STATE:()=>ee,Blynk_iot_timer:()=>$f,LM35ESP:()=>Le,arduino_blynk_bluetooth:()=>ke,blynk_AP_config:()=>Pe,blynk_AP_config_2:()=>ye,blynk_WidgetRTC_get_time:()=>me,blynk_WidgetRTC_init:()=>Me,blynk_acc:()=>De,blynk_bridge_AnaloglWrite:()=>ge,blynk_bridge_VPin:()=>Ee,blynk_bridge_auth:()=>Ie,blynk_bridge_digitalWrite:()=>Ae,blynk_email:()=>ue,blynk_esp32_Bluetooth:()=>Ve,blynk_esp32_ble:()=>Ye,blynk_gravity:()=>Re,blynk_iot_WidgetLED_COLOR:()=>ne,blynk_iot_WidgetLED_VALUE:()=>se,blynk_iot_get_data:()=>Qf,blynk_iot_ir_recv_raw:()=>oe,blynk_iot_ir_send:()=>re,blynk_iot_ir_send_ac:()=>pe,blynk_iot_playmusic:()=>Ce,blynk_iot_push_data:()=>qf,blynk_iot_syncVirtual:()=>ie,blynk_iot_terminal_get:()=>Oe,blynk_lcd:()=>ve,blynk_lcd_clear:()=>we,blynk_light:()=>Se,blynk_notify:()=>_e,blynk_server:()=>Zf,blynk_smartconfig:()=>Kf,blynk_table:()=>Xe,blynk_table_add_data:()=>qe,blynk_table_cleardata:()=>He,blynk_table_click:()=>je,blynk_table_highlight:()=>Be,blynk_table_order:()=>Je,blynk_table_select:()=>Ue,blynk_table_unselect:()=>We,blynk_table_update:()=>Ge,blynk_terminal:()=>he,blynk_terminal_clear:()=>be,blynk_time_input_1:()=>Ne,blynk_usb_server:()=>zf,blynk_videourl:()=>Fe,esp_camera:()=>ze,esp_camera_blynk:()=>Ke,take_a_photo1:()=>Ze});var a={};e.r(a),e.d(a,{MFRC522_IsNewCard:()=>Dt,MFRC522_ReadCard:()=>Pt,MFRC522_ReadCardUID:()=>Nt,MFRC522_WriteCard:()=>Lt,MFRC522_init:()=>Rt,RFID_in:()=>mt,RFID_init:()=>Et,RFID_off:()=>St,RFID_on:()=>Mt,RFID_readcarddata:()=>Ot,RFID_readcardnum:()=>Tt,RFID_writecarddata:()=>Ct,i2c_available:()=>dt,i2c_begin_end_transmission:()=>st,i2c_howmany:()=>lt,i2c_master_Init:()=>it,i2c_master_reader:()=>ht,i2c_master_reader2:()=>Ft,i2c_master_readerReg:()=>rt,i2c_master_writer:()=>_t,i2c_master_writerReg:()=>ot,i2c_read:()=>pt,i2c_slave_Init:()=>nt,i2c_slave_onreceive:()=>It,i2c_slave_onrequest:()=>ut,i2c_slave_write:()=>At,i2c_slave_write_array:()=>ct,i2c_write:()=>at,ir_recv:()=>$e,ir_recv_enable:()=>ft,ir_recv_raw:()=>et,ir_send_nec:()=>xt,ir_send_raw:()=>tt,spi_begin_master:()=>bt,spi_begin_slave:()=>yt,spi_slave_interrupt:()=>Vt,spi_slave_receive:()=>kt,spi_transfer:()=>gt,spi_transfer_1:()=>wt,spi_transfer_2:()=>Yt,spi_transfer_Init:()=>vt});var c={};e.r(c),e.d(c,{base_delay:()=>ci,base_setup:()=>Gt,controls_case:()=>$t,controls_default:()=>xi,controls_delay:()=>Bt,controls_end_program:()=>ii,controls_flow_statements:()=>Ht,controls_for:()=>Ut,controls_if:()=>Kt,controls_if_else:()=>Jt,controls_if_elseif:()=>jt,controls_if_if:()=>Zt,controls_interrupts:()=>si,controls_millis:()=>zt,controls_mstimer2:()=>fi,controls_mstimer2_start:()=>ei,controls_mstimer2_stop:()=>ti,controls_nointerrupts:()=>ai,controls_soft_reset:()=>ni,controls_switch:()=>Qt,controls_switch_case:()=>qt,controls_whileUntil:()=>Wt,do_while:()=>di,execute_super_delay_function1:()=>oi,simple_timer:()=>li,super_delay_function1:()=>pi});var l={};e.r(l),e.d(l,{HT16K33_Init:()=>Pi,MAX7219_init:()=>yi,Matrix_img:()=>Zi,TFT_Brightness:()=>Wn,TFT_Rotation:()=>jn,TFT_color_rgb:()=>zn,TFT_color_seclet:()=>Hn,TFT_fillScreen:()=>Zn,TFT_init:()=>Kn,TFT_init_with_pin:()=>Bn,TFT_st7735_show_hz:()=>Un,display_4digitdisplay_displayString:()=>Ci,display_4digitdisplay_power:()=>mi,display_4digitdisplay_showDot:()=>Oi,display_HT16K33_Rotation:()=>ki,display_Matrix_Brightness:()=>Hi,display_Matrix_DisplayChar:()=>Bi,display_Matrix_DrawPixel:()=>vi,display_Matrix_LedArray:()=>Ui,display_Matrix_TEXT:()=>Xi,display_Matrix_fillScreen:()=>Ki,display_Matrix_print:()=>Gi,display_Matrix_write:()=>ji,display_Max7219_Rotation:()=>Yi,display_Max7219_setPosition:()=>Vi,display_TM1637_Brightness:()=>Ni,display_TM1637_Brightness_32:()=>_s,display_TM1637_clearDisplay:()=>Li,display_TM1637_clearDisplay_32:()=>hs,display_TM1637_displayTime:()=>Di,display_TM1637_displayTime_32:()=>us,display_TM1637_displyPrint:()=>Ri,display_TM1637_displyPrint_32:()=>rs,display_TM1637_init:()=>Si,display_TM1637_init_32:()=>os,display_lcd_bitmap:()=>Gn,display_matrix_bitmap:()=>Wi,get_utf8_width:()=>Vn,group_lcd_init:()=>ps,group_lcd_init2:()=>Ai,group_lcd_init3:()=>gi,group_lcd_power:()=>Ti,group_lcd_print:()=>Ei,group_lcd_print2:()=>Mi,lcd_display_pattern:()=>kn,lcd_pattern:()=>Xn,oled_clear:()=>In,oled_define_bitmap_data:()=>An,oled_drawCircle:()=>Nn,oled_drawEllipse:()=>Ln,oled_drawFrame:()=>Rn,oled_drawLine:()=>mn,oled_drawPixel:()=>Tn,oled_drawRFrame:()=>Dn,oled_drawStr:()=>Pn,oled_drawTriangle:()=>Sn,oled_draw_Str_Line:()=>Cn,oled_face:()=>En,oled_icons:()=>gn,oled_init:()=>un,oled_page:()=>On,oled_print:()=>wn,oled_set_CN_Font:()=>bn,oled_set_EN_Font:()=>yn,oled_set_ZH_TW_Font:()=>vn,oled_showBitmap:()=>Mn,tft_Circle:()=>ns,tft_Rect:()=>ts,tft_RoundRect:()=>is,tft_Triangle:()=>es,tft_define_bitmap_data:()=>Jn,tft_drawFastLine:()=>fs,tft_drawLine:()=>xs,tft_drawPixel:()=>$n,tft_generate_bitmap_data:()=>qn,tft_icons:()=>cs,tft_print:()=>ls,tft_print_refresh:()=>ds,tft_set_CN_Font:()=>as,tft_set_EN_Font:()=>ss,tft_showBitmap:()=>Qn,u8g2_LCD12864_8080_init:()=>Fn,u8g2_LCD12864_spi_init:()=>hn,u8g2_setContrast:()=>Yn,u8g2_spi_init:()=>_n});var d={};e.r(d),e.d(d,{MQTT_add_subscribe_topic:()=>Xs,MQTT_connect:()=>ws,MQTT_publish:()=>Vs,MQTT_server:()=>Ls,MQTT_subscribe:()=>Gs,MQTT_subscribe_value:()=>ks,NTP_server:()=>Rs,NTP_server_get_time:()=>Ns,WIFI_ap_and_sta:()=>zs,WIFI_ap_or_sta:()=>Hs,WIFI_incomingPacket:()=>Ks,WIFI_info:()=>Ps,WIFI_send_data:()=>Zs,WIFI_smartConfig:()=>Ws,WeatherGet:()=>js,WeatherGetForecast:()=>qs,WeatherGetToday:()=>Js,asyncelegantota:()=>ea,ethernet_client_available:()=>Ts,ethernet_client_connect_server:()=>gs,ethernet_client_connected:()=>Ms,ethernet_client_get_request:()=>Ss,ethernet_client_print:()=>ms,ethernet_client_println:()=>Cs,ethernet_client_read:()=>Os,ethernet_client_stop:()=>Es,ethernet_init_begin:()=>Fs,ethernet_init_local_ip:()=>As,ethernet_mac_address:()=>Is,http_get:()=>Us,mixio_mqtt_publish:()=>xa,mixio_mqtt_received_the_news:()=>fa,mixio_mqtt_subscribe:()=>Qs,mixio_mqtt_subscribe_key:()=>$s,mqtt_topics_set:()=>Bs,network_connect:()=>ys,network_get_connect:()=>vs,network_wifi_connect:()=>bs});var p={};e.r(p),e.d(p,{factory_block:()=>ha,factory_block_return:()=>Fa,factory_block_return_with_textarea:()=>Aa,factory_block_with_textarea:()=>Ia,factory_callMethod_noreturn:()=>ua,factory_callMethod_return:()=>_a,factory_create_with_container:()=>sa,factory_create_with_item:()=>aa,factory_declare:()=>la,factory_declare2:()=>da,factory_define:()=>pa,factory_function_noreturn:()=>na,factory_function_return:()=>ca,factory_include:()=>ia,factory_static_method_noreturn:()=>oa,factory_static_method_return:()=>ra});var o={};e.r(o),e.d(o,{ADS1015_Get_Value:()=>Ba,ADS1015_setGain:()=>Ga,ESP32touchButton:()=>Ya,OneButton_interrupt:()=>Da,PCF8591T:()=>Ua,controls_attachInterrupt:()=>Na,controls_attachPinInterrupt:()=>Pa,controls_detachInterrupt:()=>La,controls_detachPinInterrupt:()=>ya,inout_analog_read:()=>Sa,inout_analog_write:()=>Oa,inout_buildin_led:()=>Ra,inout_cancel_soft_analog_write:()=>ka,inout_digital_read:()=>ma,inout_digital_read2:()=>Ca,inout_digital_write2:()=>Ta,inout_highlow:()=>Ea,inout_pinMode:()=>Ma,inout_pulseIn:()=>ba,inout_pulseIn2:()=>va,inout_shiftout:()=>wa,inout_soft_analog_write:()=>Va});var r={};e.r(r),e.d(r,{array2_assignment:()=>ic,create_array2_with_text:()=>tc,get_array2_value:()=>nc,lists2GetValueByIndex:()=>ac,lists2SetValueByIndex:()=>sc,listsGetValueByIndex:()=>xc,listsSetValueByIndex:()=>fc,lists_array2_get_length:()=>pc,lists_array2_setup:()=>cc,lists_array2_setup_get_data:()=>lc,lists_create_with:()=>za,lists_create_with2:()=>Za,lists_create_with_container:()=>Ja,lists_create_with_item:()=>qa,lists_create_with_text:()=>Ka,lists_create_with_text2:()=>ja,lists_getIndex:()=>Qa,lists_length:()=>ec,lists_setIndex:()=>$a,loop_array:()=>dc});var u={};e.r(u),e.d(u,{logic_boolean:()=>hc,logic_compare:()=>rc,logic_negate:()=>_c,logic_null:()=>Fc,logic_operation:()=>uc,logic_true_or_false:()=>Ic});var _={};e.r(_),e.d(_,{arduino_variate_type:()=>Cc,base_map:()=>Lc,math_SizeOf:()=>Oc,math_arithmetic:()=>Ec,math_auto_add_or_minus:()=>yc,math_bit:()=>Mc,math_constrain:()=>Nc,math_max_min:()=>Sc,math_number:()=>gc,math_random_int:()=>Dc,math_random_seed:()=>Rc,math_to_int:()=>mc,math_trig:()=>Tc,variables_operation:()=>Pc});var h={};e.r(h),e.d(h,{pins_MISO:()=>Xc,pins_MOSI:()=>kc,pins_SCK:()=>Gc,pins_SCL:()=>Bc,pins_SDA:()=>Uc,pins_analog:()=>wc,pins_digital:()=>vc,pins_interrupt:()=>Vc,pins_pwm:()=>Yc});var F={};e.r(F),e.d(F,{procedures_callnoreturn:()=>jc,procedures_callreturn:()=>Jc,procedures_defnoreturn:()=>Hc,procedures_defreturn:()=>zc,procedures_ifreturn:()=>qc,procedures_mutatorarg:()=>Zc,procedures_mutatorcontainer:()=>Kc,procedures_return:()=>Qc});var I={};e.r(I),e.d(I,{ADXL345:()=>Cl,ADXL345_setOffset:()=>Rl,AHT20_21:()=>ad,Arduino_keypad_4_4_start:()=>Ql,BME280_READ:()=>Bl,DHT:()=>sl,DS1302_init:()=>ol,DS1307_init:()=>ul,LIS3DHTR:()=>Sl,LM35:()=>al,MPU6050:()=>Dl,MPU6050_update:()=>Nl,NTC_TEMP:()=>sd,PS2_Button:()=>zl,PS2_init:()=>Ul,PS2_stk:()=>Kl,PS2_update:()=>Wl,RTC_date:()=>Il,RTC_get_time:()=>hl,RTC_set_date:()=>El,RTC_set_time:()=>Al,RTC_time:()=>Fl,SHT20:()=>Tl,TCS34725_Get_RGB:()=>jl,arduino_keypad_event:()=>td,chaoshengbo2:()=>nl,ds18b20:()=>cl,encoder_init:()=>Pl,encoder_init1:()=>vl,encoder_read:()=>bl,encoder_read1:()=>Yl,encoder_write:()=>yl,encoder_write1:()=>wl,get_keypad_num:()=>ed,get_system_date_time:()=>gl,gps_data_available:()=>fl,gps_data_encode:()=>el,gps_getData_xxx:()=>il,gps_init:()=>xl,gps_xxx_isValid:()=>tl,keypad_col_data:()=>xd,keypad_row_data:()=>$l,keypad_type_data:()=>fd,mixgo_MPU9250:()=>nd,mlx90614_get_data:()=>dl,mlx90614_init:()=>ll,sensor_encoder_get:()=>kl,sensor_encoder_handle:()=>Gl,sensor_encoder_init:()=>Vl,sensor_encoder_set:()=>Xl,tcs230_Get_RGB:()=>ql,tcs230_init:()=>Jl,weightSensor:()=>pl});var A={};e.r(A),e.d(A,{serial_available:()=>_d,serial_begin:()=>ld,serial_event:()=>Ed,serial_flush:()=>Ad,serial_parseInt_Float:()=>Id,serial_print:()=>pd,serial_print_hex:()=>ud,serial_print_num:()=>rd,serial_println:()=>od,serial_readstr:()=>hd,serial_readstr_until:()=>Fd,serial_softserial:()=>gd,serial_write:()=>dd});var g={};e.r(g),e.d(g,{sd_DelFile:()=>Dd,sd_card_root_files:()=>Cd,sd_card_type:()=>md,sd_exist:()=>Rd,sd_read:()=>Nd,sd_volume:()=>Sd,simple_spiffs_DelFile:()=>Gd,simple_spiffs_read:()=>kd,simple_spiffs_store_spiffs_write:()=>Xd,store_eeprom_get:()=>Yd,store_eeprom_put:()=>wd,store_eeprom_read_byte:()=>vd,store_eeprom_read_long:()=>yd,store_eeprom_write_byte:()=>bd,store_eeprom_write_long:()=>Pd,store_sd_init:()=>Md,store_sd_init_32:()=>Td,store_sd_write:()=>Ld});var E={};e.r(E),e.d(E,{Arduinojson:()=>op,String_indexOf:()=>dp,String_to_Long_Integer:()=>rp,ascii_to_char:()=>Kd,char_to_ascii:()=>Zd,create_with_container:()=>lp,create_with_item:()=>cp,data_replacement:()=>ip,decimal_places:()=>fp,eliminate:()=>np,first_and_last:()=>sp,letter_conversion:()=>tp,number_to_text:()=>jd,number_to_text_:()=>Jd,substring:()=>ep,text:()=>Ud,text_char:()=>Wd,text_char_at:()=>Qd,text_compareTo:()=>xp,text_equals_starts_ends:()=>$d,text_join:()=>Hd,text_join2:()=>pp,text_length:()=>qd,text_to_number:()=>zd,type_conversion:()=>ap});var M={};e.r(M),e.d(M,{IICSCAN:()=>Fp,core_esp32c3_pin:()=>Sp,esp32c3_pin:()=>Op,esp32s2_pin:()=>Cp,esp32s3_pin:()=>Rp,esp8266_board_pin:()=>bp,esp8266_pin:()=>Dp,factory_notes:()=>_p,folding_block:()=>hp,get_the_number_of_days_between_the_two_dates:()=>Pp,leonardo_pin:()=>mp,mega_pin:()=>Mp,nano_pin:()=>Ep,promini_pin:()=>Tp,stm32f103c8t6_pin:()=>Lp,tool_modulus:()=>Ap,tool_modulus_show:()=>Ip,uno_pin:()=>gp,wemos_d1_mini_pin:()=>Np});var T={};e.r(T),e.d(T,{variables_change:()=>Xp,variables_declare:()=>Yp,variables_get:()=>Vp,variables_set:()=>kp});var m={};e.r(m),e.d(m,{AFMotorRun:()=>Eo,AFMotorStop:()=>Mo,GD5800_MP3_CONTROL:()=>_o,GD5800_MP3_EQ_MODE:()=>Io,GD5800_MP3_LOOP_MODE:()=>Fo,GD5800_MP3_PLAY_NUM:()=>go,GD5800_MP3_Set_Device:()=>ho,GD5800_MP3_VOL:()=>Ao,I2Cmotor:()=>Xo,M9101X_S_MP3_CONTROL:()=>Go,M9101X_S_MP3_PLAY_NUM:()=>Uo,M9101X_S_MP3_VOL_CONTROL:()=>Bo,Mixly_motor:()=>oo,Motor_8833:()=>ro,RGB_color_HSV:()=>so,RGB_color_rgb:()=>eo,RGB_color_seclet:()=>fo,arduino_dfplayer_available:()=>ko,arduino_dfplayer_loopFolder:()=>vo,arduino_dfplayer_mini_EQ:()=>Ro,arduino_dfplayer_mini_EQ_type:()=>Do,arduino_dfplayer_mini_begin:()=>To,arduino_dfplayer_mini_outputDevice:()=>No,arduino_dfplayer_mini_outputDevice_type:()=>Lo,arduino_dfplayer_mini_pin:()=>mo,arduino_dfplayer_mini_setTimeOut:()=>Co,arduino_dfplayer_mini_volume:()=>Oo,arduino_dfplayer_mini_volume_up_down:()=>So,arduino_dfplayer_playFolder:()=>bo,arduino_dfplayer_play_loop:()=>yo,arduino_dfplayer_readFileCounts:()=>Yo,arduino_dfplayer_readFileCountsInFolder:()=>Vo,arduino_dfplayer_read_now:()=>wo,arduino_dfplayer_set_1:()=>Po,controls_notone:()=>jp,controls_notone_noTimer:()=>qp,controls_tone:()=>Zp,controls_tone_noTimer:()=>Jp,display_rgb:()=>no,display_rgb_Brightness:()=>io,display_rgb_init:()=>to,display_rgb_rainbow1:()=>co,display_rgb_rainbow2:()=>lo,display_rgb_rainbow3:()=>po,display_rgb_show:()=>ao,group_stepper_move:()=>xo,group_stepper_setup:()=>Qp,group_stepper_setup2:()=>$p,servo_move:()=>Gp,servo_move1:()=>Wp,servo_read_degrees:()=>Up,servo_read_degrees1:()=>zp,servo_writeMicroseconds:()=>Bp,servo_writeMicroseconds1:()=>Hp,tone_notes:()=>Kp,voice_module:()=>uo});var C={};e.r(C),e.d(C,{Blynk_connect_state:()=>Cr,Blynk_iot_BLYNK_syncAll:()=>Qo,Blynk_iot_CONNECT_STATE:()=>qo,Blynk_iot_timer:()=>Jo,arduino_blynk_bluetooth:()=>Lr,blynk_AP_config:()=>Tr,blynk_AP_config_2:()=>mr,blynk_WidgetRTC_get_time:()=>_r,blynk_WidgetRTC_init:()=>ur,blynk_acc:()=>Ar,blynk_bridge_AnaloglWrite:()=>or,blynk_bridge_VPin:()=>rr,blynk_bridge_auth:()=>dr,blynk_bridge_digitalWrite:()=>pr,blynk_connected:()=>Vr,blynk_email:()=>nr,blynk_esp32_Bluetooth:()=>Nr,blynk_esp32_ble:()=>Dr,blynk_gravity:()=>Ir,blynk_iot_WidgetLED_COLOR:()=>xr,blynk_iot_WidgetLED_VALUE:()=>fr,blynk_iot_auth:()=>Wo,blynk_iot_get_data:()=>jo,blynk_iot_ir_recv_raw:()=>tr,blynk_iot_ir_send:()=>ir,blynk_iot_ir_send_ac:()=>er,blynk_iot_playmusic:()=>hr,blynk_iot_push_data:()=>Zo,blynk_iot_syncVirtual:()=>$o,blynk_iot_terminal_get:()=>cr,blynk_lcd:()=>Sr,blynk_lcd_clear:()=>Rr,blynk_light:()=>Fr,blynk_notify:()=>sr,blynk_server:()=>zo,blynk_smartconfig:()=>Ho,blynk_table:()=>Pr,blynk_table_add_data:()=>Wr,blynk_table_cleardata:()=>Yr,blynk_table_click:()=>Br,blynk_table_highlight:()=>br,blynk_table_order:()=>Ur,blynk_table_select:()=>vr,blynk_table_unselect:()=>wr,blynk_table_update:()=>yr,blynk_terminal:()=>ar,blynk_terminal_clear:()=>Or,blynk_time_input_1:()=>gr,blynk_usb_server:()=>Ko,blynk_videourl:()=>lr,esp_camera:()=>kr,esp_camera_blynk:()=>Xr,factory_declare2:()=>Mr,take_a_photo1:()=>Gr,tone_notes:()=>Er});var O={};e.r(O),e.d(O,{MFRC522_IsNewCard:()=>au,MFRC522_ReadCard:()=>du,MFRC522_ReadCardUID:()=>cu,MFRC522_WriteCard:()=>lu,MFRC522_init:()=>su,RFID_in:()=>nu,RFID_init:()=>$r,RFID_off:()=>iu,RFID_on:()=>xu,RFID_readcarddata:()=>tu,RFID_readcardnum:()=>fu,RFID_writecarddata:()=>eu,i2c_available:()=>hu,i2c_begin_end_transmission:()=>ru,i2c_howmany:()=>Fu,i2c_master_Init:()=>pu,i2c_master_reader:()=>Cu,i2c_master_reader2:()=>qr,i2c_master_readerReg:()=>Mu,i2c_master_writer:()=>Jr,i2c_master_writerReg:()=>Eu,i2c_read:()=>Iu,i2c_slave_Init:()=>ou,i2c_slave_onreceive:()=>Tu,i2c_slave_onrequest:()=>mu,i2c_slave_write:()=>Qr,i2c_slave_write_array:()=>_u,i2c_write:()=>uu,ir_recv:()=>Hr,ir_recv_enable:()=>zr,ir_recv_raw:()=>Zr,ir_send_nec:()=>Kr,ir_send_raw:()=>jr,spi_begin_master:()=>Ou,spi_begin_slave:()=>gu,spi_slave_interrupt:()=>Nu,spi_slave_receive:()=>Lu,spi_transfer:()=>Au,spi_transfer_1:()=>Ru,spi_transfer_2:()=>Du,spi_transfer_Init:()=>Su});var S={};e.r(S),e.d(S,{base_delay:()=>Ku,base_setup:()=>Pu,controls_delay:()=>Vu,controls_end_program:()=>Uu,controls_flow_statements:()=>Yu,controls_for:()=>vu,controls_if:()=>yu,controls_interrupts:()=>Hu,controls_millis:()=>ku,controls_mstimer2:()=>Xu,controls_mstimer2_start:()=>Gu,controls_mstimer2_stop:()=>Bu,controls_nointerrupts:()=>zu,controls_soft_reset:()=>Wu,controls_switch_case:()=>bu,controls_whileUntil:()=>wu,do_while:()=>ju,execute_super_delay_function1:()=>qu,simple_timer:()=>Zu,super_delay_function1:()=>Ju});var R={};e.r(R),e.d(R,{HT16K33_Init:()=>r_,LedArray:()=>O_,MAX7219_init:()=>u_,Matrix_img:()=>S_,TFT_Brightness:()=>ph,TFT_Rotation:()=>rh,TFT_color_rgb:()=>Fh,TFT_color_seclet:()=>hh,TFT_fillScreen:()=>Ah,TFT_init:()=>Ih,TFT_init_with_pin:()=>th,TFT_st7735_show_hz:()=>dh,display_4digitdisplay_displayString:()=>i_,display_4digitdisplay_power:()=>t_,display_4digitdisplay_showDot:()=>n_,display_HT16K33_Rotation:()=>C_,display_Matrix_Brightness:()=>E_,display_Matrix_DisplayChar:()=>I_,display_Matrix_DrawPixel:()=>__,display_Matrix_LedArray:()=>A_,display_Matrix_TEXT:()=>h_,display_Matrix_fillScreen:()=>M_,display_Matrix_print:()=>F_,display_Matrix_write:()=>R_,display_Max7219_Rotation:()=>T_,display_Max7219_setPosition:()=>m_,display_TM1637_Brightness:()=>o_,display_TM1637_Brightness_32:()=>wh,display_TM1637_clearDisplay:()=>p_,display_TM1637_clearDisplay_32:()=>vh,display_TM1637_displayTime:()=>d_,display_TM1637_displayTime_32:()=>bh,display_TM1637_displyPrint:()=>l_,display_TM1637_displyPrint_32:()=>yh,display_TM1637_init:()=>c_,display_TM1637_init_32:()=>Ph,display_lcd_bitmap:()=>fh,display_matrix_bitmap:()=>g_,get_utf8_width:()=>Q_,group_lcd_init:()=>Yh,group_lcd_init2:()=>Qu,group_lcd_init3:()=>$u,group_lcd_power:()=>e_,group_lcd_print:()=>x_,group_lcd_print2:()=>f_,lcd_display_pattern:()=>$_,lcd_pattern:()=>xh,oled_clear:()=>y_,oled_define_bitmap_data:()=>k_,oled_drawCircle:()=>H_,oled_drawEllipse:()=>z_,oled_drawFrame:()=>U_,oled_drawLine:()=>X_,oled_drawPixel:()=>w_,oled_drawRFrame:()=>W_,oled_drawTriangle:()=>B_,oled_draw_Str_Line:()=>G_,oled_face:()=>b_,oled_icons:()=>v_,oled_init:()=>D_,oled_page:()=>Y_,oled_print:()=>K_,oled_set_CN_Font:()=>j_,oled_set_EN_Font:()=>Z_,oled_set_ZH_TW_Font:()=>J_,oled_showBitmap:()=>V_,tft_Circle:()=>Oh,tft_Rect:()=>mh,tft_RoundRect:()=>Ch,tft_Triangle:()=>Th,tft_define_bitmap_data:()=>Sh,tft_drawFastLine:()=>Mh,tft_drawLine:()=>Eh,tft_drawPixel:()=>gh,tft_generate_bitmap_data:()=>Rh,tft_icons:()=>oh,tft_print:()=>_h,tft_setFont:()=>uh,tft_set_CN_Font:()=>Lh,tft_set_EN_Font:()=>Nh,tft_showBitmap:()=>Dh,u8g2_LCD12864_8080_init:()=>P_,u8g2_LCD12864_spi_init:()=>L_,u8g2_setContrast:()=>q_,u8g2_spi_init:()=>N_});var D={};e.r(D),e.d(D,{MQTT_connect:()=>eF,MQTT_publish:()=>tF,MQTT_server:()=>fF,MQTT_subscribe:()=>nF,MQTT_subscribe_value:()=>iF,NTP_server:()=>Qh,NTP_server_get_time:()=>$h,WIFI_ap_and_sta:()=>lF,WIFI_ap_or_sta:()=>cF,WIFI_incomingPacket:()=>dF,WIFI_info:()=>jh,WIFI_send_data:()=>pF,WIFI_smartConfig:()=>aF,WeatherGet:()=>rF,WeatherGetForecast:()=>_F,WeatherGetToday:()=>uF,asyncelegantota:()=>gF,ethernet_client_available:()=>Wh,ethernet_client_connect_server:()=>Gh,ethernet_client_connected:()=>Uh,ethernet_client_get_request:()=>Zh,ethernet_client_print:()=>Hh,ethernet_client_println:()=>zh,ethernet_client_read:()=>Kh,ethernet_client_stop:()=>Bh,ethernet_init_begin:()=>Vh,ethernet_init_local_ip:()=>Xh,ethernet_mac_address:()=>kh,http_get:()=>sF,mixio_mqtt_publish:()=>IF,mixio_mqtt_received_the_news:()=>AF,mixio_mqtt_subscribe:()=>hF,mixio_mqtt_subscribe_key:()=>FF,network_get_connect:()=>qh,network_wifi_connect:()=>Jh});var N={};e.r(N),e.d(N,{factory_block:()=>LF,factory_block_return:()=>PF,factory_block_return_with_textarea:()=>bF,factory_block_with_textarea:()=>yF,factory_callMethod_noreturn:()=>DF,factory_callMethod_return:()=>NF,factory_declare:()=>mF,factory_declare2:()=>CF,factory_define:()=>OF,factory_function_noreturn:()=>MF,factory_function_return:()=>TF,factory_include:()=>EF,factory_static_method_noreturn:()=>SF,factory_static_method_return:()=>RF});var L={};e.r(L),e.d(L,{ADS1015_Get_Value:()=>fI,ADS1015_setGain:()=>xI,ESP32touchButton:()=>qF,OneButton_interrupt:()=>UF,PCF8591T:()=>eI,controls_attachInterrupt:()=>WF,controls_attachPinInterrupt:()=>zF,controls_detachInterrupt:()=>HF,controls_detachPinInterrupt:()=>KF,inout_analog_read:()=>GF,inout_analog_write:()=>XF,inout_buildin_led:()=>BF,inout_cancel_soft_analog_write:()=>$F,inout_digital_read:()=>VF,inout_digital_read2:()=>kF,inout_digital_write2:()=>YF,inout_highlow:()=>vF,inout_pinMode:()=>wF,inout_pulseIn:()=>ZF,inout_pulseIn2:()=>jF,inout_shiftout:()=>JF,inout_soft_analog_write:()=>QF});var P={};e.r(P),e.d(P,{array2_assignment:()=>rI,create_array2_with_text:()=>oI,get_array2_value:()=>uI,lists2GetValueByIndex:()=>hI,lists2SetValueByIndex:()=>_I,listsGetValueByIndex:()=>lI,listsSetValueByIndex:()=>dI,lists_array2_get_length:()=>gI,lists_array2_setup:()=>FI,lists_array2_setup_get_data:()=>II,lists_create_with:()=>tI,lists_create_with2:()=>nI,lists_create_with_text:()=>iI,lists_create_with_text2:()=>sI,lists_getIndex:()=>aI,lists_length:()=>pI,lists_setIndex:()=>cI,loop_array:()=>AI});var y={};e.r(y),e.d(y,{logic_boolean:()=>mI,logic_compare:()=>EI,logic_negate:()=>TI,logic_null:()=>CI,logic_operation:()=>MI,logic_true_or_false:()=>OI});var b={};e.r(b),e.d(b,{arduino_variate_type:()=>yI,base_map:()=>VI,math_SizeOf:()=>bI,math_arithmetic:()=>RI,math_auto_add_or_minus:()=>GI,math_bit:()=>DI,math_constrain:()=>kI,math_max_min:()=>vI,math_number:()=>SI,math_random_int:()=>YI,math_random_seed:()=>wI,math_single:()=>NI,math_to_int:()=>PI,math_trig:()=>LI,variables_operation:()=>XI});var v={};e.r(v),e.d(v,{pins_MISO:()=>KI,pins_MOSI:()=>zI,pins_SCK:()=>ZI,pins_SCL:()=>jI,pins_SDA:()=>JI,pins_analog:()=>UI,pins_digital:()=>BI,pins_interrupt:()=>HI,pins_pwm:()=>WI});var w={};e.r(w),e.d(w,{procedures_callnoreturn:()=>xA,procedures_callreturn:()=>$I,procedures_defnoreturn:()=>QI,procedures_defreturn:()=>qI,procedures_ifreturn:()=>fA,procedures_return:()=>eA});var Y={};e.r(Y),e.d(Y,{ADXL345:()=>mA,ADXL345_setOffset:()=>OA,AHT20_21:()=>fg,Arduino_keypad_4_4_start:()=>KA,BME280_READ:()=>kA,DHT:()=>lA,DS1302_init:()=>_A,DS1307_init:()=>hA,LIS3DHTR:()=>CA,LM35:()=>dA,MPU6050:()=>SA,MPU6050_update:()=>RA,NTC_TEMP:()=>xg,PS2_Button:()=>BA,PS2_init:()=>XA,PS2_stk:()=>UA,PS2_update:()=>GA,RTC_date:()=>IA,RTC_get_time:()=>FA,RTC_set_date:()=>MA,RTC_set_time:()=>gA,RTC_time:()=>AA,SHT20:()=>TA,TCS34725_Get_RGB:()=>WA,arduino_keypad_event:()=>QA,chaoshengbo2:()=>cA,ds18b20:()=>pA,encoder_init:()=>LA,encoder_init1:()=>bA,encoder_read:()=>NA,encoder_read1:()=>yA,encoder_write:()=>DA,encoder_write1:()=>PA,get_keypad_num:()=>qA,get_system_date_time:()=>EA,gps_data_available:()=>iA,gps_data_encode:()=>nA,gps_getData_xxx:()=>aA,gps_init:()=>tA,gps_xxx_isValid:()=>sA,keypad_col_data:()=>jA,keypad_row_data:()=>ZA,keypad_type_data:()=>JA,mixgo_MPU9250:()=>$A,mlx90614_get_data:()=>rA,mlx90614_init:()=>oA,sensor_encoder_get:()=>wA,sensor_encoder_handle:()=>VA,sensor_encoder_init:()=>vA,sensor_encoder_set:()=>YA,tcs230_Get_RGB:()=>zA,tcs230_init:()=>HA,weightSensor:()=>uA});var V={};e.r(V),e.d(V,{serial_available:()=>cg,serial_begin:()=>eg,serial_event:()=>ug,serial_flush:()=>og,serial_parseInt_Float:()=>pg,serial_print:()=>ig,serial_print_hex:()=>ag,serial_print_num:()=>sg,serial_println:()=>ng,serial_readstr:()=>lg,serial_readstr_until:()=>dg,serial_softserial:()=>rg,serial_write:()=>tg});var k={};e.r(k),e.d(k,{sd_DelFile:()=>Tg,sd_card_root_files:()=>Ag,sd_card_type:()=>Ig,sd_exist:()=>Eg,sd_read:()=>Mg,sd_volume:()=>gg,simple_spiffs_DelFile:()=>Pg,simple_spiffs_read:()=>Lg,simple_spiffs_store_spiffs_write:()=>Ng,store_eeprom_get:()=>Dg,store_eeprom_put:()=>Rg,store_eeprom_read_byte:()=>Sg,store_eeprom_read_long:()=>Cg,store_eeprom_write_byte:()=>Og,store_eeprom_write_long:()=>mg,store_sd_init:()=>hg,store_sd_write:()=>Fg});var X={};e.r(X),e.d(X,{String_indexOf:()=>qg,String_to_Long_Integer:()=>$g,ascii_to_char:()=>Yg,char_to_ascii:()=>Vg,data_replacement:()=>Kg,decimal_places:()=>Wg,eliminate:()=>Zg,first_and_last:()=>jg,letter_conversion:()=>zg,number_to_text:()=>kg,substring:()=>Hg,text:()=>yg,text_char:()=>bg,text_char_at:()=>Gg,text_compareTo:()=>Ug,text_equals_starts_ends:()=>Bg,text_join:()=>vg,text_join2:()=>Qg,text_length:()=>Xg,text_to_number:()=>wg,type_conversion:()=>Jg});var G={};e.r(G),e.d(G,{IICSCAN:()=>eE,core_esp32c3_pin:()=>ME,esp32c3_pin:()=>gE,esp32s2_pin:()=>AE,esp32s3_pin:()=>EE,esp8266_board_pin:()=>mE,esp8266_pin:()=>hE,factory_notes:()=>xE,folding_block:()=>fE,get_the_number_of_days_between_the_two_dates:()=>TE,leonardo_pin:()=>rE,mega_pin:()=>_E,nano_pin:()=>pE,promini_pin:()=>oE,stm32f103c8t6_pin:()=>IE,tool_modulus:()=>dE,tool_modulus_show:()=>nE,uno_pin:()=>uE,wemos_d1_mini_pin:()=>FE});var B={};e.r(B),e.d(B,{variables_change:()=>RE,variables_declare:()=>OE,variables_get:()=>CE,variables_set:()=>SE});var U={};e.r(U),e.d(U,{esp_now_receive:()=>PE,esp_now_send:()=>LE});var W={};e.r(W),e.d(W,{esp_now_receive:()=>bE,esp_now_send:()=>yE});const H=Blockly,z=Mixly,K="#27b6ac",Z={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(H.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(H.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},j={init:function(){this.appendDummyInput().appendField(new H.FieldDropdown([["POST","POST"],["PATCH","PATCH"],["PUT","PUT"]]),"TYPE").appendField(H.Msg.blockpy_REQUESTS),this.appendValueInput("api").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendValueInput("data").setCheck(null).appendField(H.Msg.MIXLY_SD_DATA),this.appendStatementInput("success").setCheck(null).appendField(H.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(H.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},J={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}};var q,Q=[];for(q in J)Q.push([q,q]);function xx(x){var f,e=[];for(f in J[x])e.push([f,f]);return e}var fx={};for(q of Q)fx[q[0]]=xx(q[0]);const ex={init:function(){this.appendDummyInput().appendField(new H.FieldDropdown(Q),"province").appendField(new H.FieldDependentDropdown("province",fx,[["-","-"]]),"city"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(K),this.setHelpUrl(""),this.preProvince=null}},tx={init:function(){this.setColour(K),this.appendDummyInput("").appendField(new H.FieldDropdown([["S9l2sb_ZK-UsWaynG","S9l2sb_ZK-UsWaynG"],["SpRpSYb7QOMT0M8Tz","SpRpSYb7QOMT0M8Tz"],["SboqGMxP4tYNXUN8f","SboqGMxP4tYNXUN8f"],["SJiRrYGYFkGnfi081","SJiRrYGYFkGnfi081"],["SMhSshUxuTL0GLVLS","SMhSshUxuTL0GLVLS"]]),"key"),this.setOutput(!0,null)}},ix={init:function(){this.appendDummyInput("").appendField(H.Msg.MSG.catweather).appendField(new H.FieldDropdown([[H.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[H.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[H.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(H.Msg.MIXLY_INFORMATION_CONFIGURATION),this.appendValueInput("location").setCheck(null).appendField(H.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("private_key").setCheck(null).appendField(H.Msg.MIXLY_API_PRIVATE_KEY),this.appendDummyInput("").appendField(H.Msg.MIXLY_LANGUAGE).appendField(new H.FieldDropdown([["简体中文","zh-Hans"],["繁體中文","zh-Hant"],["English","en"]]),"language"),this.appendDummyInput("").appendField(H.Msg.MIXLY_TEMPERATURE_UNIT).appendField(new H.FieldDropdown([[H.Msg.MIXLY_CELSIUS+"(℃)","c"],[H.Msg.MIXLY_FAHRENHEIT+"(℉)","f"]]),"unit"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(K),this.setTooltip("这里的API私钥免费体验有次数限制\n访问频率限制20次/分钟"),this.setHelpUrl("")}},nx={init:function(){this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[H.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[H.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(new H.FieldDropdown([[H.Msg.MIXLY_AVAILABLE,"update"],[H.Msg.MIXLY_GET_DATA_UPDATE_TIME,"getLastUpdate"],[H.Msg.MIXLY_GET_SERVER_RESPONSE_STATUS_CODE,"getServerCode"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(K),this.setTooltip(""),this.setHelpUrl("")}},sx={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_LIVE_WEATHER).appendField(H.Msg.MIXLY_GET).appendField(new H.FieldDropdown([[H.Msg.MIXLY_WEATHER_PHENOMENON,"getWeatherText"],[H.Msg.MIXLY_WEATHER_PHENOMENON_CODE,"getWeatherCode"],[H.Msg.MIXLY_TEMPERATURE,"getDegree"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(K),this.setTooltip(""),this.setHelpUrl("")}},ax={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_3_DAY_WEATHER_FORECAST).appendField(H.Msg.MIXLY_GET).appendField(new H.FieldDropdown([[H.Msg.MIXLY_TODAY,"0"],[H.Msg.MIXLY_TOMORROW,"1"],[H.Msg.MIXLY_DAY_AFTER_TOMORROW,"2"]]),"date").appendField(new H.FieldDropdown([[H.Msg.ForecastHigh,"getHigh"],[H.Msg.ForecastLow,"getLow"],[H.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON,"getDayText"],[H.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE,"getDayCode"],[H.Msg.MIXLY_EVENING_WEATHER_PHENOMENON,"getNightText"],[H.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE,"getNightCode"],[H.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION,"getRain"],[H.Msg.ForecastFx,"getWindDirection"],[H.Msg.MIXLY_WIND_SPEED,"getWindSpeed"],[H.Msg.MIXLY_WIND_RATING,"getWindScale"],[H.Msg.MIXLY_Humidity,"getHumidity"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(K),this.setTooltip(""),this.setHelpUrl("")}},cx={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_6_LIFE_INDEXES).appendField(H.Msg.MIXLY_GET).appendField(new H.FieldDropdown([[H.Msg.MIXLY_CAR_WASH_INDEX,"getCarWash"],[H.Msg.MIXLY_DRESSING_INDEX,"getDressing"],[H.Msg.MIXLY_COLD_INDEX,"getFactorFlu"],[H.Msg.MIXLY_MOVEMENT_INDEX,"getExercise"],[H.Msg.MIXLY_TOURISM_INDEX,"getTravel"],[H.Msg.MIXLY_UV_INDEX,"getUV"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(K),this.setTooltip(""),this.setHelpUrl("")}},lx={init:function(){this.appendValueInput("VALUE").setCheck(null).setAlign(H.inputs.Align.LEFT).appendField(new H.FieldDropdown([["Base64","BASE64"],["URL","URL"]]),"TYPE").appendField(new H.FieldDropdown([["编码","ENCODE"],["解码","DECODE"]]),"OPTION"),this.setOutput(!0,null),this.setColour(160),this.setTooltip(""),this.setHelpUrl("")}},dx=function(){const x=z.Boards.getType(),f=H.Arduino.valueToCode(this,"api",H.Arduino.ORDER_ATOMIC);let e=H.Arduino.statementToCode(this,"success")||"";e=e.replace(/(^\s*)|(\s*$)/g,"");let t=H.Arduino.statementToCode(this,"failure")||"";t=t.replace(/(^\s*)|(\s*$)/g,"");let i="";return"arduino_esp8266"==x?(H.Arduino.definitions_.include_ESP8266WiFi="#include ",H.Arduino.definitions_.include_ESP8266HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n WiFiClient client;\n HTTPClient http;\n http.begin(client, "+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n } else {\n "+t+"\n }\n http.end();\n}\n"):(H.Arduino.definitions_.include_WiFi="#include ",H.Arduino.definitions_.include_HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n }\n else {\n "+t+"\n }\n http.end();\n}\n"),i},px=function(){const x=z.Boards.getType(),f=this.getFieldValue("TYPE"),e=H.Arduino.valueToCode(this,"api",H.Arduino.ORDER_ATOMIC),t=H.Arduino.valueToCode(this,"data",H.Arduino.ORDER_ATOMIC);let i=H.Arduino.statementToCode(this,"success")||"";i=i.replace(/(^\s*)|(\s*$)/g,"");let n=H.Arduino.statementToCode(this,"failure")||"";n=n.replace(/(^\s*)|(\s*$)/g,"");let s="";return"arduino_esp8266"==x?(H.Arduino.definitions_.include_ESP8266WiFi="#include ",H.Arduino.definitions_.include_ESP8266HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n WiFiClient client;\n http.begin(client, "+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n } else {\n "+n+"\n }\n http.end();\n}\n"):(H.Arduino.definitions_.include_WiFi="#include ",H.Arduino.definitions_.include_HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n }\n else {\n "+n+"\n }\n http.end();\n}\n"),s},ox={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}},rx=function(){var x=this.getFieldValue("province"),f=this.getFieldValue("city"),e="";try{e='"'+ox[x][f].pinyin+'"'}catch(x){console.log(x)}return[e,H.Arduino.ORDER_ATOMIC]},ux=function(){return['"'+this.getFieldValue("key")+'"',H.Arduino.ORDER_ATOMIC]},_x=function(){var x=this.getFieldValue("api"),f=H.Arduino.valueToCode(this,"location",H.Arduino.ORDER_ATOMIC),e=H.Arduino.valueToCode(this,"private_key",H.Arduino.ORDER_ATOMIC),t=this.getFieldValue("language"),i=this.getFieldValue("unit");switch(H.Arduino.definitions_.include_ESP8266_Seniverse="#include ",H.Arduino.setups_.setup_serial_Serial="Serial.begin(9600);",x){case"weather/now":H.Arduino.definitions_.var_declare_weatherNow="WeatherNow weatherNow;",H.Arduino.setups_.setup_seniverse_weatherNow="weatherNow.config("+e+", "+f+', "'+i+'", "'+t+'");';break;case"weather/daily":H.Arduino.definitions_.var_declare_forecast="Forecast forecast;",H.Arduino.setups_.setup_seniverse_forecast="forecast.config("+e+", "+f+', "'+i+'", "'+t+'");';break;default:H.Arduino.definitions_.var_declare_lifeInfo="LifeInfo lifeInfo;",H.Arduino.setups_.setup_seniverse_lifeInfo="lifeInfo.config("+e+", "+f+', "'+i+'", "'+t+'");'}return""},hx=function(){var x=this.getFieldValue("api"),f=this.getFieldValue("type"),e="";switch(x){case"weather/now":e="weatherNow."+f+"()";break;case"weather/daily":e="forecast."+f+"()";break;default:e="lifeInfo."+f+"()"}return[e,H.Arduino.ORDER_ATOMIC]},Fx=function(){return["weatherNow."+this.getFieldValue("type")+"()",H.Arduino.ORDER_ATOMIC]},Ix=function(){var x=this.getFieldValue("date");return["forecast."+this.getFieldValue("type")+"("+x+")",H.Arduino.ORDER_ATOMIC]},Ax=function(){return["lifeInfo."+this.getFieldValue("type")+"()",H.Arduino.ORDER_ATOMIC]},gx=function(){const x=this.getFieldValue("TYPE"),f=this.getFieldValue("OPTION"),e=H.Arduino.valueToCode(this,"VALUE",H.Arduino.ORDER_ATOMIC);let t="";return"BASE64"===x?(H.Arduino.definitions_.include_rBase64="#include ",t="ENCODE"===f?"rbase64.encode("+e+")":"rbase64.decode("+e+")"):(H.Arduino.definitions_.include_URLCode="#include ",H.Arduino.definitions_.var_declare_urlCode="URLCode urlCode;","ENCODE"===f?(H.Arduino.definitions_.function_urlEncode="String urlEncode(String urlStr) {\n urlCode.strcode = urlStr;\n urlCode.urlencode();\n return urlCode.urlcode;\n}\n",t="urlEncode("+e+")"):(H.Arduino.definitions_.function_urlDecode="String urlDecode(String urlStr) {\n urlCode.urlcode = urlStr;\n urlCode.urldecode();\n return urlCode.strcode;\n}\n",t="urlDecode("+e+")")),[t,H.Arduino.ORDER_ATOMIC]},Ex=function(x,f){if(this.variablePrefix_=f||"",this.reservedDict_=Object.create(null),x)for(var e=x.split(","),t=0;t1&&(s+=t)):e=s}else e="i";return e}},Ox=Cx;class Sx extends H.Generator{constructor(x){super(x??"Arduino"),this.ORDER_ATOMIC=0,this.ORDER_UNARY_POSTFIX=1,this.ORDER_UNARY_PREFIX=2,this.ORDER_MULTIPLICATIVE=3,this.ORDER_ADDITIVE=4,this.ORDER_SHIFT=5,this.ORDER_RELATIONAL=6,this.ORDER_EQUALITY=7,this.ORDER_BITWISE_AND=8,this.ORDER_BITWISE_XOR=9,this.ORDER_BITWISE_OR=10,this.ORDER_LOGICAL_AND=11,this.ORDER_LOGICAL_OR=12,this.ORDER_CONDITIONAL=13,this.ORDER_ASSIGNMENT=14,this.ORDER_NONE=99,this.INDENT=" ",this.isInitialized=!1,this.PASS="",this.addReservedWords("setup,loop,if,else,for,switch,case,while,do,break,continue,return,goto,define,include,HIGH,LOW,INPUT,OUTPUT,INPUT_PULLUP,true,false,interger,constants,floating,point,void,bookean,char,unsigned,byte,int,short,word,long,float,double,string,String,array,static,volatile,const,sizeof")}init(){super.init(),this.definitions_=Object.create(null),this.setups_=Object.create(null),this.setups_begin_=Object.create(null),this.setups_end_=Object.create(null),this.libs_=Object.create(null),this.loops_begin_=Object.create(null),this.loops_end_=Object.create(null),this.variableDB_?this.variableDB_.reset():this.variableDB_=new Mx(this.RESERVED_WORDS_),this.isInitialized=!0}finish(x){x=(x=" "+x.replace(/\n/g,"\n ")).replace(/\n\s+$/,"\n");var f=[],e=[],t=[],i=[],n=Object.keys(this.definitions_);if(n.length)for(var s in n){var a=n[s],c=this.definitions_[a];a.match(/^define/)?e.push(c):a.match(/^include/)||c.match(/^WiFiClient/)?f.push(c):a.match(/^var_declare/)?t.push(c):i.push(c)}var l=[];for(let x in this.setups_)l.push(this.setups_[x]);var d=[],p=[];for(let x in this.setups_begin_)d.push(this.setups_begin_[x]);for(let x in this.setups_end_)p.push(this.setups_end_[x]);for(let x in this.libs_)f.push(`#include "${x}.h"`);var o=[],r=[];for(let x in this.loops_begin_)o.push(this.loops_begin_[x]);for(let x in this.loops_end_)r.push(this.loops_end_[x]);return x="void loop(){\n"+(o.length?" "+o.join("\n "):"")+x+(r.length?" "+r.join("\n "):"")+"\n}",(e.join("\n")+"\n"+f.join("\n")+"\n\n"+t.join("\n")+"\n\n"+i.join("\n")+"\n\nvoid setup(){\n "+d.join("\n ")+(d.length&&(p.length||l.length)?"\n ":"")+l.join("\n ")+(p.length&&l.length?"\n ":"")+p.join("\n ")+"\n}\n\n").replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n")+x}scrubNakedValue(x){return x+";\n"}quote_(x){return'"'+x+'"'}scrub_(x,f){if(null===f)return"";var e="";if(!x.outputConnection||!x.outputConnection.targetConnection){let f=x.getCommentText();f&&(e+=this.prefixLines(f,"// ")+"\n");for(var t=0;t0;i--)f.getInputTargetBlock("IF"+i)&&f.getInputTargetBlock("IF"+i).previousConnection?e[i]=f.getInputTargetBlock("IF"+i).previousConnection:e[i]=null,this.removeInput("IF"+i),f.getInputTargetBlock("DO"+i)&&f.getInputTargetBlock("DO"+i).previousConnection?t[i]=f.getInputTargetBlock("DO"+i).previousConnection:t[i]=null,this.removeInput("DO"+i);this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(i=1;i<=this.elseifCount_;i++)this.appendValueInput("IF"+i).setCheck([Boolean,Number]).appendField(H.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+i).appendField(H.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(H.Msg.CONTROLS_IF_MSG_ELSE);for(i=e.length-2;i>0;i--)e[i]&&e[i].reconnect(this,"IF"+i);for(i=t.length-2;i>0;i--)t[i]&&t[i].reconnect(this,"DO"+i)},decompose:function(x){var f=x.newBlock("controls_if_if");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_if_elseif");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_if_else");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null],i=[null],n=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,t.push(e.valueConnection_),i.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,i,n)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_if_elseif":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_if_else":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){var x=[null],f=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var t=1;this.getInput("IF"+t);){var i=this.getInput("IF"+t),n=this.getInput("DO"+t);console.log(i.connection.targetConnection),x.push(i.connection.targetConnection),f.push(n.connection.targetConnection),t++}this.updateShape_(),this.reconnectChildBlocks_(x,f,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var x=1;this.getInput("IF"+x);)this.removeInput("IF"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendValueInput("IF"+x).setCheck([Number,Boolean]).appendField(H.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+x).appendField(H.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(H.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(x,f,e){for(var t=1;t<=this.elseifCount_;t++)x[t]&&x[t].reconnect(this,"IF"+t),f[t]&&f[t].reconnect(this,"DO"+t);e&&e.reconnect(this,"ELSE")}},Zt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(H.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(H.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(H.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Jt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(H.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(H.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},qt={init:function(){this.setColour(Xt),this.appendValueInput("IF0").setCheck([Number,Boolean]).appendField("switch"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#switch"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","switch 选择"]}},this.setMutator(new H.icons.MutatorIcon(["controls_case","controls_default"],this)),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),this.elseCount_&&x.setAttribute("else",1),x},domToMutation:function(x){this.compose(this),this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(var f=1;f<=this.elseifCount_;f++)this.appendValueInput("IF"+f).setCheck([Number,Boolean]).appendField("case"),this.appendStatementInput("DO"+f).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField("default")},decompose:function(x){var f=x.newBlock("controls_switch");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_case");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_default");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK");e;){switch(e.type){case"controls_case":this.elseifCount_++;var t=this.appendValueInput("IF"+this.elseifCount_).setCheck([Number,Boolean]).appendField("case"),i=this.appendStatementInput("DO"+this.elseifCount_);i.appendField(""),e.valueConnection_&&t.connection.connect(e.valueConnection_),e.statementConnection_&&i.connection.connect(e.statementConnection_);break;case"controls_default":this.elseCount_++;var n=this.appendStatementInput("ELSE");n.appendField("default"),e.statementConnection_&&n.connection.connect(e.statementConnection_);break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_case":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_default":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}}},Qt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("switch"),this.appendStatementInput("STACK"),this.contextMenu=!1}},$t={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("case"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},xi={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("default"),this.setPreviousStatement(!0),this.contextMenu=!1}},fi={init:function(){this.setColour(Xt),this.appendValueInput("TIME").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("MsTimer2"+H.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(H.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#MsTimer2"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"]}}}},ei={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("MsTimer2"+H.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id45"),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_START),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器启动"}}}},ti={init:function(){this.setColour(Xt),this.appendDummyInput().appendField("MsTimer2").appendField(H.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_STOP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id48"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器停止"}}}},ii={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(H.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},ni={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(H.Msg.SOFT_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},si={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(H.Msg.MIXLY_CONTROL_INTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_CONTROL_ALLOW_INTERRUPT),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id51"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"允许中断"}}}},ai={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(H.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id55"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"禁止中断"}}}},ci=Bt,li={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_SIMPLE_TIMER).appendField(new H.FieldDropdown([["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"]]),"NO").appendField(H.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("timein").setCheck(null),this.appendDummyInput().appendField(H.Msg.MIXLY_mSecond),this.appendStatementInput("zxhs").setCheck(null).appendField(H.Msg.CONTROLS_REPEAT_INPUT_DO),this.setColour(120),this.setTooltip(),this.setHelpUrl(""),this.wiki={"zh-hans":{page:["Arduino AVR","控制","简单定时器"]}}}},di={init:function(){this.appendStatementInput("input_data").setCheck(null).appendField(H.Msg.MIXLY_DO),this.appendValueInput("select_data").setCheck(null).appendField(H.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new H.FieldDropdown([[H.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[H.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("do-while loop"),this.setHelpUrl("")}},pi={init:function(){this.appendDummyInput().appendField(H.Msg.super_delay_function).appendField(new H.FieldDropdown([["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"]]),"number"),this.appendStatementInput("delay_function").setCheck(null),this.setColour(120),this.setTooltip(H.Msg.super_delay_function_help),this.setHelpUrl("")}},oi={init:function(){this.appendDummyInput().appendField(H.Msg.execute_super_delay_function).appendField(new H.FieldDropdown([["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"]]),"number"),this.appendValueInput("time_interval").setCheck(null).appendField(H.Msg.time_interval),this.appendValueInput("frequency").setCheck(null).appendField(H.Msg.number_of_executions),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip(H.Msg.execute_super_delay_function_help),this.setHelpUrl("")}},ri=layui,ui=$;var _i=e.n(ui);const{layer:hi}=ri,Fi=180;var Ii=[[H.Msg.OLED_HOLLOW,"draw"],[H.Msg.OLED_SOLID,"fill"]];const Ai={init:function(){this.setColour(Fi),this.appendValueInput("device").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(H.Msg.MIXLY_LCD_ADDRESS),this.appendDummyInput("").appendField("SCL").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"SCL").appendField("SDA").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_INIT2),this.setFieldValue(z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(z.Profile.default.SDA[0][1],"SDA")}},gi={init:function(){this.setColour(Fi),this.appendDummyInput().setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new H.FieldTextInput("mylcd"),"VAR").setAlign(H.inputs.Align.LEFT),this.appendDummyInput().appendField("RS").appendField(new H.FieldDropdown(z.Profile.default.digital),"RS").appendField("EN").appendField(new H.FieldDropdown(z.Profile.default.digital),"EN").appendField("D4").appendField(new H.FieldDropdown(z.Profile.default.digital),"D4").appendField("D5").appendField(new H.FieldDropdown(z.Profile.default.digital),"D5").appendField("D6").appendField(new H.FieldDropdown(z.Profile.default.digital),"D6").appendField("D7").appendField(new H.FieldDropdown(z.Profile.default.digital),"D7"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_INIT3)}},Ei={init:function(){this.setColour(Fi),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(H.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_PRINT)}},Mi={init:function(){this.setColour(Fi),this.appendValueInput("row",Number).setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(H.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace("%1",H.Arduino.valueToCode(this,"row",H.Arduino.ORDER_ATOMIC)).replace("%2",H.Arduino.valueToCode(this,"column",H.Arduino.ORDER_ATOMIC)))}},Ti={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"VAR").appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"display"],[H.Msg.MIXLY_OFF,"noDisplay"],[H.Msg.MIXLY_LCD_STAT_CURSOR,"cursor"],[H.Msg.MIXLY_LCD_STAT_NOCURSOR,"noCursor"],[H.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[H.Msg.MIXLY_LCD_STAT_NOBLINK,"noBlink"],[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[H.Msg.MIXLY_LCD_NOBACKLIGHT,"noBacklight"],[H.Msg.MIXLY_LCD_BACKLIGHT,"backlight"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LCD_POWER)}},mi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"displayOn"],[H.Msg.MIXLY_OFF,"displayOff"],[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Ci={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"_TM1650"),this.appendValueInput("VALUE").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.OLED_DRAWSTR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString)}},Oi={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(H.Msg.MIXLY_4DIGITDISPLAY_NOMBER1).appendField(new H.FieldDropdown([["1","0"],["2","1"],["3","2"],["4","3"]]),"NO").appendField(H.Msg.MIXLY_4DIGITDISPLAY_NOMBER2).appendField(H.Msg.MIXLY_4DIGITDISPLAY_DOT).appendField(new H.FieldDropdown([[H.Msg.MIXLY_4DIGITDISPLAY_ON,"true"],[H.Msg.MIXLY_4DIGITDISPLAY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},Si={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SETUP).appendField("CLK").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"CLK").appendField("DIO").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},Ri={init:function(){this.setColour(Fi),this.appendValueInput("VALUE").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP)}},Di={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"true"],[H.Msg.MIXLY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},Ni={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},Li={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(new H.FieldDropdown([[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[H.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[H.Msg.MIXLY_ON,"on"],[H.Msg.MIXLY_OFF,"off"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},Pi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_INIT),this.appendDummyInput("").appendField("SCL").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"SCL").appendField("SDA").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT),this.setFieldValue(z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(z.Profile.default.SDA[0][1],"SDA")}},yi={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_MAX7219_INIT),this.appendValueInput("PIN1").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("DIN(MOSI)").appendField(H.Msg.MIXLY_PIN),this.appendValueInput("PIN2").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("CS").appendField(H.Msg.MIXLY_PIN),this.appendValueInput("PIN3").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("CLK(SCK)").appendField(H.Msg.MIXLY_PIN),this.appendValueInput("hDisplays").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_HDISPALY),this.appendValueInput("vDisplays").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_VDISPALY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Fi),this.setInputsInline(!1),this.setTooltip(H.Msg.MAX7219_INIT_TOOLTIP),this.setHelpUrl("")}};var bi=[["MAX7219","MAX7219"],["HT16K33","HT16K33"]];const vi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(bi),"TYPE"),this.appendValueInput("XVALUE").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendValueInput("STAT").appendField(H.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}};var wi=[[H.Msg.MIXLY_0DEGREE,"0"],[H.Msg.MIXLY_90DEGREE,"3"],[H.Msg.MIXLY_180DEGREE,"2"],[H.Msg.MIXLY_270DEGREE,"1"]];const Yi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_NO),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new H.FieldDropdown(wi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Vi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_NO),this.appendValueInput("X").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("X"),this.appendValueInput("Y").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField("Y"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},ki={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField("HT16K33"),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new H.FieldDropdown(wi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Xi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(bi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.texttodisplay),this.appendValueInput("Speed").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Gi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(bi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.texttodisplay),this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Bi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(bi),"TYPE").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.appendValueInput("NO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MAX7219_NO),this.appendValueInput("LEDArray").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR)}},Ui={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a81").appendField(new H.FieldCheckbox("FALSE"),"a82").appendField(new H.FieldCheckbox("FALSE"),"a83").appendField(new H.FieldCheckbox("FALSE"),"a84").appendField(new H.FieldCheckbox("FALSE"),"a85").appendField(new H.FieldCheckbox("FALSE"),"a86").appendField(new H.FieldCheckbox("FALSE"),"a87").appendField(new H.FieldCheckbox("FALSE"),"a88"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a71").appendField(new H.FieldCheckbox("FALSE"),"a72").appendField(new H.FieldCheckbox("FALSE"),"a73").appendField(new H.FieldCheckbox("FALSE"),"a74").appendField(new H.FieldCheckbox("FALSE"),"a75").appendField(new H.FieldCheckbox("FALSE"),"a76").appendField(new H.FieldCheckbox("FALSE"),"a77").appendField(new H.FieldCheckbox("FALSE"),"a78"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a61").appendField(new H.FieldCheckbox("FALSE"),"a62").appendField(new H.FieldCheckbox("FALSE"),"a63").appendField(new H.FieldCheckbox("FALSE"),"a64").appendField(new H.FieldCheckbox("FALSE"),"a65").appendField(new H.FieldCheckbox("FALSE"),"a66").appendField(new H.FieldCheckbox("FALSE"),"a67").appendField(new H.FieldCheckbox("FALSE"),"a68"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a51").appendField(new H.FieldCheckbox("FALSE"),"a52").appendField(new H.FieldCheckbox("FALSE"),"a53").appendField(new H.FieldCheckbox("FALSE"),"a54").appendField(new H.FieldCheckbox("FALSE"),"a55").appendField(new H.FieldCheckbox("FALSE"),"a56").appendField(new H.FieldCheckbox("FALSE"),"a57").appendField(new H.FieldCheckbox("FALSE"),"a58"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a41").appendField(new H.FieldCheckbox("FALSE"),"a42").appendField(new H.FieldCheckbox("FALSE"),"a43").appendField(new H.FieldCheckbox("FALSE"),"a44").appendField(new H.FieldCheckbox("FALSE"),"a45").appendField(new H.FieldCheckbox("FALSE"),"a46").appendField(new H.FieldCheckbox("FALSE"),"a47").appendField(new H.FieldCheckbox("FALSE"),"a48"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a31").appendField(new H.FieldCheckbox("FALSE"),"a32").appendField(new H.FieldCheckbox("FALSE"),"a33").appendField(new H.FieldCheckbox("FALSE"),"a34").appendField(new H.FieldCheckbox("FALSE"),"a35").appendField(new H.FieldCheckbox("FALSE"),"a36").appendField(new H.FieldCheckbox("FALSE"),"a37").appendField(new H.FieldCheckbox("FALSE"),"a38"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a21").appendField(new H.FieldCheckbox("FALSE"),"a22").appendField(new H.FieldCheckbox("FALSE"),"a23").appendField(new H.FieldCheckbox("FALSE"),"a24").appendField(new H.FieldCheckbox("FALSE"),"a25").appendField(new H.FieldCheckbox("FALSE"),"a26").appendField(new H.FieldCheckbox("FALSE"),"a27").appendField(new H.FieldCheckbox("FALSE"),"a28"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a11").appendField(new H.FieldCheckbox("FALSE"),"a12").appendField(new H.FieldCheckbox("FALSE"),"a13").appendField(new H.FieldCheckbox("FALSE"),"a14").appendField(new H.FieldCheckbox("FALSE"),"a15").appendField(new H.FieldCheckbox("FALSE"),"a16").appendField(new H.FieldCheckbox("FALSE"),"a17").appendField(new H.FieldCheckbox("FALSE"),"a18"),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY)}},Wi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").setAlign(H.inputs.Align.CENTRE).appendField(new H.FieldBitmap([[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},Hi={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(bi),"TYPE"),this.appendValueInput("Brightness").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_BRIGHTNESS),this.setTooltip(H.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}};var zi=[[H.Msg.MAX7219_FILLSCREEN_ON,"fillScreen(1)"],[H.Msg.MAX7219_FILLSCREEN_OFF,"fillScreen(0)"]];const Ki={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(bi),"TYPE"),this.appendDummyInput("").appendField(H.Msg.MIXLY_STAT),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldDropdown(zi),"FILLSCREEN_TYPE"),this.appendDummyInput("").appendField(new H.FieldDropdown([[H.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[H.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS)}},Zi={init:function(){this.appendDummyInput("").appendField(H.Msg.MIXLY_MAX7219_IMG).appendField(new H.FieldDropdown([["↑","18181818db7e3c18"],["↓","183c7edb18181818"],["←","080c06ffff060c08"],["→","103060ffff603010"],["♥","183c7effffffe742"],["▲","00000000ff7e3c18"],["▼","183c7eff00000000"],["◄","080c0e0f0f0e0c08"],["►","103070f0f0703010"],["△","00000000ff422418"],["▽","182442ff00000000"],["☺","3c4299a581a5423c"],["○","3c4281818181423c"],["◑","3c72f1f1f1f1723c"],["◐","3c4e8f8f8f8f4e3c"],["¥","101010ff10ff2442"],["Χ","8142241818244281"],["√","0000010204885020"],["□","007e424242427e00"],["▣","007e425a5a427e00"],["◇","1824428181422418"],["♀","083e081c2222221c"],["♂","0e1b111b9ea0c0f0"],["♪","061f1e1010d07030"],["✈","203098ffff983020"],["卍","00f21212fe90909e"],["卐","009e9090fe1212f2"],["|","1010101010101010"],["—","000000ff00000000"],["╱","0102040810204080"],["\","8040201008040201"],["大","41221408087f0808"],["中","1010fe9292fe1010"],["小","0e08492a2a080808"],["米","00925438fe385492"],["正","7f0a0a3a08087f00"],["囧","ffa5a5bdc3a5a5ff"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(Fi),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR),this.setHelpUrl("")}},ji={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_MATRIX_TYPE).appendField(new H.FieldDropdown(bi),"TYPE").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}};var Ji=[[H.Msg.OLED_HOR,"H"],[H.Msg.OLED_VER,"V"]],qi=[[H.Msg.OLED_HOLLOW,"drawFrame"],[H.Msg.OLED_SOLID,"drawBox"]],Qi=[[H.Msg.OLED_HOLLOW,"drawCircle"],[H.Msg.OLED_SOLID,"drawDisc"]],$i=[[H.Msg.OLED_HOLLOW,"drawRFrame"],[H.Msg.OLED_SOLID,"drawRBox"]],xn=[[H.Msg.OLED_WHOLE_CICILE,"U8G2_DRAW_ALL"],[H.Msg.OLED_UP_R,"U8G2_DRAW_UPPER_RIGHT"],[H.Msg.OLED_UP_L,"U8G2_DRAW_UPPER_LEFT"],[H.Msg.OLED_LOW_R,"U8G2_DRAW_LOWER_RIGHT"],[H.Msg.OLED_LOW_L,"U8G2_DRAW_LOWER_LEFT"]],fn=[[H.Msg.OLED_HOLLOW,"drawEllipse"],[H.Msg.OLED_SOLID,"drawFilledEllipse"]],en=[["Times New Roman","tim"],["Helvetica","helv"],["ncen","ncen"],["courier new","cour"]],tn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["SSD1306(128×32)","SSD1306_128X32_UNIVISION"],["SH1106(128×64)","SH1106_128X64_NONAME"]],nn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["LCM12864","ST7565_NHD_C12864"],["NOKIA5110","PCD8544_84X48"]],sn=[[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 0°","U8G2_R0"],[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 90°","U8G2_R1"],[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 180°","U8G2_R2"],[H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 270°","U8G2_R3"],[H.Msg.MIRROR,"U8G2_MIRROR"]],an=[["08","08"],["10","10"],["12","12"],["14","14"],["18","18"],["24","24"]],cn=[["常规","R"],["加粗","B"]],ln=[[H.Msg.OLED_FONT_chinese1,"_t_chinese1"],[H.Msg.OLED_FONT_chinese2,"_t_chinese2"],[H.Msg.OLED_FONT_chinese3,"_t_chinese3"],[H.Msg.OLED_FONT_gb2312a,"_t_gb2312a"],[H.Msg.OLED_FONT_gb2312b,"_t_gb2312b"],[H.Msg.OLED_FONT_gb2312,"_t_gb2312"]],dn=[["12","wqy12"],["13","wqy13"],["14","wqy14"],["15","wqy15"],["16","wqy16"]],pn=[[{src:"../common/media/oled_icons/64.png",width:24,height:24,alt:"64"},"64"],[{src:"../common/media/oled_icons/65.png",width:24,height:24,alt:"65"},"65"],[{src:"../common/media/oled_icons/66.png",width:24,height:24,alt:"66"},"66"],[{src:"../common/media/oled_icons/67.png",width:24,height:24,alt:"67"},"67"],[{src:"../common/media/oled_icons/68.png",width:24,height:24,alt:"68"},"68"],[{src:"../common/media/oled_icons/69.png",width:24,height:24,alt:"69"},"69"],[{src:"../common/media/oled_icons/70.png",width:24,height:24,alt:"70"},"70"],[{src:"../common/media/oled_icons/71.png",width:24,height:24,alt:"71"},"71"],[{src:"../common/media/oled_icons/72.png",width:24,height:24,alt:"72"},"72"],[{src:"../common/media/oled_icons/73.png",width:24,height:24,alt:"73"},"73"],[{src:"../common/media/oled_icons/74.png",width:24,height:24,alt:"74"},"74"],[{src:"../common/media/oled_icons/75.png",width:24,height:24,alt:"75"},"75"],[{src:"../common/media/oled_icons/76.png",width:24,height:24,alt:"76"},"76"],[{src:"../common/media/oled_icons/77.png",width:24,height:24,alt:"77"},"77"],[{src:"../common/media/oled_icons/78.png",width:24,height:24,alt:"78"},"78"],[{src:"../common/media/oled_icons/79.png",width:24,height:24,alt:"79"},"79"],[{src:"../common/media/oled_icons/80.png",width:24,height:24,alt:"80"},"80"],[{src:"../common/media/oled_icons/81.png",width:24,height:24,alt:"81"},"81"],[{src:"../common/media/oled_icons/82.png",width:24,height:24,alt:"82"},"82"],[{src:"../common/media/oled_icons/83.png",width:24,height:24,alt:"83"},"83"],[{src:"../common/media/oled_icons/84.png",width:24,height:24,alt:"84"},"84"],[{src:"../common/media/oled_icons/85.png",width:24,height:24,alt:"85"},"85"],[{src:"../common/media/oled_icons/86.png",width:24,height:24,alt:"86"},"86"],[{src:"../common/media/oled_icons/87.png",width:24,height:24,alt:"87"},"87"],[{src:"../common/media/oled_icons/88.png",width:24,height:24,alt:"88"},"88"],[{src:"../common/media/oled_icons/89.png",width:24,height:24,alt:"89"},"89"],[{src:"../common/media/oled_icons/90.png",width:24,height:24,alt:"90"},"90"],[{src:"../common/media/oled_icons/91.png",width:24,height:24,alt:"91"},"91"],[{src:"../common/media/oled_icons/92.png",width:24,height:24,alt:"92"},"92"],[{src:"../common/media/oled_icons/93.png",width:24,height:24,alt:"93"},"93"],[{src:"../common/media/oled_icons/94.png",width:24,height:24,alt:"94"},"94"],[{src:"../common/media/oled_icons/95.png",width:24,height:24,alt:"95"},"95"],[{src:"../common/media/oled_icons/96.png",width:24,height:24,alt:"96"},"96"],[{src:"../common/media/oled_icons/97.png",width:24,height:24,alt:"97"},"97"],[{src:"../common/media/oled_icons/98.png",width:24,height:24,alt:"98"},"98"],[{src:"../common/media/oled_icons/99.png",width:24,height:24,alt:"99"},"99"],[{src:"../common/media/oled_icons/100.png",width:24,height:24,alt:"100"},"100"],[{src:"../common/media/oled_icons/101.png",width:24,height:24,alt:"101"},"101"],[{src:"../common/media/oled_icons/102.png",width:24,height:24,alt:"102"},"102"],[{src:"../common/media/oled_icons/103.png",width:24,height:24,alt:"103"},"103"],[{src:"../common/media/oled_icons/104.png",width:24,height:24,alt:"104"},"104"],[{src:"../common/media/oled_icons/105.png",width:24,height:24,alt:"105"},"105"],[{src:"../common/media/oled_icons/106.png",width:24,height:24,alt:"106"},"106"],[{src:"../common/media/oled_icons/107.png",width:24,height:24,alt:"107"},"107"],[{src:"../common/media/oled_icons/108.png",width:24,height:24,alt:"108"},"108"],[{src:"../common/media/oled_icons/109.png",width:24,height:24,alt:"109"},"109"],[{src:"../common/media/oled_icons/110.png",width:24,height:24,alt:"110"},"110"],[{src:"../common/media/oled_icons/111.png",width:24,height:24,alt:"111"},"111"],[{src:"../common/media/oled_icons/112.png",width:24,height:24,alt:"112"},"112"],[{src:"../common/media/oled_icons/113.png",width:24,height:24,alt:"113"},"113"],[{src:"../common/media/oled_icons/114.png",width:24,height:24,alt:"114"},"114"],[{src:"../common/media/oled_icons/115.png",width:24,height:24,alt:"115"},"115"],[{src:"../common/media/oled_icons/116.png",width:24,height:24,alt:"116"},"116"],[{src:"../common/media/oled_icons/117.png",width:24,height:24,alt:"117"},"117"],[{src:"../common/media/oled_icons/118.png",width:24,height:24,alt:"118"},"118"],[{src:"../common/media/oled_icons/119.png",width:24,height:24,alt:"119"},"119"],[{src:"../common/media/oled_icons/120.png",width:24,height:24,alt:"120"},"120"],[{src:"../common/media/oled_icons/121.png",width:24,height:24,alt:"121"},"121"],[{src:"../common/media/oled_icons/122.png",width:24,height:24,alt:"122"},"122"],[{src:"../common/media/oled_icons/123.png",width:24,height:24,alt:"123"},"123"],[{src:"../common/media/oled_icons/124.png",width:24,height:24,alt:"124"},"124"],[{src:"../common/media/oled_icons/125.png",width:24,height:24,alt:"125"},"125"],[{src:"../common/media/oled_icons/126.png",width:24,height:24,alt:"126"},"126"],[{src:"../common/media/oled_icons/127.png",width:24,height:24,alt:"127"},"127"],[{src:"../common/media/oled_icons/128.png",width:24,height:24,alt:"128"},"128"],[{src:"../common/media/oled_icons/129.png",width:24,height:24,alt:"129"},"129"],[{src:"../common/media/oled_icons/130.png",width:24,height:24,alt:"130"},"130"],[{src:"../common/media/oled_icons/131.png",width:24,height:24,alt:"131"},"131"],[{src:"../common/media/oled_icons/132.png",width:24,height:24,alt:"132"},"132"],[{src:"../common/media/oled_icons/133.png",width:24,height:24,alt:"133"},"133"],[{src:"../common/media/oled_icons/134.png",width:24,height:24,alt:"134"},"134"],[{src:"../common/media/oled_icons/135.png",width:24,height:24,alt:"135"},"135"],[{src:"../common/media/oled_icons/136.png",width:24,height:24,alt:"136"},"136"],[{src:"../common/media/oled_icons/137.png",width:24,height:24,alt:"137"},"137"],[{src:"../common/media/oled_icons/138.png",width:24,height:24,alt:"138"},"138"],[{src:"../common/media/oled_icons/139.png",width:24,height:24,alt:"139"},"139"],[{src:"../common/media/oled_icons/140.png",width:24,height:24,alt:"140"},"140"],[{src:"../common/media/oled_icons/141.png",width:24,height:24,alt:"141"},"141"],[{src:"../common/media/oled_icons/142.png",width:24,height:24,alt:"142"},"142"],[{src:"../common/media/oled_icons/143.png",width:24,height:24,alt:"143"},"143"],[{src:"../common/media/oled_icons/144.png",width:24,height:24,alt:"144"},"144"],[{src:"../common/media/oled_icons/145.png",width:24,height:24,alt:"145"},"145"],[{src:"../common/media/oled_icons/146.png",width:24,height:24,alt:"146"},"146"],[{src:"../common/media/oled_icons/147.png",width:24,height:24,alt:"147"},"147"],[{src:"../common/media/oled_icons/148.png",width:24,height:24,alt:"148"},"148"],[{src:"../common/media/oled_icons/149.png",width:24,height:24,alt:"149"},"149"],[{src:"../common/media/oled_icons/150.png",width:24,height:24,alt:"150"},"150"],[{src:"../common/media/oled_icons/151.png",width:24,height:24,alt:"151"},"151"],[{src:"../common/media/oled_icons/152.png",width:24,height:24,alt:"152"},"152"],[{src:"../common/media/oled_icons/153.png",width:24,height:24,alt:"153"},"153"],[{src:"../common/media/oled_icons/154.png",width:24,height:24,alt:"154"},"154"],[{src:"../common/media/oled_icons/155.png",width:24,height:24,alt:"155"},"155"],[{src:"../common/media/oled_icons/156.png",width:24,height:24,alt:"156"},"156"],[{src:"../common/media/oled_icons/157.png",width:24,height:24,alt:"157"},"157"],[{src:"../common/media/oled_icons/158.png",width:24,height:24,alt:"158"},"158"],[{src:"../common/media/oled_icons/159.png",width:24,height:24,alt:"159"},"159"],[{src:"../common/media/oled_icons/160.png",width:24,height:24,alt:"160"},"160"],[{src:"../common/media/oled_icons/161.png",width:24,height:24,alt:"161"},"161"],[{src:"../common/media/oled_icons/162.png",width:24,height:24,alt:"162"},"162"],[{src:"../common/media/oled_icons/163.png",width:24,height:24,alt:"163"},"163"],[{src:"../common/media/oled_icons/164.png",width:24,height:24,alt:"164"},"164"],[{src:"../common/media/oled_icons/165.png",width:24,height:24,alt:"165"},"165"],[{src:"../common/media/oled_icons/166.png",width:24,height:24,alt:"166"},"166"],[{src:"../common/media/oled_icons/167.png",width:24,height:24,alt:"167"},"167"],[{src:"../common/media/oled_icons/168.png",width:24,height:24,alt:"168"},"168"],[{src:"../common/media/oled_icons/169.png",width:24,height:24,alt:"169"},"169"],[{src:"../common/media/oled_icons/170.png",width:24,height:24,alt:"170"},"170"],[{src:"../common/media/oled_icons/171.png",width:24,height:24,alt:"171"},"171"],[{src:"../common/media/oled_icons/172.png",width:24,height:24,alt:"172"},"172"],[{src:"../common/media/oled_icons/173.png",width:24,height:24,alt:"173"},"173"],[{src:"../common/media/oled_icons/174.png",width:24,height:24,alt:"174"},"174"],[{src:"../common/media/oled_icons/175.png",width:24,height:24,alt:"175"},"175"],[{src:"../common/media/oled_icons/176.png",width:24,height:24,alt:"176"},"176"],[{src:"../common/media/oled_icons/177.png",width:24,height:24,alt:"177"},"177"],[{src:"../common/media/oled_icons/178.png",width:24,height:24,alt:"178"},"178"],[{src:"../common/media/oled_icons/179.png",width:24,height:24,alt:"179"},"179"],[{src:"../common/media/oled_icons/180.png",width:24,height:24,alt:"180"},"180"],[{src:"../common/media/oled_icons/181.png",width:24,height:24,alt:"181"},"181"],[{src:"../common/media/oled_icons/182.png",width:24,height:24,alt:"182"},"182"],[{src:"../common/media/oled_icons/183.png",width:24,height:24,alt:"183"},"183"],[{src:"../common/media/oled_icons/184.png",width:24,height:24,alt:"184"},"184"],[{src:"../common/media/oled_icons/185.png",width:24,height:24,alt:"185"},"185"],[{src:"../common/media/oled_icons/186.png",width:24,height:24,alt:"186"},"186"],[{src:"../common/media/oled_icons/187.png",width:24,height:24,alt:"187"},"187"],[{src:"../common/media/oled_icons/188.png",width:24,height:24,alt:"188"},"188"],[{src:"../common/media/oled_icons/189.png",width:24,height:24,alt:"189"},"189"],[{src:"../common/media/oled_icons/190.png",width:24,height:24,alt:"190"},"190"],[{src:"../common/media/oled_icons/191.png",width:24,height:24,alt:"191"},"191"],[{src:"../common/media/oled_icons/192.png",width:24,height:24,alt:"192"},"192"],[{src:"../common/media/oled_icons/193.png",width:24,height:24,alt:"193"},"193"],[{src:"../common/media/oled_icons/194.png",width:24,height:24,alt:"194"},"194"],[{src:"../common/media/oled_icons/195.png",width:24,height:24,alt:"195"},"195"],[{src:"../common/media/oled_icons/196.png",width:24,height:24,alt:"196"},"196"],[{src:"../common/media/oled_icons/197.png",width:24,height:24,alt:"197"},"197"],[{src:"../common/media/oled_icons/198.png",width:24,height:24,alt:"198"},"198"],[{src:"../common/media/oled_icons/199.png",width:24,height:24,alt:"199"},"199"],[{src:"../common/media/oled_icons/200.png",width:24,height:24,alt:"200"},"200"],[{src:"../common/media/oled_icons/201.png",width:24,height:24,alt:"201"},"201"],[{src:"../common/media/oled_icons/202.png",width:24,height:24,alt:"202"},"202"],[{src:"../common/media/oled_icons/203.png",width:24,height:24,alt:"203"},"203"],[{src:"../common/media/oled_icons/204.png",width:24,height:24,alt:"204"},"204"],[{src:"../common/media/oled_icons/205.png",width:24,height:24,alt:"205"},"205"],[{src:"../common/media/oled_icons/206.png",width:24,height:24,alt:"206"},"206"],[{src:"../common/media/oled_icons/207.png",width:24,height:24,alt:"207"},"207"],[{src:"../common/media/oled_icons/208.png",width:24,height:24,alt:"208"},"208"],[{src:"../common/media/oled_icons/209.png",width:24,height:24,alt:"209"},"209"],[{src:"../common/media/oled_icons/210.png",width:24,height:24,alt:"210"},"210"],[{src:"../common/media/oled_icons/211.png",width:24,height:24,alt:"211"},"211"],[{src:"../common/media/oled_icons/212.png",width:24,height:24,alt:"212"},"212"],[{src:"../common/media/oled_icons/213.png",width:24,height:24,alt:"213"},"213"],[{src:"../common/media/oled_icons/214.png",width:24,height:24,alt:"214"},"214"],[{src:"../common/media/oled_icons/215.png",width:24,height:24,alt:"215"},"215"],[{src:"../common/media/oled_icons/216.png",width:24,height:24,alt:"216"},"216"],[{src:"../common/media/oled_icons/217.png",width:24,height:24,alt:"217"},"217"],[{src:"../common/media/oled_icons/218.png",width:24,height:24,alt:"218"},"218"],[{src:"../common/media/oled_icons/219.png",width:24,height:24,alt:"219"},"219"],[{src:"../common/media/oled_icons/220.png",width:24,height:24,alt:"220"},"220"],[{src:"../common/media/oled_icons/221.png",width:24,height:24,alt:"221"},"221"],[{src:"../common/media/oled_icons/222.png",width:24,height:24,alt:"222"},"222"],[{src:"../common/media/oled_icons/223.png",width:24,height:24,alt:"223"},"223"],[{src:"../common/media/oled_icons/224.png",width:24,height:24,alt:"224"},"224"],[{src:"../common/media/oled_icons/225.png",width:24,height:24,alt:"225"},"225"],[{src:"../common/media/oled_icons/226.png",width:24,height:24,alt:"226"},"226"],[{src:"../common/media/oled_icons/227.png",width:24,height:24,alt:"227"},"227"],[{src:"../common/media/oled_icons/228.png",width:24,height:24,alt:"228"},"228"],[{src:"../common/media/oled_icons/229.png",width:24,height:24,alt:"229"},"229"],[{src:"../common/media/oled_icons/230.png",width:24,height:24,alt:"230"},"230"],[{src:"../common/media/oled_icons/231.png",width:24,height:24,alt:"231"},"231"],[{src:"../common/media/oled_icons/232.png",width:24,height:24,alt:"232"},"232"],[{src:"../common/media/oled_icons/233.png",width:24,height:24,alt:"233"},"233"],[{src:"../common/media/oled_icons/234.png",width:24,height:24,alt:"234"},"234"],[{src:"../common/media/oled_icons/235.png",width:24,height:24,alt:"235"},"235"],[{src:"../common/media/oled_icons/236.png",width:24,height:24,alt:"236"},"236"],[{src:"../common/media/oled_icons/237.png",width:24,height:24,alt:"237"},"237"],[{src:"../common/media/oled_icons/238.png",width:24,height:24,alt:"238"},"238"],[{src:"../common/media/oled_icons/239.png",width:24,height:24,alt:"239"},"239"],[{src:"../common/media/oled_icons/240.png",width:24,height:24,alt:"240"},"240"],[{src:"../common/media/oled_icons/241.png",width:24,height:24,alt:"241"},"241"],[{src:"../common/media/oled_icons/242.png",width:24,height:24,alt:"242"},"242"],[{src:"../common/media/oled_icons/243.png",width:24,height:24,alt:"243"},"243"],[{src:"../common/media/oled_icons/244.png",width:24,height:24,alt:"244"},"244"],[{src:"../common/media/oled_icons/245.png",width:24,height:24,alt:"245"},"245"],[{src:"../common/media/oled_icons/246.png",width:24,height:24,alt:"246"},"246"],[{src:"../common/media/oled_icons/247.png",width:24,height:24,alt:"247"},"247"],[{src:"../common/media/oled_icons/248.png",width:24,height:24,alt:"248"},"248"],[{src:"../common/media/oled_icons/249.png",width:24,height:24,alt:"249"},"249"],[{src:"../common/media/oled_icons/250.png",width:24,height:24,alt:"250"},"250"],[{src:"../common/media/oled_icons/251.png",width:24,height:24,alt:"251"},"251"],[{src:"../common/media/oled_icons/252.png",width:24,height:24,alt:"252"},"252"],[{src:"../common/media/oled_icons/253.png",width:24,height:24,alt:"253"},"253"],[{src:"../common/media/oled_icons/254.png",width:24,height:24,alt:"254"},"254"],[{src:"../common/media/oled_icons/255.png",width:24,height:24,alt:"255"},"255"],[{src:"../common/media/oled_icons/256.png",width:24,height:24,alt:"256"},"256"],[{src:"../common/media/oled_icons/257.png",width:24,height:24,alt:"257"},"257"],[{src:"../common/media/oled_icons/258.png",width:24,height:24,alt:"258"},"258"],[{src:"../common/media/oled_icons/259.png",width:24,height:24,alt:"259"},"259"],[{src:"../common/media/oled_icons/260.png",width:24,height:24,alt:"260"},"260"],[{src:"../common/media/oled_icons/261.png",width:24,height:24,alt:"261"},"261"],[{src:"../common/media/oled_icons/262.png",width:24,height:24,alt:"262"},"262"],[{src:"../common/media/oled_icons/263.png",width:24,height:24,alt:"263"},"263"],[{src:"../common/media/oled_icons/264.png",width:24,height:24,alt:"264"},"264"],[{src:"../common/media/oled_icons/265.png",width:24,height:24,alt:"265"},"265"],[{src:"../common/media/oled_icons/266.png",width:24,height:24,alt:"266"},"266"],[{src:"../common/media/oled_icons/267.png",width:24,height:24,alt:"267"},"267"],[{src:"../common/media/oled_icons/268.png",width:24,height:24,alt:"268"},"268"],[{src:"../common/media/oled_icons/269.png",width:24,height:24,alt:"269"},"269"],[{src:"../common/media/oled_icons/270.png",width:24,height:24,alt:"270"},"270"],[{src:"../common/media/oled_icons/271.png",width:24,height:24,alt:"271"},"271"],[{src:"../common/media/oled_icons/272.png",width:24,height:24,alt:"272"},"272"],[{src:"../common/media/oled_icons/273.png",width:24,height:24,alt:"273"},"273"],[{src:"../common/media/oled_icons/274.png",width:24,height:24,alt:"274"},"274"],[{src:"../common/media/oled_icons/275.png",width:24,height:24,alt:"275"},"275"],[{src:"../common/media/oled_icons/276.png",width:24,height:24,alt:"276"},"276"],[{src:"../common/media/oled_icons/277.png",width:24,height:24,alt:"277"},"277"],[{src:"../common/media/oled_icons/278.png",width:24,height:24,alt:"278"},"278"],[{src:"../common/media/oled_icons/279.png",width:24,height:24,alt:"279"},"279"],[{src:"../common/media/oled_icons/280.png",width:24,height:24,alt:"280"},"280"],[{src:"../common/media/oled_icons/281.png",width:24,height:24,alt:"281"},"281"],[{src:"../common/media/oled_icons/282.png",width:24,height:24,alt:"282"},"282"],[{src:"../common/media/oled_icons/283.png",width:24,height:24,alt:"283"},"283"],[{src:"../common/media/oled_icons/284.png",width:24,height:24,alt:"284"},"284"],[{src:"../common/media/oled_icons/285.png",width:24,height:24,alt:"285"},"285"],[{src:"../common/media/oled_icons/286.png",width:24,height:24,alt:"286"},"286"]],on=[[{src:"../common/media/oled_icons/face/Eyes/Angry.png",width:35,height:25,alt:"Angry"},"Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Awake.png",width:35,height:25,alt:"Awake"},"Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0xF8,0xFF,0x03,0x00,0xE0,0x00,0x0C,0x00,0x80,0xFF,0x3F,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x7F,0x30,0x00,0x38,0x00,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFC,0xFF,0xE1,0x00,0x0C,0xFE,0x7F,0x00,0x30,0x00,0x38,0x80,0xFE,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0x7E,0x96,0xFF,0x00,0xFC,0x87,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xF0,0x00,0x3C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x80,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Black eye.png",width:35,height:25,alt:"Black_eye"},"Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x5F,0x55,0xD5,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x4B,0xAA,0xA4,0x3E,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xB5,0x55,0x5B,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0x4A,0xAA,0xA4,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0xB6,0x55,0x5B,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xE9,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x1C,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0xB8,0xAA,0xAA,0xAA,0xEA,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0xD5,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xD2,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x70,0x2D,0x49,0xAA,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF0,0xD2,0xB6,0x55,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0x2D,0x49,0xAA,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xD3,0xB6,0x55,0x3E,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xC0,0x2F,0x49,0xD2,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Bottom left.png",width:35,height:25,alt:"Bottom_left"},"Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"],[{src:"../common/media/oled_icons/face/Eyes/Bottom right.png",width:35,height:25,alt:"Bottom_right"},"Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 1.png",width:35,height:25,alt:"Crazy_1"},"Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 2.png",width:35,height:25,alt:"Crazy_2"},"Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Disappointed.png",width:35,height:25,alt:"Disappointed"},"Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Dizzy.png",width:35,height:25,alt:"Dizzy"},"Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Down.png",width:35,height:25,alt:"Down"},"Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Evil.png",width:35,height:25,alt:"Evil"},"Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Hurt.png",width:35,height:25,alt:"Hurt"},"Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Knocked out.png",width:35,height:25,alt:"Knocked_out"},"Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Love.png",width:35,height:25,alt:"Love"},"Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle left.png",width:35,height:25,alt:"Middle_left"},"Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle right.png",width:35,height:25,alt:"Middle_right"},"Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Neutral.png",width:35,height:25,alt:"Neutral"},"Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Nuclear.png",width:35,height:25,alt:"Nuclear"},"Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch left.png",width:35,height:25,alt:"Pinch_left"},"Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch middle.png",width:35,height:25,alt:"Pinch_middle"},"Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch right.png",width:35,height:25,alt:"Pinch_right"},"Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tear.png",width:35,height:25,alt:"Tear"},"Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired left.png",width:35,height:25,alt:"Tired_left"},"Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired middle.png",width:35,height:25,alt:"Tired_middle"},"Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired right.png",width:35,height:25,alt:"Tired_right"},"Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Toxic.png",width:35,height:25,alt:"Toxic"},"Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Up.png",width:35,height:25,alt:"Up"},"Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Winking.png",width:35,height:25,alt:"Winking"},"Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Big smile.png",width:35,height:25,alt:"Big_smile"},"Big_smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart large.png",width:35,height:25,alt:"Heart_large"},"Heart_large,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xBF,0x07,0x00,0xC0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x1C,0x00,0xF0,0xFF,0xE1,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x71,0x00,0xF8,0xFF,0xC3,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE7,0x00,0xFC,0xFF,0x8F,0x03,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCF,0x01,0xFE,0xFF,0x3F,0x07,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x9F,0x03,0xFF,0xFF,0x7F,0x06,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x3F,0x83,0xFF,0xFF,0xFF,0x0C,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x7F,0x87,0xFF,0xFF,0xFF,0x1D,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xC6,0xFF,0xFF,0xFF,0x19,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart small.png",width:35,height:25,alt:"Heart_small"},"Heart_small,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xC7,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x9F,0x01,0xFF,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x83,0xFF,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0xC6,0xFF,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCE,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0D,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 open.png",width:35,height:25,alt:"Mouth_1_open"},"Mouth_1_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x78,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE4,0xD7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x1F,0x00,0x08,0xA8,0xFF,0x71,0x00,0x38,0x00,0x1C,0xFF,0x23,0x40,0x00,0xA8,0x2A,0x00,0xE4,0x03,0xEF,0x81,0x2F,0x00,0xA8,0x2A,0x00,0x54,0x55,0x55,0x95,0xFF,0xC7,0xFF,0x53,0x55,0x55,0x55,0x00,0x28,0x55,0x55,0x15,0x00,0x28,0x00,0xA8,0xAA,0xAA,0x2A,0x00,0xD4,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x52,0x00,0xE8,0x55,0x51,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0xAA,0x2E,0x00,0x0C,0x54,0xAF,0xAA,0xAA,0x56,0x55,0xAB,0xEA,0xAB,0x50,0x00,0xF0,0x57,0xA0,0xAA,0x54,0xA9,0xAA,0x54,0x15,0xA8,0x5F,0x00,0x04,0xD8,0x5F,0x55,0xAB,0x56,0x55,0x53,0xF5,0x2F,0x40,0x00,0xF0,0x27,0x40,0xAD,0x54,0xA9,0xAA,0xAC,0x0A,0xA0,0x3F,0x00,0x18,0xEE,0x7F,0x51,0xAB,0x56,0x55,0x53,0xFA,0xDF,0x71,0x00,0x0C,0x0C,0x00,0xDF,0x54,0x51,0xA5,0xDC,0x03,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x00,0x6B,0xDF,0x5D,0x03,0xF8,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x20,0xC0,0xF8,0x1C,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xFF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 shut.png",width:35,height:25,alt:"Mouth_1_shut"},"Mouth_1_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x38,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE0,0xC7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x5F,0x00,0x04,0x90,0xFF,0x71,0x00,0x38,0x00,0x9C,0xFF,0x33,0x00,0x00,0xF0,0x17,0x00,0xE4,0x03,0xEF,0x81,0x4F,0x00,0x94,0x3F,0x00,0x18,0xEE,0x5F,0x95,0xFF,0xD7,0xFF,0xA3,0xFA,0xD7,0x71,0x00,0x0C,0x1C,0x00,0x6D,0x00,0x20,0x00,0xDC,0x02,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x01,0x55,0xAF,0x5D,0x01,0xFA,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x50,0x40,0xF8,0x1D,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xEF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 open.png",width:35,height:25,alt:"Mouth_2_open"},"Mouth_2_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x4E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0xA0,0x02,0x4C,0x01,0x25,0xC0,0x4A,0x53,0x8D,0xD5,0x48,0x63,0x55,0x02,0xAE,0x00,0x6A,0x40,0xAA,0x9E,0x8A,0x94,0xA8,0xB2,0xAA,0x02,0xA6,0x00,0x6A,0x40,0x55,0xAD,0xD2,0xAA,0x54,0x92,0xAA,0x02,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0xAA,0x02,0x53,0x01,0xD5,0x60,0x55,0x51,0x85,0x2A,0xA9,0x52,0x55,0x82,0xA9,0x00,0xAA,0x60,0x55,0x55,0x55,0x55,0x54,0xA9,0xAA,0x82,0xA9,0x00,0x95,0x20,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xC2,0x54,0x01,0xAA,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xE2,0xAA,0x00,0x2A,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x62,0x55,0x01,0x55,0x33,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x33,0x55,0x01,0x55,0xB2,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0xBB,0xAA,0x00,0xAA,0xB6,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0x9F,0xAA,0x00,0xAA,0x5C,0x55,0x55,0x55,0x95,0xAA,0xAA,0x2A,0x4F,0x55,0x01,0x55,0x9D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA7,0xAA,0x00,0x55,0x59,0x55,0x55,0x55,0x95,0xAA,0xAA,0xAA,0x57,0x55,0x01,0xAA,0xBA,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA9,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x54,0x55,0x01,0x55,0x8D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x45,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0xD5,0xAA,0x7A,0xA5,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x85,0x5A,0x55,0x01,0x55,0xAD,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0x2A,0xA5,0xAA,0x00,0xAA,0x52,0x56,0x55,0x55,0x95,0x2A,0x55,0xF5,0x5A,0x55,0x01,0x55,0x2D,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0xEA,0xA5,0xAA,0x00,0xAA,0x92,0x55,0x55,0x55,0x95,0x2A,0x55,0x65,0x59,0x55,0x01,0x55,0xCD,0x55,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xA2,0xAA,0x00,0xAA,0xE2,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x56,0x55,0x01,0x55,0xB5,0x51,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xAC,0xAA,0x00,0xAA,0x1A,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x4C,0x55,0x01,0x55,0x0D,0x53,0x55,0x55,0xE9,0xEA,0xAA,0x6A,0x58,0x55,0x01,0xAA,0x0C,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x90,0xAA,0x00,0xD5,0x06,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0xB0,0xAA,0x00,0x2A,0x06,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x60,0x55,0x01,0x55,0x03,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x60,0xAA,0x00,0x2A,0x03,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xC0,0x56,0x01,0xB5,0x01,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC0,0xA8,0x00,0x8A,0x01,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x80,0x55,0x01,0xB5,0x01,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x80,0x55,0x01,0x8A,0x01,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 shut.png",width:35,height:25,alt:"Mouth_2_shut"},"Mouth_2_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x8E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0x20,0x02,0x4C,0x01,0x25,0xC0,0x46,0x53,0x8D,0xD5,0x48,0x63,0xF5,0x02,0xAE,0x00,0x6A,0x40,0xA8,0x9E,0x8A,0x94,0xA8,0xB2,0xEA,0x02,0xA6,0x00,0x6A,0xC0,0x55,0xAD,0xD2,0xAA,0x54,0x92,0x6A,0x03,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0x6A,0x02,0x53,0x01,0xD5,0xE0,0xAD,0x52,0x85,0x2A,0xA9,0x52,0x65,0x82,0xA9,0x00,0xAA,0xE0,0x51,0x55,0x55,0x55,0x54,0xA9,0x6A,0x82,0xA9,0x00,0x95,0x20,0xAD,0xAA,0xAA,0xAA,0x2A,0x55,0x65,0xC2,0x54,0x01,0xAA,0x31,0x53,0x55,0x55,0xD5,0xEA,0xAA,0x6A,0xE2,0xAA,0x00,0x2A,0x31,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x62,0x55,0x01,0x55,0x33,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0x32,0xAA,0x00,0xAA,0x32,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x3B,0x55,0x01,0x55,0x36,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x5F,0xAA,0x00,0x55,0x15,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xCF,0x56,0x01,0xAA,0x1D,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC7,0xA8,0x00,0xAA,0x19,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x87,0x55,0x01,0xB5,0x19,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x81,0x55,0x01,0x8A,0x11,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sad.png",width:35,height:25,alt:"Sad"},"Sad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sick.png",width:35,height:25,alt:"Sick"},"Sick,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x0F,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Smile.png",width:35,height:25,alt:"Smile"},"Smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Swearing.png",width:35,height:25,alt:"Swearing"},"Swearing,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xC0,0x00,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x60,0x28,0x00,0x00,0xC0,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x1F,0x64,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x28,0x00,0x00,0x00,0xC0,0x0B,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0xC4,0x3F,0x04,0x00,0x00,0x00,0xF8,0x7F,0x00,0x40,0x03,0x00,0x76,0x60,0x00,0x18,0x00,0x00,0xFC,0x7F,0x00,0xC0,0x01,0x00,0x1A,0x40,0x00,0x18,0x00,0x00,0xFC,0xF7,0x00,0xE0,0x01,0x00,0xC9,0x41,0x40,0x08,0x00,0x00,0xFC,0xE3,0x00,0xC0,0x03,0x00,0x09,0x42,0x40,0x00,0x00,0x00,0xFC,0xC3,0x10,0x80,0x00,0x00,0x19,0x63,0xC0,0x00,0x00,0x00,0x3C,0x63,0x70,0x00,0x00,0x03,0xF1,0x31,0xF0,0x07,0x00,0x00,0x1C,0x7E,0x78,0x00,0xC0,0x03,0x01,0x18,0xFC,0x03,0x00,0x00,0x1C,0x72,0x2C,0x00,0xE0,0x03,0x03,0x0C,0xF0,0x03,0x00,0x00,0x38,0x33,0x06,0x00,0xF0,0x03,0x0E,0x07,0xB0,0x03,0x00,0x00,0xF0,0x7F,0xC3,0x01,0xF0,0x03,0xF8,0x01,0x10,0x07,0x00,0x00,0xE0,0x2F,0xE1,0x00,0xF0,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x80,0x02,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xF0,0x01,0xF8,0xFE,0x01,0x00,0x00,0x00,0xFC,0x07,0x00,0x00,0xF0,0x01,0xFC,0xFF,0x03,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0xF0,0x01,0xFE,0xFF,0x07,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0xF0,0x00,0xBE,0xFE,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xF8,0xC0,0xDF,0xFF,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0xF8,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0xE0,0x01,0x00,0x00,0x78,0xE0,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x70,0xE0,0xFF,0xFF,0x7F,0x0F,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xC0,0x00,0x08,0x80,0xFF,0xDF,0xFF,0x0F,0x00,0xF0,0x01,0x00,0xF0,0x03,0x1E,0x00,0xFF,0xFF,0xFF,0x1F,0x00,0x3C,0x07,0x00,0xF0,0x03,0x3C,0x00,0xC0,0xBF,0xFF,0x3F,0x00,0x04,0x0C,0x00,0xE0,0x01,0x1C,0x00,0x00,0xFF,0xFF,0x7F,0x00,0xE4,0x19,0x00,0xF0,0x01,0x18,0x3E,0x00,0xFE,0xFF,0x7F,0x00,0xB2,0x11,0x00,0x10,0x03,0x00,0xE3,0x00,0xFC,0xFF,0xEF,0x00,0x56,0x19,0x00,0x00,0x02,0x80,0x81,0x03,0xF4,0xFF,0xFF,0x00,0x34,0x09,0x00,0x04,0x00,0x80,0x00,0x02,0xE6,0xFF,0xEF,0x00,0x8C,0x09,0x30,0x02,0x00,0xC0,0x30,0x02,0x23,0xFE,0xFB,0x00,0xB8,0x08,0x00,0x20,0x30,0x40,0x10,0x03,0x11,0xFC,0xFF,0x00,0xE0,0x00,0x0C,0x04,0x30,0xC0,0x98,0x81,0x18,0xE4,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x98,0x40,0x0C,0x27,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x71,0x60,0x06,0x21,0x38,0x00,0x00,0x00,0x08,0x00,0x20,0x10,0x03,0x40,0x0C,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x80,0x8C,0x09,0x00,0x00,0x00,0x1C,0x40,0x18,0x40,0x10,0x06,0xC0,0xC4,0x04,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x10,0x00,0x40,0xC2,0x04,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xD0,0x00,0x20,0xC1,0x0C,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x70,0x00,0x94,0xC1,0x0F,0x00,0x00,0x80,0x19,0x80,0xFF,0x00,0x70,0x00,0xDC,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0xFF,0x01,0x58,0x01,0x44,0x00,0x00,0x00,0x00,0x90,0x00,0xC0,0xFF,0x01,0xC0,0x00,0x44,0x00,0x00,0x00,0x00,0x30,0x18,0xC0,0xFF,0x03,0xC0,0x00,0x64,0x00,0x00,0x20,0x00,0x40,0x10,0xC0,0xFF,0x03,0xA0,0x00,0x1C,0x00,0x00,0x38,0x00,0x40,0x20,0xC0,0xFF,0x03,0xA0,0x00,0x00,0x00,0x00,0x70,0x00,0x80,0x54,0xC0,0xFF,0x01,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Talking.png",width:35,height:25,alt:"Talking"},"Talking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x0F,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Wink.png",width:35,height:25,alt:"Wink"},"Wink,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/ZZZ.png",width:35,height:25,alt:"ZZZ"},"ZZZ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0x3A,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0x0F,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0xE0,0xEF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xBF,0x01,0x00,0x00,0x20,0xE0,0x0F,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x3F,0x00,0xF0,0x07,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x6F,0x00,0xF8,0x07,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x5F,0x00,0xF8,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x7F,0x00,0xFC,0x03,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x81,0xFF,0x3F,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0xDF,0x3F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,0x1F,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x80,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x87,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x8D,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x02,0x00,0x00,0xC0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"]],rn=[["8","1"],["16","2"],["32","4"],["48","6"],["64","8"]];const un={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_SETUP).appendField(new H.FieldDropdown(tn),"OLED_TYPE").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(sn),"ROTATION").appendField(" SCL").appendField(new H.FieldDropdown(z.Profile.default.digital),"SCL").appendField("SDA").appendField(new H.FieldDropdown(z.Profile.default.digital),"SDA"),this.appendValueInput("ADDRESS").appendField(H.Msg.MIXLY_LCD_ADDRESS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_INIT2_TOOLTIP),this.setFieldValue(z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(z.Profile.default.SDA[0][1],"SDA")}},_n={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_SETUP).appendField(new H.FieldDropdown(nn),"U8G2_TYPE_SPI").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(sn),"ROTATION"),this.appendDummyInput().appendField("CLK").appendField(new H.FieldDropdown(z.Profile.default.digital),"CLK").appendField("MOSI").appendField(new H.FieldDropdown(z.Profile.default.digital),"MOSI"),this.appendDummyInput().appendField("CS").appendField(new H.FieldDropdown(z.Profile.default.digital),"CS").appendField("DC").appendField(new H.FieldDropdown(z.Profile.default.digital),"DC").appendField("RST").appendField(new H.FieldDropdown(z.Profile.default.digital),"RST"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("CLK - SCL(SSD1306) - CLK(NOKIA5110)\nMOSI - SDA(SSD1306) - DIN(NOKIA5110)"),this.setHelpUrl(""),this.setFieldValue(z.Profile.default.SCK[0][1],"CLK"),this.setFieldValue(z.Profile.default.MOSI[0][1],"MOSI")}},hn={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_SETUP+"LCD12864").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(sn),"ROTATION"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("RS").appendField(new H.FieldDropdown(z.Profile.default.digital),"DC"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("PSB = 0"),this.setHelpUrl("")}},Fn={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_SETUP+"LCD12864").appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.MIXLY_MICROBIT_monitor).appendField(new H.FieldDropdown(sn),"ROTATION"),this.appendDummyInput().appendField("D0").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB0").appendField("D1").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB1").appendField("D2").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB2").appendField("D3").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB3").appendField("D4").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB4").appendField("D5").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB5").appendField("D6").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB6").appendField("D7").appendField(new H.FieldDropdown(z.Profile.default.digital),"DB7").appendField("E").appendField(new H.FieldDropdown(z.Profile.default.digital),"ENABLE").appendField("RS").appendField(new H.FieldDropdown(z.Profile.default.digital),"DC"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("R/W = 0,PSB = 1"),this.setHelpUrl("")}},In={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},An={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("bitmap1"),"VAR").appendField(H.Msg.OLED_BITMAP_DATA).appendField(new H.FieldTextInput("0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},gn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new H.FieldDropdown(rn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(H.Msg.OLED_ICON).appendField(new H.FieldDropdown(pn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},En={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput().appendField(H.Msg.OLED_ICON).appendField(new H.FieldDropdown(on),"FACE_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},Mn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(H.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_SHOW_BMP_TOOLTIP)}},Tn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_POSY).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_PIXE_TOOLTIP)}},mn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(H.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(H.Msg.OLED_END_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_LINE_TOOLTIP)}},Cn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(H.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(Ji),"TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},On={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_PAGE),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_page_tooltip)}},Sn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_TRIANGLE),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(H.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(H.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(H.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(H.Msg.OLED_D2_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Rn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(qi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Dn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown($i),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_RADIUS).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Nn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Qi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(xn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Ln={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAW_ELLIPSE),this.appendDummyInput("").appendField(new H.FieldDropdown(fn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS_X",Number).appendField(H.Msg.OLED_ELLIPSE_RADIUS_X).setCheck(Number),this.appendValueInput("RADIUS_Y",Number).appendField(H.Msg.OLED_ELLIPSE_RADIUS_Y).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(xn),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_ELLIPSE_TOOLTIP)}},Pn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_DRAWSTR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},yn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.set_EN_Font).appendField(new H.FieldDropdown(en),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(an),"FONT_SIZE"),this.appendDummyInput("").appendField(H.Msg.Font_Style).appendField(new H.FieldDropdown(cn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},bn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.set_CN_Font).appendField(new H.FieldDropdown(ln),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(dn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},vn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.set_ZH_TW_Font),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},wn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_print_tooltip)}},Yn={init:function(){this.appendValueInput("Contrast").setCheck(null).appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(H.Msg.TFT_Brightness+H.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Fi),this.setTooltip(H.Msg.MIXLY_U8G2_SETCONTRAST_HELP),this.setHelpUrl("")}},Vn={init:function(){this.appendValueInput("str").setCheck(null).appendField(H.Msg.DISPLAY).appendField(new H.FieldTextInput("u8g2"),"NAME").appendField(" "+H.Msg.OLED_DRAWSTR+H.Msg.MIXLY_WIDTH),this.setOutput(!0,null),this.setColour(Fi),this.setTooltip(""),this.setHelpUrl("https://www.cnblogs.com/danpianjicainiao/p/11048729.html#_label3_1_39")}},kn={init:function(){this.appendValueInput("row").setCheck(null).appendField(H.Msg.MIXLY_DF_LCD).appendField(new H.FieldTextInput("mylcd"),"name").appendField(H.Msg.MIXLY_LCD_ROW),this.appendValueInput("column").setCheck(null).appendField(H.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("pattern").setCheck(null).appendField(H.Msg.COLUMN_DISPLAY_IMAGE),this.appendDummyInput().appendField(H.Msg.LCD_NUMBERING).appendField(new H.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]]),"number"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Fi),this.setTooltip(""),this.setHelpUrl("https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar")}},Xn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a81").appendField(new H.FieldCheckbox("FALSE"),"a82").appendField(new H.FieldCheckbox("FALSE"),"a83").appendField(new H.FieldCheckbox("FALSE"),"a84").appendField(new H.FieldCheckbox("FALSE"),"a85"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a71").appendField(new H.FieldCheckbox("FALSE"),"a72").appendField(new H.FieldCheckbox("FALSE"),"a73").appendField(new H.FieldCheckbox("FALSE"),"a74").appendField(new H.FieldCheckbox("FALSE"),"a75"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a61").appendField(new H.FieldCheckbox("FALSE"),"a62").appendField(new H.FieldCheckbox("FALSE"),"a63").appendField(new H.FieldCheckbox("FALSE"),"a64").appendField(new H.FieldCheckbox("FALSE"),"a65"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a51").appendField(new H.FieldCheckbox("FALSE"),"a52").appendField(new H.FieldCheckbox("FALSE"),"a53").appendField(new H.FieldCheckbox("FALSE"),"a54").appendField(new H.FieldCheckbox("FALSE"),"a55"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a41").appendField(new H.FieldCheckbox("FALSE"),"a42").appendField(new H.FieldCheckbox("FALSE"),"a43").appendField(new H.FieldCheckbox("FALSE"),"a44").appendField(new H.FieldCheckbox("FALSE"),"a45"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a31").appendField(new H.FieldCheckbox("FALSE"),"a32").appendField(new H.FieldCheckbox("FALSE"),"a33").appendField(new H.FieldCheckbox("FALSE"),"a34").appendField(new H.FieldCheckbox("FALSE"),"a35"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a21").appendField(new H.FieldCheckbox("FALSE"),"a22").appendField(new H.FieldCheckbox("FALSE"),"a23").appendField(new H.FieldCheckbox("FALSE"),"a24").appendField(new H.FieldCheckbox("FALSE"),"a25"),this.appendDummyInput("").appendField(new H.FieldCheckbox("FALSE"),"a11").appendField(new H.FieldCheckbox("FALSE"),"a12").appendField(new H.FieldCheckbox("FALSE"),"a13").appendField(new H.FieldCheckbox("FALSE"),"a14").appendField(new H.FieldCheckbox("FALSE"),"a15"),this.setOutput(!0,Number),this.setTooltip("")}},Gn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new H.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").setAlign(H.inputs.Align.CENTRE).appendField(new H.FieldBitmap([[0,0,0,0,0],[0,1,1,1,0],[1,0,0,0,1],[1,0,1,0,1],[1,0,1,0,1],[1,0,0,0,1],[0,1,1,1,0],[0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},Bn={init:function(){this.setColour(Fi),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP+" TFT "+H.Msg.DISPLAY),this.appendDummyInput().appendField(new H.FieldDropdown([[H.Msg.MIXLY_STM32_TFT_GREENTAB+"(ST7735)","ST7735_INITR_GREENTAB"],[H.Msg.MIXLY_STM32_TFT_REDTAB+"(ST7735)","ST7735_INITR_REDTAB"],[H.Msg.MIXLY_STM32_TFT_BLACKTAB+"(ST7735)","ST7735_INITR_BLACKTAB"],["160×80(ST7735)","ST7735_160×80"],["160×128(ST7789)","ST7789_160×128"],["240×135(ST7789)","ST7789_240×135"],["240×240(ST7789)","ST7789_240×240"],["320×240(ST7789)","ST7789_320×240"],["480×320(ST7796)","ST7796_480×320"]]),"TYPE"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("CS").appendField(new H.FieldDropdown(z.Profile.default.digital),"CS").appendField("DC").appendField(new H.FieldDropdown(z.Profile.default.digital),"DC").appendField("RST").appendField(new H.FieldDropdown(z.Profile.default.digital),"RST"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Un={init:function(){this.appendDummyInput().appendField("TFT").appendField(H.Msg.TFT_DISPLAY_CHINESE_CHARACTERS),this.appendDummyInput().appendField(H.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new H.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"],["AcadEref","AcadEref"],["Adobe Ming Std L","Adobe Ming Std L"],["Adobe Myungjo Std M","Adobe Myungjo Std M"],["Adobe Pi Std","Adobe Pi Std"],["AIGDT","AIGDT"],["AIgerian","AIgerian"],["AmdtSymbols","AmdtSymbols"],["Arial","Arial"],["Arial Rounded MT Bold","Arial Rounded MT Bold"],["Arial Unicode MS","Arial Unicode MS"],["BankGothic Lt BT","BankGothic Lt BT"],["BankGothic Md BT","BankGothic Md BT"],["Baskerville Old Face","Baskerville Old Face"],["Bauhaus 93","Bauhaus 93"],["Beranad MT Condensed","Beranad MT Condensed"]]),"st7735_hz_sharp").appendField(" "+H.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new H.FieldTextInput("16"),"st7735_hz_line_height").appendField("px").appendField(H.Msg.SAVETO+" flash").appendField(new H.FieldCheckbox("true"),"st7735_show_hz_save"),this.appendValueInput("st7735_hz_data").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SD_DATA+"#"),this.appendValueInput("st7735_hz_x").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.OLED_L_U_X+"#"),this.appendValueInput("st7735_hz_y").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.OLED_L_U_Y+"#"),this.appendValueInput("st7735_hz_height").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_HEIGHT+"#"),this.appendValueInput("st7735_hz_width").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_WIDTH+"#"),this.appendValueInput("st7735_hz_color").setCheck(null).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.blynk_iot_WidgetLED_COLOR),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Fi),this.setTooltip(""),this.setHelpUrl("")}},Wn={init:function(){this.setColour(Fi),this.appendValueInput("BRIGHTNESS").setCheck(Number).appendField("TFT"+H.Msg.TFT_Brightness+H.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Hn={init:function(){this.setColour(Fi),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldColour("33ccff"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(H.Msg.OLED_DRAW_PIXE_TOOLTIP)}},zn={init:function(){this.setColour(Fi),this.appendValueInput("R").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Kn={init:function(){this.setColour(Fi),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_SETUP+" TFT "+H.Msg.DISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Zn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.MIXLY_BACKGROUND_COLOR),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};wi=[[H.Msg.MIXLY_0DEGREE,"0"],[H.Msg.MIXLY_90DEGREE,"1"],[H.Msg.MIXLY_180DEGREE,"2"],[H.Msg.MIXLY_270DEGREE,"3"]];const jn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new H.FieldDropdown(wi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Jn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("bitmap1"),"VAR").appendField(H.Msg.OLED_BITMAP_DATA).appendField(new H.FieldTextInput("0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f, 0x9f00, 0x989c, 0x009a, 0x9f00, 0x9c9e, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x0099, 0x9e00, 0x989e, 0x009c, 0x9c00, 0x7f7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a3, 0xa300, 0x989e, 0x0096, 0x9e00, 0x989d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989d, 0x0099, 0x9e00, 0x979c, 0x0098, 0x9c00, 0x7faa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0099, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9d00, 0x999e, 0x009d, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0xa000, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9e00, 0x969c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9aa1, 0x0096, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x008d, 0x9b00, 0x0000, 0x007f, 0x7f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x0000, 0x0095, 0x9c00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x949b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999f, 0x0098, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0899, 0x9e0e, 0x9ca1, 0x0c9b, 0x9f04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0095, 0x9a04, 0x989d, 0x119d, 0xa21e, 0xa2a6, 0x2faa, 0xae47, 0xb3b7, 0x5bbb, 0xbe6d, 0xc3c6, 0x42b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2b, 0xa8ac, 0x7fca, 0xcdbf, 0xe4e6, 0xe6f5, 0xf6f3, 0xfafa, 0xf1f9, 0xfad6, 0xeeef, 0x93d2, 0xd525, 0xa5aa, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0699, 0x9e0e, 0x9ca1, 0x169f, 0xa424, 0xa5aa, 0x36ac, 0xb045, 0xb2b6, 0x52b8, 0xbb64, 0xbfc2, 0x77c6, 0xc984, 0xccce, 0x98d4, 0xd7ac, 0xdcde, 0xbbe3, 0xe5d0, 0xeced, 0xe2f3, 0xf4ed, 0xf8f8, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3cae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0598, 0x9d52, 0xb7bb, 0xbfe4, 0xe6fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x6bc2, 0xc501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x4ab5, 0xb859, 0xbabd, 0x5fbc, 0xc068, 0xc0c3, 0x72c5, 0xc881, 0xcbce, 0x92d1, 0xd4a1, 0xd7d9, 0xaede, 0xdfc1, 0xe5e7, 0xd3ed, 0xeedd, 0xf1f2, 0xe7f5, 0xf6f2, 0xfafa, 0xfafd, 0xfdfc, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f2, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d4c, 0xb5b9, 0xcdeb, 0xecfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe6d, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xb9e2, 0xe3fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x35ab, 0xb000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff47, 0xb3b7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0x7ac8, 0xcaf6, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe401, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xecf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0f, 0x9ca1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x24a5, 0xa9c9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff38, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xd8f0, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4e, 0xb6ba, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x74c5, 0xc800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989c, 0x6fc3, 0xc6f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf2f2, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0398, 0x9d04, 0x989d, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x62be, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d88, 0xced1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x26a6, 0xaa00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x43b2, 0xb582, 0xccce, 0xb2df, 0xe1d7, 0xefef, 0xe5f4, 0xf5e7, 0xf5f6, 0xdff2, 0xf2c4, 0xe7e8, 0x98d4, 0xd657, 0xbabd, 0x18a0, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x089a, 0x9f77, 0xc6c9, 0x9dd5, 0xd7ac, 0xdddf, 0xc2e6, 0xe8d7, 0xeff0, 0xe5f5, 0xf5f7, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff0, 0xf9f9, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0x91d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5dbc, 0xbf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2e, 0xa9ad, 0x9bd6, 0xd7e8, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfaa6, 0xdadc, 0x2aa7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0398, 0x9d13, 0x9ea3, 0x72c5, 0xc7f6, 0xfbfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffcb, 0xeaeb, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x90d1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c23, 0xa4a9, 0xa5da, 0xdbfa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc8a, 0xced1, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c65, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9d, 0xd7d8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x6dc2, 0xc5fd, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c05, 0x999e, 0x6dc2, 0xc5f2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc9e9, 0xea1c, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9b9f, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6d, 0xc3c5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ec, 0xed00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4b6, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f1, 0x22a3, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3e, 0xb0b4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8ea, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe2f3, 0xf405, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7ee, 0xef15, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe1d, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xc1e5, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf805, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c76, 0xc6c9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xaaae, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x64be, 0xc200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb6e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcfec, 0xed01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2aa7, 0xacf5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd17, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x26a6, 0xaae4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xebf7, 0xf715, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0xb9e2, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1a, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea3, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff82, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb1df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ad5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c52, 0xb8bb, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9eb3, 0xdfe1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9fd7, 0xefef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd18, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57ba, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd6, 0xd8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x60bd, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc15, 0x9fa3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4c, 0xb5b9, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa2d9, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x95d2, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5cbc, 0xbf00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xdbf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7e8, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xddf1, 0xf205, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x87cd, 0xd0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c5b, 0xbbbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1b, 0xa1a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x78c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b2, 0xb600, 0x979c, 0x0398, 0x9dc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf506, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7e, 0xcacc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x66c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41b0, 0xb400, 0x979c, 0x38ad, 0xb1fe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xffe8, 0xf6f6, 0xd1ec, 0xede7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdaf0, 0xf101, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3caf, 0xb3f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0xc3e6, 0xe8b8, 0xe2e3, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff5b, 0xbbbe, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x58b9, 0xbdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3caf, 0xb200, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd3, 0xecee, 0x4bb5, 0xb807, 0x999e, 0x0096, 0x9b07, 0x999e, 0x62be, 0xc1f3, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcbe9, 0xeb00, 0x969b, 0x0097, 0x9c0e, 0x9ca1, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x6cc2, 0xc512, 0x9da2, 0x0096, 0x9b00, 0x969b, 0x19a0, 0xa5ce, 0xebec, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6a, 0xc1c4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x44b2, 0xb6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x38ad, 0xb110, 0x9da1, 0xecf7, 0xf8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e1, 0xe20f, 0x9da1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbabd, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xafde, 0xe000, 0x979c, 0x0197, 0x9c90, 0xd1d4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe519, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c43, 0xb1b5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff72, 0xc5c8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2ea9, 0xadff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x37ad, 0xb054, 0xb8bb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbd, 0xe4e5, 0x0a9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0xb6e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x98d4, 0xd600, 0x979c, 0x3aae, 0xb2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa4, 0xd9db, 0x0899, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xe9f6, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3dae, 0xb2ae, 0xdedf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf41a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x48b4, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bc8, 0xcb05, 0x989d, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xaadb, 0xdd07, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979b, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff69, 0xc1c3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa1f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5ab9, 0xbcf2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x51b7, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0699, 0x9de5, 0xf4f5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x60bd, 0xc06a, 0xc2c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffca, 0xe9ea, 0x0c9c, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbae3, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff57, 0xb9bd, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9de4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9f, 0xd7d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4db5, 0xb8e3, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f6, 0xf61e, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbce3, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9ccd, 0xeaeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fc, 0xfd2c, 0xa8ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c66, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfeff, 0x9ad5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x4eb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x969c, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd20, 0xa3a8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa3d9, 0xdb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c38, 0xadb1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xf0f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff99, 0xd5d7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x969b, 0xdff2, 0xf3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe8f6, 0xf609, 0x9a9e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c95, 0xd3d5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x32aa, 0xae00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdff2, 0xf312, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xf1f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce4, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c78, 0xc7ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbc, 0xe3e5, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x52b8, 0xbb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c26, 0xa6aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff50, 0xb7ba, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb6, 0xe1e2, 0x0297, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c54, 0xb8bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xabaf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf50c, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc2e6, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc2d, 0xa9ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea2, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9bd6, 0xd800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb0df, 0xe0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cbb, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8c, 0xd0d2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0xe2f3, 0xf4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa1d9, 0xdbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffee, 0xf8f8, 0x1aa1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9fe9, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe30, 0xaaae, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xbee4, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffed, 0xf8f8, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x98d4, 0xd6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff83, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x35ac, 0xb0fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe502, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdee0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x94d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf612, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x48b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x80ca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc7, 0xe8e9, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x47b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff37, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x169f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff49, 0xb4b8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a4, 0xa8fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x96d3, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe001, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9eea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xccea, 0xeb00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd29, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca8, 0xdbdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x28a7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc3, 0xe6e8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x99d5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbae2, 0xe301, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0c9b, 0xa0ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff76, 0xc6c9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c90, 0xd1d3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4eb6, 0xb900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x52b8, 0xbbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc5e7, 0xe807, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbabe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b3, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x089a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffec, 0xf7f8, 0x24a4, 0xa900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3eb0, 0xb400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc8e8, 0xe9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8b, 0xcfd1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c12, 0x9ea2, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe54, 0xb8bc, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c09, 0x9a9f, 0xe7f5, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x53b8, 0xbc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd2ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81ca, 0xcd01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ec3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xe4f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd3ed, 0xee02, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cba, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffab, 0xddde, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7fca, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd0, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0f, 0x9ca1, 0xf4fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7fca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc1e5, 0xe70b, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eb0, 0xb4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e1, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c22, 0xa4a9, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x34ac, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x79c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffce, 0xebec, 0x159f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0a9a, 0x9fee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe1f2, 0xf302, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c39, 0xadb1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf2f3, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ed, 0xed18, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc16, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5e, 0xbcbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbb, 0xe3e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c41, 0xb0b4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x1aa1, 0xa500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c6f, 0xc4c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff3d, 0xafb3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c83, 0xccce, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe2e4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9caa, 0xdcde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcae9, 0xea18, 0xa0a4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ac, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6c, 0xc2c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9caa, 0xdcdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xe4e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1ea2, 0xa6f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x139e, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0xa058, 0xbabd, 0xa2d8, 0xdacd, 0xeaeb, 0xd6ee, 0xefc7, 0xe8e9, 0xa0d8, 0xd96a, 0xc1c4, 0x2aa7, 0xac07, 0x999d, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9e, 0xd7d9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cd9, 0xf0f0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc2, 0xe6e7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb3e0, 0xe10d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7ac9, 0xcbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfed7, 0xeeef, 0xd7ef, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd0, 0xeced, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4fb, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc9, 0xe8ea, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ca0, 0xe7f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd8ef, 0xf0a6, 0xdadc, 0x73c5, 0xc840, 0xb0b4, 0x129e, 0xa200, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x119d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x46b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c68, 0xc0c4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfcd3, 0xedee, 0xa0d8, 0xd96f, 0xc3c6, 0x3eaf, 0xb315, 0x9ea3, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x72c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x43b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7dc9, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9dd8, 0xeff0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xfff6, 0xfbfc, 0xd7ef, 0xefa4, 0xd9db, 0x1da1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x68c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7cc9, 0xcb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xbee4, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf3f3, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x63be, 0xc2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d2, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x5abb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf1fa, 0xfaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffea, 0xf7f7, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xdaf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfb20, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4db6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f5, 0xf609, 0x9a9f, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff4, 0xfbfb, 0x119d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c72, 0xc5c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x42b1, 0xb5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe2c, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca3, 0xd9db, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0x20a4, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa2, 0xa7ee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x20a3, 0xa700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eaf, 0xb3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xeaf7, 0xf7c7, 0xe8e9, 0xa8db, 0xdd91, 0xd2d4, 0x83cb, 0xce7f, 0xc9cc, 0x7ac7, 0xca7f, 0xc9cc, 0x83cb, 0xcd92, 0xd2d5, 0xa9db, 0xddbf, 0xe5e6, 0xddf1, 0xf2f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff63, 0xbfc2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0d9c, 0xa0e9, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3caf, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4cb5, 0xb986, 0xcdcf, 0x84cb, 0xcd81, 0xcacd, 0x79c7, 0xca71, 0xc4c7, 0x6bc2, 0xc565, 0xc0c3, 0x5fbd, 0xc15a, 0xbbbe, 0x56ba, 0xbd54, 0xb9bd, 0x52b8, 0xbc51, 0xb7bb, 0x50b7, 0xba4f, 0xb6ba, 0x4eb6, 0xb94e, 0xb5b9, 0x4db5, 0xb94d, 0xb5b9, 0x4db5, 0xb94e, 0xb5b9, 0x4fb6, 0xba51, 0xb7bb, 0x52b8, 0xbc57, 0xbabd, 0x5cbc, 0xbf65, 0xc0c3, 0x6fc3, 0xc679, 0xc8ca, 0x83cb, 0xce8d, 0xd0d3, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3cae, 0xb2ff, 0xffff, 0xfeff, 0xffd3, 0xedee, 0x78c7, 0xca2c, 0xa8ac, 0x089a, 0x9e01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0497, 0x9c0e, 0x9ca1, 0x2ea9, 0xad61, 0xbec1, 0x9fd7, 0xd9d8, 0xeff0, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa5, 0xdadb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4eb6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5fbd, 0xc000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee1, 0xf3f3, 0x56b9, 0xbc05, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0x25a5, 0xaa67, 0xc0c3, 0xb8e2, 0xe3f9, 0xfdfd, 0xffff, 0xffe4, 0xf4f4, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d3, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x139f, 0xa31d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa2a6, 0x74c6, 0xc8d6, 0xeeef, 0x30a9, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf75b, 0xbbbe, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989e, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0x5dbc, 0xbfa6, 0xd9db, 0xe1f3, 0xf3fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf580, 0xcbcd, 0x1ea2, 0xa701, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e2c, 0xa8ac, 0x6ac1, 0xc4ac, 0xddde, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbae, 0xdddf, 0x48b4, 0xb705, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e37, 0xacb0, 0x76c6, 0xc9b3, 0xdfe1, 0xe8f6, 0xf6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1f, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e2f, 0xa9ae, 0x71c4, 0xc7ae, 0xdddf, 0xe3f3, 0xf4fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e28, 0xa7ab, 0x5ebc, 0xbf96, 0xd3d6, 0xd2ed, 0xeefa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b9, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa3a7, 0x6fc4, 0xc653, 0xb8bc, 0x3cae, 0xb21e, 0xa3a7, 0x0c9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c16, 0x9fa4, 0x49b4, 0xb881, 0xcbcd, 0xb7e1, 0xe2e6, 0xf5f5, 0xfeff, 0xffec, 0xf8f8, 0x109d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9dbc, 0xe3e5, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0xf0f9, 0xfa3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989d, 0x27a6, 0xaa44, 0xb1b6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x59bb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff43, 0xb1b5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6f, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x26a6, 0xaa5a, 0xbbbe, 0xb1df, 0xe0c5, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c32, 0xaaae, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdfe0, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x2da8, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7a, 0xc8ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x2aa7, 0xac00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c49, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x77c7, 0xca00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cad, 0xdddf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd0eb, 0xed17, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c97, 0xd4d6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa5da, 0xdc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x33ab, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4ea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc2, 0xe6e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf6fb, 0xfc8b, 0xcfd1, 0x149f, 0xa300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xa8db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce3, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9a, 0xd5d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf88c, 0xd0d2, 0x2ba7, 0xac01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9f9f, 0xd8d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbfe, 0xfec4, 0xe7e8, 0x6dc2, 0xc624, 0xa5aa, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2d, 0xa8ad, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa0d8, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0xe5f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xd2ec, 0xed8f, 0xd1d3, 0x49b4, 0xb812, 0x9ea2, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c15, 0x9fa3, 0x91d2, 0xd3f6, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8bce, 0xd100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xccea, 0xeb99, 0xd5d7, 0x66c0, 0xc337, 0xacb0, 0x109d, 0xa100, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c21, 0xa4a8, 0x8ace, 0xd1ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9dbf, 0xe4e6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbd5, 0xeeef, 0xa7da, 0xdc7c, 0xc9cb, 0x57ba, 0xbd33, 0xabaf, 0x159f, 0xa306, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9f49, 0xb4b8, 0xa9db, 0xddf8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fb0, 0xb300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xdef1, 0xf2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xf5fb, 0xfbe1, 0xf3f4, 0xc7e8, 0xe9a4, 0xd9db, 0x85cc, 0xcf65, 0xbfc2, 0x46b3, 0xb627, 0xa6aa, 0x159f, 0xa306, 0x999e, 0x0397, 0x9c01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0397, 0x9c1c, 0xa1a6, 0x59bb, 0xbea5, 0xd9dc, 0xe6f5, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x27a6, 0xaadf, 0xf2f3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfced, 0xf8f8, 0xdef1, 0xf2c7, 0xe8e9, 0xb7e0, 0xe2a5, 0xd9db, 0x90d1, 0xd482, 0xcbcd, 0x76c6, 0xc967, 0xc0c3, 0x58bb, 0xbe51, 0xb7ba, 0x4cb4, 0xb844, 0xb2b5, 0x3daf, 0xb33a, 0xaeb2, 0x37ad, 0xb136, 0xacb0, 0x3daf, 0xb247, 0xb2b6, 0x55b9, 0xbd6e, 0xc3c6, 0x8ccf, 0xd2b2, 0xdfe1, 0xddf1, 0xf2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xd1ec, 0xedff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff7b, 0xc8cb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x119d, 0xa2a6, 0xdadc, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe2b, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989d, 0x62be, 0xc1eb, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xa5da, 0xdbfb, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x45b2, 0xb600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c3b, 0xaeb2, 0xc1e5, 0xe7fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe3e4, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d47, 0xb3b7, 0xbee4, 0xe6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfa2a, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c40, 0xb0b4, 0xafde, 0xe0f8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c25, 0xa5a9, 0x88ce, 0xd0e7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff92, 0xd2d4, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0x56b9, 0xbdb0, 0xdee0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9dd6, 0xd806, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa46c, 0xc2c5, 0xbce3, 0xe5f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe8b, 0xcfd2, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c19, 0xa0a5, 0x5fbd, 0xc0b2, 0xdfe1, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe9, 0xf6f7, 0x53b8, 0xbb01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa14a, 0xb4b8, 0x8fd0, 0xd2d0, 0xeced, 0xfbfd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffb, 0xfefe, 0x9ed7, 0xd91a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x1da2, 0xa65e, 0xbdc0, 0x9ad5, 0xd7d2, 0xeded, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xabdc, 0xde33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x19a0, 0xa54a, 0xb4b8, 0x85cc, 0xcfc2, 0xe6e7, 0xedf8, 0xf8fd, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfed7, 0xeff0, 0x7cc8, 0xcb20, 0xa3a7, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0b9a, 0x9f2e, 0xa9ad, 0x5ebd, 0xbf8c, 0xcfd1, 0xb9e2, 0xe3e4, 0xf4f5, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdff, 0xffe5, 0xf4f5, 0xafde, 0xdf70, 0xc3c7, 0x2ea9, 0xad04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0x179f, 0xa43e, 0xafb3, 0x62be, 0xc185, 0xcccf, 0xa3d9, 0xdbbe, 0xe4e5, 0xd1ec, 0xede1, 0xf3f4, 0xebf7, 0xf7ee, 0xf8f8, 0xeef8, 0xf8ed, 0xf8f8, 0xeaf6, 0xf7e0, 0xf3f3, 0xd2ed, 0xeec4, 0xe6e7, 0xafde, 0xdf92, 0xd2d4, 0x71c4, 0xc74b, 0xb4b8, 0x1fa2, 0xa704, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989b, 0x0097, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c06, 0x989d, 0x0899, 0x9e09, 0x999e, 0x099a, 0x9f09, 0x999e, 0x0899, 0x9d06, 0x989d, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x009a, 0x9d00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x007f, 0x7f00, 0x969e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9f00, 0x0000, 0x0000, 0x0000, 0x9a9f, 0x0099, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989c, 0x0094, 0x9f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x9e00, 0x969c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9e00, 0x979b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0098, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999e, 0x0097, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x9900, 0x9a9e, 0x0097, 0x9e00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x989c, 0x0099, 0x9e00, 0x9494, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},qn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(new H.FieldImage(e(583),20,20,"*",(()=>{this.showSettingDialog()}))).appendField("TFT").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("bitmap1"),"VAR").appendField(H.Msg.OLED_BITMAP_DATA).appendField(new H.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DEF_BMP_DATA_TOOLTIP)},showSettingDialog:function(){this.userImgSize={width:100,height:100};const x=z.XML.render(z.XML.TEMPLATE_STR.READ_BITMAP_DIV,{btn1Name:"加载",btn2Name:"保存"});this.canvas=_i()(""),this.ctx=this.canvas[0].getContext("2d"),this.ctx.textAlign="left",this.ctx.textBaseline="top",z.LayerExt.open({title:"图片取模工具",id:"read-bitmap-layer",area:["50%","250px"],max:["500px","250px"],min:["350px","100px"],content:x,borderRadius:"5px",shade:z.LayerExt.SHADE_ALL,success:x=>{_i()("#read-bitmap-layer").css("overflow","hidden"),this.addEvents(x)}})},addEvents:function(x){x.find("button").click((f=>{switch(_i()(f.currentTarget).attr("m-id")){case"0":this.loadImg(x);break;case"1":this.writeJson()}}))},loadImg:function(x){z.MFile.openFile(".png,.jpg","url",(f=>{const{data:e}=f,t=new Image;t.src=e,t.onload=()=>{_i()("#read-bitmap-div-input-img").empty(),_i()("#read-bitmap-div-input-img").append(t);const f={width:t.naturalWidth,height:t.naturalHeight},i=this.getUserImgSize(x),n=i.width/f.width,s=i.height/f.height;isNaN(f.width)||isNaN(f.height)||(s>n?i.height=parseInt(n*f.height):i.width=parseInt(s*f.width)),this.userImgSize=i,this.imgSize=f;const a=new Image;a.height=i.height,a.width=i.width,a.src=e,a.onload=()=>{const x=_i()(""),f=x[0].getContext("2d");f.textAlign="left",f.textBaseline="top";const e=window.devicePixelRatio||1;this.canvas[0].width=a.width,this.canvas[0].height=a.height,this.ctx.width=a.width,this.ctx.height=a.height,x[0].width=a.width*e,x[0].height=a.height*e,f.width=a.width*e,f.height=a.height*e,this.ctx.drawImage(a,0,0,a.width,a.height),f.drawImage(a,0,0,a.width*e,a.height*e),_i()("#read-bitmap-div-output-img").empty(),_i()("#read-bitmap-div-output-img").append(x)};const c=_i()("#read-bitmap-div-message"),l="输入尺寸:"+f.width+"×"+f.height+"  输出尺寸:"+i.width+"×"+i.height;c.empty(),c.append(``)}}))},writeJson:function(){const{userImgSize:x={}}=this,{width:f=100,height:e=100}=x,{data:t}=this.ctx.getImageData(0,0,f,e);let i=0,n="";for(let x=0;x>3&31;break;case 2:i=(31&i)<<6,i|=t[x]>>2&63;break;case 3:i=(2047&i)<<5,i|=t[x]>>3&31;break;default:f=i.toString(16);for(let x=4;x>f.length;x--)e+="0";f=e+f,n+="0x"+f+(x===t.length-1?"":","),i=0}(x+1)%400==0&&x!==t.length-1&&(n+="\n ")}this.setFieldValue(n,"TEXT"),this.setTooltip("图片尺寸(宽×高):"+f+"×"+e),hi.msg("保存成功",{time:1e3})},getUserImgSize:function(x){const f=x.find("input"),e={width:100,height:100};for(let x=0;f[x];x++){const t=_i()(f[x]);switch(t.attr("m-id")){case"0":e.width=parseInt(t.val())??100;break;case"1":e.height=parseInt(t.val())??100}}return e.width>300&&(e.width=300),e.height>300&&(e.height=300),e}},Qn={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_POSY).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(H.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_SHOW_BMP_TOOLTIP)}},$n={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_POSY).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_PIXE_TOOLTIP)}},xs={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(H.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(H.Msg.OLED_END_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.OLED_DRAW_LINE_TOOLTIP)}},fs={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(H.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(Ji),"TYPE"),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},es={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_TRIANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(H.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(H.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(H.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(H.Msg.OLED_D2_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ts={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},is={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(H.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(H.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ns={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new H.FieldDropdown(Ii),"TYPE"),this.appendValueInput("D0_X",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(H.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(H.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new H.FieldDropdown(xn),"OPT"),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ss={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(H.Msg.set_EN_Font).appendField(new H.FieldDropdown(en),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(an),"FONT_SIZE"),this.appendDummyInput("").appendField(H.Msg.Font_Style).appendField(new H.FieldDropdown(cn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},as={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(H.Msg.set_CN_Font).appendField(new H.FieldDropdown(ln),"FONT_NAME"),this.appendDummyInput("").appendField(H.Msg.FontSize).appendField(new H.FieldDropdown(dn),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},cs={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_BITMAP),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new H.FieldDropdown(rn),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(H.Msg.OLED_ICON).appendField(new H.FieldDropdown(pn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_setFont_tooltip)}},ls={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_print_tooltip)}},ds={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField("TFT").appendField(H.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(H.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(H.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(H.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(H.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.oled_print_tooltip)}},ps=Ai,os={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SETUP).appendField("CLK").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"CLK").appendField("DIO").appendField(H.Msg.MIXLY_PIN).appendField(new H.FieldDropdown(z.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},rs={init:function(){this.setColour(Fi),this.appendValueInput("VALUE").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP1)}},us={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.appendDummyInput("").appendField(H.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(H.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new H.FieldDropdown([[H.Msg.MIXLY_ON,"(0x80 >> 1)"],[H.Msg.MIXLY_OFF,"(0x80 >> 2)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},_s={init:function(){this.setColour(Fi),this.appendDummyInput("").appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(H.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(H.inputs.Align.RIGHT),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},hs={init:function(){this.setColour(Fi),this.appendDummyInput().appendField(H.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new H.FieldTextInput("display"),"NAME").appendField(new H.FieldDropdown([[H.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},Fs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_BEGIN).appendField(new H.FieldDropdown([[H.Msg.MIXLY_ETHERNET,"Ethernet"],[H.Msg.MIXLY_ETHERNET2,"Ethernet2"]]),"Ethernet"),this.appendValueInput("MAC").setCheck(Array).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_ETHERNET_MAC_ADDRESS),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_INIT)}},Is={init:function(){this.setColour(0),this.appendDummyInput().appendField(new H.FieldTextInput("DE"),"VAR1").appendField("-").appendField(new H.FieldTextInput("AD"),"VAR2").appendField("-").appendField(new H.FieldTextInput("BE"),"VAR3").appendField("-").appendField(new H.FieldTextInput("EF"),"VAR4").appendField("-").appendField(new H.FieldTextInput("FE"),"VAR5").appendField("-").appendField(new H.FieldTextInput("ED"),"VAR6"),this.setOutput(!0,Array),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_MACADDRESS)}},As={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_LOCALIP),this.setOutput(!0,"IPAddress"),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_LOCALIP)}},gs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_CONNECT_SERVER).appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput("mixly.org"),"SERVER").appendField(this.newQuote_(!1)),this.appendValueInput("PORT").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECT)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new H.FieldImage(f,12,12,'"')}},Es={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_STOP)}},Ms={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_CONNECTED),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECTED)}},Ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_AVAILABLE),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_AVAILABLE)}},ms={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINT)}},Cs={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINTLN)}},Os={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_READ),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_READ)}},Ss={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_URL).appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput(""),"URL").appendField(this.newQuote_(!1)),this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_SERVER).appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput(""),"SERVER").appendField(this.newQuote_(!1)),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MIXLY_TOOLTIP_ETHERNET_GET_REQUEST)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new H.FieldImage(f,12,12,'"')}},Rs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.NTP_SERVER),this.appendValueInput("server_add").appendField(H.Msg.blynk_SERVER_ADD).setCheck(String),this.appendValueInput("timeZone").appendField(H.Msg.MIXLY_TimeZone).setCheck(Number),this.appendValueInput("Interval").appendField(H.Msg.blynk_WidgetRTC_setSyncInterval).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Ds=[[H.Msg.MIXLY_YEAR,"NTP.getDateYear()"],[H.Msg.MIXLY_MONTH,"NTP.getDateMonth()"],[H.Msg.MIXLY_DAY,"NTP.getDateDay()"],[H.Msg.MIXLY_HOUR,"NTP.getTimeHour24()"],[H.Msg.MIXLY_MINUTE,"NTP.getTimeMinute()"],[H.Msg.MIXLY_SECOND,"NTP.getTimeSecond()"],[H.Msg.MIXLY_WEEK,"NTP.getDateWeekday()"]];const Ns={init:function(){this.setColour(0),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.NTP_server_get_time),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldDropdown(Ds),"TIME_TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number)}},Ls={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new H.FieldImage(e(93),20,20)).appendField(H.Msg.MQTT_SERVER),this.appendValueInput("server_add").appendField(H.Msg.MQTT_SERVER_ADD).setCheck(String),this.appendValueInput("server_port").appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT).setCheck(Number),this.appendValueInput("IOT_ID").appendField(H.Msg.MIXLY_EMQX_USERNAME).setCheck(String),this.appendValueInput("IOT_PWD",String).appendField(H.Msg.HTML_PASSWORD).setCheck([String,Number]),this.appendValueInput("Client_ID").appendField(H.Msg.MQTT_Client_ID).setCheck(String),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Ps={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new H.FieldImage(e(93),20,20)).appendField(H.Msg.MIXLY_NETWORK_INIT),this.appendValueInput("SSID").appendField(H.Msg.HTML_NAME),this.appendValueInput("PWD").appendField(H.Msg.HTML_PASSWORD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},ys={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(H.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(H.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},bs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},vs={init:function(){this.setColour(0),this.appendDummyInput(),this.appendDummyInput("").appendField(H.Msg.MIXLY_GET+H.Msg.MIXLY_DEVICE).appendField(new H.FieldDropdown([["MAC","MAC"],["IP","IP"]]),"mode").appendField(H.Msg.MQTT_SERVER_ADD),this.setOutput(!0),this.setInputsInline(!0)}},ws={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.MQTT_connect),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}};var Ys=function(x){return x.replace(/\//g,"")};const Vs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new H.FieldImage(e(93),20,20)).appendField(H.Msg.MQTT_publish),this.appendValueInput("data"),this.appendDummyInput("").appendField(H.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.appendDummyInput().appendField(H.Msg.MQTT_Topic).appendField(new H.FieldTextInput("Topic",Ys),"Topic"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},ks={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MQTT_Topic).appendField(new H.FieldTextInput("Topic_0",Ys),"Topic_0"),this.appendDummyInput("").appendField(H.Msg.HTML_VALUE),this.setInputsInline(!0),this.setOutput(!0,String)}},Xs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MQTT_Topic),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Gs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(H.Msg.MQTT_Topic+H.Msg.MQTT_subscribe2).appendField(new H.FieldTextInput("Topic_0",Ys),"Topic_0"),this.appendStatementInput("DO0").appendField(H.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new H.icons.MutatorIcon(["MQTT_add_subscribe_topic"],this));var x=this;this.setTooltip((function(){return x.elseifCount_?x.elseifCount_?H.Msg.CONTROLS_IF_TOOLTIP_3:void 0:H.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),x},domToMutation:function(x){for(var f=this,e=[],t=this.elseifCount_;t>0;t--)this.removeInput("DummyInput"+t),f.getInputTargetBlock("DO"+t)&&f.getInputTargetBlock("DO"+t).previousConnection?e[t]=f.getInputTargetBlock("DO"+t).previousConnection:e[t]=null,this.removeInput("DO"+t);this.elseifCount_=parseInt(x.getAttribute("elseif"),10);for(t=1;t<=this.elseifCount_;t++)this.appendDummyInput("DummyInput"+t).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(H.Msg.MQTT_Topic+H.Msg.MQTT_subscribe2).appendField(new H.FieldTextInput("Topic_"+t,Ys),"Topic_"+t),this.appendStatementInput("DO"+t).appendField(H.Msg.CONTROLS_IF_MSG_THEN);for(t=e.length-2;t>0;t--)e[t]&&e[t]&&e[t].reconnect(this,"DO"+t)},decompose:function(x){var f=x.newBlock("mqtt_topics_set");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("MQTT_add_subscribe_topic");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}return f},compose:function(x){for(var f=this.elseifCount_;f>0;f--)this.removeInput("DummyInput"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null];e;){if("MQTT_add_subscribe_topic"!==e.type)throw Error("Unknown block type: "+e.type);this.elseifCount_++,t.push(e.statementConnection_),e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){if("MQTT_add_subscribe_topic"!==f.type)throw"Unknown block type.";var t=this.getInput("DO"+e);f.statementConnection_=t&&t.connection.targetConnection,e++,f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){for(var x=[null],f=1;this.getInput("DummyInput"+f);){var e=this.getInput("DO"+f);x.push(e.connection.targetConnection),f++}this.updateShape_(),this.reconnectChildBlocks_(x)},updateShape_:function(){for(var x=1;this.getInput("DummyInput"+x);)this.removeInput("DummyInput"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendDummyInput("DummyInput"+x).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(H.Msg.MQTT_Topic+H.Msg.MQTT_subscribe2).appendField(new H.FieldTextInput("Topic_"+x,Ys),"Topic_"+x),this.appendStatementInput("DO"+x).appendField(H.Msg.CONTROLS_IF_MSG_THEN)},reconnectChildBlocks_:function(x){for(var f=1;f<=this.elseifCount_;f++)x[f]&&x[f].reconnect(this,"DO"+f)}},Bs={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.MIXLY_EMQX_SUBSCRIBE+H.Msg.MQTT_Topic),this.appendStatementInput("STACK"),this.contextMenu=!1}},Us={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(H.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(H.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Ws={init:function(){this.setColour(0),this.appendDummyInput().appendField(H.Msg.blynk_smartconfig).appendField(new H.FieldDropdown([["SmartConfig","SmartConfig"],["AP","AP"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.MQTT_TEST_TOOLTIP)}},Hs={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField(H.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+":").appendField(new H.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.appendValueInput("SSID").setCheck(null).appendField("WIFI "+H.Msg.HTML_NAME),this.appendValueInput("PSK").setCheck(null).appendField("WIFI "+H.Msg.HTML_PASSWORD),this.appendValueInput("IP1").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(H.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},zs={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField(H.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+": AP+STA"),this.appendValueInput("SSID1").setCheck(null).appendField("WIFI "+H.Msg.HTML_NAME+"(STA)"),this.appendValueInput("SSID2").setCheck(null).appendField("WIFI "+H.Msg.HTML_NAME+"(AP)"),this.appendValueInput("PSK1").setCheck(null).appendField("WIFI "+H.Msg.HTML_PASSWORD+"(STA)"),this.appendValueInput("PSK2").setCheck(null).appendField("WIFI "+H.Msg.HTML_PASSWORD+"(AP)"),this.appendValueInput("IP1").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(H.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(H.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(H.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Ks={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField(H.Msg.CONTROLS_IF_MSG_IF+" WIFI UDP "+H.Msg.MIXLY_STM32_SPI_DATA_RECEIVED+"?"),this.appendValueInput("input_data").setCheck(null).appendField(H.Msg.PROCEDURES_CALL_BEFORE_PARAMS),this.appendDummyInput().appendField("("+H.Msg.LANG_MATH_STRING+")"),this.appendStatementInput("do").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},Zs={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(544),25,25,"*")).appendField("WIFI UDP "+H.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},js={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.WeatherGet).appendField(new H.FieldTextInput("北京"),"data").appendField("1","check"),this.setOutput(!0,Boolean),this.setTooltip("输入正确的城市名(不用带“市”字)如:深圳 北京 广州,如果错误会显示'error'刷新成功则返回true\n天气接口优化注意:\n1. 接口每 8 小时更新一次,机制是 CDN 缓存 8 小时更新一次。注意:自己做缓存。\n2. 接口采用城市 ID 来精准查询请求,省份不能直接查询天气。\n3.每分钟阈值为 300 次,如果超过会禁用一天。请谨慎使用。")}},Js={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.WeatherGetToday).appendField(new H.FieldDropdown([[H.Msg.MIXLY_Humidity,"0"],["PM2.5","1"],["PM1.0","2"],[H.Msg.TodayQuality,"3"],[H.Msg.MIXLY_TEMPERATURE,"4"]]),"type"),this.setOutput(!0,Number),this.setTooltip("返回对应数据 字符串型。")}},qs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(H.Msg.WeatherGetForecast).appendField(new H.FieldDropdown([[H.Msg.MIXLY_GPS_DATE,"ForecastDate"],[H.Msg.ForecastHigh,"ForecastHigh"],[H.Msg.ForecastLow,"ForecastLow"],[H.Msg.ForecastYmd,"ForecastYmd"],[H.Msg.MIXLY_WEEK,"ForecastWeek"],[H.Msg.ForecastAqi,"ForecastAqi"],[H.Msg.ForecastFx,"ForecastFx"],[H.Msg.ForecastFl,"ForecastFl"],[H.Msg.ForecastType,"ForecastType"]]),"type"),this.appendValueInput("date",Number).appendField(H.Msg.MIXLY_GPS_DATE+"(0~14)"),this.setOutput(!0,Number),this.setTooltip("返回预报天气内容0表示当天,最大为14,字符串型。"),this.setInputsInline(!0)}},Qs={init:function(){this.appendDummyInput().appendField(H.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("server").setCheck(null).appendField(H.Msg.blynk_SERVER_ADD),this.appendValueInput("port").setCheck(null).appendField(H.Msg.MIXLY_EMQX_PORT),this.appendValueInput("mqtt_username").setCheck(null).appendField(H.Msg.MIXLY_WIFI_USERNAME),this.appendValueInput("mqtt_password").setCheck(null).appendField(H.Msg.MIXLY_WIFI_PASSWORD),this.appendValueInput("project").setCheck(null).appendField(H.Msg.MIXLY_EMQX_PROJECT),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},$s={init:function(){this.appendDummyInput().appendField(H.Msg.USE_MIXLY_KEY).appendField(new H.FieldTextInput("1RFOH08C"),"key").appendField(H.Msg.CONNECT_TO_MIXIO).appendField(H.Msg.blynk_SERVER_ADD).appendField(new H.FieldTextInput("mixio.mixly.cn"),"server"),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},xa={init:function(){this.appendValueInput("data").setCheck(null).appendField(H.Msg.MQTT_SEND_MESSAGE),this.appendValueInput("topic").setCheck(null).appendField(H.Msg.TO_TOPIC),this.appendDummyInput().appendField(new H.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},fa={init:function(){this.appendValueInput("topic").setCheck(null).appendField(H.Msg.WHEN_THE_SUBJECT_IS_RECEIVED),this.appendDummyInput().appendField(H.Msg.MIXLY_MICROBIT_MSG).appendField(new H.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.appendStatementInput("function").setCheck(null),this.setPreviousStatement(!1,null),this.setNextStatement(!1,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},ea={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(145),15,15,{alt:"*",flipRtl:"FALSE"})).appendField("ElegantOTA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("http://ip/update"),this.setHelpUrl("")}},ta="#777777",ia={init:function(){this.setColour(ta),this.appendDummyInput("").appendField("#include <").appendField(new H.FieldTextInput("Test"),"INCLUDE").appendField(".h>"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},na={init:function(){this.setColour(ta),this.appendDummyInput("").appendField(new H.FieldTextInput("function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new H.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var x=document.createElement("mutation");x.setAttribute("items",this.itemCount_);for(var f=0;f0&&x","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(oc),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new H.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{EQ:H.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:H.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:H.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:H.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:H.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:H.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[x]})),this.prevBlocks_=[null,null]}},uc={init:function(){var x=[[H.Msg.LOGIC_OPERATION_AND,"AND"],[H.Msg.LOGIC_OPERATION_OR,"OR"]];this.setColour(oc),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new H.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{AND:H.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:H.Msg.LOGIC_OPERATION_TOOLTIP_OR}[x]}))}},_c={init:function(){this.setColour(oc),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(H.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(H.Msg.LOGIC_NEGATE_TOOLTIP)}},hc={init:function(){var x=[[H.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[H.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(oc),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new H.FieldDropdown(x),"BOOL"),this.setTooltip(H.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Fc={init:function(){this.setColour(oc),this.setOutput(!0),this.appendDummyInput().appendField(H.Msg.LOGIC_NULL),this.setTooltip(H.Msg.LOGIC_NULL_TOOLTIP)}},Ic={init:function(){this.setColour(oc),this.appendValueInput("A"),this.appendValueInput("B").appendField(H.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(H.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Ac=230;H.FieldTextInput.math_number_validator=function(x){return String(x)};const gc={init:function(){this.setColour(Ac),this.appendDummyInput().appendField(new H.FieldTextInput("0",H.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(H.Msg.MATH_NUMBER_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id2")}},Ec={init:function(){var x=[[H.Msg.MATH_ADDITION_SYMBOL,"ADD"],[H.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[H.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[H.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[H.Msg.MATH_QUYU_SYMBOL,"QUYU"],[H.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setColour(Ac),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(null),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id4"),this.appendValueInput("B").setCheck(null).appendField(new H.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{ADD:H.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:H.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:H.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:H.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:H.Msg.MATH_MODULO_TOOLTIP,POWER:H.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[x]}))}},Mc={init:function(){this.setColour(Ac),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new H.FieldDropdown([["&","&"],["|","|"],["xor","^"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id8")}},Tc={init:function(){this.setColour(Ac),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new H.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"],["++","++"],["--","--"],["~","~"]]),"OP");var x=this;this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id17"),this.setTooltip((function(){var f=x.getFieldValue("OP");return{SIN:H.Msg.MATH_TRIG_TOOLTIP_SIN,COS:H.Msg.MATH_TRIG_TOOLTIP_COS,TAN:H.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:H.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:H.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:H.Msg.MATH_TRIG_TOOLTIP_ATAN}[f]}))}},mc={init:function(){var x=[[H.Msg.LANG_MATH_TO_ROUND,"round"],[H.Msg.LANG_MATH_TO_CEIL,"ceil"],[H.Msg.LANG_MATH_TO_FLOOR,"floor"],[H.Msg.MATH_ABS,"abs"],[H.Msg.MATH_SQ,"sq"],[H.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ac),this.appendValueInput("A").setCheck(Number).appendField(new H.FieldDropdown(x),"OP"),this.setOutput(!0,Number),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id18");var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{sqrt:H.Msg.MATH_SINGLE_TOOLTIP_ROOT,abs:H.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:H.Msg.MATH_SINGLE_TOOLTIP_SQ,log:H.Msg.MATH_SINGLE_TOOLTIP_LN,round:H.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:H.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:H.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[x]}))}},Cc={init:function(){var x=[[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[H.Msg.LANG_MATH_WORD,"word"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_DOUBLE,"double"],[H.Msg.LANG_MATH_BOOLEAN,"boolean"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[H.Msg.LANG_MATH_STRING,"String"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];this.appendDummyInput().appendField(new H.FieldDropdown(x),"variate_type"),this.setOutput(!0,null),this.setColour(Ac),this.setTooltip(""),this.setHelpUrl("")}},Oc={init:function(){this.appendValueInput("data").setCheck(null).appendField(H.Msg.MIXLY_GET+" "+H.Msg.MIXLY_I2C_BYTES),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Ac),this.setTooltip(""),this.setHelpUrl("")}},Sc={init:function(){var x=[[H.Msg.MIXLY_MAX,"max"],[H.Msg.MIXLY_MIN,"min"]];this.setColour(Ac),this.appendValueInput("A").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(new H.FieldDropdown(x),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(H.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#min-max"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{max:H.Msg.MIXLY_TOOLTIP_MATH_MAX,min:H.Msg.MIXLY_TOOLTIP_MATH_MIN}[x]}))}},Rc={init:function(){this.setColour(Ac),this.appendValueInput("NUM").setCheck(Number).appendField(H.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#randomseed")}},Dc={init:function(){this.setColour(Ac),this.setOutput(!0,Number),this.appendValueInput("FROM").setCheck(Number).appendField(H.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0),this.setTooltip(H.Msg.MATH_RANDOM_INT_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#random")}},Nc={init:function(){this.setColour(Ac),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(H.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(H.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(H.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(H.Msg.MATH_CONSTRAIN_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#constrain")}},Lc={init:function(){this.setColour(Ac),this.appendValueInput("NUM",Number).appendField(H.Msg.MIXLY_MAP).appendField(new H.FieldDropdown([[H.Msg.LANG_MATH_INT,"map_int"],[H.Msg.LANG_MATH_FLOAT,"map_float"]]),"maptype").setCheck(Number),this.appendValueInput("fromLow",Number).appendField(H.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(H.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_MATH_MAP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#map")}},Pc={init:function(){this.setColour(Ac),this.appendValueInput("variables").setCheck(null),this.appendValueInput("data").setCheck(null).appendField(new H.FieldDropdown([["+=","+"],["-=","-"],["*=","*"],["/=","/"]]),"type"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl("")}},yc={init:function(){this.appendValueInput("math_auto_add_minus_output").setCheck(null),this.appendDummyInput().appendField(new H.FieldDropdown([["++","++"],["--","--"]]),"math_auto_add_minus_type"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ac),this.setTooltip(""),this.setHelpUrl("")}},bc=230,vc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.digital),"PIN"),this.setOutput(!0,Number)}},wc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.analog),"PIN"),this.setOutput(!0,Number)}},Yc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.pwm),"PIN"),this.setOutput(!0,Number)}},Vc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.interrupt),"PIN"),this.setOutput(!0,Number)}},kc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.MOSI),"PIN"),this.setOutput(!0,Number)}},Xc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.MISO),"PIN"),this.setOutput(!0,Number)}},Gc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.SCK),"PIN"),this.setOutput(!0,Number)}},Bc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},Uc={init:function(){this.setColour(bc),this.appendDummyInput("").appendField(new H.FieldDropdown(z.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},Wc=290,Hc={init:function(){var x=H.Procedures.findLegalName("",this),f=new H.FieldTextInput(x,H.Procedures.rename);f.setSpellcheck(!1),this.appendDummyInput().appendField(H.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(f,"NAME").appendField("","PARAMS"),this.setMutator(new H.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&H.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(H.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(H.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(H.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentstype_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(x){this.hasStatements_!==x&&(x?(this.appendStatementInput("STACK").appendField(H.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=x)},updateParams_:function(){var x="";this.arguments_.length&&(x=H.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),H.Events.disable();try{this.setFieldValue(x,"PARAMS")}finally{H.Events.enable()}},mutationToDom:function(x){var f=H.utils.xml.createElement("mutation");x&&f.setAttribute("name",this.getFieldValue("NAME"));for(var e=0;e1&&"\\"===x.charAt(0)){var f=x.charAt(1);if("0"===f||"b"===f||"f"===f||"n"===f||"r"===f||"t"===f||"\\"===f||"'"===f)return String(x).substring(0,2);if("x"===f&&"0"===x.charAt(2)&&"B"===x.charAt(3))return String(x).substring(0,4)}return String(x).substring(0,1)};const Wd={init:function(){this.setColour(Bd),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new H.FieldTextInput("",H.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(H.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(x){if(1==x)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKlJREFUGNNVkD0LwkAMhlNsnUvBH+DmKnXoeODgWgXBsaOj+AGuVfTys8318l7OTA/hTe7JEWmVNwekA/fAHfNSsVoxew0/mfkbeSvo6wkLSbx0tJH2XdPS/pClsfxs7TA5WOQNl5M9X3bMF8RlS608z+JhFOZNMowybftw4GDvjHmTsc84PJJ4iPbgWcZVxuEUMHXKvS2dZHVgxJHpV4qr4Brei+Oe/usHT1JfDpNGeM0AAAAASUVORK5CYII=";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKpJREFUGNNV0bEKAjEMBuActOd6KIKrg+h4cII3Cg6u5yA6Ot4DONxcUfPYJmnaxn/6KEmaUoD/LK+XxAUibhuhR85bvBLjQHR99DqXIL7ItTo0xdyQ3RrvjWlQZQyT8cnYjcXgbl2XzBmNe5kv4WUfar6kUc9o56N6nh4Zy1NrHZ8iuSN+lB5LCR0HnXIuy/hd7qymUs3bf7WajsNQrn9CHr7Jn+IOaUH4ATxJW2wDnL5kAAAAAElFTkSuQmCC";return new H.FieldImage(f,7,12,'"')}},Hd={init:function(){this.setColour(Bd),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(H.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},zd={init:function(){var x=[[H.Msg.MIXLY_TO_INT,"toInt"],[H.Msg.MIXLY_TO_FLOAT,"toFloat"]];this.setColour(Bd),this.appendValueInput("VAR").setCheck([String,Number]).appendField(new H.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("TOWHAT");return{toInt:H.Msg.MIXLY_TOOLTIP_TEXT_TOINT,toFloat:H.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[x]}))}},Kd={init:function(){this.setColour(Bd),this.appendValueInput("VAR").setCheck(Number).appendField(H.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Zd={init:function(){this.setColour(Bd),this.appendDummyInput().appendField(H.Msg.MIXLY_TOASCII).appendField("'").appendField(new H.FieldTextInput("",H.FieldTextInput.char_validator),"TEXT").appendField("'"),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},jd={init:function(){var x=[[H.Msg.MATH_BIN,"BIN"],[H.Msg.MATH_OCT,"OCT"],[H.Msg.MATH_DEC,"DEC"],[H.Msg.MATH_HEX,"HEX"]];this.setColour(Bd),this.appendValueInput("VAR").setCheck(Number).appendField(H.Msg.MIXLY_TOSTRING).appendField(new H.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},Jd={init:function(){this.setColour(Bd),this.appendValueInput("VAR").setCheck(Number).appendField(H.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},qd={init:function(){this.setColour(Bd),this.appendValueInput("VAR").appendField(H.Msg.MIXLY_LENGTH).setCheck(String),this.setOutput(!0,Number),this.setTooltip(H.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Qd={init:function(){this.setColour(Bd),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").appendField(H.Msg.TEXT_CHARAT).setCheck(Number),this.appendDummyInput().appendField(H.Msg.TEXT_CHARAT2),this.setOutput(!0,Number),this.setInputsInline(!0);var x=this;this.setTooltip((function(){return H.Msg.MIXLY_TOOLTIP_TEXT_FIND_CHAR_AT.replace("%1",H.Arduino.valueToCode(x,"VAR",H.Arduino.ORDER_ATOMIC))}))}},$d={init:function(){var x=[[H.Msg.MIXLY_EQUALS,"equals"],[H.Msg.MIXLY_STARTSWITH,"startsWith"],[H.Msg.MIXLY_ENDSWITH,"endsWith"]];this.setColour(Bd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(new H.FieldDropdown(x),"DOWHAT").setCheck([String,Number]),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("DOWHAT"),e={equals:H.Msg.MIXLY_EQUALS,startsWith:H.Msg.MIXLY_STARTSWITH,endsWith:H.Msg.MIXLY_ENDSWITH};return H.Msg.MIXLY_TOOLTIP_TEXT_EQUALS_STARTS_ENDS.replace("%1",e[x]).replace("%2",H.Arduino.valueToCode(f,"STR2",H.Arduino.ORDER_ATOMIC))}))}},xp={init:function(){this.setColour(Bd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(H.Msg.MIXLY_COMPARETO).setCheck([String,Number]),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(H.Msg.MIXLY_COMPARETO_HELP)}},fp={init:function(){this.setColour(Bd),this.appendValueInput("numeral").setCheck(null).appendField(H.Msg.LANG_MATH_FLOAT),this.appendValueInput("decimal_places").setCheck(null).appendField(H.Msg.TEXT_KEEP),this.appendDummyInput().appendField(H.Msg.TEXT_DECIMAL),this.setOutput(!0,null),this.setTooltip(H.Msg.DECIMAL_PLACES_HELP),this.setHelpUrl("")}},ep={init:function(){this.appendValueInput("name").setCheck(null),this.appendValueInput("Start").setCheck(null).appendField(H.Msg.LISTS_GET_INDEX_GET),this.appendValueInput("end").setCheck(null).appendField(H.Msg.TEXT_TO),this.appendDummyInput().appendField(H.Msg.LANG_MATH_STRING),this.setOutput(!0,null),this.setColour(Bd),this.setTooltip(H.Msg.SUBSTRING_HELP),this.setHelpUrl("")}},tp={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(H.Msg.LETTERS_ARE_CONVERTED_TO).appendField(new H.FieldDropdown([[H.Msg.CAPITAL,".toUpperCase()"],[H.Msg.LOWER_CASE,".toLowerCase()"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bd),this.setTooltip(H.Msg.LETTER_CONVERSION_HELP),this.setHelpUrl("")}},ip={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.STRING_VARIABLE),this.appendValueInput("source_data").setCheck(null).appendField(H.Msg.LANG_MATH_STRING),this.appendValueInput("replace").setCheck(null).appendField(H.Msg.REPLACE_WITH),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bd),this.setTooltip(H.Msg.DATA_REPLACEMENT_HELP),this.setHelpUrl("")}},np={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(H.Msg.ELIMINATE_NON_VISUAL_CHARACTERS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Bd),this.setTooltip(H.Msg.ELIMINATE_HELP),this.setHelpUrl("")}},sp={init:function(){this.appendValueInput("String").setCheck(null).appendField(H.Msg.LANG_MATH_STRING),this.appendValueInput("String1").setCheck(null).appendField(H.Msg.AS_A_STRING),this.appendDummyInput().appendField(new H.FieldDropdown([[H.Msg.STARTSWITH,".startsWith"],[H.Msg.ENDSWITH,".endsWith"]]),"type"),this.setOutput(!0,null),this.setColour(Bd),this.setTooltip(H.Msg.FIRST_AND_LAST_HELP),this.setHelpUrl("")}},ap={init:function(){this.appendValueInput("variable").setCheck(null).appendField(H.Msg.DATA_TYPE_CONVERSION).appendField(new H.FieldDropdown([[H.Msg.LANG_MATH_STRING,"String"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_WORD,"word"]]),"type"),this.setOutput(!0,null),this.setColour(Bd),this.setTooltip(H.Msg.TYPE_CONVERSION_HELP),this.setHelpUrl("")}},cp={init:function(){this.setColour(Bd),this.appendDummyInput().appendField(H.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},lp={init:function(){this.setColour(Bd),this.appendDummyInput().appendField(H.Msg.HTML_TEXT),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},dp={init:function(){this.appendValueInput("str1").setCheck(null),this.appendDummyInput().setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.PROCEDURES_DEFRETURN_RETURN),this.appendValueInput("str2").setCheck(null),this.appendDummyInput().setAlign(H.inputs.Align.RIGHT).appendField(H.Msg.SERIES_INDEX),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(160),this.setTooltip(),this.setHelpUrl("")}},pp={init:function(){this.setColour(Bd),this.appendDummyInput("").appendField(H.Msg.MIXLY_TEXT_JOIN+H.Msg.MIXLY_MICROBIT_TYPE_STRING),this.itemCount_=3,this.updateShape_(),this.setInputsInline(!0),this.setOutput(!0,null),this.setMutator(new H.icons.MutatorIcon(["create_with_item"],this)),this.setTooltip("")},mutationToDom:function(){var x=H.utils.xml.createElement("mutation");return x.setAttribute("items",this.itemCount_),x},domToMutation:function(x){this.itemCount_=parseInt(x.getAttribute("items"),10),this.updateShape_()},decompose:function(x){var f=x.newBlock("create_with_container");f.initSvg();for(var e=f.getInput("STACK").connection,t=0;t0&&(f.setAlign(H.inputs.Align.RIGHT),f.appendField("+"))}}},op={init:function(){this.appendDummyInput().appendField(H.Msg.ARDUINOJSON_STRING_PARSING),this.appendDummyInput("").appendField(new H.FieldMultilineInput('const size_t capacity = JSON_ARRAY_SIZE(3) + 10;\nDynamicJsonBuffer jsonBuffer(capacity);\nconst char* json = "[\\"0\\",\\"74\\",\\"134\\"]";\nJsonArray& root = jsonBuffer.parseArray(json);\nconst char* root_0 = root[0]; // "0"\nconst char* root_1 = root[1]; // "74"\nconst char* root_2 = root[2]; // "134"'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(120),this.setTooltip(H.Msg.ARDUINOJSON_STRING_PARSING1),this.setHelpUrl("https://arduinojson.org/v5/assistant/")}},rp={init:function(){this.appendValueInput("data").setCheck(null).appendField(H.Msg.MIXLY_MICROBIT_TYPE_STRING+H.Msg.A_TO_B+H.Msg.LANG_MATH_LONG).appendField(new H.FieldDropdown([[H.Msg.MATH_HEX,"16"],[H.Msg.MATH_DEC,"10"],[H.Msg.MATH_OCT,"8"],[H.Msg.MATH_BIN,"2"],[H.Msg.blynk_IOT_AUTO,"0"]]),"type"),this.setOutput(!0,null),this.setColour(Bd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/lizhengze1117/article/details/103318662?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base")}},up="#555555",_p={init:function(){this.setColour(up),this.appendDummyInput("").appendField(H.Msg.MIXLY_CONTROL_NOTES).appendField(new H.FieldMultilineInput(""),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hp={init:function(){this.setColour(up),this.appendDummyInput().appendField(new H.FieldTextInput(H.Msg.FOLDING_BLOCK),"peien"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(H.Msg.FOLDING_BLOCK_HELP)}},Fp={init:function(){this.setColour(up),this.appendDummyInput("").appendField(H.Msg.IICSCAN),this.setInputsInline(!0),this.setTooltip("")}},Ip={init:function(){this.setColour(260),this.appendDummyInput("").appendField(H.Msg.OLED_BITMAP_NAME).appendField(new H.FieldTextInput("mylist"),"VAR").appendField("[").appendField(new H.FieldTextInput("3"),"x").appendField("]"),this.appendDummyInput("").appendField(H.Msg.SAVETO+" flash").appendField(new H.FieldCheckbox("true"),"save_hz"),this.appendValueInput("input_data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Ap={init:function(){this.appendDummyInput().appendField("点阵格式").appendField(new H.FieldDropdown([["阴码","1"],["阳码","2"]]),"bitmap_formats").appendField(" 取模方式").appendField(new H.FieldDropdown([["逐列式","1"],["逐行式","2"],["列行式","3"],["行列式","4"]]),"modulus_way").appendField(" 取模走向").appendField(new H.FieldDropdown([["顺向(高位在前)","1"],["逆向(低位在前)","2"]]),"modulus_direction"),this.appendDummyInput().appendField(H.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new H.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"]]),"hz_sharp").appendField(H.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new H.FieldTextInput("16"),"hz_line_height").appendField("px").appendField(H.Msg.MIXLY_WIDTH).appendField(new H.FieldTextInput("16"),"bitmap_width").appendField("px "+H.Msg.MIXLY_HEIGHT).appendField(new H.FieldTextInput("16"),"bitmap_height").appendField("px"),this.appendDummyInput().appendField("输入数据").appendField(new H.FieldTextInput(""),"input_data"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(180),this.setTooltip(""),this.setHelpUrl("")}},gp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(260),525,372,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Ep={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(573),525,368,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Mp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(408),525,736,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Tp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(998),525,371,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},mp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(59),525,371,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Cp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(617),525,376,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Op={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(591),525,376,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Sp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(517),500,376,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Rp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(906),500,350,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Dp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(877),525,346,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Np={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(491),525,264,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl()}},Lp={init:function(){this.appendDummyInput().appendField(new H.FieldImage(e(537),525,376,"*")),this.setColour(up),this.setTooltip(),this.setHelpUrl("https://blog.csdn.net/xatsoft/article/details/90687016?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase")}},Pp={init:function(){this.appendDummyInput().appendField(H.Msg.GET_THE_DIFFERENCE_BETWEEN_TWO_DATES),this.appendValueInput("year_start").setCheck(null).appendField(H.Msg.START+H.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_start").setCheck(null).appendField(H.Msg.START+H.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_start").setCheck(null).appendField(H.Msg.START+H.Msg.MIXLY_GPS_DATE_DAY),this.appendValueInput("year_end").setCheck(null).appendField(H.Msg.END+H.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_end").setCheck(null).appendField(H.Msg.END+H.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_end").setCheck(null).appendField(H.Msg.END+H.Msg.MIXLY_GPS_DATE_DAY),this.setOutput(!0,null),this.setColour(up),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/a_ran/article/details/43601699?utm_source=distribute.pc_relevant.none-task")}};var yp=[["D0","16"],["D1","5"],["D2","4"],["D3","0"],["D4","2"],["D5","14"],["D6","12"],["D7","13"],["D8","15"],["RX","3"],["TX","1"],["A0","A0"],["SD3","10"],["SD2","9"]];const bp={init:function(){this.appendDummyInput().appendField("ESP8266 GPIO").appendField(new H.FieldDropdown(yp),"pin"),this.setOutput(!0,null),this.setColour(up),this.setTooltip(""),this.setHelpUrl("")}},vp=330;var wp=[[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[H.Msg.LANG_MATH_WORD,"word"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_DOUBLE,"double"],[H.Msg.LANG_MATH_BOOLEAN,"boolean"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[H.Msg.LANG_MATH_STRING,"String"],["char*","char*"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];const Yp={init:function(){this.setColour(vp),this.appendValueInput("VALUE",null).appendField(H.Msg.MIXLY_DECLARE).appendField(new H.FieldDropdown([[H.Msg.MIXLY_GLOBAL_VARIABLE,"global_variate"],[H.Msg.MIXLY_LOCAL_VARIABLE,"local_variate"]]),"variables_type").appendField(new H.FieldTextInput("item"),"VAR").appendField(H.Msg.MIXLY_AS).appendField(new H.FieldDropdown(wp),"TYPE").appendField(H.Msg.MIXLY_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_VARIABLES_DECLARE)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){H.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Vp={init:function(){this.setColour(vp),this.appendDummyInput().appendField(new H.FieldTextInput("item"),"VAR"),this.setOutput(!0),this.setTooltip(H.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){H.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},kp={init:function(){this.setColour(vp),this.appendValueInput("VALUE").appendField(new H.FieldTextInput("item"),"VAR").appendField(H.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(H.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){H.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Xp={init:function(){this.setColour(vp);var x=[[H.Msg.LANG_MATH_INT,"int"],[H.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[H.Msg.LANG_MATH_WORD,"word"],[H.Msg.LANG_MATH_LONG,"long"],[H.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[H.Msg.LANG_MATH_FLOAT,"float"],[H.Msg.LANG_MATH_DOUBLE,"double"],[H.Msg.LANG_MATH_BOOLEAN,"boolean"],[H.Msg.LANG_MATH_BYTE,"byte"],[H.Msg.LANG_MATH_CHAR,"char"],[H.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[H.Msg.LANG_MATH_STRING,"String"]];this.appendValueInput("MYVALUE").appendField(new H.FieldDropdown(x),"OP"),this.setOutput(!0),this.setTooltip(H.Msg.MIXLY_TOOLTIP_VARIABLES_CHANGE)}},Gp=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),i=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".write("+t+");\ndelay("+i+");\n"},Bp=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".writeMicroseconds("+t+");\n"},Up=function(x,f){var e=this.getFieldValue("PIN");return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");",["servo_"+e+".read()",f.ORDER_ATOMIC]},Wp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),n=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".write("+i+");\ndelay("+n+");\n"},Hp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".writeMicroseconds("+i+");\n"},zp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN");return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");",["servo_"+t+".read()",f.ORDER_ATOMIC]},Kp=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},Zp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i="";return window.isNaN(e)?i=i+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",i+="tone("+e+","+t+");\n"},jp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t="";return window.isNaN(e)?t=t+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",t+="noTone("+e+");\n"},Jp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i=f.valueToCode(this,"DURATION",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_NewTone="#include ",f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewTone("+e+","+t+","+i+");\n"},qp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewNoTone("+e+");\n"},Qp=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"steps",f.ORDER_ATOMIC),s=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+n+","+t+","+i+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+s+");",""},$p=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"PIN3",f.ORDER_ATOMIC),s=f.valueToCode(this,"PIN4",f.ORDER_ATOMIC),a=f.valueToCode(this,"steps",f.ORDER_ATOMIC),c=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+a+","+t+","+i+","+n+","+s+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+c+");",""},xo=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=f.valueToCode(this,"step",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",e+".step("+t+");\n"},fo=function(x,f){var e=this.getFieldValue("COLOR");return[e="0x"+e.substring(1,e.length),f.ORDER_NONE]},eo=function(x,f){return["(("+f.valueToCode(this,"R",f.ORDER_ATOMIC)+" & 0xffffff) << 16) | (("+f.valueToCode(this,"G",f.ORDER_ATOMIC)+" & 0xffffff) << 8) | "+f.valueToCode(this,"B",f.ORDER_ATOMIC),f.ORDER_NONE]},to=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("TYPE"),i=f.valueToCode(this,"LEDCOUNT",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.definitions_["var_declare_rgb_display"+e]="Adafruit_NeoPixel rgb_display_"+e+" = Adafruit_NeoPixel("+i+","+e+","+t+" + NEO_KHZ800);",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();",""},io=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();","rgb_display_"+e+".setBrightness("+t+");\n"},no=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"_LED_",f.ORDER_ATOMIC),i=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);return"rgb_display_"+e+".setPixelColor(("+t+")-1, "+(i=i.replace(/#/g,"0x"))+");\n"},so=function(x,f){var e=this.getFieldValue("PIN");return"rgb_display_"+e+".setPixelColor(("+f.valueToCode(this,"_LED_",f.ORDER_ATOMIC)+")-1, rgb_display_"+e+".ColorHSV("+f.valueToCode(this,"H",f.ORDER_ATOMIC)+","+f.valueToCode(this,"S",f.ORDER_ATOMIC)+","+f.valueToCode(this,"V",f.ORDER_ATOMIC)+"));\n"},ao=function(){var x=z.JSFuncs.getPlatform(),f=this.getFieldValue("PIN"),e="rgb_display_"+f+".show();\n";return x.match(RegExp(/ESP32/))&&(e+="rgb_display_"+f+".show();\n"),e},co=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"WAIT",f.ORDER_ATOMIC);f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();\n";var i="uint32_t Wheel(byte WheelPos){\n if(WheelPos < 85){\n return rgb_display_"+e+".Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n }\n else if(WheelPos < 170){\n WheelPos -= 85;\n return rgb_display_"+e+".Color(255 - WheelPos * 3, 0, WheelPos * 3);\n }\n else{\n WheelPos -= 170;\n return rgb_display_"+e+".Color(0, WheelPos * 3, 255 - WheelPos * 3);\n }\n}\n";f.definitions_.Wheel=i;var n="void rainbow(uint8_t wait){\n uint16_t i, j;\n for(j=0; j<256; j++){\n for(i=0; i 0) {\n digitalWrite(dirpin1, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin1, HIGH);\n analogWrite(speedpin, -speed);\n }\n}\n";return f.definitions_[n]=s,i},ro=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i="setMotor8833("+e+", "+t+", "+(f.valueToCode(this,"speed",f.ORDER_ASSIGNMENT)||"0")+");\n";f.setups_["setup_output_"+e+t+"_S"]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+e+t+"_D"]="pinMode("+t+", OUTPUT);",f.setups_["setup_output_"+e+t+"_S_W"]="digitalWrite("+e+", LOW);",f.setups_["setup_output_"+e+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor8833",s="void "+n+"(int speedpin, int dirpin, int speed) {\n if (speed == 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } else if (speed > 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return f.definitions_[n]=s,i},uo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("VOICE"),i=f.valueToCode(this,"WAIT",f.ORDER_ASSIGNMENT)||"0";f.setups_.setup_output_sda="pinMode("+e+", OUTPUT);";var n="send_data("+t+"); //volume control 0xE0-E7;\n";n+="delay("+i+");\n";var s="void send_data(int addr) {\n int i;\n digitalWrite("+e+", LOW);\n delay(3); //>2ms\n for (i = 0; i < 8; i++) {\n digitalWrite("+e+", HIGH);\n if (addr & 1) {\n delayMicroseconds(2400); //>2400us\n digitalWrite("+e+", LOW);\n delayMicroseconds(800);\n } //>800us\n else {\n delayMicroseconds(800); //>800us\n digitalWrite("+e+", LOW);\n delayMicroseconds(2400);\n } //>2400us\n addr >>= 1;\n }\n digitalWrite("+e+", HIGH);\n}\n";return f.definitions_.funcName=s,n},_o=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+"."+i+"\n"},ho=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("DEVICEID");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setDevice("+i+");\n"},Fo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("LOOP_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setLoopMode("+i+");\n"},Io=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("EQ_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setEqualizer("+i+");\n"},Ao=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"vol",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setVolume("+i+");\n"},go=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".playFileByIndexNumber("+i+");\n"},Eo=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor"),t=this.getFieldValue("direction"),i=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed("+i+");\n motor"+e+".run("+t+");\n"},Mo=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor");return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed(0);\n motor"+e+".run(RELEASE);\n"},To=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"dfplayer_pin",f.ORDER_ATOMIC);f.definitions_.include_Arduino='#include "generator.h"',f.definitions_.include_DFRobotDFPlayerMini='#include "DFRobotDFPlayerMini.h"',f.definitions_["var_declare_DFPlayerMini_"+e]="DFRobotDFPlayerMini "+e+";",f.setups_["setup_DFPlayerMini_"+e]=e+".begin("+t+");";return""},mo=function(x,f){var e=this.getFieldValue("pin_type");return f.definitions_.include_SoftwareSerial="#include ",[e,f.ORDER_ATOMIC]},Co=function(x,f){return this.getFieldValue("dfplayer_name")+".setTimeOut("+f.valueToCode(this,"timeout_data",f.ORDER_ATOMIC)+");\n"},Oo=function(x,f){return this.getFieldValue("dfplayer_name")+".volume("+f.valueToCode(this,"volume_data",f.ORDER_ATOMIC)+");\n"},So=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("volume_type")+"();\n"},Ro=function(x,f){return this.getFieldValue("dfplayer_name")+".EQ("+f.valueToCode(this,"eq_data",f.ORDER_ATOMIC)+");\n"},Do=function(x,f){return[this.getFieldValue("eq_type"),f.ORDER_ATOMIC]},No=function(x,f){return this.getFieldValue("dfplayer_name")+".outputDevice("+f.valueToCode(this,"outputdevice_data",f.ORDER_ATOMIC)+");\n"},Lo=function(x,f){return[this.getFieldValue("outputdevice_type"),f.ORDER_ATOMIC]},Po=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("set_data")+"();\n"},yo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"play_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("play_type")+"("+t+");\n"},bo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"fold_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("fold_type")+"("+t+", "+f.valueToCode(this,"play_data",f.ORDER_ATOMIC)+");\n"},vo=function(x,f){return this.getFieldValue("dfplayer_name")+".loopFolder("+f.valueToCode(this,"fold_data",f.ORDER_ATOMIC)+");\n"},wo=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("read_type")+"()",f.ORDER_ATOMIC]},Yo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"device_type",f.ORDER_ATOMIC);return[e+"."+this.getFieldValue("play_data")+"("+t+")",f.ORDER_ATOMIC]},Vo=function(x,f){return[this.getFieldValue("dfplayer_name")+".readFileCountsInFolder("+f.valueToCode(this,"folder_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},ko=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("type")+"()",f.ORDER_ATOMIC]},Xo=function(x,f){var e=this.getFieldValue("motor"),t=f.valueToCode(this,"SPEED",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_PWMServoDriver="#include ",f.definitions_.var_declare_Adafruit_PWMServoDriver="Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();",f.setups_.setup_pwm_begin="pwm.begin();\npwm.setOscillatorFrequency(27000000);\npwm.setPWMFreq(400);\nWire.setClock(400000);","void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n",f.definitions_.motor="void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n","motor("+e+","+t+");\n"},Go=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]="mp3_"+e+".begin();","mp3_"+e+"."+t+"\n"},Bo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_volume("+t+");\n"},Uo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_play_number("+t+");\n"},Wo=function(){return""},Ho=function(x,f){let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);isNaN(t.charAt(2))||(t=t.replace(/"/g,"").replace(/\./g,","),t="IPAddress("+t+")");let i=z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_smartconfig='WiFi.mode(WIFI_STA);\n int cnt = 0;\n while (WiFi.status() != WL_CONNECTED) {\n delay(500); \n Serial.print("."); \n if (cnt++ >= 10) {\n WiFi.beginSmartConfig();\n while (1) {\n delay(1000);\n if (WiFi.smartConfigDone()) {\n Serial.println();\n Serial.println("SmartConfig: Success");\n break;\n }\n Serial.print("|");\n }\n }\n }\n WiFi.printDiag(Serial);\n',i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.setups_.setup_smartconfig+="Blynk.config(auth,"+t+",8080);";return"Blynk.run();\n"},zo=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),n=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),s=z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+i+";",f.definitions_.var_declare_wifi_ssid="char ssid[] = "+e+";",f.definitions_.var_declare_wifi_pass="char pass[] = "+t+";",s.match(RegExp(/AVR/))&&(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.define_BLYNK_PRINT="#define ESP8266_BAUD 115200",f.definitions_.var_declare_ESP8266="ESP8266 wifi(&Serial);",f.setups_.setup_serial_Serial="Serial.begin(115200);",f.setups_.delay_10_1="delay(10);",f.setups_["wifi.setOprToStation"]="wifi.setOprToStation(2, 2);",f.setups_.delay_10_2="delay(10);",f.setups_["wifi.enableMUX"]="wifi.enableMUX();",f.setups_.delay_10_3="delay(10);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, wifi,ssid, pass,"+n+",8080);"),isNaN(n.charAt(2))||(n=n.replace(/"/g,"").replace(/\./g,","),n="IPAddress("+n+")"),s.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]=" Blynk.begin(auth, ssid, pass,"+n+",8080);"):s.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, ssid, pass,"+n+",8080);");return"Blynk.run();\n"},Ko=function(x,f){f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleStream="#include ",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial DebugSerial(2, 3);";let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC);f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);",f.setups_.setup_DebugSerial="DebugSerial.begin(9600);";return"Blynk.run();\n"},Zo=function(x,f){return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+", "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\n"},jo=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);let i=[];for(let x=0;x0&&(f.definitions_["var_declare_"+i]=i.join(";\n")+";");let s="BLYNK_WRITE("+e+") {\n"+n+t+"}\n";return s=f.scrub_(this,s),f.definitions_[e]=s,null},Jo=function(x,f){f.definitions_.var_declare_BlynkTimer="BlynkTimer timer;";let e=this.getFieldValue("timerNo"),t=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),i="myTimerEvent"+e,n="void "+i+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[i]=n,f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},qo=function(x,f){let e=this.getFieldValue("state"),t=e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},Qo=function(){return"Blynk.syncAll();\n"},$o=function(){return"Blynk.syncVirtual("+this.getFieldValue("Vpin")+");\n"},xr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return"HIGH"==i?n+="led"+e+".on();\n":"LOW"==i&&(n+="led"+e+".off();\n"),n},fr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return n+="led"+e+".setValue("+i+");",n},er=function(x,f){let e=this.getFieldValue("AC_TYPE"),t=this.getFieldValue("AC_POWER"),i=this.getFieldValue("AC_MODE"),n=this.getFieldValue("AC_FAN"),s=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),a=f.valueToCode(this,"AC_TEMP",f.ORDER_ATOMIC);f.definitions_.include_Arduino="#ifndef UNIT_TEST\n#include \n#endif",f.definitions_.include_IRremoteESP8266="#include ",f.definitions_.include_IRsend="#include ",f.definitions_["include"+e]="#include ",f.definitions_["define_IR_LED"+s]="#define IR_LED "+s,f.definitions_["IR"+e+"AC"]="IR"+e+"AC "+e+"AC(IR_LED); ",f.setups_["setup"+e]=e+"AC.begin();";let c=e+"AC.setPower("+t+");\n";return c+=e+"AC.setFan("+n+");\n",c+=e+"AC.setMode("+i+");\n",c+=e+"AC.setTemp("+a+");\n",c+=e+"AC.send();\n",c},tr=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#include \n#if DECODE_AC\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#endif \n",f.definitions_["define_RECV_PIN"+e]="#define RECV_PIN "+e+"\n",f.definitions_.var_declare_CAPTURE_BUFFER_SIZE="#define CAPTURE_BUFFER_SIZE 1024\n#if DECODE_AC\n#define TIMEOUT 50U\n#else\n#define TIMEOUT 15U \n#endif\n#define MIN_UNKNOWN_SIZE 12\n#define IN_UNKNOWN_SIZE 12\nIRrecv irrecv(RECV_PIN, CAPTURE_BUFFER_SIZE, TIMEOUT, true);\ndecode_results results;",f.setups_.ir_recv_begin="while(!Serial)\n delay(50);\n #if DECODE_HASH\n irrecv.setUnknownThreshold(MIN_UNKNOWN_SIZE);\n #endif \n irrecv.enableIRIn();";return f.definitions_.dumpACInfo='void dumpACInfo(decode_results *results){\n String description="";\n #if DECODE_DAIKIN\n if(results->decode_type == DAIKIN){\n IRDaikinESP ac(0);\n ac.setRaw(results->state);\n description=ac.toString();\n }\n #endif\n #if DECODE_FUJITSU_AC\n if(results->decode_type==FUJITSU_AC){\n IRFujitsuAC ac(0);\n ac.setRaw(results->state, results->bits / 8);\n description = ac.toString();\n }\n #endif\n #if DECODE_KELVINATOR\n if(results->decode_type == KELVINATOR){\n IRKelvinatorAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_TOSHIBA_AC\n if(results->decode_type == TOSHIBA_AC){\n IRToshibaAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_GREE\n if (results->decode_type == GREE){\n IRGreeAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_MIDEA\n if(results->decode_type == MIDEA){\n IRMideaAC ac(0);\n ac.setRaw(results->value);\n description=ac.toString();\n }\n #endif\n #if DECODE_HAIER_AC\n if(results->decode_type == HAIER_AC){\n IRHaierAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n if(description != "")\n Serial.println("Mesg Desc.: " + description);\n}\n',"if(irrecv.decode(&results)){\n uint32_t now = millis();\n dumpACInfo(&results);\n Serial.println(resultToSourceCode(&results));\n}\n"},ir=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("IR_CODE"),i=t.split(",").length,n=Math.ceil(1e5*Math.random());return f.definitions_.define_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#define IR_LED "+e,f.definitions_.var_declare_IRsend_irsend="IRsend irsend(IR_LED);\n",f.definitions_["var_declare_send"+n]="uint16_t rawData"+n+"["+i+"] = {"+t+"};",f.setups_.irsend_begin="irsend.begin();\n","irsend.sendRaw(rawData"+n+", "+i+", 38);\ndelay(2000);\n"},nr=function(x,f){let e=f.valueToCode(this,"email_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"Subject",f.ORDER_ATOMIC),i=f.valueToCode(this,"content",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_MAX_SENDBYTES="#define BLYNK_MAX_SENDBYTES 128 \n","Blynk.email("+e+", "+t+", "+i+");\n"},sr=function(x,f){return"Blynk.notify("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\n"},ar=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["var_declare_WidgetTerminal"+e]="WidgetTerminal terminal"+e+"("+e+");\n","terminal"+e+".println("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\nterminal"+e+".flush();\n"},cr=function(x,f){let e=this.getFieldValue("Vpin");f.definitions_.var_declare_WidgetTerminal="WidgetTerminal terminal("+e+");\n",f.definitions_.var_declare_action="String terminal_text ;";let t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n terminal_text = param.asStr();\n "+t+"\n terminal.flush();\n}\n";return f.definitions_[e]=i,null},lr=function(x,f){return"Blynk.setProperty("+this.getFieldValue("Vpin")+',"url",'+f.valueToCode(this,"url",f.ORDER_ATOMIC)+");\n"},dr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_["var_declare_WidgetBridge"+e]="WidgetBridge bridge"+e+"("+e+");\n","bridge"+e+".setAuthToken("+t+");\n"},pr=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".digitalWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"STAT",f.ORDER_ATOMIC)+");\n"},or=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".analogWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},rr=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".virtualWrite("+this.getFieldValue("Vpin2")+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},ur=function(x,f){f.definitions_.include_TimeLib="#include ",f.definitions_.include_WidgetRTC="#include ";let e=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_.var_declare_WidgetRTC="WidgetRTC rtc;\n",f.setups_.setSyncInterval="setSyncInterval("+e+"* 60);";return"rtc.begin();\n"},_r=function(x,f){return[this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},hr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n action = param.asStr();\n "+t+"\n Blynk.setProperty("+e+', "label", action);\n}\n';return i=f.scrub_(this,i),f.definitions_[e]=i,""},Fr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int lx = param.asInt();\n "+t+"\n}\n";return f.definitions_[e]=i,""},Ir=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int x = param[0].asFloat();\n int y = param[1].asFloat();\n int z = param[2].asFloat();\n "+t+"\n}\n";return f.definitions_[e]=i,""},Ar=Ir,gr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n long startTimeInSecs = param[0].asLong();\n long hour =startTimeInSecs/3600;\n long minute=(startTimeInSecs-3600*hour)/60;\n long second=(startTimeInSecs-3600*hour)%60;\n "+t+"\n}\n";return f.definitions_[e]=i,""},Er=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},Mr=function(x,f){let e=this.getFieldValue("VALUE");return f.definitions_["var_"+e]=e,""},Tr=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),i=z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include \n",f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.definitions_.var_declare_auth_key="char auth[] = "+t+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_WiFiManager="WiFiManager wifiManager;",f.setups_.setup_wifiManagerautoConnect='wifiManager.autoConnect("Blynk");',f.setups_["setup_server.begin"]='Serial.println("Connected.");\n server.begin();',isNaN(e.charAt(2))?f.setups_.setup_Blynkconfig="Blynk.config(auth, "+e+", 8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.setup_Blynkconfig="Blynk.config(auth, IPAddress("+e+"), 8080);");return"Blynk.run();"},mr=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_FS="#include ",f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include ",f.definitions_.include_WiFiManager="#include ",f.definitions_.include_ArduinoJson="#include ",f.definitions_.var_declare_auth_key='char blynk_token[34] = "YOUR_BLYNK_TOKEN";',f.definitions_.var_declare_shouldSaveConfig="bool shouldSaveConfig = false;",f.definitions_.saveConfigCallback='void saveConfigCallback (){\n Serial.println("Should save config");\n shouldSaveConfig = true;\n}',f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.otasetup1='Serial.println("mounting FS...");\n if (SPIFFS.begin()){\n Serial.println("mounted file system");\n if (SPIFFS.exists("/config.json")) {\n Serial.println("reading config file");\n File configFile = SPIFFS.open("/config.json", "r");\n if (configFile) {\n Serial.println("opened config file");\n size_t size = configFile.size();\n std::unique_ptr buf(new char[size]);\n configFile.readBytes(buf.get(), size);\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.parseObject(buf.get());\n json.printTo(Serial);\n if (json.success()){\n Serial.println("parsed json");\n strcpy(blynk_token, json["blynk_token"]);\n }\n else{\n Serial.println("failed to load json config");\n }\n configFile.close();\n }\n }\n } else{\n Serial.println("failed to mount FS");\n }\n WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32);\n WiFiManager wifiManager;\n wifiManager.setSaveConfigCallback(saveConfigCallback);\n wifiManager.addParameter(&custom_blynk_token);\n wifiManager.setMinimumSignalQuality(10);\n if (!wifiManager.autoConnect()){\n Serial.println("failed to connect and hit timeout");\n delay(3000);\n ESP.reset();\n delay(5000);\n }\n Serial.println("connected...yeey :)");\n strcpy(blynk_token, custom_blynk_token.getValue());\n if(shouldSaveConfig){\n Serial.println("saving config");\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.createObject();\n json["blynk_token"] = blynk_token;\n File configFile = SPIFFS.open("/config.json", "w");\n if(!configFile){\n Serial.println("failed to open config file for writing");\n }\n json.printTo(Serial);\n json.printTo(configFile);\n configFile.close();\n }\n Serial.println("local ip");\n Serial.println(WiFi.localIP());\n',isNaN(e.charAt(2))?f.setups_.otasetup1+=" Blynk.config(blynk_token,"+e+",8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.otasetup1+=" Blynk.config(blynk_token,IPAddress("+e+"),8080);");return"Blynk.run();\n"},Cr=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},Or=function(){return"terminal.clear();\n"},Sr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"x",f.ORDER_ATOMIC),i=f.valueToCode(this,"y",f.ORDER_ATOMIC),n=f.valueToCode(this,"value",f.ORDER_ATOMIC);return f.definitions_.include_lcd="WidgetLCD lcd("+e+");\n","lcd.print("+t+", "+i+", "+n+");\n"},Rr=function(){return"lcd.clear();\n"},Dr=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BLE="#include ",f.definitions_.include_BLEDevice="#include ",f.definitions_.include_BLEServer="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},Nr=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BT="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},Lr=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleSerialBLE="#include ",f.definitions_.define_auth="char auth[] = "+e+";",0!=t||1!=i?(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial SerialBLE("+t+", "+i+");",f.setups_.setup_SerialBLE_begin="SerialBLE.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(SerialBLE, auth);"):(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);"),f.setups_["setup_Serial.println"]='Serial.println("Waiting for connections...");';return"Blynk.run();\n"},Pr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "add", '+e+","+t+", "+i+");\n"},yr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "update", '+e+","+t+", "+i+");\n"},br=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "pick", '+e+");\n"},vr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "select", '+e+");\n"},wr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "deselect", '+e+");\n"},Yr=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","Blynk.virtualWrite("+e+', "clr");\nrowIndex_'+e+" = 0;\n"},Vr=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},kr=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i="";return i=this.getFieldValue("mode")>0?'WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED){\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n':'Serial.print("Setting AP (Access Point)…");\nWiFi.softAP(wif_ssid,wif_password);\nIPAddress IP = WiFi.softAPIP();\nSerial.print("Camera Stream Ready! Connect to the ESP32 AP and go to: http://");\nSerial.println(IP);\nSerial.println("");\n',f.definitions_.esp_camera='#include "esp_camera.h"\n#include \n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera=' WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n '+i+" startCameraServer();\n","delay(1);\n"},Xr=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"server",f.ORDER_ATOMIC);isNaN(i.charAt(2))||(i=i.replace(/"/g,"").replace(/\./g,","),i="IPAddress("+i+")");let n=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_WiFi="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.definitions_.include_WidgetRTC="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_TimeLib="#include ",f.definitions_.var_declare_auth_key="char auth[] = "+n+";",f.definitions_.esp_camera='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera='WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n startCameraServer();\n Blynk.config(auth,'+i+",8080);\n","Blynk.run();\n"},Gr=function(x,f){f.definitions_.take_a_photo='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "fd_forward.h"\n#include "fr_forward.h"\n#include "FS.h" \n#include "SD_MMC.h" \n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h" \n#include "dl_lib.h"\n#include "driver/rtc_io.h"\n#include \n#define EEPROM_SIZE 1\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nint pictureNumber = 0;\n';return'WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\nSerial.begin(115200);\ncamera_config_t config;\nconfig.ledc_channel = LEDC_CHANNEL_0;\nconfig.ledc_timer = LEDC_TIMER_0;\nconfig.pin_d0 = Y2_GPIO_NUM;\nconfig.pin_d1 = Y3_GPIO_NUM;\nconfig.pin_d2 = Y4_GPIO_NUM;\nconfig.pin_d3 = Y5_GPIO_NUM;\nconfig.pin_d4 = Y6_GPIO_NUM;\nconfig.pin_d5 = Y7_GPIO_NUM;\nconfig.pin_d6 = Y8_GPIO_NUM;\nconfig.pin_d7 = Y9_GPIO_NUM;\nconfig.pin_xclk = XCLK_GPIO_NUM;\nconfig.pin_pclk = PCLK_GPIO_NUM;\nconfig.pin_vsync = VSYNC_GPIO_NUM;\nconfig.pin_href = HREF_GPIO_NUM;\nconfig.pin_sscb_sda = SIOD_GPIO_NUM;\nconfig.pin_sscb_scl = SIOC_GPIO_NUM;\nconfig.pin_pwdn = PWDN_GPIO_NUM;\nconfig.pin_reset = RESET_GPIO_NUM;\nconfig.xclk_freq_hz = 20000000;\nconfig.pixel_format = PIXFORMAT_JPEG; \nif(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n} else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n}\nesp_err_t err = esp_camera_init(&config);\nif (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n}\nif(!SD_MMC.begin()){\n Serial.println("SD Card Mount Failed");\n return;\n}\nuint8_t cardType = SD_MMC.cardType();\nif(cardType == CARD_NONE){\n Serial.println("No SD Card attached");\n return;\n}\ncamera_fb_t * fb = NULL;\nfb = esp_camera_fb_get();\nif(!fb) {\n Serial.println("Camera capture failed");\n return;\n}\nEEPROM.begin(EEPROM_SIZE);\npictureNumber = EEPROM.read(0) + 1;\nString path = "/picture" + String(pictureNumber) +".jpg";\nfs::FS &fs = SD_MMC; \nSerial.printf("Picture file name: %s\\n", path.c_str());\nFile file = fs.open(path.c_str(), FILE_WRITE);\nif(!file){\n Serial.println("Failed to open file in writing mode");\n} \nelse {\n file.write(fb->buf, fb->len);\n Serial.printf("Saved file to path: %s\\n", path.c_str());\n EEPROM.write(0, pictureNumber);\n EEPROM.commit();\n}\nfile.close();\nesp_camera_fb_return(fb); \npinMode(4, OUTPUT);\ndigitalWrite(4, LOW);\nrtc_gpio_hold_en(GPIO_NUM_4);\n'},Br=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_click"+e]="table_"+e+".onSelectChange([](int index, bool selected) {\n "+t+"\n });\n";return""},Ur=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_order"+e]="table_"+e+".onOrderChange([](int indexFrom, int indexTo) {\n "+t+"\n });\n";return""},Wr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i=f.valueToCode(this,"name",f.ORDER_ATOMIC);return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","table_"+e+".addRow(rowIndex_"+e+", "+i+", "+t+");\ntable_"+e+".pickRow(rowIndex_"+e+");\nrowIndex_"+e+"++;\n"},Hr=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO"),i=f.statementToCode(this,"DO2");return f.definitions_.include_IRremote="#include \n",f.definitions_.var_declare_irProtocolList='const String IR_PROTOCOL_TYPE[] = {\n "UNKNOWN",\n "PULSE_DISTANCE",\n "PULSE_WIDTH",\n "DENON",\n "DISH",\n "JVC",\n "LG",\n "LG2",\n "NEC",\n "PANASONIC",\n "KASEIKYO",\n "KASEIKYO_JVC",\n "KASEIKYO_DENON",\n "KASEIKYO_SHARP",\n "KASEIKYO_MITSUBISHI",\n "RC5",\n "RC6",\n "SAMSUNG",\n "SHARP",\n "SONY",\n "ONKYO",\n "APPLE",\n "BOSEWAVE",\n "LEGO_PF",\n "MAGIQUEST",\n "WHYNTER"\n};',f.definitions_["var_declare_irrecv_"+e]=`IRrecv irrecv_${e}(${e});\n`,f.setups_["setup_ir_recv_"+e]=`irrecv_${e}.enableIRIn();`,`if (irrecv_${e}.decode()) {\n struct IRData *pIrData = &irrecv_${e}.decodedIRData;\n long ir_item = pIrData->decodedRawData;\n String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol];\n Serial.print("IR TYPE:" + irProtocol + "\\tVALUE:");\n Serial.println(ir_item, HEX);\n irrecv_${e}.resume();\n${t}\n} else {\n${i}\n}\n`},zr=function(x,f){return f.definitions_.include_IRremote="#include ","irrecv_"+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+".enableIRIn();\n"},Kr=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"data",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"bits",f.ORDER_ATOMIC)||"0";return`irsend_${e}.send${this.getFieldValue("TYPE")}(${t},${i});\n`},Zr=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_recv"+e]="IRrecv irrecv_"+e+"("+e+");\ndecode_results results_"+e+";\n",f.setups_.setup_serial_Serial||(f.setups_.setup_serial_Serial="Serial.begin("+z.Profile.default.serial+");"),f.setups_["setup_ir_recv_"+e]="irrecv_"+e+".enableIRIn();\n";var t="if (irrecv_"+e+".decode(&results_"+e+")) {\n";t+=" dumpRaw(&results_"+e+");\n",t+=" irrecv_"+e+".resume();\n",t+="}\n";return f.definitions_.dumpRaw='void dumpRaw(decode_results *results) {\n int count = results->rawlen;\n Serial.print("RawData (");\n Serial.print(count, DEC);\n Serial.print("): ");\n for (int i = 0; i < count; i++) {\n Serial.print(results->rawbuf[i]*MICROS_PER_TICK, DEC);\n if(i!=count-1){\n Serial.print(",");\n }\n }\n Serial.println("");\n}\n',t},jr=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"length",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"freq",f.ORDER_ATOMIC)||"0",n="unsigned int buf_raw["+t+"]={"+this.getFieldValue("TEXT")+"};\n";return n+=`irsend_${e}.sendRaw(buf_raw,${t},${i});\n`},Jr=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},qr=function(x,f){f.definitions_.include_Wire="#include \n";return["Wire.read()",f.ORDER_ATOMIC]},Qr=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n"},$r=function(x,f){var e=this.getFieldValue("SDA");return f.definitions_.include_SPI="#include ",f.definitions_.include_RFID="#include ",f.definitions_.var_declare_RFID="RFID rfid("+e+",5);",f.definitions_["var_declare__i and tmp"]="unsigned char i,tmp;",f.definitions_.var_declare__status="unsigned char status;",f.definitions_.var_declare__strmax="unsigned char str[MAX_LEN];",f.definitions_.var_declare__RC_size="unsigned char RC_size;",f.definitions_.var_declare__blockAddr="unsigned char blockAddr; //选择操作的块地址0~63",f.definitions_.define_1="//4字节卡序列号,第5字节为校验字节",f.definitions_.define_2="unsigned char serNum[5];",f.definitions_.define_3="//写卡数据",f.definitions_.define_5="//原扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_6="unsigned char sectorKeyA[16][16] = {",f.definitions_.define_7=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_8=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_9=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.definitions_.define_10="//新扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_11="unsigned char sectorNewKeyA[16][16] = {",f.definitions_.define_12=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_13=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_14=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_output_2="SPI.begin();",f.setups_.setup_output_3="rfid.init();",""},xu=function(x,f){var e=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(e=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+e),"if(rfid.isCard()){\n"+e+"}\n"},fu=function(x,f){var e="RFID_readcardnum",t="String "+e+"(){\n rfid.readCardSerial();\n String stringserNum = String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum;\n}\n";return f.definitions_[e]=t,[e+"()",f.ORDER_ATOMIC]},eu=function(x,f){var e=f.valueToCode(this,"address1",f.ORDER_ATOMIC),t="RFID_writecarddata",i="void "+t+'(int ad2){\n rfid.readCardSerial();\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n //写数据卡\n blockAddr = ad2;\n if(rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK){\n //写数据\n status = rfid.write(blockAddr, sectorKeyA[blockAddr/4]);\n Serial.print("set the new card password, and can modify the data of the Sector: ");\n Serial.println(blockAddr/4,DEC);\n blockAddr=blockAddr-3;\n status=rfid.write(blockAddr,(unsigned char*)'+this.getFieldValue("data1")+');\n if(status == MI_OK){\n Serial.println("Write card OK!");\n }\n }\n}\n';return f.definitions_[t]=i,t+"("+e+");\n"},tu=function(x,f){var e=f.valueToCode(this,"address",f.ORDER_ATOMIC),t="RFID_readcarddata",i="String "+t+'(int ad3){\n //读卡\n blockAddr =ad3;\n status = rfid.auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA[blockAddr/4], rfid.serNum);\n\tif(status == MI_OK){ //认证\n //读数据\n if(rfid.read(blockAddr, str) == MI_OK)\n {\n Serial.print("Read from the card ,the data is : ");\n Serial.println((char *)str);\n }\n }\n rfid.halt();\n String stringstr((char*)str);\n return stringstr;\n}\n';return f.definitions_[t]=i,[t+"("+e+")",f.ORDER_ATOMIC]},iu=function(x,f){var e="RFID_off",t="void "+e+"() {\n\n rfid.halt(); \n}\n";return f.definitions_[e]=t,e+"();\n"},nu=function(x,f){var e="RFID_readcardnum",t="String "+e+"() {\n\n rfid.readCardSerial(); \n String stringserNum=String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum; \n}\n";f.definitions_[e]=t;var i=f.valueToCode(this,"uid_",f.ORDER_NONE)||"false",n=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(n=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n),"false"!=i?0===i.indexOf('"')?"if (strcmp(RFID_readcardnum().c_str(),"+i+")==0) {\n"+n+"}\n":"if (strcmp(RFID_readcardnum().c_str(),"+i+".c_str())==0) {\n"+n+"}\n":""},su=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"PIN_SDA",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN_RST",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_MFRC522="#include ",f.definitions_["var_declare_"+e]="MFRC522 "+e+"("+t+", "+i+");",f.setups_.setup_spi="SPI.begin();",f.setups_["setup_mfc522_"+e]=e+".PCD_Init();";return""},au=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.statementToCode(this,"DO");return f.definitions_.function_MFRC522_IsNewCard="boolean MFRC522_IsNewCard(MFRC522 *_name){\n if(!_name->PICC_IsNewCardPresent())\n return false;\n if(!_name->PICC_ReadCardSerial())\n return false;\n return true;\n}\n","if(MFRC522_IsNewCard(&"+e+")){\n"+(""!=t?t:"")+" "+e+".PICC_HaltA();\n "+e+".PCD_StopCrypto1();\n}\n"},cu=function(x,f){var e=this.getFieldValue("rfid_name");return f.definitions_.function_MFRC522_ReadCardUID='String MFRC522_ReadCardUID(MFRC522 *_name){\n String _CardUID = "";\n for (byte _i = 0; _i < _name->uid.size; _i++){\n if(_name->uid.uidByte[_i] < 0x10)\n _CardUID += "0";\n _CardUID += String(_name->uid.uidByte[_i], HEX);\n }\n return _CardUID;\n}\n',["MFRC522_ReadCardUID(&"+e+")",f.ORDER_ATOMIC]},lu=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_WriteCard='boolean MFRC522_WriteCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n _status = _name->MIFARE_Write(_block, _buffer, _length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Write() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Write() success;"));\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_WriteCard(&"+e+", "+t+", "+i+", "+n+");\n"},du=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_ReadCard='boolean MFRC522_ReadCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n if(_length < 18){\n byte _Read_buffer[18];\n byte _Read_buffer_length = 18;\n _status = _name->MIFARE_Read(_block, _Read_buffer, &_Read_buffer_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n for(byte _i = 0; _i < _length; _i++)\n _buffer[_i] = _Read_buffer[_i];\n }\n else{\n _status = _name->MIFARE_Read(_block, _buffer, &_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_ReadCard(&"+e+", "+t+", "+i+", "+n+");\n"},pu=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";return""},ou=function(x,f){f.definitions_.include_Wire="#include ";var e=f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC);f.setups_.setup_i2c="Wire.begin("+e+");";return""},ru=function(x,f){return f.definitions_.include_Wire="#include ","Wire.beginTransmission("+f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC)+");\n"+f.statementToCode(this,"transmission_data")+"Wire.endTransmission();\n"},uu=function(x,f){return f.definitions_.include_Wire="#include ","Wire.write("+f.valueToCode(this,"i2c_write_data",f.ORDER_ATOMIC)+");\n"},_u=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+f.valueToCode(this,"array",f.ORDER_ATOMIC)+","+(f.valueToCode(this,"length",f.ORDER_ATOMIC)||"1")+");\n"},hu=function(x,f){f.definitions_.include_Wire="#include \n";var e=this.workspace.getAllBlocks(),t=0;for(t=0;t\n",f.setups_.setup_wire_begin="Wire.begin();";return["howMany",f.ORDER_ATOMIC]},Iu=function(x,f){return["Wire.read()",f.ORDER_ATOMIC]},Au=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();";var e=f.valueToCode(this,"pin",f.ORDER_ATOMIC),t=f.valueToCode(this,"value",f.ORDER_ATOMIC);f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);";var i="digitalWrite("+e+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+e+", HIGH);\n"},gu=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="pinMode(12, OUTPUT);\n SPCR |= _BV(SPE);";return""},Eu=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},Mu=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_wire_begin="Wire.begin();";var e=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0",t="Wire.beginTransmission("+e+");\n";return t+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.requestFrom("+e+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.endTransmission();\n"},Tu=function(x,f){f.definitions_.include_Wire="#include \n";var e=f.valueToCode(this,"onReceive_length",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO");f.definitions_.function_receiveEvent="void receiveEvent(int "+e+")\n{ "+t+"\n}\n",f.setups_.setup_i2c_receiveEvent="Wire.onReceive(receiveEvent);";return""},mu=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_i2c_slave="Wire.setClock(400000);",f.setups_.setup_i2c_onRequest="Wire.onRequest(i2cRequestEvent);";var e="i2cRequestEvent",t="void "+e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},Cu=function(x,f){return f.definitions_.include_Wire="#include \n","Wire.requestFrom("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n"},Ou=function(x,f){var e=f.valueToCode(this,"spi_slave_pin",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();",f.setups_.setup_spi_divider="SPI.setClockDivider(SPI_CLOCK_DIV8);",f.setups_["setup_spi_pin_"+e]="digitalWrite("+e+", HIGH);";return""},Su=function(x,f){var e=f.valueToCode(this,"slave_pin",f.ORDER_ATOMIC);return"digitalWrite("+e+", LOW);\n"+f.statementToCode(this,"transfer_data")+"digitalWrite("+e+", HIGH);\n"},Ru=function(x,f){return"SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+");\n"},Du=function(x,f){return["SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Nu=function(x,f){var e=f.statementToCode(this,"slave_interrupt_data");f.definitions_.function_ISR="ISR(SPI_STC_vect)\n{\n"+e+"\n}\n",f.setups_.setup_spi_interrupt="SPI.attachInterrupt();";return""},Lu=function(x,f){f.definitions_.function_SPI_SlaveReceive="char SPI_SlaveReceive()\n{\n while(!(SPSR&(1<= ":" <= ")+i+"; "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":n.match(/^-?\d+(\.\d+)?$/)?"for (int "+e+" = ("+t+"); "+e+(n<0?" >= ":" <= ")+"("+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":"for (int "+e+" = ("+t+"); ("+i+">="+t+")?("+e+"<="+i+"):("+e+">="+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n"},wu=function(x,f){var e=f.valueToCode(this,"BOOL",f.ORDER_NONE)||"false",t=f.statementToCode(this,"DO");return f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),"UNTIL"==this.getFieldValue("MODE")&&(e.match(/^\w+$/)||(e="("+e+")"),e="!"+e),"while ("+e+") {\n"+t+"}\n"},Yu=function(){switch(this.getFieldValue("FLOW")){case"BREAK":return"break;\n";case"CONTINUE":return"continue;\n"}throw"Unknown flow statement."},Vu=function(x,f){var e=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"1000";return this.getFieldValue("UNIT")+"("+e+");\n"},ku=function(x,f){return[this.getFieldValue("UNIT")+"()",f.ORDER_ATOMIC]},Xu=function(x,f){f.definitions_.include_MsTimer2="#include ";var e=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),t="msTimer2_func",i="void "+t+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[t]=i,"MsTimer2::set("+e+", "+t+");\n"},Gu=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::start();\n"},Bu=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::stop();\n"},Uu=function(){return z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?"while(true) delay(1000);\n":"while(true);\n"},Wu=function(x,f){return f.definitions_.resetFunc="void(* resetFunc) (void) = 0;\n","resetFunc();\n"},Hu=function(){return"interrupts();\n"},zu=function(){return"noInterrupts();\n"},Ku=Vu,Zu=function(x,f){var e=this.getFieldValue("NO"),t=f.valueToCode(this,"timein",f.ORDER_ATOMIC),i="Simple_timer_"+e,n=f.statementToCode(this,"zxhs"),s="void "+i+"() {\n "+(n=n.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[i]=s,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;",f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},ju=function(x,f){var e=f.statementToCode(this,"input_data"),t=f.valueToCode(this,"select_data",f.ORDER_ATOMIC);if("false"==this.getFieldValue("type"))var i="do{\n"+e+"}while(!("+t+"));\n";else i="do{\n"+e+"}while("+t+");\n";return i},Ju=function(x,f){var e="super_delay_function"+this.getFieldValue("number"),t=f.statementToCode(this,"delay_function"),i="void "+e+"() {\n "+(t=t.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[e]=i,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;","timer.run();\n"},qu=function(x,f){var e=this.getFieldValue("number");return"timer.setTimer("+f.valueToCode(this,"time_interval",f.ORDER_ATOMIC)+", super_delay_function"+e+", "+f.valueToCode(this,"frequency",f.ORDER_ATOMIC)+");\n"},Qu=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("SCL"),n=this.getFieldValue("SDA"),s=z.JSFuncs.getPlatform(),a=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0x27";return n==z.Profile.default.SDA[0][1]&&i==z.Profile.default.SCL[0][1]?(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_I2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+a+","+t+");"):s.match(RegExp(/AVR/))?(f.definitions_.include_SoftI2CMaster="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_SoftI2C_"+e]="LiquidCrystal_SoftI2C "+e+"("+a+","+t+","+i+","+n+");"):(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+a+","+t+");",f.setups_.setup_Wire="Wire.begin("+n+","+i+");"),f.setups_["setup_lcd_init_"+e]=e+".init();",f.setups_["setup_lcd_backlight_"+e]=e+".backlight();",""},$u=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("RS"),n=this.getFieldValue("EN"),s=this.getFieldValue("D4"),a=this.getFieldValue("D5"),c=this.getFieldValue("D6"),l=this.getFieldValue("D7");return f.definitions_.include_LiquidCrystal="#include ",f.definitions_["var_declare_LiquidCrystal"+e]="LiquidCrystal "+e+"("+i+","+n+","+s+","+a+","+c+","+l+");",f.setups_["setup_lcd_begin_"+e]=e+".begin("+t+");",""},x_=function(x,f){var e=this.getFieldValue("VAR"),t=e+".setCursor(0, 0);\n";return t+=e+".print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n",t+=e+".setCursor(0, 1);\n",t+=e+".print("+(f.valueToCode(this,"TEXT2",f.ORDER_ATOMIC)||'""')+");\n"},f_=function(x,f){var e=this.getFieldValue("VAR"),t=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'String("")',i=f.valueToCode(this,"row",f.ORDER_ATOMIC)||"1",n=e+".setCursor("+(f.valueToCode(this,"column",f.ORDER_ATOMIC)||"1")+"-1, "+i+"-1);\n";return n+=e+".print("+t+");\n"},e_=function(){return this.getFieldValue("VAR")+"."+this.getFieldValue("STAT")+"();\n"},t_=function(x,f){var e=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display."+e+"();\n"},i_=function(x,f){var e=f.valueToCode(this,"VALUE",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.displayString("+e+");\n"},n_=function(x,f){var e=this.getFieldValue("NO"),t=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.setDot("+e+","+t+");\n"};var s_,a_;const c_=function(x,f){a_=this.getFieldValue("CLK"),s_=this.getFieldValue("DIO");var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentTM1637="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentTM1637 "+e+"("+a_+","+s_+");",f.setups_["setup_"+e+".begin()"]=e+".begin();",""},l_=function(x,f){return(this.getFieldValue("NAME")||"display")+".print("+f.valueToCode(this,"VALUE",f.ORDER_ATOMIC)+");\n"},d_=function(x,f){var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentExtended="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentExtended "+e+"("+a_+","+s_+");",e+".printTime("+f.valueToCode(this,"hour",f.ORDER_ATOMIC)+","+f.valueToCode(this,"minute",f.ORDER_ATOMIC)+","+this.getFieldValue("STAT")+");\n"},p_=function(){var x=this.getFieldValue("STAT");return(this.getFieldValue("NAME")||"display")+"."+x+"();\n"},o_=function(x,f){return(this.getFieldValue("NAME")||"display")+".setBacklight("+f.valueToCode(this,"Brightness",f.ORDER_ATOMIC)+");\n"},r_=function(x,f){var e=this.getFieldValue("SDA"),t=this.getFieldValue("SCL"),i="myMatrix";return f.definitions_.include_Matrix="#include ",f.definitions_["var_declare"+i]="Matrix "+i+"("+e+","+t+");",f.setups_["setup_"+i]=i+".begin(0x70);",i+".clear();\n"},u_=function(x,f){var e=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),t=f.valueToCode(this,"hDisplays",f.ORDER_ATOMIC),i=f.valueToCode(this,"vDisplays",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Max72xxPanel="#include ",f.definitions_.var_declare_Max72xxPanel="Max72xxPanel myMatrix = Max72xxPanel("+e+","+t+","+i+");";return""},__=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("WRITE"),i=f.valueToCode(this,"XVALUE",f.ORDER_ASSIGNMENT),n=f.valueToCode(this,"YVALUE",f.ORDER_ASSIGNMENT),s="myMatrix",a=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);if("HT16K33"==e)var c=s+".drawPixel("+i+",7-"+n+","+a+");\n";else c=s+".drawPixel("+i+","+n+","+a+");\n";return"OFF"!==t&&(c+=s+".write();\n"),c},h_=function(x,f){return"myMatrix.scrollMessage("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+","+f.valueToCode(this,"Speed",f.ORDER_ATOMIC)+");\n"},F_=function(x,f){var e="myMatrix",t=this.getFieldValue("WRITE"),i=e+".setCursor(0, 0);\n";return i+=e+".print("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+");\n","OFF"!==t&&(i+=e+".write();\n"),i},I_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=this.getFieldValue("WRITE"),n=f.valueToCode(this,"NO",f.ORDER_ATOMIC),s=f.valueToCode(this,"LEDArray",f.ORDER_ASSIGNMENT);f.definitions_.var_declare_LEDArray="uint8_t LEDArray[8];";var a="";return a+="memcpy_P(&LEDArray, &"+s+", 8);\n",a+="for(int index_i=0; index_i<8; index_i++)\n",a+="{\n",a+=" for(int index_j="+n+"*8; index_j<"+n+"*8+8; index_j++)\n",a+=" {\n",a+=" if((LEDArray[index_i]&0x01)>0)\n","HT16K33"==e?(a+=" "+t+".drawPixel(index_j, index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, index_i,0);\n"):(a+=" "+t+".drawPixel(index_j, 7-index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, 7-index_i,0);\n"),a+=" LEDArray[index_i] = LEDArray[index_i]>>1;\n",a+=" } \n",a+="}\n","OFF"!==i&&(a+=t+".write();\n"),a},A_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][9-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+s,[e,f.ORDER_ATOMIC]},g_=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=7;n>=0;n--){for(var s="",a=7;a>=0;a--)s+=t[n][a];1==(s=parseInt(s,2).toString(16)).length&&(s="0"+s),i+="0x"+s+(0!==n?",":"")}return i+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+i,[e,f.ORDER_ATOMIC]},E_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);if("HT16K33"==e)var n=t+".setBrightness("+i+");\n";else n=t+".setIntensity("+i+");\n";return n},M_=function(){var x=this.getFieldValue("WRITE"),f="myMatrix",e=f+"."+this.getFieldValue("FILLSCREEN_TYPE")+";\n";return"OFF"!==x&&(e+=f+".write();\n"),e},T_=function(x,f){var e=this.getFieldValue("Rotation_TYPE");return"myMatrix.setRotation("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+e+");\n"},m_=function(x,f){return"myMatrix.setPosition("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+f.valueToCode(this,"X",f.ORDER_ATOMIC)+","+f.valueToCode(this,"Y",f.ORDER_ATOMIC)+");\n"},C_=function(){return"myMatrix.setRotation(4-"+this.getFieldValue("Rotation_TYPE")+");\n"},O_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};\n",f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},S_=function(x,f){var e=this.getFieldValue("img_"),t='"'+e+'"';t="{";for(var i=0;i<15;i+=2)t+="0x"+e.substr(i,2)+(14!=i?",":"");return t+="};\n",f.definitions_["matrix_img_"+e]="const uint8_t matrix_img_"+e+"[8] PROGMEM="+t,["matrix_img_"+e,f.ORDER_ATOMIC]},R_=function(){return"myMatrix.write();\n"},D_=function(x,f){var e=this.getFieldValue("OLED_TYPE"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("SDA"),s=this.getFieldValue("SCL"),a=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0x3C",c=z.JSFuncs.getPlatform();f.definitions_.include_U8g2lib="#include ",c.match(RegExp(/AVR/))?n==z.Profile.default.SDA[0][1]&&s==z.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);":n==z.Profile.default.SDA[0][1]&&s==z.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);",f.definitions_.include_Wire="#include ",f.setups_["setup_u8g2"+t]=t+".setI2CAddress("+a+"*2);\n "+t+".begin();";return""},N_=function(x,f){var e=this.getFieldValue("U8G2_TYPE_SPI"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("CLK"),s=this.getFieldValue("MOSI"),a=this.getFieldValue("CS"),c=this.getFieldValue("DC"),l=this.getFieldValue("RST");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+t]=t+".begin();",f.definitions_["var_declare_U8G2"+t]="SCK"==n&&"MOSI"==s?"U8G2_"+e+"_1_4W_HW_SPI "+t+"("+i+", "+a+", "+c+", "+l+");":"U8G2_"+e+"_1_4W_SW_SPI "+t+"("+i+", "+n+","+s+","+a+", "+c+", "+l+");";return""},L_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_HW_SPI "+e+"("+t+", "+i+", U8X8_PIN_NONE);";return""},P_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DB0"),n=this.getFieldValue("DB1"),s=this.getFieldValue("DB2"),a=this.getFieldValue("DB3"),c=this.getFieldValue("DB4"),l=this.getFieldValue("DB5"),d=this.getFieldValue("DB6"),p=this.getFieldValue("DB7"),o=this.getFieldValue("ENABLE"),r=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_8080 "+e+"("+t+", "+i+", "+n+", "+s+", "+a+", "+c+", "+l+", "+d+", "+p+", "+o+", U8X8_PIN_NONE, "+r+");";return""},y_=function(){return(this.getFieldValue("NAME")||"u8g2")+".clearDisplay();\n"},b_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("FACE_IMAGE"),s=n.indexOf(","),a="FACE_"+n.substring(0,s);return n=n.substring(s+1,n.length),f.libs_[a]="const static unsigned char "+a+"[] PROGMEM ={"+n+" };",e+".drawXBMP("+t+","+i+",89,64,"+a+");\n"},v_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("ICON_SIZE");return e+".setFontPosBottom();\n"+e+".setFont(u8g2_font_open_iconic_all_"+n+"x_t);\n"+e+".drawGlyph("+t+","+i+"+"+n+"*8,"+this.getFieldValue("ICON_IMAGE")+");\n"},w_=function(x,f){var e="";return e=e+(this.getFieldValue("NAME")||"u8g2")+".drawPixel("+(f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0")+");\n"},Y_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.statementToCode(this,"DO"),i="";return t&&(i=e+".firstPage();\ndo\n{\n"+t+"}while("+e+".nextPage());\n"),i},V_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",a=f.valueToCode(this,"bitmap_name",f.ORDER_ATOMIC),c="";return c=e+".drawXBMP("+t+", ",c+=i+", ",c+=n+", ",c+=s+", "+(a=a.replace(/"/g,""))+");\n"},k_=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t=this.getFieldValue("TEXT");return f.libs_[e]="const static unsigned char "+e+"[] PROGMEM ={"+t+" };",""},X_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawLine("+(f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_Y",f.ORDER_ATOMIC)||"0")+");\n"},G_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"LENGTH",f.ORDER_ATOMIC)||"0",s="";return s=e+".draw"+this.getFieldValue("TYPE")+"Line("+t+",",s+=i+",",s+=n+");\n"},B_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawTriangle("+(f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_Y",f.ORDER_ATOMIC)||"0")+");\n"},U_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",a="";return a=e+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+");\n"},W_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",a=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",c="";return c=e+"."+this.getFieldValue("TYPE")+"("+t+",",c+=i+",",c+=n+",",c+=s+",",c+=a+");\n"},H_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",s="";return s=e+"."+this.getFieldValue("TYPE")+"("+t+",",s+=i+",",s+=n+","+this.getFieldValue("OPT")+"); \n"},z_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS_X",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"RADIUS_Y",f.ORDER_ATOMIC)||"0",a="";return a=e+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+","+this.getFieldValue("OPT")+"); \n"},K_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||"0";f.setups_["setup_enableUTF8Print"+e]=e+".enableUTF8Print();\n";var s="";return s=e+".setCursor("+t+",",s+=i+"); \n",s+=e+".print("+n+"); \n"},Z_=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME"),e=this.getFieldValue("FONT_SIZE");return x+".setFont(u8g2_font_"+f+this.getFieldValue("FONT_STYLE")+e+"_tf);\n"+x+".setFontPosTop();\n"},j_=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME");return x+".setFont(u8g2_font_"+this.getFieldValue("FONT_SIZE")+f+");\n"+x+".setFontPosTop();\n"},J_=function(){var x=this.getFieldValue("NAME")||"u8g2";return x+".setFont(u8g2_font_unifont_t_chinese1);\n"+x+".setFontPosTop();\n"},q_=function(x,f){return(this.getFieldValue("NAME")||"u8g2")+".setContrast("+f.valueToCode(this,"Contrast",f.ORDER_ATOMIC)+");\n"},Q_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"str",f.ORDER_ATOMIC);return f.definitions_["getutf8width"+e]="int "+e+"_getUTF8Width(String str) {\n const char *string_variable = str.c_str();\n return "+e+".getUTF8Width(string_variable);\n}",[e+"_getUTF8Width(String("+t+"))",f.ORDER_ATOMIC]},$_=function(x,f){var e=this.getFieldValue("name"),t=this.getFieldValue("number"),i=f.valueToCode(this,"row",f.ORDER_ATOMIC),n=f.valueToCode(this,"column",f.ORDER_ATOMIC),s=f.valueToCode(this,"pattern",f.ORDER_ATOMIC);return f.setups_["setup_lcd_display_pattern"+t]=e+".createChar("+t+", "+s+");",e+".setCursor("+n+"-1, "+i+"-1);\n"+e+".write("+t+");\n"},xh=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<6;n++)t[i][6-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{0B"+t[8][5]+t[8][4]+t[8][3]+t[8][2]+t[8][1]+",0B"+t[7][5]+t[7][4]+t[7][3]+t[7][2]+t[7][1]+",0B"+t[6][5]+t[6][4]+t[6][3]+t[6][2]+t[6][1]+",0B"+t[5][5]+t[5][4]+t[5][3]+t[5][2]+t[5][1]+",0B"+t[4][5]+t[4][4]+t[4][3]+t[4][2]+t[4][1]+",0B"+t[3][5]+t[3][4]+t[3][3]+t[3][2]+t[3][1]+",0B"+t[2][5]+t[2][4]+t[2][3]+t[2][2]+t[2][1]+",0B"+t[1][5]+t[1][4]+t[1][3]+t[1][2]+t[1][1]+"};";return f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},fh=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=0;n>8)+((64512&x)>>5)+((248&x)>>3)}const th=function(x,f){const e=this.getFieldValue("CS"),t=this.getFieldValue("DC"),i=this.getFieldValue("RST"),n=this.getFieldValue("TYPE");let s=n.split("_")[0],a="";"ST7735_INITR_GREENTAB"===n?a="INITR_GREENTAB":"ST7735_INITR_REDTAB"===n?a="INITR_REDTAB":"ST7735_INITR_BLACKTAB"===n?a="INITR_BLACKTAB":"ST7735_160×80"===n?a="INITR_MINI160x80":"ST7735_160×128"===n?a="128, 160":"ST7789_240×135"===n?a="135, 240":"ST7789_240×240"===n?a="240, 240":"ST7789_320×240"===n?a="240, 320":"ST7796_480×320"===n&&(a=""),f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Adafruit_tft="#include ",f.definitions_.include_SPI="#include ",f.definitions_.var_declare_Adafruit_tft="Adafruit_"+s+" tft = Adafruit_"+s+"("+e+", "+t+", "+i+");",f.setups_.setup_tft_init="tft."+("ST7735"===s?"initR":"init")+"("+a+");",f.setups_.setup_tft_fillScreen="tft.fillScreen(0x0000);",f.definitions_.include_U8g2_for_Adafruit_GFX="#include ",f.definitions_.var_declare_U8G2_FOR_ADAFRUIT_GFX="U8G2_FOR_ADAFRUIT_GFX u8g2_for_adafruit_gfx;",f.setups_.setup_u8g2_for_adafruit_gfx="u8g2_for_adafruit_gfx.begin(tft);";return""};function ih(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}function nh(x){return x<16?"0x0"+x.toString(16).toUpperCase():"0x"+x.toString(16).toUpperCase()}function sh(x){let f=[];for(let e=0;e0?"0"==P?N+=" ":"1"==P&&(N+="0 "):L%(8*I)==0&&(N+="|\n|");for(m=0;m",f.definitions_.var_declare_EthernetClient="EthernetClient client;",["Ethernet.begin("+f.valueToCode(this,"MAC",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},kh=function(x,f){var e=this.getFieldValue("VAR1"),t=this.getFieldValue("VAR2"),i=this.getFieldValue("VAR3"),n=this.getFieldValue("VAR4"),s=this.getFieldValue("VAR5"),a=this.getFieldValue("VAR6");f.definitions_.var_declare_byte_mac="byte mac[] = {0x"+e+", 0x"+t+", 0x"+i+", 0x"+n+", 0x"+s+", 0x"+a+"};";return["mac",f.ORDER_ATOMIC]},Xh=function(x,f){return["Ethernet.localIP()",f.ORDER_ATOMIC]},Gh=function(x,f){var e=f.valueToCode(this,"PORT",f.ORDER_ATOMIC);return["client.connect("+f.quote_(this.getFieldValue("SERVER"))+","+e+")",f.ORDER_ATOMIC]},Bh=function(){return"client.stop();\n"},Uh=function(x,f){return["client.connected()",f.ORDER_ATOMIC]},Wh=function(x,f){return["client.available()",f.ORDER_ATOMIC]},Hh=function(x,f){return"client.print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},zh=function(x,f){return"client.println("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},Kh=function(x,f){return["(char)client.read()",f.ORDER_ATOMIC]},Zh=function(){return'client.println("GET '+this.getFieldValue("URL")+' HTTP/1.1");\nclient.println(F("Host: '+this.getFieldValue("SERVER")+'"));\nclient.println(F("Connection: close"));\nclient.println();\n'},jh=function(x,f){var e=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),t=f.valueToCode(this,"PWD",f.ORDER_ATOMIC);return f.definitions_.include_ESP8266WiFi="#include ",f.setups_.setup_WiFi_begin="WiFi.begin("+e+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},Jh=function(x,f){return["WiFi.status()",f.ORDER_ATOMIC]},qh=function(x,f){var e=z.JSFuncs.getPlatform(),t=this.getFieldValue("mode");return e.match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":e.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include "),"IP"==t?["WiFi.localIP()",f.ORDER_ATOMIC]:["WiFi.macAddress()",f.ORDER_ATOMIC]},Qh=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"timeZone",f.ORDER_ATOMIC),i=f.valueToCode(this,"Interval",f.ORDER_ATOMIC);return f.definitions_.include_TimeLib="#include ",f.definitions_.include_NtpClientLib="#include ",f.definitions_.var_declare_timeZone="int8_t timeZone = "+t+";",f.definitions_.var_declare_ntpServer="const PROGMEM char *ntpServer = "+e+";",f.setups_["setup_NTP.setInterval"]="NTP.setInterval ("+i+");",f.setups_["setup_NTP.setNTPTimeout"]="NTP.setNTPTimeout (1500);",f.setups_["setup_NTP.begin"]="NTP.begin (ntpServer, timeZone, false);",""},$h=function(x,f){return[this.getFieldValue("TIME_TYPE"),f.ORDER_ATOMIC]};var xF;const fF=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_port",f.ORDER_ATOMIC),i=f.valueToCode(this,"IOT_ID",f.ORDER_ATOMIC),n=f.valueToCode(this,"IOT_PWD",f.ORDER_ATOMIC);(xF=f.valueToCode(this,"Client_ID",f.ORDER_ATOMIC)).length>2&&(xF+="/"),xF=xF.replace(/"/g,""),f.definitions_.include_Adafruit_MQTT='#include "Adafruit_MQTT.h"',f.definitions_.include_Adafruit_MQTT_Client='#include "Adafruit_MQTT_Client.h"',f.definitions_.include__WiFiClient="WiFiClient client;",f.definitions_.var_declare_Adafruit_MQTT_Client="Adafruit_MQTT_Client mqtt(&client, "+e+", "+t+", "+i+", "+n+");",z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))&&(f.definitions_["var_declare_ MQTT_connect();"]="void MQTT_connect();");var s="MQTT_connect",a="void "+s+'() {\n int8_t ret;\n if (mqtt.connected()) {\n return;\n }\n Serial.print("Connecting to MQTT... ");\n uint8_t retries = 3;\n while ((ret = mqtt.connect()) != 0) {\n Serial.println(mqtt.connectErrorString(ret));\n Serial.println("Retrying MQTT connection in 5 seconds...");\n mqtt.disconnect();\n delay(5000);\n retries--;\n if (retries == 0) {\n while (1);\n }\n }\n Serial.println("MQTT Connected!");\n}\n';return f.definitions_["var_declare_"+s]=a,s+"();\n"},eF=function(){return"MQTT_connect();\n"},tF=function(x,f){var e=this.getFieldValue("Topic"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i="MQTT_Topic_"+e;return f.definitions_["var_declare_Adafruit_MQTT_Publish"+i]="Adafruit_MQTT_Publish "+i+' = Adafruit_MQTT_Publish(&mqtt, "'+xF+e+'");',i+".publish("+t+");\n "},iF=function(x,f){var e=this.getFieldValue("Topic_0");return e&&(e=e.replace(/"/g,"")),["(char *)"+("MQTT_Topic_"+e)+".lastread",f.ORDER_ATOMIC]},nF=function(x,f){var e=0;(s=this.getFieldValue("Topic_0"))&&(s=s.replace(/"/g,""));var t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),n="if (subscription ==&"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }";for(f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+xF+"/"+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+xF+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",e=1;e<=this.elseifCount_;e++){var s;(s=this.getFieldValue("Topic_"+e))&&(s=s.replace(/"/g,"")),t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+xF+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+xF+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",n+=" else if (subscription == &"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }"}return this.elseCount_&&(n+=" else {\n "+(i=f.statementToCode(this,"ELSE"))+"\n }"),"Adafruit_MQTT_Subscribe *subscription;\nwhile ((subscription = mqtt.readSubscription(5000))) {\n "+n+"\n}\n"},sF=function(x,f){var e=f.valueToCode(this,"api",f.ORDER_ATOMIC),t=f.statementToCode(this,"success");t=t.replace(/(^\s*)|(\s*$)/g,"");var i=f.statementToCode(this,"failure");return i=i.replace(/(^\s*)|(\s*$)/g,""),f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266HTTPClient="#include ","if (WiFi.status() == WL_CONNECTED) {\nHTTPClient http;\nhttp.begin("+e+");\nint httpCode = http.GET();\nif (httpCode > 0) {\nString Request_result = http.getString();\n"+t+"\n}\nelse {\n"+i+"\n} \nhttp.end();\n}\n"},aF=function(x,f){return"SmartConfig"==this.getFieldValue("MODE")?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266WiFiMulti="#include ",f.definitions_.var_declare_ESP8266WiFiMulti=" ESP8266WiFiMulti wifiMulti;",f.setups_.setup_WiFi_Smartconfig='Serial.println("Wait for Smartconfig");\nwifiMulti.run();\nWiFi.setAutoConnect(true);\nif (WiFi.status() == WL_CONNECTED) {\nSerial.println("WiFi connected");\nSerial.println("IP address: ");\nSerial.println(WiFi.localIP());\n }\nelse{\n WiFi.mode(WIFI_STA);\n WiFi.beginSmartConfig();\n while(!WiFi.smartConfigDone()){\nSerial.print(".");\ndelay(500);\n}\nSerial.println("SmartConfig Success");\nSerial.printf("SSID:%s", WiFi.SSID().c_str());\nSerial.printf("PSW:%s", WiFi.psk().c_str());\nwifiMulti.addAP(WiFi.SSID().c_str(),WiFi.psk().c_str());\n}\n',""):(f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.setups_.setup_WiFi_mode="WiFi.mode(WIFI_STA);",f.setups_.setup_WiFiManager="WiFiManager wm;",f.setups_.setup_bool_res="bool res;",f.setups_.setup_wifiManagerautoConnect="res=wm.autoConnect();","")},cF=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK",f.ORDER_ATOMIC),n=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),a=f.valueToCode(this,"IP",f.ORDER_ATOMIC),c=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);n=n.replace(new RegExp(/\./g),","),s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),null!=z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);","STA"==e?(f.definitions_.include_WiFiUdp="#include ",f.definitions_.define_STASSID="#define STASSID "+t,f.definitions_.define_STAPSK="#define STAPSK "+i,f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+c+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+c+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_sta='WiFi.mode(WIFI_STA);\n WiFi.begin(STASSID, STAPSK);\n while(WiFi.status() != WL_CONNECTED){\n Serial.print(".");\n delay(500);\n }\n delay(500);\n Serial.print("Connected! IP address: ");\n Serial.println(WiFi.localIP());\n Serial.printf("UDP server on port ", localPort);\n Udp.begin(localPort);'):(f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+i+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+c+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+c+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_ap='WiFi.mode(WIFI_AP);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());');return""},lF=function(x,f){var e=f.valueToCode(this,"SSID1",f.ORDER_ATOMIC),t=f.valueToCode(this,"SSID2",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK1",f.ORDER_ATOMIC),n=f.valueToCode(this,"PSK2",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),a=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),c=f.valueToCode(this,"IP",f.ORDER_ATOMIC),l=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),c=c.replace(new RegExp(/\./g),","),f.definitions_.define_STASSID="#define STASSID "+e,f.definitions_.define_STAPSK="#define STAPSK "+i,null!=z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+n+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+s+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+a+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+c+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wifi_ap_and_sta='WiFi.mode(WIFI_AP_STA);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n WiFi.begin(STASSID, STAPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';return""},dF=function(x,f){var e=f.valueToCode(this,"input_data",f.ORDER_ATOMIC)||"COM",t=f.statementToCode(this,"do");return'int packetSize = Udp.parsePacket();\nif (packetSize) {\n Serial.printf("Received %d bytes from %s, port %d\\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());\n int len = Udp.read(incomingPacket, 536);\n if (len > 0) {\n incomingPacket[len] = 0;\n Serial.printf("UDP packet contents: %s\\n", incomingPacket);\n String '+e+" = incomingPacket;\n"+(""!=(t=t.replace(/(^\s*)|(\s*$)/g,""))?" "+t.replace(new RegExp(/\n/g),"\n ")+"\n":"")+" }\n}\n"},pF=function(x,f){return"Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());\nUdp.write("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\nUdp.endPacket();\n"};var oF={北京:"101010100",海淀:"101010200",朝阳:"101010300",顺义:"101010400",怀柔:"101010500",通州:"101010600",昌平:"101010700",延庆:"101010800",丰台:"101010900",石景山:"101011000",大兴:"101011100",房山:"101011200",密云:"101011300",门头沟:"101011400",平谷:"101011500",八达岭:"101011600",佛爷顶:"101011700",汤河口:"101011800",密云上甸子:"101011900",斋堂:"101012000",霞云岭:"101012100",上海:"101020100",闵行:"101020200",宝山:"101020300",川沙:"101020400",嘉定:"101020500",南汇:"101020600",金山:"101020700",青浦:"101020800",松江:"101020900",奉贤:"101021000",崇明:"101021100",陈家镇:"101021101",引水船:"101021102",徐家汇:"101021200",浦东:"101021300",天津:"101030100",武清:"101030200",宝坻:"101030300",东丽:"101030400",西青:"101030500",北辰:"101030600",宁河:"101030700",汉沽:"101030800",静海:"101030900",津南:"101031000",塘沽:"101031100",大港:"101031200",平台:"101031300",蓟县:"101031400",重庆:"101040100",永川:"101040200",合川:"101040300",南川:"101040400",江津:"101040500",万盛:"101040600",渝北:"101040700",北碚:"101040800",巴南:"101040900",长寿:"101041000",黔江:"101041100",万州天城:"101041200",万州龙宝:"101041300",涪陵:"101041400",开县:"101041500",城口:"101041600",云阳:"101041700",巫溪:"101041800",奉节:"101041900",巫山:"101042000",潼南:"101042100",垫江:"101042200",梁平:"101042300",忠县:"101042400",石柱:"101042500",大足:"101042600",荣昌:"101042700",铜梁:"101042800",璧山:"101042900",丰都:"101043000",武隆:"101043100",彭水:"101043200",綦江:"101043300",酉阳:"101043400",金佛山:"101043500",秀山:"101043600",沙坪坝:"101043700",哈尔滨:"101050101",双城:"101050102",呼兰:"101050103",阿城:"101050104",宾县:"101050105",依兰:"101050106",巴彦:"101050107",通河:"101050108",方正:"101050109",延寿:"101050110",尚志:"101050111",五常:"101050112",木兰:"101050113",齐齐哈尔:"101050201",讷河:"101050202",龙江:"101050203",甘南:"101050204",富裕:"101050205",依安:"101050206",拜泉:"101050207",克山:"101050208",克东:"101050209",泰来:"101050210",牡丹江:"101050301",海林:"101050302",穆棱:"101050303",林口:"101050304",绥芬河:"101050305",宁安:"101050306",东宁:"101050307",佳木斯:"101050401",汤原:"101050402",抚远:"101050403",桦川:"101050404",桦南:"101050405",同江:"101050406",富锦:"101050407",绥化:"101050501",肇东:"101050502",安达:"101050503",海伦:"101050504",明水:"101050505",望奎:"101050506",兰西:"101050507",青冈:"101050508",庆安:"101050509",绥棱:"101050510",黑河:"101050601",嫩江:"101050602",孙吴:"101050603",逊克:"101050604",五大连池:"101050605",北安:"101050606",大兴安岭:"101050701",塔河:"101050702",漠河:"101050703",呼玛:"101050704",呼中:"101050705",新林:"101050706",阿木尔:"101050707",加格达奇:"101050708",伊春:"101050801",乌伊岭:"101050802",五营:"101050803",铁力:"101050804",嘉荫:"101050805",大庆:"101050901",林甸:"101050902",肇州:"101050903",肇源:"101050904",杜蒙:"101050905",七台河:"101051002",勃利:"101051003",鸡西:"101051101",虎林:"101051102",密山:"101051103",鸡东:"101051104",鹤岗:"101051201",绥滨:"101051202",萝北:"101051203",双鸭山:"101051301",集贤:"101051302",宝清:"101051303",饶河:"101051304",长春:"101060101",农安:"101060102",德惠:"101060103",九台:"101060104",榆树:"101060105",双阳:"101060106",吉林:"101060201",舒兰:"101060202",永吉:"101060203",蛟河:"101060204",磐石:"101060205",桦甸:"101060206",烟筒山:"101060207",延吉:"101060301",敦化:"101060302",安图:"101060303",汪清:"101060304",和龙:"101060305",天池:"101060306",龙井:"101060307",珲春:"101060308",图们:"101060309",罗子沟:"101060311",延边:"101060312",四平:"101060401",双辽:"101060402",梨树:"101060403",公主岭:"101060404",伊通:"101060405",孤家子:"101060406",通化:"101060501",梅河口:"101060502",柳河:"101060503",辉南:"101060504",集安:"101060505",通化县:"101060506",白城:"101060601",洮南:"101060602",大安:"101060603",镇赉:"101060604",通榆:"101060605",辽源:"101060701",东丰:"101060702",松原:"101060801",乾安:"101060802",前郭:"101060803",长岭:"101060804",扶余:"101060805",白山:"101060901",靖宇:"101060902",临江:"101060903",东岗:"101060904",长白:"101060905",沈阳:"101070101",苏家屯:"101070102",辽中:"101070103",康平:"101070104",法库:"101070105",新民:"101070106",于洪:"101070107",新城子:"101070108",大连:"101070201",瓦房店:"101070202",金州:"101070203",普兰店:"101070204",旅顺:"101070205",长海:"101070206",庄河:"101070207",皮口:"101070208",海洋岛:"101070209",鞍山:"101070301",台安:"101070302",岫岩:"101070303",海城:"101070304",抚顺:"101070401",清原:"101070403",章党:"101070404",本溪:"101070501",本溪县:"101070502",草河口:"101070503",桓仁:"101070504",丹东:"101070601",凤城:"101070602",宽甸:"101070603",东港:"101070604",东沟:"101070605",锦州:"101070701",凌海:"101070702",北宁:"101070703",义县:"101070704",黑山:"101070705",北镇:"101070706",营口:"101070801",大石桥:"101070802",盖州:"101070803",阜新:"101070901",彰武:"101070902",辽阳:"101071001",辽阳县:"101071002",灯塔:"101071003",铁岭:"101071101",开原:"101071102",昌图:"101071103",西丰:"101071104",建平:"101071202",凌源:"101071203",喀左:"101071204",北票:"101071205",羊山:"101071206",建平县:"101071207",盘锦:"101071301",大洼:"101071302",盘山:"101071303",葫芦岛:"101071401",建昌:"101071402",绥中:"101071403",兴城:"101071404",呼和浩特:"101080101",土默特左旗:"101080102",托克托:"101080103",和林格尔:"101080104",清水河:"101080105",呼和浩特市郊区:"101080106",武川:"101080107",包头:"101080201",白云鄂博:"101080202",满都拉:"101080203",土默特右旗:"101080204",固阳:"101080205",达尔罕茂明安联合旗:"101080206",石拐:"101080207",乌海:"101080301",集宁:"101080401",卓资:"101080402",化德:"101080403",商都:"101080404",希拉穆仁:"101080405",兴和:"101080406",凉城:"101080407",察哈尔右翼前旗:"101080408",察哈尔右翼中旗:"101080409",察哈尔右翼后旗:"101080410",四子王旗:"101080411",丰镇:"101080412",通辽:"101080501",舍伯吐:"101080502",科尔沁左翼中旗:"101080503",科尔沁左翼后旗:"101080504",青龙山:"101080505",开鲁:"101080506",库伦旗:"101080507",奈曼旗:"101080508",扎鲁特旗:"101080509",高力板:"101080510",巴雅尔吐胡硕:"101080511",通辽钱家店:"101080512",赤峰:"101080601",赤峰郊区站:"101080602",阿鲁科尔沁旗:"101080603",浩尔吐:"101080604",巴林左旗:"101080605",巴林右旗:"101080606",林西:"101080607",克什克腾旗:"101080608",翁牛特旗:"101080609",岗子:"101080610",喀喇沁旗:"101080611",八里罕:"101080612",宁城:"101080613",敖汉旗:"101080614",宝过图:"101080615",鄂尔多斯:"101080701",达拉特旗:"101080703",准格尔旗:"101080704",鄂托克前旗:"101080705",河南:"101080706",伊克乌素:"101080707",鄂托克旗:"101080708",杭锦旗:"101080709",乌审旗:"101080710",伊金霍洛旗:"101080711",乌审召:"101080712",东胜:"101080713",临河:"101080801",五原:"101080802",磴口:"101080803",乌拉特前旗:"101080804",大佘太:"101080805",乌拉特中旗:"101080806",乌拉特后旗:"101080807",海力素:"101080808",那仁宝力格:"101080809",杭锦后旗:"101080810",巴盟农试站:"101080811",锡林浩特:"101080901",朝克乌拉:"101080902",二连浩特:"101080903",阿巴嘎旗:"101080904",伊和郭勒:"101080905",苏尼特左旗:"101080906",苏尼特右旗:"101080907",朱日和:"101080908",东乌珠穆沁旗:"101080909",西乌珠穆沁旗:"101080910",太仆寺旗:"101080911",镶黄旗:"101080912",正镶白旗:"101080913",正兰旗:"101080914",多伦:"101080915",博克图:"101080916",乌拉盖:"101080917",白日乌拉:"101080918",那日图:"101080919",呼伦贝尔:"101081000",海拉尔:"101081001",小二沟:"101081002",阿荣旗:"101081003",莫力达瓦旗:"101081004",鄂伦春旗:"101081005",鄂温克旗:"101081006",陈巴尔虎旗:"101081007",新巴尔虎左旗:"101081008",新巴尔虎右旗:"101081009",满洲里:"101081010",牙克石:"101081011",扎兰屯:"101081012",额尔古纳:"101081014",根河:"101081015",图里河:"101081016",乌兰浩特:"101081101",阿尔山:"101081102",科尔沁右翼中旗:"101081103",胡尔勒:"101081104",扎赉特旗:"101081105",索伦:"101081106",突泉:"101081107",霍林郭勒:"101081108",阿拉善左旗:"101081201",阿拉善右旗:"101081202",额济纳旗:"101081203",拐子湖:"101081204",吉兰太:"101081205",锡林高勒:"101081206",头道湖:"101081207",中泉子:"101081208",巴彦诺尔贡:"101081209",雅布赖:"101081210",乌斯太:"101081211",孪井滩:"101081212",石家庄:"101090101",井陉:"101090102",正定:"101090103",栾城:"101090104",行唐:"101090105",灵寿:"101090106",高邑:"101090107",深泽:"101090108",赞皇:"101090109",无极:"101090110",平山:"101090111",元氏:"101090112",赵县:"101090113",辛集:"101090114",藁城:"101090115",晋洲:"101090116",新乐:"101090117",保定:"101090201",满城:"101090202",阜平:"101090203",徐水:"101090204",唐县:"101090205",高阳:"101090206",容城:"101090207",紫荆关:"101090208",涞源:"101090209",望都:"101090210",安新:"101090211",易县:"101090212",涞水:"101090213",曲阳:"101090214",蠡县:"101090215",顺平:"101090216",雄县:"101090217",涿州:"101090218",定州:"101090219",安国:"101090220",高碑店:"101090221",张家口:"101090301",宣化:"101090302",张北:"101090303",康保:"101090304",沽源:"101090305",尚义:"101090306",蔚县:"101090307",阳原:"101090308",怀安:"101090309",万全:"101090310",怀来:"101090311",涿鹿:"101090312",赤城:"101090313",崇礼:"101090314",承德:"101090402",承德县:"101090403",兴隆:"101090404",平泉:"101090405",滦平:"101090406",隆化:"101090407",丰宁:"101090408",宽城:"101090409",围场:"101090410",塞罕坎:"101090411",唐山:"101090501",丰南:"101090502",丰润:"101090503",滦县:"101090504",滦南:"101090505",乐亭:"101090506",迁西:"101090507",玉田:"101090508",唐海:"101090509",遵化:"101090510",迁安:"101090511",廊坊:"101090601",固安:"101090602",永清:"101090603",香河:"101090604",大城:"101090605",文安:"101090606",大厂:"101090607",霸州:"101090608",三河:"101090609",沧州:"101090701",青县:"101090702",东光:"101090703",海兴:"101090704",盐山:"101090705",肃宁:"101090706",南皮:"101090707",吴桥:"101090708",献县:"101090709",孟村:"101090710",泊头:"101090711",任丘:"101090712",黄骅:"101090713",河间:"101090714",曹妃甸:"101090715",衡水:"101090801",枣强:"101090802",武邑:"101090803",武强:"101090804",饶阳:"101090805",安平:"101090806",故城:"101090807",景县:"101090808",阜城:"101090809",冀州:"101090810",深州:"101090811",邢台:"101090901",临城:"101090902",邢台县浆水:"101090903",内邱:"101090904",柏乡:"101090905",隆尧:"101090906",南和:"101090907",宁晋:"101090908",巨鹿:"101090909",新河:"101090910",广宗:"101090911",平乡:"101090912",威县:"101090913",清河:"101090914",临西:"101090915",南宫:"101090916",沙河:"101090917",任县:"101090918",邯郸:"101091001",峰峰:"101091002",临漳:"101091003",成安:"101091004",大名:"101091005",涉县:"101091006",磁县:"101091007",肥乡:"101091008",永年:"101091009",邱县:"101091010",鸡泽:"101091011",广平:"101091012",馆陶:"101091013",魏县:"101091014",曲周:"101091015",武安:"101091016",秦皇岛:"101091101",青龙:"101091102",昌黎:"101091103",抚宁:"101091104",卢龙:"101091105",北戴河:"101091106",太原:"101100101",清徐:"101100102",阳曲:"101100103",娄烦:"101100104",太原古交区:"101100105",太原北郊:"101100106",太原南郊:"101100107",大同:"101100201",阳高:"101100202",大同县:"101100203",天镇:"101100204",广灵:"101100205",灵邱:"101100206",浑源:"101100207",左云:"101100208",阳泉:"101100301",盂县:"101100302",平定:"101100303",晋中:"101100401",榆次:"101100402",榆社:"101100403",左权:"101100404",和顺:"101100405",昔阳:"101100406",寿阳:"101100407",太谷:"101100408",祁县:"101100409",平遥:"101100410",灵石:"101100411",介休:"101100412",长治:"101100501",黎城:"101100502",屯留:"101100503",潞城:"101100504",襄垣:"101100505",平顺:"101100506",武乡:"101100507",沁县:"101100508",长子:"101100509",沁源:"101100510",壶关:"101100511",晋城:"101100601",沁水:"101100602",阳城:"101100603",陵川:"101100604",高平:"101100605",临汾:"101100701",曲沃:"101100702",永和:"101100703",隰县:"101100704",大宁:"101100705",吉县:"101100706",襄汾:"101100707",蒲县:"101100708",汾西:"101100709",洪洞:"101100710",霍州:"101100711",乡宁:"101100712",翼城:"101100713",侯马:"101100714",浮山:"101100715",安泽:"101100716",古县:"101100717",运城:"101100801",临猗:"101100802",稷山:"101100803",万荣:"101100804",河津:"101100805",新绛:"101100806",绛县:"101100807",闻喜:"101100808",垣曲:"101100809",永济:"101100810",芮城:"101100811",夏县:"101100812",平陆:"101100813",朔州:"101100901",平鲁:"101100902",山阴:"101100903",右玉:"101100904",应县:"101100905",怀仁:"101100906",忻州:"101101001",定襄:"101101002",五台县豆村:"101101003",河曲:"101101004",偏关:"101101005",神池:"101101006",宁武:"101101007",代县:"101101008",繁峙:"101101009",五台山:"101101010",保德:"101101011",静乐:"101101012",岢岚:"101101013",五寨:"101101014",原平:"101101015",吕梁:"101101100",离石:"101101101",临县:"101101102",兴县:"101101103",岚县:"101101104",柳林:"101101105",石楼:"101101106",方山:"101101107",交口:"101101108",中阳:"101101109",孝义:"101101110",汾阳:"101101111",文水:"101101112",交城:"101101113",西安:"101110101",长安:"101110102",临潼:"101110103",蓝田:"101110104",周至:"101110105",户县:"101110106",高陵:"101110107",杨凌:"101110108",咸阳:"101110200",三原:"101110201",礼泉:"101110202",永寿:"101110203",淳化:"101110204",泾阳:"101110205",武功:"101110206",乾县:"101110207",彬县:"101110208",长武:"101110209",旬邑:"101110210",兴平:"101110211",延安:"101110300",延长:"101110301",延川:"101110302",子长:"101110303",宜川:"101110304",富县:"101110305",志丹:"101110306",安塞:"101110307",甘泉:"101110308",洛川:"101110309",黄陵:"101110310",黄龙:"101110311",吴起:"101110312",榆林:"101110401",府谷:"101110402",神木:"101110403",佳县:"101110404",定边:"101110405",靖边:"101110406",横山:"101110407",米脂:"101110408",子洲:"101110409",绥德:"101110410",吴堡:"101110411",清涧:"101110412",渭南:"101110501",华县:"101110502",潼关:"101110503",大荔:"101110504",白水:"101110505",富平:"101110506",蒲城:"101110507",澄城:"101110508",合阳:"101110509",韩城:"101110510",华阴:"101110511",华山:"101110512",商洛:"101110601",洛南:"101110602",柞水:"101110603",镇安:"101110605",丹凤:"101110606",商南:"101110607",山阳:"101110608",安康:"101110701",紫阳:"101110702",石泉:"101110703",汉阴:"101110704",旬阳:"101110705",岚皋:"101110706",平利:"101110707",白河:"101110708",镇坪:"101110709",宁陕:"101110710",汉中:"101110801",略阳:"101110802",勉县:"101110803",留坝:"101110804",洋县:"101110805",城固:"101110806",西乡:"101110807",佛坪:"101110808",宁强:"101110809",南郑:"101110810",镇巴:"101110811",宝鸡:"101110901",宝鸡县:"101110902",千阳:"101110903",麟游:"101110904",岐山:"101110905",凤翔:"101110906",扶风:"101110907",眉县:"101110908",太白:"101110909",凤县:"101110910",陇县:"101110911",铜川:"101111001",耀县:"101111002",宜君:"101111003",济南:"101120101",长清:"101120102",商河:"101120103",章丘:"101120104",平阴:"101120105",济阳:"101120106",青岛:"101120201",崂山:"101120202",潮连岛:"101120203",即墨:"101120204",胶州:"101120205",胶南:"101120206",莱西:"101120207",平度:"101120208",淄博:"101120301",淄川:"101120302",博山:"101120303",高青:"101120304",周村:"101120305",沂源:"101120306",桓台:"101120307",临淄:"101120308",德州:"101120401",武城:"101120402",临邑:"101120403",陵县:"101120404",齐河:"101120405",乐陵:"101120406",庆云:"101120407",平原:"101120408",宁津:"101120409",夏津:"101120410",禹城:"101120411",烟台:"101120501",莱州:"101120502",长岛:"101120503",蓬莱:"101120504",龙口:"101120505",招远:"101120506",栖霞:"101120507",福山:"101120508",牟平:"101120509",莱阳:"101120510",海阳:"101120511",千里岩:"101120512",潍坊:"101120601",青州:"101120602",寿光:"101120603",临朐:"101120604",昌乐:"101120605",昌邑:"101120606",安丘:"101120607",高密:"101120608",诸城:"101120609",济宁:"101120701",嘉祥:"101120702",微山:"101120703",鱼台:"101120704",兖州:"101120705",金乡:"101120706",汶上:"101120707",泗水:"101120708",梁山:"101120709",曲阜:"101120710",邹城:"101120711",泰安:"101120801",新泰:"101120802",泰山:"101120803",肥城:"101120804",东平:"101120805",宁阳:"101120806",临沂:"101120901",莒南:"101120902",沂南:"101120903",苍山:"101120904",临沭:"101120905",郯城:"101120906",蒙阴:"101120907",平邑:"101120908",费县:"101120909",沂水:"101120910",马站:"101120911",菏泽:"101121001",鄄城:"101121002",郓城:"101121003",东明:"101121004",定陶:"101121005",巨野:"101121006",曹县:"101121007",成武:"101121008",单县:"101121009",滨州:"101121101",博兴:"101121102",无棣:"101121103",阳信:"101121104",惠民:"101121105",沾化:"101121106",邹平:"101121107",东营:"101121201",河口:"101121202",垦利:"101121203",利津:"101121204",广饶:"101121205",威海:"101121301",文登:"101121302",荣成:"101121303",乳山:"101121304",成山头:"101121305",石岛:"101121306",枣庄:"101121401",薛城:"101121402",峄城:"101121403",台儿庄:"101121404",滕州:"101121405",日照:"101121501",五莲:"101121502",莒县:"101121503",莱芜:"101121601",聊城:"101121701",冠县:"101121702",阳谷:"101121703",高唐:"101121704",茌平:"101121705",东阿:"101121706",临清:"101121707",朝城:"101121708",莘县:"101121709",乌鲁木齐:"101130101",蔡家湖:"101130102",小渠子:"101130103",巴仑台:"101130104",达坂城:"101130105",十三间房气象站:"101130106",天山大西沟:"101130107",乌鲁木齐牧试站:"101130108",白杨沟:"101130110",克拉玛依:"101130201",石河子:"101130301",炮台:"101130302",莫索湾:"101130303",乌兰乌苏:"101130304",昌吉:"101130401",呼图壁:"101130402",米泉:"101130403",阜康:"101130404",吉木萨尔:"101130405",奇台:"101130406",玛纳斯:"101130407",木垒:"101130408",北塔山:"101130409",吐鲁番:"101130501",托克逊:"101130502",吐鲁番东坎:"101130503",鄯善:"101130504",红柳河:"101130505",库尔勒:"101130601",轮台:"101130602",尉犁:"101130603",若羌:"101130604",且末:"101130605",和静:"101130606",焉耆:"101130607",和硕:"101130608",库米什:"101130609",巴音布鲁克:"101130610",铁干里克:"101130611",博湖:"101130612",塔中:"101130613",阿拉尔:"101130701",阿克苏:"101130801",乌什:"101130802",温宿:"101130803",拜城:"101130804",新和:"101130805",沙雅:"101130806",库车:"101130807",柯坪:"101130808",阿瓦提:"101130809",喀什:"101130901",英吉沙:"101130902",塔什库尔干:"101130903",麦盖提:"101130904",莎车:"101130905",叶城:"101130906",泽普:"101130907",巴楚:"101130908",岳普湖:"101130909",伽师:"101130910",伊宁:"101131001",察布查尔:"101131002",尼勒克:"101131003",伊宁县:"101131004",巩留:"101131005",新源:"101131006",昭苏:"101131007",特克斯:"101131008",霍城:"101131009",霍尔果斯:"101131010",塔城:"101131101",裕民:"101131102",额敏:"101131103",和布克赛尔:"101131104",托里:"101131105",乌苏:"101131106",沙湾:"101131107",和丰:"101131108",哈密:"101131201",沁城:"101131202",巴里坤:"101131203",伊吾:"101131204",淖毛湖:"101131205",和田:"101131301",皮山:"101131302",策勒:"101131303",墨玉:"101131304",洛浦:"101131305",民丰:"101131306",于田:"101131307",阿勒泰:"101131401",哈巴河:"101131402",一八五团:"101131403",黑山头:"101131404",吉木乃:"101131405",布尔津:"101131406",福海:"101131407",富蕴:"101131408",青河:"101131409",安德河:"101131410",阿图什:"101131501",乌恰:"101131502",阿克陶:"101131503",阿合奇:"101131504",吐尔尕特:"101131505",博乐:"101131601",温泉:"101131602",精河:"101131603",阿拉山口:"101131606",拉萨:"101140101",当雄:"101140102",尼木:"101140103",墨竹贡卡:"101140104",日喀则:"101140201",拉孜:"101140202",南木林:"101140203",聂拉木:"101140204",定日:"101140205",江孜:"101140206",帕里:"101140207",山南:"101140301",贡嘎:"101140302",琼结:"101140303",加查:"101140304",浪卡子:"101140305",错那:"101140306",隆子:"101140307",泽当:"101140308",林芝:"101140401",波密:"101140402",米林:"101140403",察隅:"101140404",昌都:"101140501",丁青:"101140502",类乌齐:"101140503",洛隆:"101140504",左贡:"101140505",芒康:"101140506",八宿:"101140507",那曲:"101140601",嘉黎:"101140603",班戈:"101140604",安多:"101140605",索县:"101140606",比如:"101140607",阿里:"101140701",改则:"101140702",申扎:"101140703",狮泉河:"101140704",普兰:"101140705",西宁:"101150101",大通:"101150102",湟源:"101150103",湟中:"101150104",铁卜加:"101150105",铁卜加寺:"101150106",中心站:"101150107",海东:"101150201",乐都:"101150202",民和:"101150203",互助:"101150204",化隆:"101150205",循化:"101150206",冷湖:"101150207",平安:"101150208",黄南:"101150301",尖扎:"101150302",泽库:"101150303",海南:"101150401",江西沟:"101150402",贵德:"101150404",河卡:"101150405",兴海:"101150406",贵南:"101150407",同德:"101150408",共和:"101150409",果洛:"101150501",班玛:"101150502",甘德:"101150503",达日:"101150504",久治:"101150505",玛多:"101150506",玛沁:"101150508",玉树:"101150601",托托河:"101150602",治多:"101150603",杂多:"101150604",囊谦:"101150605",曲麻莱:"101150606",海西:"101150701",格尔木:"101150702",察尔汉:"101150703",野牛沟:"101150704",五道梁:"101150705",小灶火:"101150706",天峻:"101150708",乌兰:"101150709",都兰:"101150710",诺木洪:"101150711",茫崖:"101150712",大柴旦:"101150713",茶卡:"101150714",香日德:"101150715",德令哈:"101150716",海北:"101150801",门源:"101150802",祁连:"101150803",海晏:"101150804",托勒:"101150805",刚察:"101150806",兰州:"101160101",皋兰:"101160102",永登:"101160103",榆中:"101160104",定西:"101160201",通渭:"101160202",陇西:"101160203",渭源:"101160204",临洮:"101160205",漳县:"101160206",岷县:"101160207",安定:"101160208",平凉:"101160301",泾川:"101160302",灵台:"101160303",崇信:"101160304",华亭:"101160305",庄浪:"101160306",静宁:"101160307",崆峒:"101160308",庆阳:"101160401",西峰:"101160402",环县:"101160403",华池:"101160404",合水:"101160405",正宁:"101160406",宁县:"101160407",镇原:"101160408",庆城:"101160409",武威:"101160501",民勤:"101160502",古浪:"101160503",乌鞘岭:"101160504",天祝:"101160505",金昌:"101160601",永昌:"101160602",张掖:"101160701",肃南:"101160702",民乐:"101160703",临泽:"101160704",高台:"101160705",山丹:"101160706",酒泉:"101160801",鼎新:"101160802",金塔:"101160803",马鬃山:"101160804",瓜州:"101160805",肃北:"101160806",玉门镇:"101160807",敦煌:"101160808",天水:"101160901",北道区:"101160902",清水:"101160903",秦安:"101160904",甘谷:"101160905",武山:"101160906",张家川:"101160907",麦积:"101160908",武都:"101161001",成县:"101161002",文县:"101161003",宕昌:"101161004",康县:"101161005",西和:"101161006",礼县:"101161007",徽县:"101161008",两当:"101161009",临夏:"101161101",康乐:"101161102",永靖:"101161103",广河:"101161104",和政:"101161105",东乡:"101161106",合作:"101161201",临潭:"101161202",卓尼:"101161203",舟曲:"101161204",迭部:"101161205",玛曲:"101161206",碌曲:"101161207",夏河:"101161208",白银:"101161301",靖远:"101161302",会宁:"101161303",华家岭:"101161304",景泰:"101161305",银川:"101170101",永宁:"101170102",灵武:"101170103",贺兰:"101170104",石嘴山:"101170201",惠农:"101170202",平罗:"101170203",陶乐:"101170204",石炭井:"101170205",大武口:"101170206",吴忠:"101170301",同心:"101170302",盐池:"101170303",韦州:"101170304",麻黄山:"101170305",青铜峡:"101170306",固原:"101170401",西吉:"101170402",隆德:"101170403",泾源:"101170404",六盘山:"101170405",彭阳:"101170406",中卫:"101170501",中宁:"101170502",兴仁堡:"101170503",海原:"101170504",郑州:"101180101",巩义:"101180102",荥阳:"101180103",登封:"101180104",新密:"101180105",新郑:"101180106",中牟:"101180107",郑州农试站:"101180108",安阳:"101180201",汤阴:"101180202",滑县:"101180203",内黄:"101180204",林州:"101180205",新乡:"101180301",获嘉:"101180302",原阳:"101180303",辉县:"101180304",卫辉:"101180305",延津:"101180306",封丘:"101180307",长垣:"101180308",许昌:"101180401",鄢陵:"101180402",襄城:"101180403",长葛:"101180404",禹州:"101180405",平顶山:"101180501",郏县:"101180502",宝丰:"101180503",汝州:"101180504",叶县:"101180505",舞钢:"101180506",鲁山:"101180507",信阳:"101180601",息县:"101180602",罗山:"101180603",光山:"101180604",新县:"101180605",淮滨:"101180606",潢川:"101180607",固始:"101180608",商城:"101180609",鸡公山:"101180610",信阳地区农试站:"101180611",南阳:"101180701",南召:"101180702",方城:"101180703",社旗:"101180704",西峡:"101180705",内乡:"101180706",镇平:"101180707",淅川:"101180708",新野:"101180709",唐河:"101180710",邓州:"101180711",桐柏:"101180712",开封:"101180801",杞县:"101180802",尉氏:"101180803",通许:"101180804",兰考:"101180805",洛阳:"101180901",新安:"101180902",孟津:"101180903",宜阳:"101180904",洛宁:"101180905",伊川:"101180906",嵩县:"101180907",偃师:"101180908",栾川:"101180909",汝阳:"101180910",商丘:"101181001",睢阳区:"101181002",睢县:"101181003",民权:"101181004",虞城:"101181005",柘城:"101181006",宁陵:"101181007",夏邑:"101181008",永城:"101181009",焦作:"101181101",修武:"101181102",武陟:"101181103",沁阳:"101181104",博爱:"101181106",温县:"101181107",孟州:"101181108",鹤壁:"101181201",浚县:"101181202",淇县:"101181203",濮阳:"101181301",台前:"101181302",南乐:"101181303",清丰:"101181304",范县:"101181305",周口:"101181401",扶沟:"101181402",太康:"101181403",淮阳:"101181404",西华:"101181405",商水:"101181406",项城:"101181407",郸城:"101181408",鹿邑:"101181409",沈丘:"101181410",黄泛区:"101181411",漯河:"101181501",临颍:"101181502",舞阳:"101181503",驻马店:"101181601",西平:"101181602",遂平:"101181603",上蔡:"101181604",汝南:"101181605",泌阳:"101181606",平舆:"101181607",新蔡:"101181608",确山:"101181609",正阳:"101181610",三门峡:"101181701",灵宝:"101181702",渑池:"101181703",卢氏:"101181704",济源:"101181801",南京:"101190101",溧水:"101190102",高淳:"101190103",江宁:"101190104",六合:"101190105",江浦:"101190106",浦口:"101190107",无锡:"101190201",江阴:"101190202",宜兴:"101190203",镇江:"101190301",丹阳:"101190302",扬中:"101190303",句容:"101190304",丹徒:"101190305",苏州:"101190401",常熟:"101190402",张家港:"101190403",昆山:"101190404",吴县东山:"101190405",吴县:"101190406",吴江:"101190407",太仓:"101190408",南通:"101190501",海安:"101190502",如皋:"101190503",如东:"101190504",吕泗:"101190505",吕泗渔场:"101190506",启东:"101190507",海门:"101190508",扬州:"101190601",宝应:"101190602",仪征:"101190603",高邮:"101190604",江都:"101190605",邗江:"101190606",盐城:"101190701",响水:"101190702",滨海:"101190703",阜宁:"101190704",射阳:"101190705",建湖:"101190706",东台:"101190707",大丰:"101190708",盐都:"101190709",徐州:"101190801",徐州农试站:"101190802",丰县:"101190803",沛县:"101190804",邳州:"101190805",睢宁:"101190806",新沂:"101190807",淮安:"101190901",金湖:"101190902",盱眙:"101190903",洪泽:"101190904",涟水:"101190905",淮阴县:"101190906",淮阴:"101190907",楚州:"101190908",连云港:"101191001",东海:"101191002",赣榆:"101191003",灌云:"101191004",灌南:"101191005",西连岛:"101191006",燕尾港:"101191007",常州:"101191101",溧阳:"101191102",金坛:"101191103",泰州:"101191201",兴化:"101191202",泰兴:"101191203",姜堰:"101191204",靖江:"101191205",宿迁:"101191301",沭阳:"101191302",泗阳:"101191303",泗洪:"101191304",武汉:"101200101",蔡甸:"101200102",黄陂:"101200103",新洲:"101200104",江夏:"101200105",襄樊:"101200201",襄阳:"101200202",保康:"101200203",南漳:"101200204",宜城:"101200205",老河口:"101200206",谷城:"101200207",枣阳:"101200208",鄂州:"101200301",孝感:"101200401",安陆:"101200402",云梦:"101200403",大悟:"101200404",应城:"101200405",汉川:"101200406",黄冈:"101200501",红安:"101200502",麻城:"101200503",罗田:"101200504",英山:"101200505",浠水:"101200506",蕲春:"101200507",黄梅:"101200508",武穴:"101200509",黄石:"101200601",大冶:"101200602",阳新:"101200603",咸宁:"101200701",赤壁:"101200702",嘉鱼:"101200703",崇阳:"101200704",通城:"101200705",通山:"101200706",荆州:"101200801",江陵:"101200802",公安:"101200803",石首:"101200804",监利:"101200805",洪湖:"101200806",松滋:"101200807",宜昌:"101200901",远安:"101200902",秭归:"101200903",兴山:"101200904",宜昌县:"101200905",五峰:"101200906",当阳:"101200907",长阳:"101200908",宜都:"101200909",枝江:"101200910",三峡:"101200911",夷陵:"101200912",恩施:"101201001",利川:"101201002",建始:"101201003",咸丰:"101201004",宣恩:"101201005",鹤峰:"101201006",来凤:"101201007",巴东:"101201008",绿葱坡:"101201009",十堰:"101201101",竹溪:"101201102",郧西:"101201103",郧县:"101201104",竹山:"101201105",房县:"101201106",丹江口:"101201107",神农架:"101201201",随州:"101201301",广水:"101201302",荆门:"101201401",钟祥:"101201402",京山:"101201403",天门:"101201501",仙桃:"101201601",潜江:"101201701",杭州:"101210101",萧山:"101210102",桐庐:"101210103",淳安:"101210104",建德:"101210105",余杭:"101210106",临安:"101210107",富阳:"101210108",湖州:"101210201",长兴:"101210202",安吉:"101210203",德清:"101210204",嘉兴:"101210301",嘉善:"101210302",海宁:"101210303",桐乡:"101210304",平湖:"101210305",海盐:"101210306",宁波:"101210401",慈溪:"101210403",余姚:"101210404",奉化:"101210405",象山:"101210406",石浦:"101210407",宁海:"101210408",鄞县:"101210409",北仑:"101210410",鄞州:"101210411",镇海:"101210412",绍兴:"101210501",诸暨:"101210502",上虞:"101210503",新昌:"101210504",嵊州:"101210505",台州:"101210601",括苍山:"101210602",玉环:"101210603",三门:"101210604",天台:"101210605",仙居:"101210606",温岭:"101210607",大陈:"101210608",洪家:"101210609",温州:"101210701",泰顺:"101210702",文成:"101210703",平阳:"101210704",瑞安:"101210705",洞头:"101210706",乐清:"101210707",永嘉:"101210708",苍南:"101210709",丽水:"101210801",遂昌:"101210802",龙泉:"101210803",缙云:"101210804",青田:"101210805",云和:"101210806",庆元:"101210807",金华:"101210901",浦江:"101210902",兰溪:"101210903",义乌:"101210904",东阳:"101210905",武义:"101210906",永康:"101210907",磐安:"101210908",衢州:"101211001",常山:"101211002",开化:"101211003",龙游:"101211004",江山:"101211005",舟山:"101211101",嵊泗:"101211102",嵊山:"101211103",岱山:"101211104",普陀:"101211105",定海:"101211106",合肥:"101220101",长丰:"101220102",肥东:"101220103",肥西:"101220104",蚌埠:"101220201",怀远:"101220202",固镇:"101220203",五河:"101220204",芜湖:"101220301",繁昌:"101220302",芜湖县:"101220303",南陵:"101220304",淮南:"101220401",凤台:"101220402",马鞍山:"101220501",当涂:"101220502",安庆:"101220601",枞阳:"101220602",太湖:"101220603",潜山:"101220604",怀宁:"101220605",宿松:"101220606",望江:"101220607",岳西:"101220608",桐城:"101220609",宿州:"101220701",砀山:"101220702",灵璧:"101220703",泗县:"101220704",萧县:"101220705",阜阳:"101220801",阜南:"101220802",颍上:"101220803",临泉:"101220804",界首:"101220805",太和:"101220806",亳州:"101220901",涡阳:"101220902",利辛:"101220903",蒙城:"101220904",黄山站:"101221001",黄山区:"101221002",屯溪:"101221003",祁门:"101221004",黟县:"101221005",歙县:"101221006",休宁:"101221007",黄山市:"101221008",滁州:"101221101",凤阳:"101221102",明光:"101221103",定远:"101221104",全椒:"101221105",来安:"101221106",天长:"101221107",淮北:"101221201",濉溪:"101221202",铜陵:"101221301",宣城:"101221401",泾县:"101221402",旌德:"101221403",宁国:"101221404",绩溪:"101221405",广德:"101221406",郎溪:"101221407",六安:"101221501",霍邱:"101221502",寿县:"101221503",南溪:"101221504",金寨:"101221505",霍山:"101221506",舒城:"101221507",巢湖:"101221601",庐江:"101221602",无为:"101221603",含山:"101221604",和县:"101221605",池州:"101221701",东至:"101221702",青阳:"101221703",九华山:"101221704",石台:"101221705",福州:"101230101",闽清:"101230102",闽侯:"101230103",罗源:"101230104",连江:"101230105",马祖:"101230106",永泰:"101230107",平潭:"101230108",福州郊区:"101230109",长乐:"101230110",福清:"101230111",平潭海峡大桥:"101230112",厦门:"101230201",同安:"101230202",宁德:"101230301",古田:"101230302",霞浦:"101230303",寿宁:"101230304",周宁:"101230305",福安:"101230306",柘荣:"101230307",福鼎:"101230308",屏南:"101230309",莆田:"101230401",仙游:"101230402",秀屿港:"101230403",泉州:"101230501",安溪:"101230502",九仙山:"101230503",永春:"101230504",德化:"101230505",南安:"101230506",崇武:"101230507",晋江:"101230509",漳州:"101230601",长泰:"101230602",南靖:"101230603",平和:"101230604",龙海:"101230605",漳浦:"101230606",诏安:"101230607",东山:"101230608",云霄:"101230609",华安:"101230610",龙岩:"101230701",长汀:"101230702",连城:"101230703",武平:"101230704",上杭:"101230705",永定:"101230706",漳平:"101230707",三明:"101230801",宁化:"101230802",清流:"101230803",泰宁:"101230804",将乐:"101230805",建宁:"101230806",明溪:"101230807",沙县:"101230808",尤溪:"101230809",永安:"101230810",大田:"101230811",南平:"101230901",顺昌:"101230902",光泽:"101230903",邵武:"101230904",武夷山:"101230905",浦城:"101230906",建阳:"101230907",松溪:"101230908",政和:"101230909",建瓯:"101230910",南昌:"101240101",新建:"101240102",南昌县:"101240103",安义:"101240104",进贤:"101240105",莲塘:"101240106",九江:"101240201",瑞昌:"101240202",庐山:"101240203",武宁:"101240204",德安:"101240205",永修:"101240206",湖口:"101240207",彭泽:"101240208",星子:"101240209",都昌:"101240210",棠荫:"101240211",修水:"101240212",上饶:"101240301",鄱阳:"101240302",婺源:"101240303",康山:"101240304",余干:"101240305",万年:"101240306",德兴:"101240307",上饶县:"101240308",弋阳:"101240309",横峰:"101240310",铅山:"101240311",玉山:"101240312",广丰:"101240313",波阳:"101240314",抚州:"101240401",广昌:"101240402",乐安:"101240403",崇仁:"101240404",金溪:"101240405",资溪:"101240406",宜黄:"101240407",南城:"101240408",南丰:"101240409",黎川:"101240410",宜春:"101240501",铜鼓:"101240502",宜丰:"101240503",万载:"101240504",上高:"101240505",靖安:"101240506",奉新:"101240507",高安:"101240508",樟树:"101240509",丰城:"101240510",吉安:"101240601",吉安县:"101240602",吉水:"101240603",新干:"101240604",峡江:"101240605",永丰:"101240606",永新:"101240607",井冈山:"101240608",万安:"101240609",遂川:"101240610",泰和:"101240611",安福:"101240612",宁冈:"101240613",赣州:"101240701",崇义:"101240702",上犹:"101240703",南康:"101240704",大余:"101240705",信丰:"101240706",宁都:"101240707",石城:"101240708",瑞金:"101240709",于都:"101240710",会昌:"101240711",安远:"101240712",全南:"101240713",龙南:"101240714",定南:"101240715",寻乌:"101240716",兴国:"101240717",景德镇:"101240801",乐平:"101240802",萍乡:"101240901",莲花:"101240902",新余:"101241001",分宜:"101241002",鹰潭:"101241101",余江:"101241102",贵溪:"101241103",长沙:"101250101",宁乡:"101250102",浏阳:"101250103",马坡岭:"101250104",湘潭:"101250201",韶山:"101250202",湘乡:"101250203",株洲:"101250301",攸县:"101250302",醴陵:"101250303",株洲县:"101250304",茶陵:"101250305",炎陵:"101250306",衡阳:"101250401",衡山:"101250402",衡东:"101250403",祁东:"101250404",衡阳县:"101250405",常宁:"101250406",衡南:"101250407",耒阳:"101250408",南岳:"101250409",郴州:"101250501",桂阳:"101250502",嘉禾:"101250503",宜章:"101250504",临武:"101250505",桥口:"101250506",资兴:"101250507",汝城:"101250508",安仁:"101250509",永兴:"101250510",桂东:"101250511",常德:"101250601",安乡:"101250602",桃源:"101250603",汉寿:"101250604",澧县:"101250605",临澧:"101250606",石门:"101250607",益阳:"101250700",赫山区:"101250701",南县:"101250702",桃江:"101250703",安化:"101250704",沅江:"101250705",娄底:"101250801",双峰:"101250802",冷水江:"101250803",冷水滩:"101250804",新化:"101250805",涟源:"101250806",邵阳:"101250901",隆回:"101250902",洞口:"101250903",新邵:"101250904",邵东:"101250905",绥宁:"101250906",新宁:"101250907",武冈:"101250908",城步:"101250909",邵阳县:"101250910",岳阳:"101251001",华容:"101251002",湘阴:"101251003",汨罗:"101251004",平江:"101251005",临湘:"101251006",张家界:"101251101",桑植:"101251102",慈利:"101251103",怀化:"101251201",鹤城区:"101251202",沅陵:"101251203",辰溪:"101251204",靖州:"101251205",会同:"101251206",通道:"101251207",麻阳:"101251208",新晃:"101251209",芷江:"101251210",溆浦:"101251211",黔阳:"101251301",洪江:"101251302",永州:"101251401",祁阳:"101251402",东安:"101251403",双牌:"101251404",道县:"101251405",宁远:"101251406",江永:"101251407",蓝山:"101251408",新田:"101251409",江华:"101251410",吉首:"101251501",保靖:"101251502",永顺:"101251503",古丈:"101251504",凤凰:"101251505",泸溪:"101251506",龙山:"101251507",花垣:"101251508",贵阳:"101260101",白云:"101260102",花溪:"101260103",乌当:"101260104",息烽:"101260105",开阳:"101260106",修文:"101260107",清镇:"101260108",遵义:"101260201",遵义县:"101260202",仁怀:"101260203",绥阳:"101260204",湄潭:"101260205",凤冈:"101260206",桐梓:"101260207",赤水:"101260208",习水:"101260209",道真:"101260210",正安:"101260211",务川:"101260212",余庆:"101260213",汇川:"101260214",安顺:"101260301",普定:"101260302",镇宁:"101260303",平坝:"101260304",紫云:"101260305",关岭:"101260306",都匀:"101260401",贵定:"101260402",瓮安:"101260403",长顺:"101260404",福泉:"101260405",惠水:"101260406",龙里:"101260407",罗甸:"101260408",平塘:"101260409",独山:"101260410",三都:"101260411",荔波:"101260412",凯里:"101260501",岑巩:"101260502",施秉:"101260503",镇远:"101260504",黄平:"101260505",黄平旧洲:"101260506",麻江:"101260507",丹寨:"101260508",三穗:"101260509",台江:"101260510",剑河:"101260511",雷山:"101260512",黎平:"101260513",天柱:"101260514",锦屏:"101260515",榕江:"101260516",从江:"101260517",炉山:"101260518",铜仁:"101260601",江口:"101260602",玉屏:"101260603",万山:"101260604",思南:"101260605",塘头:"101260606",印江:"101260607",石阡:"101260608",沿河:"101260609",德江:"101260610",松桃:"101260611",毕节:"101260701",赫章:"101260702",金沙:"101260703",威宁:"101260704",大方:"101260705",纳雍:"101260706",织金:"101260707",六盘水:"101260801",六枝:"101260802",水城:"101260803",盘县:"101260804",黔西:"101260901",晴隆:"101260902",兴仁:"101260903",贞丰:"101260904",望谟:"101260905",兴义:"101260906",安龙:"101260907",册亨:"101260908",普安:"101260909",成都:"101270101",龙泉驿:"101270102",新都:"101270103",温江:"101270104",金堂:"101270105",双流:"101270106",郫县:"101270107",大邑:"101270108",蒲江:"101270109",新津:"101270110",都江堰:"101270111",彭州:"101270112",邛崃:"101270113",崇州:"101270114",崇庆:"101270115",彭县:"101270116",攀枝花:"101270201",仁和:"101270202",米易:"101270203",盐边:"101270204",自贡:"101270301",富顺:"101270302",荣县:"101270303",绵阳:"101270401",三台:"101270402",盐亭:"101270403",安县:"101270404",梓潼:"101270405",北川:"101270406",平武:"101270407",江油:"101270408",南充:"101270501",南部:"101270502",营山:"101270503",蓬安:"101270504",仪陇:"101270505",西充:"101270506",阆中:"101270507",达州:"101270601",宣汉:"101270602",开江:"101270603",大竹:"101270604",渠县:"101270605",万源:"101270606",达川:"101270607",遂宁:"101270701",蓬溪:"101270702",射洪:"101270703",广安:"101270801",岳池:"101270802",武胜:"101270803",邻水:"101270804",华蓥山:"101270805",巴中:"101270901",通江:"101270902",南江:"101270903",平昌:"101270904",泸州:"101271001",泸县:"101271003",合江:"101271004",叙永:"101271005",古蔺:"101271006",纳溪:"101271007",宜宾:"101271101",宜宾农试站:"101271102",宜宾县:"101271103",江安:"101271105",长宁:"101271106",高县:"101271107",珙县:"101271108",筠连:"101271109",兴文:"101271110",屏山:"101271111",内江:"101271201",东兴:"101271202",威远:"101271203",资中:"101271204",隆昌:"101271205",资阳:"101271301",安岳:"101271302",乐至:"101271303",简阳:"101271304",乐山:"101271401",犍为:"101271402",井研:"101271403",夹江:"101271404",沐川:"101271405",峨边:"101271406",马边:"101271407",峨眉:"101271408",峨眉山:"101271409",眉山:"101271501",仁寿:"101271502",彭山:"101271503",洪雅:"101271504",丹棱:"101271505",青神:"101271506",凉山:"101271601",木里:"101271603",盐源:"101271604",德昌:"101271605",会理:"101271606",会东:"101271607",宁南:"101271608",普格:"101271609",西昌:"101271610",金阳:"101271611",昭觉:"101271612",喜德:"101271613",冕宁:"101271614",越西:"101271615",甘洛:"101271616",雷波:"101271617",美姑:"101271618",布拖:"101271619",雅安:"101271701",名山:"101271702",荣经:"101271703",汉源:"101271704",石棉:"101271705",天全:"101271706",芦山:"101271707",宝兴:"101271708",甘孜:"101271801",康定:"101271802",泸定:"101271803",丹巴:"101271804",九龙:"101271805",雅江:"101271806",道孚:"101271807",炉霍:"101271808",新龙:"101271809",德格:"101271810",白玉:"101271811",石渠:"101271812",色达:"101271813",理塘:"101271814",巴塘:"101271815",乡城:"101271816",稻城:"101271817",得荣:"101271818",阿坝:"101271901",汶川:"101271902",理县:"101271903",茂县:"101271904",松潘:"101271905",九寨沟:"101271906",金川:"101271907",小金:"101271908",黑水:"101271909",马尔康:"101271910",壤塘:"101271911",若尔盖:"101271912",红原:"101271913",南坪:"101271914",德阳:"101272001",中江:"101272002",广汉:"101272003",什邡:"101272004",绵竹:"101272005",罗江:"101272006",广元:"101272101",旺苍:"101272102",青川:"101272103",剑阁:"101272104",苍溪:"101272105",广州:"101280101",番禺:"101280102",从化:"101280103",增城:"101280104",花都:"101280105",天河:"101280106",韶关:"101280201",乳源:"101280202",始兴:"101280203",翁源:"101280204",乐昌:"101280205",仁化:"101280206",南雄:"101280207",新丰:"101280208",曲江:"101280209",惠州:"101280301",博罗:"101280302",惠阳:"101280303",惠东:"101280304",龙门:"101280305",梅州:"101280401",兴宁:"101280402",蕉岭:"101280403",大埔:"101280404",丰顺:"101280406",平远:"101280407",五华:"101280408",梅县:"101280409",汕头:"101280501",潮阳:"101280502",澄海:"101280503",南澳:"101280504",云澳:"101280505",南澎岛:"101280506",深圳:"101280601",珠海:"101280701",斗门:"101280702",黄茅洲:"101280703",佛山:"101280800",顺德:"101280801",三水:"101280802",南海:"101280803",肇庆:"101280901",广宁:"101280902",四会:"101280903",德庆:"101280905",怀集:"101280906",封开:"101280907",高要:"101280908",湛江:"101281001",吴川:"101281002",雷州:"101281003",徐闻:"101281004",廉江:"101281005",硇洲:"101281006",遂溪:"101281007",江门:"101281101",开平:"101281103",新会:"101281104",恩平:"101281105",台山:"101281106",上川岛:"101281107",鹤山:"101281108",河源:"101281201",紫金:"101281202",连平:"101281203",和平:"101281204",龙川:"101281205",清远:"101281301",连南:"101281302",连州:"101281303",连山:"101281304",阳山:"101281305",佛冈:"101281306",英德:"101281307",云浮:"101281401",罗定:"101281402",新兴:"101281403",郁南:"101281404",潮州:"101281501",饶平:"101281502",东莞:"101281601",中山:"101281701",阳江:"101281801",阳春:"101281802",揭阳:"101281901",揭西:"101281902",普宁:"101281903",惠来:"101281904",茂名:"101282001",高州:"101282002",化州:"101282003",电白:"101282004",信宜:"101282005",汕尾:"101282101",海丰:"101282102",陆丰:"101282103",遮浪:"101282104",东沙岛:"101282105",昆明:"101290101",昆明农试站:"101290102",东川:"101290103",寻甸:"101290104",晋宁:"101290105",宜良:"101290106",石林:"101290107",呈贡:"101290108",富民:"101290109",嵩明:"101290110",禄劝:"101290111",安宁:"101290112",太华山:"101290113",大理:"101290201",云龙:"101290202",漾鼻:"101290203",永平:"101290204",宾川:"101290205",弥渡:"101290206",祥云:"101290207",魏山:"101290208",剑川:"101290209",洱源:"101290210",鹤庆:"101290211",南涧:"101290212",红河:"101290301",石屏:"101290302",建水:"101290303",弥勒:"101290304",元阳:"101290305",绿春:"101290306",开远:"101290307",个旧:"101290308",蒙自:"101290309",屏边:"101290310",泸西:"101290311",金平:"101290312",曲靖:"101290401",沾益:"101290402",陆良:"101290403",富源:"101290404",马龙:"101290405",师宗:"101290406",罗平:"101290407",会泽:"101290408",宣威:"101290409",保山:"101290501",富宁:"101290502",龙陵:"101290503",施甸:"101290504",昌宁:"101290505",腾冲:"101290506",文山:"101290601",西畴:"101290602",马关:"101290603",麻栗坡:"101290604",砚山:"101290605",邱北:"101290606",广南:"101290607",玉溪:"101290701",澄江:"101290702",江川:"101290703",通海:"101290704",华宁:"101290705",新平:"101290706",易门:"101290707",峨山:"101290708",元江:"101290709",楚雄:"101290801",大姚:"101290802",元谋:"101290803",姚安:"101290804",牟定:"101290805",南华:"101290806",武定:"101290807",禄丰:"101290808",双柏:"101290809",永仁:"101290810",普洱:"101290901",景谷:"101290902",景东:"101290903",澜沧:"101290904",墨江:"101290906",江城:"101290907",孟连:"101290908",西盟:"101290909",镇源:"101290910",镇沅:"101290911",宁洱:"101290912",昭通:"101291001",鲁甸:"101291002",彝良:"101291003",镇雄:"101291004",威信:"101291005",巧家:"101291006",绥江:"101291007",永善:"101291008",盐津:"101291009",大关:"101291010",临沧:"101291101",沧源:"101291102",耿马:"101291103",双江:"101291104",凤庆:"101291105",永德:"101291106",云县:"101291107",镇康:"101291108",怒江:"101291201",福贡:"101291203",兰坪:"101291204",泸水:"101291205",六库:"101291206",贡山:"101291207",香格里拉:"101291301",德钦:"101291302",维西:"101291303",中甸:"101291304",丽江:"101291401",永胜:"101291402",华坪:"101291403",宁蒗:"101291404",德宏:"101291501",潞江坝:"101291502",陇川:"101291503",盈江:"101291504",畹町镇:"101291505",瑞丽:"101291506",梁河:"101291507",潞西:"101291508",景洪:"101291601",大勐龙:"101291602",勐海:"101291603",景洪电站:"101291604",勐腊:"101291605",南宁:"101300101",南宁城区:"101300102",邕宁:"101300103",横县:"101300104",隆安:"101300105",马山:"101300106",上林:"101300107",武鸣:"101300108",宾阳:"101300109",硕龙:"101300110",崇左:"101300201",天等:"101300202",龙州:"101300203",凭祥:"101300204",大新:"101300205",扶绥:"101300206",宁明:"101300207",海渊:"101300208",柳州:"101300301",柳城:"101300302",沙塘:"101300303",鹿寨:"101300304",柳江:"101300305",融安:"101300306",融水:"101300307",三江:"101300308",来宾:"101300401",忻城:"101300402",金秀:"101300403",象州:"101300404",武宣:"101300405",桂林:"101300501",桂林农试站:"101300502",龙胜:"101300503",永福:"101300504",临桂:"101300505",兴安:"101300506",灵川:"101300507",全州:"101300508",灌阳:"101300509",阳朔:"101300510",恭城:"101300511",平乐:"101300512",荔浦:"101300513",资源:"101300514",梧州:"101300601",藤县:"101300602",太平:"101300603",苍梧:"101300604",蒙山:"101300605",岑溪:"101300606",贺州:"101300701",昭平:"101300702",富川:"101300703",钟山:"101300704",信都:"101300705",贵港:"101300801",桂平:"101300802",平南:"101300803",玉林:"101300901",博白:"101300902",北流:"101300903",容县:"101300904",陆川:"101300905",百色:"101301001",那坡:"101301002",田阳:"101301003",德保:"101301004",靖西:"101301005",田东:"101301006",平果:"101301007",隆林:"101301008",西林:"101301009",乐业:"101301010",凌云:"101301011",田林:"101301012",钦州:"101301101",浦北:"101301102",灵山:"101301103",河池:"101301201",天峨:"101301202",东兰:"101301203",巴马:"101301204",环江:"101301205",罗城:"101301206",宜州:"101301207",凤山:"101301208",南丹:"101301209",都安:"101301210",北海:"101301301",合浦:"101301302",涠洲岛:"101301303",防城港:"101301401",上思:"101301402",板栏:"101301404",防城:"101301405",海口:"101310101",琼山:"101310102",三亚:"101310201",东方:"101310202",临高:"101310203",澄迈:"101310204",儋州:"101310205",昌江:"101310206",白沙:"101310207",琼中:"101310208",定安:"101310209",屯昌:"101310210",琼海:"101310211",文昌:"101310212",清兰:"101310213",保亭:"101310214",万宁:"101310215",陵水:"101310216",西沙:"101310217",珊瑚岛:"101310218",永署礁:"101310219",南沙岛:"101310220",乐东:"101310221",五指山:"101310222",通什:"101310223",香港:"101320101",新界:"101320103",中环:"101320104",铜锣湾:"101320105",澳门:"101330101",台北县:"101340101",台北市:"101340102",高雄:"101340201",大武:"101340203",恒春:"101340204",兰屿:"101340205",台南:"101340301",台中:"101340401",桃园:"101340501",新竹县:"101340601",新竹市:"101340602",公馆:"101340603",宜兰:"101340701",马公:"101340801",东吉屿:"101340802",嘉义:"101340901",阿里山:"101340902",新港:"101340904"};const rF=function(x,f){var e=this.getFieldValue("data"),t=oF[e];return f.definitions_.include_Weather_Forcast="#include ",f.definitions_.var_declare_Weather_Forcast="Weather_Forcast Weather;",t?this.setFieldValue("ok","check"):(t="error",this.setFieldValue("error","check")),['Weather.RefreshData("'+t+'")',f.ORDER_ATOMIC]},uF=function(x,f){return["Weather.getToday("+this.getFieldValue("type")+")",f.ORDER_ATOMIC]},_F=function(x,f){return["Weather.get"+this.getFieldValue("type")+"("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},hF=function(x,f){var e=f.valueToCode(this,"server",f.ORDER_ATOMIC),t=f.valueToCode(this,"port",f.ORDER_ATOMIC),i=f.valueToCode(this,"mqtt_username",f.ORDER_ATOMIC),n=f.valueToCode(this,"mqtt_password",f.ORDER_ATOMIC),s=f.valueToCode(this,"project",f.ORDER_ATOMIC);t=t.replace(/"/g,""),f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient="const char *mqtt_broker = "+e+";\nconst char *mqtt_username = "+i+";\nconst char *mqtt_password = "+n+";\nconst int mqtt_port = "+t+';\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = '+s+';\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},FF=function(x,f){var e=this.getFieldValue("key"),t=this.getFieldValue("server");f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient='const char *mqtt_broker = "'+t+'";\nconst char *mqtt_username = "MixIO_public";\nconst char *mqtt_password = "MixIO_public";\nconst int mqtt_port = 1883;\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = "'+e+'";\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},IF=function(x,f){var e=f.valueToCode(this,"data",f.ORDER_ATOMIC),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=this.getFieldValue("mode");if(1==i)var n='client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str(),String("+e+").c_str());\n";if(2==i)n='client.publish(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str(),String("+e+").c_str());\n";return n},AF=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=f.statementToCode(this,"function");if(i=i.replace(/(^\s*)|(\s*$)/g,""),1==e){f.setups_["setups_topic_"+t]='client.subscribe(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str());";var n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")))) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}if(2==e){f.setups_["setups_topic_"+t]='client.subscribe(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str());";n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str())) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}return n},gF=function(x,f){z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESPAsyncTCP="#include ":f.definitions_.include_AsyncTCP="#include ",f.definitions_.include_ESPAsyncWebServer="#include ",f.definitions_.include_AsyncElegantOTA="#include \n",f.definitions_.var_AsyncWebServer="AsyncWebServer server(80);\n",f.setups_.setups_AsyncWebServer="AsyncElegantOTA.begin(&server);\nserver.begin();\n";return""},EF=function(x,f){var e=this.getFieldValue("INCLUDE");return f.definitions_["include_"+e]="#include <"+e+".h>",""},MF=function(x,f){for(var e=this.getFieldValue("NAME"),t=new Array(this.itemCount_),i=0;i-1&&delete f.setups_["setup_input_"+e],t="digitalRead("+e+")";return[t,f.ORDER_ATOMIC]},XF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);const{pwm:i}=z.Profile.default;if("object"==typeof i)for(let x of i)if(e===x[1]){f.setups_["setup_output"+e]="pinMode("+e+", OUTPUT);";break}return"analogWrite("+e+", "+t+");\n"},GF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);const{analog:t}=z.Profile.default;if("object"==typeof t)for(let x of t)if(e===x[1])break;return["analogRead("+e+")",f.ORDER_ATOMIC]},BF=function(x,f){var e=this.getFieldValue("STAT");return f.setups_.setup_output_13="pinMode(13, OUTPUT);","digitalWrite(13, "+e+");\n"},UF=function(x,f){f.definitions_.include_OneButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode"),i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_button"+e]="OneButton button"+e+"("+e+","+("HIGH"==i?"false":"true")+");",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var n="button"+e+".tick();",s=t+e,a="void "+s+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[s]=a,n},WF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.setups_["setup_input_"+e]="pinMode("+e+", INPUT_PULLUP);";var i="attachInterrupt("+("digitalPinToInterrupt("+e+")")+",attachInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},HF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachInterrupt("+("digitalPinToInterrupt("+e+")")+");\n"},zF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_.include_PinChangeInterrupt="#include ",f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);";var i="attachPCINT(digitalPinToPCINT("+e+"),attachPinInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachPinInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},KF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachPCINT(digitalPinToPCINT("+e+"));\n"},ZF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT");return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+")",f.ORDER_ATOMIC]},jF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT"),i=f.valueToCode(this,"TIMEOUT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+", "+i+")",f.ORDER_ATOMIC]},JF=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i=this.getFieldValue("ORDER"),n=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", OUTPUT);","shiftOut("+e+", "+t+", "+i+", "+n+");\n"},qF=function(x,f){f.definitions_.include_ESP32touchButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_["var_declare_button"+e]="ESP32touchButton button"+e+"("+e+",true);",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var i="button"+e+".tick();",n=t+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},QF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMSet("+e+", "+t+");\n"},$F=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMEnd("+e+");\n"},xI=function(x,f){var e=this.getFieldValue("ADS1015_setGain");f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin(); \n",f.setups_["setup_ads.setGain"]="ads.setGain("+e+");";return""},fI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin();",[this.getFieldValue("ADS1015_AIN"),f.ORDER_ATOMIC]},eI=function(x,f){return f.definitions_.include_PCF8591_h="#include ",f.definitions_.var_declare_PCF8591="PCF8591 pcf8591(0x48);",f.setups_["setup_pcf8591.begin()"]="pcf8591.begin(); \n",[this.getFieldValue("PCF8591T_AIN"),f.ORDER_ATOMIC]},tI=function(x,f){for(var e=this.getFieldValue("TYPE"),t=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),i=window.parseFloat(this.getFieldValue("SIZE")),n=new Array(this.itemCount_),s=0;s= (1); i = i + (-1)) {\n "+i+"[(int)((i + 1) - 1)] = "+i+"[(int)(i - 1)];\n }\n "+i+"[(int)(0)] = item;\n}\n";n="array_right_loop();\n"}return n},gI=function(x,f){var e=this.getFieldValue("list_name");return["col"==this.getFieldValue("type")?"(sizeof("+e+"[0]) / sizeof("+e+"[0][0]))":"(sizeof("+e+") / sizeof("+e+"[0]))",f.ORDER_ATOMIC]},EI=function(x,f){var e=this.getFieldValue("OP"),t=EI.OPERATORS[e],i="=="==t||"!="==t?f.ORDER_EQUALITY:f.ORDER_RELATIONAL;return[(f.valueToCode(this,"A",i)||"0")+" "+t+" "+(f.valueToCode(this,"B",i)||"0"),i]};EI.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const MI=function(x,f){var e="AND"==this.getFieldValue("OP")?"&&":"||",t="&&"==e?f.ORDER_LOGICAL_AND:f.ORDER_LOGICAL_OR;return[(f.valueToCode(this,"A",t)||"false")+" "+e+" "+(f.valueToCode(this,"B",t)||"false"),t]},TI=function(x,f){var e=f.ORDER_UNARY_PREFIX;return["!"+(f.valueToCode(this,"BOOL",e)||"false"),e]},mI=function(x,f){return["TRUE"==this.getFieldValue("BOOL")?"true":"false",f.ORDER_ATOMIC]},CI=function(x,f){return["NULL",f.ORDER_ATOMIC]},OI=function(x,f){return["("+(f.valueToCode(this,"A",f.ORDER_ATOMIC)||"false")+"?"+(f.valueToCode(this,"B",f.ORDER_ATOMIC)||"false")+":"+(f.valueToCode(this,"C",f.ORDER_ATOMIC)||"false")+")",f.ORDER_ATOMIC]},SI=function(x,f){var e=this.getFieldValue("NUM");return[e,e<0?f.ORDER_UNARY_PREFIX:f.ORDER_ATOMIC]},RI=function(x,f){var e={ADD:[" + ",f.ORDER_ADDITIVE],MINUS:[" - ",f.ORDER_ADDITIVE],MULTIPLY:[" * ",f.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",f.ORDER_MULTIPLICATIVE],QUYU:[" % ",f.ORDER_MULTIPLICATIVE],POWER:[null,f.ORDER_NONE]}[this.getFieldValue("OP")],t=e[0],i=e[1],n=f.valueToCode(this,"A",i)||"0",s=f.valueToCode(this,"B",i)||"0";return t?(" % "==t&&(n="(long) ("+n+")",s="(long) ("+s+")"),[n+t+s,i]):["pow("+n+", "+s+")",f.ORDER_UNARY_POSTFIX]},DI=function(x,f){var e=this.getFieldValue("OP"),t=f.ORDER_ATOMIC;return["("+(f.valueToCode(this,"A",t)||"0")+e+(f.valueToCode(this,"B",t)||"0")+")",t]},NI=function(x,f){var e,t,i=this.getFieldValue("OP");if("NEG"==i)return"-"==(t=f.valueToCode(this,"NUM",f.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),[e="-"+t,f.ORDER_UNARY_PREFIX];switch(t="ABS"==i||"ROUND"==i.substring(0,5)?f.valueToCode(this,"NUM",f.ORDER_UNARY_POSTFIX)||"0":"SIN"==i||"COS"==i||"TAN"==i?f.valueToCode(this,"NUM",f.ORDER_MULTIPLICATIVE)||"0":f.valueToCode(this,"NUM",f.ORDER_NONE)||"0",i){case"ABS":e=t+".abs()";break;case"ROOT":e="sqrt("+t+")";break;case"LN":e="log("+t+")";break;case"EXP":e="exp("+t+")";break;case"POW10":e="pow(10,"+t+")";break;case"++":e="(++"+t+")";break;case"--":e="(--"+t+")";break;case"~":e="~("+t+")";break;case"ROUND":e=t+".round()";break;case"ROUNDUP":e=t+".ceil()";break;case"ROUNDDOWN":e=t+".floor()";break;case"SIN":e="sin("+t+" / 180.0 * 3.14159)";break;case"COS":e="cos("+t+" / 180.0 * 3.14159)";break;case"TAN":e="tan("+t+" / 180.0 * 3.14159)"}if(e)return[e,f.ORDER_UNARY_POSTFIX];switch(i){case"LOG10":e="log("+t+") / log(10)";break;case"ASIN":e="asin("+t+") / 3.14159 * 180";break;case"ACOS":e="acos("+t+") / 3.14159 * 180";break;case"ATAN":e="atan("+t+") / 3.14159 * 180";break;default:throw"Unknown math operator: "+i}return[e,f.ORDER_MULTIPLICATIVE]},LI=NI,PI=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+")",f.ORDER_ATOMIC]},yI=function(x,f){return[this.getFieldValue("variate_type"),f.ORDER_ATOMIC]},bI=function(x,f){return this.setTooltip("以字节形式返回某个操作数的储存大小"),["sizeof("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},vI=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0",t=f.valueToCode(this,"B",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+", "+t+")",f.ORDER_ATOMIC]},wI=function(x,f){return"randomSeed("+(f.valueToCode(this,"NUM",f.ORDER_NONE)||"0")+");\n"},YI=function(x,f){return["random("+(f.valueToCode(this,"FROM",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"TO",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},VI=function(x,f){var e=this.getFieldValue("maptype"),t=f.valueToCode(this,"NUM",f.ORDER_NONE),i=f.valueToCode(this,"fromLow",f.ORDER_ATOMIC),n=f.valueToCode(this,"fromHigh",f.ORDER_ATOMIC),s=f.valueToCode(this,"toLow",f.ORDER_ATOMIC),a=f.valueToCode(this,"toHigh",f.ORDER_ATOMIC);if("map_float"==e){f.definitions_.function_mapfloat="float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)\n{\n return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\n}";var c="mapfloat("+t+", "+i+", "+n+", "+s+", "+a+")"}else c="map("+t+", "+i+", "+n+", "+s+", "+a+")";return[c,f.ORDER_NONE]},kI=function(x,f){return["constrain("+(f.valueToCode(this,"VALUE",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"LOW",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"HIGH",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},XI=function(x,f){var e=this.getFieldValue("type"),t=f.valueToCode(this,"variables",f.ORDER_ATOMIC);return t+" = "+t+" "+e+" "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+";\n"},GI=function(x,f){return f.valueToCode(this,"math_auto_add_minus_output",f.ORDER_ATOMIC)+this.getFieldValue("math_auto_add_minus_type")+";\n"},BI=function(x,f){return[this.getFieldValue("PIN"),f.ORDER_ATOMIC]},UI=BI,WI=BI,HI=BI,zI=BI,KI=BI,ZI=BI,jI=BI,JI=BI,qI=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("NAME"),H.Procedures.NAME_TYPE),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);var i=f.valueToCode(this,"RETURN",f.ORDER_NONE)||"",n=this.getFieldValue("TYPE");i&&(i=" return "+i+";\n");for(var s=n||"void",a=[],c=0;c",f.definitions_.include_SoftwareSerial="#include ";var e=f.valueToCode(this,"RX",f.ORDER_ATOMIC),t=f.valueToCode(this,"TX",f.ORDER_ATOMIC),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.definitions_.var_declare_TinyGPSPlus_gps="TinyGPSPlus gps;",f.definitions_.var_declare_SoftwareSerial_gps_ss="SoftwareSerial gps_ss("+e+", "+t+");",f.setups_.setup_gps_ss_begin="gps_ss.begin("+i+");",""},iA=function(x,f){return["gps_ss.available()",f.ORDER_ATOMIC]},nA=function(x,f){return["gps.encode(gps_ss.read())",f.ORDER_ATOMIC]},sA=function(x,f){return["gps."+this.getFieldValue("WHAT")+".isValid()",f.ORDER_ATOMIC]},aA=function(x,f){return["gps."+this.getFieldValue("WHAT")+"()",f.ORDER_ATOMIC]},cA=function(x,f){var e=this.getFieldValue("Trig"),t=this.getFieldValue("Echo");f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+e+"_"+t,n="float "+i+"() {\n digitalWrite("+e+", LOW);\n delayMicroseconds(2);\n digitalWrite("+e+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+e+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return f.definitions_[i]=n,[i+"()",f.ORDER_ATOMIC]},lA=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return f.definitions_.include_DHT="#include ",f.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+e+");",f.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",f.ORDER_ATOMIC]},dA=function(x,f){var e=z.JSFuncs.getPlatform(),t=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),i="analogRead("+t+")*0.488";if(e.match(RegExp(/ESP8266/)))i="analogRead("+t+")*0.322";else if(e.match(RegExp(/ESP32/)))i="analogRead("+t+")*0.161";return[i,f.ORDER_ATOMIC]},pA=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("UNIT");f.definitions_.include_OneWire="#include ",f.definitions_.include_DallasTemperature="#include ",f.definitions_["var_declare_OneWire_DallasTemperature_sensors_"+e]="OneWire oneWire_"+e+"("+e+");\nDallasTemperature sensors_"+e+"(&oneWire_"+e+");",f.definitions_.var_declare_DeviceAddress_insideThermometer="DeviceAddress insideThermometer;",f.setups_["setup_sensors_"+e+"_getAddress"]="sensors_"+e+".getAddress(insideThermometer, 0);",f.setups_["setup_sensors_"+e+"_setResolution"]="sensors_"+e+".setResolution(insideThermometer, 9);";var i="ds18b20_"+e+"_getTemp",n="float "+i+"(int w) {\n sensors_"+e+".requestTemperatures();\n if(w==0) {\n return sensors_"+e+".getTempC(insideThermometer);\n }\n else {\n return sensors_"+e+".getTempF(insideThermometer);\n }\n}\n";return f.definitions_[i]=n,["ds18b20_"+e+"_getTemp("+t+")",f.ORDER_ATOMIC]},oA=function(x,f){var e=f.valueToCode(this,"mlx90614_address",f.ORDER_ATOMIC),t="MLX";f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_MLX90614="#include ",f.definitions_["var_declare_MLX90614_"+t]="Adafruit_MLX90614 MLX = Adafruit_MLX90614("+e+");",f.setups_["setup_MLX90614_"+t]=t+".begin();";return""},rA=function(x,f){return["MLX."+this.getFieldValue("mlx90614_data")+"()",f.ORDER_ATOMIC]},uA=function(x,f){var e=this.getFieldValue("DOUT"),t=this.getFieldValue("SCK"),i=f.valueToCode(this,"scale",f.ORDER_ATOMIC);return f.definitions_.include_Hx711="#include ",f.definitions_["var_declare_Hx711"+e+t]="Hx711 scale"+e+"_"+t+"("+e+","+t+");",f.setups_["setup_HX711"+e+t]="scale"+e+"_"+t+".setOffset(scale"+e+"_"+t+".getAverageValue(30));",f.setups_["setup_scale"+e+"_"+t+" .setScale"]="scale"+e+"_"+t+".setScale("+i+");",["scale"+e+"_"+t+".getWeight(10)",f.ORDER_ATOMIC]},_A=function(x,f){var e=f.valueToCode(this,"RST",f.ORDER_ATOMIC),t=f.valueToCode(this,"DAT",f.ORDER_ATOMIC),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC);return f.definitions_.include_ThreeWire="#include ",f.definitions_.include_RtcDS1302="#include ",f.definitions_.var_declare_ThreeWire="ThreeWire myWire("+t+","+i+","+e+");",f.definitions_.var_declare_RtcDS1302="RtcDS1302 Rtc(myWire);",f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},hA=function(x,f){var e=f.valueToCode(this,"SDA",f.ORDER_ATOMIC),t=f.valueToCode(this,"SCL",f.ORDER_ATOMIC),i=this.getFieldValue("RTCType");return f.definitions_["include_"+i]="#include <"+i+".h>",e!=z.Profile.default.SDA[0][1]||t!=z.Profile.default.SCL[0][1]?(f.definitions_.include_SoftwareWire="#include ",f.definitions_.var_declare_SoftwareWire="SoftwareWire myWire("+e+","+t+");",f.definitions_["var_declare_"+i]=i+" Rtc(myWire);"):(f.definitions_.include_Wire="#include ",f.definitions_["var_declare_"+i]=i+" Rtc(Wire);"),f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},FA=function(x,f){return["Rtc.GetDateTime()."+this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},IA=function(x,f){var e=f.valueToCode(this,"year",f.ORDER_ATOMIC),t=f.valueToCode(this,"month",f.ORDER_ATOMIC),i=f.valueToCode(this,"day",f.ORDER_ATOMIC);switch(t){case"1":default:t="Jan";break;case"2":t="Feb";break;case"3":t="Mar";break;case"4":t="Apr";break;case"5":t="May";break;case"6":t="Jun";break;case"7":t="Jul";break;case"8":t="Aug";break;case"9":t="Sep";break;case"10":t="Oct";break;case"11":t="Nov";break;case"12":t="Dec"}return 1==i.length&&(i="0"+i),['"'+t+"/"+i+"/"+e+'"',f.ORDER_ATOMIC]},AA=function(x,f){var e=f.valueToCode(this,"hour",f.ORDER_ATOMIC),t=f.valueToCode(this,"minute",f.ORDER_ATOMIC),i=f.valueToCode(this,"second",f.ORDER_ATOMIC);return 1==e.length&&(e="0"+e),1==t.length&&(t="0"+t),1==i.length&&(i="0"+i),['"'+e+":"+t+":"+i+'"',f.ORDER_ATOMIC]},gA=function(x,f){return"Rtc.SetDateTime(RtcDateTime("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"time",f.ORDER_ATOMIC)+"));\n"},EA=function(x,f){return["__"+this.getFieldValue("type")+"__",f.ORDER_ATOMIC]},MA=function(){const x=new Date,f=x.getFullYear(),e=x.getMonth()+1,t=x.getDate();var i="myRTC",n=i+".setDate("+f+","+e+","+t+");\n";return n+=i+".setDOW("+f+","+e+","+t+");\n"},TA=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_DFRobot_SHT20="#include ",f.definitions_.var_declare_DFRobot_SHT20="DFRobot_SHT20 sht20;\n",f.setups_.setup_sht20initSHT20="sht20.initSHT20();",f.setups_["setup_sht20.checkSHT20"]="sht20.checkSHT20(); \n",[this.getFieldValue("SHT20_TYPE"),f.ORDER_ATOMIC]},mA=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n",[this.getFieldValue("ADXL345_PIN"),f.ORDER_ATOMIC]},CA=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_LIS3DHTR="#include ",f.definitions_.include_define_Wire="#define WIRE Wire",f.definitions_.var_declare_LIS3DHTR="LIS3DHTR LIS;\n",f.setups_["setup_LIS.begin"]="LIS.begin(WIRE,0x19);\n",f.setups_["setup_LIS.openTemp"]="LIS.openTemp();",f.setups_["setup_LIS.setFullScaleRange"]="LIS.setFullScaleRange(LIS3DHTR_RANGE_2G);",f.setups_["setup_LIS.setOutputDataRate"]="LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);",[this.getFieldValue("LIS3DHTR_GETDATA"),f.ORDER_ATOMIC]},OA=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n";var e,t=this.getFieldValue("MIXEPI_ADXL345_OFFSET"),i=f.valueToCode(this,"OFFSET",f.ORDER_ATOMIC);return"setOffsetX"==t?e="accel.setOffsetX(round("+i+"*4/15.9));\n":"setOffsetY"==t?e="accel.setOffsetY(round("+i+"*4/15.9));\n":"setOffsetZ"==t&&(e="accel.setOffsetZ(round("+i+"*4/15.9));\n"),e},SA=function(x,f){return f.definitions_.include_MPU6050_tockn="#include ",f.definitions_.include_Wire="#include ",f.definitions_.var_declare_mpu6050="MPU6050 mpu6050(Wire);",f.setups_.setup_ngyro="Wire.begin();\n mpu6050.begin();\n mpu6050.calcGyroOffsets(true);",["mpu6050."+this.getFieldValue("MPU6050_TYPE"),f.ORDER_ATOMIC]},RA=function(){return"mpu6050.update();\n"},DA=function(x,f){return"encoder_"+this.getFieldValue("Encoder_NO")+".write("+f.valueToCode(this,"value",f.ORDER_ATOMIC)+");\n "},NA=function(x,f){return["encoder_"+this.getFieldValue("Encoder_NO")+".read()",f.ORDER_ATOMIC]},LA=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");f.definitions_.include_Encoder="#include \n",f.definitions_["var_declare_Encoder_"+i]="Encoder encoder_"+i+"("+e+","+t+");\n ";return""},PA=function(x,f){return"encoder_counter_"+this.getFieldValue("Encoder_NO")+" = "+f.valueToCode(this,"value",f.ORDER_ATOMIC)+";\n "},yA=function(x,f){return["encoder_counter_"+this.getFieldValue("Encoder_NO"),f.ORDER_ATOMIC]},bA=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");return f.definitions_["var_declare_Encoder_"+i]="int encoder_counter_"+i+" = 0;\nint encoder_aState_"+i+";\nint encoder_aLastState_"+i+";\n",f.setups_["setups_encoder_"+i]=" pinMode ("+e+", INPUT);\n pinMode ("+t+", INPUT);\n encoder_aLastState_"+i+" = digitalRead("+e+");\n"," encoder_aState_"+i+" = digitalRead("+e+");\n if (encoder_aState_"+i+" != encoder_aLastState_"+i+") {\n if (digitalRead("+t+") != encoder_aState_"+i+") {\n encoder_counter_"+i+" ++;\n } else {\n encoder_counter_"+i+" --;\n }\n }\n encoder_aLastState_"+i+" = encoder_aState_"+i+";\n"},vA=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("mode"),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC),n=f.valueToCode(this,"DT",f.ORDER_ATOMIC);return f.definitions_.include_ESPRotary="#include ",f.definitions_["var_declare_encoder"+e]=`ESPRotary encoder${e};`,f.setups_["setup_encoder"+e]=`encoder${e}.begin(${n}, ${i});\n encoder${e}.setStepsPerClick(${t});`,f.loops_begin_["loop_encoder"+e]=`encoder${e}.loop();\n`,""},wA=function(x,f){return[`encoder${this.getFieldValue("TYPE")}.${this.getFieldValue("OPERATE_TYPE")}()`,f.ORDER_ATOMIC]},YA=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC);return`encoder${e}.${this.getFieldValue("OPERATE_TYPE")}(${t});\n`},VA=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("OPERATE_TYPE"),i=f.statementToCode(this,"DO"),n="encoder"+e;switch(t){case"setChangedHandler":n+="OnChanged";break;case"setRightRotationHandler":n+="OnRightRotation";break;case"setLeftRotationHandler":n+="OnLeftRotation";break;case"setUpperOverflowHandler":n+="OnUpperOverflow";break;default:n+="OnLowerOverflow"}f.definitions_["function_"+n]=`void ${n}(ESPRotary& encoder${e}) {\n ${i}}\n`,f.setups_["setup_"+n]=`encoder${e}.${t}(${n});`;return""},kA=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"address",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_Sensor="#include ","bme"==e?(f.definitions_.include_Adafruit_BME280="#include ",f.definitions_.var_declare_Adafruit_BME280="Adafruit_BME280 bme;"):(f.definitions_.include_Adafruit_BMP280="#include ",f.definitions_.var_declare_Adafruit_BMP280="Adafruit_BMP280 bmp;"),f.setups_.setup_status="unsigned status;\n status = "+e+".begin("+t+");",f.definitions_.include_SEALEVELPRESSURE_HPA="#define SEALEVELPRESSURE_HPA (1013.25)",[e+"."+this.getFieldValue("BME_TYPE"),f.ORDER_ATOMIC]},XA=function(x,f){f.definitions_.include_PS2X_lib="#include ",f.definitions_.var_declare_PS2X="PS2X ps2x;";var e=this.getFieldValue("PS2_DAT"),t=this.getFieldValue("PS2_CMD"),i=this.getFieldValue("PS2_SEL"),n=this.getFieldValue("PS2_CLK"),s=this.getFieldValue("rumble");return f.setups_.setup_ps2x_config_gamepad="ps2x.config_gamepad("+n+","+t+","+i+","+e+", true, "+s+");\n delay(300);\n",""},GA=function(){return"ps2x.read_gamepad(false, 0);\ndelay(30);\n"},BA=function(x,f){var e=this.getFieldValue("psbt");return["ps2x."+this.getFieldValue("btstate")+"("+e+")",f.ORDER_ATOMIC]},UA=function(x,f){return["ps2x.Analog("+this.getFieldValue("psstk")+")",f.ORDER_ATOMIC]},WA=function(x,f){return f.definitions_.include_DFRobot_TCS34725="#include ",f.definitions_.var_declare_TCS34725="DFRobot_TCS34725 tcs34725;\n",f.setups_.setup_DFRobot_TCS34725="tcs34725.begin();",[this.getFieldValue("DF_TCS34725_COLOR"),f.ORDER_ATOMIC]},HA=function(x,f){var e=f.valueToCode(this,"tcs230_s0",f.ORDER_ATOMIC),t=f.valueToCode(this,"tcs230_s1",f.ORDER_ATOMIC),i=f.valueToCode(this,"tcs230_s2",f.ORDER_ATOMIC),n=f.valueToCode(this,"tcs230_s3",f.ORDER_ATOMIC),s=f.valueToCode(this,"tcs230_led",f.ORDER_ATOMIC),a=f.valueToCode(this,"tcs230_out",f.ORDER_ATOMIC);f.definitions_.define_tcs230_pin="#define tcs230_S0 "+e+"\n#define tcs230_S1 "+t+"\n#define tcs230_S2 "+i+"\n#define tcs230_S3 "+n+"\n#define tcs230_sensorOut "+a+"\n#define tcs230_LED "+s,f.definitions_.function_tcs230_Getcolor="//TCS230颜色传感器获取RGB值\nint tcs230_Getcolor(char data)\n{\n int frequency = 0;\n switch(data)\n {\n case 'R':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,LOW);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 72, 255, 0);\n break;\n }\n case 'G':\n {\n digitalWrite(tcs230_S2,HIGH);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 30, 90, 255, 0);\n break;\n }\n case 'B':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 70, 255, 0);\n break;\n }\n default:\n return -1;\n }\n if (frequency < 0)\n frequency = 0;\n if (frequency > 255)\n frequency = 255;\n return frequency;\n}\n",f.setups_.setup_tcs230_pin="pinMode(tcs230_S0, OUTPUT);\n pinMode(tcs230_S1, OUTPUT);\n pinMode(tcs230_S2, OUTPUT);\n pinMode(tcs230_S3, OUTPUT);\n pinMode(tcs230_LED, OUTPUT);\n pinMode(tcs230_sensorOut, INPUT);\n digitalWrite(tcs230_S0,HIGH);\n digitalWrite(tcs230_S1,LOW);\n digitalWrite(tcs230_LED,HIGH);";return""},zA=function(x,f){return["tcs230_Getcolor('"+this.getFieldValue("tcs230_color")+"')",f.ORDER_ATOMIC]},KA=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_row",f.ORDER_ATOMIC),i=f.valueToCode(this,"keypad_col",f.ORDER_ATOMIC),n=f.valueToCode(this,"keypad_type",f.ORDER_ATOMIC);f.definitions_.include_Keypad="#include ",f.definitions_["var_keypadstart1"+e]="const byte "+e+"_ROWS = 4;",f.definitions_["var_keypadstart2"+e]="const byte "+e+"_COLS = 4;",f.definitions_["var_keypadstart3"+e]="char "+e+"_hexaKeys["+e+"_ROWS]["+e+"_COLS] = {\n"+n+"\n};",f.definitions_["var_keypadstart4"+e]="byte "+e+"_rowPins["+e+"_ROWS] = "+t,f.definitions_["var_keypadstart5"+e]="byte "+e+"_colPins["+e+"_COLS] = "+i,f.definitions_["var_keypadstart6"+e]="Keypad "+e+" = Keypad(makeKeymap("+e+"_hexaKeys), "+e+"_rowPins, "+e+"_colPins, "+e+"_ROWS, "+e+"_COLS);",f.setups_.setup_serial_Serial="Serial.begin(9600);";return""},ZA=function(x,f){return["{"+f.valueToCode(this,"keypad_row_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},jA=function(x,f){return["{"+f.valueToCode(this,"keypad_col_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},JA=function(x,f){return[" {'"+this.getFieldValue("keypad_1_1")+"','"+this.getFieldValue("keypad_1_2")+"','"+this.getFieldValue("keypad_1_3")+"','"+this.getFieldValue("keypad_1_4")+"'},\n {'"+this.getFieldValue("keypad_2_1")+"','"+this.getFieldValue("keypad_2_2")+"','"+this.getFieldValue("keypad_2_3")+"','"+this.getFieldValue("keypad_2_4")+"'},\n {'"+this.getFieldValue("keypad_3_1")+"','"+this.getFieldValue("keypad_3_2")+"','"+this.getFieldValue("keypad_3_3")+"','"+this.getFieldValue("keypad_3_4")+"'},\n {'"+this.getFieldValue("keypad_4_1")+"','"+this.getFieldValue("keypad_4_2")+"','"+this.getFieldValue("keypad_4_3")+"','"+this.getFieldValue("keypad_4_4")+"'}",f.ORDER_ATOMIC]},qA=function(x,f){return[this.getFieldValue("keypad_name")+".getKey()",f.ORDER_ATOMIC]},QA=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_event_input",f.ORDER_ATOMIC),i=this.getFieldValue("keypad_start_event_delay"),n=f.statementToCode(this,"keypad_event_data");f.definitions_["define_variate_"+t]="volatile char "+t+";",f.definitions_["var_keypadstart7_event"+e]="void keypadEvent_"+e+"(KeypadEvent "+t+") {\n"+n+"\n}",f.setups_["setup_keypad_event_and_delay"+e]=e+".addEventListener(keypadEvent_"+e+");\n "+e+".setHoldTime("+i+");";return""},$A=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_FaBo9Axis_MPU9250="#include ",f.definitions_.var_declare_FaBo9Axis="FaBo9Axis fabo_9axis;\n float ax,ay,az,gx,gy,gz,mx,my,mz;",f.setups_.setup_fabo_9axis="fabo_9axis.begin();";var e=this.getFieldValue("MixGo_MPU9250_GETAB"),t="";return"a"==e&&(t+="fabo_9axis.readAccelX()"),"b"==e&&(t+="fabo_9axis.readAccelY()"),"c"==e&&(t+="fabo_9axis.readAccelZ()"),"d"==e&&(t+="fabo_9axis.readGyroX()"),"e"==e&&(t+="fabo_9axis.readGyroY()"),"f"==e&&(t+="fabo_9axis.readGyroZ()"),"g"==e&&(t+="fabo_9axis.readMagnetX()"),"h"==e&&(t+="fabo_9axis.readMagnetY()"),"i"==e&&(t+="fabo_9axis.readMagnetZ()"),[t,f.ORDER_ATOMIC]},xg=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"NominalResistance",f.ORDER_ATOMIC),i=f.valueToCode(this,"betaCoefficient",f.ORDER_ATOMIC),n=f.valueToCode(this,"seriesResistor",f.ORDER_ATOMIC);return f.definitions_.include_thermistor="#include ",f.definitions_["var_declare_thermistor"+e]="THERMISTOR thermistor"+e+"("+e+","+t+","+i+","+n+");",["thermistor"+e+".read()",f.ORDER_ATOMIC]},fg=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_RL_AHT21="#include ",f.definitions_.var_declare_AHT21="AHT21Class AHT21;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_AHT21.begin"]="AHT21.begin();\n",[this.getFieldValue("AHT21_TYPE"),f.ORDER_ATOMIC]},eg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||z.Profile.default.serial;return f.setups_["setup_serial_"+e]=e+".begin("+t+");",""},tg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+".write("+t+");\n"},ig=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("new_line"),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+"."+t+"("+i+");\n"},ng=ig,sg=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("STAT"),i=this.getFieldValue("new_line"),n=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+"."+i+"("+n+","+t+");\n"},ag=sg,cg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+".available()",f.ORDER_ATOMIC]},lg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+".readString()",f.ORDER_ATOMIC]},dg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+".readStringUntil("+t+")",f.ORDER_ATOMIC]},pg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),[e+"."+this.getFieldValue("STAT")+"()",f.ORDER_ATOMIC]},og=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+z.Profile.default.serial+");"),e+".flush();\n"},rg=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);return f.definitions_.include_SoftwareSerial="#include ",f.definitions_["var_declare_"+e]="SoftwareSerial "+e+"("+t+","+i+");",""},ug=function(x,f){var e=this.getFieldValue("serial_select"),t="attachPinInterrupt_fun_"+e,i=f.statementToCode(this,"DO"),n="void "+e.replace("Serial","serialEvent")+"() {\n"+i+"}\n";return f.definitions_[t]=n,""};var _g;const hg=function(x,f){var e=z.JSFuncs.getPlatform();_g=f.valueToCode(this,"PIN_CS",f.ORDER_ATOMIC),e.match(RegExp(/ESP32/))?f.definitions_.include_mySD="#include ":f.definitions_.include_SD="#include ",f.definitions_.include_SPI="#include ",f.setups_.setup_sd_write_begin="SD.begin("+_g+");";return""},Fg=function(x,f){var e=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";f.definitions_.var_declare_File_datafile="File datafile;";var n="datafile = SD.open("+e+", FILE_WRITE);\n";return n+="if(datafile){\n",n+="\tdatafile.print("+t+");\n","true"==i&&(n+='\tdatafile.println("");\n'),n+="\tdatafile.close();\n",n+="}\n"},Ig=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+_g+");";return["card.type()",f.ORDER_ATOMIC]},Ag=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.definitions_.var_declare_SdFile="SdFile root;",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+_g+");",f.setups_.setup_volume_init="volume.init(card);";return"root.openRoot(volume);\nroot.ls(LS_R | LS_DATE | LS_SIZE);"},gg=function(x,f){return f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+_g+");",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_volume_init="volume.init(card);",[this.getFieldValue("volume_TYPE"),f.ORDER_ATOMIC]},Eg=function(x,f){return["SD.exists("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Mg=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.var_declare_File_datafile="File datafile;",f.definitions_.var_declare_File_datafile_SD_card_reading='String SD_card_reading(String path) {\ndatafile = SD.open(path.c_str());\n String sd_data = "";\n while (datafile.available()) {\n sd_data = String(sd_data) + String(char(datafile.read()));\n }\n return sd_data;\n}',["SD_card_reading("+e+")",f.ORDER_ATOMIC]},Tg=function(x,f){return"SD.remove("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");"},mg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value){\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if(time.b[2] != EEPROM.read(address+2))\n EEPROM.write(address+2, time.b[2]);\n if(time.b[3] != EEPROM.read(address+3))\n EEPROM.write(address+3, time.b[3]);\n}\n";return f.definitions_[i]=n,"eepromWriteLong("+e+", "+t+");\n"},Cg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var t="eepromReadLong("+e+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return f.definitions_[i]=n,[t,f.ORDER_ATOMIC]},Og=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.write("+e+", "+t+");\n"},Sg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ",["EEPROM.read("+e+")",f.ORDER_ATOMIC]},Rg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.put("+e+", "+t+");\n"},Dg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.get("+e+", "+t+");\n"},Ng=function(x,f){var e=this.getFieldValue("MODE"),t=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',n=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";if(f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',1==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void writeFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_WRITE);\n if (!file) {\n Serial.println("- failed to open file for writing");\n return;\n }\n if (file.print(message)) {\n Serial.println("- file written");\n } else {\n Serial.println("- write failed");\n }\n file.close();\n}',"true"==n)var s="writeFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="writeFile(SPIFFS, "+t+", String("+i+").c_str());\n";if(2==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void appendFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_APPEND);\n if (!file) {\n Serial.println("- failed to open file for appending");\n return;\n }\n if (file.print(message)) {\n Serial.println("- message appended");\n } else {\n Serial.println("- append failed");\n }\n file.close();\n}',"true"==n)s="appendFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="appendFile(SPIFFS, "+t+", String("+i+").c_str());\n";return s},Lg=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_read='String readFile(fs::FS &fs, const char * path) {\n File file = fs.open(path);\n if (!file || file.isDirectory()) {\n Serial.println("- failed to open file for reading");\n file.close();\n return "SPIFFS_error";\n } else {\n Serial.println("- read from file:");\n String SPIFFS_data = "";\n while (file.available()) {\n SPIFFS_data = String(SPIFFS_data) + String(char(file.read()));\n }\n file.close();\n return SPIFFS_data;\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',["readFile(SPIFFS, "+e+")",f.ORDER_ATOMIC]},Pg=function(x,f){return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_DelFile='void deleteFile(fs::FS &fs, const char * path) {\n if (fs.remove(path)) {\n Serial.println("- file deleted");\n } else {\n Serial.println("- delete failed");\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',"deleteFile(SPIFFS, "+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");\n"},yg=function(x,f){return[f.quote_(this.getFieldValue("TEXT")),f.ORDER_ATOMIC]},bg=function(x,f){return["'"+this.getFieldValue("TEXT")+"'",f.ORDER_ATOMIC]},vg=function(x,f){return["String("+f.valueToCode(this,"A",f.ORDER_ATOMIC)+")"+" + "+("String("+f.valueToCode(this,"B",f.ORDER_ATOMIC)+")"),f.ORDER_ATOMIC]},wg=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+f.valueToCode(this,"VAR",f.ORDER_ATOMIC)+")"+"."+e+"()",f.ORDER_ATOMIC]},Yg=function(x,f){return["char("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},Vg=function(x,f){return["toascii("+("'"+this.getFieldValue("TEXT")+"'")+")",f.ORDER_ATOMIC]},kg=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+", "+e+")",f.ORDER_ATOMIC]},Xg=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").length()",f.ORDER_ATOMIC]},Gg=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").charAt("+(f.valueToCode(this,"AT",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},Bg=function(x,f){var e="String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")",t="String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")";return[e+"."+this.getFieldValue("DOWHAT")+"("+t+")",f.ORDER_ATOMIC]},Ug=function(x,f){return["String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")"+".compareTo("+("String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")")+")",f.ORDER_ATOMIC]},Wg=function(x,f){return["String("+f.valueToCode(this,"numeral",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"decimal_places",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Hg=function(x,f){return["String("+f.valueToCode(this,"name",f.ORDER_ATOMIC)+").substring("+f.valueToCode(this,"Start",f.ORDER_ATOMIC)+","+f.valueToCode(this,"end",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},zg=function(x,f){var e=this.getFieldValue("type");return""+f.valueToCode(this,"String",f.ORDER_ATOMIC)+e+";\n"},Kg=function(x,f){var e=f.valueToCode(this,"String",f.ORDER_ATOMIC),t=f.valueToCode(this,"replace",f.ORDER_ATOMIC);return e+".replace("+f.valueToCode(this,"source_data",f.ORDER_ATOMIC)+", "+t+");\n"},Zg=function(x,f){return f.valueToCode(this,"String",f.ORDER_ATOMIC)+".trim();\n"},jg=function(x,f){var e=this.getFieldValue("type");return["String("+f.valueToCode(this,"String",f.ORDER_ATOMIC)+")"+e+"("+f.valueToCode(this,"String1",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Jg=function(x,f){var e=f.valueToCode(this,"variable",f.ORDER_ATOMIC);return[this.getFieldValue("type")+"("+e+")",f.ORDER_ATOMIC]},qg=function(x,f){return["String("+f.valueToCode(this,"str1",f.ORDER_ATOMIC)+").indexOf(String("+f.valueToCode(this,"str2",f.ORDER_ATOMIC)+"))",f.ORDER_ATOMIC]},Qg=function(x,f){for(var e=new Array(this.itemCount_),t=0;t",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wire_begin="Wire.begin();",f.setups_['setup_Serial.println("I2C Scanner")']='Serial.println("I2C Scanner");';return'byte error, address;\nint nDevices;\nSerial.println("Scanning...");\nnDevices = 0;\nfor (address = 1; address < 127; address++ ){\n Wire.beginTransmission(address);\n error = Wire.endTransmission();\n if (error == 0){\n Serial.print("I2C device found at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.print(address, HEX);\n Serial.println(" !");\n nDevices++;\n }\n else if (error == 4){\n Serial.print("Unknow error at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.println(address, HEX);\n }\n}\nif (nDevices == 0)\n Serial.println("No I2C devices found");\nelse\n Serial.println("done");\ndelay(5000);\n'};function tE(x){switch(x){case"0000":x="0";break;case"0001":x="1";break;case"0010":x="2";break;case"0011":x="3";break;case"0100":x="4";break;case"0101":x="5";break;case"0110":x="6";break;case"0111":x="7";break;case"1000":x="8";break;case"1001":x="9";break;case"1010":x="A";break;case"1011":x="B";break;case"1100":x="C";break;case"1101":x="D";break;case"1110":x="E";break;case"1111":x="F"}return x}function iE(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}const nE=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),H.Variables.NAME_TYPE),t="TRUE"==this.getFieldValue("save_hz"),i=f.valueToCode(this,"input_data",f.ORDER_ATOMIC),n=0;for(var s of i)","==s&&n++;n++,this.setFieldValue(n,"x"),f.libs_[e]=t?"static const unsigned char PROGMEM "+e+"["+n+"] = {"+i+"};":"unsigned char "+e+"["+n+"] = {"+i+"};";return""};for(var sE=new Array,aE=0;aE<8;aE++)sE[aE]=128>>aE;var cE=document.createElement("canvas"),lE=cE.getContext("2d");const dE=function(x,f){var e=this.getFieldValue("bitmap_formats"),t=this.getFieldValue("modulus_way"),i=this.getFieldValue("modulus_direction"),n=this.getFieldValue("hz_sharp"),s=this.getFieldValue("hz_line_height"),a=this.getFieldValue("hz_up_down"),c=this.getFieldValue("hz_up_down_data"),l=this.getFieldValue("hz_left_right"),d=this.getFieldValue("hz_left_right_data"),p=this.getFieldValue("bitmap_width"),o=this.getFieldValue("bitmap_height"),r=this.getFieldValue("input_data"),u=iE(p),_=iE(o),h=Math.ceil(u/8),F=0,I=0;I=iE("hz_down"==a?c:"-"+c),F=iE("hz_right"==l?d:"-"+d),cE.width=u,cE.height=_,lE.font="normal normal normal "+s+"px "+n,lE.textAlign="left",lE.textBaseline="top";var A=r;lE.fillStyle="#000000",lE.fillRect(0,0,u,_),lE.fillStyle="#ffffff",lE.translate(u/2,_/2),lE.rotate(Math.PI/180*0),lE.fillText(A,F-u/2,I-_/2);for(var g=lE.getImageData(0,0,u,_).data,E=new Array(h*_),M=0;M0?"0"==D?S+=" ":"1"==D&&(S+="0 "):R%(8*h)==0&&(S+="|\n|");for(M=0;Mu-1));M++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}else if("2"==t){P=Y*_;for(T=1;T<=P;T++){for(M=1;M<=8;M++)b=T%Y==0?8*(Y-1)+M-1:8*(T%Y-1)+M-1,v=Math.ceil(T/Y)-1,"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}else if("3"==t){P=w*u;for(T=1;T<=P;T++){for(M=1;M<=8&&(b=T%(8*Y)==0?8*Y-1:T%(8*Y)-1,v=8*(Math.ceil(T/(8*Y))-1)+M-1,!(b>u-1));M++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}else if("4"==t){P=Y*_;for(T=1;T<=P;T++){for(M=1;M<=8;M++)v=T%_==0?_-1:T%_-1,b=8*(Math.ceil(T/_)-1)+M-1,"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}var V="",k="";if(2==i){for(var M of y)","==M?(k+=V,k+=",",V=""):V=M+V;y=k}for(var M of(V="",k="0x",y))","!=M?4==(V+=M).length&&(k+=tE(V),V=""):k+=",0x";return y=(y=k).substring(0,y.length-3),f.definitions_["var_declare_tool_modulus_data_"+n+"_"+s+"px"+function(x){let f=[];for(let e=0;e(_msg), length);\n}\n",f.setups_.setup_esp_now='\n WiFi.persistent(false);\n WiFi.mode(WIFI_AP);\n WiFi.disconnect();\n WiFi.softAP("ESPNOW", nullptr, 3);\n WiFi.softAPdisconnect(false);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.softAPmacAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }',`if (sendMessage(PEER_${a}, ${t})) {\n`+i+"} else {\n"+n+"}\n"},bE=function(x,f){var e=f.statementToCode(this,"receive_data");e=e.replace(/(^\s*)|(\s*$)/g,""),f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_WifiEspNow="#include ",f.definitions_.function_onMessageRecv='void OnMessageRecv(const uint8_t _mac[WIFIESPNOW_ALEN], const uint8_t* _buf, size_t _count, void* arg) {\n // Serial.printf("从MAC:%02X:%02X:%02X:%02X:%02X:%02X处收到数据\\n", _mac[0], _mac[1], _mac[2], _mac[3], _mac[4], _mac[5]);\n String message = "";\n for (int i = 0; i < static_cast(_count); i++) {\n message += String(static_cast(_buf[i]));\n }\n '+e+"\n}\n",f.setups_.setup_esp_now_message_receive_cb="WifiEspNow.onReceive(OnMessageRecv, nullptr);",f.setups_.setup_esp_now='\n WiFi.persistent(false);\n WiFi.mode(WIFI_AP);\n WiFi.disconnect();\n WiFi.softAP("ESPNOW", nullptr, 3);\n WiFi.softAPdisconnect(false);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.softAPmacAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }';return""},vE='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n {{# if (d.href === \'#\') { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } else { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } }}\r\n
\r\n
',{XML:wE}=z,{ZhHans:YE}=H.Lang;YE.ESP8266_CONFIG_TEMPLATE=vE,YE.ESP8266_CONFIG_INTRODUCE="详细介绍请参考",YE.ESP8266_CONFIG_MESSAGE_XTAL=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"CPU时钟频率",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#cpu-frequency",name:"CPU Frequency"}),YE.ESP8266_CONFIG_MESSAGE_VT=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"VTable location",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#vtable-location",name:"VTable"}),YE.ESP8266_CONFIG_MESSAGE_EXCEPTION=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"C++异常",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#c-exceptions",name:"C++ Exceptions"}),YE.ESP8266_CONFIG_MESSAGE_STACKSMASH=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"堆栈保护",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#stack-protection",name:"Stack Protection"}),YE.ESP8266_CONFIG_MESSAGE_SSL=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"SSL支持",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#ssl-support",name:"SSL Support"}),YE.ESP8266_CONFIG_MESSAGE_MMU=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"内存管理单元",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#mmu-memory-management-unit",name:"MMU"}),YE.ESP8266_CONFIG_MESSAGE_NON32XFER=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"非32位访问",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#non-32-bit-access",name:"Non-32-Bit Access"}),YE.ESP8266_CONFIG_MESSAGE_RESET_METHOD=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"复位方式",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#reset-method",name:"Reset Method"}),YE.ESP8266_CONFIG_MESSAGE_CRYSTAL_FREQ=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"晶振频率",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#crystal-frequency",name:"Crystal Frequency"}),YE.ESP8266_CONFIG_MESSAGE_FLASH_FREQ=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"闪存频率",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"无"}),YE.ESP8266_CONFIG_MESSAGE_FLASH_MODE=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"烧录方式",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-mode",name:"Flash Mode"}),YE.ESP8266_CONFIG_MESSAGE_EESZ=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"闪存大小",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-size",name:"Flash Size"}),YE.ESP8266_CONFIG_MESSAGE_LED=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"内置LED",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"无"}),YE.ESP8266_CONFIG_MESSAGE_SDK=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"NonOS SDK版本",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#nonos-sdk-version",name:"NONOS SDK Version"}),YE.ESP8266_CONFIG_MESSAGE_IP=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"lwIP变体",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#lwip-variant",name:"lwIP Variant"}),YE.ESP8266_CONFIG_MESSAGE_DBG=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"调试端口",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#debug-port",name:"Debug port"}),YE.ESP8266_CONFIG_MESSAGE_WIPE=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"擦除Flash",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#erase-flash",name:"Erase Flash"}),YE.ESP8266_CONFIG_MESSAGE_BAUD=wE.render(YE.ESP8266_CONFIG_TEMPLATE,{title:"上传速度",moreInfo:YE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"无"}),YE.BOARD_FS="板卡文件管理";const VE=YE,{XML:kE}=z,{ZhHant:XE}=H.Lang;XE.ESP8266_CONFIG_TEMPLATE=vE,XE.ESP8266_CONFIG_INTRODUCE="詳細介紹請參攷",XE.ESP8266_CONFIG_MESSAGE_XTAL=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"CPU時鐘頻率",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#cpu-frequency",name:"CPU Frequency"}),XE.ESP8266_CONFIG_MESSAGE_VT=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"VTable location",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#vtable-location",name:"VTable"}),XE.ESP8266_CONFIG_MESSAGE_EXCEPTION=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"C++异常",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#c-exceptions",name:"C++ Exceptions"}),XE.ESP8266_CONFIG_MESSAGE_STACKSMASH=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"堆棧保護",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#stack-protection",name:"Stack Protection"}),XE.ESP8266_CONFIG_MESSAGE_SSL=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"SSL支持",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#ssl-support",name:"SSL Support"}),XE.ESP8266_CONFIG_MESSAGE_MMU=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"記憶體管理單元",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#mmu-memory-management-unit",name:"MMU"}),XE.ESP8266_CONFIG_MESSAGE_NON32XFER=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"非32比特訪問",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#non-32-bit-access",name:"Non-32-Bit Access"}),XE.ESP8266_CONFIG_MESSAGE_RESET_METHOD=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"復位管道",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#reset-method",name:"Reset Method"}),XE.ESP8266_CONFIG_MESSAGE_CRYSTAL_FREQ=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"晶振頻率",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#crystal-frequency",name:"Crystal Frequency"}),XE.ESP8266_CONFIG_MESSAGE_FLASH_FREQ=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"閃存頻率",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"無"}),XE.ESP8266_CONFIG_MESSAGE_FLASH_MODE=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"燒錄管道",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-mode",name:"Flash Mode"}),XE.ESP8266_CONFIG_MESSAGE_EESZ=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"閃存大小",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-size",name:"Flash Size"}),XE.ESP8266_CONFIG_MESSAGE_LED=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"內寘LED",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"無"}),XE.ESP8266_CONFIG_MESSAGE_SDK=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"NonOS SDK版本",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#nonos-sdk-version",name:"NONOS SDK Version"}),XE.ESP8266_CONFIG_MESSAGE_IP=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"lwIP變體",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#lwip-variant",name:"lwIP Variant"}),XE.ESP8266_CONFIG_MESSAGE_DBG=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"調試埠",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#debug-port",name:"Debug port"}),XE.ESP8266_CONFIG_MESSAGE_WIPE=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"擦除Flash",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#erase-flash",name:"Erase Flash"}),XE.ESP8266_CONFIG_MESSAGE_BAUD=kE.render(XE.ESP8266_CONFIG_TEMPLATE,{title:"上傳速度",moreInfo:XE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"無"}),XE.BOARD_FS="闆卡文件管理";const GE=XE,{XML:BE}=z,{En:UE}=H.Lang;UE.ESP8266_CONFIG_TEMPLATE=vE,UE.ESP8266_CONFIG_INTRODUCE="For more information, please visit",UE.ESP8266_CONFIG_MESSAGE_XTAL=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"CPU Frequency",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#cpu-frequency",name:"CPU Frequency"}),UE.ESP8266_CONFIG_MESSAGE_VT=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"VTable location",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#vtable-location",name:"VTable"}),UE.ESP8266_CONFIG_MESSAGE_EXCEPTION=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"C++ Exceptions",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#c-exceptions",name:"C++ Exceptions"}),UE.ESP8266_CONFIG_MESSAGE_STACKSMASH=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Stack Protection",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#stack-protection",name:"Stack Protection"}),UE.ESP8266_CONFIG_MESSAGE_SSL=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"SSL支持",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#ssl-support",name:"SSL Support"}),UE.ESP8266_CONFIG_MESSAGE_MMU=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Memory Management Unit",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#mmu-memory-management-unit",name:"MMU"}),UE.ESP8266_CONFIG_MESSAGE_NON32XFER=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Non-32-Bit Access",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#non-32-bit-access",name:"Non-32-Bit Access"}),UE.ESP8266_CONFIG_MESSAGE_RESET_METHOD=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Reset Method",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#reset-method",name:"Reset Method"}),UE.ESP8266_CONFIG_MESSAGE_CRYSTAL_FREQ=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Crystal Frequency",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#crystal-frequency",name:"Crystal Frequency"}),UE.ESP8266_CONFIG_MESSAGE_FLASH_FREQ=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Flash Frequency",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"None"}),UE.ESP8266_CONFIG_MESSAGE_FLASH_MODE=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Flash Mode",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-mode",name:"Flash Mode"}),UE.ESP8266_CONFIG_MESSAGE_EESZ=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Flash Size",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-size",name:"Flash Size"}),UE.ESP8266_CONFIG_MESSAGE_LED=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Builtin Led",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"None"}),UE.ESP8266_CONFIG_MESSAGE_SDK=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"NONOS SDK Version",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#nonos-sdk-version",name:"NONOS SDK Version"}),UE.ESP8266_CONFIG_MESSAGE_IP=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"lwIP Variant",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#lwip-variant",name:"lwIP Variant"}),UE.ESP8266_CONFIG_MESSAGE_DBG=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Debug port",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#debug-port",name:"Debug port"}),UE.ESP8266_CONFIG_MESSAGE_WIPE=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Erase Flash",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#erase-flash",name:"Erase Flash"}),UE.ESP8266_CONFIG_MESSAGE_BAUD=BE.render(UE.ESP8266_CONFIG_TEMPLATE,{title:"Upload Speed",moreInfo:UE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"None"}),UE.BOARD_FS="Board FS";const WE=UE,HE=path,zE={littlefs:{download:"{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},spiffs:{download:"{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},fatfs:{download:"{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -t fatfs -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -t fatfs -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"}},KE={"esp8266:esp8266:generic":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192},"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768},"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920},"8M6M":{flash_size:"8M",flash_size_bytes:8388608,flash_ld:"eagle.flash.8m6m.ld",spiffs_pagesize:256,rfcal_addr:8372224,spiffs_start:2097152,spiffs_end:8364032,spiffs_blocksize:8192},"8M7M":{flash_size:"8M",flash_size_bytes:8388608,flash_ld:"eagle.flash.8m7m.ld",spiffs_pagesize:256,rfcal_addr:8372224,spiffs_start:1048576,spiffs_end:8364032,spiffs_blocksize:8192},"16M14M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m14m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:2097152,spiffs_end:16752640,spiffs_blocksize:8192},"16M15M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m15m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:1048576,spiffs_end:16752640,spiffs_blocksize:8192},"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:esp8285":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192},"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768}},"esp8266:esp8266:espduino":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:huzzah":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:inventone":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:cw01":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espresso_lite_v1":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espresso_lite_v2":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:phoenix_v1":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:phoenix_v2":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:nodemcu":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:nodemcuv2":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:modwifi":{"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768}},"esp8266:esp8266:thing":{"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:thingdev":{"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:blynk":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:esp210":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:d1_mini":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:d1_mini_pro":{"16M14M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m14m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:2097152,spiffs_end:16752640,spiffs_blocksize:8192},"16M15M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m15m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:1048576,spiffs_end:16752640,spiffs_blocksize:8192}},"esp8266:esp8266:d1_mini_lite":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}},"esp8266:esp8266:d1":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espino":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espinotee":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:wifinfo":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}},"esp8266:esp8266:arduino-esp8266":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:gen4iod":{"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768},"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:oak":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:wifiduino":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:wifi_slot":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192},"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768}},"esp8266:esp8266:wiolink":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espectro":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:eduinowifi":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:sonoff":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}},"esp8266:esp8266:espmxdevkit":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}}},ZE=[{id:"littlefs",text:"littlefs"},{id:"spiffs",text:"spiffs"}],jE={mkspiffs:{version:"0.2.3",linux:{x32:"./mkspiffs/linux/mkspiffs-x32.bin",x64:"./mkspiffs/linux/mkspiffs-x64.bin",arm:"./mkspiffs/linux/mkspiffs-arm.bin"},darwin:{x64:"./mkspiffs/darwin/mkspiffs.bin",arm:"./mkspiffs/darwin/mkspiffs.bin"},win32:{x32:"./mkspiffs/win32/mkspiffs.exe",x64:"./mkspiffs/win32/mkspiffs.exe"}},mklittlefs:{version:"3.2.0",linux:{x32:"./mklittlefs/linux/mklittlefs-x64.bin",x64:"./mklittlefs/linux/mklittlefs-x64.bin",arm:"./mklittlefs/linux/mklittlefs-arm.bin"},darwin:{x64:"./mklittlefs/darwin/mklittlefs.bin",arm:"./mklittlefs/darwin/mklittlefs.bin"},win32:{x32:"./mklittlefs/win32/mklittlefs-x32.exe",x64:"./mklittlefs/win32/mklittlefs-x64.exe"}}};class JE extends z.FSBoardHandler{constructor(){super();for(let x in zE)this.setFSCommands(x,zE[x])}onBeforeUpload(){const x=z.Boards.getSelectedBoardKey(),f=z.Boards.getSelectedBoardConfigParam("FlashMode")||"keep";let e=z.Boards.getSelectedBoardConfigParam("FlashFreq")||"keep";"keep"!==e&&(e+="m");const t=z.Boards.getSelectedBoardConfigParam("baud")||"115200",i=z.Boards.getSelectedBoardConfigParam("eesz"),n=KE[x][i],s={offset:n.spiffs_start,size:n.spiffs_end-n.spiffs_start,blockSize:n.spiffs_blocksize,pageSize:n.spiffs_pagesize},a=n.flash_size+"B",c=this.getFSToolPath(),l=HE.join(z.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:c,img:l,flashMode:f,flashFreq:e,flashSize:a,baud:t,...s})}onBeforeDownload(){const x=z.Boards.getSelectedBoardKey(),f=z.Boards.getSelectedBoardConfigParam("baud")||"115200",e=z.Boards.getSelectedBoardConfigParam("eesz"),t=KE[x][e],i={offset:t.spiffs_start,size:t.spiffs_end-t.spiffs_start,blockSize:t.spiffs_blocksize,pageSize:t.spiffs_pagesize},n=this.getFSToolPath(),s=HE.join(z.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:n,img:s,baud:f,...i})}getFSMenu(){return ZE}getFSToolPath(){const x=this.getFSType();let f="x64";switch(process.arch){case"arm64":case"arm":f="arm";break;case"ia32":f="x32";break;default:f="x64"}const e=z.Env.currentPlatform,t=jE[`mk${x}`];return HE.join(z.Env.boardDirPath,"build/tools",t[e][f])}}H.Arduino=Rx,H.generator=Rx,Object.assign(H.Variables,Ox),Object.assign(H.Procedures,mx),z.Profile.default={},Object.assign(z.Profile,NE),Object.assign(z.Profile.default,NE.arduino_esp8266),Object.assign(H.Lang.ZhHans,VE),Object.assign(H.Lang.ZhHant,GE),Object.assign(H.Lang.En,WE),function(){const x=z.Workspace.getMain().getStatusBarsManager(),f=x.getDropdownMenu().getItem("menu");f.add({weight:2,type:"sep1",data:"---------"}),f.add({weight:3,type:"filesystem-tool",data:{isHtmlName:!0,name:z.ContextMenu.getItem(H.Msg.BOARD_FS,""),callback:()=>{x.add("board-fs","board-fs",H.Msg.BOARD_FS,H.Msg.BOARD_FS),x.changeTo("board-fs");x.getStatusBarById("board-fs").setHandler(new JE)}}})}(),Object.assign(H.Blocks,x,f,n,s,a,c,l,d,p,o,r,u,_,h,F,I,A,g,E,M,T,U),Object.assign(H.Arduino.forBlock,t,i,m,C,O,S,R,D,N,L,P,y,b,v,w,Y,V,k,X,G,B,W)})()})(); \ No newline at end of file +(()=>{"use strict";var x={810:x=>{x.exports="data:image/png;base64,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"},803:x=>{x.exports="data:image/png;base64,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"},964:x=>{x.exports="data:image/png;base64,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"},135:x=>{x.exports="data:image/png;base64,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"},626:x=>{x.exports="data:image/png;base64,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"},415:x=>{x.exports="data:image/png;base64,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"},465:x=>{x.exports="data:image/png;base64,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"},157:x=>{x.exports="data:image/png;base64,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"},199:x=>{x.exports="data:image/png;base64,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"},593:x=>{x.exports="data:image/png;base64,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"},111:x=>{x.exports="data:image/png;base64,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"},292:x=>{x.exports="data:image/png;base64,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"},607:x=>{x.exports="data:image/png;base64,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"},875:x=>{x.exports="data:image/png;base64,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"},244:x=>{x.exports="data:image/png;base64,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"},624:(x,f,e)=>{x.exports=e.p+"images/ESP32c3_ad3ebf81.jpg"},741:(x,f,e)=>{x.exports=e.p+"images/ESP32s2_b49570e2.jpg"},288:(x,f,e)=>{x.exports=e.p+"images/ESP32s3_10bcc520.jpg"},101:x=>{x.exports="data:image/png;base64,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"},319:x=>{x.exports="data:image/png;base64,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"},169:(x,f,e)=>{x.exports=e.p+"images/ProMini_bb71f95d.png"},715:(x,f,e)=>{x.exports=e.p+"images/STM32F103C8T6_aac49c53.png"},392:(x,f,e)=>{x.exports=e.p+"images/core_esp32c3_pin_ae75bf97.png"},945:(x,f,e)=>{x.exports=e.p+"images/leonardo_68c8b773.png"},775:(x,f,e)=>{x.exports=e.p+"images/mega_bb27e7ea.png"},711:(x,f,e)=>{x.exports=e.p+"images/nano_31da349a.png"},533:(x,f,e)=>{x.exports=e.p+"images/uno_bf94dd41.png"},481:x=>{x.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAfCAMAAACxiD++AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAX1QTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfxHl7wAAAH50Uk5TAAMRDg2g9OVmm/5C7ZHBadria32iW4rmYZChAevjqqzx9a288O722yNU/XaVZXdMzecCQCUSELJd+kpBr0/T3l4WbNcyyg8ERGI1H+D5IcajQ4B0FPeL1YjSnOkolsCDwzoJ7/zsGvikl0mm+2+dMyeYlNTqO2oLmUWCCiIM0L6s7AAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAF+SURBVCjPjdP5OwJBGAfwt5AtIglRrVSEKFbpcJSjkPvOfRTCuq9c799uGvt0bNPD95fdmfk8M+/OzgD8HYWSmQppuLJKhexUcxSosWw0NVlQWx6gNgvIs46r12GDnuO4Rk0RMEigCaAZ1XTBFiYwArRiW7ZhMjOBhW+3YoeN53k7MkHZ5IGjU56uQuDsLt1eU09vHrhKhnv6XNDvdnskoC8BAzgoAAx5mcAHMGxB9Ae4oCrEACPBUXc1+Q+0+DEGGCcd4YgPJibNOMVaYtqK0djM7Fwc5hd646waootLvmXSuyKsYnhtvQRsBP2gpQUEwIm4KQOVW9uYgB0KdsGPuCcD+6R5AIcUHMGx9WRGBk7NSdQJnhTpPTufuEizirwk7Su789oLBnrm6FyFianEGyFbzi1iykiBI3KXiwLuRbJTD4m0A8Mp8iWQLD4jw/CIGH0ib88heHklMxnk4C3zCPCOmJGWVNrEYvB7HVXiR66qz6+CCFLnt+Ift5rmByYI3KFNc08pAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIyLTA1LTE3VDAwOjU3OjEwKzA4OjAw/IyOtAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMi0wNS0xN1QwMDo1NzoxMCswODowMI3RNggAAABWdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uXzg5dXZ1cnJsZHplL3BlaXpoaS14aXRvbmdwZWl6aGkuc3Zn5h+NFgAAAABJRU5ErkJggg=="}},f={};function e(t){var i=f[t];if(void 0!==i)return i.exports;var n=f[t]={exports:{}};return x[t](n,n.exports,e),n.exports}e.n=x=>{var f=x&&x.__esModule?()=>x.default:()=>x;return e.d(f,{a:f}),f},e.d=(x,f)=>{for(var t in f)e.o(f,t)&&!e.o(x,t)&&Object.defineProperty(x,t,{enumerable:!0,get:f[t]})},e.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(x){if("object"==typeof window)return window}}(),e.o=(x,f)=>Object.prototype.hasOwnProperty.call(x,f),e.r=x=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})},(()=>{var x;e.g.importScripts&&(x=e.g.location+"");var f=e.g.document;if(!x&&f&&(f.currentScript&&(x=f.currentScript.src),!x)){var t=f.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&(!x||!/^http(s?):/.test(x));)x=t[i--].src}if(!x)throw new Error("Automatic publicPath is not supported in this browser");x=x.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e.p=x})();var t={};e.r(t),e.d(t,{china_city:()=>ix,http_get:()=>J,http_post:()=>q,weather_get_seniverse_weather_info:()=>ax,weather_get_seniverse_weather_info1:()=>cx,weather_get_seniverse_weather_info2:()=>lx,weather_get_seniverse_weather_info3:()=>dx,weather_private_key:()=>nx,weather_seniverse_city_weather:()=>sx});var i={};e.r(i),e.d(i,{text_base64_url_codec:()=>px});var n={};e.r(n),e.d(n,{china_city:()=>_x,http_get:()=>ox,http_post:()=>rx,weather_get_seniverse_weather_info:()=>Ax,weather_get_seniverse_weather_info1:()=>Ix,weather_get_seniverse_weather_info2:()=>gx,weather_get_seniverse_weather_info3:()=>Ex,weather_private_key:()=>hx,weather_seniverse_city_weather:()=>Fx});var s={};e.r(s),e.d(s,{text_base64_url_codec:()=>Mx});var a={};e.r(a),e.d(a,{AFMotorRun:()=>Mf,AFMotorStop:()=>Tf,GD5800_MP3_CONTROL:()=>rf,GD5800_MP3_EQ_MODE:()=>Ff,GD5800_MP3_LOOP_MODE:()=>_f,GD5800_MP3_PLAY_NUM:()=>If,GD5800_MP3_Set_Device:()=>of,GD5800_MP3_VOL:()=>Af,I2Cmotor:()=>Bf,M9101X_S_MP3_CONTROL:()=>Wf,M9101X_S_MP3_PLAY_NUM:()=>zf,M9101X_S_MP3_VOL_CONTROL:()=>Hf,Mixly_motor:()=>cf,Motor_8833:()=>lf,RGB_color_HSV:()=>sf,RGB_color_rgb:()=>jx,RGB_color_seclet:()=>Zx,arduino_dfplayer_available:()=>Xf,arduino_dfplayer_loopFolder:()=>wf,arduino_dfplayer_mini_EQ:()=>Df,arduino_dfplayer_mini_EQ_type:()=>Nf,arduino_dfplayer_mini_begin:()=>mf,arduino_dfplayer_mini_outputDevice:()=>Lf,arduino_dfplayer_mini_outputDevice_type:()=>Pf,arduino_dfplayer_mini_pin:()=>Cf,arduino_dfplayer_mini_setTimeOut:()=>Of,arduino_dfplayer_mini_volume:()=>Sf,arduino_dfplayer_mini_volume_up_down:()=>Rf,arduino_dfplayer_playFolder:()=>vf,arduino_dfplayer_play_loop:()=>bf,arduino_dfplayer_readFileCounts:()=>Vf,arduino_dfplayer_readFileCountsInFolder:()=>kf,arduino_dfplayer_read_now:()=>Yf,arduino_dfplayer_set_1:()=>yf,controls_notone:()=>Bx,controls_notone_noTimer:()=>Wx,controls_tone:()=>Gx,controls_tone_noTimer:()=>Ux,display_rgb:()=>$x,display_rgb_Brightness:()=>Qx,display_rgb_init:()=>qx,display_rgb_rainbow1:()=>ef,display_rgb_rainbow2:()=>tf,display_rgb_rainbow3:()=>nf,display_rgb_show:()=>xf,group_stepper_move:()=>Kx,group_stepper_setup:()=>Hx,group_stepper_setup2:()=>zx,servo_move:()=>yx,servo_move1:()=>wx,servo_read_degrees:()=>vx,servo_read_degrees1:()=>Vx,servo_writeMicroseconds:()=>bx,servo_writeMicroseconds1:()=>Yx,tone_notes:()=>Xx,voice_module:()=>Ef});var c={};e.r(c),e.d(c,{Blynk_connect_state:()=>ee,Blynk_iot_BLYNK_syncAll:()=>ne,Blynk_iot_CONNECT_STATE:()=>ie,Blynk_iot_timer:()=>fe,LM35ESP:()=>ye,arduino_blynk_bluetooth:()=>Ge,blynk_AP_config:()=>be,blynk_AP_config_2:()=>ve,blynk_WidgetRTC_get_time:()=>Oe,blynk_WidgetRTC_init:()=>me,blynk_acc:()=>Le,blynk_bridge_AnaloglWrite:()=>Me,blynk_bridge_VPin:()=>Te,blynk_bridge_auth:()=>ge,blynk_bridge_digitalWrite:()=>Ee,blynk_email:()=>he,blynk_esp32_Bluetooth:()=>Xe,blynk_esp32_ble:()=>ke,blynk_gravity:()=>Ne,blynk_iot_WidgetLED_COLOR:()=>ae,blynk_iot_WidgetLED_VALUE:()=>ce,blynk_iot_get_data:()=>xe,blynk_iot_ir_recv_raw:()=>ue,blynk_iot_ir_send:()=>_e,blynk_iot_ir_send_ac:()=>re,blynk_iot_playmusic:()=>Se,blynk_iot_push_data:()=>$f,blynk_iot_syncVirtual:()=>se,blynk_iot_terminal_get:()=>Re,blynk_lcd:()=>Ye,blynk_lcd_clear:()=>Ve,blynk_light:()=>De,blynk_notify:()=>Fe,blynk_server:()=>Jf,blynk_smartconfig:()=>jf,blynk_table:()=>Be,blynk_table_add_data:()=>$e,blynk_table_cleardata:()=>Ke,blynk_table_click:()=>qe,blynk_table_highlight:()=>We,blynk_table_order:()=>Qe,blynk_table_select:()=>He,blynk_table_unselect:()=>ze,blynk_table_update:()=>Ue,blynk_terminal:()=>Ae,blynk_terminal_clear:()=>we,blynk_time_input_1:()=>Pe,blynk_usb_server:()=>Zf,blynk_videourl:()=>Ie,esp_camera:()=>Ze,esp_camera_blynk:()=>je,take_a_photo1:()=>Je});var l={};e.r(l),e.d(l,{MFRC522_IsNewCard:()=>Lt,MFRC522_ReadCard:()=>bt,MFRC522_ReadCardUID:()=>Pt,MFRC522_WriteCard:()=>yt,MFRC522_init:()=>Nt,RFID_in:()=>Ot,RFID_init:()=>Tt,RFID_off:()=>Dt,RFID_on:()=>mt,RFID_readcarddata:()=>Rt,RFID_readcardnum:()=>Ct,RFID_writecarddata:()=>St,i2c_available:()=>ot,i2c_begin_end_transmission:()=>ct,i2c_howmany:()=>pt,i2c_master_Init:()=>st,i2c_master_reader:()=>At,i2c_master_reader2:()=>It,i2c_master_readerReg:()=>_t,i2c_master_writer:()=>Ft,i2c_master_writerReg:()=>ut,i2c_read:()=>rt,i2c_slave_Init:()=>at,i2c_slave_onreceive:()=>gt,i2c_slave_onrequest:()=>ht,i2c_slave_write:()=>Et,i2c_slave_write_array:()=>dt,i2c_write:()=>lt,ir_recv:()=>ft,ir_recv_enable:()=>tt,ir_recv_raw:()=>it,ir_send_nec:()=>et,ir_send_raw:()=>nt,spi_begin_master:()=>wt,spi_begin_slave:()=>vt,spi_slave_interrupt:()=>Xt,spi_slave_receive:()=>Gt,spi_transfer:()=>Mt,spi_transfer_1:()=>Vt,spi_transfer_2:()=>kt,spi_transfer_Init:()=>Yt});var d={};e.r(d),e.d(d,{base_delay:()=>di,base_setup:()=>Ut,controls_case:()=>fi,controls_default:()=>ei,controls_delay:()=>Wt,controls_end_program:()=>si,controls_flow_statements:()=>Kt,controls_for:()=>Ht,controls_if:()=>jt,controls_if_else:()=>Qt,controls_if_elseif:()=>qt,controls_if_if:()=>Jt,controls_interrupts:()=>ci,controls_millis:()=>Zt,controls_mstimer2:()=>ti,controls_mstimer2_start:()=>ii,controls_mstimer2_stop:()=>ni,controls_nointerrupts:()=>li,controls_soft_reset:()=>ai,controls_switch:()=>xi,controls_switch_case:()=>$t,controls_whileUntil:()=>zt,do_while:()=>oi,execute_super_delay_function1:()=>ui,simple_timer:()=>pi,super_delay_function1:()=>ri});var p={};e.r(p),e.d(p,{HT16K33_Init:()=>bi,MAX7219_init:()=>vi,Matrix_img:()=>Ji,TFT_Brightness:()=>zn,TFT_Rotation:()=>qn,TFT_color_rgb:()=>Zn,TFT_color_seclet:()=>Kn,TFT_fillScreen:()=>Jn,TFT_init:()=>jn,TFT_init_with_pin:()=>Wn,TFT_st7735_show_hz:()=>Hn,display_4digitdisplay_displayString:()=>Si,display_4digitdisplay_power:()=>Oi,display_4digitdisplay_showDot:()=>Ri,display_HT16K33_Rotation:()=>Gi,display_Matrix_Brightness:()=>Ki,display_Matrix_DisplayChar:()=>Wi,display_Matrix_DrawPixel:()=>Yi,display_Matrix_LedArray:()=>Hi,display_Matrix_TEXT:()=>Bi,display_Matrix_fillScreen:()=>ji,display_Matrix_print:()=>Ui,display_Matrix_write:()=>qi,display_Max7219_Rotation:()=>ki,display_Max7219_setPosition:()=>Xi,display_TM1637_Brightness:()=>Pi,display_TM1637_Brightness_32:()=>Fs,display_TM1637_clearDisplay:()=>yi,display_TM1637_clearDisplay_32:()=>As,display_TM1637_displayTime:()=>Li,display_TM1637_displayTime_32:()=>hs,display_TM1637_displyPrint:()=>Ni,display_TM1637_displyPrint_32:()=>_s,display_TM1637_init:()=>Di,display_TM1637_init_32:()=>us,display_lcd_bitmap:()=>Un,display_matrix_bitmap:()=>zi,get_utf8_width:()=>Xn,group_lcd_init:()=>rs,group_lcd_init2:()=>Ei,group_lcd_init3:()=>Mi,group_lcd_power:()=>Ci,group_lcd_print:()=>Ti,group_lcd_print2:()=>mi,lcd_display_pattern:()=>Gn,lcd_pattern:()=>Bn,oled_clear:()=>gn,oled_define_bitmap_data:()=>En,oled_drawCircle:()=>Pn,oled_drawEllipse:()=>yn,oled_drawFrame:()=>Nn,oled_drawLine:()=>On,oled_drawPixel:()=>Cn,oled_drawRFrame:()=>Ln,oled_drawStr:()=>bn,oled_drawTriangle:()=>Dn,oled_draw_Str_Line:()=>Sn,oled_face:()=>Tn,oled_icons:()=>Mn,oled_init:()=>hn,oled_page:()=>Rn,oled_print:()=>Vn,oled_set_CN_Font:()=>wn,oled_set_EN_Font:()=>vn,oled_set_ZH_TW_Font:()=>Yn,oled_showBitmap:()=>mn,tft_Circle:()=>as,tft_Rect:()=>ns,tft_RoundRect:()=>ss,tft_Triangle:()=>is,tft_define_bitmap_data:()=>Qn,tft_drawFastLine:()=>ts,tft_drawLine:()=>es,tft_drawPixel:()=>fs,tft_generate_bitmap_data:()=>$n,tft_icons:()=>ds,tft_print:()=>ps,tft_print_refresh:()=>os,tft_set_CN_Font:()=>ls,tft_set_EN_Font:()=>cs,tft_showBitmap:()=>xs,u8g2_LCD12864_8080_init:()=>In,u8g2_LCD12864_spi_init:()=>An,u8g2_setContrast:()=>kn,u8g2_spi_init:()=>Fn});var o={};e.r(o),e.d(o,{MQTT_add_subscribe_topic:()=>Bs,MQTT_connect:()=>Vs,MQTT_publish:()=>Xs,MQTT_server:()=>ys,MQTT_subscribe:()=>Us,MQTT_subscribe_value:()=>Gs,NTP_server:()=>Ns,NTP_server_get_time:()=>Ps,WIFI_ap_and_sta:()=>Zs,WIFI_ap_or_sta:()=>Ks,WIFI_incomingPacket:()=>js,WIFI_info:()=>bs,WIFI_send_data:()=>Js,WIFI_smartConfig:()=>zs,WeatherGet:()=>qs,WeatherGetForecast:()=>$s,WeatherGetToday:()=>Qs,asyncelegantota:()=>ia,ethernet_client_available:()=>Cs,ethernet_client_connect_server:()=>Ms,ethernet_client_connected:()=>ms,ethernet_client_get_request:()=>Ds,ethernet_client_print:()=>Os,ethernet_client_println:()=>Ss,ethernet_client_read:()=>Rs,ethernet_client_stop:()=>Ts,ethernet_init_begin:()=>Is,ethernet_init_local_ip:()=>Es,ethernet_mac_address:()=>gs,http_get:()=>Hs,mixio_mqtt_publish:()=>ea,mixio_mqtt_received_the_news:()=>ta,mixio_mqtt_subscribe:()=>xa,mixio_mqtt_subscribe_key:()=>fa,mqtt_topics_set:()=>Ws,network_connect:()=>vs,network_get_connect:()=>Ys,network_wifi_connect:()=>ws});var r={};e.r(r),e.d(r,{factory_block:()=>Aa,factory_block_return:()=>Ia,factory_block_return_with_textarea:()=>Ea,factory_block_with_textarea:()=>ga,factory_callMethod_noreturn:()=>ha,factory_callMethod_return:()=>Fa,factory_create_with_container:()=>ca,factory_create_with_item:()=>la,factory_declare:()=>pa,factory_declare2:()=>oa,factory_define:()=>ra,factory_function_noreturn:()=>aa,factory_function_return:()=>da,factory_include:()=>sa,factory_static_method_noreturn:()=>ua,factory_static_method_return:()=>_a});var u={};e.r(u),e.d(u,{ADS1015_Get_Value:()=>Wa,ADS1015_setGain:()=>Ua,ESP32touchButton:()=>ka,OneButton_interrupt:()=>La,PCF8591T:()=>Ha,controls_attachInterrupt:()=>Pa,controls_attachPinInterrupt:()=>ba,controls_detachInterrupt:()=>ya,controls_detachPinInterrupt:()=>va,inout_analog_read:()=>Da,inout_analog_write:()=>Ra,inout_buildin_led:()=>Na,inout_cancel_soft_analog_write:()=>Ga,inout_digital_read:()=>Oa,inout_digital_read2:()=>Sa,inout_digital_write2:()=>Ca,inout_highlow:()=>Ta,inout_pinMode:()=>ma,inout_pulseIn:()=>wa,inout_pulseIn2:()=>Ya,inout_shiftout:()=>Va,inout_soft_analog_write:()=>Xa});var _={};e.r(_),e.d(_,{array2_assignment:()=>sc,create_array2_with_text:()=>nc,get_array2_value:()=>ac,lists2GetValueByIndex:()=>lc,lists2SetValueByIndex:()=>cc,listsGetValueByIndex:()=>ec,listsSetValueByIndex:()=>tc,lists_array2_get_length:()=>rc,lists_array2_setup:()=>dc,lists_array2_setup_get_data:()=>pc,lists_create_with:()=>Za,lists_create_with2:()=>Ja,lists_create_with_container:()=>Qa,lists_create_with_item:()=>$a,lists_create_with_text:()=>ja,lists_create_with_text2:()=>qa,lists_getIndex:()=>xc,lists_length:()=>ic,lists_setIndex:()=>fc,loop_array:()=>oc});var h={};e.r(h),e.d(h,{logic_boolean:()=>Ac,logic_compare:()=>_c,logic_negate:()=>Fc,logic_null:()=>Ic,logic_operation:()=>hc,logic_true_or_false:()=>gc});var F={};e.r(F),e.d(F,{arduino_variate_type:()=>Sc,base_map:()=>yc,math_SizeOf:()=>Rc,math_arithmetic:()=>Tc,math_auto_add_or_minus:()=>vc,math_bit:()=>mc,math_constrain:()=>Pc,math_max_min:()=>Dc,math_number:()=>Mc,math_random_int:()=>Lc,math_random_seed:()=>Nc,math_to_int:()=>Oc,math_trig:()=>Cc,variables_operation:()=>bc});var A={};e.r(A),e.d(A,{pins_MISO:()=>Bc,pins_MOSI:()=>Gc,pins_SCK:()=>Uc,pins_SCL:()=>Wc,pins_SDA:()=>Hc,pins_analog:()=>Vc,pins_digital:()=>Yc,pins_interrupt:()=>Xc,pins_pwm:()=>kc});var I={};e.r(I),e.d(I,{procedures_callnoreturn:()=>qc,procedures_callreturn:()=>Qc,procedures_defnoreturn:()=>Kc,procedures_defreturn:()=>Zc,procedures_ifreturn:()=>$c,procedures_mutatorarg:()=>Jc,procedures_mutatorcontainer:()=>jc,procedures_return:()=>xl});var g={};e.r(g),e.d(g,{ADXL345:()=>Sl,ADXL345_setOffset:()=>Nl,AHT20_21:()=>ld,Arduino_keypad_4_4_start:()=>xd,BME280_READ:()=>Wl,DHT:()=>cl,DS1302_init:()=>ul,DS1307_init:()=>hl,LIS3DHTR:()=>Dl,LM35:()=>ll,MPU6050:()=>Ll,MPU6050_update:()=>Pl,NTC_TEMP:()=>cd,PS2_Button:()=>Zl,PS2_init:()=>Hl,PS2_stk:()=>jl,PS2_update:()=>zl,RTC_date:()=>gl,RTC_get_time:()=>Al,RTC_set_date:()=>Tl,RTC_set_time:()=>El,RTC_time:()=>Il,SHT20:()=>Cl,TCS34725_Get_RGB:()=>ql,arduino_keypad_event:()=>nd,chaoshengbo2:()=>al,ds18b20:()=>dl,encoder_init:()=>bl,encoder_init1:()=>Yl,encoder_read:()=>wl,encoder_read1:()=>kl,encoder_write:()=>vl,encoder_write1:()=>Vl,get_keypad_num:()=>id,get_system_date_time:()=>Ml,gps_data_available:()=>tl,gps_data_encode:()=>il,gps_getData_xxx:()=>sl,gps_init:()=>el,gps_xxx_isValid:()=>nl,keypad_col_data:()=>ed,keypad_row_data:()=>fd,keypad_type_data:()=>td,mixgo_MPU9250:()=>ad,mlx90614_get_data:()=>ol,mlx90614_init:()=>pl,sensor_encoder_get:()=>Gl,sensor_encoder_handle:()=>Ul,sensor_encoder_init:()=>Xl,sensor_encoder_set:()=>Bl,tcs230_Get_RGB:()=>$l,tcs230_init:()=>Ql,weightSensor:()=>rl});var E={};e.r(E),e.d(E,{serial_available:()=>Fd,serial_begin:()=>pd,serial_event:()=>Td,serial_flush:()=>Ed,serial_parseInt_Float:()=>gd,serial_print:()=>rd,serial_print_hex:()=>hd,serial_print_num:()=>_d,serial_println:()=>ud,serial_readstr:()=>Ad,serial_readstr_until:()=>Id,serial_softserial:()=>Md,serial_write:()=>od});var M={};e.r(M),e.d(M,{sd_DelFile:()=>Ld,sd_card_root_files:()=>Sd,sd_card_type:()=>Od,sd_exist:()=>Nd,sd_read:()=>Pd,sd_volume:()=>Dd,simple_spiffs_DelFile:()=>Ud,simple_spiffs_read:()=>Gd,simple_spiffs_store_spiffs_write:()=>Bd,store_eeprom_get:()=>kd,store_eeprom_put:()=>Vd,store_eeprom_read_byte:()=>Yd,store_eeprom_read_long:()=>vd,store_eeprom_write_byte:()=>wd,store_eeprom_write_long:()=>bd,store_sd_init:()=>md,store_sd_init_32:()=>Cd,store_sd_write:()=>yd});var T={};e.r(T),e.d(T,{Arduinojson:()=>up,String_indexOf:()=>op,String_to_Long_Integer:()=>_p,ascii_to_char:()=>jd,char_to_ascii:()=>Jd,create_with_container:()=>pp,create_with_item:()=>dp,data_replacement:()=>sp,decimal_places:()=>tp,eliminate:()=>ap,first_and_last:()=>cp,letter_conversion:()=>np,number_to_text:()=>qd,number_to_text_:()=>Qd,substring:()=>ip,text:()=>Hd,text_char:()=>zd,text_char_at:()=>xp,text_compareTo:()=>ep,text_equals_starts_ends:()=>fp,text_join:()=>Kd,text_join2:()=>rp,text_length:()=>$d,text_to_number:()=>Zd,type_conversion:()=>lp});var m={};e.r(m),e.d(m,{IICSCAN:()=>Ip,core_esp32c3_pin:()=>Dp,esp32c3_pin:()=>Rp,esp32s2_pin:()=>Sp,esp32s3_pin:()=>Np,esp8266_board_pin:()=>wp,esp8266_pin:()=>Lp,factory_notes:()=>Fp,folding_block:()=>Ap,get_the_number_of_days_between_the_two_dates:()=>bp,leonardo_pin:()=>Op,mega_pin:()=>mp,nano_pin:()=>Tp,promini_pin:()=>Cp,stm32f103c8t6_pin:()=>yp,tool_modulus:()=>Ep,tool_modulus_show:()=>gp,uno_pin:()=>Mp,wemos_d1_mini_pin:()=>Pp});var C={};e.r(C),e.d(C,{variables_change:()=>Bp,variables_declare:()=>kp,variables_get:()=>Xp,variables_set:()=>Gp});var O={};e.r(O),e.d(O,{AFMotorRun:()=>To,AFMotorStop:()=>mo,GD5800_MP3_CONTROL:()=>Fo,GD5800_MP3_EQ_MODE:()=>go,GD5800_MP3_LOOP_MODE:()=>Io,GD5800_MP3_PLAY_NUM:()=>Mo,GD5800_MP3_Set_Device:()=>Ao,GD5800_MP3_VOL:()=>Eo,I2Cmotor:()=>Bo,M9101X_S_MP3_CONTROL:()=>Uo,M9101X_S_MP3_PLAY_NUM:()=>Ho,M9101X_S_MP3_VOL_CONTROL:()=>Wo,Mixly_motor:()=>uo,Motor_8833:()=>_o,RGB_color_HSV:()=>co,RGB_color_rgb:()=>io,RGB_color_seclet:()=>to,arduino_dfplayer_available:()=>Go,arduino_dfplayer_loopFolder:()=>Yo,arduino_dfplayer_mini_EQ:()=>No,arduino_dfplayer_mini_EQ_type:()=>Lo,arduino_dfplayer_mini_begin:()=>Co,arduino_dfplayer_mini_outputDevice:()=>Po,arduino_dfplayer_mini_outputDevice_type:()=>yo,arduino_dfplayer_mini_pin:()=>Oo,arduino_dfplayer_mini_setTimeOut:()=>So,arduino_dfplayer_mini_volume:()=>Ro,arduino_dfplayer_mini_volume_up_down:()=>Do,arduino_dfplayer_playFolder:()=>wo,arduino_dfplayer_play_loop:()=>vo,arduino_dfplayer_readFileCounts:()=>ko,arduino_dfplayer_readFileCountsInFolder:()=>Xo,arduino_dfplayer_read_now:()=>Vo,arduino_dfplayer_set_1:()=>bo,controls_notone:()=>qp,controls_notone_noTimer:()=>$p,controls_tone:()=>Jp,controls_tone_noTimer:()=>Qp,display_rgb:()=>ao,display_rgb_Brightness:()=>so,display_rgb_init:()=>no,display_rgb_rainbow1:()=>po,display_rgb_rainbow2:()=>oo,display_rgb_rainbow3:()=>ro,display_rgb_show:()=>lo,group_stepper_move:()=>eo,group_stepper_setup:()=>xo,group_stepper_setup2:()=>fo,servo_move:()=>Up,servo_move1:()=>zp,servo_read_degrees:()=>Hp,servo_read_degrees1:()=>Zp,servo_writeMicroseconds:()=>Wp,servo_writeMicroseconds1:()=>Kp,tone_notes:()=>jp,voice_module:()=>ho});var S={};e.r(S),e.d(S,{Blynk_connect_state:()=>Sr,Blynk_iot_BLYNK_syncAll:()=>xr,Blynk_iot_CONNECT_STATE:()=>$o,Blynk_iot_timer:()=>Qo,arduino_blynk_bluetooth:()=>yr,blynk_AP_config:()=>Cr,blynk_AP_config_2:()=>Or,blynk_WidgetRTC_get_time:()=>Fr,blynk_WidgetRTC_init:()=>hr,blynk_acc:()=>Er,blynk_bridge_AnaloglWrite:()=>ur,blynk_bridge_VPin:()=>_r,blynk_bridge_auth:()=>or,blynk_bridge_digitalWrite:()=>rr,blynk_connected:()=>Xr,blynk_email:()=>ar,blynk_esp32_Bluetooth:()=>Pr,blynk_esp32_ble:()=>Lr,blynk_gravity:()=>gr,blynk_iot_WidgetLED_COLOR:()=>er,blynk_iot_WidgetLED_VALUE:()=>tr,blynk_iot_auth:()=>zo,blynk_iot_get_data:()=>qo,blynk_iot_ir_recv_raw:()=>nr,blynk_iot_ir_send:()=>sr,blynk_iot_ir_send_ac:()=>ir,blynk_iot_playmusic:()=>Ar,blynk_iot_push_data:()=>Jo,blynk_iot_syncVirtual:()=>fr,blynk_iot_terminal_get:()=>dr,blynk_lcd:()=>Dr,blynk_lcd_clear:()=>Nr,blynk_light:()=>Ir,blynk_notify:()=>cr,blynk_server:()=>Zo,blynk_smartconfig:()=>Ko,blynk_table:()=>br,blynk_table_add_data:()=>zr,blynk_table_cleardata:()=>kr,blynk_table_click:()=>Wr,blynk_table_highlight:()=>wr,blynk_table_order:()=>Hr,blynk_table_select:()=>Yr,blynk_table_unselect:()=>Vr,blynk_table_update:()=>vr,blynk_terminal:()=>lr,blynk_terminal_clear:()=>Rr,blynk_time_input_1:()=>Mr,blynk_usb_server:()=>jo,blynk_videourl:()=>pr,esp_camera:()=>Gr,esp_camera_blynk:()=>Br,factory_declare2:()=>mr,take_a_photo1:()=>Ur,tone_notes:()=>Tr});var R={};e.r(R),e.d(R,{MFRC522_IsNewCard:()=>lu,MFRC522_ReadCard:()=>ou,MFRC522_ReadCardUID:()=>du,MFRC522_WriteCard:()=>pu,MFRC522_init:()=>cu,RFID_in:()=>au,RFID_init:()=>fu,RFID_off:()=>su,RFID_on:()=>eu,RFID_readcarddata:()=>nu,RFID_readcardnum:()=>tu,RFID_writecarddata:()=>iu,i2c_available:()=>Au,i2c_begin_end_transmission:()=>_u,i2c_howmany:()=>Iu,i2c_master_Init:()=>ru,i2c_master_reader:()=>Su,i2c_master_reader2:()=>$r,i2c_master_readerReg:()=>mu,i2c_master_writer:()=>Qr,i2c_master_writerReg:()=>Tu,i2c_read:()=>gu,i2c_slave_Init:()=>uu,i2c_slave_onreceive:()=>Cu,i2c_slave_onrequest:()=>Ou,i2c_slave_write:()=>xu,i2c_slave_write_array:()=>Fu,i2c_write:()=>hu,ir_recv:()=>Kr,ir_recv_enable:()=>Zr,ir_recv_raw:()=>Jr,ir_send_nec:()=>jr,ir_send_raw:()=>qr,spi_begin_master:()=>Ru,spi_begin_slave:()=>Mu,spi_slave_interrupt:()=>Pu,spi_slave_receive:()=>yu,spi_transfer:()=>Eu,spi_transfer_1:()=>Nu,spi_transfer_2:()=>Lu,spi_transfer_Init:()=>Du});var D={};e.r(D),e.d(D,{base_delay:()=>ju,base_setup:()=>bu,controls_delay:()=>Xu,controls_end_program:()=>Hu,controls_flow_statements:()=>ku,controls_for:()=>Yu,controls_if:()=>vu,controls_interrupts:()=>Ku,controls_millis:()=>Gu,controls_mstimer2:()=>Bu,controls_mstimer2_start:()=>Uu,controls_mstimer2_stop:()=>Wu,controls_nointerrupts:()=>Zu,controls_soft_reset:()=>zu,controls_switch_case:()=>wu,controls_whileUntil:()=>Vu,do_while:()=>qu,execute_super_delay_function1:()=>$u,simple_timer:()=>Ju,super_delay_function1:()=>Qu});var N={};e.r(N),e.d(N,{HT16K33_Init:()=>__,LedArray:()=>R_,MAX7219_init:()=>h_,Matrix_img:()=>D_,TFT_Brightness:()=>rh,TFT_Rotation:()=>_h,TFT_color_rgb:()=>Ih,TFT_color_seclet:()=>Ah,TFT_fillScreen:()=>Eh,TFT_init:()=>gh,TFT_init_with_pin:()=>nh,TFT_st7735_show_hz:()=>oh,display_4digitdisplay_displayString:()=>s_,display_4digitdisplay_power:()=>n_,display_4digitdisplay_showDot:()=>a_,display_HT16K33_Rotation:()=>S_,display_Matrix_Brightness:()=>T_,display_Matrix_DisplayChar:()=>g_,display_Matrix_DrawPixel:()=>F_,display_Matrix_LedArray:()=>E_,display_Matrix_TEXT:()=>A_,display_Matrix_fillScreen:()=>m_,display_Matrix_print:()=>I_,display_Matrix_write:()=>N_,display_Max7219_Rotation:()=>C_,display_Max7219_setPosition:()=>O_,display_TM1637_Brightness:()=>u_,display_TM1637_Brightness_32:()=>Vh,display_TM1637_clearDisplay:()=>r_,display_TM1637_clearDisplay_32:()=>Yh,display_TM1637_displayTime:()=>o_,display_TM1637_displayTime_32:()=>wh,display_TM1637_displyPrint:()=>p_,display_TM1637_displyPrint_32:()=>vh,display_TM1637_init:()=>d_,display_TM1637_init_32:()=>bh,display_lcd_bitmap:()=>th,display_matrix_bitmap:()=>M_,get_utf8_width:()=>xh,group_lcd_init:()=>kh,group_lcd_init2:()=>x_,group_lcd_init3:()=>f_,group_lcd_power:()=>i_,group_lcd_print:()=>e_,group_lcd_print2:()=>t_,lcd_display_pattern:()=>fh,lcd_pattern:()=>eh,oled_clear:()=>v_,oled_define_bitmap_data:()=>G_,oled_drawCircle:()=>K_,oled_drawEllipse:()=>Z_,oled_drawFrame:()=>H_,oled_drawLine:()=>B_,oled_drawPixel:()=>V_,oled_drawRFrame:()=>z_,oled_drawTriangle:()=>W_,oled_draw_Str_Line:()=>U_,oled_face:()=>w_,oled_icons:()=>Y_,oled_init:()=>L_,oled_page:()=>k_,oled_print:()=>j_,oled_set_CN_Font:()=>q_,oled_set_EN_Font:()=>J_,oled_set_ZH_TW_Font:()=>Q_,oled_showBitmap:()=>X_,tft_Circle:()=>Rh,tft_Rect:()=>Oh,tft_RoundRect:()=>Sh,tft_Triangle:()=>Ch,tft_define_bitmap_data:()=>Dh,tft_drawFastLine:()=>mh,tft_drawLine:()=>Th,tft_drawPixel:()=>Mh,tft_generate_bitmap_data:()=>Nh,tft_icons:()=>uh,tft_print:()=>Fh,tft_setFont:()=>hh,tft_set_CN_Font:()=>yh,tft_set_EN_Font:()=>Ph,tft_showBitmap:()=>Lh,u8g2_LCD12864_8080_init:()=>b_,u8g2_LCD12864_spi_init:()=>y_,u8g2_setContrast:()=>$_,u8g2_spi_init:()=>P_});var L={};e.r(L),e.d(L,{MQTT_connect:()=>iF,MQTT_publish:()=>nF,MQTT_server:()=>tF,MQTT_subscribe:()=>aF,MQTT_subscribe_value:()=>sF,NTP_server:()=>xF,NTP_server_get_time:()=>fF,WIFI_ap_and_sta:()=>pF,WIFI_ap_or_sta:()=>dF,WIFI_incomingPacket:()=>oF,WIFI_info:()=>qh,WIFI_send_data:()=>rF,WIFI_smartConfig:()=>lF,WeatherGet:()=>_F,WeatherGetForecast:()=>FF,WeatherGetToday:()=>hF,asyncelegantota:()=>MF,ethernet_client_available:()=>zh,ethernet_client_connect_server:()=>Uh,ethernet_client_connected:()=>Hh,ethernet_client_get_request:()=>Jh,ethernet_client_print:()=>Kh,ethernet_client_println:()=>Zh,ethernet_client_read:()=>jh,ethernet_client_stop:()=>Wh,ethernet_init_begin:()=>Xh,ethernet_init_local_ip:()=>Bh,ethernet_mac_address:()=>Gh,http_get:()=>cF,mixio_mqtt_publish:()=>gF,mixio_mqtt_received_the_news:()=>EF,mixio_mqtt_subscribe:()=>AF,mixio_mqtt_subscribe_key:()=>IF,network_get_connect:()=>$h,network_wifi_connect:()=>Qh});var P={};e.r(P),e.d(P,{factory_block:()=>yF,factory_block_return:()=>bF,factory_block_return_with_textarea:()=>wF,factory_block_with_textarea:()=>vF,factory_callMethod_noreturn:()=>LF,factory_callMethod_return:()=>PF,factory_declare:()=>OF,factory_declare2:()=>SF,factory_define:()=>RF,factory_function_noreturn:()=>mF,factory_function_return:()=>CF,factory_include:()=>TF,factory_static_method_noreturn:()=>DF,factory_static_method_return:()=>NF});var y={};e.r(y),e.d(y,{ADS1015_Get_Value:()=>tA,ADS1015_setGain:()=>eA,ESP32touchButton:()=>$F,OneButton_interrupt:()=>HF,PCF8591T:()=>iA,controls_attachInterrupt:()=>zF,controls_attachPinInterrupt:()=>ZF,controls_detachInterrupt:()=>KF,controls_detachPinInterrupt:()=>jF,inout_analog_read:()=>UF,inout_analog_write:()=>BF,inout_buildin_led:()=>WF,inout_cancel_soft_analog_write:()=>fA,inout_digital_read:()=>XF,inout_digital_read2:()=>GF,inout_digital_write2:()=>kF,inout_highlow:()=>YF,inout_pinMode:()=>VF,inout_pulseIn:()=>JF,inout_pulseIn2:()=>qF,inout_shiftout:()=>QF,inout_soft_analog_write:()=>xA});var b={};e.r(b),e.d(b,{array2_assignment:()=>_A,create_array2_with_text:()=>uA,get_array2_value:()=>hA,lists2GetValueByIndex:()=>AA,lists2SetValueByIndex:()=>FA,listsGetValueByIndex:()=>pA,listsSetValueByIndex:()=>oA,lists_array2_get_length:()=>MA,lists_array2_setup:()=>IA,lists_array2_setup_get_data:()=>gA,lists_create_with:()=>nA,lists_create_with2:()=>aA,lists_create_with_text:()=>sA,lists_create_with_text2:()=>cA,lists_getIndex:()=>lA,lists_length:()=>rA,lists_setIndex:()=>dA,loop_array:()=>EA});var v={};e.r(v),e.d(v,{logic_boolean:()=>OA,logic_compare:()=>TA,logic_negate:()=>CA,logic_null:()=>SA,logic_operation:()=>mA,logic_true_or_false:()=>RA});var w={};e.r(w),e.d(w,{arduino_variate_type:()=>vA,base_map:()=>XA,math_SizeOf:()=>wA,math_arithmetic:()=>NA,math_auto_add_or_minus:()=>UA,math_bit:()=>LA,math_constrain:()=>GA,math_max_min:()=>YA,math_number:()=>DA,math_random_int:()=>kA,math_random_seed:()=>VA,math_single:()=>PA,math_to_int:()=>bA,math_trig:()=>yA,variables_operation:()=>BA});var Y={};e.r(Y),e.d(Y,{pins_MISO:()=>jA,pins_MOSI:()=>ZA,pins_SCK:()=>JA,pins_SCL:()=>qA,pins_SDA:()=>QA,pins_analog:()=>HA,pins_digital:()=>WA,pins_interrupt:()=>KA,pins_pwm:()=>zA});var V={};e.r(V),e.d(V,{procedures_callnoreturn:()=>eI,procedures_callreturn:()=>fI,procedures_defnoreturn:()=>xI,procedures_defreturn:()=>$A,procedures_ifreturn:()=>tI,procedures_return:()=>iI});var k={};e.r(k),e.d(k,{ADXL345:()=>OI,ADXL345_setOffset:()=>RI,AHT20_21:()=>tg,Arduino_keypad_4_4_start:()=>jI,BME280_READ:()=>GI,DHT:()=>pI,DS1302_init:()=>FI,DS1307_init:()=>AI,LIS3DHTR:()=>SI,LM35:()=>oI,MPU6050:()=>DI,MPU6050_update:()=>NI,NTC_TEMP:()=>eg,PS2_Button:()=>WI,PS2_init:()=>BI,PS2_stk:()=>HI,PS2_update:()=>UI,RTC_date:()=>gI,RTC_get_time:()=>II,RTC_set_date:()=>mI,RTC_set_time:()=>MI,RTC_time:()=>EI,SHT20:()=>CI,TCS34725_Get_RGB:()=>zI,arduino_keypad_event:()=>xg,chaoshengbo2:()=>dI,ds18b20:()=>rI,encoder_init:()=>yI,encoder_init1:()=>wI,encoder_read:()=>PI,encoder_read1:()=>vI,encoder_write:()=>LI,encoder_write1:()=>bI,get_keypad_num:()=>$I,get_system_date_time:()=>TI,gps_data_available:()=>sI,gps_data_encode:()=>aI,gps_getData_xxx:()=>lI,gps_init:()=>nI,gps_xxx_isValid:()=>cI,keypad_col_data:()=>qI,keypad_row_data:()=>JI,keypad_type_data:()=>QI,mixgo_MPU9250:()=>fg,mlx90614_get_data:()=>_I,mlx90614_init:()=>uI,sensor_encoder_get:()=>VI,sensor_encoder_handle:()=>XI,sensor_encoder_init:()=>YI,sensor_encoder_set:()=>kI,tcs230_Get_RGB:()=>ZI,tcs230_init:()=>KI,weightSensor:()=>hI});var X={};e.r(X),e.d(X,{serial_available:()=>dg,serial_begin:()=>ig,serial_event:()=>hg,serial_flush:()=>ug,serial_parseInt_Float:()=>rg,serial_print:()=>sg,serial_print_hex:()=>lg,serial_print_num:()=>cg,serial_println:()=>ag,serial_readstr:()=>pg,serial_readstr_until:()=>og,serial_softserial:()=>_g,serial_write:()=>ng});var G={};e.r(G),e.d(G,{sd_DelFile:()=>Cg,sd_card_root_files:()=>Eg,sd_card_type:()=>gg,sd_exist:()=>Tg,sd_read:()=>mg,sd_volume:()=>Mg,simple_spiffs_DelFile:()=>bg,simple_spiffs_read:()=>yg,simple_spiffs_store_spiffs_write:()=>Pg,store_eeprom_get:()=>Lg,store_eeprom_put:()=>Ng,store_eeprom_read_byte:()=>Dg,store_eeprom_read_long:()=>Sg,store_eeprom_write_byte:()=>Rg,store_eeprom_write_long:()=>Og,store_sd_init:()=>Ag,store_sd_write:()=>Ig});var B={};e.r(B),e.d(B,{String_indexOf:()=>$g,String_to_Long_Integer:()=>fE,ascii_to_char:()=>kg,char_to_ascii:()=>Xg,data_replacement:()=>jg,decimal_places:()=>zg,eliminate:()=>Jg,first_and_last:()=>qg,letter_conversion:()=>Zg,number_to_text:()=>Gg,substring:()=>Kg,text:()=>vg,text_char:()=>wg,text_char_at:()=>Ug,text_compareTo:()=>Hg,text_equals_starts_ends:()=>Wg,text_join:()=>Yg,text_join2:()=>xE,text_length:()=>Bg,text_to_number:()=>Vg,type_conversion:()=>Qg});var U={};e.r(U),e.d(U,{IICSCAN:()=>iE,core_esp32c3_pin:()=>mE,esp32c3_pin:()=>ME,esp32s2_pin:()=>EE,esp32s3_pin:()=>TE,esp8266_board_pin:()=>OE,esp8266_pin:()=>AE,factory_notes:()=>eE,folding_block:()=>tE,get_the_number_of_days_between_the_two_dates:()=>CE,leonardo_pin:()=>_E,mega_pin:()=>FE,nano_pin:()=>rE,promini_pin:()=>uE,stm32f103c8t6_pin:()=>gE,tool_modulus:()=>oE,tool_modulus_show:()=>aE,uno_pin:()=>hE,wemos_d1_mini_pin:()=>IE});var W={};e.r(W),e.d(W,{variables_change:()=>NE,variables_declare:()=>RE,variables_get:()=>SE,variables_set:()=>DE});var H={};e.r(H),e.d(H,{esp_now_receive:()=>bE,esp_now_send:()=>yE});var z={};e.r(z),e.d(z,{esp_now_receive:()=>wE,esp_now_send:()=>vE});const K=Blockly,Z=Mixly,j="#27b6ac",J={init:function(){this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(K.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(K.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(K.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},q={init:function(){this.appendDummyInput().appendField(new K.FieldDropdown([["POST","POST"],["PATCH","PATCH"],["PUT","PUT"]]),"TYPE").appendField(K.Msg.blockpy_REQUESTS),this.appendValueInput("api").setCheck(null).appendField(K.Msg.blynk_SERVER_ADD),this.appendValueInput("data").setCheck(null).appendField(K.Msg.MIXLY_SD_DATA),this.appendStatementInput("success").setCheck(null).appendField(K.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(K.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},Q={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}};var xx,fx=[];for(xx in Q)fx.push([xx,xx]);function ex(x){var f,e=[];for(f in Q[x])e.push([f,f]);return e}var tx={};for(xx of fx)tx[xx[0]]=ex(xx[0]);const ix={init:function(){this.appendDummyInput().appendField(new K.FieldDropdown(fx),"province").appendField(new K.FieldDependentDropdown("province",tx,[["-","-"]]),"city"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setHelpUrl(""),this.preProvince=null}},nx={init:function(){this.setColour(j),this.appendDummyInput("").appendField(new K.FieldDropdown([["S9l2sb_ZK-UsWaynG","S9l2sb_ZK-UsWaynG"],["SpRpSYb7QOMT0M8Tz","SpRpSYb7QOMT0M8Tz"],["SboqGMxP4tYNXUN8f","SboqGMxP4tYNXUN8f"],["SJiRrYGYFkGnfi081","SJiRrYGYFkGnfi081"],["SMhSshUxuTL0GLVLS","SMhSshUxuTL0GLVLS"]]),"key"),this.setOutput(!0,null)}},sx={init:function(){this.appendDummyInput("").appendField(K.Msg.MSG.catweather).appendField(new K.FieldDropdown([[K.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[K.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[K.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(K.Msg.MIXLY_INFORMATION_CONFIGURATION),this.appendValueInput("location").setCheck(null).appendField(K.Msg.MIXLY_GEOGRAPHIC_LOCATION),this.appendValueInput("private_key").setCheck(null).appendField(K.Msg.MIXLY_API_PRIVATE_KEY),this.appendDummyInput("").appendField(K.Msg.MIXLY_LANGUAGE).appendField(new K.FieldDropdown([["简体中文","zh-Hans"],["繁體中文","zh-Hant"],["English","en"]]),"language"),this.appendDummyInput("").appendField(K.Msg.MIXLY_TEMPERATURE_UNIT).appendField(new K.FieldDropdown([[K.Msg.MIXLY_CELSIUS+"(℃)","c"],[K.Msg.MIXLY_FAHRENHEIT+"(℉)","f"]]),"unit"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(j),this.setTooltip("这里的API私钥免费体验有次数限制\n访问频率限制20次/分钟"),this.setHelpUrl("")}},ax={init:function(){this.appendDummyInput("").appendField(new K.FieldDropdown([[K.Msg.MIXLY_LIVE_WEATHER,"weather/now"],[K.Msg.MIXLY_3_DAY_WEATHER_FORECAST,"weather/daily"],[K.Msg.MIXLY_6_LIFE_INDEXES,"life/suggestion"]]),"api").appendField(new K.FieldDropdown([[K.Msg.MIXLY_AVAILABLE,"update"],[K.Msg.MIXLY_GET_DATA_UPDATE_TIME,"getLastUpdate"],[K.Msg.MIXLY_GET_SERVER_RESPONSE_STATUS_CODE,"getServerCode"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},cx={init:function(){this.appendDummyInput("").appendField(K.Msg.MIXLY_LIVE_WEATHER).appendField(K.Msg.MIXLY_GET).appendField(new K.FieldDropdown([[K.Msg.MIXLY_WEATHER_PHENOMENON,"getWeatherText"],[K.Msg.MIXLY_WEATHER_PHENOMENON_CODE,"getWeatherCode"],[K.Msg.MIXLY_TEMPERATURE,"getDegree"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},lx={init:function(){this.appendDummyInput("").appendField(K.Msg.MIXLY_3_DAY_WEATHER_FORECAST).appendField(K.Msg.MIXLY_GET).appendField(new K.FieldDropdown([[K.Msg.MIXLY_TODAY,"0"],[K.Msg.MIXLY_TOMORROW,"1"],[K.Msg.MIXLY_DAY_AFTER_TOMORROW,"2"]]),"date").appendField(new K.FieldDropdown([[K.Msg.ForecastHigh,"getHigh"],[K.Msg.ForecastLow,"getLow"],[K.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON,"getDayText"],[K.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE,"getDayCode"],[K.Msg.MIXLY_EVENING_WEATHER_PHENOMENON,"getNightText"],[K.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE,"getNightCode"],[K.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION,"getRain"],[K.Msg.ForecastFx,"getWindDirection"],[K.Msg.MIXLY_WIND_SPEED,"getWindSpeed"],[K.Msg.MIXLY_WIND_RATING,"getWindScale"],[K.Msg.MIXLY_Humidity,"getHumidity"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},dx={init:function(){this.appendDummyInput("").appendField(K.Msg.MIXLY_6_LIFE_INDEXES).appendField(K.Msg.MIXLY_GET).appendField(new K.FieldDropdown([[K.Msg.MIXLY_CAR_WASH_INDEX,"getCarWash"],[K.Msg.MIXLY_DRESSING_INDEX,"getDressing"],[K.Msg.MIXLY_COLD_INDEX,"getFactorFlu"],[K.Msg.MIXLY_MOVEMENT_INDEX,"getExercise"],[K.Msg.MIXLY_TOURISM_INDEX,"getTravel"],[K.Msg.MIXLY_UV_INDEX,"getUV"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(j),this.setTooltip(""),this.setHelpUrl("")}},px={init:function(){this.appendValueInput("VALUE").setCheck(null).setAlign(K.inputs.Align.LEFT).appendField(new K.FieldDropdown([["Base64","BASE64"],["URL","URL"]]),"TYPE").appendField(new K.FieldDropdown([["编码","ENCODE"],["解码","DECODE"]]),"OPTION"),this.setOutput(!0,null),this.setColour(160),this.setTooltip(""),this.setHelpUrl("")}},ox=function(){const x=Z.Boards.getType(),f=K.Arduino.valueToCode(this,"api",K.Arduino.ORDER_ATOMIC);let e=K.Arduino.statementToCode(this,"success")||"";e=e.replace(/(^\s*)|(\s*$)/g,"");let t=K.Arduino.statementToCode(this,"failure")||"";t=t.replace(/(^\s*)|(\s*$)/g,"");let i="";return"arduino_esp8266"==x?(K.Arduino.definitions_.include_ESP8266WiFi="#include ",K.Arduino.definitions_.include_ESP8266HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n WiFiClient client;\n HTTPClient http;\n http.begin(client, "+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n } else {\n "+t+"\n }\n http.end();\n}\n"):(K.Arduino.definitions_.include_WiFi="#include ",K.Arduino.definitions_.include_HTTPClient="#include ",i="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+f+");\n int httpCode = http.GET();\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+e+"\n }\n else {\n "+t+"\n }\n http.end();\n}\n"),i},rx=function(){const x=Z.Boards.getType(),f=this.getFieldValue("TYPE"),e=K.Arduino.valueToCode(this,"api",K.Arduino.ORDER_ATOMIC),t=K.Arduino.valueToCode(this,"data",K.Arduino.ORDER_ATOMIC);let i=K.Arduino.statementToCode(this,"success")||"";i=i.replace(/(^\s*)|(\s*$)/g,"");let n=K.Arduino.statementToCode(this,"failure")||"";n=n.replace(/(^\s*)|(\s*$)/g,"");let s="";return"arduino_esp8266"==x?(K.Arduino.definitions_.include_ESP8266WiFi="#include ",K.Arduino.definitions_.include_ESP8266HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n WiFiClient client;\n http.begin(client, "+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n } else {\n "+n+"\n }\n http.end();\n}\n"):(K.Arduino.definitions_.include_WiFi="#include ",K.Arduino.definitions_.include_HTTPClient="#include ",s="if (WiFi.status() == WL_CONNECTED) {\n HTTPClient http;\n http.begin("+e+');\n http.addHeader("Content-Type", "application/json");\n int httpCode = http.'+f+"("+t+");\n if (httpCode > 0) {\n String Request_result = http.getString();\n "+i+"\n }\n else {\n "+n+"\n }\n http.end();\n}\n"),s},ux={本地:{"-":{pinyin:"ip"}},北京:{"-":{pinyin:"beijing"}},天津:{"-":{pinyin:"tianjin"}},河北:{石家庄:{pinyin:"shijiazhuang"},邯郸:{pinyin:"handan"},邢台:{pinyin:"xingtai"},衡水:{pinyin:"hengshui"},保定:{pinyin:"baoding"},沧州:{pinyin:"cangzhou"},张家口:{pinyin:"zhangjiakou"},廊坊:{pinyin:"langfang"},承德:{pinyin:"chengde"},唐山:{pinyin:"tangshan"},秦皇岛:{pinyin:"qinhuangdao"}},山西:{太原:{pinyin:"taiyuan"},运城:{pinyin:"yuncheng"},临汾:{pinyin:"linfen"},吕梁:{pinyin:"lvliang"},朔州:{pinyin:"shuozhou"},晋城:{pinyin:"jincheng"},长治:{pinyin:"changzhi"},晋中:{pinyin:"jinzhong"},阳泉:{pinyin:"yangquan"},忻州:{pinyin:"xinzhou"},大同:{pinyin:"datong"}},内蒙古:{呼和浩特:{pinyin:"huhehaote"},阿左旗:{pinyin:"azuoqi"},乌海:{pinyin:"wuhai"},临河:{pinyin:"linhe"},鄂尔多斯:{pinyin:"eerduosi"},包头:{pinyin:"baotou"},集宁:{pinyin:"jining"},锡林浩特:{pinyin:"xilinhaote"},赤峰:{pinyin:"chifeng"},通辽:{pinyin:"tongliao"},乌兰浩特:{pinyin:"wulanhaote"},海拉尔:{pinyin:"hailaer"}},辽宁:{沈阳:{pinyin:"shenyang"},大连:{pinyin:"dalian"},葫芦岛:{pinyin:"huludao"},朝阳:{pinyin:"chaoyang"},营口:{pinyin:"yingkou"},锦州:{pinyin:"jinzhou"},盘锦:{pinyin:"panjin"},阜新:{pinyin:"fuxin"},鞍山:{pinyin:"anshan"},辽阳:{pinyin:"liaoyang"},丹东:{pinyin:"dandong"},本溪:{pinyin:"benxi"},抚顺:{pinyin:"fushun"},铁岭:{pinyin:"tieling"}},吉林:{长春:{pinyin:"changchun"},通化:{pinyin:"tonghua"},白山:{pinyin:"baishan"},辽源:{pinyin:"liaoyuan"},四平:{pinyin:"siping"},吉林:{pinyin:"jilin"},延吉:{pinyin:"yanji"},白城:{pinyin:"baicheng"},松原:{pinyin:"songyuan"}},黑龙江:{哈尔滨:{pinyin:"haerbin"},牡丹江:{pinyin:"mudanjiang"},大庆:{pinyin:"daqing"},齐齐哈尔:{pinyin:"qiqihaer"},绥化:{pinyin:"suihua"},伊春:{pinyin:"yichun"},大兴安岭:{pinyin:"daxinganling"},黑河:{pinyin:"heihe"},鸡西:{pinyin:"jixi"},七台河:{pinyin:"qitaihe"},佳木斯:{pinyin:"jiamusi"},鹤岗:{pinyin:"hegang"},双鸭山:{pinyin:"shuangyashan"}},上海:{"-":{pinyin:"shanghai"}},江苏:{南京:{pinyin:"nanjing"},镇江:{pinyin:"zhenjiang"},苏州:{pinyin:"suzhou"},无锡:{pinyin:"wuxi"},常州:{pinyin:"changzhou"},南通:{pinyin:"nantong"},扬州:{pinyin:"yangzhou"},淮安:{pinyin:"huaian"},泰州:{pinyin:"taizhou"},盐城:{pinyin:"yancheng"},徐州:{pinyin:"xuzhou"},宿迁:{pinyin:"suqian"},连云港:{pinyin:"lianyungang"}},浙江:{杭州:{pinyin:"hangzhou"},温州:{pinyin:"wenzhou"},衢州:{pinyin:"quzhou"},丽水:{pinyin:"lishui"},金华:{pinyin:"jinhua"},绍兴:{pinyin:"shaoxing"},湖州:{pinyin:"huzhou"},嘉兴:{pinyin:"jiaxing"},台州:{pinyin:"taizhou"},宁波:{pinyin:"ningbo"},舟山:{pinyin:"zhoushan"}},安徽:{合肥:{pinyin:"hefei"},安庆:{pinyin:"anqing"},池州:{pinyin:"chizhou"},铜陵:{pinyin:"tongling"},六安:{pinyin:"luan"},阜阳:{pinyin:"fuyang"},淮南:{pinyin:"huainan"},蚌埠:{pinyin:"bengbu"},宿州:{pinyin:"suzhou"},黄山:{pinyin:"huangshan"},宣城:{pinyin:"xuancheng"},芜湖:{pinyin:"wuhu"},马鞍山:{pinyin:"maanshan"},滁州:{pinyin:"chuzhou"},亳州:{pinyin:"bozhou"},淮北:{pinyin:"huaibei"}},福建:{福州:{pinyin:"fuzhou"},漳州:{pinyin:"zhangzhou"},厦门:{pinyin:"xiamen"},龙岩:{pinyin:"longyan"},三明:{pinyin:"sanming"},泉州:{pinyin:"quanzhou"},莆田:{pinyin:"putian"},南平:{pinyin:"nanping"},宁德:{pinyin:"ningde"}},江西:{南昌:{pinyin:"nanchang"},赣州:{pinyin:"ganzhou"},萍乡:{pinyin:"pingxiang"},吉安:{pinyin:"jian"},宜春:{pinyin:"yichun"},新余:{pinyin:"xinyu"},抚州:{pinyin:"fuzhou"},鹰潭:{pinyin:"yingtan"},上饶:{pinyin:"shangrao"},景德镇:{pinyin:"jingdezhen"},九江:{pinyin:"jiujiang"}},山东:{济南:{pinyin:"jinan"},枣庄:{pinyin:"zaozhuang"},菏泽:{pinyin:"heze"},济宁:{pinyin:"jining"},聊城:{pinyin:"liaocheng"},泰安:{pinyin:"taian"},莱芜:{pinyin:"laiwu"},德州:{pinyin:"dezhou"},淄博:{pinyin:"zibo"},滨州:{pinyin:"binzhou"},临沂:{pinyin:"linyi"},日照:{pinyin:"rizhao"},青岛:{pinyin:"qingdao"},潍坊:{pinyin:"weifang"},东营:{pinyin:"dongying"},烟台:{pinyin:"yantai"},威海:{pinyin:"weihai"}},河南:{郑州:{pinyin:"zhengzhou"},三门峡:{pinyin:"sanmenxia"},洛阳:{pinyin:"luoyang"},信阳:{pinyin:"xinyang"},南阳:{pinyin:"nanyang"},驻马店:{pinyin:"zhumadian"},漯河:{pinyin:"luohe"},周口:{pinyin:"zhoukou"},平顶山:{pinyin:"pingdingshan"},许昌:{pinyin:"xuchang"},济源:{pinyin:"jiyuan"},开封:{pinyin:"kaifeng"},焦作:{pinyin:"jiaozuo"},新乡:{pinyin:"xinxiang"},鹤壁:{pinyin:"hebi"},濮阳:{pinyin:"puyang"},安阳:{pinyin:"anyang"},商丘:{pinyin:"shangqiu"}},湖北:{武汉:{pinyin:"wuhan"},恩施:{pinyin:"enshi"},宜昌:{pinyin:"yichang"},荆州:{pinyin:"jingzhou"},神农架:{pinyin:"shennongjia"},荆门:{pinyin:"jingmen"},襄阳:{pinyin:"xiangyang"},十堰:{pinyin:"shiyan"},潜江:{pinyin:"qianjiang"},天门:{pinyin:"tianmen"},仙桃:{pinyin:"xiantao"},咸宁:{pinyin:"xianning"},黄石:{pinyin:"huangshi"},孝感:{pinyin:"xiaogan"},鄂州:{pinyin:"ezhou"},黄冈:{pinyin:"huanggang"},随州:{pinyin:"suizhou"}},湖南:{长沙:{pinyin:"changsha"},永州:{pinyin:"yongzhou"},怀化:{pinyin:"huaihua"},邵阳:{pinyin:"shaoyang"},娄底:{pinyin:"loudi"},吉首:{pinyin:"jishou"},张家界:{pinyin:"zhangjiajie"},益阳:{pinyin:"yiyang"},常德:{pinyin:"changde"},郴州:{pinyin:"chenzhou"},衡阳:{pinyin:"hengyang"},湘潭:{pinyin:"xiangtan"},株洲:{pinyin:"zhuzhou"},岳阳:{pinyin:"yueyang"}},广东:{广州:{pinyin:"guangzhou"},湛江:{pinyin:"zhanjiang"},茂名:{pinyin:"maoming"},阳江:{pinyin:"yangjiang"},珠海:{pinyin:"zhuhai"},云浮:{pinyin:"yunfu"},肇庆:{pinyin:"zhaoqing"},江门:{pinyin:"jiangmen"},佛山:{pinyin:"foshan"},中山:{pinyin:"zhongshan"},东莞:{pinyin:"dongguan"},清远:{pinyin:"qingyuan"},深圳:{pinyin:"shenzhen"},惠州:{pinyin:"huizhou"},河源:{pinyin:"heyuan"},韶关:{pinyin:"shaoguan"},汕尾:{pinyin:"shanwei"},汕头:{pinyin:"shantou"},揭阳:{pinyin:"jieyang"},潮州:{pinyin:"chaozhou"},梅州:{pinyin:"meizhou"}},广西:{南宁:{pinyin:"nanning"},崇左:{pinyin:"chongzuo"},防城港:{pinyin:"fangchenggang"},北海:{pinyin:"beihai"},钦州:{pinyin:"qinzhou"},百色:{pinyin:"baise"},贵港:{pinyin:"guigang"},来宾:{pinyin:"laibin"},河池:{pinyin:"hechi"},柳州:{pinyin:"liuzhou"},玉林:{pinyin:"yulin"},梧州:{pinyin:"wuzhou"},桂林:{pinyin:"guilin"},贺州:{pinyin:"hezhou"}},海南:{海口:{pinyin:"haikou"},西沙:{pinyin:"xisha"},三亚:{pinyin:"sanya"},乐东:{pinyin:"ledong"},五指山:{pinyin:"wuzhishan"},东方:{pinyin:"dongfang"},昌江:{pinyin:"changjiang"},白沙:{pinyin:"baisha"},儋州:{pinyin:"danzhou"},保亭:{pinyin:"baoting"},陵水:{pinyin:"lingshui"},万宁:{pinyin:"wanning"},琼中:{pinyin:"qiongzhong"},屯昌:{pinyin:"tunchang"},琼海:{pinyin:"qionghai"},文昌:{pinyin:"wenchang"},临高:{pinyin:"lingao"},澄迈:{pinyin:"chengmai"},定安:{pinyin:"dingan"},南沙:{pinyin:"nansha"},中沙:{pinyin:"wuzhishan"}},重庆:{"-":{pinyin:"chongqing"}},四川:{成都:{pinyin:"chengdu"},甘孜:{pinyin:"ganzi"},攀枝花:{pinyin:"panzhihua"},凉山:{pinyin:"liangshan"},雅安:{pinyin:"yaan"},乐山:{pinyin:"leshan"},眉山:{pinyin:"meishan"},宜宾:{pinyin:"yibin"},泸州:{pinyin:"luzhou"},自贡:{pinyin:"zigong"},资阳:{pinyin:"ziyang"},内江:{pinyin:"neijiang"},遂宁:{pinyin:"suining"},南充:{pinyin:"nanchong"},广安:{pinyin:"guangan"},阿坝:{pinyin:"aba"},德阳:{pinyin:"deyang"},绵阳:{pinyin:"mianyang"},巴中:{pinyin:"bazhong"},广元:{pinyin:"guangyuan"},达州:{pinyin:"dazhou"}},贵州:{贵阳:{pinyin:"guiyang"},兴义:{pinyin:"xingyi"},水城:{pinyin:"shuicheng"},安顺:{pinyin:"anshun"},毕节:{pinyin:"bijie"},都匀:{pinyin:"duyun"},凯里:{pinyin:"kaili"},遵义:{pinyin:"zunyi"},铜仁:{pinyin:"tongren"}},云南:{昆明:{pinyin:"kunming"},景洪:{pinyin:"jinghong"},普洱:{pinyin:"puer"},临沧:{pinyin:"lincang"},德宏:{pinyin:"dehong"},保山:{pinyin:"baoshan"},怒江:{pinyin:"nujiang"},大理:{pinyin:"dali"},香格里拉:{pinyin:"xianggelila"},丽江:{pinyin:"lijiang"},红河:{pinyin:"honghe"},玉溪:{pinyin:"yuxi"},楚雄:{pinyin:"chuxiong"},文山:{pinyin:"wenshan"},曲靖:{pinyin:"qujing"},昭通:{pinyin:"zhaotong"}},西藏:{拉萨:{pinyin:"lasa"},阿里:{pinyin:"ali"},日喀则:{pinyin:"rikaze"},山南:{pinyin:"shannan"},林芝:{pinyin:"linzhi"},那曲:{pinyin:"naqu"},昌都:{pinyin:"changdu"}},陕西:{西安:{pinyin:"xian"},汉中:{pinyin:"hanzhong"},安康:{pinyin:"ankang"},宝鸡:{pinyin:"baoji"},杨凌:{pinyin:"yangling"},咸阳:{pinyin:"xianyang"},铜川:{pinyin:"tongchuan"},渭南:{pinyin:"weinan"},商洛:{pinyin:"shangluo"},延安:{pinyin:"yanan"},榆林:{pinyin:"yulin"}},甘肃:{兰州:{pinyin:"lanzhou"},武都:{pinyin:"wudu"},张掖:{pinyin:"zhangye"},嘉峪关:{pinyin:"jiayuguan"},酒泉:{pinyin:"jiuquan"},合作:{pinyin:"hezuo"},临夏:{pinyin:"linxia"},天水:{pinyin:"tianshui"},定西:{pinyin:"dingxi"},白银:{pinyin:"baiyin"},平凉:{pinyin:"pingliang"},武威:{pinyin:"wuwei"},金昌:{pinyin:"jinchang"},庆阳:{pinyin:"qingyang"}},青海:{西宁:{pinyin:"xining"},玉树:{pinyin:"yushu"},格尔木:{pinyin:"geermu"},果洛:{pinyin:"guoluo"},海南:{pinyin:"hainan"},海西:{pinyin:"haixi"},海北:{pinyin:"haibei"},黄南:{pinyin:"huangnan"},海东:{pinyin:"haidong"}},宁夏:{银川:{pinyin:"yinchuan"},固原:{pinyin:"guyuan"},中卫:{pinyin:"zhongwei"},吴忠:{pinyin:"wuzhong"},石嘴山:{pinyin:"shizuishan"}},新疆:{乌鲁木齐:{pinyin:"wulumuqi"},喀什:{pinyin:"kashi"},阿图什:{pinyin:"atushi"},和田:{pinyin:"hetian"},阿拉尔:{pinyin:"alaer"},阿克苏:{pinyin:"akesu"},伊宁:{pinyin:"yining"},博乐:{pinyin:"bole"},库尔勒:{pinyin:"kuerle"},石河子:{pinyin:"shihezi"},吐鲁番:{pinyin:"tulufan"},昌吉:{pinyin:"changji"},五家渠:{pinyin:"wujiaqu"},塔城:{pinyin:"tacheng"},克拉玛依:{pinyin:"kelamayi"},阿勒泰:{pinyin:"aletai"},哈密:{pinyin:"hami"}},香港:{"-":{pinyin:"hong kong"}},澳门:{"-":{pinyin:"macao"}},台湾:{台北:{pinyin:"taipei"},高雄:{pinyin:"gaoxiong"},台中:{pinyin:"taizhong"}}},_x=function(){var x=this.getFieldValue("province"),f=this.getFieldValue("city"),e="";try{e='"'+ux[x][f].pinyin+'"'}catch(x){console.log(x)}return[e,K.Arduino.ORDER_ATOMIC]},hx=function(){return['"'+this.getFieldValue("key")+'"',K.Arduino.ORDER_ATOMIC]},Fx=function(){var x=this.getFieldValue("api"),f=K.Arduino.valueToCode(this,"location",K.Arduino.ORDER_ATOMIC),e=K.Arduino.valueToCode(this,"private_key",K.Arduino.ORDER_ATOMIC),t=this.getFieldValue("language"),i=this.getFieldValue("unit");switch(K.Arduino.definitions_.include_ESP8266_Seniverse="#include ",K.Arduino.setups_.setup_serial_Serial="Serial.begin(9600);",x){case"weather/now":K.Arduino.definitions_.var_declare_weatherNow="WeatherNow weatherNow;",K.Arduino.setups_.setup_seniverse_weatherNow="weatherNow.config("+e+", "+f+', "'+i+'", "'+t+'");';break;case"weather/daily":K.Arduino.definitions_.var_declare_forecast="Forecast forecast;",K.Arduino.setups_.setup_seniverse_forecast="forecast.config("+e+", "+f+', "'+i+'", "'+t+'");';break;default:K.Arduino.definitions_.var_declare_lifeInfo="LifeInfo lifeInfo;",K.Arduino.setups_.setup_seniverse_lifeInfo="lifeInfo.config("+e+", "+f+', "'+i+'", "'+t+'");'}return""},Ax=function(){var x=this.getFieldValue("api"),f=this.getFieldValue("type"),e="";switch(x){case"weather/now":e="weatherNow."+f+"()";break;case"weather/daily":e="forecast."+f+"()";break;default:e="lifeInfo."+f+"()"}return[e,K.Arduino.ORDER_ATOMIC]},Ix=function(){return["weatherNow."+this.getFieldValue("type")+"()",K.Arduino.ORDER_ATOMIC]},gx=function(){var x=this.getFieldValue("date");return["forecast."+this.getFieldValue("type")+"("+x+")",K.Arduino.ORDER_ATOMIC]},Ex=function(){return["lifeInfo."+this.getFieldValue("type")+"()",K.Arduino.ORDER_ATOMIC]},Mx=function(){const x=this.getFieldValue("TYPE"),f=this.getFieldValue("OPTION"),e=K.Arduino.valueToCode(this,"VALUE",K.Arduino.ORDER_ATOMIC);let t="";return"BASE64"===x?(K.Arduino.definitions_.include_rBase64="#include ",t="ENCODE"===f?"rbase64.encode("+e+")":"rbase64.decode("+e+")"):(K.Arduino.definitions_.include_URLCode="#include ",K.Arduino.definitions_.var_declare_urlCode="URLCode urlCode;","ENCODE"===f?(K.Arduino.definitions_.function_urlEncode="String urlEncode(String urlStr) {\n urlCode.strcode = urlStr;\n urlCode.urlencode();\n return urlCode.urlcode;\n}\n",t="urlEncode("+e+")"):(K.Arduino.definitions_.function_urlDecode="String urlDecode(String urlStr) {\n urlCode.urlcode = urlStr;\n urlCode.urldecode();\n return urlCode.strcode;\n}\n",t="urlDecode("+e+")")),[t,K.Arduino.ORDER_ATOMIC]},Tx=function(x,f){if(this.variablePrefix_=f||"",this.reservedDict_=Object.create(null),x)for(var e=x.split(","),t=0;t1&&(s+=t)):e=s}else e="i";return e}},Rx=Sx;class Dx extends K.Generator{constructor(x){super(x??"Arduino"),this.ORDER_ATOMIC=0,this.ORDER_UNARY_POSTFIX=1,this.ORDER_UNARY_PREFIX=2,this.ORDER_MULTIPLICATIVE=3,this.ORDER_ADDITIVE=4,this.ORDER_SHIFT=5,this.ORDER_RELATIONAL=6,this.ORDER_EQUALITY=7,this.ORDER_BITWISE_AND=8,this.ORDER_BITWISE_XOR=9,this.ORDER_BITWISE_OR=10,this.ORDER_LOGICAL_AND=11,this.ORDER_LOGICAL_OR=12,this.ORDER_CONDITIONAL=13,this.ORDER_ASSIGNMENT=14,this.ORDER_NONE=99,this.INDENT=" ",this.isInitialized=!1,this.PASS="",this.addReservedWords("setup,loop,if,else,for,switch,case,while,do,break,continue,return,goto,define,include,HIGH,LOW,INPUT,OUTPUT,INPUT_PULLUP,true,false,interger,constants,floating,point,void,bookean,char,unsigned,byte,int,short,word,long,float,double,string,String,array,static,volatile,const,sizeof")}init(){super.init(),this.definitions_=Object.create(null),this.setups_=Object.create(null),this.setups_begin_=Object.create(null),this.setups_end_=Object.create(null),this.libs_=Object.create(null),this.loops_begin_=Object.create(null),this.loops_end_=Object.create(null),this.variableDB_?this.variableDB_.reset():this.variableDB_=new mx(this.RESERVED_WORDS_),this.isInitialized=!0}finish(x){x=(x=" "+x.replace(/\n/g,"\n ")).replace(/\n\s+$/,"\n");var f=[],e=[],t=[],i=[],n=Object.keys(this.definitions_);if(n.length)for(var s in n){var a=n[s],c=this.definitions_[a];a.match(/^define/)?e.push(c):a.match(/^include/)||c.match(/^WiFiClient/)?f.push(c):a.match(/^var_declare/)?t.push(c):i.push(c)}var l=[];for(let x in this.setups_)l.push(this.setups_[x]);var d=[],p=[];for(let x in this.setups_begin_)d.push(this.setups_begin_[x]);for(let x in this.setups_end_)p.push(this.setups_end_[x]);for(let x in this.libs_)f.push(`#include "${x}.h"`);var o=[],r=[];for(let x in this.loops_begin_)o.push(this.loops_begin_[x]);for(let x in this.loops_end_)r.push(this.loops_end_[x]);return x="void loop(){\n"+(o.length?" "+o.join("\n "):"")+x+(r.length?" "+r.join("\n "):"")+"\n}",(e.join("\n")+"\n"+f.join("\n")+"\n\n"+t.join("\n")+"\n\n"+i.join("\n")+"\n\nvoid setup(){\n "+d.join("\n ")+(d.length&&(p.length||l.length)?"\n ":"")+l.join("\n ")+(p.length&&l.length?"\n ":"")+p.join("\n ")+"\n}\n\n").replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n")+x}scrubNakedValue(x){return x+";\n"}quote_(x){return'"'+x+'"'}scrub_(x,f){if(null===f)return"";var e="";if(!x.outputConnection||!x.outputConnection.targetConnection){let f=x.getCommentText();f&&(e+=this.prefixLines(f,"// ")+"\n");for(var t=0;t0;i--)f.getInputTargetBlock("IF"+i)&&f.getInputTargetBlock("IF"+i).previousConnection?e[i]=f.getInputTargetBlock("IF"+i).previousConnection:e[i]=null,this.removeInput("IF"+i),f.getInputTargetBlock("DO"+i)&&f.getInputTargetBlock("DO"+i).previousConnection?t[i]=f.getInputTargetBlock("DO"+i).previousConnection:t[i]=null,this.removeInput("DO"+i);this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(i=1;i<=this.elseifCount_;i++)this.appendValueInput("IF"+i).setCheck([Boolean,Number]).appendField(K.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+i).appendField(K.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(K.Msg.CONTROLS_IF_MSG_ELSE);for(i=e.length-2;i>0;i--)e[i]&&e[i].reconnect(this,"IF"+i);for(i=t.length-2;i>0;i--)t[i]&&t[i].reconnect(this,"DO"+i)},decompose:function(x){var f=x.newBlock("controls_if_if");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_if_elseif");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_if_else");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null],i=[null],n=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,t.push(e.valueConnection_),i.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=e.statementConnection_;break;default:throw Error("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,i,n)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_if_elseif":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_if_else":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){var x=[null],f=[null],e=null;this.getInput("ELSE")&&(e=this.getInput("ELSE").connection.targetConnection);for(var t=1;this.getInput("IF"+t);){var i=this.getInput("IF"+t),n=this.getInput("DO"+t);console.log(i.connection.targetConnection),x.push(i.connection.targetConnection),f.push(n.connection.targetConnection),t++}this.updateShape_(),this.reconnectChildBlocks_(x,f,e)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var x=1;this.getInput("IF"+x);)this.removeInput("IF"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendValueInput("IF"+x).setCheck([Number,Boolean]).appendField(K.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+x).appendField(K.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(K.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(x,f,e){for(var t=1;t<=this.elseifCount_;t++)x[t]&&x[t].reconnect(this,"IF"+t),f[t]&&f[t].reconnect(this,"DO"+t);e&&e.reconnect(this,"ELSE")}},Jt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(K.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(K.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(K.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Qt={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(K.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(K.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},$t={init:function(){this.setColour(Bt),this.appendValueInput("IF0").setCheck([Number,Boolean]).appendField("switch"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#switch"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","switch 选择"]}},this.setMutator(new K.icons.MutatorIcon(["controls_case","controls_default"],this)),this.elseifCount_=0,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),this.elseCount_&&x.setAttribute("else",1),x},domToMutation:function(x){this.compose(this),this.elseifCount_=parseInt(x.getAttribute("elseif"),10),this.elseCount_=parseInt(x.getAttribute("else"),10);for(var f=1;f<=this.elseifCount_;f++)this.appendValueInput("IF"+f).setCheck([Number,Boolean]).appendField("case"),this.appendStatementInput("DO"+f).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField("default")},decompose:function(x){var f=x.newBlock("controls_switch");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("controls_case");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}if(this.elseCount_){var n=x.newBlock("controls_default");n.initSvg(),e.connect(n.previousConnection)}return f},compose:function(x){this.elseCount_&&this.removeInput("ELSE"),this.elseCount_=0;for(var f=this.elseifCount_;f>0;f--)this.removeInput("IF"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK");e;){switch(e.type){case"controls_case":this.elseifCount_++;var t=this.appendValueInput("IF"+this.elseifCount_).setCheck([Number,Boolean]).appendField("case"),i=this.appendStatementInput("DO"+this.elseifCount_);i.appendField(""),e.valueConnection_&&t.connection.connect(e.valueConnection_),e.statementConnection_&&i.connection.connect(e.statementConnection_);break;case"controls_default":this.elseCount_++;var n=this.appendStatementInput("ELSE");n.appendField("default"),e.statementConnection_&&n.connection.connect(e.statementConnection_);break;default:throw"Unknown block type."}e=e.nextConnection&&e.nextConnection.targetBlock()}},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){switch(f.type){case"controls_case":var t=this.getInput("IF"+e),i=this.getInput("DO"+e);f.valueConnection_=t&&t.connection.targetConnection,f.statementConnection_=i&&i.connection.targetConnection,e++;break;case"controls_default":i=this.getInput("ELSE");f.statementConnection_=i&&i.connection.targetConnection;break;default:throw"Unknown block type."}f=f.nextConnection&&f.nextConnection.targetBlock()}}},xi={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("switch"),this.appendStatementInput("STACK"),this.contextMenu=!1}},fi={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("case"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1}},ei={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("default"),this.setPreviousStatement(!0),this.contextMenu=!1}},ti={init:function(){this.setColour(Bt),this.appendValueInput("TIME").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField("MsTimer2"+K.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(K.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#MsTimer2"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"]}}}},ii={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("MsTimer2"+K.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id45"),this.setTooltip(K.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_START),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器启动"}}}},ni={init:function(){this.setColour(Bt),this.appendDummyInput().appendField("MsTimer2").appendField(K.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_CONTROL_MSTIMER2_STOP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id48"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","MsTimer2 定时器"],scrollPos:"MsTimer2 定时器停止"}}}},si={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(K.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},ai={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(K.Msg.SOFT_RESET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_CONTROL_END_PROGRAM)}},ci={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(K.Msg.MIXLY_CONTROL_INTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_CONTROL_ALLOW_INTERRUPT),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id51"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"允许中断"}}}},li={init:function(){this.setColour(Bt),this.appendDummyInput().appendField(K.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_CONTROL_NOINTERRUPTS),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id55"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","中断"],scrollPos:"禁止中断"}}}},di=Wt,pi={init:function(){this.appendDummyInput().appendField(K.Msg.MIXLY_SIMPLE_TIMER).appendField(new K.FieldDropdown([["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"]]),"NO").appendField(K.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("timein").setCheck(null),this.appendDummyInput().appendField(K.Msg.MIXLY_mSecond),this.appendStatementInput("zxhs").setCheck(null).appendField(K.Msg.CONTROLS_REPEAT_INPUT_DO),this.setColour(120),this.setTooltip(),this.setHelpUrl(""),this.wiki={"zh-hans":{page:["Arduino AVR","控制","简单定时器"]}}}},oi={init:function(){this.appendStatementInput("input_data").setCheck(null).appendField(K.Msg.MIXLY_DO),this.appendValueInput("select_data").setCheck(null).appendField(K.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new K.FieldDropdown([[K.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[K.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ri={init:function(){this.appendDummyInput().appendField(K.Msg.super_delay_function).appendField(new K.FieldDropdown([["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"]]),"number"),this.appendStatementInput("delay_function").setCheck(null),this.setColour(120),this.setTooltip(K.Msg.super_delay_function_help),this.setHelpUrl("")}},ui={init:function(){this.appendDummyInput().appendField(K.Msg.execute_super_delay_function).appendField(new K.FieldDropdown([["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"]]),"number"),this.appendValueInput("time_interval").setCheck(null).appendField(K.Msg.time_interval),this.appendValueInput("frequency").setCheck(null).appendField(K.Msg.number_of_executions),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip(K.Msg.execute_super_delay_function_help),this.setHelpUrl("")}},_i=layui,hi=$;var Fi=e.n(hi);const{layer:Ai}=_i,Ii=180;var gi=[[K.Msg.OLED_HOLLOW,"draw"],[K.Msg.OLED_SOLID,"fill"]];const Ei={init:function(){this.setColour(Ii),this.appendValueInput("device").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_SETUP).appendField(K.Msg.MIXLY_DF_LCD).appendField(new K.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new K.FieldTextInput("mylcd"),"VAR").appendField(K.Msg.MIXLY_LCD_ADDRESS),this.appendDummyInput("").appendField("SCL").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"SCL").appendField("SDA").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_LCD_INIT2),this.setFieldValue(Z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Z.Profile.default.SDA[0][1],"SDA")}},Mi={init:function(){this.setColour(Ii),this.appendDummyInput().setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_SETUP).appendField(K.Msg.MIXLY_DF_LCD).appendField(new K.FieldDropdown([["1602","16,2"],["2004","20,4"]]),"TYPE").appendField(new K.FieldTextInput("mylcd"),"VAR").setAlign(K.inputs.Align.LEFT),this.appendDummyInput().appendField("RS").appendField(new K.FieldDropdown(Z.Profile.default.digital),"RS").appendField("EN").appendField(new K.FieldDropdown(Z.Profile.default.digital),"EN").appendField("D4").appendField(new K.FieldDropdown(Z.Profile.default.digital),"D4").appendField("D5").appendField(new K.FieldDropdown(Z.Profile.default.digital),"D5").appendField("D6").appendField(new K.FieldDropdown(Z.Profile.default.digital),"D6").appendField("D7").appendField(new K.FieldDropdown(Z.Profile.default.digital),"D7"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_LCD_INIT3)}},Ti={init:function(){this.setColour(Ii),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DF_LCD).appendField(new K.FieldTextInput("mylcd"),"VAR").appendField(K.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_LCD_PRINT)}},mi={init:function(){this.setColour(Ii),this.appendValueInput("row",Number).setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DF_LCD).appendField(new K.FieldTextInput("mylcd"),"VAR").appendField(K.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace("%1",K.Arduino.valueToCode(this,"row",K.Arduino.ORDER_ATOMIC)).replace("%2",K.Arduino.valueToCode(this,"column",K.Arduino.ORDER_ATOMIC)))}},Ci={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_DF_LCD).appendField(new K.FieldTextInput("mylcd"),"VAR").appendField(new K.FieldDropdown([[K.Msg.MIXLY_ON,"display"],[K.Msg.MIXLY_OFF,"noDisplay"],[K.Msg.MIXLY_LCD_STAT_CURSOR,"cursor"],[K.Msg.MIXLY_LCD_STAT_NOCURSOR,"noCursor"],[K.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[K.Msg.MIXLY_LCD_STAT_NOBLINK,"noBlink"],[K.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[K.Msg.MIXLY_LCD_NOBACKLIGHT,"noBacklight"],[K.Msg.MIXLY_LCD_BACKLIGHT,"backlight"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_LCD_POWER)}},Oi={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(new K.FieldDropdown([[K.Msg.MIXLY_ON,"displayOn"],[K.Msg.MIXLY_OFF,"displayOff"],[K.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},Si={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_4DIGITDISPLAY+"_TM1650"),this.appendValueInput("VALUE").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.OLED_DRAWSTR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString)}},Ri={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_4DIGITDISPLAY+"_TM1650").appendField(K.Msg.MIXLY_4DIGITDISPLAY_NOMBER1).appendField(new K.FieldDropdown([["1","0"],["2","1"],["3","2"],["4","3"]]),"NO").appendField(K.Msg.MIXLY_4DIGITDISPLAY_NOMBER2).appendField(K.Msg.MIXLY_4DIGITDISPLAY_DOT).appendField(new K.FieldDropdown([[K.Msg.MIXLY_4DIGITDISPLAY_ON,"true"],[K.Msg.MIXLY_4DIGITDISPLAY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},Di={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.MIXLY_SETUP).appendField("CLK").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"CLK").appendField("DIO").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},Ni={init:function(){this.setColour(Ii),this.appendValueInput("VALUE").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP)}},Li={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(K.inputs.Align.RIGHT),this.appendDummyInput("").appendField(K.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(K.inputs.Align.RIGHT),this.appendDummyInput("").appendField(K.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(K.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new K.FieldDropdown([[K.Msg.MIXLY_ON,"true"],[K.Msg.MIXLY_OFF,"false"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},Pi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(K.inputs.Align.RIGHT),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},yi={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(new K.FieldDropdown([[K.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[K.Msg.MIXLY_LCD_STAT_BLINK,"blink"],[K.Msg.MIXLY_ON,"on"],[K.Msg.MIXLY_OFF,"off"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},bi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_DISPLAY_MATRIX_INIT),this.appendDummyInput("").appendField("SCL").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"SCL").appendField("SDA").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"SDA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT),this.setFieldValue(Z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Z.Profile.default.SDA[0][1],"SDA")}},vi={init:function(){this.appendDummyInput("").appendField(K.Msg.MIXLY_MAX7219_INIT),this.appendValueInput("PIN1").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField("DIN(MOSI)").appendField(K.Msg.MIXLY_PIN),this.appendValueInput("PIN2").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField("CS").appendField(K.Msg.MIXLY_PIN),this.appendValueInput("PIN3").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField("CLK(SCK)").appendField(K.Msg.MIXLY_PIN),this.appendValueInput("hDisplays").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_MAX7219_HDISPALY),this.appendValueInput("vDisplays").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_MAX7219_VDISPALY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ii),this.setInputsInline(!1),this.setTooltip(K.Msg.MAX7219_INIT_TOOLTIP),this.setHelpUrl("")}};var wi=[["MAX7219","MAX7219"],["HT16K33","HT16K33"]];const Yi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField(new K.FieldDropdown(wi),"TYPE"),this.appendValueInput("XVALUE").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DISPLAY_MATRIX_X),this.appendValueInput("YVALUE").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DISPLAY_MATRIX_Y),this.appendValueInput("STAT").appendField(K.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.appendDummyInput("").appendField(new K.FieldDropdown([[K.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[K.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}};var Vi=[[K.Msg.MIXLY_0DEGREE,"0"],[K.Msg.MIXLY_90DEGREE,"3"],[K.Msg.MIXLY_180DEGREE,"2"],[K.Msg.MIXLY_270DEGREE,"1"]];const ki={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_MAX7219_NO),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new K.FieldDropdown(Vi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Xi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField("MAX7219"),this.appendValueInput("NO").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_MAX7219_NO),this.appendValueInput("X").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField("X"),this.appendValueInput("Y").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField("Y"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Gi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField("HT16K33"),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new K.FieldDropdown(Vi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Bi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField(new K.FieldDropdown(wi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.texttodisplay),this.appendValueInput("Speed").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_SPEED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Ui={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField(new K.FieldDropdown(wi),"TYPE"),this.appendValueInput("TEXT",String).setCheck([Number,String]).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.texttodisplay),this.appendDummyInput("").appendField(new K.FieldDropdown([[K.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[K.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT)}},Wi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField(new K.FieldDropdown(wi),"TYPE").appendField(new K.FieldDropdown([[K.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[K.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.appendValueInput("NO").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_MAX7219_NO),this.appendValueInput("LEDArray").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!1),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR)}},Hi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new K.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a81").appendField(new K.FieldCheckbox("FALSE"),"a82").appendField(new K.FieldCheckbox("FALSE"),"a83").appendField(new K.FieldCheckbox("FALSE"),"a84").appendField(new K.FieldCheckbox("FALSE"),"a85").appendField(new K.FieldCheckbox("FALSE"),"a86").appendField(new K.FieldCheckbox("FALSE"),"a87").appendField(new K.FieldCheckbox("FALSE"),"a88"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a71").appendField(new K.FieldCheckbox("FALSE"),"a72").appendField(new K.FieldCheckbox("FALSE"),"a73").appendField(new K.FieldCheckbox("FALSE"),"a74").appendField(new K.FieldCheckbox("FALSE"),"a75").appendField(new K.FieldCheckbox("FALSE"),"a76").appendField(new K.FieldCheckbox("FALSE"),"a77").appendField(new K.FieldCheckbox("FALSE"),"a78"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a61").appendField(new K.FieldCheckbox("FALSE"),"a62").appendField(new K.FieldCheckbox("FALSE"),"a63").appendField(new K.FieldCheckbox("FALSE"),"a64").appendField(new K.FieldCheckbox("FALSE"),"a65").appendField(new K.FieldCheckbox("FALSE"),"a66").appendField(new K.FieldCheckbox("FALSE"),"a67").appendField(new K.FieldCheckbox("FALSE"),"a68"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a51").appendField(new K.FieldCheckbox("FALSE"),"a52").appendField(new K.FieldCheckbox("FALSE"),"a53").appendField(new K.FieldCheckbox("FALSE"),"a54").appendField(new K.FieldCheckbox("FALSE"),"a55").appendField(new K.FieldCheckbox("FALSE"),"a56").appendField(new K.FieldCheckbox("FALSE"),"a57").appendField(new K.FieldCheckbox("FALSE"),"a58"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a41").appendField(new K.FieldCheckbox("FALSE"),"a42").appendField(new K.FieldCheckbox("FALSE"),"a43").appendField(new K.FieldCheckbox("FALSE"),"a44").appendField(new K.FieldCheckbox("FALSE"),"a45").appendField(new K.FieldCheckbox("FALSE"),"a46").appendField(new K.FieldCheckbox("FALSE"),"a47").appendField(new K.FieldCheckbox("FALSE"),"a48"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a31").appendField(new K.FieldCheckbox("FALSE"),"a32").appendField(new K.FieldCheckbox("FALSE"),"a33").appendField(new K.FieldCheckbox("FALSE"),"a34").appendField(new K.FieldCheckbox("FALSE"),"a35").appendField(new K.FieldCheckbox("FALSE"),"a36").appendField(new K.FieldCheckbox("FALSE"),"a37").appendField(new K.FieldCheckbox("FALSE"),"a38"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a21").appendField(new K.FieldCheckbox("FALSE"),"a22").appendField(new K.FieldCheckbox("FALSE"),"a23").appendField(new K.FieldCheckbox("FALSE"),"a24").appendField(new K.FieldCheckbox("FALSE"),"a25").appendField(new K.FieldCheckbox("FALSE"),"a26").appendField(new K.FieldCheckbox("FALSE"),"a27").appendField(new K.FieldCheckbox("FALSE"),"a28"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a11").appendField(new K.FieldCheckbox("FALSE"),"a12").appendField(new K.FieldCheckbox("FALSE"),"a13").appendField(new K.FieldCheckbox("FALSE"),"a14").appendField(new K.FieldCheckbox("FALSE"),"a15").appendField(new K.FieldCheckbox("FALSE"),"a16").appendField(new K.FieldCheckbox("FALSE"),"a17").appendField(new K.FieldCheckbox("FALSE"),"a18"),this.setOutput(!0,Number),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY)}},zi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new K.FieldTextInput("LedArray1"),"VAR"),this.appendDummyInput("").setAlign(K.inputs.Align.CENTRE).appendField(new K.FieldBitmap([[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},Ki={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField(new K.FieldDropdown(wi),"TYPE"),this.appendValueInput("Brightness").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_BRIGHTNESS),this.setTooltip(K.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}};var Zi=[[K.Msg.MAX7219_FILLSCREEN_ON,"fillScreen(1)"],[K.Msg.MAX7219_FILLSCREEN_OFF,"fillScreen(0)"]];const ji={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField(new K.FieldDropdown(wi),"TYPE"),this.appendDummyInput("").appendField(K.Msg.MIXLY_STAT),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(new K.FieldDropdown(Zi),"FILLSCREEN_TYPE"),this.appendDummyInput("").appendField(new K.FieldDropdown([[K.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW,"ON"],[K.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE,"OFF"]]),"WRITE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS)}},Ji={init:function(){this.appendDummyInput("").appendField(K.Msg.MIXLY_MAX7219_IMG).appendField(new K.FieldDropdown([["↑","18181818db7e3c18"],["↓","183c7edb18181818"],["←","080c06ffff060c08"],["→","103060ffff603010"],["♥","183c7effffffe742"],["▲","00000000ff7e3c18"],["▼","183c7eff00000000"],["◄","080c0e0f0f0e0c08"],["►","103070f0f0703010"],["△","00000000ff422418"],["▽","182442ff00000000"],["☺","3c4299a581a5423c"],["○","3c4281818181423c"],["◑","3c72f1f1f1f1723c"],["◐","3c4e8f8f8f8f4e3c"],["¥","101010ff10ff2442"],["Χ","8142241818244281"],["√","0000010204885020"],["□","007e424242427e00"],["▣","007e425a5a427e00"],["◇","1824428181422418"],["♀","083e081c2222221c"],["♂","0e1b111b9ea0c0f0"],["♪","061f1e1010d07030"],["✈","203098ffff983020"],["卍","00f21212fe90909e"],["卐","009e9090fe1212f2"],["|","1010101010101010"],["—","000000ff00000000"],["╱","0102040810204080"],["\","8040201008040201"],["大","41221408087f0808"],["中","1010fe9292fe1010"],["小","0e08492a2a080808"],["米","00925438fe385492"],["正","7f0a0a3a08087f00"],["囧","ffa5a5bdc3a5a5ff"]]),"img_"),this.setOutput(!0),this.setTooltip(""),this.setColour(Ii),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR),this.setHelpUrl("")}},qi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_MATRIX_TYPE).appendField(new K.FieldDropdown(wi),"TYPE").appendField(K.Msg.MIXLY_DISPLAY_MATRIX_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}};var Qi=[[K.Msg.OLED_HOR,"H"],[K.Msg.OLED_VER,"V"]],$i=[[K.Msg.OLED_HOLLOW,"drawFrame"],[K.Msg.OLED_SOLID,"drawBox"]],xn=[[K.Msg.OLED_HOLLOW,"drawCircle"],[K.Msg.OLED_SOLID,"drawDisc"]],fn=[[K.Msg.OLED_HOLLOW,"drawRFrame"],[K.Msg.OLED_SOLID,"drawRBox"]],en=[[K.Msg.OLED_WHOLE_CICILE,"U8G2_DRAW_ALL"],[K.Msg.OLED_UP_R,"U8G2_DRAW_UPPER_RIGHT"],[K.Msg.OLED_UP_L,"U8G2_DRAW_UPPER_LEFT"],[K.Msg.OLED_LOW_R,"U8G2_DRAW_LOWER_RIGHT"],[K.Msg.OLED_LOW_L,"U8G2_DRAW_LOWER_LEFT"]],tn=[[K.Msg.OLED_HOLLOW,"drawEllipse"],[K.Msg.OLED_SOLID,"drawFilledEllipse"]],nn=[["Times New Roman","tim"],["Helvetica","helv"],["ncen","ncen"],["courier new","cour"]],sn=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["SSD1306(128×32)","SSD1306_128X32_UNIVISION"],["SH1106(128×64)","SH1106_128X64_NONAME"]],an=[["SSD1306(128×64)","SSD1306_128X64_NONAME"],["LCM12864","ST7565_NHD_C12864"],["NOKIA5110","PCD8544_84X48"]],cn=[[K.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 0°","U8G2_R0"],[K.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 90°","U8G2_R1"],[K.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 180°","U8G2_R2"],[K.Msg.MIXLY_DISPLAY_MATRIX_ROTATE+" 270°","U8G2_R3"],[K.Msg.MIRROR,"U8G2_MIRROR"]],ln=[["08","08"],["10","10"],["12","12"],["14","14"],["18","18"],["24","24"]],dn=[["常规","R"],["加粗","B"]],pn=[[K.Msg.OLED_FONT_chinese1,"_t_chinese1"],[K.Msg.OLED_FONT_chinese2,"_t_chinese2"],[K.Msg.OLED_FONT_chinese3,"_t_chinese3"],[K.Msg.OLED_FONT_gb2312a,"_t_gb2312a"],[K.Msg.OLED_FONT_gb2312b,"_t_gb2312b"],[K.Msg.OLED_FONT_gb2312,"_t_gb2312"]],on=[["12","wqy12"],["13","wqy13"],["14","wqy14"],["15","wqy15"],["16","wqy16"]],rn=[[{src:"../common/media/oled_icons/64.png",width:24,height:24,alt:"64"},"64"],[{src:"../common/media/oled_icons/65.png",width:24,height:24,alt:"65"},"65"],[{src:"../common/media/oled_icons/66.png",width:24,height:24,alt:"66"},"66"],[{src:"../common/media/oled_icons/67.png",width:24,height:24,alt:"67"},"67"],[{src:"../common/media/oled_icons/68.png",width:24,height:24,alt:"68"},"68"],[{src:"../common/media/oled_icons/69.png",width:24,height:24,alt:"69"},"69"],[{src:"../common/media/oled_icons/70.png",width:24,height:24,alt:"70"},"70"],[{src:"../common/media/oled_icons/71.png",width:24,height:24,alt:"71"},"71"],[{src:"../common/media/oled_icons/72.png",width:24,height:24,alt:"72"},"72"],[{src:"../common/media/oled_icons/73.png",width:24,height:24,alt:"73"},"73"],[{src:"../common/media/oled_icons/74.png",width:24,height:24,alt:"74"},"74"],[{src:"../common/media/oled_icons/75.png",width:24,height:24,alt:"75"},"75"],[{src:"../common/media/oled_icons/76.png",width:24,height:24,alt:"76"},"76"],[{src:"../common/media/oled_icons/77.png",width:24,height:24,alt:"77"},"77"],[{src:"../common/media/oled_icons/78.png",width:24,height:24,alt:"78"},"78"],[{src:"../common/media/oled_icons/79.png",width:24,height:24,alt:"79"},"79"],[{src:"../common/media/oled_icons/80.png",width:24,height:24,alt:"80"},"80"],[{src:"../common/media/oled_icons/81.png",width:24,height:24,alt:"81"},"81"],[{src:"../common/media/oled_icons/82.png",width:24,height:24,alt:"82"},"82"],[{src:"../common/media/oled_icons/83.png",width:24,height:24,alt:"83"},"83"],[{src:"../common/media/oled_icons/84.png",width:24,height:24,alt:"84"},"84"],[{src:"../common/media/oled_icons/85.png",width:24,height:24,alt:"85"},"85"],[{src:"../common/media/oled_icons/86.png",width:24,height:24,alt:"86"},"86"],[{src:"../common/media/oled_icons/87.png",width:24,height:24,alt:"87"},"87"],[{src:"../common/media/oled_icons/88.png",width:24,height:24,alt:"88"},"88"],[{src:"../common/media/oled_icons/89.png",width:24,height:24,alt:"89"},"89"],[{src:"../common/media/oled_icons/90.png",width:24,height:24,alt:"90"},"90"],[{src:"../common/media/oled_icons/91.png",width:24,height:24,alt:"91"},"91"],[{src:"../common/media/oled_icons/92.png",width:24,height:24,alt:"92"},"92"],[{src:"../common/media/oled_icons/93.png",width:24,height:24,alt:"93"},"93"],[{src:"../common/media/oled_icons/94.png",width:24,height:24,alt:"94"},"94"],[{src:"../common/media/oled_icons/95.png",width:24,height:24,alt:"95"},"95"],[{src:"../common/media/oled_icons/96.png",width:24,height:24,alt:"96"},"96"],[{src:"../common/media/oled_icons/97.png",width:24,height:24,alt:"97"},"97"],[{src:"../common/media/oled_icons/98.png",width:24,height:24,alt:"98"},"98"],[{src:"../common/media/oled_icons/99.png",width:24,height:24,alt:"99"},"99"],[{src:"../common/media/oled_icons/100.png",width:24,height:24,alt:"100"},"100"],[{src:"../common/media/oled_icons/101.png",width:24,height:24,alt:"101"},"101"],[{src:"../common/media/oled_icons/102.png",width:24,height:24,alt:"102"},"102"],[{src:"../common/media/oled_icons/103.png",width:24,height:24,alt:"103"},"103"],[{src:"../common/media/oled_icons/104.png",width:24,height:24,alt:"104"},"104"],[{src:"../common/media/oled_icons/105.png",width:24,height:24,alt:"105"},"105"],[{src:"../common/media/oled_icons/106.png",width:24,height:24,alt:"106"},"106"],[{src:"../common/media/oled_icons/107.png",width:24,height:24,alt:"107"},"107"],[{src:"../common/media/oled_icons/108.png",width:24,height:24,alt:"108"},"108"],[{src:"../common/media/oled_icons/109.png",width:24,height:24,alt:"109"},"109"],[{src:"../common/media/oled_icons/110.png",width:24,height:24,alt:"110"},"110"],[{src:"../common/media/oled_icons/111.png",width:24,height:24,alt:"111"},"111"],[{src:"../common/media/oled_icons/112.png",width:24,height:24,alt:"112"},"112"],[{src:"../common/media/oled_icons/113.png",width:24,height:24,alt:"113"},"113"],[{src:"../common/media/oled_icons/114.png",width:24,height:24,alt:"114"},"114"],[{src:"../common/media/oled_icons/115.png",width:24,height:24,alt:"115"},"115"],[{src:"../common/media/oled_icons/116.png",width:24,height:24,alt:"116"},"116"],[{src:"../common/media/oled_icons/117.png",width:24,height:24,alt:"117"},"117"],[{src:"../common/media/oled_icons/118.png",width:24,height:24,alt:"118"},"118"],[{src:"../common/media/oled_icons/119.png",width:24,height:24,alt:"119"},"119"],[{src:"../common/media/oled_icons/120.png",width:24,height:24,alt:"120"},"120"],[{src:"../common/media/oled_icons/121.png",width:24,height:24,alt:"121"},"121"],[{src:"../common/media/oled_icons/122.png",width:24,height:24,alt:"122"},"122"],[{src:"../common/media/oled_icons/123.png",width:24,height:24,alt:"123"},"123"],[{src:"../common/media/oled_icons/124.png",width:24,height:24,alt:"124"},"124"],[{src:"../common/media/oled_icons/125.png",width:24,height:24,alt:"125"},"125"],[{src:"../common/media/oled_icons/126.png",width:24,height:24,alt:"126"},"126"],[{src:"../common/media/oled_icons/127.png",width:24,height:24,alt:"127"},"127"],[{src:"../common/media/oled_icons/128.png",width:24,height:24,alt:"128"},"128"],[{src:"../common/media/oled_icons/129.png",width:24,height:24,alt:"129"},"129"],[{src:"../common/media/oled_icons/130.png",width:24,height:24,alt:"130"},"130"],[{src:"../common/media/oled_icons/131.png",width:24,height:24,alt:"131"},"131"],[{src:"../common/media/oled_icons/132.png",width:24,height:24,alt:"132"},"132"],[{src:"../common/media/oled_icons/133.png",width:24,height:24,alt:"133"},"133"],[{src:"../common/media/oled_icons/134.png",width:24,height:24,alt:"134"},"134"],[{src:"../common/media/oled_icons/135.png",width:24,height:24,alt:"135"},"135"],[{src:"../common/media/oled_icons/136.png",width:24,height:24,alt:"136"},"136"],[{src:"../common/media/oled_icons/137.png",width:24,height:24,alt:"137"},"137"],[{src:"../common/media/oled_icons/138.png",width:24,height:24,alt:"138"},"138"],[{src:"../common/media/oled_icons/139.png",width:24,height:24,alt:"139"},"139"],[{src:"../common/media/oled_icons/140.png",width:24,height:24,alt:"140"},"140"],[{src:"../common/media/oled_icons/141.png",width:24,height:24,alt:"141"},"141"],[{src:"../common/media/oled_icons/142.png",width:24,height:24,alt:"142"},"142"],[{src:"../common/media/oled_icons/143.png",width:24,height:24,alt:"143"},"143"],[{src:"../common/media/oled_icons/144.png",width:24,height:24,alt:"144"},"144"],[{src:"../common/media/oled_icons/145.png",width:24,height:24,alt:"145"},"145"],[{src:"../common/media/oled_icons/146.png",width:24,height:24,alt:"146"},"146"],[{src:"../common/media/oled_icons/147.png",width:24,height:24,alt:"147"},"147"],[{src:"../common/media/oled_icons/148.png",width:24,height:24,alt:"148"},"148"],[{src:"../common/media/oled_icons/149.png",width:24,height:24,alt:"149"},"149"],[{src:"../common/media/oled_icons/150.png",width:24,height:24,alt:"150"},"150"],[{src:"../common/media/oled_icons/151.png",width:24,height:24,alt:"151"},"151"],[{src:"../common/media/oled_icons/152.png",width:24,height:24,alt:"152"},"152"],[{src:"../common/media/oled_icons/153.png",width:24,height:24,alt:"153"},"153"],[{src:"../common/media/oled_icons/154.png",width:24,height:24,alt:"154"},"154"],[{src:"../common/media/oled_icons/155.png",width:24,height:24,alt:"155"},"155"],[{src:"../common/media/oled_icons/156.png",width:24,height:24,alt:"156"},"156"],[{src:"../common/media/oled_icons/157.png",width:24,height:24,alt:"157"},"157"],[{src:"../common/media/oled_icons/158.png",width:24,height:24,alt:"158"},"158"],[{src:"../common/media/oled_icons/159.png",width:24,height:24,alt:"159"},"159"],[{src:"../common/media/oled_icons/160.png",width:24,height:24,alt:"160"},"160"],[{src:"../common/media/oled_icons/161.png",width:24,height:24,alt:"161"},"161"],[{src:"../common/media/oled_icons/162.png",width:24,height:24,alt:"162"},"162"],[{src:"../common/media/oled_icons/163.png",width:24,height:24,alt:"163"},"163"],[{src:"../common/media/oled_icons/164.png",width:24,height:24,alt:"164"},"164"],[{src:"../common/media/oled_icons/165.png",width:24,height:24,alt:"165"},"165"],[{src:"../common/media/oled_icons/166.png",width:24,height:24,alt:"166"},"166"],[{src:"../common/media/oled_icons/167.png",width:24,height:24,alt:"167"},"167"],[{src:"../common/media/oled_icons/168.png",width:24,height:24,alt:"168"},"168"],[{src:"../common/media/oled_icons/169.png",width:24,height:24,alt:"169"},"169"],[{src:"../common/media/oled_icons/170.png",width:24,height:24,alt:"170"},"170"],[{src:"../common/media/oled_icons/171.png",width:24,height:24,alt:"171"},"171"],[{src:"../common/media/oled_icons/172.png",width:24,height:24,alt:"172"},"172"],[{src:"../common/media/oled_icons/173.png",width:24,height:24,alt:"173"},"173"],[{src:"../common/media/oled_icons/174.png",width:24,height:24,alt:"174"},"174"],[{src:"../common/media/oled_icons/175.png",width:24,height:24,alt:"175"},"175"],[{src:"../common/media/oled_icons/176.png",width:24,height:24,alt:"176"},"176"],[{src:"../common/media/oled_icons/177.png",width:24,height:24,alt:"177"},"177"],[{src:"../common/media/oled_icons/178.png",width:24,height:24,alt:"178"},"178"],[{src:"../common/media/oled_icons/179.png",width:24,height:24,alt:"179"},"179"],[{src:"../common/media/oled_icons/180.png",width:24,height:24,alt:"180"},"180"],[{src:"../common/media/oled_icons/181.png",width:24,height:24,alt:"181"},"181"],[{src:"../common/media/oled_icons/182.png",width:24,height:24,alt:"182"},"182"],[{src:"../common/media/oled_icons/183.png",width:24,height:24,alt:"183"},"183"],[{src:"../common/media/oled_icons/184.png",width:24,height:24,alt:"184"},"184"],[{src:"../common/media/oled_icons/185.png",width:24,height:24,alt:"185"},"185"],[{src:"../common/media/oled_icons/186.png",width:24,height:24,alt:"186"},"186"],[{src:"../common/media/oled_icons/187.png",width:24,height:24,alt:"187"},"187"],[{src:"../common/media/oled_icons/188.png",width:24,height:24,alt:"188"},"188"],[{src:"../common/media/oled_icons/189.png",width:24,height:24,alt:"189"},"189"],[{src:"../common/media/oled_icons/190.png",width:24,height:24,alt:"190"},"190"],[{src:"../common/media/oled_icons/191.png",width:24,height:24,alt:"191"},"191"],[{src:"../common/media/oled_icons/192.png",width:24,height:24,alt:"192"},"192"],[{src:"../common/media/oled_icons/193.png",width:24,height:24,alt:"193"},"193"],[{src:"../common/media/oled_icons/194.png",width:24,height:24,alt:"194"},"194"],[{src:"../common/media/oled_icons/195.png",width:24,height:24,alt:"195"},"195"],[{src:"../common/media/oled_icons/196.png",width:24,height:24,alt:"196"},"196"],[{src:"../common/media/oled_icons/197.png",width:24,height:24,alt:"197"},"197"],[{src:"../common/media/oled_icons/198.png",width:24,height:24,alt:"198"},"198"],[{src:"../common/media/oled_icons/199.png",width:24,height:24,alt:"199"},"199"],[{src:"../common/media/oled_icons/200.png",width:24,height:24,alt:"200"},"200"],[{src:"../common/media/oled_icons/201.png",width:24,height:24,alt:"201"},"201"],[{src:"../common/media/oled_icons/202.png",width:24,height:24,alt:"202"},"202"],[{src:"../common/media/oled_icons/203.png",width:24,height:24,alt:"203"},"203"],[{src:"../common/media/oled_icons/204.png",width:24,height:24,alt:"204"},"204"],[{src:"../common/media/oled_icons/205.png",width:24,height:24,alt:"205"},"205"],[{src:"../common/media/oled_icons/206.png",width:24,height:24,alt:"206"},"206"],[{src:"../common/media/oled_icons/207.png",width:24,height:24,alt:"207"},"207"],[{src:"../common/media/oled_icons/208.png",width:24,height:24,alt:"208"},"208"],[{src:"../common/media/oled_icons/209.png",width:24,height:24,alt:"209"},"209"],[{src:"../common/media/oled_icons/210.png",width:24,height:24,alt:"210"},"210"],[{src:"../common/media/oled_icons/211.png",width:24,height:24,alt:"211"},"211"],[{src:"../common/media/oled_icons/212.png",width:24,height:24,alt:"212"},"212"],[{src:"../common/media/oled_icons/213.png",width:24,height:24,alt:"213"},"213"],[{src:"../common/media/oled_icons/214.png",width:24,height:24,alt:"214"},"214"],[{src:"../common/media/oled_icons/215.png",width:24,height:24,alt:"215"},"215"],[{src:"../common/media/oled_icons/216.png",width:24,height:24,alt:"216"},"216"],[{src:"../common/media/oled_icons/217.png",width:24,height:24,alt:"217"},"217"],[{src:"../common/media/oled_icons/218.png",width:24,height:24,alt:"218"},"218"],[{src:"../common/media/oled_icons/219.png",width:24,height:24,alt:"219"},"219"],[{src:"../common/media/oled_icons/220.png",width:24,height:24,alt:"220"},"220"],[{src:"../common/media/oled_icons/221.png",width:24,height:24,alt:"221"},"221"],[{src:"../common/media/oled_icons/222.png",width:24,height:24,alt:"222"},"222"],[{src:"../common/media/oled_icons/223.png",width:24,height:24,alt:"223"},"223"],[{src:"../common/media/oled_icons/224.png",width:24,height:24,alt:"224"},"224"],[{src:"../common/media/oled_icons/225.png",width:24,height:24,alt:"225"},"225"],[{src:"../common/media/oled_icons/226.png",width:24,height:24,alt:"226"},"226"],[{src:"../common/media/oled_icons/227.png",width:24,height:24,alt:"227"},"227"],[{src:"../common/media/oled_icons/228.png",width:24,height:24,alt:"228"},"228"],[{src:"../common/media/oled_icons/229.png",width:24,height:24,alt:"229"},"229"],[{src:"../common/media/oled_icons/230.png",width:24,height:24,alt:"230"},"230"],[{src:"../common/media/oled_icons/231.png",width:24,height:24,alt:"231"},"231"],[{src:"../common/media/oled_icons/232.png",width:24,height:24,alt:"232"},"232"],[{src:"../common/media/oled_icons/233.png",width:24,height:24,alt:"233"},"233"],[{src:"../common/media/oled_icons/234.png",width:24,height:24,alt:"234"},"234"],[{src:"../common/media/oled_icons/235.png",width:24,height:24,alt:"235"},"235"],[{src:"../common/media/oled_icons/236.png",width:24,height:24,alt:"236"},"236"],[{src:"../common/media/oled_icons/237.png",width:24,height:24,alt:"237"},"237"],[{src:"../common/media/oled_icons/238.png",width:24,height:24,alt:"238"},"238"],[{src:"../common/media/oled_icons/239.png",width:24,height:24,alt:"239"},"239"],[{src:"../common/media/oled_icons/240.png",width:24,height:24,alt:"240"},"240"],[{src:"../common/media/oled_icons/241.png",width:24,height:24,alt:"241"},"241"],[{src:"../common/media/oled_icons/242.png",width:24,height:24,alt:"242"},"242"],[{src:"../common/media/oled_icons/243.png",width:24,height:24,alt:"243"},"243"],[{src:"../common/media/oled_icons/244.png",width:24,height:24,alt:"244"},"244"],[{src:"../common/media/oled_icons/245.png",width:24,height:24,alt:"245"},"245"],[{src:"../common/media/oled_icons/246.png",width:24,height:24,alt:"246"},"246"],[{src:"../common/media/oled_icons/247.png",width:24,height:24,alt:"247"},"247"],[{src:"../common/media/oled_icons/248.png",width:24,height:24,alt:"248"},"248"],[{src:"../common/media/oled_icons/249.png",width:24,height:24,alt:"249"},"249"],[{src:"../common/media/oled_icons/250.png",width:24,height:24,alt:"250"},"250"],[{src:"../common/media/oled_icons/251.png",width:24,height:24,alt:"251"},"251"],[{src:"../common/media/oled_icons/252.png",width:24,height:24,alt:"252"},"252"],[{src:"../common/media/oled_icons/253.png",width:24,height:24,alt:"253"},"253"],[{src:"../common/media/oled_icons/254.png",width:24,height:24,alt:"254"},"254"],[{src:"../common/media/oled_icons/255.png",width:24,height:24,alt:"255"},"255"],[{src:"../common/media/oled_icons/256.png",width:24,height:24,alt:"256"},"256"],[{src:"../common/media/oled_icons/257.png",width:24,height:24,alt:"257"},"257"],[{src:"../common/media/oled_icons/258.png",width:24,height:24,alt:"258"},"258"],[{src:"../common/media/oled_icons/259.png",width:24,height:24,alt:"259"},"259"],[{src:"../common/media/oled_icons/260.png",width:24,height:24,alt:"260"},"260"],[{src:"../common/media/oled_icons/261.png",width:24,height:24,alt:"261"},"261"],[{src:"../common/media/oled_icons/262.png",width:24,height:24,alt:"262"},"262"],[{src:"../common/media/oled_icons/263.png",width:24,height:24,alt:"263"},"263"],[{src:"../common/media/oled_icons/264.png",width:24,height:24,alt:"264"},"264"],[{src:"../common/media/oled_icons/265.png",width:24,height:24,alt:"265"},"265"],[{src:"../common/media/oled_icons/266.png",width:24,height:24,alt:"266"},"266"],[{src:"../common/media/oled_icons/267.png",width:24,height:24,alt:"267"},"267"],[{src:"../common/media/oled_icons/268.png",width:24,height:24,alt:"268"},"268"],[{src:"../common/media/oled_icons/269.png",width:24,height:24,alt:"269"},"269"],[{src:"../common/media/oled_icons/270.png",width:24,height:24,alt:"270"},"270"],[{src:"../common/media/oled_icons/271.png",width:24,height:24,alt:"271"},"271"],[{src:"../common/media/oled_icons/272.png",width:24,height:24,alt:"272"},"272"],[{src:"../common/media/oled_icons/273.png",width:24,height:24,alt:"273"},"273"],[{src:"../common/media/oled_icons/274.png",width:24,height:24,alt:"274"},"274"],[{src:"../common/media/oled_icons/275.png",width:24,height:24,alt:"275"},"275"],[{src:"../common/media/oled_icons/276.png",width:24,height:24,alt:"276"},"276"],[{src:"../common/media/oled_icons/277.png",width:24,height:24,alt:"277"},"277"],[{src:"../common/media/oled_icons/278.png",width:24,height:24,alt:"278"},"278"],[{src:"../common/media/oled_icons/279.png",width:24,height:24,alt:"279"},"279"],[{src:"../common/media/oled_icons/280.png",width:24,height:24,alt:"280"},"280"],[{src:"../common/media/oled_icons/281.png",width:24,height:24,alt:"281"},"281"],[{src:"../common/media/oled_icons/282.png",width:24,height:24,alt:"282"},"282"],[{src:"../common/media/oled_icons/283.png",width:24,height:24,alt:"283"},"283"],[{src:"../common/media/oled_icons/284.png",width:24,height:24,alt:"284"},"284"],[{src:"../common/media/oled_icons/285.png",width:24,height:24,alt:"285"},"285"],[{src:"../common/media/oled_icons/286.png",width:24,height:24,alt:"286"},"286"]],un=[[{src:"../common/media/oled_icons/face/Eyes/Angry.png",width:35,height:25,alt:"Angry"},"Angry,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Awake.png",width:35,height:25,alt:"Awake"},"Awake,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0xF8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0xF8,0xFF,0x03,0x00,0xE0,0x00,0x0C,0x00,0x80,0xFF,0x3F,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x7F,0x30,0x00,0x38,0x00,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFC,0xFF,0xE1,0x00,0x0C,0xFE,0x7F,0x00,0x30,0x00,0x38,0x80,0xFE,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0x7E,0x96,0xFF,0x00,0xFC,0x87,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xF0,0x00,0x3C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x80,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Black eye.png",width:35,height:25,alt:"Black_eye"},"Black_eye,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x5F,0x55,0xD5,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x4B,0xAA,0xA4,0x3E,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xB5,0x55,0x5B,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0x4A,0xAA,0xA4,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF0,0xB6,0x55,0x5B,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xB6,0x55,0xDB,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x49,0xAA,0x24,0xE9,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x1C,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0xB8,0xAA,0xAA,0xAA,0xEA,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0xD5,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xB8,0x2A,0x49,0xAA,0xEA,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0xD2,0xB6,0x55,0xF5,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x70,0x2D,0x49,0xAA,0x75,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF0,0xD2,0xB6,0x55,0x7A,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0x2D,0x49,0xAA,0x3D,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xE0,0xD3,0xB6,0x55,0x3E,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xC0,0x2F,0x49,0xD2,0x1F,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Bottom left.png",width:35,height:25,alt:"Bottom_left"},"Bottom_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x01,0x00,0xE0,0x00,0x0C,0xA0,0x00,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x0C,0x04,0x02,0x00,0x30,0x00,0x38,0xE0,0x13,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0xFA,0x0F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xF8,0x19,0x00,0xE0,0x00,0x8C,0xFE,0x16,0x00,0x30,0x00,0x38,0xFD,0x59,0x00,0xE0,0x00,0x0C,0x7F,0x0E,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFC,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFA,0x2F,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xE0,0x03,0x00,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x08,0x08,0x00,0xE0,0x00,0x1C,0x04,0x02,0x00,0x38,0x00,0x70,0x40,0x01,0x00,0x70,0x00,0x1C,0x50,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"],[{src:"../common/media/oled_icons/face/Eyes/Bottom right.png",width:35,height:25,alt:"Bottom_right"},"Bottom_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 1.png",width:35,height:25,alt:"Crazy_1"},"Crazy_1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x14,0xE0,0x00,0x0C,0x00,0x00,0x0A,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x0C,0x00,0x40,0x20,0x30,0x00,0x38,0x00,0x00,0x3E,0xE1,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xA0,0xFF,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x80,0x9F,0xE1,0x00,0x0C,0x00,0xE8,0x6F,0x31,0x00,0x38,0x00,0xD0,0x9F,0xE5,0x00,0x0C,0x00,0xF0,0xE7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xA0,0xFF,0xE2,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x3E,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0x80,0x80,0xE0,0x00,0x1C,0x00,0x40,0x20,0x38,0x00,0x70,0x00,0x00,0x14,0x70,0x00,0x1C,0x00,0x00,0x05,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Crazy 2.png",width:35,height:25,alt:"Crazy_2"},"Crazy_2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x11,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x0F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5B,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x13,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3D,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFD,0xBF,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFC,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xF8,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xFA,0x5F,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0xF0,0x0F,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0xC8,0x13,0x30,0x00,0x38,0x80,0x4F,0x00,0xE0,0x00,0x0C,0x00,0x20,0x04,0x30,0x00,0x38,0xE8,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x67,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x67,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF8,0xFF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF4,0x7F,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xF0,0x3F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE8,0xBF,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0x0F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x20,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x05,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Disappointed.png",width:35,height:25,alt:"Disappointed"},"Disappointed,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0xF8,0x1F,0x00,0xE0,0x3F,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x7C,0x3C,0x00,0xF0,0x78,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x3E,0x38,0x00,0x78,0xF0,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x1F,0x70,0x00,0x38,0xE0,0x01,0x00,0x1C,0x00,0x70,0x00,0x80,0x0F,0x70,0x00,0x1C,0xC0,0x03,0x00,0x38,0x00,0x38,0x00,0xC0,0x07,0xE0,0x00,0x1C,0x80,0x07,0x00,0x38,0x00,0x38,0x00,0xE0,0x03,0xE0,0x00,0x1C,0x00,0x0F,0x00,0x38,0x00,0x38,0x00,0xF0,0x01,0xE0,0x00,0x0C,0x00,0x1E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x7C,0x00,0xE0,0x00,0x0C,0x00,0x78,0x00,0x30,0x00,0x38,0x00,0x3E,0x02,0xE0,0x00,0x0C,0x00,0xF9,0x00,0x30,0x00,0x38,0x00,0xFF,0x04,0xE0,0x00,0x0C,0x00,0xFE,0x01,0x30,0x00,0x38,0x80,0xFF,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x03,0x30,0x00,0x38,0xC0,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x07,0x30,0x00,0x38,0xE0,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x0F,0x30,0x00,0x38,0xF0,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x1F,0x30,0x00,0x38,0xF8,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x3F,0x30,0x00,0x38,0xFC,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x7B,0x30,0x00,0x38,0xBE,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0xFB,0x30,0x00,0x38,0x5F,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0xE3,0x31,0x00,0xB8,0x0F,0xFF,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0xC5,0x33,0x00,0xF8,0x87,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x80,0x3F,0x00,0xF8,0x03,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x3F,0x00,0xF8,0x01,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x3E,0x00,0xF8,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Dizzy.png",width:35,height:25,alt:"Dizzy"},"Dizzy,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x0C,0x00,0xE0,0x00,0x0C,0x00,0x03,0x00,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0xC0,0x03,0x00,0x30,0x00,0x38,0x80,0x03,0x00,0xE0,0x00,0x0C,0xE0,0x00,0x00,0x30,0x00,0x38,0xC0,0xF9,0x07,0xE0,0x00,0x0C,0x70,0xFE,0x01,0x30,0x00,0x38,0xE0,0x3C,0x1F,0xE0,0x00,0x0C,0x38,0xCF,0x07,0x30,0x00,0x38,0x60,0x06,0x38,0xE0,0x00,0x0C,0x98,0x01,0x0E,0x30,0x00,0x38,0x30,0xE3,0x33,0xE0,0x00,0x0C,0xCC,0xF8,0x0C,0x30,0x00,0x38,0x30,0xF3,0x67,0xE0,0x00,0x0C,0xCC,0xFC,0x19,0x30,0x00,0x38,0xB0,0x19,0x6E,0xE0,0x00,0x0C,0x6C,0x86,0x1B,0x30,0x00,0x38,0xB0,0xD9,0xCC,0xE0,0x00,0x0C,0x6C,0x36,0x33,0x30,0x00,0x38,0xB0,0xD9,0xCD,0xE0,0x00,0x0C,0x6C,0x76,0x33,0x30,0x00,0x38,0xB0,0xF9,0xCD,0xE0,0x00,0x0C,0x6C,0x7E,0x33,0x30,0x00,0x38,0x30,0xF3,0x6C,0xE0,0x00,0x0C,0xCC,0x3C,0x1B,0x30,0x00,0x38,0x70,0x07,0x66,0xE0,0x00,0x0C,0xDC,0x81,0x19,0x30,0x00,0x38,0x60,0x9E,0x77,0xE0,0x00,0x0C,0x98,0xE7,0x1D,0x30,0x00,0x38,0xC0,0xF8,0x31,0xE0,0x00,0x0C,0x30,0x7E,0x0C,0x30,0x00,0x38,0xC0,0x01,0x18,0xE0,0x00,0x0C,0x70,0x00,0x06,0x30,0x00,0x38,0x00,0x0F,0x0E,0xE0,0x00,0x0C,0xC0,0x83,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xF0,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Down.png",width:35,height:25,alt:"Down"},"Down,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x50,0x00,0xE0,0x00,0x0C,0x00,0x14,0x00,0x30,0x00,0x38,0x00,0x02,0x02,0xE0,0x00,0x0C,0x00,0x81,0x00,0x30,0x00,0x38,0x00,0xF9,0x00,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xFE,0x0B,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x80,0xFE,0x0B,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0xF8,0x00,0x70,0x00,0x3C,0x00,0x7E,0x00,0x3C,0x00,0xF0,0x00,0x02,0x02,0x78,0x00,0x38,0x00,0x81,0x00,0x1C,0x00,0xE0,0x01,0xA8,0x00,0x3C,0x00,0x78,0x00,0x28,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Evil.png",width:35,height:25,alt:"Evil"},"Evil,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x0F,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0xC0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0xE0,0x1F,0x00,0x70,0x3C,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x70,0x1C,0x00,0x70,0x78,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x3C,0x38,0x00,0x38,0xF0,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x1E,0x38,0x00,0x38,0xE0,0x01,0x00,0xE0,0x00,0x1C,0x00,0x00,0x0F,0x38,0x00,0x38,0x80,0x07,0x00,0xE0,0x00,0x0C,0x00,0x80,0x07,0x30,0x00,0x38,0x00,0x0F,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x03,0x30,0x00,0x38,0x00,0x1E,0x00,0xE0,0x00,0x0C,0x00,0xE0,0x01,0x30,0x00,0x38,0x00,0x3C,0x00,0xE0,0x00,0x0C,0x00,0x70,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x7C,0x00,0x30,0x00,0x38,0x00,0xF2,0x00,0xE0,0x00,0x0C,0x00,0x3E,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x07,0xE0,0x00,0x0C,0x80,0xBF,0x05,0x30,0x00,0x38,0x00,0x7F,0x0F,0xE0,0x00,0x0C,0xC0,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x1F,0xE0,0x00,0x0C,0xE0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x3F,0xE0,0x00,0x0C,0xF8,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0xC7,0xE3,0x00,0x0C,0xCF,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x97,0xE7,0x00,0x8C,0x87,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xEF,0x00,0xCC,0xA3,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xFE,0x00,0xFC,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xFC,0x00,0x7C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x08,0x01,0xF8,0x00,0x3C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Hurt.png",width:35,height:25,alt:"Hurt"},"Hurt,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFC,0x00,0x7C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xFF,0x00,0xFC,0x01,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xC0,0xFF,0x00,0xFC,0x07,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xF0,0xE7,0x00,0x8C,0x1F,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0xFC,0xE1,0x00,0x0C,0x7E,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0xF8,0x01,0x00,0x30,0x00,0x38,0x00,0xC0,0x1F,0xE0,0x00,0x0C,0xE0,0x07,0x00,0x30,0x00,0x38,0x00,0xF0,0x0F,0xE0,0x00,0x0C,0xC0,0x1F,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x20,0x7F,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0xC0,0xFF,0x0F,0xE0,0x00,0x0C,0xE8,0xFF,0x07,0x30,0x00,0x38,0xF0,0xFF,0x19,0xE0,0x00,0x0C,0xE0,0xCF,0x1F,0x30,0x00,0x38,0xFC,0xFD,0x5D,0xE0,0x00,0x0C,0xF0,0xF7,0x7E,0x30,0x00,0x38,0xFF,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0xFA,0x31,0x00,0xB8,0x1F,0xFE,0x3F,0xE0,0x00,0x0C,0xF0,0xFF,0xE0,0x37,0x00,0xF8,0x07,0xFE,0x3F,0xE0,0x00,0x0C,0xF4,0xFF,0x82,0x3F,0x00,0xF8,0x01,0xFC,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x00,0x3E,0x00,0x78,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Knocked out.png",width:35,height:25,alt:"Knocked_out"},"Knocked_out,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xFC,0xFF,0x1F,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Love.png",width:35,height:25,alt:"Love"},"Love,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0xE0,0x07,0x3F,0xE0,0x00,0x0C,0xF0,0x81,0x0F,0x30,0x00,0x38,0xF0,0x8B,0x5F,0xE0,0x00,0x0C,0xF8,0xC2,0x1F,0x30,0x00,0x38,0xF8,0xD7,0xBF,0xE0,0x00,0x0C,0xFC,0xE5,0x2F,0x30,0x00,0x38,0xF8,0xFF,0xBF,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0x7F,0xE0,0x00,0x0C,0xFE,0xFF,0x5F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xFC,0xFF,0xFF,0xE1,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFE,0xFF,0x7F,0x30,0x00,0x38,0xF8,0xFF,0xFF,0xE0,0x00,0x0C,0xFC,0xFF,0x3F,0x30,0x00,0x38,0xF0,0xFF,0x7F,0xE0,0x00,0x0C,0xF8,0xFF,0x1F,0x30,0x00,0x38,0xC0,0xFF,0x1F,0xE0,0x00,0x0C,0xF0,0xFF,0x0F,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xE0,0xFF,0x07,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7E,0x00,0x30,0x00,0x38,0x00,0xF8,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,0x38,0x00,0x20,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle left.png",width:35,height:25,alt:"Middle_left"},"Middle_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x04,0x01,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xE0,0x04,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x01,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xFC,0x19,0x00,0xE0,0x00,0x0C,0xFE,0x04,0x00,0x30,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x4C,0x7F,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x8C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFC,0x03,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF2,0x04,0x00,0x30,0x00,0x38,0x10,0x02,0x00,0xE0,0x00,0x0C,0x08,0x01,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Middle right.png",width:35,height:25,alt:"Middle_right"},"Middle_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x40,0x10,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x4E,0x30,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x1F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0xC0,0x9F,0xE1,0x00,0x0C,0x00,0xE0,0x4F,0x30,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x0C,0x00,0xF0,0xF7,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE8,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xC0,0x3F,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x20,0x4F,0x30,0x00,0x38,0x00,0x00,0x21,0xE0,0x00,0x0C,0x00,0x80,0x10,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Neutral.png",width:35,height:25,alt:"Neutral"},"Neutral,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x41,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x38,0x01,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x7F,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x80,0x3F,0x01,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Nuclear.png",width:35,height:25,alt:"Nuclear"},"Nuclear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x78,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0xCF,0x03,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0xC0,0x01,0x0C,0xE0,0x00,0x0C,0xE0,0x00,0x06,0x30,0x00,0x38,0x60,0x00,0x10,0xE0,0x00,0x0C,0x30,0x00,0x08,0x30,0x00,0x38,0xB0,0x01,0x24,0xE0,0x00,0x0C,0xD8,0x00,0x12,0x30,0x00,0x38,0xD8,0x01,0x4E,0xE0,0x00,0x0C,0xEC,0x00,0x27,0x30,0x00,0x38,0xC8,0x03,0xDF,0xE0,0x00,0x0C,0xE4,0x81,0x6F,0x30,0x00,0x38,0xEC,0x07,0xBF,0xE0,0x00,0x0C,0xF6,0x83,0x5F,0x30,0x00,0x38,0xF4,0x87,0xBF,0xE1,0x00,0x0C,0xFA,0xC3,0xDF,0x30,0x00,0x38,0xF4,0x87,0x3F,0xE1,0x00,0x0C,0xFA,0xC3,0x9F,0x30,0x00,0x38,0xF6,0x27,0x7F,0xE1,0x00,0x0C,0xFB,0x93,0xBF,0x30,0x00,0x38,0xF2,0x73,0x7F,0xE1,0x00,0x0C,0xF9,0xB9,0xBF,0x30,0x00,0x38,0x02,0x78,0x00,0xE1,0x00,0x0C,0x01,0x3C,0x80,0x30,0x00,0x38,0x02,0x30,0x00,0xE1,0x00,0x0C,0x01,0x18,0x80,0x30,0x00,0x38,0x04,0x00,0x00,0xE1,0x00,0x0C,0x02,0x00,0x80,0x30,0x00,0x38,0x04,0x70,0x00,0xE1,0x00,0x0C,0x02,0x38,0x80,0x30,0x00,0x38,0x04,0xF8,0x80,0xE1,0x00,0x0C,0x02,0x7C,0xC0,0x30,0x00,0x38,0x08,0xFC,0x80,0xE0,0x00,0x0C,0x04,0x7E,0x40,0x30,0x00,0x38,0x18,0xFC,0x41,0xE0,0x00,0x0C,0x0C,0xFE,0x20,0x30,0x00,0x38,0x10,0xFE,0x61,0xE0,0x00,0x0C,0x08,0xFF,0x30,0x30,0x00,0x38,0x20,0xFE,0x33,0xE0,0x00,0x0C,0x10,0xFF,0x19,0x30,0x00,0x38,0xC0,0x78,0x18,0xE0,0x00,0x0C,0x60,0x3C,0x0C,0x30,0x00,0x38,0x80,0x03,0x06,0xE0,0x00,0x0C,0xC0,0x01,0x03,0x30,0x00,0x38,0x00,0xFE,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch left.png",width:35,height:25,alt:"Pinch_left"},"Pinch_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xB8,0xFE,0xBD,0x00,0xE0,0x00,0x5C,0x7F,0x3F,0x00,0x38,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFC,0x1F,0x00,0xE0,0x00,0x4C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFE,0x07,0x00,0x30,0x00,0x38,0xF8,0x0F,0x00,0xE0,0x00,0x0C,0xFE,0x17,0x00,0x30,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0xFD,0x0B,0x00,0x30,0x00,0x38,0xC0,0x01,0x00,0xE0,0x00,0x0C,0xF0,0x00,0x00,0x30,0x00,0x38,0x18,0x06,0x00,0xE0,0x00,0x0C,0x0C,0x03,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch middle.png",width:35,height:25,alt:"Pinch_middle"},"Pinch_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xA0,0x7F,0x2F,0xE0,0x00,0x1C,0xD0,0xDF,0x0F,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x40,0xFF,0x02,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x3C,0x00,0x30,0x00,0x38,0x00,0x86,0x01,0xE0,0x00,0x0C,0x00,0xC3,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Pinch right.png",width:35,height:25,alt:"Pinch_right"},"Pinch_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xE8,0xDF,0xEB,0x00,0x1C,0x00,0xF4,0xF7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x30,0x00,0x38,0x00,0xC0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xE0,0x7F,0x30,0x00,0x38,0x00,0x80,0xFF,0xE0,0x00,0x0C,0x00,0xE0,0x7F,0x31,0x00,0x38,0x00,0x00,0x7F,0xE0,0x00,0x0C,0x00,0xD0,0xBF,0x30,0x00,0x38,0x00,0x00,0x1C,0xE0,0x00,0x0C,0x00,0x00,0x0F,0x30,0x00,0x38,0x00,0x80,0xC2,0xE0,0x00,0x0C,0x00,0xC0,0x30,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tear.png",width:35,height:25,alt:"Tear"},"Tear,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0xF0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFD,0x05,0xE0,0x00,0x1C,0x40,0x7F,0x02,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0xA0,0xBF,0x05,0x30,0x00,0x38,0x40,0x7F,0x16,0xE0,0x00,0x0C,0xC0,0x9F,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x04,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0C,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x1F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x6F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x5F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0xC0,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x80,0x7F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x3F,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x0E,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired left.png",width:35,height:25,alt:"Tired_left"},"Tired_left,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0xFD,0x5D,0x00,0xE0,0x00,0x5C,0x7F,0x2E,0x00,0x38,0x00,0x38,0xFE,0x1F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xFE,0x3F,0x00,0xE0,0x00,0x4C,0xFF,0x2F,0x00,0x30,0x00,0x38,0xFD,0x5F,0x00,0xE0,0x00,0x0C,0xFF,0x0F,0x00,0x30,0x00,0x38,0xF8,0x1F,0x00,0xE0,0x00,0x9C,0xFE,0x17,0x00,0x38,0x00,0x70,0xFA,0x2F,0x00,0x70,0x00,0x1C,0xFC,0x03,0x00,0x38,0x00,0x70,0xE0,0x03,0x00,0x70,0x00,0x3C,0xF8,0x01,0x00,0x3C,0x00,0xF0,0x08,0x08,0x00,0x78,0x00,0x38,0x04,0x02,0x00,0x1C,0x00,0xE0,0xA1,0x02,0x00,0x3C,0x00,0x78,0xA0,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired middle.png",width:35,height:25,alt:"Tired_middle"},"Tired_middle,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x1C,0xD0,0xDF,0x0B,0x38,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0xFF,0x00,0x38,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x3C,0x80,0x3C,0x01,0x3C,0x00,0xF0,0x00,0x84,0x00,0x78,0x00,0x38,0x00,0x42,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Tired right.png",width:35,height:25,alt:"Tired_right"},"Tired_right,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xD0,0xDF,0xE5,0x00,0x1C,0x00,0xF4,0xE7,0x3A,0x00,0x38,0x00,0xE0,0xFF,0xE1,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0xE0,0xFF,0xE3,0x00,0x0C,0x00,0xF4,0xFF,0x32,0x00,0x38,0x00,0xD0,0xFF,0xE5,0x00,0x0C,0x00,0xF0,0xFF,0x30,0x00,0x38,0x00,0x80,0xFF,0xE1,0x00,0x1C,0x00,0xE8,0x7F,0x39,0x00,0x70,0x00,0xA0,0xFF,0x72,0x00,0x1C,0x00,0xC0,0x3F,0x38,0x00,0x70,0x00,0x00,0x3E,0x70,0x00,0x3C,0x00,0x80,0x1F,0x3C,0x00,0xF0,0x00,0x80,0x80,0x78,0x00,0x38,0x00,0x40,0x20,0x1C,0x00,0xE0,0x01,0x00,0x14,0x3C,0x00,0x78,0x00,0x00,0x0A,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Toxic.png",width:35,height:25,alt:"Toxic"},"Toxic,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x1C,0x00,0x30,0x00,0x38,0x00,0xFE,0x02,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x80,0xFF,0x00,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x01,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x18,0x03,0x30,0x00,0x38,0x80,0x23,0x0E,0xE0,0x00,0x0C,0xC0,0x10,0x03,0x30,0x00,0x38,0x00,0x73,0x06,0xE0,0x00,0x0C,0xC0,0x99,0x03,0x30,0x00,0x38,0x00,0x9F,0x07,0xE0,0x00,0x0C,0x80,0xE7,0x01,0x30,0x00,0x38,0x00,0x9E,0x03,0xE0,0x00,0x0C,0x00,0xE7,0x00,0x30,0x00,0x38,0x20,0xF8,0x40,0xE0,0x00,0x0C,0x18,0x7C,0x30,0x30,0x00,0x38,0xF0,0x51,0x78,0xE0,0x00,0x0C,0xFC,0x08,0x3C,0x30,0x00,0x38,0x30,0x0F,0xCF,0xE0,0x00,0x0C,0xCC,0x87,0x37,0x30,0x00,0x38,0x00,0x7C,0x02,0xE0,0x00,0x0C,0x00,0x3E,0x00,0x30,0x00,0x38,0xB0,0xC7,0x67,0xE0,0x00,0x0C,0xD8,0xF3,0x13,0x30,0x00,0x38,0xF0,0x03,0x7F,0xE0,0x00,0x0C,0xF8,0x81,0x3F,0x30,0x00,0x38,0x60,0x00,0x70,0xE0,0x00,0x0C,0x30,0x00,0x1C,0x30,0x00,0x38,0x60,0x00,0x30,0xE0,0x00,0x0C,0x10,0x00,0x18,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Up.png",width:35,height:25,alt:"Up"},"Up,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x84,0x00,0x38,0x00,0x78,0x00,0x41,0x00,0x1E,0x00,0x70,0x00,0x70,0x00,0x70,0x00,0x38,0x00,0x38,0x01,0x1C,0x00,0x70,0x00,0xFC,0x01,0x70,0x00,0x1C,0x00,0x7F,0x00,0x38,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x1C,0xA0,0xFF,0x05,0x38,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x1C,0x80,0x3F,0x01,0x38,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0xC0,0xDF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0x0C,0xD0,0xFF,0x0B,0x30,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0xC0,0xFF,0x03,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x80,0xFF,0x01,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0xA0,0xFF,0x05,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xFF,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x80,0x3C,0x01,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x42,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Eyes/Winking.png",width:35,height:25,alt:"Winking"},"Winking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x7F,0x06,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0x7F,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x80,0xFF,0x0F,0xE0,0x00,0xFC,0xFF,0xFF,0xFF,0x3F,0x00,0x38,0x00,0xFF,0x07,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x40,0xFF,0x17,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFE,0x03,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x70,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x84,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x3C,0x00,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Big smile.png",width:35,height:25,alt:"Big_smile"},"Big_smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF8,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0x10,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart large.png",width:35,height:25,alt:"Heart_large"},"Heart_large,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x03,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xF8,0xBF,0x07,0x00,0xC0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x1C,0x00,0xF0,0xFF,0xE1,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x71,0x00,0xF8,0xFF,0xC3,0x01,0x00,0x00,0x00,0x00,0xFF,0xFF,0xE7,0x00,0xFC,0xFF,0x8F,0x03,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCF,0x01,0xFE,0xFF,0x3F,0x07,0x00,0x00,0x00,0xC0,0xFF,0xFF,0x9F,0x03,0xFF,0xFF,0x7F,0x06,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x3F,0x83,0xFF,0xFF,0xFF,0x0C,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x7F,0x87,0xFF,0xFF,0xFF,0x1D,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xC6,0xFF,0xFF,0xFF,0x19,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0x33,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x37,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x6F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Heart small.png",width:35,height:25,alt:"Heart_small"},"Heart_small,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x67,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xC7,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x9F,0x01,0xFF,0x8F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x83,0xFF,0x1F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0xC6,0xFF,0x3F,0x03,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xCE,0xFF,0xFF,0x02,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xEF,0xFF,0xFF,0x06,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0D,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 open.png",width:35,height:25,alt:"Mouth_1_open"},"Mouth_1_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x78,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE4,0xD7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x1F,0x00,0x08,0xA8,0xFF,0x71,0x00,0x38,0x00,0x1C,0xFF,0x23,0x40,0x00,0xA8,0x2A,0x00,0xE4,0x03,0xEF,0x81,0x2F,0x00,0xA8,0x2A,0x00,0x54,0x55,0x55,0x95,0xFF,0xC7,0xFF,0x53,0x55,0x55,0x55,0x00,0x28,0x55,0x55,0x15,0x00,0x28,0x00,0xA8,0xAA,0xAA,0x2A,0x00,0xD4,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x2A,0x00,0xD4,0xAA,0x52,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0x55,0x55,0x00,0x28,0x55,0xAD,0xAA,0xAA,0x56,0x55,0x55,0xD5,0xAA,0x52,0x00,0xE8,0x55,0x51,0x55,0x55,0xA9,0xAA,0xAA,0x2A,0xAA,0x2E,0x00,0x0C,0x54,0xAF,0xAA,0xAA,0x56,0x55,0xAB,0xEA,0xAB,0x50,0x00,0xF0,0x57,0xA0,0xAA,0x54,0xA9,0xAA,0x54,0x15,0xA8,0x5F,0x00,0x04,0xD8,0x5F,0x55,0xAB,0x56,0x55,0x53,0xF5,0x2F,0x40,0x00,0xF0,0x27,0x40,0xAD,0x54,0xA9,0xAA,0xAC,0x0A,0xA0,0x3F,0x00,0x18,0xEE,0x7F,0x51,0xAB,0x56,0x55,0x53,0xFA,0xDF,0x71,0x00,0x0C,0x0C,0x00,0xDF,0x54,0x51,0xA5,0xDC,0x03,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x00,0x6B,0xDF,0x5D,0x03,0xF8,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x20,0xC0,0xF8,0x1C,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xFF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 1 shut.png",width:35,height:25,alt:"Mouth_1_shut"},"Mouth_1_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x04,0x60,0x00,0xF8,0xFF,0xFF,0xFF,0x3F,0x00,0x18,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x38,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x00,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x00,0x00,0x04,0x20,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x04,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x18,0x40,0x00,0x0C,0x30,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x40,0x00,0x0C,0x38,0x00,0x18,0x00,0x10,0x00,0x30,0x00,0x38,0x60,0x00,0x18,0x7C,0x00,0x1C,0x00,0x38,0x00,0x70,0x00,0x78,0x70,0x00,0xF8,0xEF,0x00,0x1E,0x00,0x38,0x00,0xF0,0x00,0xCC,0x3F,0x00,0xE0,0xC7,0xC3,0x37,0x00,0x38,0x00,0xD8,0x07,0x87,0x5F,0x00,0x04,0x90,0xFF,0x71,0x00,0x38,0x00,0x9C,0xFF,0x33,0x00,0x00,0xF0,0x17,0x00,0xE4,0x03,0xEF,0x81,0x4F,0x00,0x94,0x3F,0x00,0x18,0xEE,0x5F,0x95,0xFF,0xD7,0xFF,0xA3,0xFA,0xD7,0x71,0x00,0x0C,0x1C,0x00,0x6D,0x00,0x20,0x00,0xDC,0x02,0xC0,0x60,0x00,0x0C,0xD8,0x7F,0x01,0x55,0xAF,0x5D,0x01,0xFA,0x6F,0x40,0x00,0x0C,0xF8,0xE0,0xFC,0x08,0x50,0x40,0xF8,0x1D,0x7C,0x40,0x00,0x0C,0x30,0x80,0xFF,0xF3,0x87,0x1F,0xFF,0x07,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0xFF,0xEF,0xFF,0x03,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x0E,0x78,0xC0,0x01,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0x01,0x04,0x30,0x80,0x00,0x06,0x30,0x40,0x00,0x0C,0x30,0x80,0xE1,0xFF,0xFF,0xFF,0x1F,0x06,0x30,0x40,0x00,0x0C,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x40,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xFC,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 open.png",width:35,height:25,alt:"Mouth_2_open"},"Mouth_2_open,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x4E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0xA0,0x02,0x4C,0x01,0x25,0xC0,0x4A,0x53,0x8D,0xD5,0x48,0x63,0x55,0x02,0xAE,0x00,0x6A,0x40,0xAA,0x9E,0x8A,0x94,0xA8,0xB2,0xAA,0x02,0xA6,0x00,0x6A,0x40,0x55,0xAD,0xD2,0xAA,0x54,0x92,0xAA,0x02,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0xAA,0x02,0x53,0x01,0xD5,0x60,0x55,0x51,0x85,0x2A,0xA9,0x52,0x55,0x82,0xA9,0x00,0xAA,0x60,0x55,0x55,0x55,0x55,0x54,0xA9,0xAA,0x82,0xA9,0x00,0x95,0x20,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xC2,0x54,0x01,0xAA,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xE2,0xAA,0x00,0x2A,0xB1,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x62,0x55,0x01,0x55,0x33,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x33,0x55,0x01,0x55,0xB2,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x2A,0xBB,0xAA,0x00,0xAA,0xB6,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0x9F,0xAA,0x00,0xAA,0x5C,0x55,0x55,0x55,0x95,0xAA,0xAA,0x2A,0x4F,0x55,0x01,0x55,0x9D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA7,0xAA,0x00,0x55,0x59,0x55,0x55,0x55,0x95,0xAA,0xAA,0xAA,0x57,0x55,0x01,0xAA,0xBA,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0x55,0xA9,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x54,0x55,0x01,0x55,0x8D,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0xAA,0xAA,0x4A,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0x55,0x55,0xB5,0xAA,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x45,0x55,0x55,0x01,0x55,0xAD,0xAA,0xAA,0xAA,0x6A,0xD5,0xAA,0x7A,0xA5,0xAA,0x00,0xAA,0x52,0x55,0x55,0x55,0x95,0x2A,0x55,0x85,0x5A,0x55,0x01,0x55,0xAD,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0x2A,0xA5,0xAA,0x00,0xAA,0x52,0x56,0x55,0x55,0x95,0x2A,0x55,0xF5,0x5A,0x55,0x01,0x55,0x2D,0xA9,0xAA,0xAA,0x6A,0xD5,0xAA,0xEA,0xA5,0xAA,0x00,0xAA,0x92,0x55,0x55,0x55,0x95,0x2A,0x55,0x65,0x59,0x55,0x01,0x55,0xCD,0x55,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xA2,0xAA,0x00,0xAA,0xE2,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x56,0x55,0x01,0x55,0xB5,0x51,0x55,0x55,0x69,0xD5,0xAA,0x6A,0xAC,0xAA,0x00,0xAA,0x1A,0xAD,0xAA,0xAA,0x96,0x2A,0x55,0x65,0x4C,0x55,0x01,0x55,0x0D,0x53,0x55,0x55,0xE9,0xEA,0xAA,0x6A,0x58,0x55,0x01,0xAA,0x0C,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x90,0xAA,0x00,0xD5,0x06,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0xB0,0xAA,0x00,0x2A,0x06,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x60,0x55,0x01,0x55,0x03,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x60,0xAA,0x00,0x2A,0x03,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xC0,0x56,0x01,0xB5,0x01,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC0,0xA8,0x00,0x8A,0x01,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x80,0x55,0x01,0xB5,0x01,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x80,0x55,0x01,0x8A,0x01,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Mouth 2 shut.png",width:35,height:25,alt:"Mouth_2_shut"},"Mouth_2_shut,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x1A,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x60,0x00,0x19,0x00,0xC3,0xF0,0xFF,0xFF,0xFF,0x1F,0xE3,0x03,0x30,0x01,0x1A,0x00,0xC7,0x80,0x01,0x3C,0xC0,0x00,0x63,0x03,0x30,0x01,0x1A,0x80,0xCD,0x41,0x01,0x26,0xC0,0x81,0x33,0x03,0xB8,0x00,0x35,0x80,0xDD,0x41,0x02,0x2A,0x20,0x81,0x1B,0x03,0x98,0x00,0x32,0x80,0xFA,0xA3,0x02,0x6B,0x30,0xC1,0x8E,0x02,0x5C,0x01,0x35,0xC0,0x34,0xB3,0x04,0x55,0x50,0x42,0x20,0x02,0x4C,0x01,0x25,0xC0,0x46,0x53,0x8D,0xD5,0x48,0x63,0xF5,0x02,0xAE,0x00,0x6A,0x40,0xA8,0x9E,0x8A,0x94,0xA8,0xB2,0xEA,0x02,0xA6,0x00,0x6A,0xC0,0x55,0xAD,0xD2,0xAA,0x54,0x92,0x6A,0x03,0x57,0x01,0x55,0x60,0x55,0x41,0x65,0xAA,0xA3,0xAE,0x6A,0x02,0x53,0x01,0xD5,0xE0,0xAD,0x52,0x85,0x2A,0xA9,0x52,0x65,0x82,0xA9,0x00,0xAA,0xE0,0x51,0x55,0x55,0x55,0x54,0xA9,0x6A,0x82,0xA9,0x00,0x95,0x20,0xAD,0xAA,0xAA,0xAA,0x2A,0x55,0x65,0xC2,0x54,0x01,0xAA,0x31,0x53,0x55,0x55,0xD5,0xEA,0xAA,0x6A,0xE2,0xAA,0x00,0x2A,0x31,0xAB,0x52,0x55,0x16,0x15,0xAA,0x6A,0x62,0x55,0x01,0x55,0x33,0x53,0x4D,0xAD,0xC9,0xAA,0xA9,0x6A,0x32,0xAA,0x00,0xAA,0x32,0xAA,0xB2,0xD2,0xA5,0xAD,0x53,0x65,0x3B,0x55,0x01,0x55,0x36,0xEA,0x32,0x4D,0x2B,0xB1,0xAC,0x6A,0x5F,0xAA,0x00,0x55,0x15,0x16,0x59,0x23,0x32,0xCA,0x48,0x6B,0xCF,0x56,0x01,0xAA,0x1D,0x16,0x4C,0x14,0x16,0xB4,0x58,0x68,0xC7,0xA8,0x00,0xAA,0x19,0xC4,0x8E,0x1A,0x14,0xC4,0x30,0x6B,0x87,0x55,0x01,0xB5,0x19,0xE4,0x87,0x0A,0x1C,0x48,0xE0,0x67,0x81,0x55,0x01,0x8A,0x11,0x74,0x07,0x09,0x08,0x50,0xE0,0x6E,0x00,0xAB,0x00,0xD5,0x00,0x3C,0x07,0x04,0x08,0x70,0xC0,0x3C,0x00,0xAB,0x01,0xCA,0x00,0x1C,0x03,0x07,0x0C,0x30,0xC0,0x38,0x00,0x56,0x00,0xCD,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0xB6,0x01,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0xFF,0xFF,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0x01,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x01,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sad.png",width:35,height:25,alt:"Sad"},"Sad,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Sick.png",width:35,height:25,alt:"Sick"},"Sick,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x0F,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x3F,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFC,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Smile.png",width:35,height:25,alt:"Smile"},"Smile,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x83,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Swearing.png",width:35,height:25,alt:"Swearing"},"Swearing,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0xC0,0x00,0x00,0x1A,0x00,0x00,0x00,0x00,0x00,0x48,0x00,0x00,0xE0,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x60,0x28,0x00,0x00,0xC0,0x00,0x00,0x64,0x00,0x00,0x00,0x00,0x1F,0x64,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x4A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x28,0x00,0x00,0x00,0xC0,0x0B,0x00,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0xC4,0x3F,0x04,0x00,0x00,0x00,0xF8,0x7F,0x00,0x40,0x03,0x00,0x76,0x60,0x00,0x18,0x00,0x00,0xFC,0x7F,0x00,0xC0,0x01,0x00,0x1A,0x40,0x00,0x18,0x00,0x00,0xFC,0xF7,0x00,0xE0,0x01,0x00,0xC9,0x41,0x40,0x08,0x00,0x00,0xFC,0xE3,0x00,0xC0,0x03,0x00,0x09,0x42,0x40,0x00,0x00,0x00,0xFC,0xC3,0x10,0x80,0x00,0x00,0x19,0x63,0xC0,0x00,0x00,0x00,0x3C,0x63,0x70,0x00,0x00,0x03,0xF1,0x31,0xF0,0x07,0x00,0x00,0x1C,0x7E,0x78,0x00,0xC0,0x03,0x01,0x18,0xFC,0x03,0x00,0x00,0x1C,0x72,0x2C,0x00,0xE0,0x03,0x03,0x0C,0xF0,0x03,0x00,0x00,0x38,0x33,0x06,0x00,0xF0,0x03,0x0E,0x07,0xB0,0x03,0x00,0x00,0xF0,0x7F,0xC3,0x01,0xF0,0x03,0xF8,0x01,0x10,0x07,0x00,0x00,0xE0,0x2F,0xE1,0x00,0xF0,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x80,0x02,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0xF0,0x01,0xF8,0xFE,0x01,0x00,0x00,0x00,0xFC,0x07,0x00,0x00,0xF0,0x01,0xFC,0xFF,0x03,0x00,0x00,0x00,0x38,0x0C,0x00,0x00,0xF0,0x01,0xFE,0xFF,0x07,0x00,0x00,0x00,0x18,0x06,0x00,0x00,0xF0,0x00,0xBE,0xFE,0xFF,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0xF8,0xC0,0xDF,0xFF,0xFF,0x03,0x00,0x00,0xE0,0x03,0x00,0x00,0xF8,0xE0,0xFF,0xFF,0xFF,0x07,0x00,0x00,0xE0,0x01,0x00,0x00,0x78,0xE0,0xFF,0xFF,0x3F,0x0F,0x00,0x00,0xC0,0x01,0x00,0x00,0x70,0xE0,0xFF,0xFF,0x7F,0x0F,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0xC0,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xC0,0x00,0x08,0x80,0xFF,0xDF,0xFF,0x0F,0x00,0xF0,0x01,0x00,0xF0,0x03,0x1E,0x00,0xFF,0xFF,0xFF,0x1F,0x00,0x3C,0x07,0x00,0xF0,0x03,0x3C,0x00,0xC0,0xBF,0xFF,0x3F,0x00,0x04,0x0C,0x00,0xE0,0x01,0x1C,0x00,0x00,0xFF,0xFF,0x7F,0x00,0xE4,0x19,0x00,0xF0,0x01,0x18,0x3E,0x00,0xFE,0xFF,0x7F,0x00,0xB2,0x11,0x00,0x10,0x03,0x00,0xE3,0x00,0xFC,0xFF,0xEF,0x00,0x56,0x19,0x00,0x00,0x02,0x80,0x81,0x03,0xF4,0xFF,0xFF,0x00,0x34,0x09,0x00,0x04,0x00,0x80,0x00,0x02,0xE6,0xFF,0xEF,0x00,0x8C,0x09,0x30,0x02,0x00,0xC0,0x30,0x02,0x23,0xFE,0xFB,0x00,0xB8,0x08,0x00,0x20,0x30,0x40,0x10,0x03,0x11,0xFC,0xFF,0x00,0xE0,0x00,0x0C,0x04,0x30,0xC0,0x98,0x81,0x18,0xE4,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x98,0x40,0x0C,0x27,0x7F,0x00,0x00,0x00,0x00,0x00,0x20,0x80,0x71,0x60,0x06,0x21,0x38,0x00,0x00,0x00,0x08,0x00,0x20,0x10,0x03,0x40,0x0C,0x31,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x02,0x80,0x8C,0x09,0x00,0x00,0x00,0x1C,0x40,0x18,0x40,0x10,0x06,0xC0,0xC4,0x04,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x10,0x00,0x40,0xC2,0x04,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0xD0,0x00,0x20,0xC1,0x0C,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x70,0x00,0x94,0xC1,0x0F,0x00,0x00,0x80,0x19,0x80,0xFF,0x00,0x70,0x00,0xDC,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0xFF,0x01,0x58,0x01,0x44,0x00,0x00,0x00,0x00,0x90,0x00,0xC0,0xFF,0x01,0xC0,0x00,0x44,0x00,0x00,0x00,0x00,0x30,0x18,0xC0,0xFF,0x03,0xC0,0x00,0x64,0x00,0x00,0x20,0x00,0x40,0x10,0xC0,0xFF,0x03,0xA0,0x00,0x1C,0x00,0x00,0x38,0x00,0x40,0x20,0xC0,0xFF,0x03,0xA0,0x00,0x00,0x00,0x00,0x70,0x00,0x80,0x54,0xC0,0xFF,0x01,0x80,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x04,0x80,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Talking.png",width:35,height:25,alt:"Talking"},"Talking,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x03,0x00,0x00,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0x00,0x00,0xE0,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0xE0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x80,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x07,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0x00,0x00,0xFC,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x0F,0x00,0xFC,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0xC0,0xFF,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xE0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/Wink.png",width:35,height:25,alt:"Wink"},"Wink,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x07,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3F,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x10,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x7E,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x3F,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"],[{src:"../common/media/oled_icons/face/Expressions/ZZZ.png",width:35,height:25,alt:"ZZZ"},"ZZZ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0x00,0x00,0xFE,0x3A,0x00,0x00,0x00,0xE0,0xFF,0x01,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xF0,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xF8,0x7F,0x00,0x00,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0xFC,0x3F,0x00,0x00,0x00,0x00,0xE0,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0x0F,0x00,0x00,0x00,0xE0,0xFF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x01,0x00,0x00,0xE0,0xEF,0x1F,0x00,0x00,0x00,0xFE,0xFF,0xBF,0x01,0x00,0x00,0x20,0xE0,0x0F,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x3F,0x00,0xF0,0x07,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x6F,0x00,0xF8,0x07,0x00,0x00,0x00,0xFE,0xFF,0x7F,0x81,0xFF,0x5F,0x00,0xF8,0x03,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x81,0xFF,0x7F,0x00,0xFC,0x03,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x81,0xFF,0x3F,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0xC0,0xFF,0x01,0xDF,0x3F,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0xC0,0x1F,0x00,0xFE,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0xFF,0xBE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x80,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x80,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x5F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x87,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x8D,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x02,0x00,0x00,0xC0,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"]],_n=[["8","1"],["16","2"],["32","4"],["48","6"],["64","8"]];const hn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_SETUP).appendField(new K.FieldDropdown(sn),"OLED_TYPE").appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(" "+K.Msg.MIXLY_MICROBIT_monitor).appendField(new K.FieldDropdown(cn),"ROTATION").appendField(" SCL").appendField(new K.FieldDropdown(Z.Profile.default.digital),"SCL").appendField("SDA").appendField(new K.FieldDropdown(Z.Profile.default.digital),"SDA"),this.appendValueInput("ADDRESS").appendField(K.Msg.MIXLY_LCD_ADDRESS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_INIT2_TOOLTIP),this.setFieldValue(Z.Profile.default.SCL[0][1],"SCL"),this.setFieldValue(Z.Profile.default.SDA[0][1],"SDA")}},Fn={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_SETUP).appendField(new K.FieldDropdown(an),"U8G2_TYPE_SPI").appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(" "+K.Msg.MIXLY_MICROBIT_monitor).appendField(new K.FieldDropdown(cn),"ROTATION"),this.appendDummyInput().appendField("CLK").appendField(new K.FieldDropdown(Z.Profile.default.digital),"CLK").appendField("MOSI").appendField(new K.FieldDropdown(Z.Profile.default.digital),"MOSI"),this.appendDummyInput().appendField("CS").appendField(new K.FieldDropdown(Z.Profile.default.digital),"CS").appendField("DC").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DC").appendField("RST").appendField(new K.FieldDropdown(Z.Profile.default.digital),"RST"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("CLK - SCL(SSD1306) - CLK(NOKIA5110)\nMOSI - SDA(SSD1306) - DIN(NOKIA5110)"),this.setHelpUrl(""),this.setFieldValue(Z.Profile.default.SCK[0][1],"CLK"),this.setFieldValue(Z.Profile.default.MOSI[0][1],"MOSI")}},An={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_SETUP+"LCD12864").appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(" "+K.Msg.MIXLY_MICROBIT_monitor).appendField(new K.FieldDropdown(cn),"ROTATION"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("RS").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DC"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("PSB = 0"),this.setHelpUrl("")}},In={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_SETUP+"LCD12864").appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(" "+K.Msg.MIXLY_MICROBIT_monitor).appendField(new K.FieldDropdown(cn),"ROTATION"),this.appendDummyInput().appendField("D0").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB0").appendField("D1").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB1").appendField("D2").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB2").appendField("D3").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB3").appendField("D4").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB4").appendField("D5").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB5").appendField("D6").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB6").appendField("D7").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DB7").appendField("E").appendField(new K.FieldDropdown(Z.Profile.default.digital),"ENABLE").appendField("RS").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DC"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("R/W = 0,PSB = 1"),this.setHelpUrl("")}},gn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_CLEAR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip()}},En={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_BITMAP_NAME).appendField(new K.FieldTextInput("bitmap1"),"VAR").appendField(K.Msg.OLED_BITMAP_DATA).appendField(new K.FieldTextInput("0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x03,0x00,0x80,0xFF,0xFF,0xFF,0x01,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0xC0,0x07,0x00,0x00,0x1F,0x00,0xE0,0x03,0x00,0xC0,0x07,0x00,0xE0,0x01,0x00,0x00,0x3C,0x00,0xF0,0x00,0x00,0x00,0x0F,0x00,0xE0,0x00,0x00,0x00,0x38,0x00,0x78,0x00,0x00,0x00,0x1E,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x38,0x00,0x00,0x00,0x1C,0x00,0x70,0x00,0x00,0x00,0x70,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x1C,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x38,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x78,0x00,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x01,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0xF8,0x07,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x38,0x00,0xB8,0x1F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x00,0x3E,0x00,0x38,0x7F,0x00,0x00,0xE0,0x00,0x0C,0x00,0x00,0x80,0x3F,0x00,0x38,0xFC,0x01,0x00,0xE0,0x00,0x0C,0x00,0x00,0xE0,0x3F,0x00,0x38,0xF0,0x07,0x00,0xE0,0x00,0x0C,0x00,0x00,0xF8,0x31,0x00,0x38,0xC0,0x1F,0x00,0xE0,0x00,0x0C,0x00,0x00,0x7E,0x30,0x00,0x38,0x00,0x7F,0x00,0xE0,0x00,0x0C,0x00,0x80,0x1F,0x30,0x00,0x38,0x00,0xFC,0x01,0xE0,0x00,0x0C,0x00,0xE0,0x07,0x30,0x00,0x38,0x00,0xF0,0x07,0xE0,0x00,0x0C,0x00,0xF8,0x01,0x30,0x00,0x38,0x00,0xE0,0x1F,0xE0,0x00,0x0C,0x00,0xFE,0x00,0x30,0x00,0x38,0x00,0xF0,0x7F,0xE0,0x00,0x0C,0x80,0x3F,0x00,0x30,0x00,0x38,0x00,0xF8,0xFF,0xE1,0x00,0x0C,0xE0,0x6F,0x01,0x30,0x00,0x38,0x00,0xFC,0xF9,0xE7,0x00,0x0C,0xF8,0x4F,0x00,0x30,0x00,0x38,0x00,0xFD,0xDD,0xFF,0x00,0x0C,0xFE,0xF7,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFF,0x00,0x8C,0xFF,0xFF,0x02,0x30,0x00,0x38,0x00,0xFE,0x3F,0xFC,0x00,0xFC,0xFF,0xFF,0x00,0x30,0x00,0x38,0x00,0xFE,0x3F,0xF0,0x00,0xFC,0xF5,0xFF,0x02,0x30,0x00,0x38,0x00,0xFC,0x1F,0xE0,0x00,0x7C,0xF0,0xFF,0x00,0x30,0x00,0x38,0x00,0xFD,0x5F,0xE0,0x00,0x1C,0xE0,0x7F,0x00,0x38,0x00,0x70,0x00,0xF8,0x0F,0x70,0x00,0x1C,0xE8,0x7F,0x01,0x38,0x00,0x70,0x00,0xF0,0x07,0x70,0x00,0x3C,0xC0,0x3F,0x00,0x3C,0x00,0xF0,0x00,0xC0,0x01,0x78,0x00,0x38,0x20,0x4F,0x00,0x1C,0x00,0xE0,0x01,0x20,0x04,0x3C,0x00,0x78,0x80,0x10,0x00,0x1E,0x00,0xC0,0x03,0x00,0x00,0x1E,0x00,0xF0,0x01,0x00,0x80,0x0F,0x00,0x80,0x1F,0x00,0xC0,0x0F,0x00,0xE0,0x07,0x00,0xE0,0x07,0x00,0x00,0xFF,0xFF,0xFF,0x07,0x00,0xC0,0xFF,0xFF,0xFF,0x03,0x00,0x00,0xFC,0xFF,0xFF,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},Mn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new K.FieldDropdown(_n),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(K.Msg.OLED_ICON).appendField(new K.FieldDropdown(rn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},Tn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_BITMAP),this.appendValueInput("POS_X").appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y").appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput().appendField(K.Msg.OLED_ICON).appendField(new K.FieldDropdown(un),"FACE_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},mn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(K.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(K.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(K.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_SHOW_BMP_TOOLTIP)}},Cn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(K.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(K.Msg.OLED_POSY).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DRAW_PIXE_TOOLTIP)}},On={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(K.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(K.Msg.OLED_END_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DRAW_LINE_TOOLTIP)}},Sn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(K.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new K.FieldDropdown(Qi),"TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Rn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_PAGE),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_page_tooltip)}},Dn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAW_TRIANGLE),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(K.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(K.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(K.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(K.Msg.OLED_D2_Y).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Nn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new K.FieldDropdown($i),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(K.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(K.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Ln={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new K.FieldDropdown(fn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(K.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(K.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(K.Msg.OLED_RADIUS).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},Pn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new K.FieldDropdown(xn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(K.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new K.FieldDropdown(en),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},yn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAW_ELLIPSE),this.appendDummyInput("").appendField(new K.FieldDropdown(tn),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS_X",Number).appendField(K.Msg.OLED_ELLIPSE_RADIUS_X).setCheck(Number),this.appendValueInput("RADIUS_Y",Number).appendField(K.Msg.OLED_ELLIPSE_RADIUS_Y).setCheck(Number),this.appendDummyInput("").appendField(new K.FieldDropdown(en),"OPT"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DRAW_ELLIPSE_TOOLTIP)}},bn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_DRAWSTR),this.appendValueInput("POS_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(K.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},vn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.set_EN_Font).appendField(new K.FieldDropdown(nn),"FONT_NAME"),this.appendDummyInput("").appendField(K.Msg.FontSize).appendField(new K.FieldDropdown(ln),"FONT_SIZE"),this.appendDummyInput("").appendField(K.Msg.Font_Style).appendField(new K.FieldDropdown(dn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},wn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.set_CN_Font).appendField(new K.FieldDropdown(pn),"FONT_NAME"),this.appendDummyInput("").appendField(K.Msg.FontSize).appendField(new K.FieldDropdown(on),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},Yn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.set_ZH_TW_Font),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},Vn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("TEXT",String).appendField(K.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_print_tooltip)}},kn={init:function(){this.appendValueInput("Contrast").setCheck(null).appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(K.Msg.TFT_Brightness+K.Msg.MIXLY_BRIGHTNESS),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ii),this.setTooltip(K.Msg.MIXLY_U8G2_SETCONTRAST_HELP),this.setHelpUrl("")}},Xn={init:function(){this.appendValueInput("str").setCheck(null).appendField(K.Msg.DISPLAY).appendField(new K.FieldTextInput("u8g2"),"NAME").appendField(" "+K.Msg.OLED_DRAWSTR+K.Msg.MIXLY_WIDTH),this.setOutput(!0,null),this.setColour(Ii),this.setTooltip(""),this.setHelpUrl("https://www.cnblogs.com/danpianjicainiao/p/11048729.html#_label3_1_39")}},Gn={init:function(){this.appendValueInput("row").setCheck(null).appendField(K.Msg.MIXLY_DF_LCD).appendField(new K.FieldTextInput("mylcd"),"name").appendField(K.Msg.MIXLY_LCD_ROW),this.appendValueInput("column").setCheck(null).appendField(K.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("pattern").setCheck(null).appendField(K.Msg.COLUMN_DISPLAY_IMAGE),this.appendDummyInput().appendField(K.Msg.LCD_NUMBERING).appendField(new K.FieldDropdown([["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"]]),"number"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ii),this.setTooltip(""),this.setHelpUrl("https://www.arduino.cc/en/Reference/LiquidCrystalCreateChar")}},Bn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new K.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a81").appendField(new K.FieldCheckbox("FALSE"),"a82").appendField(new K.FieldCheckbox("FALSE"),"a83").appendField(new K.FieldCheckbox("FALSE"),"a84").appendField(new K.FieldCheckbox("FALSE"),"a85"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a71").appendField(new K.FieldCheckbox("FALSE"),"a72").appendField(new K.FieldCheckbox("FALSE"),"a73").appendField(new K.FieldCheckbox("FALSE"),"a74").appendField(new K.FieldCheckbox("FALSE"),"a75"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a61").appendField(new K.FieldCheckbox("FALSE"),"a62").appendField(new K.FieldCheckbox("FALSE"),"a63").appendField(new K.FieldCheckbox("FALSE"),"a64").appendField(new K.FieldCheckbox("FALSE"),"a65"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a51").appendField(new K.FieldCheckbox("FALSE"),"a52").appendField(new K.FieldCheckbox("FALSE"),"a53").appendField(new K.FieldCheckbox("FALSE"),"a54").appendField(new K.FieldCheckbox("FALSE"),"a55"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a41").appendField(new K.FieldCheckbox("FALSE"),"a42").appendField(new K.FieldCheckbox("FALSE"),"a43").appendField(new K.FieldCheckbox("FALSE"),"a44").appendField(new K.FieldCheckbox("FALSE"),"a45"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a31").appendField(new K.FieldCheckbox("FALSE"),"a32").appendField(new K.FieldCheckbox("FALSE"),"a33").appendField(new K.FieldCheckbox("FALSE"),"a34").appendField(new K.FieldCheckbox("FALSE"),"a35"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a21").appendField(new K.FieldCheckbox("FALSE"),"a22").appendField(new K.FieldCheckbox("FALSE"),"a23").appendField(new K.FieldCheckbox("FALSE"),"a24").appendField(new K.FieldCheckbox("FALSE"),"a25"),this.appendDummyInput("").appendField(new K.FieldCheckbox("FALSE"),"a11").appendField(new K.FieldCheckbox("FALSE"),"a12").appendField(new K.FieldCheckbox("FALSE"),"a13").appendField(new K.FieldCheckbox("FALSE"),"a14").appendField(new K.FieldCheckbox("FALSE"),"a15"),this.setOutput(!0,Number),this.setTooltip("")}},Un={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR).appendField(new K.FieldTextInput("lcd"),"VAR"),this.appendDummyInput("").setAlign(K.inputs.Align.CENTRE).appendField(new K.FieldBitmap([[0,0,0,0,0],[0,1,1,1,0],[1,0,0,0,1],[1,0,1,0,1],[1,0,1,0,1],[1,0,0,0,1],[0,1,1,1,0],[0,0,0,0,0]],null,{filledColor:"#000",emptyColor:"#5ba5a5",bgColor:"#e5e7f1"}),"BITMAP"),this.setOutput(!0,Number),this.setTooltip("")}},Wn={init:function(){this.setColour(Ii),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_SETUP+" TFT "+K.Msg.DISPLAY),this.appendDummyInput().appendField(new K.FieldDropdown([[K.Msg.MIXLY_STM32_TFT_GREENTAB+"(ST7735)","ST7735_INITR_GREENTAB"],[K.Msg.MIXLY_STM32_TFT_REDTAB+"(ST7735)","ST7735_INITR_REDTAB"],[K.Msg.MIXLY_STM32_TFT_BLACKTAB+"(ST7735)","ST7735_INITR_BLACKTAB"],["160×80(ST7735)","ST7735_160×80"],["160×128(ST7789)","ST7789_160×128"],["240×135(ST7789)","ST7789_240×135"],["240×240(ST7789)","ST7789_240×240"],["320×240(ST7789)","ST7789_320×240"],["480×320(ST7796)","ST7796_480×320"]]),"TYPE"),this.appendValueInput("CLK").setCheck(Number).appendField("CLK"),this.appendValueInput("MOSI").setCheck(Number).appendField("MOSI"),this.appendDummyInput().appendField("CS").appendField(new K.FieldDropdown(Z.Profile.default.digital),"CS").appendField("DC").appendField(new K.FieldDropdown(Z.Profile.default.digital),"DC").appendField("RST").appendField(new K.FieldDropdown(Z.Profile.default.digital),"RST"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hn={init:function(){this.appendDummyInput().appendField("TFT").appendField(K.Msg.TFT_DISPLAY_CHINESE_CHARACTERS),this.appendDummyInput().appendField(K.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new K.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"],["AcadEref","AcadEref"],["Adobe Ming Std L","Adobe Ming Std L"],["Adobe Myungjo Std M","Adobe Myungjo Std M"],["Adobe Pi Std","Adobe Pi Std"],["AIGDT","AIGDT"],["AIgerian","AIgerian"],["AmdtSymbols","AmdtSymbols"],["Arial","Arial"],["Arial Rounded MT Bold","Arial Rounded MT Bold"],["Arial Unicode MS","Arial Unicode MS"],["BankGothic Lt BT","BankGothic Lt BT"],["BankGothic Md BT","BankGothic Md BT"],["Baskerville Old Face","Baskerville Old Face"],["Bauhaus 93","Bauhaus 93"],["Beranad MT Condensed","Beranad MT Condensed"]]),"st7735_hz_sharp").appendField(" "+K.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new K.FieldTextInput("16"),"st7735_hz_line_height").appendField("px").appendField(K.Msg.SAVETO+" flash").appendField(new K.FieldCheckbox("true"),"st7735_show_hz_save"),this.appendValueInput("st7735_hz_data").setCheck(null).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_SD_DATA+"#"),this.appendValueInput("st7735_hz_x").setCheck(null).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.OLED_L_U_X+"#"),this.appendValueInput("st7735_hz_y").setCheck(null).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.OLED_L_U_Y+"#"),this.appendValueInput("st7735_hz_height").setCheck(null).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_HEIGHT+"#"),this.appendValueInput("st7735_hz_width").setCheck(null).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_WIDTH+"#"),this.appendValueInput("st7735_hz_color").setCheck(null).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.blynk_iot_WidgetLED_COLOR),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ii),this.setTooltip(""),this.setHelpUrl("")}},zn={init:function(){this.setColour(Ii),this.appendValueInput("BRIGHTNESS").setCheck(Number).appendField("TFT"+K.Msg.TFT_Brightness+K.Msg.MIXLY_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_ESP32_INOUT_PWM_ANALOG_WRITE_SET_FREQ_TOOLTIP)}},Kn={init:function(){this.setColour(Ii),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(new K.FieldColour("33ccff"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(K.Msg.OLED_DRAW_PIXE_TOOLTIP)}},Zn={init:function(){this.setColour(Ii),this.appendValueInput("R").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_RGB_R),this.appendValueInput("G").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_RGB_G),this.appendValueInput("B").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},jn={init:function(){this.setColour(Ii),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_SETUP+" TFT "+K.Msg.DISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Jn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.MIXLY_BACKGROUND_COLOR),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}};Vi=[[K.Msg.MIXLY_0DEGREE,"0"],[K.Msg.MIXLY_90DEGREE,"1"],[K.Msg.MIXLY_180DEGREE,"2"],[K.Msg.MIXLY_270DEGREE,"3"]];const qn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_DISPLAY_MATRIX_ROTATE).appendField(new K.FieldDropdown(Vi),"Rotation_TYPE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION)}},Qn={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_BITMAP_NAME).appendField(new K.FieldTextInput("bitmap1"),"VAR").appendField(K.Msg.OLED_BITMAP_DATA).appendField(new K.FieldTextInput("0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x009f, 0x9f00, 0x989c, 0x009a, 0x9f00, 0x9c9e, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x009d, 0xa100, 0x9da1, 0x0099, 0x9e00, 0x989e, 0x009c, 0x9c00, 0x7f7f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00a3, 0xa300, 0x989e, 0x0096, 0x9e00, 0x989d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989d, 0x0099, 0x9e00, 0x979c, 0x0098, 0x9c00, 0x7faa, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0099, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9d00, 0x999e, 0x009d, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0098, 0xa000, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9e00, 0x969c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9aa1, 0x0096, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x008d, 0x9b00, 0x0000, 0x007f, 0x7f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x0000, 0x0095, 0x9c00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x949b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999f, 0x0098, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979b, 0x0099, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0899, 0x9e0e, 0x9ca1, 0x0c9b, 0x9f04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0095, 0x9a04, 0x989d, 0x119d, 0xa21e, 0xa2a6, 0x2faa, 0xae47, 0xb3b7, 0x5bbb, 0xbe6d, 0xc3c6, 0x42b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2b, 0xa8ac, 0x7fca, 0xcdbf, 0xe4e6, 0xe6f5, 0xf6f3, 0xfafa, 0xf1f9, 0xfad6, 0xeeef, 0x93d2, 0xd525, 0xa5aa, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0699, 0x9e0e, 0x9ca1, 0x169f, 0xa424, 0xa5aa, 0x36ac, 0xb045, 0xb2b6, 0x52b8, 0xbb64, 0xbfc2, 0x77c6, 0xc984, 0xccce, 0x98d4, 0xd7ac, 0xdcde, 0xbbe3, 0xe5d0, 0xeced, 0xe2f3, 0xf4ed, 0xf8f8, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3cae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0598, 0x9d52, 0xb7bb, 0xbfe4, 0xe6fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x6bc2, 0xc501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x4ab5, 0xb859, 0xbabd, 0x5fbc, 0xc068, 0xc0c3, 0x72c5, 0xc881, 0xcbce, 0x92d1, 0xd4a1, 0xd7d9, 0xaede, 0xdfc1, 0xe5e7, 0xd3ed, 0xeedd, 0xf1f2, 0xe7f5, 0xf6f2, 0xfafa, 0xfafd, 0xfdfc, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f2, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d4c, 0xb5b9, 0xcdeb, 0xecfe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe6d, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xb9e2, 0xe3fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x35ab, 0xb000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff47, 0xb3b7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0x7ac8, 0xcaf6, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe401, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xecf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0f, 0x9ca1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x24a5, 0xa9c9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff38, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xd8f0, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4e, 0xb6ba, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x74c5, 0xc800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989c, 0x6fc3, 0xc6f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffde, 0xf2f2, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0398, 0x9d04, 0x989d, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x62be, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d88, 0xced1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x26a6, 0xaa00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x43b2, 0xb582, 0xccce, 0xb2df, 0xe1d7, 0xefef, 0xe5f4, 0xf5e7, 0xf5f6, 0xdff2, 0xf2c4, 0xe7e8, 0x98d4, 0xd657, 0xbabd, 0x18a0, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x089a, 0x9f77, 0xc6c9, 0x9dd5, 0xd7ac, 0xdddf, 0xc2e6, 0xe8d7, 0xeff0, 0xe5f5, 0xf5f7, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff0, 0xf9f9, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0x91d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5dbc, 0xbf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2e, 0xa9ad, 0x9bd6, 0xd7e8, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfaa6, 0xdadc, 0x2aa7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9b00, 0x969b, 0x0398, 0x9d13, 0x9ea3, 0x72c5, 0xc7f6, 0xfbfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffcb, 0xeaeb, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x90d1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c23, 0xa4a9, 0xa5da, 0xdbfa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc8a, 0xced1, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c65, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9d, 0xd7d8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x6dc2, 0xc5fd, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c05, 0x999e, 0x6dc2, 0xc5f2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc9e9, 0xea1c, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9b9f, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6d, 0xc3c5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xf9fd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ec, 0xed00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4b6, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdd, 0xf1f1, 0x22a3, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3e, 0xb0b4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8ea, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe2f3, 0xf405, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ab, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7ee, 0xef15, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe1d, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xc1e5, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf805, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c76, 0xc6c9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xaaae, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x64be, 0xc200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb6e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcfec, 0xed01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2aa7, 0xacf5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd17, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x26a6, 0xaae4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xebf7, 0xf715, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0xb9e2, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1a, 0xa2a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea3, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff82, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb1df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ad5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c52, 0xb8bb, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9eb3, 0xdfe1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9fd7, 0xefef, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd18, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57ba, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd6, 0xd8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x60bd, 0xc1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc15, 0x9fa3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4c, 0xb5b9, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa2d9, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x95d2, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5cbc, 0xbf00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xdbf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfc13, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7e8, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xddf1, 0xf205, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x87cd, 0xd0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c5b, 0xbbbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xeff9, 0xf90d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd1b, 0xa1a6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x78c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b2, 0xb600, 0x979c, 0x0398, 0x9dc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf506, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7e, 0xcacc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x66c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x41b0, 0xb400, 0x979c, 0x38ad, 0xb1fe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xffe8, 0xf6f6, 0xd1ec, 0xede7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdaf0, 0xf101, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3caf, 0xb3f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0xc3e6, 0xe8b8, 0xe2e3, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff5b, 0xbbbe, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x58b9, 0xbdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3caf, 0xb200, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd3, 0xecee, 0x4bb5, 0xb807, 0x999e, 0x0096, 0x9b07, 0x999e, 0x62be, 0xc1f3, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcbe9, 0xeb00, 0x969b, 0x0097, 0x9c0e, 0x9ca1, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe7, 0xf5f6, 0x6cc2, 0xc512, 0x9da2, 0x0096, 0x9b00, 0x969b, 0x19a0, 0xa5ce, 0xebec, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6a, 0xc1c4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x44b2, 0xb6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x38ad, 0xb110, 0x9da1, 0xecf7, 0xf8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb6e1, 0xe20f, 0x9da1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbabd, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xafde, 0xe000, 0x979c, 0x0197, 0x9c90, 0xd1d4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe519, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c43, 0xb1b5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff72, 0xc5c8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x2ea9, 0xadff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x37ad, 0xb054, 0xb8bb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbd, 0xe4e5, 0x0a9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979d, 0xb6e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x98d4, 0xd600, 0x979c, 0x3aae, 0xb2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa4, 0xd9db, 0x0899, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c07, 0x999e, 0xe9f6, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa3, 0xa7fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3dae, 0xb2ae, 0xdedf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe4f4, 0xf41a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x48b4, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bc8, 0xcb05, 0x989d, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xaadb, 0xdd07, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979b, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff69, 0xc1c3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa1f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5ab9, 0xbcf2, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x51b7, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0699, 0x9de5, 0xf4f5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x60bd, 0xc06a, 0xc2c5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffca, 0xe9ea, 0x0c9c, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbae3, 0xe4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff57, 0xb9bd, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9de4, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb2df, 0xe1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb4, 0xe0e1, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9f, 0xd7d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4db5, 0xb8e3, 0xf4f4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f6, 0xf61e, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xbce3, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9ccd, 0xeaeb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfefe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fc, 0xfd2c, 0xa8ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c66, 0xc0c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfeff, 0x9ad5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x4eb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x969c, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd20, 0xa3a8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa3d9, 0xdb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c38, 0xadb1, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xf0f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff99, 0xd5d7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x969b, 0xdff2, 0xf3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe8f6, 0xf609, 0x9a9e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c95, 0xd3d5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0x32aa, 0xae00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdff2, 0xf312, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xf1f9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce4, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c78, 0xc7ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbc, 0xe3e5, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c08, 0x999e, 0xe9f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x52b8, 0xbb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c26, 0xa6aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81cb, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff50, 0xb7ba, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb6, 0xe1e2, 0x0297, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c54, 0xb8bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3bae, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c31, 0xabaf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf50c, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc2e6, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc2d, 0xa9ad, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c87, 0xcdd0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c13, 0x9ea2, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9bd6, 0xd800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb0df, 0xe0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd1, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cbb, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8c, 0xd0d2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0xe2f3, 0xf4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x49b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa1d9, 0xdbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffee, 0xf8f8, 0x1aa1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9fe9, 0xf6f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe30, 0xaaae, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xbee4, 0xe6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffed, 0xf8f8, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x98d4, 0xd6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff83, 0xcbce, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x35ac, 0xb0fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe502, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdee0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x94d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf612, 0x9da2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x48b4, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff70, 0xc4c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x80ca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xc0e5, 0xe7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc7, 0xe8e9, 0x0498, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x47b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff37, 0xadb1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x93d2, 0xd4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x169f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c17, 0xa0a4, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff49, 0xb4b8, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a4, 0xa8fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf1f9, 0xfa0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x96d3, 0xd5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff90, 0xd1d3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c59, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe001, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9eea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xccea, 0xeb00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x99d5, 0xd7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf9fd, 0xfd29, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca8, 0xdbdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x28a7, 0xab00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc3, 0xe6e8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x99d5, 0xd700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x9dd7, 0xd9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbae2, 0xe301, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0c9b, 0xa0ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff76, 0xc6c9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c90, 0xd1d3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6dc3, 0xc500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xa7db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4eb6, 0xb900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x52b8, 0xbbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc5e7, 0xe807, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbabe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x46b3, 0xb700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb8e2, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe1, 0xf3f3, 0x089a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xabdc, 0xdeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffec, 0xf7f8, 0x24a4, 0xa900, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3eb0, 0xb400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0xc8e8, 0xe9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff8b, 0xcfd1, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c12, 0x9ea2, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe54, 0xb8bc, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c09, 0x9a9f, 0xe7f5, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x53b8, 0xbc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xd2ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5a, 0xbbbe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x81ca, 0xcd01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb7e1, 0xe3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6ec3, 0xc600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x999e, 0xe4f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd3ed, 0xee02, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cba, 0xe3e4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffab, 0xddde, 0x0598, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7fca, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8fd0, 0xd300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0f, 0x9ca1, 0xf4fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7fca, 0xcd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x21a3, 0xa8f9, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc1e5, 0xe70b, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eb0, 0xb4ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e1, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c22, 0xa4a9, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x34ac, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x79c7, 0xcaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffce, 0xebec, 0x159f, 0xa400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0a9a, 0x9fee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe1f2, 0xf302, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c39, 0xadb1, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf2f3, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xd4ed, 0xeeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd2ed, 0xed18, 0xa0a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cb5, 0xe0e2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfc16, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c5e, 0xbcbf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbb, 0xe3e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c41, 0xb0b4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x1aa1, 0xa500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c6f, 0xc4c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xff3d, 0xafb3, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c83, 0xccce, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe2e4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9caa, 0xdcde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xcae9, 0xea18, 0xa0a4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0096, 0x9b00, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2a, 0xa7ac, 0xfcfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6c, 0xc2c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9caa, 0xdcdd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffbe, 0xe4e5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1ea2, 0xa6f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x139e, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0xa058, 0xbabd, 0xa2d8, 0xdacd, 0xeaeb, 0xd6ee, 0xefc7, 0xe8e9, 0xa0d8, 0xd96a, 0xc1c4, 0x2aa7, 0xac07, 0x999d, 0xd7ee, 0xefff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff9e, 0xd7d9, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9cd9, 0xf0f0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc2, 0xe6e7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x80cb, 0xcdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb3e0, 0xe10d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7ac9, 0xcbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfed7, 0xeeef, 0xd7ef, 0xf0ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd0, 0xeced, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4fb, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc9, 0xe8ea, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ca0, 0xe7f6, 0xf6ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd8ef, 0xf0a6, 0xdadc, 0x73c5, 0xc840, 0xb0b4, 0x129e, 0xa200, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x75c6, 0xc8ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0x119d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x46b3, 0xb7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd1, 0xeced, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c68, 0xc0c4, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7fc, 0xfcd3, 0xedee, 0xa0d8, 0xd96f, 0xc3c6, 0x3eaf, 0xb315, 0x9ea3, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x72c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x43b1, 0xb500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x7dc9, 0xccff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x0096, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0698, 0x9dd8, 0xeff0, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfeff, 0xfff6, 0xfbfc, 0xd7ef, 0xefa4, 0xd9db, 0x1da1, 0xa600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x68c0, 0xc3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7cc9, 0xcb00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0xbee4, 0xe5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe0, 0xf3f3, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x63be, 0xc2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d2, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x5abb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c10, 0x9ca1, 0xf1fa, 0xfaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffea, 0xf7f7, 0x0a9a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0xdaf0, 0xf1ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfb20, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4db6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe7f5, 0xf609, 0x9a9f, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c4a, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff4, 0xfbfb, 0x119d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c72, 0xc5c8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff95, 0xd3d5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x42b1, 0xb5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe2c, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9ca3, 0xd9db, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0x20a4, 0xa800, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x1fa2, 0xa7ee, 0xf8f9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff2, 0xfafa, 0x20a3, 0xa700, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3eaf, 0xb3ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xeaf7, 0xf7c7, 0xe8e9, 0xa8db, 0xdd91, 0xd2d4, 0x83cb, 0xce7f, 0xc9cc, 0x7ac7, 0xca7f, 0xc9cc, 0x83cb, 0xcd92, 0xd2d5, 0xa9db, 0xddbf, 0xe5e6, 0xddf1, 0xf2f1, 0xfafa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff63, 0xbfc2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0d9c, 0xa0e9, 0xf6f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x3caf, 0xb200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4cb5, 0xb986, 0xcdcf, 0x84cb, 0xcd81, 0xcacd, 0x79c7, 0xca71, 0xc4c7, 0x6bc2, 0xc565, 0xc0c3, 0x5fbd, 0xc15a, 0xbbbe, 0x56ba, 0xbd54, 0xb9bd, 0x52b8, 0xbc51, 0xb7bb, 0x50b7, 0xba4f, 0xb6ba, 0x4eb6, 0xb94e, 0xb5b9, 0x4db5, 0xb94d, 0xb5b9, 0x4db5, 0xb94e, 0xb5b9, 0x4fb6, 0xba51, 0xb7bb, 0x52b8, 0xbc57, 0xbabd, 0x5cbc, 0xbf65, 0xc0c3, 0x6fc3, 0xc679, 0xc8ca, 0x83cb, 0xce8d, 0xd0d3, 0x4fb6, 0xba00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x3cae, 0xb2ff, 0xffff, 0xfeff, 0xffd3, 0xedee, 0x78c7, 0xca2c, 0xa8ac, 0x089a, 0x9e01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x0497, 0x9c0e, 0x9ca1, 0x2ea9, 0xad61, 0xbec1, 0x9fd7, 0xd9d8, 0xeff0, 0xfafd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffa5, 0xdadb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x4eb6, 0xbaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5fbd, 0xc000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x31aa, 0xaee1, 0xf3f3, 0x56b9, 0xbc05, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0x25a5, 0xaa67, 0xc0c3, 0xb8e2, 0xe3f9, 0xfdfd, 0xffff, 0xffe4, 0xf4f4, 0x0699, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0xb4e0, 0xe2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x94d3, 0xd500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x139f, 0xa31d, 0xa2a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa2a6, 0x74c6, 0xc8d6, 0xeeef, 0x30a9, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c29, 0xa7ab, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe9f6, 0xf75b, 0xbbbe, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989e, 0x0b9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0x5dbc, 0xbfa6, 0xd9db, 0xe1f3, 0xf3fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe6f5, 0xf580, 0xcbcd, 0x1ea2, 0xa701, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e2c, 0xa8ac, 0x6ac1, 0xc4ac, 0xddde, 0xebf7, 0xf7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbae, 0xdddf, 0x48b4, 0xb705, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e37, 0xacb0, 0x76c6, 0xc9b3, 0xdfe1, 0xe8f6, 0xf6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfafd, 0xfd1f, 0xa3a7, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0899, 0x9e2f, 0xa9ae, 0x71c4, 0xc7ae, 0xdddf, 0xe3f3, 0xf4fc, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb5e0, 0xe200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0799, 0x9e28, 0xa7ab, 0x5ebc, 0xbf96, 0xd3d6, 0xd2ed, 0xeefa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x57b9, 0xbd00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1d, 0xa3a7, 0x6fc4, 0xc653, 0xb8bc, 0x3cae, 0xb21e, 0xa3a7, 0x0c9b, 0xa000, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c16, 0x9fa4, 0x49b4, 0xb881, 0xcbcd, 0xb7e1, 0xe2e6, 0xf5f5, 0xfeff, 0xffec, 0xf8f8, 0x109d, 0xa200, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9dbc, 0xe3e5, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffc, 0xfefe, 0xf0f9, 0xfa3b, 0xaeb2, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c06, 0x989d, 0x27a6, 0xaa44, 0xb1b6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x59bb, 0xbeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff43, 0xb1b5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0d, 0x9ba0, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xcbea, 0xebff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff6f, 0xc3c6, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x26a6, 0xaa5a, 0xbbbe, 0xb1df, 0xe0c5, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c32, 0xaaae, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffb0, 0xdfe0, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xfdfe, 0xfeff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x2da8, 0xad00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c7a, 0xc8ca, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff7, 0xfcfc, 0x2aa7, 0xac00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c49, 0xb4b8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x77c7, 0xca00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9cad, 0xdddf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd0eb, 0xed17, 0x9fa4, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c97, 0xd4d6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa5da, 0xdc00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc9, 0xe9ea, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffd8, 0xeff0, 0x33ab, 0xaf00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa4ea, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbbe3, 0xe400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9bc2, 0xe6e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf6fb, 0xfc8b, 0xcfd1, 0x149f, 0xa300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c04, 0x989d, 0xa8db, 0xddff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbce3, 0xe500, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c9a, 0xd5d7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xedf8, 0xf88c, 0xd0d2, 0x2ba7, 0xac01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x099a, 0x9f9f, 0xd8d9, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xb1df, 0xe100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c56, 0xb9bc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbfe, 0xfec4, 0xe7e8, 0x6dc2, 0xc624, 0xa5aa, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c2d, 0xa8ad, 0xc9e9, 0xeaff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa0d8, 0xda00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0e, 0x9ca1, 0xe5f4, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffa, 0xfdfd, 0xd2ec, 0xed8f, 0xd1d3, 0x49b4, 0xb812, 0x9ea2, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c15, 0x9fa3, 0x91d2, 0xd3f6, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8bce, 0xd100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x71c4, 0xc7ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xccea, 0xeb99, 0xd5d7, 0x66c0, 0xc337, 0xacb0, 0x109d, 0xa100, 0x969b, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c21, 0xa4a8, 0x8ace, 0xd1ed, 0xf8f8, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0599, 0x9dbf, 0xe4e6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf5fb, 0xfbd5, 0xeeef, 0xa7da, 0xdc7c, 0xc9cb, 0x57ba, 0xbd33, 0xabaf, 0x159f, 0xa306, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0b9b, 0x9f49, 0xb4b8, 0xa9db, 0xddf8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fb0, 0xb300, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xdef1, 0xf2ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0xf5fb, 0xfbe1, 0xf3f4, 0xc7e8, 0xe9a4, 0xd9db, 0x85cc, 0xcf65, 0xbfc2, 0x46b3, 0xb627, 0xa6aa, 0x159f, 0xa306, 0x999e, 0x0397, 0x9c01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0397, 0x9c1c, 0xa1a6, 0x59bb, 0xbea5, 0xd9dc, 0xe6f5, 0xf5ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff5, 0xfbfb, 0x109d, 0xa100, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x27a6, 0xaadf, 0xf2f3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf8fc, 0xfced, 0xf8f8, 0xdef1, 0xf2c7, 0xe8e9, 0xb7e0, 0xe2a5, 0xd9db, 0x90d1, 0xd482, 0xcbcd, 0x76c6, 0xc967, 0xc0c3, 0x58bb, 0xbe51, 0xb7ba, 0x4cb4, 0xb844, 0xb2b5, 0x3daf, 0xb33a, 0xaeb2, 0x37ad, 0xb136, 0xacb0, 0x3daf, 0xb247, 0xb2b6, 0x55b9, 0xbd6e, 0xc3c6, 0x8ccf, 0xd2b2, 0xdfe1, 0xddf1, 0xf2fa, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffc4, 0xe7e8, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c20, 0xa3a7, 0xd1ec, 0xedff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff7b, 0xc8cb, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x119d, 0xa2a6, 0xdadc, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfcfe, 0xfe2b, 0xa8ac, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x989d, 0x62be, 0xc1eb, 0xf7f7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbde4, 0xe501, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c1b, 0xa1a6, 0xa5da, 0xdbfb, 0xfdfd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffd, 0xfefe, 0x45b2, 0xb600, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c3b, 0xaeb2, 0xc1e5, 0xe7fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffba, 0xe3e4, 0x0398, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0398, 0x9d47, 0xb3b7, 0xbee4, 0xe6fe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf2fa, 0xfa2a, 0xa7ab, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c40, 0xb0b4, 0xafde, 0xe0f8, 0xfcfc, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffe, 0xffff, 0x69c1, 0xc400, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c25, 0xa5a9, 0x88ce, 0xd0e7, 0xf5f6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xff92, 0xd2d4, 0x0298, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c0b, 0x9ba0, 0x56b9, 0xbdb0, 0xdee0, 0xf5fb, 0xfbff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9dd6, 0xd806, 0x999e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x169f, 0xa46c, 0xc2c5, 0xbce3, 0xe5f5, 0xfbfb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfe8b, 0xcfd2, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0197, 0x9c19, 0xa0a5, 0x5fbd, 0xc0b2, 0xdfe1, 0xeff9, 0xf9ff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffe9, 0xf6f7, 0x53b8, 0xbb01, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0f9c, 0xa14a, 0xb4b8, 0x8fd0, 0xd2d0, 0xeced, 0xfbfd, 0xfdff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfffb, 0xfefe, 0x9ed7, 0xd91a, 0xa1a5, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c01, 0x979c, 0x1da2, 0xa65e, 0xbdc0, 0x9ad5, 0xd7d2, 0xeded, 0xf7fc, 0xfcff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfff6, 0xfbfc, 0xabdc, 0xde33, 0xabaf, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c03, 0x989d, 0x19a0, 0xa54a, 0xb4b8, 0x85cc, 0xcfc2, 0xe6e7, 0xedf8, 0xf8fd, 0xfefe, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdfe, 0xfed7, 0xeff0, 0x7cc8, 0xcb20, 0xa3a7, 0x0197, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x9a9d, 0x009a, 0x9f00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x969b, 0x0b9a, 0x9f2e, 0xa9ad, 0x5ebd, 0xbf8c, 0xcfd1, 0xb9e2, 0xe3e4, 0xf4f5, 0xfbfe, 0xfeff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfdff, 0xffe5, 0xf4f5, 0xafde, 0xdf70, 0xc3c7, 0x2ea9, 0xad04, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c02, 0x979c, 0x179f, 0xa43e, 0xafb3, 0x62be, 0xc185, 0xcccf, 0xa3d9, 0xdbbe, 0xe4e5, 0xd1ec, 0xede1, 0xf3f4, 0xebf7, 0xf7ee, 0xf8f8, 0xeef8, 0xf8ed, 0xf8f8, 0xeaf6, 0xf7e0, 0xf3f3, 0xd2ed, 0xeec4, 0xe6e7, 0xafde, 0xdf92, 0xd2d4, 0x71c4, 0xc74b, 0xb4b8, 0x1fa2, 0xa704, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989b, 0x0097, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0297, 0x9c06, 0x989d, 0x0899, 0x9e09, 0x999e, 0x099a, 0x9f09, 0x999e, 0x0899, 0x9d06, 0x989d, 0x0397, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x0098, 0x9d00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x009a, 0x9d00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979d, 0x007f, 0x7f00, 0x969e, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9f00, 0x0000, 0x0000, 0x0000, 0x9a9f, 0x0099, 0x9b00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x989c, 0x0094, 0x9f00, 0x0000, 0x0000, 0x0000, 0x0000, 0x009b, 0x9e00, 0x969c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0096, 0x9e00, 0x979b, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x989c, 0x0098, 0x9e00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x999e, 0x0097, 0x9d00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0099, 0x9900, 0x9a9e, 0x0097, 0x9e00, 0x989d, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0097, 0x9c00, 0x979c, 0x0098, 0x9d00, 0x989c, 0x0099, 0x9e00, 0x9494, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DEF_BMP_DATA_TOOLTIP)}},$n={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(new K.FieldImage(e(481),20,20,"*",(()=>{this.showSettingDialog()}))).appendField("TFT").appendField(K.Msg.OLED_BITMAP_NAME).appendField(new K.FieldTextInput("bitmap1"),"VAR").appendField(K.Msg.OLED_BITMAP_DATA).appendField(new K.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DEF_BMP_DATA_TOOLTIP)},showSettingDialog:function(){this.userImgSize={width:100,height:100};const x=Z.XML.render(Z.XML.TEMPLATE_STR.READ_BITMAP_DIV,{btn1Name:"加载",btn2Name:"保存"});this.canvas=Fi()(""),this.ctx=this.canvas[0].getContext("2d"),this.ctx.textAlign="left",this.ctx.textBaseline="top",Z.LayerExt.open({title:"图片取模工具",id:"read-bitmap-layer",area:["50%","250px"],max:["500px","250px"],min:["350px","100px"],content:x,borderRadius:"5px",shade:Z.LayerExt.SHADE_ALL,success:x=>{Fi()("#read-bitmap-layer").css("overflow","hidden"),this.addEvents(x)}})},addEvents:function(x){x.find("button").click((f=>{switch(Fi()(f.currentTarget).attr("m-id")){case"0":this.loadImg(x);break;case"1":this.writeJson()}}))},loadImg:function(x){Z.MFile.openFile(".png,.jpg","url",(f=>{const{data:e}=f,t=new Image;t.src=e,t.onload=()=>{Fi()("#read-bitmap-div-input-img").empty(),Fi()("#read-bitmap-div-input-img").append(t);const f={width:t.naturalWidth,height:t.naturalHeight},i=this.getUserImgSize(x),n=i.width/f.width,s=i.height/f.height;isNaN(f.width)||isNaN(f.height)||(s>n?i.height=parseInt(n*f.height):i.width=parseInt(s*f.width)),this.userImgSize=i,this.imgSize=f;const a=new Image;a.height=i.height,a.width=i.width,a.src=e,a.onload=()=>{const x=Fi()(""),f=x[0].getContext("2d");f.textAlign="left",f.textBaseline="top";const e=window.devicePixelRatio||1;this.canvas[0].width=a.width,this.canvas[0].height=a.height,this.ctx.width=a.width,this.ctx.height=a.height,x[0].width=a.width*e,x[0].height=a.height*e,f.width=a.width*e,f.height=a.height*e,this.ctx.drawImage(a,0,0,a.width,a.height),f.drawImage(a,0,0,a.width*e,a.height*e),Fi()("#read-bitmap-div-output-img").empty(),Fi()("#read-bitmap-div-output-img").append(x)};const c=Fi()("#read-bitmap-div-message"),l="输入尺寸:"+f.width+"×"+f.height+"  输出尺寸:"+i.width+"×"+i.height;c.empty(),c.append(``)}}))},writeJson:function(){const{userImgSize:x={}}=this,{width:f=100,height:e=100}=x,{data:t}=this.ctx.getImageData(0,0,f,e);let i=0,n="";for(let x=0;x>3&31;break;case 2:i=(31&i)<<6,i|=t[x]>>2&63;break;case 3:i=(2047&i)<<5,i|=t[x]>>3&31;break;default:f=i.toString(16);for(let x=4;x>f.length;x--)e+="0";f=e+f,n+="0x"+f+(x===t.length-1?"":","),i=0}(x+1)%400==0&&x!==t.length-1&&(n+="\n ")}this.setFieldValue(n,"TEXT"),this.setTooltip("图片尺寸(宽×高):"+f+"×"+e),Ai.msg("保存成功",{time:1e3})},getUserImgSize:function(x){const f=x.find("input"),e={width:100,height:100};for(let x=0;f[x];x++){const t=Fi()(f[x]);switch(t.attr("m-id")){case"0":e.width=parseInt(t.val())??100;break;case"1":e.height=parseInt(t.val())??100}}return e.width>300&&(e.width=300),e.height>300&&(e.height=300),e}},xs={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(K.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(K.Msg.OLED_POSY).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(K.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(K.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(K.Msg.OLED_BITMAP_NAME).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_SHOW_BMP_TOOLTIP)}},fs={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X",Number).appendField(K.Msg.OLED_POSX).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(K.Msg.OLED_POSY).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DRAW_PIXE_TOOLTIP)}},es={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_DRAWLINE),this.appendValueInput("START_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("END_X",Number).appendField(K.Msg.OLED_END_X).setCheck(Number),this.appendValueInput("END_Y",Number).appendField(K.Msg.OLED_END_Y).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.OLED_DRAW_LINE_TOOLTIP)}},ts={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_DRAWSTRLINE),this.appendValueInput("START_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("LENGTH",Number).appendField(K.Msg.OLED_LENGTH).setCheck(Number),this.appendDummyInput("").appendField(new K.FieldDropdown(Qi),"TYPE"),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},is={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_DRAW_TRIANGLE),this.appendDummyInput("").appendField(new K.FieldDropdown(gi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_D0_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_D0_Y).setCheck(Number),this.appendValueInput("D1_X",Number).appendField(K.Msg.OLED_D1_X).setCheck(Number),this.appendValueInput("D1_Y",Number).appendField(K.Msg.OLED_D1_Y).setCheck(Number),this.appendValueInput("D2_X",Number).appendField(K.Msg.OLED_D2_X).setCheck(Number),this.appendValueInput("D2_Y",Number).appendField(K.Msg.OLED_D2_Y).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ns={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_DRAW_RECTANGLE),this.appendDummyInput("").appendField(new K.FieldDropdown(gi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(K.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(K.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},ss={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_DRAW_RAD_RECTANGLE),this.appendDummyInput("").appendField(new K.FieldDropdown(gi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_L_U_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_L_U_Y).setCheck(Number),this.appendValueInput("WIDTH",Number).appendField(K.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(K.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(K.Msg.OLED_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},as={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_DRAW_CIRCLE),this.appendDummyInput("").appendField(new K.FieldDropdown(gi),"TYPE"),this.appendValueInput("D0_X",Number).appendField(K.Msg.OLED_CENTER_CIRCLE_X).setCheck(Number),this.appendValueInput("D0_Y",Number).appendField(K.Msg.OLED_CENTER_CIRCLE_Y).setCheck(Number),this.appendValueInput("RADIUS",Number).appendField(K.Msg.OLED_CIRCLE_RADIUS).setCheck(Number),this.appendDummyInput("").appendField(new K.FieldDropdown(en),"OPT"),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("x(0~127),y(0~63)")}},cs={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(K.Msg.set_EN_Font).appendField(new K.FieldDropdown(nn),"FONT_NAME"),this.appendDummyInput("").appendField(K.Msg.FontSize).appendField(new K.FieldDropdown(ln),"FONT_SIZE"),this.appendDummyInput("").appendField(K.Msg.Font_Style).appendField(new K.FieldDropdown(dn),"FONT_STYLE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},ls={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT"),this.appendDummyInput("").appendField(K.Msg.set_CN_Font).appendField(new K.FieldDropdown(pn),"FONT_NAME"),this.appendDummyInput("").appendField(K.Msg.FontSize).appendField(new K.FieldDropdown(on),"FONT_SIZE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},ds={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_BITMAP),this.appendValueInput("POS_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.MIXLY_MICROBIT_JS_NUMBER).appendField(new K.FieldDropdown(_n),"ICON_SIZE").appendField("px"),this.appendDummyInput().appendField(K.Msg.OLED_ICON).appendField(new K.FieldDropdown(rn),"ICON_IMAGE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_setFont_tooltip)}},ps={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(K.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_print_tooltip)}},os={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField("TFT").appendField(K.Msg.OLED_PRINT_VAR),this.appendValueInput("POS_X",Number).appendField(K.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("POS_Y",Number).appendField(K.Msg.OLED_START_Y).setCheck(Number),this.appendDummyInput("").appendField(K.Msg.HTML_COLOUR),this.appendValueInput("COLOR",Number).setCheck(Number),this.appendValueInput("TEXT",String).appendField(K.Msg.OLED_STRING).setCheck([Number,String]),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.oled_print_tooltip)}},rs=Ei,us={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.MIXLY_SETUP).appendField("CLK").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"CLK").appendField("DIO").appendField(K.Msg.MIXLY_PIN).appendField(new K.FieldDropdown(Z.Profile.default.digital),"DIO"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP),this.setHelpUrl("")}},_s={init:function(){this.setColour(Ii),this.appendValueInput("VALUE").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.OLEDDISPLAY),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP1)}},hs={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.MIXLY_SHOW_FACE_TIME),this.appendValueInput("hour").setCheck(Number).setAlign(K.inputs.Align.RIGHT),this.appendDummyInput("").appendField(K.Msg.MIXLY_HOUR),this.appendValueInput("minute").setCheck(Number).setAlign(K.inputs.Align.RIGHT),this.appendDummyInput("").appendField(K.Msg.MIXLY_MINUTE),this.appendDummyInput("").appendField(K.Msg.MIXLY_DISPLAY_TM1637_Time_Point).appendField(new K.FieldDropdown([[K.Msg.MIXLY_ON,"(0x80 >> 1)"],[K.Msg.MIXLY_OFF,"(0x80 >> 2)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP)}},Fs={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(K.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.appendValueInput("Brightness").setCheck(Number).setAlign(K.inputs.Align.RIGHT),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS)}},As={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(K.Msg.MIXLY_4DIGITDISPLAY+"TM1637").appendField(new K.FieldTextInput("display"),"NAME").appendField(new K.FieldDropdown([[K.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY)}},Is={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_BEGIN).appendField(new K.FieldDropdown([[K.Msg.MIXLY_ETHERNET,"Ethernet"],[K.Msg.MIXLY_ETHERNET2,"Ethernet2"]]),"Ethernet"),this.appendValueInput("MAC").setCheck(Array).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_ETHERNET_MAC_ADDRESS),this.setOutput(!0,Number),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_INIT)}},gs={init:function(){this.setColour(0),this.appendDummyInput().appendField(new K.FieldTextInput("DE"),"VAR1").appendField("-").appendField(new K.FieldTextInput("AD"),"VAR2").appendField("-").appendField(new K.FieldTextInput("BE"),"VAR3").appendField("-").appendField(new K.FieldTextInput("EF"),"VAR4").appendField("-").appendField(new K.FieldTextInput("FE"),"VAR5").appendField("-").appendField(new K.FieldTextInput("ED"),"VAR6"),this.setOutput(!0,Array),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_MACADDRESS)}},Es={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_LOCALIP),this.setOutput(!0,"IPAddress"),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_LOCALIP)}},Ms={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_CONNECT_SERVER).appendField(this.newQuote_(!0)).appendField(new K.FieldTextInput("mixly.org"),"SERVER").appendField(this.newQuote_(!1)),this.appendValueInput("PORT").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECT)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new K.FieldImage(f,12,12,'"')}},Ts={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_STOP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_STOP)}},ms={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_CONNECTED),this.setOutput(!0,Number),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_CONNECTED)}},Cs={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_AVAILABLE),this.setOutput(!0,Number),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_AVAILABLE)}},Os={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(K.Msg.MIXLY_ETHERNET_CLINET_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINT)}},Ss={init:function(){this.setColour(0),this.appendValueInput("TEXT").setCheck(String).appendField(K.Msg.MIXLY_ETHERNET_CLINET_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_PRINTLN)}},Rs={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_READ),this.setOutput(!0,Number),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_CLIENT_READ)}},Ds={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_URL).appendField(this.newQuote_(!0)).appendField(new K.FieldTextInput(""),"URL").appendField(this.newQuote_(!1)),this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_SERVER).appendField(this.newQuote_(!0)).appendField(new K.FieldTextInput(""),"SERVER").appendField(this.newQuote_(!1)),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MIXLY_TOOLTIP_ETHERNET_GET_REQUEST)},newQuote_:function(x){if(x==this.RTL)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC";return new K.FieldImage(f,12,12,'"')}},Ns={init:function(){this.setColour(0),this.appendDummyInput("").appendField(K.Msg.NTP_SERVER),this.appendValueInput("server_add").appendField(K.Msg.blynk_SERVER_ADD).setCheck(String),this.appendValueInput("timeZone").appendField(K.Msg.MIXLY_TimeZone).setCheck(Number),this.appendValueInput("Interval").appendField(K.Msg.blynk_WidgetRTC_setSyncInterval).setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Ls=[[K.Msg.MIXLY_YEAR,"NTP.getDateYear()"],[K.Msg.MIXLY_MONTH,"NTP.getDateMonth()"],[K.Msg.MIXLY_DAY,"NTP.getDateDay()"],[K.Msg.MIXLY_HOUR,"NTP.getTimeHour24()"],[K.Msg.MIXLY_MINUTE,"NTP.getTimeMinute()"],[K.Msg.MIXLY_SECOND,"NTP.getTimeSecond()"],[K.Msg.MIXLY_WEEK,"NTP.getDateWeekday()"]];const Ps={init:function(){this.setColour(0),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.NTP_server_get_time),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(new K.FieldDropdown(Ls),"TIME_TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number)}},ys={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new K.FieldImage(e(803),20,20)).appendField(K.Msg.MQTT_SERVER),this.appendValueInput("server_add").appendField(K.Msg.MQTT_SERVER_ADD).setCheck(String),this.appendValueInput("server_port").appendField(K.Msg.MIXLY_ETHERNET_CLINET_PORT).setCheck(Number),this.appendValueInput("IOT_ID").appendField(K.Msg.MIXLY_EMQX_USERNAME).setCheck(String),this.appendValueInput("IOT_PWD",String).appendField(K.Msg.HTML_PASSWORD).setCheck([String,Number]),this.appendValueInput("Client_ID").appendField(K.Msg.MQTT_Client_ID).setCheck(String),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},bs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new K.FieldImage(e(803),20,20)).appendField(K.Msg.MIXLY_NETWORK_INIT),this.appendValueInput("SSID").appendField(K.Msg.HTML_NAME),this.appendValueInput("PWD").appendField(K.Msg.HTML_PASSWORD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},vs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(K.Msg.MIXLY_ESP32_NETWORK_CONNECT),this.appendValueInput("id").setCheck(String).appendField(K.Msg.HTML_NAME),this.appendValueInput("password").setCheck(String).appendField(K.Msg.HTML_PASSWORD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_ESP32_NETWORK_CONNECT_TOOLTIP)}},ws={init:function(){this.setColour(0),this.appendDummyInput("").appendField(K.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Ys={init:function(){this.setColour(0),this.appendDummyInput(),this.appendDummyInput("").appendField(K.Msg.MIXLY_GET+K.Msg.MIXLY_DEVICE).appendField(new K.FieldDropdown([["MAC","MAC"],["IP","IP"]]),"mode").appendField(K.Msg.MQTT_SERVER_ADD),this.setOutput(!0),this.setInputsInline(!0)}},Vs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(K.Msg.MQTT_connect),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip()}};var ks=function(x){return x.replace(/\//g,"")};const Xs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(new K.FieldImage(e(803),20,20)).appendField(K.Msg.MQTT_publish),this.appendValueInput("data"),this.appendDummyInput("").appendField(K.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.appendDummyInput().appendField(K.Msg.MQTT_Topic).appendField(new K.FieldTextInput("Topic",ks),"Topic"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(" "),this.setHelpUrl()}},Gs={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MQTT_Topic).appendField(new K.FieldTextInput("Topic_0",ks),"Topic_0"),this.appendDummyInput("").appendField(K.Msg.HTML_VALUE),this.setInputsInline(!0),this.setOutput(!0,String)}},Bs={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MQTT_Topic),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Us={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(K.Msg.MQTT_Topic+K.Msg.MQTT_subscribe2).appendField(new K.FieldTextInput("Topic_0",ks),"Topic_0"),this.appendStatementInput("DO0").appendField(K.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setMutator(new K.icons.MutatorIcon(["MQTT_add_subscribe_topic"],this));var x=this;this.setTooltip((function(){return x.elseifCount_?x.elseifCount_?K.Msg.CONTROLS_IF_TOOLTIP_3:void 0:K.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var x=document.createElement("mutation");return this.elseifCount_&&x.setAttribute("elseif",this.elseifCount_),x},domToMutation:function(x){for(var f=this,e=[],t=this.elseifCount_;t>0;t--)this.removeInput("DummyInput"+t),f.getInputTargetBlock("DO"+t)&&f.getInputTargetBlock("DO"+t).previousConnection?e[t]=f.getInputTargetBlock("DO"+t).previousConnection:e[t]=null,this.removeInput("DO"+t);this.elseifCount_=parseInt(x.getAttribute("elseif"),10);for(t=1;t<=this.elseifCount_;t++)this.appendDummyInput("DummyInput"+t).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(K.Msg.MQTT_Topic+K.Msg.MQTT_subscribe2).appendField(new K.FieldTextInput("Topic_"+t,ks),"Topic_"+t),this.appendStatementInput("DO"+t).appendField(K.Msg.CONTROLS_IF_MSG_THEN);for(t=e.length-2;t>0;t--)e[t]&&e[t]&&e[t].reconnect(this,"DO"+t)},decompose:function(x){var f=x.newBlock("mqtt_topics_set");f.initSvg();for(var e=f.getInput("STACK").connection,t=1;t<=this.elseifCount_;t++){var i=x.newBlock("MQTT_add_subscribe_topic");i.initSvg(),e.connect(i.previousConnection),e=i.nextConnection}return f},compose:function(x){for(var f=this.elseifCount_;f>0;f--)this.removeInput("DummyInput"+f),this.removeInput("DO"+f);this.elseifCount_=0;for(var e=x.getInputTargetBlock("STACK"),t=[null];e;){if("MQTT_add_subscribe_topic"!==e.type)throw Error("Unknown block type: "+e.type);this.elseifCount_++,t.push(e.statementConnection_),e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t)},saveConnections:function(x){for(var f=x.getInputTargetBlock("STACK"),e=1;f;){if("MQTT_add_subscribe_topic"!==f.type)throw"Unknown block type.";var t=this.getInput("DO"+e);f.statementConnection_=t&&t.connection.targetConnection,e++,f=f.nextConnection&&f.nextConnection.targetBlock()}},rebuildShape_:function(){for(var x=[null],f=1;this.getInput("DummyInput"+f);){var e=this.getInput("DO"+f);x.push(e.connection.targetConnection),f++}this.updateShape_(),this.reconnectChildBlocks_(x)},updateShape_:function(){for(var x=1;this.getInput("DummyInput"+x);)this.removeInput("DummyInput"+x),this.removeInput("DO"+x),x++;for(x=1;x<=this.elseifCount_;x++)this.appendDummyInput("DummyInput"+x).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(K.Msg.MQTT_Topic+K.Msg.MQTT_subscribe2).appendField(new K.FieldTextInput("Topic_"+x,ks),"Topic_"+x),this.appendStatementInput("DO"+x).appendField(K.Msg.CONTROLS_IF_MSG_THEN)},reconnectChildBlocks_:function(x){for(var f=1;f<=this.elseifCount_;f++)x[f]&&x[f].reconnect(this,"DO"+f)}},Ws={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.MIXLY_EMQX_SUBSCRIBE+K.Msg.MQTT_Topic),this.appendStatementInput("STACK"),this.contextMenu=!1}},Hs={init:function(){this.appendDummyInput().appendField(K.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST),this.appendValueInput("api").setCheck(null).appendField(K.Msg.blynk_SERVER_ADD),this.appendStatementInput("success").setCheck(null).appendField(K.Msg.MIXLY_SUCCESS),this.appendStatementInput("failure").setCheck(null).appendField(K.Msg.MIXLY_FAILED),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip("")}},zs={init:function(){this.setColour(0),this.appendDummyInput().appendField(K.Msg.blynk_smartconfig).appendField(new K.FieldDropdown([["SmartConfig","SmartConfig"],["AP","AP"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.MQTT_TEST_TOOLTIP)}},Ks={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(244),25,25,"*")).appendField(K.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(K.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+":").appendField(new K.FieldDropdown([["STA","STA"],["AP","AP"]]),"mode"),this.appendValueInput("SSID").setCheck(null).appendField("WIFI "+K.Msg.HTML_NAME),this.appendValueInput("PSK").setCheck(null).appendField("WIFI "+K.Msg.HTML_PASSWORD),this.appendValueInput("IP1").setCheck(null).appendField(K.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(K.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(K.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(K.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},Zs={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(244),25,25,"*")).appendField(K.Msg.MIXLY_SETUP+" UDP WIFI"),this.appendDummyInput().appendField(K.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE+": AP+STA"),this.appendValueInput("SSID1").setCheck(null).appendField("WIFI "+K.Msg.HTML_NAME+"(STA)"),this.appendValueInput("SSID2").setCheck(null).appendField("WIFI "+K.Msg.HTML_NAME+"(AP)"),this.appendValueInput("PSK1").setCheck(null).appendField("WIFI "+K.Msg.HTML_PASSWORD+"(STA)"),this.appendValueInput("PSK2").setCheck(null).appendField("WIFI "+K.Msg.HTML_PASSWORD+"(AP)"),this.appendValueInput("IP1").setCheck(null).appendField(K.Msg.MIXLY_WIFI_LINK_DEVICE+" IP1"),this.appendValueInput("IP2").setCheck(null).appendField(K.Msg.MIXLY_WIFI_LINK_DEVICE+" IP2"),this.appendValueInput("IP").setCheck(null).appendField(K.Msg.MIXLY_ESP32_BLUETOOTH_FLAG+" IP"),this.appendValueInput("duankou").setCheck(null).appendField(K.Msg.MIXLY_ETHERNET_CLINET_PORT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setHelpUrl("")}},js={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(244),25,25,"*")).appendField(K.Msg.CONTROLS_IF_MSG_IF+" WIFI UDP "+K.Msg.MIXLY_STM32_SPI_DATA_RECEIVED+"?"),this.appendValueInput("input_data").setCheck(null).appendField(K.Msg.PROCEDURES_CALL_BEFORE_PARAMS),this.appendDummyInput().appendField("("+K.Msg.LANG_MATH_STRING+")"),this.appendStatementInput("do").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},Js={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(244),25,25,"*")).appendField("WIFI UDP "+K.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(null),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},qs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(K.Msg.WeatherGet).appendField(new K.FieldTextInput("北京"),"data").appendField("1","check"),this.setOutput(!0,Boolean),this.setTooltip("输入正确的城市名(不用带“市”字)如:深圳 北京 广州,如果错误会显示'error'刷新成功则返回true\n天气接口优化注意:\n1. 接口每 8 小时更新一次,机制是 CDN 缓存 8 小时更新一次。注意:自己做缓存。\n2. 接口采用城市 ID 来精准查询请求,省份不能直接查询天气。\n3.每分钟阈值为 300 次,如果超过会禁用一天。请谨慎使用。")}},Qs={init:function(){this.setColour(0),this.appendDummyInput("").appendField(K.Msg.WeatherGetToday).appendField(new K.FieldDropdown([[K.Msg.MIXLY_Humidity,"0"],["PM2.5","1"],["PM1.0","2"],[K.Msg.TodayQuality,"3"],[K.Msg.MIXLY_TEMPERATURE,"4"]]),"type"),this.setOutput(!0,Number),this.setTooltip("返回对应数据 字符串型。")}},$s={init:function(){this.setColour(0),this.appendDummyInput("").appendField(K.Msg.WeatherGetForecast).appendField(new K.FieldDropdown([[K.Msg.MIXLY_GPS_DATE,"ForecastDate"],[K.Msg.ForecastHigh,"ForecastHigh"],[K.Msg.ForecastLow,"ForecastLow"],[K.Msg.ForecastYmd,"ForecastYmd"],[K.Msg.MIXLY_WEEK,"ForecastWeek"],[K.Msg.ForecastAqi,"ForecastAqi"],[K.Msg.ForecastFx,"ForecastFx"],[K.Msg.ForecastFl,"ForecastFl"],[K.Msg.ForecastType,"ForecastType"]]),"type"),this.appendValueInput("date",Number).appendField(K.Msg.MIXLY_GPS_DATE+"(0~14)"),this.setOutput(!0,Number),this.setTooltip("返回预报天气内容0表示当天,最大为14,字符串型。"),this.setInputsInline(!0)}},xa={init:function(){this.appendDummyInput().appendField(K.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("server").setCheck(null).appendField(K.Msg.blynk_SERVER_ADD),this.appendValueInput("port").setCheck(null).appendField(K.Msg.MIXLY_EMQX_PORT),this.appendValueInput("mqtt_username").setCheck(null).appendField(K.Msg.MIXLY_WIFI_USERNAME),this.appendValueInput("mqtt_password").setCheck(null).appendField(K.Msg.MIXLY_WIFI_PASSWORD),this.appendValueInput("project").setCheck(null).appendField(K.Msg.MIXLY_EMQX_PROJECT),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},fa={init:function(){this.appendDummyInput().appendField(K.Msg.USE_MIXLY_KEY).appendField(new K.FieldTextInput("1RFOH08C"),"key").appendField(K.Msg.CONNECT_TO_MIXIO).appendField(K.Msg.blynk_SERVER_ADD).appendField(new K.FieldTextInput("mixio.mixly.cn"),"server"),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},ea={init:function(){this.appendValueInput("data").setCheck(null).appendField(K.Msg.MQTT_SEND_MESSAGE),this.appendValueInput("topic").setCheck(null).appendField(K.Msg.TO_TOPIC),this.appendDummyInput().appendField(new K.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},ta={init:function(){this.appendValueInput("topic").setCheck(null).appendField(K.Msg.WHEN_THE_SUBJECT_IS_RECEIVED),this.appendDummyInput().appendField(K.Msg.MIXLY_MICROBIT_MSG).appendField(new K.FieldDropdown([["MixIO","1"],["Mixly Key","2"]]),"mode"),this.appendStatementInput("function").setCheck(null),this.setPreviousStatement(!1,null),this.setNextStatement(!1,null),this.setColour(170),this.setTooltip(""),this.setHelpUrl("")}},ia={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(810),15,15,{alt:"*",flipRtl:"FALSE"})).appendField("ElegantOTA"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(120),this.setTooltip("http://ip/update"),this.setHelpUrl("")}},na="#777777",sa={init:function(){this.setColour(na),this.appendDummyInput("").appendField("#include <").appendField(new K.FieldTextInput("Test"),"INCLUDE").appendField(".h>"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aa={init:function(){this.setColour(na),this.appendDummyInput("").appendField(new K.FieldTextInput("function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new K.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var x=document.createElement("mutation");x.setAttribute("items",this.itemCount_);for(var f=0;f0&&x","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(uc),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new K.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{EQ:K.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:K.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:K.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:K.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:K.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:K.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[x]})),this.prevBlocks_=[null,null]}},hc={init:function(){var x=[[K.Msg.LOGIC_OPERATION_AND,"AND"],[K.Msg.LOGIC_OPERATION_OR,"OR"]];this.setColour(uc),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new K.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{AND:K.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:K.Msg.LOGIC_OPERATION_TOOLTIP_OR}[x]}))}},Fc={init:function(){this.setColour(uc),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(K.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(K.Msg.LOGIC_NEGATE_TOOLTIP)}},Ac={init:function(){var x=[[K.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[K.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(uc),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new K.FieldDropdown(x),"BOOL"),this.setTooltip(K.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Ic={init:function(){this.setColour(uc),this.setOutput(!0),this.appendDummyInput().appendField(K.Msg.LOGIC_NULL),this.setTooltip(K.Msg.LOGIC_NULL_TOOLTIP)}},gc={init:function(){this.setColour(uc),this.appendValueInput("A"),this.appendValueInput("B").appendField(K.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(K.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Ec=230;K.FieldTextInput.math_number_validator=function(x){return String(x)};const Mc={init:function(){this.setColour(Ec),this.appendDummyInput().appendField(new K.FieldTextInput("0",K.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(K.Msg.MATH_NUMBER_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id2")}},Tc={init:function(){var x=[[K.Msg.MATH_ADDITION_SYMBOL,"ADD"],[K.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[K.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[K.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[K.Msg.MATH_QUYU_SYMBOL,"QUYU"],[K.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setColour(Ec),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(null),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id4"),this.appendValueInput("B").setCheck(null).appendField(new K.FieldDropdown(x),"OP"),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{ADD:K.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:K.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:K.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:K.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:K.Msg.MATH_MODULO_TOOLTIP,POWER:K.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[x]}))}},mc={init:function(){this.setColour(Ec),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new K.FieldDropdown([["&","&"],["|","|"],["xor","^"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id8")}},Cc={init:function(){this.setColour(Ec),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new K.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"],["++","++"],["--","--"],["~","~"]]),"OP");var x=this;this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id17"),this.setTooltip((function(){var f=x.getFieldValue("OP");return{SIN:K.Msg.MATH_TRIG_TOOLTIP_SIN,COS:K.Msg.MATH_TRIG_TOOLTIP_COS,TAN:K.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:K.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:K.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:K.Msg.MATH_TRIG_TOOLTIP_ATAN}[f]}))}},Oc={init:function(){var x=[[K.Msg.LANG_MATH_TO_ROUND,"round"],[K.Msg.LANG_MATH_TO_CEIL,"ceil"],[K.Msg.LANG_MATH_TO_FLOOR,"floor"],[K.Msg.MATH_ABS,"abs"],[K.Msg.MATH_SQ,"sq"],[K.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ec),this.appendValueInput("A").setCheck(Number).appendField(new K.FieldDropdown(x),"OP"),this.setOutput(!0,Number),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#id18");var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{sqrt:K.Msg.MATH_SINGLE_TOOLTIP_ROOT,abs:K.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:K.Msg.MATH_SINGLE_TOOLTIP_SQ,log:K.Msg.MATH_SINGLE_TOOLTIP_LN,round:K.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:K.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:K.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[x]}))}},Sc={init:function(){var x=[[K.Msg.LANG_MATH_INT,"int"],[K.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[K.Msg.LANG_MATH_WORD,"word"],[K.Msg.LANG_MATH_LONG,"long"],[K.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[K.Msg.LANG_MATH_FLOAT,"float"],[K.Msg.LANG_MATH_DOUBLE,"double"],[K.Msg.LANG_MATH_BOOLEAN,"boolean"],[K.Msg.LANG_MATH_BYTE,"byte"],[K.Msg.LANG_MATH_CHAR,"char"],[K.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[K.Msg.LANG_MATH_STRING,"String"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];this.appendDummyInput().appendField(new K.FieldDropdown(x),"variate_type"),this.setOutput(!0,null),this.setColour(Ec),this.setTooltip(""),this.setHelpUrl("")}},Rc={init:function(){this.appendValueInput("data").setCheck(null).appendField(K.Msg.MIXLY_GET+" "+K.Msg.MIXLY_I2C_BYTES),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Ec),this.setTooltip(""),this.setHelpUrl("")}},Dc={init:function(){var x=[[K.Msg.MIXLY_MAX,"max"],[K.Msg.MIXLY_MIN,"min"]];this.setColour(Ec),this.appendValueInput("A").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(new K.FieldDropdown(x),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(K.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#min-max"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("OP");return{max:K.Msg.MIXLY_TOOLTIP_MATH_MAX,min:K.Msg.MIXLY_TOOLTIP_MATH_MIN}[x]}))}},Nc={init:function(){this.setColour(Ec),this.appendValueInput("NUM").setCheck(Number).appendField(K.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#randomseed")}},Lc={init:function(){this.setColour(Ec),this.setOutput(!0,Number),this.appendValueInput("FROM").setCheck(Number).appendField(K.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0),this.setTooltip(K.Msg.MATH_RANDOM_INT_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#random")}},Pc={init:function(){this.setColour(Ec),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(K.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(K.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(K.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(K.Msg.MATH_CONSTRAIN_TOOLTIP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#constrain")}},yc={init:function(){this.setColour(Ec),this.appendValueInput("NUM",Number).appendField(K.Msg.MIXLY_MAP).appendField(new K.FieldDropdown([[K.Msg.LANG_MATH_INT,"map_int"],[K.Msg.LANG_MATH_FLOAT,"map_float"]]),"maptype").setCheck(Number),this.appendValueInput("fromLow",Number).appendField(K.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(K.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_MATH_MAP),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/04.Mathematics.html#map")}},bc={init:function(){this.setColour(Ec),this.appendValueInput("variables").setCheck(null),this.appendValueInput("data").setCheck(null).appendField(new K.FieldDropdown([["+=","+"],["-=","-"],["*=","*"],["/=","/"]]),"type"),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl("")}},vc={init:function(){this.appendValueInput("math_auto_add_minus_output").setCheck(null),this.appendDummyInput().appendField(new K.FieldDropdown([["++","++"],["--","--"]]),"math_auto_add_minus_type"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ec),this.setTooltip(""),this.setHelpUrl("")}},wc=230,Yc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.digital),"PIN"),this.setOutput(!0,Number)}},Vc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.analog),"PIN"),this.setOutput(!0,Number)}},kc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.pwm),"PIN"),this.setOutput(!0,Number)}},Xc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.interrupt),"PIN"),this.setOutput(!0,Number)}},Gc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.MOSI),"PIN"),this.setOutput(!0,Number)}},Bc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.MISO),"PIN"),this.setOutput(!0,Number)}},Uc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.SCK),"PIN"),this.setOutput(!0,Number)}},Wc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.SCL),"PIN"),this.setOutput(!0,Number)}},Hc={init:function(){this.setColour(wc),this.appendDummyInput("").appendField(new K.FieldDropdown(Z.Profile.default.SDA),"PIN"),this.setOutput(!0,Number)}},zc=290,Kc={init:function(){var x=K.Procedures.findLegalName("",this),f=new K.FieldTextInput(x,K.Procedures.rename);f.setSpellcheck(!1),this.appendDummyInput().appendField(K.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(f,"NAME").appendField("","PARAMS"),this.setMutator(new K.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&K.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(K.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(K.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(K.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentstype_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(x){this.hasStatements_!==x&&(x?(this.appendStatementInput("STACK").appendField(K.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=x)},updateParams_:function(){var x="";this.arguments_.length&&(x=K.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),K.Events.disable();try{this.setFieldValue(x,"PARAMS")}finally{K.Events.enable()}},mutationToDom:function(x){var f=K.utils.xml.createElement("mutation");x&&f.setAttribute("name",this.getFieldValue("NAME"));for(var e=0;e1&&"\\"===x.charAt(0)){var f=x.charAt(1);if("0"===f||"b"===f||"f"===f||"n"===f||"r"===f||"t"===f||"\\"===f||"'"===f)return String(x).substring(0,2);if("x"===f&&"0"===x.charAt(2)&&"B"===x.charAt(3))return String(x).substring(0,4)}return String(x).substring(0,1)};const zd={init:function(){this.setColour(Wd),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new K.FieldTextInput("",K.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(K.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(x){if(1==x)var f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKlJREFUGNNVkD0LwkAMhlNsnUvBH+DmKnXoeODgWgXBsaOj+AGuVfTys8318l7OTA/hTe7JEWmVNwekA/fAHfNSsVoxew0/mfkbeSvo6wkLSbx0tJH2XdPS/pClsfxs7TA5WOQNl5M9X3bMF8RlS608z+JhFOZNMowybftw4GDvjHmTsc84PJJ4iPbgWcZVxuEUMHXKvS2dZHVgxJHpV4qr4Brei+Oe/usHT1JfDpNGeM0AAAAASUVORK5CYII=";else f="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkBAMAAAB/KNeuAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAbUExURQAAAP///////////////////////////////+tNPsIAAAAIdFJOUwAe1q4KRGaFPS0VAQAAAKpJREFUGNNV0bEKAjEMBuActOd6KIKrg+h4cII3Cg6u5yA6Ot4DONxcUfPYJmnaxn/6KEmaUoD/LK+XxAUibhuhR85bvBLjQHR99DqXIL7ItTo0xdyQ3RrvjWlQZQyT8cnYjcXgbl2XzBmNe5kv4WUfar6kUc9o56N6nh4Zy1NrHZ8iuSN+lB5LCR0HnXIuy/hd7qymUs3bf7WajsNQrn9CHr7Jn+IOaUH4ATxJW2wDnL5kAAAAAElFTkSuQmCC";return new K.FieldImage(f,7,12,'"')}},Kd={init:function(){this.setColour(Wd),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(K.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(K.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Zd={init:function(){var x=[[K.Msg.MIXLY_TO_INT,"toInt"],[K.Msg.MIXLY_TO_FLOAT,"toFloat"]];this.setColour(Wd),this.appendValueInput("VAR").setCheck([String,Number]).appendField(new K.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,Number);var f=this;this.setTooltip((function(){var x=f.getFieldValue("TOWHAT");return{toInt:K.Msg.MIXLY_TOOLTIP_TEXT_TOINT,toFloat:K.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[x]}))}},jd={init:function(){this.setColour(Wd),this.appendValueInput("VAR").setCheck(Number).appendField(K.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(K.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jd={init:function(){this.setColour(Wd),this.appendDummyInput().appendField(K.Msg.MIXLY_TOASCII).appendField("'").appendField(new K.FieldTextInput("",K.FieldTextInput.char_validator),"TEXT").appendField("'"),this.setOutput(!0,Number),this.setTooltip(K.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},qd={init:function(){var x=[[K.Msg.MATH_BIN,"BIN"],[K.Msg.MATH_OCT,"OCT"],[K.Msg.MATH_DEC,"DEC"],[K.Msg.MATH_HEX,"HEX"]];this.setColour(Wd),this.appendValueInput("VAR").setCheck(Number).appendField(K.Msg.MIXLY_TOSTRING).appendField(new K.FieldDropdown(x),"TOWHAT"),this.setOutput(!0,String),this.setTooltip(K.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},Qd={init:function(){this.setColour(Wd),this.appendValueInput("VAR").setCheck(Number).appendField(K.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(K.Msg.MIXLY_TOOLTIP_TEXT_TOTEXT)}},$d={init:function(){this.setColour(Wd),this.appendValueInput("VAR").appendField(K.Msg.MIXLY_LENGTH).setCheck(String),this.setOutput(!0,Number),this.setTooltip(K.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},xp={init:function(){this.setColour(Wd),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").appendField(K.Msg.TEXT_CHARAT).setCheck(Number),this.appendDummyInput().appendField(K.Msg.TEXT_CHARAT2),this.setOutput(!0,Number),this.setInputsInline(!0);var x=this;this.setTooltip((function(){return K.Msg.MIXLY_TOOLTIP_TEXT_FIND_CHAR_AT.replace("%1",K.Arduino.valueToCode(x,"VAR",K.Arduino.ORDER_ATOMIC))}))}},fp={init:function(){var x=[[K.Msg.MIXLY_EQUALS,"equals"],[K.Msg.MIXLY_STARTSWITH,"startsWith"],[K.Msg.MIXLY_ENDSWITH,"endsWith"]];this.setColour(Wd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(new K.FieldDropdown(x),"DOWHAT").setCheck([String,Number]),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0);var f=this;this.setTooltip((function(){var x=f.getFieldValue("DOWHAT"),e={equals:K.Msg.MIXLY_EQUALS,startsWith:K.Msg.MIXLY_STARTSWITH,endsWith:K.Msg.MIXLY_ENDSWITH};return K.Msg.MIXLY_TOOLTIP_TEXT_EQUALS_STARTS_ENDS.replace("%1",e[x]).replace("%2",K.Arduino.valueToCode(f,"STR2",K.Arduino.ORDER_ATOMIC))}))}},ep={init:function(){this.setColour(Wd),this.appendValueInput("STR1").setCheck([String,Number]),this.appendValueInput("STR2").appendField(K.Msg.MIXLY_COMPARETO).setCheck([String,Number]),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(K.Msg.MIXLY_COMPARETO_HELP)}},tp={init:function(){this.setColour(Wd),this.appendValueInput("numeral").setCheck(null).appendField(K.Msg.LANG_MATH_FLOAT),this.appendValueInput("decimal_places").setCheck(null).appendField(K.Msg.TEXT_KEEP),this.appendDummyInput().appendField(K.Msg.TEXT_DECIMAL),this.setOutput(!0,null),this.setTooltip(K.Msg.DECIMAL_PLACES_HELP),this.setHelpUrl("")}},ip={init:function(){this.appendValueInput("name").setCheck(null),this.appendValueInput("Start").setCheck(null).appendField(K.Msg.LISTS_GET_INDEX_GET),this.appendValueInput("end").setCheck(null).appendField(K.Msg.TEXT_TO),this.appendDummyInput().appendField(K.Msg.LANG_MATH_STRING),this.setOutput(!0,null),this.setColour(Wd),this.setTooltip(K.Msg.SUBSTRING_HELP),this.setHelpUrl("")}},np={init:function(){this.appendValueInput("String").setCheck(null).appendField(K.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(K.Msg.LETTERS_ARE_CONVERTED_TO).appendField(new K.FieldDropdown([[K.Msg.CAPITAL,".toUpperCase()"],[K.Msg.LOWER_CASE,".toLowerCase()"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wd),this.setTooltip(K.Msg.LETTER_CONVERSION_HELP),this.setHelpUrl("")}},sp={init:function(){this.appendValueInput("String").setCheck(null).appendField(K.Msg.STRING_VARIABLE),this.appendValueInput("source_data").setCheck(null).appendField(K.Msg.LANG_MATH_STRING),this.appendValueInput("replace").setCheck(null).appendField(K.Msg.REPLACE_WITH),this.appendDummyInput(),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wd),this.setTooltip(K.Msg.DATA_REPLACEMENT_HELP),this.setHelpUrl("")}},ap={init:function(){this.appendValueInput("String").setCheck(null).appendField(K.Msg.STRING_VARIABLE),this.appendDummyInput().appendField(K.Msg.ELIMINATE_NON_VISUAL_CHARACTERS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Wd),this.setTooltip(K.Msg.ELIMINATE_HELP),this.setHelpUrl("")}},cp={init:function(){this.appendValueInput("String").setCheck(null).appendField(K.Msg.LANG_MATH_STRING),this.appendValueInput("String1").setCheck(null).appendField(K.Msg.AS_A_STRING),this.appendDummyInput().appendField(new K.FieldDropdown([[K.Msg.STARTSWITH,".startsWith"],[K.Msg.ENDSWITH,".endsWith"]]),"type"),this.setOutput(!0,null),this.setColour(Wd),this.setTooltip(K.Msg.FIRST_AND_LAST_HELP),this.setHelpUrl("")}},lp={init:function(){this.appendValueInput("variable").setCheck(null).appendField(K.Msg.DATA_TYPE_CONVERSION).appendField(new K.FieldDropdown([[K.Msg.LANG_MATH_STRING,"String"],[K.Msg.LANG_MATH_CHAR,"char"],[K.Msg.LANG_MATH_BYTE,"byte"],[K.Msg.LANG_MATH_INT,"int"],[K.Msg.LANG_MATH_LONG,"long"],[K.Msg.LANG_MATH_FLOAT,"float"],[K.Msg.LANG_MATH_WORD,"word"]]),"type"),this.setOutput(!0,null),this.setColour(Wd),this.setTooltip(K.Msg.TYPE_CONVERSION_HELP),this.setHelpUrl("")}},dp={init:function(){this.setColour(Wd),this.appendDummyInput().appendField(K.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pp={init:function(){this.setColour(Wd),this.appendDummyInput().appendField(K.Msg.HTML_TEXT),this.appendStatementInput("STACK"),this.setTooltip(""),this.contextMenu=!1}},op={init:function(){this.appendValueInput("str1").setCheck(null),this.appendDummyInput().setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.PROCEDURES_DEFRETURN_RETURN),this.appendValueInput("str2").setCheck(null),this.appendDummyInput().setAlign(K.inputs.Align.RIGHT).appendField(K.Msg.SERIES_INDEX),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(160),this.setTooltip(),this.setHelpUrl("")}},rp={init:function(){this.setColour(Wd),this.appendDummyInput("").appendField(K.Msg.MIXLY_TEXT_JOIN+K.Msg.MIXLY_MICROBIT_TYPE_STRING),this.itemCount_=3,this.updateShape_(),this.setInputsInline(!0),this.setOutput(!0,null),this.setMutator(new K.icons.MutatorIcon(["create_with_item"],this)),this.setTooltip("")},mutationToDom:function(){var x=K.utils.xml.createElement("mutation");return x.setAttribute("items",this.itemCount_),x},domToMutation:function(x){this.itemCount_=parseInt(x.getAttribute("items"),10),this.updateShape_()},decompose:function(x){var f=x.newBlock("create_with_container");f.initSvg();for(var e=f.getInput("STACK").connection,t=0;t0&&(f.setAlign(K.inputs.Align.RIGHT),f.appendField("+"))}}},up={init:function(){this.appendDummyInput().appendField(K.Msg.ARDUINOJSON_STRING_PARSING),this.appendDummyInput("").appendField(new K.FieldMultilineInput('const size_t capacity = JSON_ARRAY_SIZE(3) + 10;\nDynamicJsonBuffer jsonBuffer(capacity);\nconst char* json = "[\\"0\\",\\"74\\",\\"134\\"]";\nJsonArray& root = jsonBuffer.parseArray(json);\nconst char* root_0 = root[0]; // "0"\nconst char* root_1 = root[1]; // "74"\nconst char* root_2 = root[2]; // "134"'),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(120),this.setTooltip(K.Msg.ARDUINOJSON_STRING_PARSING1),this.setHelpUrl("https://arduinojson.org/v5/assistant/")}},_p={init:function(){this.appendValueInput("data").setCheck(null).appendField(K.Msg.MIXLY_MICROBIT_TYPE_STRING+K.Msg.A_TO_B+K.Msg.LANG_MATH_LONG).appendField(new K.FieldDropdown([[K.Msg.MATH_HEX,"16"],[K.Msg.MATH_DEC,"10"],[K.Msg.MATH_OCT,"8"],[K.Msg.MATH_BIN,"2"],[K.Msg.blynk_IOT_AUTO,"0"]]),"type"),this.setOutput(!0,null),this.setColour(Wd),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/lizhengze1117/article/details/103318662?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.base")}},hp="#555555",Fp={init:function(){this.setColour(hp),this.appendDummyInput("").appendField(K.Msg.MIXLY_CONTROL_NOTES).appendField(new K.FieldMultilineInput(""),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ap={init:function(){this.setColour(hp),this.appendDummyInput().appendField(new K.FieldTextInput(K.Msg.FOLDING_BLOCK),"peien"),this.appendStatementInput("DO").appendField(""),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(K.Msg.FOLDING_BLOCK_HELP)}},Ip={init:function(){this.setColour(hp),this.appendDummyInput("").appendField(K.Msg.IICSCAN),this.setInputsInline(!0),this.setTooltip("")}},gp={init:function(){this.setColour(260),this.appendDummyInput("").appendField(K.Msg.OLED_BITMAP_NAME).appendField(new K.FieldTextInput("mylist"),"VAR").appendField("[").appendField(new K.FieldTextInput("3"),"x").appendField("]"),this.appendDummyInput("").appendField(K.Msg.SAVETO+" flash").appendField(new K.FieldCheckbox("true"),"save_hz"),this.appendValueInput("input_data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Ep={init:function(){this.appendDummyInput().appendField("点阵格式").appendField(new K.FieldDropdown([["阴码","1"],["阳码","2"]]),"bitmap_formats").appendField(" 取模方式").appendField(new K.FieldDropdown([["逐列式","1"],["逐行式","2"],["列行式","3"],["行列式","4"]]),"modulus_way").appendField(" 取模走向").appendField(new K.FieldDropdown([["顺向(高位在前)","1"],["逆向(低位在前)","2"]]),"modulus_direction"),this.appendDummyInput().appendField(K.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new K.FieldDropdown([["华文黑体","STHeiti"],["华文楷体","STKaiti"],["华文细黑","STXihei"],["华文宋体","STSong"],["华文中宋","STZhongsong"],["华文仿宋","STFangsong"],["华文彩云","STCaiyun"],["华文琥珀","STHupo"],["华文隶书","STLiti"],["华文行楷","STXingkai"],["华文新魏","STXinwei"],["黑体","simHei"],["宋体","simSun"],["新宋体","NSimSun"],["仿宋","FangSong"],["楷体","KaiTi"],["仿宋_GB2312","FangSong_GB2312"],["楷体_GB2312","KaiTi_GB2312"],["隶书","LiSu"],["幼圆","YouYuan"],["新细明体","PMingLiU"],["细明体","MingLiU"],["标楷体","DFKai-SB"],["微软正黑体","Microsoft JhengHei"],["微软雅黑体","Microsoft YaHei"]]),"hz_sharp").appendField(K.Msg.MIXLY_TURTLE_WRITE_FONT_NUM).appendField(new K.FieldTextInput("16"),"hz_line_height").appendField("px").appendField(K.Msg.MIXLY_WIDTH).appendField(new K.FieldTextInput("16"),"bitmap_width").appendField("px "+K.Msg.MIXLY_HEIGHT).appendField(new K.FieldTextInput("16"),"bitmap_height").appendField("px"),this.appendDummyInput().appendField("输入数据").appendField(new K.FieldTextInput(""),"input_data"),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(180),this.setTooltip(""),this.setHelpUrl("")}},Mp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(533),525,372,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Tp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(711),525,368,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},mp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(775),525,736,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Cp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(169),525,371,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Op={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(945),525,371,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Sp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(741),525,376,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Rp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(624),525,376,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Dp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(392),500,376,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Np={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(288),500,350,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Lp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(101),525,346,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},Pp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(319),525,264,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl()}},yp={init:function(){this.appendDummyInput().appendField(new K.FieldImage(e(715),525,376,"*")),this.setColour(hp),this.setTooltip(),this.setHelpUrl("https://blog.csdn.net/xatsoft/article/details/90687016?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase")}},bp={init:function(){this.appendDummyInput().appendField(K.Msg.GET_THE_DIFFERENCE_BETWEEN_TWO_DATES),this.appendValueInput("year_start").setCheck(null).appendField(K.Msg.START+K.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_start").setCheck(null).appendField(K.Msg.START+K.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_start").setCheck(null).appendField(K.Msg.START+K.Msg.MIXLY_GPS_DATE_DAY),this.appendValueInput("year_end").setCheck(null).appendField(K.Msg.END+K.Msg.MIXLY_GPS_DATE_YEAR),this.appendValueInput("month_end").setCheck(null).appendField(K.Msg.END+K.Msg.MIXLY_GPS_DATE_MONTH),this.appendValueInput("day_end").setCheck(null).appendField(K.Msg.END+K.Msg.MIXLY_GPS_DATE_DAY),this.setOutput(!0,null),this.setColour(hp),this.setTooltip(""),this.setHelpUrl("https://blog.csdn.net/a_ran/article/details/43601699?utm_source=distribute.pc_relevant.none-task")}};var vp=[["D0","16"],["D1","5"],["D2","4"],["D3","0"],["D4","2"],["D5","14"],["D6","12"],["D7","13"],["D8","15"],["RX","3"],["TX","1"],["A0","A0"],["SD3","10"],["SD2","9"]];const wp={init:function(){this.appendDummyInput().appendField("ESP8266 GPIO").appendField(new K.FieldDropdown(vp),"pin"),this.setOutput(!0,null),this.setColour(hp),this.setTooltip(""),this.setHelpUrl("")}},Yp=330;var Vp=[[K.Msg.LANG_MATH_INT,"int"],[K.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[K.Msg.LANG_MATH_WORD,"word"],[K.Msg.LANG_MATH_LONG,"long"],[K.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[K.Msg.LANG_MATH_FLOAT,"float"],[K.Msg.LANG_MATH_DOUBLE,"double"],[K.Msg.LANG_MATH_BOOLEAN,"boolean"],[K.Msg.LANG_MATH_BYTE,"byte"],[K.Msg.LANG_MATH_CHAR,"char"],[K.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[K.Msg.LANG_MATH_STRING,"String"],["char*","char*"],["uint8_t","uint8_t"],["uint16_t","uint16_t"],["uint32_t","uint32_t"],["uint64_t","uint64_t"]];const kp={init:function(){this.setColour(Yp),this.appendValueInput("VALUE",null).appendField(K.Msg.MIXLY_DECLARE).appendField(new K.FieldDropdown([[K.Msg.MIXLY_GLOBAL_VARIABLE,"global_variate"],[K.Msg.MIXLY_LOCAL_VARIABLE,"local_variate"]]),"variables_type").appendField(new K.FieldTextInput("item"),"VAR").appendField(K.Msg.MIXLY_AS).appendField(new K.FieldDropdown(Vp),"TYPE").appendField(K.Msg.MIXLY_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_VARIABLES_DECLARE)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){K.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Xp={init:function(){this.setColour(Yp),this.appendDummyInput().appendField(new K.FieldTextInput("item"),"VAR"),this.setOutput(!0),this.setTooltip(K.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){K.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Gp={init:function(){this.setColour(Yp),this.appendValueInput("VALUE").appendField(new K.FieldTextInput("item"),"VAR").appendField(K.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(K.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(x,f){K.Names.equals(x,this.getFieldValue("VAR"))&&this.setFieldValue(f,"VAR")}},Bp={init:function(){this.setColour(Yp);var x=[[K.Msg.LANG_MATH_INT,"int"],[K.Msg.LANG_MATH_UNSIGNED_INT,"unsigned int"],[K.Msg.LANG_MATH_WORD,"word"],[K.Msg.LANG_MATH_LONG,"long"],[K.Msg.LANG_MATH_UNSIGNED_LONG,"unsigned long"],[K.Msg.LANG_MATH_FLOAT,"float"],[K.Msg.LANG_MATH_DOUBLE,"double"],[K.Msg.LANG_MATH_BOOLEAN,"boolean"],[K.Msg.LANG_MATH_BYTE,"byte"],[K.Msg.LANG_MATH_CHAR,"char"],[K.Msg.LANG_MATH_UNSIGNED_CHAR,"unsigned char"],[K.Msg.LANG_MATH_STRING,"String"]];this.appendValueInput("MYVALUE").appendField(new K.FieldDropdown(x),"OP"),this.setOutput(!0),this.setTooltip(K.Msg.MIXLY_TOOLTIP_VARIABLES_CHANGE)}},Up=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),i=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".write("+t+");\ndelay("+i+");\n"},Wp=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");","servo_"+e+".writeMicroseconds("+t+");\n"},Hp=function(x,f){var e=this.getFieldValue("PIN");return f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+e]="Servo servo_"+e+";",f.setups_["setup_servo_"+e]="servo_"+e+".attach("+e+");",["servo_"+e+".read()",f.ORDER_ATOMIC]},zp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC),n=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"0";return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".write("+i+");\ndelay("+n+");\n"},Kp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN"),i=f.valueToCode(this,"DEGREE",f.ORDER_ATOMIC);return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");","servo_"+t+".writeMicroseconds("+i+");\n"},Zp=function(x,f){var e=this.getFieldValue("mode"),t=this.getFieldValue("PIN");return 0==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Servo servo_"+t+";"),1==e&&(f.definitions_.include_Servo="#include ",f.definitions_["var_declare_servo"+t]="Timer2Servo servo_"+t+";"),f.setups_["setup_servo_"+t]="servo_"+t+".attach("+t+");",["servo_"+t+".read()",f.ORDER_ATOMIC]},jp=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},Jp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i="";return window.isNaN(e)?i=i+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",i+="tone("+e+","+t+");\n"},qp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t="";return window.isNaN(e)?t=t+"pinMode("+e+", OUTPUT);\n":f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",t+="noTone("+e+");\n"},Qp=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"FREQUENCY",f.ORDER_ASSIGNMENT)||"0",i=f.valueToCode(this,"DURATION",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_NewTone="#include ",f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewTone("+e+","+t+","+i+");\n"},$p=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);","NewNoTone("+e+");\n"},xo=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),K.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"steps",f.ORDER_ATOMIC),s=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+n+","+t+","+i+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+s+");",""},fo=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),K.Variables.NAME_TYPE),t=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),n=f.valueToCode(this,"PIN3",f.ORDER_ATOMIC),s=f.valueToCode(this,"PIN4",f.ORDER_ATOMIC),a=f.valueToCode(this,"steps",f.ORDER_ATOMIC),c=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",f.definitions_["var_declare_stepper"+e]="Stepper "+e+"("+a+","+t+","+i+","+n+","+s+");",f.setups_["setup_stepper"+e]=e+".setSpeed("+c+");",""},eo=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),K.Variables.NAME_TYPE),t=f.valueToCode(this,"step",f.ORDER_ATOMIC);return f.definitions_.include_Stepper="#include ",e+".step("+t+");\n"},to=function(x,f){var e=this.getFieldValue("COLOR");return[e="0x"+e.substring(1,e.length),f.ORDER_NONE]},io=function(x,f){return["(("+f.valueToCode(this,"R",f.ORDER_ATOMIC)+" & 0xffffff) << 16) | (("+f.valueToCode(this,"G",f.ORDER_ATOMIC)+" & 0xffffff) << 8) | "+f.valueToCode(this,"B",f.ORDER_ATOMIC),f.ORDER_NONE]},no=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("TYPE"),i=f.valueToCode(this,"LEDCOUNT",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.definitions_["var_declare_rgb_display"+e]="Adafruit_NeoPixel rgb_display_"+e+" = Adafruit_NeoPixel("+i+","+e+","+t+" + NEO_KHZ800);",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();",""},so=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);return f.definitions_.include_Adafruit_NeoPixel="#include ",f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();","rgb_display_"+e+".setBrightness("+t+");\n"},ao=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"_LED_",f.ORDER_ATOMIC),i=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);return"rgb_display_"+e+".setPixelColor(("+t+")-1, "+(i=i.replace(/#/g,"0x"))+");\n"},co=function(x,f){var e=this.getFieldValue("PIN");return"rgb_display_"+e+".setPixelColor(("+f.valueToCode(this,"_LED_",f.ORDER_ATOMIC)+")-1, rgb_display_"+e+".ColorHSV("+f.valueToCode(this,"H",f.ORDER_ATOMIC)+","+f.valueToCode(this,"S",f.ORDER_ATOMIC)+","+f.valueToCode(this,"V",f.ORDER_ATOMIC)+"));\n"},lo=function(){var x=Z.JSFuncs.getPlatform(),f=this.getFieldValue("PIN"),e="rgb_display_"+f+".show();\n";return x.match(RegExp(/ESP32/))&&(e+="rgb_display_"+f+".show();\n"),e},po=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"WAIT",f.ORDER_ATOMIC);f.setups_["setup_rgb_display_begin_"+e]="rgb_display_"+e+".begin();\n";var i="uint32_t Wheel(byte WheelPos){\n if(WheelPos < 85){\n return rgb_display_"+e+".Color(WheelPos * 3, 255 - WheelPos * 3, 0);\n }\n else if(WheelPos < 170){\n WheelPos -= 85;\n return rgb_display_"+e+".Color(255 - WheelPos * 3, 0, WheelPos * 3);\n }\n else{\n WheelPos -= 170;\n return rgb_display_"+e+".Color(0, WheelPos * 3, 255 - WheelPos * 3);\n }\n}\n";f.definitions_.Wheel=i;var n="void rainbow(uint8_t wait){\n uint16_t i, j;\n for(j=0; j<256; j++){\n for(i=0; i 0) {\n digitalWrite(dirpin1, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin1, HIGH);\n analogWrite(speedpin, -speed);\n }\n}\n";return f.definitions_[n]=s,i},_o=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i="setMotor8833("+e+", "+t+", "+(f.valueToCode(this,"speed",f.ORDER_ASSIGNMENT)||"0")+");\n";f.setups_["setup_output_"+e+t+"_S"]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+e+t+"_D"]="pinMode("+t+", OUTPUT);",f.setups_["setup_output_"+e+t+"_S_W"]="digitalWrite("+e+", LOW);",f.setups_["setup_output_"+e+t+"_D_W"]="digitalWrite("+t+", LOW);";var n="setMotor8833",s="void "+n+"(int speedpin, int dirpin, int speed) {\n if (speed == 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, 0);\n } else if (speed > 0) {\n digitalWrite(dirpin, LOW);\n analogWrite(speedpin, speed);\n } else {\n digitalWrite(dirpin, HIGH);\n analogWrite(speedpin, 255 + speed);\n }\n}\n";return f.definitions_[n]=s,i},ho=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("VOICE"),i=f.valueToCode(this,"WAIT",f.ORDER_ASSIGNMENT)||"0";f.setups_.setup_output_sda="pinMode("+e+", OUTPUT);";var n="send_data("+t+"); //volume control 0xE0-E7;\n";n+="delay("+i+");\n";var s="void send_data(int addr) {\n int i;\n digitalWrite("+e+", LOW);\n delay(3); //>2ms\n for (i = 0; i < 8; i++) {\n digitalWrite("+e+", HIGH);\n if (addr & 1) {\n delayMicroseconds(2400); //>2400us\n digitalWrite("+e+", LOW);\n delayMicroseconds(800);\n } //>800us\n else {\n delayMicroseconds(800); //>800us\n digitalWrite("+e+", LOW);\n delayMicroseconds(2400);\n } //>2400us\n addr >>= 1;\n }\n digitalWrite("+e+", HIGH);\n}\n";return f.definitions_.funcName=s,n},Fo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+"."+i+"\n"},Ao=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("DEVICEID");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setDevice("+i+");\n"},Io=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("LOOP_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setLoopMode("+i+");\n"},go=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=this.getFieldValue("EQ_MODE");return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setEqualizer("+i+");\n"},Eo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"vol",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".setVolume("+i+");\n"},Mo=function(x,f){var e=f.valueToCode(this,"RXPIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"TXPIN",f.ORDER_ATOMIC),i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_GD5800="#include ",f.definitions_["var_declare_GD5800_ mp3"+e+t]="GD5800_Serial mp3"+e+t+"("+e+", "+t+");",f.setups_["setup_ mp3"+e+t]="mp3"+e+t+".begin(9600);","mp3"+e+t+".playFileByIndexNumber("+i+");\n"},To=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor"),t=this.getFieldValue("direction"),i=f.valueToCode(this,"speed",f.ORDER_ATOMIC);return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed("+i+");\n motor"+e+".run("+t+");\n"},mo=function(x,f){f.definitions_.include_AFMotor="#include ";var e=this.getFieldValue("motor");return f.definitions_["var_declare_motor_"+e]="AF_DCMotor motor"+e+"("+e+");"," motor"+e+".setSpeed(0);\n motor"+e+".run(RELEASE);\n"},Co=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"dfplayer_pin",f.ORDER_ATOMIC);f.definitions_.include_Arduino='#include "generator.h"',f.definitions_.include_DFRobotDFPlayerMini='#include "DFRobotDFPlayerMini.h"',f.definitions_["var_declare_DFPlayerMini_"+e]="DFRobotDFPlayerMini "+e+";",f.setups_["setup_DFPlayerMini_"+e]=e+".begin("+t+");";return""},Oo=function(x,f){var e=this.getFieldValue("pin_type");return f.definitions_.include_SoftwareSerial="#include ",[e,f.ORDER_ATOMIC]},So=function(x,f){return this.getFieldValue("dfplayer_name")+".setTimeOut("+f.valueToCode(this,"timeout_data",f.ORDER_ATOMIC)+");\n"},Ro=function(x,f){return this.getFieldValue("dfplayer_name")+".volume("+f.valueToCode(this,"volume_data",f.ORDER_ATOMIC)+");\n"},Do=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("volume_type")+"();\n"},No=function(x,f){return this.getFieldValue("dfplayer_name")+".EQ("+f.valueToCode(this,"eq_data",f.ORDER_ATOMIC)+");\n"},Lo=function(x,f){return[this.getFieldValue("eq_type"),f.ORDER_ATOMIC]},Po=function(x,f){return this.getFieldValue("dfplayer_name")+".outputDevice("+f.valueToCode(this,"outputdevice_data",f.ORDER_ATOMIC)+");\n"},yo=function(x,f){return[this.getFieldValue("outputdevice_type"),f.ORDER_ATOMIC]},bo=function(){return this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("set_data")+"();\n"},vo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"play_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("play_type")+"("+t+");\n"},wo=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"fold_data",f.ORDER_ATOMIC);return e+"."+this.getFieldValue("fold_type")+"("+t+", "+f.valueToCode(this,"play_data",f.ORDER_ATOMIC)+");\n"},Yo=function(x,f){return this.getFieldValue("dfplayer_name")+".loopFolder("+f.valueToCode(this,"fold_data",f.ORDER_ATOMIC)+");\n"},Vo=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("read_type")+"()",f.ORDER_ATOMIC]},ko=function(x,f){var e=this.getFieldValue("dfplayer_name"),t=f.valueToCode(this,"device_type",f.ORDER_ATOMIC);return[e+"."+this.getFieldValue("play_data")+"("+t+")",f.ORDER_ATOMIC]},Xo=function(x,f){return[this.getFieldValue("dfplayer_name")+".readFileCountsInFolder("+f.valueToCode(this,"folder_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Go=function(x,f){return[this.getFieldValue("dfplayer_name")+"."+this.getFieldValue("type")+"()",f.ORDER_ATOMIC]},Bo=function(x,f){var e=this.getFieldValue("motor"),t=f.valueToCode(this,"SPEED",f.ORDER_ASSIGNMENT)||"0";return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_PWMServoDriver="#include ",f.definitions_.var_declare_Adafruit_PWMServoDriver="Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();",f.setups_.setup_pwm_begin="pwm.begin();\npwm.setOscillatorFrequency(27000000);\npwm.setPWMFreq(400);\nWire.setClock(400000);",f.definitions_.motor="void motor(int ID,int SPEED){ //0-7\n if(SPEED>0){pwm.setPin(ID*2, 0 );pwm.setPin(ID*2+1, (SPEED+1)*16-1);}\n else if(SPEED==0){pwm.setPin(ID*2, 4095 );pwm.setPin(ID*2+1, 4095);}\n else if(SPEED<0){pwm.setPin(ID*2, 1-(SPEED+1)*16);pwm.setPin(ID*2+1, 0);}\n }\n","motor("+e+","+t+");\n"},Uo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("CONTROL_TYPE");return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]="mp3_"+e+".begin();","mp3_"+e+"."+t+"\n"},Wo=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_volume("+t+");\n"},Ho=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_N910X="#include ",f.definitions_["var_declare_N910X_ mp3"+e]="N910X mp3_"+e+"("+e+");",f.setups_["setup_ mp3"+e]=" mp3_"+e+".begin();","mp3_"+e+".set_play_number("+t+");\n"},zo=function(){return""},Ko=function(x,f){let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);isNaN(t.charAt(2))||(t=t.replace(/"/g,"").replace(/\./g,","),t="IPAddress("+t+")");let i=Z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_smartconfig='WiFi.mode(WIFI_STA);\n int cnt = 0;\n while (WiFi.status() != WL_CONNECTED) {\n delay(500); \n Serial.print("."); \n if (cnt++ >= 10) {\n WiFi.beginSmartConfig();\n while (1) {\n delay(1000);\n if (WiFi.smartConfigDone()) {\n Serial.println();\n Serial.println("SmartConfig: Success");\n break;\n }\n Serial.print("|");\n }\n }\n }\n WiFi.printDiag(Serial);\n',i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.setups_.setup_smartconfig+="Blynk.config(auth,"+t+",8080);";return"Blynk.run();\n"},Zo=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),n=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),s=Z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.var_declare_auth_key="char auth[] = "+i+";",f.definitions_.var_declare_wifi_ssid="char ssid[] = "+e+";",f.definitions_.var_declare_wifi_pass="char pass[] = "+t+";",s.match(RegExp(/AVR/))&&(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.define_BLYNK_PRINT="#define ESP8266_BAUD 115200",f.definitions_.var_declare_ESP8266="ESP8266 wifi(&Serial);",f.setups_.setup_serial_Serial="Serial.begin(115200);",f.setups_.delay_10_1="delay(10);",f.setups_["wifi.setOprToStation"]="wifi.setOprToStation(2, 2);",f.setups_.delay_10_2="delay(10);",f.setups_["wifi.enableMUX"]="wifi.enableMUX();",f.setups_.delay_10_3="delay(10);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, wifi,ssid, pass,"+n+",8080);"),isNaN(n.charAt(2))||(n=n.replace(/"/g,"").replace(/\./g,","),n="IPAddress("+n+")"),s.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]=" Blynk.begin(auth, ssid, pass,"+n+",8080);"):s.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(auth, ssid, pass,"+n+",8080);");return"Blynk.run();\n"},jo=function(x,f){f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleStream="#include ",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial DebugSerial(2, 3);";let e=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC);f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);",f.setups_.setup_DebugSerial="DebugSerial.begin(9600);";return"Blynk.run();\n"},Jo=function(x,f){return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+", "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\n"},qo=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);let i=[];for(let x=0;x0&&(f.definitions_["var_declare_"+i]=i.join(";\n")+";");let s="BLYNK_WRITE("+e+") {\n"+n+t+"}\n";return s=f.scrub_(this,s),f.definitions_[e]=s,null},Qo=function(x,f){f.definitions_.var_declare_BlynkTimer="BlynkTimer timer;";let e=this.getFieldValue("timerNo"),t=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),i="myTimerEvent"+e,n="void "+i+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[i]=n,f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},$o=function(x,f){let e=this.getFieldValue("state"),t=e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},xr=function(){return"Blynk.syncAll();\n"},fr=function(){return"Blynk.syncVirtual("+this.getFieldValue("Vpin")+");\n"},er=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return"HIGH"==i?n+="led"+e+".on();\n":"LOW"==i&&(n+="led"+e+".off();\n"),n},tr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"COLOR",f.ORDER_ATOMIC);t=t.replace(/#/g,"").replace(/\(/g,"").replace(/\)/g,"").replace(/0x/g,"");let i=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_["var_declare_WidgetLED"+e]="WidgetLED led"+e+"("+e+");";let n="led"+e+'.setColor("#'+t+'");\n';return n+="led"+e+".setValue("+i+");",n},ir=function(x,f){let e=this.getFieldValue("AC_TYPE"),t=this.getFieldValue("AC_POWER"),i=this.getFieldValue("AC_MODE"),n=this.getFieldValue("AC_FAN"),s=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),a=f.valueToCode(this,"AC_TEMP",f.ORDER_ATOMIC);f.definitions_.include_Arduino="#ifndef UNIT_TEST\n#include \n#endif",f.definitions_.include_IRremoteESP8266="#include ",f.definitions_.include_IRsend="#include ",f.definitions_["include"+e]="#include ",f.definitions_["define_IR_LED"+s]="#define IR_LED "+s,f.definitions_["IR"+e+"AC"]="IR"+e+"AC "+e+"AC(IR_LED); ",f.setups_["setup"+e]=e+"AC.begin();";let c=e+"AC.setPower("+t+");\n";return c+=e+"AC.setFan("+n+");\n",c+=e+"AC.setMode("+i+");\n",c+=e+"AC.setTemp("+a+");\n",c+=e+"AC.send();\n",c},nr=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#include \n#if DECODE_AC\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#endif \n",f.definitions_["define_RECV_PIN"+e]="#define RECV_PIN "+e+"\n",f.definitions_.var_declare_CAPTURE_BUFFER_SIZE="#define CAPTURE_BUFFER_SIZE 1024\n#if DECODE_AC\n#define TIMEOUT 50U\n#else\n#define TIMEOUT 15U \n#endif\n#define MIN_UNKNOWN_SIZE 12\n#define IN_UNKNOWN_SIZE 12\nIRrecv irrecv(RECV_PIN, CAPTURE_BUFFER_SIZE, TIMEOUT, true);\ndecode_results results;",f.setups_.ir_recv_begin="while(!Serial)\n delay(50);\n #if DECODE_HASH\n irrecv.setUnknownThreshold(MIN_UNKNOWN_SIZE);\n #endif \n irrecv.enableIRIn();";return f.definitions_.dumpACInfo='void dumpACInfo(decode_results *results){\n String description="";\n #if DECODE_DAIKIN\n if(results->decode_type == DAIKIN){\n IRDaikinESP ac(0);\n ac.setRaw(results->state);\n description=ac.toString();\n }\n #endif\n #if DECODE_FUJITSU_AC\n if(results->decode_type==FUJITSU_AC){\n IRFujitsuAC ac(0);\n ac.setRaw(results->state, results->bits / 8);\n description = ac.toString();\n }\n #endif\n #if DECODE_KELVINATOR\n if(results->decode_type == KELVINATOR){\n IRKelvinatorAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_TOSHIBA_AC\n if(results->decode_type == TOSHIBA_AC){\n IRToshibaAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_GREE\n if (results->decode_type == GREE){\n IRGreeAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n #if DECODE_MIDEA\n if(results->decode_type == MIDEA){\n IRMideaAC ac(0);\n ac.setRaw(results->value);\n description=ac.toString();\n }\n #endif\n #if DECODE_HAIER_AC\n if(results->decode_type == HAIER_AC){\n IRHaierAC ac(0);\n ac.setRaw(results->state);\n description = ac.toString();\n }\n #endif\n if(description != "")\n Serial.println("Mesg Desc.: " + description);\n}\n',"if(irrecv.decode(&results)){\n uint32_t now = millis();\n dumpACInfo(&results);\n Serial.println(resultToSourceCode(&results));\n}\n"},sr=function(x,f){let e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("IR_CODE"),i=t.split(",").length,n=Math.ceil(1e5*Math.random());return f.definitions_.define_IRremote="#ifndef UNIT_TEST\n#include \n#endif\n#include \n#include \n#define IR_LED "+e,f.definitions_.var_declare_IRsend_irsend="IRsend irsend(IR_LED);\n",f.definitions_["var_declare_send"+n]="uint16_t rawData"+n+"["+i+"] = {"+t+"};",f.setups_.irsend_begin="irsend.begin();\n","irsend.sendRaw(rawData"+n+", "+i+", 38);\ndelay(2000);\n"},ar=function(x,f){let e=f.valueToCode(this,"email_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"Subject",f.ORDER_ATOMIC),i=f.valueToCode(this,"content",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_MAX_SENDBYTES="#define BLYNK_MAX_SENDBYTES 128 \n","Blynk.email("+e+", "+t+", "+i+");\n"},cr=function(x,f){return"Blynk.notify("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\n"},lr=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["var_declare_WidgetTerminal"+e]="WidgetTerminal terminal"+e+"("+e+");\n","terminal"+e+".println("+f.valueToCode(this,"content",f.ORDER_ATOMIC)+");\nterminal"+e+".flush();\n"},dr=function(x,f){let e=this.getFieldValue("Vpin");f.definitions_.var_declare_WidgetTerminal="WidgetTerminal terminal("+e+");\n",f.definitions_.var_declare_action="String terminal_text ;";let t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n terminal_text = param.asStr();\n "+t+"\n terminal.flush();\n}\n";return f.definitions_[e]=i,null},pr=function(x,f){return"Blynk.setProperty("+this.getFieldValue("Vpin")+',"url",'+f.valueToCode(this,"url",f.ORDER_ATOMIC)+");\n"},or=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_["var_declare_WidgetBridge"+e]="WidgetBridge bridge"+e+"("+e+");\n","bridge"+e+".setAuthToken("+t+");\n"},rr=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".digitalWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"STAT",f.ORDER_ATOMIC)+");\n"},ur=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".analogWrite("+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},_r=function(x,f){return"bridge"+this.getFieldValue("Vpin")+".virtualWrite("+this.getFieldValue("Vpin2")+", "+f.valueToCode(this,"NUM",f.ORDER_ATOMIC)+");\n"},hr=function(x,f){f.definitions_.include_TimeLib="#include ",f.definitions_.include_WidgetRTC="#include ";let e=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);f.definitions_.var_declare_WidgetRTC="WidgetRTC rtc;\n",f.setups_.setSyncInterval="setSyncInterval("+e+"* 60);";return"rtc.begin();\n"},Fr=function(x,f){return[this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},Ar=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n action = param.asStr();\n "+t+"\n Blynk.setProperty("+e+', "label", action);\n}\n';return i=f.scrub_(this,i),f.definitions_[e]=i,""},Ir=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int lx = param.asInt();\n "+t+"\n}\n";return f.definitions_[e]=i,""},gr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n int x = param[0].asFloat();\n int y = param[1].asFloat();\n int z = param[2].asFloat();\n "+t+"\n}\n";return f.definitions_[e]=i,""},Er=gr,Mr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"DO");t=t.replace(/(^\s*)|(\s*$)/g,"");let i="BLYNK_WRITE("+e+"){\n long startTimeInSecs = param[0].asLong();\n long hour =startTimeInSecs/3600;\n long minute=(startTimeInSecs-3600*hour)/60;\n long second=(startTimeInSecs-3600*hour)%60;\n "+t+"\n}\n";return f.definitions_[e]=i,""},Tr=function(x,f){return[this.getFieldValue("STAT"),f.ORDER_ATOMIC]},mr=function(x,f){let e=this.getFieldValue("VALUE");return f.definitions_["var_"+e]=e,""},Cr=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"auth_key",f.ORDER_ATOMIC),i=Z.JSFuncs.getPlatform();f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",i.match(RegExp(/ESP8266/))?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include "):i.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_BlynkSimpleEsp32="#include "),f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include \n",f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.definitions_.var_declare_auth_key="char auth[] = "+t+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_WiFiManager="WiFiManager wifiManager;",f.setups_.setup_wifiManagerautoConnect='wifiManager.autoConnect("Blynk");',f.setups_["setup_server.begin"]='Serial.println("Connected.");\n server.begin();',isNaN(e.charAt(2))?f.setups_.setup_Blynkconfig="Blynk.config(auth, "+e+", 8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.setup_Blynkconfig="Blynk.config(auth, IPAddress("+e+"), 8080);");return"Blynk.run();"},Or=function(x,f){let e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_FS="#include ",f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_BlynkSimpleEsp8266="#include ",f.definitions_.include_DNSServer="#include ",f.definitions_.include_ESP8266WebServer="#include ",f.definitions_.include_WiFiManager="#include ",f.definitions_.include_ArduinoJson="#include ",f.definitions_.var_declare_auth_key='char blynk_token[34] = "YOUR_BLYNK_TOKEN";',f.definitions_.var_declare_shouldSaveConfig="bool shouldSaveConfig = false;",f.definitions_.saveConfigCallback='void saveConfigCallback (){\n Serial.println("Should save config");\n shouldSaveConfig = true;\n}',f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.otasetup1='Serial.println("mounting FS...");\n if (SPIFFS.begin()){\n Serial.println("mounted file system");\n if (SPIFFS.exists("/config.json")) {\n Serial.println("reading config file");\n File configFile = SPIFFS.open("/config.json", "r");\n if (configFile) {\n Serial.println("opened config file");\n size_t size = configFile.size();\n std::unique_ptr buf(new char[size]);\n configFile.readBytes(buf.get(), size);\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.parseObject(buf.get());\n json.printTo(Serial);\n if (json.success()){\n Serial.println("parsed json");\n strcpy(blynk_token, json["blynk_token"]);\n }\n else{\n Serial.println("failed to load json config");\n }\n configFile.close();\n }\n }\n } else{\n Serial.println("failed to mount FS");\n }\n WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32);\n WiFiManager wifiManager;\n wifiManager.setSaveConfigCallback(saveConfigCallback);\n wifiManager.addParameter(&custom_blynk_token);\n wifiManager.setMinimumSignalQuality(10);\n if (!wifiManager.autoConnect()){\n Serial.println("failed to connect and hit timeout");\n delay(3000);\n ESP.reset();\n delay(5000);\n }\n Serial.println("connected...yeey :)");\n strcpy(blynk_token, custom_blynk_token.getValue());\n if(shouldSaveConfig){\n Serial.println("saving config");\n DynamicJsonBuffer jsonBuffer;\n JsonObject& json = jsonBuffer.createObject();\n json["blynk_token"] = blynk_token;\n File configFile = SPIFFS.open("/config.json", "w");\n if(!configFile){\n Serial.println("failed to open config file for writing");\n }\n json.printTo(Serial);\n json.printTo(configFile);\n configFile.close();\n }\n Serial.println("local ip");\n Serial.println(WiFi.localIP());\n',isNaN(e.charAt(2))?f.setups_.otasetup1+=" Blynk.config(blynk_token,"+e+",8080);":(e=e.replace(/"/g,"").replace(/\./g,","),f.setups_.otasetup1+=" Blynk.config(blynk_token,IPAddress("+e+"),8080);");return"Blynk.run();\n"},Sr=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},Rr=function(){return"terminal.clear();\n"},Dr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"x",f.ORDER_ATOMIC),i=f.valueToCode(this,"y",f.ORDER_ATOMIC),n=f.valueToCode(this,"value",f.ORDER_ATOMIC);return f.definitions_.include_lcd="WidgetLCD lcd("+e+");\n","lcd.print("+t+", "+i+", "+n+");\n"},Nr=function(){return"lcd.clear();\n"},Lr=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BLE="#include ",f.definitions_.include_BLEDevice="#include ",f.definitions_.include_BLEServer="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},Pr=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"name",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.define_BLYNK_USE_DIRECT_CONNECT="#define BLYNK_USE_DIRECT_CONNECT",f.definitions_.include_BlynkSimpleEsp32_BT="#include \n",f.definitions_.var_declare_auth_key="char auth[] = "+e+";",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]='Serial.println("Waiting for connections...");\n Blynk.setDeviceName('+t+");\n Blynk.begin(auth);\n";return"Blynk.run();\n"},yr=function(x,f){let e=f.valueToCode(this,"auth",f.ORDER_ATOMIC),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_SoftwareSerial="#include ",f.definitions_.include_BlynkSimpleSerialBLE="#include ",f.definitions_.define_auth="char auth[] = "+e+";",0!=t||1!=i?(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.definitions_.var_declare_SoftwareSerial="SoftwareSerial SerialBLE("+t+", "+i+");",f.setups_.setup_SerialBLE_begin="SerialBLE.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(SerialBLE, auth);"):(f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_["setup_Blynk.begin"]="Blynk.begin(Serial, auth);"),f.setups_["setup_Serial.println"]='Serial.println("Waiting for connections...");';return"Blynk.run();\n"},br=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "add", '+e+","+t+", "+i+");\n"},vr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC),t=f.valueToCode(this,"mingcheng",f.ORDER_ATOMIC),i=f.valueToCode(this,"shujv",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "update", '+e+","+t+", "+i+");\n"},wr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "pick", '+e+");\n"},Yr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "select", '+e+");\n"},Vr=function(x,f){let e=f.valueToCode(this,"id",f.ORDER_ATOMIC);return"Blynk.virtualWrite("+this.getFieldValue("Vpin")+', "deselect", '+e+");\n"},kr=function(x,f){let e=this.getFieldValue("Vpin");return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","Blynk.virtualWrite("+e+', "clr");\nrowIndex_'+e+" = 0;\n"},Xr=function(x,f){return["Blynk.connected()",f.ORDER_ATOMIC]},Gr=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i="";return i=this.getFieldValue("mode")>0?'WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED){\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n':'Serial.print("Setting AP (Access Point)…");\nWiFi.softAP(wif_ssid,wif_password);\nIPAddress IP = WiFi.softAPIP();\nSerial.print("Camera Stream Ready! Connect to the ESP32 AP and go to: http://");\nSerial.println(IP);\nSerial.println("");\n',f.definitions_.esp_camera='#include "esp_camera.h"\n#include \n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera=' WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n '+i+" startCameraServer();\n","delay(1);\n"},Br=function(x,f){let e=f.valueToCode(this,"wifi_ssid",f.ORDER_ATOMIC),t=f.valueToCode(this,"wifi_pass",f.ORDER_ATOMIC),i=f.valueToCode(this,"server",f.ORDER_ATOMIC);isNaN(i.charAt(2))||(i=i.replace(/"/g,"").replace(/\./g,","),i="IPAddress("+i+")");let n=f.valueToCode(this,"auth",f.ORDER_ATOMIC);return f.definitions_.define_BLYNK_PRINT="#define BLYNK_PRINT Serial",f.definitions_.include_WiFi="#include ",f.definitions_.include_BlynkSimpleEsp32="#include ",f.definitions_.include_WidgetRTC="#include ",f.definitions_.include_WiFiClient="#include ",f.definitions_.include_TimeLib="#include ",f.definitions_.var_declare_auth_key="char auth[] = "+n+";",f.definitions_.esp_camera='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h"\n#include "dl_lib.h"\n#include "esp_http_server.h"\nconst char*wif_ssid = '+e+";\nconst char*wif_password = "+t+';\n#define PART_BOUNDARY "123456789000000000000987654321"\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nstatic const char* _STREAM_CONTENT_TYPE = "multipart/x-mixed-replace;boundary=" PART_BOUNDARY;\nstatic const char* _STREAM_BOUNDARY = "\\r\\n--" PART_BOUNDARY "\\r\\n";\nstatic const char* _STREAM_PART = "Content-Type: image/jpeg\\r\\nContent-Length: %u\\r\\n\\r\\n";\nhttpd_handle_t stream_httpd = NULL;\nstatic esp_err_t stream_handler(httpd_req_t *req){\n camera_fb_t * fb = NULL;\n esp_err_t res = ESP_OK;\n size_t _jpg_buf_len = 0;\n uint8_t * _jpg_buf = NULL;\n char * part_buf[64];\n res = httpd_resp_set_type(req, _STREAM_CONTENT_TYPE);\n if(res != ESP_OK){\n return res;\n }\n while(true){\n fb = esp_camera_fb_get();\n if (!fb) {\n Serial.println("Camera capture failed");\n res = ESP_FAIL;\n } else {\n if(fb->width > 400){\n if(fb->format != PIXFORMAT_JPEG){\n bool jpeg_converted = frame2jpg(fb, 80, &_jpg_buf, &_jpg_buf_len);\n esp_camera_fb_return(fb);\n fb = NULL;\n if(!jpeg_converted){\n Serial.println("JPEG compression failed");\n res = ESP_FAIL;\n }\n } else {\n _jpg_buf_len = fb->len;\n _jpg_buf = fb->buf;\n }\n }\n }\n if(res == ESP_OK){\n size_t hlen = snprintf((char *)part_buf, 64, _STREAM_PART, _jpg_buf_len);\n res = httpd_resp_send_chunk(req, (const char *)part_buf, hlen);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, (const char *)_jpg_buf, _jpg_buf_len);\n }\n if(res == ESP_OK){\n res = httpd_resp_send_chunk(req, _STREAM_BOUNDARY, strlen(_STREAM_BOUNDARY));\n }\n if(fb){\n esp_camera_fb_return(fb);\n fb = NULL;\n _jpg_buf = NULL;\n } else if(_jpg_buf){\n free(_jpg_buf);\n _jpg_buf = NULL;\n }\n if(res != ESP_OK){\n break;\n }\n }\n return res;\n}\nvoid startCameraServer(){\n httpd_config_t config = HTTPD_DEFAULT_CONFIG();\n config.server_port = 80;\n httpd_uri_t index_uri = {\n .uri = "/",\n .method = HTTP_GET,\n .handler = stream_handler,\n .user_ctx = NULL\n };\n if (httpd_start(&stream_httpd, &config) == ESP_OK) {\n httpd_register_uri_handler(stream_httpd, &index_uri);\n } \n}\n',f.setups_.setups_esp_camera='WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\n Serial.begin(115200);\n Serial.setDebugOutput(false);\n camera_config_t config;\n config.ledc_channel = LEDC_CHANNEL_0;\n config.ledc_timer = LEDC_TIMER_0;\n config.pin_d0 = Y2_GPIO_NUM;\n config.pin_d1 = Y3_GPIO_NUM;\n config.pin_d2 = Y4_GPIO_NUM;\n config.pin_d3 = Y5_GPIO_NUM;\n config.pin_d4 = Y6_GPIO_NUM;\n config.pin_d5 = Y7_GPIO_NUM;\n config.pin_d6 = Y8_GPIO_NUM;\n config.pin_d7 = Y9_GPIO_NUM;\n config.pin_xclk = XCLK_GPIO_NUM;\n config.pin_pclk = PCLK_GPIO_NUM;\n config.pin_vsync = VSYNC_GPIO_NUM;\n config.pin_href = HREF_GPIO_NUM;\n config.pin_sscb_sda = SIOD_GPIO_NUM;\n config.pin_sscb_scl = SIOC_GPIO_NUM;\n config.pin_pwdn = PWDN_GPIO_NUM;\n config.pin_reset = RESET_GPIO_NUM;\n config.xclk_freq_hz = 20000000;\n config.pixel_format = PIXFORMAT_JPEG; \n if(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n } else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n }\n esp_err_t err = esp_camera_init(&config);\n if (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n }\n WiFi.begin(wif_ssid,wif_password);\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("");\n Serial.println("WiFi connected");\n Serial.print("Camera Stream Ready! Go to: http://");\n Serial.print(WiFi.localIP());\n Serial.println("");\n startCameraServer();\n Blynk.config(auth,'+i+",8080);\n","Blynk.run();\n"},Ur=function(x,f){f.definitions_.take_a_photo='#include "esp_camera.h"\n#include "esp_timer.h"\n#include "img_converters.h"\n#include "generator.h"\n#include "fb_gfx.h"\n#include "fd_forward.h"\n#include "fr_forward.h"\n#include "FS.h" \n#include "SD_MMC.h" \n#include "soc/soc.h"\n#include "soc/rtc_cntl_reg.h" \n#include "dl_lib.h"\n#include "driver/rtc_io.h"\n#include \n#define EEPROM_SIZE 1\n#define PWDN_GPIO_NUM 32\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM 0\n#define SIOD_GPIO_NUM 26\n#define SIOC_GPIO_NUM 27\n#define Y9_GPIO_NUM 35\n#define Y8_GPIO_NUM 34\n#define Y7_GPIO_NUM 39\n#define Y6_GPIO_NUM 36\n#define Y5_GPIO_NUM 21\n#define Y4_GPIO_NUM 19\n#define Y3_GPIO_NUM 18\n#define Y2_GPIO_NUM 5\n#define VSYNC_GPIO_NUM 25\n#define HREF_GPIO_NUM 23\n#define PCLK_GPIO_NUM 22\nint pictureNumber = 0;\n';return'WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0);\nSerial.begin(115200);\ncamera_config_t config;\nconfig.ledc_channel = LEDC_CHANNEL_0;\nconfig.ledc_timer = LEDC_TIMER_0;\nconfig.pin_d0 = Y2_GPIO_NUM;\nconfig.pin_d1 = Y3_GPIO_NUM;\nconfig.pin_d2 = Y4_GPIO_NUM;\nconfig.pin_d3 = Y5_GPIO_NUM;\nconfig.pin_d4 = Y6_GPIO_NUM;\nconfig.pin_d5 = Y7_GPIO_NUM;\nconfig.pin_d6 = Y8_GPIO_NUM;\nconfig.pin_d7 = Y9_GPIO_NUM;\nconfig.pin_xclk = XCLK_GPIO_NUM;\nconfig.pin_pclk = PCLK_GPIO_NUM;\nconfig.pin_vsync = VSYNC_GPIO_NUM;\nconfig.pin_href = HREF_GPIO_NUM;\nconfig.pin_sscb_sda = SIOD_GPIO_NUM;\nconfig.pin_sscb_scl = SIOC_GPIO_NUM;\nconfig.pin_pwdn = PWDN_GPIO_NUM;\nconfig.pin_reset = RESET_GPIO_NUM;\nconfig.xclk_freq_hz = 20000000;\nconfig.pixel_format = PIXFORMAT_JPEG; \nif(psramFound()){\n config.frame_size = FRAMESIZE_UXGA;\n config.jpeg_quality = 10;\n config.fb_count = 2;\n} else {\n config.frame_size = FRAMESIZE_SVGA;\n config.jpeg_quality = 12;\n config.fb_count = 1;\n}\nesp_err_t err = esp_camera_init(&config);\nif (err != ESP_OK) {\n Serial.printf("Camera init failed with error 0x%x", err);\n return;\n}\nif(!SD_MMC.begin()){\n Serial.println("SD Card Mount Failed");\n return;\n}\nuint8_t cardType = SD_MMC.cardType();\nif(cardType == CARD_NONE){\n Serial.println("No SD Card attached");\n return;\n}\ncamera_fb_t * fb = NULL;\nfb = esp_camera_fb_get();\nif(!fb) {\n Serial.println("Camera capture failed");\n return;\n}\nEEPROM.begin(EEPROM_SIZE);\npictureNumber = EEPROM.read(0) + 1;\nString path = "/picture" + String(pictureNumber) +".jpg";\nfs::FS &fs = SD_MMC; \nSerial.printf("Picture file name: %s\\n", path.c_str());\nFile file = fs.open(path.c_str(), FILE_WRITE);\nif(!file){\n Serial.println("Failed to open file in writing mode");\n} \nelse {\n file.write(fb->buf, fb->len);\n Serial.printf("Saved file to path: %s\\n", path.c_str());\n EEPROM.write(0, pictureNumber);\n EEPROM.commit();\n}\nfile.close();\nesp_camera_fb_return(fb); \npinMode(4, OUTPUT);\ndigitalWrite(4, LOW);\nrtc_gpio_hold_en(GPIO_NUM_4);\n'},Wr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_click"+e]="table_"+e+".onSelectChange([](int index, bool selected) {\n "+t+"\n });\n";return""},Hr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.statementToCode(this,"function");t=t.replace(/(^\s*)|(\s*$)/g,""),f.definitions_["blynk_table"+e]="WidgetTable table_"+e+";\nBLYNK_ATTACH_WIDGET(table_"+e+", "+e+");\n",f.setups_["setup_blynk_table_order"+e]="table_"+e+".onOrderChange([](int indexFrom, int indexTo) {\n "+t+"\n });\n";return""},zr=function(x,f){let e=this.getFieldValue("Vpin"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i=f.valueToCode(this,"name",f.ORDER_ATOMIC);return f.definitions_["rowIndex_"+e]="int rowIndex_"+e+" = 0;\n","table_"+e+".addRow(rowIndex_"+e+", "+i+", "+t+");\ntable_"+e+".pickRow(rowIndex_"+e+");\nrowIndex_"+e+"++;\n"},Kr=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO"),i=f.statementToCode(this,"DO2");return f.definitions_.include_IRremote="#include \n",f.definitions_.var_declare_irProtocolList='const String IR_PROTOCOL_TYPE[] = {\n "UNKNOWN",\n "PULSE_DISTANCE",\n "PULSE_WIDTH",\n "DENON",\n "DISH",\n "JVC",\n "LG",\n "LG2",\n "NEC",\n "PANASONIC",\n "KASEIKYO",\n "KASEIKYO_JVC",\n "KASEIKYO_DENON",\n "KASEIKYO_SHARP",\n "KASEIKYO_MITSUBISHI",\n "RC5",\n "RC6",\n "SAMSUNG",\n "SHARP",\n "SONY",\n "ONKYO",\n "APPLE",\n "BOSEWAVE",\n "LEGO_PF",\n "MAGIQUEST",\n "WHYNTER"\n};',f.definitions_["var_declare_irrecv_"+e]=`IRrecv irrecv_${e}(${e});\n`,f.setups_["setup_ir_recv_"+e]=`irrecv_${e}.enableIRIn();`,`if (irrecv_${e}.decode()) {\n struct IRData *pIrData = &irrecv_${e}.decodedIRData;\n long ir_item = pIrData->decodedRawData;\n String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol];\n Serial.print("IR TYPE:" + irProtocol + "\\tVALUE:");\n Serial.println(ir_item, HEX);\n irrecv_${e}.resume();\n${t}\n} else {\n${i}\n}\n`},Zr=function(x,f){return f.definitions_.include_IRremote="#include ","irrecv_"+f.valueToCode(this,"PIN",f.ORDER_ATOMIC)+".enableIRIn();\n"},jr=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"data",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"bits",f.ORDER_ATOMIC)||"0";return`irsend_${e}.send${this.getFieldValue("TYPE")}(${t},${i});\n`},Jr=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_recv"+e]="IRrecv irrecv_"+e+"("+e+");\ndecode_results results_"+e+";\n",f.setups_.setup_serial_Serial||(f.setups_.setup_serial_Serial="Serial.begin("+Z.Profile.default.serial+");"),f.setups_["setup_ir_recv_"+e]="irrecv_"+e+".enableIRIn();\n";var t="if (irrecv_"+e+".decode(&results_"+e+")) {\n";t+=" dumpRaw(&results_"+e+");\n",t+=" irrecv_"+e+".resume();\n",t+="}\n";return f.definitions_.dumpRaw='void dumpRaw(decode_results *results) {\n int count = results->rawlen;\n Serial.print("RawData (");\n Serial.print(count, DEC);\n Serial.print("): ");\n for (int i = 0; i < count; i++) {\n Serial.print(results->rawbuf[i]*MICROS_PER_TICK, DEC);\n if(i!=count-1){\n Serial.print(",");\n }\n }\n Serial.println("");\n}\n',t},qr=function(x,f){var e=this.getFieldValue("PIN");f.definitions_.include_IRremote="#include \n",f.definitions_["var_declare_ir_send_"+e]=`IRsend irsend_${e}(${e});`;var t=f.valueToCode(this,"length",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"freq",f.ORDER_ATOMIC)||"0",n="unsigned int buf_raw["+t+"]={"+this.getFieldValue("TEXT")+"};\n";return n+=`irsend_${e}.sendRaw(buf_raw,${t},${i});\n`},Qr=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},$r=function(x,f){f.definitions_.include_Wire="#include \n";return["Wire.read()",f.ORDER_ATOMIC]},xu=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n"},fu=function(x,f){var e=this.getFieldValue("SDA");return f.definitions_.include_SPI="#include ",f.definitions_.include_RFID="#include ",f.definitions_.var_declare_RFID="RFID rfid("+e+",5);",f.definitions_["var_declare__i and tmp"]="unsigned char i,tmp;",f.definitions_.var_declare__status="unsigned char status;",f.definitions_.var_declare__strmax="unsigned char str[MAX_LEN];",f.definitions_.var_declare__RC_size="unsigned char RC_size;",f.definitions_.var_declare__blockAddr="unsigned char blockAddr; //选择操作的块地址0~63",f.definitions_.define_1="//4字节卡序列号,第5字节为校验字节",f.definitions_.define_2="unsigned char serNum[5];",f.definitions_.define_3="//写卡数据",f.definitions_.define_5="//原扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_6="unsigned char sectorKeyA[16][16] = {",f.definitions_.define_7=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_8=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_9=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.definitions_.define_10="//新扇区A密码,16个扇区,每个扇区密码6Byte",f.definitions_.define_11="unsigned char sectorNewKeyA[16][16] = {",f.definitions_.define_12=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_13=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},",f.definitions_.define_14=" {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_output_2="SPI.begin();",f.setups_.setup_output_3="rfid.init();",""},eu=function(x,f){var e=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(e=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+e),"if(rfid.isCard()){\n"+e+"}\n"},tu=function(x,f){var e="RFID_readcardnum",t="String "+e+"(){\n rfid.readCardSerial();\n String stringserNum = String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum;\n}\n";return f.definitions_[e]=t,[e+"()",f.ORDER_ATOMIC]},iu=function(x,f){var e=f.valueToCode(this,"address1",f.ORDER_ATOMIC),t="RFID_writecarddata",i="void "+t+'(int ad2){\n rfid.readCardSerial();\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n //写数据卡\n blockAddr = ad2;\n if(rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK){\n //写数据\n status = rfid.write(blockAddr, sectorKeyA[blockAddr/4]);\n Serial.print("set the new card password, and can modify the data of the Sector: ");\n Serial.println(blockAddr/4,DEC);\n blockAddr=blockAddr-3;\n status=rfid.write(blockAddr,(unsigned char*)'+this.getFieldValue("data1")+');\n if(status == MI_OK){\n Serial.println("Write card OK!");\n }\n }\n}\n';return f.definitions_[t]=i,t+"("+e+");\n"},nu=function(x,f){var e=f.valueToCode(this,"address",f.ORDER_ATOMIC),t="RFID_readcarddata",i="String "+t+'(int ad3){\n //读卡\n blockAddr =ad3;\n status = rfid.auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA[blockAddr/4], rfid.serNum);\n\tif(status == MI_OK){ //认证\n //读数据\n if(rfid.read(blockAddr, str) == MI_OK)\n {\n Serial.print("Read from the card ,the data is : ");\n Serial.println((char *)str);\n }\n }\n rfid.halt();\n String stringstr((char*)str);\n return stringstr;\n}\n';return f.definitions_[t]=i,[t+"("+e+")",f.ORDER_ATOMIC]},su=function(x,f){var e="RFID_off",t="void "+e+"() {\n\n rfid.halt(); \n}\n";return f.definitions_[e]=t,e+"();\n"},au=function(x,f){var e="RFID_readcardnum",t="String "+e+"() {\n\n rfid.readCardSerial(); \n String stringserNum=String(rfid.serNum[0], HEX)+String(rfid.serNum[1], HEX)+String(rfid.serNum[2], HEX)+String(rfid.serNum[3], HEX)+String(rfid.serNum[4], HEX);\n //选卡,返回卡容量(锁定卡片,防止多次读写)\n rfid.selectTag(rfid.serNum);\n return stringserNum; \n}\n";f.definitions_[e]=t;var i=f.valueToCode(this,"uid_",f.ORDER_NONE)||"false",n=f.statementToCode(this,"do_");return f.INFINITE_LOOP_TRAP&&(n=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+n),"false"!=i?0===i.indexOf('"')?"if (strcmp(RFID_readcardnum().c_str(),"+i+")==0) {\n"+n+"}\n":"if (strcmp(RFID_readcardnum().c_str(),"+i+".c_str())==0) {\n"+n+"}\n":""},cu=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"PIN_SDA",f.ORDER_ATOMIC),i=f.valueToCode(this,"PIN_RST",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_MFRC522="#include ",f.definitions_["var_declare_"+e]="MFRC522 "+e+"("+t+", "+i+");",f.setups_.setup_spi="SPI.begin();",f.setups_["setup_mfc522_"+e]=e+".PCD_Init();";return""},lu=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.statementToCode(this,"DO");return f.definitions_.function_MFRC522_IsNewCard="boolean MFRC522_IsNewCard(MFRC522 *_name){\n if(!_name->PICC_IsNewCardPresent())\n return false;\n if(!_name->PICC_ReadCardSerial())\n return false;\n return true;\n}\n","if(MFRC522_IsNewCard(&"+e+")){\n"+(""!=t?t:"")+" "+e+".PICC_HaltA();\n "+e+".PCD_StopCrypto1();\n}\n"},du=function(x,f){var e=this.getFieldValue("rfid_name");return f.definitions_.function_MFRC522_ReadCardUID='String MFRC522_ReadCardUID(MFRC522 *_name){\n String _CardUID = "";\n for (byte _i = 0; _i < _name->uid.size; _i++){\n if(_name->uid.uidByte[_i] < 0x10)\n _CardUID += "0";\n _CardUID += String(_name->uid.uidByte[_i], HEX);\n }\n return _CardUID;\n}\n',["MFRC522_ReadCardUID(&"+e+")",f.ORDER_ATOMIC]},pu=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_WriteCard='boolean MFRC522_WriteCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n _status = _name->MIFARE_Write(_block, _buffer, _length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Write() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Write() success;"));\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_WriteCard(&"+e+", "+t+", "+i+", "+n+");\n"},ou=function(x,f){var e=this.getFieldValue("rfid_name"),t=f.valueToCode(this,"block",f.ORDER_ATOMIC),i=f.valueToCode(this,"buffer",f.ORDER_ATOMIC),n=f.valueToCode(this,"length",f.ORDER_ATOMIC);return f.definitions_.function_MFRC522_ReadCard='boolean MFRC522_ReadCard(MFRC522 *_name, byte _block, byte *_buffer, byte _length){\n MFRC522::MIFARE_Key _key;\n for(byte i = 0; i < 6; i++)\n _key.keyByte[i] = 0xFF;\n MFRC522::StatusCode _status;\n _status = _name->PCD_Authenticate(MFRC522::PICC_CMD_MF_AUTH_KEY_A, _block, &_key, &(_name->uid));\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("PCD_Authenticate() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("PCD_Authenticate() success;"));\n }\n if(_length < 18){\n byte _Read_buffer[18];\n byte _Read_buffer_length = 18;\n _status = _name->MIFARE_Read(_block, _Read_buffer, &_Read_buffer_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n for(byte _i = 0; _i < _length; _i++)\n _buffer[_i] = _Read_buffer[_i];\n }\n else{\n _status = _name->MIFARE_Read(_block, _buffer, &_length);\n if(_status != MFRC522::STATUS_OK){\n Serial.print(F("MIFARE_Read() failed: "));\n Serial.println(_name->GetStatusCodeName(_status));\n return false;\n }\n else{\n Serial.println(F("MIFARE_Read() success;"));\n }\n }\n return true;\n}\n',f.setups_.setup_serial_Serial="Serial.begin(9600);","MFRC522_ReadCard(&"+e+", "+t+", "+i+", "+n+");\n"},ru=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";return""},uu=function(x,f){f.definitions_.include_Wire="#include ";var e=f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC);f.setups_.setup_i2c="Wire.begin("+e+");";return""},_u=function(x,f){return f.definitions_.include_Wire="#include ","Wire.beginTransmission("+f.valueToCode(this,"i2c_address",f.ORDER_ATOMIC)+");\n"+f.statementToCode(this,"transmission_data")+"Wire.endTransmission();\n"},hu=function(x,f){return f.definitions_.include_Wire="#include ","Wire.write("+f.valueToCode(this,"i2c_write_data",f.ORDER_ATOMIC)+");\n"},Fu=function(x,f){return f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();","Wire.write("+f.valueToCode(this,"array",f.ORDER_ATOMIC)+","+(f.valueToCode(this,"length",f.ORDER_ATOMIC)||"1")+");\n"},Au=function(x,f){f.definitions_.include_Wire="#include \n";var e=this.workspace.getAllBlocks(),t=0;for(t=0;t\n",f.setups_.setup_wire_begin="Wire.begin();";return["howMany",f.ORDER_ATOMIC]},gu=function(x,f){return["Wire.read()",f.ORDER_ATOMIC]},Eu=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();";var e=f.valueToCode(this,"pin",f.ORDER_ATOMIC),t=f.valueToCode(this,"value",f.ORDER_ATOMIC);f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);";var i="digitalWrite("+e+", LOW);\n";return i+="SPI.transfer("+t+");\n",i+="digitalWrite("+e+", HIGH);\n"},Mu=function(x,f){f.definitions_.include_SPI="#include ",f.setups_.setup_spi="pinMode(12, OUTPUT);\n SPCR |= _BV(SPE);";return""},Tu=function(x,f){f.definitions_.include_Wire="#include ",f.setups_.setup_wire_begin="Wire.begin();";var e="Wire.beginTransmission("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+");\n";return e+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.write("+(f.valueToCode(this,"value",f.ORDER_ATOMIC)||"0")+");\n",e+="Wire.endTransmission();\n"},mu=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_wire_begin="Wire.begin();";var e=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0",t="Wire.beginTransmission("+e+");\n";return t+="Wire.write("+(f.valueToCode(this,"regadd",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.requestFrom("+e+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n",t+="Wire.endTransmission();\n"},Cu=function(x,f){f.definitions_.include_Wire="#include \n";var e=f.valueToCode(this,"onReceive_length",f.ORDER_ATOMIC),t=f.statementToCode(this,"DO");f.definitions_.function_receiveEvent="void receiveEvent(int "+e+")\n{ "+t+"\n}\n",f.setups_.setup_i2c_receiveEvent="Wire.onReceive(receiveEvent);";return""},Ou=function(x,f){f.definitions_.include_Wire="#include \n",f.setups_.setup_i2c_slave="Wire.setClock(400000);",f.setups_.setup_i2c_onRequest="Wire.onRequest(i2cRequestEvent);";var e="i2cRequestEvent",t="void "+e+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[e]=t,""},Su=function(x,f){return f.definitions_.include_Wire="#include \n","Wire.requestFrom("+(f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0")+", "+(f.valueToCode(this,"bytes",f.ORDER_ATOMIC)||"0")+");\n"},Ru=function(x,f){var e=f.valueToCode(this,"spi_slave_pin",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.setups_.setup_spi="SPI.begin();",f.setups_.setup_spi_divider="SPI.setClockDivider(SPI_CLOCK_DIV8);",f.setups_["setup_spi_pin_"+e]="digitalWrite("+e+", HIGH);";return""},Du=function(x,f){var e=f.valueToCode(this,"slave_pin",f.ORDER_ATOMIC);return"digitalWrite("+e+", LOW);\n"+f.statementToCode(this,"transfer_data")+"digitalWrite("+e+", HIGH);\n"},Nu=function(x,f){return"SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+");\n"},Lu=function(x,f){return["SPI.transfer("+f.valueToCode(this,"transfer_data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Pu=function(x,f){var e=f.statementToCode(this,"slave_interrupt_data");f.definitions_.function_ISR="ISR(SPI_STC_vect)\n{\n"+e+"\n}\n",f.setups_.setup_spi_interrupt="SPI.attachInterrupt();";return""},yu=function(x,f){f.definitions_.function_SPI_SlaveReceive="char SPI_SlaveReceive()\n{\n while(!(SPSR&(1<= ":" <= ")+i+"; "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":n.match(/^-?\d+(\.\d+)?$/)?"for (int "+e+" = ("+t+"); "+e+(n<0?" >= ":" <= ")+"("+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n":"for (int "+e+" = ("+t+"); ("+i+">="+t+")?("+e+"<="+i+"):("+e+">="+i+"); "+e+" = "+e+" + ("+n+")) {\n"+s+"}\n"},Vu=function(x,f){var e=f.valueToCode(this,"BOOL",f.ORDER_NONE)||"false",t=f.statementToCode(this,"DO");return f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t),"UNTIL"==this.getFieldValue("MODE")&&(e.match(/^\w+$/)||(e="("+e+")"),e="!"+e),"while ("+e+") {\n"+t+"}\n"},ku=function(){switch(this.getFieldValue("FLOW")){case"BREAK":return"break;\n";case"CONTINUE":return"continue;\n"}throw"Unknown flow statement."},Xu=function(x,f){var e=f.valueToCode(this,"DELAY_TIME",f.ORDER_ATOMIC)||"1000";return this.getFieldValue("UNIT")+"("+e+");\n"},Gu=function(x,f){return[this.getFieldValue("UNIT")+"()",f.ORDER_ATOMIC]},Bu=function(x,f){f.definitions_.include_MsTimer2="#include ";var e=f.valueToCode(this,"TIME",f.ORDER_ATOMIC),t="msTimer2_func",i="void "+t+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[t]=i,"MsTimer2::set("+e+", "+t+");\n"},Uu=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::start();\n"},Wu=function(x,f){return f.definitions_.include_MsTimer2="#include ","MsTimer2::stop();\n"},Hu=function(){return Z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?"while(true) delay(1000);\n":"while(true);\n"},zu=function(x,f){return f.definitions_.resetFunc="void(* resetFunc) (void) = 0;\n","resetFunc();\n"},Ku=function(){return"interrupts();\n"},Zu=function(){return"noInterrupts();\n"},ju=Xu,Ju=function(x,f){var e=this.getFieldValue("NO"),t=f.valueToCode(this,"timein",f.ORDER_ATOMIC),i="Simple_timer_"+e,n=f.statementToCode(this,"zxhs"),s="void "+i+"() {\n "+(n=n.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[i]=s,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;",f.setups_[i]="timer.setInterval("+t+"L, "+i+");\n","timer.run();\n"},qu=function(x,f){var e=f.statementToCode(this,"input_data"),t=f.valueToCode(this,"select_data",f.ORDER_ATOMIC);if("false"==this.getFieldValue("type"))var i="do{\n"+e+"}while(!("+t+"));\n";else i="do{\n"+e+"}while("+t+");\n";return i},Qu=function(x,f){var e="super_delay_function"+this.getFieldValue("number"),t=f.statementToCode(this,"delay_function"),i="void "+e+"() {\n "+(t=t.replace(/(^\s*)|(\s*$)/g,""))+"\n}\n";return f.definitions_[e]=i,f.definitions_.include_SimpleTimer="#include \n",f.definitions_.var_declare_SimpleTimer="SimpleTimer timer;","timer.run();\n"},$u=function(x,f){var e=this.getFieldValue("number");return"timer.setTimer("+f.valueToCode(this,"time_interval",f.ORDER_ATOMIC)+", super_delay_function"+e+", "+f.valueToCode(this,"frequency",f.ORDER_ATOMIC)+");\n"},x_=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("SCL"),n=this.getFieldValue("SDA"),s=Z.JSFuncs.getPlatform(),a=f.valueToCode(this,"device",f.ORDER_ATOMIC)||"0x27";return n==Z.Profile.default.SDA[0][1]&&i==Z.Profile.default.SCL[0][1]?(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_I2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+a+","+t+");"):s.match(RegExp(/AVR/))?(f.definitions_.include_SoftI2CMaster="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_SoftI2C_"+e]="LiquidCrystal_SoftI2C "+e+"("+a+","+t+","+i+","+n+");"):(f.definitions_.include_Wire="#include ",f.definitions_.include_LiquidCrystal_SoftI2C="#include ",f.definitions_["var_declare_LiquidCrystal_I2C_"+e]="LiquidCrystal_I2C "+e+"("+a+","+t+");",f.setups_.setup_Wire="Wire.begin("+n+","+i+");"),f.setups_["setup_lcd_init_"+e]=e+".init();",f.setups_["setup_lcd_backlight_"+e]=e+".backlight();",""},f_=function(x,f){var e=this.getFieldValue("VAR"),t=this.getFieldValue("TYPE"),i=this.getFieldValue("RS"),n=this.getFieldValue("EN"),s=this.getFieldValue("D4"),a=this.getFieldValue("D5"),c=this.getFieldValue("D6"),l=this.getFieldValue("D7");return f.definitions_.include_LiquidCrystal="#include ",f.definitions_["var_declare_LiquidCrystal"+e]="LiquidCrystal "+e+"("+i+","+n+","+s+","+a+","+c+","+l+");",f.setups_["setup_lcd_begin_"+e]=e+".begin("+t+");",""},e_=function(x,f){var e=this.getFieldValue("VAR"),t=e+".setCursor(0, 0);\n";return t+=e+".print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n",t+=e+".setCursor(0, 1);\n",t+=e+".print("+(f.valueToCode(this,"TEXT2",f.ORDER_ATOMIC)||'""')+");\n"},t_=function(x,f){var e=this.getFieldValue("VAR"),t=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'String("")',i=f.valueToCode(this,"row",f.ORDER_ATOMIC)||"1",n=e+".setCursor("+(f.valueToCode(this,"column",f.ORDER_ATOMIC)||"1")+"-1, "+i+"-1);\n";return n+=e+".print("+t+");\n"},i_=function(){return this.getFieldValue("VAR")+"."+this.getFieldValue("STAT")+"();\n"},n_=function(x,f){var e=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display."+e+"();\n"},s_=function(x,f){var e=f.valueToCode(this,"VALUE",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.displayString("+e+");\n"},a_=function(x,f){var e=this.getFieldValue("NO"),t=this.getFieldValue("STAT");return f.definitions_.include_Wire="#include ",f.definitions_.include_TM1650="#include ",f.definitions_.var_declare_display_4display="TM1650 tm_4display;",f.setups_.setup_wire_begin="Wire.begin();",f.setups_.setup_display_4display_init="tm_4display.init();","tm_4display.setDot("+e+","+t+");\n"};var c_,l_;const d_=function(x,f){l_=this.getFieldValue("CLK"),c_=this.getFieldValue("DIO");var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentTM1637="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentTM1637 "+e+"("+l_+","+c_+");",f.setups_["setup_"+e+".begin()"]=e+".begin();",""},p_=function(x,f){return(this.getFieldValue("NAME")||"display")+".print("+f.valueToCode(this,"VALUE",f.ORDER_ATOMIC)+");\n"},o_=function(x,f){var e=this.getFieldValue("NAME")||"display";return f.definitions_.include_SevenSegmentExtended="#include ",f.definitions_["var_declare_SevenSegmentTM1637"+e]="SevenSegmentExtended "+e+"("+l_+","+c_+");",e+".printTime("+f.valueToCode(this,"hour",f.ORDER_ATOMIC)+","+f.valueToCode(this,"minute",f.ORDER_ATOMIC)+","+this.getFieldValue("STAT")+");\n"},r_=function(){var x=this.getFieldValue("STAT");return(this.getFieldValue("NAME")||"display")+"."+x+"();\n"},u_=function(x,f){return(this.getFieldValue("NAME")||"display")+".setBacklight("+f.valueToCode(this,"Brightness",f.ORDER_ATOMIC)+");\n"},__=function(x,f){var e=this.getFieldValue("SDA"),t=this.getFieldValue("SCL"),i="myMatrix";return f.definitions_.include_Matrix="#include ",f.definitions_["var_declare"+i]="Matrix "+i+"("+e+","+t+");",f.setups_["setup_"+i]=i+".begin(0x70);",i+".clear();\n"},h_=function(x,f){var e=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),t=f.valueToCode(this,"hDisplays",f.ORDER_ATOMIC),i=f.valueToCode(this,"vDisplays",f.ORDER_ATOMIC);f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Max72xxPanel="#include ",f.definitions_.var_declare_Max72xxPanel="Max72xxPanel myMatrix = Max72xxPanel("+e+","+t+","+i+");";return""},F_=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("WRITE"),i=f.valueToCode(this,"XVALUE",f.ORDER_ASSIGNMENT),n=f.valueToCode(this,"YVALUE",f.ORDER_ASSIGNMENT),s="myMatrix",a=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);if("HT16K33"==e)var c=s+".drawPixel("+i+",7-"+n+","+a+");\n";else c=s+".drawPixel("+i+","+n+","+a+");\n";return"OFF"!==t&&(c+=s+".write();\n"),c},A_=function(x,f){return"myMatrix.scrollMessage("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+","+f.valueToCode(this,"Speed",f.ORDER_ATOMIC)+");\n"},I_=function(x,f){var e="myMatrix",t=this.getFieldValue("WRITE"),i=e+".setCursor(0, 0);\n";return i+=e+".print("+f.valueToCode(this,"TEXT",f.ORDER_ASSIGNMENT)+");\n","OFF"!==t&&(i+=e+".write();\n"),i},g_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=this.getFieldValue("WRITE"),n=f.valueToCode(this,"NO",f.ORDER_ATOMIC),s=f.valueToCode(this,"LEDArray",f.ORDER_ASSIGNMENT);f.definitions_.var_declare_LEDArray="uint8_t LEDArray[8];";var a="";return a+="memcpy_P(&LEDArray, &"+s+", 8);\n",a+="for(int index_i=0; index_i<8; index_i++)\n",a+="{\n",a+=" for(int index_j="+n+"*8; index_j<"+n+"*8+8; index_j++)\n",a+=" {\n",a+=" if((LEDArray[index_i]&0x01)>0)\n","HT16K33"==e?(a+=" "+t+".drawPixel(index_j, index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, index_i,0);\n"):(a+=" "+t+".drawPixel(index_j, 7-index_i,1);\n",a+=" else\n "+t+".drawPixel(index_j, 7-index_i,0);\n"),a+=" LEDArray[index_i] = LEDArray[index_i]>>1;\n",a+=" } \n",a+="}\n","OFF"!==i&&(a+=t+".write();\n"),a},E_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][9-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+s,[e,f.ORDER_ATOMIC]},M_=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=7;n>=0;n--){for(var s="",a=7;a>=0;a--)s+=t[n][a];1==(s=parseInt(s,2).toString(16)).length&&(s="0"+s),i+="0x"+s+(0!==n?",":"")}return i+="};",f.definitions_[e]="const uint8_t "+e+"[8] PROGMEM ="+i,[e,f.ORDER_ATOMIC]},T_=function(x,f){var e=this.getFieldValue("TYPE"),t="myMatrix",i=f.valueToCode(this,"Brightness",f.ORDER_ATOMIC);if("HT16K33"==e)var n=t+".setBrightness("+i+");\n";else n=t+".setIntensity("+i+");\n";return n},m_=function(){var x=this.getFieldValue("WRITE"),f="myMatrix",e=f+"."+this.getFieldValue("FILLSCREEN_TYPE")+";\n";return"OFF"!==x&&(e+=f+".write();\n"),e},C_=function(x,f){var e=this.getFieldValue("Rotation_TYPE");return"myMatrix.setRotation("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+e+");\n"},O_=function(x,f){return"myMatrix.setPosition("+f.valueToCode(this,"NO",f.ORDER_ATOMIC)+","+f.valueToCode(this,"X",f.ORDER_ATOMIC)+","+f.valueToCode(this,"Y",f.ORDER_ATOMIC)+");\n"},S_=function(){return"myMatrix.setRotation(4-"+this.getFieldValue("Rotation_TYPE")+");\n"},R_=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<9;n++)t[i][n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{";for(i=1;i<9;i++){var a="";for(n=1;n<9;n++)a+=t[i][n];1==(a=parseInt(a,2).toString(16)).length&&(a="0"+a),s+="0x"+a+(8!=i?",":"")}return s+="};\n",f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},D_=function(x,f){var e=this.getFieldValue("img_"),t='"'+e+'"';t="{";for(var i=0;i<15;i+=2)t+="0x"+e.substr(i,2)+(14!=i?",":"");return t+="};\n",f.definitions_["matrix_img_"+e]="const uint8_t matrix_img_"+e+"[8] PROGMEM="+t,["matrix_img_"+e,f.ORDER_ATOMIC]},N_=function(){return"myMatrix.write();\n"},L_=function(x,f){var e=this.getFieldValue("OLED_TYPE"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("SDA"),s=this.getFieldValue("SCL"),a=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0x3C",c=Z.JSFuncs.getPlatform();f.definitions_.include_U8g2lib="#include ",c.match(RegExp(/AVR/))?n==Z.Profile.default.SDA[0][1]&&s==Z.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_1_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);":n==Z.Profile.default.SDA[0][1]&&s==Z.Profile.default.SCL[0][1]?f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_HW_I2C "+t+"("+i+", U8X8_PIN_NONE);":f.definitions_["var_declare_U8G2"+t]="U8G2_"+e+"_F_SW_I2C "+t+"("+i+", "+s+", "+n+", U8X8_PIN_NONE);",f.definitions_.include_Wire="#include ",f.setups_["setup_u8g2"+t]=t+".setI2CAddress("+a+"*2);\n "+t+".begin();";return""},P_=function(x,f){var e=this.getFieldValue("U8G2_TYPE_SPI"),t=this.getFieldValue("NAME")||"u8g2",i=this.getFieldValue("ROTATION"),n=this.getFieldValue("CLK"),s=this.getFieldValue("MOSI"),a=this.getFieldValue("CS"),c=this.getFieldValue("DC"),l=this.getFieldValue("RST");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+t]=t+".begin();",f.definitions_["var_declare_U8G2"+t]="SCK"==n&&"MOSI"==s?"U8G2_"+e+"_1_4W_HW_SPI "+t+"("+i+", "+a+", "+c+", "+l+");":"U8G2_"+e+"_1_4W_SW_SPI "+t+"("+i+", "+n+","+s+","+a+", "+c+", "+l+");";return""},y_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.definitions_.include_SPI="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_HW_SPI "+e+"("+t+", "+i+", U8X8_PIN_NONE);";return""},b_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=this.getFieldValue("ROTATION"),i=this.getFieldValue("DB0"),n=this.getFieldValue("DB1"),s=this.getFieldValue("DB2"),a=this.getFieldValue("DB3"),c=this.getFieldValue("DB4"),l=this.getFieldValue("DB5"),d=this.getFieldValue("DB6"),p=this.getFieldValue("DB7"),o=this.getFieldValue("ENABLE"),r=this.getFieldValue("DC");f.definitions_.include_U8g2lib="#include ",f.setups_["setup_u8g2"+e]=e+".begin();",f.definitions_["var_declare_U8G2"+e]="U8G2_ST7920_128X64_1_8080 "+e+"("+t+", "+i+", "+n+", "+s+", "+a+", "+c+", "+l+", "+d+", "+p+", "+o+", U8X8_PIN_NONE, "+r+");";return""},v_=function(){return(this.getFieldValue("NAME")||"u8g2")+".clearDisplay();\n"},w_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("FACE_IMAGE"),s=n.indexOf(","),a="FACE_"+n.substring(0,s);return n=n.substring(s+1,n.length),f.libs_[a]="const static unsigned char "+a+"[] PROGMEM ={"+n+" };",e+".drawXBMP("+t+","+i+",89,64,"+a+");\n"},Y_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=this.getFieldValue("ICON_SIZE");return e+".setFontPosBottom();\n"+e+".setFont(u8g2_font_open_iconic_all_"+n+"x_t);\n"+e+".drawGlyph("+t+","+i+"+"+n+"*8,"+this.getFieldValue("ICON_IMAGE")+");\n"},V_=function(x,f){var e="";return e=e+(this.getFieldValue("NAME")||"u8g2")+".drawPixel("+(f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0")+");\n"},k_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.statementToCode(this,"DO"),i="";return t&&(i=e+".firstPage();\ndo\n{\n"+t+"}while("+e+".nextPage());\n"),i},X_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",a=f.valueToCode(this,"bitmap_name",f.ORDER_ATOMIC),c="";return c=e+".drawXBMP("+t+", ",c+=i+", ",c+=n+", ",c+=s+", "+(a=a.replace(/"/g,""))+");\n"},G_=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),K.Variables.NAME_TYPE),t=this.getFieldValue("TEXT");return f.libs_[e]="const static unsigned char "+e+"[] PROGMEM ={"+t+" };",""},B_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawLine("+(f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"END_Y",f.ORDER_ATOMIC)||"0")+");\n"},U_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"START_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"START_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"LENGTH",f.ORDER_ATOMIC)||"0",s="";return s=e+".draw"+this.getFieldValue("TYPE")+"Line("+t+",",s+=i+",",s+=n+");\n"},W_=function(x,f){var e="";return e=(this.getFieldValue("NAME")||"u8g2")+".drawTriangle("+(f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D1_Y",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_X",f.ORDER_ATOMIC)||"0")+",",e+=(f.valueToCode(this,"D2_Y",f.ORDER_ATOMIC)||"0")+");\n"},H_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",a="";return a=e+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+");\n"},z_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"WIDTH",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"HEIGHT",f.ORDER_ATOMIC)||"0",a=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",c="";return c=e+"."+this.getFieldValue("TYPE")+"("+t+",",c+=i+",",c+=n+",",c+=s+",",c+=a+");\n"},K_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS",f.ORDER_ATOMIC)||"0",s="";return s=e+"."+this.getFieldValue("TYPE")+"("+t+",",s+=i+",",s+=n+","+this.getFieldValue("OPT")+"); \n"},Z_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"D0_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"D0_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"RADIUS_X",f.ORDER_ATOMIC)||"0",s=f.valueToCode(this,"RADIUS_Y",f.ORDER_ATOMIC)||"0",a="";return a=e+"."+this.getFieldValue("TYPE")+"("+t+",",a+=i+",",a+=n+",",a+=s+","+this.getFieldValue("OPT")+"); \n"},j_=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"POS_X",f.ORDER_ATOMIC)||"0",i=f.valueToCode(this,"POS_Y",f.ORDER_ATOMIC)||"0",n=f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||"0";f.setups_["setup_enableUTF8Print"+e]=e+".enableUTF8Print();\n";var s="";return s=e+".setCursor("+t+",",s+=i+"); \n",s+=e+".print("+n+"); \n"},J_=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME"),e=this.getFieldValue("FONT_SIZE");return x+".setFont(u8g2_font_"+f+this.getFieldValue("FONT_STYLE")+e+"_tf);\n"+x+".setFontPosTop();\n"},q_=function(){var x=this.getFieldValue("NAME")||"u8g2",f=this.getFieldValue("FONT_NAME");return x+".setFont(u8g2_font_"+this.getFieldValue("FONT_SIZE")+f+");\n"+x+".setFontPosTop();\n"},Q_=function(){var x=this.getFieldValue("NAME")||"u8g2";return x+".setFont(u8g2_font_unifont_t_chinese1);\n"+x+".setFontPosTop();\n"},$_=function(x,f){return(this.getFieldValue("NAME")||"u8g2")+".setContrast("+f.valueToCode(this,"Contrast",f.ORDER_ATOMIC)+");\n"},xh=function(x,f){var e=this.getFieldValue("NAME")||"u8g2",t=f.valueToCode(this,"str",f.ORDER_ATOMIC);return f.definitions_["getutf8width"+e]="int "+e+"_getUTF8Width(String str) {\n const char *string_variable = str.c_str();\n return "+e+".getUTF8Width(string_variable);\n}",[e+"_getUTF8Width(String("+t+"))",f.ORDER_ATOMIC]},fh=function(x,f){var e=this.getFieldValue("name"),t=this.getFieldValue("number"),i=f.valueToCode(this,"row",f.ORDER_ATOMIC),n=f.valueToCode(this,"column",f.ORDER_ATOMIC),s=f.valueToCode(this,"pattern",f.ORDER_ATOMIC);return f.setups_["setup_lcd_display_pattern"+t]=e+".createChar("+t+", "+s+");",e+".setCursor("+n+"-1, "+i+"-1);\n"+e+".write("+t+");\n"},eh=function(x,f){for(var e=this.getFieldValue("VAR"),t=new Array,i=1;i<9;i++){t[i]=new Array;for(var n=1;n<6;n++)t[i][6-n]="TRUE"==this.getFieldValue("a"+i+n)?1:0}var s="{0B"+t[8][5]+t[8][4]+t[8][3]+t[8][2]+t[8][1]+",0B"+t[7][5]+t[7][4]+t[7][3]+t[7][2]+t[7][1]+",0B"+t[6][5]+t[6][4]+t[6][3]+t[6][2]+t[6][1]+",0B"+t[5][5]+t[5][4]+t[5][3]+t[5][2]+t[5][1]+",0B"+t[4][5]+t[4][4]+t[4][3]+t[4][2]+t[4][1]+",0B"+t[3][5]+t[3][4]+t[3][3]+t[3][2]+t[3][1]+",0B"+t[2][5]+t[2][4]+t[2][3]+t[2][2]+t[2][1]+",0B"+t[1][5]+t[1][4]+t[1][3]+t[1][2]+t[1][1]+"};";return f.definitions_[e]="byte "+e+"[]="+s,[e,f.ORDER_ATOMIC]},th=function(x,f){for(var e=this.getFieldValue("VAR"),t=this.getFieldValue("BITMAP"),i="{",n=0;n>8)+((64512&x)>>5)+((248&x)>>3)}const nh=function(x,f){const e=this.getFieldValue("CS"),t=this.getFieldValue("DC"),i=this.getFieldValue("RST"),n=this.getFieldValue("TYPE");let s=n.split("_")[0],a="";"ST7735_INITR_GREENTAB"===n?a="INITR_GREENTAB":"ST7735_INITR_REDTAB"===n?a="INITR_REDTAB":"ST7735_INITR_BLACKTAB"===n?a="INITR_BLACKTAB":"ST7735_160×80"===n?a="INITR_MINI160x80":"ST7735_160×128"===n?a="128, 160":"ST7789_240×135"===n?a="135, 240":"ST7789_240×240"===n?a="240, 240":"ST7789_320×240"===n?a="240, 320":"ST7796_480×320"===n&&(a=""),f.definitions_.include_Adafruit_GFX="#include ",f.definitions_.include_Adafruit_tft="#include ",f.definitions_.include_SPI="#include ",f.definitions_.var_declare_Adafruit_tft="Adafruit_"+s+" tft = Adafruit_"+s+"("+e+", "+t+", "+i+");",f.setups_.setup_tft_init="tft."+("ST7735"===s?"initR":"init")+"("+a+");",f.setups_.setup_tft_fillScreen="tft.fillScreen(0x0000);",f.definitions_.include_U8g2_for_Adafruit_GFX="#include ",f.definitions_.var_declare_U8G2_FOR_ADAFRUIT_GFX="U8G2_FOR_ADAFRUIT_GFX u8g2_for_adafruit_gfx;",f.setups_.setup_u8g2_for_adafruit_gfx="u8g2_for_adafruit_gfx.begin(tft);";return""};function sh(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}function ah(x){return x<16?"0x0"+x.toString(16).toUpperCase():"0x"+x.toString(16).toUpperCase()}function ch(x){let f=[];for(let e=0;e0?"0"==P?N+=" ":"1"==P&&(N+="0 "):L%(8*A)==0&&(N+="|\n|");for(m=0;m",f.definitions_.var_declare_EthernetClient="EthernetClient client;",["Ethernet.begin("+f.valueToCode(this,"MAC",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Gh=function(x,f){var e=this.getFieldValue("VAR1"),t=this.getFieldValue("VAR2"),i=this.getFieldValue("VAR3"),n=this.getFieldValue("VAR4"),s=this.getFieldValue("VAR5"),a=this.getFieldValue("VAR6");f.definitions_.var_declare_byte_mac="byte mac[] = {0x"+e+", 0x"+t+", 0x"+i+", 0x"+n+", 0x"+s+", 0x"+a+"};";return["mac",f.ORDER_ATOMIC]},Bh=function(x,f){return["Ethernet.localIP()",f.ORDER_ATOMIC]},Uh=function(x,f){var e=f.valueToCode(this,"PORT",f.ORDER_ATOMIC);return["client.connect("+f.quote_(this.getFieldValue("SERVER"))+","+e+")",f.ORDER_ATOMIC]},Wh=function(){return"client.stop();\n"},Hh=function(x,f){return["client.connected()",f.ORDER_ATOMIC]},zh=function(x,f){return["client.available()",f.ORDER_ATOMIC]},Kh=function(x,f){return"client.print("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},Zh=function(x,f){return"client.println("+(f.valueToCode(this,"TEXT",f.ORDER_ATOMIC)||'""')+");\n"},jh=function(x,f){return["(char)client.read()",f.ORDER_ATOMIC]},Jh=function(){return'client.println("GET '+this.getFieldValue("URL")+' HTTP/1.1");\nclient.println(F("Host: '+this.getFieldValue("SERVER")+'"));\nclient.println(F("Connection: close"));\nclient.println();\n'},qh=function(x,f){var e=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),t=f.valueToCode(this,"PWD",f.ORDER_ATOMIC);return f.definitions_.include_ESP8266WiFi="#include ",f.setups_.setup_WiFi_begin="WiFi.begin("+e+", "+t+');\n while (WiFi.status() != WL_CONNECTED) {\n delay(500);\n Serial.print(".");\n }\n Serial.println("Local IP:");\n Serial.print(WiFi.localIP());\n',""},Qh=function(x,f){return["WiFi.status()",f.ORDER_ATOMIC]},$h=function(x,f){var e=Z.JSFuncs.getPlatform(),t=this.getFieldValue("mode");return e.match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":e.match(RegExp(/ESP32/))&&(f.definitions_.include_WiFi="#include "),"IP"==t?["WiFi.localIP()",f.ORDER_ATOMIC]:["WiFi.macAddress()",f.ORDER_ATOMIC]},xF=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"timeZone",f.ORDER_ATOMIC),i=f.valueToCode(this,"Interval",f.ORDER_ATOMIC);return f.definitions_.include_TimeLib="#include ",f.definitions_.include_NtpClientLib="#include ",f.definitions_.var_declare_timeZone="int8_t timeZone = "+t+";",f.definitions_.var_declare_ntpServer="const PROGMEM char *ntpServer = "+e+";",f.setups_["setup_NTP.setInterval"]="NTP.setInterval ("+i+");",f.setups_["setup_NTP.setNTPTimeout"]="NTP.setNTPTimeout (1500);",f.setups_["setup_NTP.begin"]="NTP.begin (ntpServer, timeZone, false);",""},fF=function(x,f){return[this.getFieldValue("TIME_TYPE"),f.ORDER_ATOMIC]};var eF;const tF=function(x,f){var e=f.valueToCode(this,"server_add",f.ORDER_ATOMIC),t=f.valueToCode(this,"server_port",f.ORDER_ATOMIC),i=f.valueToCode(this,"IOT_ID",f.ORDER_ATOMIC),n=f.valueToCode(this,"IOT_PWD",f.ORDER_ATOMIC);(eF=f.valueToCode(this,"Client_ID",f.ORDER_ATOMIC)).length>2&&(eF+="/"),eF=eF.replace(/"/g,""),f.definitions_.include_Adafruit_MQTT='#include "Adafruit_MQTT.h"',f.definitions_.include_Adafruit_MQTT_Client='#include "Adafruit_MQTT_Client.h"',f.definitions_.include__WiFiClient="WiFiClient client;",f.definitions_.var_declare_Adafruit_MQTT_Client="Adafruit_MQTT_Client mqtt(&client, "+e+", "+t+", "+i+", "+n+");",Z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))&&(f.definitions_["var_declare_ MQTT_connect();"]="void MQTT_connect();");var s="MQTT_connect",a="void "+s+'() {\n int8_t ret;\n if (mqtt.connected()) {\n return;\n }\n Serial.print("Connecting to MQTT... ");\n uint8_t retries = 3;\n while ((ret = mqtt.connect()) != 0) {\n Serial.println(mqtt.connectErrorString(ret));\n Serial.println("Retrying MQTT connection in 5 seconds...");\n mqtt.disconnect();\n delay(5000);\n retries--;\n if (retries == 0) {\n while (1);\n }\n }\n Serial.println("MQTT Connected!");\n}\n';return f.definitions_["var_declare_"+s]=a,s+"();\n"},iF=function(){return"MQTT_connect();\n"},nF=function(x,f){var e=this.getFieldValue("Topic"),t=f.valueToCode(this,"data",f.ORDER_ATOMIC),i="MQTT_Topic_"+e;return f.definitions_["var_declare_Adafruit_MQTT_Publish"+i]="Adafruit_MQTT_Publish "+i+' = Adafruit_MQTT_Publish(&mqtt, "'+eF+e+'");',i+".publish("+t+");\n "},sF=function(x,f){var e=this.getFieldValue("Topic_0");return e&&(e=e.replace(/"/g,"")),["(char *)"+("MQTT_Topic_"+e)+".lastread",f.ORDER_ATOMIC]},aF=function(x,f){var e=0;(s=this.getFieldValue("Topic_0"))&&(s=s.replace(/"/g,""));var t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),n="if (subscription ==&"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }";for(f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+eF+"/"+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+eF+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",e=1;e<=this.elseifCount_;e++){var s;(s=this.getFieldValue("Topic_"+e))&&(s=s.replace(/"/g,"")),t="MQTT_Topic_"+s,i=f.statementToCode(this,"DO"+e),f.definitions_["var_declare_Adafruit_MQTT_Subscribe"+eF+s]="Adafruit_MQTT_Subscribe "+t+' = Adafruit_MQTT_Subscribe(&mqtt,"'+eF+s+'");',f.setups_["setup_mqtt.subscribe"+s]="mqtt.subscribe(&"+t+");",n+=" else if (subscription == &"+t+") {\n "+i.replace(new RegExp(/\n/g),"\n ")+"\n }"}return this.elseCount_&&(n+=" else {\n "+(i=f.statementToCode(this,"ELSE"))+"\n }"),"Adafruit_MQTT_Subscribe *subscription;\nwhile ((subscription = mqtt.readSubscription(5000))) {\n "+n+"\n}\n"},cF=function(x,f){var e=f.valueToCode(this,"api",f.ORDER_ATOMIC),t=f.statementToCode(this,"success");t=t.replace(/(^\s*)|(\s*$)/g,"");var i=f.statementToCode(this,"failure");return i=i.replace(/(^\s*)|(\s*$)/g,""),f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266HTTPClient="#include ","if (WiFi.status() == WL_CONNECTED) {\nHTTPClient http;\nhttp.begin("+e+");\nint httpCode = http.GET();\nif (httpCode > 0) {\nString Request_result = http.getString();\n"+t+"\n}\nelse {\n"+i+"\n} \nhttp.end();\n}\n"},lF=function(x,f){return"SmartConfig"==this.getFieldValue("MODE")?(f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_ESP8266WiFiMulti="#include ",f.definitions_.var_declare_ESP8266WiFiMulti=" ESP8266WiFiMulti wifiMulti;",f.setups_.setup_WiFi_Smartconfig='Serial.println("Wait for Smartconfig");\nwifiMulti.run();\nWiFi.setAutoConnect(true);\nif (WiFi.status() == WL_CONNECTED) {\nSerial.println("WiFi connected");\nSerial.println("IP address: ");\nSerial.println(WiFi.localIP());\n }\nelse{\n WiFi.mode(WIFI_STA);\n WiFi.beginSmartConfig();\n while(!WiFi.smartConfigDone()){\nSerial.print(".");\ndelay(500);\n}\nSerial.println("SmartConfig Success");\nSerial.printf("SSID:%s", WiFi.SSID().c_str());\nSerial.printf("PSW:%s", WiFi.psk().c_str());\nwifiMulti.addAP(WiFi.SSID().c_str(),WiFi.psk().c_str());\n}\n',""):(f.definitions_.include_WiFiManager="#include ",f.definitions_.var_declare_WiFiServer="WiFiServer server(80);",f.setups_.setup_WiFi_mode="WiFi.mode(WIFI_STA);",f.setups_.setup_WiFiManager="WiFiManager wm;",f.setups_.setup_bool_res="bool res;",f.setups_.setup_wifiManagerautoConnect="res=wm.autoConnect();","")},dF=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"SSID",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK",f.ORDER_ATOMIC),n=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),a=f.valueToCode(this,"IP",f.ORDER_ATOMIC),c=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);n=n.replace(new RegExp(/\./g),","),s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),null!=Z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.setups_.setup_serial_Serial="Serial.begin(9600);","STA"==e?(f.definitions_.include_WiFiUdp="#include ",f.definitions_.define_STASSID="#define STASSID "+t,f.definitions_.define_STAPSK="#define STAPSK "+i,f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+c+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+c+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_sta='WiFi.mode(WIFI_STA);\n WiFi.begin(STASSID, STAPSK);\n while(WiFi.status() != WL_CONNECTED){\n Serial.print(".");\n delay(500);\n }\n delay(500);\n Serial.print("Connected! IP address: ");\n Serial.println(WiFi.localIP());\n Serial.printf("UDP server on port ", localPort);\n Udp.begin(localPort);'):(f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+i+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+n+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+s+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+a+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+c+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+c+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_wifi_ap='WiFi.mode(WIFI_AP);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());');return""},pF=function(x,f){var e=f.valueToCode(this,"SSID1",f.ORDER_ATOMIC),t=f.valueToCode(this,"SSID2",f.ORDER_ATOMIC),i=f.valueToCode(this,"PSK1",f.ORDER_ATOMIC),n=f.valueToCode(this,"PSK2",f.ORDER_ATOMIC),s=f.valueToCode(this,"IP1",f.ORDER_ATOMIC),a=f.valueToCode(this,"IP2",f.ORDER_ATOMIC),c=f.valueToCode(this,"IP",f.ORDER_ATOMIC),l=f.valueToCode(this,"duankou",f.ORDER_ATOMIC);s=s.replace(new RegExp(/\./g),","),a=a.replace(new RegExp(/\./g),","),c=c.replace(new RegExp(/\./g),","),f.definitions_.define_STASSID="#define STASSID "+e,f.definitions_.define_STAPSK="#define STAPSK "+i,null!=Z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESP8266WiFi="#include ":f.definitions_.include_WiFi="#include ",f.definitions_.include_WiFiUDP="#include ",f.definitions_.var_declare_AP_NameChar="const char AP_NameChar[] = "+t+";",f.definitions_.var_declare_WiFiAPPSK="const char WiFiAPPSK[] = "+n+";",f.definitions_.var_declare_ESP8266ip1="IPAddress ESP8266ip1("+s+");",f.definitions_.var_declare_ESP8266ip2="IPAddress ESP8266ip2("+a+");",f.definitions_.var_declare_ESP8266ip="IPAddress ESP8266ip("+c+");",f.definitions_.var_declare_localPort="unsigned int localPort = "+l+";",f.definitions_.var_declare_remotePort="unsigned int remotePort = "+l+";",f.definitions_.var_declare_incomingPacket="char incomingPacket[537];",f.definitions_.var_declare_A="char A;",f.definitions_.var_declare_Udp="WiFiUDP Udp;",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wifi_ap_and_sta='WiFi.mode(WIFI_AP_STA);\n WiFi.softAP(AP_NameChar, WiFiAPPSK);\n WiFi.begin(STASSID, STAPSK);\n Udp.begin(localPort);\n Serial.println();\n Serial.println("Started ap. Local ip: " + WiFi.localIP().toString());';return""},oF=function(x,f){var e=f.valueToCode(this,"input_data",f.ORDER_ATOMIC)||"COM",t=f.statementToCode(this,"do");return'int packetSize = Udp.parsePacket();\nif (packetSize) {\n Serial.printf("Received %d bytes from %s, port %d\\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());\n int len = Udp.read(incomingPacket, 536);\n if (len > 0) {\n incomingPacket[len] = 0;\n Serial.printf("UDP packet contents: %s\\n", incomingPacket);\n String '+e+" = incomingPacket;\n"+(""!=(t=t.replace(/(^\s*)|(\s*$)/g,""))?" "+t.replace(new RegExp(/\n/g),"\n ")+"\n":"")+" }\n}\n"},rF=function(x,f){return"Udp.beginPacket(Udp.remoteIP(),Udp.remotePort());\nUdp.write("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+");\nUdp.endPacket();\n"};var uF={北京:"101010100",海淀:"101010200",朝阳:"101010300",顺义:"101010400",怀柔:"101010500",通州:"101010600",昌平:"101010700",延庆:"101010800",丰台:"101010900",石景山:"101011000",大兴:"101011100",房山:"101011200",密云:"101011300",门头沟:"101011400",平谷:"101011500",八达岭:"101011600",佛爷顶:"101011700",汤河口:"101011800",密云上甸子:"101011900",斋堂:"101012000",霞云岭:"101012100",上海:"101020100",闵行:"101020200",宝山:"101020300",川沙:"101020400",嘉定:"101020500",南汇:"101020600",金山:"101020700",青浦:"101020800",松江:"101020900",奉贤:"101021000",崇明:"101021100",陈家镇:"101021101",引水船:"101021102",徐家汇:"101021200",浦东:"101021300",天津:"101030100",武清:"101030200",宝坻:"101030300",东丽:"101030400",西青:"101030500",北辰:"101030600",宁河:"101030700",汉沽:"101030800",静海:"101030900",津南:"101031000",塘沽:"101031100",大港:"101031200",平台:"101031300",蓟县:"101031400",重庆:"101040100",永川:"101040200",合川:"101040300",南川:"101040400",江津:"101040500",万盛:"101040600",渝北:"101040700",北碚:"101040800",巴南:"101040900",长寿:"101041000",黔江:"101041100",万州天城:"101041200",万州龙宝:"101041300",涪陵:"101041400",开县:"101041500",城口:"101041600",云阳:"101041700",巫溪:"101041800",奉节:"101041900",巫山:"101042000",潼南:"101042100",垫江:"101042200",梁平:"101042300",忠县:"101042400",石柱:"101042500",大足:"101042600",荣昌:"101042700",铜梁:"101042800",璧山:"101042900",丰都:"101043000",武隆:"101043100",彭水:"101043200",綦江:"101043300",酉阳:"101043400",金佛山:"101043500",秀山:"101043600",沙坪坝:"101043700",哈尔滨:"101050101",双城:"101050102",呼兰:"101050103",阿城:"101050104",宾县:"101050105",依兰:"101050106",巴彦:"101050107",通河:"101050108",方正:"101050109",延寿:"101050110",尚志:"101050111",五常:"101050112",木兰:"101050113",齐齐哈尔:"101050201",讷河:"101050202",龙江:"101050203",甘南:"101050204",富裕:"101050205",依安:"101050206",拜泉:"101050207",克山:"101050208",克东:"101050209",泰来:"101050210",牡丹江:"101050301",海林:"101050302",穆棱:"101050303",林口:"101050304",绥芬河:"101050305",宁安:"101050306",东宁:"101050307",佳木斯:"101050401",汤原:"101050402",抚远:"101050403",桦川:"101050404",桦南:"101050405",同江:"101050406",富锦:"101050407",绥化:"101050501",肇东:"101050502",安达:"101050503",海伦:"101050504",明水:"101050505",望奎:"101050506",兰西:"101050507",青冈:"101050508",庆安:"101050509",绥棱:"101050510",黑河:"101050601",嫩江:"101050602",孙吴:"101050603",逊克:"101050604",五大连池:"101050605",北安:"101050606",大兴安岭:"101050701",塔河:"101050702",漠河:"101050703",呼玛:"101050704",呼中:"101050705",新林:"101050706",阿木尔:"101050707",加格达奇:"101050708",伊春:"101050801",乌伊岭:"101050802",五营:"101050803",铁力:"101050804",嘉荫:"101050805",大庆:"101050901",林甸:"101050902",肇州:"101050903",肇源:"101050904",杜蒙:"101050905",七台河:"101051002",勃利:"101051003",鸡西:"101051101",虎林:"101051102",密山:"101051103",鸡东:"101051104",鹤岗:"101051201",绥滨:"101051202",萝北:"101051203",双鸭山:"101051301",集贤:"101051302",宝清:"101051303",饶河:"101051304",长春:"101060101",农安:"101060102",德惠:"101060103",九台:"101060104",榆树:"101060105",双阳:"101060106",吉林:"101060201",舒兰:"101060202",永吉:"101060203",蛟河:"101060204",磐石:"101060205",桦甸:"101060206",烟筒山:"101060207",延吉:"101060301",敦化:"101060302",安图:"101060303",汪清:"101060304",和龙:"101060305",天池:"101060306",龙井:"101060307",珲春:"101060308",图们:"101060309",罗子沟:"101060311",延边:"101060312",四平:"101060401",双辽:"101060402",梨树:"101060403",公主岭:"101060404",伊通:"101060405",孤家子:"101060406",通化:"101060501",梅河口:"101060502",柳河:"101060503",辉南:"101060504",集安:"101060505",通化县:"101060506",白城:"101060601",洮南:"101060602",大安:"101060603",镇赉:"101060604",通榆:"101060605",辽源:"101060701",东丰:"101060702",松原:"101060801",乾安:"101060802",前郭:"101060803",长岭:"101060804",扶余:"101060805",白山:"101060901",靖宇:"101060902",临江:"101060903",东岗:"101060904",长白:"101060905",沈阳:"101070101",苏家屯:"101070102",辽中:"101070103",康平:"101070104",法库:"101070105",新民:"101070106",于洪:"101070107",新城子:"101070108",大连:"101070201",瓦房店:"101070202",金州:"101070203",普兰店:"101070204",旅顺:"101070205",长海:"101070206",庄河:"101070207",皮口:"101070208",海洋岛:"101070209",鞍山:"101070301",台安:"101070302",岫岩:"101070303",海城:"101070304",抚顺:"101070401",清原:"101070403",章党:"101070404",本溪:"101070501",本溪县:"101070502",草河口:"101070503",桓仁:"101070504",丹东:"101070601",凤城:"101070602",宽甸:"101070603",东港:"101070604",东沟:"101070605",锦州:"101070701",凌海:"101070702",北宁:"101070703",义县:"101070704",黑山:"101070705",北镇:"101070706",营口:"101070801",大石桥:"101070802",盖州:"101070803",阜新:"101070901",彰武:"101070902",辽阳:"101071001",辽阳县:"101071002",灯塔:"101071003",铁岭:"101071101",开原:"101071102",昌图:"101071103",西丰:"101071104",建平:"101071202",凌源:"101071203",喀左:"101071204",北票:"101071205",羊山:"101071206",建平县:"101071207",盘锦:"101071301",大洼:"101071302",盘山:"101071303",葫芦岛:"101071401",建昌:"101071402",绥中:"101071403",兴城:"101071404",呼和浩特:"101080101",土默特左旗:"101080102",托克托:"101080103",和林格尔:"101080104",清水河:"101080105",呼和浩特市郊区:"101080106",武川:"101080107",包头:"101080201",白云鄂博:"101080202",满都拉:"101080203",土默特右旗:"101080204",固阳:"101080205",达尔罕茂明安联合旗:"101080206",石拐:"101080207",乌海:"101080301",集宁:"101080401",卓资:"101080402",化德:"101080403",商都:"101080404",希拉穆仁:"101080405",兴和:"101080406",凉城:"101080407",察哈尔右翼前旗:"101080408",察哈尔右翼中旗:"101080409",察哈尔右翼后旗:"101080410",四子王旗:"101080411",丰镇:"101080412",通辽:"101080501",舍伯吐:"101080502",科尔沁左翼中旗:"101080503",科尔沁左翼后旗:"101080504",青龙山:"101080505",开鲁:"101080506",库伦旗:"101080507",奈曼旗:"101080508",扎鲁特旗:"101080509",高力板:"101080510",巴雅尔吐胡硕:"101080511",通辽钱家店:"101080512",赤峰:"101080601",赤峰郊区站:"101080602",阿鲁科尔沁旗:"101080603",浩尔吐:"101080604",巴林左旗:"101080605",巴林右旗:"101080606",林西:"101080607",克什克腾旗:"101080608",翁牛特旗:"101080609",岗子:"101080610",喀喇沁旗:"101080611",八里罕:"101080612",宁城:"101080613",敖汉旗:"101080614",宝过图:"101080615",鄂尔多斯:"101080701",达拉特旗:"101080703",准格尔旗:"101080704",鄂托克前旗:"101080705",河南:"101080706",伊克乌素:"101080707",鄂托克旗:"101080708",杭锦旗:"101080709",乌审旗:"101080710",伊金霍洛旗:"101080711",乌审召:"101080712",东胜:"101080713",临河:"101080801",五原:"101080802",磴口:"101080803",乌拉特前旗:"101080804",大佘太:"101080805",乌拉特中旗:"101080806",乌拉特后旗:"101080807",海力素:"101080808",那仁宝力格:"101080809",杭锦后旗:"101080810",巴盟农试站:"101080811",锡林浩特:"101080901",朝克乌拉:"101080902",二连浩特:"101080903",阿巴嘎旗:"101080904",伊和郭勒:"101080905",苏尼特左旗:"101080906",苏尼特右旗:"101080907",朱日和:"101080908",东乌珠穆沁旗:"101080909",西乌珠穆沁旗:"101080910",太仆寺旗:"101080911",镶黄旗:"101080912",正镶白旗:"101080913",正兰旗:"101080914",多伦:"101080915",博克图:"101080916",乌拉盖:"101080917",白日乌拉:"101080918",那日图:"101080919",呼伦贝尔:"101081000",海拉尔:"101081001",小二沟:"101081002",阿荣旗:"101081003",莫力达瓦旗:"101081004",鄂伦春旗:"101081005",鄂温克旗:"101081006",陈巴尔虎旗:"101081007",新巴尔虎左旗:"101081008",新巴尔虎右旗:"101081009",满洲里:"101081010",牙克石:"101081011",扎兰屯:"101081012",额尔古纳:"101081014",根河:"101081015",图里河:"101081016",乌兰浩特:"101081101",阿尔山:"101081102",科尔沁右翼中旗:"101081103",胡尔勒:"101081104",扎赉特旗:"101081105",索伦:"101081106",突泉:"101081107",霍林郭勒:"101081108",阿拉善左旗:"101081201",阿拉善右旗:"101081202",额济纳旗:"101081203",拐子湖:"101081204",吉兰太:"101081205",锡林高勒:"101081206",头道湖:"101081207",中泉子:"101081208",巴彦诺尔贡:"101081209",雅布赖:"101081210",乌斯太:"101081211",孪井滩:"101081212",石家庄:"101090101",井陉:"101090102",正定:"101090103",栾城:"101090104",行唐:"101090105",灵寿:"101090106",高邑:"101090107",深泽:"101090108",赞皇:"101090109",无极:"101090110",平山:"101090111",元氏:"101090112",赵县:"101090113",辛集:"101090114",藁城:"101090115",晋洲:"101090116",新乐:"101090117",保定:"101090201",满城:"101090202",阜平:"101090203",徐水:"101090204",唐县:"101090205",高阳:"101090206",容城:"101090207",紫荆关:"101090208",涞源:"101090209",望都:"101090210",安新:"101090211",易县:"101090212",涞水:"101090213",曲阳:"101090214",蠡县:"101090215",顺平:"101090216",雄县:"101090217",涿州:"101090218",定州:"101090219",安国:"101090220",高碑店:"101090221",张家口:"101090301",宣化:"101090302",张北:"101090303",康保:"101090304",沽源:"101090305",尚义:"101090306",蔚县:"101090307",阳原:"101090308",怀安:"101090309",万全:"101090310",怀来:"101090311",涿鹿:"101090312",赤城:"101090313",崇礼:"101090314",承德:"101090402",承德县:"101090403",兴隆:"101090404",平泉:"101090405",滦平:"101090406",隆化:"101090407",丰宁:"101090408",宽城:"101090409",围场:"101090410",塞罕坎:"101090411",唐山:"101090501",丰南:"101090502",丰润:"101090503",滦县:"101090504",滦南:"101090505",乐亭:"101090506",迁西:"101090507",玉田:"101090508",唐海:"101090509",遵化:"101090510",迁安:"101090511",廊坊:"101090601",固安:"101090602",永清:"101090603",香河:"101090604",大城:"101090605",文安:"101090606",大厂:"101090607",霸州:"101090608",三河:"101090609",沧州:"101090701",青县:"101090702",东光:"101090703",海兴:"101090704",盐山:"101090705",肃宁:"101090706",南皮:"101090707",吴桥:"101090708",献县:"101090709",孟村:"101090710",泊头:"101090711",任丘:"101090712",黄骅:"101090713",河间:"101090714",曹妃甸:"101090715",衡水:"101090801",枣强:"101090802",武邑:"101090803",武强:"101090804",饶阳:"101090805",安平:"101090806",故城:"101090807",景县:"101090808",阜城:"101090809",冀州:"101090810",深州:"101090811",邢台:"101090901",临城:"101090902",邢台县浆水:"101090903",内邱:"101090904",柏乡:"101090905",隆尧:"101090906",南和:"101090907",宁晋:"101090908",巨鹿:"101090909",新河:"101090910",广宗:"101090911",平乡:"101090912",威县:"101090913",清河:"101090914",临西:"101090915",南宫:"101090916",沙河:"101090917",任县:"101090918",邯郸:"101091001",峰峰:"101091002",临漳:"101091003",成安:"101091004",大名:"101091005",涉县:"101091006",磁县:"101091007",肥乡:"101091008",永年:"101091009",邱县:"101091010",鸡泽:"101091011",广平:"101091012",馆陶:"101091013",魏县:"101091014",曲周:"101091015",武安:"101091016",秦皇岛:"101091101",青龙:"101091102",昌黎:"101091103",抚宁:"101091104",卢龙:"101091105",北戴河:"101091106",太原:"101100101",清徐:"101100102",阳曲:"101100103",娄烦:"101100104",太原古交区:"101100105",太原北郊:"101100106",太原南郊:"101100107",大同:"101100201",阳高:"101100202",大同县:"101100203",天镇:"101100204",广灵:"101100205",灵邱:"101100206",浑源:"101100207",左云:"101100208",阳泉:"101100301",盂县:"101100302",平定:"101100303",晋中:"101100401",榆次:"101100402",榆社:"101100403",左权:"101100404",和顺:"101100405",昔阳:"101100406",寿阳:"101100407",太谷:"101100408",祁县:"101100409",平遥:"101100410",灵石:"101100411",介休:"101100412",长治:"101100501",黎城:"101100502",屯留:"101100503",潞城:"101100504",襄垣:"101100505",平顺:"101100506",武乡:"101100507",沁县:"101100508",长子:"101100509",沁源:"101100510",壶关:"101100511",晋城:"101100601",沁水:"101100602",阳城:"101100603",陵川:"101100604",高平:"101100605",临汾:"101100701",曲沃:"101100702",永和:"101100703",隰县:"101100704",大宁:"101100705",吉县:"101100706",襄汾:"101100707",蒲县:"101100708",汾西:"101100709",洪洞:"101100710",霍州:"101100711",乡宁:"101100712",翼城:"101100713",侯马:"101100714",浮山:"101100715",安泽:"101100716",古县:"101100717",运城:"101100801",临猗:"101100802",稷山:"101100803",万荣:"101100804",河津:"101100805",新绛:"101100806",绛县:"101100807",闻喜:"101100808",垣曲:"101100809",永济:"101100810",芮城:"101100811",夏县:"101100812",平陆:"101100813",朔州:"101100901",平鲁:"101100902",山阴:"101100903",右玉:"101100904",应县:"101100905",怀仁:"101100906",忻州:"101101001",定襄:"101101002",五台县豆村:"101101003",河曲:"101101004",偏关:"101101005",神池:"101101006",宁武:"101101007",代县:"101101008",繁峙:"101101009",五台山:"101101010",保德:"101101011",静乐:"101101012",岢岚:"101101013",五寨:"101101014",原平:"101101015",吕梁:"101101100",离石:"101101101",临县:"101101102",兴县:"101101103",岚县:"101101104",柳林:"101101105",石楼:"101101106",方山:"101101107",交口:"101101108",中阳:"101101109",孝义:"101101110",汾阳:"101101111",文水:"101101112",交城:"101101113",西安:"101110101",长安:"101110102",临潼:"101110103",蓝田:"101110104",周至:"101110105",户县:"101110106",高陵:"101110107",杨凌:"101110108",咸阳:"101110200",三原:"101110201",礼泉:"101110202",永寿:"101110203",淳化:"101110204",泾阳:"101110205",武功:"101110206",乾县:"101110207",彬县:"101110208",长武:"101110209",旬邑:"101110210",兴平:"101110211",延安:"101110300",延长:"101110301",延川:"101110302",子长:"101110303",宜川:"101110304",富县:"101110305",志丹:"101110306",安塞:"101110307",甘泉:"101110308",洛川:"101110309",黄陵:"101110310",黄龙:"101110311",吴起:"101110312",榆林:"101110401",府谷:"101110402",神木:"101110403",佳县:"101110404",定边:"101110405",靖边:"101110406",横山:"101110407",米脂:"101110408",子洲:"101110409",绥德:"101110410",吴堡:"101110411",清涧:"101110412",渭南:"101110501",华县:"101110502",潼关:"101110503",大荔:"101110504",白水:"101110505",富平:"101110506",蒲城:"101110507",澄城:"101110508",合阳:"101110509",韩城:"101110510",华阴:"101110511",华山:"101110512",商洛:"101110601",洛南:"101110602",柞水:"101110603",镇安:"101110605",丹凤:"101110606",商南:"101110607",山阳:"101110608",安康:"101110701",紫阳:"101110702",石泉:"101110703",汉阴:"101110704",旬阳:"101110705",岚皋:"101110706",平利:"101110707",白河:"101110708",镇坪:"101110709",宁陕:"101110710",汉中:"101110801",略阳:"101110802",勉县:"101110803",留坝:"101110804",洋县:"101110805",城固:"101110806",西乡:"101110807",佛坪:"101110808",宁强:"101110809",南郑:"101110810",镇巴:"101110811",宝鸡:"101110901",宝鸡县:"101110902",千阳:"101110903",麟游:"101110904",岐山:"101110905",凤翔:"101110906",扶风:"101110907",眉县:"101110908",太白:"101110909",凤县:"101110910",陇县:"101110911",铜川:"101111001",耀县:"101111002",宜君:"101111003",济南:"101120101",长清:"101120102",商河:"101120103",章丘:"101120104",平阴:"101120105",济阳:"101120106",青岛:"101120201",崂山:"101120202",潮连岛:"101120203",即墨:"101120204",胶州:"101120205",胶南:"101120206",莱西:"101120207",平度:"101120208",淄博:"101120301",淄川:"101120302",博山:"101120303",高青:"101120304",周村:"101120305",沂源:"101120306",桓台:"101120307",临淄:"101120308",德州:"101120401",武城:"101120402",临邑:"101120403",陵县:"101120404",齐河:"101120405",乐陵:"101120406",庆云:"101120407",平原:"101120408",宁津:"101120409",夏津:"101120410",禹城:"101120411",烟台:"101120501",莱州:"101120502",长岛:"101120503",蓬莱:"101120504",龙口:"101120505",招远:"101120506",栖霞:"101120507",福山:"101120508",牟平:"101120509",莱阳:"101120510",海阳:"101120511",千里岩:"101120512",潍坊:"101120601",青州:"101120602",寿光:"101120603",临朐:"101120604",昌乐:"101120605",昌邑:"101120606",安丘:"101120607",高密:"101120608",诸城:"101120609",济宁:"101120701",嘉祥:"101120702",微山:"101120703",鱼台:"101120704",兖州:"101120705",金乡:"101120706",汶上:"101120707",泗水:"101120708",梁山:"101120709",曲阜:"101120710",邹城:"101120711",泰安:"101120801",新泰:"101120802",泰山:"101120803",肥城:"101120804",东平:"101120805",宁阳:"101120806",临沂:"101120901",莒南:"101120902",沂南:"101120903",苍山:"101120904",临沭:"101120905",郯城:"101120906",蒙阴:"101120907",平邑:"101120908",费县:"101120909",沂水:"101120910",马站:"101120911",菏泽:"101121001",鄄城:"101121002",郓城:"101121003",东明:"101121004",定陶:"101121005",巨野:"101121006",曹县:"101121007",成武:"101121008",单县:"101121009",滨州:"101121101",博兴:"101121102",无棣:"101121103",阳信:"101121104",惠民:"101121105",沾化:"101121106",邹平:"101121107",东营:"101121201",河口:"101121202",垦利:"101121203",利津:"101121204",广饶:"101121205",威海:"101121301",文登:"101121302",荣成:"101121303",乳山:"101121304",成山头:"101121305",石岛:"101121306",枣庄:"101121401",薛城:"101121402",峄城:"101121403",台儿庄:"101121404",滕州:"101121405",日照:"101121501",五莲:"101121502",莒县:"101121503",莱芜:"101121601",聊城:"101121701",冠县:"101121702",阳谷:"101121703",高唐:"101121704",茌平:"101121705",东阿:"101121706",临清:"101121707",朝城:"101121708",莘县:"101121709",乌鲁木齐:"101130101",蔡家湖:"101130102",小渠子:"101130103",巴仑台:"101130104",达坂城:"101130105",十三间房气象站:"101130106",天山大西沟:"101130107",乌鲁木齐牧试站:"101130108",白杨沟:"101130110",克拉玛依:"101130201",石河子:"101130301",炮台:"101130302",莫索湾:"101130303",乌兰乌苏:"101130304",昌吉:"101130401",呼图壁:"101130402",米泉:"101130403",阜康:"101130404",吉木萨尔:"101130405",奇台:"101130406",玛纳斯:"101130407",木垒:"101130408",北塔山:"101130409",吐鲁番:"101130501",托克逊:"101130502",吐鲁番东坎:"101130503",鄯善:"101130504",红柳河:"101130505",库尔勒:"101130601",轮台:"101130602",尉犁:"101130603",若羌:"101130604",且末:"101130605",和静:"101130606",焉耆:"101130607",和硕:"101130608",库米什:"101130609",巴音布鲁克:"101130610",铁干里克:"101130611",博湖:"101130612",塔中:"101130613",阿拉尔:"101130701",阿克苏:"101130801",乌什:"101130802",温宿:"101130803",拜城:"101130804",新和:"101130805",沙雅:"101130806",库车:"101130807",柯坪:"101130808",阿瓦提:"101130809",喀什:"101130901",英吉沙:"101130902",塔什库尔干:"101130903",麦盖提:"101130904",莎车:"101130905",叶城:"101130906",泽普:"101130907",巴楚:"101130908",岳普湖:"101130909",伽师:"101130910",伊宁:"101131001",察布查尔:"101131002",尼勒克:"101131003",伊宁县:"101131004",巩留:"101131005",新源:"101131006",昭苏:"101131007",特克斯:"101131008",霍城:"101131009",霍尔果斯:"101131010",塔城:"101131101",裕民:"101131102",额敏:"101131103",和布克赛尔:"101131104",托里:"101131105",乌苏:"101131106",沙湾:"101131107",和丰:"101131108",哈密:"101131201",沁城:"101131202",巴里坤:"101131203",伊吾:"101131204",淖毛湖:"101131205",和田:"101131301",皮山:"101131302",策勒:"101131303",墨玉:"101131304",洛浦:"101131305",民丰:"101131306",于田:"101131307",阿勒泰:"101131401",哈巴河:"101131402",一八五团:"101131403",黑山头:"101131404",吉木乃:"101131405",布尔津:"101131406",福海:"101131407",富蕴:"101131408",青河:"101131409",安德河:"101131410",阿图什:"101131501",乌恰:"101131502",阿克陶:"101131503",阿合奇:"101131504",吐尔尕特:"101131505",博乐:"101131601",温泉:"101131602",精河:"101131603",阿拉山口:"101131606",拉萨:"101140101",当雄:"101140102",尼木:"101140103",墨竹贡卡:"101140104",日喀则:"101140201",拉孜:"101140202",南木林:"101140203",聂拉木:"101140204",定日:"101140205",江孜:"101140206",帕里:"101140207",山南:"101140301",贡嘎:"101140302",琼结:"101140303",加查:"101140304",浪卡子:"101140305",错那:"101140306",隆子:"101140307",泽当:"101140308",林芝:"101140401",波密:"101140402",米林:"101140403",察隅:"101140404",昌都:"101140501",丁青:"101140502",类乌齐:"101140503",洛隆:"101140504",左贡:"101140505",芒康:"101140506",八宿:"101140507",那曲:"101140601",嘉黎:"101140603",班戈:"101140604",安多:"101140605",索县:"101140606",比如:"101140607",阿里:"101140701",改则:"101140702",申扎:"101140703",狮泉河:"101140704",普兰:"101140705",西宁:"101150101",大通:"101150102",湟源:"101150103",湟中:"101150104",铁卜加:"101150105",铁卜加寺:"101150106",中心站:"101150107",海东:"101150201",乐都:"101150202",民和:"101150203",互助:"101150204",化隆:"101150205",循化:"101150206",冷湖:"101150207",平安:"101150208",黄南:"101150301",尖扎:"101150302",泽库:"101150303",海南:"101150401",江西沟:"101150402",贵德:"101150404",河卡:"101150405",兴海:"101150406",贵南:"101150407",同德:"101150408",共和:"101150409",果洛:"101150501",班玛:"101150502",甘德:"101150503",达日:"101150504",久治:"101150505",玛多:"101150506",玛沁:"101150508",玉树:"101150601",托托河:"101150602",治多:"101150603",杂多:"101150604",囊谦:"101150605",曲麻莱:"101150606",海西:"101150701",格尔木:"101150702",察尔汉:"101150703",野牛沟:"101150704",五道梁:"101150705",小灶火:"101150706",天峻:"101150708",乌兰:"101150709",都兰:"101150710",诺木洪:"101150711",茫崖:"101150712",大柴旦:"101150713",茶卡:"101150714",香日德:"101150715",德令哈:"101150716",海北:"101150801",门源:"101150802",祁连:"101150803",海晏:"101150804",托勒:"101150805",刚察:"101150806",兰州:"101160101",皋兰:"101160102",永登:"101160103",榆中:"101160104",定西:"101160201",通渭:"101160202",陇西:"101160203",渭源:"101160204",临洮:"101160205",漳县:"101160206",岷县:"101160207",安定:"101160208",平凉:"101160301",泾川:"101160302",灵台:"101160303",崇信:"101160304",华亭:"101160305",庄浪:"101160306",静宁:"101160307",崆峒:"101160308",庆阳:"101160401",西峰:"101160402",环县:"101160403",华池:"101160404",合水:"101160405",正宁:"101160406",宁县:"101160407",镇原:"101160408",庆城:"101160409",武威:"101160501",民勤:"101160502",古浪:"101160503",乌鞘岭:"101160504",天祝:"101160505",金昌:"101160601",永昌:"101160602",张掖:"101160701",肃南:"101160702",民乐:"101160703",临泽:"101160704",高台:"101160705",山丹:"101160706",酒泉:"101160801",鼎新:"101160802",金塔:"101160803",马鬃山:"101160804",瓜州:"101160805",肃北:"101160806",玉门镇:"101160807",敦煌:"101160808",天水:"101160901",北道区:"101160902",清水:"101160903",秦安:"101160904",甘谷:"101160905",武山:"101160906",张家川:"101160907",麦积:"101160908",武都:"101161001",成县:"101161002",文县:"101161003",宕昌:"101161004",康县:"101161005",西和:"101161006",礼县:"101161007",徽县:"101161008",两当:"101161009",临夏:"101161101",康乐:"101161102",永靖:"101161103",广河:"101161104",和政:"101161105",东乡:"101161106",合作:"101161201",临潭:"101161202",卓尼:"101161203",舟曲:"101161204",迭部:"101161205",玛曲:"101161206",碌曲:"101161207",夏河:"101161208",白银:"101161301",靖远:"101161302",会宁:"101161303",华家岭:"101161304",景泰:"101161305",银川:"101170101",永宁:"101170102",灵武:"101170103",贺兰:"101170104",石嘴山:"101170201",惠农:"101170202",平罗:"101170203",陶乐:"101170204",石炭井:"101170205",大武口:"101170206",吴忠:"101170301",同心:"101170302",盐池:"101170303",韦州:"101170304",麻黄山:"101170305",青铜峡:"101170306",固原:"101170401",西吉:"101170402",隆德:"101170403",泾源:"101170404",六盘山:"101170405",彭阳:"101170406",中卫:"101170501",中宁:"101170502",兴仁堡:"101170503",海原:"101170504",郑州:"101180101",巩义:"101180102",荥阳:"101180103",登封:"101180104",新密:"101180105",新郑:"101180106",中牟:"101180107",郑州农试站:"101180108",安阳:"101180201",汤阴:"101180202",滑县:"101180203",内黄:"101180204",林州:"101180205",新乡:"101180301",获嘉:"101180302",原阳:"101180303",辉县:"101180304",卫辉:"101180305",延津:"101180306",封丘:"101180307",长垣:"101180308",许昌:"101180401",鄢陵:"101180402",襄城:"101180403",长葛:"101180404",禹州:"101180405",平顶山:"101180501",郏县:"101180502",宝丰:"101180503",汝州:"101180504",叶县:"101180505",舞钢:"101180506",鲁山:"101180507",信阳:"101180601",息县:"101180602",罗山:"101180603",光山:"101180604",新县:"101180605",淮滨:"101180606",潢川:"101180607",固始:"101180608",商城:"101180609",鸡公山:"101180610",信阳地区农试站:"101180611",南阳:"101180701",南召:"101180702",方城:"101180703",社旗:"101180704",西峡:"101180705",内乡:"101180706",镇平:"101180707",淅川:"101180708",新野:"101180709",唐河:"101180710",邓州:"101180711",桐柏:"101180712",开封:"101180801",杞县:"101180802",尉氏:"101180803",通许:"101180804",兰考:"101180805",洛阳:"101180901",新安:"101180902",孟津:"101180903",宜阳:"101180904",洛宁:"101180905",伊川:"101180906",嵩县:"101180907",偃师:"101180908",栾川:"101180909",汝阳:"101180910",商丘:"101181001",睢阳区:"101181002",睢县:"101181003",民权:"101181004",虞城:"101181005",柘城:"101181006",宁陵:"101181007",夏邑:"101181008",永城:"101181009",焦作:"101181101",修武:"101181102",武陟:"101181103",沁阳:"101181104",博爱:"101181106",温县:"101181107",孟州:"101181108",鹤壁:"101181201",浚县:"101181202",淇县:"101181203",濮阳:"101181301",台前:"101181302",南乐:"101181303",清丰:"101181304",范县:"101181305",周口:"101181401",扶沟:"101181402",太康:"101181403",淮阳:"101181404",西华:"101181405",商水:"101181406",项城:"101181407",郸城:"101181408",鹿邑:"101181409",沈丘:"101181410",黄泛区:"101181411",漯河:"101181501",临颍:"101181502",舞阳:"101181503",驻马店:"101181601",西平:"101181602",遂平:"101181603",上蔡:"101181604",汝南:"101181605",泌阳:"101181606",平舆:"101181607",新蔡:"101181608",确山:"101181609",正阳:"101181610",三门峡:"101181701",灵宝:"101181702",渑池:"101181703",卢氏:"101181704",济源:"101181801",南京:"101190101",溧水:"101190102",高淳:"101190103",江宁:"101190104",六合:"101190105",江浦:"101190106",浦口:"101190107",无锡:"101190201",江阴:"101190202",宜兴:"101190203",镇江:"101190301",丹阳:"101190302",扬中:"101190303",句容:"101190304",丹徒:"101190305",苏州:"101190401",常熟:"101190402",张家港:"101190403",昆山:"101190404",吴县东山:"101190405",吴县:"101190406",吴江:"101190407",太仓:"101190408",南通:"101190501",海安:"101190502",如皋:"101190503",如东:"101190504",吕泗:"101190505",吕泗渔场:"101190506",启东:"101190507",海门:"101190508",扬州:"101190601",宝应:"101190602",仪征:"101190603",高邮:"101190604",江都:"101190605",邗江:"101190606",盐城:"101190701",响水:"101190702",滨海:"101190703",阜宁:"101190704",射阳:"101190705",建湖:"101190706",东台:"101190707",大丰:"101190708",盐都:"101190709",徐州:"101190801",徐州农试站:"101190802",丰县:"101190803",沛县:"101190804",邳州:"101190805",睢宁:"101190806",新沂:"101190807",淮安:"101190901",金湖:"101190902",盱眙:"101190903",洪泽:"101190904",涟水:"101190905",淮阴县:"101190906",淮阴:"101190907",楚州:"101190908",连云港:"101191001",东海:"101191002",赣榆:"101191003",灌云:"101191004",灌南:"101191005",西连岛:"101191006",燕尾港:"101191007",常州:"101191101",溧阳:"101191102",金坛:"101191103",泰州:"101191201",兴化:"101191202",泰兴:"101191203",姜堰:"101191204",靖江:"101191205",宿迁:"101191301",沭阳:"101191302",泗阳:"101191303",泗洪:"101191304",武汉:"101200101",蔡甸:"101200102",黄陂:"101200103",新洲:"101200104",江夏:"101200105",襄樊:"101200201",襄阳:"101200202",保康:"101200203",南漳:"101200204",宜城:"101200205",老河口:"101200206",谷城:"101200207",枣阳:"101200208",鄂州:"101200301",孝感:"101200401",安陆:"101200402",云梦:"101200403",大悟:"101200404",应城:"101200405",汉川:"101200406",黄冈:"101200501",红安:"101200502",麻城:"101200503",罗田:"101200504",英山:"101200505",浠水:"101200506",蕲春:"101200507",黄梅:"101200508",武穴:"101200509",黄石:"101200601",大冶:"101200602",阳新:"101200603",咸宁:"101200701",赤壁:"101200702",嘉鱼:"101200703",崇阳:"101200704",通城:"101200705",通山:"101200706",荆州:"101200801",江陵:"101200802",公安:"101200803",石首:"101200804",监利:"101200805",洪湖:"101200806",松滋:"101200807",宜昌:"101200901",远安:"101200902",秭归:"101200903",兴山:"101200904",宜昌县:"101200905",五峰:"101200906",当阳:"101200907",长阳:"101200908",宜都:"101200909",枝江:"101200910",三峡:"101200911",夷陵:"101200912",恩施:"101201001",利川:"101201002",建始:"101201003",咸丰:"101201004",宣恩:"101201005",鹤峰:"101201006",来凤:"101201007",巴东:"101201008",绿葱坡:"101201009",十堰:"101201101",竹溪:"101201102",郧西:"101201103",郧县:"101201104",竹山:"101201105",房县:"101201106",丹江口:"101201107",神农架:"101201201",随州:"101201301",广水:"101201302",荆门:"101201401",钟祥:"101201402",京山:"101201403",天门:"101201501",仙桃:"101201601",潜江:"101201701",杭州:"101210101",萧山:"101210102",桐庐:"101210103",淳安:"101210104",建德:"101210105",余杭:"101210106",临安:"101210107",富阳:"101210108",湖州:"101210201",长兴:"101210202",安吉:"101210203",德清:"101210204",嘉兴:"101210301",嘉善:"101210302",海宁:"101210303",桐乡:"101210304",平湖:"101210305",海盐:"101210306",宁波:"101210401",慈溪:"101210403",余姚:"101210404",奉化:"101210405",象山:"101210406",石浦:"101210407",宁海:"101210408",鄞县:"101210409",北仑:"101210410",鄞州:"101210411",镇海:"101210412",绍兴:"101210501",诸暨:"101210502",上虞:"101210503",新昌:"101210504",嵊州:"101210505",台州:"101210601",括苍山:"101210602",玉环:"101210603",三门:"101210604",天台:"101210605",仙居:"101210606",温岭:"101210607",大陈:"101210608",洪家:"101210609",温州:"101210701",泰顺:"101210702",文成:"101210703",平阳:"101210704",瑞安:"101210705",洞头:"101210706",乐清:"101210707",永嘉:"101210708",苍南:"101210709",丽水:"101210801",遂昌:"101210802",龙泉:"101210803",缙云:"101210804",青田:"101210805",云和:"101210806",庆元:"101210807",金华:"101210901",浦江:"101210902",兰溪:"101210903",义乌:"101210904",东阳:"101210905",武义:"101210906",永康:"101210907",磐安:"101210908",衢州:"101211001",常山:"101211002",开化:"101211003",龙游:"101211004",江山:"101211005",舟山:"101211101",嵊泗:"101211102",嵊山:"101211103",岱山:"101211104",普陀:"101211105",定海:"101211106",合肥:"101220101",长丰:"101220102",肥东:"101220103",肥西:"101220104",蚌埠:"101220201",怀远:"101220202",固镇:"101220203",五河:"101220204",芜湖:"101220301",繁昌:"101220302",芜湖县:"101220303",南陵:"101220304",淮南:"101220401",凤台:"101220402",马鞍山:"101220501",当涂:"101220502",安庆:"101220601",枞阳:"101220602",太湖:"101220603",潜山:"101220604",怀宁:"101220605",宿松:"101220606",望江:"101220607",岳西:"101220608",桐城:"101220609",宿州:"101220701",砀山:"101220702",灵璧:"101220703",泗县:"101220704",萧县:"101220705",阜阳:"101220801",阜南:"101220802",颍上:"101220803",临泉:"101220804",界首:"101220805",太和:"101220806",亳州:"101220901",涡阳:"101220902",利辛:"101220903",蒙城:"101220904",黄山站:"101221001",黄山区:"101221002",屯溪:"101221003",祁门:"101221004",黟县:"101221005",歙县:"101221006",休宁:"101221007",黄山市:"101221008",滁州:"101221101",凤阳:"101221102",明光:"101221103",定远:"101221104",全椒:"101221105",来安:"101221106",天长:"101221107",淮北:"101221201",濉溪:"101221202",铜陵:"101221301",宣城:"101221401",泾县:"101221402",旌德:"101221403",宁国:"101221404",绩溪:"101221405",广德:"101221406",郎溪:"101221407",六安:"101221501",霍邱:"101221502",寿县:"101221503",南溪:"101221504",金寨:"101221505",霍山:"101221506",舒城:"101221507",巢湖:"101221601",庐江:"101221602",无为:"101221603",含山:"101221604",和县:"101221605",池州:"101221701",东至:"101221702",青阳:"101221703",九华山:"101221704",石台:"101221705",福州:"101230101",闽清:"101230102",闽侯:"101230103",罗源:"101230104",连江:"101230105",马祖:"101230106",永泰:"101230107",平潭:"101230108",福州郊区:"101230109",长乐:"101230110",福清:"101230111",平潭海峡大桥:"101230112",厦门:"101230201",同安:"101230202",宁德:"101230301",古田:"101230302",霞浦:"101230303",寿宁:"101230304",周宁:"101230305",福安:"101230306",柘荣:"101230307",福鼎:"101230308",屏南:"101230309",莆田:"101230401",仙游:"101230402",秀屿港:"101230403",泉州:"101230501",安溪:"101230502",九仙山:"101230503",永春:"101230504",德化:"101230505",南安:"101230506",崇武:"101230507",晋江:"101230509",漳州:"101230601",长泰:"101230602",南靖:"101230603",平和:"101230604",龙海:"101230605",漳浦:"101230606",诏安:"101230607",东山:"101230608",云霄:"101230609",华安:"101230610",龙岩:"101230701",长汀:"101230702",连城:"101230703",武平:"101230704",上杭:"101230705",永定:"101230706",漳平:"101230707",三明:"101230801",宁化:"101230802",清流:"101230803",泰宁:"101230804",将乐:"101230805",建宁:"101230806",明溪:"101230807",沙县:"101230808",尤溪:"101230809",永安:"101230810",大田:"101230811",南平:"101230901",顺昌:"101230902",光泽:"101230903",邵武:"101230904",武夷山:"101230905",浦城:"101230906",建阳:"101230907",松溪:"101230908",政和:"101230909",建瓯:"101230910",南昌:"101240101",新建:"101240102",南昌县:"101240103",安义:"101240104",进贤:"101240105",莲塘:"101240106",九江:"101240201",瑞昌:"101240202",庐山:"101240203",武宁:"101240204",德安:"101240205",永修:"101240206",湖口:"101240207",彭泽:"101240208",星子:"101240209",都昌:"101240210",棠荫:"101240211",修水:"101240212",上饶:"101240301",鄱阳:"101240302",婺源:"101240303",康山:"101240304",余干:"101240305",万年:"101240306",德兴:"101240307",上饶县:"101240308",弋阳:"101240309",横峰:"101240310",铅山:"101240311",玉山:"101240312",广丰:"101240313",波阳:"101240314",抚州:"101240401",广昌:"101240402",乐安:"101240403",崇仁:"101240404",金溪:"101240405",资溪:"101240406",宜黄:"101240407",南城:"101240408",南丰:"101240409",黎川:"101240410",宜春:"101240501",铜鼓:"101240502",宜丰:"101240503",万载:"101240504",上高:"101240505",靖安:"101240506",奉新:"101240507",高安:"101240508",樟树:"101240509",丰城:"101240510",吉安:"101240601",吉安县:"101240602",吉水:"101240603",新干:"101240604",峡江:"101240605",永丰:"101240606",永新:"101240607",井冈山:"101240608",万安:"101240609",遂川:"101240610",泰和:"101240611",安福:"101240612",宁冈:"101240613",赣州:"101240701",崇义:"101240702",上犹:"101240703",南康:"101240704",大余:"101240705",信丰:"101240706",宁都:"101240707",石城:"101240708",瑞金:"101240709",于都:"101240710",会昌:"101240711",安远:"101240712",全南:"101240713",龙南:"101240714",定南:"101240715",寻乌:"101240716",兴国:"101240717",景德镇:"101240801",乐平:"101240802",萍乡:"101240901",莲花:"101240902",新余:"101241001",分宜:"101241002",鹰潭:"101241101",余江:"101241102",贵溪:"101241103",长沙:"101250101",宁乡:"101250102",浏阳:"101250103",马坡岭:"101250104",湘潭:"101250201",韶山:"101250202",湘乡:"101250203",株洲:"101250301",攸县:"101250302",醴陵:"101250303",株洲县:"101250304",茶陵:"101250305",炎陵:"101250306",衡阳:"101250401",衡山:"101250402",衡东:"101250403",祁东:"101250404",衡阳县:"101250405",常宁:"101250406",衡南:"101250407",耒阳:"101250408",南岳:"101250409",郴州:"101250501",桂阳:"101250502",嘉禾:"101250503",宜章:"101250504",临武:"101250505",桥口:"101250506",资兴:"101250507",汝城:"101250508",安仁:"101250509",永兴:"101250510",桂东:"101250511",常德:"101250601",安乡:"101250602",桃源:"101250603",汉寿:"101250604",澧县:"101250605",临澧:"101250606",石门:"101250607",益阳:"101250700",赫山区:"101250701",南县:"101250702",桃江:"101250703",安化:"101250704",沅江:"101250705",娄底:"101250801",双峰:"101250802",冷水江:"101250803",冷水滩:"101250804",新化:"101250805",涟源:"101250806",邵阳:"101250901",隆回:"101250902",洞口:"101250903",新邵:"101250904",邵东:"101250905",绥宁:"101250906",新宁:"101250907",武冈:"101250908",城步:"101250909",邵阳县:"101250910",岳阳:"101251001",华容:"101251002",湘阴:"101251003",汨罗:"101251004",平江:"101251005",临湘:"101251006",张家界:"101251101",桑植:"101251102",慈利:"101251103",怀化:"101251201",鹤城区:"101251202",沅陵:"101251203",辰溪:"101251204",靖州:"101251205",会同:"101251206",通道:"101251207",麻阳:"101251208",新晃:"101251209",芷江:"101251210",溆浦:"101251211",黔阳:"101251301",洪江:"101251302",永州:"101251401",祁阳:"101251402",东安:"101251403",双牌:"101251404",道县:"101251405",宁远:"101251406",江永:"101251407",蓝山:"101251408",新田:"101251409",江华:"101251410",吉首:"101251501",保靖:"101251502",永顺:"101251503",古丈:"101251504",凤凰:"101251505",泸溪:"101251506",龙山:"101251507",花垣:"101251508",贵阳:"101260101",白云:"101260102",花溪:"101260103",乌当:"101260104",息烽:"101260105",开阳:"101260106",修文:"101260107",清镇:"101260108",遵义:"101260201",遵义县:"101260202",仁怀:"101260203",绥阳:"101260204",湄潭:"101260205",凤冈:"101260206",桐梓:"101260207",赤水:"101260208",习水:"101260209",道真:"101260210",正安:"101260211",务川:"101260212",余庆:"101260213",汇川:"101260214",安顺:"101260301",普定:"101260302",镇宁:"101260303",平坝:"101260304",紫云:"101260305",关岭:"101260306",都匀:"101260401",贵定:"101260402",瓮安:"101260403",长顺:"101260404",福泉:"101260405",惠水:"101260406",龙里:"101260407",罗甸:"101260408",平塘:"101260409",独山:"101260410",三都:"101260411",荔波:"101260412",凯里:"101260501",岑巩:"101260502",施秉:"101260503",镇远:"101260504",黄平:"101260505",黄平旧洲:"101260506",麻江:"101260507",丹寨:"101260508",三穗:"101260509",台江:"101260510",剑河:"101260511",雷山:"101260512",黎平:"101260513",天柱:"101260514",锦屏:"101260515",榕江:"101260516",从江:"101260517",炉山:"101260518",铜仁:"101260601",江口:"101260602",玉屏:"101260603",万山:"101260604",思南:"101260605",塘头:"101260606",印江:"101260607",石阡:"101260608",沿河:"101260609",德江:"101260610",松桃:"101260611",毕节:"101260701",赫章:"101260702",金沙:"101260703",威宁:"101260704",大方:"101260705",纳雍:"101260706",织金:"101260707",六盘水:"101260801",六枝:"101260802",水城:"101260803",盘县:"101260804",黔西:"101260901",晴隆:"101260902",兴仁:"101260903",贞丰:"101260904",望谟:"101260905",兴义:"101260906",安龙:"101260907",册亨:"101260908",普安:"101260909",成都:"101270101",龙泉驿:"101270102",新都:"101270103",温江:"101270104",金堂:"101270105",双流:"101270106",郫县:"101270107",大邑:"101270108",蒲江:"101270109",新津:"101270110",都江堰:"101270111",彭州:"101270112",邛崃:"101270113",崇州:"101270114",崇庆:"101270115",彭县:"101270116",攀枝花:"101270201",仁和:"101270202",米易:"101270203",盐边:"101270204",自贡:"101270301",富顺:"101270302",荣县:"101270303",绵阳:"101270401",三台:"101270402",盐亭:"101270403",安县:"101270404",梓潼:"101270405",北川:"101270406",平武:"101270407",江油:"101270408",南充:"101270501",南部:"101270502",营山:"101270503",蓬安:"101270504",仪陇:"101270505",西充:"101270506",阆中:"101270507",达州:"101270601",宣汉:"101270602",开江:"101270603",大竹:"101270604",渠县:"101270605",万源:"101270606",达川:"101270607",遂宁:"101270701",蓬溪:"101270702",射洪:"101270703",广安:"101270801",岳池:"101270802",武胜:"101270803",邻水:"101270804",华蓥山:"101270805",巴中:"101270901",通江:"101270902",南江:"101270903",平昌:"101270904",泸州:"101271001",泸县:"101271003",合江:"101271004",叙永:"101271005",古蔺:"101271006",纳溪:"101271007",宜宾:"101271101",宜宾农试站:"101271102",宜宾县:"101271103",江安:"101271105",长宁:"101271106",高县:"101271107",珙县:"101271108",筠连:"101271109",兴文:"101271110",屏山:"101271111",内江:"101271201",东兴:"101271202",威远:"101271203",资中:"101271204",隆昌:"101271205",资阳:"101271301",安岳:"101271302",乐至:"101271303",简阳:"101271304",乐山:"101271401",犍为:"101271402",井研:"101271403",夹江:"101271404",沐川:"101271405",峨边:"101271406",马边:"101271407",峨眉:"101271408",峨眉山:"101271409",眉山:"101271501",仁寿:"101271502",彭山:"101271503",洪雅:"101271504",丹棱:"101271505",青神:"101271506",凉山:"101271601",木里:"101271603",盐源:"101271604",德昌:"101271605",会理:"101271606",会东:"101271607",宁南:"101271608",普格:"101271609",西昌:"101271610",金阳:"101271611",昭觉:"101271612",喜德:"101271613",冕宁:"101271614",越西:"101271615",甘洛:"101271616",雷波:"101271617",美姑:"101271618",布拖:"101271619",雅安:"101271701",名山:"101271702",荣经:"101271703",汉源:"101271704",石棉:"101271705",天全:"101271706",芦山:"101271707",宝兴:"101271708",甘孜:"101271801",康定:"101271802",泸定:"101271803",丹巴:"101271804",九龙:"101271805",雅江:"101271806",道孚:"101271807",炉霍:"101271808",新龙:"101271809",德格:"101271810",白玉:"101271811",石渠:"101271812",色达:"101271813",理塘:"101271814",巴塘:"101271815",乡城:"101271816",稻城:"101271817",得荣:"101271818",阿坝:"101271901",汶川:"101271902",理县:"101271903",茂县:"101271904",松潘:"101271905",九寨沟:"101271906",金川:"101271907",小金:"101271908",黑水:"101271909",马尔康:"101271910",壤塘:"101271911",若尔盖:"101271912",红原:"101271913",南坪:"101271914",德阳:"101272001",中江:"101272002",广汉:"101272003",什邡:"101272004",绵竹:"101272005",罗江:"101272006",广元:"101272101",旺苍:"101272102",青川:"101272103",剑阁:"101272104",苍溪:"101272105",广州:"101280101",番禺:"101280102",从化:"101280103",增城:"101280104",花都:"101280105",天河:"101280106",韶关:"101280201",乳源:"101280202",始兴:"101280203",翁源:"101280204",乐昌:"101280205",仁化:"101280206",南雄:"101280207",新丰:"101280208",曲江:"101280209",惠州:"101280301",博罗:"101280302",惠阳:"101280303",惠东:"101280304",龙门:"101280305",梅州:"101280401",兴宁:"101280402",蕉岭:"101280403",大埔:"101280404",丰顺:"101280406",平远:"101280407",五华:"101280408",梅县:"101280409",汕头:"101280501",潮阳:"101280502",澄海:"101280503",南澳:"101280504",云澳:"101280505",南澎岛:"101280506",深圳:"101280601",珠海:"101280701",斗门:"101280702",黄茅洲:"101280703",佛山:"101280800",顺德:"101280801",三水:"101280802",南海:"101280803",肇庆:"101280901",广宁:"101280902",四会:"101280903",德庆:"101280905",怀集:"101280906",封开:"101280907",高要:"101280908",湛江:"101281001",吴川:"101281002",雷州:"101281003",徐闻:"101281004",廉江:"101281005",硇洲:"101281006",遂溪:"101281007",江门:"101281101",开平:"101281103",新会:"101281104",恩平:"101281105",台山:"101281106",上川岛:"101281107",鹤山:"101281108",河源:"101281201",紫金:"101281202",连平:"101281203",和平:"101281204",龙川:"101281205",清远:"101281301",连南:"101281302",连州:"101281303",连山:"101281304",阳山:"101281305",佛冈:"101281306",英德:"101281307",云浮:"101281401",罗定:"101281402",新兴:"101281403",郁南:"101281404",潮州:"101281501",饶平:"101281502",东莞:"101281601",中山:"101281701",阳江:"101281801",阳春:"101281802",揭阳:"101281901",揭西:"101281902",普宁:"101281903",惠来:"101281904",茂名:"101282001",高州:"101282002",化州:"101282003",电白:"101282004",信宜:"101282005",汕尾:"101282101",海丰:"101282102",陆丰:"101282103",遮浪:"101282104",东沙岛:"101282105",昆明:"101290101",昆明农试站:"101290102",东川:"101290103",寻甸:"101290104",晋宁:"101290105",宜良:"101290106",石林:"101290107",呈贡:"101290108",富民:"101290109",嵩明:"101290110",禄劝:"101290111",安宁:"101290112",太华山:"101290113",大理:"101290201",云龙:"101290202",漾鼻:"101290203",永平:"101290204",宾川:"101290205",弥渡:"101290206",祥云:"101290207",魏山:"101290208",剑川:"101290209",洱源:"101290210",鹤庆:"101290211",南涧:"101290212",红河:"101290301",石屏:"101290302",建水:"101290303",弥勒:"101290304",元阳:"101290305",绿春:"101290306",开远:"101290307",个旧:"101290308",蒙自:"101290309",屏边:"101290310",泸西:"101290311",金平:"101290312",曲靖:"101290401",沾益:"101290402",陆良:"101290403",富源:"101290404",马龙:"101290405",师宗:"101290406",罗平:"101290407",会泽:"101290408",宣威:"101290409",保山:"101290501",富宁:"101290502",龙陵:"101290503",施甸:"101290504",昌宁:"101290505",腾冲:"101290506",文山:"101290601",西畴:"101290602",马关:"101290603",麻栗坡:"101290604",砚山:"101290605",邱北:"101290606",广南:"101290607",玉溪:"101290701",澄江:"101290702",江川:"101290703",通海:"101290704",华宁:"101290705",新平:"101290706",易门:"101290707",峨山:"101290708",元江:"101290709",楚雄:"101290801",大姚:"101290802",元谋:"101290803",姚安:"101290804",牟定:"101290805",南华:"101290806",武定:"101290807",禄丰:"101290808",双柏:"101290809",永仁:"101290810",普洱:"101290901",景谷:"101290902",景东:"101290903",澜沧:"101290904",墨江:"101290906",江城:"101290907",孟连:"101290908",西盟:"101290909",镇源:"101290910",镇沅:"101290911",宁洱:"101290912",昭通:"101291001",鲁甸:"101291002",彝良:"101291003",镇雄:"101291004",威信:"101291005",巧家:"101291006",绥江:"101291007",永善:"101291008",盐津:"101291009",大关:"101291010",临沧:"101291101",沧源:"101291102",耿马:"101291103",双江:"101291104",凤庆:"101291105",永德:"101291106",云县:"101291107",镇康:"101291108",怒江:"101291201",福贡:"101291203",兰坪:"101291204",泸水:"101291205",六库:"101291206",贡山:"101291207",香格里拉:"101291301",德钦:"101291302",维西:"101291303",中甸:"101291304",丽江:"101291401",永胜:"101291402",华坪:"101291403",宁蒗:"101291404",德宏:"101291501",潞江坝:"101291502",陇川:"101291503",盈江:"101291504",畹町镇:"101291505",瑞丽:"101291506",梁河:"101291507",潞西:"101291508",景洪:"101291601",大勐龙:"101291602",勐海:"101291603",景洪电站:"101291604",勐腊:"101291605",南宁:"101300101",南宁城区:"101300102",邕宁:"101300103",横县:"101300104",隆安:"101300105",马山:"101300106",上林:"101300107",武鸣:"101300108",宾阳:"101300109",硕龙:"101300110",崇左:"101300201",天等:"101300202",龙州:"101300203",凭祥:"101300204",大新:"101300205",扶绥:"101300206",宁明:"101300207",海渊:"101300208",柳州:"101300301",柳城:"101300302",沙塘:"101300303",鹿寨:"101300304",柳江:"101300305",融安:"101300306",融水:"101300307",三江:"101300308",来宾:"101300401",忻城:"101300402",金秀:"101300403",象州:"101300404",武宣:"101300405",桂林:"101300501",桂林农试站:"101300502",龙胜:"101300503",永福:"101300504",临桂:"101300505",兴安:"101300506",灵川:"101300507",全州:"101300508",灌阳:"101300509",阳朔:"101300510",恭城:"101300511",平乐:"101300512",荔浦:"101300513",资源:"101300514",梧州:"101300601",藤县:"101300602",太平:"101300603",苍梧:"101300604",蒙山:"101300605",岑溪:"101300606",贺州:"101300701",昭平:"101300702",富川:"101300703",钟山:"101300704",信都:"101300705",贵港:"101300801",桂平:"101300802",平南:"101300803",玉林:"101300901",博白:"101300902",北流:"101300903",容县:"101300904",陆川:"101300905",百色:"101301001",那坡:"101301002",田阳:"101301003",德保:"101301004",靖西:"101301005",田东:"101301006",平果:"101301007",隆林:"101301008",西林:"101301009",乐业:"101301010",凌云:"101301011",田林:"101301012",钦州:"101301101",浦北:"101301102",灵山:"101301103",河池:"101301201",天峨:"101301202",东兰:"101301203",巴马:"101301204",环江:"101301205",罗城:"101301206",宜州:"101301207",凤山:"101301208",南丹:"101301209",都安:"101301210",北海:"101301301",合浦:"101301302",涠洲岛:"101301303",防城港:"101301401",上思:"101301402",板栏:"101301404",防城:"101301405",海口:"101310101",琼山:"101310102",三亚:"101310201",东方:"101310202",临高:"101310203",澄迈:"101310204",儋州:"101310205",昌江:"101310206",白沙:"101310207",琼中:"101310208",定安:"101310209",屯昌:"101310210",琼海:"101310211",文昌:"101310212",清兰:"101310213",保亭:"101310214",万宁:"101310215",陵水:"101310216",西沙:"101310217",珊瑚岛:"101310218",永署礁:"101310219",南沙岛:"101310220",乐东:"101310221",五指山:"101310222",通什:"101310223",香港:"101320101",新界:"101320103",中环:"101320104",铜锣湾:"101320105",澳门:"101330101",台北县:"101340101",台北市:"101340102",高雄:"101340201",大武:"101340203",恒春:"101340204",兰屿:"101340205",台南:"101340301",台中:"101340401",桃园:"101340501",新竹县:"101340601",新竹市:"101340602",公馆:"101340603",宜兰:"101340701",马公:"101340801",东吉屿:"101340802",嘉义:"101340901",阿里山:"101340902",新港:"101340904"};const _F=function(x,f){var e=this.getFieldValue("data"),t=uF[e];return f.definitions_.include_Weather_Forcast="#include ",f.definitions_.var_declare_Weather_Forcast="Weather_Forcast Weather;",t?this.setFieldValue("ok","check"):(t="error",this.setFieldValue("error","check")),['Weather.RefreshData("'+t+'")',f.ORDER_ATOMIC]},hF=function(x,f){return["Weather.getToday("+this.getFieldValue("type")+")",f.ORDER_ATOMIC]},FF=function(x,f){return["Weather.get"+this.getFieldValue("type")+"("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},AF=function(x,f){var e=f.valueToCode(this,"server",f.ORDER_ATOMIC),t=f.valueToCode(this,"port",f.ORDER_ATOMIC),i=f.valueToCode(this,"mqtt_username",f.ORDER_ATOMIC),n=f.valueToCode(this,"mqtt_password",f.ORDER_ATOMIC),s=f.valueToCode(this,"project",f.ORDER_ATOMIC);t=t.replace(/"/g,""),f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient="const char *mqtt_broker = "+e+";\nconst char *mqtt_username = "+i+";\nconst char *mqtt_password = "+n+";\nconst int mqtt_port = "+t+';\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = '+s+';\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},IF=function(x,f){var e=this.getFieldValue("key"),t=this.getFieldValue("server");f.definitions_.include_PubSubClient="#include \n",f.definitions_.var_declare_PubSubClient='const char *mqtt_broker = "'+t+'";\nconst char *mqtt_username = "MixIO_public";\nconst char *mqtt_password = "MixIO_public";\nconst int mqtt_port = 1883;\nString mqtt_topic = "";\nString mqtt_data = "";\nboolean mqtt_status = false;\nString project = "'+e+'";\n\nWiFiClient espClient;\nPubSubClient client(espClient);\nvoid callback(char *topic, byte *payload, unsigned int length) {\n String data = "";\n for (int i = 0; i < length; i++) {\n data = String(data) + String((char) payload[i]);\n }\n mqtt_topic = String(topic);\n mqtt_data = data;\n mqtt_status = true;\n}\n',f.setups_.setups_PubSubClient='client.setServer(mqtt_broker, mqtt_port);\nclient.setCallback(callback);\nwhile (!client.connected()) {\n String client_id = "esp-client-";\n client_id += String(WiFi.macAddress());\n Serial.printf("The client %s connects to the public mqtt broker\\n", client_id.c_str());\n if (client.connect(client_id.c_str(), mqtt_username, mqtt_password)) {\n Serial.println("Public emqx mqtt broker connected");\n client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String("b640a0ce465fa2a4150c36b305c1c11b")).c_str(),String(client_id).c_str());\n } else {\n Serial.print("failed with state ");\n Serial.print(client.state());\n delay(2000);\n }\n}\n';return"client.loop();\n"},gF=function(x,f){var e=f.valueToCode(this,"data",f.ORDER_ATOMIC),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=this.getFieldValue("mode");if(1==i)var n='client.publish(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str(),String("+e+").c_str());\n";if(2==i)n='client.publish(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str(),String("+e+").c_str());\n";return n},EF=function(x,f){var e=this.getFieldValue("mode"),t=f.valueToCode(this,"topic",f.ORDER_ATOMIC),i=f.statementToCode(this,"function");if(i=i.replace(/(^\s*)|(\s*$)/g,""),1==e){f.setups_["setups_topic_"+t]='client.subscribe(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")).c_str());";var n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String(String(mqtt_username) +"/"+ String(project) +"/"+ String('+t+")))) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}if(2==e){f.setups_["setups_topic_"+t]='client.subscribe(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str());";n='if (mqtt_status) {\n if (String(mqtt_topic).equals(String("MixIO/"+ String(project) +"/default/"+ String('+t+")).c_str())) {\n "+i+"\n mqtt_status = false;\n }\n}\n"}return n},MF=function(x,f){Z.JSFuncs.getPlatform().match(RegExp(/ESP8266/))?f.definitions_.include_ESPAsyncTCP="#include ":f.definitions_.include_AsyncTCP="#include ",f.definitions_.include_ESPAsyncWebServer="#include ",f.definitions_.include_AsyncElegantOTA="#include \n",f.definitions_.var_AsyncWebServer="AsyncWebServer server(80);\n",f.setups_.setups_AsyncWebServer="AsyncElegantOTA.begin(&server);\nserver.begin();\n";return""},TF=function(x,f){var e=this.getFieldValue("INCLUDE");return f.definitions_["include_"+e]="#include <"+e+".h>",""},mF=function(x,f){for(var e=this.getFieldValue("NAME"),t=new Array(this.itemCount_),i=0;i-1&&delete f.setups_["setup_input_"+e],t="digitalRead("+e+")";return[t,f.ORDER_ATOMIC]},BF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);const{pwm:i}=Z.Profile.default;if("object"==typeof i)for(let x of i)if(e===x[1]){f.setups_["setup_output"+e]="pinMode("+e+", OUTPUT);";break}return"analogWrite("+e+", "+t+");\n"},UF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);const{analog:t}=Z.Profile.default;if("object"==typeof t)for(let x of t)if(e===x[1])break;return["analogRead("+e+")",f.ORDER_ATOMIC]},WF=function(x,f){var e=this.getFieldValue("STAT");return f.setups_.setup_output_13="pinMode(13, OUTPUT);","digitalWrite(13, "+e+");\n"},HF=function(x,f){f.definitions_.include_OneButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode"),i=f.valueToCode(this,"STAT",f.ORDER_ATOMIC);f.definitions_["var_declare_button"+e]="OneButton button"+e+"("+e+","+("HIGH"==i?"false":"true")+");",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var n="button"+e+".tick();",s=t+e,a="void "+s+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[s]=a,n},zF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.setups_["setup_input_"+e]="pinMode("+e+", INPUT_PULLUP);";var i="attachInterrupt("+("digitalPinToInterrupt("+e+")")+",attachInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},KF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachInterrupt("+("digitalPinToInterrupt("+e+")")+");\n"},ZF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_.include_PinChangeInterrupt="#include ",f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);";var i="attachPCINT(digitalPinToPCINT("+e+"),attachPinInterrupt_fun_"+t+"_"+e+","+t+");\n",n="attachPinInterrupt_fun_"+t+"_"+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},jF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);","detachPCINT(digitalPinToPCINT("+e+"));\n"},JF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT");return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+")",f.ORDER_ATOMIC]},qF=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("STAT"),i=f.valueToCode(this,"TIMEOUT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_input_"+e]="pinMode("+e+", INPUT);",["pulseIn("+e+", "+t+", "+i+")",f.ORDER_ATOMIC]},QF=function(x,f){var e=f.valueToCode(this,"PIN1",f.ORDER_ATOMIC),t=f.valueToCode(this,"PIN2",f.ORDER_ATOMIC),i=this.getFieldValue("ORDER"),n=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", OUTPUT);","shiftOut("+e+", "+t+", "+i+", "+n+");\n"},$F=function(x,f){f.definitions_.include_ESP32touchButton="#include ";var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=this.getFieldValue("mode");f.definitions_["var_declare_button"+e]="ESP32touchButton button"+e+"("+e+",true);",f.setups_["setup_onebutton_"+e+t]="button"+e+"."+t+"("+t+e+");";var i="button"+e+".tick();",n=t+e,s="void "+n+"() {\n"+f.statementToCode(this,"DO")+"}\n";return f.definitions_[n]=s,i},xA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),t=f.valueToCode(this,"NUM",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMSet("+e+", "+t+");\n"},fA=function(x,f){var e=f.valueToCode(this,"PIN",f.ORDER_ATOMIC);return f.definitions_.include_SoftPWM="#include ",f.setups_.setup_soft_analog_write="SoftPWMBegin();","SoftPWMEnd("+e+");\n"},eA=function(x,f){var e=this.getFieldValue("ADS1015_setGain");f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin(); \n",f.setups_["setup_ads.setGain"]="ads.setGain("+e+");";return""},tA=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_ADS1015="#include ",f.definitions_.var_declare_Adafruit_ADS1015_ads="Adafruit_ADS1015 ads;\n",f.setups_["setup_ads.begin()"]="ads.begin();",[this.getFieldValue("ADS1015_AIN"),f.ORDER_ATOMIC]},iA=function(x,f){return f.definitions_.include_PCF8591_h="#include ",f.definitions_.var_declare_PCF8591="PCF8591 pcf8591(0x48);",f.setups_["setup_pcf8591.begin()"]="pcf8591.begin(); \n",[this.getFieldValue("PCF8591T_AIN"),f.ORDER_ATOMIC]},nA=function(x,f){for(var e=this.getFieldValue("TYPE"),t=f.variableDB_.getName(this.getFieldValue("VAR"),K.Variables.NAME_TYPE),i=window.parseFloat(this.getFieldValue("SIZE")),n=new Array(this.itemCount_),s=0;s= (1); i = i + (-1)) {\n "+i+"[(int)((i + 1) - 1)] = "+i+"[(int)(i - 1)];\n }\n "+i+"[(int)(0)] = item;\n}\n";n="array_right_loop();\n"}return n},MA=function(x,f){var e=this.getFieldValue("list_name");return["col"==this.getFieldValue("type")?"(sizeof("+e+"[0]) / sizeof("+e+"[0][0]))":"(sizeof("+e+") / sizeof("+e+"[0]))",f.ORDER_ATOMIC]},TA=function(x,f){var e=this.getFieldValue("OP"),t=TA.OPERATORS[e],i="=="==t||"!="==t?f.ORDER_EQUALITY:f.ORDER_RELATIONAL;return[(f.valueToCode(this,"A",i)||"0")+" "+t+" "+(f.valueToCode(this,"B",i)||"0"),i]};TA.OPERATORS={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="};const mA=function(x,f){var e="AND"==this.getFieldValue("OP")?"&&":"||",t="&&"==e?f.ORDER_LOGICAL_AND:f.ORDER_LOGICAL_OR;return[(f.valueToCode(this,"A",t)||"false")+" "+e+" "+(f.valueToCode(this,"B",t)||"false"),t]},CA=function(x,f){var e=f.ORDER_UNARY_PREFIX;return["!"+(f.valueToCode(this,"BOOL",e)||"false"),e]},OA=function(x,f){return["TRUE"==this.getFieldValue("BOOL")?"true":"false",f.ORDER_ATOMIC]},SA=function(x,f){return["NULL",f.ORDER_ATOMIC]},RA=function(x,f){return["("+(f.valueToCode(this,"A",f.ORDER_ATOMIC)||"false")+"?"+(f.valueToCode(this,"B",f.ORDER_ATOMIC)||"false")+":"+(f.valueToCode(this,"C",f.ORDER_ATOMIC)||"false")+")",f.ORDER_ATOMIC]},DA=function(x,f){var e=this.getFieldValue("NUM");return[e,e<0?f.ORDER_UNARY_PREFIX:f.ORDER_ATOMIC]},NA=function(x,f){var e={ADD:[" + ",f.ORDER_ADDITIVE],MINUS:[" - ",f.ORDER_ADDITIVE],MULTIPLY:[" * ",f.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",f.ORDER_MULTIPLICATIVE],QUYU:[" % ",f.ORDER_MULTIPLICATIVE],POWER:[null,f.ORDER_NONE]}[this.getFieldValue("OP")],t=e[0],i=e[1],n=f.valueToCode(this,"A",i)||"0",s=f.valueToCode(this,"B",i)||"0";return t?(" % "==t&&(n="(long) ("+n+")",s="(long) ("+s+")"),[n+t+s,i]):["pow("+n+", "+s+")",f.ORDER_UNARY_POSTFIX]},LA=function(x,f){var e=this.getFieldValue("OP"),t=f.ORDER_ATOMIC;return["("+(f.valueToCode(this,"A",t)||"0")+e+(f.valueToCode(this,"B",t)||"0")+")",t]},PA=function(x,f){var e,t,i=this.getFieldValue("OP");if("NEG"==i)return"-"==(t=f.valueToCode(this,"NUM",f.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),[e="-"+t,f.ORDER_UNARY_PREFIX];switch(t="ABS"==i||"ROUND"==i.substring(0,5)?f.valueToCode(this,"NUM",f.ORDER_UNARY_POSTFIX)||"0":"SIN"==i||"COS"==i||"TAN"==i?f.valueToCode(this,"NUM",f.ORDER_MULTIPLICATIVE)||"0":f.valueToCode(this,"NUM",f.ORDER_NONE)||"0",i){case"ABS":e=t+".abs()";break;case"ROOT":e="sqrt("+t+")";break;case"LN":e="log("+t+")";break;case"EXP":e="exp("+t+")";break;case"POW10":e="pow(10,"+t+")";break;case"++":e="(++"+t+")";break;case"--":e="(--"+t+")";break;case"~":e="~("+t+")";break;case"ROUND":e=t+".round()";break;case"ROUNDUP":e=t+".ceil()";break;case"ROUNDDOWN":e=t+".floor()";break;case"SIN":e="sin("+t+" / 180.0 * 3.14159)";break;case"COS":e="cos("+t+" / 180.0 * 3.14159)";break;case"TAN":e="tan("+t+" / 180.0 * 3.14159)"}if(e)return[e,f.ORDER_UNARY_POSTFIX];switch(i){case"LOG10":e="log("+t+") / log(10)";break;case"ASIN":e="asin("+t+") / 3.14159 * 180";break;case"ACOS":e="acos("+t+") / 3.14159 * 180";break;case"ATAN":e="atan("+t+") / 3.14159 * 180";break;default:throw"Unknown math operator: "+i}return[e,f.ORDER_MULTIPLICATIVE]},yA=PA,bA=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+")",f.ORDER_ATOMIC]},vA=function(x,f){return[this.getFieldValue("variate_type"),f.ORDER_ATOMIC]},wA=function(x,f){return this.setTooltip("以字节形式返回某个操作数的储存大小"),["sizeof("+f.valueToCode(this,"data",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},YA=function(x,f){var e=f.valueToCode(this,"A",f.ORDER_NONE)||"0",t=f.valueToCode(this,"B",f.ORDER_NONE)||"0";return[this.getFieldValue("OP")+"("+e+", "+t+")",f.ORDER_ATOMIC]},VA=function(x,f){return"randomSeed("+(f.valueToCode(this,"NUM",f.ORDER_NONE)||"0")+");\n"},kA=function(x,f){return["random("+(f.valueToCode(this,"FROM",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"TO",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},XA=function(x,f){var e=this.getFieldValue("maptype"),t=f.valueToCode(this,"NUM",f.ORDER_NONE),i=f.valueToCode(this,"fromLow",f.ORDER_ATOMIC),n=f.valueToCode(this,"fromHigh",f.ORDER_ATOMIC),s=f.valueToCode(this,"toLow",f.ORDER_ATOMIC),a=f.valueToCode(this,"toHigh",f.ORDER_ATOMIC);if("map_float"==e){f.definitions_.function_mapfloat="float mapfloat(float x, float in_min, float in_max, float out_min, float out_max)\n{\n return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;\n}";var c="mapfloat("+t+", "+i+", "+n+", "+s+", "+a+")"}else c="map("+t+", "+i+", "+n+", "+s+", "+a+")";return[c,f.ORDER_NONE]},GA=function(x,f){return["constrain("+(f.valueToCode(this,"VALUE",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"LOW",f.ORDER_NONE)||"0")+", "+(f.valueToCode(this,"HIGH",f.ORDER_NONE)||"0")+")",f.ORDER_UNARY_POSTFIX]},BA=function(x,f){var e=this.getFieldValue("type"),t=f.valueToCode(this,"variables",f.ORDER_ATOMIC);return t+" = "+t+" "+e+" "+f.valueToCode(this,"data",f.ORDER_ATOMIC)+";\n"},UA=function(x,f){return f.valueToCode(this,"math_auto_add_minus_output",f.ORDER_ATOMIC)+this.getFieldValue("math_auto_add_minus_type")+";\n"},WA=function(x,f){return[this.getFieldValue("PIN"),f.ORDER_ATOMIC]},HA=WA,zA=WA,KA=WA,ZA=WA,jA=WA,JA=WA,qA=WA,QA=WA,$A=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("NAME"),K.Procedures.NAME_TYPE),t=f.statementToCode(this,"STACK");f.INFINITE_LOOP_TRAP&&(t=f.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+t);var i=f.valueToCode(this,"RETURN",f.ORDER_NONE)||"",n=this.getFieldValue("TYPE");i&&(i=" return "+i+";\n");for(var s=n||"void",a=[],c=0;c",f.definitions_.include_SoftwareSerial="#include ";var e=f.valueToCode(this,"RX",f.ORDER_ATOMIC),t=f.valueToCode(this,"TX",f.ORDER_ATOMIC),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.definitions_.var_declare_TinyGPSPlus_gps="TinyGPSPlus gps;",f.definitions_.var_declare_SoftwareSerial_gps_ss="SoftwareSerial gps_ss("+e+", "+t+");",f.setups_.setup_gps_ss_begin="gps_ss.begin("+i+");",""},sI=function(x,f){return["gps_ss.available()",f.ORDER_ATOMIC]},aI=function(x,f){return["gps.encode(gps_ss.read())",f.ORDER_ATOMIC]},cI=function(x,f){return["gps."+this.getFieldValue("WHAT")+".isValid()",f.ORDER_ATOMIC]},lI=function(x,f){return["gps."+this.getFieldValue("WHAT")+"()",f.ORDER_ATOMIC]},dI=function(x,f){var e=this.getFieldValue("Trig"),t=this.getFieldValue("Echo");f.setups_["setup_output_"+e]="pinMode("+e+", OUTPUT);",f.setups_["setup_output_"+t]="pinMode("+t+", INPUT);";var i="checkdistance_"+e+"_"+t,n="float "+i+"() {\n digitalWrite("+e+", LOW);\n delayMicroseconds(2);\n digitalWrite("+e+", HIGH);\n delayMicroseconds(10);\n digitalWrite("+e+", LOW);\n float distance = pulseIn("+t+", HIGH) / 58.00;\n delay(10);\n return distance;\n}\n";return f.definitions_[i]=n,[i+"()",f.ORDER_ATOMIC]},pI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("PIN"),i=this.getFieldValue("WHAT");return f.definitions_.include_DHT="#include ",f.definitions_["var_declare_dht"+t]="DHT dht"+t+"("+t+", "+e+");",f.setups_["DHT_SETUP"+t]=" dht"+t+".begin();",["temperature"==i?"dht"+t+".readTemperature()":"dht"+t+".readHumidity()",f.ORDER_ATOMIC]},oI=function(x,f){var e=Z.JSFuncs.getPlatform(),t=f.valueToCode(this,"PIN",f.ORDER_ATOMIC),i="analogRead("+t+")*0.488";if(e.match(RegExp(/ESP8266/)))i="analogRead("+t+")*0.322";else if(e.match(RegExp(/ESP32/)))i="analogRead("+t+")*0.161";return[i,f.ORDER_ATOMIC]},rI=function(x,f){var e=this.getFieldValue("PIN"),t=this.getFieldValue("UNIT");f.definitions_.include_OneWire="#include ",f.definitions_.include_DallasTemperature="#include ",f.definitions_["var_declare_OneWire_DallasTemperature_sensors_"+e]="OneWire oneWire_"+e+"("+e+");\nDallasTemperature sensors_"+e+"(&oneWire_"+e+");",f.definitions_.var_declare_DeviceAddress_insideThermometer="DeviceAddress insideThermometer;",f.setups_["setup_sensors_"+e+"_getAddress"]="sensors_"+e+".getAddress(insideThermometer, 0);",f.setups_["setup_sensors_"+e+"_setResolution"]="sensors_"+e+".setResolution(insideThermometer, 9);";var i="ds18b20_"+e+"_getTemp",n="float "+i+"(int w) {\n sensors_"+e+".requestTemperatures();\n if(w==0) {\n return sensors_"+e+".getTempC(insideThermometer);\n }\n else {\n return sensors_"+e+".getTempF(insideThermometer);\n }\n}\n";return f.definitions_[i]=n,["ds18b20_"+e+"_getTemp("+t+")",f.ORDER_ATOMIC]},uI=function(x,f){var e=f.valueToCode(this,"mlx90614_address",f.ORDER_ATOMIC),t="MLX";f.definitions_.include_Wire="#include ",f.definitions_.include_Adafruit_MLX90614="#include ",f.definitions_["var_declare_MLX90614_"+t]="Adafruit_MLX90614 MLX = Adafruit_MLX90614("+e+");",f.setups_["setup_MLX90614_"+t]=t+".begin();";return""},_I=function(x,f){return["MLX."+this.getFieldValue("mlx90614_data")+"()",f.ORDER_ATOMIC]},hI=function(x,f){var e=this.getFieldValue("DOUT"),t=this.getFieldValue("SCK"),i=f.valueToCode(this,"scale",f.ORDER_ATOMIC);return f.definitions_.include_Hx711="#include ",f.definitions_["var_declare_Hx711"+e+t]="Hx711 scale"+e+"_"+t+"("+e+","+t+");",f.setups_["setup_HX711"+e+t]="scale"+e+"_"+t+".setOffset(scale"+e+"_"+t+".getAverageValue(30));",f.setups_["setup_scale"+e+"_"+t+" .setScale"]="scale"+e+"_"+t+".setScale("+i+");",["scale"+e+"_"+t+".getWeight(10)",f.ORDER_ATOMIC]},FI=function(x,f){var e=f.valueToCode(this,"RST",f.ORDER_ATOMIC),t=f.valueToCode(this,"DAT",f.ORDER_ATOMIC),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC);return f.definitions_.include_ThreeWire="#include ",f.definitions_.include_RtcDS1302="#include ",f.definitions_.var_declare_ThreeWire="ThreeWire myWire("+t+","+i+","+e+");",f.definitions_.var_declare_RtcDS1302="RtcDS1302 Rtc(myWire);",f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},AI=function(x,f){var e=f.valueToCode(this,"SDA",f.ORDER_ATOMIC),t=f.valueToCode(this,"SCL",f.ORDER_ATOMIC),i=this.getFieldValue("RTCType");return f.definitions_["include_"+i]="#include <"+i+".h>",e!=Z.Profile.default.SDA[0][1]||t!=Z.Profile.default.SCL[0][1]?(f.definitions_.include_SoftwareWire="#include ",f.definitions_.var_declare_SoftwareWire="SoftwareWire myWire("+e+","+t+");",f.definitions_["var_declare_"+i]=i+" Rtc(myWire);"):(f.definitions_.include_Wire="#include ",f.definitions_["var_declare_"+i]=i+" Rtc(Wire);"),f.setups_["setup_Rtc.Begin"]="Rtc.Begin();\n Rtc.SetIsRunning(true);",""},II=function(x,f){return["Rtc.GetDateTime()."+this.getFieldValue("TIME_TYPE")+"()",f.ORDER_ATOMIC]},gI=function(x,f){var e=f.valueToCode(this,"year",f.ORDER_ATOMIC),t=f.valueToCode(this,"month",f.ORDER_ATOMIC),i=f.valueToCode(this,"day",f.ORDER_ATOMIC);switch(t){case"1":default:t="Jan";break;case"2":t="Feb";break;case"3":t="Mar";break;case"4":t="Apr";break;case"5":t="May";break;case"6":t="Jun";break;case"7":t="Jul";break;case"8":t="Aug";break;case"9":t="Sep";break;case"10":t="Oct";break;case"11":t="Nov";break;case"12":t="Dec"}return 1==i.length&&(i="0"+i),['"'+t+"/"+i+"/"+e+'"',f.ORDER_ATOMIC]},EI=function(x,f){var e=f.valueToCode(this,"hour",f.ORDER_ATOMIC),t=f.valueToCode(this,"minute",f.ORDER_ATOMIC),i=f.valueToCode(this,"second",f.ORDER_ATOMIC);return 1==e.length&&(e="0"+e),1==t.length&&(t="0"+t),1==i.length&&(i="0"+i),['"'+e+":"+t+":"+i+'"',f.ORDER_ATOMIC]},MI=function(x,f){return"Rtc.SetDateTime(RtcDateTime("+f.valueToCode(this,"date",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"time",f.ORDER_ATOMIC)+"));\n"},TI=function(x,f){return["__"+this.getFieldValue("type")+"__",f.ORDER_ATOMIC]},mI=function(){const x=new Date,f=x.getFullYear(),e=x.getMonth()+1,t=x.getDate();var i="myRTC",n=i+".setDate("+f+","+e+","+t+");\n";return n+=i+".setDOW("+f+","+e+","+t+");\n"},CI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_DFRobot_SHT20="#include ",f.definitions_.var_declare_DFRobot_SHT20="DFRobot_SHT20 sht20;\n",f.setups_.setup_sht20initSHT20="sht20.initSHT20();",f.setups_["setup_sht20.checkSHT20"]="sht20.checkSHT20(); \n",[this.getFieldValue("SHT20_TYPE"),f.ORDER_ATOMIC]},OI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n",[this.getFieldValue("ADXL345_PIN"),f.ORDER_ATOMIC]},SI=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_LIS3DHTR="#include ",f.definitions_.include_define_Wire="#define WIRE Wire",f.definitions_.var_declare_LIS3DHTR="LIS3DHTR LIS;\n",f.setups_["setup_LIS.begin"]="LIS.begin(WIRE,0x19);\n",f.setups_["setup_LIS.openTemp"]="LIS.openTemp();",f.setups_["setup_LIS.setFullScaleRange"]="LIS.setFullScaleRange(LIS3DHTR_RANGE_2G);",f.setups_["setup_LIS.setOutputDataRate"]="LIS.setOutputDataRate(LIS3DHTR_DATARATE_50HZ);",[this.getFieldValue("LIS3DHTR_GETDATA"),f.ORDER_ATOMIC]},RI=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_I2Cdev="#include ",f.definitions_.include_ADXL345="#include ",f.definitions_.var_declare_ADXL345="ADXL345 accel;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_accel.begin"]="accel.initialize(); \n";var e,t=this.getFieldValue("MIXEPI_ADXL345_OFFSET"),i=f.valueToCode(this,"OFFSET",f.ORDER_ATOMIC);return"setOffsetX"==t?e="accel.setOffsetX(round("+i+"*4/15.9));\n":"setOffsetY"==t?e="accel.setOffsetY(round("+i+"*4/15.9));\n":"setOffsetZ"==t&&(e="accel.setOffsetZ(round("+i+"*4/15.9));\n"),e},DI=function(x,f){return f.definitions_.include_MPU6050_tockn="#include ",f.definitions_.include_Wire="#include ",f.definitions_.var_declare_mpu6050="MPU6050 mpu6050(Wire);",f.setups_.setup_ngyro="Wire.begin();\n mpu6050.begin();\n mpu6050.calcGyroOffsets(true);",["mpu6050."+this.getFieldValue("MPU6050_TYPE"),f.ORDER_ATOMIC]},NI=function(){return"mpu6050.update();\n"},LI=function(x,f){return"encoder_"+this.getFieldValue("Encoder_NO")+".write("+f.valueToCode(this,"value",f.ORDER_ATOMIC)+");\n "},PI=function(x,f){return["encoder_"+this.getFieldValue("Encoder_NO")+".read()",f.ORDER_ATOMIC]},yI=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");f.definitions_.include_Encoder="#include \n",f.definitions_["var_declare_Encoder_"+i]="Encoder encoder_"+i+"("+e+","+t+");\n ";return""},bI=function(x,f){return"encoder_counter_"+this.getFieldValue("Encoder_NO")+" = "+f.valueToCode(this,"value",f.ORDER_ATOMIC)+";\n "},vI=function(x,f){return["encoder_counter_"+this.getFieldValue("Encoder_NO"),f.ORDER_ATOMIC]},wI=function(x,f){var e=this.getFieldValue("CLK"),t=this.getFieldValue("DT"),i=this.getFieldValue("Encoder_NO");return f.definitions_["var_declare_Encoder_"+i]="int encoder_counter_"+i+" = 0;\nint encoder_aState_"+i+";\nint encoder_aLastState_"+i+";\n",f.setups_["setups_encoder_"+i]=" pinMode ("+e+", INPUT);\n pinMode ("+t+", INPUT);\n encoder_aLastState_"+i+" = digitalRead("+e+");\n"," encoder_aState_"+i+" = digitalRead("+e+");\n if (encoder_aState_"+i+" != encoder_aLastState_"+i+") {\n if (digitalRead("+t+") != encoder_aState_"+i+") {\n encoder_counter_"+i+" ++;\n } else {\n encoder_counter_"+i+" --;\n }\n }\n encoder_aLastState_"+i+" = encoder_aState_"+i+";\n"},YI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("mode"),i=f.valueToCode(this,"CLK",f.ORDER_ATOMIC),n=f.valueToCode(this,"DT",f.ORDER_ATOMIC);return f.definitions_.include_ESPRotary="#include ",f.definitions_["var_declare_encoder"+e]=`ESPRotary encoder${e};`,f.setups_["setup_encoder"+e]=`encoder${e}.begin(${n}, ${i});\n encoder${e}.setStepsPerClick(${t});`,f.loops_begin_["loop_encoder"+e]=`encoder${e}.loop();\n`,""},VI=function(x,f){return[`encoder${this.getFieldValue("TYPE")}.${this.getFieldValue("OPERATE_TYPE")}()`,f.ORDER_ATOMIC]},kI=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC);return`encoder${e}.${this.getFieldValue("OPERATE_TYPE")}(${t});\n`},XI=function(x,f){var e=this.getFieldValue("TYPE"),t=this.getFieldValue("OPERATE_TYPE"),i=f.statementToCode(this,"DO"),n="encoder"+e;switch(t){case"setChangedHandler":n+="OnChanged";break;case"setRightRotationHandler":n+="OnRightRotation";break;case"setLeftRotationHandler":n+="OnLeftRotation";break;case"setUpperOverflowHandler":n+="OnUpperOverflow";break;default:n+="OnLowerOverflow"}f.definitions_["function_"+n]=`void ${n}(ESPRotary& encoder${e}) {\n ${i}}\n`,f.setups_["setup_"+n]=`encoder${e}.${t}(${n});`;return""},GI=function(x,f){var e=this.getFieldValue("TYPE"),t=f.valueToCode(this,"address",f.ORDER_ATOMIC);return f.definitions_.include_Wire="#include ",f.definitions_.include_SPI="#include ",f.definitions_.include_Adafruit_Sensor="#include ","bme"==e?(f.definitions_.include_Adafruit_BME280="#include ",f.definitions_.var_declare_Adafruit_BME280="Adafruit_BME280 bme;"):(f.definitions_.include_Adafruit_BMP280="#include ",f.definitions_.var_declare_Adafruit_BMP280="Adafruit_BMP280 bmp;"),f.setups_.setup_status="unsigned status;\n status = "+e+".begin("+t+");",f.definitions_.include_SEALEVELPRESSURE_HPA="#define SEALEVELPRESSURE_HPA (1013.25)",[e+"."+this.getFieldValue("BME_TYPE"),f.ORDER_ATOMIC]},BI=function(x,f){f.definitions_.include_PS2X_lib="#include ",f.definitions_.var_declare_PS2X="PS2X ps2x;";var e=this.getFieldValue("PS2_DAT"),t=this.getFieldValue("PS2_CMD"),i=this.getFieldValue("PS2_SEL"),n=this.getFieldValue("PS2_CLK"),s=this.getFieldValue("rumble");return f.setups_.setup_ps2x_config_gamepad="ps2x.config_gamepad("+n+","+t+","+i+","+e+", true, "+s+");\n delay(300);\n",""},UI=function(){return"ps2x.read_gamepad(false, 0);\ndelay(30);\n"},WI=function(x,f){var e=this.getFieldValue("psbt");return["ps2x."+this.getFieldValue("btstate")+"("+e+")",f.ORDER_ATOMIC]},HI=function(x,f){return["ps2x.Analog("+this.getFieldValue("psstk")+")",f.ORDER_ATOMIC]},zI=function(x,f){return f.definitions_.include_DFRobot_TCS34725="#include ",f.definitions_.var_declare_TCS34725="DFRobot_TCS34725 tcs34725;\n",f.setups_.setup_DFRobot_TCS34725="tcs34725.begin();",[this.getFieldValue("DF_TCS34725_COLOR"),f.ORDER_ATOMIC]},KI=function(x,f){var e=f.valueToCode(this,"tcs230_s0",f.ORDER_ATOMIC),t=f.valueToCode(this,"tcs230_s1",f.ORDER_ATOMIC),i=f.valueToCode(this,"tcs230_s2",f.ORDER_ATOMIC),n=f.valueToCode(this,"tcs230_s3",f.ORDER_ATOMIC),s=f.valueToCode(this,"tcs230_led",f.ORDER_ATOMIC),a=f.valueToCode(this,"tcs230_out",f.ORDER_ATOMIC);f.definitions_.define_tcs230_pin="#define tcs230_S0 "+e+"\n#define tcs230_S1 "+t+"\n#define tcs230_S2 "+i+"\n#define tcs230_S3 "+n+"\n#define tcs230_sensorOut "+a+"\n#define tcs230_LED "+s,f.definitions_.function_tcs230_Getcolor="//TCS230颜色传感器获取RGB值\nint tcs230_Getcolor(char data)\n{\n int frequency = 0;\n switch(data)\n {\n case 'R':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,LOW);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 72, 255, 0);\n break;\n }\n case 'G':\n {\n digitalWrite(tcs230_S2,HIGH);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 30, 90, 255, 0);\n break;\n }\n case 'B':\n {\n digitalWrite(tcs230_S2,LOW);\n digitalWrite(tcs230_S3,HIGH);\n frequency = pulseIn(tcs230_sensorOut, LOW);\n frequency = map(frequency, 25, 70, 255, 0);\n break;\n }\n default:\n return -1;\n }\n if (frequency < 0)\n frequency = 0;\n if (frequency > 255)\n frequency = 255;\n return frequency;\n}\n",f.setups_.setup_tcs230_pin="pinMode(tcs230_S0, OUTPUT);\n pinMode(tcs230_S1, OUTPUT);\n pinMode(tcs230_S2, OUTPUT);\n pinMode(tcs230_S3, OUTPUT);\n pinMode(tcs230_LED, OUTPUT);\n pinMode(tcs230_sensorOut, INPUT);\n digitalWrite(tcs230_S0,HIGH);\n digitalWrite(tcs230_S1,LOW);\n digitalWrite(tcs230_LED,HIGH);";return""},ZI=function(x,f){return["tcs230_Getcolor('"+this.getFieldValue("tcs230_color")+"')",f.ORDER_ATOMIC]},jI=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_row",f.ORDER_ATOMIC),i=f.valueToCode(this,"keypad_col",f.ORDER_ATOMIC),n=f.valueToCode(this,"keypad_type",f.ORDER_ATOMIC);f.definitions_.include_Keypad="#include ",f.definitions_["var_keypadstart1"+e]="const byte "+e+"_ROWS = 4;",f.definitions_["var_keypadstart2"+e]="const byte "+e+"_COLS = 4;",f.definitions_["var_keypadstart3"+e]="char "+e+"_hexaKeys["+e+"_ROWS]["+e+"_COLS] = {\n"+n+"\n};",f.definitions_["var_keypadstart4"+e]="byte "+e+"_rowPins["+e+"_ROWS] = "+t,f.definitions_["var_keypadstart5"+e]="byte "+e+"_colPins["+e+"_COLS] = "+i,f.definitions_["var_keypadstart6"+e]="Keypad "+e+" = Keypad(makeKeymap("+e+"_hexaKeys), "+e+"_rowPins, "+e+"_colPins, "+e+"_ROWS, "+e+"_COLS);",f.setups_.setup_serial_Serial="Serial.begin(9600);";return""},JI=function(x,f){return["{"+f.valueToCode(this,"keypad_row_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_row_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},qI=function(x,f){return["{"+f.valueToCode(this,"keypad_col_1",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_2",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_3",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"keypad_col_4",f.ORDER_ATOMIC)+"};",f.ORDER_ATOMIC]},QI=function(x,f){return[" {'"+this.getFieldValue("keypad_1_1")+"','"+this.getFieldValue("keypad_1_2")+"','"+this.getFieldValue("keypad_1_3")+"','"+this.getFieldValue("keypad_1_4")+"'},\n {'"+this.getFieldValue("keypad_2_1")+"','"+this.getFieldValue("keypad_2_2")+"','"+this.getFieldValue("keypad_2_3")+"','"+this.getFieldValue("keypad_2_4")+"'},\n {'"+this.getFieldValue("keypad_3_1")+"','"+this.getFieldValue("keypad_3_2")+"','"+this.getFieldValue("keypad_3_3")+"','"+this.getFieldValue("keypad_3_4")+"'},\n {'"+this.getFieldValue("keypad_4_1")+"','"+this.getFieldValue("keypad_4_2")+"','"+this.getFieldValue("keypad_4_3")+"','"+this.getFieldValue("keypad_4_4")+"'}",f.ORDER_ATOMIC]},$I=function(x,f){return[this.getFieldValue("keypad_name")+".getKey()",f.ORDER_ATOMIC]},xg=function(x,f){var e=this.getFieldValue("keypad_name"),t=f.valueToCode(this,"keypad_event_input",f.ORDER_ATOMIC),i=this.getFieldValue("keypad_start_event_delay"),n=f.statementToCode(this,"keypad_event_data");f.definitions_["define_variate_"+t]="volatile char "+t+";",f.definitions_["var_keypadstart7_event"+e]="void keypadEvent_"+e+"(KeypadEvent "+t+") {\n"+n+"\n}",f.setups_["setup_keypad_event_and_delay"+e]=e+".addEventListener(keypadEvent_"+e+");\n "+e+".setHoldTime("+i+");";return""},fg=function(x,f){f.definitions_.include_Wire="#include ",f.definitions_.include_FaBo9Axis_MPU9250="#include ",f.definitions_.var_declare_FaBo9Axis="FaBo9Axis fabo_9axis;\n float ax,ay,az,gx,gy,gz,mx,my,mz;",f.setups_.setup_fabo_9axis="fabo_9axis.begin();";var e=this.getFieldValue("MixGo_MPU9250_GETAB"),t="";return"a"==e&&(t+="fabo_9axis.readAccelX()"),"b"==e&&(t+="fabo_9axis.readAccelY()"),"c"==e&&(t+="fabo_9axis.readAccelZ()"),"d"==e&&(t+="fabo_9axis.readGyroX()"),"e"==e&&(t+="fabo_9axis.readGyroY()"),"f"==e&&(t+="fabo_9axis.readGyroZ()"),"g"==e&&(t+="fabo_9axis.readMagnetX()"),"h"==e&&(t+="fabo_9axis.readMagnetY()"),"i"==e&&(t+="fabo_9axis.readMagnetZ()"),[t,f.ORDER_ATOMIC]},eg=function(x,f){var e=this.getFieldValue("PIN"),t=f.valueToCode(this,"NominalResistance",f.ORDER_ATOMIC),i=f.valueToCode(this,"betaCoefficient",f.ORDER_ATOMIC),n=f.valueToCode(this,"seriesResistor",f.ORDER_ATOMIC);return f.definitions_.include_thermistor="#include ",f.definitions_["var_declare_thermistor"+e]="THERMISTOR thermistor"+e+"("+e+","+t+","+i+","+n+");",["thermistor"+e+".read()",f.ORDER_ATOMIC]},tg=function(x,f){return f.definitions_.include_Wire="#include ",f.definitions_.include_RL_AHT21="#include ",f.definitions_.var_declare_AHT21="AHT21Class AHT21;\n",f.setups_["setup_Wire.begin"]="Wire.begin();",f.setups_["setup_AHT21.begin"]="AHT21.begin();\n",[this.getFieldValue("AHT21_TYPE"),f.ORDER_ATOMIC]},ig=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||Z.Profile.default.serial;return f.setups_["setup_serial_"+e]=e+".begin("+t+");",""},ng=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),e+".write("+t+");\n"},sg=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("new_line"),i=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||'""';return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),e+"."+t+"("+i+");\n"},ag=sg,cg=function(x,f){var e=this.getFieldValue("serial_select"),t=this.getFieldValue("STAT"),i=this.getFieldValue("new_line"),n=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC)||"0";return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),e+"."+i+"("+n+","+t+");\n"},lg=cg,dg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),[e+".available()",f.ORDER_ATOMIC]},pg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),[e+".readString()",f.ORDER_ATOMIC]},og=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"CONTENT",f.ORDER_ATOMIC);return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),[e+".readStringUntil("+t+")",f.ORDER_ATOMIC]},rg=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),[e+"."+this.getFieldValue("STAT")+"()",f.ORDER_ATOMIC]},ug=function(x,f){var e=this.getFieldValue("serial_select");return f.setups_["setup_serial_"+e]||(f.setups_["setup_serial_"+e]=e+".begin("+Z.Profile.default.serial+");"),e+".flush();\n"},_g=function(x,f){var e=this.getFieldValue("serial_select"),t=f.valueToCode(this,"RX",f.ORDER_ATOMIC),i=f.valueToCode(this,"TX",f.ORDER_ATOMIC);return f.definitions_.include_SoftwareSerial="#include ",f.definitions_["var_declare_"+e]="SoftwareSerial "+e+"("+t+","+i+");",""},hg=function(x,f){var e=this.getFieldValue("serial_select"),t="attachPinInterrupt_fun_"+e,i=f.statementToCode(this,"DO"),n="void "+e.replace("Serial","serialEvent")+"() {\n"+i+"}\n";return f.definitions_[t]=n,""};var Fg;const Ag=function(x,f){var e=Z.JSFuncs.getPlatform();Fg=f.valueToCode(this,"PIN_CS",f.ORDER_ATOMIC),e.match(RegExp(/ESP32/))?f.definitions_.include_mySD="#include ":f.definitions_.include_SD="#include ",f.definitions_.include_SPI="#include ",f.setups_.setup_sd_write_begin="SD.begin("+Fg+");";return""},Ig=function(x,f){var e=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";f.definitions_.var_declare_File_datafile="File datafile;";var n="datafile = SD.open("+e+", FILE_WRITE);\n";return n+="if(datafile){\n",n+="\tdatafile.print("+t+");\n","true"==i&&(n+='\tdatafile.println("");\n'),n+="\tdatafile.close();\n",n+="}\n"},gg=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Fg+");";return["card.type()",f.ORDER_ATOMIC]},Eg=function(x,f){f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.definitions_.var_declare_SdFile="SdFile root;",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Fg+");",f.setups_.setup_volume_init="volume.init(card);";return"root.openRoot(volume);\nroot.ls(LS_R | LS_DATE | LS_SIZE);"},Mg=function(x,f){return f.definitions_.var_declare_Sd2Card_card="Sd2Card card;",f.setups_.setup_card_init="card.init(SPI_HALF_SPEED, "+Fg+");",f.definitions_.var_declare_SdVolume="SdVolume volume;",f.setups_.setup_volume_init="volume.init(card);",[this.getFieldValue("volume_TYPE"),f.ORDER_ATOMIC]},Tg=function(x,f){return["SD.exists("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},mg=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.var_declare_File_datafile="File datafile;",f.definitions_.var_declare_File_datafile_SD_card_reading='String SD_card_reading(String path) {\ndatafile = SD.open(path.c_str());\n String sd_data = "";\n while (datafile.available()) {\n sd_data = String(sd_data) + String(char(datafile.read()));\n }\n return sd_data;\n}',["SD_card_reading("+e+")",f.ORDER_ATOMIC]},Cg=function(x,f){return"SD.remove("+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");"},Og=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var i="eepromWriteLong",n="void "+i+"(int address, unsigned long value){\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.ULtime=value;\n EEPROM.write(address, time.b[0]);\n EEPROM.write(address+1, time.b[1]);\n if(time.b[2] != EEPROM.read(address+2))\n EEPROM.write(address+2, time.b[2]);\n if(time.b[3] != EEPROM.read(address+3))\n EEPROM.write(address+3, time.b[3]);\n}\n";return f.definitions_[i]=n,"eepromWriteLong("+e+", "+t+");\n"},Sg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";f.definitions_.include_EEPROM="#include ";var t="eepromReadLong("+e+")",i="eepromReadLong",n="unsigned long "+i+"(int address) {\n union u_tag {\n \tbyte b[4];\n \tunsigned long ULtime;\n }\n time;\n time.b[0] = EEPROM.read(address);\n time.b[1] = EEPROM.read(address+1);\n time.b[2] = EEPROM.read(address+2);\n time.b[3] = EEPROM.read(address+3);\n return time.ULtime;\n}\n";return f.definitions_[i]=n,[t,f.ORDER_ATOMIC]},Rg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.write("+e+", "+t+");\n"},Dg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ",["EEPROM.read("+e+")",f.ORDER_ATOMIC]},Ng=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.put("+e+", "+t+");\n"},Lg=function(x,f){var e=f.valueToCode(this,"ADDRESS",f.ORDER_ATOMIC)||"0",t=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||"0";return f.definitions_.include_EEPROM="#include ","EEPROM.get("+e+", "+t+");\n"},Pg=function(x,f){var e=this.getFieldValue("MODE"),t=f.valueToCode(this,"FILE",f.ORDER_ATOMIC)||'""',i=f.valueToCode(this,"DATA",f.ORDER_ATOMIC)||'""',n=f.valueToCode(this,"NEWLINE",f.ORDER_ATOMIC)||"false";if(f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',1==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void writeFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_WRITE);\n if (!file) {\n Serial.println("- failed to open file for writing");\n return;\n }\n if (file.print(message)) {\n Serial.println("- file written");\n } else {\n Serial.println("- write failed");\n }\n file.close();\n}',"true"==n)var s="writeFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="writeFile(SPIFFS, "+t+", String("+i+").c_str());\n";if(2==e)if(f.definitions_["var_simple_spiffs_store_spiffs_write"+e]='void appendFile(fs::FS &fs, const char * path, const char * message) {\n File file = fs.open(path, FILE_APPEND);\n if (!file) {\n Serial.println("- failed to open file for appending");\n return;\n }\n if (file.print(message)) {\n Serial.println("- message appended");\n } else {\n Serial.println("- append failed");\n }\n file.close();\n}',"true"==n)s="appendFile(SPIFFS, "+t+", String(String("+i+') + String("\\r\\n")).c_str());\n';else s="appendFile(SPIFFS, "+t+", String("+i+").c_str());\n";return s},yg=function(x,f){var e=f.valueToCode(this,"FileName",f.ORDER_ATOMIC);return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_read='String readFile(fs::FS &fs, const char * path) {\n File file = fs.open(path);\n if (!file || file.isDirectory()) {\n Serial.println("- failed to open file for reading");\n file.close();\n return "SPIFFS_error";\n } else {\n Serial.println("- read from file:");\n String SPIFFS_data = "";\n while (file.available()) {\n SPIFFS_data = String(SPIFFS_data) + String(char(file.read()));\n }\n file.close();\n return SPIFFS_data;\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',["readFile(SPIFFS, "+e+")",f.ORDER_ATOMIC]},bg=function(x,f){return f.definitions_.include_ESP_FS='#include "FS.h"',f.definitions_.include_ESP_SPIFFS='#include "SPIFFS.h"',f.definitions_.var_simple_spiffs_DelFile='void deleteFile(fs::FS &fs, const char * path) {\n if (fs.remove(path)) {\n Serial.println("- file deleted");\n } else {\n Serial.println("- delete failed");\n }\n}',f.setups_.setup_ESP_SPIFFS=' if (!SPIFFS.begin(true)) {\n Serial.println("SPIFFS Mount Failed");\n return;\n }',"deleteFile(SPIFFS, "+f.valueToCode(this,"FileName",f.ORDER_ATOMIC)+");\n"},vg=function(x,f){return[f.quote_(this.getFieldValue("TEXT")),f.ORDER_ATOMIC]},wg=function(x,f){return["'"+this.getFieldValue("TEXT")+"'",f.ORDER_ATOMIC]},Yg=function(x,f){return["String("+f.valueToCode(this,"A",f.ORDER_ATOMIC)+")"+" + "+("String("+f.valueToCode(this,"B",f.ORDER_ATOMIC)+")"),f.ORDER_ATOMIC]},Vg=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+f.valueToCode(this,"VAR",f.ORDER_ATOMIC)+")"+"."+e+"()",f.ORDER_ATOMIC]},kg=function(x,f){return["char("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},Xg=function(x,f){return["toascii("+("'"+this.getFieldValue("TEXT")+"'")+")",f.ORDER_ATOMIC]},Gg=function(x,f){var e=this.getFieldValue("TOWHAT");return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||"0")+", "+e+")",f.ORDER_ATOMIC]},Bg=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").length()",f.ORDER_ATOMIC]},Ug=function(x,f){return["String("+(f.valueToCode(this,"VAR",f.ORDER_ATOMIC)||'""')+").charAt("+(f.valueToCode(this,"AT",f.ORDER_ATOMIC)||"0")+")",f.ORDER_ATOMIC]},Wg=function(x,f){var e="String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")",t="String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")";return[e+"."+this.getFieldValue("DOWHAT")+"("+t+")",f.ORDER_ATOMIC]},Hg=function(x,f){return["String("+(f.valueToCode(this,"STR1",f.ORDER_ATOMIC)||'""')+")"+".compareTo("+("String("+(f.valueToCode(this,"STR2",f.ORDER_ATOMIC)||'""')+")")+")",f.ORDER_ATOMIC]},zg=function(x,f){return["String("+f.valueToCode(this,"numeral",f.ORDER_ATOMIC)+", "+f.valueToCode(this,"decimal_places",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Kg=function(x,f){return["String("+f.valueToCode(this,"name",f.ORDER_ATOMIC)+").substring("+f.valueToCode(this,"Start",f.ORDER_ATOMIC)+","+f.valueToCode(this,"end",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Zg=function(x,f){var e=this.getFieldValue("type");return""+f.valueToCode(this,"String",f.ORDER_ATOMIC)+e+";\n"},jg=function(x,f){var e=f.valueToCode(this,"String",f.ORDER_ATOMIC),t=f.valueToCode(this,"replace",f.ORDER_ATOMIC);return e+".replace("+f.valueToCode(this,"source_data",f.ORDER_ATOMIC)+", "+t+");\n"},Jg=function(x,f){return f.valueToCode(this,"String",f.ORDER_ATOMIC)+".trim();\n"},qg=function(x,f){var e=this.getFieldValue("type");return["String("+f.valueToCode(this,"String",f.ORDER_ATOMIC)+")"+e+"("+f.valueToCode(this,"String1",f.ORDER_ATOMIC)+")",f.ORDER_ATOMIC]},Qg=function(x,f){var e=f.valueToCode(this,"variable",f.ORDER_ATOMIC);return[this.getFieldValue("type")+"("+e+")",f.ORDER_ATOMIC]},$g=function(x,f){return["String("+f.valueToCode(this,"str1",f.ORDER_ATOMIC)+").indexOf(String("+f.valueToCode(this,"str2",f.ORDER_ATOMIC)+"))",f.ORDER_ATOMIC]},xE=function(x,f){for(var e=new Array(this.itemCount_),t=0;t",f.setups_.setup_serial_Serial="Serial.begin(9600);",f.setups_.setup_wire_begin="Wire.begin();",f.setups_['setup_Serial.println("I2C Scanner")']='Serial.println("I2C Scanner");';return'byte error, address;\nint nDevices;\nSerial.println("Scanning...");\nnDevices = 0;\nfor (address = 1; address < 127; address++ ){\n Wire.beginTransmission(address);\n error = Wire.endTransmission();\n if (error == 0){\n Serial.print("I2C device found at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.print(address, HEX);\n Serial.println(" !");\n nDevices++;\n }\n else if (error == 4){\n Serial.print("Unknow error at address 0x");\n if (address < 16)\n Serial.print("0");\n Serial.println(address, HEX);\n }\n}\nif (nDevices == 0)\n Serial.println("No I2C devices found");\nelse\n Serial.println("done");\ndelay(5000);\n'};function nE(x){switch(x){case"0000":x="0";break;case"0001":x="1";break;case"0010":x="2";break;case"0011":x="3";break;case"0100":x="4";break;case"0101":x="5";break;case"0110":x="6";break;case"0111":x="7";break;case"1000":x="8";break;case"1001":x="9";break;case"1010":x="A";break;case"1011":x="B";break;case"1100":x="C";break;case"1101":x="D";break;case"1110":x="E";break;case"1111":x="F"}return x}function sE(x){x=x.replace(/(^\s*)|(\s*$)/g,"");var f="";for(let e=0;e2147483647?2147483647:f-0<-2147483648?-2147483648:isNaN(f-0)?0:f-0}const aE=function(x,f){var e=f.variableDB_.getName(this.getFieldValue("VAR"),K.Variables.NAME_TYPE),t="TRUE"==this.getFieldValue("save_hz"),i=f.valueToCode(this,"input_data",f.ORDER_ATOMIC),n=0;for(var s of i)","==s&&n++;n++,this.setFieldValue(n,"x"),f.libs_[e]=t?"static const unsigned char PROGMEM "+e+"["+n+"] = {"+i+"};":"unsigned char "+e+"["+n+"] = {"+i+"};";return""};for(var cE=new Array,lE=0;lE<8;lE++)cE[lE]=128>>lE;var dE=document.createElement("canvas"),pE=dE.getContext("2d");const oE=function(x,f){var e=this.getFieldValue("bitmap_formats"),t=this.getFieldValue("modulus_way"),i=this.getFieldValue("modulus_direction"),n=this.getFieldValue("hz_sharp"),s=this.getFieldValue("hz_line_height"),a=this.getFieldValue("hz_up_down"),c=this.getFieldValue("hz_up_down_data"),l=this.getFieldValue("hz_left_right"),d=this.getFieldValue("hz_left_right_data"),p=this.getFieldValue("bitmap_width"),o=this.getFieldValue("bitmap_height"),r=this.getFieldValue("input_data"),u=sE(p),_=sE(o),h=Math.ceil(u/8),F=0,A=0;A=sE("hz_down"==a?c:"-"+c),F=sE("hz_right"==l?d:"-"+d),dE.width=u,dE.height=_,pE.font="normal normal normal "+s+"px "+n,pE.textAlign="left",pE.textBaseline="top";var I=r;pE.fillStyle="#000000",pE.fillRect(0,0,u,_),pE.fillStyle="#ffffff",pE.translate(u/2,_/2),pE.rotate(Math.PI/180*0),pE.fillText(I,F-u/2,A-_/2);for(var g=pE.getImageData(0,0,u,_).data,E=new Array(h*_),M=0;M0?"0"==D?S+=" ":"1"==D&&(S+="0 "):R%(8*h)==0&&(S+="|\n|");for(M=0;Mu-1));M++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}else if("2"==t){P=Y*_;for(T=1;T<=P;T++){for(M=1;M<=8;M++)b=T%Y==0?8*(Y-1)+M-1:8*(T%Y-1)+M-1,v=Math.ceil(T/Y)-1,"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}else if("3"==t){P=w*u;for(T=1;T<=P;T++){for(M=1;M<=8&&(b=T%(8*Y)==0?8*Y-1:T%(8*Y)-1,v=8*(Math.ceil(T/(8*Y))-1)+M-1,!(b>u-1));M++)v>_-1?y+="1"==e?"0":"1":"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}else if("4"==t){P=Y*_;for(T=1;T<=P;T++){for(M=1;M<=8;M++)v=T%_==0?_-1:T%_-1,b=8*(Math.ceil(T/_)-1)+M-1,"1"==e?y+=L[v][b]:"0"==L[v][b]?y+="1":y+="0";y+=","}}var V="",k="";if(2==i){for(var M of y)","==M?(k+=V,k+=",",V=""):V=M+V;y=k}for(var M of(V="",k="0x",y))","!=M?4==(V+=M).length&&(k+=nE(V),V=""):k+=",0x";return y=(y=k).substring(0,y.length-3),f.definitions_["var_declare_tool_modulus_data_"+n+"_"+s+"px"+function(x){let f=[];for(let e=0;e(_msg), length);\n}\n",f.setups_.setup_esp_now='\n WiFi.persistent(false);\n WiFi.mode(WIFI_AP);\n WiFi.disconnect();\n WiFi.softAP("ESPNOW", nullptr, 3);\n WiFi.softAPdisconnect(false);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.softAPmacAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }',`if (sendMessage(PEER_${a}, ${t})) {\n`+i+"} else {\n"+n+"}\n"},wE=function(x,f){var e=f.statementToCode(this,"receive_data");e=e.replace(/(^\s*)|(\s*$)/g,""),f.definitions_.include_ESP8266WiFi="#include ",f.definitions_.include_WifiEspNow="#include ",f.definitions_.function_onMessageRecv='void OnMessageRecv(const uint8_t _mac[WIFIESPNOW_ALEN], const uint8_t* _buf, size_t _count, void* arg) {\n // Serial.printf("从MAC:%02X:%02X:%02X:%02X:%02X:%02X处收到数据\\n", _mac[0], _mac[1], _mac[2], _mac[3], _mac[4], _mac[5]);\n String message = "";\n for (int i = 0; i < static_cast(_count); i++) {\n message += String(static_cast(_buf[i]));\n }\n '+e+"\n}\n",f.setups_.setup_esp_now_message_receive_cb="WifiEspNow.onReceive(OnMessageRecv, nullptr);",f.setups_.setup_esp_now='\n WiFi.persistent(false);\n WiFi.mode(WIFI_AP);\n WiFi.disconnect();\n WiFi.softAP("ESPNOW", nullptr, 3);\n WiFi.softAPdisconnect(false);\n\n Serial.print("当前设备MAC:");\n Serial.println(WiFi.softAPmacAddress());\n\n bool ok = WifiEspNow.begin();\n if (!ok) {\n Serial.println("WifiEspNow初始化失败");\n ESP.restart();\n }';return""},YE='
\r\n
{{-d.title}}
\r\n
\r\n {{# if (d.message) { }}\r\n

\r\n {{-d.message}}\r\n

\r\n {{# } }}\r\n {{# if (d.href === \'#\') { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } else { }}\r\n

{{d.moreInfo}}: {{-d.name}}

\r\n {{# } }}\r\n
\r\n
',{XML:VE}=Z,{ZhHans:kE}=K.Lang;kE.ESP8266_CONFIG_TEMPLATE=YE,kE.ESP8266_CONFIG_INTRODUCE="详细介绍请参考",kE.ESP8266_CONFIG_MESSAGE_XTAL=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"CPU时钟频率",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#cpu-frequency",name:"CPU Frequency"}),kE.ESP8266_CONFIG_MESSAGE_VT=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"VTable location",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#vtable-location",name:"VTable"}),kE.ESP8266_CONFIG_MESSAGE_EXCEPTION=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"C++异常",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#c-exceptions",name:"C++ Exceptions"}),kE.ESP8266_CONFIG_MESSAGE_STACKSMASH=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"堆栈保护",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#stack-protection",name:"Stack Protection"}),kE.ESP8266_CONFIG_MESSAGE_SSL=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"SSL支持",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#ssl-support",name:"SSL Support"}),kE.ESP8266_CONFIG_MESSAGE_MMU=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"内存管理单元",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#mmu-memory-management-unit",name:"MMU"}),kE.ESP8266_CONFIG_MESSAGE_NON32XFER=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"非32位访问",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#non-32-bit-access",name:"Non-32-Bit Access"}),kE.ESP8266_CONFIG_MESSAGE_RESET_METHOD=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"复位方式",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#reset-method",name:"Reset Method"}),kE.ESP8266_CONFIG_MESSAGE_CRYSTAL_FREQ=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"晶振频率",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#crystal-frequency",name:"Crystal Frequency"}),kE.ESP8266_CONFIG_MESSAGE_FLASH_FREQ=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"闪存频率",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"无"}),kE.ESP8266_CONFIG_MESSAGE_FLASH_MODE=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"烧录方式",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-mode",name:"Flash Mode"}),kE.ESP8266_CONFIG_MESSAGE_EESZ=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"闪存大小",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-size",name:"Flash Size"}),kE.ESP8266_CONFIG_MESSAGE_LED=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"内置LED",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"无"}),kE.ESP8266_CONFIG_MESSAGE_SDK=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"NonOS SDK版本",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#nonos-sdk-version",name:"NONOS SDK Version"}),kE.ESP8266_CONFIG_MESSAGE_IP=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"lwIP变体",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#lwip-variant",name:"lwIP Variant"}),kE.ESP8266_CONFIG_MESSAGE_DBG=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"调试端口",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#debug-port",name:"Debug port"}),kE.ESP8266_CONFIG_MESSAGE_WIPE=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"擦除Flash",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#erase-flash",name:"Erase Flash"}),kE.ESP8266_CONFIG_MESSAGE_BAUD=VE.render(kE.ESP8266_CONFIG_TEMPLATE,{title:"上传速度",moreInfo:kE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"无"}),kE.BOARD_FS="板卡文件管理";const XE=kE,{XML:GE}=Z,{ZhHant:BE}=K.Lang;BE.ESP8266_CONFIG_TEMPLATE=YE,BE.ESP8266_CONFIG_INTRODUCE="詳細介紹請參攷",BE.ESP8266_CONFIG_MESSAGE_XTAL=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"CPU時鐘頻率",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#cpu-frequency",name:"CPU Frequency"}),BE.ESP8266_CONFIG_MESSAGE_VT=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"VTable location",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#vtable-location",name:"VTable"}),BE.ESP8266_CONFIG_MESSAGE_EXCEPTION=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"C++异常",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#c-exceptions",name:"C++ Exceptions"}),BE.ESP8266_CONFIG_MESSAGE_STACKSMASH=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"堆棧保護",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#stack-protection",name:"Stack Protection"}),BE.ESP8266_CONFIG_MESSAGE_SSL=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"SSL支持",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#ssl-support",name:"SSL Support"}),BE.ESP8266_CONFIG_MESSAGE_MMU=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"記憶體管理單元",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#mmu-memory-management-unit",name:"MMU"}),BE.ESP8266_CONFIG_MESSAGE_NON32XFER=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"非32比特訪問",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#non-32-bit-access",name:"Non-32-Bit Access"}),BE.ESP8266_CONFIG_MESSAGE_RESET_METHOD=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"復位管道",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#reset-method",name:"Reset Method"}),BE.ESP8266_CONFIG_MESSAGE_CRYSTAL_FREQ=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"晶振頻率",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#crystal-frequency",name:"Crystal Frequency"}),BE.ESP8266_CONFIG_MESSAGE_FLASH_FREQ=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"閃存頻率",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"無"}),BE.ESP8266_CONFIG_MESSAGE_FLASH_MODE=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"燒錄管道",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-mode",name:"Flash Mode"}),BE.ESP8266_CONFIG_MESSAGE_EESZ=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"閃存大小",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-size",name:"Flash Size"}),BE.ESP8266_CONFIG_MESSAGE_LED=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"內寘LED",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"無"}),BE.ESP8266_CONFIG_MESSAGE_SDK=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"NonOS SDK版本",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#nonos-sdk-version",name:"NONOS SDK Version"}),BE.ESP8266_CONFIG_MESSAGE_IP=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"lwIP變體",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#lwip-variant",name:"lwIP Variant"}),BE.ESP8266_CONFIG_MESSAGE_DBG=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"調試埠",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#debug-port",name:"Debug port"}),BE.ESP8266_CONFIG_MESSAGE_WIPE=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"擦除Flash",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#erase-flash",name:"Erase Flash"}),BE.ESP8266_CONFIG_MESSAGE_BAUD=GE.render(BE.ESP8266_CONFIG_TEMPLATE,{title:"上傳速度",moreInfo:BE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"無"}),BE.BOARD_FS="闆卡文件管理";const UE=BE,{XML:WE}=Z,{En:HE}=K.Lang;HE.ESP8266_CONFIG_TEMPLATE=YE,HE.ESP8266_CONFIG_INTRODUCE="For more information, please visit",HE.ESP8266_CONFIG_MESSAGE_XTAL=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"CPU Frequency",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#cpu-frequency",name:"CPU Frequency"}),HE.ESP8266_CONFIG_MESSAGE_VT=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"VTable location",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#vtable-location",name:"VTable"}),HE.ESP8266_CONFIG_MESSAGE_EXCEPTION=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"C++ Exceptions",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#c-exceptions",name:"C++ Exceptions"}),HE.ESP8266_CONFIG_MESSAGE_STACKSMASH=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Stack Protection",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#stack-protection",name:"Stack Protection"}),HE.ESP8266_CONFIG_MESSAGE_SSL=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"SSL支持",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#ssl-support",name:"SSL Support"}),HE.ESP8266_CONFIG_MESSAGE_MMU=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Memory Management Unit",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#mmu-memory-management-unit",name:"MMU"}),HE.ESP8266_CONFIG_MESSAGE_NON32XFER=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Non-32-Bit Access",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#non-32-bit-access",name:"Non-32-Bit Access"}),HE.ESP8266_CONFIG_MESSAGE_RESET_METHOD=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Reset Method",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#reset-method",name:"Reset Method"}),HE.ESP8266_CONFIG_MESSAGE_CRYSTAL_FREQ=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Crystal Frequency",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#crystal-frequency",name:"Crystal Frequency"}),HE.ESP8266_CONFIG_MESSAGE_FLASH_FREQ=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Flash Frequency",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"None"}),HE.ESP8266_CONFIG_MESSAGE_FLASH_MODE=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Flash Mode",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-mode",name:"Flash Mode"}),HE.ESP8266_CONFIG_MESSAGE_EESZ=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Flash Size",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#flash-size",name:"Flash Size"}),HE.ESP8266_CONFIG_MESSAGE_LED=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Builtin Led",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"None"}),HE.ESP8266_CONFIG_MESSAGE_SDK=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"NONOS SDK Version",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#nonos-sdk-version",name:"NONOS SDK Version"}),HE.ESP8266_CONFIG_MESSAGE_IP=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"lwIP Variant",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#lwip-variant",name:"lwIP Variant"}),HE.ESP8266_CONFIG_MESSAGE_DBG=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Debug port",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#debug-port",name:"Debug port"}),HE.ESP8266_CONFIG_MESSAGE_WIPE=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Erase Flash",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"https://arduino-esp8266.readthedocs.io/en/latest/ideoptions.html#erase-flash",name:"Erase Flash"}),HE.ESP8266_CONFIG_MESSAGE_BAUD=WE.render(HE.ESP8266_CONFIG_TEMPLATE,{title:"Upload Speed",moreInfo:HE.ESP8266_CONFIG_INTRODUCE,href:"#",name:"None"}),HE.BOARD_FS="Board FS";const zE=HE,KE=path,ZE={littlefs:{download:"{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},spiffs:{download:"{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"},fatfs:{download:"{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -t fatfs -s {{&size}} {{&img}}",upload:"{{&fsTool}} -c {{&usrFolder}} -t fatfs -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"}},jE={"esp8266:esp8266:generic":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192},"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768},"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920},"8M6M":{flash_size:"8M",flash_size_bytes:8388608,flash_ld:"eagle.flash.8m6m.ld",spiffs_pagesize:256,rfcal_addr:8372224,spiffs_start:2097152,spiffs_end:8364032,spiffs_blocksize:8192},"8M7M":{flash_size:"8M",flash_size_bytes:8388608,flash_ld:"eagle.flash.8m7m.ld",spiffs_pagesize:256,rfcal_addr:8372224,spiffs_start:1048576,spiffs_end:8364032,spiffs_blocksize:8192},"16M14M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m14m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:2097152,spiffs_end:16752640,spiffs_blocksize:8192},"16M15M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m15m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:1048576,spiffs_end:16752640,spiffs_blocksize:8192},"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:esp8285":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192},"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768}},"esp8266:esp8266:espduino":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:huzzah":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:inventone":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:cw01":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espresso_lite_v1":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espresso_lite_v2":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:phoenix_v1":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:phoenix_v2":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:nodemcu":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:nodemcuv2":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:modwifi":{"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768}},"esp8266:esp8266:thing":{"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:thingdev":{"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:blynk":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:esp210":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:d1_mini":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:d1_mini_pro":{"16M14M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m14m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:2097152,spiffs_end:16752640,spiffs_blocksize:8192},"16M15M":{flash_size:"16M",flash_size_bytes:16777216,flash_ld:"eagle.flash.16m15m.ld",spiffs_pagesize:256,rfcal_addr:16760832,spiffs_start:1048576,spiffs_end:16752640,spiffs_blocksize:8192}},"esp8266:esp8266:d1_mini_lite":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}},"esp8266:esp8266:d1":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espino":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espinotee":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:wifinfo":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}},"esp8266:esp8266:arduino-esp8266":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:gen4iod":{"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768},"512K32":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k32.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:471040,spiffs_end:503808,spiffs_blocksize:4096},"512K64":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k64.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:438272,spiffs_end:503808,spiffs_blocksize:4096},"512K128":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k128.ld",spiffs_pagesize:256,rfcal_addr:507904,spiffs_start:372736,spiffs_end:503808,spiffs_blocksize:4096},"512K":{flash_size:"512K",flash_size_bytes:524288,flash_ld:"eagle.flash.512k.ld",spiffs_pagesize:256,rfcal_addr:507904}},"esp8266:esp8266:oak":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:wifiduino":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:wifi_slot":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192},"2M64":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m64.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:2031616,spiffs_end:2076672,spiffs_blocksize:4096},"2M128":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m128.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1966080,spiffs_end:2076672,spiffs_blocksize:4096},"2M256":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m256.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1835008,spiffs_end:2076672,spiffs_blocksize:4096},"2M512":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m512.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1572864,spiffs_end:2072576,spiffs_blocksize:8192},"2M1M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m1m.ld",spiffs_pagesize:256,rfcal_addr:2080768,spiffs_start:1048576,spiffs_end:2072576,spiffs_blocksize:8192},"2M":{flash_size:"2M",flash_size_bytes:2097152,flash_ld:"eagle.flash.2m.ld",spiffs_pagesize:256,rfcal_addr:2080768}},"esp8266:esp8266:wiolink":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:espectro":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:eduinowifi":{"4M2M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m2m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:2097152,spiffs_end:4169728,spiffs_blocksize:8192},"4M3M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m3m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:1048576,spiffs_end:4169728,spiffs_blocksize:8192},"4M1M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m1m.ld",spiffs_pagesize:256,rfcal_addr:4177920,spiffs_start:3145728,spiffs_end:4169728,spiffs_blocksize:8192},"4M":{flash_size:"4M",flash_size_bytes:4194304,flash_ld:"eagle.flash.4m.ld",spiffs_pagesize:256,rfcal_addr:4177920}},"esp8266:esp8266:sonoff":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}},"esp8266:esp8266:espmxdevkit":{"1M64":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m64.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:962560,spiffs_end:1028096,spiffs_blocksize:4096},"1M128":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m128.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:897024,spiffs_end:1028096,spiffs_blocksize:4096},"1M144":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m144.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:880640,spiffs_end:1028096,spiffs_blocksize:4096},"1M160":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m160.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:864256,spiffs_end:1028096,spiffs_blocksize:4096},"1M192":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m192.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:831488,spiffs_end:1028096,spiffs_blocksize:4096},"1M256":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m256.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:765952,spiffs_end:1028096,spiffs_blocksize:4096},"1M512":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m512.ld",spiffs_pagesize:256,rfcal_addr:1032192,spiffs_start:503808,spiffs_end:1028096,spiffs_blocksize:8192},"1M":{flash_size:"1M",flash_size_bytes:1048576,flash_ld:"eagle.flash.1m.ld",spiffs_pagesize:256,rfcal_addr:1032192}}},JE=[{id:"littlefs",text:"littlefs"},{id:"spiffs",text:"spiffs"}],qE={mkspiffs:{version:"0.2.3",linux:{x32:"./mkspiffs/linux/mkspiffs-x32.bin",x64:"./mkspiffs/linux/mkspiffs-x64.bin",arm:"./mkspiffs/linux/mkspiffs-arm.bin"},darwin:{x64:"./mkspiffs/darwin/mkspiffs.bin",arm:"./mkspiffs/darwin/mkspiffs.bin"},win32:{x32:"./mkspiffs/win32/mkspiffs.exe",x64:"./mkspiffs/win32/mkspiffs.exe"}},mklittlefs:{version:"3.2.0",linux:{x32:"./mklittlefs/linux/mklittlefs-x64.bin",x64:"./mklittlefs/linux/mklittlefs-x64.bin",arm:"./mklittlefs/linux/mklittlefs-arm.bin"},darwin:{x64:"./mklittlefs/darwin/mklittlefs.bin",arm:"./mklittlefs/darwin/mklittlefs.bin"},win32:{x32:"./mklittlefs/win32/mklittlefs-x32.exe",x64:"./mklittlefs/win32/mklittlefs-x64.exe"}}};class QE extends Z.FSBoardHandler{constructor(){super();for(let x in ZE)this.setFSCommands(x,ZE[x])}onBeforeUpload(){const x=Z.Boards.getSelectedBoardKey(),f=Z.Boards.getSelectedBoardConfigParam("FlashMode")||"keep";let e=Z.Boards.getSelectedBoardConfigParam("FlashFreq")||"keep";"keep"!==e&&(e+="m");const t=Z.Boards.getSelectedBoardConfigParam("baud")||"115200",i=Z.Boards.getSelectedBoardConfigParam("eesz"),n=jE[x][i],s={offset:n.spiffs_start,size:n.spiffs_end-n.spiffs_start,blockSize:n.spiffs_blocksize,pageSize:n.spiffs_pagesize},a=n.flash_size+"B",c=this.getFSToolPath(),l=KE.join(Z.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:c,img:l,flashMode:f,flashFreq:e,flashSize:a,baud:t,...s})}onBeforeDownload(){const x=Z.Boards.getSelectedBoardKey(),f=Z.Boards.getSelectedBoardConfigParam("baud")||"115200",e=Z.Boards.getSelectedBoardConfigParam("eesz"),t=jE[x][e],i={offset:t.spiffs_start,size:t.spiffs_end-t.spiffs_start,blockSize:t.spiffs_blocksize,pageSize:t.spiffs_pagesize},n=this.getFSToolPath(),s=KE.join(Z.Env.boardDirPath,"build","script.img");this.updateConfig({fsTool:n,img:s,baud:f,...i})}getFSMenu(){return JE}getFSToolPath(){const x=this.getFSType();let f="x64";switch(process.arch){case"arm64":case"arm":f="arm";break;case"ia32":f="x32";break;default:f="x64"}const e=Z.Env.currentPlatform,t=qE[`mk${x}`];return KE.join(Z.Env.boardDirPath,"build/tools",t[e][f])}}K.Arduino=Nx,K.generator=Nx,Object.assign(K.Variables,Rx),Object.assign(K.Procedures,Ox),Z.Profile.default={},Object.assign(Z.Profile,PE),Object.assign(Z.Profile.default,PE.arduino_esp8266),Object.assign(K.Lang.ZhHans,XE),Object.assign(K.Lang.ZhHant,UE),Object.assign(K.Lang.En,zE),function(){const x=Z.Workspace.getMain().getStatusBarsManager(),f=x.getDropdownMenu().getItem("menu");f.add({weight:2,type:"sep1",data:"---------"}),f.add({weight:3,type:"filesystem-tool",data:{isHtmlName:!0,name:Z.ContextMenu.getItem(K.Msg.BOARD_FS,""),callback:()=>{x.add("board-fs","board-fs",K.Msg.BOARD_FS,K.Msg.BOARD_FS),x.changeTo("board-fs");x.getStatusBarById("board-fs").setHandler(new QE)}}})}(),Object.assign(K.Blocks,t,i,a,c,l,d,p,o,r,u,_,h,F,A,I,g,E,M,T,m,C,H),Object.assign(K.Arduino.forBlock,n,s,O,S,R,D,N,L,P,y,b,v,w,Y,V,k,X,G,B,U,W,z)})(); \ No newline at end of file diff --git a/boards/default/arduino_esp8266/styles/main.35c98b37.css b/boards/default/arduino_esp8266/styles/main.69f884d0.css similarity index 100% rename from boards/default/arduino_esp8266/styles/main.35c98b37.css rename to boards/default/arduino_esp8266/styles/main.69f884d0.css diff --git a/boards/default/micropython_esp32/examples/mPython/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/-AX7hKF8DSLN.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/14-2-逻辑计算-反应测试2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/-AX7hKF8DSLN.mix diff --git a/boards/default/micropython_esp32/examples/mPython/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/0UnK-Gp-rno8.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/01-1-快速入门-你好世界.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/0UnK-Gp-rno8.mix diff --git a/boards/default/micropython_esp32/examples/mPython/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/0UszubiEaz2G.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/30-1-物联网-简单数据按需上报.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/0UszubiEaz2G.mix diff --git a/boards/default/micropython_esp32/examples/mPython/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/1lZwMf2tbecO.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/31-1-物联网-单主题数据订阅.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/1lZwMf2tbecO.mix diff --git a/boards/default/micropython_esp32/examples/mPython/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/23Z9YAF7CVuW.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/05-2-过程控制-单键开关.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/23Z9YAF7CVuW.mix diff --git a/boards/default/micropython_esp32/examples/mPython/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/2BtBOHDH8Grv.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/18-1-复杂控制-定时计时.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/2BtBOHDH8Grv.mix diff --git a/boards/default/micropython_esp32/examples/mPython/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/2ctrxf7WnglY.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/08-2-过程控制-入侵报警.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/2ctrxf7WnglY.mix diff --git a/boards/default/micropython_esp32/examples/mPython/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/4FrRgiPV_lsB.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/13-1-逻辑计算-手速测试.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/4FrRgiPV_lsB.mix diff --git a/boards/default/micropython_esp32/examples/mPython/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/4OwDXtC3vzJB.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/19-2-复杂控制-多线程与中断.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/4OwDXtC3vzJB.mix diff --git a/boards/default/micropython_esp32/examples/mPython/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/5uqq1DmoeqbX.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/09-2-输入输出-平衡仪.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/5uqq1DmoeqbX.mix diff --git a/boards/default/micropython_esp32/examples/mPython/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/7QSFUVE6l3-j.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/17-0-复杂控制-非中断效果.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/7QSFUVE6l3-j.mix diff --git a/boards/default/micropython_esp32/examples/mPython/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/BDWEgTmhlzlQ.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/30-2-物联网-高级数据按需上报.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/BDWEgTmhlzlQ.mix diff --git a/boards/default/micropython_esp32/examples/mPython/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/BIOtOeysRHjR.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/24-2-无线广播-防丢检测.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/BIOtOeysRHjR.mix diff --git a/boards/default/micropython_esp32/examples/mPython/10-1-输入输出-地磁强度.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/Cc0eI4rzD1iT.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/10-1-输入输出-地磁强度.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/Cc0eI4rzD1iT.mix diff --git a/boards/default/micropython_esp32/examples/mPython/23-1-蓝牙通讯-主机模式.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/CsvgKjUquPTg.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/23-1-蓝牙通讯-主机模式.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/CsvgKjUquPTg.mix diff --git a/boards/default/micropython_esp32/examples/mPython/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/DEFIeOmNMwgV.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/17-2-复杂控制-单键中断.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/DEFIeOmNMwgV.mix diff --git a/boards/default/micropython_esp32/examples/mPython/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/DH6lTEEfckiH.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/20-1-复杂控制-异常.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/DH6lTEEfckiH.mix diff --git a/boards/default/micropython_esp32/examples/mPython/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/DMIexH9w8HqY.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/03-1-快速入门-心随我动.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/DMIexH9w8HqY.mix diff --git a/boards/default/micropython_esp32/examples/mPython/10-2-输入输出-金属探测.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/DQalaVmCkrBY.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/10-2-输入输出-金属探测.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/DQalaVmCkrBY.mix diff --git a/boards/default/micropython_esp32/examples/mPython/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/IaHUMC6K6Uo-.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/29-1-物联网-简单数据定时上报.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/IaHUMC6K6Uo-.mix diff --git a/boards/default/micropython_esp32/examples/mPython/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/MZCkxAn4we9j.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/12-1-输入输出-实时时钟.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/MZCkxAn4we9j.mix diff --git a/boards/default/micropython_esp32/examples/mPython/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/NWRa-9QTvaoA.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/20-2-复杂控制-异常处理.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/NWRa-9QTvaoA.mix diff --git a/boards/default/micropython_esp32/examples/mPython/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/Q2w2uvwl5RSP.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/05-3-过程控制-IPO概念.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/Q2w2uvwl5RSP.mix diff --git a/boards/default/micropython_esp32/examples/mPython/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/QCGzzxkhvxH4.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/31-1-物联网-单主题数据订阅2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/QCGzzxkhvxH4.mix diff --git a/boards/default/micropython_esp32/examples/mPython/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/TQp_a7HByRUw.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/18-2-复杂控制-循环计时.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/TQp_a7HByRUw.mix diff --git a/boards/default/micropython_esp32/examples/mPython/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/TW-6O74wY6Vu.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/24-1-无线广播-通讯测试.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/TW-6O74wY6Vu.mix diff --git a/boards/default/micropython_esp32/examples/mPython/38-1-文件操作-文件读写.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/Tg66OjoztBvK.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/38-1-文件操作-文件读写.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/Tg66OjoztBvK.mix diff --git a/boards/default/micropython_esp32/examples/mPython/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/UJ_YfbjxtupX.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/08-1-过程控制-接近检测.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/UJ_YfbjxtupX.mix diff --git a/boards/default/micropython_esp32/examples/mPython/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/UbtqMyK6jYhR.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/01-2-快速入门-你好世界2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/UbtqMyK6jYhR.mix diff --git a/boards/default/micropython_esp32/examples/mPython/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/VbCDa8_IOAez.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/04-1-快速入门-流动的灯.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/VbCDa8_IOAez.mix diff --git a/boards/default/micropython_esp32/examples/mPython/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/XNave2M4AAGG.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/19-1-复杂控制-多线程.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/XNave2M4AAGG.mix diff --git a/boards/default/micropython_esp32/examples/mPython/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/XTccyXNMbgP9.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/14-1-逻辑计算-反应测试.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/XTccyXNMbgP9.mix diff --git a/boards/default/micropython_esp32/examples/mPython/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/Xcg-1f-Dkxvo.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/32-1-物联网-多主题数据订.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/Xcg-1f-Dkxvo.mix diff --git a/boards/default/micropython_esp32/examples/mPython/23-1-蓝牙通讯-从机模式.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/Y4v_nxkvu0o-.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/23-1-蓝牙通讯-从机模式.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/Y4v_nxkvu0o-.mix diff --git a/boards/default/micropython_esp32/examples/mPython/37-1-文件操作-列出文件.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/ZhuB8n6WcxJ6.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/37-1-文件操作-列出文件.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/ZhuB8n6WcxJ6.mix diff --git a/boards/default/micropython_esp32/examples/mPython/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/Zuh3FbukM_E6.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/07-2-过程控制-自动补光.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/Zuh3FbukM_E6.mix diff --git a/boards/default/micropython_esp32/examples/mPython/38-2-文件操作-文件读写2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/_mvNnC-fllTh.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/38-2-文件操作-文件读写2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/_mvNnC-fllTh.mix diff --git a/boards/default/micropython_esp32/examples/mPython/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/_vqVFXlinAdE.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/02-1-快速入门-跳动的心.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/_vqVFXlinAdE.mix diff --git a/boards/default/micropython_esp32/examples/mPython/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/dgafyEdhehIK.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/07-1-过程控制-光强采集.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/dgafyEdhehIK.mix diff --git a/boards/default/micropython_esp32/examples/mPython/37-2-文件操作-列出文件2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/dgtNaFa9RjQ6.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/37-2-文件操作-列出文件2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/dgtNaFa9RjQ6.mix diff --git a/boards/default/micropython_esp32/examples/mPython/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/gsehvW0vww5Y.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/12-2-输入输出-实时时钟2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/gsehvW0vww5Y.mix diff --git a/boards/default/micropython_esp32/examples/mPython/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/h37GUBbQXB4M.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/04-2-快速入门-流动的灯2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/h37GUBbQXB4M.mix diff --git a/boards/default/micropython_esp32/examples/mPython/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/l2uAcBMlpqDR.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/29-2-物联网-复杂数据定时上报.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/l2uAcBMlpqDR.mix diff --git a/boards/default/micropython_esp32/examples/mPython/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/qvZNazZsadmC.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/02-2-快速入门-为你心动.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/qvZNazZsadmC.mix diff --git a/boards/default/micropython_esp32/examples/mPython/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/tpQ8Uc3MZ1na.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/06-2-过程控制-看见声音.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/tpQ8Uc3MZ1na.mix diff --git a/boards/default/micropython_esp32/examples/mPython/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/uEasCmYAqah6.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/06-1-过程控制-声音采集.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/uEasCmYAqah6.mix diff --git a/boards/default/micropython_esp32/examples/mPython/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/umepX4hkoM9B.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/05-1-过程控制-双键开关.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/umepX4hkoM9B.mix diff --git a/boards/default/micropython_esp32/examples/mPython/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/vnZ2a6BezwqS.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/09-1-输入输出-加速度.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/vnZ2a6BezwqS.mix diff --git a/boards/default/micropython_esp32/examples/mPython/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/wzNRIwLZYGit.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/03-2-快速入门-心随我动2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/wzNRIwLZYGit.mix diff --git a/boards/default/micropython_esp32/examples/mPython/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32/examples/9CCW7blVkDO-/zIDD-TYyfD_m.mix similarity index 100% rename from boards/default/micropython_esp32/examples/mPython/32-2-物联网-多主题数据订2.mix rename to boards/default/micropython_esp32/examples/9CCW7blVkDO-/zIDD-TYyfD_m.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/3-1 抢答器.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/-KdWolIQDtmv.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/3-1 抢答器.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/-KdWolIQDtmv.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/1-1 滚动显示mixly.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/-pr5v3ff253p.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/1-1 滚动显示mixly.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/-pr5v3ff253p.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/2-1 心情晴雨表-按下.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/2E_YWwimrRtg.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/2-1 心情晴雨表-按下.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/2E_YWwimrRtg.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/9-3平衡仪小小精灵快快跑.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/3HFR2wLexE8o.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/9-3平衡仪小小精灵快快跑.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/3HFR2wLexE8o.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/6-1闹钟.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/3eJu5elCT3qN.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/6-1闹钟.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/3eJu5elCT3qN.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/5-2录音电子琴.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/3vFWYZte86cV.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/5-2录音电子琴.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/3vFWYZte86cV.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/2-2 心情晴雨表-联合图形.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/4b7Ci-k6oSLB.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/2-2 心情晴雨表-联合图形.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/4b7Ci-k6oSLB.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/9-4平衡仪左右前后移动.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/Bfbz6x3UkJU1.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/9-4平衡仪左右前后移动.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/Bfbz6x3UkJU1.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/3-2 倒计时抢答器.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/ByaOZ5yAj52j.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/3-2 倒计时抢答器.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/ByaOZ5yAj52j.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/4-1可调报警器.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/DVRUNpM1gkJk.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/4-1可调报警器.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/DVRUNpM1gkJk.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/8-2扫雷法宝.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/GDXEygfxIUIY.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/8-2扫雷法宝.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/GDXEygfxIUIY.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/11-1 云端控制LED灯.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/Gu2q41HNsHJL.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/11-1 云端控制LED灯.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/Gu2q41HNsHJL.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/12-3 应用点亮显示屏.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/Im7NOKDYH8hq.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/12-3 应用点亮显示屏.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/Im7NOKDYH8hq.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/2-1 心情晴雨表-按着.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/Tyjy0z2bgNTL.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/2-1 心情晴雨表-按着.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/Tyjy0z2bgNTL.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/6-2实时时钟.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/VS85SmNIlVbT.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/6-2实时时钟.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/VS85SmNIlVbT.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/7-3密码锁-可修改密码.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/WZpg0ohyl-4j.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/7-3密码锁-可修改密码.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/WZpg0ohyl-4j.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/9-2平衡仪升级版.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/Y3v6Ue2yHXmA.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/9-2平衡仪升级版.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/Y3v6Ue2yHXmA.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/11-2 云端控制rgb灯.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/aSrAS5YGm3Sf.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/11-2 云端控制rgb灯.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/aSrAS5YGm3Sf.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/5-1创建基准音.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/gcoAO9FGxiTT.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/5-1创建基准音.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/gcoAO9FGxiTT.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/12-2 应用旋钮控制LED灯.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/k5Zi1MddfnY1.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/12-2 应用旋钮控制LED灯.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/k5Zi1MddfnY1.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/10-传按键数据上云端.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/kQQjEJ_5VK6q.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/10-传按键数据上云端.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/kQQjEJ_5VK6q.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/7-2密码锁.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/ohjfFXhjahmx.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/7-2密码锁.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/ohjfFXhjahmx.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/9-1平衡仪.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/pTnkvYsWSjST.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/9-1平衡仪.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/pTnkvYsWSjST.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/1-2 滚动显示两句话.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/pzRCqxBMXVfh.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/1-2 滚动显示两句话.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/pzRCqxBMXVfh.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/12-1 应用开关控制LED灯.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/tWg31vzpDuAb.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/12-1 应用开关控制LED灯.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/tWg31vzpDuAb.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/4-2音乐门铃.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/uzCd8LGGvolM.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/4-2音乐门铃.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/uzCd8LGGvolM.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/8-1磁场魔术.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/zfYb-DOHxFVI.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/8-1磁场魔术.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/zfYb-DOHxFVI.mix diff --git a/boards/default/micropython_esp32/examples/MixGo/7-1光电密码锁.mix b/boards/default/micropython_esp32/examples/GDDbQRONNwNc/zh8zmC_hvbUQ.mix similarity index 100% rename from boards/default/micropython_esp32/examples/MixGo/7-1光电密码锁.mix rename to boards/default/micropython_esp32/examples/GDDbQRONNwNc/zh8zmC_hvbUQ.mix diff --git a/boards/default/micropython_esp32/examples/map.json b/boards/default/micropython_esp32/examples/map.json index f10b02e9..abf56780 100644 --- a/boards/default/micropython_esp32/examples/map.json +++ b/boards/default/micropython_esp32/examples/map.json @@ -1,318 +1,318 @@ { - "MixGo": { - "1-1 滚动显示mixly.mix": { + "GDDbQRONNwNc": { + "-pr5v3ff253p.mix": { "__file__": true, "__name__": "1-1 滚动显示mixly.mix" }, - "1-2 滚动显示两句话.mix": { + "pzRCqxBMXVfh.mix": { "__file__": true, "__name__": "1-2 滚动显示两句话.mix" }, - "10-传按键数据上云端.mix": { + "kQQjEJ_5VK6q.mix": { "__file__": true, "__name__": "10-传按键数据上云端.mix" }, - "11-1 云端控制LED灯.mix": { + "Gu2q41HNsHJL.mix": { "__file__": true, "__name__": "11-1 云端控制LED灯.mix" }, - "11-2 云端控制rgb灯.mix": { + "aSrAS5YGm3Sf.mix": { "__file__": true, "__name__": "11-2 云端控制rgb灯.mix" }, - "12-1 应用开关控制LED灯.mix": { + "tWg31vzpDuAb.mix": { "__file__": true, "__name__": "12-1 应用开关控制LED灯.mix" }, - "12-2 应用旋钮控制LED灯.mix": { + "k5Zi1MddfnY1.mix": { "__file__": true, "__name__": "12-2 应用旋钮控制LED灯.mix" }, - "12-3 应用点亮显示屏.mix": { + "Im7NOKDYH8hq.mix": { "__file__": true, "__name__": "12-3 应用点亮显示屏.mix" }, - "2-1 心情晴雨表-按下.mix": { + "2E_YWwimrRtg.mix": { "__file__": true, "__name__": "2-1 心情晴雨表-按下.mix" }, - "2-1 心情晴雨表-按着.mix": { + "Tyjy0z2bgNTL.mix": { "__file__": true, "__name__": "2-1 心情晴雨表-按着.mix" }, - "2-2 心情晴雨表-联合图形.mix": { + "4b7Ci-k6oSLB.mix": { "__file__": true, "__name__": "2-2 心情晴雨表-联合图形.mix" }, - "3-1 抢答器.mix": { + "-KdWolIQDtmv.mix": { "__file__": true, "__name__": "3-1 抢答器.mix" }, - "3-2 倒计时抢答器.mix": { + "ByaOZ5yAj52j.mix": { "__file__": true, "__name__": "3-2 倒计时抢答器.mix" }, - "4-1可调报警器.mix": { + "DVRUNpM1gkJk.mix": { "__file__": true, "__name__": "4-1可调报警器.mix" }, - "4-2音乐门铃.mix": { + "uzCd8LGGvolM.mix": { "__file__": true, "__name__": "4-2音乐门铃.mix" }, - "5-1创建基准音.mix": { + "gcoAO9FGxiTT.mix": { "__file__": true, "__name__": "5-1创建基准音.mix" }, - "5-2录音电子琴.mix": { + "3vFWYZte86cV.mix": { "__file__": true, "__name__": "5-2录音电子琴.mix" }, - "6-1闹钟.mix": { + "3eJu5elCT3qN.mix": { "__file__": true, "__name__": "6-1闹钟.mix" }, - "6-2实时时钟.mix": { + "VS85SmNIlVbT.mix": { "__file__": true, "__name__": "6-2实时时钟.mix" }, - "7-1光电密码锁.mix": { + "zh8zmC_hvbUQ.mix": { "__file__": true, "__name__": "7-1光电密码锁.mix" }, - "7-2密码锁.mix": { + "ohjfFXhjahmx.mix": { "__file__": true, "__name__": "7-2密码锁.mix" }, - "7-3密码锁-可修改密码.mix": { + "WZpg0ohyl-4j.mix": { "__file__": true, "__name__": "7-3密码锁-可修改密码.mix" }, - "8-1磁场魔术.mix": { + "zfYb-DOHxFVI.mix": { "__file__": true, "__name__": "8-1磁场魔术.mix" }, - "8-2扫雷法宝.mix": { + "GDXEygfxIUIY.mix": { "__file__": true, "__name__": "8-2扫雷法宝.mix" }, - "9-1平衡仪.mix": { + "pTnkvYsWSjST.mix": { "__file__": true, "__name__": "9-1平衡仪.mix" }, - "9-2平衡仪升级版.mix": { + "Y3v6Ue2yHXmA.mix": { "__file__": true, "__name__": "9-2平衡仪升级版.mix" }, - "9-3平衡仪小小精灵快快跑.mix": { + "3HFR2wLexE8o.mix": { "__file__": true, "__name__": "9-3平衡仪小小精灵快快跑.mix" }, - "9-4平衡仪左右前后移动.mix": { + "Bfbz6x3UkJU1.mix": { "__file__": true, "__name__": "9-4平衡仪左右前后移动.mix" }, "__file__": false, "__name__": "MixGo" }, - "mPython": { - "01-1-快速入门-你好世界.mix": { + "9CCW7blVkDO-": { + "0UnK-Gp-rno8.mix": { "__file__": true, "__name__": "01-1-快速入门-你好世界.mix" }, - "01-2-快速入门-你好世界2.mix": { + "UbtqMyK6jYhR.mix": { "__file__": true, "__name__": "01-2-快速入门-你好世界2.mix" }, - "02-1-快速入门-跳动的心.mix": { + "_vqVFXlinAdE.mix": { "__file__": true, "__name__": "02-1-快速入门-跳动的心.mix" }, - "02-2-快速入门-为你心动.mix": { + "qvZNazZsadmC.mix": { "__file__": true, "__name__": "02-2-快速入门-为你心动.mix" }, - "03-1-快速入门-心随我动.mix": { + "DMIexH9w8HqY.mix": { "__file__": true, "__name__": "03-1-快速入门-心随我动.mix" }, - "03-2-快速入门-心随我动2.mix": { + "wzNRIwLZYGit.mix": { "__file__": true, "__name__": "03-2-快速入门-心随我动2.mix" }, - "04-1-快速入门-流动的灯.mix": { + "VbCDa8_IOAez.mix": { "__file__": true, "__name__": "04-1-快速入门-流动的灯.mix" }, - "04-2-快速入门-流动的灯2.mix": { + "h37GUBbQXB4M.mix": { "__file__": true, "__name__": "04-2-快速入门-流动的灯2.mix" }, - "05-1-过程控制-双键开关.mix": { + "umepX4hkoM9B.mix": { "__file__": true, "__name__": "05-1-过程控制-双键开关.mix" }, - "05-2-过程控制-单键开关.mix": { + "23Z9YAF7CVuW.mix": { "__file__": true, "__name__": "05-2-过程控制-单键开关.mix" }, - "05-3-过程控制-IPO概念.mix": { + "Q2w2uvwl5RSP.mix": { "__file__": true, "__name__": "05-3-过程控制-IPO概念.mix" }, - "06-1-过程控制-声音采集.mix": { + "uEasCmYAqah6.mix": { "__file__": true, "__name__": "06-1-过程控制-声音采集.mix" }, - "06-2-过程控制-看见声音.mix": { + "tpQ8Uc3MZ1na.mix": { "__file__": true, "__name__": "06-2-过程控制-看见声音.mix" }, - "07-1-过程控制-光强采集.mix": { + "dgafyEdhehIK.mix": { "__file__": true, "__name__": "07-1-过程控制-光强采集.mix" }, - "07-2-过程控制-自动补光.mix": { + "Zuh3FbukM_E6.mix": { "__file__": true, "__name__": "07-2-过程控制-自动补光.mix" }, - "08-1-过程控制-接近检测.mix": { + "UJ_YfbjxtupX.mix": { "__file__": true, "__name__": "08-1-过程控制-接近检测.mix" }, - "08-2-过程控制-入侵报警.mix": { + "2ctrxf7WnglY.mix": { "__file__": true, "__name__": "08-2-过程控制-入侵报警.mix" }, - "09-1-输入输出-加速度.mix": { + "vnZ2a6BezwqS.mix": { "__file__": true, "__name__": "09-1-输入输出-加速度.mix" }, - "09-2-输入输出-平衡仪.mix": { + "5uqq1DmoeqbX.mix": { "__file__": true, "__name__": "09-2-输入输出-平衡仪.mix" }, - "10-1-输入输出-地磁强度.mix": { + "Cc0eI4rzD1iT.mix": { "__file__": true, "__name__": "10-1-输入输出-地磁强度.mix" }, - "10-2-输入输出-金属探测.mix": { + "DQalaVmCkrBY.mix": { "__file__": true, "__name__": "10-2-输入输出-金属探测.mix" }, - "12-1-输入输出-实时时钟.mix": { + "MZCkxAn4we9j.mix": { "__file__": true, "__name__": "12-1-输入输出-实时时钟.mix" }, - "12-2-输入输出-实时时钟2.mix": { + "gsehvW0vww5Y.mix": { "__file__": true, "__name__": "12-2-输入输出-实时时钟2.mix" }, - "13-1-逻辑计算-手速测试.mix": { + "4FrRgiPV_lsB.mix": { "__file__": true, "__name__": "13-1-逻辑计算-手速测试.mix" }, - "14-1-逻辑计算-反应测试.mix": { + "XTccyXNMbgP9.mix": { "__file__": true, "__name__": "14-1-逻辑计算-反应测试.mix" }, - "14-2-逻辑计算-反应测试2.mix": { + "-AX7hKF8DSLN.mix": { "__file__": true, "__name__": "14-2-逻辑计算-反应测试2.mix" }, - "17-0-复杂控制-非中断效果.mix": { + "7QSFUVE6l3-j.mix": { "__file__": true, "__name__": "17-0-复杂控制-非中断效果.mix" }, - "17-2-复杂控制-单键中断.mix": { + "DEFIeOmNMwgV.mix": { "__file__": true, "__name__": "17-2-复杂控制-单键中断.mix" }, - "18-1-复杂控制-定时计时.mix": { + "2BtBOHDH8Grv.mix": { "__file__": true, "__name__": "18-1-复杂控制-定时计时.mix" }, - "18-2-复杂控制-循环计时.mix": { + "TQp_a7HByRUw.mix": { "__file__": true, "__name__": "18-2-复杂控制-循环计时.mix" }, - "19-1-复杂控制-多线程.mix": { + "XNave2M4AAGG.mix": { "__file__": true, "__name__": "19-1-复杂控制-多线程.mix" }, - "19-2-复杂控制-多线程与中断.mix": { + "4OwDXtC3vzJB.mix": { "__file__": true, "__name__": "19-2-复杂控制-多线程与中断.mix" }, - "20-1-复杂控制-异常.mix": { + "DH6lTEEfckiH.mix": { "__file__": true, "__name__": "20-1-复杂控制-异常.mix" }, - "20-2-复杂控制-异常处理.mix": { + "NWRa-9QTvaoA.mix": { "__file__": true, "__name__": "20-2-复杂控制-异常处理.mix" }, - "23-1-蓝牙通讯-主机模式.mix": { + "CsvgKjUquPTg.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-主机模式.mix" }, - "23-1-蓝牙通讯-从机模式.mix": { + "Y4v_nxkvu0o-.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-从机模式.mix" }, - "24-1-无线广播-通讯测试.mix": { + "TW-6O74wY6Vu.mix": { "__file__": true, "__name__": "24-1-无线广播-通讯测试.mix" }, - "24-2-无线广播-防丢检测.mix": { + "BIOtOeysRHjR.mix": { "__file__": true, "__name__": "24-2-无线广播-防丢检测.mix" }, - "29-1-物联网-简单数据定时上报.mix": { + "IaHUMC6K6Uo-.mix": { "__file__": true, "__name__": "29-1-物联网-简单数据定时上报.mix" }, - "29-2-物联网-复杂数据定时上报.mix": { + "l2uAcBMlpqDR.mix": { "__file__": true, "__name__": "29-2-物联网-复杂数据定时上报.mix" }, - "30-1-物联网-简单数据按需上报.mix": { + "0UszubiEaz2G.mix": { "__file__": true, "__name__": "30-1-物联网-简单数据按需上报.mix" }, - "30-2-物联网-高级数据按需上报.mix": { + "BDWEgTmhlzlQ.mix": { "__file__": true, "__name__": "30-2-物联网-高级数据按需上报.mix" }, - "31-1-物联网-单主题数据订阅.mix": { + "1lZwMf2tbecO.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅.mix" }, - "31-1-物联网-单主题数据订阅2.mix": { + "QCGzzxkhvxH4.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅2.mix" }, - "32-1-物联网-多主题数据订.mix": { + "Xcg-1f-Dkxvo.mix": { "__file__": true, "__name__": "32-1-物联网-多主题数据订.mix" }, - "32-2-物联网-多主题数据订2.mix": { + "zIDD-TYyfD_m.mix": { "__file__": true, "__name__": "32-2-物联网-多主题数据订2.mix" }, - "37-1-文件操作-列出文件.mix": { + "ZhuB8n6WcxJ6.mix": { "__file__": true, "__name__": "37-1-文件操作-列出文件.mix" }, - "37-2-文件操作-列出文件2.mix": { + "dgtNaFa9RjQ6.mix": { "__file__": true, "__name__": "37-2-文件操作-列出文件2.mix" }, - "38-1-文件操作-文件读写.mix": { + "Tg66OjoztBvK.mix": { "__file__": true, "__name__": "38-1-文件操作-文件读写.mix" }, - "38-2-文件操作-文件读写2.mix": { + "_mvNnC-fllTh.mix": { "__file__": true, "__name__": "38-2-文件操作-文件读写2.mix" }, diff --git a/boards/default/micropython_esp32/index.xml b/boards/default/micropython_esp32/index.xml index 890c4232..e4ff7c62 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.com \ 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.com \ 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 22e1c3b0..f24f7082 100644 --- a/boards/default/micropython_esp32/main.bundle.js +++ b/boards/default/micropython_esp32/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var _={d:(t,e)=>{for(var i in e)_.o(e,i)&&!_.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(_,t)=>Object.prototype.hasOwnProperty.call(_,t),r:_=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})}},t={};_.r(t),_.d(t,{controls_type:()=>d_,controls_typeLists:()=>h_,variables_change:()=>P_,variables_get:()=>l_,variables_global:()=>N_,variables_set:()=>A_});var e={};_.r(e),_.d(e,{base_setup:()=>C_,controls_delay:()=>c_,controls_end_program:()=>H_,controls_except:()=>X_,controls_finally:()=>V_,controls_flow_statements:()=>G_,controls_for:()=>F_,controls_forEach:()=>U_,controls_for_range:()=>y_,controls_if:()=>D_,controls_if_else:()=>x_,controls_if_elseif:()=>b_,controls_if_if:()=>f_,controls_lambda:()=>w_,controls_main:()=>m_,controls_pass:()=>W_,controls_range:()=>Y_,controls_repeat_ext:()=>k_,controls_thread:()=>K_,controls_try:()=>v_,controls_try_finally:()=>g_,controls_whileUntil:()=>B_,do_while:()=>z_});var i={};_.r(i),_.d(i,{base_map:()=>Lt,math_arithmetic:()=>j_,math_bit:()=>_t,math_constant:()=>J_,math_constant_mp:()=>q_,math_constrain:()=>ot,math_dec:()=>et,math_indexer_number:()=>Ot,math_map:()=>st,math_max_min:()=>Tt,math_number:()=>Q_,math_number_base_conversion:()=>Et,math_random:()=>nt,math_random_seed:()=>It,math_round:()=>at,math_selfcalcu:()=>$_,math_to_int:()=>it,math_trig:()=>tt,text_to_number:()=>pt,text_to_number_skulpt:()=>Mt});var T={};_.r(T),_.d(T,{ascii_to_char:()=>Pt,char_to_ascii:()=>Nt,number_to_text:()=>dt,os_system:()=>zt,text:()=>rt,text_capital:()=>Ut,text_center:()=>Bt,text_char:()=>lt,text_char_at:()=>mt,text_char_at2:()=>ut,text_char_at3:()=>kt,text_compareTo:()=>Vt,text_compare_to:()=>Yt,text_create_with_container:()=>xt,text_create_with_item:()=>vt,text_encode:()=>Wt,text_equals_starts_ends:()=>Dt,text_eval:()=>Kt,text_find:()=>gt,text_format:()=>bt,text_format_noreturn:()=>wt,text_join:()=>At,text_join_seq:()=>Gt,text_length:()=>ht,text_random_char:()=>Ct,text_replace:()=>Ft,text_split:()=>yt,text_strip:()=>ft,text_substring:()=>Ht,text_substring2:()=>ct,text_substring3:()=>Xt,text_textarea:()=>St});var E={};_.r(E),_.d(E,{list_many_input:()=>re,list_tolist:()=>he,list_tolist2:()=>Ue,list_trig:()=>Me,lists_2d_get_col_row_data:()=>jt,lists_2d_get_data_with_col_row:()=>qt,lists_append_extend:()=>Te,lists_change_to:()=>Re,lists_change_to_general:()=>le,lists_clear:()=>Oe,lists_create_with:()=>$t,lists_create_with2:()=>ue,lists_create_with_container:()=>te,lists_create_with_item:()=>ee,lists_create_with_noreturn:()=>Se,lists_create_with_text:()=>_e,lists_create_with_text2:()=>me,lists_del_general:()=>Ae,lists_find:()=>pe,lists_getIndex3:()=>Ce,lists_getSublist3:()=>ce,lists_get_index:()=>Qt,lists_get_random_item:()=>Ee,lists_get_random_sublist:()=>ne,lists_get_sublist:()=>Jt,lists_insert_value:()=>oe,lists_insert_value2:()=>De,lists_pop:()=>ae,lists_remove_at:()=>Ie,lists_remove_at2:()=>Ye,lists_reverse:()=>se,lists_setIndex3:()=>He,lists_set_index:()=>ie,lists_sort:()=>Le,lists_zip:()=>Pe,lists_zip_container:()=>Ne,lists_zip_item:()=>de});var n={};_.r(n),_.d(n,{dicts_add_change_del:()=>ze,dicts_add_or_change:()=>xe,dicts_clear:()=>Ve,dicts_create_with:()=>ge,dicts_create_with_container:()=>Ge,dicts_create_with_item:()=>Fe,dicts_create_with_noreturn:()=>Je,dicts_deldict:()=>Ke,dicts_delete:()=>ve,dicts_get:()=>fe,dicts_get_default:()=>be,dicts_items:()=>ke,dicts_keys:()=>ye,dicts_length:()=>We,dicts_pop:()=>Ze,dicts_setdefault:()=>Qe,dicts_to_json:()=>je,dicts_todict:()=>qe,dicts_update:()=>Xe,dicts_values:()=>we,json_to_dicts:()=>$e});var o={};_.r(o),_.d(o,{logic_boolean:()=>Ei,logic_compare:()=>ti,logic_compare_continous:()=>ei,logic_is:()=>Oi,logic_is_in:()=>si,logic_negate:()=>Ti,logic_null:()=>ni,logic_operation:()=>ii,logic_tobool:()=>Ii,logic_true_or_false:()=>oi});var s={};_.r(s),_.d(s,{sdcard_mount:()=>gi,sdcard_use_spi_init:()=>Bi,storage_can_write_ornot:()=>Ai,storage_change_dir:()=>Yi,storage_close_file:()=>Ni,storage_delete_file:()=>hi,storage_file_seek:()=>Ci,storage_file_tell:()=>mi,storage_file_write:()=>Ri,storage_fileopen:()=>pi,storage_fileopen_new:()=>Mi,storage_fileopen_new_encoding:()=>Li,storage_get_a_line:()=>li,storage_get_contents:()=>Si,storage_get_contents_without_para:()=>ri,storage_get_current_dir:()=>ci,storage_get_file_size:()=>ui,storage_get_filename:()=>Pi,storage_is_file:()=>Ui,storage_list_all_files:()=>di,storage_make_dir:()=>Hi,storage_open_file_with_os:()=>ai,storage_rename:()=>Di});var O={};_.r(O),_.d(O,{procedures_callnoreturn:()=>vi,procedures_callreturn:()=>Xi,procedures_defnoreturn:()=>yi,procedures_defreturn:()=>fi,procedures_ifreturn:()=>Vi,procedures_mutatorarg:()=>xi,procedures_mutatorcontainer:()=>bi,procedures_return:()=>ki});var I={};_.r(I),_.d(I,{tuple_change_to:()=>tT,tuple_create_with:()=>Wi,tuple_create_with_container:()=>Ki,tuple_create_with_item:()=>zi,tuple_create_with_noreturn:()=>ET,tuple_create_with_text2:()=>Zi,tuple_create_with_text_return:()=>Qi,tuple_del:()=>ji,tuple_find:()=>eT,tuple_getIndex:()=>Ji,tuple_getSublist:()=>TT,tuple_get_random_item:()=>oT,tuple_get_sublist:()=>nT,tuple_join:()=>$i,tuple_length:()=>qi,tuple_max:()=>_T,tuple_totuple:()=>sT,tuple_trig:()=>iT});var a={};_.r(a),_.d(a,{set_add_discard:()=>lT,set_clear:()=>RT,set_create_with:()=>IT,set_create_with_container:()=>aT,set_create_with_item:()=>pT,set_create_with_text_return:()=>NT,set_length:()=>MT,set_operate:()=>rT,set_operate_update:()=>ST,set_pop:()=>LT,set_sub:()=>AT,set_toset:()=>dT,set_update:()=>PT});var p={};_.r(p),_.d(p,{html_content:()=>cT,html_content_more:()=>HT,html_document:()=>uT,html_form:()=>YT,html_head_body:()=>CT,html_style:()=>DT,html_style_color:()=>BT,html_style_content:()=>UT,html_text:()=>gT,html_title:()=>mT});var M={};_.r(M),_.d(M,{attribute_access:()=>zT,function_call:()=>wT,function_call_container:()=>WT,function_call_item:()=>KT,raw_block:()=>yT,raw_empty:()=>bT,raw_expression:()=>fT,raw_table:()=>FT,text_comment:()=>xT,text_print_multiple:()=>XT,text_print_multiple_container:()=>VT,text_print_multiple_item:()=>kT,type_check:()=>vT});var L={};_.r(L),_.d(L,{controls_type:()=>jT,controls_typeLists:()=>$T,variables_change:()=>JT,variables_get:()=>ZT,variables_global:()=>qT,variables_set:()=>QT});var R={};_.r(R),_.d(R,{Panic_with_status_code:()=>OE,base_setup:()=>tE,controls_delay:()=>sE,controls_flow_statements:()=>oE,controls_for:()=>TE,controls_forEach:()=>LE,controls_for_range:()=>EE,controls_if:()=>eE,controls_interrupts:()=>pE,controls_lambda:()=>rE,controls_main:()=>_E,controls_millis:()=>IE,controls_nointerrupts:()=>ME,controls_pass:()=>lE,controls_range:()=>RE,controls_repeat:()=>dE,controls_repeat_ext:()=>NE,controls_thread:()=>AE,controls_try_finally:()=>iE,controls_whileUntil:()=>nE,do_while:()=>PE,reset:()=>aE,time_sleep:()=>SE});var r={};_.r(r),_.d(r,{base_map:()=>kE,math_arithmetic:()=>cE,math_bit:()=>CE,math_constant:()=>uE,math_constant_mp:()=>mE,math_constrain:()=>yE,math_dec:()=>UE,math_indexer_number:()=>xE,math_map:()=>FE,math_max_min:()=>gE,math_number:()=>hE,math_number_base_conversion:()=>fE,math_random:()=>GE,math_random_seed:()=>bE,math_round:()=>vE,math_selfcalcu:()=>HE,math_single:()=>DE,math_to_int:()=>BE,math_trig:()=>YE,text_to_number:()=>XE,text_to_number_skulpt:()=>VE});var S={};_.r(S),_.d(S,{ascii_to_char:()=>ZE,char_to_ascii:()=>QE,number_to_text:()=>JE,os_system:()=>Pn,text:()=>wE,text_capital:()=>nn,text_center:()=>on,text_char:()=>KE,text_char_at:()=>$E,text_char_at2:()=>jE,text_char_at3:()=>Sn,text_compareTo:()=>rn,text_compare_to:()=>en,text_encode:()=>ln,text_equals_starts_ends:()=>tn,text_eval:()=>An,text_find:()=>sn,text_format:()=>Mn,text_format_noreturn:()=>Ln,text_join:()=>zE,text_join_seq:()=>On,text_length:()=>qE,text_random_char:()=>_n,text_replace:()=>In,text_split:()=>an,text_strip:()=>pn,text_substring:()=>En,text_substring2:()=>Tn,text_substring3:()=>Rn,text_textarea:()=>WE});var l={};_.r(l),_.d(l,{list_many_input:()=>vn,list_tolist:()=>jn,list_tolist2:()=>$n,list_trig:()=>fn,lists_2d_get_col_row_data:()=>hn,lists_2d_get_data_with_col_row:()=>dn,lists_append_extend:()=>Hn,lists_change_to:()=>xn,lists_change_to_general:()=>Vn,lists_clear:()=>gn,lists_create_with:()=>un,lists_create_with2:()=>wn,lists_create_with_noreturn:()=>Xn,lists_create_with_text:()=>mn,lists_create_with_text2:()=>Wn,lists_del_general:()=>kn,lists_find:()=>Gn,lists_getIndex3:()=>Kn,lists_getSublist3:()=>zn,lists_get_index:()=>Cn,lists_get_random_item:()=>Dn,lists_get_random_sublist:()=>Yn,lists_get_sublist:()=>Nn,lists_insert_value:()=>Un,lists_insert_value2:()=>Qn,lists_pop:()=>yn,lists_remove_at:()=>Fn,lists_remove_at2:()=>Jn,lists_reverse:()=>Bn,lists_setIndex3:()=>Zn,lists_set_index:()=>cn,lists_sort:()=>bn,lists_zip:()=>qn});var A={};_.r(A),_.d(A,{dicts_add_change_del:()=>po,dicts_add_or_change:()=>To,dicts_clear:()=>oo,dicts_create_with:()=>_o,dicts_create_with_noreturn:()=>Ro,dicts_deldict:()=>ao,dicts_delete:()=>Eo,dicts_get:()=>eo,dicts_get_default:()=>io,dicts_items:()=>so,dicts_keys:()=>to,dicts_length:()=>Io,dicts_pop:()=>Mo,dicts_setdefault:()=>Lo,dicts_to_json:()=>So,dicts_todict:()=>ro,dicts_update:()=>no,dicts_values:()=>Oo,json_to_dicts:()=>lo});var P={};_.r(P),_.d(P,{logic_boolean:()=>uo,logic_compare:()=>Ao,logic_compare_continous:()=>Po,logic_is:()=>Ho,logic_is_in:()=>co,logic_negate:()=>ho,logic_null:()=>mo,logic_operation:()=>No,logic_tobool:()=>Do,logic_true_or_false:()=>Co});var N={};_.r(N),_.d(N,{sdcard_mount:()=>jo,sdcard_use_spi_init:()=>qo,storage_can_write_ornot:()=>bo,storage_change_dir:()=>Ko,storage_close_file:()=>vo,storage_delete_file:()=>Vo,storage_file_seek:()=>Wo,storage_file_tell:()=>wo,storage_file_write:()=>Go,storage_fileopen:()=>Uo,storage_fileopen_new:()=>Bo,storage_fileopen_new_encoding:()=>go,storage_get_a_line:()=>fo,storage_get_contents:()=>yo,storage_get_contents_without_para:()=>Fo,storage_get_current_dir:()=>zo,storage_get_file_size:()=>ko,storage_get_filename:()=>xo,storage_is_file:()=>Jo,storage_list_all_files:()=>Xo,storage_make_dir:()=>Zo,storage_open_file_with_os:()=>Yo,storage_rename:()=>Qo});var d={};_.r(d),_.d(d,{procedures_callnoreturn:()=>es,procedures_callreturn:()=>ts,procedures_defnoreturn:()=>_s,procedures_defreturn:()=>$o,procedures_ifreturn:()=>is,procedures_return:()=>Ts});var h={};_.r(h),_.d(h,{tuple_change_to:()=>Ms,tuple_create_with:()=>Es,tuple_create_with_noreturn:()=>Ss,tuple_create_with_text2:()=>ns,tuple_create_with_text_return:()=>os,tuple_del:()=>Is,tuple_find:()=>Ls,tuple_getIndex:()=>ss,tuple_getSublist:()=>rs,tuple_get_random_item:()=>As,tuple_get_sublist:()=>ls,tuple_join:()=>as,tuple_length:()=>Os,tuple_max:()=>ps,tuple_totuple:()=>Ps,tuple_trig:()=>Rs});var u={};_.r(u),_.d(u,{set_add_discard:()=>cs,set_clear:()=>us,set_create_with:()=>Ns,set_create_with_text_return:()=>Ys,set_length:()=>ds,set_operate:()=>ms,set_operate_update:()=>Cs,set_pop:()=>hs,set_sub:()=>Hs,set_toset:()=>Us,set_update:()=>Ds});var m={};_.r(m),_.d(m,{html_content:()=>Fs,html_content_more:()=>ys,html_document:()=>Bs,html_form:()=>bs,html_head_body:()=>Gs,html_style:()=>fs,html_style_content:()=>xs,html_text:()=>vs,html_title:()=>gs});var C={};_.r(C),_.d(C,{attribute_access:()=>zs,function_call:()=>Ks,raw_block:()=>Xs,raw_empty:()=>ks,raw_expression:()=>Vs,raw_table:()=>ws,type_check:()=>Ws});var c={};_.r(c),_.d(c,{actuator_extern_get_led_bright:()=>EO,actuator_extern_get_led_state:()=>nO,actuator_extern_led_bright:()=>TO,actuator_extern_led_brightness:()=>oO,actuator_ms32006_dcmotor:()=>rO,actuator_ms32006_init:()=>RO,actuator_ms32006_stepper:()=>SO,actuator_neopixel_init:()=>lO,actuator_neopixel_rgb:()=>AO,actuator_neopixel_rgb_all:()=>PO,actuator_neopixel_write:()=>NO,actuator_use_uart_init:()=>dO,esp32_music_get_tempo_extern:()=>tO,esp32_music_pitch:()=>qs,esp32_music_pitch_init:()=>Js,esp32_music_pitch_with_time:()=>js,esp32_music_play_list:()=>$s,esp32_music_reset_extern:()=>eO,esp32_music_set_tempo_extern:()=>_O,esp32_music_stop:()=>iO,mixbot_actuator_extern_get_addr:()=>vO,mixbot_actuator_extern_set_addr:()=>XO,mixbot_addr_extern:()=>cO,robot_led_extern:()=>UO,robot_led_extern_get_value:()=>BO,robot_motor_extern:()=>HO,robot_motor_extern_get_speed:()=>DO,robot_servo_extern_absolute_run:()=>yO,robot_servo_extern_get_status:()=>gO,robot_servo_extern_relative_continue:()=>xO,robot_servo_extern_relative_origin:()=>fO,robot_servo_extern_relative_run:()=>bO,robot_servo_extern_stop:()=>FO,robot_servo_extern_stop_mode:()=>GO,robot_traffic_light_extern:()=>YO,servo_get_angle:()=>MO,servo_get_speed:()=>LO,servo_init:()=>sO,servo_move:()=>OO,servo_set_angle:()=>aO,servo_set_speed:()=>pO,servo_speed_360:()=>IO,syn6288_builtin_voice:()=>mO,syn6288_get_voice:()=>uO,syn6288_set_voice:()=>hO,syn6288_tts_play:()=>CO});var H={};_.r(H),_.d(H,{actuator_dc_motor:()=>AI,actuator_dc_motor_stop:()=>PI,actuator_get_led_bright:()=>KO,actuator_get_led_state:()=>zO,actuator_led_bright:()=>WO,actuator_led_brightness:()=>ZO,actuator_mixbot_buzzer_on_off:()=>mI,actuator_mixgo_nova_mic_get:()=>YI,actuator_mixgo_nova_mic_set:()=>DI,actuator_mixgo_nova_onboard_music_pitch:()=>yI,actuator_mixgo_nova_onboard_music_stop:()=>fI,actuator_mixgo_nova_play_audio:()=>GI,actuator_mixgo_nova_play_online_audio:()=>FI,actuator_mixgo_nova_record_audio:()=>gI,actuator_mixgo_nova_voice_get:()=>BI,actuator_mixgo_nova_voice_set:()=>UI,actuator_mixgo_zero_led_color:()=>QO,actuator_onboard_neopixel_rgb:()=>tI,actuator_onboard_neopixel_rgb_all:()=>eI,actuator_onboard_neopixel_rgb_show_all_chase:()=>TI,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>iI,actuator_onboard_neopixel_write:()=>EI,actuator_rm_onboard_neopixel_rgb:()=>nI,actuator_rm_onboard_neopixel_rgb_all:()=>oI,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>sI,actuator_stepper_keep:()=>SI,actuator_stepper_stop:()=>lI,bitbot_motor:()=>HI,bitbot_move:()=>CI,bitbot_stop:()=>cI,cc_number:()=>_I,esp32_music_get_tempo:()=>II,esp32_music_reset:()=>aI,esp32_music_set_tempo:()=>OI,esp32_onboard_music_pitch:()=>pI,esp32_onboard_music_pitch_with_time:()=>MI,esp32_onboard_music_play_list:()=>RI,esp32_onboard_music_stop:()=>LI,get_power_output:()=>xI,ledswitch:()=>wO,mixbot_motor:()=>uI,mixbot_motor_status:()=>NI,mixbot_move:()=>dI,mixbot_stop:()=>hI,number:()=>kO,rm_actuator_get_led_bright:()=>qO,rm_actuator_get_led_state:()=>jO,rm_actuator_led_bright:()=>JO,rm_actuator_led_brightness:()=>$O,rm_motor:()=>rI,set_all_power_output:()=>vI,set_power_output:()=>bI});var D={};_.r(D),_.d(D,{ai_sensor_20object:()=>Pa,ai_sensor_ailocal_class:()=>Oa,ai_sensor_ailocal_class_result:()=>Ia,ai_sensor_ailocal_train:()=>sa,ai_sensor_asr_recognize:()=>Ra,ai_sensor_audio_play:()=>pa,ai_sensor_audio_record:()=>aa,ai_sensor_barcode:()=>ZI,ai_sensor_circle:()=>_a,ai_sensor_classifier_faces:()=>Aa,ai_sensor_color:()=>Ta,ai_sensor_color_chases:()=>oa,ai_sensor_color_chases_result:()=>na,ai_sensor_config:()=>KI,ai_sensor_face:()=>la,ai_sensor_find_20objects:()=>Na,ai_sensor_find_barcodes:()=>QI,ai_sensor_find_circles:()=>ta,ai_sensor_find_colors:()=>Ea,ai_sensor_find_licenseplates:()=>Sa,ai_sensor_find_lines:()=>$I,ai_sensor_find_qrcodes:()=>WI,ai_sensor_find_rects:()=>ia,ai_sensor_find_tags:()=>qI,ai_sensor_licenseplate:()=>ra,ai_sensor_line:()=>jI,ai_sensor_qrcode:()=>kI,ai_sensor_qrcode_lite:()=>wI,ai_sensor_rect:()=>ea,ai_sensor_rgb:()=>zI,ai_sensor_tag:()=>JI,ai_sensor_use_uart_init:()=>VI,ai_sensor_yolo_recognize:()=>Ma,ai_sensor_yolo_recognize_result:()=>La});var Y={};_.r(Y),_.d(Y,{MICROPYTHON_AI_Speech_asr:()=>ua,MICROPYTHON_AI_Speech_unit:()=>ha,MICROPYTHON_AI_client:()=>da});var U={};_.r(U),_.d(U,{mpython_blynk_app_data:()=>xa,mpython_blynk_app_notify:()=>Ba,mpython_blynk_email:()=>Fa,mpython_blynk_get_timers:()=>ya,mpython_blynk_on_connected:()=>Da,mpython_blynk_on_disconnected:()=>Ha,mpython_blynk_run:()=>Ua,mpython_blynk_sensor_data_to_app:()=>ba,mpython_blynk_set_property:()=>Ga,mpython_blynk_setup:()=>va,mpython_blynk_stop_timers:()=>ga,mpython_blynk_sync_virtual:()=>ca,mpython_blynk_terminal_widget_vpin:()=>Ca,mpython_blynktimer:()=>fa,mpython_blynktimer_run:()=>Ya});var B={};_.r(B),_.d(B,{communicate_bluetooth_central_init:()=>dp,communicate_bluetooth_connect:()=>Cp,communicate_bluetooth_disconnect:()=>cp,communicate_bluetooth_handle:()=>Bp,communicate_bluetooth_is_connected:()=>Dp,communicate_bluetooth_mac:()=>mp,communicate_bluetooth_peripheral_init:()=>hp,communicate_bluetooth_recv:()=>Yp,communicate_bluetooth_recv_only:()=>Up,communicate_bluetooth_scan:()=>up,communicate_bluetooth_send:()=>Hp,communicate_espnow_init:()=>gp,communicate_espnow_init_new:()=>Gp,communicate_i2c_available:()=>Tp,communicate_i2c_init:()=>wa,communicate_i2c_master_read:()=>ip,communicate_i2c_onboard:()=>Va,communicate_i2c_read:()=>Wa,communicate_i2c_scan:()=>za,communicate_i2c_write:()=>Ka,communicate_ir_recv_init:()=>pp,communicate_ir_send_init:()=>Sp,communicate_ow_init:()=>np,communicate_ow_read:()=>sp,communicate_ow_reset:()=>ap,communicate_ow_scan:()=>op,communicate_ow_select:()=>Ip,communicate_ow_write:()=>Op,communicate_spi_buffer:()=>Ja,communicate_spi_init:()=>Za,communicate_spi_onboard:()=>ka,communicate_spi_read:()=>qa,communicate_spi_read_output:()=>ja,communicate_spi_readinto:()=>$a,communicate_spi_readinto_output:()=>_p,communicate_spi_set:()=>Qa,communicate_spi_write:()=>tp,communicate_spi_write_readinto:()=>ep,espnow_radio_channel:()=>vp,espnow_radio_channel_new:()=>Vp,espnow_radio_on_off:()=>kp,espnow_radio_rec:()=>Wp,espnow_radio_recv:()=>zp,espnow_radio_recv_certain_msg:()=>Zp,espnow_radio_recv_certain_msg_new:()=>Jp,espnow_radio_recv_msg:()=>Kp,espnow_radio_recv_new:()=>Qp,espnow_radio_send:()=>wp,espnow_radio_txpower:()=>Xp,i2c_available:()=>lM,i2c_init:()=>TM,i2c_master_reader2:()=>SM,i2c_read:()=>EM,i2c_scan:()=>oM,i2c_slave_onreceive:()=>Ep,i2c_write:()=>nM,internal_variable:()=>Mp,ir_recv_timeout:()=>rp,ir_transmit_busy:()=>Np,ir_transmit_conventional_data:()=>lp,ir_transmit_raw_code:()=>Pp,ir_transmit_study_code:()=>Ap,ir_whether_recv:()=>Rp,lora_init:()=>qp,lora_packet:()=>jp,lora_recv:()=>_M,lora_send:()=>$p,network_espnow_info:()=>yp,network_espnow_mac:()=>Fp,network_espnow_recv:()=>fp,network_espnow_recv_handle:()=>xp,network_espnow_send:()=>bp,recv_fun:()=>Lp,spi_buffer:()=>IM,spi_init:()=>sM,spi_read:()=>aM,spi_read_output:()=>pM,spi_readinto:()=>MM,spi_readinto_output:()=>LM,spi_set:()=>OM,spi_write:()=>RM,spi_write_readinto:()=>rM,urequests_attribute:()=>eM,urequests_get:()=>tM,urequests_method:()=>iM});var g={};_.r(g),_.d(g,{display_animate:()=>ZM,display_blink_rate:()=>wM,display_circle:()=>QM,display_color_seclet:()=>oL,display_draw_4strings:()=>bM,display_fill:()=>zM,display_get_screen_image:()=>kM,display_help:()=>qM,display_image_size:()=>xM,display_lcd_use_i2c_init:()=>ML,display_line:()=>XM,display_line_arbitrarily:()=>VM,display_matrix_extern_bright_point:()=>YM,display_matrix_extern_bright_screen:()=>BM,display_matrix_extern_clear:()=>gM,display_matrix_extern_get_pixel:()=>DM,display_matrix_extern_get_screen_pixel:()=>UM,display_matrix_extern_image_builtins:()=>GM,display_matrix_extern_scroll_string:()=>uM,display_matrix_extern_scroll_string_delay:()=>mM,display_matrix_extern_shift:()=>HM,display_matrix_extern_show_frame_string:()=>CM,display_matrix_extern_show_frame_string_delay:()=>cM,display_matrix_extern_show_image:()=>dM,display_matrix_extern_show_image_or_string_delay:()=>hM,display_matrix_use_i2c_init:()=>NM,display_oled_drawPixel:()=>$M,display_oled_showBitmap:()=>jM,display_oled_use_i2c_init:()=>lL,display_onoff:()=>KM,display_rect:()=>vM,display_rgb_color:()=>WM,display_tm1650_power:()=>tL,display_tm1650_set_brightness:()=>TL,display_tm1650_show_dot:()=>iL,display_tm1650_show_num:()=>eL,display_tm_use_i2c_init:()=>_L,display_triangle:()=>JM,display_use_i2c_init:()=>fM,extern_oled_bright_point:()=>DL,extern_oled_clear:()=>YL,extern_oled_get_pixel:()=>HL,extern_oled_hvline:()=>BL,extern_oled_line:()=>gL,extern_oled_scroll_string:()=>hL,extern_oled_scroll_string_delay:()=>uL,extern_oled_shape_rect:()=>UL,extern_oled_shift:()=>cL,extern_oled_show_frame_string:()=>mL,extern_oled_show_frame_string_delay:()=>CL,extern_oled_show_image:()=>AL,extern_oled_show_image_or_string_delay:()=>dL,extern_oled_show_image_xy:()=>PL,extern_oled_show_string:()=>NL,lcd_backlight:()=>rL,lcd_clear:()=>SL,lcd_print_string:()=>RL,lcd_show_image_or_string_delay:()=>LL,matrix_extern_image_arithmetic:()=>FM,matrix_extern_image_invert:()=>yM,tft_fill:()=>aL,tft_line_arbitrarily:()=>pL,tft_scroll_string_delay:()=>OL,tft_show_frame_string_delay:()=>IL,tft_show_image_or_string_delay:()=>sL,tft_show_image_xy:()=>nL,tft_use_spi_init:()=>EL});var G={};_.r(G),_.d(G,{bitbot_display_image_create:()=>lR,display_bright_point:()=>ZL,display_bright_screen:()=>JL,display_clear:()=>qL,display_get_pixel:()=>zL,display_get_screen_pixel:()=>QL,display_image_builtins:()=>VL,display_image_builtins_all:()=>kL,display_image_create:()=>XL,display_scroll_string:()=>fL,display_scroll_string_delay:()=>bL,display_shift:()=>KL,display_show_frame_string:()=>xL,display_show_frame_string_delay:()=>vL,display_show_image:()=>FL,display_show_image_or_string_delay:()=>yL,image_arithmetic:()=>wL,image_invert:()=>WL,mixbot_display_bright_screen:()=>rR,mixbot_display_get_ambientbright:()=>RR,mixbot_display_get_screen_pixel:()=>LR,mixbot_display_image_create:()=>MR,mixbot_display_rotate:()=>SR,mixgo_display_image_create_new:()=>_R,mixgome_display_font:()=>tR,mixgome_display_image_create:()=>jL,mixgomini_display_image_create:()=>$L,mpython_display_hvline:()=>IR,mpython_display_line:()=>aR,mpython_display_shape_rect:()=>OR,mpython_pbm_image:()=>pR,onboard_oled_bright_point:()=>sR,onboard_oled_scroll_string_delay:()=>nR,onboard_oled_show_frame_string_delay:()=>oR,onboard_oled_show_image:()=>eR,onboard_oled_show_image_or_string_delay:()=>ER,onboard_oled_show_image_xy:()=>iR,onboard_oled_show_string:()=>TR,onboard_tft_bright_point:()=>UR,onboard_tft_bright_screen:()=>GR,onboard_tft_clear:()=>BR,onboard_tft_clock_clear:()=>vR,onboard_tft_clock_draw:()=>xR,onboard_tft_clock_get_rtctime:()=>fR,onboard_tft_clock_init:()=>yR,onboard_tft_clock_set_time:()=>bR,onboard_tft_display_hvline:()=>cR,onboard_tft_display_line:()=>HR,onboard_tft_display_shape_circle:()=>XR,onboard_tft_display_shape_rect:()=>CR,onboard_tft_fill:()=>FR,onboard_tft_get_pixel:()=>YR,onboard_tft_get_screen_pixel:()=>gR,onboard_tft_scroll_string:()=>dR,onboard_tft_scroll_string_delay:()=>hR,onboard_tft_shift:()=>DR,onboard_tft_show_frame_string:()=>uR,onboard_tft_show_frame_string_delay:()=>mR,onboard_tft_show_image:()=>AR,onboard_tft_show_image_or_string_delay:()=>NR,onboard_tft_show_image_xy:()=>PR});var F={};_.r(F),_.d(F,{factory_block:()=>jR,factory_block_return:()=>$R,factory_block_return_with_textarea:()=>tr,factory_block_with_textarea:()=>_r,factory_callMethod_noreturn:()=>JR,factory_callMethod_return:()=>qR,factory_create_with_container:()=>KR,factory_create_with_item:()=>zR,factory_declare:()=>QR,factory_from_import:()=>kR,factory_function_noreturn:()=>WR,factory_function_return:()=>ZR,factory_import:()=>wR,folding_block:()=>er});var y={};_.r(y),_.d(y,{controls_pin_attachInterrupt:()=>ur,inout_analog_atten:()=>pr,inout_analog_read:()=>ar,inout_analog_read_init:()=>lr,inout_analog_write:()=>sr,inout_analog_write_init:()=>Sr,inout_analog_write_set:()=>Or,inout_analog_write_set_freq:()=>Nr,inout_digital_init:()=>Rr,inout_digital_read:()=>nr,inout_digital_write:()=>Er,inout_highlow:()=>Tr,inout_pinMode:()=>Pr,inout_pin_attachInterrupt:()=>Lr,inout_pin_pressed:()=>Mr,inout_pin_pressed_init:()=>Ar,inout_pwm_analog_write:()=>or,inout_pwm_analog_write_init:()=>rr,inout_pwm_analog_write_set_freq:()=>Ir,pin_pressed:()=>hr,pin_pressed_init:()=>dr});var f={};_.r(f),_.d(f,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Zr,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>zr,IOT_EMQX_PING:()=>Wr,IOT_FORMATTING:()=>kr,IOT_FORMAT_STRING:()=>wr,IOT_MIXIO_NTP:()=>Kr,IOT_MIXIO_PUBLISH:()=>yr,IOT_MIXIO_SUBSCRIBE:()=>fr,iot_checkonenet:()=>TS,iot_client_onboard:()=>Jr,iot_create_with_item:()=>Gr,iot_http_client:()=>qr,iot_http_data:()=>jr,iot_mixio_check:()=>vr,iot_mixio_connect:()=>Fr,iot_mixio_connect_only:()=>xr,iot_mixio_disconnect:()=>br,iot_mixio_format_msg:()=>Vr,iot_mixio_format_topic:()=>Xr,iot_mixly_key:()=>Qr,iot_mqtt_client:()=>$r,iot_mqtt_data:()=>_S,iot_onenet_check:()=>Dr,iot_onenet_connect:()=>cr,iot_onenet_disconnect:()=>Hr,iot_onenet_publish:()=>Ur,iot_onenet_publish_dict:()=>Yr,iot_onenetconnect:()=>eS,iot_onenetdisconnect:()=>iS,iot_publish:()=>ES,iot_publish_container:()=>Br,iot_publish_item:()=>gr,iot_wifi_connect:()=>Cr,iot_wificonnect:()=>tS});var b={};_.r(b),_.d(b,{network_ap_connect:()=>rS,network_connect:()=>aS,network_get_connect:()=>MS,network_get_wifi:()=>RS,network_init:()=>oS,network_is_active:()=>OS,network_open:()=>sS,network_scan:()=>IS,network_server:()=>SS,network_socket_accept:()=>dS,network_socket_bind:()=>AS,network_socket_close:()=>cS,network_socket_connect:()=>PS,network_socket_init:()=>lS,network_socket_listen:()=>NS,network_socket_receive:()=>hS,network_socket_receive_from:()=>mS,network_socket_send:()=>uS,network_socket_send_to:()=>CS,network_stop:()=>LS,network_wifi_connect:()=>pS,ntptime_address:()=>BS,ntptime_time:()=>US,requests_attribute:()=>DS,requests_get:()=>HS,requests_method:()=>YS});var x={};_.r(x),_.d(x,{pe_g1_battery_left:()=>FS,pe_g1_dc_motor:()=>yS,pe_g1_dc_motor_speed:()=>fS,pe_g1_servo_get_angle:()=>vS,pe_g1_servo_get_speed:()=>XS,pe_g1_servo_set_angle:()=>bS,pe_g1_servo_set_speed:()=>xS,pe_g1_use_i2c_init:()=>GS});var v={};_.r(v),_.d(v,{HCSR04:()=>Vl,PS2_Button:()=>Kl,PS2_Buttons:()=>Zl,PS2_Buttons_new:()=>jl,PS2_State:()=>zl,PS2_init:()=>kl,PS2_init_new:()=>Jl,PS2_stk:()=>Ql,PS2_stk_new:()=>$l,PS2_vibration:()=>Wl,PS2_vibration_new:()=>ql,esp32_s2_weather_init:()=>bl,esp32_s2_weather_rain:()=>vl,esp32_s2_weather_wd:()=>xl,esp32_s2_weather_ws:()=>Xl,extern_rfid_read:()=>ul,extern_rfid_readcontent:()=>Cl,extern_rfid_readid:()=>ml,extern_rfid_status:()=>Dl,extern_rfid_write:()=>cl,extern_rfid_write_return:()=>Hl,gnss_get_data:()=>iA,gnss_have_data:()=>eA,mixbot_sensor_extern_get_addr:()=>IA,mixbot_sensor_extern_set_addr:()=>aA,pm25_get_data:()=>tA,robot_button_extern_get_value:()=>TA,robot_color_extern_get_value:()=>OA,robot_infrared_extern_get_value:()=>nA,robot_infrared_extern_grey_get_value:()=>oA,robot_potentiometer_extern_get_value:()=>sA,robot_sonar_extern_get_value:()=>pA,robot_sonar_extern_led:()=>MA,robot_touch_extern_get_value:()=>EA,sensor_APDS9960_extern:()=>nl,sensor_LTR308_extern:()=>ol,sensor_LTR390UV_extern:()=>Ol,sensor_MAX30102_extern:()=>El,sensor_QMC5883L_extern:()=>Ll,sensor_VL530LX_extern:()=>Il,sensor_adxl345_get_acceleration:()=>ZS,sensor_aht11_extern:()=>pl,sensor_bmp:()=>_l,sensor_compass_reset:()=>dl,sensor_dht11:()=>JS,sensor_ds18x20:()=>el,sensor_hp203_extern:()=>Ml,sensor_light_level:()=>QS,sensor_lm35:()=>il,sensor_ltr381_extern:()=>sl,sensor_mixgo_extern_button_attachInterrupt:()=>KS,sensor_mixgo_extern_button_get_presses:()=>WS,sensor_mixgo_extern_button_is_pressed:()=>kS,sensor_mixgo_extern_button_was_pressed:()=>wS,sensor_mixgo_extern_light:()=>qS,sensor_mixgo_extern_pin_near:()=>$S,sensor_mixgo_extern_sound:()=>jS,sensor_mixgoce_hot_wheel_degrees:()=>fl,sensor_mixgoce_hot_wheel_is_touched:()=>yl,sensor_mpu9250_attachGestureInterrupt:()=>zS,sensor_mpu9250_calibrate_compass:()=>Al,sensor_mpu9250_field_strength:()=>Nl,sensor_mpu9250_gesture:()=>Rl,sensor_mpu9250_get_acceleration:()=>rl,sensor_mpu9250_get_gyro:()=>ll,sensor_mpu9250_get_magnetic:()=>Sl,sensor_mpu9250_temperature:()=>Pl,sensor_sht:()=>tl,sensor_shtc3_extern:()=>al,sensor_use_i2c_init:()=>Tl,sensor_use_spi_init:()=>hl,sensor_use_uart_init:()=>_A,sensor_weather_solo_init:()=>LA,sensor_weather_solo_rain:()=>SA,sensor_weather_solo_wd:()=>RA,sensor_weather_solo_ws:()=>rA,weather_data:()=>Yl,weather_have_data:()=>Ul,weather_set_label:()=>gl,weather_set_label_container:()=>Gl,weather_set_label_item:()=>Fl,weather_uart_mixio:()=>Bl});var X={};_.r(X),_.d(X,{HCSR04:()=>GA,RTC_set_date:()=>gA,RTC_set_time:()=>BA,bitbot_als_num:()=>xP,dht11:()=>KP,number1:()=>yA,number2:()=>fA,number3:()=>bA,number4:()=>xA,number5:()=>vA,number6:()=>XA,number7:()=>VA,onboard_RTC_get_time:()=>QA,onboard_RTC_get_timestamp:()=>JA,onboard_RTC_set_datetime:()=>$A,onboard_RTC_settime_string:()=>jA,onboard_RTC_timestamp_totuple:()=>qA,rfid_readcontent:()=>oP,rfid_readid:()=>nP,rfid_write:()=>sP,rfid_write_return:()=>OP,sensor_LTR308:()=>tP,sensor_aht11:()=>iP,sensor_bitbot_ALS:()=>bP,sensor_button_get_presses:()=>VP,sensor_button_is_pressed:()=>vP,sensor_button_was_pressed:()=>XP,sensor_distance_hrsc04:()=>UA,sensor_eulerangles:()=>aP,sensor_field_strength:()=>zP,sensor_get_acceleration:()=>IP,sensor_get_temperature:()=>TP,sensor_hp203:()=>EP,sensor_light:()=>WP,sensor_mixbot_get_gyro:()=>fP,sensor_mixbot_patrol_calibrate:()=>GP,sensor_mixbot_patrol_value:()=>FP,sensor_mixbot_temperature:()=>yP,sensor_mixgo_LTR308:()=>ZA,sensor_mixgo_button_attachInterrupt:()=>dA,sensor_mixgo_button_get_presses:()=>NA,sensor_mixgo_button_is_pressed:()=>AA,sensor_mixgo_button_was_pressed:()=>PA,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>dP,sensor_mixgo_cc_mmc5603_get_angle:()=>NP,sensor_mixgo_cc_mmc5603_get_magnetic:()=>PP,sensor_mixgo_light:()=>FA,sensor_mixgo_nova_LTR308:()=>zA,sensor_mixgo_nova_pin_near:()=>KA,sensor_mixgo_pin_near:()=>WA,sensor_mixgo_pin_near_double:()=>wA,sensor_mixgo_pin_near_single:()=>kA,sensor_mixgo_pin_pressed:()=>cA,sensor_mixgo_touch_slide:()=>YA,sensor_mixgocar42_button_attachInterrupt:()=>CA,sensor_mixgocar42_button_get_presses:()=>mA,sensor_mixgocar42_button_is_pressed:()=>hA,sensor_mixgocar42_button_was_pressed:()=>uA,sensor_mixgocar_battery_left:()=>gP,sensor_mixgocar_pin_near:()=>UP,sensor_mixgocar_pin_near_line:()=>YP,sensor_mixgocar_pin_near_state_change:()=>BP,sensor_mixgoce_pin_pressed:()=>HA,sensor_mixgoce_temperature:()=>uP,sensor_mixgome_temperature:()=>hP,sensor_mpython_pin_pressed:()=>DA,sensor_mpython_qmi8658_get_gyro:()=>mP,sensor_mpython_qmi8658_temperature:()=>CP,sensor_onboard_compass_reset:()=>AP,sensor_onboard_mpu9250_calibrate_compass:()=>rP,sensor_onboard_mpu9250_field_strength:()=>lP,sensor_onboard_mpu9250_gesture:()=>pP,sensor_onboard_mpu9250_get_acceleration:()=>MP,sensor_onboard_mpu9250_get_gyro:()=>RP,sensor_onboard_mpu9250_get_magnetic:()=>LP,sensor_onboard_mpu9250_temperature:()=>SP,sensor_pin_near:()=>wP,sensor_pin_pressed:()=>kP,sensor_rm_acc:()=>DP,sensor_rm_battery_left:()=>HP,sensor_rm_pin_near_double:()=>cP,sensor_rtc_init:()=>_P,sensor_sound:()=>eP,sensor_temperature:()=>ZP});var V={};_.r(V),_.d(V,{serial_any:()=>eN,serial_begin:()=>oN,serial_print:()=>qP,serial_print_byte:()=>JP,serial_print_hex:()=>$P,serial_println:()=>jP,serial_read_from_ai:()=>rN,serial_readline:()=>iN,serial_readstr:()=>tN,serial_readstr_until:()=>TN,serial_receive_data_event:()=>_N,serial_send_to_ai:()=>RN,serial_softserial:()=>nN,serial_softserial_new:()=>EN,system_input:()=>sN,system_print:()=>ON,system_print_container:()=>MN,system_print_end:()=>aN,system_print_inline:()=>IN,system_print_item:()=>LN,system_print_many:()=>pN});var k={};_.r(k),_.d(k,{Panic_with_status_code:()=>PN,Timer_init:()=>gN,base_delay:()=>yN,controls_delay:()=>AN,controls_delay_new:()=>lN,controls_millis:()=>dN,controls_uname:()=>uN,raw_block:()=>hN,reset:()=>NN,system_bitbot_shutdown:()=>BN,system_machine_reset:()=>UN,system_ticks_diff:()=>cN,system_timer:()=>CN,system_timer_init:()=>HN,system_wdt_feed:()=>YN,system_wdt_init:()=>DN,time_ticks_diff:()=>FN,timer:()=>mN,timer2:()=>GN});var w={};_.r(w),_.d(w,{WEATHER_DAILY:()=>xN,WEATHER_HOUR:()=>vN,WEATHER_NOW:()=>bN});var W={};_.r(W),_.d(W,{actuator_extern_get_led_bright:()=>nd,actuator_extern_get_led_state:()=>od,actuator_extern_led_bright:()=>Ed,actuator_extern_led_brightness:()=>sd,actuator_ms32006_dcmotor:()=>ZN,actuator_ms32006_init:()=>zN,actuator_ms32006_stepper:()=>QN,actuator_neopixel_init:()=>Od,actuator_neopixel_rgb:()=>pd,actuator_neopixel_rgb_all:()=>Id,actuator_neopixel_write:()=>ad,actuator_use_uart_init:()=>Md,esp32_music_get_tempo_extern:()=>td,esp32_music_pitch:()=>qN,esp32_music_pitch_init:()=>JN,esp32_music_pitch_with_time:()=>jN,esp32_music_play_list:()=>ed,esp32_music_reset_extern:()=>id,esp32_music_set_tempo_extern:()=>_d,esp32_music_stop:()=>$N,mixbot_actuator_extern_get_addr:()=>Ud,mixbot_actuator_extern_set_addr:()=>Bd,mixbot_addr_extern:()=>ld,robot_led_extern:()=>dd,robot_led_extern_get_value:()=>hd,robot_motor_extern:()=>Ad,robot_motor_extern_get_speed:()=>Pd,robot_servo_extern_absolute_run:()=>cd,robot_servo_extern_get_status:()=>ud,robot_servo_extern_relative_continue:()=>Yd,robot_servo_extern_relative_origin:()=>Hd,robot_servo_extern_relative_run:()=>Dd,robot_servo_extern_stop:()=>Cd,robot_servo_extern_stop_mode:()=>md,robot_traffic_light_extern:()=>Nd,servo_get_angle:()=>WN,servo_get_speed:()=>KN,servo_init:()=>XN,servo_move:()=>Td,servo_set_angle:()=>kN,servo_set_speed:()=>wN,servo_speed_360:()=>VN,syn6288_builtin_voice:()=>rd,syn6288_get_voice:()=>Rd,syn6288_set_voice:()=>Ld,syn6288_tts_play:()=>Sd});var K={};_.r(K),_.d(K,{actuator_dc_motor:()=>nh,actuator_dc_motor_stop:()=>oh,actuator_get_led_bright:()=>kd,actuator_get_led_state:()=>wd,actuator_led_bright:()=>Vd,actuator_led_brightness:()=>Wd,actuator_mixbot_buzzer_on_off:()=>ph,actuator_mixgo_nova_mic_get:()=>Sh,actuator_mixgo_nova_mic_set:()=>rh,actuator_mixgo_nova_onboard_music_pitch:()=>hh,actuator_mixgo_nova_onboard_music_stop:()=>uh,actuator_mixgo_nova_play_audio:()=>Nh,actuator_mixgo_nova_play_online_audio:()=>dh,actuator_mixgo_nova_record_audio:()=>Ph,actuator_mixgo_nova_voice_get:()=>Ah,actuator_mixgo_nova_voice_set:()=>lh,actuator_mixgo_zero_led_color:()=>Kd,actuator_onboard_neopixel_rgb:()=>$d,actuator_onboard_neopixel_rgb_all:()=>_h,actuator_onboard_neopixel_rgb_show_all_chase:()=>th,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>eh,actuator_onboard_neopixel_write:()=>jd,actuator_stepper_keep:()=>Th,actuator_stepper_stop:()=>Eh,bitbot_motor:()=>Rh,bitbot_move:()=>Mh,bitbot_stop:()=>Lh,cc_number:()=>zd,esp32_music_get_tempo:()=>Gd,esp32_music_reset:()=>xd,esp32_music_set_tempo:()=>gd,esp32_onboard_music_pitch:()=>Fd,esp32_onboard_music_pitch_with_time:()=>yd,esp32_onboard_music_play_list:()=>bd,esp32_onboard_music_stop:()=>fd,get_power_output:()=>Ch,ledswitch:()=>Xd,mixbot_motor:()=>ah,mixbot_motor_status:()=>sh,mixbot_move:()=>Oh,mixbot_stop:()=>Ih,number:()=>vd,rm_actuator_get_led_bright:()=>Qd,rm_actuator_get_led_state:()=>Jd,rm_actuator_led_bright:()=>Zd,rm_actuator_led_brightness:()=>qd,rm_motor:()=>ih,set_all_power_output:()=>ch,set_power_output:()=>mh});var z={};_.r(z),_.d(z,{ai_sensor_20object:()=>nu,ai_sensor_ailocal_class:()=>Qh,ai_sensor_ailocal_class_result:()=>Jh,ai_sensor_ailocal_train:()=>Zh,ai_sensor_asr_recognize:()=>tu,ai_sensor_audio_play:()=>jh,ai_sensor_audio_record:()=>qh,ai_sensor_barcode:()=>Gh,ai_sensor_circle:()=>vh,ai_sensor_classifier_faces:()=>Eu,ai_sensor_color:()=>wh,ai_sensor_color_chases:()=>zh,ai_sensor_color_chases_result:()=>Kh,ai_sensor_config:()=>Yh,ai_sensor_face:()=>Tu,ai_sensor_find_20objects:()=>ou,ai_sensor_find_barcodes:()=>Fh,ai_sensor_find_circles:()=>Xh,ai_sensor_find_colors:()=>Wh,ai_sensor_find_licenseplates:()=>iu,ai_sensor_find_lines:()=>xh,ai_sensor_find_qrcodes:()=>gh,ai_sensor_find_rects:()=>kh,ai_sensor_find_tags:()=>fh,ai_sensor_licenseplate:()=>eu,ai_sensor_line:()=>bh,ai_sensor_qrcode:()=>Bh,ai_sensor_qrcode_lite:()=>Dh,ai_sensor_rect:()=>Vh,ai_sensor_rgb:()=>Uh,ai_sensor_tag:()=>yh,ai_sensor_use_uart_init:()=>Hh,ai_sensor_yolo_recognize:()=>$h,ai_sensor_yolo_recognize_result:()=>_u});var Z={};_.r(Z),_.d(Z,{MICROPYTHON_AI_Speech_asr:()=>Iu,MICROPYTHON_AI_Speech_unit:()=>Ou,MICROPYTHON_AI_client:()=>su});var Q={};_.r(Q),_.d(Q,{mpython_blynk_app_data:()=>du,mpython_blynk_app_notify:()=>Su,mpython_blynk_email:()=>hu,mpython_blynk_get_timers:()=>Au,mpython_blynk_on_connected:()=>Lu,mpython_blynk_on_disconnected:()=>Mu,mpython_blynk_run:()=>ru,mpython_blynk_sensor_data_to_app:()=>Nu,mpython_blynk_set_property:()=>uu,mpython_blynk_setup:()=>mu,mpython_blynk_stop_timers:()=>lu,mpython_blynk_sync_virtual:()=>pu,mpython_blynk_terminal_widget_vpin:()=>au,mpython_blynktimer:()=>Pu,mpython_blynktimer_run:()=>Ru});var J={};_.r(J),_.d(J,{communicate_bluetooth_central_init:()=>nm,communicate_bluetooth_connect:()=>Om,communicate_bluetooth_disconnect:()=>Im,communicate_bluetooth_handle:()=>rm,communicate_bluetooth_is_connected:()=>pm,communicate_bluetooth_mac:()=>am,communicate_bluetooth_peripheral_init:()=>om,communicate_bluetooth_recv:()=>Rm,communicate_bluetooth_recv_only:()=>Lm,communicate_bluetooth_scan:()=>sm,communicate_bluetooth_send:()=>Mm,communicate_espnow_init:()=>Sm,communicate_espnow_init_new:()=>lm,communicate_i2c_available:()=>gu,communicate_i2c_init:()=>Hu,communicate_i2c_master_read:()=>Bu,communicate_i2c_onboard:()=>Cu,communicate_i2c_read:()=>Du,communicate_i2c_scan:()=>Uu,communicate_i2c_write:()=>Yu,communicate_ir_recv_init:()=>Ju,communicate_ir_send_init:()=>tm,communicate_ow_init:()=>wu,communicate_ow_read:()=>zu,communicate_ow_reset:()=>Ku,communicate_ow_scan:()=>Wu,communicate_ow_select:()=>Qu,communicate_ow_write:()=>Zu,communicate_spi_buffer:()=>fu,communicate_spi_init:()=>Fu,communicate_spi_onboard:()=>cu,communicate_spi_read:()=>bu,communicate_spi_read_output:()=>xu,communicate_spi_readinto:()=>vu,communicate_spi_readinto_output:()=>Xu,communicate_spi_set:()=>yu,communicate_spi_write:()=>Vu,communicate_spi_write_readinto:()=>ku,espnow_radio_channel:()=>um,espnow_radio_channel_new:()=>Cm,espnow_radio_on_off:()=>cm,espnow_radio_rec:()=>Dm,espnow_radio_recv:()=>Um,espnow_radio_recv_certain_msg:()=>Bm,espnow_radio_recv_certain_msg_new:()=>Gm,espnow_radio_recv_msg:()=>Ym,espnow_radio_recv_new:()=>gm,espnow_radio_send:()=>Hm,espnow_radio_txpower:()=>mm,i2c_slave_onreceive:()=>Gu,internal_variable:()=>qu,ir_recv_timeout:()=>_m,ir_transmit_busy:()=>Em,ir_transmit_conventional_data:()=>em,ir_transmit_raw_code:()=>Tm,ir_transmit_study_code:()=>im,ir_whether_recv:()=>$u,lora_init:()=>Fm,lora_packet:()=>ym,lora_recv:()=>bm,lora_send:()=>fm,network_espnow_info:()=>Pm,network_espnow_mac:()=>Am,network_espnow_recv:()=>Nm,network_espnow_recv_handle:()=>hm,network_espnow_send:()=>dm,recv_fun:()=>ju,urequests_attribute:()=>vm,urequests_get:()=>xm,urequests_method:()=>Xm});var q={};_.r(q),_.d(q,{display_animate:()=>pC,display_circle:()=>MC,display_color_seclet:()=>uC,display_draw_4strings:()=>EC,display_fill:()=>aC,display_lcd_use_i2c_init:()=>YC,display_line:()=>sC,display_line_arbitrarily:()=>nC,display_matrix_extern_bright_point:()=>jm,display_matrix_extern_bright_screen:()=>_C,display_matrix_extern_clear:()=>Qm,display_matrix_extern_get_pixel:()=>qm,display_matrix_extern_get_screen_pixel:()=>$m,display_matrix_extern_image_builtins:()=>tC,display_matrix_extern_scroll_string:()=>zm,display_matrix_extern_scroll_string_delay:()=>Zm,display_matrix_extern_shift:()=>Jm,display_matrix_extern_show_frame_string:()=>Wm,display_matrix_extern_show_frame_string_delay:()=>Km,display_matrix_extern_show_image:()=>km,display_matrix_extern_show_image_or_string_delay:()=>wm,display_matrix_use_i2c_init:()=>Vm,display_oled_drawPixel:()=>rC,display_oled_showBitmap:()=>RC,display_oled_use_i2c_init:()=>FC,display_onoff:()=>OC,display_rect:()=>oC,display_tm1650_power:()=>lC,display_tm1650_set_brightness:()=>NC,display_tm1650_show_dot:()=>PC,display_tm1650_show_num:()=>AC,display_tm_use_i2c_init:()=>SC,display_triangle:()=>LC,display_use_i2c_init:()=>TC,extern_oled_bright_point:()=>zC,extern_oled_clear:()=>wC,extern_oled_get_pixel:()=>KC,extern_oled_hvline:()=>QC,extern_oled_line:()=>JC,extern_oled_scroll_string:()=>VC,extern_oled_scroll_string_delay:()=>kC,extern_oled_shape_rect:()=>ZC,extern_oled_shift:()=>WC,extern_oled_show_frame_string:()=>vC,extern_oled_show_frame_string_delay:()=>XC,extern_oled_show_image:()=>yC,extern_oled_show_image_or_string_delay:()=>xC,extern_oled_show_image_xy:()=>fC,extern_oled_show_string:()=>bC,image_shift:()=>IC,lcd_backlight:()=>gC,lcd_clear:()=>GC,lcd_print_string:()=>BC,lcd_show_image_or_string_delay:()=>UC,matrix_extern_image_arithmetic:()=>eC,matrix_extern_image_invert:()=>iC,tft_fill:()=>HC,tft_line_arbitrarily:()=>DC,tft_scroll_string_delay:()=>cC,tft_show_frame_string_delay:()=>CC,tft_show_image_or_string_delay:()=>mC,tft_show_image_xy:()=>hC,tft_use_spi_init:()=>dC});var j={};_.r(j),_.d(j,{bitbot_display_image_create:()=>Gc,display_bright_point:()=>ac,display_bright_screen:()=>Mc,display_clear:()=>nc,display_get_pixel:()=>Ic,display_get_screen_pixel:()=>pc,display_image_builtins:()=>ic,display_image_builtins_all:()=>Tc,display_image_create:()=>Ec,display_scroll_string:()=>tc,display_scroll_string_delay:()=>ec,display_shift:()=>Oc,display_show_frame_string:()=>$C,display_show_frame_string_delay:()=>_c,display_show_image:()=>qC,display_show_image_or_string_delay:()=>jC,image_arithmetic:()=>oc,image_invert:()=>sc,mixbot_display_bright_screen:()=>Bc,mixbot_display_get_ambientbright:()=>Uc,mixbot_display_get_screen_pixel:()=>Yc,mixbot_display_image_create:()=>Dc,mixbot_display_rotate:()=>gc,mixgo_display_image_create_new:()=>Sc,mixgome_display_font:()=>rc,mixgome_display_image_create:()=>Lc,mixgomini_display_image_create:()=>Rc,mpython_display_hvline:()=>cc,mpython_display_line:()=>Hc,mpython_display_shape_rect:()=>Cc,mpython_pbm_image:()=>lc,onboard_oled_bright_point:()=>mc,onboard_oled_scroll_string_delay:()=>uc,onboard_oled_show_frame_string_delay:()=>hc,onboard_oled_show_image:()=>Ac,onboard_oled_show_image_or_string_delay:()=>dc,onboard_oled_show_image_xy:()=>Pc,onboard_oled_show_string:()=>Nc,onboard_tft_bright_point:()=>Zc,onboard_tft_bright_screen:()=>Jc,onboard_tft_clear:()=>Wc,onboard_tft_clock_clear:()=>eH,onboard_tft_clock_draw:()=>tH,onboard_tft_clock_get_rtctime:()=>$c,onboard_tft_clock_init:()=>jc,onboard_tft_clock_set_time:()=>_H,onboard_tft_display_hvline:()=>kc,onboard_tft_display_line:()=>wc,onboard_tft_display_shape_circle:()=>iH,onboard_tft_display_shape_rect:()=>Vc,onboard_tft_fill:()=>qc,onboard_tft_get_pixel:()=>zc,onboard_tft_get_screen_pixel:()=>Qc,onboard_tft_scroll_string:()=>vc,onboard_tft_scroll_string_delay:()=>Xc,onboard_tft_shift:()=>Kc,onboard_tft_show_frame_string:()=>bc,onboard_tft_show_frame_string_delay:()=>xc,onboard_tft_show_image:()=>Fc,onboard_tft_show_image_or_string_delay:()=>fc,onboard_tft_show_image_xy:()=>yc});var $={};_.r($),_.d($,{factory_block:()=>aH,factory_block_return:()=>pH,factory_block_return_with_textarea:()=>LH,factory_block_with_textarea:()=>MH,factory_callMethod_noreturn:()=>OH,factory_callMethod_return:()=>IH,factory_declare:()=>sH,factory_from_import:()=>TH,factory_function_noreturn:()=>nH,factory_function_return:()=>oH,factory_import:()=>EH,folding_block:()=>RH});var __={};_.r(__),_.d(__,{inout_analog_atten:()=>YH,inout_analog_read:()=>hH,inout_analog_read_init:()=>DH,inout_analog_write:()=>PH,inout_analog_write_init:()=>HH,inout_analog_write_set:()=>NH,inout_digital_init:()=>CH,inout_digital_read:()=>lH,inout_digital_write:()=>SH,inout_highlow:()=>rH,inout_pin_attachInterrupt:()=>mH,inout_pin_pressed:()=>uH,inout_pin_pressed_init:()=>UH,inout_pwm_analog_write:()=>AH,inout_pwm_analog_write_init:()=>cH,inout_pwm_analog_write_set_freq:()=>dH});var t_={};_.r(t_),_.d(t_,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>JH,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ZH,IOT_EMQX_PING:()=>qH,IOT_FORMATTING:()=>KH,IOT_FORMAT_STRING:()=>zH,IOT_MIXIO_NTP:()=>jH,IOT_MIXIO_PUBLISH:()=>xH,IOT_MIXIO_SUBSCRIBE:()=>vH,iot_client_onboard:()=>$H,iot_http_client:()=>_D,iot_http_data:()=>tD,iot_mixio_check:()=>kH,iot_mixio_connect:()=>bH,iot_mixio_connect_only:()=>VH,iot_mixio_disconnect:()=>XH,iot_mixio_format_msg:()=>WH,iot_mixio_format_topic:()=>wH,iot_mixly_key:()=>QH,iot_mqtt_client:()=>eD,iot_mqtt_data:()=>iD,iot_onenet_check:()=>yH,iot_onenet_connect:()=>gH,iot_onenet_disconnect:()=>GH,iot_onenet_publish:()=>fH,iot_onenet_publish_dict:()=>FH,iot_wifi_connect:()=>BH});var e_={};_.r(e_),_.d(e_,{network_ap_connect:()=>pD,network_connect:()=>ED,network_get_connect:()=>oD,network_get_wifi:()=>aD,network_init:()=>TD,network_is_active:()=>ID,network_open:()=>OD,network_scan:()=>MD,network_server:()=>LD,network_socket_accept:()=>AD,network_socket_bind:()=>rD,network_socket_close:()=>uD,network_socket_connect:()=>SD,network_socket_init:()=>RD,network_socket_listen:()=>lD,network_socket_receive:()=>PD,network_socket_receive_from:()=>dD,network_socket_send:()=>ND,network_socket_send_to:()=>hD,network_stop:()=>sD,network_wifi_connect:()=>nD,ntptime_address:()=>DD,ntptime_time:()=>HD,requests_attribute:()=>CD,requests_get:()=>mD,requests_method:()=>cD});var i_={};_.r(i_),_.d(i_,{pe_g1_battery_left:()=>UD,pe_g1_dc_motor:()=>BD,pe_g1_dc_motor_speed:()=>gD,pe_g1_servo_get_angle:()=>yD,pe_g1_servo_get_speed:()=>fD,pe_g1_servo_set_angle:()=>GD,pe_g1_servo_set_speed:()=>FD,pe_g1_use_i2c_init:()=>YD});var T_={};_.r(T_),_.d(T_,{HCSR04:()=>CY,PS2_Button:()=>DY,PS2_Buttons:()=>YY,PS2_Buttons_new:()=>bY,PS2_State:()=>UY,PS2_init:()=>cY,PS2_init_new:()=>yY,PS2_stk:()=>BY,PS2_stk_new:()=>xY,PS2_vibration:()=>HY,PS2_vibration_new:()=>fY,RTC_get_time:()=>GY,RTC_set_date:()=>WD,RTC_set_datetime:()=>gY,RTC_set_time:()=>wD,esp32_s2_weather_init:()=>dY,esp32_s2_weather_rain:()=>uY,esp32_s2_weather_wd:()=>hY,esp32_s2_weather_ws:()=>mY,extern_rfid_read:()=>IY,extern_rfid_readcontent:()=>pY,extern_rfid_readid:()=>aY,extern_rfid_status:()=>RY,extern_rfid_write:()=>MY,extern_rfid_write_return:()=>LY,gnss_get_data:()=>VY,gnss_have_data:()=>kY,mixbot_sensor_extern_get_addr:()=>jY,mixbot_sensor_extern_set_addr:()=>$Y,pm25_get_data:()=>XY,robot_button_extern_get_value:()=>wY,robot_color_extern_get_value:()=>QY,robot_infrared_extern_get_value:()=>KY,robot_infrared_extern_grey_get_value:()=>zY,robot_potentiometer_extern_get_value:()=>ZY,robot_sonar_extern_get_value:()=>JY,robot_sonar_extern_led:()=>qY,robot_touch_extern_get_value:()=>WY,sensor_APDS9960_extern:()=>_Y,sensor_LTR308_extern:()=>tY,sensor_LTR390UV_extern:()=>TY,sensor_MAX30102_extern:()=>$D,sensor_QMC5883L_extern:()=>EY,sensor_VL530LX_extern:()=>sY,sensor_aht11_extern:()=>oY,sensor_bmp:()=>JD,sensor_dht11:()=>FY,sensor_distance_hrsc04:()=>kD,sensor_hp203_extern:()=>eY,sensor_ltr381_extern:()=>iY,sensor_mixgo_extern_button_attachInterrupt:()=>XD,sensor_mixgo_extern_button_get_presses:()=>vD,sensor_mixgo_extern_button_is_pressed:()=>bD,sensor_mixgo_extern_button_was_pressed:()=>xD,sensor_mixgo_extern_light:()=>KD,sensor_mixgo_extern_pin_near:()=>ZD,sensor_mixgo_extern_sound:()=>zD,sensor_mixgoce_hot_wheel_degrees:()=>NY,sensor_mixgoce_hot_wheel_is_touched:()=>PY,sensor_mpu9250_attachGestureInterrupt:()=>VD,sensor_rtc_init:()=>QD,sensor_sht:()=>qD,sensor_shtc3_extern:()=>nY,sensor_use_i2c_init:()=>jD,sensor_use_spi_init:()=>OY,sensor_use_uart_init:()=>vY,sensor_weather_solo_init:()=>_U,sensor_weather_solo_rain:()=>iU,sensor_weather_solo_wd:()=>tU,sensor_weather_solo_ws:()=>eU,weather_data:()=>rY,weather_have_data:()=>SY,weather_set_label:()=>AY,weather_uart_mixio:()=>lY});var E_={};_.r(E_),_.d(E_,{HCSR04:()=>pU,bitbot_als_num:()=>YB,dht11:()=>bB,number1:()=>MU,number2:()=>LU,number3:()=>RU,number4:()=>rU,number5:()=>SU,number6:()=>lU,number7:()=>AU,onboard_RTC_get_time:()=>sB,onboard_RTC_get_timestamp:()=>OB,onboard_RTC_set_datetime:()=>nB,onboard_RTC_settime_string:()=>oB,onboard_RTC_timestamp_totuple:()=>IB,rfid_readcontent:()=>GU,rfid_readid:()=>gU,rfid_write:()=>FU,rfid_write_return:()=>yU,sensor_LTR308:()=>HU,sensor_adxl345_get_acceleration:()=>WU,sensor_aht11:()=>UU,sensor_bitbot_ALS:()=>DB,sensor_button_get_presses:()=>gB,sensor_button_is_pressed:()=>UB,sensor_button_was_pressed:()=>BB,sensor_compass_reset:()=>qU,sensor_ds18x20:()=>CU,sensor_eulerangles:()=>bU,sensor_get_acceleration:()=>fU,sensor_get_temperature:()=>BU,sensor_hp203:()=>YU,sensor_light:()=>fB,sensor_lm35:()=>cU,sensor_mixbot_get_gyro:()=>HB,sensor_mixbot_patrol_calibrate:()=>mB,sensor_mixbot_patrol_value:()=>CB,sensor_mixbot_temperature:()=>cB,sensor_mixgo_LTR308:()=>uU,sensor_mixgo_button_attachInterrupt:()=>oU,sensor_mixgo_button_get_presses:()=>nU,sensor_mixgo_button_is_pressed:()=>TU,sensor_mixgo_button_was_pressed:()=>EU,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>MB,sensor_mixgo_cc_mmc5603_get_angle:()=>pB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>aB,sensor_mixgo_light:()=>yB,sensor_mixgo_nova_LTR308:()=>mU,sensor_mixgo_nova_pin_near:()=>hU,sensor_mixgo_pin_near:()=>dU,sensor_mixgo_pin_near_double:()=>NU,sensor_mixgo_pin_near_single:()=>PU,sensor_mixgo_pin_pressed:()=>kU,sensor_mixgo_touch_slide:()=>VU,sensor_mixgocar42_button_attachInterrupt:()=>aU,sensor_mixgocar42_button_get_presses:()=>IU,sensor_mixgocar42_button_is_pressed:()=>sU,sensor_mixgocar42_button_was_pressed:()=>OU,sensor_mixgocar_battery_left:()=>uB,sensor_mixgocar_pin_near:()=>dB,sensor_mixgocar_pin_near_line:()=>NB,sensor_mixgocar_pin_near_state_change:()=>hB,sensor_mixgoce_pin_pressed:()=>XU,sensor_mixgoce_temperature:()=>RB,sensor_mixgome_temperature:()=>LB,sensor_mpu9250_calibrate_compass:()=>ZU,sensor_mpu9250_field_strength:()=>JU,sensor_mpu9250_gesture:()=>xU,sensor_mpu9250_get_acceleration:()=>vU,sensor_mpu9250_get_gyro:()=>zU,sensor_mpu9250_get_magnetic:()=>KU,sensor_mpu9250_temperature:()=>QU,sensor_mpython_pin_pressed:()=>wU,sensor_mpython_qmi8658_get_gyro:()=>rB,sensor_mpython_qmi8658_temperature:()=>SB,sensor_onboard_compass_reset:()=>EB,sensor_onboard_mpu9250_calibrate_compass:()=>eB,sensor_onboard_mpu9250_field_strength:()=>TB,sensor_onboard_mpu9250_gesture:()=>jU,sensor_onboard_mpu9250_get_acceleration:()=>$U,sensor_onboard_mpu9250_get_gyro:()=>tB,sensor_onboard_mpu9250_get_magnetic:()=>_B,sensor_onboard_mpu9250_temperature:()=>iB,sensor_pin_near:()=>FB,sensor_pin_pressed:()=>GB,sensor_rm_acc:()=>PB,sensor_rm_battery_left:()=>AB,sensor_rm_pin_near_double:()=>lB,sensor_sound:()=>DU});var n_={};_.r(n_),_.d(n_,{serial_any:()=>kB,serial_print:()=>xB,serial_print_byte:()=>vB,serial_print_hex:()=>VB,serial_println:()=>XB,serial_read_from_ai:()=>_g,serial_readline:()=>WB,serial_readstr:()=>wB,serial_send_to_ai:()=>$B,serial_softserial:()=>KB,serial_softserial_new:()=>zB,system_input:()=>ZB,system_print:()=>QB,system_print_end:()=>qB,system_print_inline:()=>JB,system_print_many:()=>jB});var o_={};_.r(o_),_.d(o_,{Panic_with_status_code:()=>pg,Timer_init:()=>cg,base_delay:()=>Yg,controls_delay:()=>Sg,controls_delay_new:()=>lg,controls_end_program:()=>Lg,controls_millis:()=>Mg,controls_uname:()=>rg,reset:()=>Rg,system_bitbot_shutdown:()=>Cg,system_device_name:()=>Ig,system_device_serial_number:()=>ag,system_event_bus_source:()=>sg,system_event_bus_value:()=>Og,system_machine_reset:()=>mg,system_on_event:()=>Eg,system_raise_event:()=>Tg,system_reset:()=>eg,system_run_in_background:()=>tg,system_ticks_diff:()=>Ng,system_timer:()=>Pg,system_timer_init:()=>dg,system_timestamp:()=>ng,system_value:()=>og,system_wait:()=>ig,system_wdt_feed:()=>ug,system_wdt_init:()=>hg,time_ticks_diff:()=>Dg,timer:()=>Ag,timer2:()=>Hg});var s_={};_.r(s_),_.d(s_,{WEATHER_DAILY:()=>Bg,WEATHER_HOUR:()=>gg,WEATHER_NOW:()=>Ug});var O_={};_.r(O_),_.d(O_,{analog_input:()=>Wg,analog_output:()=>zg,espnow_channel:()=>Vg,haskylens_model:()=>kg,i2c_A_pin:()=>Zg,i2c_B_pin:()=>Qg,pins_analog:()=>_G,pins_analog_pin:()=>tG,pins_axis:()=>SG,pins_brightness:()=>lG,pins_builtinimg:()=>IG,pins_builtinimg_extern:()=>aG,pins_button:()=>TG,pins_dac:()=>eG,pins_dac_pin:()=>iG,pins_digital:()=>fg,pins_digital_dot:()=>CG,pins_digital_pin:()=>bg,pins_exlcdh:()=>RG,pins_exlcdv:()=>rG,pins_imglist:()=>pG,pins_input_pin:()=>xg,pins_mpython_touch:()=>Xg,pins_one_more:()=>mG,pins_output_pin:()=>vg,pins_playlist:()=>MG,pins_playlist_extern:()=>LG,pins_pwm:()=>EG,pins_pwm_pin:()=>nG,pins_radio_datarate:()=>uG,pins_radio_power:()=>hG,pins_serial:()=>OG,pins_tone_notes:()=>dG,pins_touch:()=>sG,pins_touch_pin:()=>oG,pins_tts_bgmusic:()=>NG,pins_tts_builtin_music:()=>PG,pins_tts_voice:()=>AG,pwm_input:()=>wg,pwm_output:()=>Kg,spi_A_pin:()=>Jg,spi_B_pin:()=>qg,spi_C_pin:()=>jg,spi_D_pin:()=>$g});var I_={};_.r(I_),_.d(I_,{espnow_channel:()=>yG,haskylens_model:()=>fG,pins_analog:()=>gG,pins_analog_pin:()=>BG,pins_axis:()=>JG,pins_brightness:()=>$G,pins_builtinimg:()=>WG,pins_builtinimg_extern:()=>KG,pins_button:()=>HG,pins_dac:()=>vG,pins_dac_pin:()=>xG,pins_digital:()=>cG,pins_digital_dot:()=>oF,pins_digital_pin:()=>DG,pins_exlcdh:()=>qG,pins_exlcdv:()=>jG,pins_imglist:()=>zG,pins_input_pin:()=>YG,pins_interrupt:()=>kG,pins_mpython_touch:()=>bG,pins_one_more:()=>nF,pins_output_pin:()=>UG,pins_playlist:()=>ZG,pins_playlist_extern:()=>QG,pins_pwm:()=>FG,pins_pwm_pin:()=>GG,pins_radio_datarate:()=>EF,pins_radio_power:()=>TF,pins_serial:()=>wG,pins_tone_notes:()=>iF,pins_touch:()=>VG,pins_touch_pin:()=>XG,pins_tts_bgmusic:()=>eF,pins_tts_builtin_music:()=>tF,pins_tts_voice:()=>_F});const a_=Blockly,p_=Mixly,M_={NAME_TYPE:"VARIABLE",allVariables:function(_){var t;if(_.getDescendants)t=_.getDescendants();else{if(!_.getAllBlocks)throw"Not Block or Workspace: "+_;t=_.getAllBlocks()}for(var e=Object.create(null),i=0;i1&&(n+=i)):e=n}else e="i";return e}},L_=M_; +(()=>{"use strict";var _={d:(t,e)=>{for(var i in e)_.o(e,i)&&!_.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(_,t)=>Object.prototype.hasOwnProperty.call(_,t),r:_=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(_,"__esModule",{value:!0})}},t={};_.r(t),_.d(t,{controls_type:()=>d_,controls_typeLists:()=>h_,variables_change:()=>P_,variables_get:()=>l_,variables_global:()=>N_,variables_set:()=>A_});var e={};_.r(e),_.d(e,{base_setup:()=>C_,controls_delay:()=>c_,controls_end_program:()=>H_,controls_except:()=>X_,controls_finally:()=>V_,controls_flow_statements:()=>G_,controls_for:()=>F_,controls_forEach:()=>U_,controls_for_range:()=>y_,controls_if:()=>D_,controls_if_else:()=>x_,controls_if_elseif:()=>b_,controls_if_if:()=>f_,controls_lambda:()=>w_,controls_main:()=>m_,controls_pass:()=>W_,controls_range:()=>Y_,controls_repeat_ext:()=>k_,controls_thread:()=>K_,controls_try:()=>v_,controls_try_finally:()=>g_,controls_whileUntil:()=>B_,do_while:()=>z_,garbage_collection:()=>Z_,get_mem_alloc:()=>Q_,get_mem_free:()=>J_});var i={};_.r(i),_.d(i,{base_map:()=>St,math_arithmetic:()=>tt,math_bit:()=>it,math_constant:()=>$_,math_constant_mp:()=>_t,math_constrain:()=>It,math_dec:()=>Et,math_indexer_number:()=>pt,math_map:()=>at,math_max_min:()=>ot,math_number:()=>j_,math_number_base_conversion:()=>st,math_random:()=>Ot,math_random_seed:()=>Mt,math_round:()=>Lt,math_selfcalcu:()=>et,math_to_int:()=>nt,math_trig:()=>Tt,text_to_number:()=>Rt,text_to_number_skulpt:()=>rt});var T={};_.r(T),_.d(T,{ascii_to_char:()=>ht,char_to_ascii:()=>ut,number_to_text:()=>mt,os_system:()=>Jt,text:()=>At,text_capital:()=>Gt,text_center:()=>Ft,text_char:()=>Nt,text_char_at:()=>Ht,text_char_at2:()=>ct,text_char_at3:()=>Kt,text_compareTo:()=>Wt,text_compare_to:()=>gt,text_create_with_container:()=>Vt,text_create_with_item:()=>kt,text_encode:()=>Zt,text_equals_starts_ends:()=>Bt,text_eval:()=>Qt,text_find:()=>yt,text_format:()=>Xt,text_format_noreturn:()=>zt,text_join:()=>dt,text_join_seq:()=>ft,text_length:()=>Ct,text_random_char:()=>Dt,text_replace:()=>bt,text_split:()=>xt,text_strip:()=>vt,text_substring:()=>Ut,text_substring2:()=>Yt,text_substring3:()=>wt,text_textarea:()=>Pt});var E={};_.r(E),_.d(E,{list_many_input:()=>Ae,list_tolist:()=>Ce,list_tolist2:()=>Ge,list_trig:()=>re,lists_2d_get_col_row_data:()=>te,lists_2d_get_data_with_col_row:()=>_e,lists_append_extend:()=>oe,lists_change_to:()=>le,lists_change_to_general:()=>Ne,lists_clear:()=>pe,lists_create_with:()=>ee,lists_create_with2:()=>ce,lists_create_with_container:()=>Te,lists_create_with_item:()=>Ee,lists_create_with_noreturn:()=>Pe,lists_create_with_text:()=>ie,lists_create_with_text2:()=>He,lists_del_general:()=>de,lists_find:()=>Re,lists_getIndex3:()=>De,lists_getSublist3:()=>Ye,lists_get_index:()=>jt,lists_get_random_item:()=>se,lists_get_random_sublist:()=>Oe,lists_get_sublist:()=>$t,lists_insert_value:()=>Ie,lists_insert_value2:()=>Be,lists_pop:()=>Le,lists_remove_at:()=>Me,lists_remove_at2:()=>ge,lists_reverse:()=>ae,lists_setIndex3:()=>Ue,lists_set_index:()=>ne,lists_sort:()=>Se,lists_zip:()=>he,lists_zip_container:()=>ue,lists_zip_item:()=>me});var n={};_.r(n),_.d(n,{dicts_add_change_del:()=>Je,dicts_add_or_change:()=>Ve,dicts_clear:()=>We,dicts_create_with:()=>ye,dicts_create_with_container:()=>fe,dicts_create_with_item:()=>be,dicts_create_with_noreturn:()=>$e,dicts_deldict:()=>Qe,dicts_delete:()=>ke,dicts_get:()=>ve,dicts_get_default:()=>Xe,dicts_items:()=>Ke,dicts_keys:()=>xe,dicts_length:()=>Ze,dicts_pop:()=>qe,dicts_setdefault:()=>je,dicts_to_json:()=>ti,dicts_todict:()=>_i,dicts_update:()=>we,dicts_values:()=>ze,json_to_dicts:()=>ei});var o={};_.r(o),_.d(o,{logic_boolean:()=>si,logic_compare:()=>Ti,logic_compare_continous:()=>Ei,logic_is:()=>pi,logic_is_in:()=>ai,logic_negate:()=>oi,logic_null:()=>Oi,logic_operation:()=>ni,logic_tobool:()=>Mi,logic_true_or_false:()=>Ii});var s={};_.r(s),_.d(s,{sdcard_mount:()=>yi,sdcard_use_spi_init:()=>Fi,storage_can_write_ornot:()=>di,storage_change_dir:()=>gi,storage_close_file:()=>ui,storage_delete_file:()=>Ci,storage_file_seek:()=>Di,storage_file_tell:()=>Hi,storage_file_write:()=>li,storage_fileopen:()=>Ri,storage_fileopen_new:()=>ri,storage_fileopen_new_encoding:()=>Si,storage_get_a_line:()=>Ni,storage_get_contents:()=>Pi,storage_get_contents_without_para:()=>Ai,storage_get_current_dir:()=>Yi,storage_get_file_size:()=>ci,storage_get_filename:()=>hi,storage_is_file:()=>Gi,storage_list_all_files:()=>mi,storage_make_dir:()=>Ui,storage_open_file_with_os:()=>Li,storage_rename:()=>Bi});var O={};_.r(O),_.d(O,{procedures_callnoreturn:()=>ki,procedures_callreturn:()=>wi,procedures_defnoreturn:()=>xi,procedures_defreturn:()=>vi,procedures_ifreturn:()=>Wi,procedures_mutatorarg:()=>Vi,procedures_mutatorcontainer:()=>Xi,procedures_return:()=>Ki});var I={};_.r(I),_.d(I,{tuple_change_to:()=>TT,tuple_create_with:()=>Zi,tuple_create_with_container:()=>Qi,tuple_create_with_item:()=>Ji,tuple_create_with_noreturn:()=>sT,tuple_create_with_text2:()=>qi,tuple_create_with_text_return:()=>ji,tuple_del:()=>tT,tuple_find:()=>ET,tuple_getIndex:()=>$i,tuple_getSublist:()=>oT,tuple_get_random_item:()=>IT,tuple_get_sublist:()=>OT,tuple_join:()=>eT,tuple_length:()=>_T,tuple_max:()=>iT,tuple_totuple:()=>aT,tuple_trig:()=>nT});var a={};_.r(a),_.d(a,{set_add_discard:()=>NT,set_clear:()=>lT,set_create_with:()=>MT,set_create_with_container:()=>LT,set_create_with_item:()=>RT,set_create_with_text_return:()=>uT,set_length:()=>rT,set_operate:()=>AT,set_operate_update:()=>PT,set_pop:()=>ST,set_sub:()=>dT,set_toset:()=>mT,set_update:()=>hT});var p={};_.r(p),_.d(p,{html_content:()=>YT,html_content_more:()=>UT,html_document:()=>cT,html_form:()=>gT,html_head_body:()=>DT,html_style:()=>BT,html_style_color:()=>FT,html_style_content:()=>GT,html_text:()=>yT,html_title:()=>HT});var M={};_.r(M),_.d(M,{attribute_access:()=>JT,function_call:()=>zT,function_call_container:()=>ZT,function_call_item:()=>QT,raw_block:()=>xT,raw_empty:()=>XT,raw_expression:()=>vT,raw_table:()=>bT,text_comment:()=>VT,text_print_multiple:()=>wT,text_print_multiple_container:()=>WT,text_print_multiple_item:()=>KT,type_check:()=>kT});var L={};_.r(L),_.d(L,{controls_type:()=>tE,controls_typeLists:()=>eE,variables_change:()=>$T,variables_get:()=>qT,variables_global:()=>_E,variables_set:()=>jT});var R={};_.r(R),_.d(R,{Panic_with_status_code:()=>pE,base_setup:()=>TE,controls_delay:()=>aE,controls_flow_statements:()=>IE,controls_for:()=>oE,controls_forEach:()=>SE,controls_for_range:()=>sE,controls_if:()=>EE,controls_interrupts:()=>RE,controls_lambda:()=>AE,controls_main:()=>iE,controls_millis:()=>ME,controls_nointerrupts:()=>rE,controls_pass:()=>NE,controls_range:()=>lE,controls_repeat:()=>HE,controls_repeat_ext:()=>uE,controls_thread:()=>dE,controls_try_finally:()=>nE,controls_whileUntil:()=>OE,do_while:()=>hE,garbage_collection:()=>mE,get_mem_alloc:()=>CE,get_mem_free:()=>cE,reset:()=>LE,time_sleep:()=>PE});var r={};_.r(r),_.d(r,{base_map:()=>QE,math_arithmetic:()=>gE,math_bit:()=>BE,math_constant:()=>YE,math_constant_mp:()=>UE,math_constrain:()=>VE,math_dec:()=>fE,math_indexer_number:()=>WE,math_map:()=>XE,math_max_min:()=>xE,math_number:()=>DE,math_number_base_conversion:()=>kE,math_random:()=>vE,math_random_seed:()=>wE,math_round:()=>KE,math_selfcalcu:()=>GE,math_single:()=>FE,math_to_int:()=>bE,math_trig:()=>yE,text_to_number:()=>zE,text_to_number_skulpt:()=>ZE});var S={};_.r(S),_.d(S,{ascii_to_char:()=>_n,char_to_ascii:()=>tn,number_to_text:()=>en,os_system:()=>Cn,text:()=>JE,text_capital:()=>pn,text_center:()=>Mn,text_char:()=>jE,text_char_at:()=>nn,text_char_at2:()=>En,text_char_at3:()=>hn,text_compareTo:()=>dn,text_compare_to:()=>On,text_encode:()=>un,text_equals_starts_ends:()=>sn,text_eval:()=>mn,text_find:()=>Ln,text_format:()=>An,text_format_noreturn:()=>Pn,text_join:()=>$E,text_join_seq:()=>Rn,text_length:()=>Tn,text_random_char:()=>on,text_replace:()=>rn,text_split:()=>Sn,text_strip:()=>ln,text_substring:()=>an,text_substring2:()=>In,text_substring3:()=>Nn,text_textarea:()=>qE});var l={};_.r(l),_.d(l,{list_many_input:()=>Kn,list_tolist:()=>To,list_tolist2:()=>Eo,list_trig:()=>kn,lists_2d_get_col_row_data:()=>Dn,lists_2d_get_data_with_col_row:()=>Hn,lists_append_extend:()=>Gn,lists_change_to:()=>Wn,lists_change_to_general:()=>Zn,lists_clear:()=>xn,lists_create_with:()=>Yn,lists_create_with2:()=>Jn,lists_create_with_noreturn:()=>zn,lists_create_with_text:()=>Un,lists_create_with_text2:()=>qn,lists_del_general:()=>Qn,lists_find:()=>vn,lists_getIndex3:()=>jn,lists_getSublist3:()=>$n,lists_get_index:()=>Bn,lists_get_random_item:()=>Fn,lists_get_random_sublist:()=>yn,lists_get_sublist:()=>cn,lists_insert_value:()=>fn,lists_insert_value2:()=>to,lists_pop:()=>Vn,lists_remove_at:()=>Xn,lists_remove_at2:()=>eo,lists_reverse:()=>bn,lists_setIndex3:()=>_o,lists_set_index:()=>gn,lists_sort:()=>wn,lists_zip:()=>io});var A={};_.r(A),_.d(A,{dicts_add_change_del:()=>lo,dicts_add_or_change:()=>Io,dicts_clear:()=>Mo,dicts_create_with:()=>no,dicts_create_with_noreturn:()=>No,dicts_deldict:()=>So,dicts_delete:()=>ao,dicts_get:()=>so,dicts_get_default:()=>Oo,dicts_items:()=>Lo,dicts_keys:()=>oo,dicts_length:()=>ro,dicts_pop:()=>Ao,dicts_setdefault:()=>Po,dicts_to_json:()=>uo,dicts_todict:()=>ho,dicts_update:()=>po,dicts_values:()=>Ro,json_to_dicts:()=>mo});var P={};_.r(P),_.d(P,{logic_boolean:()=>Yo,logic_compare:()=>Co,logic_compare_continous:()=>co,logic_is:()=>Go,logic_is_in:()=>go,logic_negate:()=>Do,logic_null:()=>Uo,logic_operation:()=>Ho,logic_tobool:()=>Fo,logic_true_or_false:()=>Bo});var N={};_.r(N),_.d(N,{sdcard_mount:()=>Ts,sdcard_use_spi_init:()=>is,storage_can_write_ornot:()=>wo,storage_change_dir:()=>jo,storage_close_file:()=>Ko,storage_delete_file:()=>Zo,storage_file_seek:()=>qo,storage_file_tell:()=>Jo,storage_file_write:()=>vo,storage_fileopen:()=>fo,storage_fileopen_new:()=>bo,storage_fileopen_new_encoding:()=>xo,storage_get_a_line:()=>ko,storage_get_contents:()=>Vo,storage_get_contents_without_para:()=>Xo,storage_get_current_dir:()=>$o,storage_get_file_size:()=>Qo,storage_get_filename:()=>Wo,storage_is_file:()=>es,storage_list_all_files:()=>zo,storage_make_dir:()=>_s,storage_open_file_with_os:()=>yo,storage_rename:()=>ts});var d={};_.r(d),_.d(d,{procedures_callnoreturn:()=>ss,procedures_callreturn:()=>os,procedures_defnoreturn:()=>ns,procedures_defreturn:()=>Es,procedures_ifreturn:()=>Os,procedures_return:()=>Is});var h={};_.r(h),_.d(h,{tuple_change_to:()=>As,tuple_create_with:()=>as,tuple_create_with_noreturn:()=>hs,tuple_create_with_text2:()=>ps,tuple_create_with_text_return:()=>Ms,tuple_del:()=>rs,tuple_find:()=>Ps,tuple_getIndex:()=>Ls,tuple_getSublist:()=>ds,tuple_get_random_item:()=>ms,tuple_get_sublist:()=>us,tuple_join:()=>Ss,tuple_length:()=>Rs,tuple_max:()=>ls,tuple_totuple:()=>Cs,tuple_trig:()=>Ns});var u={};_.r(u),_.d(u,{set_add_discard:()=>gs,set_clear:()=>Ys,set_create_with:()=>cs,set_create_with_text_return:()=>ys,set_length:()=>Hs,set_operate:()=>Us,set_operate_update:()=>Bs,set_pop:()=>Ds,set_sub:()=>Gs,set_toset:()=>fs,set_update:()=>Fs});var m={};_.r(m),_.d(m,{html_content:()=>Xs,html_content_more:()=>Vs,html_document:()=>bs,html_form:()=>ws,html_head_body:()=>vs,html_style:()=>ks,html_style_content:()=>Ws,html_text:()=>Ks,html_title:()=>xs});var C={};_.r(C),_.d(C,{attribute_access:()=>$s,function_call:()=>js,raw_block:()=>zs,raw_empty:()=>Qs,raw_expression:()=>Zs,raw_table:()=>Js,type_check:()=>qs});var c={};_.r(c),_.d(c,{actuator_extern_get_led_bright:()=>aO,actuator_extern_get_led_state:()=>pO,actuator_extern_led_bright:()=>IO,actuator_extern_led_brightness:()=>MO,actuator_ms32006_dcmotor:()=>dO,actuator_ms32006_init:()=>NO,actuator_ms32006_stepper:()=>hO,actuator_neopixel_init:()=>uO,actuator_neopixel_rgb:()=>mO,actuator_neopixel_rgb_all:()=>CO,actuator_neopixel_write:()=>cO,actuator_use_uart_init:()=>HO,esp32_music_get_tempo_extern:()=>oO,esp32_music_pitch:()=>iO,esp32_music_pitch_init:()=>eO,esp32_music_pitch_with_time:()=>TO,esp32_music_play_list:()=>EO,esp32_music_reset_extern:()=>sO,esp32_music_set_tempo_extern:()=>nO,esp32_music_stop:()=>OO,mixbot_actuator_extern_get_addr:()=>KO,mixbot_actuator_extern_set_addr:()=>zO,mixbot_addr_extern:()=>gO,robot_led_extern:()=>fO,robot_led_extern_get_value:()=>bO,robot_motor_extern:()=>GO,robot_motor_extern_get_speed:()=>FO,robot_servo_extern_absolute_run:()=>VO,robot_servo_extern_get_status:()=>xO,robot_servo_extern_relative_continue:()=>WO,robot_servo_extern_relative_origin:()=>kO,robot_servo_extern_relative_run:()=>wO,robot_servo_extern_stop:()=>XO,robot_servo_extern_stop_mode:()=>vO,robot_traffic_light_extern:()=>yO,servo_get_angle:()=>AO,servo_get_speed:()=>PO,servo_init:()=>LO,servo_move:()=>RO,servo_set_angle:()=>SO,servo_set_speed:()=>lO,servo_speed_360:()=>rO,syn6288_builtin_voice:()=>UO,syn6288_get_voice:()=>YO,syn6288_set_voice:()=>DO,syn6288_tts_play:()=>BO});var H={};_.r(H),_.d(H,{actuator_dc_motor:()=>mI,actuator_dc_motor_stop:()=>CI,actuator_get_led_bright:()=>jO,actuator_get_led_state:()=>$O,actuator_led_bright:()=>qO,actuator_led_brightness:()=>_I,actuator_mixbot_buzzer_on_off:()=>UI,actuator_mixgo_nova_mic_get:()=>yI,actuator_mixgo_nova_mic_set:()=>FI,actuator_mixgo_nova_onboard_music_pitch:()=>VI,actuator_mixgo_nova_onboard_music_stop:()=>kI,actuator_mixgo_nova_play_audio:()=>vI,actuator_mixgo_nova_play_online_audio:()=>XI,actuator_mixgo_nova_record_audio:()=>xI,actuator_mixgo_nova_voice_get:()=>bI,actuator_mixgo_nova_voice_set:()=>fI,actuator_mixgo_zero_led_color:()=>tI,actuator_onboard_neopixel_rgb:()=>oI,actuator_onboard_neopixel_rgb_all:()=>sI,actuator_onboard_neopixel_rgb_show_all_chase:()=>II,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>OI,actuator_onboard_neopixel_write:()=>aI,actuator_rm_onboard_neopixel_rgb:()=>pI,actuator_rm_onboard_neopixel_rgb_all:()=>MI,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>LI,actuator_stepper_keep:()=>hI,actuator_stepper_stop:()=>uI,bitbot_motor:()=>GI,bitbot_move:()=>BI,bitbot_stop:()=>gI,cc_number:()=>nI,esp32_music_get_tempo:()=>rI,esp32_music_reset:()=>SI,esp32_music_set_tempo:()=>RI,esp32_onboard_music_pitch:()=>lI,esp32_onboard_music_pitch_with_time:()=>AI,esp32_onboard_music_play_list:()=>NI,esp32_onboard_music_stop:()=>PI,get_power_output:()=>WI,ledswitch:()=>JO,mixbot_motor:()=>YI,mixbot_motor_status:()=>cI,mixbot_move:()=>HI,mixbot_stop:()=>DI,number:()=>QO,rm_actuator_get_led_bright:()=>iI,rm_actuator_get_led_state:()=>TI,rm_actuator_led_bright:()=>eI,rm_actuator_led_brightness:()=>EI,rm_motor:()=>dI,set_all_power_output:()=>KI,set_power_output:()=>wI});var D={};_.r(D),_.d(D,{ai_sensor_20object:()=>Ca,ai_sensor_ailocal_class:()=>Ra,ai_sensor_ailocal_class_result:()=>ra,ai_sensor_ailocal_train:()=>La,ai_sensor_asr_recognize:()=>Na,ai_sensor_audio_play:()=>la,ai_sensor_audio_record:()=>Sa,ai_sensor_barcode:()=>_a,ai_sensor_circle:()=>na,ai_sensor_classifier_faces:()=>ma,ai_sensor_color:()=>Ia,ai_sensor_color_chases:()=>Ma,ai_sensor_color_chases_result:()=>pa,ai_sensor_config:()=>jI,ai_sensor_face:()=>ua,ai_sensor_find_20objects:()=>ca,ai_sensor_find_barcodes:()=>ta,ai_sensor_find_circles:()=>oa,ai_sensor_find_colors:()=>aa,ai_sensor_find_licenseplates:()=>ha,ai_sensor_find_lines:()=>Ea,ai_sensor_find_qrcodes:()=>qI,ai_sensor_find_rects:()=>Oa,ai_sensor_find_tags:()=>ia,ai_sensor_licenseplate:()=>da,ai_sensor_line:()=>Ta,ai_sensor_qrcode:()=>QI,ai_sensor_qrcode_lite:()=>JI,ai_sensor_rect:()=>sa,ai_sensor_rgb:()=>$I,ai_sensor_tag:()=>ea,ai_sensor_use_uart_init:()=>ZI,ai_sensor_yolo_recognize:()=>Aa,ai_sensor_yolo_recognize_result:()=>Pa});var Y={};_.r(Y),_.d(Y,{MICROPYTHON_AI_Speech_asr:()=>Ya,MICROPYTHON_AI_Speech_unit:()=>Da,MICROPYTHON_AI_client:()=>Ha});var U={};_.r(U),_.d(U,{mpython_blynk_app_data:()=>Wa,mpython_blynk_app_notify:()=>ba,mpython_blynk_email:()=>Xa,mpython_blynk_get_timers:()=>Va,mpython_blynk_on_connected:()=>Fa,mpython_blynk_on_disconnected:()=>Ga,mpython_blynk_run:()=>fa,mpython_blynk_sensor_data_to_app:()=>wa,mpython_blynk_set_property:()=>va,mpython_blynk_setup:()=>Ka,mpython_blynk_stop_timers:()=>xa,mpython_blynk_sync_virtual:()=>ga,mpython_blynk_terminal_widget_vpin:()=>Ba,mpython_blynktimer:()=>ka,mpython_blynktimer_run:()=>ya});var B={};_.r(B),_.d(B,{communicate_bluetooth_central_init:()=>Hp,communicate_bluetooth_connect:()=>Bp,communicate_bluetooth_disconnect:()=>gp,communicate_bluetooth_handle:()=>bp,communicate_bluetooth_is_connected:()=>Fp,communicate_bluetooth_mac:()=>Up,communicate_bluetooth_peripheral_init:()=>Dp,communicate_bluetooth_recv:()=>yp,communicate_bluetooth_recv_only:()=>fp,communicate_bluetooth_scan:()=>Yp,communicate_bluetooth_send:()=>Gp,communicate_espnow_init:()=>xp,communicate_espnow_init_new:()=>vp,communicate_i2c_available:()=>Ip,communicate_i2c_init:()=>Ja,communicate_i2c_master_read:()=>Op,communicate_i2c_onboard:()=>Za,communicate_i2c_read:()=>qa,communicate_i2c_scan:()=>$a,communicate_i2c_write:()=>ja,communicate_ir_recv_init:()=>lp,communicate_ir_send_init:()=>hp,communicate_ow_init:()=>pp,communicate_ow_read:()=>Lp,communicate_ow_reset:()=>Sp,communicate_ow_scan:()=>Mp,communicate_ow_select:()=>rp,communicate_ow_write:()=>Rp,communicate_spi_buffer:()=>ep,communicate_spi_init:()=>_p,communicate_spi_onboard:()=>Qa,communicate_spi_read:()=>ip,communicate_spi_read_output:()=>Tp,communicate_spi_readinto:()=>Ep,communicate_spi_readinto_output:()=>np,communicate_spi_set:()=>tp,communicate_spi_write:()=>op,communicate_spi_write_readinto:()=>sp,espnow_radio_channel:()=>Kp,espnow_radio_channel_new:()=>Zp,espnow_radio_on_off:()=>Qp,espnow_radio_rec:()=>qp,espnow_radio_recv:()=>$p,espnow_radio_recv_certain_msg:()=>_M,espnow_radio_recv_certain_msg_new:()=>eM,espnow_radio_recv_msg:()=>jp,espnow_radio_recv_new:()=>tM,espnow_radio_send:()=>Jp,espnow_radio_txpower:()=>zp,i2c_available:()=>uM,i2c_init:()=>IM,i2c_master_reader2:()=>hM,i2c_read:()=>aM,i2c_scan:()=>MM,i2c_slave_onreceive:()=>ap,i2c_write:()=>pM,internal_variable:()=>Ap,ir_recv_timeout:()=>dp,ir_transmit_busy:()=>cp,ir_transmit_conventional_data:()=>up,ir_transmit_raw_code:()=>Cp,ir_transmit_study_code:()=>mp,ir_whether_recv:()=>Np,lora_init:()=>iM,lora_packet:()=>TM,lora_recv:()=>nM,lora_send:()=>EM,network_espnow_info:()=>Vp,network_espnow_mac:()=>Xp,network_espnow_recv:()=>kp,network_espnow_recv_handle:()=>Wp,network_espnow_send:()=>wp,recv_fun:()=>Pp,spi_buffer:()=>rM,spi_init:()=>LM,spi_read:()=>SM,spi_read_output:()=>lM,spi_readinto:()=>AM,spi_readinto_output:()=>PM,spi_set:()=>RM,spi_write:()=>NM,spi_write_readinto:()=>dM,urequests_attribute:()=>sM,urequests_get:()=>oM,urequests_method:()=>OM});var g={};_.r(g),_.d(g,{display_animate:()=>_L,display_blink_rate:()=>JM,display_circle:()=>tL,display_color_seclet:()=>ML,display_draw_4strings:()=>wM,display_fill:()=>$M,display_get_screen_image:()=>QM,display_help:()=>iL,display_image_size:()=>WM,display_lcd_use_i2c_init:()=>AL,display_line:()=>zM,display_line_arbitrarily:()=>ZM,display_matrix_extern_bright_point:()=>yM,display_matrix_extern_bright_screen:()=>bM,display_matrix_extern_clear:()=>xM,display_matrix_extern_get_pixel:()=>FM,display_matrix_extern_get_screen_pixel:()=>fM,display_matrix_extern_image_builtins:()=>vM,display_matrix_extern_scroll_string:()=>YM,display_matrix_extern_scroll_string_delay:()=>UM,display_matrix_extern_shift:()=>GM,display_matrix_extern_show_frame_string:()=>BM,display_matrix_extern_show_frame_string_delay:()=>gM,display_matrix_extern_show_image:()=>HM,display_matrix_extern_show_image_or_string_delay:()=>DM,display_matrix_use_i2c_init:()=>cM,display_oled_drawPixel:()=>EL,display_oled_showBitmap:()=>TL,display_oled_use_i2c_init:()=>uL,display_onoff:()=>jM,display_rect:()=>KM,display_rgb_color:()=>qM,display_tm1650_power:()=>oL,display_tm1650_set_brightness:()=>IL,display_tm1650_show_dot:()=>OL,display_tm1650_show_num:()=>sL,display_tm_use_i2c_init:()=>nL,display_triangle:()=>eL,display_use_i2c_init:()=>kM,extern_oled_bright_point:()=>FL,extern_oled_clear:()=>yL,extern_oled_get_pixel:()=>GL,extern_oled_hvline:()=>bL,extern_oled_line:()=>xL,extern_oled_scroll_string:()=>DL,extern_oled_scroll_string_delay:()=>YL,extern_oled_shape_rect:()=>fL,extern_oled_shift:()=>gL,extern_oled_show_frame_string:()=>UL,extern_oled_show_frame_string_delay:()=>BL,extern_oled_show_image:()=>mL,extern_oled_show_image_or_string_delay:()=>HL,extern_oled_show_image_xy:()=>CL,extern_oled_show_string:()=>cL,lcd_backlight:()=>dL,lcd_clear:()=>hL,lcd_print_string:()=>NL,lcd_show_image_or_string_delay:()=>PL,matrix_extern_image_arithmetic:()=>XM,matrix_extern_image_invert:()=>VM,tft_fill:()=>SL,tft_line_arbitrarily:()=>lL,tft_scroll_string_delay:()=>RL,tft_show_frame_string_delay:()=>rL,tft_show_image_or_string_delay:()=>LL,tft_show_image_xy:()=>pL,tft_use_spi_init:()=>aL});var G={};_.r(G),_.d(G,{bitbot_display_image_create:()=>uR,display_bright_point:()=>_R,display_bright_screen:()=>eR,display_clear:()=>iR,display_get_pixel:()=>$L,display_get_screen_pixel:()=>tR,display_image_builtins:()=>ZL,display_image_builtins_all:()=>QL,display_image_create:()=>zL,display_scroll_string:()=>kL,display_scroll_string_delay:()=>wL,display_shift:()=>jL,display_show_frame_string:()=>WL,display_show_frame_string_delay:()=>KL,display_show_image:()=>XL,display_show_image_or_string_delay:()=>VL,image_arithmetic:()=>JL,image_invert:()=>qL,mixbot_display_bright_screen:()=>dR,mixbot_display_get_ambientbright:()=>NR,mixbot_display_get_screen_pixel:()=>PR,mixbot_display_image_create:()=>AR,mixbot_display_rotate:()=>hR,mixgo_display_image_create_new:()=>nR,mixgome_display_font:()=>oR,mixgome_display_image_create:()=>TR,mixgomini_display_image_create:()=>ER,mpython_display_hvline:()=>rR,mpython_display_line:()=>SR,mpython_display_shape_rect:()=>RR,mpython_pbm_image:()=>lR,onboard_oled_bright_point:()=>LR,onboard_oled_scroll_string_delay:()=>pR,onboard_oled_show_frame_string_delay:()=>MR,onboard_oled_show_image:()=>sR,onboard_oled_show_image_or_string_delay:()=>aR,onboard_oled_show_image_xy:()=>OR,onboard_oled_show_string:()=>IR,onboard_tft_bright_point:()=>fR,onboard_tft_bright_screen:()=>vR,onboard_tft_clear:()=>bR,onboard_tft_clock_clear:()=>KR,onboard_tft_clock_draw:()=>WR,onboard_tft_clock_get_rtctime:()=>kR,onboard_tft_clock_init:()=>VR,onboard_tft_clock_set_time:()=>wR,onboard_tft_display_hvline:()=>gR,onboard_tft_display_line:()=>GR,onboard_tft_display_shape_circle:()=>zR,onboard_tft_display_shape_rect:()=>BR,onboard_tft_fill:()=>XR,onboard_tft_get_pixel:()=>yR,onboard_tft_get_screen_pixel:()=>xR,onboard_tft_scroll_string:()=>HR,onboard_tft_scroll_string_delay:()=>DR,onboard_tft_shift:()=>FR,onboard_tft_show_frame_string:()=>YR,onboard_tft_show_frame_string_delay:()=>UR,onboard_tft_show_image:()=>mR,onboard_tft_show_image_or_string_delay:()=>cR,onboard_tft_show_image_xy:()=>CR});var F={};_.r(F),_.d(F,{factory_block:()=>Tr,factory_block_return:()=>Er,factory_block_return_with_textarea:()=>or,factory_block_with_textarea:()=>nr,factory_callMethod_noreturn:()=>er,factory_callMethod_return:()=>ir,factory_create_with_container:()=>jR,factory_create_with_item:()=>$R,factory_declare:()=>tr,factory_from_import:()=>QR,factory_function_noreturn:()=>qR,factory_function_return:()=>_r,factory_import:()=>JR,folding_block:()=>sr});var y={};_.r(y),_.d(y,{controls_pin_attachInterrupt:()=>Yr,inout_analog_atten:()=>lr,inout_analog_read:()=>Sr,inout_analog_read_init:()=>ur,inout_analog_write:()=>Lr,inout_analog_write_init:()=>hr,inout_analog_write_set:()=>Rr,inout_analog_write_set_freq:()=>cr,inout_digital_init:()=>Nr,inout_digital_read:()=>pr,inout_digital_write:()=>ar,inout_highlow:()=>Ir,inout_pinMode:()=>Cr,inout_pin_attachInterrupt:()=>Pr,inout_pin_pressed:()=>Ar,inout_pin_pressed_init:()=>mr,inout_pwm_analog_write:()=>Mr,inout_pwm_analog_write_init:()=>dr,inout_pwm_analog_write_set_freq:()=>rr,pin_pressed:()=>Dr,pin_pressed_init:()=>Hr});var f={};_.r(f),_.d(f,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>_S,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>$r,IOT_EMQX_PING:()=>qr,IOT_FORMATTING:()=>Qr,IOT_FORMAT_STRING:()=>Jr,IOT_MIXIO_NTP:()=>jr,IOT_MIXIO_PUBLISH:()=>Vr,IOT_MIXIO_SUBSCRIBE:()=>kr,iot_checkonenet:()=>IS,iot_client_onboard:()=>eS,iot_create_with_item:()=>vr,iot_http_client:()=>iS,iot_http_data:()=>TS,iot_mixio_check:()=>Kr,iot_mixio_connect:()=>Xr,iot_mixio_connect_only:()=>Wr,iot_mixio_disconnect:()=>wr,iot_mixio_format_msg:()=>Zr,iot_mixio_format_topic:()=>zr,iot_mixly_key:()=>tS,iot_mqtt_client:()=>ES,iot_mqtt_data:()=>nS,iot_onenet_check:()=>Fr,iot_onenet_connect:()=>gr,iot_onenet_disconnect:()=>Gr,iot_onenet_publish:()=>fr,iot_onenet_publish_dict:()=>yr,iot_onenetconnect:()=>sS,iot_onenetdisconnect:()=>OS,iot_publish:()=>aS,iot_publish_container:()=>br,iot_publish_item:()=>xr,iot_wifi_connect:()=>Br,iot_wificonnect:()=>oS});var b={};_.r(b),_.d(b,{network_ap_connect:()=>dS,network_connect:()=>SS,network_get_connect:()=>AS,network_get_wifi:()=>NS,network_init:()=>MS,network_is_active:()=>RS,network_open:()=>LS,network_scan:()=>rS,network_server:()=>hS,network_socket_accept:()=>HS,network_socket_bind:()=>mS,network_socket_close:()=>gS,network_socket_connect:()=>CS,network_socket_init:()=>uS,network_socket_listen:()=>cS,network_socket_receive:()=>DS,network_socket_receive_from:()=>US,network_socket_send:()=>YS,network_socket_send_to:()=>BS,network_stop:()=>PS,network_wifi_connect:()=>lS,ntptime_address:()=>bS,ntptime_time:()=>fS,requests_attribute:()=>FS,requests_get:()=>GS,requests_method:()=>yS});var x={};_.r(x),_.d(x,{pe_g1_battery_left:()=>XS,pe_g1_dc_motor:()=>VS,pe_g1_dc_motor_speed:()=>kS,pe_g1_servo_get_angle:()=>KS,pe_g1_servo_get_speed:()=>zS,pe_g1_servo_set_angle:()=>wS,pe_g1_servo_set_speed:()=>WS,pe_g1_use_i2c_init:()=>vS});var v={};_.r(v),_.d(v,{HCSR04:()=>Zl,PS2_Button:()=>jl,PS2_Buttons:()=>_A,PS2_Buttons_new:()=>TA,PS2_State:()=>$l,PS2_init:()=>Ql,PS2_init_new:()=>eA,PS2_stk:()=>tA,PS2_stk_new:()=>EA,PS2_vibration:()=>ql,PS2_vibration_new:()=>iA,esp32_s2_weather_init:()=>wl,esp32_s2_weather_rain:()=>Kl,esp32_s2_weather_wd:()=>Wl,esp32_s2_weather_ws:()=>zl,extern_rfid_read:()=>Yl,extern_rfid_readcontent:()=>Bl,extern_rfid_readid:()=>Ul,extern_rfid_status:()=>Fl,extern_rfid_write:()=>gl,extern_rfid_write_return:()=>Gl,gnss_get_data:()=>OA,gnss_have_data:()=>sA,mixbot_sensor_extern_get_addr:()=>rA,mixbot_sensor_extern_set_addr:()=>SA,pm25_get_data:()=>oA,robot_button_extern_get_value:()=>IA,robot_color_extern_get_value:()=>RA,robot_infrared_extern_get_value:()=>pA,robot_infrared_extern_grey_get_value:()=>MA,robot_potentiometer_extern_get_value:()=>LA,robot_sonar_extern_get_value:()=>lA,robot_sonar_extern_led:()=>AA,robot_touch_extern_get_value:()=>aA,sensor_APDS9960_extern:()=>pl,sensor_LTR308_extern:()=>Ml,sensor_LTR390UV_extern:()=>Rl,sensor_MAX30102_extern:()=>al,sensor_QMC5883L_extern:()=>Pl,sensor_VL530LX_extern:()=>rl,sensor_adxl345_get_acceleration:()=>_l,sensor_aht11_extern:()=>ll,sensor_bmp:()=>nl,sensor_compass_reset:()=>Hl,sensor_dht11:()=>el,sensor_ds18x20:()=>sl,sensor_hp203_extern:()=>Al,sensor_light_level:()=>tl,sensor_lm35:()=>Ol,sensor_ltr381_extern:()=>Ll,sensor_mixgo_extern_button_attachInterrupt:()=>jS,sensor_mixgo_extern_button_get_presses:()=>qS,sensor_mixgo_extern_button_is_pressed:()=>QS,sensor_mixgo_extern_button_was_pressed:()=>JS,sensor_mixgo_extern_light:()=>il,sensor_mixgo_extern_pin_near:()=>El,sensor_mixgo_extern_sound:()=>Tl,sensor_mixgoce_hot_wheel_degrees:()=>kl,sensor_mixgoce_hot_wheel_is_touched:()=>Vl,sensor_mpu9250_attachGestureInterrupt:()=>$S,sensor_mpu9250_calibrate_compass:()=>ml,sensor_mpu9250_field_strength:()=>cl,sensor_mpu9250_gesture:()=>Nl,sensor_mpu9250_get_acceleration:()=>dl,sensor_mpu9250_get_gyro:()=>ul,sensor_mpu9250_get_magnetic:()=>hl,sensor_mpu9250_temperature:()=>Cl,sensor_sht:()=>ol,sensor_shtc3_extern:()=>Sl,sensor_use_i2c_init:()=>Il,sensor_use_spi_init:()=>Dl,sensor_use_uart_init:()=>nA,sensor_weather_solo_init:()=>PA,sensor_weather_solo_rain:()=>hA,sensor_weather_solo_wd:()=>NA,sensor_weather_solo_ws:()=>dA,weather_data:()=>yl,weather_have_data:()=>fl,weather_set_label:()=>xl,weather_set_label_container:()=>vl,weather_set_label_item:()=>Xl,weather_uart_mixio:()=>bl});var X={};_.r(X),_.d(X,{HCSR04:()=>vA,RTC_set_date:()=>xA,RTC_set_time:()=>bA,bitbot_als_num:()=>WP,dht11:()=>jP,number1:()=>VA,number2:()=>kA,number3:()=>wA,number4:()=>WA,number5:()=>KA,number6:()=>zA,number7:()=>ZA,onboard_RTC_get_time:()=>tP,onboard_RTC_get_timestamp:()=>eP,onboard_RTC_set_datetime:()=>EP,onboard_RTC_settime_string:()=>TP,onboard_RTC_timestamp_totuple:()=>iP,rfid_readcontent:()=>MP,rfid_readid:()=>pP,rfid_write:()=>LP,rfid_write_return:()=>RP,sensor_LTR308:()=>oP,sensor_aht11:()=>OP,sensor_bitbot_ALS:()=>wP,sensor_button_get_presses:()=>ZP,sensor_button_is_pressed:()=>KP,sensor_button_was_pressed:()=>zP,sensor_distance_hrsc04:()=>fA,sensor_eulerangles:()=>SP,sensor_field_strength:()=>$P,sensor_get_acceleration:()=>rP,sensor_get_temperature:()=>IP,sensor_hp203:()=>aP,sensor_light:()=>qP,sensor_mixbot_get_gyro:()=>kP,sensor_mixbot_patrol_calibrate:()=>vP,sensor_mixbot_patrol_value:()=>XP,sensor_mixbot_temperature:()=>VP,sensor_mixgo_LTR308:()=>_P,sensor_mixgo_button_attachInterrupt:()=>HA,sensor_mixgo_button_get_presses:()=>cA,sensor_mixgo_button_is_pressed:()=>mA,sensor_mixgo_button_was_pressed:()=>CA,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>HP,sensor_mixgo_cc_mmc5603_get_angle:()=>cP,sensor_mixgo_cc_mmc5603_get_magnetic:()=>CP,sensor_mixgo_light:()=>XA,sensor_mixgo_nova_LTR308:()=>$A,sensor_mixgo_nova_pin_near:()=>jA,sensor_mixgo_pin_near:()=>qA,sensor_mixgo_pin_near_double:()=>JA,sensor_mixgo_pin_near_single:()=>QA,sensor_mixgo_pin_pressed:()=>gA,sensor_mixgo_touch_slide:()=>yA,sensor_mixgocar42_button_attachInterrupt:()=>BA,sensor_mixgocar42_button_get_presses:()=>UA,sensor_mixgocar42_button_is_pressed:()=>DA,sensor_mixgocar42_button_was_pressed:()=>YA,sensor_mixgocar_battery_left:()=>xP,sensor_mixgocar_pin_near:()=>fP,sensor_mixgocar_pin_near_line:()=>yP,sensor_mixgocar_pin_near_state_change:()=>bP,sensor_mixgoce_pin_pressed:()=>GA,sensor_mixgoce_temperature:()=>YP,sensor_mixgome_temperature:()=>DP,sensor_mpython_pin_pressed:()=>FA,sensor_mpython_qmi8658_get_gyro:()=>UP,sensor_mpython_qmi8658_temperature:()=>BP,sensor_onboard_compass_reset:()=>mP,sensor_onboard_mpu9250_calibrate_compass:()=>dP,sensor_onboard_mpu9250_field_strength:()=>uP,sensor_onboard_mpu9250_gesture:()=>lP,sensor_onboard_mpu9250_get_acceleration:()=>AP,sensor_onboard_mpu9250_get_gyro:()=>NP,sensor_onboard_mpu9250_get_magnetic:()=>PP,sensor_onboard_mpu9250_temperature:()=>hP,sensor_pin_near:()=>JP,sensor_pin_pressed:()=>QP,sensor_rm_acc:()=>FP,sensor_rm_battery_left:()=>GP,sensor_rm_pin_near_double:()=>gP,sensor_rtc_init:()=>nP,sensor_sound:()=>sP,sensor_temperature:()=>_N});var V={};_.r(V),_.d(V,{serial_any:()=>sN,serial_begin:()=>MN,serial_print:()=>iN,serial_print_byte:()=>eN,serial_print_hex:()=>EN,serial_println:()=>TN,serial_read_from_ai:()=>dN,serial_readline:()=>ON,serial_readstr:()=>oN,serial_readstr_until:()=>IN,serial_receive_data_event:()=>nN,serial_send_to_ai:()=>NN,serial_softserial:()=>pN,serial_softserial_new:()=>aN,system_input:()=>LN,system_print:()=>RN,system_print_container:()=>AN,system_print_end:()=>SN,system_print_inline:()=>rN,system_print_item:()=>PN,system_print_many:()=>lN});var k={};_.r(k),_.d(k,{Panic_with_status_code:()=>CN,Timer_init:()=>xN,base_delay:()=>VN,controls_delay:()=>mN,controls_delay_new:()=>uN,controls_millis:()=>HN,controls_uname:()=>YN,raw_block:()=>DN,reset:()=>cN,system_bitbot_shutdown:()=>bN,system_machine_reset:()=>fN,system_ticks_diff:()=>gN,system_timer:()=>BN,system_timer_init:()=>GN,system_wdt_feed:()=>yN,system_wdt_init:()=>FN,time_ticks_diff:()=>XN,timer:()=>UN,timer2:()=>vN});var w={};_.r(w),_.d(w,{WEATHER_DAILY:()=>WN,WEATHER_HOUR:()=>KN,WEATHER_NOW:()=>wN});var W={};_.r(W),_.d(W,{actuator_extern_get_led_bright:()=>pd,actuator_extern_get_led_state:()=>Md,actuator_extern_led_bright:()=>ad,actuator_extern_led_brightness:()=>Ld,actuator_ms32006_dcmotor:()=>_d,actuator_ms32006_init:()=>$N,actuator_ms32006_stepper:()=>td,actuator_neopixel_init:()=>Rd,actuator_neopixel_rgb:()=>ld,actuator_neopixel_rgb_all:()=>rd,actuator_neopixel_write:()=>Sd,actuator_use_uart_init:()=>Ad,esp32_music_get_tempo_extern:()=>od,esp32_music_pitch:()=>id,esp32_music_pitch_init:()=>ed,esp32_music_pitch_with_time:()=>Td,esp32_music_play_list:()=>sd,esp32_music_reset_extern:()=>Od,esp32_music_set_tempo_extern:()=>nd,esp32_music_stop:()=>Ed,mixbot_actuator_extern_get_addr:()=>fd,mixbot_actuator_extern_set_addr:()=>bd,mixbot_addr_extern:()=>ud,robot_led_extern:()=>Hd,robot_led_extern_get_value:()=>Dd,robot_motor_extern:()=>md,robot_motor_extern_get_speed:()=>Cd,robot_servo_extern_absolute_run:()=>gd,robot_servo_extern_get_status:()=>Yd,robot_servo_extern_relative_continue:()=>yd,robot_servo_extern_relative_origin:()=>Gd,robot_servo_extern_relative_run:()=>Fd,robot_servo_extern_stop:()=>Bd,robot_servo_extern_stop_mode:()=>Ud,robot_traffic_light_extern:()=>cd,servo_get_angle:()=>qN,servo_get_speed:()=>jN,servo_init:()=>zN,servo_move:()=>Id,servo_set_angle:()=>QN,servo_set_speed:()=>JN,servo_speed_360:()=>ZN,syn6288_builtin_voice:()=>dd,syn6288_get_voice:()=>Nd,syn6288_set_voice:()=>Pd,syn6288_tts_play:()=>hd});var K={};_.r(K),_.d(K,{actuator_dc_motor:()=>ph,actuator_dc_motor_stop:()=>Mh,actuator_get_led_bright:()=>Qd,actuator_get_led_state:()=>Jd,actuator_led_bright:()=>Zd,actuator_led_brightness:()=>qd,actuator_mixbot_buzzer_on_off:()=>lh,actuator_mixgo_nova_mic_get:()=>hh,actuator_mixgo_nova_mic_set:()=>dh,actuator_mixgo_nova_onboard_music_pitch:()=>Dh,actuator_mixgo_nova_onboard_music_stop:()=>Yh,actuator_mixgo_nova_play_audio:()=>ch,actuator_mixgo_nova_play_online_audio:()=>Hh,actuator_mixgo_nova_record_audio:()=>Ch,actuator_mixgo_nova_voice_get:()=>mh,actuator_mixgo_nova_voice_set:()=>uh,actuator_mixgo_zero_led_color:()=>jd,actuator_onboard_neopixel_rgb:()=>Eh,actuator_onboard_neopixel_rgb_all:()=>nh,actuator_onboard_neopixel_rgb_show_all_chase:()=>oh,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>sh,actuator_onboard_neopixel_write:()=>Th,actuator_stepper_keep:()=>Ih,actuator_stepper_stop:()=>ah,bitbot_motor:()=>Nh,bitbot_move:()=>Ah,bitbot_stop:()=>Ph,cc_number:()=>$d,esp32_music_get_tempo:()=>vd,esp32_music_reset:()=>Wd,esp32_music_set_tempo:()=>xd,esp32_onboard_music_pitch:()=>Xd,esp32_onboard_music_pitch_with_time:()=>Vd,esp32_onboard_music_play_list:()=>wd,esp32_onboard_music_stop:()=>kd,get_power_output:()=>Bh,ledswitch:()=>zd,mixbot_motor:()=>Sh,mixbot_motor_status:()=>Lh,mixbot_move:()=>Rh,mixbot_stop:()=>rh,number:()=>Kd,rm_actuator_get_led_bright:()=>th,rm_actuator_get_led_state:()=>eh,rm_actuator_led_bright:()=>_h,rm_actuator_led_brightness:()=>ih,rm_motor:()=>Oh,set_all_power_output:()=>gh,set_power_output:()=>Uh});var z={};_.r(z),_.d(z,{ai_sensor_20object:()=>pu,ai_sensor_ailocal_class:()=>tu,ai_sensor_ailocal_class_result:()=>eu,ai_sensor_ailocal_train:()=>_u,ai_sensor_asr_recognize:()=>ou,ai_sensor_audio_play:()=>Tu,ai_sensor_audio_record:()=>iu,ai_sensor_barcode:()=>vh,ai_sensor_circle:()=>Kh,ai_sensor_classifier_faces:()=>au,ai_sensor_color:()=>Jh,ai_sensor_color_chases:()=>$h,ai_sensor_color_chases_result:()=>jh,ai_sensor_config:()=>yh,ai_sensor_face:()=>Iu,ai_sensor_find_20objects:()=>Mu,ai_sensor_find_barcodes:()=>Xh,ai_sensor_find_circles:()=>zh,ai_sensor_find_colors:()=>qh,ai_sensor_find_licenseplates:()=>Ou,ai_sensor_find_lines:()=>Wh,ai_sensor_find_qrcodes:()=>xh,ai_sensor_find_rects:()=>Qh,ai_sensor_find_tags:()=>kh,ai_sensor_licenseplate:()=>su,ai_sensor_line:()=>wh,ai_sensor_qrcode:()=>bh,ai_sensor_qrcode_lite:()=>Fh,ai_sensor_rect:()=>Zh,ai_sensor_rgb:()=>fh,ai_sensor_tag:()=>Vh,ai_sensor_use_uart_init:()=>Gh,ai_sensor_yolo_recognize:()=>Eu,ai_sensor_yolo_recognize_result:()=>nu});var Z={};_.r(Z),_.d(Z,{MICROPYTHON_AI_Speech_asr:()=>ru,MICROPYTHON_AI_Speech_unit:()=>Ru,MICROPYTHON_AI_client:()=>Lu});var Q={};_.r(Q),_.d(Q,{mpython_blynk_app_data:()=>Hu,mpython_blynk_app_notify:()=>hu,mpython_blynk_email:()=>Du,mpython_blynk_get_timers:()=>mu,mpython_blynk_on_connected:()=>Pu,mpython_blynk_on_disconnected:()=>Au,mpython_blynk_run:()=>du,mpython_blynk_sensor_data_to_app:()=>cu,mpython_blynk_set_property:()=>Yu,mpython_blynk_setup:()=>Uu,mpython_blynk_stop_timers:()=>uu,mpython_blynk_sync_virtual:()=>lu,mpython_blynk_terminal_widget_vpin:()=>Su,mpython_blynktimer:()=>Cu,mpython_blynktimer_run:()=>Nu});var J={};_.r(J),_.d(J,{communicate_bluetooth_central_init:()=>pm,communicate_bluetooth_connect:()=>Rm,communicate_bluetooth_disconnect:()=>rm,communicate_bluetooth_handle:()=>dm,communicate_bluetooth_is_connected:()=>lm,communicate_bluetooth_mac:()=>Sm,communicate_bluetooth_peripheral_init:()=>Mm,communicate_bluetooth_recv:()=>Nm,communicate_bluetooth_recv_only:()=>Pm,communicate_bluetooth_scan:()=>Lm,communicate_bluetooth_send:()=>Am,communicate_espnow_init:()=>hm,communicate_espnow_init_new:()=>um,communicate_i2c_available:()=>xu,communicate_i2c_init:()=>Gu,communicate_i2c_master_read:()=>bu,communicate_i2c_onboard:()=>Bu,communicate_i2c_read:()=>Fu,communicate_i2c_scan:()=>fu,communicate_i2c_write:()=>yu,communicate_ir_recv_init:()=>em,communicate_ir_send_init:()=>om,communicate_ow_init:()=>Ju,communicate_ow_read:()=>$u,communicate_ow_reset:()=>ju,communicate_ow_scan:()=>qu,communicate_ow_select:()=>tm,communicate_ow_write:()=>_m,communicate_spi_buffer:()=>ku,communicate_spi_init:()=>Xu,communicate_spi_onboard:()=>gu,communicate_spi_read:()=>wu,communicate_spi_read_output:()=>Wu,communicate_spi_readinto:()=>Ku,communicate_spi_readinto_output:()=>zu,communicate_spi_set:()=>Vu,communicate_spi_write:()=>Zu,communicate_spi_write_readinto:()=>Qu,espnow_radio_channel:()=>Ym,espnow_radio_channel_new:()=>Bm,espnow_radio_on_off:()=>gm,espnow_radio_rec:()=>Fm,espnow_radio_recv:()=>fm,espnow_radio_recv_certain_msg:()=>bm,espnow_radio_recv_certain_msg_new:()=>vm,espnow_radio_recv_msg:()=>ym,espnow_radio_recv_new:()=>xm,espnow_radio_send:()=>Gm,espnow_radio_txpower:()=>Um,i2c_slave_onreceive:()=>vu,internal_variable:()=>im,ir_recv_timeout:()=>nm,ir_transmit_busy:()=>am,ir_transmit_conventional_data:()=>sm,ir_transmit_raw_code:()=>Im,ir_transmit_study_code:()=>Om,ir_whether_recv:()=>Em,lora_init:()=>Xm,lora_packet:()=>Vm,lora_recv:()=>wm,lora_send:()=>km,network_espnow_info:()=>Cm,network_espnow_mac:()=>mm,network_espnow_recv:()=>cm,network_espnow_recv_handle:()=>Dm,network_espnow_send:()=>Hm,recv_fun:()=>Tm,urequests_attribute:()=>Km,urequests_get:()=>Wm,urequests_method:()=>zm});var q={};_.r(q),_.d(q,{display_animate:()=>lC,display_circle:()=>AC,display_color_seclet:()=>YC,display_draw_4strings:()=>aC,display_fill:()=>SC,display_lcd_use_i2c_init:()=>yC,display_line:()=>LC,display_line_arbitrarily:()=>pC,display_matrix_extern_bright_point:()=>TC,display_matrix_extern_bright_screen:()=>nC,display_matrix_extern_clear:()=>tC,display_matrix_extern_get_pixel:()=>iC,display_matrix_extern_get_screen_pixel:()=>EC,display_matrix_extern_image_builtins:()=>oC,display_matrix_extern_scroll_string:()=>$m,display_matrix_extern_scroll_string_delay:()=>_C,display_matrix_extern_shift:()=>eC,display_matrix_extern_show_frame_string:()=>qm,display_matrix_extern_show_frame_string_delay:()=>jm,display_matrix_extern_show_image:()=>Qm,display_matrix_extern_show_image_or_string_delay:()=>Jm,display_matrix_use_i2c_init:()=>Zm,display_oled_drawPixel:()=>dC,display_oled_showBitmap:()=>NC,display_oled_use_i2c_init:()=>XC,display_onoff:()=>RC,display_rect:()=>MC,display_tm1650_power:()=>uC,display_tm1650_set_brightness:()=>cC,display_tm1650_show_dot:()=>CC,display_tm1650_show_num:()=>mC,display_tm_use_i2c_init:()=>hC,display_triangle:()=>PC,display_use_i2c_init:()=>IC,extern_oled_bright_point:()=>$C,extern_oled_clear:()=>JC,extern_oled_get_pixel:()=>jC,extern_oled_hvline:()=>tc,extern_oled_line:()=>ec,extern_oled_scroll_string:()=>ZC,extern_oled_scroll_string_delay:()=>QC,extern_oled_shape_rect:()=>_c,extern_oled_shift:()=>qC,extern_oled_show_frame_string:()=>KC,extern_oled_show_frame_string_delay:()=>zC,extern_oled_show_image:()=>VC,extern_oled_show_image_or_string_delay:()=>WC,extern_oled_show_image_xy:()=>kC,extern_oled_show_string:()=>wC,image_shift:()=>rC,lcd_backlight:()=>xC,lcd_clear:()=>vC,lcd_print_string:()=>bC,lcd_show_image_or_string_delay:()=>fC,matrix_extern_image_arithmetic:()=>sC,matrix_extern_image_invert:()=>OC,tft_fill:()=>GC,tft_line_arbitrarily:()=>FC,tft_scroll_string_delay:()=>gC,tft_show_frame_string_delay:()=>BC,tft_show_image_or_string_delay:()=>UC,tft_show_image_xy:()=>DC,tft_use_spi_init:()=>HC});var j={};_.r(j),_.d(j,{bitbot_display_image_create:()=>vc,display_bright_point:()=>Sc,display_bright_screen:()=>Ac,display_clear:()=>pc,display_get_pixel:()=>rc,display_get_screen_pixel:()=>lc,display_image_builtins:()=>Oc,display_image_builtins_all:()=>Ic,display_image_create:()=>ac,display_scroll_string:()=>oc,display_scroll_string_delay:()=>sc,display_shift:()=>Rc,display_show_frame_string:()=>Ec,display_show_frame_string_delay:()=>nc,display_show_image:()=>ic,display_show_image_or_string_delay:()=>Tc,image_arithmetic:()=>Mc,image_invert:()=>Lc,mixbot_display_bright_screen:()=>bc,mixbot_display_get_ambientbright:()=>fc,mixbot_display_get_screen_pixel:()=>yc,mixbot_display_image_create:()=>Fc,mixbot_display_rotate:()=>xc,mixgo_display_image_create_new:()=>hc,mixgome_display_font:()=>dc,mixgome_display_image_create:()=>Pc,mixgomini_display_image_create:()=>Nc,mpython_display_hvline:()=>gc,mpython_display_line:()=>Gc,mpython_display_shape_rect:()=>Bc,mpython_pbm_image:()=>uc,onboard_oled_bright_point:()=>Uc,onboard_oled_scroll_string_delay:()=>Yc,onboard_oled_show_frame_string_delay:()=>Dc,onboard_oled_show_image:()=>mc,onboard_oled_show_image_or_string_delay:()=>Hc,onboard_oled_show_image_xy:()=>Cc,onboard_oled_show_string:()=>cc,onboard_tft_bright_point:()=>_H,onboard_tft_bright_screen:()=>eH,onboard_tft_clear:()=>qc,onboard_tft_clock_clear:()=>sH,onboard_tft_clock_draw:()=>oH,onboard_tft_clock_get_rtctime:()=>EH,onboard_tft_clock_init:()=>TH,onboard_tft_clock_set_time:()=>nH,onboard_tft_display_hvline:()=>Qc,onboard_tft_display_line:()=>Jc,onboard_tft_display_shape_circle:()=>OH,onboard_tft_display_shape_rect:()=>Zc,onboard_tft_fill:()=>iH,onboard_tft_get_pixel:()=>$c,onboard_tft_get_screen_pixel:()=>tH,onboard_tft_scroll_string:()=>Kc,onboard_tft_scroll_string_delay:()=>zc,onboard_tft_shift:()=>jc,onboard_tft_show_frame_string:()=>wc,onboard_tft_show_frame_string_delay:()=>Wc,onboard_tft_show_image:()=>Xc,onboard_tft_show_image_or_string_delay:()=>kc,onboard_tft_show_image_xy:()=>Vc});var $={};_.r($),_.d($,{factory_block:()=>SH,factory_block_return:()=>lH,factory_block_return_with_textarea:()=>PH,factory_block_with_textarea:()=>AH,factory_callMethod_noreturn:()=>RH,factory_callMethod_return:()=>rH,factory_declare:()=>LH,factory_from_import:()=>IH,factory_function_noreturn:()=>pH,factory_function_return:()=>MH,factory_import:()=>aH,folding_block:()=>NH});var __={};_.r(__),_.d(__,{inout_analog_atten:()=>yH,inout_analog_read:()=>DH,inout_analog_read_init:()=>FH,inout_analog_write:()=>CH,inout_analog_write_init:()=>GH,inout_analog_write_set:()=>cH,inout_digital_init:()=>BH,inout_digital_read:()=>uH,inout_digital_write:()=>hH,inout_highlow:()=>dH,inout_pin_attachInterrupt:()=>UH,inout_pin_pressed:()=>YH,inout_pin_pressed_init:()=>fH,inout_pwm_analog_write:()=>mH,inout_pwm_analog_write_init:()=>gH,inout_pwm_analog_write_set_freq:()=>HH});var t_={};_.r(t_),_.d(t_,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>eD,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>_D,IOT_EMQX_PING:()=>iD,IOT_FORMATTING:()=>jH,IOT_FORMAT_STRING:()=>$H,IOT_MIXIO_NTP:()=>TD,IOT_MIXIO_PUBLISH:()=>WH,IOT_MIXIO_SUBSCRIBE:()=>KH,iot_client_onboard:()=>ED,iot_http_client:()=>nD,iot_http_data:()=>oD,iot_mixio_check:()=>QH,iot_mixio_connect:()=>wH,iot_mixio_connect_only:()=>ZH,iot_mixio_disconnect:()=>zH,iot_mixio_format_msg:()=>qH,iot_mixio_format_topic:()=>JH,iot_mixly_key:()=>tD,iot_mqtt_client:()=>sD,iot_mqtt_data:()=>OD,iot_onenet_check:()=>VH,iot_onenet_connect:()=>xH,iot_onenet_disconnect:()=>vH,iot_onenet_publish:()=>kH,iot_onenet_publish_dict:()=>XH,iot_wifi_connect:()=>bH});var e_={};_.r(e_),_.d(e_,{network_ap_connect:()=>lD,network_connect:()=>aD,network_get_connect:()=>MD,network_get_wifi:()=>SD,network_init:()=>ID,network_is_active:()=>rD,network_open:()=>RD,network_scan:()=>AD,network_server:()=>PD,network_socket_accept:()=>mD,network_socket_bind:()=>dD,network_socket_close:()=>YD,network_socket_connect:()=>hD,network_socket_init:()=>ND,network_socket_listen:()=>uD,network_socket_receive:()=>CD,network_socket_receive_from:()=>HD,network_socket_send:()=>cD,network_socket_send_to:()=>DD,network_stop:()=>LD,network_wifi_connect:()=>pD,ntptime_address:()=>FD,ntptime_time:()=>GD,requests_attribute:()=>BD,requests_get:()=>UD,requests_method:()=>gD});var i_={};_.r(i_),_.d(i_,{pe_g1_battery_left:()=>fD,pe_g1_dc_motor:()=>bD,pe_g1_dc_motor_speed:()=>xD,pe_g1_servo_get_angle:()=>VD,pe_g1_servo_get_speed:()=>kD,pe_g1_servo_set_angle:()=>vD,pe_g1_servo_set_speed:()=>XD,pe_g1_use_i2c_init:()=>yD});var T_={};_.r(T_),_.d(T_,{HCSR04:()=>BY,PS2_Button:()=>FY,PS2_Buttons:()=>yY,PS2_Buttons_new:()=>wY,PS2_State:()=>fY,PS2_init:()=>gY,PS2_init_new:()=>VY,PS2_stk:()=>bY,PS2_stk_new:()=>WY,PS2_vibration:()=>GY,PS2_vibration_new:()=>kY,RTC_get_time:()=>vY,RTC_set_date:()=>qD,RTC_set_datetime:()=>xY,RTC_set_time:()=>JD,esp32_s2_weather_init:()=>HY,esp32_s2_weather_rain:()=>YY,esp32_s2_weather_wd:()=>DY,esp32_s2_weather_ws:()=>UY,extern_rfid_read:()=>rY,extern_rfid_readcontent:()=>lY,extern_rfid_readid:()=>SY,extern_rfid_status:()=>NY,extern_rfid_write:()=>AY,extern_rfid_write_return:()=>PY,gnss_get_data:()=>ZY,gnss_have_data:()=>QY,mixbot_sensor_extern_get_addr:()=>TU,mixbot_sensor_extern_set_addr:()=>EU,pm25_get_data:()=>zY,robot_button_extern_get_value:()=>JY,robot_color_extern_get_value:()=>tU,robot_infrared_extern_get_value:()=>jY,robot_infrared_extern_grey_get_value:()=>$Y,robot_potentiometer_extern_get_value:()=>_U,robot_sonar_extern_get_value:()=>eU,robot_sonar_extern_led:()=>iU,robot_touch_extern_get_value:()=>qY,sensor_APDS9960_extern:()=>nY,sensor_LTR308_extern:()=>oY,sensor_LTR390UV_extern:()=>IY,sensor_MAX30102_extern:()=>EY,sensor_QMC5883L_extern:()=>aY,sensor_VL530LX_extern:()=>LY,sensor_aht11_extern:()=>MY,sensor_bmp:()=>eY,sensor_dht11:()=>XY,sensor_distance_hrsc04:()=>QD,sensor_hp203_extern:()=>sY,sensor_ltr381_extern:()=>OY,sensor_mixgo_extern_button_attachInterrupt:()=>zD,sensor_mixgo_extern_button_get_presses:()=>KD,sensor_mixgo_extern_button_is_pressed:()=>wD,sensor_mixgo_extern_button_was_pressed:()=>WD,sensor_mixgo_extern_light:()=>jD,sensor_mixgo_extern_pin_near:()=>_Y,sensor_mixgo_extern_sound:()=>$D,sensor_mixgoce_hot_wheel_degrees:()=>cY,sensor_mixgoce_hot_wheel_is_touched:()=>CY,sensor_mpu9250_attachGestureInterrupt:()=>ZD,sensor_rtc_init:()=>tY,sensor_sht:()=>iY,sensor_shtc3_extern:()=>pY,sensor_use_i2c_init:()=>TY,sensor_use_spi_init:()=>RY,sensor_use_uart_init:()=>KY,sensor_weather_solo_init:()=>nU,sensor_weather_solo_rain:()=>OU,sensor_weather_solo_wd:()=>oU,sensor_weather_solo_ws:()=>sU,weather_data:()=>dY,weather_have_data:()=>hY,weather_set_label:()=>mY,weather_uart_mixio:()=>uY});var E_={};_.r(E_),_.d(E_,{HCSR04:()=>lU,bitbot_als_num:()=>yB,dht11:()=>wB,number1:()=>AU,number2:()=>PU,number3:()=>NU,number4:()=>dU,number5:()=>hU,number6:()=>uU,number7:()=>mU,onboard_RTC_get_time:()=>LB,onboard_RTC_get_timestamp:()=>RB,onboard_RTC_set_datetime:()=>pB,onboard_RTC_settime_string:()=>MB,onboard_RTC_timestamp_totuple:()=>rB,rfid_readcontent:()=>vU,rfid_readid:()=>xU,rfid_write:()=>XU,rfid_write_return:()=>VU,sensor_LTR308:()=>GU,sensor_adxl345_get_acceleration:()=>qU,sensor_aht11:()=>fU,sensor_bitbot_ALS:()=>FB,sensor_button_get_presses:()=>xB,sensor_button_is_pressed:()=>fB,sensor_button_was_pressed:()=>bB,sensor_compass_reset:()=>iB,sensor_ds18x20:()=>BU,sensor_eulerangles:()=>wU,sensor_get_acceleration:()=>kU,sensor_get_temperature:()=>bU,sensor_hp203:()=>yU,sensor_light:()=>kB,sensor_lm35:()=>gU,sensor_mixbot_get_gyro:()=>GB,sensor_mixbot_patrol_calibrate:()=>UB,sensor_mixbot_patrol_value:()=>BB,sensor_mixbot_temperature:()=>gB,sensor_mixgo_LTR308:()=>YU,sensor_mixgo_button_attachInterrupt:()=>MU,sensor_mixgo_button_get_presses:()=>pU,sensor_mixgo_button_is_pressed:()=>IU,sensor_mixgo_button_was_pressed:()=>aU,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>AB,sensor_mixgo_cc_mmc5603_get_angle:()=>lB,sensor_mixgo_cc_mmc5603_get_magnetic:()=>SB,sensor_mixgo_light:()=>VB,sensor_mixgo_nova_LTR308:()=>UU,sensor_mixgo_nova_pin_near:()=>DU,sensor_mixgo_pin_near:()=>HU,sensor_mixgo_pin_near_double:()=>cU,sensor_mixgo_pin_near_single:()=>CU,sensor_mixgo_pin_pressed:()=>QU,sensor_mixgo_touch_slide:()=>ZU,sensor_mixgocar42_button_attachInterrupt:()=>SU,sensor_mixgocar42_button_get_presses:()=>rU,sensor_mixgocar42_button_is_pressed:()=>LU,sensor_mixgocar42_button_was_pressed:()=>RU,sensor_mixgocar_battery_left:()=>YB,sensor_mixgocar_pin_near:()=>HB,sensor_mixgocar_pin_near_line:()=>cB,sensor_mixgocar_pin_near_state_change:()=>DB,sensor_mixgoce_pin_pressed:()=>zU,sensor_mixgoce_temperature:()=>NB,sensor_mixgome_temperature:()=>PB,sensor_mpu9250_calibrate_compass:()=>_B,sensor_mpu9250_field_strength:()=>eB,sensor_mpu9250_gesture:()=>WU,sensor_mpu9250_get_acceleration:()=>KU,sensor_mpu9250_get_gyro:()=>$U,sensor_mpu9250_get_magnetic:()=>jU,sensor_mpu9250_temperature:()=>tB,sensor_mpython_pin_pressed:()=>JU,sensor_mpython_qmi8658_get_gyro:()=>dB,sensor_mpython_qmi8658_temperature:()=>hB,sensor_onboard_compass_reset:()=>aB,sensor_onboard_mpu9250_calibrate_compass:()=>sB,sensor_onboard_mpu9250_field_strength:()=>IB,sensor_onboard_mpu9250_gesture:()=>TB,sensor_onboard_mpu9250_get_acceleration:()=>EB,sensor_onboard_mpu9250_get_gyro:()=>oB,sensor_onboard_mpu9250_get_magnetic:()=>nB,sensor_onboard_mpu9250_temperature:()=>OB,sensor_pin_near:()=>XB,sensor_pin_pressed:()=>vB,sensor_rm_acc:()=>CB,sensor_rm_battery_left:()=>mB,sensor_rm_pin_near_double:()=>uB,sensor_sound:()=>FU});var n_={};_.r(n_),_.d(n_,{serial_any:()=>QB,serial_print:()=>WB,serial_print_byte:()=>KB,serial_print_hex:()=>ZB,serial_println:()=>zB,serial_read_from_ai:()=>ng,serial_readline:()=>qB,serial_readstr:()=>JB,serial_send_to_ai:()=>Eg,serial_softserial:()=>jB,serial_softserial_new:()=>$B,system_input:()=>_g,system_print:()=>tg,system_print_end:()=>ig,system_print_inline:()=>eg,system_print_many:()=>Tg});var o_={};_.r(o_),_.d(o_,{Panic_with_status_code:()=>lg,Timer_init:()=>gg,base_delay:()=>yg,controls_delay:()=>hg,controls_delay_new:()=>ug,controls_end_program:()=>Pg,controls_millis:()=>Ag,controls_uname:()=>dg,reset:()=>Ng,system_bitbot_shutdown:()=>Bg,system_device_name:()=>rg,system_device_serial_number:()=>Sg,system_event_bus_source:()=>Lg,system_event_bus_value:()=>Rg,system_machine_reset:()=>Ug,system_on_event:()=>ag,system_raise_event:()=>Ig,system_reset:()=>sg,system_run_in_background:()=>og,system_ticks_diff:()=>cg,system_timer:()=>Cg,system_timer_init:()=>Hg,system_timestamp:()=>pg,system_value:()=>Mg,system_wait:()=>Og,system_wdt_feed:()=>Yg,system_wdt_init:()=>Dg,time_ticks_diff:()=>Fg,timer:()=>mg,timer2:()=>Gg});var s_={};_.r(s_),_.d(s_,{WEATHER_DAILY:()=>bg,WEATHER_HOUR:()=>xg,WEATHER_NOW:()=>fg});var O_={};_.r(O_),_.d(O_,{analog_input:()=>qg,analog_output:()=>$g,espnow_channel:()=>Zg,haskylens_model:()=>Qg,i2c_A_pin:()=>_G,i2c_B_pin:()=>tG,pins_analog:()=>nG,pins_analog_pin:()=>oG,pins_axis:()=>hG,pins_brightness:()=>uG,pins_builtinimg:()=>rG,pins_builtinimg_extern:()=>SG,pins_button:()=>IG,pins_dac:()=>sG,pins_dac_pin:()=>OG,pins_digital:()=>kg,pins_digital_dot:()=>BG,pins_digital_pin:()=>wg,pins_exlcdh:()=>NG,pins_exlcdv:()=>dG,pins_imglist:()=>lG,pins_input_pin:()=>Wg,pins_mpython_touch:()=>zg,pins_one_more:()=>UG,pins_output_pin:()=>Kg,pins_playlist:()=>AG,pins_playlist_extern:()=>PG,pins_pwm:()=>aG,pins_pwm_pin:()=>pG,pins_radio_datarate:()=>YG,pins_radio_power:()=>DG,pins_serial:()=>RG,pins_tone_notes:()=>HG,pins_touch:()=>LG,pins_touch_pin:()=>MG,pins_tts_bgmusic:()=>cG,pins_tts_builtin_music:()=>CG,pins_tts_voice:()=>mG,pwm_input:()=>Jg,pwm_output:()=>jg,spi_A_pin:()=>eG,spi_B_pin:()=>iG,spi_C_pin:()=>TG,spi_D_pin:()=>EG});var I_={};_.r(I_),_.d(I_,{espnow_channel:()=>VG,haskylens_model:()=>kG,pins_analog:()=>xG,pins_analog_pin:()=>bG,pins_axis:()=>eF,pins_brightness:()=>EF,pins_builtinimg:()=>qG,pins_builtinimg_extern:()=>jG,pins_button:()=>GG,pins_dac:()=>KG,pins_dac_pin:()=>WG,pins_digital:()=>gG,pins_digital_dot:()=>MF,pins_digital_pin:()=>FG,pins_exlcdh:()=>iF,pins_exlcdv:()=>TF,pins_imglist:()=>$G,pins_input_pin:()=>yG,pins_interrupt:()=>QG,pins_mpython_touch:()=>wG,pins_one_more:()=>pF,pins_output_pin:()=>fG,pins_playlist:()=>_F,pins_playlist_extern:()=>tF,pins_pwm:()=>XG,pins_pwm_pin:()=>vG,pins_radio_datarate:()=>aF,pins_radio_power:()=>IF,pins_serial:()=>JG,pins_tone_notes:()=>OF,pins_touch:()=>ZG,pins_touch_pin:()=>zG,pins_tts_bgmusic:()=>sF,pins_tts_builtin_music:()=>oF,pins_tts_voice:()=>nF});const a_=Blockly,p_=Mixly,M_={NAME_TYPE:"VARIABLE",allVariables:function(_){var t;if(_.getDescendants)t=_.getDescendants();else{if(!_.getAllBlocks)throw"Not Block or Workspace: "+_;t=_.getAllBlocks()}for(var e=Object.create(null),i=0;i1&&(n+=i)):e=n}else e="i";return e}},L_=M_; /** * @license * Visual Blocks Editor @@ -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(u_),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(u_),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")}},B_={init:function(){this.setColour(u_),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]}))}},g_={init:function(){this.setColour(u_),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(u_);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(u_),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(u_),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")}};B_.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(u_),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(u_),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(u_),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(u_),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},X_={init:function(){this.setColour(u_),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(u_),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:u_,tooltip:a_.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:a_.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},w_={init:function(){this.setColour(u_),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_STAT),this.setOutput(!0)}},W_={init:function(){this.setColour(u_),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(u_),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(u_),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Z_=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 Q_={init:function(){this.setColour(Z_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},J_={init:function(){this.setColour(Z_);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]}))}},q_={init:function(){this.setColour(Z_);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]}))}},j_={init:function(){this.setColour(Z_),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]}))}},$_={init:function(){this.setColour(Z_),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]}))}},_t={init:function(){this.setColour(Z_),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new a_.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},tt={init:function(){this.setColour(Z_),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]}))}},et={init:function(){var _=[[a_.Msg.MATH_BIN,"bin"],[a_.Msg.MATH_OCT,"oct"],[a_.Msg.MATH_HEX,"hex"]];this.setColour(Z_),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}[_]}))}},it={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(Z_),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}[_]}))}},Tt={init:function(){var _=[[a_.Msg.MIXLY_MAX,"max"],[a_.Msg.MIXLY_MIN,"min"]];this.setColour(Z_),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}[_]}))}},Et={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(Z_),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]}))}},nt={init:function(){var _=[[a_.Msg.LANG_MATH_INT,"int"],[a_.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Z_),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[_]}))}},ot={init:function(){this.setColour(Z_),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)}},st={init:function(){this.setColour(Z_),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)}},Ot={init:function(){this.setColour(Z_),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)}},It={init:function(){this.setColour(Z_),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)}},at={init:function(){this.setColour(Z_),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)}},pt={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"],[a_.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Z_),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}[_]}))}},Mt={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Z_),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=st,Rt=160,rt={init:function(){this.setColour(Rt),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,'"')}},St={init:function(){this.setColour(Rt),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 lt={init:function(){this.setColour(Rt),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,'"')}},At={init:function(){this.setColour(Rt),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)}},Pt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Nt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").setCheck(String).appendField(a_.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},dt={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ht={init:function(){this.setColour(Rt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ut={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(Rt),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)}},mt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Rt),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)}},Ct={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Rt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(a_.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(a_.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ct={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(Rt),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"))}},Ht={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Rt),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)}},Dt={init:function(){var _=[[a_.Msg.MIXLY_EQUALS,"==="],[a_.Msg.MIXLY_STARTSWITH,"startswith"],[a_.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Rt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new a_.FieldDropdown(_),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Yt={init:function(){this.setColour(Rt),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)}},Ut={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(Rt),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}[_]}))}},Bt={init:function(){var _=[[a_.Msg.TEXT_LJUST,"ljust"],[a_.Msg.TEXT_CENTER,"center"],[a_.Msg.TEXT_RJUST,"rjust"]];this.setColour(Rt),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)}},gt={init:function(){this.setColour(Rt),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)}},Gt={init:function(){this.setColour(Rt),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)}},Ft={init:function(){this.setColour(Rt),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)}},yt={init:function(){this.setColour(Rt),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)}},ft={init:function(){var _=[[a_.Msg.TEXT_TRIM_BOTH,"strip"],[a_.Msg.TEXT_TRIM_LEFT,"lstrip"],[a_.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Rt),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}[_]}))}},bt={init:function(){this.setColour(Rt),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")}},Ge={init:function(){this.setColour(Be),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Fe={init:function(){this.setColour(Be),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}},ye={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_KEYS),this.setTooltip(a_.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},fe={init:function(){this.setColour(Be),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)}},be={init:function(){this.setColour(Be),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)}},xe={init:function(){this.setColour(Be),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)}},ve={init:function(){this.setColour(Be),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)}},Xe={init:function(){this.setColour(Be),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)}},Ve={init:function(){this.setColour(Be),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)}},ke={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_ITEMS),this.setTooltip(a_.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},we={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_VALUES),this.setTooltip(a_.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},We={init:function(){this.setColour(Be),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LENGTH),this.setTooltip(a_.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Ke={init:function(){this.setColour(Be),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)}},ze={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(Be),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")}},Ze={init:function(){this.setColour(Be),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)}},Qe={init:function(){this.setColour(Be),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)}},Je={init:function(){this.setColour(Be),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")}},qe={init:function(){this.setColour(Be),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},je={init:function(){this.setColour(Be),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)}},$e={init:function(){this.setColour(Be),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)}},_i=210,ti={init:function(){var _=a_.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(_i),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]}},ei={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(_i),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)}},ii={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(_i),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}[_]}))}},Ti={init:function(){this.setColour(_i),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(a_.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(a_.Msg.LOGIC_NEGATE_TOOLTIP)}},Ei={init:function(){var _=[[a_.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[a_.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(_i),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new a_.FieldDropdown(_),"BOOL"),this.setTooltip(a_.Msg.LOGIC_BOOLEAN_TOOLTIP)}},ni={init:function(){this.setColour(_i),this.setOutput(!0),this.appendDummyInput().appendField(a_.Msg.LOGIC_NULL),this.setTooltip(a_.Msg.LOGIC_NULL_TOOLTIP)}},oi={init:function(){this.setColour(_i),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)}},si={init:function(){var _=[[a_.Msg.TEXT_APPEND_TO,"in"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(_i),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)}},Oi={init:function(){var _=[[a_.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(_i),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)}},Ii={init:function(){this.setColour(_i),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},ai={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)}},pi={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")}},Mi={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}))}},Ri={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)}},ri={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)}},Si={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}))}},li={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)}},Ai={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)}},Pi={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)}},Ni={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)}},di={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 hi={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)}},ui={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)}},mi={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)}},Ci={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}))}},ci={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)}},Hi={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]}))}},Di={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)}},Yi={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)}},Ui={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]}))}},Bi={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)}},gi={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()}},Gi={};Gi.NAME_TYPE=a_.PROCEDURE_CATEGORY_NAME,Gi.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)}},DT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(a_.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},YT={init:function(){this.setColour(hT),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)}},UT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(new a_.FieldTextInput("property"),"KEY").appendField(":").appendField(new a_.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gT={init:function(){this.setColour(hT),this.appendDummyInput().appendField(a_.Msg.HTML_TEXT).appendField(new a_.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},GT=160,FT={init:function(){this.setColour(GT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new a_.FieldTable(""),"TEXT")}},yT={init:function(){this.setColour(GT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT")}},fT={init:function(){this.setColour(GT),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},bT={init:function(){this.setColour(GT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},xT={init:function(){this.setColour(GT),this.appendDummyInput().appendTitle("Comment:").appendTitle(new a_.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},vT={init:function(){this.setColour(GT),this.appendValueInput("VALUE").appendField(a_.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},XT={init:function(){this.setColour(GT),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 No=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]},ho=function(_,t){var e=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",e)||"False"),e]},uo=function(_,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},mo=function(_,t){return["None",t.ORDER_ATOMIC]},Co=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]},co=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]},Ho=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]},Do=function(_,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},Yo=function(_,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},Uo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Bo=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},go=function(_,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},Go=function(_,t){var e=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+e+")\n"},Fo=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},yo=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]},fo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},bo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},xo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},vo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},Xo=function(_,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Vo=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},ko=function(_,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},wo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},Wo=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"},Ko=function(_,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},zo=function(_,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},Zo=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},Qo=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"},Jo=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]},qo=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"},jo=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"},$o=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]},gs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+e+"\n"},Gs=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},Fs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+e+"\n"},ys=function(_,t){var e=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),T=this.getFieldValue("LEVEL");return"<"+T+" "+i+" >\n"+e+"\n"},fs=function(_,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},bs=function(_,t){return'"},xs=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},vs=function(){return this.getFieldValue("TEXT")+"\n"},Xs=function(_){return _.getFieldValue("TEXT")+"\n"},Vs=function(_,t){return[_.getFieldValue("TEXT"),t.ORDER_ATOMIC]},ks=function(_,t){return(t.valueToCode(_,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},ws=function(){return""},Ws=function(_,t){return["type("+(t.valueToCode(_,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},Ks=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"},zs=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]},Zs=new a_.Generator("Python");Zs.INDENT=" ",Zs.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"),Zs.ORDER_ATOMIC=0,Zs.ORDER_COLLECTION=1,Zs.ORDER_STRING_CONVERSION=1,Zs.ORDER_UNARY_POSTFIX=1,Zs.ORDER_UNARY_PREFIX=2,Zs.ORDER_MEMBER=2.1,Zs.ORDER_FUNCTION_CALL=2.2,Zs.ORDER_EXPONENTIATION=3,Zs.ORDER_UNARY_SIGN=4,Zs.ORDER_BITWISE_NOT=4,Zs.ORDER_MULTIPLICATIVE=5,Zs.ORDER_ADDITIVE=6,Zs.ORDER_BITWISE_SHIFT=7,Zs.ORDER_BITWISE_AND=8,Zs.ORDER_BITWISE_XOR=9,Zs.ORDER_BITWISE_OR=10,Zs.ORDER_RELATIONAL=11,Zs.ORDER_EQUALITY=11,Zs.ORDER_LOGICAL_NOT=12,Zs.ORDER_LOGICAL_AND=13,Zs.ORDER_LOGICAL_OR=14,Zs.ORDER_ASSIGNMENT=14,Zs.ORDER_CONDITIONAL=15,Zs.ORDER_LAMBDA=16,Zs.ORDER_NONE=99,Zs.ORDER_OVERRIDES=[[Zs.ORDER_FUNCTION_CALL,Zs.ORDER_MEMBER],[Zs.ORDER_FUNCTION_CALL,Zs.ORDER_FUNCTION_CALL],[Zs.ORDER_MEMBER,Zs.ORDER_MEMBER],[Zs.ORDER_MEMBER,Zs.ORDER_FUNCTION_CALL]],Zs.init=function(){Zs.PASS=this.INDENT+"pass\n",Zs.definitions_=Object.create(null),Zs.functionNames_=Object.create(null),Zs.setups_=Object.create(null),Zs.loops_=Object.create(null),Zs.codeEnd_=Object.create(null),Zs.variableDB_?Zs.variableDB_.reset():Zs.variableDB_=new r_(Zs.RESERVED_WORDS_)},Zs.finish=function(_){""!==_&&(_=(_=_.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[];for(var e in Zs.definitions_)t.push(Zs.definitions_[e]);var i=[];for(var e in Zs.functions_)i.push(Zs.functions_[e]);var T=[];for(var e in Zs.setups_)T.push(Zs.setups_[e]);0!==T.length&&T.push("\n");var E=[];for(var e in Zs.loops_)E.push(Zs.loops_[e]);var n=[];for(var e in Zs.codeEnd_)n.push(Zs.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")},Zs.scrubNakedValue=function(_){return _+"\n"},Zs.quote_=function(_){var t="'";return-1!==(_=_.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===_.indexOf('"')?t='"':_=_.replace(/'/g,"\\'")),t+_+t},Zs.multiline_quote_=function(_){return"'''"+(_=_.replace(/'''/g,"\\'\\'\\'"))+"'''"},Zs.scrub_=function(_,t,e){var i="";if(!_.outputConnection||!_.outputConnection.targetConnection){(E=_.getCommentText())&&(E=a_.utils.string.wrap(E,Zs.COMMENT_WRAP-3),i+=Zs.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=Zs.allNestedComments(n))&&(i+=Zs.prefixLines(E,"# "))}}var o=_.nextConnection&&_.nextConnection.targetBlock();return i+t+(e?"":Zs.blockToCode(o))},Zs.getAdjustedInt=function(_,t,e,i){var T=e||0;_.workspace.options.oneBasedIndex&&T--;var E=_.workspace.options.oneBasedIndex?"1":"0",n=T?Zs.ORDER_ADDITIVE:Zs.ORDER_NONE,o=Zs.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 Qs="#74A55B",Js={init:function(){this.setColour(Qs),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)}},qs={init:function(){this.setColour(Qs),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)}},js={init:function(){this.setColour(Qs),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)}},$s={init:function(){this.setColour(Qs),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)}},_O={init:function(){this.setColour(Qs),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)}},tO={init:function(){this.setColour(Qs),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)}},eO={init:function(){this.setColour(Qs),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)}},iO={init:function(){this.setColour(Qs),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TO={init:function(){this.setColour(Qs),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)}},EO={init:function(){this.setColour(Qs),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)}},nO={init:function(){this.setColour(Qs),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)}},oO={init:function(){this.setColour(Qs),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)}},sO={init:function(){this.setColour(Qs),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)}},OO={init:function(){this.setColour(Qs),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)}},IO={init:function(){this.setColour(Qs),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(Qs),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(Qs),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)}},MO={init:function(){this.setColour(Qs),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)}},LO={init:function(){this.setColour(Qs),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)}},RO={init:function(){this.setColour(Qs),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通信")}},rO={init:function(){this.setColour(Qs),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)")}},SO={init:function(){this.setColour(Qs),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)")}},lO={init:function(){this.setColour(Qs),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)}},AO={init:function(){this.setColour(Qs),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)}},PO={init:function(){this.setColour(Qs),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)}},NO={init:function(){this.setColour(Qs),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)}},dO={init:function(){this.setColour(Qs),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")}},hO={init:function(){this.setColour(Qs),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)}},uO={init:function(){this.setColour(Qs),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)}},mO={init:function(){this.setColour(Qs),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)}},CO={init:function(){this.setColour(Qs),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)}},cO={init:function(){this.setColour(Qs),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},HO={init:function(){this.setColour(Qs),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)}},DO={init:function(){this.setColour(Qs),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)}},YO={init:function(){this.setColour(Qs),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)}},UO={init:function(){this.setColour(Qs),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)}},BO={init:function(){this.setColour(Qs),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)}},gO={init:function(){this.setColour(Qs),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)}},GO={init:function(){this.setColour(Qs),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)}},FO={init:function(){this.setColour(Qs),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)}},yO={init:function(){this.setColour(Qs),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)}},fO={init:function(){this.setColour(Qs),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)}},bO={init:function(){this.setColour(Qs),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)}},xO={init:function(){this.setColour(Qs),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)}},vO={init:function(){this.setColour(Qs),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)}},XO={init:function(){this.setColour(Qs),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)}},VO="#6C9858",kO={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},wO={init:function(){this.setColour(VO),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)}},WO={init:function(){this.setColour(VO),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)}},KO={init:function(){this.setColour(VO),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)}},zO={init:function(){this.setColour(VO),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)}},ZO={init:function(){this.setColour(VO),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%)")}},QO={init:function(){this.setColour(VO),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_OFF,"0"],[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()}},JO={init:function(){this.setColour(VO),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)}},qO={init:function(){this.setColour(VO),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)}},jO={init:function(){this.setColour(VO),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)}},$O={init:function(){this.setColour(VO),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)")}},_I={init:function(){this.setColour(VO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},tI={init:function(){this.setColour(VO),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)}}},eI={init:function(){this.setColour(VO),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)}},iI={init:function(){this.setColour(VO),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("")}},TI={init:function(){this.setColour(VO),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("")}},EI={init:function(){this.setColour(VO),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)}},nI={init:function(){this.setColour(VO),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)}}},oI={init:function(){this.setColour(VO),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)}},sI={init:function(){this.setColour(VO),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("")}},OI={init:function(){this.setColour(VO),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)}},II={init:function(){this.setColour(VO),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(VO),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(VO),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)}},MI={init:function(){this.setColour(VO),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)}},LI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RI={init:function(){this.setColour(VO),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)}},rI={init:function(){this.setColour(VO),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)}},SI={init:function(){this.setColour(VO),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)}},lI={init:function(){this.setColour(VO),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("")}},AI={init:function(){this.setColour(VO),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)}},PI={init:function(){this.setColour(VO),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)}},NI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},dI={init:function(){this.setColour(VO),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)}},hI={init:function(){this.setColour(VO),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)}},uI={init:function(){this.setColour(VO),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)}},mI={init:function(){this.setColour(VO),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)}},CI={init:function(){this.setColour(VO),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)}},cI={init:function(){this.setColour(VO),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)}},HI={init:function(){this.setColour(VO),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)}},DI={init:function(){this.setColour(VO),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)}},YI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},UI={init:function(){this.setColour(VO),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)}},BI={init:function(){this.setColour(VO),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)}},gI={init:function(){this.setColour(VO),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)}},GI={init:function(){this.setColour(VO),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)}},FI={init:function(){this.setColour(VO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yI={init:function(){this.setColour(VO),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)}},fI={init:function(){this.setColour(VO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bI={init:function(){this.setColour(VO),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()}},xI={init:function(){this.setColour(VO),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)}},vI={init:function(){this.setColour(VO),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)}},XI="#90A244",VI={init:function(){this.setColour(XI),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+"MixGo AI"+a_.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},kI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_QR_CODE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},wI={init:function(){this.setColour(XI),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_QR_CODE+a_.Msg.MIXPY_OBJECT,"qrcode"],[a_.Msg.MIXLY_BAR_CODE+a_.Msg.MIXPY_OBJECT,"barcode"],[a_.Msg.MIXLY_TAG+a_.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},WI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},KI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField(a_.Msg.SOFT_RESET+a_.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},zI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(a_.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},ZI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_BAR_CODE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},QI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},JI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TAG+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.blockpy_turtle_rotate+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},qI={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},jI={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LINE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LINE_ANGLE,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},$I={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},_a={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_CIRCLE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ta={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},ea={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_RECT+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},ia={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ta={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["RGB"+a_.Msg.HTML_COLOUR,"[0]"],["LAB"+a_.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},Ea={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},na={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_COLOR_CHASE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},oa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+a_.Msg.MIXLY_COLOR_LAB).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},sa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_OBJECT_LIST).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+a_.Msg.MIXLY_MODEL_NAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_TRAIN_TIME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},Oa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_OBJECT_LIST).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MODEL_NAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Ia={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LOCAL_CLASS+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},aa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXPY_AI_AUDIO_TIME).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},pa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MP3_VOL).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ma={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ANCHOR).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MODEL_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},La={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_YOLO_RECOGNIZE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Ra={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setAlign(a_.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},ra={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LICENSEPLATE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},Sa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},la={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_FACE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Aa={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Pa={init:function(){this.setColour(XI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_20OBJECTS+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Na={init:function(){this.setColour(XI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},da={init:function(){this.setColour(205),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_AipSpeech_asr,"ASR"],[a_.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ha={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_AI_UNIT).appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(a_.Msg.OLED_STRING).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},ua={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_AipSpeech_asr).appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(a_.Msg.MIXPY_AI_AUDIO_TIME).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LANGUAGE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[a_.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[a_.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},ma="#2FAD7A",Ca={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},ca={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Ha={init:function(){this.jsonInit({inputsInline:!0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},Da={init:function(){this.jsonInit({inputsInline:!0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},Ya={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Ua={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Ba={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},ga={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Ga={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Fa={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},ya={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},fa={init:function(){this.jsonInit({message0:a_.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[a_.Msg.MIXLY_PYTHON_PERIODIC,"False"],[a_.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},ba={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},xa={init:function(){this.jsonInit({inputsInline:!0,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},va={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:ma,helpUrl:a_.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Xa=140,Va={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},ka={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},wa={init:function(){this.setColour(Xa),this.appendValueInput("SUB").appendField("I2C "+a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_INIT)}},Wa={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Ka={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},za={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_I2C_SCAN1+a_.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_SCAN)}},Za={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},Qa={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_SET)}},Ja={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_SET+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},qa={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READ)}},ja={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.LANG_MATH_BYTE+" "+a_.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},$a={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(a_.Msg.MIXLY_SERIAL_READ+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READINTO)}},_p={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(a_.Msg.MIXLY_SERIAL_READ+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},tp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_WRITE)}},ep={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(a_.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},ip={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},Tp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_READ+a_.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Ep={init:function(){this.setColour(Xa),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},np={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+a_.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(a_.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_INIT)}},op={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_SCAN)}},sp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_READ)}},Op={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_WRITE).appendField(new a_.FieldDropdown([[a_.Msg.LANG_MATH_STRING,"write"],[a_.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_WRITE)}},Ip={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(a_.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_SELECT)}},ap={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_RESET)}},pp={init:function(){this.setColour(Xa),this.appendValueInput("PIN").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_INPUT1,"8"],[a_.Msg.MIXLY_IR_INPUT2,"16"],[a_.Msg.MIXLY_IR_INPUT3,"0"],[a_.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Mp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_CMD_CODE,"0"],[a_.Msg.MIXLY_IR_ADDR_CODE,"1"],[a_.Msg.MIXLY_IR_RAW_CODE,"2"],[a_.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Lp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN).appendField(new a_.FieldDropdown([[a_.Msg.MILY_PAUSE,"True"],[a_.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},rp={init:function(){this.setColour(Xa),this.appendValueInput("time").appendField(a_.Msg.MIXlY_RECV_FUN).appendField(a_.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(a_.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sp={init:function(){this.setColour(Xa),this.appendValueInput("PIN").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_IR_SEND).appendField(a_.Msg.MIXLY_PIN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_SEND_samsung1,"False"],[a_.Msg.MIXLY_IR_SEND_samsung2,"True"],[a_.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(a_.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(a_.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(a_.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},Ap={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_IR_PULSE).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(a_.Msg.MIXLY_IR_RAW_CODE).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Np={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},dp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField(a_.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catEthernet_init+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+a_.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").appendField(a_.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catEthernet_init+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+a_.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},up={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_SCAN+a_.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},mp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Cp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_TEXT_JOIN+a_.Msg.MSG.catBLE).appendField(new a_.FieldDropdown([[a_.Msg.HTML_NAME,"name"],[a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catBLE+a_.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(a_.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catBLE+a_.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},Yp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Up={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Bp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+a_.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(a_.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TX_POWER).appendField(new a_.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+a_.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(a_.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},Fp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},yp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},fp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new a_.FieldDropdown([["("+a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+a_.Msg.OLED_STRING+")",""],[a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[a_.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},bp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},xp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Xp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_MP_ESPNOW_RADIO+a_.Msg.MIXLY_TX_POWER).appendField(new a_.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},kp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},Wp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Kp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},zp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Zp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new a_.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Qp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Jp={init:function(){this.setColour(Xa),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new a_.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},qp={init:function(){this.setColour(Xa),this.appendValueInput("SUB").appendField("Lora"+a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(a_.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(a_.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(a_.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(a_.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new a_.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_LORA_INIT_TOOLTIP)}},jp={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_PACKAGE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[a_.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},$p={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},_M={init:function(){this.setColour(Xa),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},tM={init:function(){this.setColour(Xa),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")}},eM={init:function(){this.appendValueInput("VAL");var _=[[a_.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(Xa),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}[_]}))}},iM={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Xa),this.appendDummyInput("").appendField(a_.Msg.blockpy_CONDUCT).appendField(new a_.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},TM=wa,EM=Wa,nM=Ka,oM=za,sM=Za,OM=Qa,IM=Ja,aM=qa,pM=ja,MM=$a,LM=_p,RM=tp,rM=ep,SM=ip,lM=Tp,AM=120;({init:function(){this.setColour(AM),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(a_.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new a_.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(AM);var _=new a_.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(_,"FLOW").appendField(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){_=!0;break}t=t.getSurroundParent()}while(t);_?this.setWarningText(null):this.setWarningText(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const PM="5BA5A5",NM={init:function(){this.setColour(PM),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},hM={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},uM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},CM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HM={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},DM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},YM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},UM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},BM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},gM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},GM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new a_.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},FM={init:function(){var _=[[a_.Msg.MICROBIT_DISPLAY_UNION,"add"],[a_.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(a_.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{"+":a_.Msg.MIXLY_MICROBIT_image_add,"-":a_.Msg.MIXLY_MICROBIT_image_reduce}[_]}))}},yM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PM),this.appendValueInput("A").setCheck("esp32_image").appendField(a_.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},fM={init:function(){this.setColour(PM),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.appendValueInput("row").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},bM={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.OLEDDISPLAY+a_.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(PM),this.setTooltip(a_.Msg.MIXLY_DF_LCD+a_.Msg.OLEDDISPLAY+a_.Msg.MIXLY_MICROBIT_TYPE_STRING)}},xM={init:function(){var _=[[a_.Msg.MIXLY_HEIGHT,"height"],[a_.Msg.MIXLY_WIDTH,"width"]];this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_MICROBIT_IMAGE+{height:a_.Msg.MIXLY_HEIGHT,width:a_.Msg.MIXLY_WIDTH}[_]}))}},vM={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RECT).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_OLED_RECT)}},XM={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_DISPLAY_DRAW).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_DISPLAY_RLINE,"hline"],[a_.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE)}},VM={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE_ARBIT)}},kM={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(a_.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},wM={init:function(){this.setColour(PM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},WM={init:function(){this.setColour(PM),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B)}},KM={init:function(){this.setColour(PM),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_ON,"ON"],[a_.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},zM={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={0:a_.Msg.MIXLY_LCD_STAT_CLEAR,1:a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return a_.Msg.MIXLY_DF_LCD+e[t]}))}},ZM={init:function(){this.setColour(PM),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new a_.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},QM={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},JM={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_DISPLAY_DRAW+a_.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_DISPLAY_DRAW+a_.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},qM={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(a_.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},jM={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(a_.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(a_.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(a_.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(a_.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.OLED_SHOW_BMP_TOOLTIP)}},$M={init:function(){this.setColour(PM),this.appendValueInput("VAR").appendField(a_.Msg.OLED),this.appendDummyInput("").appendField(a_.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(a_.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(a_.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.OLED_DRAW_PIXE_TOOLTIP)}},_L={init:function(){this.setColour(PM),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[t]}))}},tL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ON,"on"],[a_.Msg.MIXLY_OFF,"off"],[a_.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},eL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},iL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},TL={init:function(){this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},EL={init:function(){this.setColour(PM),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+a_.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(a_.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.blockpy_turtle_rotate).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_NO,"0"],[a_.Msg.ANTI_CLOCKWISE+"90°","1"],[a_.Msg.ANTI_CLOCKWISE+"180°","2"],[a_.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},nL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},oL={init:function(){this.setColour(PM);let _=new a_.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(_,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},sL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},OL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},IL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catTFT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={0:a_.Msg.MIXLY_LCD_STAT_CLEAR,1:a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return a_.Msg.MIXLY_DF_LCD+e[t]}))}},pL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE_ARBIT)}},ML={init:function(){this.setColour(PM),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(a_.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[t]}))}},LL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.array2_rows),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},RL={init:function(){this.setColour(PM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_SERIAL_PRINT+a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catLCD),this.appendDummyInput().appendField(a_.Msg.TFT_Brightness).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[a_.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={1:a_.Msg.MIXLY_MICROBIT_Turn_on_display,0:a_.Msg.MIXLY_MICROBIT_Turn_off_display};return a_.Msg.MSG.catLCD+a_.Msg.TFT_Brightness+e[t]}))}},SL={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catLCD),this.setColour(PM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},lL={init:function(){this.setColour(PM),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(a_.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[t]}))}},AL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},PL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},NL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},dL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},hL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},mL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cL={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},HL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},DL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},YL={init:function(){this.setColour(PM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},UL={init:function(){this.jsonInit({colour:PM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},BL={init:function(){this.jsonInit({colour:PM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},gL={init:function(){this.jsonInit({colour:PM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.mpython_display_hline_1,"1"],[a_.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},GL="#569A98",FL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==p_.Boards.getSelectedBoardKey()&&this.setTooltip(a_.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},yL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vL={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XL={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<12;_++){let t=this.appendDummyInput();for(let e=0;e<32;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},VL={init:function(){this.jsonInit({colour:GL,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:a_.Msg.MIXLY_MICROBIT_Built_in_image1,message0:a_.Msg.MIXLY_MICROBIT_Built_in_image})}},kL={init:function(){this.jsonInit({colour:GL,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:a_.Msg.MIXLY_MICROBIT_Built_in_image1,message0:a_.Msg.MIXLY_MICROBIT_Built_in_image})}},wL={init:function(){var _=[[a_.Msg.MICROBIT_DISPLAY_UNION,"add"],[a_.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(GL),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(a_.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{"+":a_.Msg.MIXLY_MICROBIT_image_add,"-":a_.Msg.MIXLY_MICROBIT_image_reduce}[_]}))}},WL={init:function(){this.setColour(GL),this.appendValueInput("A").setCheck("esp32_image").appendField(a_.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},KL={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(GL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{shift_up:a_.Msg.MIXLY_UP,shift_down:a_.Msg.MIXLY_DOWN,shift_left:a_.Msg.MIXLY_LEFT,shift_right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},zL={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},ZL={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},QL={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},JL={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},qL={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},jL={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<5;_++){let t=this.appendDummyInput();for(let e=0;e<8;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},$L={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<8;_++){let t=this.appendDummyInput();for(let e=0;e<12;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},_R={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<8;_++){let t=this.appendDummyInput();for(let e=0;e<16;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0,"esp32_image"),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},tR={init:function(){var _=[["4x5"+a_.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+a_.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+a_.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.OLED_SET_FONT).appendField(new a_.FieldDropdown(_),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},iR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},TR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},ER={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},oR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},OR={init:function(){this.jsonInit({colour:GL,args0:[{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},IR={init:function(){this.jsonInit({colour:GL,args0:[{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aR={init:function(){this.jsonInit({colour:GL,args0:[{name:"state",options:[[a_.Msg.mpython_display_hline_1,"1"],[a_.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},pR={init:function(){this.jsonInit({colour:GL,args0:[{type:"field_label",name:"size_image",text:a_.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},MR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<5;_++){let t=this.appendDummyInput();for(let e=0;e<5;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},LR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},RR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},rR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},SR={init:function(){var _=[[a_.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[a_.Msg.CLOCKWISE+"90"+a_.Msg.blockpy_setheading_degree,"1"],[a_.Msg.CLOCKWISE+"180"+a_.Msg.blockpy_setheading_degree,"2"],[a_.Msg.CLOCKWISE+"270"+a_.Msg.blockpy_setheading_degree,"3"]];this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new a_.FieldDropdown(_),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<12;_++){let t=this.appendDummyInput();for(let e=0;e<12;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(GL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},AR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},PR={init:function(){this.setColour(GL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},NR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},dR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},uR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mR={init:function(){this.setColour(GL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CR={init:function(){this.jsonInit({colour:GL,args0:[{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},cR={init:function(){this.jsonInit({colour:GL,args0:[{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},HR={init:function(){this.jsonInit({colour:GL,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},DR={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(GL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},YR={init:function(){this.setColour(GL),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},UR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_LCD_SETCOLOR).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},BR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},gR={init:function(){this.setColour(GL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},GR={init:function(){this.setColour(GL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},FR={init:function(){this.setColour(GL),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yR={init:function(){this.setColour(GL),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(a_.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(a_.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(a_.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(a_.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vR={init:function(){this.setColour(GL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XR={init:function(){this.jsonInit({colour:GL,args0:[{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,message0:a_.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},VR="#777777",kR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField("from ").appendField(new a_.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new a_.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField("import ").appendField(new a_.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WR={init:function(){this.setColour(VR),this.appendDummyInput("").appendField(new a_.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var _=document.createElement("mutation");_.setAttribute("items",this.itemCount_);for(var t=0;tt?_[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")}},Br={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},gr={init:function(){this.setColour(mr),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}},Gr={init:function(){this.setColour(mr),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}},Fr={init:function(){this.setColour(mr),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)}},yr={init:function(){this.setColour(mr),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)}},fr={init:function(){this.setColour(mr),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)}},br={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Vr={init:function(){this.setColour(mr),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},kr={init:function(){this.setColour(mr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},wr={init:function(){this.setColour(mr),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Wr={init:function(){this.setColour(mr),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)}},Kr={init:function(){this.setColour(mr),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)}},zr={init:function(){this.setColour(mr),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)}},Zr={init:function(){this.setColour(mr),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)}},Qr={init:function(){this.VISITOR_ID=p_.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(mr),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")}},Jr={init:function(){this.setColour(mr),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},qr={init:function(){this.setColour(mr),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)}},jr={init:function(){this.setColour(mr),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)}},$r={init:function(){this.setColour(mr),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)}},_S={init:function(){this.setColour(mr),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)}},tS=Cr,eS=cr,iS=Hr,TS=Dr,ES=Ur,nS=225,oS={init:function(){this.setColour(nS),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)}},sS={init:function(){this.setColour(nS),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}))}},OS={init:function(){this.setColour(nS),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)}},IS={init:function(){this.setColour(nS),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}))}},aS={init:function(){this.setColour(nS),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)}},pS={init:function(){this.setColour(nS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},MS={init:function(){this.setColour(nS),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]}))}},LS={init:function(){this.setColour(nS),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)}},RS={init:function(){this.setColour(nS),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)}},rS={init:function(){this.setColour(nS),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)}},SS={init:function(){this.setColour(nS),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)}},lS={init:function(){this.setColour(nS),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]}))}},AS={init:function(){this.setColour(nS),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)}},PS={init:function(){this.setColour(nS),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)}},NS={init:function(){this.setColour(nS),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)}},dS={init:function(){this.setColour(nS),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)}},hS={init:function(){this.setColour(nS),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)}},uS={init:function(){this.setColour(nS),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)}},mS={init:function(){this.setColour(nS),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)}},CS={init:function(){this.setColour(nS),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)}},cS={init:function(){this.setColour(nS),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)}},HS={init:function(){this.setColour(nS),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")}},DS={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(nS),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}[_]}))}},YS={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(nS),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]}))}},US={init:function(){this.setColour(nS),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)}},BS={init:function(){this.setColour(nS),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)}},gS=100,GS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),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)}},FS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},yS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),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)}},fS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),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)}},bS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),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)}},xS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),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)}},vS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),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)}},XS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(gS),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)}},VS="#A58C5B",kS={init:function(){this.setColour(VS),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)}},wS={init:function(){this.setColour(VS),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)}},WS={init:function(){this.setColour(VS),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)}},KS={init:function(){this.setColour(VS),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)}},zS={init:function(){this.setColour(VS),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}))}},ZS={init:function(){this.setColour(VS),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}))}},QS={init:function(){this.setColour(VS),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)}},JS={init:function(){var _=[[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(VS),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}[_]}))}},qS={init:function(){this.setColour(VS),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)}},jS={init:function(){this.setColour(VS),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)}},$S={init:function(){this.setColour(VS),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}))}},_l={init:function(){this.setColour(VS),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]}))}},tl={init:function(){this.setColour(VS),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]}))}},el={init:function(){this.setColour(VS),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)}},il={init:function(){this.setColour(VS),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)}},Tl={init:function(){this.setColour(VS),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"],["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")}},El={init:function(){this.setColour(VS),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)}},nl={init:function(){this.setColour(VS),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)}},ol={init:function(){this.setColour(VS),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)}},sl={init:function(){this.setColour(VS),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)}},Ol={init:function(){this.setColour(VS),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)}},Il={init:function(){this.setColour(VS),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)}},al={init:function(){this.setColour(VS),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]}))}},pl={init:function(){this.setColour(VS),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]}))}},Ml={init:function(){this.setColour(VS),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)}},Ll={init:function(){this.setColour(VS),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)}},Rl={init:function(){this.setColour(VS),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}))}},rl={init:function(){this.setColour(VS),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}))}},Sl={init:function(){this.setColour(VS),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}))}},ll={init:function(){this.setColour(VS),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}))}},Al={init:function(){this.setColour(VS),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)}},Pl={init:function(){this.setColour(VS),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)}},Nl={init:function(){this.setColour(VS),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]}))}},dl={init:function(){this.setColour(VS),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)}},hl={init:function(){this.setColour(VS),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")}},ul={init:function(){this.setColour(VS),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)}},ml={init:function(){this.setColour(VS),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)}},Cl={init:function(){this.setColour(VS),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)}},cl={init:function(){this.setColour(VS),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)}},Hl={init:function(){this.setColour(VS),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)}},Dl={init:function(){this.setColour(VS),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)}},Yl={init:function(){this.setColour(VS),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)")}},Ul={init:function(){this.setColour(VS),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bl={init:function(){this.setColour(VS),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)}},gl={init:function(){this.setColour(VS),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},km=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},wm=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"},Wm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Km=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"},zm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Zm=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"},Qm=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},Jm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},qm=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]},jm=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"},$m=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},_C=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},tC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("image"),t.ORDER_ATOMIC]},eC=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]},iC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},TC=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"},EC=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"},nC=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"},oC=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"}},sC=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"},OC=function(_,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},IC=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]},aC=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"},pC=function(_,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},MC=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"}},LC=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"}},RC=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"},rC=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"},SC=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},lC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},AC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},PC=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"},NC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},dC=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"},hC=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},uC=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]},mC=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},CC=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},cC=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},HC=function(_,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},DC=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},YC=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"},UC=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"},BC=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"},gC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},GC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},FC=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"},yC=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"},fC=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"},bC=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"},xC=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"},vC=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"},XC=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"},VC=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"},kC=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"},wC=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"},WC=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"},KC=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]},zC=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"},ZC=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"},QC=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"},JC=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"},qC=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"},jC=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")},$C=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},_c=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"},tc=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},ec=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"},ic=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]},Tc=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]},Ec=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},fc=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},bc=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"},xc=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},vc=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"},Xc=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},Vc=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},kc=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},wc=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},Wc=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"},Kc=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"},zc=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]},Zc=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},Qc=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]},Jc=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"},qc=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},jc=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},$c=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"},_H=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"},tH=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"},eH=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},iH=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},TH=function(_,t){var e=this.getFieldValue("path"),i=this.getFieldValue("module");return t.definitions_["import_"+e+"_"+i]="from "+e+" import "+i,""},EH=function(_,t){var e=this.getFieldValue("module");return t.definitions_["import_"+e]="import "+e,""},nH=function(_,t){for(var e=this.getFieldValue("NAME"),i=new Array(this.itemCount_),T=0;T {\n"+t.statementToCode(this,"do")+"})\n"},eg=function(){return"control.reset()\n"},ig=function(_,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},Tg=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"},Eg=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"},ng=function(_,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},og=function(_,t){return["control.eventValue()",t.ORDER_ATOMIC]},sg=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Og=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Ig=function(_,t){return["control.deviceName()",t.ORDER_ATOMIC]},ag=function(_,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},pg=function(_,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},Mg=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]}},Lg=function(){return"while True:\n pass\n"},Rg=function(_,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},rg=function(_,t){return t.definitions_.import_os="import os","os.uname()"},Sg=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"}},lg=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"}},Ag=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"},Pg=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"},Ng=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]},dg=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",e+" = machine.Timer(0)\n"},hg=function(_,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},ug=function(_,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},mg=function(_,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},Cg=function(_,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},cg=dg,Hg=Pg,Dg=Ng,Yg=Sg,Ug=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]},Bg=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]},gg=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]},Gg={};Gg["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"]]},Gg["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"]]},Gg["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"]]},Gg.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 Fg=Gg,yg=230,fg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital),"PIN"),this.setOutput(!0)}},bg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},xg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},vg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Xg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},Vg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},kg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},wg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Wg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Kg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},zg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Zg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Qg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Jg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},qg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},jg={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},$g={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},_G={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog),"PIN"),this.setOutput(!0)}},tG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},eG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac),"PIN"),this.setOutput(!0)}},iG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},TG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},EG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm),"PIN"),this.setOutput(!0)}},nG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},oG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},sG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch),"PIN"),this.setOutput(!0)}},OG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},IG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},aG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},pG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.imglist),"PIN"),this.setOutput(!0)}},MG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist),"PIN"),this.setOutput(!0)}},LG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},RG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},rG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},SG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},lG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},AG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},PG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},NG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},dG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},hG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},uG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},mG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.one_more),"PIN"),this.setOutput(!0)}},CG={init:function(){this.setColour(yg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},cG=function(_,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},HG=cG,DG=cG,YG=cG,UG=cG,BG=cG,gG=cG,GG=cG,FG=cG,yG=cG,fG=cG,bG=cG,xG=cG,vG=cG,XG=cG,VG=cG,kG=cG,wG=cG,WG=cG,KG=cG,zG=cG,ZG=cG,QG=cG,JG=cG,qG=cG,jG=cG,$G=cG,_F=cG,tF=cG,eF=cG,iF=cG,TF=cG,EF=cG,nF=cG,oF=cG,sF={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”的变量。"};sF.PROCEDURES_DEFRETURN_TITLE=sF.PROCEDURES_DEFNORETURN_TITLE,sF.CONTROLS_IF_IF_TITLE_IF=sF.CONTROLS_IF_MSG_IF,sF.CONTROLS_WHILEUNTIL_INPUT_DO=sF.CONTROLS_REPEAT_INPUT_DO,sF.CONTROLS_IF_MSG_THEN=sF.CONTROLS_REPEAT_INPUT_DO,sF.TRY_EXCEPT_TRY="try",sF.CONTROLS_IF_ELSE_TITLE_ELSE=sF.CONTROLS_IF_MSG_ELSE,sF.CONTROLS_IF_ELSE_TITLE_ELSE=sF.CONTROLS_IF_MSG_ELSE,sF.PROCEDURES_DEFRETURN_PROCEDURE=sF.PROCEDURES_DEFNORETURN_PROCEDURE,sF.LISTS_GET_SUBLIST_INPUT_IN_LIST=sF.LISTS_INLIST,sF.LISTS_GET_INDEX_INPUT_IN_LIST=sF.LISTS_INLIST,sF.PROCEDURES_DEFRETURN_DO=sF.PROCEDURES_DEFNORETURN_DO,sF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=sF.CONTROLS_IF_MSG_ELSEIF,sF.LISTS_GET_INDEX_HELPURL=sF.LISTS_INDEX_OF_HELPURL,sF.CONTROLS_FOREACH_INPUT_DO=sF.CONTROLS_REPEAT_INPUT_DO,sF.LISTS_SET_INDEX_INPUT_IN_LIST=sF.LISTS_INLIST,sF.CONTROLS_FOR_INPUT_DO=sF.CONTROLS_REPEAT_INPUT_DO,sF.LISTS_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.TUPLE_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.DICT_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.SET_CREATE_WITH_ITEM_TITLE=sF.VARIABLES_DEFAULT_NAME,sF.TEXT_APPEND_VARIABLE=sF.VARIABLES_DEFAULT_NAME,sF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=sF.VARIABLES_DEFAULT_NAME,sF.MATH_CHANGE_TITLE_ITEM=sF.VARIABLES_DEFAULT_NAME,sF.LISTS_INDEX_OF_INPUT_IN_LIST=sF.LISTS_INLIST,sF.PROCEDURES_DEFRETURN_COMMENT=sF.PROCEDURES_DEFNORETURN_COMMENT,sF.MPYTHON_MAIN_HELPURL="",sF.MPYTHON_MAIN_TOOLTIP="",sF.MPYTHON_MAIN_MESSAGE0="主程序",sF.MPYTHON_OPEN="开启",sF.MPYTHON_CLOSE="关闭",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",sF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",sF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",sF.MPYTHON_AI_SENSOR_ENABLE_START="开始抓取图像",sF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取图像",sF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平镜像",sF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻转",sF.MPYTHON_AI_SENSOR_SETS_CONTRAST="对比度",sF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",sF.MPYTHON_AI_SENSOR_SETS_SATURATION="饱和度",sF.MPYTHON_AI2_FACE_YOLO="人脸识别",sF.MPYTHON_AI2_CLASS_20_YOLO="20类识别",sF.MPYTHON_AI2_MNIST_NET="数字识别",sF.MPYTHON_AI2_PHOTOGRAPH_FACE_YOLO="人脸",sF.MPYTHON_AI2_PHOTOGRAPH_CLASS_20_YOLO="20类",sF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",sF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",sF.TEXT_APPEND_TEXT_HELPURL="",sF.TEXT_APPEND_TEXT_TOOLTIP="",sF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",sF.CHINA_CITY_MESSAGE0="%1 %2",sF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",sF.CHINA_CITY_CNNAME="中文简称",sF.CHINA_CITY_PINYIN="拼音",sF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",sF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",sF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",sF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",sF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天气] %1 信息 %2 地理位置 %3 API私钥 %4 %5 语言 %6 %7 温度单位 %8",sF.MPYTHON_SENIVERSE_WEATHER_API_1="天气实况",sF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天气预报",sF.MPYTHON_SENIVERSE_WEATHER_API_3="6项生活指数",sF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="摄氏度",sF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="华氏度",sF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",sF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",sF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="设定 %1 为 %2",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天气] 通用字段 %2",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天气] 天气实况 %2",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="风向角度,范围0~360\n风速,单位km/h(当unit=c时)、mph(当unit=f时)",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天气] 3天天气预报 %2 的 %3",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",sF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天气] 6项生活指数 %2",sF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名称",sF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",sF.MPYTHON_SENIVERSE_WEATHER_country="国家代码",sF.MPYTHON_SENIVERSE_WEATHER_path="行政归属",sF.MPYTHON_SENIVERSE_WEATHER_timezone="时区",sF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",sF.MPYTHON_SENIVERSE_WEATHER_last_update_date="数据更新日期",sF.MPYTHON_SENIVERSE_WEATHER_last_update="数据更新时间",sF.MPYTHON_SENIVERSE_WEATHER_object="原始字典对象",sF.MPYTHON_SENIVERSE_WEATHER_text="天气现象",sF.MPYTHON_SENIVERSE_WEATHER_code="天气现象代码",sF.MPYTHON_SENIVERSE_WEATHER_temperature="温度",sF.MPYTHON_SENIVERSE_WEATHER_today="今天",sF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",sF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="后天",sF.MPYTHON_SENIVERSE_WEATHER_date="日期",sF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天气现象",sF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天气现象代码",sF.MPYTHON_SENIVERSE_WEATHER_text_night="晚间天气现象",sF.MPYTHON_SENIVERSE_WEATHER_code_night="晚间天气现象代码",sF.MPYTHON_SENIVERSE_WEATHER_high="当天最高温度",sF.MPYTHON_SENIVERSE_WEATHER_low="当天最低温度",sF.MPYTHON_SENIVERSE_WEATHER_wind_direction="风向",sF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="风向角度",sF.MPYTHON_SENIVERSE_WEATHER_wind_speed="风速",sF.MPYTHON_SENIVERSE_WEATHER_wind_scale="风力等级",sF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗车指数",sF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指数",sF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指数",sF.MPYTHON_SENIVERSE_WEATHER_sport="运动指数",sF.MPYTHON_SENIVERSE_WEATHER_travel="旅游指数",sF.MPYTHON_SENIVERSE_WEATHER_uv="紫外线指数",sF.MPYTHON_RED="红",sF.MPYTHON_GREEN="绿",sF.MPYTHON_BLUE="蓝",sF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射频卡 读取电子钱包 数据",sF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="读取块数据,长度16字节",sF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射频卡 写入电子钱包 数据%1",sF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="写入块数据,长度16字节",sF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射频卡 给电子钱包%1 金额%2",sF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",sF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣费",sF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射频卡 获取电子钱包余额",sF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射频卡 获取序列号",sF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射频卡 初始化电子钱包",sF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射频卡 扫描",sF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",sF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",sF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超声波",sF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",sF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被触发 引脚%2",sF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",sF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模拟值 引脚%2",sF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",sF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="设置LED灯 输出%1 引脚%2",sF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循迹传感器 检测为黑 引脚%1",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打开 %1 引脚 %2",sF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="关闭 %1 引脚 %2",sF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",sF.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",sF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",sF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 %2 REC %3 PLAY %4",sF.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",sF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",sF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 %1 REC %2 PLAY %3",sF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",sF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="录音",sF.MPYTHON_BLUEBIT_IR_RECEIVE="红外探测",sF.MPYTHON_BLUEBIT_SOUND="麦克风",sF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循迹",sF.MPYTHON_BLUEBIT_VIBRATION="震动",sF.MPYTHON_BLUEBIT_RFID="射频卡",sF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指纹",sF.MPYTHON_BLUEBIT_PIR="人体感应",sF.MPYTHON_BLUEBIT_MAGNETIC="门磁开关",sF.MPYTHON_BLUEBIT_BUTTON="按键",sF.MPYTHON_BLUEBIT_RELAY="继电器",sF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位开关",sF.MPYTHON_BLUEBIT_FAN="风扇",sF.MPYTHON_BLUEBIT_LASER="激光",sF.MPYTHON_BLUEBIT_NTC_TEMP="热敏电阻",sF.MPYTHON_BLUEBIT_WATER="水位",sF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤湿度",sF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋钮电位器",sF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑电位器",sF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模拟光线",sF.MPYTHON_BLUEBIT_LM35_TEMP="LM35温度",sF.MPYTHON_BLUEBIT_SMOKE="烟雾",sF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正转",sF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反转",sF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",sF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤湿度",sF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤湿度(新)%1",sF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",sF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",sF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",sF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",sF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",sF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打开风扇 %1",sF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",sF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",sF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 关闭风扇 %1",sF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",sF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",sF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",sF.BLUE="A",sF.GREEN="B",sF.RED="C",sF.YELLOW="D",sF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",sF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",sF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",sF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",sF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打开直流电机 %1 %2 速度 %3",sF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",sF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 关闭直流电机",sF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",sF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="编码电机 模式 %1 拨码 %2 M1速度 %3 M2速度 %4",sF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",sF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止编码电机转动",sF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止编码电机转动 %1",sF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",sF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",sF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",sF.MPYTHON_BLUEBIT_TEMPERATURE="温度",sF.MPYTHON_BLUEBIT_HUMIDITY="湿度",sF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",sF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",sF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",sF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",sF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="设MIDI音量 %1",sF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",sF.MIDI_PIANO="平台钢琴",sF.MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",sF.MIDI_ELECTRICGRANDPIANO="电钢琴",sF.MIDI_HARPSICHORD="大键琴",sF.MIDI_CELESTA="钢片琴",sF.MIDI_GLOCKENSPIEL="钟琴",sF.MIDI_MUSICALBOX="音乐盒",sF.MIDI_MARIMBA="马林巴琴",sF.MIDI_XYLOPHONE="木琴",sF.MIDI_TUBULARBELL="管钟",sF.MIDI_DULCIMER="洋琴",sF.MIDI_VIBRAPHONE="颤音琴",sF.MIDI_ORGAN="音栓风琴",sF.MIDI_ACOUSTIC_GUITAR="木吉他",sF.MIDI_ELECTRIC_GUITAR="电吉他",sF.MIDI_ACOUSTIC_BASS="民谣贝斯",sF.MIDI_STRING_ENSEMBLE="弦乐合奏",sF.MIDI_VIOLIN="小提琴",sF.MIDI_TRUMPET="小号",sF.MIDI_SAX="萨克斯",sF.MIDI_STEEL_DRUMS="钢鼓",sF.MIDI_LEAD="合成音主旋律",sF.MIDI_PAD="合成音衬底",sF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",sF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="设MIDI乐器 %1",sF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",sF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",sF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音调 %2",sF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",sF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",sF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="设点阵亮度等級 %1",sF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",sF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",sF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="点阵 %1",sF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",sF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",sF.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",sF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",sF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",sF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="点阵设置生效",sF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",sF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="设MP3音量 %1",sF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",sF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",sF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚连接音乐模块的 RXI 引脚",sF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",sF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",sF.MPYTHON_PLUS_1="加1",sF.MPYTHON_MINUS_1="減1",sF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",sF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",sF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",sF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",sF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",sF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="MP3 单曲循环 %1",sF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",sF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",sF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="设扩展端口 IO %2 为 %1",sF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",sF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",sF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="扩展端口值 IO %1",sF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",sF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",sF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="设扩展端口 IO %2 为 %1",sF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",sF.MPYTHON_LCD_OBJECT_HELPURL="",sF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",sF.MPYTHON_LCD_OBJECT_TOOLTIP="",sF.MPYTHON_LCD_PRINT_HELPURL="",sF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 显示 %1",sF.MPYTHON_LCD_PRINT_TOOLTIP="",sF.MPYTHON_LCD_HOME_HELPURL="",sF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光标 回到原点",sF.MPYTHON_LCD_HOME_TOOLTIP="",sF.MPYTHON_LCD_CURSOR_HELPURL="",sF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光标 %1",sF.MPYTHON_LCD_CURSOR_TOOLTIP="",sF.MPYTHON_LCD_SET_CURSOR_HELPURL="",sF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始点 行 %2 列 %1",sF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列从0开始计数",sF.MPYTHON_LCD_CLEAR_HELPURL="",sF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",sF.MPYTHON_LCD_CLEAR_TOOLTIP="",sF.MPYTHON_LCD_CURSOR_BLINK="闪烁",sF.MPYTHON_LCD_CURSOR_NO_BLINK="不闪烁",sF.MPYTHON_LEFT_TO_RIGHT="从左向右",sF.MPYTHON_RIGHT_TO_LEFT="从右向左",sF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",sF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",sF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",sF.MPYTHON_LCD_MOVE_HELPURL="",sF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滚动一格",sF.MPYTHON_LCD_MOVE_TOOLTIP="",sF.MPYTHON_IR_TRANS_HELPURL="",sF.MPYTHON_IR_TRANS_MESSAGE0="红外发送 单字节字符串 %1 tx 引脚 %2",sF.MPYTHON_IR_TRANS_TOOLTIP="\n单字节字符串:\n'A', 'b', '1'等",sF.OUTPUT_PIN_HELPURL="",sF.OUTPUT_PIN_MESSAGE0="%1",sF.OUTPUT_PIN_TOOLTIP="",sF.INPUT_PIN_HELPURL="",sF.INPUT_PIN_MESSAGE0="%1",sF.INPUT_PIN_TOOLTIP="",sF.READ_ANALOG_PIN_HELPURL="",sF.READ_ANALOG_PIN_MESSAGE0="%1",sF.READ_ANALOG_PIN_TOOLTIP="",sF.SET_DIGITAL_HELPURL="",sF.SET_DIGITAL_MESSAGE0="%1",sF.SET_DIGITAL_TOOLTIP="",sF.SET_ANALOG_HELPURL="",sF.SET_ANALOG_MESSAGE0="%1",sF.SET_ANALOG_TOOLTIP="",sF.ALL_PIN_HELPURL="",sF.ALL_PIN_MESSAGE0="%1",sF.ALL_PIN_TOOLTIP="",sF.PWM_PIN_HELPURL="",sF.PWM_PIN_MESSAGE0="%1",sF.PWM_PIN_TOOLTIP="",sF.DH11_HUM_TEM_PIN_HELPURL="",sF.DH11_HUM_TEM_PIN_MESSAGE0="%1",sF.DH11_HUM_TEM_PIN_TOOLTIP="",sF.UART_TX_PIN_HELPURL="",sF.UART_TX_PIN_MESSAGE0="%1",sF.UART_TX_PIN_TOOLTIP="",sF.UART_RX_PIN_HELPURL="",sF.UART_RX_PIN_MESSAGE0="%1",sF.UART_RX_PIN_TOOLTIP="",sF.I2C_PIN_HELPURL="",sF.I2C_PIN_MESSAGE0="%1",sF.I2C_PIN_TOOLTIP="",sF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",sF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",sF.MQTT_COMMON_SETUP_TOOLTIP="",sF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",sF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",sF.MQTT_TENCENT_SETUP_TOOLTIP="",sF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",sF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",sF.MQTT_TENCENT_SETUPS_TOOLTIP="",sF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服务器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",sF.MQTT_SETUP_TOOLTIP="",sF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_CONNECT_MESSAGE0="连接 MQTT",sF.MQTT_CONNECT_TOOLTIP="",sF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_PUBLISH_MESSAGE0="发布 %1 至 主题 %2",sF.MQTT_PUBLISH_TOOLTIP="",sF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_REC_FROM_TOPIC_MESSAGE0="当从主题 %1 接收到 %2 时",sF.MQTT_REC_FROM_TOPIC_TOOLTIP="",sF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_RECEIVE_MESSAGE0="当从主题 %1 接收到 %2 时",sF.MQTT_RECEIVE_TOOLTIP='参数"主题"只接受变量',sF.MQTT_RECEIVED_MESSAGE0="当从主题 %1 接收到消息 时",sF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_MESSAGE_MESSAGE0="从 MQTT 收到的消息",sF.MQTT_MESSAGE_TOOLTIP="",sF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_WAIT_MSG_MESSAGE0="等待主题消息 以 %1 模式",sF.MQTT_WAIT_MSG_TOOLTIP="建议放在'一直重复'中运行",sF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",sF.MQTT_DISCONNECT_MESSAGE0="MQTT 断开连接",sF.MQTT_DISCONNECT_TOOLTIP="",sF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",sF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",sF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",sF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",sF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",sF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",sF.MPYTHON_SIOT_CONNECT_HELPURL="",sF.MPYTHON_SIOT_CONNECT_TOOLTIP="",sF.MPYTHON_SIOT_CONNECT_MESSAGE0="创建 SIoT 连接 %1 客户端ID %2 服务器 %3 用户 %4 密码 %5",sF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",sF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",sF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 连接成功 ?",sF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",sF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",sF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 订阅主题",sF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="点击左边星号 订阅 SIoT 主题",sF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 订阅 主题1",sF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主题",sF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",sF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多订阅 5 个主题",sF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",sF.MPYTHON_SIOT_DISCONNECT_HELPURL="",sF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",sF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 断开连接",sF.MPYTHON_SIOT_MESSAGE_HELPURL="",sF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",sF.MPYTHON_SIOT_MESSAGE_MESSAGE0="从 SIoT 收到的消息",sF.MPYTHON_SIOT_TOPIC1="主题1",sF.MPYTHON_SIOT_TOPIC2="主题2",sF.MPYTHON_SIOT_TOPIC3="主题3",sF.MPYTHON_SIOT_TOPIC4="主题4",sF.MPYTHON_SIOT_TOPIC5="主题5",sF.MPYTHON_SIOT_PUBLISH_HELPURL="",sF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",sF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 发送消息 %1 到 %2",sF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 发送消息 %1 到 主题 %2",sF.MPYTHON_SIOT_RECEIVE_HELPURL="",sF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",sF.MPYTHON_SIOT_RECEIVE_MESSAGE0="当从 SIoT %1 收到消息时 %2 执行 %3",sF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="当从 SIoT 主题 %1 收到消息时 %2 执行 %3",sF.MPYTHON_IR_RECV_HELPURL="",sF.MPYTHON_IR_RECV_MESSAGE0="红外接收 整型 rx 引脚 %1",sF.MPYTHON_IR_RECV_TOOLTIP="第一次接收总为空",sF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 显示 %1 x %2 y %3",sF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",sF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",sF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",sF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",sF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",sF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",sF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 显示图像 x %1 y %2 宽 %3 高 %4 16进制图像数据 %5",sF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",sF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",sF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",sF.mpythonbox_sound_MESSAGE0="声音值",sF.mpythonbox_sound_TOOLTIP="采样数据,为0~4095。",sF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",sF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",sF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",sF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆电阻采样值。范围0~4095。",sF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",sF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按键%1",sF.MPYTHONBOX_5BUTTON_TOOLTIP="",sF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",sF.MPYTHONBOX_MOTOR_MESSAGE0="马达 速度%1",sF.MPYTHONBOX_MOTOR_TOOLTIP="马达速度,范围±100。正值表示正转,负值则反。",sF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",sF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超声波",sF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超声波测距,获取超声波传感器测距值,单位cm。范围3~340CM",sF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",sF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人体红外",sF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人体红外触发值。当为1时,表示已触发;当为0时,表示未触发。",sF.MPYTHONBOX_RGB_pixel_HELPURL="",sF.MPYTHONBOX_RGB_pixel_MESSAGE0="设定第 %1列 %2行 R%3 G%4 B%5",sF.MPYTHONBOX_RGB_pixel_TOOLTIP="设定第多少列,行的RGB顏色",sF.MPYTHONBOX_RGB_get_pixel_HELPURL="",sF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",sF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB颜色",sF.MPYTHONBOX_RGB_ImageText_HELPURL="",sF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滚动显示文本%1 速度%2",sF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滚动显示文本,亮度为0不亮,9最亮",sF.MPYTHONBOX_RGB_SetImage_HELPURL="",sF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",sF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",sF.MPYTHONBOX_RGB_Image_HELPURL="",sF.MPYTHONBOX_RGB_Image_MESSAGE0="显示图像%1",sF.MPYTHONBOX_RGB_Image_TOOLTIP="显示图像",sF.MPYTHONBOX_RGB_SetImage_HELPURL="",sF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",sF.MPYTHONBOX_RGB_SetImage_TOOLTIP="创建新图像,每行每位数代表第几位灯,默认红色;亮度为0不亮,9最亮。",sF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="显示图像/文本 %1",sF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="显示图像或文本消息。",sF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",sF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="显示图像 %1",sF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="显示图像。",sF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",sF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="复制图像 %1",sF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="复制图像。",sF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",sF.MPYTHONBOX_RGB_ImageCot_HELPURL="",sF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪图像%1 列%2 行%3 宽%4 高%5",sF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪图像",sF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="内置图像 %1",sF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="选择一个内置的图像。",sF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移图像 %1 %2 %3 位",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移动图像,并返回移动后的结果。",sF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",sF.MPYTHONBOX_RGB_clear_HELPURL="",sF.MPYTHONBOX_RGB_clear_MESSAGE0="关闭所有 RGB 灯",sF.MPYTHONBOX_RGB_clear_TOOLTIP="",sF.MPYTHONBOX_RGB_pixel_return_HELPURL="",sF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 颜色",sF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",sF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1轴加速度",sF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",sF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1轴角速度",sF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",sF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1欧拉角",sF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回当前欧拉角(Pitch,Roll,Yaw),单位角度",sF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",sF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元数",sF.MPYTHONBOX_QUATERNION_TOOLTIP="返回当前四元数(w,x,y,z)",sF.MPYTHONBOX_CAMERA_LED_HELPURL="",sF.MPYTHONBOX_CAMERA_LED_MESSAGE0="摄像灯%1",sF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led灯,分为打开和关闭两种状态",sF.LIST_FIRST_INDEX_HELPURL="",sF.LIST_FIRST_INDEX_MESSAGE0="项 %1 在列表 %2 %3 出现的位置",sF.LIST_FIRST_INDEX_TOOLTIP="",sF.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",sF.MPYTHON_AI_LCD_INIT_MESSAGE0="屏幕 初始化 ",sF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 屏幕显示",sF.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",sF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="摄像头 初始化",sF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",sF.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",sF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="摄像头%1",sF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取图像",sF.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",sF.MPYTHON_AI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",sF.MPYTHON_AI_LCD_TEXT_TOOLTIP="仅支持字母和数字",sF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",sF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",sF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",sF.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",sF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 摄像头 获取%1",sF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)摄像头返回参数(宽高,图像帧的格式,图像帧的大小)",sF.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",sF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",sF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",sF.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",sF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",sF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",sF.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",sF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="摄像头 白平衡%1",sF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="设置摄像自动白平衡模式,默认打开。True为打开, False为关闭自动白平衡。若您想追踪颜色,则需关闭白平衡。",sF.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",sF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 %1 %2",sF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",sF.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",sF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 显示生效",sF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示",sF.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",sF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 显示生效 x%1 y%2 宽%3 高%4",sF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上显示一张图片",sF.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",sF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",sF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",sF.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",sF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",sF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",sF.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",sF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",sF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",sF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",sF.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",sF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="屏幕 显示清空",sF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",sF.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",sF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",sF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",sF.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",sF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",sF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",sF.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",sF.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",sF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",sF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",sF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",sF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",sF.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",sF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",sF.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",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="图像转换为%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻转是将二进制图像0(黑色)变为1(白色),1(白色)变为0(黑色),非常快速地翻转二进制图像中的所有像素值。",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="图像 从笛卡尔坐标到%1 坐标重新投影 反向%2",sF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="图像 膨胀 级别%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨胀就是对图像高亮部分进行“领域扩张”,效果图拥有比原图更大的高亮区域。",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="图像 中点滤波 级别%1 滤波%2",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制图像混合的最小/最大程度。0只适用于最小滤波,1仅用于最大滤波。",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="图像 众数滤波 级别%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在图像上运行众数滤波,用相邻像素的模式替换每个像素。",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="图像 模糊滤波 级别%1",sF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式滤波器的标准均值模糊滤波。",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="图像 卡通化 级别%1 起始像素差异%2 相邻像素差异%3",sF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",sF.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",sF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="图像 3D旋转 上下旋转%1 左右旋转%2 度数%3 左右移动%4 上下移动%5 缩放%6",sF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通过执行帧缓冲区的3D旋转来纠正图像中的透视问题。",sF.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",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",sF.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",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",sF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",sF.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",sF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(实验箱)选择训练模型 人脸",sF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.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",sF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(实验箱)调用摄像头进行 人脸识别",sF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.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",sF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(实验箱)获取识别后人脸的 所有参数",sF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",sF.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",sF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(实验箱)获取识别后人脸的 x坐标",sF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",sF.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",sF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(实验箱)获取识别后人脸的 y坐标",sF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",sF.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",sF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(实验箱)获取识别后人脸的 宽度",sF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",sF.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",sF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(实验箱)获取识别后人脸的 高度",sF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",sF.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",sF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(实验箱)获取识别后人脸的 置信度",sF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",sF.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",sF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(实验箱)获取识别后人脸的 数量",sF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",sF.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",sF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(实验箱)选择训练模型 20类",sF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.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",sF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(实验箱)调用摄像头进行 20类识别",sF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(实验箱)获取识别后20类的 所有参数",sF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(实验箱)获取识别后20类的 x坐标",sF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(实验箱)获取识别后20类的 y坐标",sF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(实验箱)获取识别后20类的 宽度",sF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(实验箱)获取识别后20类的 高度",sF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(实验箱)获取识别后20类的 置信度",sF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(实验箱)获取识别后20类的 数量",sF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(实验箱)获取识别后20类的 类型",sF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.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",sF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(实验箱)获取识别后20类的 类型数量",sF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",sF.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",sF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(实验箱)选择训练模型 手写数字",sF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",sF.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",sF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(实验箱)调用摄像头进行 手写数字识别",sF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",sF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(实验箱)获取识别后手写数字的 所有参数",sF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",sF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(实验箱)获取识别后手写数字的 数字",sF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",sF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(实验箱)获取识别后手写数字的 置信度",sF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",sF.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",sF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(实验箱)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",sF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追踪色块",sF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",sF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(实验箱)追踪颜色 显示%1",sF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",sF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(实验箱)%1获取识别后色块的 所有参数",sF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_X_MESSAGE0="(实验箱)%1获取识别后色块的 x坐标",sF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_Y_MESSAGE0="(实验箱)%1获取识别后色块的 y坐标",sF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_W_MESSAGE0="(实验箱)%1获取识别后色块的 宽度",sF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_H_MESSAGE0="(实验箱)%1获取识别后色块的 高度",sF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(实验箱)%1获取识别后色块的 数量",sF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(实验箱)%1获取识别后色块的 中心x坐标",sF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(实验箱)%1获取识别后色块的 中心y坐标",sF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(实验箱)%1获取识别后色块的 矩形",sF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",sF.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",sF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",sF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",sF.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",sF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",sF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",sF.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",sF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="摄像头 初始化 像素模式 %1",sF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用于设置摄像头像素模式,有黑白和rgb彩色",sF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 训练 %1",sF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",sF.MPYTHON_DRILL_WEIGHT_HELPURL="",sF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",sF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="实例化 线性回归直线",sF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",sF.MPYTHON_DRILL_TITLE_HELPURL="",sF.MPYTHON_DRILL_TITLE_MESSAGE0="标题%1 字号%2",sF.MPYTHON_DRILL_TITLE_TOOLTIP="",sF.MPYTHON_DRILL_LABEL_HELPURL="",sF.MPYTHON_DRILL_LABEL_MESSAGE0="标签%1 标题%2 字号%3",sF.MPYTHON_DRILL_LABEL_TOOLTIP="",sF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",sF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真实数据 符号标记%1 颜色为r%2 g%3 b%4 标题%5",sF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",sF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",sF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="预测线性回归直线 符号标记%1 颜色为r%2 g%3 b%4 标题%5",sF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",sF.MPYTHON_DRILL_LEGEND_HELPURL="",sF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示图例",sF.MPYTHON_DRILL_LEGEND_TOOLTIP="",sF.MPYTHON_DRILL_SHOW_HELPURL="",sF.MPYTHON_DRILL_SHOW_MESSAGE0="显示图片",sF.MPYTHON_DRILL_SHOW_TOOLTIP="",sF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",sF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="输入测试数值%1",sF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",sF.MPYTHON_DRILL_DRILL_full_line="实线",sF.MPYTHON_DRILL_DRILL_dash_line="破折线",sF.MPYTHON_DRILL_DRILL_chain_line="点划线",sF.MPYTHON_DRILL_DRILL_imaginary_line="虚线",sF.MPYTHON_DRILL_DRILL_dot="点",sF.MPYTHON_DRILL_DRILL_pixel="像素",sF.MPYTHON_DRILL_DRILL_solid_rim="实心圈",sF.MPYTHON_DRILL_DRILL_down_triangle="下三角",sF.MPYTHON_DRILL_DRILL_up_triangle="上三角",sF.MPYTHON_DRILL_DRILL_right_triangle="右三角",sF.MPYTHON_DRILL_DRILL_left_triangle="左三角",sF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",sF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",sF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",sF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",sF.MPYTHON_DRILL_DRILL_solid_square="实心方形",sF.MPYTHON_DRILL_DRILL_solid_pentagon="实心五角",sF.MPYTHON_DRILL_DRILL_star="星形",sF.MPYTHON_DRILL_DRILL_vertical_hexagon="竖六边形",sF.MPYTHON_DRILL_DRILL_across_hexagon="横六边形",sF.MPYTHON_DRILL_DRILL_cross="十字",sF.MPYTHON_DRILL_DRILL_X="X",sF.MPYTHON_DRILL_DRILL_rhombus="菱形",sF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",sF.MPYTHON_DRILL_DRILL_vertical_line="垂直线",sF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鸢尾花数据集",sF.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]来做映射",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鸢尾花 主成分分析",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鸢尾花 因子分析 3D",sF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鸢尾花 因子分析",sF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="预测图示 鸢尾花类型%1 呈现内容 x%3 y%4 呈现种类%2 颜色为 r%5 g%6 b%7 标题%8 向上合并%9",sF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="预测图示 呈现内容 x%1 y%2 呈现种类%3 颜色为 r%4 g%5 b%6 标题%7",sF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 预测图示 呈现内容 x朝向%1 y朝向%2 z朝向%3 颜色为 r%4 g%5 b%6 标题%7",sF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="标题%1 字号%2",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="标签%1 标题%2 字号%3",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 标题%1 字号%2",sF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 标签%1 标题%2 字号%3",sF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示图例",sF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="显示图片",sF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",sF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",sF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x,y坐标",sF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150条记录,分别代表50条山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)、维吉尼亚鸢尾(Iris-virginica)",sF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鸢尾",sF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="变色鸢尾",sF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="维吉尼亚鸢尾",sF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散点图",sF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde图",sF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱图",sF.MPYTHONS_FLOWER_DE_LUCE_merge="合并",sF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合并",sF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼长度",sF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼宽度",sF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣长度",sF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣宽度",sF.MPYTHONS_CONVERT_PICTURE_HELPURL="",sF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="将图片转换为28²二值图%1 待处理的图片存储路径%2 处理后的图片存储路径%3 格式%4",sF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通过串口把WIF传给语音助手",sF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",sF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手写数字数据 存储路径%1",sF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手写数字字符库",sF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",sF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手写数字图像 存储路径%1",sF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="手写数字图像的路径",sF.MPYTHONS_SHOW_NUMBER_HELPURL="",sF.MPYTHONS_SHOW_NUMBER_MESSAGE0="显示手写数字图像",sF.MPYTHONS_SHOW_NUMBER_TOOLTIP="显示手写数字图像",sF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",sF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="识别手写数字图像 存储路径%1",sF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="识别手写数字图像的路径",sF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",sF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="创建变量%1 初始化 神经网络张量 变量名%2",sF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",sF.MPYTHON_DRILL_RESHAPE_MESSAGE0="创建变量%1 将输入照片变量 %2 转换为 神经网络输出张量%3",sF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",sF.MPYTHON_DRILL_RESHAPE_HELPURL="",sF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="创建变量%1 共享变量名%2 初始化模式%3",sF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",sF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",sF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="产生截断正态分布随机数 输出张量%1 标准差%2",sF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",sF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",sF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="创建常量 数值%1 输出张量%2",sF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",sF.MPYTHON_NUMBER_CONSTANT_HELPURL="",sF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神经网络输出张量%1 共享变量%2 步长%3 填充%4",sF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",sF.MPYTHON_NUMBER_CONV2D_HELPURL="",sF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="张量%1",sF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",sF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",sF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷积二维层 变量%1 %2",sF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",sF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",sF.MPYTHON_NUMBER_RELU_MESSAGE0="创建变量%1 Relu正向激励函数 卷积二维层%2",sF.MPYTHON_NUMBER_RELU_TOOLTIP="",sF.MPYTHON_NUMBER_RELU_HELPURL="",sF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二维层 变量%1 卷积层%2 池化窗口%3 步长%4 填充%5",sF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",sF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",sF.MPYTHON_NUMBER_MATMUL_MESSAGE0="两个参数的对应元素各自相乘 x%1 y%2",sF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",sF.MPYTHON_NUMBER_MATMUL_HELPURL="",sF.MPYTHON_NUMBER_ADD_MESSAGE0="全连接层 变量%1 两个参数的元素相加 x%2 y%3",sF.MPYTHON_NUMBER_ADD_TOOLTIP="",sF.MPYTHON_NUMBER_ADD_HELPURL="",sF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="创建变量%1 预测模型准确度 变量名%2",sF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",sF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",sF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="创建变量%1 损失函数%2",sF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",sF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",sF.MPYTHON_NUMBER_LOG_MESSAGE0="自然对数 %1",sF.MPYTHON_NUMBER_LOG_TOOLTIP="",sF.MPYTHON_NUMBER_LOG_HELPURL="",sF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="压缩求和%1 维度%2",sF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。",sF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",sF.MPYTHON_NUMBER_TRAIN_MESSAGE0="优化学习速率 %1",sF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",sF.MPYTHON_NUMBER_TRAIN_HELPURL="",sF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="创建变量%1 优化张量%2",sF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",sF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",sF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",sF.MPYTHON_NUMBER_INIT_TOOLTIP="",sF.MPYTHON_NUMBER_INIT_HELPURL="",sF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="选择 手写数字集%1 数量%2",sF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",sF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",sF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",sF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",sF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",sF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",sF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",sF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",sF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="预测模型%1 拟合度%2 会话%3",sF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",sF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",sF.MPYTHON_NUMBER_EQUAL_MESSAGE0="两个张量的每一维是否相等 x%1 y%2",sF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",sF.MPYTHON_NUMBER_EQUAL_HELPURL="",sF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="张量 %1 按%2比较返回最大值的索引",sF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",sF.MPYTHON_NUMBER_ARGMAX_HELPURL="",sF.MPYTHON_NUMBER_CAST_MESSAGE0="转为浮点型 %1",sF.MPYTHON_NUMBER_CAST_TOOLTIP="",sF.MPYTHON_NUMBER_CAST_HELPURL="",sF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",sF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手写数字识别模型 变量名%1 存储路径%2",sF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手写数字识别模型保存路径",sF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",sF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加载模型 %1 存储路径%2",sF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="加载模型",sF.MPYTHONS_NUMBER_SAME="包含边界",sF.MPYTHONS_NUMBER_VALID="不包含边界",sF.MPYTHONS_NUMBER_train="训练",sF.MPYTHONS_NUMBER_test="测试",sF.MPYTHONS_NUMBER_row="行",sF.MPYTHONS_NUMBER_rank="列",sF.MPYTHONS_NUMBERNEW_INITIALIZE_HELPURL="",sF.MPYTHONS_NUMBERNEW_INITIALIZE_MESSAGE0="初始化 张量 载入mnist数据集",sF.MPYTHONS_NUMBERNEW_INITIALIZE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_MESSAGE0="卷积 一 层",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_POOLING_ONE_HELPURL="",sF.MPYTHONS_NUMBERNEW_POOLING_ONE_MESSAGE0="池化 一 层",sF.MPYTHONS_NUMBERNEW_POOLING_ONE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_MESSAGE0="卷积 二 层",sF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_POOLING_TWO_HELPURL="",sF.MPYTHONS_NUMBERNEW_POOLING_TWO_MESSAGE0="池化 二 层",sF.MPYTHONS_NUMBERNEW_POOLING_TWO_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONNECT_ONE_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONNECT_ONE_MESSAGE0="全连接 一 层",sF.MPYTHONS_NUMBERNEW_CONNECT_ONE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_CONNECT_TWO_HELPURL="",sF.MPYTHONS_NUMBERNEW_CONNECT_TWO_MESSAGE0="全连接 二 层",sF.MPYTHONS_NUMBERNEW_CONNECT_TWO_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_LOSS_HELPURL="",sF.MPYTHONS_NUMBERNEW_LOSS_MESSAGE0="配置Adam优化器 学习速率为%1",sF.MPYTHONS_NUMBERNEW_LOSS_TOOLTIP="学习速率为0.001~0.000001之间",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_MESSAGE0="初始化 tensorflow模型%1 训练模型%2 步数%3",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TOOLTIP="步数不能小于10",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_MESSAGE0="模型训练准确率",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_MESSAGE0="预测 训练正确率",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_TOOLTIP="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_MESSAGE0="预测 手写数字%1",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_TOOLTIP="仅支持28*28像素的黑白图片",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_HELPURL="",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_MESSAGE0="显示图片%1",sF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="调用摄像头 %1",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="调用笔记本内置摄像头,所以参数为0,如果有其他的摄像头可以调整参数为1,2",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="关闭摄像头",sF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="删除所有窗口",sF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",sF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="从摄像头读取图片",sF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有读取图片就True,否则false;第二个参数是frame,是当前截取一帧的图片。",sF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="转为灰度图片",sF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="检测人脸 每次图像尺寸减小比例%1",sF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",sF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",sF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人脸区域显示矩形框 颜色为 红%1 绿%2 蓝%3",sF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存图像 位置%1 ID%2 编号%3",sF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中显示图像 文件名%1",sF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通过esc键 退出",sF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置顶时使用才有效果",sF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",sF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="获得人脸在图像中的坐标值 人脸%1",sF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否有读取图片",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打开摄像头",sF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="获取照片及id 照片存储路径%1",sF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化训练模型",sF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="初始化训练模型",sF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="开始训练模型",sF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1训练模型 存储路径%2",sF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人脸模型训练 数目",sF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口显示 识别的名字%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",sF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口显示 识别的置信度%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",sF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="预测人脸 名字%1 置信度%2",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="写入",sF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="读取",sF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",sF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",sF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",sF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",sF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",sF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",sF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",sF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",sF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",sF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",sF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",sF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",sF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",sF.Jenny="珍妮",sF.Jack="杰克",sF.Tom="汤姆",sF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",sF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",sF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",sF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",sF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查阅训练库 选择%1",sF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",sF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",sF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",sF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",sF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",sF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",sF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",sF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",sF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",sF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",sF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",sF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",sF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",sF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",sF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",sF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",sF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",sF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",sF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",sF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",sF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",sF.MPYTHON_AGESTURE_ARRAY_HELPURL="",sF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",sF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",sF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",sF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",sF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",sF.MPYTHON_GESTURE_READ_LEND_HELPURL="",sF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",sF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",sF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",sF.MPYTHON_GESTURE_SCORE_HELPURL="",sF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",sF.MPYTHON_GESTURE_SCORE_TOOLTIP="",sF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",sF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",sF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",sF.MPYTHON_GESTURE_FORECAST_HELPURL="",sF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",sF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",sF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",sF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",sF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",sF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",sF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",sF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",sF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",sF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",sF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",sF.MPYTHON_AGESTURENEW_INITIALIZE_HELPURL="",sF.MPYTHON_AGESTURENEW_INITIALIZE_MESSAGE0="初始化 KNN",sF.MPYTHON_AGESTURENEW_INITIALIZE_TOOLTIP="",sF.MPYTHON_AGESTURENEW_SHOOT_HELPURL="",sF.MPYTHON_AGESTURENEW_SHOOT_MESSAGE0="拍摄 进行手势检测",sF.MPYTHON_AGESTURENEW_SHOOT_TOOLTIP="",sF.MPYTHON_AGESTURENEW_SHOOT_GRAY_HELPURL="",sF.MPYTHON_AGESTURENEW_SHOOT_GRAY_MESSAGE0="拍摄 训练集",sF.MPYTHON_AGESTURENEW_SHOOT_GRAY_TOOLTIP="",sF.MPYTHON_AGESTURENEW_GRAY_HELPURL="",sF.MPYTHON_AGESTURENEW_GRAY_MESSAGE0="图像处理",sF.MPYTHON_AGESTURENEW_GRAY_TOOLTIP="",sF.MPYTHON_AGESTURENEW_TRAIN_HELPURL="",sF.MPYTHON_AGESTURENEW_TRAIN_MESSAGE0="开始分类训练",sF.MPYTHON_AGESTURENEW_TRAIN_TOOLTIP="",sF.MPYTHON_AGESTURENEW_START_FORECAST_HELPURL="",sF.MPYTHON_AGESTURENEW_START_FORECAST_MESSAGE0="开始预测",sF.MPYTHON_AGESTURENEW_START_FORECAST_TOOLTIP="",sF.MPYTHON_AGESTURENEW_FORECAST_RESULT_HELPURL="",sF.MPYTHON_AGESTURENEW_FORECAST_RESULT_MESSAGE0="预测结果",sF.MPYTHON_AGESTURENEW_FORECAST_RESULT_TOOLTIP="",sF.MPYTHON_AGESTURENEW_SHOW_WINDOW_HELPURL="",sF.MPYTHON_AGESTURENEW_SHOW_WINDOW_MESSAGE0="显示图片";sF.MPYTHON_AGESTURENEW_SHOW_WINDOW_TOOLTIP="",sF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",sF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",sF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",sF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",sF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",sF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",sF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",sF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",sF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",sF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",sF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",sF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",sF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",sF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",sF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",sF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",sF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",sF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",sF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="Esc退出拍摄",sF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",sF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",sF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",sF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸库%1",sF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",sF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_HELPURL="",sF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_MESSAGE0="拍照 进行人脸检测 %1",sF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_TOOLTIP="按S建拍摄,Esc退出拍摄",sF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",sF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",sF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",sF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",sF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",sF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",sF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",sF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",sF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",sF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表 排序前%1",sF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",sF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",sF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻",sF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",sF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",sF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",sF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="读取词汇表 排序前%1",sF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",sF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",sF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",sF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",sF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",sF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",sF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",sF.FIRST="第一次",sF.LAST="最后一次",sF.MPYTHON_USOCKET_BLOCK="阻塞",sF.MPYTHON_USOCKET_UNBLOCK="非阻塞",sF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",sF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="设置socket %1 地址 %2 类型 %3",sF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="设置给定套接字选项的值。所需的符号常量在套接字模块中定义(SO_ *等)。该值可以是整数或表示缓冲区的类字节对象。",sF.MPYTHON_USOCKET_READLINE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",sF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行数据,遇换行符结束并返回接收数据的对象",sF.MPYTHON_USOCKET_READLINE_TOOLTIP=" 接收一行数据,遇换行符结束,并返回接收数据的对象",sF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",sF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="设 socket %1 为 %2 模式",sF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",sF.MPYTHON_USOCKET_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.read",sF.MPYTHON_USOCKET_READ_MESSAGE0="从socket %1 读取 %2 字节并返回字节对象",sF.MPYTHON_USOCKET_READ_TOOLTIP="若未给定读取数量 ,则按照类似 socket.readall() 的模式运行",sF.MPYTHON_ESC_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",sF.MPYTHON_ESC_MESSAGE0="设 socket %1 为 %2 模式",sF.MPYTHON_ESC_TOOLTIP="",sF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.settimeout",sF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 设超时时间 %2 秒",sF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",sF.MPYTHON_USOCKET_SENDALL_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",sF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 连续发送 %2 并返回发送的字节数",sF.MPYTHON_USOCKET_SENDALL_TOOLTIP="将所有数据发送到套接字。套接字必须连接到远程套接字。与 send() 此不同,此方法将尝试通过连续发送数据块来发送所有数据。",sF.MPYTHON_USOCKET_SENDS_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",sF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",sF.MPYTHON_USOCKET_SENDS_TOOLTIP='将数据发送到套接字。套接字必须连接到远程套接字。返回发送的字节数,可能小于数据长度 ("short write")。',sF.MPYTHON_USOCKET_SEND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",sF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",sF.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”).",sF.MPYTHON_USOCKET_SENDTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.sendto",sF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 发送 %2 到地址 %3",sF.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.",sF.MPYTHON_USOCKET_RECV_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recv",sF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收并返回接收到的数据对象 最大数据量为 %2",sF.MPYTHON_USOCKET_RECV_TOOLTIP="",sF.MPYTHON_TEXT_ESC_HELPURL="",sF.MPYTHON_TEXT_ESC_MESSAGE0="文本转义字符 %1",sF.MPYTHON_TEXT_ESC_TOOLTIP="文本转义字符",sF.MPYTHON_USOCKET_RECVFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recvfrom",sF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收并返回接收到的数据元组 最大数据量为 %2",sF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元组格式 (bytes, address)",sF.MPYTHON_USOCKET_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.connect",sF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 连接 host %2 端口 %3",sF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",sF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.getaddrinfo",sF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 并返回 ip",sF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需联网",sF.MPYTHON_USOCKET_ACCEPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",sF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接收连接请求并返回socket元组",sF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收连接请求。socket需要指定地址并监听连接。返回值是 (conn, address)。\nconn:新的socket对象,可以用来收发消息\naddress:连接到服务器的客户端地址",sF.MPYTHON_USOCKET_LISTEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.listen",sF.MPYTHON_USOCKET_LISTEN_MESSAGE0="监听socket %1 backlog个数 %2",sF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",sF.MPYTHON_USOCKET_BIND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.bind",sF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 绑定地址 %2 端口 %3",sF.MPYTHON_USOCKET_BIND_TOOLTIP="",sF.MPYTHON_USOCKET_CLOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.close",sF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 关闭",sF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",sF.MPYTHON_USOCKET_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",sF.MPYTHON_USOCKET_INIT_MESSAGE0="创建 socket %1 地址 %2 类型 %3",sF.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",sF.MPYTHON_GET_POST_HELPURL="",sF.MPYTHON_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",sF.MPYTHON_GET_POST_TOOLTIP="",sF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",sF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",sF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",sF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",sF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",sF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 请求网址 %2 文件路径 %3 Mime类型 %4 附加字段 %5",sF.MPYTHON_RESPONSE_HELPURL="",sF.MPYTHON_RESPONSE_MESSAGE0="响应内容 形式 %1",sF.MPYTHON_RESPONSE_TOOLTIP="",sF.STRING="字符串",sF._BYTE="二进制",sF.BYTES="字节",sF.TEXT="文本",sF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",sF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="响应属性 %1",sF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",sF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",sF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右键帮助,查看引脚声明",sF.MPYTHON_SETS_PIN_MODE_MESSAGE0="设置引脚 %1 为 %2 模式 %3 并设置值为 %4",sF.MPYTHON_SET_PIN_IN="输入",sF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽输出",sF.MPYTHON_SET_PIN_LEAKY_OUT="开漏输出",sF.MPYTHON_SET_PIN_NO_PULL="无上下拉",sF.MPYTHON_SET_PIN_DOWN_PULL="下拉",sF.MPYTHON_SET_PIN_UP_PULL="上拉",sF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",sF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="线程锁对象 %1 请求锁",sF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",sF.MPYTHON_START_NEW_THREAD_HELPURL="",sF.MPYTHON_START_NEW_THREAD_MESSAGE0="子线程 %1",sF.MPYTHON_START_NEW_THREAD_TOOLTIP="",sF.MPYTHON_UART_INIT_HELPURL="",sF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",sF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3组串口。0用于REPL,剩下1、2两组串口可用。所有引脚均可以作为串口的输入RX,除 P2、P3 、P4 、P10 只能作为输入,其余所有的引脚理论上都可以作为输出TX。",sF.MPYTHON_UART_DEINIT_HELPURL="",sF.MPYTHON_UART_DEINIT_MESSAGE0="关闭串口 %1",sF.MPYTHON_UART_DEINIT_TOOLTIP="关闭 UART 总线",sF.MPYTHON_UART_WRITE_STR_HELPURL="",sF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 写入文本 %2 %3",sF.MPYTHON_UART_WRITE_STR_TOOLTIP="将文本写入总线。\n返回值:写入或 None 超时的字节数。",sF.MPYTHON_UART_WRITE_HEX_HELPURL="",sF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 发送16进制字符串 %2 %3",sF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",sF.MPYTHON_UART_HAS_DATA_HELPURL="",sF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可读数据",sF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一个整数,计算可以无阻塞地读取的字符数。\n如果没有可用字符,它将返回0,如果有字符,则返回正数。\n即使有多个可读的字符,该方法也可以返回1。",sF.MPYTHON_UART_READLINE_HELPURL="",sF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 读取一行数据",sF.MPYTHON_UART_READLINE_TOOLTIP="读一行,以换行符结尾。\n返回值:读取行或 None 超时。",sF.MPYTHON_UART_READ_HELPURL="",sF.MPYTHON_UART_READ_MESSAGE0="串口 %1 读取数据",sF.MPYTHON_UART_READ_TOOLTIP="读取尽可能多的串口数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",sF.MPYTHON_UART_READ_LENGTH_HELPURL="",sF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 读取数据 长度 %2",sF.MPYTHON_UART_READ_LENGTH_TOOLTIP="读取指定长度字节数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",sF.MPYTHON_UART_WRITE_BYTE_HELPURL="",sF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 写入单字节 %2",sF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="参数取值为 0~255 整数\n将字节写入总线。\n返回值:写入或 None 超时的字节数。",sF.MPYTHON_UART_WRITE_BYTES_HELPURL="",sF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 写入字节数组 %2",sF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="将字节数组写入总线。\n返回值:写入或 None 超时的字节数。",sF.MPYTHON_BAUDRATE_HELPURL="",sF.MPYTHON_BAUDRATE_MESSAGE0="%1",sF.MPYTHON_BAUDRATE_TOOLTIP="",sF.MPYTHON_HIGH_LOW_HELPURL="",sF.MPYTHON_HIGH_LOW_MESSAGE0="%1",sF.MPYTHON_HIGH_LOW_TOOLTIP="",sF.MPYTHON_TEN_CONVERT_TO_HELPURL="",sF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10进制整数 %1 转化为 %2 字符串",sF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",sF.MPYTHON_BIN="二进制",sF.MPYTHON_OCT="八进制",sF.MPYTHON_HEX="十六进制",sF.MPYTHON_CONVERT_TO_TEN_HELPURL="",sF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 转 10进制整数",sF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",sF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",sF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10进制整数 %2 转 %1 字节",sF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",sF.MPYTHON_INT_TO_CHR_HELPURL="",sF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 转 ASCII 单字符",sF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",sF.MPYTHON_CHR_TO_INT_HELPURL="",sF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 单字符 %1 转 整型",sF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",sF.MPYTHON_STR_TO_HEX_HELPURL="",sF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 转 十六进制 字节",sF.MPYTHON_STR_TO_HEX_TOOLTIP="返回结果中用空格分隔两个十六进制数",sF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",sF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六进制字符串 %1 转 二进制 字节",sF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",sF.MPYTHON_DATA_TO_BASE64_HELPURL="",sF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式编码 返回字节对象",sF.MPYTHON_DATA_TO_BASE64_TOOLTIP="Base64编码是从二进制到字符的过程",sF.MPYTHON_BASE64_TO_DATA_HELPURL="",sF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解码 base64 数据 %1 返回字节对象",sF.MPYTHON_BASE64_TO_DATA_TOOLTIP="Base64编码是从二进制到字符的过程",sF.MPYTHON_UJSON_DUMPS_HELPURL="",sF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 转 json 字符串",sF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",sF.MPYTHON_UJSON_LOADS_HELPURL="",sF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",sF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",sF.MPYTHON_CUSTOM_CODE_HELPURL="",sF.MPYTHON_CUSTOM_CODE_TOOLTIP="",sF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",sF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",sF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",sF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定义返回值 %1",sF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",sF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定义终端部件 Terminal 虚拟管脚 V %1",sF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",sF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",sF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虚拟管脚的状态 V %1",sF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",sF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",sF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="当 Blynk 断开连接时",sF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",sF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",sF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="当 Blynk 连接时",sF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",sF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",sF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="运行 Blynk 定时器进程",sF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",sF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",sF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定时器",sF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",sF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",sF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定时器 %1",sF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',sF.MPYTHON_UART_INPUT_HELPURL="",sF.MPYTHON_UART_INPUT_MESSAGE0="从串口获取文本 提示语句 %1",sF.MPYTHON_UART_INPUT_TOOLTIP="",sF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",sF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="给虚拟管脚添加 属性 %1 值 %2",sF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放于 read 或 write 事件中,虚拟管脚由事件决定,与该管脚绑定的组件会拥有添加的属性",sF.MPYTHON_BLYNK_EMAIL_HELPURL="",sF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向预设邮箱发邮件 %1 主题 %2 正文 %3",sF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",sF.MPYTHON_BLYNK_RUN_HELPURL="",sF.MPYTHON_BLYNK_RUN_MESSAGE0="运行 Blynk 进程",sF.MPYTHON_BLYNK_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",sF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",sF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 显示通知 %1",sF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",sF.MPYTHON_BLYNKTIMER_HELPURL="",sF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定时器 %1 %2 周期 %3 秒",sF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',sF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",sF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="发送数据 %1 到 Blynk APP 的 虚拟管脚 V %2",sF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虚拟管脚:V0 ~ V255",sF.MPYTHON_BLYNK_SETUP_HELPURL="",sF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 设置 %1 服务器 %2 端口 %3 授权码 %4",sF.MPYTHON_BLYNK_SETUP_TOOLTIP="服务器可填 blynk-cloud.com(官网) 或者 blynk.mpython.cn(国内)\n默认端口为 8080\n注意:手机APP访问端口为 9443",sF.MPYTHON_BLYNK_APP_DATA_HELPURL="",sF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="当 从 Blynk APP 收到 虚拟管脚 V %1 的值 %2",sF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虚拟管脚:V0 ~ V255",sF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="当 收到 Blynk 虚拟管脚 V %1 的值",sF.MPYTHON_BLYNK_VALUE_MESSAGE0="从 Blynk 收到的值",sF.MPYTHON_BLYNK_VALUE_TOOLTIP="",sF.MPYTHON_BLYNK_VALUE_HELPURL="",sF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 断开连接",sF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",sF.MPYTHON_ONENET_DISCONNECT_HELPURL="",sF.MPYTHON_ONENET_MSG_MESSAGE0="从 OneNET 收到的消息",sF.MPYTHON_ONENET_MSG_TOOLTIP="",sF.MPYTHON_ONENET_MSG_HELPURL="",sF.MPYTHON_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 %1 时",sF.MPYTHON3_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 时",sF.MPYTHON_ONENET_RECV_TOOLTIP="",sF.MPYTHON_ONENET_RECV_HELPURL="",sF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="当 从 OneNET 收到特定消息 %1 时",sF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",sF.MPYTHON_ONENET_RECV_MSG_HELPURL="",sF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 发送数据流 名称 %1 值 %2",sF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",sF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",sF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 发送数据流 %1",sF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",sF.MPYTHON_ONENET_PUB_DICT_HELPURL="",sF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 发送数据流 名称 %1 值 %2",sF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",sF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",sF.INT_TO_CHR_HELPURL="",sF.INT_TO_CHR_MESSAGE0="整数 %1 转 ASCII 单字符",sF.INT_TO_CHR_TOOLTIP="",sF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",sF.MPYTHON_ONENET="OneNET 设置",sF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",sF.MPYTHON_ONENET_OPTION_BOARDS="可选掌控板",sF.MPYTHON_ONENET_TITLE="OneNET",sF.MPYTHON_SERVER="服务器",sF.MPYTHON_DEVICE_ID="设备ID",sF.MPYTHON_PRODUCT_ID="产品ID",sF.MPYTHON_API_KEY="产品APIKey",sF.MPYTHON_ONENET_CALLBACK="回调函数",sF.MPYTHON_TOPIC="主题",sF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回调函数",sF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",sF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 选择掌控板应用 %1",sF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",sF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",sF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超声波距离 测量单位 %2",sF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",sF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",sF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超声波(mm)",sF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",sF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",sF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超声波初始化 名称 %1 trigger %2 echo %3",sF.MPYTHON_HCSR04_OBJ_TOOLTIP="",sF.MPYTHON_PM2_5_MIC_HELPURL="",sF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值浓度%2",sF.MPYTHON_PM2_5_MIC_TOOLTIP="",sF.MPYTHON_PM2_5_LitresAir_HELPURL="",sF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1升空气中直径在%2 颗粒物个数",sF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",sF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="当 红外接收端 %1 收到消息时 %2 执行 %3",sF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="红外回调地址",sF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="红外接收内容",sF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="红外接收 %1 回调地址 %2 回调命令 %3",sF.MPYTHON_IR_REMOTE_RECV_HELPURL="",sF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",sF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="红外发送 %1 地址 %2 命令 %3",sF.MPYTHON_IR_REMOTE_SEND_HELPURL="",sF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",sF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",sF.TEXT_FORMAT_TOOLTIP="",sF.TEXT_FORMAT_HELPURL="",sF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",sF.TEXT_FORMAT2_TOOLTIP="",sF.TEXT_FORMAT2_HELPURL="",sF.TEXT_TO_BYTE_MESSAGE0="转字节 %1",sF.TEXT_TO_BYTE_TOOLTIP="支持数据类型:string",sF.TEXT_TO_BYTE_HELPURL="",sF.MPYTHON_BYTES_DECODE_HELPURL="",sF.MPYTHON_BYTES_DECODE_MESSAGE0="字节 %1 转 字符串",sF.MPYTHON_BYTES_DECODE_TOOLTIP="",sF.OTHER_TO_BYTE_MESSAGE0="非文本转字节 %1",sF.OTHER_TO_BYTE_TOOLTIP="",sF.OTHER_TO_BYTE_HELPURL="",sF.MPYTHON_ONENET_TOOLTIP="创建OneNET连接",sF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物联网 确保连接到 Wi-Fi 名称 %1 密码 %2",sF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",sF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",sF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",sF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="当从小程序收到 %1 和 %2 时",sF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",sF.MPYTHON_MAC_ADDRESS_HELPURL="",sF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",sF.MPYTHON_MAC_ADDRESS_TOOLTIP="",sF.MPYTHON_RADIO_REC_HELPURL="",sF.MPYTHON_RADIO_REC_MESSAGE0="无线广播 接收消息",sF.MPYTHON_RADIO_REC_TOOLTIP="所接收为字节型",sF.MPYTHON_RADIO_SEND_HELPURL="",sF.MPYTHON_RADIO_SEND_MESSAGE0="无线广播 发送 %1",sF.MPYTHON_RADIO_SEND_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_CHANNEL_HELPURL="",sF.MPYTHON_RADIO_CHANNEL_MESSAGE0="设无线广播 频道为 %1",sF.MPYTHON_RADIO_CHANNEL_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_ON_OFF_HELPURL="",sF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 无线广播",sF.MPYTHON_RADIO_ON_OFF_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_MSG_MESSAGE0="收到的无线广播消息",sF.MPYTHON_RADIO_MSG_TOOLTIP="",sF.MPYTHON_RADIO_MSG_HELPURL="",sF.MPYTHON3_RADIO_RECV_MESSAGE0="当 收到无线广播消息 时 %1 执行 %2",sF.MPYTHON_RADIO_RECV_MESSAGE0="当 收到无线广播消息 %1 时",sF.MPYTHON_RADIO_RECV_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_RECV_HELPURL="",sF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="当 收到特定无线广播消息 %1 时 %2 执行 %3",sF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="频道: 1~13",sF.MPYTHON_RADIO_RECV_MSG_HELPURL="",sF.MPYTHON_UDP_INIT_HELPURL="",sF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 连接",sF.MPYTHON_UDP_INIT_TOOLTIP="UDP连接基于Wi-Fi",sF.MPYTHON_UDP_SEND_HELPURL="",sF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群发消息 %1",sF.MPYTHON_UDP_SEND_TOOLTIP="",sF.MPYTHON_UDP_SENDTO_HELPURL="",sF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 发送消息 %1 到 %2 端口 %3",sF.MPYTHON_UDP_SENDTO_TOOLTIP="",sF.MPYTHON_UDP_RECV_HELPURL="",sF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",sF.MPYTHON_UDP_RECV_TOOLTIP="",sF.MPYTHON_UDP_RECV_EVENT_HELPURL="",sF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="当从 UDP 收到消息时 %1 执行 %2",sF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",sF.MPYTHON_UDP_RECV_MSG_MESSAGE0="从 UDP 收到的消息",sF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",sF.MPYTHON_UDP_RECV_MSG_HELPURL="",sF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鸟叫",sF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="钢琴黑暗旋律配乐",sF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="猫叫",sF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",sF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="浑厚的打击音",sF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="紧张效果的音效",sF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快门声",sF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="数百只苍蝇",sF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫声",sF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="摇晃低音声线",sF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="听众欢呼掌声",sF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="邮轮汽笛",sF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="现代电话铃声",sF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔萝卜",sF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="两只老虎",sF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",sF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="设音频音量 %1",sF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",sF.MPYTHON_DISPCHAR_MODE_1="普通",sF.MPYTHON_DISPCHAR_MODE_2="反转",sF.MPYTHON_DISPCHAR_MODE_3="透明",sF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",sF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 语音播放 %1",sF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 讯飞开放平台 www.xfyun.cn 上开通“在线语音合成”服务",sF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",sF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 语音配置 APPID %1 APIKey %2",sF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="输入在 讯飞开放平台 www.xfyun.cn 获取的 APPID 与 APIKey\n注意:要设置IP白名单",sF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",sF.MPYTHON_AUDIO_PLAY_MESSAGE0="音频 播放 %1",sF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",sF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",sF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音频 播放 %1",sF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",sF.MPYTHON_AUDIO_DEINIT_HELPURL="",sF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音频 释放缓存",sF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",sF.MPYTHON_AUDIO_INIT_HELPURL="",sF.MPYTHON_AUDIO_INIT_MESSAGE0="音频 初始化",sF.MPYTHON_AUDIO_INIT_TOOLTIP="为音频解码开辟缓存",sF.MPYTHON_AUDIO_CMD_HELPURL="",sF.MPYTHON_AUDIO_CMD_MESSAGE0="音频 %1",sF.MPYTHON_AUDIO_CMD_TOOLTIP="",sF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",sF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="开始录音 录音时长%1秒",sF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。录音时长不能超过5秒",sF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",sF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="录音结果",sF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",sF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",sF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="将 %1 进行识别",sF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",sF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",sF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="识别录音结果",sF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",sF.MPYTHON_RECORD_INIT_HELPURL="",sF.MPYTHON_RECORD_INIT_MESSAGE0="录音 初始化",sF.MPYTHON_RECORD_INIT_TOOLTIP="录音初始化。\n需要掌控板v1.1以上硬件版本。",sF.MPYTHON_RECORD_DEINIT_HELPURL="",sF.MPYTHON_RECORD_DEINIT_MESSAGE0="录音 释放资源",sF.MPYTHON_RECORD_DEINIT_TOOLTIP="录音结束后释放资源。\n需要掌控板v1.1以上硬件版本。",sF.MPYTHON_RECORD_WAV_HELPURL="",sF.MPYTHON_RECORD_WAV_MESSAGE0="录制音频 存储路径 %1 时长 %2 秒",sF.MPYTHON_RECORD_WAV_TOOLTIP="录制音频,并以 WAV 格式存储。\n需要掌控板v1.1以上硬件版本。",sF.MPYTHON_ASR_HELPURL="",sF.MPYTHON_ASR_MESSAGE0="识别 %1 秒语音指令",sF.MPYTHON_ASR_TOOLTIP="可以识别3秒内的语音指令。\n需要掌控板v1.1以上硬件版本。",sF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_button_A="P5(按键A)",sF.mpython_button_B="P11(按键B)",sF.mpython_PIN7_RGB="P7(板载RGB)",sF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",sF.MPYTHON_PWM_PIN_P9="P9 (掌控实验箱)",sF.mpython_tem="温度",sF.mpython_hum="湿度",sF.mpython_pre="气压",sF.mpython_left_right="左右",sF.MPYTHON_LEFT="左",sF.MPYTHON_RIGHT="右",sF.mpython_front_back="前后",sF.mpython_vertical="垂直",sF.mpython_horizontal="水平",sF.mpython_run_in_back="后台运行",sF.mpython_run_in_front="前台运行",sF.mpython_draw="绘制",sF.mpython_clear="清除",sF.mpython_s="秒",sF.mpython_ms="毫秒",sF.mpython_us="微秒",sF.mpython_year="年",sF.mpython_month="月",sF.mpython_date="日",sF.mpython_hour="时",sF.mpython_minute="分",sF.mpython_week="星期数",sF.mpython_days="天数",sF.MPYTHON_ORDER="第",sF.MPYTHON_REVERSE_ORDER="倒数第",sF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定递增基数集合中的一个随机数,基数缺省值为1",sF.MATH_RANDOM_RANDRANGE_MESSAGE0="随机数 从递增区间 [%1 ,%2) 递增步长%3",sF.MATH_KEEP_DECIMAL_HELPURL="",sF.MATH_KEEP_DECIMAL_TOOLTIP="",sF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小数",sF.MPYTHON_MIN="最小值",sF.MPYTHON_MAX="最大值",sF.MPYTHON_LENTH="长度",sF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.TUPLE_MIN_MAX_LEN_TOOLTIP="",sF.TUPLE_MIN_MAX_LEN_MESSAGE0="元组 %1 %2",sF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.TUPLE_ITEM_EXIST_TOOLTIP="",sF.TUPLE_ITEM_EXIST_MESSAGE0="元组%1 包含%2",sF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LIST_ITEM_EXIST_TOOLTIP="",sF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",sF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.PARTS_OF_TUPLE_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.PARTS_OF_TUPLE_MESSAGE0="返回元组%1 取第%2 项到尾项",sF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.PARTS_OF_TUPLE2_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",sF.PARTS_OF_TUPLE2_MESSAGE0="返回元组%1 取%2 %3 项到 %4 %5 项",sF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.PARTS_OF_LIST_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",sF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 项到 %4 %5 项",sF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LIST_TO_TUPLE_TOOLTIP="",sF.LIST_TO_TUPLE_MESSAGE0="列表%1 转元组",sF.tuple_create_with_MESSAGE0="定义元组 %1 = %2 ",sF.tuple_create_with_TOOLTIP="只包含一个元素时,需要在元素后面添加逗号",sF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.tuple_order_item_MESSAGE0="元组%1 %2 %3 项",sF.tuple_order_item_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 项",sF.LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_LIST_ORDER_ITEM_MESSAGE0="设列表%1 %2 %3 项为%4",sF.SET_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 项为%4",sF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_TUPLE_ORDER_ITEM_MESSAGE0="设元组%1 %2 %3 项为%4",sF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_CREATE_WITH_TOOLTIP="",sF.DICT_CREATE_WITH_MESSAGE0="定义字典 %1 = %2",sF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_CREATE_WITH_TOOLTIP="",sF.SET_CREATE_WITH_MESSAGE0="定义集合 %1 = %2",sF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_UPDATE_WITH_TOOLTIP="添加参数可为字符串、列表、元组、集合、字典(只添加key),已有元素则不进行操作",sF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",sF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.INTERSECTION_OF_SETS_TOOLTIP="",sF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",sF.MPYTHON_INTERSECTION="交集",sF.MPYTHON_UNION="并集",sF.MPYTHON_DIFFERENCE="差集",sF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SETS_UPDATE_WAYS_TOOLTIP="",sF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新为 与集合 %2 的 %3",sF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SUBSET_SUPERSET_TOOLTIP="",sF.SUBSET_SUPERSET_MESSAGE0="集合 %1 为集合 %2 的 %3",sF.MPYTHON_SUBSET="子集",sF.MPYTHON_SUPERSET="超集",sF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.LEN_OF_SETS_TOOLTIP="",sF.LEN_OF_SETS_MESSAGE0="集合 %1 长度",sF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.GET_SETS_POP_TOOLTIP="",sF.GET_SETS_POP_MESSAGE0="返回随机项并移除之 从集合 %1",sF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.CREATE_EMPTY_SET_TOOLTIP="",sF.CREATE_EMPTY_SET_MESSAGE0="创建空集合 %1",sF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.BIT_INVERSION_TOOLTIP="对数据的每个二进制位取反",sF.BIT_INVERSION_MESSAGE0="二进制取反 %1",sF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="项可为字符串、已创建变量变量、元组",sF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",sF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_KEY_VALUE_TOOLTIP="",sF.DICT_KEY_VALUE_MESSAGE0="字典%1 键%2 的值",sF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.ADD_DICT_KEY_VALUE_TOOLTIP="已有该键则更新该键",sF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加键%2 值%3",sF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_LENGTH_TOOLTIP="",sF.DICT_LENGTH_MESSAGE0="字典%1 长度",sF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_KEY_EXIST_TOOLTIP="",sF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含键%2",sF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",sF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",sF.DICT_KEYS="键",sF.DICT_VALUES="值",sF.mpython_lists_append_MESSAGE0="列表%1 末尾添加项%2",sF.mpython_lists_append_TOOLTIP="",sF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",sF.mpython_lists_extend_TOOLTIP="",sF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_lists_clear_MESSAGE0="列表%1 清空",sF.mpython_lists_clear_TOOLTIP="",sF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重复",sF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",sF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_Timer_value_MESSAGE0="定时器 %1 的计数值",sF.mpython_Timer_value_TOOLTIP="获取并返回计时器当前计数值",sF.mpython_Timer_deinit_MESSAGE0="清除 定时器/事件 %1",sF.mpython_Timer_deinit_TOOLTIP="取消定时器的初始化。停止计时器,并禁用计时器外围设备",sF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",sF.mpython_Interrupt_AB_TOOLTIP="",sF.mpython_Interrupt_AB_MESSAGE0="当按键 %1 被 %2 时",sF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",sF.mpython_Interrupt_pin_TOOLTIP="上升沿触发:由低电平到高电平;下降沿触发:由高电平到低电平",sF.mpython_Interrupt_pin_MESSAGE0="当引脚 %1 电平 %2 时",sF.mpython_Interrupt_pin_IRQ_FALLING="↘ 从高到低",sF.mpython_Interrupt_pin_IRQ_RISING="↗ 从低到高",sF.mpython_IRQ_FALLING="按下",sF.mpython_IRQ_RISING="松开",sF.mpython_PERIODIC="重复执行",sF.mpython_ONE_SHOT="延时执行",sF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",sF.MPYTHON_IS_SHAKED_HELPURL="",sF.MPYTHON_IS_SHAKED_TOOLTIP="",sF.MPYTHON_IS_SHAKED="被摇晃",sF.MPYTHON_IS_THROWN="被抛起",sF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="当掌控板 %1 时",sF.MPYTHON_SHAKE_DETECTOR_HELPURL="",sF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",sF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",sF.MPYTHON_IS_TILTED_HELPURL="",sF.MPYTHON_IS_TILTED_TOOLTIP="",sF.MPYTHON_TILT_DETECTOR_MESSAGE0="当掌控板 %1 时",sF.MPYTHON_TILT_DETECTOR_HELPURL="",sF.MPYTHON_TILT_DETECTOR_TOOLTIP="",sF.MPYTHON_DIRECTION_FORWARD="向前倾斜",sF.MPYTHON_DIRECTION_BACK="向后倾斜",sF.MPYTHON_DIRECTION_RIGHT="向右倾斜",sF.MPYTHON_DIRECTION_LEFT="向左倾斜",sF.MPYTHON_DIRECTION_NONE="平放",sF.MPYTHON_TOUCH_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",sF.MPYTHON_TOUCH_EVENT_HELPURL="",sF.MPYTHON_TOUCH_EVENT_TOOLTIP="",sF.MPYTHON_TOUCH_EVENT_PRESSED="触摸",sF.MPYTHON_TOUCH_EVENT_UNPRESSED="释放",sF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 当 %2 时",sF.MPYTHON_CUSTOM_EVENT_HELPURL="",sF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定义事件与定时器共用 1/2/4/7/8/9/10,不可同时占用一个端口。\n最大同时创建4个事件/定时器,如果存在冲突,请尝试换一个编号。",sF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_music_range_pitch_TOOLTIP="时长为单个频率的时长",sF.mpython_music_range_pitch_MESSAGE0="播放音调 从%1 到%2 步长%3 时长%4 毫秒 引脚 %5",sF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_neopixel_init_TOOLTIP="",sF.mpython_neopixel_init_MESSAGE0="灯带初始化 名称%1 引脚%2 数量%3",sF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",sF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹灯效 灯带%1 数量 %2 亮度 %3 偏移 %4",sF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",sF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度调节, 范围 0 ~ 100",sF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="灯带 %1 设置亮度为 %2",sF.mpython_neopixel_single_TOOLTIP="",sF.mpython_neopixel_single_MESSAGE0="灯带%1 %2号 红%3 绿%4 蓝%5",sF.mpython_neopixel_single_gui_MESSAGE0="灯带 %1 %2号 颜色为 %3",sF.mpython_neopixel_single_gui_TOOLTIP="",sF.mpython_neopixel_show_TOOLTIP="",sF.mpython_neopixel_show_MESSAGE0="灯带%1 设置生效",sF.mpython_neopixel_off_TOOLTIP="",sF.mpython_neopixel_off_MESSAGE0="灯带%1 关闭",sF.mpython_neopixel_all_TOOLTIP="",sF.mpython_neopixel_all_MESSAGE0="灯带%1 全亮 红%2 绿%3 蓝%4",sF.mpython_neopixel_all_gui_TOOLTIP="",sF.mpython_neopixel_all_gui_MESSAGE0="灯带%1 全亮 颜色%2",sF.mpython_image_to_oled_MESSAGE0="打开图片 %1 宽 %2 高 %3",sF.mpython_image_to_oled_TOOLTIP="",sF.mpython_time_localtime_MESSAGE0="本地时间 %1",sF.mpython_time_localtime_TOOLTIP="星期数:返回0~6,周一为0,周日为6\n天数:获取当前日期是一年中的第几天\n建议先连接wifi并获取网络时间",sF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",sF.mpython_WiFi_config_TOOLTIP="netmask-子网掩码;gateway-网关",sF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",sF.mpython_time_ticks_MESSAGE0="运行时间 %1",sF.mpython_time_ticks_TOOLTIP="",sF.MPYTHON_TIMER_DEF_MESSAGE0="定义定时器 %1",sF.MPYTHON_TIMER_INIT_MESSAGE0="启动定时器 %1 %2 周期 %3 毫秒",sF.mpython_Timer_MESSAGE0="设置定时器 %1 %2 周期 %3 毫秒",sF.mpython_Timer_TOOLTIP="创建定时器n,n=1-14。\n最大同时创建4个定时器,如果存在冲突,请尝试换一个编号。\n3用于内部程序,\n5/6用于伺服系统和ADC,\n11用于摇晃检测,\n12用于触摸键检测,\n13用于Radio和DHT11/DHT22定时取值(共用),\n14用于OneNET和倾斜检测(共用),\n其余端口与自定义事件共用。",sF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",sF.mpython_sway_xyz_MESSAGE0="%1 摇晃掌控板",sF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,触摸键 'python' 靠近使用者,开始左右或前后摇晃掌控板",sF.mpython_init_bluetooth_MESSAGE0="初始化 蓝牙名称%1",sF.mpython_init_bluetooth_TOOLTIP="初始化 蓝牙名称",sF.mpython_OnOff_bluetooth_MESSAGE0="蓝牙设备 %1广播",sF.mpython_OnOff_bluetooth_TOOLTIP="蓝牙设备 开启或关闭广播",sF.mpython_HID_keyboard_bluetooth_MESSAGE0="键盘 按键%1",sF.mpython_HID_keyboard_bluetooth_TOOLTIP="HID键盘设备",sF.mpython_HID_consumer_bluetooth_MESSAGE0="消费类设备%1 状态%2",sF.mpython_HID_consumer_bluetooth_TOOLTIP="模拟HID消费类设备的控制器,如蓝牙遥控器",sF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="键盘 释放按键",sF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="键盘设备",sF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠标%1",sF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠标设备",sF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠标 释放按键",sF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠标设备",sF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="鼠标 指针移动 x%2 y%1",sF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标指针坐标x,y轴的相对位移,范围-1023 ~ 1023",sF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="键盘 按键%1 组合按键%2",sF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",sF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="键盘 组合按键%1",sF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",sF.mpython_HID_keyboard_part_bluetooth_HELPURL="",sF.mpython_init_wifi_MESSAGE0="连接 Wi-Fi 名称 %1 密码 %2",sF.mpython_init_wifi_TOOLTIP="让掌控板接入Wi-Fi环境",sF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 设置静态IP %1 IP 地址 %2 子网掩码 %3 默认网关 %4 DNS %5",sF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",sF.MPYTHON_WIFI_IFCONFIG_HELPURL="",sF.mpython_dis_WiFi_MESSAGE0="断开 Wi-Fi 连接",sF.mpython_dis_WiFi_TOOLTIP="",sF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",sF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密码可以为空,或者8位以上的字母或数字。\nAP模式仅用于掌控板之间的相互通信,不可以作为热点,令其它设备上网。",sF.MPYTHON_ENABLE_APWIFI_MESSAGE0="开启 AP模式 名称 %1 密码 %2 信道 %3",sF.mpython_disable_APWiFi_MESSAGE0="关闭 AP模式",sF.mpython_disable_APWiFi_TOOLTIP="",sF.mpython_ntptime_settime_MESSAGE0="同步网络时间 时区 %1 授时服务器 %2",sF.mpython_ntptime_settime_TOOLTIP="NTP时间同步是一种时间同步网络技术",sF.mpython_wifi_get_date_MESSAGE0="获取当前日期",sF.mpython_wifi_get_date_TOOLTIP="获取当前日期字符串 示例:2020年12月12日",sF.mpython_wifi_get_time_MESSAGE0="获取当前时间",sF.mpython_wifi_get_time_TOOLTIP="获取当前时间字符串",sF.mpython_ntptime_timezone_E1="东1区",sF.mpython_ntptime_timezone_E2="东2区",sF.mpython_ntptime_timezone_E3="东3区",sF.mpython_ntptime_timezone_E4="东4区",sF.mpython_ntptime_timezone_E5="东5区",sF.mpython_ntptime_timezone_E6="东6区",sF.mpython_ntptime_timezone_E7="东7区",sF.mpython_ntptime_timezone_E8="东8区",sF.mpython_ntptime_timezone_E9="东9区",sF.mpython_ntptime_timezone_E10="东10区",sF.mpython_ntptime_timezone_E11="东11区",sF.mpython_ntptime_timezone_E12="东12区",sF.mpython_ntptime_timezone_0="中时区",sF.mpython_ntptime_timezone_W1="西1区",sF.mpython_ntptime_timezone_W2="西2区",sF.mpython_ntptime_timezone_W3="西3区",sF.mpython_ntptime_timezone_W4="西4区",sF.mpython_ntptime_timezone_W5="西5区",sF.mpython_ntptime_timezone_W6="西6区",sF.mpython_ntptime_timezone_W7="西7区",sF.mpython_ntptime_timezone_W8="西8区",sF.mpython_ntptime_timezone_W9="西9区",sF.mpython_ntptime_timezone_W10="西10区",sF.mpython_ntptime_timezone_W11="西11区",sF.mpython_ntptime_timezone_W12="西12区",sF.FILE_TO_LIST_HELPURL="",sF.FILE_TO_LIST_TOOLTIP="读出指定路径的文本文件内容(仅限utf-8格式),并转为列表形式,以分隔符分隔。",sF.FILE_TO_LIST_MESSAGE0="读取文本文件 %1 为列表 ,以 %2 分隔",sF.FILE_TO_BIN_HELPURL="",sF.FILE_TO_BIN_TOOLTIP="以二进制格式读出指定路径的文件内容。";sF.FILE_TO_BIN_MESSAGE0="读取文件 %1 的二进制内容",sF.MPYTHON_INIT_FILE_HELPURL="",sF.MPYTHON_INIT_FILE_TOOLTIP="初始化一个文本文件,如果文件不存在则创建文件,如果文件存在则清空内容。",sF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",sF.MPYTHON_WRITE_FILE_HELPURL="",sF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路径的文本文件写入内容,如果文件不存在则创建文件。",sF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 写入内容 %2 ,以 %3 分隔",sF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",sF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n须确保 SPI 总线的引脚与 micro SD 卡物理连接正确,并预先使用 FAT 或 FAT32 文件系统格式化 micro SD 卡。",sF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",sF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",sF.MPYTHON_SDCARD_MOUNT_TOOLTIP="挂载 SD 卡到指定路径。",sF.MPYTHON_SDCARD_MOUNT_MESSAGE0="挂载 SD 卡到路径 %1",sF.MPYTHON_ENTER="回车",sF.MPYTHON_COMMA="逗号",sF.MPYTHON_SEMICOLON="分号",sF.MPYTHON_SPACE="空格",sF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模拟时钟 x %1 y %2 半径 %3",sF.mpython_wifi_clock_TOOLTIP="需连接 Wi-Fi 使用",sF.mpython_def_clock_MESSAGE0="初始化时钟%1 x %2 y %3 半径 %4",sF.mpython_def_clock_TOOLTIP="",sF.mpython_settime_clock_MESSAGE0="时钟%1 读取时间",sF.mpython_settime_clock_TOOLTIP="",sF.mpython_draw_clear_clock_MESSAGE0="%1 时钟 %2",sF.mpython_draw_clear_clock_TOOLTIP="",sF.mpython_tinywebio_start_MESSAGE0="启动 TinyWebIO 服务 %1",sF.mpython_tinywebio_start_TOOLTIP="启动该服务需连接Wi-Fi,TinyWebIO服务为App Inventor应用提供远程控制接口的掌控板工具包",sF.mpython_tinywebio_client_setup_HELPURL="",sF.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引脚",sF.mpython_tinywebio_client_setup_MESSAGE0="设置 TinyWebIO 客户端参数 %1 TinyWebDB服务器地址 %2 向服务器发布的数据项 %3 从服务器读取的数据项 %4 存取服务器的时间间隔(ms) %5",sF.mpython_tinywebio_client_action_HELPURL="",sF.mpython_tinywebio_client_action_TOOLTIP="",sF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客户端",sF.mpython_tinywebio_client_action_start="启动",sF.mpython_tinywebio_client_action_stop="停止",sF.MPYTHON_CUSTOM_CODE_HELPURL="",sF.MPYTHON_CUSTOM_CODE_TOOLTIP="",sF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",sF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",sF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",sF.mpython_servo_angle0_MESSAGE0="设置舵机 %1 角度为 %2",sF.mpython_servo_angle_MESSAGE0="设置舵机 %1 角度为 %2 脉宽从 %3 到 %4 最大角度 %5",sF.mpython_servo_angle_TOOLTIP="电源线Vcc(红色)连接拓展板电源口V,地线GND(棕色)连接拓展板地线口G,控制信号线(橙色)连接所选的拓展板引脚",sF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",sF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",sF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 连接拓展板的电源口 V ,- 连接拓展板的地线口 G ,out 连接拓展板的引脚 0(即选引脚)",sF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",sF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",sF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",sF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",sF.mpython_music_note_TOOLTIP="音符,如C4:4",sF.mpython_return_list_MESSAGE0="定义列表 %1 = %2",sF.mpython_return_list_TOOLTIP="",sF.mpython_display_Show_MESSAGE0="OLED 显示生效",sF.mpython_display_Show_TOOLTIP="",sF.mpython_display_DispChar_MESSAGE0="显示文本 x %1 y %2 内容 %3 模式 %4 %5",sF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",sF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",sF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行显示 %2 模式 %3 %4",sF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",sF.mpython_line1="1",sF.mpython_line2="2",sF.mpython_line3="3",sF.mpython_line4="4",sF.mpython_line5="5",sF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",sF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",sF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="",sF.mpython_display_fill_0="清空",sF.mpython_display_fill_1="全亮",sF.mpython_display_invert_0="黑底",sF.mpython_display_invert_1="白底",sF.mpython_display_show="生效",sF.mpython_display_fill_MESSAGE0="OLED 显示 %1",sF.mpython_display_fill_TOOLTIP="",sF.mpython_display_pixel_0="暗",sF.mpython_display_pixel_1="亮",sF.mpython_display_pixel_MESSAGE0="描点 x %1 y %2 为 %3",sF.mpython_display_pixel_TOOLTIP="",sF.mpython_display_hline_0="擦除",sF.mpython_display_hline_1="绘制",sF.mpython_display_hline_MESSAGE0="%1 水平线%2 x%3 y%4 长度%5",sF.mpython_display_hline_TOOLTIP="",sF.mpython_ProgressBar_MESSAGE0="进度条%1 x%2 y%3 宽%4 高%5 进度%6",sF.mpython_ProgressBar_TOOLTIP="",sF.mpython_stripBar_MESSAGE0="柱状条%1 x%2 y%3 宽%4 高%5 进度%6",sF.mpython_stripBar_TOOLTIP="",sF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",sF.MPYTHON_QR_CODE_TOOLTIP="",sF.MPYTHON_QR_CODE_MESSAGE0="在坐标 x %1 y %2 绘制二维码 %3 尺寸 %4",sF.MPYTHON_DISPLAY_MODE_0="擦除",sF.MPYTHON_DISPLAY_MODE_1="绘制",sF.MPYTHON_DISPLAY_HOLLOW="空心",sF.MPYTHON_DISPLAY_SOLID="实心",sF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 线 %3 x %4 y %5 长度 %6",sF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",sF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 宽 %6 高 %7",sF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",sF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圆 %3 x %4 y %5 半径 %6",sF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",sF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",sF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",sF.MPYTHON_RGB_0="0 #",sF.MPYTHON_RGB_1="1 #",sF.MPYTHON_RGB_2="2 #",sF.MPYTHON_RGB_ALL="所有",sF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="设置 %1 RGB 灯颜色为 %2",sF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="设置 %1 RGB 灯颜色为 R %2 G %3 B %4",sF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.MPYTHON_OFF_RGB_LIST_MESSAGE0="关闭 %1 RGB 灯",sF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",sF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音乐 %1 引脚 %2",sF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放内置的音乐",sF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音乐 %1 直到完成 , 引脚 %2",sF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放内置的音乐",sF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖国",sF.MPYTHON_MUSIC_DONG_FANG_HONG="东方红",sF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩云追月",sF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走进新时代",sF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",sF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小调",sF.mpython_display_vline_MESSAGE0="%1 垂直线%2 x%3 y%4 长度%5",sF.mpython_display_vline_TOOLTIP="",sF.mpython_display_line_MESSAGE0="%1 线%2 x1 %3 y1 %4 到 x2 %5 y2 %6",sF.mpython_display_line_TOOLTIP="",sF.mpython_display_rect_MESSAGE0="%1 边框%2 x %3 y %4 宽 %5 高 %6",sF.mpython_display_rect_TOOLTIP="",sF.mpython_display_RoundRect_MESSAGE0="%1 弧角边框%2 x %3 y %4 宽 %5 高 %6 半径%7",sF.mpython_display_RoundRect_TOOLTIP="",sF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 宽 %5 高 %6 ",sF.mpython_display_fill_rect_TOOLTIP="",sF.mpython_display_fill_circle_MESSAGE0="%1 实心圆%2 x %3 y %4 半径 %5",sF.mpython_display_fill_circle_TOOLTIP="",sF.mpython_display_circle_MESSAGE0="%1 空心圆%2 x %3 y %4 半径 %5",sF.mpython_display_circle_TOOLTIP="",sF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",sF.mpython_display_triangle_TOOLTIP="",sF.mpython_display_fill_triangle_MESSAGE0="%1 实心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",sF.mpython_display_fill_triangle_TOOLTIP="",sF.mpython_display_Bitmap_MESSAGE0="%1 图像 x%2 y%3 宽%4 高%5 16进制图像数据 %6",sF.mpython_display_Bitmap_TOOLTIP="将16进制图像数据显示在OLED屏的指定位置",sF.MPYTHON_GET_PBM_DATA_MESSAGE0="获取内置图像 %1 模式%2",sF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp 格式的单色图像文件,获取指定路径的图像文件数据,返回一个元组对象。",sF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",sF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="获取自定义图像 %1 模式%2",sF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐标 x %1 y %2 显示图像 %3",sF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的单色图像文件",sF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",sF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐标 x %1 y %2 显示图像 %5 宽 %3 高 %4",sF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",sF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",sF.mpython_horizontal="水平",sF.mpython_vertical="垂直",sF.mpython_display_FrameBuffer_MESSAGE0="构建帧 列表 %1 长 %2 宽 %3 扫描模式 %4",sF.mpython_display_FrameBuffer_TOOLTIP="用图像取模后数据的列表 ,创建128x64的帧缓存区,以储存图片帧",sF.MPYTHON_FONT_DIGIFACE_11="仿数码管 11像素",sF.MPYTHON_FONT_DIGIFACE_16="仿数码管 16像素",sF.MPYTHON_FONT_DIGIFACE_21="仿数码管 21像素",sF.MPYTHON_FONT_DIGIFACE_30="仿数码管 30像素",sF.MPYTHON_FONT_DIGIFACE_44="仿数码管 44像素",sF.MPYTHON_FONT_DIGIFACE_IT_30="仿数码管 斜体 30像素",sF.MPYTHON_FONT_DIGIFACE_IT_42="仿数码管 斜体 42像素",sF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",sF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",sF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",sF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑体 12像素",sF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑体 16像素",sF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑体 21像素",sF.MPYTHON_FONT_WRAP="自动换行",sF.MPYTHON_FONT_NO_WRAP="不换行",sF.MPYTHON_FACE_1="心形",sF.MPYTHON_FACE_2="心形(小)",sF.MPYTHON_FACE_3="高兴",sF.MPYTHON_FACE_4="笑脸",sF.MPYTHON_FACE_5="伤心",sF.MPYTHON_FACE_6="困惑",sF.MPYTHON_FACE_7="生气",sF.MPYTHON_FACE_8="睡着",sF.MPYTHON_FACE_9="惊讶",sF.MPYTHON_FACE_10="愚蠢",sF.MPYTHON_FACE_11="极妙",sF.MPYTHON_FACE_12="无聊",sF.MPYTHON_FACE_ROCK="石头",sF.MPYTHON_FACE_PAPER="布",sF.MPYTHON_FACE_SCISSORS="剪刀",sF.MPYTHON_FACE_ROCK_S="石头(小)",sF.MPYTHON_FACE_PAPER_S="布(小)",sF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",sF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐标 x %1 y %2 显示 %3 以 %4 字体 %5",sF.MPYTHON_DISPLAY_FONT_TOOLTIP="",sF.MPYTHON_DISPLAY_FONT_HELPURL="",sF.mpython_front="正向",sF.mpython_reverse="反转",sF.mpython_display_blit_MESSAGE0="显示帧 坐标x %1 y %2",sF.mpython_display_blit_TOOLTIP="",sF.mpython_front_reverse_MESSAGE0="像素点bit %1",sF.mpython_front_reverse_TOOLTIP="用于显示之前",sF.mpython_images_append_MESSAGE0="动图显示 帧数%1 周期%2 长%3 宽%4",sF.mpython_images_append_TOOLTIP="上传至掌控板的pbm图片需命名为IMAGE.数字,后缀为pbm。如:IMAGE.1.pbm。帧数为7则数字为1至7",sF.mpython_button_is_pressed_MESSAGE0="按键%1 被按下",sF.mpython_button_is_pressed_TOOLTIP="",sF.mpython_button_both_pressed_MESSAGE0="AB按键都按下",sF.mpython_button_both_pressed_TOOLTIP="",sF.mpython_touchPad_value_MESSAGE0="按键%1 被触摸",sF.mpython_touchPad_value_TOOLTIP="",sF.mpython_touchPad_value_num_MESSAGE0="按键%1 触摸值",sF.mpython_touchPad_value_num_TOOLTIP="",sF.mpython_read_digital_MESSAGE0="读取引脚%1 数字值",sF.mpython_read_digital_TOOLTIP="",sF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水温度传感器 引脚 %1",sF.mpython_read_DS18B20_TOOLTIP="",sF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",sF.mpython_set_digital_MESSAGE0="设置引脚 %2 数字值为 %1",sF.mpython_set_digital_TOOLTIP="",sF.mpython_read_analog_MESSAGE0="读取引脚 %1 模拟值",sF.mpython_read_analog_TOOLTIP="",sF.mpython_set_analog_MESSAGE0="设置引脚 %2 模拟值(PWM)为 %1",sF.mpython_set_analog_TOOLTIP="模拟输出是通过IO引脚输出脉宽调制信号,输出指定的电压值,简称PWM。",sF.mpython_set_RGB_MESSAGE0="设置 %1 号 RGB 灯颜色为 R %2 G %3 B %4",sF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_set_RGB_color_MESSAGE0="设置 %1 号 RGB 灯颜色为 %2",sF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_set_RGB_all_MESSAGE0="设置所有 RGB 灯颜色为 R %1 G %2 B %3",sF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_set_RGB_color_all_MESSAGE0="设置所有 RGB 灯颜色为 %1",sF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",sF.mpython_fresh_RGB_MESSAGE0="RGB 灯设置生效",sF.mpython_fresh_RGB_TOOLTIP="",sF.mpython_off_RGB_MESSAGE0="关闭 RGB 灯",sF.mpython_off_RGB_TOOLTIP="",sF.mpython_buzz_state_MESSAGE0="停止播放音乐",sF.mpython_buzz_state_TOOLTIP="",sF.mpython_buzz_freq_MESSAGE0="播放连续音调 %1 引脚 %2",sF.mpython_buzz_freq_TOOLTIP="",sF.mpython_buzz_tone_MESSAGE0="播放音调 %1",sF.mpython_buzz_tone_TOOLTIP="",sF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",sF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默认是掌控板的P6引脚",sF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",sF.MPYTHON_MUSIC_TONE_HELPURL="",sF.MPYTHON_MUSIC_TONE_TOOLTIP="",sF.MPYTHON_MUSIC_TONE_MESSAGE0="音调 %1",sF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",sF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",sF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 节拍 %2",sF.MPYTHON_MUSIC_TICK_HELPURL="",sF.MPYTHON_MUSIC_TICK_TOOLTIP="",sF.MPYTHON_MUSIC_TICK_MESSAGE0="节拍 %1",sF.MPYTHON_4_LINES_HELPURL="",sF.MPYTHON_4_LINES_TOOLTIP="",sF.MPYTHON_4_LINES_MESSAGE0="%1",sF.NUMBER_1="1",sF.NUMBER_1_2="1/2",sF.NUMBER_1_4="1/4",sF.NUMBER_2="2",sF.NUMBER_4="4",sF.mpython_read_sound_MESSAGE0="声音值",sF.mpython_read_sound_TOOLTIP="",sF.mpython_read_light_MESSAGE0="光线值",sF.mpython_read_light_TOOLTIP="",sF.mpython_accelerometer_get_MESSAGE0="%1 轴加速度",sF.mpython_accelerometer_get_TOOLTIP="",sF.mpython_accelerometer_get_z_MESSAGE0="z轴加速度",sF.mpython_accelerometer_get_z_TOOLTIP="",sF.mpython_accelerometer_get_y_MESSAGE0="y轴加速度",sF.mpython_accelerometer_get_y_TOOLTIP="",sF.mpython_accelerometer_get_x_MESSAGE0="x轴加速度",sF.mpython_accelerometer_get_x_TOOLTIP="",sF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",sF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",sF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",sF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",sF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",sF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",sF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",sF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="设置加速度范围,默认为 ±2g。",sF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="设置加速度范围为 %1",sF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="设置加速度分辨率,默认为 10bits。",sF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="设置加速度分辨率为 %1",sF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校准加速度计的3个轴(x,y,z)的加速值偏差。\n一般情况下无需校准,只有遇到加速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1g。\n注意:校准数据断电后不会保存。",sF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校准加速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4",sF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 轴 磁力",sF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南针方向",sF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校准指南针",sF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除当前环境磁场",sF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="仅适用于掌控板2.0及以上版本",sF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁场强度",sF.MPYTHON_TILT_ANGLE_HELPURL="",sF.MPYTHON_TILT_ANGLE_TOOLTIP="",sF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 轴倾斜角",sF.mpython_random_choice_MESSAGE0="返回随机项%1",sF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的随机项",sF.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",sF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 电平持续时间(微秒)",sF.MACHINE_TIME_PULSE_US_TOOLTIP="",sF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",sF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",sF.MPYTHON_I2C_INIT_TOOLTIP="",sF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",sF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",sF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",sF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",sF.MPYTHON_I2C_SCAN_MESSAGE0="%1 扫描地址",sF.MPYTHON_I2C_SCAN_TOOLTIP="返回一个数组对象",sF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",sF.MPYTHON_I2C_DEINIT_MESSAGE0="关闭%1总线",sF.MPYTHON_I2C_DEINIT_TOOLTIP="",sF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",sF.MPYTHON_I2C_WRITETO_MESSAGE0="从%1 %5 地址%2 写入%3 停止位%4",sF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n写入:Number、String",sF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",sF.MPYTHON_I2C_READFROM_MESSAGE0="从%1 %5 地址%2 读取 字节数%3 停止位%4",sF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",sF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",sF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="从%1 %6 地址%2 读入缓存区%3 字节数%4 停止位%5",sF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",sF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",sF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 写入%3",sF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n写入:Number、String",sF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",sF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 读取 字节数%3",sF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",sF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",sF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="从%1 %6 地址%2 寄存器%5 读入缓存区%3 字节数%4",sF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",sF.mpython_print_MESSAGE0="调试输出 %1",sF.mpython_print_TOOLTIP="通过串口调试,输出字符串",sF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",sF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印数据到图表",sF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印数据到图表",sF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="数据",sF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",sF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="数据内容",sF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",sF.MPYTHON_INIT_CHART_TOOLTIP="",sF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化图表列标题",sF.MPYTHON_INIT_CHART_INPUT_WITH="初始化图表列标题",sF.MPYTHON_INIT_CHART_ITEM_TITLE="标题",sF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",sF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="数据列标题",sF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",sF.MPYTHON_MS="毫秒",sF.MPYTHON_US="微秒",sF.MPYTHON_TIME_DIFFERENCE_HELPURL="",sF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回运行时间差 开始时间 %1 结束时间 %2",sF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",sF.MPYTHON_TYPE_HELPURL="",sF.MPYTHON_TYPE_MESSAGE0="值 %1 的类型",sF.MPYTHON_TYPE_TOOLTIP="",sF.MPYTHON_TYPE_IS_HELPURL="",sF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的类型为 %2",sF.MPYTHON_TYPE_IS_TOOLTIP="",sF.MPYTHON_EVAL_HELPURL="",sF.MPYTHON_EVAL_MESSAGE0="计算表达式 %1 的结果",sF.MPYTHON_EVAL_TOOLTIP="计算字符串表达式,并返回结果",sF.MPYTHON_RETURN_HELPURL="",sF.MPYTHON_RETURN_MESSAGE0="返回 %1",sF.MPYTHON_RETURN_TOOLTIP="",sF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",sF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C数字光线",sF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",sF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",sF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",sF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元组形式返回所有wifi配置信息",sF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",sF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已连接到 WI-FI",sF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",sF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",sF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi连接 语音助手 Wi-Fi 名称 %1 密码 %2",sF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通过串口把WIF传给语音助手",sF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",sF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在文件系统将文件上传到板。",sF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="读取 语音助手 文本文件 %1",sF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",sF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="数码管显示 %1",sF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",sF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",sF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空数码管",sF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",sF.MPYTHON_MACHINE_RESET_HELPURL="",sF.MPYTHON_MACHINE_RESET_MESSAGE0="复位",sF.MPYTHON_MACHINE_RESET_TOOLTIP="与按下外部 RESET按键效果一样",sF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",sF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 颜色 %1",sF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 颜色",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",sF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",sF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 颜色 %1",sF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 颜色",sF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",sF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C电压传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁场传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C电导率传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C气压传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",sF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光电门传感器 拨码 %1",sF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",sF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",sF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 电机速度 %1",sF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",sF.MPYTHON_M1M2_LED_OFF_HELPURL="",sF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 关灯 %1",sF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",sF.MPYTHON_M1M2_LED_ON_HELPURL="",sF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 设灯 %1 亮度 %2",sF.MPYTHON_M1M2_LED_ON_TOOLTIP="",sF.MPYTHON_MUSIC_PIN_P6="默认",sF.MPYTHON_MUSIC_PIN_P6_HELPURL="",sF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",sF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",sF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",sF.MPYTHON_SLEEP_TOOLTIP="在进行下一个命令前,等待设定的时间。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符号ms(millisecond)\n微秒,符号μs(microsecond)",sF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="运行时间",sF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="获取开机或复位后的运行时间(毫秒)。",sF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",sF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="温度",sF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="获取 micro:bit 的温度(℃)。",sF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",sF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音乐 %1 等待 %2 循环 %3 引脚 %4",sF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放内置的音乐,可以设置等待模式和循环播放。",sF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",sF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音调 %1 %2 延时 %3 毫秒 引脚 %4",sF.MICROBIT_MUSIC_PITCH_TOOLTIP="在设定的时间长度里播放音调。",sF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",sF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循环 %4",sF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符为字符串形式。默认是掌控板的P6引脚",sF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",sF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",sF.MICROBIT_MUSIC_RESET_MESSAGE0="恢复音乐设置",sF.MICROBIT_MUSIC_RESET_TOOLTIP="将所有音乐设置 (当前节拍, 音阶和周期) 恢复成默认值。",sF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",sF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音乐 引脚 %1",sF.MICROBIT_MUSIC_STOP_TOOLTIP="默认是掌控板的P6引脚",sF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="设置每一拍等同 %1 分音符,每分钟节拍数 %2",sF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="设置回放速度 (节拍)。一定数量的滴答代表一拍,每拍每分钟播放次数 (BPM 每分钟节拍)。",sF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",sF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="设置播放速度为 %1 倍",sF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符为1拍,每分钟节拍数默认120,为1倍的播放速度",sF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",sF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="获取当前节拍",sF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="获取当前节拍: 每节拍滴答数, 每分钟节拍 (BPM)。",sF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",sF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引脚 %1 控制, neopixel 彩灯数 %2 ",sF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩灯。需要设定 neopixels 彩灯数量和控制脚。",sF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",sF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩灯 %1",sF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩灯",sF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",sF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="显示 neopixels 彩灯 %1",sF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="显示 / 更新全部 neopixels 彩灯。",sF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",sF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",sF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩灯的红、绿、蓝 (RGB) 颜色",sF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",sF.MICROBIT_PIN_TOUCHED_MESSAGE0="引脚 %1 被触摸",sF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引脚被触摸将返回 “真”。",sF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",sF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触摸",sF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引脚曾经被触摸将返回 “真”。",sF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",sF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引脚 %1 被触摸的次数",sF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被触摸的次数,然后清零。",sF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",sF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="读取引脚 %1 模拟电压",sF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="读取引脚的模拟输入电压。",sF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",sF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="设置模拟量 %1 到引脚 %2",sF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="写入模拟参数到指定引脚上。",sF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",sF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="读取引脚 %1 的数字输入",sF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="读取引脚的数字输入 (真 或 假)。",sF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",sF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="设置数字输出 %1 到引脚 %2",sF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="写入数字量 (真 或 假) 到指定引脚。",sF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",sF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",sF.MICROBIT_RADIO_ON_MESSAGE0="打开无线广播",sF.MICROBIT_RADIO_ON_TOOLTIP="打开无线广播。需要明确声明调用,因为它会消耗更多功率和占用更多内存。",sF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",sF.MICROBIT_RADIO_OFF_MESSAGE0="关闭无线广播",sF.MICROBIT_RADIO_OFF_TOOLTIP="关闭无线广播,节省功耗和内存。",sF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置无线广播消息长度 %1 %2 最大队列数量 %3 %4 信道 %5 %6 广播功率 %7 %8 地址 %9 %10 组 %11 %12 数据速率 %13",sF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置无线广播。\n 长度指单个消息的最大长度; \n 队列指可以存放在消息队列中消息的数量; \n 信道指无线广播使用的无线频率; \n 功率指发射广播信号的强度; \n 地址:32位值; \n 组:8位值(0-255); \n 数据速率指数据传输的速度。",sF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",sF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",sF.MICROBIT_RADIO_RESET_MESSAGE0="复位无线广播",sF.MICROBIT_RADIO_RESET_TOOLTIP="恢复无线广播到默认设置。",sF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="发送消息 %1",sF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="广播文字消息。",sF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",sF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="发送字节 %1",sF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="广播字节。",sF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",sF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",sF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",sF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",sF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字节",sF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字节。",sF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",sF.MICROBIT_SPEECH_SAY_MESSAGE0="说 %1",sF.MICROBIT_SPEECH_SAY_TOOLTIP="尝试说英语",sF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",sF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="读 %1",sF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精确发音。",sF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",sF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",sF.MICROBIT_SPEECH_SING_TOOLTIP="象机器人一样唱歌。",sF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",sF.MICROBIT_GESTURE_SHAKE="摇晃",sF.MICROBIT_GESTURE_UP="上",sF.MICROBIT_GESTURE_DOWN="下",sF.MICROBIT_GESTURE_LEFT="左",sF.MICROBIT_GESTURE_RIGHT="右",sF.MICROBIT_GESTURE_FACE_UP="朝上",sF.MICROBIT_GESTURE_FACE_DOWN="朝下",sF.MICROBIT_GESTURE_FREEFAIL="自由下落",sF.MICROBIT_IMAGE_HEART="心形",sF.MICROBIT_IMAGE_HEART_SMALL="心(小)",sF.MICROBIT_IMAGE_HAPPY="高兴",sF.MICROBIT_IMAGE_SMILE="笑脸",sF.MICROBIT_IMAGE_SAD="伤心",sF.MICROBIT_IMAGE_CONFUSED="困惑",sF.MICROBIT_IMAGE_ANGRY="生气",sF.MICROBIT_IMAGE_ASLEEP="睡着",sF.MICROBIT_IMAGE_SUPRISED="惊讶",sF.MICROBIT_IMAGE_SILLY="愚蠢",sF.MICROBIT_IMAGE_FABULOUS="极妙",sF.MICROBIT_IMAGE_MEH="无聊",sF.MICROBIT_IMAGE_YES="是",sF.MICROBIT_IMAGE_NO="否",sF.MICROBIT_IMAGE_CLOCK12="12点",sF.MICROBIT_IMAGE_CLOCK11="11点",sF.MICROBIT_IMAGE_CLOCK10="10点",sF.MICROBIT_IMAGE_CLOCK9="9点",sF.MICROBIT_IMAGE_CLOCK8="8点",sF.MICROBIT_IMAGE_CLOCK7="7点",sF.MICROBIT_IMAGE_CLOCK6="6点",sF.MICROBIT_IMAGE_CLOCK5="5点",sF.MICROBIT_IMAGE_CLOCK4="4点",sF.MICROBIT_IMAGE_CLOCK3="3点",sF.MICROBIT_IMAGE_CLOCK2="2点",sF.MICROBIT_IMAGE_CLOCK1="1点",sF.MICROBIT_IMAGE_ARROW_N="箭头-北",sF.MICROBIT_IMAGE_ARROW_NE="箭头-东北",sF.MICROBIT_IMAGE_ARROW_E="箭头-东",sF.MICROBIT_IMAGE_ARROW_SE="箭头-东南",sF.MICROBIT_IMAGE_ARROW_S="箭头-南",sF.MICROBIT_IMAGE_ARROW_SW="箭头-西南",sF.MICROBIT_IMAGE_ARROW_W="箭头-西",sF.MICROBIT_IMAGE_ARROW_NW="箭头-西北",sF.MICROBIT_IMAGE_TRIANGLE="三角形",sF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",sF.MICROBIT_IMAGE_CHESSBOARD="棋盘",sF.MICROBIT_IMAGE_DIAMOND="菱形",sF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",sF.MICROBIT_IMAGE_SQUARE="方形",sF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",sF.MICROBIT_IMAGE_RABBIT="兔子",sF.MICROBIT_IMAGE_COW="牛",sF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",sF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",sF.MICROBIT_IMAGE_MUSIC_QUAVERS="颤音",sF.MICROBIT_IMAGE_PITCHFORK="叉子",sF.MICROBIT_IMAGE_XMAS="圣诞树",sF.MICROBIT_IMAGE_PACMAN="吃豆人",sF.MICROBIT_IMAGE_TARGET="目标",sF.MICROBIT_IMAGE_TSHIRT="T恤衫",sF.MICROBIT_IMAGE_ROLLERSKATE="轮滑",sF.MICROBIT_IMAGE_DUCK="鸭子",sF.MICROBIT_IMAGE_HOUSE="房子",sF.MICROBIT_IMAGE_TORTOISE="乌龟",sF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",sF.MICROBIT_IMAGE_STICKFIGURE="线条画",sF.MICROBIT_IMAGE_GHOST="幽灵",sF.MICROBIT_IMAGE_SWORD="宝剑",sF.MICROBIT_IMAGE_GIRAFFE="长颈鹿",sF.MICROBIT_IMAGE_SKULL="头",sF.MICROBIT_IMAGE_UMBRELLA="伞",sF.MICROBIT_IMAGE_SNAKE="蛇",sF.MICROBIT_IMAGE_ALL_CLOCKS="所有时钟",sF.MICROBIT_IMAGE_ALL_ARROWS="所有箭头",sF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",sF.MICROBIT_PIN_SET_SERVO_TOOLTIP="设置舵机角度,范围为 0 ~ 180度",sF.MICROBIT_PIN_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",sF.MICROBIT_PIN_SET_MODE_HELPURL="",sF.MICROBIT_PIN_SET_MODE_TOOLTIP="引脚模式有三种:悬空、上拉、下拉",sF.MICROBIT_PIN_SET_MODE_MESSAGE0="设置引脚 %1 模式为 %2",sF.MICROBIT_PIN_MODE_NO="悬空",sF.MICROBIT_PIN_MODE_UP="上拉",sF.MICROBIT_PIN_MODE_DOWN="下拉",sF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",sF.MICROBIT_UART_INIT_TOOLTIP="",sF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",sF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到数据",sF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_READ_MSG_TOOLTIP="",sF.MICROBIT_UART_READ_MSG_MESSAGE0="读取串口 %1 字节",sF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",sF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="读取串口 %1 字节存至 %2",sF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",sF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",sF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口发送数据 %1",sF.MICROBIT_ALL_BYTES="全部",sF.MICROBIT_ALINE_BYTES="一行",sF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引脚 %1 被触发",sF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按键按下返回 “真”,否则返回 “假”。",sF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",sF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触发",sF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按键曾经按下过返回 “真”,否则返回 “假”。",sF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",sF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引脚 %1 被触发过的次数",sF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按键按下的总次数,然后清除计数。",sF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",sF.LABPLUS_LED_MESSAGE0="设置LED灯 引脚 %2 输出 %1",sF.LABPLUS_LED_TOOLTIP="",sF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",sF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="红外探测 引脚 %1 被触发",sF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",sF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="热敏传感器 引脚 %1 的值",sF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",sF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",sF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C数字光线传感器的值(lux)",sF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",sF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",sF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位传感器 引脚 %1 的值",sF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",sF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",sF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="烟雾探测器 引脚 %1 被触发",sF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",sF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_BUZZER_FOR_TOOLTIP="",sF.LABPLUS_BUZZER_FOR_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0 %2 毫秒",sF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_BUZZER_ON_TOOLTIP="",sF.LABPLUS_BUZZER_ON_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0",sF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_BUZZER_OFF_TOOLTIP="",sF.LABPLUS_BUZZER_OFF_MESSAGE0="关闭蜂鸣器 引脚0",sF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C温湿度传感器的 %1 值",sF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",sF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",sF.LABPLUS_TM_HM_SENSOR_TM="温度",sF.LABPLUS_TM_HM_SENSOR_HM="湿度",sF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",sF.LABPLUS_SET_SERVO_TOOLTIP="",sF.LABPLUS_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",sF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指纹传感器 引脚 %1 验证通过",sF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",sF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",sF.LABPLUS_SET_MOTOR_HELPURL="",sF.LABPLUS_SET_MOTOR_TOOLTIP="",sF.LABPLUS_SET_MOTOR_MESSAGE0="设置电机 %1 方向 %2 速度 %3",sF.LABPLUS_SET_MOTOR_CLOCKWISE="正转",sF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反转",sF.LABPLUS_STOP_MOTOR_HELPURL="",sF.LABPLUS_STOP_MOTOR_TOOLTIP="",sF.LABPLUS_STOP_MOTOR_MESSAGE0="停止电机",sF.LABPLUS_GET_RFID_ID_MESSAGE0="射频卡 引脚 %1 验证通过",sF.LABPLUS_GET_RFID_ID_TOOLTIP="",sF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",sF.LABPLUS_GET_RFID_VALUE_MESSAGE0="电子钱包 引脚 %1 余额",sF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",sF.LABPLUS_GET_RFID_VALUE_HELPURL="",sF.LABPLUS_SET_RFID_VALUE_MESSAGE0="设置电子钱包 引脚 %1 余额 %2 %3",sF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",sF.LABPLUS_SET_RFID_VALUE_HELPURL="",sF.LABPLUS_SET_RFID_ADD="增加",sF.LABPLUS_SET_RFID_MINUS="减少",sF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="声音传感器 引脚 %1 被触发",sF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",sF.LABPLUS_USB_SWITCH_HELPURL="",sF.LABPLUS_USB_SWITCH_TOOLTIP="",sF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB开关 引脚 %2",sF.LABPLUS_USB_SWITCH_ON="打开",sF.LABPLUS_USB_SWITCH_OFF="关闭",sF.LABPLUS_VOICE_RECORD_HELPURL="",sF.LABPLUS_VOICE_RECORD_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 语音录放器 引脚 %2",sF.LABPLUS_VOICE_RECORD_ON="打开",sF.LABPLUS_VOICE_RECORD_OFF="关闭",sF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引脚 %1 控制,RGB 彩灯数 %2 ",sF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩灯。需要设定 neopixels 彩灯数量和控制脚。",sF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",sF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩灯 %1",sF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩灯",sF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",sF.LABPLUS_RGB_SHOW_MESSAGE0="显示 RGB 彩灯 %1",sF.LABPLUS_RGB_SHOW_TOOLTIP="显示 / 更新全部 RGB 彩灯。",sF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",sF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",sF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩灯的红、绿、蓝 (RGB) 颜色",sF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="设置扩展端口 IO %1 为 %2",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示输出引脚,1表示输入引脚",sF.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",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="输入",sF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="输出",sF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",sF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",sF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="读取扩展端口值 IO %1",sF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",sF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",sF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="设置扩展端口 IO %1 值为 %2",sF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",sF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",sF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超声波传感器的值",sF.MICROBIT_SET_MUSIC_PIN_HELPURL="",sF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",sF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="设置默认蜂鸣器引脚为 %1",sF.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",sF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人体感应 引脚 %1 被触发",sF.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",sF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="门磁开关 引脚 %1 被触发",sF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",sF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",sF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="声音传感器 引脚 %1 的值",sF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",sF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",sF.LABPLUS_SMOKE_SENSOR_MESSAGE0="烟雾传感器 引脚 %1 的值",sF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",sF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",sF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤湿度传感器 引脚 %1 的值",sF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",sF.LABPLUS_FAN_SWITCH_TOOLTIP="",sF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 风扇 引脚 %2",sF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 引脚 %2",sF.LABPLUS_VOICE_RECORD_PLAY="播放",sF.LABPLUS_VOICE_RECORD_REC="录音",sF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 引脚 %1",sF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_ON_TOOLTIP="",sF.LABPLUS_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚 %3",sF.LABPLUS_MOTOR_ON_CLOCKWISE="正转",sF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反转",sF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_OFF_TOOLTIP="",sF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流电机 引脚 %1",sF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",sF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",sF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C颜色传感器读取并储存颜色",sF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",sF.LABPLUS_RGB_COLOR_TOOLTIP="读取已储存的颜色",sF.LABPLUS_RGB_COLOR_MESSAGE0="RGB颜色 %1",sF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",sF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",sF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="设置I2C数码管的值为 %1",sF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",sF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",sF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="关闭I2C数码管",sF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",sF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="设置MIDI模块音调为 %1",sF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",sF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模块 %2 音符 %1",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",sF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",sF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si";sF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",sF.LABPLUS_UART_OFF_MIDI_NOTE="停止",sF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",sF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模块停止播放音符 %1",sF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",sF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",sF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模块 %1",sF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",sF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循迹传感器 引脚 %1 检测为黑",sF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",sF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",sF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35温度传感器 引脚 %1 的值",sF.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",sF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",sF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋转电位器 引脚 %1 的值",sF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",sF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",sF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震动传感器 引脚 %1 被触发",sF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",sF.LABPLUS_LASER_SWITCH_TOOLTIP="",sF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光开关 引脚 %2",sF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",sF.LABPLUS_4BUTTON_TOOLTIP="",sF.LABPLUS_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",sF.BLUE="A",sF.GREEN="B",sF.RED="C",sF.YELLOW="D",sF.LABPLUS_JOYSTICK_HELPURL="",sF.LABPLUS_JOYSTICK_TOOLTIP="",sF.LABPLUS_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",sF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",sF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",sF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模块(UART)播放第 %1 首音乐",sF.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",sF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",sF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="设置MP3模块(UART)音量为 %1",sF.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",sF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",sF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="设置MP3模块(UART)状态为 %1",sF.PAUSE="暂停",sF.STOP="停止",sF.PLAY="继续播放",sF.PLAYNEXT="下一首",sF.PLAYPREV="上一首",sF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_INIT_TOOLTIP="",sF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",sF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打开录放器 %1 %2 引脚REC %3 引脚PLAY %4",sF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",sF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",sF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="关闭录放器 %1 引脚REC %2 引脚PLAY %3",sF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_ON1_TOOLTIP="",sF.LABPLUS_MOTOR_ON1_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",sF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",sF.LABPLUS_MOTOR_OFF1_TOOLTIP="",sF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",sF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",sF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="设置LCD游标位置%1 X %2 Y %3",sF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",sF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="设置LCD显示 %1",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循环次数使用",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滚动LCD显示内容",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",sF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",sF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",sF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",sF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD显示内容",sF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",sF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到数据",sF.BLUEBIT_UART="串口",sF.BLUEBIT_INFRARED_SIGNAL="红外信号",sF.BLUEBIT_BLUEBOOTH="蓝牙",sF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_READ_MSG_TOOLTIP="",sF.LABPLUS_UART_READ_MSG_MESSAGE0="读取 %1 数据",sF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",sF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",sF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 发送数据 %2",sF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",sF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",sF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="设置点阵 %1 第一行显示%2 第二行显示%3 第三行显示%4 第四行显示%5 第五行显示%6 第六行显示%7 第七行显示%8 第八行显示%9 ",sF.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",sF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",sF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",sF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空点阵",sF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",sF.LABPLUS_UART_SET_OLED_TOOLTIP="",sF.LABPLUS_UART_SET_OLED_MESSAGE0="设置OLED屏 %1 X %2 Y %3 显示文本 %4 字体为 %5",sF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",sF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",sF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩阵 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",sF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",sF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",sF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",sF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",sF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",sF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模拟光线传感器 引脚 %1 的值",sF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",sF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按键模块 引脚 %1 被按下",sF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",sF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="设置舵机 %1 的角度为 %2",sF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",sF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="设置马达 %1 方向 %2 速度 %3",sF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",sF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止马达 %1",sF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="声音传感器的值",sF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",sF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光线传感器的值",sF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",sF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",sF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_INIT_I2C_TOOLTIP="",sF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 频率 %1 引脚SDA %2 引脚SCL %3",sF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_I2C_READ_TOOLTIP="",sF.MICROBIT_I2C_READ_MESSAGE0="I2C读取从地址 %1 读取 %2 字节",sF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_I2C_WRITE_TOOLTIP="",sF.MICROBIT_I2C_WRITE_MESSAGE0="I2C写入 %2 到地址 %1",sF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",sF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",sF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",sF.BOTBIT_MOTOR_ON_HELPURL="",sF.BOTBIT_MOTOR_ON_TOOLTIP="范围:-2000~2000",sF.BOTBIT_MOTOR_ON_MESSAGE0="设置机器人 %1 右轮速度为 %2 左轮速度为 %3",sF.BOTBIT_MOTOR_LEFT="左",sF.BOTBIT_MOTOR_RIGHT="右",sF.BOTBIT_SERVO_UP="上方",sF.BOTBIT_SERVO_DOWN="下方",sF.BOTBIT_MOTOR_FORWARD="前进",sF.BOTBIT_MOTOR_BACKWARD="后退",sF.BOTBIT_HOLDBALL_HELPURL="",sF.BOTBIT_HOLDBALL_TOOLTIP="",sF.BOTBIT_HOLDBALL_MESSAGE0="双臂抱起",sF.BOTBIT_STEERING_ENGINEL_HELPURL="",sF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度范围为-45°~45°",sF.BOTBIT_STEERING_ENGINEL_MESSAGE0="设置 %1臂 %2的角度为 %3",sF.BOTBIT_SERVO_Y="Y轴舵机",sF.BOTBIT_SERVO_X="X轴舵机",sF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",sF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度范围为-45°~45°",sF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="设置 %1腿 %2舵机的角度为 %3",sF.BOTBIT_UPDATEPOSITION_HELPURL="",sF.BOTBIT_UPDATEPOSITION_TOOLTIP="",sF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵机角度",sF.BOTBIT_ULTRASONIC_HELPURL="",sF.BOTBIT_ULTRASONIC_TOOLTIP="",sF.BOTBIT_ULTRASONIC_MESSAGE0="超声波传感器的值",sF.BOTBIT_WALKING_HELPURL="",sF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推荐1000~2000",sF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步数%2 周期%3 方向%1 ",sF.BOTBIT_WALKING_FORWARD="前",sF.BOTBIT_WALKING_BACK="后",sF.BOTBIT_MOONWALKER_HELPURL="",sF.BOTBIT_MOONWALKER_TOOLTIP="推荐周期1000~2000, 幅度10~50",sF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步数%2 周期%3 幅度%4 方向%1 ",sF.BOTBIT_MOONWALKER_L="左",sF.BOTBIT_MOONWALKER_R="右",sF.BOTBIT_CRUSAITO_HELPURL="",sF.BOTBIT_CRUSAITO_TOOLTIP="推荐步数2~10, 幅度10~50",sF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步数%2 周期%3 幅度%4 方向%1",sF.BOTBIT_CRUSAITO_CW="逆时针",sF.BOTBIT_CRUSAITO_ANTICW="顺时针",sF.BOTBIT_FLAPPING_HELPURL="",sF.BOTBIT_FLAPPING_TOOLTIP="推荐步数5~15, 幅度10~30, 周期1000~2000",sF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步数%2 周期%3 幅度%4 方向%1",sF.BOTBIT_FLAPPING_FORWARD="前",sF.BOTBIT_FLAPPING_BACK="后",sF.BOTBIT_HOME_HELPURL="",sF.BOTBIT_HOME_TOOLTIP="",sF.BOTBIT_HOME_MESSAGE0="机器人舞步初始化",sF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",sF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",sF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="设置MIDI模块音量为 %1",sF.labplus_mapping_MESSAGE0="映射%1 从%2 , %3到%4 , %5",sF.labplus_mapping_TOOLTIP="将0~100中的10映射到0~200中并返回映射值",sF.labplus_mapping_HELPURL="",sF.JOINT_MIDI_PIANO="平台钢琴",sF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",sF.JOINT_MIDI_ELECTRICGRANDPIANO="电钢琴",sF.JOINT_MIDI_HARPSICHORD="大键琴",sF.JOINT_MIDI_Celesta="钢片琴",sF.JOINT_MIDI_Glockenspiel="钟琴",sF.JOINT_MIDI_Musicalbox="音乐盒",sF.JOINT_MIDI_Marimba="马林巴琴",sF.JOINT_MIDI_Xylophone="木琴",sF.JOINT_MIDI_TubularBell="管钟",sF.JOINT_MIDI_Dulcimer="洋琴",sF.JOINT_Vibraphone="颤音琴",sF.JOINT_MIDI_ORGAN="音栓风琴",sF.JOINT_Acoustic_Guitar="木吉他",sF.JOINT_Electric_Guitar="电吉他",sF.JOINT_Acoustic_Bass="民谣贝斯",sF.JOINT_String_Ensemble="弦乐合奏",sF.JOINT_Violin="小提琴",sF.JOINT_Trumpet="小号",sF.JOINT_Sax="萨克斯",sF.JOINT_Steel_Drums="钢鼓",sF.JOINT_Lead="合成音主旋律",sF.JOINT_Pad="合成音衬底",sF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",sF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",sF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音调 %1",sF.Carbit_init_MESSAGE0="CarBit初始化",sF.Carbit_init_TOOLTIP="",sF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_setLeftMotor_MESSAGE0="B2电机速度 %1",sF.Carbit_setLeftMotor_TOOLTIP="范围:-100~100",sF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_setRightMotor_MESSAGE0="B1电机速度 %1",sF.Carbit_setRightMotor_TOOLTIP="范围:-100~100",sF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_analog_light_TOOLTIP="Q3对应Pin1,Q4对应Pin2",sF.Carbit_analog_light_MESSAGE0="%1 模拟光线的值",sF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_Speed_U10_TOOLTIP="对应U10",sF.Carbit_Speed_U10_MESSAGE0="左轮速度",sF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_Speed_U11_TOOLTIP="对应U11",sF.Carbit_Speed_U11_MESSAGE0="右轮速度",sF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_Distance_TOOLTIP="",sF.Carbit_Distance_MESSAGE0="超声波的值",sF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",sF.Carbit_tracking_TOOLTIP="",sF.Carbit_tracking_MESSAGE0="循迹参数 %1 直行速度 %2 最大限速 %3 转弯延时 %5 转弯速度系数 %4 ",sF.XUNFEI_SPEECH_TTS_HELPURL="",sF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音频文件格式只能是 *.pcm",sF.XUNFEI_SPEECH_TTS_MESSAGE0="[讯飞语音] 合成音频 %1 APPID %2 APISecret %3 APIKey %4 文字内容 %5 转存为音频文件 %6",sF.XUNFEI_SPEECH_IAT_HELPURL="",sF.XUNFEI_SPEECH_IAT_TOOLTIP="可识别的音频格式有 *.pcm 与 *.wav",sF.XUNFEI_SPEECH_IAT_MESSAGE0="[讯飞语音] 识别音频 %1 APPID %2 APISecret %3 APIKey %4 待识别音频文件 %5",sF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",sF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",sF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[讯飞语音] 识别结果",sF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",sF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",sF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",sF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",sF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",sF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",sF.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",sF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",sF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",sF.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",sF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",sF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",sF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",sF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",sF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",sF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",sF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",sF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",sF.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",sF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",sF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",sF.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",sF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",sF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",sF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",sF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",sF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",sF.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",sF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",sF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",sF.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",sF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",sF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",sF.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",sF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",sF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",sF.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",sF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",sF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",sF.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",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",sF.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",sF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="(掌控AI)寻找颜色 LAB值%1",sF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",sF.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",sF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",sF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追踪色块",sF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",sF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追踪颜色 显示%1",sF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",sF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1获取识别后色块的 所有参数",sF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1获取识别后色块的 x坐标",sF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 y坐标",sF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1获取识别后色块的 宽度",sF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1获取识别后色块的 高度",sF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1获取识别后色块的 数量",sF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1获取识别后色块的 中心x坐标",sF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 中心y坐标",sF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",sF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",sF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1获取识别后色块的 矩形",sF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",sF.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",sF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)选择训练模型 人脸",sF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.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",sF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 人脸识别",sF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",sF.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",sF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)获取识别后人脸的 所有参数",sF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",sF.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",sF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)获取识别后人脸的 x坐标",sF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",sF.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",sF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)获取识别后人脸的 y坐标",sF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",sF.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",sF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)获取识别后人脸的 宽度",sF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",sF.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",sF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)获取识别后人脸的 高度",sF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",sF.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",sF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)获取识别后人脸的 置信度",sF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",sF.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",sF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)获取识别后人脸的 数量",sF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",sF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",sF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",sF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",sF.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",sF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",sF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",sF.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",sF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)选择训练模型 20类",sF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.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",sF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 20类识别",sF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)获取识别后20类的 所有参数",sF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)获取识别后20类的 x坐标",sF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)获取识别后20类的 y坐标",sF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)获取识别后20类的 宽度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)获取识别后20类的 高度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)获取识别后20类的 置信度",sF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)获取识别后20类的 数量",sF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)获取识别后20类的 类型",sF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.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",sF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)获取识别后20类的 类型数量",sF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",sF.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",sF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)选择训练模型 手写数字",sF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",sF.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",sF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)调用摄像头进行 手写数字识别",sF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)获取识别后手写数字的 所有参数",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",sF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)获取识别后手写数字的 数字",sF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)获取识别后手写数字的 置信度",sF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",sF.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",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",sF.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",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="(掌控AI)获取 识别%1",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",sF.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",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="(掌控AI)获取 识别 所有参数",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",sF.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",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="(掌控AI)人脸识别",sF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",sF.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",sF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="(掌控AI)可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",sF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",sF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",sF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",sF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",sF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",sF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",sF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",sF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",sF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",sF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",sF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",sF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",sF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",sF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",sF.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",sF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",sF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",sF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",sF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",sF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",sF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",sF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",sF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",sF.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",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",sF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",sF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",sF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",sF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",sF.MPYTHON_ZKAI_SENSOR_ENABLE_START="开始抓取图像",sF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取图像",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平镜像",sF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻转",sF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="对比度",sF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",sF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="饱和度",sF.MPYTHON_ZKAI2_FACE_YOLO="人脸识别",sF.MPYTHON_ZKAI2_CLASS_20_YOLO="20类识别",sF.MPYTHON_ZKAI2_MNIST_NET="数字识别",sF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人脸",sF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="20类",sF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",sF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",sF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",sF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="声明python 运行环境",sF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",sF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C获取颜色",sF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",sF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",sF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C获取 %1",sF.MPYTHON_lARK_RED="红色",sF.MPYTHON__LARK_GREEN="绿色",sF.MPYTHON__LARK_BLUE="蓝色",sF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C获取HSV",sF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C获取HSV %1",sF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",sF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C获取颜色",sF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",sF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="识别 %1",sF.MPYTHON_LARK_RED="红色",sF.MPYTHON_LARK_GREEN="绿色",sF.MPYTHON_LARK_BLUE="蓝色",sF.MPYTHON_LARK_ORANGE="橙色",sF.MPYTHON_LARK_YELLOW="黄色",sF.MPYTHON_LARK_PURPLE="紫色",sF.MPYTHON_LARK_CYAN="青色",sF.MPYTHON_LARK_NONE="无色",sF.MPYTHON_LARK_NULL="无法获取",sF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",sF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超声波",sF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",sF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C设置 %1 速度 %2",sF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C获取 %1 巡线值",sF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右边",sF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左边",sF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循迹传感 %1 遇到黑线",sF.MPYTHON_LARK_SEARCH_LEFT="左边",sF.MPYTHON_LARK_SEARCH_RIGHT="右边",sF.MPYTHON_LARK_SEARCH_LEFT2="两边都",sF.MPYTHON_LARK_SEARCH_RIGHT2="两边都没有",sF.MPYTHON_LARK_SEARCH_BOTH="两边都",sF.MPYTHON_LARK_SEARCH_NONE="两边都没有",sF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",sF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里马获取颜色",sF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",sF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里马获取 %1",sF.MPYTHON_lARK_CAR_RED="红色",sF.MPYTHON__LARK_CAR_GREEN="绿色",sF.MPYTHON__LARK_CAR_BLUE="蓝色",sF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里马获取HSV",sF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",sF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里马获取HSV %1",sF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",sF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里马识别颜色",sF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",sF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里马识别颜色 %1",sF.MPYTHON_LARK_CAR_RED="红色",sF.MPYTHON_LARK_CAR_GREEN="绿色",sF.MPYTHON_LARK_CAR_BLUE="蓝色",sF.MPYTHON_LARK_CAR_ORANGE="橙色",sF.MPYTHON_LARK_CAR_YELLOW="黄色",sF.MPYTHON_LARK_CAR_PURPLE="紫色",sF.MPYTHON_LARK_CAR_CYAN="青色",sF.MPYTHON_LARK_CAR_NONE="无识别",sF.MPYTHON_LARK_CAR_NULL="识别错误",sF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",sF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里马获取超声波",sF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里马获取 %1 循迹数值",sF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右边",sF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左边",sF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",sF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里马循迹传感器 %1 碰到黑线",sF.MPYTHON_LARK_CAR_SEARCH_LEFT="左边",sF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右边",sF.MPYTHON_LARK_CAR_SEARCH_LEFT2="两边",sF.MPYTHON_LARK_CAR_SEARCH_NONE="两边都没有",sF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",sF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="电机驱动 %1 速度 %2",sF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",sF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里马 %1 速度 %2",sF.MPYTHON_LARK_CAR_MOTION_LEFT="左转",sF.MPYTHON_LARK_CAR_MOTION_RIGHT="右转",sF.MPYTHON_LARK_CAR_MOTION_FORWARD="前进",sF.MPYTHON_LARK_CAR_MOTION_BACKWARD="后退",sF.MPYTHON_LARK_CAR_MOTION_STOP="停止",sF.MPYTHON_DEFINE_THREAD_MESSAGE0="定义线程 %1",sF.MPYTHON_RUN_THREAD_MESSAGE0="运行线程 %1",sF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 转换数字为bytes %1 %2 %3 %4 待转换数字 %5",sF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes为数字 %1 %2 %3 %4 待转换bytes %5",sF.LITTLE_ENDIAN="低位优先(默认)",sF.BIG_ENDIAN="高位优先",sF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[适用2.0板] 当掌控板 %1 时",sF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",sF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向后倾斜",sF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",sF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",sF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被单击",sF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被双击",sF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="坠落",sF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="横滚角",sF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",sF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",sF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",sF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",sF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",sF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",sF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按键 %1 已经按下",sF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",sF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",sF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按键 %1 曾经按下",sF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",sF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",sF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按键 %1 按下过的次数",sF.MPYTHON2_BUTTON_EVENT_MESSAGE0="当按键 %1 被 %2 时",sF.MPYTHON2_BUTTON_EVENT_HELPURL="",sF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",sF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",sF.MPYTHON2_BUTTON_EVENT_RELEASED="松开",sF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",sF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="触摸键 %1 已经按下",sF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",sF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="触摸键 %1 曾经按下",sF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",sF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="触摸键 %1 按下过的次数",sF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",sF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="触摸键 %1 值",sF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",sF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",sF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",sF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="触摸",sF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="释放",sF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="设置触摸键 %1 阀值为 %2",sF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",sF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",sF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",sF.BLE_UUID_TOOLTIP="",sF.BLE_SETUP_PERIPHERAL_HELPURL="",sF.BLE_SETUP_PERIPHERAL_TOOLTIP="",sF.BLE_SETUP_PERIPHERAL_MESSAGE0="构建 BLE 外围设备对象 %1 显示名称 %2 Service UUID %3",sF.BLE_ADD_CHARACTERISTIC_HELPURL="",sF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",sF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定义 BLE 属性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",sF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",sF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",sF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外围设备 %1",sF.BLE_START_BROADCASTING="开始广播",sF.BLE_STOP_BROADCASTING="停止广播",sF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",sF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",sF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="读 BLE 设备的属性 %1",sF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",sF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",sF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="写 BLE 设备的属性 %1 %2 值 %3 Notify %4",sF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",sF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",sF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外围设备断开连接",sF.BLE_PERIPHERAL_MAC_HELPURL="",sF.BLE_PERIPHERAL_MAC_TOOLTIP="",sF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外围设备 MAC地址",sF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",sF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",sF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="当 BLE 与中央设备建立连接时 %1 连接句柄 %2 地址类型 %3 中央设备的MAC地址 %4",sF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",sF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",sF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="当 BLE 设备的属性值被改写时 %1 连接句柄 %2 被写属性句柄 %3 写入的数据 %4",sF.BLE_SETUP_CENTERAL_HELPURL="",sF.BLE_SETUP_CENTERAL_TOOLTIP="",sF.BLE_SETUP_CENTERAL_MESSAGE0="构建 BLE 中央设备对象 显示名称 %1",sF.BLE_CENTERAL_CONNECT_HELPURL="",sF.BLE_CENTERAL_CONNECT_TOOLTIP="",sF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央设备连接到 %1 %2",sF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",sF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",sF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外围设备已连接 ?",sF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",sF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",sF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="设定 %1 为 已连接外围设备 属性对象 %2 Service UUID %3 Characteristic UUID %4",sF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",sF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",sF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="读 已连接外围设备的 属性 %1 值",sF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",sF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",sF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="写 已连接外围设备的 属性 %1 值 %2",sF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",sF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",sF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="当 已连接外围设备发起 Notify 通知事件时 %1 属性的值柄 %2 通知的属性值 %3",sF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",sF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",sF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已连接的外围设备 %1",sF.BLE_CENTERAL_CLOSE_HELPURL="",sF.BLE_CENTERAL_CLOSE_TOOLTIP="",sF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央设备 断开连接",sF.BLE_INFO_NAME="蓝牙名称",sF.BLE_INFO_MAC="MAC地址",sF.BLE_INFO_RSSI="信号强度",sF.BLE_INFO_ADDRTYPE="地址类型",sF.BLE_INFO_ADVTYPE="广播类型",sF.BLE_INFO_DATA="原始数据(元组)",sF.BLE_SETUP_UART_HELPURL="",sF.BLE_SETUP_UART_TOOLTIP="",sF.BLE_SETUP_UART_MESSAGE0="构建 BLE UART从机 显示名称 %1",sF.BLE_UART_IS_CONNECTED_HELPURL="",sF.BLE_UART_IS_CONNECTED_TOOLTIP="",sF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已连接 ?",sF.BLE_UART_ANY_HELPURL="",sF.BLE_UART_ANY_TOOLTIP="",sF.BLE_UART_ANY_MESSAGE0="BLE UART 可读字节数量",sF.BLE_UART_IRQ_HELPURL="",sF.BLE_UART_IRQ_TOOLTIP="",sF.BLE_UART_IRQ_MESSAGE0="当 BLE UART 接收到数据时 %1 执行 %2",sF.BLE_UART_READ_HELPURL="",sF.BLE_UART_READ_TOOLTIP="从 UART 另一端发送过来的消息",sF.BLE_UART_READ_MESSAGE0="已接收数据",sF.BLE_UART_WRITE_HELPURL="",sF.BLE_UART_WRITE_TOOLTIP="",sF.BLE_UART_WRITE_MESSAGE0="BLE UART 发送字节 %1",sF.BLE_UART_CLOSE_HELPURL="",sF.BLE_UART_CLOSE_TOOLTIP="",sF.BLE_UART_CLOSE_MESSAGE0="BLE UART 断开连接",sF.BLE_SETUP_UART_MASTER_HELPURL="",sF.BLE_SETUP_UART_MASTER_TOOLTIP="",sF.BLE_SETUP_UART_MASTER_MESSAGE0="构建 BLE UART主机 连接到 %1 %2",sF.BLE_SETUP_HID_HELPURL="",sF.BLE_SETUP_HID_TOOLTIP="",sF.BLE_SETUP_HID_MESSAGE0="构建 BLE HID %1 对象 %2 显示名称 %3 电池电量 %4",sF.BLE_HID_MOUSE="鼠标",sF.BLE_HID_KEYBOARD="键盘",sF.BLE_HID_CONSUMER="遥控器",sF.BLE_HID_ADVERTISE_HELPURL="",sF.BLE_HID_ADVERTISE_TOOLTIP="",sF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID设备 %1",sF.BLE_HID_CONNECT_EVENT_HELPURL="",sF.BLE_HID_CONNECT_EVENT_TOOLTIP="",sF.BLE_HID_CONNECT_EVENT_MESSAGE0="当 BLE HID设备 连接时",sF.BLE_HID_DISCONNECT_HELPURL="",sF.BLE_HID_DISCONNECT_TOOLTIP="",sF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID设备 断开连接",sF.BLE_HID_BATTERY_LEVEL_HELPURL="",sF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",sF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID设备 电池电量",sF.BLE_HID_MOUSE_BUTTONS_HELPURL="",sF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",sF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠标键 %1",sF.BLE_HID_MOUSE_CLICK_HELPURL="",sF.BLE_HID_MOUSE_CLICK_TOOLTIP="",sF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠标 点击按键 %1",sF.BLE_HID_MOUSE_PRESS_HELPURL="",sF.BLE_HID_MOUSE_PRESS_TOOLTIP="",sF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠标 长按按键 %1",sF.BLE_HID_MOUSE_RELEASE_HELPURL="",sF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",sF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠标 释放按键 %1",sF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",sF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",sF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠标 释放所有按键",sF.BLE_HID_MOUSE_MOVE_HELPURL="",sF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光标移动量,范围 ±127 。\nwheel - 滚轮,范围 ±127 。",sF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠标 光标移动 %1 X轴移动量 %2 Y轴移动量 %3 滚轮 %4",sF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",sF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",sF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="键盘按键 %1",sF.BLE_HID_KEYBOARD_SEND_HELPURL="",sF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",sF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 键盘 按下按键 %1",sF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",sF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",sF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 键盘 同时按下按键 %1 %2 %3",sF.BLE_HID_KEYBOARD_PRESS_HELPURL="",sF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",sF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 键盘 长按按键 %1",sF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",sF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",sF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 键盘 释放按键 %1",sF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",sF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",sF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 键盘 释放所有按键",sF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",sF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",sF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遥控器键 %1",sF.BLE_HID_CONSUMER_SEND_HELPURL="",sF.BLE_HID_CONSUMER_SEND_TOOLTIP="",sF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遥控器点击 %1",sF.BLE_SETUP_IBEACON_HELPURL="",sF.BLE_SETUP_IBEACON_TOOLTIP="",sF.BLE_SETUP_IBEACON_MESSAGE0="构建 BLE iBeacon设备 %1 UUID %2 major %3 minor %4",sF.BLE_IBEACON_ADVERTISE_HELPURL="",sF.BLE_IBEACON_ADVERTISE_TOOLTIP="",sF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon设备 %1",sF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",sF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回电量,单位mV",sF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的电压值(mV)",sF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",sF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回编码后的红外脉冲数据buff",sF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 红外脉冲任意编码 %1 载波频率(Hz) %2 code总数 %3 循环码位置 %4 code列表 %5 编码波形数据 %6",sF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",sF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回编码后的红外脉冲数据buff\n用户码:0~255\n命令码:0~255",sF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 红外脉冲NEC编码 %1 用户码 %2 命令码 %3",sF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",sF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",sF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 发送红外脉冲数据 %1 %2",sF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只发一次",sF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持续发送",sF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",sF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="当发送重复码后,使用此函数来停止发送。",sF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止发送红外脉冲数据",sF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",sF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="学习开始后,需等待4秒,之后返回学习结果。";sF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 开始红外学习",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 红外学习有结果 ?",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回学习后的“红外编码数据”,须在 learn 函数后使用。",sF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 学习到的红外编码数据",sF.MPYTHON_MLX90615_SET_HELPURL="",sF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接触测温传感器 设置发射系数%1",sF.MPYTHON_MLX90615_SET_TOOLTIP="",sF.MPYTHON_MLX90615_GET_HELPURL="",sF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接触测温传感器 获取系数",sF.MPYTHON_MLX90615_GET_TOOLTIP="",sF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",sF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接触测温传感器 获取测温",sF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",sF.MPYTHON_MQ135_INIT_HELPURL="",sF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 输出引脚%1 温度%2 ℃ 湿度%3 %",sF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 连接扩展板的电源口 V ,GND连接扩展板的地线口 G ,AO输出连接扩展板的引脚 P0/P1(即选引脚)\nMQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度",sF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",sF.MPYTHON_MQ135_OPTIONS_HELPURL="",sF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探测到的二氧化碳的百万分之一(假设只有空气中的二氧化碳) ppm浓度",sF.MPYTHON_MQ135_GET_RZERO="校正传感器电阻",sF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正传感器电阻(校准温度、湿度)",sF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度",sF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度(校准温度、湿度)",sF.mpython_gyroscope_get_HELPURL="",sF.mpython_gyroscope_get_MESSAGE0="%1 轴角速度",sF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版适用",sF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",sF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",sF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",sF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",sF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",sF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",sF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",sF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",sF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",sF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="设置角速度范围,默认为 ±256dps。仅适用于掌控板2.3及以上版本",sF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="设置角速度范围为 %1",sF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",sF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校准陀螺仪角速度计的3个轴(x,y,z)的角速度值偏差。\n一般情况下无需校准,只有遇到角速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1024dps。\n注意:v2.3版本以后适用",sF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校准角速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4";const OF=sF,IF={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”的變量。"};IF.PROCEDURES_DEFRETURN_TITLE=IF.PROCEDURES_DEFNORETURN_TITLE,IF.CONTROLS_IF_IF_TITLE_IF=IF.CONTROLS_IF_MSG_IF,IF.CONTROLS_WHILEUNTIL_INPUT_DO=IF.CONTROLS_REPEAT_INPUT_DO,IF.CONTROLS_IF_MSG_THEN=IF.CONTROLS_REPEAT_INPUT_DO,IF.TRY_EXCEPT_TRY="try",IF.CONTROLS_IF_ELSE_TITLE_ELSE=IF.CONTROLS_IF_MSG_ELSE,IF.CONTROLS_IF_ELSE_TITLE_ELSE=IF.CONTROLS_IF_MSG_ELSE,IF.PROCEDURES_DEFRETURN_PROCEDURE=IF.PROCEDURES_DEFNORETURN_PROCEDURE,IF.LISTS_GET_SUBLIST_INPUT_IN_LIST=IF.LISTS_INLIST,IF.LISTS_GET_INDEX_INPUT_IN_LIST=IF.LISTS_INLIST,IF.PROCEDURES_DEFRETURN_DO=IF.PROCEDURES_DEFNORETURN_DO,IF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=IF.CONTROLS_IF_MSG_ELSEIF,IF.LISTS_GET_INDEX_HELPURL=IF.LISTS_INDEX_OF_HELPURL,IF.CONTROLS_FOREACH_INPUT_DO=IF.CONTROLS_REPEAT_INPUT_DO,IF.LISTS_SET_INDEX_INPUT_IN_LIST=IF.LISTS_INLIST,IF.CONTROLS_FOR_INPUT_DO=IF.CONTROLS_REPEAT_INPUT_DO,IF.LISTS_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.TUPLE_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.DICT_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.SET_CREATE_WITH_ITEM_TITLE=IF.VARIABLES_DEFAULT_NAME,IF.TEXT_APPEND_VARIABLE=IF.VARIABLES_DEFAULT_NAME,IF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=IF.VARIABLES_DEFAULT_NAME,IF.MATH_CHANGE_TITLE_ITEM=IF.VARIABLES_DEFAULT_NAME,IF.LISTS_INDEX_OF_INPUT_IN_LIST=IF.LISTS_INLIST,IF.PROCEDURES_DEFRETURN_COMMENT=IF.PROCEDURES_DEFNORETURN_COMMENT,IF.MPYTHON_MAIN_HELPURL="",IF.MPYTHON_MAIN_TOOLTIP="這個圖形塊不是必須使用。但使用這個圖形塊,能使得程序結構更規整。",IF.MPYTHON_MAIN_MESSAGE0="主程式",IF.MPYTHON_OPEN="開啟",IF.MPYTHON_CLOSE="關閉",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",IF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",IF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",IF.MPYTHON_AI_SENSOR_ENABLE_START="開始抓取圖像",IF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取圖像",IF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平鏡像",IF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻轉",IF.MPYTHON_AI_SENSOR_SETS_CONTRAST="對比度",IF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",IF.MPYTHON_AI_SENSOR_SETS_SATURATION="飽和度",IF.MPYTHON_AI2_FACE_YOLO="人臉識別",IF.MPYTHON_AI2_CLASS_20_YOLO="20類識別",IF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",IF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",IF.TEXT_APPEND_TEXT_HELPURL="",IF.TEXT_APPEND_TEXT_TOOLTIP="",IF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",IF.CHINA_CITY_MESSAGE0="%1 %2",IF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",IF.CHINA_CITY_CNNAME="中文簡稱",IF.CHINA_CITY_PINYIN="拼音",IF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",IF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",IF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",IF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",IF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天氣] %1 信息 %2 地理位置 %3 API私鑰 %4 %5 語言 %6 %7 溫度單位 %8",IF.MPYTHON_SENIVERSE_WEATHER_API_1="天氣實況",IF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天氣預報",IF.MPYTHON_SENIVERSE_WEATHER_API_3="6項生活指數",IF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="攝氏度",IF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="華氏度",IF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",IF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",IF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="設定 %1 為 %2",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天氣] 通用字段 %2",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天氣] 天氣實況 %2",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="風向角度,範圍0~360\n風速,單位km/h(當unit=c時)、mph(當unit=f時)",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天氣] 3天天氣預報 %2 的 %3",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",IF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天氣] 6項生活指數 %2",IF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名稱",IF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",IF.MPYTHON_SENIVERSE_WEATHER_country="國家代碼",IF.MPYTHON_SENIVERSE_WEATHER_path="行政歸屬",IF.MPYTHON_SENIVERSE_WEATHER_timezone="時區",IF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",IF.MPYTHON_SENIVERSE_WEATHER_last_update_date="數據更新日期",IF.MPYTHON_SENIVERSE_WEATHER_last_update="數據更新時間",IF.MPYTHON_SENIVERSE_WEATHER_object="原始字典對象",IF.MPYTHON_SENIVERSE_WEATHER_text="天氣現象",IF.MPYTHON_SENIVERSE_WEATHER_code="天氣現象代碼",IF.MPYTHON_SENIVERSE_WEATHER_temperature="溫度",IF.MPYTHON_SENIVERSE_WEATHER_today="今天",IF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",IF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="後天",IF.MPYTHON_SENIVERSE_WEATHER_date="日期",IF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天氣現象",IF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天氣現象代碼",IF.MPYTHON_SENIVERSE_WEATHER_text_night="晚間天氣現象",IF.MPYTHON_SENIVERSE_WEATHER_code_night="晚間天氣現象代碼",IF.MPYTHON_SENIVERSE_WEATHER_high="當天最高溫度",IF.MPYTHON_SENIVERSE_WEATHER_low="當天最低溫度",IF.MPYTHON_SENIVERSE_WEATHER_wind_direction="風向",IF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="風向角度",IF.MPYTHON_SENIVERSE_WEATHER_wind_speed="風速",IF.MPYTHON_SENIVERSE_WEATHER_wind_scale="風力等級",IF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗車指數",IF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指數",IF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指數",IF.MPYTHON_SENIVERSE_WEATHER_sport="運動指數",IF.MPYTHON_SENIVERSE_WEATHER_travel="旅遊指數",IF.MPYTHON_SENIVERSE_WEATHER_uv="紫外線指數",IF.MPYTHON_RED="紅",IF.MPYTHON_GREEN="綠",IF.MPYTHON_BLUE="藍",IF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射頻卡 讀取電子錢包 數據",IF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="讀取塊數據,長度16位元組",IF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射頻卡 寫入電子錢包 數據%1",IF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="寫入塊數據,長度16位元組",IF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射頻卡 給電子錢包%1 金額%2",IF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",IF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣費",IF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射頻卡 獲取電子錢包餘額",IF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射頻卡 獲取序號",IF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射頻卡 初始化電子錢包",IF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射頻卡 掃描",IF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",IF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",IF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超聲波",IF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",IF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被觸發 引腳%2",IF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",IF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模擬值 引腳%2",IF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",IF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="設置LED燈 輸出%1 引腳%2",IF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循跡傳感器 檢測為黑 引腳%1",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打開 %1 引腳 %2",IF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="關閉 %1 引腳 %2",IF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",IF.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",IF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",IF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 %2 REC %3 PLAY %4",IF.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",IF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 %1 REC %2 PLAY %3",IF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",IF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="錄音",IF.MPYTHON_BLUEBIT_IR_RECEIVE="紅外探測",IF.MPYTHON_BLUEBIT_SOUND="麥克風",IF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循跡",IF.MPYTHON_BLUEBIT_VIBRATION="震動",IF.MPYTHON_BLUEBIT_RFID="射頻卡",IF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指紋",IF.MPYTHON_BLUEBIT_PIR="人體感應",IF.MPYTHON_BLUEBIT_MAGNETIC="門磁開關",IF.MPYTHON_BLUEBIT_BUTTON="按鍵",IF.MPYTHON_BLUEBIT_RELAY="繼電器",IF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位開關",IF.MPYTHON_BLUEBIT_FAN="風扇",IF.MPYTHON_BLUEBIT_LASER="激光",IF.MPYTHON_BLUEBIT_NTC_TEMP="熱敏電阻",IF.MPYTHON_BLUEBIT_WATER="水位",IF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤濕度",IF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋鈕電位器",IF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑電位器",IF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模擬光線",IF.MPYTHON_BLUEBIT_LM35_TEMP="LM35溫度",IF.MPYTHON_BLUEBIT_SMOKE="煙霧",IF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正轉",IF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反轉",IF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",IF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤濕度",IF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤濕度(新)%1",IF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",IF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",IF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",IF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",IF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打開風扇 %1",IF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",IF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 關閉風扇 %1",IF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",IF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",IF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",IF.BLUE="A",IF.GREEN="B",IF.RED="C",IF.YELLOW="D",IF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",IF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",IF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",IF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",IF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打開直流電機 %1 %2 速度 %3",IF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",IF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 關閉直流電機",IF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",IF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="編碼電機 模式 %1 撥碼 %2 M1速度 %3 M2速度 %4",IF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",IF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止編碼電機轉動",IF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止編碼電機轉動 %1",IF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",IF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",IF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",IF.MPYTHON_BLUEBIT_TEMPERATURE="溫度",IF.MPYTHON_BLUEBIT_HUMIDITY="濕度",IF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",IF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",IF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",IF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",IF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="設MIDI音量 %1",IF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",IF.MIDI_PIANO="平臺鋼琴",IF.MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",IF.MIDI_ELECTRICGRANDPIANO="電鋼琴",IF.MIDI_HARPSICHORD="大鍵琴",IF.MIDI_CELESTA="鋼片琴",IF.MIDI_GLOCKENSPIEL="鍾琴",IF.MIDI_MUSICALBOX="音樂盒",IF.MIDI_MARIMBA="馬林巴琴",IF.MIDI_XYLOPHONE="木琴",IF.MIDI_TUBULARBELL="管鐘",IF.MIDI_DULCIMER="洋琴",IF.MIDI_VIBRAPHONE="顫音琴",IF.MIDI_ORGAN="音栓風琴",IF.MIDI_ACOUSTIC_GUITAR="木吉他",IF.MIDI_ELECTRIC_GUITAR="電吉他",IF.MIDI_ACOUSTIC_BASS="民謠貝斯",IF.MIDI_STRING_ENSEMBLE="弦樂合奏",IF.MIDI_VIOLIN="小提琴",IF.MIDI_TRUMPET="小號",IF.MIDI_SAX="薩克斯",IF.MIDI_STEEL_DRUMS="鋼鼓",IF.MIDI_LEAD="合成音主旋律",IF.MIDI_PAD="合成音襯底",IF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",IF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="設MIDI樂器 %1",IF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",IF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",IF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音調 %2",IF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",IF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",IF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="設點陣亮度等級 %1",IF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",IF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",IF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="點陣 %1",IF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",IF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",IF.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",IF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",IF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",IF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="點陣設置生效",IF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",IF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="設MP3音量 %1",IF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",IF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",IF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚連接音樂模塊的 RXI 引脚",IF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",IF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",IF.MPYTHON_PLUS_1="加1",IF.MPYTHON_MINUS_1="減1",IF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",IF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",IF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",IF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",IF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",IF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="Mp3 單曲循環 %1",IF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",IF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",IF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="設擴展端口 IO %2 為 %1",IF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",IF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",IF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="擴展端口值 IO %1",IF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",IF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",IF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="設擴展端口 IO %2 為 %1",IF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",IF.MPYTHON_LCD_OBJECT_HELPURL="",IF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",IF.MPYTHON_LCD_OBJECT_TOOLTIP="",IF.MPYTHON_LCD_PRINT_HELPURL="",IF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 顯示 %1",IF.MPYTHON_LCD_PRINT_TOOLTIP="",IF.MPYTHON_LCD_HOME_HELPURL="",IF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光標 回到原點",IF.MPYTHON_LCD_HOME_TOOLTIP="",IF.MPYTHON_LCD_CURSOR_HELPURL="",IF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光標 %1",IF.MPYTHON_LCD_CURSOR_TOOLTIP="",IF.MPYTHON_LCD_SET_CURSOR_HELPURL="",IF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始點 行 %2 列 %1",IF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列從0開始計數",IF.MPYTHON_LCD_CLEAR_HELPURL="",IF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",IF.MPYTHON_LCD_CLEAR_TOOLTIP="",IF.MPYTHON_LCD_CURSOR_BLINK="閃爍",IF.MPYTHON_LCD_CURSOR_NO_BLINK="不閃爍",IF.MPYTHON_RIGHT_TO_LEFT="從右向左",IF.MPYTHON_LEFT_TO_RIGHT="從左向右",IF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",IF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",IF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",IF.MPYTHON_LCD_MOVE_HELPURL="",IF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滾動一格",IF.MPYTHON_LCD_MOVE_TOOLTIP="",IF.MPYTHON_IR_TRANS_HELPURL="",IF.MPYTHON_IR_TRANS_MESSAGE0="紅外發送 單字節字符串 %1 tx 引脚 %2",IF.MPYTHON_IR_TRANS_TOOLTIP="\n單字節字符串:\n'A', 'b', '1'等\n",IF.OUTPUT_PIN_HELPURL="",IF.OUTPUT_PIN_MESSAGE0="%1",IF.OUTPUT_PIN_TOOLTIP="",IF.INPUT_PIN_HELPURL="",IF.INPUT_PIN_MESSAGE0="%1",IF.INPUT_PIN_TOOLTIP="",IF.READ_ANALOG_PIN_HELPURL="",IF.READ_ANALOG_PIN_MESSAGE0="%1",IF.READ_ANALOG_PIN_TOOLTIP="",IF.SET_DIGITAL_HELPURL="",IF.SET_DIGITAL_MESSAGE0="%1",IF.SET_DIGITAL_TOOLTIP="",IF.SET_ANALOG_HELPURL="",IF.SET_ANALOG_MESSAGE0="%1",IF.SET_ANALOG_TOOLTIP="",IF.ALL_PIN_HELPURL="",IF.ALL_PIN_MESSAGE0="%1",IF.ALL_PIN_TOOLTIP="",IF.PWM_PIN_HELPURL="",IF.PWM_PIN_MESSAGE0="%1",IF.PWM_PIN_TOOLTIP="",IF.DH11_HUM_TEM_PIN_HELPURL="",IF.DH11_HUM_TEM_PIN_MESSAGE0="%1",IF.DH11_HUM_TEM_PIN_TOOLTIP="",IF.UART_TX_PIN_HELPURL="",IF.UART_TX_PIN_MESSAGE0="%1",IF.UART_TX_PIN_TOOLTIP="",IF.UART_RX_PIN_HELPURL="",IF.UART_RX_PIN_MESSAGE0="%1",IF.UART_RX_PIN_TOOLTIP="",IF.I2C_PIN_HELPURL="",IF.I2C_PIN_MESSAGE0="%1",IF.I2C_PIN_TOOLTIP="",IF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",IF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",IF.MQTT_COMMON_SETUP_TOOLTIP="",IF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",IF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",IF.MQTT_TENCENT_SETUP_TOOLTIP="",IF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",IF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",IF.MQTT_TENCENT_SETUPS_TOOLTIP="",IF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服務器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",IF.MQTT_SETUP_TOOLTIP="",IF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_CONNECT_MESSAGE0="連接 MQTT",IF.MQTT_CONNECT_TOOLTIP="",IF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_PUBLISH_MESSAGE0="發佈 %1 至 主題 %2",IF.MQTT_PUBLISH_TOOLTIP="",IF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_REC_FROM_TOPIC_MESSAGE0="當從主題 %1 接收到 %2 時",IF.MQTT_REC_FROM_TOPIC_TOOLTIP="",IF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_RECEIVE_MESSAGE0="當從主題 %1 接收到 %2 時",IF.MQTT_RECEIVE_TOOLTIP='參數"主題"只接受變量',IF.MQTT_RECEIVED_MESSAGE0="當從主題 %1 接收到消息 時",IF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_MESSAGE_MESSAGE0="從 MQTT 收到的消息",IF.MQTT_MESSAGE_TOOLTIP="",IF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_WAIT_MSG_MESSAGE0="等待主題消息 以 %1 模式",IF.MQTT_WAIT_MSG_TOOLTIP="建議放在'一直重複'中運行",IF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",IF.MQTT_DISCONNECT_MESSAGE0="MQTT 斷開連接",IF.MQTT_DISCONNECT_TOOLTIP="",IF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",IF.MQTT_LAST_WILL_MESSAGE0="設置 MQTT 主題 %2 離綫消息 %1",IF.MQTT_LAST_WILL_TOOLTIP="設置 MQTT last will 消息。應該在 connect() 之前調用。",IF.MPYTHON_SIOT_CONNECT_HELPURL="",IF.MPYTHON_SIOT_CONNECT_TOOLTIP="",IF.MPYTHON_SIOT_CONNECT_MESSAGE0="創建 SIoT 連接 %1 客戶端ID %2 服務器 %3 用戶 %4 密碼 %5",IF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",IF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",IF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 連接成功 ?",IF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",IF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",IF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 訂閱主題",IF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="點擊左邊星號 訂閱 SIoT 主題",IF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 訂閱 主題1",IF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主題",IF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",IF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多訂閱 5 個主題",IF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",IF.MPYTHON_SIOT_DISCONNECT_HELPURL="",IF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",IF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 斷開連接",IF.MPYTHON_SIOT_MESSAGE_HELPURL="",IF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",IF.MPYTHON_SIOT_MESSAGE_MESSAGE0="從 SIoT 收到的消息",IF.MPYTHON_SIOT_TOPIC1="主題1",IF.MPYTHON_SIOT_TOPIC2="主題2",IF.MPYTHON_SIOT_TOPIC3="主題3",IF.MPYTHON_SIOT_TOPIC4="主題4",IF.MPYTHON_SIOT_TOPIC5="主題5",IF.MPYTHON_SIOT_PUBLISH_HELPURL="",IF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",IF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 發送消息 %1 到 %2",IF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 發送消息 %1 到 主題 %2",IF.MPYTHON_SIOT_RECEIVE_HELPURL="",IF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",IF.MPYTHON_SIOT_RECEIVE_MESSAGE0="當從 SIoT %1 收到消息時 %2 執行 %3",IF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="當從 SIoT 主題 %1 收到消息時 %2 執行 %3",IF.MPYTHON_IR_RECV_HELPURL="",IF.MPYTHON_IR_RECV_MESSAGE0="紅外接收 整型 rx 引脚 %1",IF.MPYTHON_IR_RECV_TOOLTIP="第一次接收總爲空",IF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 顯示 %1 x %2 y %3",IF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",IF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",IF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",IF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",IF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",IF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",IF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 顯示圖像 x %1 y %2 寬 %3 高 %4 16進制圖像數據 %5",IF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",IF.mpython_bme280_hum_tem_pre_MESSAGE0="气象 %1",IF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",IF.mpythonbox_sound_MESSAGE0="聲音值",IF.mpythonbox_sound_TOOLTIP="採樣數據,为0~4095。",IF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",IF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",IF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",IF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆電阻採樣值。範圍0~4095。",IF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",IF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按鍵%1",IF.MPYTHONBOX_5BUTTON_TOOLTIP="",IF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",IF.MPYTHONBOX_MOTOR_MESSAGE0="馬達 速度%1",IF.MPYTHONBOX_MOTOR_TOOLTIP="馬達速度,範圍±100。正值表示正轉,負值則反。",IF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",IF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超聲波",IF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超聲波測距,獲取超聲波感測器測距值,組織cm。範圍3~340CM",IF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",IF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人體紅外",IF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人體紅外觸發值。當為1時,表示已觸發;當為0時,表示未觸發。",IF.MPYTHONBOX_RGB_pixel_HELPURL="",IF.MPYTHONBOX_RGB_pixel_MESSAGE0="設定第 %1列 %2行 R%3 G%4 B%5",IF.MPYTHONBOX_RGB_pixel_TOOLTIP="設定第多少列,行的RGB顏色",IF.MPYTHONBOX_RGB_get_pixel_HELPURL="",IF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",IF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB顏色",IF.MPYTHONBOX_RGB_ImageText_HELPURL="",IF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滾動顯示文本%1 速度%2",IF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滾動顯示文字,亮度為0不亮,9最亮",IF.MPYTHONBOX_RGB_SetImage_HELPURL="",IF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",IF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建圖像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",IF.MPYTHONBOX_RGB_Image_HELPURL="",IF.MPYTHONBOX_RGB_Image_MESSAGE0="顯示影像%1",IF.MPYTHONBOX_RGB_Image_TOOLTIP="顯示影像",IF.MPYTHONBOX_RGB_SetImage_HELPURL="",IF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建影像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",IF.MPYTHONBOX_RGB_SetImage_TOOLTIP="創建新影像,每行每位數代表第幾比特燈,默認紅色;亮度為0不亮,9最亮。",IF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="顯示影像/文本 %1",IF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="顯示影像或文字消息。",IF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",IF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="顯示影像 %1",IF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="顯示影像。",IF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",IF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="複製影像 %1",IF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="複製影像。",IF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",IF.MPYTHONBOX_RGB_ImageCot_HELPURL="",IF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪影像%1 列%2 行%3 宽%4 高%5",IF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪影像",IF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="內寘影像 %1",IF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="選擇一個內寘的影像。",IF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移影像 %1 %2 %3 位",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移動影像,並返回移動後的結果。",IF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",IF.MPYTHONBOX_RGB_clear_HELPURL="",IF.MPYTHONBOX_RGB_clear_MESSAGE0="關閉所有 RGB 燈",IF.MPYTHONBOX_RGB_clear_TOOLTIP="",IF.MPYTHONBOX_RGB_pixel_return_HELPURL="",IF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 顏色",IF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",IF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1軸加速度",IF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",IF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1軸角速度",IF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",IF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1歐拉角",IF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回當前歐拉角(Pitch,Roll,Yaw),單位角度",IF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",IF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元數",IF.MPYTHONBOX_QUATERNION_TOOLTIP="返回當前四元數(w,x,y,z)",IF.MPYTHONBOX_CAMERA_LED_HELPURL="",IF.MPYTHONBOX_CAMERA_LED_MESSAGE0="攝像燈%1",IF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led燈,分為打開和關閉兩種狀態",IF.LIST_FIRST_INDEX_HELPURL="",IF.LIST_FIRST_INDEX_MESSAGE0="項 %1 在列表 %2 %3 出現的位置",IF.LIST_FIRST_INDEX_TOOLTIP="",IF.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",IF.MPYTHON_AI_LCD_INIT_MESSAGE0="螢幕 初始化 ",IF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 螢幕顯示",IF.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",IF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="監視器 初始化",IF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化單目監視器",IF.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",IF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="監視器%1",IF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取影像",IF.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",IF.MPYTHON_AI_LCD_TEXT_MESSAGE0="顯示文字 x %1 y %2 内容 %3",IF.MPYTHON_AI_LCD_TEXT_TOOLTIP="僅支持字母和數位",IF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",IF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="監視器 跳過幀數%1 毫秒%2内的影像",IF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="監視器跳過指定幀數或者跳過指定時間內的影像",IF.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",IF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 監視器 获取%1",IF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)監視器返回参数(宽高,图像帧的格式,图像帧的大小)",IF.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",IF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="監視器 设置%1 为%2",IF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置監視器对比度,亮度,饱和度范围为[-2,+2]",IF.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",IF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="監視器 自動增益%1",IF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1開啟監視器自動增益0關閉監視器自動增益",IF.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",IF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="監視器 白平衡%1",IF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="設定攝像自動白平衡模式,默認打開。True為打開,False為關閉自動白平衡。若您想追跡顏色,則需關閉白平衡。",IF.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",IF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="監視器 %1 %2",IF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1表示開啟水准鏡像 0表示關閉水准鏡像",IF.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",IF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 顯示生效",IF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上顯示",IF.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",IF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 顯示生效 x%1 y%2 宽%3 高%4",IF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上顯示一張圖片",IF.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",IF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="監視器 獲取影像",IF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制監視器捕捉影像",IF.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",IF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人臉識別",IF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",IF.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",IF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",IF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在影像上繪製矩形",IF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在影像上繪製線條",IF.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",IF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="螢幕 顯示清空",IF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="將液晶屏清空為黑色或者指定的顏色",IF.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",IF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 顏色",IF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某個座標點的顏色",IF.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",IF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圓形%1 x%2 y%3 半径%4 顏色为 R%5 G%6 B%7 加粗%8",IF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在影像上繪製圓形",IF.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",IF.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",IF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="顯示文字 x %1 y %2 内容 %3 顏色为R%4 G%5 B%6 字号%7",IF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="僅支持字母和數位",IF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字線 x%1 y%2 顏色为R%3 G%4 B%5 尺寸%6 加粗%7",IF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在影像上繪製十字線",IF.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",IF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭頭 x1%1 y1%2 到x2%3 y2%4 顏色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在影像上繪製一個箭頭",IF.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",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="顯示影像 路徑%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="顯示影像",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="圖像轉換為%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻轉是將二進位影像0(黑色)變為1(白色),1(白色)變為0(黑色),非常快速地翻轉二進位影像中的所有點數值。",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="影像 從笛卡爾座標到%1 座標重新投影 反向%2",IF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="影像 膨胀 級別%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨脹就是對影像高亮部分進行“領域擴張”,效果圖擁有比原圖更大的高亮區域。",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="影像 中点濾波 級別%1 滤波%2",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制影像混合的最小/最大程度。0只適用於最小濾波,1僅用於最大濾波。",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="影像 众数濾波 級別%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在影像上運行眾數濾波,用相鄰點數的模式替換每個點數。",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="影像 模糊滤波 级别%1",IF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式濾波器的標準平均值模糊濾波。",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="影像 卡通化 級別%1 起始點數差异%2 相鄰點數差异%3",IF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",IF.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",IF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="影像 3D旋轉 上下旋轉%1 左右旋轉%2 度数%3 左右移动%4 上下移动%5 缩放%6",IF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通過執行幀緩衝區的3D旋轉來糾正影像中的透視問題。",IF.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",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="將影像的副本保存到SD卡 图像名%1 影像顯示區域 x%2 y%3 宽%4 高%5",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="將影像的副本保存到SD卡",IF.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",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="創建一個影像對象的副本 複製影像區域 x%1 y%2 宽%3 高%4",IF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="創建一個影像對象的副本",IF.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",IF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="手寫數位識別",IF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="手寫數位識別",IF.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",IF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",IF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",IF.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",IF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",IF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",IF.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",IF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="監視器 初始化 點數模式 %1",IF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用於設定監視器點數模式,有黑白和rgb彩色",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="追跡色塊 顯示%1",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",IF.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",IF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 人臉",IF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",IF.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",IF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 人臉識別",IF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",IF.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",IF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(實驗箱)獲取識別後人臉的 所有參數",IF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",IF.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",IF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(實驗箱)獲取識別後人臉的 x座標",IF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",IF.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",IF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(實驗箱)獲取識別後人臉的 y座標",IF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",IF.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",IF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(實驗箱)獲取識別後人臉的 寬度",IF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",IF.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",IF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(實驗箱)獲取識別後人臉的 高度",IF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",IF.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",IF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(實驗箱)獲取識別後人臉的 置信度",IF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",IF.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",IF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(實驗箱)獲取識別後人臉的 數量",IF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",IF.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",IF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 20類",IF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.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",IF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 20類識別",IF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(實驗箱)獲取識別後20類的 所有參數",IF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(實驗箱)獲取識別後20類的 x座標",IF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(實驗箱)獲取識別後20類的 y座標",IF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(實驗箱)獲取識別後20類的 寬度",IF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(實驗箱)獲取識別後20類的 高度",IF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(實驗箱)獲取識別後20類的 置信度",IF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(實驗箱)獲取識別後20類的 數量",IF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(實驗箱)獲取識別後20類的 類型",IF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.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",IF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(實驗箱)獲取識別後20類的 類型數量",IF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",IF.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",IF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(實驗箱)選擇訓練模型 手寫數字",IF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",IF.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",IF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(實驗箱)調用攝像頭進行 手寫數字識別",IF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",IF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(實驗箱)獲取識別後手寫數字的 所有參數",IF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",IF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(實驗箱)獲取識別後手寫數字的 數字",IF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",IF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(實驗箱)獲取識別後手寫數字的 置信度",IF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",IF.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",IF.MPYTHON_AI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",IF.MPYTHON_AI_IMAGE_LAB_TOOLTIP="image寻找颜色",IF.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",IF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(實驗箱)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",IF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追蹤色塊",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(實驗箱)追蹤色塊 顯示%1",IF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",IF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(實驗箱)%1獲取識別後色塊的 所有參數",IF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 x座標",IF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 y座標",IF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_W_MESSAGE0="(實驗箱)%1獲取識別後色塊的 寬度",IF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_H_MESSAGE0="(實驗箱)%1獲取識別後色塊的 高度",IF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(實驗箱)%1獲取識別後色塊的 數量",IF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心x座標",IF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心y座標",IF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(實驗箱)%1獲取識別後色塊的 矩形",IF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 訓練 %1",IF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",IF.MPYTHON_DRILL_WEIGHT_HELPURL="",IF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",IF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="實例化 線性迴歸直線",IF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",IF.MPYTHON_DRILL_TITLE_HELPURL="",IF.MPYTHON_DRILL_TITLE_MESSAGE0="標題%1 字號%2",IF.MPYTHON_DRILL_TITLE_TOOLTIP="",IF.MPYTHON_DRILL_LABEL_HELPURL="",IF.MPYTHON_DRILL_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",IF.MPYTHON_DRILL_LABEL_TOOLTIP="",IF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",IF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真實數據 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",IF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",IF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",IF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="預測線性迴歸直線 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",IF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",IF.MPYTHON_DRILL_LEGEND_HELPURL="",IF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示圖例",IF.MPYTHON_DRILL_LEGEND_TOOLTIP="",IF.MPYTHON_DRILL_SHOW_HELPURL="",IF.MPYTHON_DRILL_SHOW_MESSAGE0="顯示圖片",IF.MPYTHON_DRILL_SHOW_TOOLTIP="",IF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",IF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="返回對應鍵值%1",IF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",IF.MPYTHON_DRILL_DRILL_full_line="實線",IF.MPYTHON_DRILL_DRILL_dash_line="破折線",IF.MPYTHON_DRILL_DRILL_chain_line="點劃線",IF.MPYTHON_DRILL_DRILL_imaginary_line="虛線",IF.MPYTHON_DRILL_DRILL_dot="點",IF.MPYTHON_DRILL_DRILL_pixel="像素",IF.MPYTHON_DRILL_DRILL_solid_rim="實心圈",IF.MPYTHON_DRILL_DRILL_down_triangle="下三角",IF.MPYTHON_DRILL_DRILL_up_triangle="上三角",IF.MPYTHON_DRILL_DRILL_right_triangle="右三角",IF.MPYTHON_DRILL_DRILL_left_triangle="左三角",IF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",IF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",IF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",IF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",IF.MPYTHON_DRILL_DRILL_solid_square="實心方形",IF.MPYTHON_DRILL_DRILL_solid_pentagon="實心五角",IF.MPYTHON_DRILL_DRILL_star="星形",IF.MPYTHON_DRILL_DRILL_vertical_hexagon="豎六邊形",IF.MPYTHON_DRILL_DRILL_across_hexagon="橫六邊形",IF.MPYTHON_DRILL_DRILL_cross="十字",IF.MPYTHON_DRILL_DRILL_X="X",IF.MPYTHON_DRILL_DRILL_rhombus="菱形",IF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",IF.MPYTHON_DRILL_DRILL_vertical_line="垂直線",IF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鳶尾花數據集",IF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="採用Python的Sklearn機器學習庫中自帶的數據集——鳶尾花數據集。簡單分析數據集之間特徵的關係圖,根據花瓣長度,花瓣寬度,花萼長度,花萼寬度四個特徵進行繪圖虹膜植物數據集可以從龍骨數據集數據集網站獲取,也可以直接從Sklearn。數據集機器學習包得到。數據集共包含4個特徵變量,1個類別變量,共150個有樣本。類別變量分別對應鳶尾花的三個亞屬,分別是山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor)和維吉尼亞鳶尾(Iris-virginica)分別用(0,1,2)來做映射",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鳶尾花 主成分分析",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鳶尾花 因子分析 3D",IF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鳶尾花 因子分析",IF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="預測圖示 鳶尾花類型%1 呈現內容 x%3 y%4 呈現種類%2 顏色爲 r%5 g%6 b%7 標題%8 向上合併%9",IF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="預測圖示 呈現內容 x%1 y%2 呈現種類%3 顏色爲 r%4 g%5 b%6 標題%7",IF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 預測圖示 呈現內容 x朝向%1 y朝向%2 z朝向%3 顏色爲 r%4 g%5 b%6 標題%7",IF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="標題%1 字號%2",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 標題%1 字號%2",IF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 標籤%1 標題%2 字號%3",IF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示圖例",IF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="顯示圖片",IF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",IF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",IF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x, y座標",IF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150條記錄,分別代表50條山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor),維吉尼亞鳶尾(Iris-virginica)",IF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鳶尾",IF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="變色鳶尾",IF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="維吉尼亞鳶尾",IF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散點圖",IF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde圖",IF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱圖",IF.MPYTHONS_FLOWER_DE_LUCE_merge="合並",IF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合並",IF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼長度",IF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼寬度",IF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣長度",IF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣寬度",IF.MPYTHONS_CONVERT_PICTURE_HELPURL="",IF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="將圖片轉換爲28²二值圖%1 待處理的圖片存儲路徑%2 處理後的圖片存儲路徑%3 格式%4",IF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通過串口把WIF傳給語音助手",IF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",IF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手寫數字數 據存儲路徑%1",IF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手寫數字字符庫",IF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",IF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手寫數字圖像 存儲路徑%1",IF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="",IF.MPYTHONS_SHOW_NUMBER_HELPURL="",IF.MPYTHONS_SHOW_NUMBER_MESSAGE0="顯示手寫數字圖像",IF.MPYTHONS_SHOW_NUMBER_TOOLTIP="",IF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",IF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="識別手寫數字圖像 存儲路徑%1",IF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="",IF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",IF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="創建變量%1 初始化 神經網絡張量 變量名%2",IF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",IF.MPYTHON_DRILL_RESHAPE_MESSAGE0="創建變量%1 將輸入照片變量%2 轉換爲 神經網絡輸出張量%3",IF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",IF.MPYTHON_DRILL_RESHAPE_HELPURL="",IF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="創建變量%1 共享變量%2 初始化模式%3",IF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",IF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",IF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="產生截斷正態分佈隨機數 輸出張量%1 標準差%2",IF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",IF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",IF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="創建常量 數值%1 輸出張量%2",IF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",IF.MPYTHON_NUMBER_CONSTANT_HELPURL="",IF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神經網絡輸出張量%1 共享變量%2 步長%3 填充%4",IF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",IF.MPYTHON_NUMBER_CONV2D_HELPURL="",IF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="張量%1",IF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",IF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",IF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷積二維層 變量%1 %2",IF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",IF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",IF.MPYTHON_NUMBER_RELU_MESSAGE0="創建變量%1 Relu正向激勵函數 卷積二維層%2",IF.MPYTHON_NUMBER_RELU_TOOLTIP="",IF.MPYTHON_NUMBER_RELU_HELPURL="",IF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二維層 變量%1 卷積層%2 池化窗口%3 步長%4 填充%5",IF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",IF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",IF.MPYTHON_NUMBER_MATMUL_MESSAGE0="兩個參數的對應元素各自相乘 x%1 y%2",IF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",IF.MPYTHON_NUMBER_MATMUL_HELPURL="",IF.MPYTHON_NUMBER_ADD_MESSAGE0="全連接層 變量%1 兩個參數的元素相加 x%2 y%3",IF.MPYTHON_NUMBER_ADD_TOOLTIP="",IF.MPYTHON_NUMBER_ADD_HELPURL="",IF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="創建變量%1 預測模型準確度 變量名%2",IF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",IF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",IF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="創建變量%1 損失函數%2",IF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",IF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",IF.MPYTHON_NUMBER_LOG_MESSAGE0="自然對數 %1",IF.MPYTHON_NUMBER_LOG_TOOLTIP="",IF.MPYTHON_NUMBER_LOG_HELPURL="",IF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="壓縮求和%1 維度%2",IF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因爲日誌函數是單調遞增的,所以logP (Y | X)也會達到最大值,因此在前面加上負號之後,最大化P (Y | X)就等價於最小化了。",IF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",IF.MPYTHON_NUMBER_TRAIN_MESSAGE0="優化學習速率 %1",IF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",IF.MPYTHON_NUMBER_TRAIN_HELPURL="",IF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="創建變量%1 優化張量%2",IF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",IF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",IF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",IF.MPYTHON_NUMBER_INIT_TOOLTIP="",IF.MPYTHON_NUMBER_INIT_HELPURL="",IF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="選擇 手寫數字集%1 數量%2",IF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",IF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",IF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",IF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",IF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",IF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",IF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",IF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",IF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="預測模型%1 擬合度%2 會話%3",IF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",IF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",IF.MPYTHON_NUMBER_EQUAL_MESSAGE0="兩個張量的每一維是否相等 x%1 y%2",IF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",IF.MPYTHON_NUMBER_EQUAL_HELPURL="",IF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="張量%1 按%2比較返回最大值的索引",IF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",IF.MPYTHON_NUMBER_ARGMAX_HELPURL="",IF.MPYTHON_NUMBER_CAST_MESSAGE0="轉爲浮點型 %1",IF.MPYTHON_NUMBER_CAST_TOOLTIP="",IF.MPYTHON_NUMBER_CAST_HELPURL="",IF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",IF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手寫數字識別模型 變量名%1 存儲路徑%2",IF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手寫數字識別模型保存路徑",IF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",IF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加載模型%1 存儲路徑%2",IF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="",IF.MPYTHONS_NUMBER_SAME="包含邊界",IF.MPYTHONS_NUMBER_VALID="不包含邊界",IF.MPYTHONS_NUMBER_train="訓練",IF.MPYTHONS_NUMBER_test="測試",IF.MPYTHONS_NUMBER_row="行",IF.MPYTHONS_NUMBER_rank="列",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="調用攝像頭 %1",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="調用筆記本內置攝像頭,所以參數爲0,如果有其他的攝像頭可以調整參數爲1,2",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="關閉攝像頭",IF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="刪除所有窗口",IF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加載模型 存儲路徑%1",IF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="從攝像頭讀取圖片",IF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有讀取圖片就真的,否則假;第二個參數是框架,是當前截取一幀的圖片。",IF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="轉爲灰度圖片",IF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="檢測人臉 每次圖像尺寸減小比例%1",IF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",IF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",IF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人臉區域顯示矩形框 顏色爲 紅%1 綠%2 藍%3",IF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存圖像 位置%1 ID%2 編號%3",IF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中顯示圖像 文件名%1",IF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通過esc鍵 退出",IF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置頂時使用纔有效果",IF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",IF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="獲得人臉在圖像中的座標值 人臉%1",IF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否讀取圖片",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打開攝像頭",IF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="獲取照片及id 照片存儲路徑%1",IF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化訓練模型",IF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="開始訓練模型",IF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1訓練模型 存儲路徑%2",IF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人臉模型訓練 數目",IF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口顯示 識別的名字%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",IF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口顯示 識別的置信度%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",IF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="預測人臉 名字%1 置信度%2",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="寫入",IF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="讀取",IF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",IF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",IF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",IF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",IF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",IF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",IF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",IF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",IF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",IF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",IF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",IF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",IF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",IF.Jenny="珍妮",IF.Jack="杰克",IF.Tom="汤姆",IF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",IF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",IF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",IF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",IF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查看训练库 选择%1",IF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",IF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",IF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",IF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",IF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",IF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",IF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",IF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",IF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",IF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",IF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",IF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",IF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",IF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",IF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",IF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",IF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",IF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",IF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",IF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",IF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",IF.MPYTHON_AGESTURE_ARRAY_HELPURL="",IF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",IF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",IF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",IF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",IF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",IF.MPYTHON_GESTURE_READ_LEND_HELPURL="",IF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",IF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",IF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",IF.MPYTHON_GESTURE_SCORE_HELPURL="",IF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",IF.MPYTHON_GESTURE_SCORE_TOOLTIP="",IF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",IF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",IF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",IF.MPYTHON_GESTURE_FORECAST_HELPURL="",IF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",IF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",IF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",IF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",IF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",IF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",IF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",IF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",IF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",IF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",IF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",IF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",IF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",IF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",IF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",IF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",IF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",IF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",IF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",IF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",IF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",IF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",IF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",IF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",IF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",IF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",IF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",IF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",IF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",IF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",IF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="",IF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",IF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",IF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",IF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",IF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸%1 %2",IF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",IF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",IF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",IF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",IF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",IF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",IF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",IF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",IF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",IF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表%1",IF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",IF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",IF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻";IF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",IF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",IF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",IF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="计算总数 排序前%1",IF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",IF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",IF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",IF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",IF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",IF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",IF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",IF.FIRST="第一次",IF.LAST="最后一次",IF.MPYTHON_USOCKET_BLOCK="阻塞",IF.MPYTHON_USOCKET_UNBLOCK="非阻塞",IF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",IF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="設定socket %1 地址 %2 類型 %3",IF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="設定給定通訊端選項的值。所需的符號常數在通訊端模塊中定義(SO_ *等)。該值可以是整數或表示緩衝區的類位元組對象。",IF.MPYTHON_USOCKET_READLINE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",IF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行數據,遇分行符號結束並返回接收數據的對象",IF.MPYTHON_USOCKET_READLINE_TOOLTIP="接收一行數據,遇分行符號結束,並返回接收數據的對象",IF.MPYTHON_USOCKET_READ_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",IF.MPYTHON_USOCKET_READ_MESSAGE0="從socket %1 讀取 %2 字節並返回字節對象",IF.MPYTHON_USOCKET_READ_TOOLTIP="若未給定讀取數量 ,則按照類似 socket.readall() 的模式運行",IF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",IF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="設socket %1 為 %2 模式",IF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",IF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",IF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 設超時時間 %2 秒",IF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",IF.MPYTHON_USOCKET_RECV_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",IF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收並返回接收到的數據對象 最大數據量為 %2",IF.MPYTHON_USOCKET_RECV_TOOLTIP="",IF.MPYTHON_USOCKET_RECVFROM_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",IF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收並返回接收到的數據元組 最大數據量為 %2",IF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元組格式 (bytes, address)",IF.MPYTHON_USOCKET_SENDALL_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",IF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 連續發送%2 並返回發送的位元組數",IF.MPYTHON_USOCKET_SENDALL_TOOLTIP="將所有數據發送到通訊端。通訊端必須連接到遠程通訊端。與send()此不同,此方法將嘗試通過連續發送數據塊來發送所有數據。",IF.MPYTHON_USOCKET_SENDS_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",IF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",IF.MPYTHON_USOCKET_SENDS_TOOLTIP="將數據發送到通訊端。通訊端必須連接到遠程通訊端。返回發送的位元組數,可能小於數據長度(“short write”)。",IF.MPYTHON_USOCKET_SEND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",IF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",IF.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”).",IF.MPYTHON_TEXT_ESC_HELPURL="",IF.MPYTHON_TEXT_ESC_MESSAGE0="文本轉義字元 %1 ",IF.MPYTHON_TEXT_ESC_TOOLTIP="文本轉義字元",IF.MPYTHON_USOCKET_SENDTO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",IF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 發送 %2 到地址 %3",IF.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.",IF.MPYTHON_USOCKET_CONNECT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",IF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 連接 host %2 端口 %3",IF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",IF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",IF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 並返回 ip",IF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需聯網",IF.MPYTHON_USOCKET_ACCEPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",IF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接受連接請求並返回socket元組",IF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收連接請求。socket需要指定地址並監聽連接。返回值是 (conn, address)。\nconn:新的socket對象,可以用來收發消息\naddress:連接到服務器的客戶端地址",IF.MPYTHON_USOCKET_LISTEN_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",IF.MPYTHON_USOCKET_LISTEN_MESSAGE0="監聽socket %1 backlog個數 %2",IF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",IF.MPYTHON_USOCKET_BIND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",IF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 綁定地址 %2 端口 %3",IF.MPYTHON_USOCKET_BIND_TOOLTIP="",IF.MPYTHON_USOCKET_CLOSE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",IF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 關閉",IF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",IF.MPYTHON_USOCKET_INIT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",IF.MPYTHON_USOCKET_INIT_MESSAGE0="創建 socket %1 地址 %2 類型 %3",IF.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",IF.MPYTHON_GET_POST_HELPURL="",IF.MPYTHON_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",IF.MPYTHON_GET_POST_TOOLTIP="",IF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",IF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",IF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",IF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",IF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",IF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 請求網址 %2 文件路徑 %3 Mime類型 %4 附加字段 %5",IF.MPYTHON_RESPONSE_HELPURL="",IF.MPYTHON_RESPONSE_MESSAGE0="響應内容 格式 %1",IF.MPYTHON_RESPONSE_TOOLTIP="",IF.STRING="字符串",IF._BYTE="二进制",IF.TEXT="文本",IF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",IF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="響應屬性 %1",IF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",IF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",IF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右鍵幫助,查看引脚聲明",IF.MPYTHON_SETS_PIN_MODE_MESSAGE0="設置引脚 %1 為 %2 模式 %3 並設置值為 %4",IF.MPYTHON_SET_PIN_IN="輸入",IF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽輸出",IF.MPYTHON_SET_PIN_LEAKY_OUT="開漏輸出",IF.MPYTHON_SET_PIN_NO_PULL="無上下拉",IF.MPYTHON_SET_PIN_DOWN_PULL="下拉",IF.MPYTHON_SET_PIN_UP_PULL="上拉",IF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",IF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="綫程鎖對象 %1 請求鎖",IF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",IF.MPYTHON_START_NEW_THREAD_HELPURL="",IF.MPYTHON_START_NEW_THREAD_MESSAGE0="子綫程 %1",IF.MPYTHON_START_NEW_THREAD_TOOLTIP="",IF.MPYTHON_UART_INIT_HELPURL="",IF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",IF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3組串口。0用於REPL,剩下1,2兩組串口可用。所有引脚皆可作爲串口的輸入RX,除 P2、P3 、P4 、P10 只能作爲輸出,其餘所有的引脚理論上都可作爲輸出 TX。",IF.MPYTHON_UART_DEINIT_HELPURL="",IF.MPYTHON_UART_DEINIT_MESSAGE0="關閉串口 %1",IF.MPYTHON_UART_DEINIT_TOOLTIP="關閉 UART 總線",IF.MPYTHON_UART_WRITE_STR_HELPURL="",IF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 寫入文本 %2 %3",IF.MPYTHON_UART_WRITE_STR_TOOLTIP="將文本寫入總線。\n返回值:寫入或 None 超時的字節數。",IF.MPYTHON_UART_WRITE_HEX_HELPURL="",IF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 發送16進制字符串 %2 %3",IF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",IF.MPYTHON_UART_HAS_DATA_HELPURL="",IF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可讀數據",IF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一個整數,計算可以無阻塞地讀取的字符數。\n如果沒有可用字符,它將返回0,如果有字符,則返回正數。\n即使有多個可讀的字符,該方法也可以返回1。",IF.MPYTHON_UART_READLINE_HELPURL="",IF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 讀取一行數據",IF.MPYTHON_UART_READLINE_TOOLTIP="讀一行,以換行符結尾。\n返回值:讀取行或 None 超時。",IF.MPYTHON_UART_READ_HELPURL="",IF.MPYTHON_UART_READ_MESSAGE0="串口 %1 讀取數據",IF.MPYTHON_UART_READ_TOOLTIP="讀取盡可能多的串口數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",IF.MPYTHON_UART_READ_LENGTH_HELPURL="",IF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 讀取數據 長度 %2",IF.MPYTHON_UART_READ_LENGTH_TOOLTIP="讀取指定長度字節數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",IF.MPYTHON_UART_WRITE_BYTE_HELPURL="",IF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 寫入單字節 %2",IF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="參數為 0~255 的整數\n將字節寫入總線。\n返回值:寫入或 None 超時的字節數。",IF.MPYTHON_UART_WRITE_BYTES_HELPURL="",IF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 寫入字節數組 %2",IF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="將字節數組寫入總線。\n返回值:寫入或 None 超時的字節數。",IF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",IF.TEXT_FORMAT_TOOLTIP="",IF.TEXT_FORMAT_HELPURL="",IF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",IF.TEXT_FORMAT2_TOOLTIP="",IF.TEXT_FORMAT2_HELPURL="",IF.MPYTHON_BAUDRATE_HELPURL="",IF.MPYTHON_BAUDRATE_MESSAGE0="%1",IF.MPYTHON_BAUDRATE_TOOLTIP="",IF.MPYTHON_HIGH_LOW_HELPURL="",IF.MPYTHON_HIGH_LOW_MESSAGE0="%1",IF.MPYTHON_HIGH_LOW_TOOLTIP="",IF.MPYTHON_TEN_CONVERT_TO_HELPURL="",IF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10進制整數 %1 轉化為 %2 字符串",IF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",IF.MPYTHON_BIN="二進制",IF.MPYTHON_OCT="八進制",IF.MPYTHON_HEX="十六進制",IF.MPYTHON_CONVERT_TO_TEN_HELPURL="",IF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 轉 10進制整數",IF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",IF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",IF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10進制整數 %2 轉 %1 字节",IF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",IF.MPYTHON_INT_TO_CHR_HELPURL="",IF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 轉 ASCII 單字符",IF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言",IF.MPYTHON_CHR_TO_INT_HELPURL="",IF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 單字符 %1 轉 整型",IF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",IF.MPYTHON_STR_TO_HEX_HELPURL="",IF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 轉 十六進制 字節",IF.MPYTHON_STR_TO_HEX_TOOLTIP="返回結果中用空格分隔兩個十六進制數",IF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",IF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六進制字符串 %1 轉 二進制 字節",IF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",IF.MPYTHON_DATA_TO_BASE64_HELPURL="",IF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式編碼 返回字節對象",IF.MPYTHON_DATA_TO_BASE64_TOOLTIP="",IF.MPYTHON_BASE64_TO_DATA_HELPURL="",IF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解碼 base64 數據 %1 返回字節對象",IF.MPYTHON_BASE64_TO_DATA_TOOLTIP="",IF.MPYTHON_UJSON_DUMPS_HELPURL="",IF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 轉 json 字符串",IF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",IF.MPYTHON_UJSON_LOADS_HELPURL="",IF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",IF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",IF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",IF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定義終端部件 Terminal 虛擬管脚 V %1",IF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",IF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",IF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虛擬管脚狀態 V %1",IF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",IF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",IF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="當 Blynk 斷開連接時",IF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",IF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",IF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="當 Blynk 連接時",IF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",IF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",IF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="運行 Blynk 定時器進程",IF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",IF.MPYTHON_BLYNK_RUN_HELPURL="",IF.MPYTHON_BLYNK_RUN_MESSAGE0="運行 Blynk 進程",IF.MPYTHON_BLYNK_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",IF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",IF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 顯示通知 %1",IF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",IF.MPYTHON_BLYNKTIMER_HELPURL="",IF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定時器 %1 %2 周期 %3 秒",IF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',IF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",IF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定時器",IF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",IF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",IF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定時器 %1",IF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',IF.MPYTHON_UART_INPUT_HELPURL="",IF.MPYTHON_UART_INPUT_MESSAGE0="從串口獲取文本 提示語句 %1",IF.MPYTHON_UART_INPUT_TOOLTIP="",IF.INT_TO_CHR_HELPURL="",IF.INT_TO_CHR_MESSAGE0="整數 %1 轉 ASCII 單字符",IF.INT_TO_CHR_TOOLTIP="",IF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",IF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="給虛擬管脚添加 屬性 %1 值 %2",IF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放於 read 或 write 事件中,虛擬管脚由事件決定,與該管脚綁定的組件會擁有添加的屬性",IF.MPYTHON_BLYNK_EMAIL_HELPURL="",IF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向預設郵箱發郵件 %1 主題 %2 正文 %3",IF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",IF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",IF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="發送數據 %1 到 Blynk APP 的 虛擬管脚 V %2",IF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虛擬管脚:V0 ~ V255",IF.MPYTHON_BLYNK_SETUP_HELPURL="",IF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 設置 %1 服務器 %2 端口 %3 授權碼 %4",IF.MPYTHON_BLYNK_SETUP_TOOLTIP="服務器可填 blynk-cloud.com 或者 blynk.mpython.cn\n默認端口為 8080\n註意:手機APP訪問端口為 9443",IF.MPYTHON_BLYNK_APP_DATA_HELPURL="",IF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="當 從 Blynk APP 收到 虛擬管腳 V %1 的值 %2 時",IF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虛擬管脚:V0 ~ V255",IF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="當 收到 Blynk 虛擬管腳 V %1 的值",IF.MPYTHON_BLYNK_VALUE_MESSAGE0="從 Blynk 收到的值",IF.MPYTHON_BLYNK_VALUE_TOOLTIP="",IF.MPYTHON_BLYNK_VALUE_HELPURL="",IF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 斷開連接",IF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",IF.MPYTHON_ONENET_DISCONNECT_HELPURL="",IF.MPYTHON_ONENET_MSG_MESSAGE0="從 OneNET 收到的消息",IF.MPYTHON_ONENET_MSG_TOOLTIP="",IF.MPYTHON_ONENET_MSG_HELPURL="",IF.MPYTHON_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 %1 時",IF.MPYTHON3_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 時",IF.MPYTHON_ONENET_RECV_TOOLTIP="",IF.MPYTHON_ONENET_RECV_HELPURL="",IF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="當 從 OneNET 收到特定消息 %1 時",IF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",IF.MPYTHON_ONENET_RECV_MSG_HELPURL="",IF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 發送數據流 名稱 %1 值 %2",IF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",IF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",IF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 發送數據流 %1",IF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",IF.MPYTHON_ONENET_PUB_DICT_HELPURL="",IF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 發送數據流 名稱 %1 值 %2",IF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",IF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",IF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",IF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超聲波距離 測量單位 %2",IF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",IF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",IF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超聲波(mm)",IF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",IF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",IF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超聲波初始化 名稱 %1 trigger %2 echo %3",IF.MPYTHON_HCSR04_OBJ_TOOLTIP="",IF.MPYTHON_PM2_5_MIC_HELPURL="",IF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值濃度%2",IF.MPYTHON_PM2_5_MIC_TOOLTIP="",IF.MPYTHON_PM2_5_LitresAir_HELPURL="",IF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1昇空氣中直徑在%2 顆粒物個數",IF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",IF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="當 紅外接收端 %1 收到消息時 %2 執行 %3",IF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="紅外回調地址",IF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="紅外接收內容",IF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="紅外接收 %1 回調地址 %2 回調命令 %3",IF.MPYTHON_IR_REMOTE_RECV_HELPURL="",IF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",IF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="紅外發送 %1 地址 %2 命令 %3",IF.MPYTHON_IR_REMOTE_SEND_HELPURL="",IF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",IF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",IF.MPYTHON_ONENET="OneNET 設置",IF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",IF.MPYTHON_ONENET_OPTION_BOARDS="可選掌控板",IF.MPYTHON_ONENET_TITLE="OneNET",IF.MPYTHON_SERVER="服務器",IF.MPYTHON_DEVICE_ID="設備ID",IF.MPYTHON_PRODUCT_ID="產品ID",IF.MPYTHON_API_KEY="產品APIKey",IF.MPYTHON_ONENET_CALLBACK="回調函數",IF.MPYTHON_TOPIC="主題",IF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回調函數",IF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",IF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 選擇掌控板應用 %1",IF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",IF.TEXT_TO_BYTE_MESSAGE0="轉字節 %1",IF.TEXT_TO_BYTE_TOOLTIP="支持數據類型:string",IF.TEXT_TO_BYTE_HELPURL="",IF.OTHER_TO_BYTE_MESSAGE0="非文本轉字節 %1",IF.OTHER_TO_BYTE_TOOLTIP="",IF.OTHER_TO_BYTE_HELPURL="",IF.MPYTHON_BYTES_DECODE_HELPURL="",IF.MPYTHON_BYTES_DECODE_MESSAGE0="字節 %1 轉 字符串",IF.MPYTHON_BYTES_DECODE_TOOLTIP="",IF.MPYTHON_ONENET_TOOLTIP="創建OneNET連接",IF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物聯網 確保連接到 Wi-Fi 名稱 %1 密碼 %2",IF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",IF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",IF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",IF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="儅從小程序收到消息 %1 和 %2 時",IF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",IF.MPYTHON_MAC_ADDRESS_HELPURL="",IF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",IF.MPYTHON_MAC_ADDRESS_TOOLTIP="",IF.MPYTHON_RADIO_REC_HELPURL="",IF.MPYTHON_RADIO_REC_MESSAGE0="無綫廣播 接收消息",IF.MPYTHON_RADIO_REC_TOOLTIP="所接收為字節型",IF.MPYTHON_RADIO_SEND_HELPURL="",IF.MPYTHON_RADIO_SEND_MESSAGE0="無綫廣播 發送 %1",IF.MPYTHON_RADIO_SEND_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_CHANNEL_HELPURL="",IF.MPYTHON_RADIO_CHANNEL_MESSAGE0="設無綫廣播 頻道為 %1",IF.MPYTHON_RADIO_CHANNEL_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_ON_OFF_HELPURL="",IF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 無綫廣播",IF.MPYTHON_RADIO_ON_OFF_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_MSG_MESSAGE0="收到的無線廣播消息",IF.MPYTHON_RADIO_MSG_TOOLTIP="",IF.MPYTHON_RADIO_MSG_HELPURL="",IF.MPYTHON3_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 時 %1 執行 %2",IF.MPYTHON_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 %1 時",IF.MPYTHON_RADIO_RECV_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_RECV_HELPURL="",IF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="當 收到特定無線廣播消息 %1 時 %2 執行 %3",IF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="頻道: 1~13",IF.MPYTHON_RADIO_RECV_MSG_HELPURL="",IF.MPYTHON_UDP_INIT_HELPURL="",IF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 連接",IF.MPYTHON_UDP_INIT_TOOLTIP="UDP連接基於Wi-Fi",IF.MPYTHON_UDP_SEND_HELPURL="",IF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群發消息 %1",IF.MPYTHON_UDP_SEND_TOOLTIP="",IF.MPYTHON_UDP_SENDTO_HELPURL="",IF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 發送消息 %1 到 %2 端口 %3",IF.MPYTHON_UDP_SENDTO_TOOLTIP="",IF.MPYTHON_UDP_RECV_HELPURL="",IF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",IF.MPYTHON_UDP_RECV_TOOLTIP="",IF.MPYTHON_UDP_RECV_EVENT_HELPURL="",IF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="當從 UDP 收到消息時 %1 執行 %2",IF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",IF.MPYTHON_UDP_RECV_MSG_MESSAGE0="從 UDP 收到的消息",IF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",IF.MPYTHON_UDP_RECV_MSG_HELPURL="",IF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鳥叫",IF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="鋼琴黑暗旋律配樂",IF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="貓叫",IF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",IF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="渾厚的打擊音",IF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="緊張效果的音效",IF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快門聲",IF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="數百只蒼蠅",IF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫聲",IF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="搖晃低音聲線",IF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="聽眾歡呼掌聲",IF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="郵輪汽笛",IF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="現代電話鈴聲",IF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔蘿蔔",IF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="兩只老虎",IF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",IF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="設音頻音量 %1",IF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",IF.MPYTHON_DISPCHAR_MODE_1="普通",IF.MPYTHON_DISPCHAR_MODE_2="反轉",IF.MPYTHON_DISPCHAR_MODE_3="透明",IF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",IF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 語音播放 %1",IF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 訊飛開放平臺 www.xfyun.cn 上開通“在線語音合成”服務",IF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",IF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 語音配置 APPID %1 APIKey %2",IF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="輸入在 訊飛開放平臺 www.xfyun.cn 獲取的 APPID 與 APIKey\n註意:要設置IP白名單",IF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",IF.MPYTHON_AUDIO_PLAY_MESSAGE0="音頻 播放 %1",IF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",IF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",IF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音頻 播放 %1",IF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",IF.MPYTHON_AUDIO_DEINIT_HELPURL="",IF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音頻 釋放緩存",IF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",IF.MPYTHON_AUDIO_CMD_HELPURL="",IF.MPYTHON_AUDIO_CMD_MESSAGE0="音頻 %1",IF.MPYTHON_AUDIO_CMD_TOOLTIP="",IF.MPYTHON_AUDIO_INIT_HELPURL="",IF.MPYTHON_AUDIO_INIT_MESSAGE0="音頻 初始化",IF.MPYTHON_AUDIO_INIT_TOOLTIP="為音頻解碼開闢緩存",IF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",IF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="開始錄音 錄音時長%1秒",IF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本,錄音時長不能超過5秒",IF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",IF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="錄音結果",IF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",IF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",IF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="將 %1 進行識別",IF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",IF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",IF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="識別錄音結果",IF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",IF.MPYTHON_RECORD_INIT_HELPURL="",IF.MPYTHON_RECORD_INIT_MESSAGE0="錄音 初始化",IF.MPYTHON_RECORD_INIT_TOOLTIP="錄音初始化。\n需要掌控板v1.1以上硬件版本。",IF.MPYTHON_RECORD_DEINIT_HELPURL="",IF.MPYTHON_RECORD_DEINIT_MESSAGE0="錄音 釋放資源",IF.MPYTHON_RECORD_DEINIT_TOOLTIP="錄音結束後釋放資源。\n需要掌控板v1.1以上硬件版本。",IF.MPYTHON_RECORD_WAV_HELPURL="",IF.MPYTHON_RECORD_WAV_MESSAGE0="錄制音頻 存儲路徑 %1 時長 %2 秒",IF.MPYTHON_RECORD_WAV_TOOLTIP="錄制音頻,並以 WAV 格式存儲。\n需要掌控板v1.1以上硬件版本。",IF.MPYTHON_ASR_HELPURL="",IF.MPYTHON_ASR_MESSAGE0="識別 %1 秒語音指令",IF.MPYTHON_ASR_TOOLTIP="可以識別3秒內的語音指令。\n需要掌控板v1.1以上硬件版本。",IF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_button_A="P5(按鍵A)",IF.mpython_button_B="P11(按鍵B)",IF.mpython_PIN7_RGB="P7(板載RGB)",IF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",IF.MPYTHON_PWM_PIN_P9="P9 (掌控實驗箱)",IF.mpython_tem="溫度",IF.mpython_hum="濕度",IF.mpython_pre="氣壓",IF.mpython_left_right="左右",IF.MPYTHON_LEFT="左",IF.MPYTHON_RIGHT="右",IF.mpython_front_back="前後",IF.mpython_vertical="垂直",IF.mpython_horizontal="水平",IF.mpython_run_in_back="後臺運行",IF.mpython_run_in_front="前臺運行",IF.mpython_draw="繪制",IF.mpython_clear="清除",IF.mpython_s="秒",IF.mpython_ms="毫秒",IF.mpython_us="微秒",IF.mpython_year="年",IF.mpython_month="月",IF.mpython_date="日",IF.mpython_hour="時",IF.mpython_minute="分",IF.mpython_week="星期數",IF.mpython_days="天數",IF.MPYTHON_ORDER="第",IF.MPYTHON_REVERSE_ORDER="倒數第",IF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定遞增基數集合中的一個隨機數,基數缺省值為1",IF.MATH_RANDOM_RANDRANGE_MESSAGE0="隨機數 從遞增區間 [%1 ,%2) 遞增步長%3",IF.MATH_KEEP_DECIMAL_HELPURL="",IF.MATH_KEEP_DECIMAL_TOOLTIP="",IF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小數",IF.MPYTHON_MIN="最小值",IF.MPYTHON_MAX="最大值",IF.MPYTHON_LENTH="長度",IF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.TUPLE_MIN_MAX_LEN_TOOLTIP="",IF.TUPLE_MIN_MAX_LEN_MESSAGE0="元組 %1 %2",IF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.TUPLE_ITEM_EXIST_TOOLTIP="",IF.TUPLE_ITEM_EXIST_MESSAGE0="元組%1 包含%2",IF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LIST_ITEM_EXIST_TOOLTIP="",IF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",IF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.PARTS_OF_TUPLE_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.PARTS_OF_TUPLE_MESSAGE0="返回元組%1 取第%2 項到尾項",IF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.PARTS_OF_TUPLE2_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",IF.PARTS_OF_TUPLE2_MESSAGE0="返回元組%1 取%2 %3 項到 %4 %5 項",IF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.PARTS_OF_LIST_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",IF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 項到 %4 %5 項",IF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LIST_TO_TUPLE_TOOLTIP="",IF.LIST_TO_TUPLE_MESSAGE0="列表%1 轉元組",IF.tuple_create_with_MESSAGE0="定義元組 %1 = %2 ",IF.tuple_create_with_TOOLTIP="只包含一個元素時,需要在元素後面添加逗號",IF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.tuple_order_item_MESSAGE0="元組%1 %2 %3 項",IF.tuple_order_item_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 項",IF.LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_LIST_ORDER_ITEM_MESSAGE0="設列表%1 %2 %3 項為%4",IF.SET_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 項為%4",IF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_TUPLE_ORDER_ITEM_MESSAGE0="設元組%1 %2 %3 項為%4",IF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_CREATE_WITH_TOOLTIP="",IF.DICT_CREATE_WITH_MESSAGE0="定義字典 %1 = %2",IF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_CREATE_WITH_TOOLTIP="",IF.SET_CREATE_WITH_MESSAGE0="定義集合 %1 = %2",IF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_UPDATE_WITH_TOOLTIP="添加參數可為字符串、列表、元組、集合、字典(只添加key),已有元素則不進行操作",IF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",IF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.INTERSECTION_OF_SETS_TOOLTIP="",IF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",IF.MPYTHON_INTERSECTION="交集",IF.MPYTHON_UNION="並集",IF.MPYTHON_DIFFERENCE="差集",IF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SETS_UPDATE_WAYS_TOOLTIP="",IF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新為 與集合 %2 的 %3",IF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SUBSET_SUPERSET_TOOLTIP="",IF.SUBSET_SUPERSET_MESSAGE0="集合 %1 為集合 %2 的 %3",IF.MPYTHON_SUBSET="子集",IF.MPYTHON_SUPERSET="超集",IF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.LEN_OF_SETS_TOOLTIP="",IF.LEN_OF_SETS_MESSAGE0="集合 %1 長度",IF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.GET_SETS_POP_TOOLTIP="",IF.GET_SETS_POP_MESSAGE0="返回隨機項並移除之 從集合 %1",IF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.CREATE_EMPTY_SET_TOOLTIP="",IF.CREATE_EMPTY_SET_MESSAGE0="創建空集合 %1",IF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.BIT_INVERSION_TOOLTIP="對數據的每個二進制位取反",IF.BIT_INVERSION_MESSAGE0="二進制取反 %1",IF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="項可為字符串、已賦值變量、元組",IF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",IF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_KEY_VALUE_TOOLTIP="",IF.DICT_KEY_VALUE_MESSAGE0="字典%1 鍵%2 的值",IF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.ADD_DICT_KEY_VALUE_TOOLTIP="已有該鍵則更新該鍵",IF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加鍵%2 值%3",IF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_LENGTH_TOOLTIP="",IF.DICT_LENGTH_MESSAGE0="字典%1 長度",IF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_KEY_EXIST_TOOLTIP="",IF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含鍵%2",IF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",IF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",IF.DICT_KEYS="鍵",IF.DICT_VALUES="值",IF.mpython_lists_append_MESSAGE0="列表%1 末尾添加項%2",IF.mpython_lists_append_TOOLTIP="",IF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",IF.mpython_lists_extend_TOOLTIP="",IF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_lists_clear_MESSAGE0="列表%1 清空",IF.mpython_lists_clear_TOOLTIP="",IF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重複",IF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",IF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_Timer_value_MESSAGE0="定時器 %1 的計數值",IF.mpython_Timer_value_TOOLTIP="獲取並返回計時器當前計數值",IF.mpython_Timer_deinit_MESSAGE0="清除 定時器/事件 %1",IF.mpython_Timer_deinit_TOOLTIP="取消定時器的初始化。停止計時器,並禁用計時器外圍設備",IF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",IF.mpython_Interrupt_AB_TOOLTIP="",IF.mpython_Interrupt_AB_MESSAGE0="當按鍵 %1 被 %2 時",IF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",IF.mpython_Interrupt_pin_TOOLTIP="上升沿觸發:由低電平到高電平;下降沿觸發:由高電平到低電平",IF.mpython_Interrupt_pin_MESSAGE0="當引腳 %1 電平 %2 時",IF.mpython_Interrupt_pin_IRQ_FALLING="↘ 從高到低",IF.mpython_Interrupt_pin_IRQ_RISING="↗ 從低到高",IF.mpython_IRQ_FALLING="按下",IF.mpython_IRQ_RISING="松開",IF.mpython_PERIODIC="重復執行",IF.mpython_ONE_SHOT="延時執行",IF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",IF.MPYTHON_IS_SHAKED_HELPURL="",IF.MPYTHON_IS_SHAKED_TOOLTIP="",IF.MPYTHON_IS_SHAKED="被搖晃",IF.MPYTHON_IS_THROWN="被拋起",IF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="當掌控板 %1 時",IF.MPYTHON_SHAKE_DETECTOR_HELPURL="",IF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",IF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",IF.MPYTHON_IS_TILTED_HELPURL="",IF.MPYTHON_IS_TILTED_TOOLTIP="",IF.MPYTHON_TILT_DETECTOR_MESSAGE0="當掌控板 %1 時",IF.MPYTHON_TILT_DETECTOR_HELPURL="",IF.MPYTHON_TILT_DETECTOR_TOOLTIP="",IF.MPYTHON_DIRECTION_FORWARD="向前傾斜",IF.MPYTHON_DIRECTION_BACK="向後傾斜",IF.MPYTHON_DIRECTION_RIGHT="向右傾斜",IF.MPYTHON_DIRECTION_LEFT="向左傾斜",IF.MPYTHON_DIRECTION_NONE="平放",IF.MPYTHON_TOUCH_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",IF.MPYTHON_TOUCH_EVENT_HELPURL="",IF.MPYTHON_TOUCH_EVENT_TOOLTIP="",IF.MPYTHON_TOUCH_EVENT_PRESSED="觸摸",IF.MPYTHON_TOUCH_EVENT_UNPRESSED="釋放",IF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 當 %2 時",IF.MPYTHON_CUSTOM_EVENT_HELPURL="",IF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定義事件與定時器共用 1/2/4/7/8/9/10,不可同時占用一個端口。\n最大同時創建4個事件/定時器,如果存在沖突,請嘗試換一個編號。",IF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_music_range_pitch_TOOLTIP="時長為單個頻率的時長",IF.mpython_music_range_pitch_MESSAGE0="播放音調 從%1 到%2 步長%3 時長%4 毫秒 引脚 %5",IF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_neopixel_init_TOOLTIP="",IF.mpython_neopixel_init_MESSAGE0="燈帶初始化 名稱%1 引腳%2 數量%3",IF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",IF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹燈效 燈帶%1 數量 %2 亮度 %3 偏移 %4",IF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",IF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度調節, 範圍 0 ~ 100",IF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="燈帶 %1 設置亮度為 %2",IF.mpython_neopixel_single_TOOLTIP="",IF.mpython_neopixel_single_MESSAGE0="燈帶%1 %2號 紅%3 綠%4 藍%5",IF.mpython_neopixel_single_gui_MESSAGE0="燈帶 %1 %2號 顏色為 %3",IF.mpython_neopixel_single_gui_TOOLTIP="",IF.mpython_neopixel_show_TOOLTIP="",IF.mpython_neopixel_show_MESSAGE0="燈帶%1 設置生效",IF.mpython_neopixel_off_TOOLTIP="",IF.mpython_neopixel_off_MESSAGE0="燈帶%1 關閉",IF.mpython_neopixel_all_TOOLTIP="",IF.mpython_neopixel_all_MESSAGE0="燈帶%1 全亮 紅%2 綠%3 藍%4",IF.mpython_neopixel_all_gui_TOOLTIP="",IF.mpython_neopixel_all_gui_MESSAGE0="燈帶%1 全亮 顏色%2",IF.mpython_image_to_oled_MESSAGE0="打開圖片 %1 寬 %2 高 %3",IF.mpython_image_to_oled_TOOLTIP="",IF.mpython_time_localtime_MESSAGE0="本地時間 %1",IF.mpython_time_localtime_TOOLTIP="星期數:返回0~6,周一為0,周日為6\n天數:獲取當前日期是一年中的第幾天\n建議先連接wifi並獲取網絡時間",IF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",IF.mpython_WiFi_config_TOOLTIP="netmask-子網掩碼;gateway-網關",IF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",IF.mpython_time_ticks_MESSAGE0="運行時間 %1",IF.mpython_time_ticks_TOOLTIP="",IF.MPYTHON_TIMER_DEF_MESSAGE0="定義定時器 %1",IF.MPYTHON_TIMER_INIT_MESSAGE0="啟動定時器 %1 %2 周期 %3 毫秒",IF.mpython_Timer_MESSAGE0="設置定時器 %1 %2 周期 %3 毫秒",IF.mpython_Timer_TOOLTIP="創建定時器n,n=1-14。\n最大同時創建4個定時器,如果存在沖突,請嘗試換一個編號。\n3用於內部程序,\n5/6用於伺服系統和ADC,\n11用於搖晃檢測,\n12用於觸摸鍵檢測,\n13用於Radio和DHT11/DHT22定時取值(共用),\n14用於OneNET和傾斜檢測(共用),\n其余端口與自定義事件共用。",IF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",IF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",IF.mpython_bme280_hum_tem_pre_TOOLTIP="氣壓單位Pa, 溫度單位攝氏度, 環境濕度單位%",IF.mpython_sway_xyz_MESSAGE0="%1 搖晃掌控板",IF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,觸摸鍵 'python' 靠近使用者,開始左右或前後搖晃掌控板",IF.mpython_init_bluetooth_MESSAGE0="初始化 藍牙名稱%1",IF.mpython_init_bluetooth_TOOLTIP="初始化 藍牙名稱",IF.mpython_OnOff_bluetooth_MESSAGE0="藍牙設備%1廣播",IF.mpython_OnOff_bluetooth_TOOLTIP="藍牙設備 開啟或關閉廣播",IF.mpython_HID_consumer_bluetooth_MESSAGE0="消費類設備%1 狀態%2",IF.mpython_HID_consumer_bluetooth_TOOLTIP="類比HID消費類設備的控制器,如藍牙遙控器",IF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="鍵盤 釋放按鍵",IF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="HID鍵盤設備",IF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠標%1",IF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠標設備",IF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠標 釋放按鍵",IF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠標設備",IF.mpython_HID_keyboard_bluetooth_MESSAGE0="鍵盤 按鍵%1",IF.mpython_HID_keyboard_bluetooth_TOOLTIP="鍵盤設備",IF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="HID設備按鍵 %1 組合按鍵%2",IF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",IF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="滑鼠 指標移動 x%2 y%1",IF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标坐标x,y轴的相对位移,范围-1023 ~ 1023",IF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="設備 按鍵 %1 組合按鍵%2",IF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="鍵盤設備",IF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="鍵盤 组合設備%1",IF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",IF.mpython_HID_keyboard_part_bluetooth_HELPURL="",IF.mpython_init_wifi_MESSAGE0="連接 Wi-Fi 名稱 %1 密碼 %2",IF.mpython_init_wifi_TOOLTIP="讓掌控板接入Wi-Fi環境",IF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 設置固定IP %1 IP 地址 %2 子網掩碼 %3 默認網關 %4 DNS %5",IF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",IF.MPYTHON_WIFI_IFCONFIG_HELPURL="",IF.mpython_dis_WiFi_MESSAGE0="斷開 Wi-Fi 連接",IF.mpython_dis_WiFi_TOOLTIP="",IF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",IF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密碼可以為空,或者8位以上的字母或數字。\nAP模式僅用於掌控板之間的相互通信,不可以作為熱點,令其它設備上網。",IF.MPYTHON_ENABLE_APWIFI_MESSAGE0="開啟 AP模式 名稱 %1 密碼 %2 信道 %3",IF.mpython_disable_APWiFi_MESSAGE0="關閉 AP模式",IF.mpython_disable_APWiFi_TOOLTIP="",IF.mpython_ntptime_settime_MESSAGE0="同步網絡時間 時區 %1 授時服務器 %2",IF.mpython_ntptime_settime_TOOLTIP="NTP時間同步是一種時間同步網絡技術",IF.mpython_wifi_get_date_MESSAGE0="獲取當前日期",IF.mpython_wifi_get_date_TOOLTIP="獲取當前日期字符串 示例:2020年12月12日",IF.mpython_wifi_get_time_MESSAGE0="獲取當前時間",IF.mpython_wifi_get_time_TOOLTIP="獲取當前時間字符串",IF.mpython_ntptime_timezone_E1="東1區",IF.mpython_ntptime_timezone_E2="東2區",IF.mpython_ntptime_timezone_E3="東3區",IF.mpython_ntptime_timezone_E4="東4區",IF.mpython_ntptime_timezone_E5="東5區",IF.mpython_ntptime_timezone_E6="東6區",IF.mpython_ntptime_timezone_E7="東7區",IF.mpython_ntptime_timezone_E8="東8區",IF.mpython_ntptime_timezone_E9="東9區",IF.mpython_ntptime_timezone_E10="東10區",IF.mpython_ntptime_timezone_E11="東11區",IF.mpython_ntptime_timezone_E12="東12區",IF.mpython_ntptime_timezone_0="中時區",IF.mpython_ntptime_timezone_W1="西1區",IF.mpython_ntptime_timezone_W2="西2區",IF.mpython_ntptime_timezone_W3="西3區",IF.mpython_ntptime_timezone_W4="西4區",IF.mpython_ntptime_timezone_W5="西5區",IF.mpython_ntptime_timezone_W6="西6區",IF.mpython_ntptime_timezone_W7="西7區",IF.mpython_ntptime_timezone_W8="西8區",IF.mpython_ntptime_timezone_W9="西9區",IF.mpython_ntptime_timezone_W10="西10區",IF.mpython_ntptime_timezone_W11="西11區",IF.mpython_ntptime_timezone_W12="西12區",IF.FILE_TO_LIST_HELPURL="",IF.FILE_TO_LIST_TOOLTIP="讀出指定路徑的文本文件內容(僅限utf-8格式),並轉為列表形式,以分隔符分隔。",IF.FILE_TO_LIST_MESSAGE0="讀取文本文件 %1 為列表 ,以 %2 分隔",IF.FILE_TO_BIN_HELPURL="",IF.FILE_TO_BIN_TOOLTIP="以二進制格式讀出指定路徑的文件內容。",IF.FILE_TO_BIN_MESSAGE0="讀取文件 %1 的二進制內容",IF.MPYTHON_INIT_FILE_HELPURL="",IF.MPYTHON_INIT_FILE_TOOLTIP="初始化一個文本文件,如果文件不存在則創建文件,如果文件存在則清空內容。",IF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",IF.MPYTHON_WRITE_FILE_HELPURL="",IF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路徑的文本文件寫入內容,如果文件不存在則創建文件。",IF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 寫入內容 %2 ,以 %3 分隔",IF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",IF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n須確保 SPI 總線的引腳與 micro SD 卡物理連接正確,並預先使用 FAT 或 FAT32 文件系統格式化 micro SD 卡。",IF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",IF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",IF.MPYTHON_SDCARD_MOUNT_TOOLTIP="掛載 SDCard 到指定路徑。",IF.MPYTHON_SDCARD_MOUNT_MESSAGE0="掛載 SD 卡到路徑 %1",IF.MPYTHON_ENTER="回車",IF.MPYTHON_COMMA="逗號",IF.MPYTHON_SEMICOLON="分號",IF.MPYTHON_SPACE="空格",IF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模擬時鐘 x %1 y %2 半徑 %3",IF.mpython_wifi_clock_TOOLTIP="需連接 Wi-Fi 使用",IF.mpython_def_clock_MESSAGE0="初始化時鐘%1 x %2 y %3 半徑 %4",IF.mpython_def_clock_TOOLTIP="",IF.mpython_settime_clock_MESSAGE0="時鐘%1 讀取時間",IF.mpython_settime_clock_TOOLTIP="",IF.mpython_draw_clear_clock_MESSAGE0="%1 時鐘 %2",IF.mpython_draw_clear_clock_TOOLTIP="",IF.mpython_tinywebio_start_MESSAGE0="啟動 TinyWebIO 服務 %1",IF.mpython_tinywebio_start_TOOLTIP="啟動該服務需連接Wi-Fi,TinyWebIO服務為App Inventor應用提供遠程控制接口的掌控板工具包",IF.mpython_tinywebio_client_setup_HELPURL="",IF.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引腳",IF.mpython_tinywebio_client_setup_MESSAGE0="設置 TinyWebIO 客戶端參數 %1 TinyWebDB服務器地址 %2 向服務器發布的數據項 %3 從服務器讀取的數據項 %4 存取服務器的時間間隔(ms) %5",IF.mpython_tinywebio_client_action_HELPURL="",IF.mpython_tinywebio_client_action_TOOLTIP="",IF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客戶端",IF.mpython_tinywebio_client_action_start="啟動",IF.mpython_tinywebio_client_action_stop="停止",IF.MPYTHON_CUSTOM_CODE_HELPURL="",IF.MPYTHON_CUSTOM_CODE_TOOLTIP="",IF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定義代碼 %2 %3",IF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定義返回值 %1",IF.MPYTHON_CUSTOM_TYPE_IMPORT="置頂",IF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",IF.mpython_servo_angle0_MESSAGE0="設置舵機 %1 角度為 %2",IF.mpython_servo_angle_MESSAGE0="設置舵機 %1 角度為 %2 脈寬從 %3 到 %4 最大角度 %5",IF.mpython_servo_angle_TOOLTIP="電源線Vcc(紅色)連接拓展板電源口V,地線GND(棕色)連接拓展板地線口G,控制信號線(橙色)連接所選的拓展板引腳",IF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",IF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",IF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 連接拓展板的電源口 V ,- 連接拓展板的地線口 G ,out 連接拓展板的引腳 0(即選引腳)",IF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",IF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",IF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",IF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",IF.mpython_music_note_TOOLTIP="音符,如C4:4",IF.mpython_return_list_MESSAGE0="定義列表 %1 = %2",IF.mpython_return_list_TOOLTIP="",IF.mpython_display_Show_MESSAGE0="OLED 顯示生效",IF.mpython_display_Show_TOOLTIP="",IF.mpython_display_DispChar_MESSAGE0="顯示文本 x %1 y %2 內容 %3 模式 %4 %5",IF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",IF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",IF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行顯示 %2 模式 %3 %4",IF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",IF.mpython_line1="1",IF.mpython_line2="2",IF.mpython_line3="3",IF.mpython_line4="4",IF.mpython_line5="5",IF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",IF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",IF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="";IF.mpython_display_fill_0="清空",IF.mpython_display_fill_1="全亮",IF.mpython_display_invert_0="黑底",IF.mpython_display_invert_1="白底",IF.mpython_display_show="生效",IF.mpython_display_fill_MESSAGE0="OLED 顯示 %1",IF.mpython_display_fill_TOOLTIP="",IF.mpython_display_pixel_0="暗",IF.mpython_display_pixel_1="亮",IF.mpython_display_pixel_MESSAGE0="描點 x %1 y %2 為 %3",IF.mpython_display_pixel_TOOLTIP="",IF.mpython_display_hline_0="擦除",IF.mpython_display_hline_1="繪制",IF.mpython_display_hline_MESSAGE0="%1 水平線%2 x%3 y%4 長度%5",IF.mpython_display_hline_TOOLTIP="",IF.mpython_ProgressBar_MESSAGE0="進度條%1 x%2 y%3 寬%4 高%5 進度%6",IF.mpython_ProgressBar_TOOLTIP="",IF.mpython_stripBar_MESSAGE0="柱狀條%1 x%2 y%3 寬%4 高%5 進度%6",IF.mpython_stripBar_TOOLTIP="",IF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",IF.MPYTHON_QR_CODE_TOOLTIP="",IF.MPYTHON_QR_CODE_MESSAGE0="在坐標 x %1 y %2 繪制二維碼 %3 尺寸 %4",IF.MPYTHON_DISPLAY_MODE_0="擦除",IF.MPYTHON_DISPLAY_MODE_1="繪制",IF.MPYTHON_DISPLAY_HOLLOW="空心",IF.MPYTHON_DISPLAY_SOLID="實心",IF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 線 %3 x %4 y %5 長度 %6",IF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",IF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 寬 %6 高 %7",IF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",IF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圓 %3 x %4 y %5 半徑 %6",IF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",IF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",IF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",IF.MPYTHON_RGB_0="0 #",IF.MPYTHON_RGB_1="1 #",IF.MPYTHON_RGB_2="2 #",IF.MPYTHON_RGB_ALL="所有",IF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="設置 %1 RGB 燈顏色為 %2",IF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="設置 %1 RGB 燈顏色為 R %2 G %3 B %4",IF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.MPYTHON_OFF_RGB_LIST_MESSAGE0="關閉 %1 RGB 燈",IF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",IF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音樂 %1 引腳 %2",IF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放內置的音樂",IF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音樂 %1 直到完成 , 引腳 %2",IF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放內置的音樂",IF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖國",IF.MPYTHON_MUSIC_DONG_FANG_HONG="東方紅",IF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩雲追月",IF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走進新時代",IF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",IF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小調",IF.mpython_display_vline_MESSAGE0="%1 垂直線%2 x%3 y%4 長度%5",IF.mpython_display_vline_TOOLTIP="",IF.mpython_display_line_MESSAGE0="%1 線%2 x1 %3 y1 %4 到 x2 %5 y2 %6",IF.mpython_display_line_TOOLTIP="",IF.mpython_display_rect_MESSAGE0="%1 邊框%2 x %3 y %4 寬 %5 高 %6",IF.mpython_display_rect_TOOLTIP="",IF.mpython_display_RoundRect_MESSAGE0="%1 弧角邊框%2 x %3 y %4 寬 %5 高 %6 半徑%7",IF.mpython_display_RoundRect_TOOLTIP="",IF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 寬 %5 高 %6 ",IF.mpython_display_fill_rect_TOOLTIP="",IF.mpython_display_fill_circle_MESSAGE0="%1 實心圓%2 x %3 y %4 半徑 %5",IF.mpython_display_fill_circle_TOOLTIP="",IF.mpython_display_circle_MESSAGE0="%1 空心圓%2 x %3 y %4 半徑 %5",IF.mpython_display_circle_TOOLTIP="",IF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",IF.mpython_display_triangle_TOOLTIP="",IF.mpython_display_fill_triangle_MESSAGE0="%1 實心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",IF.mpython_display_fill_triangle_TOOLTIP="",IF.mpython_display_Bitmap_MESSAGE0="%1 圖像 x%2 y%3 寬%4 高%5 16進制圖像數據 %6",IF.mpython_display_Bitmap_TOOLTIP="將16進制圖像數據顯示在OLED屏的指定位置",IF.MPYTHON_GET_PBM_DATA_MESSAGE0="獲取內置圖像 %1 模式%2",IF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件,獲取指定路徑的圖像文件數據,返回一個元組對象。",IF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",IF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="獲取自定義圖像 %1 模式%2",IF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %3",IF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件",IF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",IF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %5 寬 %3 高 %4",IF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",IF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",IF.mpython_horizontal="水平",IF.mpython_vertical="垂直",IF.mpython_display_FrameBuffer_MESSAGE0="構建幀 列表 %1 長 %2 寬 %3 掃描模式 %4",IF.mpython_display_FrameBuffer_TOOLTIP="用圖像取模後數據的列表 ,創建128x64的幀緩存區,以儲存圖片幀",IF.MPYTHON_FONT_DIGIFACE_11="仿數碼管 11像素",IF.MPYTHON_FONT_DIGIFACE_16="仿數碼管 16像素",IF.MPYTHON_FONT_DIGIFACE_21="仿數碼管 21像素",IF.MPYTHON_FONT_DIGIFACE_30="仿數碼管 30像素",IF.MPYTHON_FONT_DIGIFACE_44="仿數碼管 44像素",IF.MPYTHON_FONT_DIGIFACE_IT_30="仿數碼管 斜體 30像素",IF.MPYTHON_FONT_DIGIFACE_IT_42="仿數碼管 斜體 42像素",IF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",IF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",IF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",IF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑體 12像素",IF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑體 16像素",IF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑體 21像素",IF.MPYTHON_FONT_WRAP="自動換行",IF.MPYTHON_FONT_NO_WRAP="不換行",IF.MPYTHON_FACE_1="心形",IF.MPYTHON_FACE_2="心形(小)",IF.MPYTHON_FACE_3="高興",IF.MPYTHON_FACE_4="笑臉",IF.MPYTHON_FACE_5="傷心",IF.MPYTHON_FACE_6="困惑",IF.MPYTHON_FACE_7="生氣",IF.MPYTHON_FACE_8="睡著",IF.MPYTHON_FACE_9="驚訝",IF.MPYTHON_FACE_10="愚蠢",IF.MPYTHON_FACE_11="極妙",IF.MPYTHON_FACE_12="無聊",IF.MPYTHON_FACE_ROCK="石頭",IF.MPYTHON_FACE_PAPER="布",IF.MPYTHON_FACE_SCISSORS="剪刀",IF.MPYTHON_FACE_ROCK_S="石頭(小)",IF.MPYTHON_FACE_PAPER_S="布(小)",IF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",IF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐標 x %1 y %2 顯示 %3 以 %4 字體 %5",IF.MPYTHON_DISPLAY_FONT_TOOLTIP="",IF.MPYTHON_DISPLAY_FONT_HELPURL="",IF.mpython_front="正向",IF.mpython_reverse="反轉",IF.mpython_display_blit_MESSAGE0="顯示幀 坐標x %1 y %2",IF.mpython_display_blit_TOOLTIP="",IF.mpython_front_reverse_MESSAGE0="像素點bit %1",IF.mpython_front_reverse_TOOLTIP="用於顯示之前",IF.mpython_images_append_MESSAGE0="動圖顯示 幀數%1 周期%2 長%3 寬%4",IF.mpython_images_append_TOOLTIP="上傳至掌控板的pbm圖片需命名為IMAGE.數字,後綴為pbm。如:IMAGE.1.pbm。幀數為7則數字為1至7",IF.mpython_button_is_pressed_MESSAGE0="按鍵%1 被按下",IF.mpython_button_is_pressed_TOOLTIP="",IF.mpython_button_both_pressed_MESSAGE0="AB按鍵都按下",IF.mpython_button_both_pressed_TOOLTIP="",IF.mpython_touchPad_value_MESSAGE0="按鍵%1 被觸摸",IF.mpython_touchPad_value_TOOLTIP="",IF.mpython_touchPad_value_num_MESSAGE0="按鍵%1 觸摸值",IF.mpython_touchPad_value_num_TOOLTIP="",IF.mpython_read_digital_MESSAGE0="讀取引腳 %1 數字值",IF.mpython_read_digital_TOOLTIP="",IF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水溫度感測器 引脚 %1",IF.mpython_read_DS18B20_TOOLTIP="",IF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",IF.mpython_set_digital_MESSAGE0="設置引腳 %2 數字值為 %1",IF.mpython_set_digital_TOOLTIP="",IF.mpython_read_analog_MESSAGE0="讀取引腳 %1 模擬值",IF.mpython_read_analog_TOOLTIP="",IF.mpython_set_analog_MESSAGE0="設置引腳 %2 模擬值(PWM)為 %1",IF.mpython_set_analog_TOOLTIP="模擬輸出是通過IO引腳輸出脈寬調制信號,輸出指定的電壓值,簡稱PWM。",IF.mpython_set_RGB_MESSAGE0="設置 %1 號 RGB 燈顏色為 R %2 G %3 B %4",IF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_set_RGB_color_MESSAGE0="設置 %1 號 RGB 燈顏色為 %2",IF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_set_RGB_all_MESSAGE0="設置所有 RGB 燈顏色為 R %1 G %2 B %3",IF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_set_RGB_color_all_MESSAGE0="設置所有 RGB 燈顏色為 %1",IF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",IF.mpython_fresh_RGB_MESSAGE0="RGB 燈設置生效",IF.mpython_fresh_RGB_TOOLTIP="",IF.mpython_off_RGB_MESSAGE0="關閉 RGB 燈",IF.mpython_off_RGB_TOOLTIP="",IF.mpython_buzz_state_MESSAGE0="停止播放音樂",IF.mpython_buzz_state_TOOLTIP="",IF.mpython_buzz_freq_MESSAGE0="播放連續音調 %1 引脚 %2",IF.mpython_buzz_freq_TOOLTIP="",IF.mpython_buzz_tone_MESSAGE0="播放音調 %1",IF.mpython_buzz_tone_TOOLTIP="",IF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",IF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默認是掌控板的P6引脚",IF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",IF.MPYTHON_MUSIC_TONE_HELPURL="",IF.MPYTHON_MUSIC_TONE_TOOLTIP="",IF.MPYTHON_MUSIC_TONE_MESSAGE0="音調 %1",IF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",IF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",IF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 節拍 %2",IF.MPYTHON_MUSIC_TICK_HELPURL="",IF.MPYTHON_MUSIC_TICK_TOOLTIP="",IF.MPYTHON_MUSIC_TICK_MESSAGE0="節拍 %1",IF.MPYTHON_4_LINES_HELPURL="",IF.MPYTHON_4_LINES_TOOLTIP="",IF.MPYTHON_4_LINES_MESSAGE0="%1",IF.NUMBER_1="1",IF.NUMBER_1_2="1/2",IF.NUMBER_1_4="1/4",IF.NUMBER_2="2",IF.NUMBER_4="4",IF.mpython_read_sound_MESSAGE0="聲音值",IF.mpython_read_sound_TOOLTIP="",IF.mpython_read_light_MESSAGE0="光線值",IF.mpython_read_light_TOOLTIP="",IF.mpython_accelerometer_get_MESSAGE0="%1 軸加速度",IF.mpython_accelerometer_get_TOOLTIP="",IF.mpython_accelerometer_get_z_MESSAGE0="z軸加速度",IF.mpython_accelerometer_get_z_TOOLTIP="",IF.mpython_accelerometer_get_y_MESSAGE0="y軸加速度",IF.mpython_accelerometer_get_y_TOOLTIP="",IF.mpython_accelerometer_get_x_MESSAGE0="x軸加速度",IF.mpython_accelerometer_get_x_TOOLTIP="",IF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",IF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",IF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",IF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",IF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",IF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",IF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",IF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="設置加速度範圍,默認為 ±2g。",IF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="設置加速度範圍為 %1",IF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="設置加速度分辨率,默認為 10bits。",IF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="設置加速度分辨率為 %1",IF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校準加速度計的3個軸(x,y,z)的加速值偏差。\n一般情況下無需校準,只有遇到加速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1g。\n註意:校準數據斷電後不會保存。",IF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校準加速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4",IF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 軸 磁力",IF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南針方向",IF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校準指南針",IF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除當前環境磁場",IF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="僅適用於掌控板2.0及以上版本",IF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁場強度",IF.MPYTHON_TILT_ANGLE_HELPURL="",IF.MPYTHON_TILT_ANGLE_TOOLTIP="",IF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 軸傾斜角",IF.mpython_random_choice_MESSAGE0="返回隨機項%1",IF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的隨機項",IF.mpython_i2c_init_MESSAGE0="初始化I2C 波特率%1",IF.mpython_i2c_init_TOOLTIP="SCL引腳19,SDA引腳20,與內部的OLED和加速度傳感器共享I2C總線",IF.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",IF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 電平持續時間(微秒)",IF.MACHINE_TIME_PULSE_US_TOOLTIP="",IF.BYTES="字節",IF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",IF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",IF.MPYTHON_I2C_INIT_TOOLTIP="",IF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",IF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",IF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",IF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",IF.MPYTHON_I2C_SCAN_MESSAGE0="%1 掃描地址",IF.MPYTHON_I2C_SCAN_TOOLTIP="返回壹個數組對象",IF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",IF.MPYTHON_I2C_DEINIT_MESSAGE0="關閉%1總線",IF.MPYTHON_I2C_DEINIT_TOOLTIP="",IF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",IF.MPYTHON_I2C_WRITETO_MESSAGE0="從%1 %5 地址%2 寫入%3 停止位%4",IF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n寫入:Number、String",IF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",IF.MPYTHON_I2C_READFROM_MESSAGE0="從%1 %5 地址%2 讀取 字節數%3 停止位%4",IF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",IF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",IF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="從%1 %6 地址%2 讀入緩存區%3 字節數%4 停止位%5",IF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",IF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",IF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 寫入%3",IF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n寫入:Number、String",IF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",IF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 讀取 字節數%3",IF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",IF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",IF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="從%1 %6 地址%2 寄存器%5 讀入緩存區%3 字節數%4",IF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",IF.mpython_print_MESSAGE0="調試輸出 %1",IF.mpython_print_TOOLTIP="通過串口調試,輸出字符串",IF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",IF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印數據到圖表",IF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印數據到圖表",IF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="數據",IF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",IF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="數據內容",IF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",IF.MPYTHON_INIT_CHART_TOOLTIP="",IF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化圖表列標題",IF.MPYTHON_INIT_CHART_INPUT_WITH="初始化圖表列標題",IF.MPYTHON_INIT_CHART_ITEM_TITLE="標題",IF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",IF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="數據列標題",IF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",IF.MPYTHON_MS="毫秒",IF.MPYTHON_US="微秒",IF.MPYTHON_TIME_DIFFERENCE_HELPURL="",IF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回運行時間差 開始時間 %1 結束時間 %2",IF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",IF.MPYTHON_TYPE_HELPURL="",IF.MPYTHON_TYPE_MESSAGE0="值 %1 的類型",IF.MPYTHON_TYPE_TOOLTIP="",IF.MPYTHON_TYPE_IS_HELPURL="",IF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的類型為 %2",IF.MPYTHON_TYPE_IS_TOOLTIP="",IF.MPYTHON_EVAL_HELPURL="",IF.MPYTHON_EVAL_MESSAGE0="計算表達式 %1 的結果",IF.MPYTHON_EVAL_TOOLTIP="計算字符串表達式,並返回結果",IF.MPYTHON_RETURN_HELPURL="",IF.MPYTHON_RETURN_MESSAGE0="return %1",IF.MPYTHON_RETURN_TOOLTIP="",IF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",IF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 電機速度 %1",IF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",IF.MPYTHON_M1M2_LED_ON_HELPURL="",IF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 設燈 %1 亮度 %2",IF.MPYTHON_M1M2_LED_ON_TOOLTIP="",IF.MPYTHON_M1M2_LED_OFF_HELPURL="",IF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 關燈 %1",IF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",IF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",IF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C數字光綫",IF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",IF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",IF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 顔色 %1",IF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 顔色",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",IF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",IF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 顔色 %1",IF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 顔色",IF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",IF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C電壓感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁場感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C電導率感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C氣壓感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",IF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光電門感測器 撥碼 %1",IF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",IF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",IF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",IF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元組形式返回所有wifi配置信息",IF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",IF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已連接到 WI-FI",IF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",IF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",IF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi連接 語音助手 Wi-Fi 名稱 %1 密碼 %2",IF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通過串口把WIF傳給語音助手",IF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",IF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在檔案系統將文件上傳到板",IF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="讀取 語音助手 文字檔 %1",IF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",IF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="數碼管顯示 %1",IF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",IF.MPYTHON_MACHINE_RESET_HELPURL="",IF.MPYTHON_MACHINE_RESET_MESSAGE0="復位",IF.MPYTHON_MACHINE_RESET_TOOLTIP="與按下外部RESET按鍵效果一樣",IF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",IF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空數碼管",IF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",IF.MPYTHON_MUSIC_PIN_P6="默認",IF.MPYTHON_MUSIC_PIN_P6_HELPURL="",IF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",IF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",IF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",IF.MPYTHON_SLEEP_TOOLTIP="在進行下一個命令前,等待設定的時間。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符號ms(millisecond)\n微秒,符號μs(microsecond)",IF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="運行時間",IF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="獲取開機或復位後的運行時間(毫秒)。",IF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",IF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="溫度",IF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="獲取 micro:bit 的溫度(℃)。",IF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",IF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音樂 %1 等待 %2 循環 %3 引脚 %4",IF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放內置的音樂,可以設置等待模式和循環播放。",IF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",IF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音調 %1 %2 延時 %3 毫秒 引脚 %4",IF.MICROBIT_MUSIC_PITCH_TOOLTIP="在設定的時間長度裏播放音調。",IF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",IF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循環 %4",IF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符為字符串形式。默認是掌控板的P6引脚",IF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",IF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",IF.MICROBIT_MUSIC_RESET_MESSAGE0="恢復音樂設置",IF.MICROBIT_MUSIC_RESET_TOOLTIP="將所有音樂設置 (當前節拍, 音階和周期) 恢復成默認值。",IF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",IF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音樂 引脚 %1",IF.MICROBIT_MUSIC_STOP_TOOLTIP="默認是掌控板的P6引脚",IF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="設置每一拍等同 %1 分音符,每分鐘節拍數 %2",IF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="設置回放速度 (節拍)。一定數量的滴答代表一拍,每拍每分鐘播放次數 (BPM 每分鐘節拍)。",IF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",IF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="設置播放速度為 %1 倍",IF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符為1拍,每分鐘節拍數默認120,為1倍的播放速度",IF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",IF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="獲取當前節拍",IF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="獲取當前節拍: 每節拍滴答數, 每分鐘節拍 (BPM)。",IF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",IF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引腳 %1 控制, neopixel 彩燈數 %2 ",IF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩燈。需要設定 neopixels 彩燈數量和控制腳。",IF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",IF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩燈 %1",IF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩燈",IF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",IF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="顯示 neopixels 彩燈 %1",IF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="顯示 / 更新全部 neopixels 彩燈。",IF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",IF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",IF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩燈的紅、綠、藍 (RGB) 顏色",IF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",IF.MICROBIT_PIN_TOUCHED_MESSAGE0="引腳 %1 被觸摸",IF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引腳被觸摸將返回 “真”。",IF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",IF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸摸",IF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引腳曾經被觸摸將返回 “真”。",IF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",IF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引腳 %1 被觸摸的次數",IF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被觸摸的次數,然後清零。",IF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",IF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="讀取引腳 %1 模擬電壓",IF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="讀取引腳的模擬輸入電壓。",IF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",IF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="設置模擬量 %1 到引腳 %2",IF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="寫入模擬參數到指定引腳上。",IF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",IF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="讀取引腳 %1 的數字輸入",IF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="讀取引腳的數字輸入 (真 或 假)。",IF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",IF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="設置數字輸出 %1 到引腳 %2",IF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="寫入數字量 (真 或 假) 到指定引腳。",IF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",IF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",IF.MICROBIT_RADIO_ON_MESSAGE0="打開無線廣播",IF.MICROBIT_RADIO_ON_TOOLTIP="打開無線廣播。需要明確聲明調用,因為它會消耗更多功率和占用更多內存。",IF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",IF.MICROBIT_RADIO_OFF_MESSAGE0="關閉無線廣播",IF.MICROBIT_RADIO_OFF_TOOLTIP="關閉無線廣播,節省功耗和內存。",IF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置無線廣播消息長度 %1 %2 最大隊列數量 %3 %4 信道 %5 %6 廣播功率 %7 %8 地址 %9 %10 組 %11 %12 數據速率 %13",IF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置無線廣播。\n 長度指單個消息的最大長度; \n 隊列指可以存放在消息隊列中消息的數量; \n 信道指無線廣播使用的無線頻率; \n 功率指發射廣播信號的強度; \n 地址:32位值; \n 組:8位值(0-255); \n 數據速率指數據傳輸的速度。",IF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",IF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",IF.MICROBIT_RADIO_RESET_MESSAGE0="復位無線廣播",IF.MICROBIT_RADIO_RESET_TOOLTIP="恢復無線廣播到默認設置。",IF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="發送消息 %1",IF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="廣播文字消息。",IF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",IF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="發送字節 %1",IF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="廣播字節。",IF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",IF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",IF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",IF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",IF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字節",IF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字節。",IF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",IF.MICROBIT_SPEECH_SAY_MESSAGE0="說 %1",IF.MICROBIT_SPEECH_SAY_TOOLTIP="嘗試說英語",IF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",IF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="讀 %1",IF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精確發音。",IF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",IF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",IF.MICROBIT_SPEECH_SING_TOOLTIP="象機器人一樣唱歌。",IF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",IF.MICROBIT_GESTURE_SHAKE="搖晃",IF.MICROBIT_GESTURE_UP="上",IF.MICROBIT_GESTURE_DOWN="下",IF.MICROBIT_GESTURE_LEFT="左",IF.MICROBIT_GESTURE_RIGHT="右",IF.MICROBIT_GESTURE_FACE_UP="朝上",IF.MICROBIT_GESTURE_FACE_DOWN="朝下",IF.MICROBIT_GESTURE_FREEFAIL="自由下落",IF.MICROBIT_IMAGE_HEART="心形",IF.MICROBIT_IMAGE_HEART_SMALL="心(小)",IF.MICROBIT_IMAGE_HAPPY="高興",IF.MICROBIT_IMAGE_SMILE="笑臉",IF.MICROBIT_IMAGE_SAD="傷心",IF.MICROBIT_IMAGE_CONFUSED="困惑",IF.MICROBIT_IMAGE_ANGRY="生氣",IF.MICROBIT_IMAGE_ASLEEP="睡著",IF.MICROBIT_IMAGE_SUPRISED="驚訝",IF.MICROBIT_IMAGE_SILLY="愚蠢",IF.MICROBIT_IMAGE_FABULOUS="極妙",IF.MICROBIT_IMAGE_MEH="無聊",IF.MICROBIT_IMAGE_YES="是",IF.MICROBIT_IMAGE_NO="否",IF.MICROBIT_IMAGE_CLOCK12="12點",IF.MICROBIT_IMAGE_CLOCK11="11點",IF.MICROBIT_IMAGE_CLOCK10="10點",IF.MICROBIT_IMAGE_CLOCK9="9點",IF.MICROBIT_IMAGE_CLOCK8="8點",IF.MICROBIT_IMAGE_CLOCK7="7點",IF.MICROBIT_IMAGE_CLOCK6="6點",IF.MICROBIT_IMAGE_CLOCK5="5點",IF.MICROBIT_IMAGE_CLOCK4="4點",IF.MICROBIT_IMAGE_CLOCK3="3點",IF.MICROBIT_IMAGE_CLOCK2="2點",IF.MICROBIT_IMAGE_CLOCK1="1點",IF.MICROBIT_IMAGE_ARROW_N="箭頭-北",IF.MICROBIT_IMAGE_ARROW_NE="箭頭-東北",IF.MICROBIT_IMAGE_ARROW_E="箭頭-東",IF.MICROBIT_IMAGE_ARROW_SE="箭頭-東南",IF.MICROBIT_IMAGE_ARROW_S="箭頭-南",IF.MICROBIT_IMAGE_ARROW_SW="箭頭-西南",IF.MICROBIT_IMAGE_ARROW_W="箭頭-西",IF.MICROBIT_IMAGE_ARROW_NW="箭頭-西北",IF.MICROBIT_IMAGE_TRIANGLE="三角形",IF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",IF.MICROBIT_IMAGE_CHESSBOARD="棋盤",IF.MICROBIT_IMAGE_DIAMOND="菱形",IF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",IF.MICROBIT_IMAGE_SQUARE="方形",IF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",IF.MICROBIT_IMAGE_RABBIT="兔子",IF.MICROBIT_IMAGE_COW="牛",IF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",IF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",IF.MICROBIT_IMAGE_MUSIC_QUAVERS="顫音",IF.MICROBIT_IMAGE_PITCHFORK="叉子",IF.MICROBIT_IMAGE_XMAS="聖誕樹",IF.MICROBIT_IMAGE_PACMAN="吃豆人",IF.MICROBIT_IMAGE_TARGET="目標",IF.MICROBIT_IMAGE_TSHIRT="T恤衫",IF.MICROBIT_IMAGE_ROLLERSKATE="輪滑",IF.MICROBIT_IMAGE_DUCK="鴨子",IF.MICROBIT_IMAGE_HOUSE="房子",IF.MICROBIT_IMAGE_TORTOISE="烏龜",IF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",IF.MICROBIT_IMAGE_STICKFIGURE="線條畫",IF.MICROBIT_IMAGE_GHOST="幽靈",IF.MICROBIT_IMAGE_SWORD="寶劍",IF.MICROBIT_IMAGE_GIRAFFE="長頸鹿",IF.MICROBIT_IMAGE_SKULL="頭",IF.MICROBIT_IMAGE_UMBRELLA="傘",IF.MICROBIT_IMAGE_SNAKE="蛇",IF.MICROBIT_IMAGE_ALL_CLOCKS="所有時鐘",IF.MICROBIT_IMAGE_ALL_ARROWS="所有箭頭",IF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",IF.MICROBIT_PIN_SET_SERVO_TOOLTIP="設置舵機角度,範圍為 0 ~ 180度",IF.MICROBIT_PIN_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",IF.MICROBIT_PIN_SET_MODE_HELPURL="",IF.MICROBIT_PIN_SET_MODE_TOOLTIP="引腳模式有三種:懸空、上拉、下拉",IF.MICROBIT_PIN_SET_MODE_MESSAGE0="設置引腳 %1 模式為 %2",IF.MICROBIT_PIN_MODE_NO="懸空",IF.MICROBIT_PIN_MODE_UP="上拉",IF.MICROBIT_PIN_MODE_DOWN="下拉",IF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",IF.MICROBIT_UART_INIT_TOOLTIP="",IF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",IF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到數據",IF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_READ_MSG_TOOLTIP="",IF.MICROBIT_UART_READ_MSG_MESSAGE0="讀取串口 %1 字節",IF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",IF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="讀取串口 %1 字節存至 %2",IF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",IF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",IF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口發送數據 %1",IF.MICROBIT_ALL_BYTES="全部",IF.MICROBIT_ALINE_BYTES="一行",IF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引腳 %1 被觸發",IF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按鍵按下返回 “真”,否則返回 “假”。",IF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",IF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸發",IF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按鍵曾經按下過返回 “真”,否則返回 “假”。",IF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",IF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引腳 %1 被觸發過的次數",IF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按鍵按下的總次數,然後清除計數。",IF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",IF.LABPLUS_LED_MESSAGE0="設置LED燈 引腳 %2 輸出 %1",IF.LABPLUS_LED_TOOLTIP="",IF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",IF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="紅外探測 引腳 %1 被觸發",IF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",IF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="熱敏傳感器 引腳 %1 的值",IF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",IF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",IF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C數字光線傳感器的值(lux)",IF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",IF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",IF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位傳感器 引腳 %1 的值",IF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",IF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",IF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="煙霧探測器 引腳 %1 被觸發",IF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",IF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_BUZZER_FOR_TOOLTIP="",IF.LABPLUS_BUZZER_FOR_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0 %2 毫秒",IF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_BUZZER_ON_TOOLTIP="",IF.LABPLUS_BUZZER_ON_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0",IF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_BUZZER_OFF_TOOLTIP="",IF.LABPLUS_BUZZER_OFF_MESSAGE0="關閉蜂鳴器 引腳0",IF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C溫濕度傳感器的 %1 值",IF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",IF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",IF.LABPLUS_TM_HM_SENSOR_TM="溫度",IF.LABPLUS_TM_HM_SENSOR_HM="濕度",IF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",IF.LABPLUS_SET_SERVO_TOOLTIP="",IF.LABPLUS_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",IF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指紋傳感器 引腳 %1 驗證通過",IF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",IF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",IF.LABPLUS_SET_MOTOR_HELPURL="",IF.LABPLUS_SET_MOTOR_TOOLTIP="",IF.LABPLUS_SET_MOTOR_MESSAGE0="設置電機 %1 方向 %2 速度 %3",IF.LABPLUS_SET_MOTOR_CLOCKWISE="正轉",IF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反轉",IF.LABPLUS_STOP_MOTOR_HELPURL="",IF.LABPLUS_STOP_MOTOR_TOOLTIP="",IF.LABPLUS_STOP_MOTOR_MESSAGE0="停止電機",IF.LABPLUS_GET_RFID_ID_MESSAGE0="射頻卡 引腳 %1 驗證通過",IF.LABPLUS_GET_RFID_ID_TOOLTIP="",IF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",IF.LABPLUS_GET_RFID_VALUE_MESSAGE0="電子錢包 引腳 %1 余額",IF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",IF.LABPLUS_GET_RFID_VALUE_HELPURL="",IF.LABPLUS_SET_RFID_VALUE_MESSAGE0="設置電子錢包 引腳 %1 余額 %2 %3",IF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",IF.LABPLUS_SET_RFID_VALUE_HELPURL="",IF.LABPLUS_SET_RFID_ADD="增加",IF.LABPLUS_SET_RFID_MINUS="減少",IF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="聲音傳感器 引腳 %1 被觸發",IF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",IF.LABPLUS_USB_SWITCH_HELPURL="",IF.LABPLUS_USB_SWITCH_TOOLTIP="",IF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB開關 引腳 %2",IF.LABPLUS_USB_SWITCH_ON="打開",IF.LABPLUS_USB_SWITCH_OFF="關閉",IF.LABPLUS_VOICE_RECORD_HELPURL="",IF.LABPLUS_VOICE_RECORD_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 語音錄放器 引腳 %2",IF.LABPLUS_VOICE_RECORD_ON="打開",IF.LABPLUS_VOICE_RECORD_OFF="關閉",IF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引腳 %1 控制,RGB 彩燈數 %2 ",IF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩燈。需要設定 neopixels 彩燈數量和控制腳。",IF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",IF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩燈 %1",IF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩燈",IF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",IF.LABPLUS_RGB_SHOW_MESSAGE0="顯示 RGB 彩燈 %1",IF.LABPLUS_RGB_SHOW_TOOLTIP="顯示 / 更新全部 RGB 彩燈。",IF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",IF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",IF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩燈的紅、綠、藍 (RGB) 顏色",IF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="設置擴展端口 IO %1 為 %2",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示輸出引腳,1表示輸入引腳",IF.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",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="輸入",IF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="輸出",IF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",IF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",IF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="讀取擴展端口值 IO %1",IF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",IF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",IF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="設置擴展端口 IO %1 值為 %2",IF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",IF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",IF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超聲波傳感器的值",IF.MICROBIT_SET_MUSIC_PIN_HELPURL="",IF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",IF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="設置默認蜂鳴器引腳為 %1",IF.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",IF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人體感應 引腳 %1 被觸發",IF.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",IF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="門磁開關 引腳 %1 被觸發",IF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",IF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",IF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="聲音傳感器 引腳 %1 的值",IF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",IF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",IF.LABPLUS_SMOKE_SENSOR_MESSAGE0="煙霧傳感器 引腳 %1 的值",IF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",IF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",IF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤濕度傳感器 引腳 %1 的值",IF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",IF.LABPLUS_FAN_SWITCH_TOOLTIP="",IF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 風扇 引腳 %2",IF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 引腳 %2",IF.LABPLUS_VOICE_RECORD_PLAY="播放",IF.LABPLUS_VOICE_RECORD_REC="錄音",IF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 引腳 %1",IF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_ON_TOOLTIP="",IF.LABPLUS_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳 %3",IF.LABPLUS_MOTOR_ON_CLOCKWISE="正轉",IF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反轉",IF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_OFF_TOOLTIP="",IF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流電機 引腳 %1",IF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",IF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",IF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C顏色傳感器讀取並儲存顏色",IF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",IF.LABPLUS_RGB_COLOR_TOOLTIP="讀取已儲存的顏色",IF.LABPLUS_RGB_COLOR_MESSAGE0="RGB顏色 %1",IF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",IF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",IF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="設置I2C數碼管的值為 %1",IF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",IF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",IF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="關閉I2C數碼管",IF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",IF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="設置MIDI模塊音調為 %1",IF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",IF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模塊 %2 音符 %1",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",IF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",IF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si",IF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",IF.LABPLUS_UART_OFF_MIDI_NOTE="停止",IF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",IF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模塊停止播放音符 %1",IF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",IF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",IF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模塊 %1",IF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",IF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循跡傳感器 引腳 %1 檢測為黑",IF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",IF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",IF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35溫度傳感器 引腳 %1 的值",IF.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",IF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",IF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋轉電位器 引腳 %1 的值",IF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",IF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",IF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震動傳感器 引腳 %1 被觸發",IF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",IF.LABPLUS_LASER_SWITCH_TOOLTIP="",IF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光開關 引腳 %2",IF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",IF.LABPLUS_4BUTTON_TOOLTIP="",IF.LABPLUS_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",IF.BLUE="A",IF.GREEN="B",IF.RED="C",IF.YELLOW="D",IF.LABPLUS_JOYSTICK_HELPURL="",IF.LABPLUS_JOYSTICK_TOOLTIP="",IF.LABPLUS_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",IF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",IF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",IF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模塊(UART)播放第 %1 首音樂",IF.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",IF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",IF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="設置MP3模塊(UART)音量為 %1",IF.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",IF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",IF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="設置MP3模塊(UART)狀態為 %1",IF.PAUSE="暫停",IF.STOP="停止",IF.PLAY="繼續播放",IF.PLAYNEXT="下一首",IF.PLAYPREV="上一首",IF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_INIT_TOOLTIP="",IF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",IF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打開錄放器 %1 %2 引腳REC %3 引腳PLAY %4",IF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",IF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",IF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="關閉錄放器 %1 引腳REC %2 引腳PLAY %3",IF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_ON1_TOOLTIP="",IF.LABPLUS_MOTOR_ON1_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",IF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",IF.LABPLUS_MOTOR_OFF1_TOOLTIP="",IF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",IF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",IF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="設置LCD遊標位置%1 X %2 Y %3";IF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",IF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="設置LCD顯示 %1",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循環次數使用",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滾動LCD顯示內容",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",IF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",IF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",IF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",IF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD顯示內容",IF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",IF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到數據",IF.BLUEBIT_UART="串口",IF.BLUEBIT_INFRARED_SIGNAL="紅外信號",IF.BLUEBIT_BLUEBOOTH="藍牙",IF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_READ_MSG_TOOLTIP="",IF.LABPLUS_UART_READ_MSG_MESSAGE0="讀取 %1 數據",IF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",IF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",IF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 發送數據 %2",IF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",IF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",IF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="設置點陣 %1 第一行顯示%2 第二行顯示%3 第三行顯示%4 第四行顯示%5 第五行顯示%6 第六行顯示%7 第七行顯示%8 第八行顯示%9 ",IF.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",IF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",IF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",IF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空點陣",IF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",IF.LABPLUS_UART_SET_OLED_TOOLTIP="",IF.LABPLUS_UART_SET_OLED_MESSAGE0="設置OLED屏 %1 X %2 Y %3 顯示文本 %4 字體為 %5",IF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",IF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",IF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩陣 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",IF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",IF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",IF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",IF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",IF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",IF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模擬光線傳感器 引腳 %1 的值",IF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",IF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按鍵模塊 引腳 %1 被按下",IF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",IF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="設置舵機 %1 的角度為 %2",IF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",IF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="設置馬達 %1 方向 %2 速度 %3",IF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",IF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止馬達 %1",IF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="聲音傳感器的值",IF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",IF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光線傳感器的值",IF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",IF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",IF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_INIT_I2C_TOOLTIP="",IF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 頻率 %1 引腳SDA %2 引腳SCL %3",IF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_I2C_READ_TOOLTIP="",IF.MICROBIT_I2C_READ_MESSAGE0="I2C讀取從地址 %1 讀取 %2 字節",IF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_I2C_WRITE_TOOLTIP="",IF.MICROBIT_I2C_WRITE_MESSAGE0="I2C寫入 %2 到地址 %1",IF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",IF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",IF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",IF.BOTBIT_MOTOR_ON_HELPURL="",IF.BOTBIT_MOTOR_ON_TOOLTIP="範圍:-2000~2000",IF.BOTBIT_MOTOR_ON_MESSAGE0="設置機器人 %1 右輪速度為 %2 左輪速度為 %3",IF.BOTBIT_MOTOR_LEFT="左",IF.BOTBIT_MOTOR_RIGHT="右",IF.BOTBIT_SERVO_UP="上方",IF.BOTBIT_SERVO_DOWN="下方",IF.BOTBIT_MOTOR_FORWARD="前進",IF.BOTBIT_MOTOR_BACKWARD="後退",IF.BOTBIT_HOLDBALL_HELPURL="",IF.BOTBIT_HOLDBALL_TOOLTIP="",IF.BOTBIT_HOLDBALL_MESSAGE0="雙臂抱起",IF.BOTBIT_STEERING_ENGINEL_HELPURL="",IF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度範圍為-45°~45°",IF.BOTBIT_STEERING_ENGINEL_MESSAGE0="設置 %1臂 %2的角度為 %3",IF.BOTBIT_SERVO_Y="Y軸舵機",IF.BOTBIT_SERVO_X="X軸舵機",IF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",IF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度範圍為-45°~45°",IF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="設置 %1腿 %2舵機的角度為 %3",IF.BOTBIT_UPDATEPOSITION_HELPURL="",IF.BOTBIT_UPDATEPOSITION_TOOLTIP="",IF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵機角度",IF.BOTBIT_ULTRASONIC_HELPURL="",IF.BOTBIT_ULTRASONIC_TOOLTIP="",IF.BOTBIT_ULTRASONIC_MESSAGE0="超聲波傳感器的值",IF.BOTBIT_WALKING_HELPURL="",IF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推薦1000~2000",IF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步數%2 周期%3 方向%1 ",IF.BOTBIT_WALKING_FORWARD="前",IF.BOTBIT_WALKING_BACK="後",IF.BOTBIT_MOONWALKER_HELPURL="",IF.BOTBIT_MOONWALKER_TOOLTIP="推薦周期1000~2000, 幅度10~50",IF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步數%2 周期%3 幅度%4 方向%1 ",IF.BOTBIT_MOONWALKER_L="左",IF.BOTBIT_MOONWALKER_R="右",IF.BOTBIT_CRUSAITO_HELPURL="",IF.BOTBIT_CRUSAITO_TOOLTIP="推薦步數2~10, 幅度10~50",IF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步數%2 周期%3 幅度%4 方向%1",IF.BOTBIT_CRUSAITO_CW="逆時針",IF.BOTBIT_CRUSAITO_ANTICW="順時針",IF.BOTBIT_FLAPPING_HELPURL="",IF.BOTBIT_FLAPPING_TOOLTIP="推薦步數5~15, 幅度10~30, 周期1000~2000",IF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步數%2 周期%3 幅度%4 方向%1",IF.BOTBIT_FLAPPING_FORWARD="前",IF.BOTBIT_FLAPPING_BACK="後",IF.BOTBIT_HOME_HELPURL="",IF.BOTBIT_HOME_TOOLTIP="",IF.BOTBIT_HOME_MESSAGE0="機器人舞步初始化",IF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",IF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",IF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="設置MIDI模塊音量為 %1",IF.labplus_mapping_MESSAGE0="映射%1 從%2 , %3到%4 , %5",IF.labplus_mapping_TOOLTIP="將0~100中的10映射到0~200中並返回映射值",IF.labplus_mapping_HELPURL="",IF.JOINT_MIDI_PIANO="平臺鋼琴",IF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",IF.JOINT_MIDI_ELECTRICGRANDPIANO="電鋼琴",IF.JOINT_MIDI_HARPSICHORD="大鍵琴",IF.JOINT_MIDI_Celesta="鋼片琴",IF.JOINT_MIDI_Glockenspiel="鐘琴",IF.JOINT_MIDI_Musicalbox="音樂盒",IF.JOINT_MIDI_Marimba="馬林巴琴",IF.JOINT_MIDI_Xylophone="木琴",IF.JOINT_MIDI_TubularBell="管鐘",IF.JOINT_MIDI_Dulcimer="洋琴",IF.JOINT_Vibraphone="顫音琴",IF.JOINT_MIDI_ORGAN="音栓風琴",IF.JOINT_Acoustic_Guitar="木吉他",IF.JOINT_Electric_Guitar="電吉他",IF.JOINT_Acoustic_Bass="民謠貝斯",IF.JOINT_String_Ensemble="弦樂合奏",IF.JOINT_Violin="小提琴",IF.JOINT_Trumpet="小號",IF.JOINT_Sax="薩克斯",IF.JOINT_Steel_Drums="鋼鼓",IF.JOINT_Lead="合成音主旋律",IF.JOINT_Pad="合成音襯底",IF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",IF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",IF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音調 %1",IF.Carbit_init_MESSAGE0="CarBit初始化",IF.Carbit_init_TOOLTIP="",IF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_setLeftMotor_MESSAGE0="B2電機速度 %1",IF.Carbit_setLeftMotor_TOOLTIP="範圍:-100~100",IF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_setRightMotor_MESSAGE0="B1電機速度 %1",IF.Carbit_setRightMotor_TOOLTIP="範圍:-100~100",IF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_analog_light_TOOLTIP="Q3對應Pin1,Q4對應Pin2",IF.Carbit_analog_light_MESSAGE0="%1 模擬光線的值",IF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_Speed_U10_TOOLTIP="對應U10",IF.Carbit_Speed_U10_MESSAGE0="左輪速度",IF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_Speed_U11_TOOLTIP="對應U11",IF.Carbit_Speed_U11_MESSAGE0="右輪速度",IF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_Distance_TOOLTIP="",IF.Carbit_Distance_MESSAGE0="超聲波的值",IF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",IF.Carbit_tracking_TOOLTIP="",IF.Carbit_tracking_MESSAGE0="循跡參數 %1 直行速度 %2 最大限速 %3 轉彎延時 %5 轉彎速度系數 %4 ",IF.XUNFEI_SPEECH_TTS_HELPURL="",IF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音頻文件格式只能是 *.pcm",IF.XUNFEI_SPEECH_TTS_MESSAGE0="[訊飛語音] 合成音頻 %1 APPID %2 APISecret %3 APIKey %4 文字內容 %5 轉存為音頻文件 %6",IF.XUNFEI_SPEECH_IAT_HELPURL="",IF.XUNFEI_SPEECH_IAT_TOOLTIP="可識別的音頻格式有 *.pcm 與 *.wav",IF.XUNFEI_SPEECH_IAT_MESSAGE0="[訊飛語音] 識別音頻 %1 APPID %2 APISecret %3 APIKey %4 待識別音頻文件 %5",IF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",IF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",IF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[訊飛語音] 識別結果",IF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",IF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",IF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",IF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",IF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",IF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",IF.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",IF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",IF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",IF.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",IF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",IF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",IF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",IF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",IF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",IF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",IF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",IF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",IF.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",IF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",IF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",IF.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",IF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",IF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",IF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",IF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",IF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",IF.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",IF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",IF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",IF.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",IF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",IF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",IF.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",IF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",IF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",IF.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",IF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",IF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",IF.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",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",IF.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",IF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",IF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",IF.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",IF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",IF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追蹤色塊",IF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",IF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追蹤色塊 顯示%1",IF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",IF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1獲取識別後色塊的 所有參數",IF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 x座標",IF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 y座標",IF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1獲取識別後色塊的 寬度",IF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1獲取識別後色塊的 高度",IF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1獲取識別後色塊的 數量",IF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心x座標",IF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心y座標",IF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",IF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",IF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1獲取識別後色塊的 矩形",IF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",IF.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",IF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 人臉",IF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",IF.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",IF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 人臉識別",IF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",IF.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",IF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)獲取識別後人臉的 所有參數",IF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",IF.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",IF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)獲取識別後人臉的 x座標",IF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",IF.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",IF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)獲取識別後人臉的 y座標",IF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",IF.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",IF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)獲取識別後人臉的 寬度",IF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",IF.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",IF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)獲取識別後人臉的 高度",IF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",IF.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",IF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)獲取識別後人臉的 置信度",IF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",IF.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",IF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)獲取識別後人臉的 數量",IF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",IF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",IF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",IF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",IF.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",IF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",IF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",IF.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",IF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 20類",IF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.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",IF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 20類識別",IF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)獲取識別後20類的 所有參數",IF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)獲取識別後20類的 x座標",IF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)獲取識別後20類的 y座標",IF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)獲取識別後20類的 寬度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)獲取識別後20類的 高度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)獲取識別後20類的 置信度",IF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)獲取識別後20類的 數量",IF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)獲取識別後20類的 類型",IF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",IF.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",IF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)獲取識別後20類的 類型數量",IF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",IF.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",IF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)選擇訓練模型 手寫數字",IF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",IF.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",IF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)調用攝像頭進行 手寫數字識別",IF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)獲取識別後手寫數字的 所有參數",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",IF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)獲取識別後手寫數字的 數字",IF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)獲取識別後手寫數字的 置信度",IF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",IF.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",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",IF.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",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="获取 识别%1",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",IF.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",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="获取 识别 所有参数",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",IF.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",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="人脸识别",IF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",IF.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",IF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",IF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",IF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",IF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",IF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",IF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",IF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",IF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",IF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",IF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",IF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",IF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",IF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",IF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",IF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",IF.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",IF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",IF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",IF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",IF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",IF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",IF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",IF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",IF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",IF.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",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",IF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",IF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",IF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",IF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",IF.MPYTHON_ZKAI_SENSOR_ENABLE_START="開始抓取圖像",IF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取圖像",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平鏡像",IF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻轉",IF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="對比度",IF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",IF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="飽和度",IF.MPYTHON_ZKAI2_FACE_YOLO="人臉識別",IF.MPYTHON_ZKAI2_CLASS_20_YOLO="20類識別",IF.MPYTHON_ZKAI2_MNIST_NET="数字识别",IF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人臉",IF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="0類",IF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",IF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",IF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",IF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="聲明python 運行環境",IF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",IF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C獲取顔色",IF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",IF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",IF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C獲取 %1",IF.MPYTHON_lARK_RED="紅色",IF.MPYTHON__LARK_GREEN="綠色",IF.MPYTHON__LARK_BLUE="藍色",IF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C獲取HSV",IF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C獲取HSV %1",IF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",IF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C獲取顔色",IF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",IF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="識別 %1",IF.MPYTHON_LARK_RED="紅色",IF.MPYTHON_LARK_GREEN="綠色",IF.MPYTHON_LARK_BLUE="藍色",IF.MPYTHON_LARK_ORANGE="橙色",IF.MPYTHON_LARK_YELLOW="黃色",IF.MPYTHON_LARK_PURPLE="紫色",IF.MPYTHON_LARK_CYAN="青色",IF.MPYTHON_LARK_NONE="無色",IF.MPYTHON_LARK_NULL="無法獲取",IF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",IF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超聲波",IF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",IF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C設置 %1 速度 %2",IF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C獲取 %1 巡綫值",IF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右邊",IF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左邊",IF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循跡傳感器 %1 遇到黑綫",IF.MPYTHON_LARK_SEARCH_LEFT="左邊",IF.MPYTHON_LARK_SEARCH_RIGHT="右邊",IF.MPYTHON_LARK_SEARCH_LEFT2="兩邊都",IF.MPYTHON_LARK_SEARCH_RIGHT2="兩邊都無",IF.MPYTHON_LARK_SEARCH_BOTH="兩邊都",IF.MPYTHON_LARK_SEARCH_NONE="兩邊都無",IF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",IF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里馬獲取顔色",IF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",IF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里馬獲取 %1",IF.MPYTHON_lARK_CAR_RED="紅色",IF.MPYTHON__LARK_CAR_GREEN="綠色",IF.MPYTHON__LARK_CAR_BLUE="藍色",IF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里馬獲取HSV",IF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",IF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里馬HSV %1",IF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",IF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里馬識別顔色",IF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",IF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里馬識別顔色 %1",IF.MPYTHON_LARK_CAR_RED="紅色",IF.MPYTHON_LARK_CAR_GREEN="綠色",IF.MPYTHON_LARK_CAR_BLUE="藍色",IF.MPYTHON_LARK_CAR_ORANGE="橙色",IF.MPYTHON_LARK_CAR_YELLOW="黃色",IF.MPYTHON_LARK_CAR_PURPLE="紫色",IF.MPYTHON_LARK_CAR_CYAN="青色",IF.MPYTHON_LARK_CAR_NONE="無識別",IF.MPYTHON_LARK_CAR_NULL="識別錯誤",IF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",IF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里馬獲取超聲波",IF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里馬獲取 %1 循跡數值",IF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右邊",IF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左邊",IF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",IF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里馬循跡 %1 碰到黑綫",IF.MPYTHON_LARK_CAR_SEARCH_LEFT="左邊",IF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右邊",IF.MPYTHON_LARK_CAR_SEARCH_LEFT2="兩邊",IF.MPYTHON_LARK_CAR_SEARCH_NONE="兩邊都沒有",IF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",IF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="電機驅動 %1 速度 %2",IF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",IF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里馬 %1 速度 %2",IF.MPYTHON_LARK_CAR_MOTION_LEFT="左轉",IF.MPYTHON_LARK_CAR_MOTION_RIGHT="右轉",IF.MPYTHON_LARK_CAR_MOTION_FORWARD="前進",IF.MPYTHON_LARK_CAR_MOTION_BACKWARD="後退",IF.MPYTHON_LARK_CAR_MOTION_STOP="停止",IF.MPYTHON_DEFINE_THREAD_MESSAGE0="定義線程 %1",IF.MPYTHON_RUN_THREAD_MESSAGE0="運行線程 %1",IF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 轉換數字為bytes %1 %2 %3 %4 待轉換數字 %5",IF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes為數字 %1 %2 %3 %4 待轉換bytes %5",IF.LITTLE_ENDIAN="低字節序(默認)",IF.BIG_ENDIAN="高字節序",IF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[適用2.0板] 當掌控板 %1 時",IF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",IF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向後傾斜",IF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",IF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",IF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被單擊",IF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被雙擊",IF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="墜落",IF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="橫滾角",IF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",IF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",IF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",IF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",IF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",IF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",IF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按鍵 %1 已經按下",IF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",IF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",IF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按鍵 %1 曾經按下",IF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",IF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",IF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按鍵 %1 按下過的次數",IF.MPYTHON2_BUTTON_EVENT_MESSAGE0="當按鍵 %1 被 %2 時",IF.MPYTHON2_BUTTON_EVENT_HELPURL="",IF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",IF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",IF.MPYTHON2_BUTTON_EVENT_RELEASED="松開",IF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",IF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="觸摸鍵 %1 已經按下",IF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",IF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="觸摸鍵 %1 曾經按下",IF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",IF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="觸摸鍵 %1 按下過的次數",IF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",IF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="觸摸鍵 %1 值",IF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",IF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",IF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",IF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="觸摸",IF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="釋放",IF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="設置觸摸鍵 %1 閥值為 %2",IF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",IF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",IF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",IF.BLE_UUID_TOOLTIP="",IF.BLE_SETUP_PERIPHERAL_HELPURL="",IF.BLE_SETUP_PERIPHERAL_TOOLTIP="",IF.BLE_SETUP_PERIPHERAL_MESSAGE0="構建 BLE 外圍設備對象 %1 顯示名稱 %2 Service UUID %3",IF.BLE_ADD_CHARACTERISTIC_HELPURL="",IF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",IF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定義 BLE 屬性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",IF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",IF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",IF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外圍設備 %1",IF.BLE_START_BROADCASTING="開始廣播",IF.BLE_STOP_BROADCASTING="停止廣播",IF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",IF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",IF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="讀 BLE 設備的屬性 %1",IF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",IF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",IF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="寫 BLE 設備的屬性 %1 %2 值 %3 Notify %4",IF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",IF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",IF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外圍設備斷開連接",IF.BLE_PERIPHERAL_MAC_HELPURL="",IF.BLE_PERIPHERAL_MAC_TOOLTIP="",IF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外圍設備 MAC地址",IF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",IF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",IF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="當 BLE 與中央設備建立連接時 %1 連接句柄 %2 地址類型 %3 中央設備的MAC地址 %4",IF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",IF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",IF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="當 BLE 設備的屬性值被改寫時 %1 連接句柄 %2 被寫屬性句柄 %3 寫入的數據 %4",IF.BLE_SETUP_CENTERAL_HELPURL="",IF.BLE_SETUP_CENTERAL_TOOLTIP="",IF.BLE_SETUP_CENTERAL_MESSAGE0="構建 BLE 中央設備對象 顯示名稱 %1",IF.BLE_CENTERAL_CONNECT_HELPURL="",IF.BLE_CENTERAL_CONNECT_TOOLTIP="",IF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央設備連接到 %1 %2",IF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",IF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",IF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外圍設備已連接 ?",IF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",IF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",IF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="設定 %1 為 已連接外圍設備 屬性對象 %2 Service UUID %3 Characteristic UUID %4",IF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",IF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",IF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="讀 已連接外圍設備的 屬性 %1 值",IF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",IF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",IF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="寫 已連接外圍設備的 屬性 %1 值 %2",IF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",IF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",IF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="當 已連接外圍設備發起 Notify 通知事件時 %1 屬性的值柄 %2 通知的屬性值 %3",IF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",IF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",IF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已連接的外圍設備 %1",IF.BLE_CENTERAL_CLOSE_HELPURL="",IF.BLE_CENTERAL_CLOSE_TOOLTIP="",IF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央設備 斷開連接",IF.BLE_INFO_NAME="藍牙名稱",IF.BLE_INFO_MAC="MAC地址",IF.BLE_INFO_RSSI="信號強度",IF.BLE_INFO_ADDRTYPE="地址類型",IF.BLE_INFO_ADVTYPE="廣播類型",IF.BLE_INFO_DATA="原始數據(元組)",IF.BLE_SETUP_UART_HELPURL="",IF.BLE_SETUP_UART_TOOLTIP="",IF.BLE_SETUP_UART_MESSAGE0="構建 BLE UART從機 顯示名稱 %1",IF.BLE_UART_IS_CONNECTED_HELPURL="",IF.BLE_UART_IS_CONNECTED_TOOLTIP="",IF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已連接 ?",IF.BLE_UART_ANY_HELPURL="",IF.BLE_UART_ANY_TOOLTIP="",IF.BLE_UART_ANY_MESSAGE0="BLE UART 可讀字節數量",IF.BLE_UART_IRQ_HELPURL="",IF.BLE_UART_IRQ_TOOLTIP="",IF.BLE_UART_IRQ_MESSAGE0="當 BLE UART 接收到數據時 %1 執行 %2",IF.BLE_UART_READ_HELPURL="",IF.BLE_UART_READ_TOOLTIP="從 UART 另一端發送過來的消息",IF.BLE_UART_READ_MESSAGE0="已接收數據",IF.BLE_UART_WRITE_HELPURL="",IF.BLE_UART_WRITE_TOOLTIP="",IF.BLE_UART_WRITE_MESSAGE0="BLE UART 發送字節 %1",IF.BLE_UART_CLOSE_HELPURL="",IF.BLE_UART_CLOSE_TOOLTIP="",IF.BLE_UART_CLOSE_MESSAGE0="BLE UART 斷開連接",IF.BLE_SETUP_UART_MASTER_HELPURL="",IF.BLE_SETUP_UART_MASTER_TOOLTIP="",IF.BLE_SETUP_UART_MASTER_MESSAGE0="構建 BLE UART主機 連接到 %1 %2",IF.BLE_SETUP_HID_HELPURL="",IF.BLE_SETUP_HID_TOOLTIP="",IF.BLE_SETUP_HID_MESSAGE0="構建 BLE HID %1 對象 %2 顯示名稱 %3 電池電量 %4",IF.BLE_HID_MOUSE="鼠標",IF.BLE_HID_KEYBOARD="鍵盤",IF.BLE_HID_CONSUMER="遙控器",IF.BLE_HID_ADVERTISE_HELPURL="",IF.BLE_HID_ADVERTISE_TOOLTIP="",IF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID設備 %1",IF.BLE_HID_CONNECT_EVENT_HELPURL="",IF.BLE_HID_CONNECT_EVENT_TOOLTIP="",IF.BLE_HID_CONNECT_EVENT_MESSAGE0="當 BLE HID設備 連接時",IF.BLE_HID_DISCONNECT_HELPURL="",IF.BLE_HID_DISCONNECT_TOOLTIP="",IF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID設備 斷開連接",IF.BLE_HID_BATTERY_LEVEL_HELPURL="",IF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",IF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID設備 電池電量",IF.BLE_HID_MOUSE_BUTTONS_HELPURL="",IF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",IF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠標鍵 %1",IF.BLE_HID_MOUSE_CLICK_HELPURL="",IF.BLE_HID_MOUSE_CLICK_TOOLTIP="",IF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠標 點擊按鍵 %1",IF.BLE_HID_MOUSE_PRESS_HELPURL="",IF.BLE_HID_MOUSE_PRESS_TOOLTIP="",IF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠標 長按按鍵 %1",IF.BLE_HID_MOUSE_RELEASE_HELPURL="",IF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",IF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠標 釋放按鍵 %1",IF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",IF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",IF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠標 釋放所有按鍵",IF.BLE_HID_MOUSE_MOVE_HELPURL="",IF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光標移動量,範圍 ±127 。\nwheel - 滾輪,範圍 ±127 。",IF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠標 光標移動 %1 X軸移動量 %2 Y軸移動量 %3 滾輪 %4",IF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",IF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",IF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="鍵盤按鍵 %1",IF.BLE_HID_KEYBOARD_SEND_HELPURL="",IF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",IF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 鍵盤 按下按鍵 %1",IF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",IF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",IF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 鍵盤 同時按下按鍵 %1 %2 %3",IF.BLE_HID_KEYBOARD_PRESS_HELPURL="",IF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",IF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 鍵盤 長按按鍵 %1",IF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",IF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",IF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 鍵盤 釋放按鍵 %1",IF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",IF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",IF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 鍵盤 釋放所有按鍵",IF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",IF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",IF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遙控器鍵 %1",IF.BLE_HID_CONSUMER_SEND_HELPURL="",IF.BLE_HID_CONSUMER_SEND_TOOLTIP="",IF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遙控器點擊 %1",IF.BLE_SETUP_IBEACON_HELPURL="",IF.BLE_SETUP_IBEACON_TOOLTIP="",IF.BLE_SETUP_IBEACON_MESSAGE0="構建 BLE iBeacon設備 %1 UUID %2 major %3 minor %4",IF.BLE_IBEACON_ADVERTISE_HELPURL="",IF.BLE_IBEACON_ADVERTISE_TOOLTIP="",IF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon設備 %1",IF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",IF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回電量,單位mV",IF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的電壓值(mV)",IF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",IF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回編碼後的紅外脈沖數據buff",IF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 紅外脈沖任意編碼 %1 載波頻率(Hz) %2 code總數 %3 循環碼位置 %4 code列表 %5 編碼波形數據 %6",IF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",IF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回編碼後的紅外脈沖數據buff\n用戶碼:0~255\n命令碼:0~255",IF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 紅外脈沖NEC編碼 %1 用戶碼 %2 命令碼 %3",IF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",IF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",IF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 發送紅外脈沖數據 %1 %2",IF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只發一次",IF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持續發送",IF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",IF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="當發送重復碼後,使用此函數來停止發送。",IF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止發送紅外脈沖數據",IF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",IF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="學習開始後,需等待4秒,之後返回學習結果。",IF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 開始紅外學習",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 紅外學習有結果 ?",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回學習後的“紅外編碼數據”,須在 learn 函數後使用。",IF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 學習到的紅外編碼數據",IF.MPYTHON_MLX90615_SET_HELPURL="",IF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接觸測溫傳感器 設置發射系數%1",IF.MPYTHON_MLX90615_SET_TOOLTIP="",IF.MPYTHON_MLX90615_GET_HELPURL="",IF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取系數",IF.MPYTHON_MLX90615_GET_TOOLTIP="",IF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",IF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取測溫",IF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",IF.MPYTHON_MQ135_INIT_HELPURL="",IF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 輸出引腳%1 溫度%2 ℃ 濕度%3 %",IF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 連接擴展板的電源口 V ,GND連接擴展板的地線口 G ,AO輸出連接擴展板的引腳 P0/P1(即選引腳)\nMQ135主要用於檢測空氣中的二氧化碳、酒精、苯、氮氧化物、氨等氣體的濃度",IF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",IF.MPYTHON_MQ135_OPTIONS_HELPURL="",IF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探測到的二氧化碳的百萬分之一(假設只有空氣中的二氧化碳) ppm濃度",IF.MPYTHON_MQ135_GET_RZERO="校正傳感器電阻",IF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正傳感器電阻(校準溫度、濕度)",IF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度",IF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度(校準溫度、濕度)",IF.mpython_gyroscope_get_HELPURL="",IF.mpython_gyroscope_get_MESSAGE0="%1 軸角速度",IF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版適用",IF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",IF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",IF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",IF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",IF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",IF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",IF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",IF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",IF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",IF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="設置角速度範圍,默認為 ±256dps。僅適用於掌控板2.3及以上版本",IF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="設置角速度範圍為 %1",IF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",IF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校準陀螺儀角速度計的3個軸(x,y,z)的角速度值偏差。\n一般情況下無需校準,只有遇到角速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1024dps。\n註意:v2.3版本以後適用",IF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校準角速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4";const aF=IF,pF={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."};pF.PROCEDURES_DEFRETURN_TITLE=pF.PROCEDURES_DEFNORETURN_TITLE,pF.CONTROLS_IF_IF_TITLE_IF=pF.CONTROLS_IF_MSG_IF,pF.CONTROLS_WHILEUNTIL_INPUT_DO=pF.CONTROLS_REPEAT_INPUT_DO,pF.CONTROLS_IF_MSG_THEN=pF.CONTROLS_REPEAT_INPUT_DO,pF.PROCEDURES_DEFRETURN_PROCEDURE=pF.PROCEDURES_DEFNORETURN_PROCEDURE,pF.CONTROLS_IF_ELSE_TITLE_ELSE=pF.CONTROLS_IF_MSG_ELSE,pF.PROCEDURES_CALLRETURN_CALL=pF.PROCEDURES_CALLNORETURN_CALL,pF.LISTS_GET_SUBLIST_INPUT_IN_LIST=pF.LISTS_INLIST,pF.LISTS_GET_INDEX_INPUT_IN_LIST=pF.LISTS_INLIST,pF.MATH_CHANGE_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.PROCEDURES_DEFRETURN_DO=pF.PROCEDURES_DEFNORETURN_DO,pF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=pF.CONTROLS_IF_MSG_ELSEIF,pF.LISTS_GET_INDEX_HELPURL=pF.LISTS_INDEX_OF_HELPURL,pF.CONTROLS_FOREACH_INPUT_DO=pF.CONTROLS_REPEAT_INPUT_DO,pF.CONTROLS_FOR_INPUT_DO=pF.CONTROLS_REPEAT_INPUT_DO,pF.LISTS_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_APPEND_VARIABLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.LISTS_INDEX_OF_INPUT_IN_LIST=pF.LISTS_INLIST,pF.LISTS_SET_INDEX_INPUT_IN_LIST=pF.LISTS_INLIST,pF.LISTS_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.TUPLE_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.DICT_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.SET_CREATE_WITH_ITEM_TITLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_APPEND_VARIABLE=pF.VARIABLES_DEFAULT_NAME,pF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.MATH_CHANGE_TITLE_ITEM=pF.VARIABLES_DEFAULT_NAME,pF.LABPLUS_USB_SWITCH_ON="turn on",pF.LABPLUS_USB_SWITCH_OFF="turn off",pF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="toggle",pF.XUNFEI_SPEECH_TTS_HELPURL="",pF.XUNFEI_SPEECH_TTS_TOOLTIP='The synthesized audio file format can only be "*.pcm"',pF.XUNFEI_SPEECH_TTS_MESSAGE0="[iFLYTEK] synthetic audio %1 APPID %2 APISecret %3 APIKey %4 text %5 transfer to audio file %6",pF.XUNFEI_SPEECH_IAT_HELPURL="",pF.XUNFEI_SPEECH_IAT_TOOLTIP='The audio formats that can be recognized are "*.pcm" and "*.wav"',pF.XUNFEI_SPEECH_IAT_MESSAGE0="[iFLYTEK] identify audio %1 APPID %2 APISecret %3 APIKey %4 audio file to be identified %5",pF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",pF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",pF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[iFLYTEK] identify result",pF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="LARK I2C RGB color",pF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="Returns as list",pF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",pF.MPYTHON_LARK_GET_COLOR_MESSAGE0="LARK I2C RGB color %1",pF.MPYTHON_lARK_RED="RED",pF.MPYTHON__LARK_GREEN="GREEN",pF.MPYTHON__LARK_BLUE="BLUE",pF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="LARK I2C HSV color",pF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="LARK I2C HSV color %1",pF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",pF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="LARK GET COLOR",pF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",pF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="LARK GET COLOR %1",pF.MPYTHON_LARK_RED="RED",pF.MPYTHON_LARK_GREEN="GREEN",pF.MPYTHON_LARK_BLUE="BLUE",pF.MPYTHON_LARK_ORANGE="ORANGE",pF.MPYTHON_LARK_YELLOW="YELLOW",pF.MPYTHON_LARK_PURPLE="PURPLE",pF.MPYTHON_LARK_CYAN="CYAN",pF.MPYTHON_LARK_NONE="NO COLOR",pF.MPYTHON_LARK_NULL="FAIL THE COLOR",pF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",pF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="LARK I2C ultrasonic value",pF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",pF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="LARK I2C SET MOTOR %1 SPEED %2",pF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",pF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="SWIFT HORSE %1 速度 %2",pF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="LARK I2C GET %1 VALUE",pF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="RIGHT",pF.mpython_LARK_GET_LINE_LEFT_ON_I2C="LEFT",pF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="LARK I2C SEARCH TOUCH LINE %1",pF.MPYTHON_LARK_SEARCH_LEFT="LEFT",pF.MPYTHON_LARK_SEARCH_RIGHT="RIGHT",pF.MPYTHON_LARK_SEARCH_LEFT2="ALL",pF.MPYTHON_LARK_SEARCH_RIGHT2="NOT",pF.MPYTHON_LARK_SEARCH_BOTH="ALL",pF.MPYTHON_LARK_SEARCH_NONE="NOT",pF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",pF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="HORSE GET COLOR",pF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",pF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="HORSE GET COLOR %1",pF.MPYTHON_lARK_CAR_RED="RED",pF.MPYTHON__LARK_CAR_GREEN="GREEN",pF.MPYTHON__LARK_CAR_BLUE="BLUE",pF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="HORSE I2C HSV color",pF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",pF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="HORSE I2C HSV %1",pF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",pF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="HORSE GET COLOR",pF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",pF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="HORSE GET %1",pF.MPYTHON_LARK_CAR_RED="RED",pF.MPYTHON_LARK_CAR_GREEN="Green",pF.MPYTHON_LARK_CAR_BLUE="Blue",pF.MPYTHON_LARK_CAR_ORANGE="Orange",pF.MPYTHON_LARK_CAR_YELLOW="Yellow",pF.MPYTHON_LARK_CAR_PURPLE="Purple",pF.MPYTHON_LARK_CAR_CYAN="Cyan",pF.MPYTHON_LARK_CAR_NONE="None",pF.MPYTHON_LARK_CAR_NULL="Null",pF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",pF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="Horse Get Ultrasoinc",pF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="HORSE GET %1 LINE VALUE",pF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="RIGHT",pF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="LEFT",pF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",pF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="HORSE I2C SEARCH TOUCH LINE %1",pF.MPYTHON_LARK_CAR_SEARCH_LEFT="LEFT TOUCHED",pF.MPYTHON_LARK_CAR_SEARCH_RIGHT="RIGHT TOUCHED",pF.MPYTHON_LARK_CAR_SEARCH_LEFT2="BOTH TOUCHED",pF.MPYTHON_LARK_CAR_SEARCH_NONE="NOT TOUCHED",pF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",pF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="HOSRE MOTION %1 SPEED %2",pF.MPYTHON_LARK_CAR_MOTION_LEFT="Trun Left",pF.MPYTHON_LARK_CAR_MOTION_RIGHT="Trun Right",pF.MPYTHON_LARK_CAR_MOTION_FORWARD="forward",pF.MPYTHON_LARK_CAR_MOTION_BACKWARD="Backward",pF.MPYTHON_LARK_CAR_MOTION_STOP="Stop",pF.MPYTHON_DEFINE_THREAD_MESSAGE0="define thread %1",pF.MPYTHON_RUN_THREAD_MESSAGE0="run thread %1",pF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) convert number to bytes %1 %2 %3 %4 source number %5",pF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) unpack bytes to number %1 %2 %3 %4 source bytes %5",pF.LITTLE_ENDIAN="Little-Endian (Default)",pF.BIG_ENDIAN="Big-Endian",pF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[mPython 2.x] When board is %1",pF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",pF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="tilt left",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="tilt right",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="tilt up",pF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="tilt down",pF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="face up",pF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="face down",pF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="single click",pF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="double click",pF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="freefall",pF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="roll angle",pF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="pitch angle",pF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",pF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",pF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="Get %1",pF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",pF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",pF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="Button %1 is pressed",pF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",pF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",pF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="Button %1 was pressed",pF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",pF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",pF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="Get number of presses for button %1",pF.MPYTHON2_BUTTON_EVENT_MESSAGE0="When button %1 is %2",pF.MPYTHON2_BUTTON_EVENT_HELPURL="",pF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",pF.MPYTHON2_BUTTON_EVENT_PRESSED="pressed",pF.MPYTHON2_BUTTON_EVENT_RELEASED="released",pF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",pF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="Touchpad %1 is pressed",pF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",pF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="Touchpad %1 was pressed",pF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",pF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="Get number of presses for touchpad %1",pF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",pF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="Touchpad %1 value",pF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="When touchpad %1 is %2",pF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",pF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",pF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="pressed",pF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="released",pF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="Set threshold for touchpad %1 as %2",pF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",pF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",pF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",pF.BLE_UUID_TOOLTIP="",pF.BLE_SETUP_PERIPHERAL_HELPURL="",pF.BLE_SETUP_PERIPHERAL_TOOLTIP="",pF.BLE_SETUP_PERIPHERAL_MESSAGE0="make BLE Peripheral object with %1 name %2 Service UUID %3",pF.BLE_ADD_CHARACTERISTIC_HELPURL="",pF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",pF.BLE_ADD_CHARACTERISTIC_MESSAGE0="add BLE Characteristic %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",pF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",pF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",pF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE Peripheral %1",pF.BLE_START_BROADCASTING="start broadcasting",pF.BLE_STOP_BROADCASTING="stop broadcasting",pF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",pF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",pF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="read BLE Peripheral Characteristic %1",pF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",pF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",pF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="write BLE Peripheral Characteristic %1 %2 value %3 Notify %4",pF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",pF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",pF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE Peripheral disconnect",pF.BLE_PERIPHERAL_MAC_HELPURL="",pF.BLE_PERIPHERAL_MAC_TOOLTIP="",pF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE Peripheral MAC address",pF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",pF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",pF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="when BLE Peripheral connect to Centeral %1 connect handle %2 address type %3 Centeral MAC %4",pF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",pF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",pF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="when BLE Characteristic is overwritten %1 connect handle %2 attrubute handle %3 written data %4",pF.BLE_SETUP_CENTERAL_HELPURL="",pF.BLE_SETUP_CENTERAL_TOOLTIP="",pF.BLE_SETUP_CENTERAL_MESSAGE0="make BLE Centeral object with name %1",pF.BLE_CENTERAL_CONNECT_HELPURL="",pF.BLE_CENTERAL_CONNECT_TOOLTIP="",pF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE Centeral connect to %1 %2",pF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",pF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",pF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE Centeral is connected ?",pF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",pF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",pF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="set %1 as connected Peripheral Characteristic object %2 Service UUID %3 Characteristic UUID %4",pF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",pF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",pF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="read connected Peripheral Characteristic %1 value",pF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",pF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",pF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="write connected Peripheral Characteristic %1 value as %2",pF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",pF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",pF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="when received Notify data %1 value handle %2 notify data %3",pF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",pF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",pF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="connected Peripheral info %1",pF.BLE_CENTERAL_CLOSE_HELPURL="",pF.BLE_CENTERAL_CLOSE_TOOLTIP="",pF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE Centeral disconnect",pF.BLE_INFO_NAME="name",pF.BLE_INFO_MAC="mac",pF.BLE_INFO_RSSI="rssi",pF.BLE_INFO_ADDRTYPE="addr_type",pF.BLE_INFO_ADVTYPE="adv_type",pF.BLE_INFO_DATA="data(tuple)",pF.BLE_SETUP_UART_HELPURL="",pF.BLE_SETUP_UART_TOOLTIP="",pF.BLE_SETUP_UART_MESSAGE0="make BLE UART slave with name %1",pF.BLE_UART_IS_CONNECTED_HELPURL="",pF.BLE_UART_IS_CONNECTED_TOOLTIP="",pF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART is connected ?",pF.BLE_UART_ANY_HELPURL="",pF.BLE_UART_ANY_TOOLTIP="",pF.BLE_UART_ANY_MESSAGE0="BLE UART readable bytes",pF.BLE_UART_IRQ_HELPURL="",pF.BLE_UART_IRQ_TOOLTIP="",pF.BLE_UART_IRQ_MESSAGE0="when BLE UART received data %1 do %2",pF.BLE_UART_READ_HELPURL="",pF.BLE_UART_READ_TOOLTIP="message from UART",pF.BLE_UART_READ_MESSAGE0="received data",pF.BLE_UART_WRITE_HELPURL="",pF.BLE_UART_WRITE_TOOLTIP="",pF.BLE_UART_WRITE_MESSAGE0="BLE UART send %1",pF.BLE_UART_CLOSE_HELPURL="",pF.BLE_UART_CLOSE_TOOLTIP="",pF.BLE_UART_CLOSE_MESSAGE0="BLE UART disconnect",pF.BLE_SETUP_UART_MASTER_HELPURL="",pF.BLE_SETUP_UART_MASTER_TOOLTIP="",pF.BLE_SETUP_UART_MASTER_MESSAGE0="make BLE UART master, connect to %1 %2",pF.BLE_SETUP_HID_HELPURL="",pF.BLE_SETUP_HID_TOOLTIP="",pF.BLE_SETUP_HID_MESSAGE0="make BLE HID %1 object %2 name %3 battery %4",pF.BLE_HID_MOUSE="mouse",pF.BLE_HID_KEYBOARD="keyboard",pF.BLE_HID_CONSUMER="consumer",pF.BLE_HID_ADVERTISE_HELPURL="",pF.BLE_HID_ADVERTISE_TOOLTIP="",pF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID %1",pF.BLE_HID_CONNECT_EVENT_HELPURL="",pF.BLE_HID_CONNECT_EVENT_TOOLTIP="",pF.BLE_HID_CONNECT_EVENT_MESSAGE0="when BLE HID connected",pF.BLE_HID_DISCONNECT_HELPURL="",pF.BLE_HID_DISCONNECT_TOOLTIP="",pF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID disconnect",pF.BLE_HID_BATTERY_LEVEL_HELPURL="",pF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",pF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID battery level",pF.BLE_HID_MOUSE_BUTTONS_HELPURL="",pF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",pF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="mouse button %1",pF.BLE_HID_MOUSE_CLICK_HELPURL="",pF.BLE_HID_MOUSE_CLICK_TOOLTIP="",pF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID mouse click %1",pF.BLE_HID_MOUSE_PRESS_HELPURL="",pF.BLE_HID_MOUSE_PRESS_TOOLTIP="",pF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID mouse press %1",pF.BLE_HID_MOUSE_RELEASE_HELPURL="",pF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",pF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID mouse release %1",pF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",pF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",pF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID mouse release all",pF.BLE_HID_MOUSE_MOVE_HELPURL="",pF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - cursor movement, range ±127 .\nwheel - wheel movement, range ±127 .",pF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID mouse cursor move %1 x %2 y %3 wheel %4",pF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",pF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",pF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="keyboard button %1",pF.BLE_HID_KEYBOARD_SEND_HELPURL="",pF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",pF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID keyboard send %1",pF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",pF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",pF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID keyboard send multiple %1 %2 %3",pF.BLE_HID_KEYBOARD_PRESS_HELPURL="",pF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",pF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID keyboard press %1",pF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",pF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",pF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID keyboard release %1",pF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",pF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",pF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID keyboard release all",pF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",pF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",pF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="remote control button %1",pF.BLE_HID_CONSUMER_SEND_HELPURL="",pF.BLE_HID_CONSUMER_SEND_TOOLTIP="",pF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID remote control send %1",pF.BLE_SETUP_IBEACON_HELPURL="",pF.BLE_SETUP_IBEACON_TOOLTIP="",pF.BLE_SETUP_IBEACON_MESSAGE0="make BLE iBeacon object with %1 UUID %2 major %3 minor %4",pF.BLE_IBEACON_ADVERTISE_HELPURL="",pF.BLE_IBEACON_ADVERTISE_TOOLTIP="",pF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon %1",pF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",pF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="Return power in mV",pF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="Voltage(mV) of expansion-board",pF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",pF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="Return the encoded infrared pulse data buff",pF.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",pF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",pF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="Return the encoded infrared pulse data buff\nUser code: 0~255\nCommand code: 0~255",pF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="Expansion-board generating NEC coding %1 User code %2 Command code %3",pF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",pF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",pF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="Expansion-board sending infrared pulse data %1 %2",pF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="send once",pF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="keep sending",pF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",pF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="",pF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="Expansion-board stop sending infrared pulse data",pF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",pF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="The learning result will be returned after 4 seconds.",pF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="Expansion-board do infrared learning",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="Is there any result for the infrared learning ?",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",pF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP='Return the learned "infrared coded data", which must be used after the "learn()" function.',pF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="Expansion-board learned infrared coding data",pF.MPYTHON_MAIN_HELPURL="",pF.MPYTHON_MAIN_TOOLTIP="This block does not have to be used, it just makes the program structure more regular.",pF.MPYTHON_MAIN_MESSAGE0="Main program",pF.MPYTHON_MLX90615_SET_HELPURL="",pF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 set sensor emissivity %1",pF.MPYTHON_MLX90615_SET_TOOLTIP="",pF.MPYTHON_MLX90615_GET_HELPURL="",pF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 get sensor emissivity",pF.MPYTHON_MLX90615_GET_TOOLTIP="",pF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",pF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 measured temperature",pF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",pF.MPYTHON_MQ135_INIT_HELPURL="",pF.MPYTHON_MQ135_INIT_MESSAGE0="initialize MQ135 at output pin %1 temperature %2 ℃ humidity%3 %",pF.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.",pF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 return %1",pF.MPYTHON_MQ135_OPTIONS_HELPURL="",pF.MPYTHON_MQ135_OPTIONS_TOOLTIP="",pF.MPYTHON_MQ135_GET_RZERO="correction of sensor resistance",pF.MPYTHON_MQ135_GET_CORRECTED_RZERO="calibrate sensor resistance (calibrate temperature and humidity)",pF.MPYTHON_MQ135_GET_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",pF.MPYTHON_MQ135_GET_CORRECTED_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",pF.mpython_gyroscope_get_HELPURL="",pF.mpython_gyroscope_get_MESSAGE0="%1 axis angular velocity",pF.mpython_gyroscope_get_TOOLTIP="Only applicable to the mPython board version above v2.3",pF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",pF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",pF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",pF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",pF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",pF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",pF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",pF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",pF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",pF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="Default is ±256dps. Only applicable to the mPython board version above v2.3",pF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="set angular velocity range to %1",pF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",pF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="Only applicable to the mPython board version above v2.3",pF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="calibration angular velocity value %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4";const MF=pF;Object.assign(a_.Variables,L_),Object.assign(a_.Procedures,Fi),a_.Python=Zs,a_.generator=Zs,p_.Profile.default={},Object.assign(p_.Profile,Fg),Object.assign(p_.Profile.default,Fg["ESP32 Generic"]),Object.assign(a_.Lang.ZhHans,OF),Object.assign(a_.Lang.ZhHant,aF),Object.assign(a_.Lang.En,MF),Object.assign(a_.Blocks,t,e,i,T,E,n,o,s,O,I,a,p,M,y,k,V,B,f,w,D,X,v,x,b,Y,H,c,G,g,F,U,O_),Object.assign(a_.Python.forBlock,L,R,r,S,l,A,P,N,d,h,u,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(u_),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(u_),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")}},B_={init:function(){this.setColour(u_),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]}))}},g_={init:function(){this.setColour(u_),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(u_);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(u_),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(u_),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")}};B_.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(u_),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(u_),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(u_),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(u_),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},X_={init:function(){this.setColour(u_),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(u_),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:u_,tooltip:a_.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:a_.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},w_={init:function(){this.setColour(u_),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_STAT),this.setOutput(!0)}},W_={init:function(){this.setColour(u_),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(u_),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(u_),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Z_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Q_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},J_={init:function(){this.setColour(u_),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},q_=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 j_={init:function(){this.setColour(q_),this.appendDummyInput().appendField(new a_.FieldTextInput("0",a_.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MATH_NUMBER_TOOLTIP)}},$_={init:function(){this.setColour(q_);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]}))}},_t={init:function(){this.setColour(q_);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]}))}},tt={init:function(){this.setColour(q_),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]}))}},et={init:function(){this.setColour(q_),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]}))}},it={init:function(){this.setColour(q_),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new a_.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Tt={init:function(){this.setColour(q_),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]}))}},Et={init:function(){var _=[[a_.Msg.MATH_BIN,"bin"],[a_.Msg.MATH_OCT,"oct"],[a_.Msg.MATH_HEX,"hex"]];this.setColour(q_),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}[_]}))}},nt={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(q_),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}[_]}))}},ot={init:function(){var _=[[a_.Msg.MIXLY_MAX,"max"],[a_.Msg.MIXLY_MIN,"min"]];this.setColour(q_),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}[_]}))}},st={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(q_),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]}))}},Ot={init:function(){var _=[[a_.Msg.LANG_MATH_INT,"int"],[a_.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(q_),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[_]}))}},It={init:function(){this.setColour(q_),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)}},at={init:function(){this.setColour(q_),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)}},pt={init:function(){this.setColour(q_),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)}},Mt={init:function(){this.setColour(q_),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)}},Lt={init:function(){this.setColour(q_),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(q_),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}[_]}))}},rt={init:function(){var _=[[a_.Msg.MIXLY_TO_INT,"int"],[a_.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(q_),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}[_]}))}},St=at,lt=160,At={init:function(){this.setColour(lt),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,'"')}},Pt={init:function(){this.setColour(lt),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 Nt={init:function(){this.setColour(lt),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,'"')}},dt={init:function(){this.setColour(lt),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(lt),this.appendValueInput("VAR").setCheck(Number).appendField(a_.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ut={init:function(){this.setColour(lt),this.appendValueInput("VAR").setCheck(String).appendField(a_.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},mt={init:function(){this.setColour(lt),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(lt),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ct={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(lt),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)}},Ht={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(lt),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)}},Dt={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(lt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(a_.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(a_.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Yt={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(lt),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"))}},Ut={init:function(){this.setHelpUrl(a_.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(lt),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(lt),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(lt),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)}},Gt={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(lt),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}[_]}))}},Ft={init:function(){var _=[[a_.Msg.TEXT_LJUST,"ljust"],[a_.Msg.TEXT_CENTER,"center"],[a_.Msg.TEXT_RJUST,"rjust"]];this.setColour(lt),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)}},yt={init:function(){this.setColour(lt),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)}},ft={init:function(){this.setColour(lt),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)}},bt={init:function(){this.setColour(lt),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)}},xt={init:function(){this.setColour(lt),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)}},vt={init:function(){var _=[[a_.Msg.TEXT_TRIM_BOTH,"strip"],[a_.Msg.TEXT_TRIM_LEFT,"lstrip"],[a_.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(lt),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}[_]}))}},Xt={init:function(){this.setColour(lt),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")}},fe={init:function(){this.setColour(Fe),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},be={init:function(){this.setColour(Fe),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}},xe={init:function(){this.setColour(Fe),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_KEYS),this.setTooltip(a_.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ve={init:function(){this.setColour(Fe),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)}},Xe={init:function(){this.setColour(Fe),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)}},Ve={init:function(){this.setColour(Fe),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)}},ke={init:function(){this.setColour(Fe),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(Fe),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)}},We={init:function(){this.setColour(Fe),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)}},Ke={init:function(){this.setColour(Fe),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(Fe),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.DICT_VALUES),this.setTooltip(a_.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Ze={init:function(){this.setColour(Fe),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LENGTH),this.setTooltip(a_.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Qe={init:function(){this.setColour(Fe),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)}},Je={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(Fe),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")}},qe={init:function(){this.setColour(Fe),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)}},je={init:function(){this.setColour(Fe),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)}},$e={init:function(){this.setColour(Fe),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")}},_i={init:function(){this.setColour(Fe),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},ti={init:function(){this.setColour(Fe),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)}},ei={init:function(){this.setColour(Fe),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)}},ii=210,Ti={init:function(){var _=a_.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ii),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]}},Ei={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(ii),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)}},ni={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(ii),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}[_]}))}},oi={init:function(){this.setColour(ii),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(a_.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(a_.Msg.LOGIC_NEGATE_TOOLTIP)}},si={init:function(){var _=[[a_.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[a_.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ii),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new a_.FieldDropdown(_),"BOOL"),this.setTooltip(a_.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Oi={init:function(){this.setColour(ii),this.setOutput(!0),this.appendDummyInput().appendField(a_.Msg.LOGIC_NULL),this.setTooltip(a_.Msg.LOGIC_NULL_TOOLTIP)}},Ii={init:function(){this.setColour(ii),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)}},ai={init:function(){var _=[[a_.Msg.TEXT_APPEND_TO,"in"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(ii),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)}},pi={init:function(){var _=[[a_.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[a_.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(ii),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)}},Mi={init:function(){this.setColour(ii),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Li={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")}},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.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}))}},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.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}))}},li={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)}},Ai={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)}},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_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}))}},Ni={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)}},di={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)}},ui={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)}},mi={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)}},ci={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)}},Hi={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)}},Di={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}))}},Yi={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)}},Ui={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)}},Gi={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]}))}},Fi={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)}},yi={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()}},fi={};fi.NAME_TYPE=a_.PROCEDURE_CATEGORY_NAME,fi.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)}},GT={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)}},FT={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)}},yT={init:function(){this.setColour(CT),this.appendDummyInput().appendField(a_.Msg.HTML_TEXT).appendField(new a_.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fT=160,bT={init:function(){this.setColour(fT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new a_.FieldTable(""),"TEXT")}},xT={init:function(){this.setColour(fT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT")}},vT={init:function(){this.setColour(fT),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new a_.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},XT={init:function(){this.setColour(fT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},VT={init:function(){this.setColour(fT),this.appendDummyInput().appendTitle("Comment:").appendTitle(new a_.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},kT={init:function(){this.setColour(fT),this.appendValueInput("VALUE").appendField(a_.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},wT={init:function(){this.setColour(fT),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 Ho=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]},Do=function(_,t){var e=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",e)||"False"),e]},Yo=function(_,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},Uo=function(_,t){return["None",t.ORDER_ATOMIC]},Bo=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]},go=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]},Go=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]},yo=function(_,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},fo=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},bo=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"},Xo=function(_,t){var e=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+e+"()",t.ORDER_ATOMIC]},Vo=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]},ko=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},wo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},Wo=function(_,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},Ko=function(_,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},zo=function(_,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},Zo=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]},qo=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"},jo=function(_,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},$o=function(_,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},_s=function(_,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},ts=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"},es=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]},is=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"},Ts=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"},Es=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},Xs=function(_,t){var e=t.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+e+"\n"},Vs=function(_,t){var e=t.statementToCode(this,"DO"),i=t.valueToCode(this,"style"),T=this.getFieldValue("LEVEL");return"<"+T+" "+i+" >\n"+e+"\n"},ks=function(_,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},ws=function(_,t){return'"},Ws=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Ks=function(){return this.getFieldValue("TEXT")+"\n"},zs=function(_){return _.getFieldValue("TEXT")+"\n"},Zs=function(_,t){return[_.getFieldValue("TEXT"),t.ORDER_ATOMIC]},Qs=function(_,t){return(t.valueToCode(_,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},Js=function(){return""},qs=function(_,t){return["type("+(t.valueToCode(_,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},js=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"},$s=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]},_O=new a_.Generator("Python");_O.INDENT=" ",_O.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"),_O.ORDER_ATOMIC=0,_O.ORDER_COLLECTION=1,_O.ORDER_STRING_CONVERSION=1,_O.ORDER_UNARY_POSTFIX=1,_O.ORDER_UNARY_PREFIX=2,_O.ORDER_MEMBER=2.1,_O.ORDER_FUNCTION_CALL=2.2,_O.ORDER_EXPONENTIATION=3,_O.ORDER_UNARY_SIGN=4,_O.ORDER_BITWISE_NOT=4,_O.ORDER_MULTIPLICATIVE=5,_O.ORDER_ADDITIVE=6,_O.ORDER_BITWISE_SHIFT=7,_O.ORDER_BITWISE_AND=8,_O.ORDER_BITWISE_XOR=9,_O.ORDER_BITWISE_OR=10,_O.ORDER_RELATIONAL=11,_O.ORDER_EQUALITY=11,_O.ORDER_LOGICAL_NOT=12,_O.ORDER_LOGICAL_AND=13,_O.ORDER_LOGICAL_OR=14,_O.ORDER_ASSIGNMENT=14,_O.ORDER_CONDITIONAL=15,_O.ORDER_LAMBDA=16,_O.ORDER_NONE=99,_O.ORDER_OVERRIDES=[[_O.ORDER_FUNCTION_CALL,_O.ORDER_MEMBER],[_O.ORDER_FUNCTION_CALL,_O.ORDER_FUNCTION_CALL],[_O.ORDER_MEMBER,_O.ORDER_MEMBER],[_O.ORDER_MEMBER,_O.ORDER_FUNCTION_CALL]],_O.init=function(){_O.PASS=this.INDENT+"pass\n",_O.definitions_=Object.create(null),_O.functionNames_=Object.create(null),_O.setups_=Object.create(null),_O.loops_=Object.create(null),_O.codeEnd_=Object.create(null),_O.variableDB_?_O.variableDB_.reset():_O.variableDB_=new r_(_O.RESERVED_WORDS_)},_O.finish=function(_){""!==_&&(_=(_=_.replace(/\n/g,"\n")).replace(/\n\s+$/,"\n"));var t=[];for(var e in _O.definitions_)t.push(_O.definitions_[e]);var i=[];for(var e in _O.functions_)i.push(_O.functions_[e]);var T=[];for(var e in _O.setups_)T.push(_O.setups_[e]);0!==T.length&&T.push("\n");var E=[];for(var e in _O.loops_)E.push(_O.loops_[e]);var n=[];for(var e in _O.codeEnd_)n.push(_O.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")},_O.scrubNakedValue=function(_){return _+"\n"},_O.quote_=function(_){var t="'";return-1!==(_=_.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===_.indexOf('"')?t='"':_=_.replace(/'/g,"\\'")),t+_+t},_O.multiline_quote_=function(_){return"'''"+(_=_.replace(/'''/g,"\\'\\'\\'"))+"'''"},_O.scrub_=function(_,t,e){var i="";if(!_.outputConnection||!_.outputConnection.targetConnection){(E=_.getCommentText())&&(E=a_.utils.string.wrap(E,_O.COMMENT_WRAP-3),i+=_O.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=_O.allNestedComments(n))&&(i+=_O.prefixLines(E,"# "))}}var o=_.nextConnection&&_.nextConnection.targetBlock();return i+t+(e?"":_O.blockToCode(o))},_O.getAdjustedInt=function(_,t,e,i){var T=e||0;_.workspace.options.oneBasedIndex&&T--;var E=_.workspace.options.oneBasedIndex?"1":"0",n=T?_O.ORDER_ADDITIVE:_O.ORDER_NONE,o=_O.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 tO="#74A55B",eO={init:function(){this.setColour(tO),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)}},iO={init:function(){this.setColour(tO),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)}},TO={init:function(){this.setColour(tO),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)}},EO={init:function(){this.setColour(tO),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)}},nO={init:function(){this.setColour(tO),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(tO),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)}},sO={init:function(){this.setColour(tO),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)}},OO={init:function(){this.setColour(tO),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IO={init:function(){this.setColour(tO),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)}},aO={init:function(){this.setColour(tO),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)}},pO={init:function(){this.setColour(tO),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)}},MO={init:function(){this.setColour(tO),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)}},LO={init:function(){this.setColour(tO),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)}},RO={init:function(){this.setColour(tO),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)}},rO={init:function(){this.setColour(tO),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)}},SO={init:function(){this.setColour(tO),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)}},lO={init:function(){this.setColour(tO),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)}},AO={init:function(){this.setColour(tO),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)}},PO={init:function(){this.setColour(tO),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)}},NO={init:function(){this.setColour(tO),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通信")}},dO={init:function(){this.setColour(tO),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)")}},hO={init:function(){this.setColour(tO),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)")}},uO={init:function(){this.setColour(tO),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)}},mO={init:function(){this.setColour(tO),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)}},CO={init:function(){this.setColour(tO),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)}},cO={init:function(){this.setColour(tO),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)}},HO={init:function(){this.setColour(tO),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")}},DO={init:function(){this.setColour(tO),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)}},YO={init:function(){this.setColour(tO),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)}},UO={init:function(){this.setColour(tO),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)}},BO={init:function(){this.setColour(tO),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)}},gO={init:function(){this.setColour(tO),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},GO={init:function(){this.setColour(tO),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(tO),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)}},yO={init:function(){this.setColour(tO),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)}},fO={init:function(){this.setColour(tO),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)}},bO={init:function(){this.setColour(tO),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(tO),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(tO),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)}},XO={init:function(){this.setColour(tO),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)}},VO={init:function(){this.setColour(tO),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)}},kO={init:function(){this.setColour(tO),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)}},wO={init:function(){this.setColour(tO),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)}},WO={init:function(){this.setColour(tO),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)}},KO={init:function(){this.setColour(tO),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)}},zO={init:function(){this.setColour(tO),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)}},ZO="#6C9858",QO={init:function(){this.setColour(ZO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},JO={init:function(){this.setColour(ZO),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)}},qO={init:function(){this.setColour(ZO),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)}},jO={init:function(){this.setColour(ZO),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)}},$O={init:function(){this.setColour(ZO),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)}},_I={init:function(){this.setColour(ZO),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%)")}},tI={init:function(){this.setColour(ZO),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_OFF,"0"],[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()}},eI={init:function(){this.setColour(ZO),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)}},iI={init:function(){this.setColour(ZO),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)}},TI={init:function(){this.setColour(ZO),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)}},EI={init:function(){this.setColour(ZO),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)")}},nI={init:function(){this.setColour(ZO),this.appendDummyInput("").appendField(new a_.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},oI={init:function(){this.setColour(ZO),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)}}},sI={init:function(){this.setColour(ZO),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)}},OI={init:function(){this.setColour(ZO),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("")}},II={init:function(){this.setColour(ZO),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("")}},aI={init:function(){this.setColour(ZO),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)}},pI={init:function(){this.setColour(ZO),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)}}},MI={init:function(){this.setColour(ZO),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)}},LI={init:function(){this.setColour(ZO),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("")}},RI={init:function(){this.setColour(ZO),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)}},rI={init:function(){this.setColour(ZO),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)}},SI={init:function(){this.setColour(ZO),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)}},lI={init:function(){this.setColour(ZO),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)}},AI={init:function(){this.setColour(ZO),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)}},PI={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NI={init:function(){this.setColour(ZO),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)}},dI={init:function(){this.setColour(ZO),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)}},hI={init:function(){this.setColour(ZO),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)}},uI={init:function(){this.setColour(ZO),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("")}},mI={init:function(){this.setColour(ZO),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)}},CI={init:function(){this.setColour(ZO),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)}},cI={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},HI={init:function(){this.setColour(ZO),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)}},DI={init:function(){this.setColour(ZO),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)}},YI={init:function(){this.setColour(ZO),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)}},UI={init:function(){this.setColour(ZO),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)}},BI={init:function(){this.setColour(ZO),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)}},gI={init:function(){this.setColour(ZO),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)}},GI={init:function(){this.setColour(ZO),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(ZO),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)}},yI={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_LED_GETONOFF)}},fI={init:function(){this.setColour(ZO),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)}},bI={init:function(){this.setColour(ZO),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(ZO),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(ZO),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)}},XI={init:function(){this.setColour(ZO),this.appendValueInput("PATH").appendField(a_.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},VI={init:function(){this.setColour(ZO),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)}},kI={init:function(){this.setColour(ZO),this.appendDummyInput().appendField(a_.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wI={init:function(){this.setColour(ZO),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()}},WI={init:function(){this.setColour(ZO),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)}},KI={init:function(){this.setColour(ZO),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)}},zI="#90A244",ZI={init:function(){this.setColour(zI),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+"MixGo AI"+a_.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},QI={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_QR_CODE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},JI={init:function(){this.setColour(zI),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_QR_CODE+a_.Msg.MIXPY_OBJECT,"qrcode"],[a_.Msg.MIXLY_BAR_CODE+a_.Msg.MIXPY_OBJECT,"barcode"],[a_.Msg.MIXLY_TAG+a_.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},qI={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},jI={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField(a_.Msg.SOFT_RESET+a_.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[a_.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},$I={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(a_.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},_a={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_BAR_CODE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},ta={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},ea={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_TAG+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.OLED_STRING,"info1"],[a_.Msg.blockpy_turtle_rotate+a_.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},ia={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},Ta={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LINE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LINE_ANGLE,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},Ea={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},na={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_CIRCLE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},oa={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},sa={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_RECT+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},Oa={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ia={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["RGB"+a_.Msg.HTML_COLOUR,"[0]"],["LAB"+a_.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},aa={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},pa={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_COLOR_CHASE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_CIRCLE_AREA,"info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},Ma={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+a_.Msg.MIXLY_COLOR_LAB).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},La={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_OBJECT_LIST).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+a_.Msg.MIXLY_MODEL_NAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(a_.Msg.MIXLY_TRAIN_TIME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},Ra={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_OBJECT_LIST).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MODEL_NAME).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},ra={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LOCAL_CLASS+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},Sa={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXPY_AI_AUDIO_TIME).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},la={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MP3_VOL).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Aa={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_ANCHOR).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_MODEL_PATH).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(a_.Msg.MIXLY_AipNlp_Topic_Title).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Pa={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_YOLO_RECOGNIZE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"],[a_.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+a_.Msg.MIXLY_POSITION_XY,"xc"],[a_.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+a_.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Na={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(a_.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(a_.Msg.MIXLY_ESP32_THRESHOLD).setAlign(a_.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},da={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_LICENSEPLATE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},ha={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},ua={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_FACE+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},ma={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Ca={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_20OBJECTS+a_.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET).appendField(new a_.FieldDropdown([["ID","info1"],[a_.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[a_.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+a_.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+a_.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+a_.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+a_.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},ca={init:function(){this.setColour(zI),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Ha={init:function(){this.setColour(205),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SETUP).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_AipSpeech_asr,"ASR"],[a_.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Da={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_AI_UNIT).appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(a_.Msg.OLED_STRING).setAlign(a_.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},Ya={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_AipSpeech_asr).appendField(a_.Msg.MIXLY_Client).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(a_.Msg.MIXPY_AI_AUDIO_TIME).setAlign(a_.inputs.Align.RIGHT),this.appendDummyInput("").appendField(a_.Msg.MIXLY_LANGUAGE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[a_.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[a_.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Ua="#2FAD7A",Ba={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},ga={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Ga={init:function(){this.jsonInit({inputsInline:!0,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},Fa={init:function(){this.jsonInit({inputsInline:!0,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},ya={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},fa={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},ba={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},xa={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},va={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Xa={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Va={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},ka={init:function(){this.jsonInit({message0:a_.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[a_.Msg.MIXLY_PYTHON_PERIODIC,"False"],[a_.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},wa={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},Wa={init:function(){this.jsonInit({inputsInline:!0,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(a_.CONTROLS_REPEAT_INPUT_DO)}},Ka={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Ua,helpUrl:a_.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:a_.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:a_.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},za=140,Za={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Qa={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Ja={init:function(){this.setColour(za),this.appendValueInput("SUB").appendField("I2C "+a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(a_.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(a_.Msg.MIXLY_FREQUENCY).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_INIT)}},qa={init:function(){this.setColour(za),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},ja={init:function(){this.setColour(za),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},$a={init:function(){this.setColour(za),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_I2C_SCAN1+a_.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_SCAN)}},_p={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},tp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_SET)}},ep={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_SET+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},ip={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READ)}},Tp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(a_.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.LANG_MATH_BYTE+" "+a_.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},Ep={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(a_.Msg.MIXLY_SERIAL_READ+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READINTO)}},np={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(a_.Msg.MIXLY_SERIAL_READ+a_.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},op={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_WRITE)}},sp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(a_.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},Op={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},Ip={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_READ+a_.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},ap={init:function(){this.setColour(za),this.appendValueInput("PIN",Number).appendField(a_.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+a_.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(a_.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_INIT)}},Mp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_SCAN)}},Lp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_READ)}},Rp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_ESP32_WRITE).appendField(new a_.FieldDropdown([[a_.Msg.LANG_MATH_STRING,"write"],[a_.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_WRITE)}},rp={init:function(){this.setColour(za),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(a_.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_SELECT)}},Sp={init:function(){this.setColour(za),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_OW_RESET)}},lp={init:function(){this.setColour(za),this.appendValueInput("PIN").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_INPUT1,"8"],[a_.Msg.MIXLY_IR_INPUT2,"16"],[a_.Msg.MIXLY_IR_INPUT3,"0"],[a_.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ap={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_CMD_CODE,"0"],[a_.Msg.MIXLY_IR_ADDR_CODE,"1"],[a_.Msg.MIXLY_IR_RAW_CODE,"2"],[a_.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Pp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN).appendField(new a_.FieldDropdown([[a_.Msg.MILY_PAUSE,"True"],[a_.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Np={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},dp={init:function(){this.setColour(za),this.appendValueInput("time").appendField(a_.Msg.MIXlY_RECV_FUN).appendField(a_.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(a_.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hp={init:function(){this.setColour(za),this.appendValueInput("PIN").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.MIXLY_IR_SEND).appendField(a_.Msg.MIXLY_PIN),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_IR_SEND_samsung1,"False"],[a_.Msg.MIXLY_IR_SEND_samsung2,"True"],[a_.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(a_.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},up={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(a_.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(a_.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(a_.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},mp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(a_.Msg.MIXLY_IR_PULSE).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(a_.Msg.MIXLY_IR_RAW_CODE).setAlign(a_.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},Hp={init:function(){this.setColour(za),this.appendValueInput("VAR").appendField(a_.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catEthernet_init+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+a_.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dp={init:function(){this.setColour(za),this.appendValueInput("VAR").appendField(a_.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catEthernet_init+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+a_.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_ONEWIRE_SCAN+a_.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},Up={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Bp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_TEXT_JOIN+a_.Msg.MSG.catBLE).appendField(new a_.FieldDropdown([[a_.Msg.HTML_NAME,"name"],[a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catBLE+a_.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(a_.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MSG.catBLE+a_.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},yp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},bp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField(a_.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(a_.Msg.CONTROLS_REPEAT_INPUT_DO+a_.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+a_.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(a_.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(a_.Msg.MIXLY_TX_POWER).appendField(new a_.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+a_.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(a_.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},Xp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Vp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},kp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new a_.FieldDropdown([["("+a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+a_.Msg.OLED_STRING+")",""],[a_.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[a_.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},wp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},Wp={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(a_.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_SETTING+a_.Msg.MIXLY_MP_ESPNOW_RADIO+a_.Msg.MIXLY_TX_POWER).appendField(new a_.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},Qp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[a_.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},qp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},jp={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},$p={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},_M={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new a_.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},tM={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},eM={init:function(){this.setColour(za),this.appendDummyInput().appendField(a_.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new a_.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(a_.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},iM={init:function(){this.setColour(za),this.appendValueInput("SUB").appendField("Lora"+a_.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(a_.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(a_.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(a_.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(a_.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(a_.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new a_.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_LORA_INIT_TOOLTIP)}},TM={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_GET+a_.Msg.MIXLY_PACKAGE).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[a_.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},EM={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nM={init:function(){this.setColour(za),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},oM={init:function(){this.setColour(za),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")}},sM={init:function(){this.appendValueInput("VAL");var _=[[a_.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(za),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}[_]}))}},OM={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(za),this.appendDummyInput("").appendField(a_.Msg.blockpy_CONDUCT).appendField(new a_.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(a_.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},IM=Ja,aM=qa,pM=ja,MM=$a,LM=_p,RM=tp,rM=ep,SM=ip,lM=Tp,AM=Ep,PM=np,NM=op,dM=sp,hM=Op,uM=Ip,mM=120;({init:function(){this.setColour(mM),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(a_.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new a_.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[a_.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(mM);var _=new a_.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(_,"FLOW").appendField(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){_=!0;break}t=t.getSurroundParent()}while(t);_?this.setWarningText(null):this.setWarningText(a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[a_.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const CM="5BA5A5",cM={init:function(){this.setColour(CM),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},HM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},DM={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},YM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},BM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},GM={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},FM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},yM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},fM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},bM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},xM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},vM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new a_.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},XM={init:function(){var _=[[a_.Msg.MICROBIT_DISPLAY_UNION,"add"],[a_.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(a_.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{"+":a_.Msg.MIXLY_MICROBIT_image_add,"-":a_.Msg.MIXLY_MICROBIT_image_reduce}[_]}))}},VM={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(CM),this.appendValueInput("A").setCheck("esp32_image").appendField(a_.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},kM={init:function(){this.setColour(CM),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.appendValueInput("row").appendField(a_.Msg.MIXLY_SETUP+a_.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},wM={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.OLEDDISPLAY+a_.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(CM),this.setTooltip(a_.Msg.MIXLY_DF_LCD+a_.Msg.OLEDDISPLAY+a_.Msg.MIXLY_MICROBIT_TYPE_STRING)}},WM={init:function(){var _=[[a_.Msg.MIXLY_HEIGHT,"height"],[a_.Msg.MIXLY_WIDTH,"width"]];this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+a_.Msg.MIXLY_MICROBIT_IMAGE+{height:a_.Msg.MIXLY_HEIGHT,width:a_.Msg.MIXLY_WIDTH}[_]}))}},KM={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(CM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RECT).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_OLED_RECT)}},zM={init:function(){this.setColour(CM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_DISPLAY_DRAW).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_DISPLAY_RLINE,"hline"],[a_.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE)}},ZM={init:function(){this.setColour(CM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE_ARBIT)}},QM={init:function(){this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(a_.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},JM={init:function(){this.setColour(CM),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},qM={init:function(){this.setColour(CM),this.appendDummyInput("").appendField(a_.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(a_.Msg.LISTS_SET_INDEX_SET+a_.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_RGB_NUM_R_G_B)}},jM={init:function(){this.setColour(CM),this.appendDummyInput("").appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ESP32_ON,"ON"],[a_.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},$M={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={0:a_.Msg.MIXLY_LCD_STAT_CLEAR,1:a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return a_.Msg.MIXLY_DF_LCD+e[t]}))}},_L={init:function(){this.setColour(CM),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new a_.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},tL={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(CM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},eL={init:function(){var _=[[a_.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[a_.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(CM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_DISPLAY_DRAW+a_.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new a_.FieldDropdown(_),"OP"),this.jsonInit({message0:a_.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(a_.Msg.MIXLY_DISPLAY_DRAW+a_.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},iL={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(a_.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},TL={init:function(){this.setColour(CM),this.appendValueInput("VAR").appendField(a_.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(a_.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(a_.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(a_.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(a_.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.OLED_SHOW_BMP_TOOLTIP)}},EL={init:function(){this.setColour(CM),this.appendValueInput("VAR").appendField(a_.Msg.OLED),this.appendDummyInput("").appendField(a_.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(a_.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(a_.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(a_.Msg.OLED_DRAW_PIXE_TOOLTIP)}},nL={init:function(){this.setColour(CM),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[t]}))}},oL={init:function(){this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_ON,"on"],[a_.Msg.MIXLY_OFF,"off"],[a_.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},sL={init:function(){this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},OL={init:function(){this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(a_.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+a_.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},IL={init:function(){this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_4DIGITDISPLAY).appendField(new a_.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(a_.inputs.Align.RIGHT).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},aL={init:function(){this.setColour(CM),this.appendValueInput("SPISUB").appendField(a_.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+a_.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(a_.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(a_.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.blockpy_turtle_rotate).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_NO,"0"],[a_.Msg.ANTI_CLOCKWISE+"90°","1"],[a_.Msg.ANTI_CLOCKWISE+"180°","2"],[a_.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pL={init:function(){this.setColour(CM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},ML={init:function(){this.setColour(CM);let _=new a_.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(a_.inputs.Align.RIGHT).appendField(_,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},LL={init:function(){this.setColour(CM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},RL={init:function(){this.setColour(CM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},rL={init:function(){this.setColour(CM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},SL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catTFT),this.appendDummyInput().appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={0:a_.Msg.MIXLY_LCD_STAT_CLEAR,1:a_.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return a_.Msg.MIXLY_DF_LCD+e[t]}))}},lL={init:function(){this.setColour(CM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:a_.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(a_.Msg.MIXLY_OLED_LINE_ARBIT)}},AL={init:function(){this.setColour(CM),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(a_.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[t]}))}},PL={init:function(){this.setColour(CM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.array2_rows),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},NL={init:function(){this.setColour(CM),this.appendValueInput("SUB").appendField(a_.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_SERIAL_PRINT+a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catLCD),this.appendDummyInput().appendField(a_.Msg.TFT_Brightness).appendField(new a_.FieldDropdown([[a_.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[a_.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key"),e={1:a_.Msg.MIXLY_MICROBIT_Turn_on_display,0:a_.Msg.MIXLY_MICROBIT_Turn_off_display};return a_.Msg.MSG.catLCD+a_.Msg.TFT_Brightness+e[t]}))}},hL={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catLCD),this.setColour(CM),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},uL={init:function(){this.setColour(CM),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(a_.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var _=this;this.setTooltip((function(){var t=_.getFieldValue("key");return a_.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[t]}))}},mL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},CL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},cL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},HL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},DL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},YL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},UL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gL={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},GL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},FL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},yL={init:function(){this.setColour(CM),this.appendValueInput("SUB").setCheck("var").appendField(a_.Msg.MSG.catOLED),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},fL={init:function(){this.jsonInit({colour:CM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},bL={init:function(){this.jsonInit({colour:CM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},xL={init:function(){this.jsonInit({colour:CM,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[a_.Msg.mpython_display_hline_1,"1"],[a_.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},vL="#569A98",XL={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==p_.Boards.getSelectedBoardKey()&&this.setTooltip(a_.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},VL={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kL={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wL={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WL={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KL={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zL={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<12;_++){let t=this.appendDummyInput();for(let e=0;e<32;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(vL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},ZL={init:function(){this.jsonInit({colour:vL,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:a_.Msg.MIXLY_MICROBIT_Built_in_image1,message0:a_.Msg.MIXLY_MICROBIT_Built_in_image})}},QL={init:function(){this.jsonInit({colour:vL,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:a_.Msg.MIXLY_MICROBIT_Built_in_image1,message0:a_.Msg.MIXLY_MICROBIT_Built_in_image})}},JL={init:function(){var _=[[a_.Msg.MICROBIT_DISPLAY_UNION,"add"],[a_.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(vL),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(a_.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new a_.FieldDropdown(_),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP");return{"+":a_.Msg.MIXLY_MICROBIT_image_add,"-":a_.Msg.MIXLY_MICROBIT_image_reduce}[_]}))}},qL={init:function(){this.setColour(vL),this.appendValueInput("A").setCheck("esp32_image").appendField(a_.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},jL={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(vL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{shift_up:a_.Msg.MIXLY_UP,shift_down:a_.Msg.MIXLY_DOWN,shift_left:a_.Msg.MIXLY_LEFT,shift_right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},$L={init:function(){this.setColour(vL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},_R={init:function(){this.setColour(vL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},tR={init:function(){this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},eR={init:function(){this.setColour(vL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},iR={init:function(){this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},TR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<5;_++){let t=this.appendDummyInput();for(let e=0;e<8;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(vL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},ER={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<8;_++){let t=this.appendDummyInput();for(let e=0;e<12;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(vL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},nR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<8;_++){let t=this.appendDummyInput();for(let e=0;e<16;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0,"esp32_image"),this.setColour(vL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},oR={init:function(){var _=[["4x5"+a_.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+a_.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+a_.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.OLED_SET_FONT).appendField(new a_.FieldDropdown(_),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sR={init:function(){this.setColour(vL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},OR={init:function(){this.setColour(vL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},IR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(a_.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},aR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},pR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},MR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},LR={init:function(){this.setColour(vL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},RR={init:function(){this.jsonInit({colour:vL,args0:[{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},rR={init:function(){this.jsonInit({colour:vL,args0:[{name:"state",options:[[a_.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[a_.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},SR={init:function(){this.jsonInit({colour:vL,args0:[{name:"state",options:[[a_.Msg.mpython_display_hline_1,"1"],[a_.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},lR={init:function(){this.jsonInit({colour:vL,args0:[{type:"field_label",name:"size_image",text:a_.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},AR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<5;_++){let t=this.appendDummyInput();for(let e=0;e<5;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(vL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},PR={init:function(){this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},NR={init:function(){this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},dR={init:function(){this.setColour(vL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hR={init:function(){var _=[[a_.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[a_.Msg.CLOCKWISE+"90"+a_.Msg.blockpy_setheading_degree,"1"],[a_.Msg.CLOCKWISE+"180"+a_.Msg.blockpy_setheading_degree,"2"],[a_.Msg.CLOCKWISE+"270"+a_.Msg.blockpy_setheading_degree,"3"]];this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new a_.FieldDropdown(_),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uR={init:function(){this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let _=0;_<12;_++){let t=this.appendDummyInput();for(let e=0;e<12;e++)t.appendField(new a_.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),_+"-"+e)}this.setOutput(!0),this.setColour(vL),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Create_image1)}},mR={init:function(){this.setColour(vL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},CR={init:function(){this.setColour(vL),this.appendValueInput("data").appendField(a_.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.OLED_BITMAP_OR_STRING)}},cR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(a_.Msg.TEXT_CENTER).appendField(new a_.FieldDropdown([[a_.Msg.MICROPYTHON_DISPLAY_YES,"True"],[a_.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},HR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(a_.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},YR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UR={init:function(){this.setColour(vL),this.appendValueInput("data").setCheck(String).appendField(a_.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BR={init:function(){this.jsonInit({colour:vL,args0:[{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:a_.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},gR={init:function(){this.jsonInit({colour:vL,args0:[{name:"dir_h_v",options:[[a_.Msg.mpython_vertical,"0"],[a_.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:a_.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},GR={init:function(){this.jsonInit({colour:vL,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,tooltip:a_.Msg.mpython_display_line_TOOLTIP,message0:a_.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},FR={init:function(){var _=[[a_.Msg.MIXLY_UP,"shift_up"],[a_.Msg.MIXLY_DOWN,"shift_down"],[a_.Msg.MIXLY_LEFT,"shift_left"],[a_.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(vL),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_LET2).appendField(new a_.FieldDropdown(_),"OP"),this.appendValueInput("val").appendField(a_.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(a_.Msg.DISPLAY_IMAGE_UNIT);var t=this;this.setTooltip((function(){var _=t.getFieldValue("OP"),e=a_.Msg.DISPLAY_IMAGE_LET,i=a_.Msg.DISPLAY_IMAGE_LET2,T=a_.Msg.DISPLAY_IMAGE_LET3;return e+i+{up:a_.Msg.MIXLY_UP,down:a_.Msg.MIXLY_DOWN,left:a_.Msg.MIXLY_LEFT,right:a_.Msg.MIXLY_RIGHT}[_]+T}))}},yR={init:function(){this.setColour(vL),this.appendDummyInput("").appendField(a_.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(a_.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},fR={init:function(){this.setColour(vL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_LCD_SETCOLOR).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(a_.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},bR={init:function(){this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_MICROBIT_Clear_display)}},xR={init:function(){this.setColour(vL),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},vR={init:function(){this.setColour(vL),this.appendValueInput("x").setCheck(Number).appendField(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},XR={init:function(){this.setColour(vL),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VR={init:function(){this.setColour(vL),this.appendValueInput("SUB").appendField(a_.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(a_.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(a_.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(a_.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kR={init:function(){this.setColour(vL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wR={init:function(){this.setColour(vL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(a_.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(a_.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(a_.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WR={init:function(){this.setColour(vL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KR={init:function(){this.setColour(vL),this.appendValueInput("SUB"),this.appendDummyInput().appendField(a_.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zR={init:function(){this.jsonInit({colour:vL,args0:[{name:"shape",options:[[a_.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[a_.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:a_.Msg.mpython_HELPURL,message0:a_.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},ZR="#777777",QR={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField("from ").appendField(new a_.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new a_.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},JR={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField("import ").appendField(new a_.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qR={init:function(){this.setColour(ZR),this.appendDummyInput("").appendField(new a_.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new a_.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var _=document.createElement("mutation");_.setAttribute("items",this.itemCount_);for(var t=0;tt?_[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")}},br={init:function(){this.setColour(Ur),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(a_.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},xr={init:function(){this.setColour(Ur),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}},vr={init:function(){this.setColour(Ur),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}},Xr={init:function(){this.setColour(Ur),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)}},Vr={init:function(){this.setColour(Ur),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)}},kr={init:function(){this.setColour(Ur),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)}},wr={init:function(){this.setColour(Ur),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wr={init:function(){this.setColour(Ur),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kr={init:function(){this.setColour(Ur),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(a_.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zr={init:function(){this.setColour(Ur),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Zr={init:function(){this.setColour(Ur),this.appendDummyInput().appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(a_.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Qr={init:function(){this.setColour(Ur),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Jr={init:function(){this.setColour(Ur),this.appendValueInput("VAR").appendField(a_.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},qr={init:function(){this.setColour(Ur),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)}},jr={init:function(){this.setColour(Ur),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)}},$r={init:function(){this.setColour(Ur),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)}},_S={init:function(){this.setColour(Ur),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)}},tS={init:function(){this.VISITOR_ID=p_.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(Ur),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")}},eS={init:function(){this.setColour(Ur),this.appendDummyInput().appendField("MixIO").appendField(a_.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},iS={init:function(){this.setColour(Ur),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)}},TS={init:function(){this.setColour(Ur),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)}},ES={init:function(){this.setColour(Ur),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)}},nS={init:function(){this.setColour(Ur),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)}},oS=Br,sS=gr,OS=Gr,IS=Fr,aS=fr,pS=225,MS={init:function(){this.setColour(pS),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)}},LS={init:function(){this.setColour(pS),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}))}},RS={init:function(){this.setColour(pS),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)}},rS={init:function(){this.setColour(pS),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}))}},SS={init:function(){this.setColour(pS),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)}},lS={init:function(){this.setColour(pS),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(a_.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},AS={init:function(){this.setColour(pS),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]}))}},PS={init:function(){this.setColour(pS),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)}},NS={init:function(){this.setColour(pS),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)}},dS={init:function(){this.setColour(pS),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)}},hS={init:function(){this.setColour(pS),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)}},uS={init:function(){this.setColour(pS),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]}))}},mS={init:function(){this.setColour(pS),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)}},CS={init:function(){this.setColour(pS),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)}},cS={init:function(){this.setColour(pS),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)}},HS={init:function(){this.setColour(pS),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)}},DS={init:function(){this.setColour(pS),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)}},YS={init:function(){this.setColour(pS),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)}},US={init:function(){this.setColour(pS),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)}},BS={init:function(){this.setColour(pS),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)}},gS={init:function(){this.setColour(pS),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)}},GS={init:function(){this.setColour(pS),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")}},FS={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(pS),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}[_]}))}},yS={init:function(){this.appendValueInput("VAR").appendField(a_.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(pS),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]}))}},fS={init:function(){this.setColour(pS),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)}},bS={init:function(){this.setColour(pS),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)}},xS=100,vS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),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)}},XS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),this.appendValueInput("SUB").appendField(t).setCheck("var"),this.appendDummyInput().appendField(a_.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},VS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),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)}},kS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),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)}},wS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),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)}},WS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),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)}},KS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),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)}},zS={init:function(){var _=p_.Boards.getSelectedBoardKey().split(":")[2];if("mixgo_ce"==_)var t="CE G6";else if("mixgo_pe"==_)t="PE G1";this.setColour(xS),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)}},ZS="#A58C5B",QS={init:function(){this.setColour(ZS),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)}},JS={init:function(){this.setColour(ZS),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)}},qS={init:function(){this.setColour(ZS),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)}},jS={init:function(){this.setColour(ZS),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)}},$S={init:function(){this.setColour(ZS),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}))}},_l={init:function(){this.setColour(ZS),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}))}},tl={init:function(){this.setColour(ZS),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)}},el={init:function(){var _=[[a_.Msg.MIXLY_GETTEMPERATUE,"temperature"],[a_.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(ZS),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}[_]}))}},il={init:function(){this.setColour(ZS),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)}},Tl={init:function(){this.setColour(ZS),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)}},El={init:function(){this.setColour(ZS),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(ZS),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]}))}},ol={init:function(){this.setColour(ZS),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]}))}},sl={init:function(){this.setColour(ZS),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)}},Ol={init:function(){this.setColour(ZS),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)}},Il={init:function(){this.setColour(ZS),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"],["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")}},al={init:function(){this.setColour(ZS),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)}},pl={init:function(){this.setColour(ZS),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)}},Ml={init:function(){this.setColour(ZS),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)}},Ll={init:function(){this.setColour(ZS),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)}},Rl={init:function(){this.setColour(ZS),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)}},rl={init:function(){this.setColour(ZS),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)}},Sl={init:function(){this.setColour(ZS),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]}))}},ll={init:function(){this.setColour(ZS),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]}))}},Al={init:function(){this.setColour(ZS),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)}},Pl={init:function(){this.setColour(ZS),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)}},Nl={init:function(){this.setColour(ZS),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}))}},dl={init:function(){this.setColour(ZS),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}))}},hl={init:function(){this.setColour(ZS),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}))}},ul={init:function(){this.setColour(ZS),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}))}},ml={init:function(){this.setColour(ZS),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)}},Cl={init:function(){this.setColour(ZS),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)}},cl={init:function(){this.setColour(ZS),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]}))}},Hl={init:function(){this.setColour(ZS),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)}},Dl={init:function(){this.setColour(ZS),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")}},Yl={init:function(){this.setColour(ZS),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)}},Ul={init:function(){this.setColour(ZS),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)}},Bl={init:function(){this.setColour(ZS),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)}},gl={init:function(){this.setColour(ZS),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)}},Gl={init:function(){this.setColour(ZS),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)}},Fl={init:function(){this.setColour(ZS),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)}},yl={init:function(){this.setColour(ZS),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)")}},fl={init:function(){this.setColour(ZS),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(a_.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},bl={init:function(){this.setColour(ZS),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)}},xl={init:function(){this.setColour(ZS),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},Qm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".shows("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},Jm=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"},qm=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".frame("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},jm=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"},$m=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".scroll("+t.valueToCode(this,"data",t.ORDER_ASSIGNMENT)+")\n"},_C=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"},tC=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return e+".fill(0)\n"+e+".show()\n"},eC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("OP")+"("+t.valueToCode(_,"val",t.ORDER_ATOMIC)+")\n"},iC=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]},TC=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"},EC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".get_brightness()",t.ORDER_ATOMIC]},nC=function(_,t){return t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".set_brightness("+t.valueToCode(this,"x",t.ORDER_ASSIGNMENT)+")\n"},oC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+"."+_.getFieldValue("image"),t.ORDER_ATOMIC]},sC=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]},OC=function(_,t){return[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".map_invert("+t.valueToCode(_,"A",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},IC=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"},aC=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"},pC=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"},MC=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"}},LC=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"},RC=function(_,t){return["ON"==this.getFieldValue("ONOFF")?"1":"0",t.ORDER_ATOMIC]},rC=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]},SC=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"},lC=function(_,t){return["matrix.Image."+this.getFieldValue("ANIMATION"),t.ORDER_ATOMIC]},AC=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"}},PC=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"}},NC=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"},dC=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"},hC=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},uC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},mC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".shownum("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},CC=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"},cC=function(_,t){return t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+".intensity("+t.valueToCode(this,"VALUE",t.ORDER_ATOMIC)+")\n"},HC=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"},DC=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},YC=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]},UC=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},BC=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},gC=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},GC=function(_,t){return t.definitions_.import_st7789="import st7789",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},FC=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},yC=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"},fC=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"},bC=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"},xC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},vC=function(_,t){return t.definitions_.import_i2clcd="import i2clcd",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".clear()\n"},XC=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"},VC=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"},kC=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"},wC=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"},WC=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"},KC=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"},zC=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"},ZC=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"},QC=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"},JC=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"},qC=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"},jC=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]},$C=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"},_c=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"},tc=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"},ec=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"},ic=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"},Tc=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")},Ec=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},nc=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"},oc=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},sc=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"},Oc=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]},Ic=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]},ac=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},kc=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},wc=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"},Wc=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},Kc=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"},zc=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},Zc=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},Qc=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},Jc=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},qc=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"},jc=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"},$c=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]},_H=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},tH=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]},eH=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"},iH=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},TH=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},EH=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"},nH=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"},oH=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"},sH=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},OH=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},IH=function(_,t){var e=this.getFieldValue("path"),i=this.getFieldValue("module");return t.definitions_["import_"+e+"_"+i]="from "+e+" import "+i,""},aH=function(_,t){var e=this.getFieldValue("module");return t.definitions_["import_"+e]="import "+e,""},pH=function(_,t){for(var e=this.getFieldValue("NAME"),i=new Array(this.itemCount_),T=0;T {\n"+t.statementToCode(this,"do")+"})\n"},sg=function(){return"control.reset()\n"},Og=function(_,t){return"control.waitMicros("+(t.valueToCode(this,"data",t.ORDER_ATOMIC)||p_.Profile.default.serial)+")\n"},Ig=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"},ag=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"},pg=function(_,t){return["control.eventTimestamp()",t.ORDER_ATOMIC]},Mg=function(_,t){return["control.eventValue()",t.ORDER_ATOMIC]},Lg=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},Rg=function(_,t){return[this.getFieldValue("key"),t.ORDER_ATOMIC]},rg=function(_,t){return["control.deviceName()",t.ORDER_ATOMIC]},Sg=function(_,t){return["control.deviceSerialNumber()",t.ORDER_ATOMIC]},lg=function(_,t){return"panic("+(t.valueToCode(this,"STATUS_CODE",t.ORDER_ATOMIC)||"1000")+")\n"},Ag=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]}},Pg=function(){return"while True:\n pass\n"},Ng=function(_,t){return t.definitions_.import_mixgo="import mixgo","reset()\n"},dg=function(_,t){return t.definitions_.import_os="import os","os.uname()"},hg=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"}},ug=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"}},mg=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"},Cg=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"},cg=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]},Hg=function(_,t){var e=t.valueToCode(this,"SUB",t.ORDER_ATOMIC);return t.definitions_.import_machine="import machine",e+" = machine.Timer(0)\n"},Dg=function(_,t){return t.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(t.valueToCode(this,"period",t.ORDER_NONE)||"0")+")\n"},Yg=function(_,t){t.definitions_.import_machine="import machine";return"wdt.feed()\n"},Ug=function(_,t){t.definitions_.import_machine="import machine";return"machine.reset()\n"},Bg=function(_,t){t.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},gg=Hg,Gg=Cg,Fg=cg,yg=hg,fg=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]},bg=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]},xg=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]},vg={};vg["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"]]},vg["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"]]},vg["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"]]},vg.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 Xg=vg,Vg=230,kg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital),"PIN"),this.setOutput(!0)}},wg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Wg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Kg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},zg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},Zg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Qg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Jg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},qg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},jg={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},$g={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},_G={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},tG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},eG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},iG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},TG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},EG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},nG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog),"PIN"),this.setOutput(!0)}},oG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},sG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac),"PIN"),this.setOutput(!0)}},OG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},IG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},aG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm),"PIN"),this.setOutput(!0)}},pG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},MG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},LG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.touch),"PIN"),this.setOutput(!0)}},RG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},rG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},SG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},lG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.imglist),"PIN"),this.setOutput(!0)}},AG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist),"PIN"),this.setOutput(!0)}},PG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},NG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},dG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},hG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},uG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},mG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},CG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},cG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},HG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},DG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},YG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},UG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.one_more),"PIN"),this.setOutput(!0)}},BG={init:function(){this.setColour(Vg),this.appendDummyInput("").appendField(new a_.FieldDropdown(p_.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},gG=function(_,t){return[this.getFieldValue("PIN"),t.ORDER_ATOMIC]},GG=gG,FG=gG,yG=gG,fG=gG,bG=gG,xG=gG,vG=gG,XG=gG,VG=gG,kG=gG,wG=gG,WG=gG,KG=gG,zG=gG,ZG=gG,QG=gG,JG=gG,qG=gG,jG=gG,$G=gG,_F=gG,tF=gG,eF=gG,iF=gG,TF=gG,EF=gG,nF=gG,oF=gG,sF=gG,OF=gG,IF=gG,aF=gG,pF=gG,MF=gG,LF={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”的变量。"};LF.PROCEDURES_DEFRETURN_TITLE=LF.PROCEDURES_DEFNORETURN_TITLE,LF.CONTROLS_IF_IF_TITLE_IF=LF.CONTROLS_IF_MSG_IF,LF.CONTROLS_WHILEUNTIL_INPUT_DO=LF.CONTROLS_REPEAT_INPUT_DO,LF.CONTROLS_IF_MSG_THEN=LF.CONTROLS_REPEAT_INPUT_DO,LF.TRY_EXCEPT_TRY="try",LF.CONTROLS_IF_ELSE_TITLE_ELSE=LF.CONTROLS_IF_MSG_ELSE,LF.CONTROLS_IF_ELSE_TITLE_ELSE=LF.CONTROLS_IF_MSG_ELSE,LF.PROCEDURES_DEFRETURN_PROCEDURE=LF.PROCEDURES_DEFNORETURN_PROCEDURE,LF.LISTS_GET_SUBLIST_INPUT_IN_LIST=LF.LISTS_INLIST,LF.LISTS_GET_INDEX_INPUT_IN_LIST=LF.LISTS_INLIST,LF.PROCEDURES_DEFRETURN_DO=LF.PROCEDURES_DEFNORETURN_DO,LF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=LF.CONTROLS_IF_MSG_ELSEIF,LF.LISTS_GET_INDEX_HELPURL=LF.LISTS_INDEX_OF_HELPURL,LF.CONTROLS_FOREACH_INPUT_DO=LF.CONTROLS_REPEAT_INPUT_DO,LF.LISTS_SET_INDEX_INPUT_IN_LIST=LF.LISTS_INLIST,LF.CONTROLS_FOR_INPUT_DO=LF.CONTROLS_REPEAT_INPUT_DO,LF.LISTS_CREATE_WITH_ITEM_TITLE=LF.VARIABLES_DEFAULT_NAME,LF.TUPLE_CREATE_WITH_ITEM_TITLE=LF.VARIABLES_DEFAULT_NAME,LF.DICT_CREATE_WITH_ITEM_TITLE=LF.VARIABLES_DEFAULT_NAME,LF.SET_CREATE_WITH_ITEM_TITLE=LF.VARIABLES_DEFAULT_NAME,LF.TEXT_APPEND_VARIABLE=LF.VARIABLES_DEFAULT_NAME,LF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=LF.VARIABLES_DEFAULT_NAME,LF.MATH_CHANGE_TITLE_ITEM=LF.VARIABLES_DEFAULT_NAME,LF.LISTS_INDEX_OF_INPUT_IN_LIST=LF.LISTS_INLIST,LF.PROCEDURES_DEFRETURN_COMMENT=LF.PROCEDURES_DEFNORETURN_COMMENT,LF.MPYTHON_MAIN_HELPURL="",LF.MPYTHON_MAIN_TOOLTIP="",LF.MPYTHON_MAIN_MESSAGE0="主程序",LF.MPYTHON_OPEN="开启",LF.MPYTHON_CLOSE="关闭",LF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",LF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",LF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",LF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",LF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",LF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",LF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",LF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",LF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",LF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",LF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",LF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",LF.MPYTHON_AI_SENSOR_ENABLE_START="开始抓取图像",LF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取图像",LF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平镜像",LF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻转",LF.MPYTHON_AI_SENSOR_SETS_CONTRAST="对比度",LF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",LF.MPYTHON_AI_SENSOR_SETS_SATURATION="饱和度",LF.MPYTHON_AI2_FACE_YOLO="人脸识别",LF.MPYTHON_AI2_CLASS_20_YOLO="20类识别",LF.MPYTHON_AI2_MNIST_NET="数字识别",LF.MPYTHON_AI2_PHOTOGRAPH_FACE_YOLO="人脸",LF.MPYTHON_AI2_PHOTOGRAPH_CLASS_20_YOLO="20类",LF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",LF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",LF.TEXT_APPEND_TEXT_HELPURL="",LF.TEXT_APPEND_TEXT_TOOLTIP="",LF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",LF.CHINA_CITY_MESSAGE0="%1 %2",LF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",LF.CHINA_CITY_CNNAME="中文简称",LF.CHINA_CITY_PINYIN="拼音",LF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",LF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",LF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",LF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",LF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天气] %1 信息 %2 地理位置 %3 API私钥 %4 %5 语言 %6 %7 温度单位 %8",LF.MPYTHON_SENIVERSE_WEATHER_API_1="天气实况",LF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天气预报",LF.MPYTHON_SENIVERSE_WEATHER_API_3="6项生活指数",LF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="摄氏度",LF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="华氏度",LF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",LF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",LF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="设定 %1 为 %2",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天气] 通用字段 %2",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天气] 天气实况 %2",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="风向角度,范围0~360\n风速,单位km/h(当unit=c时)、mph(当unit=f时)",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天气] 3天天气预报 %2 的 %3",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",LF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天气] 6项生活指数 %2",LF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名称",LF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",LF.MPYTHON_SENIVERSE_WEATHER_country="国家代码",LF.MPYTHON_SENIVERSE_WEATHER_path="行政归属",LF.MPYTHON_SENIVERSE_WEATHER_timezone="时区",LF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",LF.MPYTHON_SENIVERSE_WEATHER_last_update_date="数据更新日期",LF.MPYTHON_SENIVERSE_WEATHER_last_update="数据更新时间",LF.MPYTHON_SENIVERSE_WEATHER_object="原始字典对象",LF.MPYTHON_SENIVERSE_WEATHER_text="天气现象",LF.MPYTHON_SENIVERSE_WEATHER_code="天气现象代码",LF.MPYTHON_SENIVERSE_WEATHER_temperature="温度",LF.MPYTHON_SENIVERSE_WEATHER_today="今天",LF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",LF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="后天",LF.MPYTHON_SENIVERSE_WEATHER_date="日期",LF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天气现象",LF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天气现象代码",LF.MPYTHON_SENIVERSE_WEATHER_text_night="晚间天气现象",LF.MPYTHON_SENIVERSE_WEATHER_code_night="晚间天气现象代码",LF.MPYTHON_SENIVERSE_WEATHER_high="当天最高温度",LF.MPYTHON_SENIVERSE_WEATHER_low="当天最低温度",LF.MPYTHON_SENIVERSE_WEATHER_wind_direction="风向",LF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="风向角度",LF.MPYTHON_SENIVERSE_WEATHER_wind_speed="风速",LF.MPYTHON_SENIVERSE_WEATHER_wind_scale="风力等级",LF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗车指数",LF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指数",LF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指数",LF.MPYTHON_SENIVERSE_WEATHER_sport="运动指数",LF.MPYTHON_SENIVERSE_WEATHER_travel="旅游指数",LF.MPYTHON_SENIVERSE_WEATHER_uv="紫外线指数",LF.MPYTHON_RED="红",LF.MPYTHON_GREEN="绿",LF.MPYTHON_BLUE="蓝",LF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射频卡 读取电子钱包 数据",LF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="读取块数据,长度16字节",LF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",LF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射频卡 写入电子钱包 数据%1",LF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="写入块数据,长度16字节",LF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",LF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射频卡 给电子钱包%1 金额%2",LF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",LF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",LF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",LF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣费",LF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射频卡 获取电子钱包余额",LF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",LF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",LF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射频卡 获取序列号",LF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",LF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",LF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射频卡 初始化电子钱包",LF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",LF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",LF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射频卡 扫描",LF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",LF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",LF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超声波",LF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",LF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被触发 引脚%2",LF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",LF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模拟值 引脚%2",LF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",LF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="设置LED灯 输出%1 引脚%2",LF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",LF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循迹传感器 检测为黑 引脚%1",LF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",LF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打开 %1 引脚 %2",LF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",LF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="关闭 %1 引脚 %2",LF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",LF.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",LF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",LF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 %2 REC %3 PLAY %4",LF.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",LF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",LF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 %1 REC %2 PLAY %3",LF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",LF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="录音",LF.MPYTHON_BLUEBIT_IR_RECEIVE="红外探测",LF.MPYTHON_BLUEBIT_SOUND="麦克风",LF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循迹",LF.MPYTHON_BLUEBIT_VIBRATION="震动",LF.MPYTHON_BLUEBIT_RFID="射频卡",LF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指纹",LF.MPYTHON_BLUEBIT_PIR="人体感应",LF.MPYTHON_BLUEBIT_MAGNETIC="门磁开关",LF.MPYTHON_BLUEBIT_BUTTON="按键",LF.MPYTHON_BLUEBIT_RELAY="继电器",LF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位开关",LF.MPYTHON_BLUEBIT_FAN="风扇",LF.MPYTHON_BLUEBIT_LASER="激光",LF.MPYTHON_BLUEBIT_NTC_TEMP="热敏电阻",LF.MPYTHON_BLUEBIT_WATER="水位",LF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤湿度",LF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋钮电位器",LF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑电位器",LF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模拟光线",LF.MPYTHON_BLUEBIT_LM35_TEMP="LM35温度",LF.MPYTHON_BLUEBIT_SMOKE="烟雾",LF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正转",LF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反转",LF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",LF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤湿度",LF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤湿度(新)%1",LF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",LF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",LF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",LF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",LF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",LF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",LF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",LF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",LF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打开风扇 %1",LF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",LF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",LF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 关闭风扇 %1",LF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",LF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",LF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",LF.BLUE="A",LF.GREEN="B",LF.RED="C",LF.YELLOW="D",LF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",LF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",LF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",LF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",LF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",LF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打开直流电机 %1 %2 速度 %3",LF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",LF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",LF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 关闭直流电机",LF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",LF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",LF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="编码电机 模式 %1 拨码 %2 M1速度 %3 M2速度 %4",LF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",LF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止编码电机转动",LF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止编码电机转动 %1",LF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",LF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",LF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",LF.MPYTHON_BLUEBIT_TEMPERATURE="温度",LF.MPYTHON_BLUEBIT_HUMIDITY="湿度",LF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",LF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",LF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",LF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",LF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="设MIDI音量 %1",LF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",LF.MIDI_PIANO="平台钢琴",LF.MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",LF.MIDI_ELECTRICGRANDPIANO="电钢琴",LF.MIDI_HARPSICHORD="大键琴",LF.MIDI_CELESTA="钢片琴",LF.MIDI_GLOCKENSPIEL="钟琴",LF.MIDI_MUSICALBOX="音乐盒",LF.MIDI_MARIMBA="马林巴琴",LF.MIDI_XYLOPHONE="木琴",LF.MIDI_TUBULARBELL="管钟",LF.MIDI_DULCIMER="洋琴",LF.MIDI_VIBRAPHONE="颤音琴",LF.MIDI_ORGAN="音栓风琴",LF.MIDI_ACOUSTIC_GUITAR="木吉他",LF.MIDI_ELECTRIC_GUITAR="电吉他",LF.MIDI_ACOUSTIC_BASS="民谣贝斯",LF.MIDI_STRING_ENSEMBLE="弦乐合奏",LF.MIDI_VIOLIN="小提琴",LF.MIDI_TRUMPET="小号",LF.MIDI_SAX="萨克斯",LF.MIDI_STEEL_DRUMS="钢鼓",LF.MIDI_LEAD="合成音主旋律",LF.MIDI_PAD="合成音衬底",LF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",LF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="设MIDI乐器 %1",LF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",LF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",LF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音调 %2",LF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",LF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",LF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="设点阵亮度等級 %1",LF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",LF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",LF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="点阵 %1",LF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",LF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",LF.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",LF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",LF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",LF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="点阵设置生效",LF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",LF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",LF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="设MP3音量 %1",LF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",LF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",LF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",LF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚连接音乐模块的 RXI 引脚",LF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",LF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",LF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",LF.MPYTHON_PLUS_1="加1",LF.MPYTHON_MINUS_1="減1",LF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",LF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",LF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",LF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",LF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",LF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",LF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",LF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="MP3 单曲循环 %1",LF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",LF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",LF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="设扩展端口 IO %2 为 %1",LF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",LF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",LF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="扩展端口值 IO %1",LF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",LF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",LF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="设扩展端口 IO %2 为 %1",LF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",LF.MPYTHON_LCD_OBJECT_HELPURL="",LF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",LF.MPYTHON_LCD_OBJECT_TOOLTIP="",LF.MPYTHON_LCD_PRINT_HELPURL="",LF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 显示 %1",LF.MPYTHON_LCD_PRINT_TOOLTIP="",LF.MPYTHON_LCD_HOME_HELPURL="",LF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光标 回到原点",LF.MPYTHON_LCD_HOME_TOOLTIP="",LF.MPYTHON_LCD_CURSOR_HELPURL="",LF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光标 %1",LF.MPYTHON_LCD_CURSOR_TOOLTIP="",LF.MPYTHON_LCD_SET_CURSOR_HELPURL="",LF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始点 行 %2 列 %1",LF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列从0开始计数",LF.MPYTHON_LCD_CLEAR_HELPURL="",LF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",LF.MPYTHON_LCD_CLEAR_TOOLTIP="",LF.MPYTHON_LCD_CURSOR_BLINK="闪烁",LF.MPYTHON_LCD_CURSOR_NO_BLINK="不闪烁",LF.MPYTHON_LEFT_TO_RIGHT="从左向右",LF.MPYTHON_RIGHT_TO_LEFT="从右向左",LF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",LF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",LF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",LF.MPYTHON_LCD_MOVE_HELPURL="",LF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滚动一格",LF.MPYTHON_LCD_MOVE_TOOLTIP="",LF.MPYTHON_IR_TRANS_HELPURL="",LF.MPYTHON_IR_TRANS_MESSAGE0="红外发送 单字节字符串 %1 tx 引脚 %2",LF.MPYTHON_IR_TRANS_TOOLTIP="\n单字节字符串:\n'A', 'b', '1'等",LF.OUTPUT_PIN_HELPURL="",LF.OUTPUT_PIN_MESSAGE0="%1",LF.OUTPUT_PIN_TOOLTIP="",LF.INPUT_PIN_HELPURL="",LF.INPUT_PIN_MESSAGE0="%1",LF.INPUT_PIN_TOOLTIP="",LF.READ_ANALOG_PIN_HELPURL="",LF.READ_ANALOG_PIN_MESSAGE0="%1",LF.READ_ANALOG_PIN_TOOLTIP="",LF.SET_DIGITAL_HELPURL="",LF.SET_DIGITAL_MESSAGE0="%1",LF.SET_DIGITAL_TOOLTIP="",LF.SET_ANALOG_HELPURL="",LF.SET_ANALOG_MESSAGE0="%1",LF.SET_ANALOG_TOOLTIP="",LF.ALL_PIN_HELPURL="",LF.ALL_PIN_MESSAGE0="%1",LF.ALL_PIN_TOOLTIP="",LF.PWM_PIN_HELPURL="",LF.PWM_PIN_MESSAGE0="%1",LF.PWM_PIN_TOOLTIP="",LF.DH11_HUM_TEM_PIN_HELPURL="",LF.DH11_HUM_TEM_PIN_MESSAGE0="%1",LF.DH11_HUM_TEM_PIN_TOOLTIP="",LF.UART_TX_PIN_HELPURL="",LF.UART_TX_PIN_MESSAGE0="%1",LF.UART_TX_PIN_TOOLTIP="",LF.UART_RX_PIN_HELPURL="",LF.UART_RX_PIN_MESSAGE0="%1",LF.UART_RX_PIN_TOOLTIP="",LF.I2C_PIN_HELPURL="",LF.I2C_PIN_MESSAGE0="%1",LF.I2C_PIN_TOOLTIP="",LF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",LF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",LF.MQTT_COMMON_SETUP_TOOLTIP="",LF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",LF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",LF.MQTT_TENCENT_SETUP_TOOLTIP="",LF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",LF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 腾讯物联网 %1 服务器 %2 Port %3 AppId %4 Device %5 -- 传出参数 -- %6 ReportTopic %7 ControlTopic %8",LF.MQTT_TENCENT_SETUPS_TOOLTIP="",LF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服务器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",LF.MQTT_SETUP_TOOLTIP="",LF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_CONNECT_MESSAGE0="连接 MQTT",LF.MQTT_CONNECT_TOOLTIP="",LF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_PUBLISH_MESSAGE0="发布 %1 至 主题 %2",LF.MQTT_PUBLISH_TOOLTIP="",LF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_REC_FROM_TOPIC_MESSAGE0="当从主题 %1 接收到 %2 时",LF.MQTT_REC_FROM_TOPIC_TOOLTIP="",LF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_RECEIVE_MESSAGE0="当从主题 %1 接收到 %2 时",LF.MQTT_RECEIVE_TOOLTIP='参数"主题"只接受变量',LF.MQTT_RECEIVED_MESSAGE0="当从主题 %1 接收到消息 时",LF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_MESSAGE_MESSAGE0="从 MQTT 收到的消息",LF.MQTT_MESSAGE_TOOLTIP="",LF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_WAIT_MSG_MESSAGE0="等待主题消息 以 %1 模式",LF.MQTT_WAIT_MSG_TOOLTIP="建议放在'一直重复'中运行",LF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",LF.MQTT_DISCONNECT_MESSAGE0="MQTT 断开连接",LF.MQTT_DISCONNECT_TOOLTIP="",LF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",LF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",LF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",LF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",LF.MQTT_LAST_WILL_MESSAGE0="设置 MQTT 主题 %2 离线消息 %1",LF.MQTT_LAST_WILL_TOOLTIP="设置 MQTT last will 消息。应该在 connect() 之前调用。",LF.MPYTHON_SIOT_CONNECT_HELPURL="",LF.MPYTHON_SIOT_CONNECT_TOOLTIP="",LF.MPYTHON_SIOT_CONNECT_MESSAGE0="创建 SIoT 连接 %1 客户端ID %2 服务器 %3 用户 %4 密码 %5",LF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",LF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",LF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 连接成功 ?",LF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",LF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",LF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 订阅主题",LF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="点击左边星号 订阅 SIoT 主题",LF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 订阅 主题1",LF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主题",LF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",LF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多订阅 5 个主题",LF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",LF.MPYTHON_SIOT_DISCONNECT_HELPURL="",LF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",LF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 断开连接",LF.MPYTHON_SIOT_MESSAGE_HELPURL="",LF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",LF.MPYTHON_SIOT_MESSAGE_MESSAGE0="从 SIoT 收到的消息",LF.MPYTHON_SIOT_TOPIC1="主题1",LF.MPYTHON_SIOT_TOPIC2="主题2",LF.MPYTHON_SIOT_TOPIC3="主题3",LF.MPYTHON_SIOT_TOPIC4="主题4",LF.MPYTHON_SIOT_TOPIC5="主题5",LF.MPYTHON_SIOT_PUBLISH_HELPURL="",LF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",LF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 发送消息 %1 到 %2",LF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 发送消息 %1 到 主题 %2",LF.MPYTHON_SIOT_RECEIVE_HELPURL="",LF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",LF.MPYTHON_SIOT_RECEIVE_MESSAGE0="当从 SIoT %1 收到消息时 %2 执行 %3",LF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="当从 SIoT 主题 %1 收到消息时 %2 执行 %3",LF.MPYTHON_IR_RECV_HELPURL="",LF.MPYTHON_IR_RECV_MESSAGE0="红外接收 整型 rx 引脚 %1",LF.MPYTHON_IR_RECV_TOOLTIP="第一次接收总为空",LF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",LF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 显示 %1 x %2 y %3",LF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",LF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",LF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",LF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",LF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",LF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",LF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",LF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",LF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 显示图像 x %1 y %2 宽 %3 高 %4 16进制图像数据 %5",LF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",LF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",LF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",LF.mpythonbox_sound_MESSAGE0="声音值",LF.mpythonbox_sound_TOOLTIP="采样数据,为0~4095。",LF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",LF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",LF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",LF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆电阻采样值。范围0~4095。",LF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",LF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按键%1",LF.MPYTHONBOX_5BUTTON_TOOLTIP="",LF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",LF.MPYTHONBOX_MOTOR_MESSAGE0="马达 速度%1",LF.MPYTHONBOX_MOTOR_TOOLTIP="马达速度,范围±100。正值表示正转,负值则反。",LF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",LF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超声波",LF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超声波测距,获取超声波传感器测距值,单位cm。范围3~340CM",LF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",LF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人体红外",LF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人体红外触发值。当为1时,表示已触发;当为0时,表示未触发。",LF.MPYTHONBOX_RGB_pixel_HELPURL="",LF.MPYTHONBOX_RGB_pixel_MESSAGE0="设定第 %1列 %2行 R%3 G%4 B%5",LF.MPYTHONBOX_RGB_pixel_TOOLTIP="设定第多少列,行的RGB顏色",LF.MPYTHONBOX_RGB_get_pixel_HELPURL="",LF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",LF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB颜色",LF.MPYTHONBOX_RGB_ImageText_HELPURL="",LF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滚动显示文本%1 速度%2",LF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滚动显示文本,亮度为0不亮,9最亮",LF.MPYTHONBOX_RGB_SetImage_HELPURL="",LF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",LF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",LF.MPYTHONBOX_RGB_Image_HELPURL="",LF.MPYTHONBOX_RGB_Image_MESSAGE0="显示图像%1",LF.MPYTHONBOX_RGB_Image_TOOLTIP="显示图像",LF.MPYTHONBOX_RGB_SetImage_HELPURL="",LF.MPYTHONBOX_RGB_SetImage_MESSAGE0="创建图像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",LF.MPYTHONBOX_RGB_SetImage_TOOLTIP="创建新图像,每行每位数代表第几位灯,默认红色;亮度为0不亮,9最亮。",LF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="显示图像/文本 %1",LF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="显示图像或文本消息。",LF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",LF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="显示图像 %1",LF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="显示图像。",LF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",LF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="复制图像 %1",LF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="复制图像。",LF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",LF.MPYTHONBOX_RGB_ImageCot_HELPURL="",LF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪图像%1 列%2 行%3 宽%4 高%5",LF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪图像",LF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="内置图像 %1",LF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="选择一个内置的图像。",LF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",LF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移图像 %1 %2 %3 位",LF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移动图像,并返回移动后的结果。",LF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",LF.MPYTHONBOX_RGB_clear_HELPURL="",LF.MPYTHONBOX_RGB_clear_MESSAGE0="关闭所有 RGB 灯",LF.MPYTHONBOX_RGB_clear_TOOLTIP="",LF.MPYTHONBOX_RGB_pixel_return_HELPURL="",LF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 颜色",LF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",LF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",LF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1轴加速度",LF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",LF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",LF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1轴角速度",LF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",LF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",LF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1欧拉角",LF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回当前欧拉角(Pitch,Roll,Yaw),单位角度",LF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",LF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元数",LF.MPYTHONBOX_QUATERNION_TOOLTIP="返回当前四元数(w,x,y,z)",LF.MPYTHONBOX_CAMERA_LED_HELPURL="",LF.MPYTHONBOX_CAMERA_LED_MESSAGE0="摄像灯%1",LF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led灯,分为打开和关闭两种状态",LF.LIST_FIRST_INDEX_HELPURL="",LF.LIST_FIRST_INDEX_MESSAGE0="项 %1 在列表 %2 %3 出现的位置",LF.LIST_FIRST_INDEX_TOOLTIP="",LF.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",LF.MPYTHON_AI_LCD_INIT_MESSAGE0="屏幕 初始化 ",LF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 屏幕显示",LF.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",LF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="摄像头 初始化",LF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",LF.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",LF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="摄像头%1",LF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取图像",LF.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",LF.MPYTHON_AI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",LF.MPYTHON_AI_LCD_TEXT_TOOLTIP="仅支持字母和数字",LF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",LF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",LF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",LF.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",LF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 摄像头 获取%1",LF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)摄像头返回参数(宽高,图像帧的格式,图像帧的大小)",LF.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",LF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",LF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",LF.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",LF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",LF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",LF.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",LF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="摄像头 白平衡%1",LF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="设置摄像自动白平衡模式,默认打开。True为打开, False为关闭自动白平衡。若您想追踪颜色,则需关闭白平衡。",LF.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",LF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 %1 %2",LF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",LF.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",LF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 显示生效",LF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示",LF.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",LF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 显示生效 x%1 y%2 宽%3 高%4",LF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上显示一张图片",LF.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",LF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",LF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",LF.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",LF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",LF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",LF.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",LF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",LF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",LF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",LF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",LF.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",LF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="屏幕 显示清空",LF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",LF.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",LF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",LF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",LF.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",LF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",LF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",LF.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",LF.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",LF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",LF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",LF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",LF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",LF.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",LF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",LF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",LF.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",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",LF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="图像转换为%1",LF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻转是将二进制图像0(黑色)变为1(白色),1(白色)变为0(黑色),非常快速地翻转二进制图像中的所有像素值。",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="图像 从笛卡尔坐标到%1 坐标重新投影 反向%2",LF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="图像 膨胀 级别%1",LF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨胀就是对图像高亮部分进行“领域扩张”,效果图拥有比原图更大的高亮区域。",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="图像 中点滤波 级别%1 滤波%2",LF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制图像混合的最小/最大程度。0只适用于最小滤波,1仅用于最大滤波。",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="图像 众数滤波 级别%1",LF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在图像上运行众数滤波,用相邻像素的模式替换每个像素。",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="图像 模糊滤波 级别%1",LF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式滤波器的标准均值模糊滤波。",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="图像 卡通化 级别%1 起始像素差异%2 相邻像素差异%3",LF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",LF.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",LF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="图像 3D旋转 上下旋转%1 左右旋转%2 度数%3 左右移动%4 上下移动%5 缩放%6",LF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通过执行帧缓冲区的3D旋转来纠正图像中的透视问题。",LF.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",LF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",LF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",LF.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",LF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",LF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",LF.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",LF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(实验箱)选择训练模型 人脸",LF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",LF.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",LF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(实验箱)调用摄像头进行 人脸识别",LF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",LF.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",LF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(实验箱)获取识别后人脸的 所有参数",LF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",LF.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",LF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(实验箱)获取识别后人脸的 x坐标",LF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",LF.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",LF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(实验箱)获取识别后人脸的 y坐标",LF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",LF.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",LF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(实验箱)获取识别后人脸的 宽度",LF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",LF.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",LF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(实验箱)获取识别后人脸的 高度",LF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",LF.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",LF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(实验箱)获取识别后人脸的 置信度",LF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",LF.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",LF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(实验箱)获取识别后人脸的 数量",LF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",LF.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",LF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(实验箱)选择训练模型 20类",LF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",LF.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",LF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(实验箱)调用摄像头进行 20类识别",LF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(实验箱)获取识别后20类的 所有参数",LF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(实验箱)获取识别后20类的 x坐标",LF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(实验箱)获取识别后20类的 y坐标",LF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(实验箱)获取识别后20类的 宽度",LF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(实验箱)获取识别后20类的 高度",LF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(实验箱)获取识别后20类的 置信度",LF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(实验箱)获取识别后20类的 数量",LF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(实验箱)获取识别后20类的 类型",LF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",LF.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",LF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(实验箱)获取识别后20类的 类型数量",LF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",LF.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",LF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(实验箱)选择训练模型 手写数字",LF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",LF.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",LF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(实验箱)调用摄像头进行 手写数字识别",LF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",LF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",LF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(实验箱)获取识别后手写数字的 所有参数",LF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",LF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",LF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(实验箱)获取识别后手写数字的 数字",LF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",LF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",LF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(实验箱)获取识别后手写数字的 置信度",LF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",LF.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",LF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(实验箱)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",LF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追踪色块",LF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",LF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(实验箱)追踪颜色 显示%1",LF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",LF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(实验箱)%1获取识别后色块的 所有参数",LF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_X_MESSAGE0="(实验箱)%1获取识别后色块的 x坐标",LF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_Y_MESSAGE0="(实验箱)%1获取识别后色块的 y坐标",LF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_W_MESSAGE0="(实验箱)%1获取识别后色块的 宽度",LF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_H_MESSAGE0="(实验箱)%1获取识别后色块的 高度",LF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(实验箱)%1获取识别后色块的 数量",LF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(实验箱)%1获取识别后色块的 中心x坐标",LF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(实验箱)%1获取识别后色块的 中心y坐标",LF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(实验箱)%1获取识别后色块的 矩形",LF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",LF.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",LF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",LF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",LF.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",LF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",LF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",LF.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",LF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="摄像头 初始化 像素模式 %1",LF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用于设置摄像头像素模式,有黑白和rgb彩色",LF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 训练 %1",LF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",LF.MPYTHON_DRILL_WEIGHT_HELPURL="",LF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",LF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="实例化 线性回归直线",LF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",LF.MPYTHON_DRILL_TITLE_HELPURL="",LF.MPYTHON_DRILL_TITLE_MESSAGE0="标题%1 字号%2",LF.MPYTHON_DRILL_TITLE_TOOLTIP="",LF.MPYTHON_DRILL_LABEL_HELPURL="",LF.MPYTHON_DRILL_LABEL_MESSAGE0="标签%1 标题%2 字号%3",LF.MPYTHON_DRILL_LABEL_TOOLTIP="",LF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",LF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真实数据 符号标记%1 颜色为r%2 g%3 b%4 标题%5",LF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",LF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",LF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="预测线性回归直线 符号标记%1 颜色为r%2 g%3 b%4 标题%5",LF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",LF.MPYTHON_DRILL_LEGEND_HELPURL="",LF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示图例",LF.MPYTHON_DRILL_LEGEND_TOOLTIP="",LF.MPYTHON_DRILL_SHOW_HELPURL="",LF.MPYTHON_DRILL_SHOW_MESSAGE0="显示图片",LF.MPYTHON_DRILL_SHOW_TOOLTIP="",LF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",LF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="输入测试数值%1",LF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",LF.MPYTHON_DRILL_DRILL_full_line="实线",LF.MPYTHON_DRILL_DRILL_dash_line="破折线",LF.MPYTHON_DRILL_DRILL_chain_line="点划线",LF.MPYTHON_DRILL_DRILL_imaginary_line="虚线",LF.MPYTHON_DRILL_DRILL_dot="点",LF.MPYTHON_DRILL_DRILL_pixel="像素",LF.MPYTHON_DRILL_DRILL_solid_rim="实心圈",LF.MPYTHON_DRILL_DRILL_down_triangle="下三角",LF.MPYTHON_DRILL_DRILL_up_triangle="上三角",LF.MPYTHON_DRILL_DRILL_right_triangle="右三角",LF.MPYTHON_DRILL_DRILL_left_triangle="左三角",LF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",LF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",LF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",LF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",LF.MPYTHON_DRILL_DRILL_solid_square="实心方形",LF.MPYTHON_DRILL_DRILL_solid_pentagon="实心五角",LF.MPYTHON_DRILL_DRILL_star="星形",LF.MPYTHON_DRILL_DRILL_vertical_hexagon="竖六边形",LF.MPYTHON_DRILL_DRILL_across_hexagon="横六边形",LF.MPYTHON_DRILL_DRILL_cross="十字",LF.MPYTHON_DRILL_DRILL_X="X",LF.MPYTHON_DRILL_DRILL_rhombus="菱形",LF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",LF.MPYTHON_DRILL_DRILL_vertical_line="垂直线",LF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鸢尾花数据集",LF.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]来做映射",LF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鸢尾花 主成分分析",LF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鸢尾花 因子分析 3D",LF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鸢尾花 因子分析",LF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="预测图示 鸢尾花类型%1 呈现内容 x%3 y%4 呈现种类%2 颜色为 r%5 g%6 b%7 标题%8 向上合并%9",LF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="预测图示 呈现内容 x%1 y%2 呈现种类%3 颜色为 r%4 g%5 b%6 标题%7",LF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 预测图示 呈现内容 x朝向%1 y朝向%2 z朝向%3 颜色为 r%4 g%5 b%6 标题%7",LF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="标题%1 字号%2",LF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="标签%1 标题%2 字号%3",LF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 标题%1 字号%2",LF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 标签%1 标题%2 字号%3",LF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示图例",LF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="显示图片",LF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",LF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",LF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x,y坐标",LF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150条记录,分别代表50条山鸢尾 (Iris-setosa)、变色鸢尾(Iris-versicolor)、维吉尼亚鸢尾(Iris-virginica)",LF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鸢尾",LF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="变色鸢尾",LF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="维吉尼亚鸢尾",LF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散点图",LF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde图",LF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱图",LF.MPYTHONS_FLOWER_DE_LUCE_merge="合并",LF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合并",LF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼长度",LF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼宽度",LF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣长度",LF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣宽度",LF.MPYTHONS_CONVERT_PICTURE_HELPURL="",LF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="将图片转换为28²二值图%1 待处理的图片存储路径%2 处理后的图片存储路径%3 格式%4",LF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通过串口把WIF传给语音助手",LF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",LF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手写数字数据 存储路径%1",LF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手写数字字符库",LF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",LF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手写数字图像 存储路径%1",LF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="手写数字图像的路径",LF.MPYTHONS_SHOW_NUMBER_HELPURL="",LF.MPYTHONS_SHOW_NUMBER_MESSAGE0="显示手写数字图像",LF.MPYTHONS_SHOW_NUMBER_TOOLTIP="显示手写数字图像",LF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",LF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="识别手写数字图像 存储路径%1",LF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="识别手写数字图像的路径",LF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",LF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="创建变量%1 初始化 神经网络张量 变量名%2",LF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",LF.MPYTHON_DRILL_RESHAPE_MESSAGE0="创建变量%1 将输入照片变量 %2 转换为 神经网络输出张量%3",LF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",LF.MPYTHON_DRILL_RESHAPE_HELPURL="",LF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="创建变量%1 共享变量名%2 初始化模式%3",LF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",LF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",LF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="产生截断正态分布随机数 输出张量%1 标准差%2",LF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",LF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",LF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="创建常量 数值%1 输出张量%2",LF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",LF.MPYTHON_NUMBER_CONSTANT_HELPURL="",LF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神经网络输出张量%1 共享变量%2 步长%3 填充%4",LF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",LF.MPYTHON_NUMBER_CONV2D_HELPURL="",LF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="张量%1",LF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",LF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",LF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷积二维层 变量%1 %2",LF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",LF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",LF.MPYTHON_NUMBER_RELU_MESSAGE0="创建变量%1 Relu正向激励函数 卷积二维层%2",LF.MPYTHON_NUMBER_RELU_TOOLTIP="",LF.MPYTHON_NUMBER_RELU_HELPURL="",LF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二维层 变量%1 卷积层%2 池化窗口%3 步长%4 填充%5",LF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",LF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",LF.MPYTHON_NUMBER_MATMUL_MESSAGE0="两个参数的对应元素各自相乘 x%1 y%2",LF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",LF.MPYTHON_NUMBER_MATMUL_HELPURL="",LF.MPYTHON_NUMBER_ADD_MESSAGE0="全连接层 变量%1 两个参数的元素相加 x%2 y%3",LF.MPYTHON_NUMBER_ADD_TOOLTIP="",LF.MPYTHON_NUMBER_ADD_HELPURL="",LF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="创建变量%1 预测模型准确度 变量名%2",LF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",LF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",LF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="创建变量%1 损失函数%2",LF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",LF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",LF.MPYTHON_NUMBER_LOG_MESSAGE0="自然对数 %1",LF.MPYTHON_NUMBER_LOG_TOOLTIP="",LF.MPYTHON_NUMBER_LOG_HELPURL="",LF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="压缩求和%1 维度%2",LF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。",LF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",LF.MPYTHON_NUMBER_TRAIN_MESSAGE0="优化学习速率 %1",LF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",LF.MPYTHON_NUMBER_TRAIN_HELPURL="",LF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="创建变量%1 优化张量%2",LF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",LF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",LF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",LF.MPYTHON_NUMBER_INIT_TOOLTIP="",LF.MPYTHON_NUMBER_INIT_HELPURL="",LF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="选择 手写数字集%1 数量%2",LF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",LF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",LF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",LF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",LF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",LF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="启动数据流图会话进行计算 会话%1 图片%2 标签%3",LF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",LF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",LF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="预测模型%1 拟合度%2 会话%3",LF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",LF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",LF.MPYTHON_NUMBER_EQUAL_MESSAGE0="两个张量的每一维是否相等 x%1 y%2",LF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",LF.MPYTHON_NUMBER_EQUAL_HELPURL="",LF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="张量 %1 按%2比较返回最大值的索引",LF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",LF.MPYTHON_NUMBER_ARGMAX_HELPURL="",LF.MPYTHON_NUMBER_CAST_MESSAGE0="转为浮点型 %1",LF.MPYTHON_NUMBER_CAST_TOOLTIP="",LF.MPYTHON_NUMBER_CAST_HELPURL="",LF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",LF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手写数字识别模型 变量名%1 存储路径%2",LF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手写数字识别模型保存路径",LF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",LF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加载模型 %1 存储路径%2",LF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="加载模型",LF.MPYTHONS_NUMBER_SAME="包含边界",LF.MPYTHONS_NUMBER_VALID="不包含边界",LF.MPYTHONS_NUMBER_train="训练",LF.MPYTHONS_NUMBER_test="测试",LF.MPYTHONS_NUMBER_row="行",LF.MPYTHONS_NUMBER_rank="列",LF.MPYTHONS_NUMBERNEW_INITIALIZE_HELPURL="",LF.MPYTHONS_NUMBERNEW_INITIALIZE_MESSAGE0="初始化 张量 载入mnist数据集",LF.MPYTHONS_NUMBERNEW_INITIALIZE_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_HELPURL="",LF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_MESSAGE0="卷积 一 层",LF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_ONE_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_POOLING_ONE_HELPURL="",LF.MPYTHONS_NUMBERNEW_POOLING_ONE_MESSAGE0="池化 一 层",LF.MPYTHONS_NUMBERNEW_POOLING_ONE_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_HELPURL="",LF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_MESSAGE0="卷积 二 层",LF.MPYTHONS_NUMBERNEW_CONVOLUTIONAL_TWO_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_POOLING_TWO_HELPURL="",LF.MPYTHONS_NUMBERNEW_POOLING_TWO_MESSAGE0="池化 二 层",LF.MPYTHONS_NUMBERNEW_POOLING_TWO_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_CONNECT_ONE_HELPURL="",LF.MPYTHONS_NUMBERNEW_CONNECT_ONE_MESSAGE0="全连接 一 层",LF.MPYTHONS_NUMBERNEW_CONNECT_ONE_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_CONNECT_TWO_HELPURL="",LF.MPYTHONS_NUMBERNEW_CONNECT_TWO_MESSAGE0="全连接 二 层",LF.MPYTHONS_NUMBERNEW_CONNECT_TWO_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_LOSS_HELPURL="",LF.MPYTHONS_NUMBERNEW_LOSS_MESSAGE0="配置Adam优化器 学习速率为%1",LF.MPYTHONS_NUMBERNEW_LOSS_TOOLTIP="学习速率为0.001~0.000001之间",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_HELPURL="",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_MESSAGE0="初始化 tensorflow模型%1 训练模型%2 步数%3",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_TOOLTIP="步数不能小于10",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_HELPURL="",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_MESSAGE0="模型训练准确率",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_STATE_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_HELPURL="",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_MESSAGE0="预测 训练正确率",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_TRAIN_TOOLTIP="",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_HELPURL="",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_MESSAGE0="预测 手写数字%1",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_NUMBER_TOOLTIP="仅支持28*28像素的黑白图片",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_HELPURL="",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_MESSAGE0="显示图片%1",LF.MPYTHONS_NUMBERNEW_TENSORFLOW_IMAGE_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="调用摄像头 %1",LF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="调用笔记本内置摄像头,所以参数为0,如果有其他的摄像头可以调整参数为1,2",LF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="关闭摄像头",LF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="删除所有窗口",LF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",LF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="从摄像头读取图片",LF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有读取图片就True,否则false;第二个参数是frame,是当前截取一帧的图片。",LF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="转为灰度图片",LF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="检测人脸 每次图像尺寸减小比例%1",LF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",LF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",LF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人脸区域显示矩形框 颜色为 红%1 绿%2 蓝%3",LF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",LF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存图像 位置%1 ID%2 编号%3",LF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",LF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中显示图像 文件名%1",LF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",LF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通过esc键 退出",LF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置顶时使用才有效果",LF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",LF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="获得人脸在图像中的坐标值 人脸%1",LF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否有读取图片",LF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打开摄像头",LF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="获取照片及id 照片存储路径%1",LF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化训练模型",LF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="初始化训练模型",LF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="开始训练模型",LF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1训练模型 存储路径%2",LF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人脸模型训练 数目",LF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口显示 识别的名字%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",LF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口显示 识别的置信度%1 设置字体为%2 颜色为 红%3 绿%4 蓝%5",LF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",LF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="预测人脸 名字%1 置信度%2",LF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",LF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="写入",LF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="读取",LF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",LF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",LF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",LF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",LF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",LF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",LF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",LF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",LF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",LF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",LF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",LF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",LF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",LF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",LF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",LF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",LF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",LF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",LF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",LF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",LF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",LF.Jenny="珍妮",LF.Jack="杰克",LF.Tom="汤姆",LF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",LF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",LF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",LF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",LF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查阅训练库 选择%1",LF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",LF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",LF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",LF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",LF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",LF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",LF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",LF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",LF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",LF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",LF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",LF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",LF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",LF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",LF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",LF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",LF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",LF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",LF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",LF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",LF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",LF.MPYTHON_AGESTURE_ARRAY_HELPURL="",LF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",LF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",LF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",LF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",LF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",LF.MPYTHON_GESTURE_READ_LEND_HELPURL="",LF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",LF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",LF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",LF.MPYTHON_GESTURE_SCORE_HELPURL="",LF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",LF.MPYTHON_GESTURE_SCORE_TOOLTIP="",LF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",LF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",LF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",LF.MPYTHON_GESTURE_FORECAST_HELPURL="",LF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",LF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",LF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",LF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",LF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",LF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",LF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",LF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",LF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",LF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",LF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",LF.MPYTHON_AGESTURENEW_INITIALIZE_HELPURL="",LF.MPYTHON_AGESTURENEW_INITIALIZE_MESSAGE0="初始化 KNN",LF.MPYTHON_AGESTURENEW_INITIALIZE_TOOLTIP="",LF.MPYTHON_AGESTURENEW_SHOOT_HELPURL="",LF.MPYTHON_AGESTURENEW_SHOOT_MESSAGE0="拍摄 进行手势检测",LF.MPYTHON_AGESTURENEW_SHOOT_TOOLTIP="",LF.MPYTHON_AGESTURENEW_SHOOT_GRAY_HELPURL="",LF.MPYTHON_AGESTURENEW_SHOOT_GRAY_MESSAGE0="拍摄 训练集",LF.MPYTHON_AGESTURENEW_SHOOT_GRAY_TOOLTIP="",LF.MPYTHON_AGESTURENEW_GRAY_HELPURL="",LF.MPYTHON_AGESTURENEW_GRAY_MESSAGE0="图像处理",LF.MPYTHON_AGESTURENEW_GRAY_TOOLTIP="",LF.MPYTHON_AGESTURENEW_TRAIN_HELPURL="",LF.MPYTHON_AGESTURENEW_TRAIN_MESSAGE0="开始分类训练",LF.MPYTHON_AGESTURENEW_TRAIN_TOOLTIP="",LF.MPYTHON_AGESTURENEW_START_FORECAST_HELPURL="",LF.MPYTHON_AGESTURENEW_START_FORECAST_MESSAGE0="开始预测",LF.MPYTHON_AGESTURENEW_START_FORECAST_TOOLTIP="",LF.MPYTHON_AGESTURENEW_FORECAST_RESULT_HELPURL="",LF.MPYTHON_AGESTURENEW_FORECAST_RESULT_MESSAGE0="预测结果",LF.MPYTHON_AGESTURENEW_FORECAST_RESULT_TOOLTIP="",LF.MPYTHON_AGESTURENEW_SHOW_WINDOW_HELPURL="",LF.MPYTHON_AGESTURENEW_SHOW_WINDOW_MESSAGE0="显示图片";LF.MPYTHON_AGESTURENEW_SHOW_WINDOW_TOOLTIP="",LF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",LF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",LF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",LF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",LF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",LF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",LF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",LF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",LF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",LF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",LF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",LF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",LF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",LF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",LF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",LF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",LF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",LF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",LF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",LF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",LF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",LF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",LF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",LF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",LF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",LF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",LF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="Esc退出拍摄",LF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",LF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",LF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",LF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",LF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸库%1",LF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",LF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_HELPURL="",LF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_MESSAGE0="拍照 进行人脸检测 %1",LF.MPYTHONS_FACEAI_FACE_SHOOT_RESULT_TOOLTIP="按S建拍摄,Esc退出拍摄",LF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",LF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",LF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",LF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",LF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",LF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",LF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",LF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",LF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",LF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",LF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",LF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",LF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",LF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表 排序前%1",LF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",LF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",LF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻",LF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",LF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",LF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",LF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",LF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",LF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="读取词汇表 排序前%1",LF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",LF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",LF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",LF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",LF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",LF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",LF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",LF.FIRST="第一次",LF.LAST="最后一次",LF.MPYTHON_USOCKET_BLOCK="阻塞",LF.MPYTHON_USOCKET_UNBLOCK="非阻塞",LF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",LF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="设置socket %1 地址 %2 类型 %3",LF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="设置给定套接字选项的值。所需的符号常量在套接字模块中定义(SO_ *等)。该值可以是整数或表示缓冲区的类字节对象。",LF.MPYTHON_USOCKET_READLINE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",LF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行数据,遇换行符结束并返回接收数据的对象",LF.MPYTHON_USOCKET_READLINE_TOOLTIP=" 接收一行数据,遇换行符结束,并返回接收数据的对象",LF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",LF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="设 socket %1 为 %2 模式",LF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",LF.MPYTHON_USOCKET_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.read",LF.MPYTHON_USOCKET_READ_MESSAGE0="从socket %1 读取 %2 字节并返回字节对象",LF.MPYTHON_USOCKET_READ_TOOLTIP="若未给定读取数量 ,则按照类似 socket.readall() 的模式运行",LF.MPYTHON_ESC_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.setblocking",LF.MPYTHON_ESC_MESSAGE0="设 socket %1 为 %2 模式",LF.MPYTHON_ESC_TOOLTIP="",LF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.settimeout",LF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 设超时时间 %2 秒",LF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",LF.MPYTHON_USOCKET_SENDALL_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",LF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 连续发送 %2 并返回发送的字节数",LF.MPYTHON_USOCKET_SENDALL_TOOLTIP="将所有数据发送到套接字。套接字必须连接到远程套接字。与 send() 此不同,此方法将尝试通过连续发送数据块来发送所有数据。",LF.MPYTHON_USOCKET_SENDS_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",LF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",LF.MPYTHON_USOCKET_SENDS_TOOLTIP='将数据发送到套接字。套接字必须连接到远程套接字。返回发送的字节数,可能小于数据长度 ("short write")。',LF.MPYTHON_USOCKET_SEND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.send",LF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 发送 %2 并返回发送的字节数",LF.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”).",LF.MPYTHON_USOCKET_SENDTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.sendto",LF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 发送 %2 到地址 %3",LF.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.",LF.MPYTHON_USOCKET_RECV_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recv",LF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收并返回接收到的数据对象 最大数据量为 %2",LF.MPYTHON_USOCKET_RECV_TOOLTIP="",LF.MPYTHON_TEXT_ESC_HELPURL="",LF.MPYTHON_TEXT_ESC_MESSAGE0="文本转义字符 %1",LF.MPYTHON_TEXT_ESC_TOOLTIP="文本转义字符",LF.MPYTHON_USOCKET_RECVFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.recvfrom",LF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收并返回接收到的数据元组 最大数据量为 %2",LF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元组格式 (bytes, address)",LF.MPYTHON_USOCKET_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.connect",LF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 连接 host %2 端口 %3",LF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",LF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.getaddrinfo",LF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 并返回 ip",LF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需联网",LF.MPYTHON_USOCKET_ACCEPT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.accept",LF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接收连接请求并返回socket元组",LF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收连接请求。socket需要指定地址并监听连接。返回值是 (conn, address)。\nconn:新的socket对象,可以用来收发消息\naddress:连接到服务器的客户端地址",LF.MPYTHON_USOCKET_LISTEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.listen",LF.MPYTHON_USOCKET_LISTEN_MESSAGE0="监听socket %1 backlog个数 %2",LF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",LF.MPYTHON_USOCKET_BIND_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.bind",LF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 绑定地址 %2 端口 %3",LF.MPYTHON_USOCKET_BIND_TOOLTIP="",LF.MPYTHON_USOCKET_CLOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket.close",LF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 关闭",LF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",LF.MPYTHON_USOCKET_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/pythonStd/usocket.html#usocket.socket",LF.MPYTHON_USOCKET_INIT_MESSAGE0="创建 socket %1 地址 %2 类型 %3",LF.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",LF.MPYTHON_GET_POST_HELPURL="",LF.MPYTHON_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",LF.MPYTHON_GET_POST_TOOLTIP="",LF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",LF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",LF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 请求网址 %2 提交字段 %3",LF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",LF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",LF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 请求网址 %2 文件路径 %3 Mime类型 %4 附加字段 %5",LF.MPYTHON_RESPONSE_HELPURL="",LF.MPYTHON_RESPONSE_MESSAGE0="响应内容 形式 %1",LF.MPYTHON_RESPONSE_TOOLTIP="",LF.STRING="字符串",LF._BYTE="二进制",LF.BYTES="字节",LF.TEXT="文本",LF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",LF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="响应属性 %1",LF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",LF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",LF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右键帮助,查看引脚声明",LF.MPYTHON_SETS_PIN_MODE_MESSAGE0="设置引脚 %1 为 %2 模式 %3 并设置值为 %4",LF.MPYTHON_SET_PIN_IN="输入",LF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽输出",LF.MPYTHON_SET_PIN_LEAKY_OUT="开漏输出",LF.MPYTHON_SET_PIN_NO_PULL="无上下拉",LF.MPYTHON_SET_PIN_DOWN_PULL="下拉",LF.MPYTHON_SET_PIN_UP_PULL="上拉",LF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",LF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="线程锁对象 %1 请求锁",LF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",LF.MPYTHON_START_NEW_THREAD_HELPURL="",LF.MPYTHON_START_NEW_THREAD_MESSAGE0="子线程 %1",LF.MPYTHON_START_NEW_THREAD_TOOLTIP="",LF.MPYTHON_UART_INIT_HELPURL="",LF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",LF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3组串口。0用于REPL,剩下1、2两组串口可用。所有引脚均可以作为串口的输入RX,除 P2、P3 、P4 、P10 只能作为输入,其余所有的引脚理论上都可以作为输出TX。",LF.MPYTHON_UART_DEINIT_HELPURL="",LF.MPYTHON_UART_DEINIT_MESSAGE0="关闭串口 %1",LF.MPYTHON_UART_DEINIT_TOOLTIP="关闭 UART 总线",LF.MPYTHON_UART_WRITE_STR_HELPURL="",LF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 写入文本 %2 %3",LF.MPYTHON_UART_WRITE_STR_TOOLTIP="将文本写入总线。\n返回值:写入或 None 超时的字节数。",LF.MPYTHON_UART_WRITE_HEX_HELPURL="",LF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 发送16进制字符串 %2 %3",LF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",LF.MPYTHON_UART_HAS_DATA_HELPURL="",LF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可读数据",LF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一个整数,计算可以无阻塞地读取的字符数。\n如果没有可用字符,它将返回0,如果有字符,则返回正数。\n即使有多个可读的字符,该方法也可以返回1。",LF.MPYTHON_UART_READLINE_HELPURL="",LF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 读取一行数据",LF.MPYTHON_UART_READLINE_TOOLTIP="读一行,以换行符结尾。\n返回值:读取行或 None 超时。",LF.MPYTHON_UART_READ_HELPURL="",LF.MPYTHON_UART_READ_MESSAGE0="串口 %1 读取数据",LF.MPYTHON_UART_READ_TOOLTIP="读取尽可能多的串口数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",LF.MPYTHON_UART_READ_LENGTH_HELPURL="",LF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 读取数据 长度 %2",LF.MPYTHON_UART_READ_LENGTH_TOOLTIP="读取指定长度字节数据\n返回值:包含读入字节的字节列表。若读取超时则返回 None。",LF.MPYTHON_UART_WRITE_BYTE_HELPURL="",LF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 写入单字节 %2",LF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="参数取值为 0~255 整数\n将字节写入总线。\n返回值:写入或 None 超时的字节数。",LF.MPYTHON_UART_WRITE_BYTES_HELPURL="",LF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 写入字节数组 %2",LF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="将字节数组写入总线。\n返回值:写入或 None 超时的字节数。",LF.MPYTHON_BAUDRATE_HELPURL="",LF.MPYTHON_BAUDRATE_MESSAGE0="%1",LF.MPYTHON_BAUDRATE_TOOLTIP="",LF.MPYTHON_HIGH_LOW_HELPURL="",LF.MPYTHON_HIGH_LOW_MESSAGE0="%1",LF.MPYTHON_HIGH_LOW_TOOLTIP="",LF.MPYTHON_TEN_CONVERT_TO_HELPURL="",LF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10进制整数 %1 转化为 %2 字符串",LF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",LF.MPYTHON_BIN="二进制",LF.MPYTHON_OCT="八进制",LF.MPYTHON_HEX="十六进制",LF.MPYTHON_CONVERT_TO_TEN_HELPURL="",LF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 转 10进制整数",LF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",LF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",LF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10进制整数 %2 转 %1 字节",LF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",LF.MPYTHON_INT_TO_CHR_HELPURL="",LF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 转 ASCII 单字符",LF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",LF.MPYTHON_CHR_TO_INT_HELPURL="",LF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 单字符 %1 转 整型",LF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",LF.MPYTHON_STR_TO_HEX_HELPURL="",LF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 转 十六进制 字节",LF.MPYTHON_STR_TO_HEX_TOOLTIP="返回结果中用空格分隔两个十六进制数",LF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",LF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六进制字符串 %1 转 二进制 字节",LF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",LF.MPYTHON_DATA_TO_BASE64_HELPURL="",LF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式编码 返回字节对象",LF.MPYTHON_DATA_TO_BASE64_TOOLTIP="Base64编码是从二进制到字符的过程",LF.MPYTHON_BASE64_TO_DATA_HELPURL="",LF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解码 base64 数据 %1 返回字节对象",LF.MPYTHON_BASE64_TO_DATA_TOOLTIP="Base64编码是从二进制到字符的过程",LF.MPYTHON_UJSON_DUMPS_HELPURL="",LF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 转 json 字符串",LF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",LF.MPYTHON_UJSON_LOADS_HELPURL="",LF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",LF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 none)",LF.MPYTHON_CUSTOM_CODE_HELPURL="",LF.MPYTHON_CUSTOM_CODE_TOOLTIP="",LF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",LF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",LF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",LF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定义返回值 %1",LF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",LF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定义终端部件 Terminal 虚拟管脚 V %1",LF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",LF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",LF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虚拟管脚的状态 V %1",LF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",LF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",LF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="当 Blynk 断开连接时",LF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",LF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",LF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="当 Blynk 连接时",LF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",LF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",LF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="运行 Blynk 定时器进程",LF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",LF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",LF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定时器",LF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",LF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",LF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定时器 %1",LF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',LF.MPYTHON_UART_INPUT_HELPURL="",LF.MPYTHON_UART_INPUT_MESSAGE0="从串口获取文本 提示语句 %1",LF.MPYTHON_UART_INPUT_TOOLTIP="",LF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",LF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="给虚拟管脚添加 属性 %1 值 %2",LF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放于 read 或 write 事件中,虚拟管脚由事件决定,与该管脚绑定的组件会拥有添加的属性",LF.MPYTHON_BLYNK_EMAIL_HELPURL="",LF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向预设邮箱发邮件 %1 主题 %2 正文 %3",LF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",LF.MPYTHON_BLYNK_RUN_HELPURL="",LF.MPYTHON_BLYNK_RUN_MESSAGE0="运行 Blynk 进程",LF.MPYTHON_BLYNK_RUN_TOOLTIP="建议放在 '一直重复' 中循环执行",LF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",LF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 显示通知 %1",LF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",LF.MPYTHON_BLYNKTIMER_HELPURL="",LF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定时器 %1 %2 周期 %3 秒",LF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定时器序号为自动获取,自上而下,从0开始且连续,不可"定时器0,定时器2",此处暴露序号参数为方便查看!\n参数:\nno_timers_err=False-如果所有计时器都停止,禁用异常触发',LF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",LF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="发送数据 %1 到 Blynk APP 的 虚拟管脚 V %2",LF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虚拟管脚:V0 ~ V255",LF.MPYTHON_BLYNK_SETUP_HELPURL="",LF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 设置 %1 服务器 %2 端口 %3 授权码 %4",LF.MPYTHON_BLYNK_SETUP_TOOLTIP="服务器可填 blynk-cloud.com(官网) 或者 blynk.mpython.cn(国内)\n默认端口为 8080\n注意:手机APP访问端口为 9443",LF.MPYTHON_BLYNK_APP_DATA_HELPURL="",LF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="当 从 Blynk APP 收到 虚拟管脚 V %1 的值 %2",LF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虚拟管脚:V0 ~ V255",LF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="当 收到 Blynk 虚拟管脚 V %1 的值",LF.MPYTHON_BLYNK_VALUE_MESSAGE0="从 Blynk 收到的值",LF.MPYTHON_BLYNK_VALUE_TOOLTIP="",LF.MPYTHON_BLYNK_VALUE_HELPURL="",LF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 断开连接",LF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",LF.MPYTHON_ONENET_DISCONNECT_HELPURL="",LF.MPYTHON_ONENET_MSG_MESSAGE0="从 OneNET 收到的消息",LF.MPYTHON_ONENET_MSG_TOOLTIP="",LF.MPYTHON_ONENET_MSG_HELPURL="",LF.MPYTHON_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 %1 时",LF.MPYTHON3_ONENET_RECV_MESSAGE0="当 从 OneNET 收到消息 时",LF.MPYTHON_ONENET_RECV_TOOLTIP="",LF.MPYTHON_ONENET_RECV_HELPURL="",LF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="当 从 OneNET 收到特定消息 %1 时",LF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",LF.MPYTHON_ONENET_RECV_MSG_HELPURL="",LF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 发送数据流 名称 %1 值 %2",LF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",LF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",LF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 发送数据流 %1",LF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",LF.MPYTHON_ONENET_PUB_DICT_HELPURL="",LF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 发送数据流 名称 %1 值 %2",LF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",LF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",LF.INT_TO_CHR_HELPURL="",LF.INT_TO_CHR_MESSAGE0="整数 %1 转 ASCII 单字符",LF.INT_TO_CHR_TOOLTIP="",LF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",LF.MPYTHON_ONENET="OneNET 设置",LF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",LF.MPYTHON_ONENET_OPTION_BOARDS="可选掌控板",LF.MPYTHON_ONENET_TITLE="OneNET",LF.MPYTHON_SERVER="服务器",LF.MPYTHON_DEVICE_ID="设备ID",LF.MPYTHON_PRODUCT_ID="产品ID",LF.MPYTHON_API_KEY="产品APIKey",LF.MPYTHON_ONENET_CALLBACK="回调函数",LF.MPYTHON_TOPIC="主题",LF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回调函数",LF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",LF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 选择掌控板应用 %1",LF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",LF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",LF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超声波距离 测量单位 %2",LF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",LF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",LF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超声波(mm)",LF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",LF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",LF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超声波初始化 名称 %1 trigger %2 echo %3",LF.MPYTHON_HCSR04_OBJ_TOOLTIP="",LF.MPYTHON_PM2_5_MIC_HELPURL="",LF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值浓度%2",LF.MPYTHON_PM2_5_MIC_TOOLTIP="",LF.MPYTHON_PM2_5_LitresAir_HELPURL="",LF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1升空气中直径在%2 颗粒物个数",LF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",LF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="当 红外接收端 %1 收到消息时 %2 执行 %3",LF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="红外回调地址",LF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="红外接收内容",LF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="红外接收 %1 回调地址 %2 回调命令 %3",LF.MPYTHON_IR_REMOTE_RECV_HELPURL="",LF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",LF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="红外发送 %1 地址 %2 命令 %3",LF.MPYTHON_IR_REMOTE_SEND_HELPURL="",LF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",LF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",LF.TEXT_FORMAT_TOOLTIP="",LF.TEXT_FORMAT_HELPURL="",LF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",LF.TEXT_FORMAT2_TOOLTIP="",LF.TEXT_FORMAT2_HELPURL="",LF.TEXT_TO_BYTE_MESSAGE0="转字节 %1",LF.TEXT_TO_BYTE_TOOLTIP="支持数据类型:string",LF.TEXT_TO_BYTE_HELPURL="",LF.MPYTHON_BYTES_DECODE_HELPURL="",LF.MPYTHON_BYTES_DECODE_MESSAGE0="字节 %1 转 字符串",LF.MPYTHON_BYTES_DECODE_TOOLTIP="",LF.OTHER_TO_BYTE_MESSAGE0="非文本转字节 %1",LF.OTHER_TO_BYTE_TOOLTIP="",LF.OTHER_TO_BYTE_HELPURL="",LF.MPYTHON_ONENET_TOOLTIP="创建OneNET连接",LF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物联网 确保连接到 Wi-Fi 名称 %1 密码 %2",LF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",LF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",LF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",LF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="当从小程序收到 %1 和 %2 时",LF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",LF.MPYTHON_MAC_ADDRESS_HELPURL="",LF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",LF.MPYTHON_MAC_ADDRESS_TOOLTIP="",LF.MPYTHON_RADIO_REC_HELPURL="",LF.MPYTHON_RADIO_REC_MESSAGE0="无线广播 接收消息",LF.MPYTHON_RADIO_REC_TOOLTIP="所接收为字节型",LF.MPYTHON_RADIO_SEND_HELPURL="",LF.MPYTHON_RADIO_SEND_MESSAGE0="无线广播 发送 %1",LF.MPYTHON_RADIO_SEND_TOOLTIP="频道: 1~13",LF.MPYTHON_RADIO_CHANNEL_HELPURL="",LF.MPYTHON_RADIO_CHANNEL_MESSAGE0="设无线广播 频道为 %1",LF.MPYTHON_RADIO_CHANNEL_TOOLTIP="频道: 1~13",LF.MPYTHON_RADIO_ON_OFF_HELPURL="",LF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 无线广播",LF.MPYTHON_RADIO_ON_OFF_TOOLTIP="频道: 1~13",LF.MPYTHON_RADIO_MSG_MESSAGE0="收到的无线广播消息",LF.MPYTHON_RADIO_MSG_TOOLTIP="",LF.MPYTHON_RADIO_MSG_HELPURL="",LF.MPYTHON3_RADIO_RECV_MESSAGE0="当 收到无线广播消息 时 %1 执行 %2",LF.MPYTHON_RADIO_RECV_MESSAGE0="当 收到无线广播消息 %1 时",LF.MPYTHON_RADIO_RECV_TOOLTIP="频道: 1~13",LF.MPYTHON_RADIO_RECV_HELPURL="",LF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="当 收到特定无线广播消息 %1 时 %2 执行 %3",LF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="频道: 1~13",LF.MPYTHON_RADIO_RECV_MSG_HELPURL="",LF.MPYTHON_UDP_INIT_HELPURL="",LF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 连接",LF.MPYTHON_UDP_INIT_TOOLTIP="UDP连接基于Wi-Fi",LF.MPYTHON_UDP_SEND_HELPURL="",LF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群发消息 %1",LF.MPYTHON_UDP_SEND_TOOLTIP="",LF.MPYTHON_UDP_SENDTO_HELPURL="",LF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 发送消息 %1 到 %2 端口 %3",LF.MPYTHON_UDP_SENDTO_TOOLTIP="",LF.MPYTHON_UDP_RECV_HELPURL="",LF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",LF.MPYTHON_UDP_RECV_TOOLTIP="",LF.MPYTHON_UDP_RECV_EVENT_HELPURL="",LF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="当从 UDP 收到消息时 %1 执行 %2",LF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",LF.MPYTHON_UDP_RECV_MSG_MESSAGE0="从 UDP 收到的消息",LF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",LF.MPYTHON_UDP_RECV_MSG_HELPURL="",LF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鸟叫",LF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="钢琴黑暗旋律配乐",LF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="猫叫",LF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",LF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="浑厚的打击音",LF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="紧张效果的音效",LF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快门声",LF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="数百只苍蝇",LF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫声",LF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="摇晃低音声线",LF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="听众欢呼掌声",LF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="邮轮汽笛",LF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="现代电话铃声",LF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔萝卜",LF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="两只老虎",LF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",LF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="设音频音量 %1",LF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",LF.MPYTHON_DISPCHAR_MODE_1="普通",LF.MPYTHON_DISPCHAR_MODE_2="反转",LF.MPYTHON_DISPCHAR_MODE_3="透明",LF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",LF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 语音播放 %1",LF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 讯飞开放平台 www.xfyun.cn 上开通“在线语音合成”服务",LF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",LF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 语音配置 APPID %1 APIKey %2",LF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="输入在 讯飞开放平台 www.xfyun.cn 获取的 APPID 与 APIKey\n注意:要设置IP白名单",LF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",LF.MPYTHON_AUDIO_PLAY_MESSAGE0="音频 播放 %1",LF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",LF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",LF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音频 播放 %1",LF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左声道\nP9 右声道\nGND 接地\n播放参数: \n网络 MP3 的 url 或已上传至掌控板的 MP3, 如'music_1.mp3' ",LF.MPYTHON_AUDIO_DEINIT_HELPURL="",LF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音频 释放缓存",LF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",LF.MPYTHON_AUDIO_INIT_HELPURL="",LF.MPYTHON_AUDIO_INIT_MESSAGE0="音频 初始化",LF.MPYTHON_AUDIO_INIT_TOOLTIP="为音频解码开辟缓存",LF.MPYTHON_AUDIO_CMD_HELPURL="",LF.MPYTHON_AUDIO_CMD_MESSAGE0="音频 %1",LF.MPYTHON_AUDIO_CMD_TOOLTIP="",LF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",LF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="开始录音 录音时长%1秒",LF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。录音时长不能超过5秒",LF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",LF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="录音结果",LF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",LF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",LF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="将 %1 进行识别",LF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",LF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",LF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="识别录音结果",LF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",LF.MPYTHON_RECORD_INIT_HELPURL="",LF.MPYTHON_RECORD_INIT_MESSAGE0="录音 初始化",LF.MPYTHON_RECORD_INIT_TOOLTIP="录音初始化。\n需要掌控板v1.1以上硬件版本。",LF.MPYTHON_RECORD_DEINIT_HELPURL="",LF.MPYTHON_RECORD_DEINIT_MESSAGE0="录音 释放资源",LF.MPYTHON_RECORD_DEINIT_TOOLTIP="录音结束后释放资源。\n需要掌控板v1.1以上硬件版本。",LF.MPYTHON_RECORD_WAV_HELPURL="",LF.MPYTHON_RECORD_WAV_MESSAGE0="录制音频 存储路径 %1 时长 %2 秒",LF.MPYTHON_RECORD_WAV_TOOLTIP="录制音频,并以 WAV 格式存储。\n需要掌控板v1.1以上硬件版本。",LF.MPYTHON_ASR_HELPURL="",LF.MPYTHON_ASR_MESSAGE0="识别 %1 秒语音指令",LF.MPYTHON_ASR_TOOLTIP="可以识别3秒内的语音指令。\n需要掌控板v1.1以上硬件版本。",LF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.mpython_button_A="P5(按键A)",LF.mpython_button_B="P11(按键B)",LF.mpython_PIN7_RGB="P7(板载RGB)",LF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",LF.MPYTHON_PWM_PIN_P9="P9 (掌控实验箱)",LF.mpython_tem="温度",LF.mpython_hum="湿度",LF.mpython_pre="气压",LF.mpython_left_right="左右",LF.MPYTHON_LEFT="左",LF.MPYTHON_RIGHT="右",LF.mpython_front_back="前后",LF.mpython_vertical="垂直",LF.mpython_horizontal="水平",LF.mpython_run_in_back="后台运行",LF.mpython_run_in_front="前台运行",LF.mpython_draw="绘制",LF.mpython_clear="清除",LF.mpython_s="秒",LF.mpython_ms="毫秒",LF.mpython_us="微秒",LF.mpython_year="年",LF.mpython_month="月",LF.mpython_date="日",LF.mpython_hour="时",LF.mpython_minute="分",LF.mpython_week="星期数",LF.mpython_days="天数",LF.MPYTHON_ORDER="第",LF.MPYTHON_REVERSE_ORDER="倒数第",LF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定递增基数集合中的一个随机数,基数缺省值为1",LF.MATH_RANDOM_RANDRANGE_MESSAGE0="随机数 从递增区间 [%1 ,%2) 递增步长%3",LF.MATH_KEEP_DECIMAL_HELPURL="",LF.MATH_KEEP_DECIMAL_TOOLTIP="",LF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小数",LF.MPYTHON_MIN="最小值",LF.MPYTHON_MAX="最大值",LF.MPYTHON_LENTH="长度",LF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.TUPLE_MIN_MAX_LEN_TOOLTIP="",LF.TUPLE_MIN_MAX_LEN_MESSAGE0="元组 %1 %2",LF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.TUPLE_ITEM_EXIST_TOOLTIP="",LF.TUPLE_ITEM_EXIST_MESSAGE0="元组%1 包含%2",LF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.LIST_ITEM_EXIST_TOOLTIP="",LF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",LF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.PARTS_OF_TUPLE_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.PARTS_OF_TUPLE_MESSAGE0="返回元组%1 取第%2 项到尾项",LF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.PARTS_OF_TUPLE2_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",LF.PARTS_OF_TUPLE2_MESSAGE0="返回元组%1 取%2 %3 项到 %4 %5 项",LF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.PARTS_OF_LIST_TOOLTIP="递增顺序取项\n举例:\n 倒数第5到倒数第2;\n 第0到第5",LF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 项到 %4 %5 项",LF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.LIST_TO_TUPLE_TOOLTIP="",LF.LIST_TO_TUPLE_MESSAGE0="列表%1 转元组",LF.tuple_create_with_MESSAGE0="定义元组 %1 = %2 ",LF.tuple_create_with_TOOLTIP="只包含一个元素时,需要在元素后面添加逗号",LF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.tuple_order_item_MESSAGE0="元组%1 %2 %3 项",LF.tuple_order_item_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 项",LF.LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.SET_LIST_ORDER_ITEM_MESSAGE0="设列表%1 %2 %3 项为%4",LF.SET_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 项为%4",LF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.SET_TUPLE_ORDER_ITEM_MESSAGE0="设元组%1 %2 %3 项为%4",LF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.DICT_CREATE_WITH_TOOLTIP="",LF.DICT_CREATE_WITH_MESSAGE0="定义字典 %1 = %2",LF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.SET_CREATE_WITH_TOOLTIP="",LF.SET_CREATE_WITH_MESSAGE0="定义集合 %1 = %2",LF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.SET_UPDATE_WITH_TOOLTIP="添加参数可为字符串、列表、元组、集合、字典(只添加key),已有元素则不进行操作",LF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",LF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.INTERSECTION_OF_SETS_TOOLTIP="",LF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",LF.MPYTHON_INTERSECTION="交集",LF.MPYTHON_UNION="并集",LF.MPYTHON_DIFFERENCE="差集",LF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.SETS_UPDATE_WAYS_TOOLTIP="",LF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新为 与集合 %2 的 %3",LF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.SUBSET_SUPERSET_TOOLTIP="",LF.SUBSET_SUPERSET_MESSAGE0="集合 %1 为集合 %2 的 %3",LF.MPYTHON_SUBSET="子集",LF.MPYTHON_SUPERSET="超集",LF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.LEN_OF_SETS_TOOLTIP="",LF.LEN_OF_SETS_MESSAGE0="集合 %1 长度",LF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.GET_SETS_POP_TOOLTIP="",LF.GET_SETS_POP_MESSAGE0="返回随机项并移除之 从集合 %1",LF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.CREATE_EMPTY_SET_TOOLTIP="",LF.CREATE_EMPTY_SET_MESSAGE0="创建空集合 %1",LF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.BIT_INVERSION_TOOLTIP="对数据的每个二进制位取反",LF.BIT_INVERSION_MESSAGE0="二进制取反 %1",LF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="项可为字符串、已创建变量变量、元组",LF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序计数从0开始,倒序计数从1开始",LF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.DICT_KEY_VALUE_TOOLTIP="",LF.DICT_KEY_VALUE_MESSAGE0="字典%1 键%2 的值",LF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.ADD_DICT_KEY_VALUE_TOOLTIP="已有该键则更新该键",LF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加键%2 值%3",LF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.DICT_LENGTH_TOOLTIP="",LF.DICT_LENGTH_MESSAGE0="字典%1 长度",LF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.DICT_KEY_EXIST_TOOLTIP="",LF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含键%2",LF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",LF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",LF.DICT_KEYS="键",LF.DICT_VALUES="值",LF.mpython_lists_append_MESSAGE0="列表%1 末尾添加项%2",LF.mpython_lists_append_TOOLTIP="",LF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",LF.mpython_lists_extend_TOOLTIP="",LF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.mpython_lists_clear_MESSAGE0="列表%1 清空",LF.mpython_lists_clear_TOOLTIP="",LF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重复",LF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",LF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.mpython_Timer_value_MESSAGE0="定时器 %1 的计数值",LF.mpython_Timer_value_TOOLTIP="获取并返回计时器当前计数值",LF.mpython_Timer_deinit_MESSAGE0="清除 定时器/事件 %1",LF.mpython_Timer_deinit_TOOLTIP="取消定时器的初始化。停止计时器,并禁用计时器外围设备",LF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",LF.mpython_Interrupt_AB_TOOLTIP="",LF.mpython_Interrupt_AB_MESSAGE0="当按键 %1 被 %2 时",LF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",LF.mpython_Interrupt_pin_TOOLTIP="上升沿触发:由低电平到高电平;下降沿触发:由高电平到低电平",LF.mpython_Interrupt_pin_MESSAGE0="当引脚 %1 电平 %2 时",LF.mpython_Interrupt_pin_IRQ_FALLING="↘ 从高到低",LF.mpython_Interrupt_pin_IRQ_RISING="↗ 从低到高",LF.mpython_IRQ_FALLING="按下",LF.mpython_IRQ_RISING="松开",LF.mpython_PERIODIC="重复执行",LF.mpython_ONE_SHOT="延时执行",LF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",LF.MPYTHON_IS_SHAKED_HELPURL="",LF.MPYTHON_IS_SHAKED_TOOLTIP="",LF.MPYTHON_IS_SHAKED="被摇晃",LF.MPYTHON_IS_THROWN="被抛起",LF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="当掌控板 %1 时",LF.MPYTHON_SHAKE_DETECTOR_HELPURL="",LF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",LF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",LF.MPYTHON_IS_TILTED_HELPURL="",LF.MPYTHON_IS_TILTED_TOOLTIP="",LF.MPYTHON_TILT_DETECTOR_MESSAGE0="当掌控板 %1 时",LF.MPYTHON_TILT_DETECTOR_HELPURL="",LF.MPYTHON_TILT_DETECTOR_TOOLTIP="",LF.MPYTHON_DIRECTION_FORWARD="向前倾斜",LF.MPYTHON_DIRECTION_BACK="向后倾斜",LF.MPYTHON_DIRECTION_RIGHT="向右倾斜",LF.MPYTHON_DIRECTION_LEFT="向左倾斜",LF.MPYTHON_DIRECTION_NONE="平放",LF.MPYTHON_TOUCH_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",LF.MPYTHON_TOUCH_EVENT_HELPURL="",LF.MPYTHON_TOUCH_EVENT_TOOLTIP="",LF.MPYTHON_TOUCH_EVENT_PRESSED="触摸",LF.MPYTHON_TOUCH_EVENT_UNPRESSED="释放",LF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 当 %2 时",LF.MPYTHON_CUSTOM_EVENT_HELPURL="",LF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定义事件与定时器共用 1/2/4/7/8/9/10,不可同时占用一个端口。\n最大同时创建4个事件/定时器,如果存在冲突,请尝试换一个编号。",LF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.mpython_music_range_pitch_TOOLTIP="时长为单个频率的时长",LF.mpython_music_range_pitch_MESSAGE0="播放音调 从%1 到%2 步长%3 时长%4 毫秒 引脚 %5",LF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.mpython_neopixel_init_TOOLTIP="",LF.mpython_neopixel_init_MESSAGE0="灯带初始化 名称%1 引脚%2 数量%3",LF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",LF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹灯效 灯带%1 数量 %2 亮度 %3 偏移 %4",LF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",LF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度调节, 范围 0 ~ 100",LF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="灯带 %1 设置亮度为 %2",LF.mpython_neopixel_single_TOOLTIP="",LF.mpython_neopixel_single_MESSAGE0="灯带%1 %2号 红%3 绿%4 蓝%5",LF.mpython_neopixel_single_gui_MESSAGE0="灯带 %1 %2号 颜色为 %3",LF.mpython_neopixel_single_gui_TOOLTIP="",LF.mpython_neopixel_show_TOOLTIP="",LF.mpython_neopixel_show_MESSAGE0="灯带%1 设置生效",LF.mpython_neopixel_off_TOOLTIP="",LF.mpython_neopixel_off_MESSAGE0="灯带%1 关闭",LF.mpython_neopixel_all_TOOLTIP="",LF.mpython_neopixel_all_MESSAGE0="灯带%1 全亮 红%2 绿%3 蓝%4",LF.mpython_neopixel_all_gui_TOOLTIP="",LF.mpython_neopixel_all_gui_MESSAGE0="灯带%1 全亮 颜色%2",LF.mpython_image_to_oled_MESSAGE0="打开图片 %1 宽 %2 高 %3",LF.mpython_image_to_oled_TOOLTIP="",LF.mpython_time_localtime_MESSAGE0="本地时间 %1",LF.mpython_time_localtime_TOOLTIP="星期数:返回0~6,周一为0,周日为6\n天数:获取当前日期是一年中的第几天\n建议先连接wifi并获取网络时间",LF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",LF.mpython_WiFi_config_TOOLTIP="netmask-子网掩码;gateway-网关",LF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",LF.mpython_time_ticks_MESSAGE0="运行时间 %1",LF.mpython_time_ticks_TOOLTIP="",LF.MPYTHON_TIMER_DEF_MESSAGE0="定义定时器 %1",LF.MPYTHON_TIMER_INIT_MESSAGE0="启动定时器 %1 %2 周期 %3 毫秒",LF.mpython_Timer_MESSAGE0="设置定时器 %1 %2 周期 %3 毫秒",LF.mpython_Timer_TOOLTIP="创建定时器n,n=1-14。\n最大同时创建4个定时器,如果存在冲突,请尝试换一个编号。\n3用于内部程序,\n5/6用于伺服系统和ADC,\n11用于摇晃检测,\n12用于触摸键检测,\n13用于Radio和DHT11/DHT22定时取值(共用),\n14用于OneNET和倾斜检测(共用),\n其余端口与自定义事件共用。",LF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",LF.mpython_sway_xyz_MESSAGE0="%1 摇晃掌控板",LF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,触摸键 'python' 靠近使用者,开始左右或前后摇晃掌控板",LF.mpython_init_bluetooth_MESSAGE0="初始化 蓝牙名称%1",LF.mpython_init_bluetooth_TOOLTIP="初始化 蓝牙名称",LF.mpython_OnOff_bluetooth_MESSAGE0="蓝牙设备 %1广播",LF.mpython_OnOff_bluetooth_TOOLTIP="蓝牙设备 开启或关闭广播",LF.mpython_HID_keyboard_bluetooth_MESSAGE0="键盘 按键%1",LF.mpython_HID_keyboard_bluetooth_TOOLTIP="HID键盘设备",LF.mpython_HID_consumer_bluetooth_MESSAGE0="消费类设备%1 状态%2",LF.mpython_HID_consumer_bluetooth_TOOLTIP="模拟HID消费类设备的控制器,如蓝牙遥控器",LF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="键盘 释放按键",LF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="键盘设备",LF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠标%1",LF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠标设备",LF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠标 释放按键",LF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠标设备",LF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="鼠标 指针移动 x%2 y%1",LF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标指针坐标x,y轴的相对位移,范围-1023 ~ 1023",LF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="键盘 按键%1 组合按键%2",LF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",LF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="键盘 组合按键%1",LF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多个按键组合指令,可以用“|”或运算",LF.mpython_HID_keyboard_part_bluetooth_HELPURL="",LF.mpython_init_wifi_MESSAGE0="连接 Wi-Fi 名称 %1 密码 %2",LF.mpython_init_wifi_TOOLTIP="让掌控板接入Wi-Fi环境",LF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 设置静态IP %1 IP 地址 %2 子网掩码 %3 默认网关 %4 DNS %5",LF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",LF.MPYTHON_WIFI_IFCONFIG_HELPURL="",LF.mpython_dis_WiFi_MESSAGE0="断开 Wi-Fi 连接",LF.mpython_dis_WiFi_TOOLTIP="",LF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",LF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密码可以为空,或者8位以上的字母或数字。\nAP模式仅用于掌控板之间的相互通信,不可以作为热点,令其它设备上网。",LF.MPYTHON_ENABLE_APWIFI_MESSAGE0="开启 AP模式 名称 %1 密码 %2 信道 %3",LF.mpython_disable_APWiFi_MESSAGE0="关闭 AP模式",LF.mpython_disable_APWiFi_TOOLTIP="",LF.mpython_ntptime_settime_MESSAGE0="同步网络时间 时区 %1 授时服务器 %2",LF.mpython_ntptime_settime_TOOLTIP="NTP时间同步是一种时间同步网络技术",LF.mpython_wifi_get_date_MESSAGE0="获取当前日期",LF.mpython_wifi_get_date_TOOLTIP="获取当前日期字符串 示例:2020年12月12日",LF.mpython_wifi_get_time_MESSAGE0="获取当前时间",LF.mpython_wifi_get_time_TOOLTIP="获取当前时间字符串",LF.mpython_ntptime_timezone_E1="东1区",LF.mpython_ntptime_timezone_E2="东2区",LF.mpython_ntptime_timezone_E3="东3区",LF.mpython_ntptime_timezone_E4="东4区",LF.mpython_ntptime_timezone_E5="东5区",LF.mpython_ntptime_timezone_E6="东6区",LF.mpython_ntptime_timezone_E7="东7区",LF.mpython_ntptime_timezone_E8="东8区",LF.mpython_ntptime_timezone_E9="东9区",LF.mpython_ntptime_timezone_E10="东10区",LF.mpython_ntptime_timezone_E11="东11区",LF.mpython_ntptime_timezone_E12="东12区",LF.mpython_ntptime_timezone_0="中时区",LF.mpython_ntptime_timezone_W1="西1区",LF.mpython_ntptime_timezone_W2="西2区",LF.mpython_ntptime_timezone_W3="西3区",LF.mpython_ntptime_timezone_W4="西4区",LF.mpython_ntptime_timezone_W5="西5区",LF.mpython_ntptime_timezone_W6="西6区",LF.mpython_ntptime_timezone_W7="西7区",LF.mpython_ntptime_timezone_W8="西8区",LF.mpython_ntptime_timezone_W9="西9区",LF.mpython_ntptime_timezone_W10="西10区",LF.mpython_ntptime_timezone_W11="西11区",LF.mpython_ntptime_timezone_W12="西12区",LF.FILE_TO_LIST_HELPURL="",LF.FILE_TO_LIST_TOOLTIP="读出指定路径的文本文件内容(仅限utf-8格式),并转为列表形式,以分隔符分隔。",LF.FILE_TO_LIST_MESSAGE0="读取文本文件 %1 为列表 ,以 %2 分隔",LF.FILE_TO_BIN_HELPURL="",LF.FILE_TO_BIN_TOOLTIP="以二进制格式读出指定路径的文件内容。";LF.FILE_TO_BIN_MESSAGE0="读取文件 %1 的二进制内容",LF.MPYTHON_INIT_FILE_HELPURL="",LF.MPYTHON_INIT_FILE_TOOLTIP="初始化一个文本文件,如果文件不存在则创建文件,如果文件存在则清空内容。",LF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",LF.MPYTHON_WRITE_FILE_HELPURL="",LF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路径的文本文件写入内容,如果文件不存在则创建文件。",LF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 写入内容 %2 ,以 %3 分隔",LF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",LF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n须确保 SPI 总线的引脚与 micro SD 卡物理连接正确,并预先使用 FAT 或 FAT32 文件系统格式化 micro SD 卡。",LF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",LF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",LF.MPYTHON_SDCARD_MOUNT_TOOLTIP="挂载 SD 卡到指定路径。",LF.MPYTHON_SDCARD_MOUNT_MESSAGE0="挂载 SD 卡到路径 %1",LF.MPYTHON_ENTER="回车",LF.MPYTHON_COMMA="逗号",LF.MPYTHON_SEMICOLON="分号",LF.MPYTHON_SPACE="空格",LF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模拟时钟 x %1 y %2 半径 %3",LF.mpython_wifi_clock_TOOLTIP="需连接 Wi-Fi 使用",LF.mpython_def_clock_MESSAGE0="初始化时钟%1 x %2 y %3 半径 %4",LF.mpython_def_clock_TOOLTIP="",LF.mpython_settime_clock_MESSAGE0="时钟%1 读取时间",LF.mpython_settime_clock_TOOLTIP="",LF.mpython_draw_clear_clock_MESSAGE0="%1 时钟 %2",LF.mpython_draw_clear_clock_TOOLTIP="",LF.mpython_tinywebio_start_MESSAGE0="启动 TinyWebIO 服务 %1",LF.mpython_tinywebio_start_TOOLTIP="启动该服务需连接Wi-Fi,TinyWebIO服务为App Inventor应用提供远程控制接口的掌控板工具包",LF.mpython_tinywebio_client_setup_HELPURL="",LF.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引脚",LF.mpython_tinywebio_client_setup_MESSAGE0="设置 TinyWebIO 客户端参数 %1 TinyWebDB服务器地址 %2 向服务器发布的数据项 %3 从服务器读取的数据项 %4 存取服务器的时间间隔(ms) %5",LF.mpython_tinywebio_client_action_HELPURL="",LF.mpython_tinywebio_client_action_TOOLTIP="",LF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客户端",LF.mpython_tinywebio_client_action_start="启动",LF.mpython_tinywebio_client_action_stop="停止",LF.MPYTHON_CUSTOM_CODE_HELPURL="",LF.MPYTHON_CUSTOM_CODE_TOOLTIP="",LF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定义代码 %2 %3",LF.MPYTHON_CUSTOM_TYPE_IMPORT="置顶",LF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",LF.mpython_servo_angle0_MESSAGE0="设置舵机 %1 角度为 %2",LF.mpython_servo_angle_MESSAGE0="设置舵机 %1 角度为 %2 脉宽从 %3 到 %4 最大角度 %5",LF.mpython_servo_angle_TOOLTIP="电源线Vcc(红色)连接拓展板电源口V,地线GND(棕色)连接拓展板地线口G,控制信号线(橙色)连接所选的拓展板引脚",LF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",LF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",LF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 连接拓展板的电源口 V ,- 连接拓展板的地线口 G ,out 连接拓展板的引脚 0(即选引脚)",LF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",LF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",LF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",LF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",LF.mpython_music_note_TOOLTIP="音符,如C4:4",LF.mpython_return_list_MESSAGE0="定义列表 %1 = %2",LF.mpython_return_list_TOOLTIP="",LF.mpython_display_Show_MESSAGE0="OLED 显示生效",LF.mpython_display_Show_TOOLTIP="",LF.mpython_display_DispChar_MESSAGE0="显示文本 x %1 y %2 内容 %3 模式 %4 %5",LF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",LF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",LF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行显示 %2 模式 %3 %4",LF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",LF.mpython_line1="1",LF.mpython_line2="2",LF.mpython_line3="3",LF.mpython_line4="4",LF.mpython_line5="5",LF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",LF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",LF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="",LF.mpython_display_fill_0="清空",LF.mpython_display_fill_1="全亮",LF.mpython_display_invert_0="黑底",LF.mpython_display_invert_1="白底",LF.mpython_display_show="生效",LF.mpython_display_fill_MESSAGE0="OLED 显示 %1",LF.mpython_display_fill_TOOLTIP="",LF.mpython_display_pixel_0="暗",LF.mpython_display_pixel_1="亮",LF.mpython_display_pixel_MESSAGE0="描点 x %1 y %2 为 %3",LF.mpython_display_pixel_TOOLTIP="",LF.mpython_display_hline_0="擦除",LF.mpython_display_hline_1="绘制",LF.mpython_display_hline_MESSAGE0="%1 水平线%2 x%3 y%4 长度%5",LF.mpython_display_hline_TOOLTIP="",LF.mpython_ProgressBar_MESSAGE0="进度条%1 x%2 y%3 宽%4 高%5 进度%6",LF.mpython_ProgressBar_TOOLTIP="",LF.mpython_stripBar_MESSAGE0="柱状条%1 x%2 y%3 宽%4 高%5 进度%6",LF.mpython_stripBar_TOOLTIP="",LF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",LF.MPYTHON_QR_CODE_TOOLTIP="",LF.MPYTHON_QR_CODE_MESSAGE0="在坐标 x %1 y %2 绘制二维码 %3 尺寸 %4",LF.MPYTHON_DISPLAY_MODE_0="擦除",LF.MPYTHON_DISPLAY_MODE_1="绘制",LF.MPYTHON_DISPLAY_HOLLOW="空心",LF.MPYTHON_DISPLAY_SOLID="实心",LF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 线 %3 x %4 y %5 长度 %6",LF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",LF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 宽 %6 高 %7",LF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",LF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圆 %3 x %4 y %5 半径 %6",LF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",LF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",LF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",LF.MPYTHON_RGB_0="0 #",LF.MPYTHON_RGB_1="1 #",LF.MPYTHON_RGB_2="2 #",LF.MPYTHON_RGB_ALL="所有",LF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="设置 %1 RGB 灯颜色为 %2",LF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能较好显示色差",LF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="设置 %1 RGB 灯颜色为 R %2 G %3 B %4",LF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能较好显示色差",LF.MPYTHON_OFF_RGB_LIST_MESSAGE0="关闭 %1 RGB 灯",LF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",LF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音乐 %1 引脚 %2",LF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放内置的音乐",LF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音乐 %1 直到完成 , 引脚 %2",LF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放内置的音乐",LF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖国",LF.MPYTHON_MUSIC_DONG_FANG_HONG="东方红",LF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩云追月",LF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走进新时代",LF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",LF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小调",LF.mpython_display_vline_MESSAGE0="%1 垂直线%2 x%3 y%4 长度%5",LF.mpython_display_vline_TOOLTIP="",LF.mpython_display_line_MESSAGE0="%1 线%2 x1 %3 y1 %4 到 x2 %5 y2 %6",LF.mpython_display_line_TOOLTIP="",LF.mpython_display_rect_MESSAGE0="%1 边框%2 x %3 y %4 宽 %5 高 %6",LF.mpython_display_rect_TOOLTIP="",LF.mpython_display_RoundRect_MESSAGE0="%1 弧角边框%2 x %3 y %4 宽 %5 高 %6 半径%7",LF.mpython_display_RoundRect_TOOLTIP="",LF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 宽 %5 高 %6 ",LF.mpython_display_fill_rect_TOOLTIP="",LF.mpython_display_fill_circle_MESSAGE0="%1 实心圆%2 x %3 y %4 半径 %5",LF.mpython_display_fill_circle_TOOLTIP="",LF.mpython_display_circle_MESSAGE0="%1 空心圆%2 x %3 y %4 半径 %5",LF.mpython_display_circle_TOOLTIP="",LF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",LF.mpython_display_triangle_TOOLTIP="",LF.mpython_display_fill_triangle_MESSAGE0="%1 实心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",LF.mpython_display_fill_triangle_TOOLTIP="",LF.mpython_display_Bitmap_MESSAGE0="%1 图像 x%2 y%3 宽%4 高%5 16进制图像数据 %6",LF.mpython_display_Bitmap_TOOLTIP="将16进制图像数据显示在OLED屏的指定位置",LF.MPYTHON_GET_PBM_DATA_MESSAGE0="获取内置图像 %1 模式%2",LF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp 格式的单色图像文件,获取指定路径的图像文件数据,返回一个元组对象。",LF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",LF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="获取自定义图像 %1 模式%2",LF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐标 x %1 y %2 显示图像 %3",LF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的单色图像文件",LF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",LF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐标 x %1 y %2 显示图像 %5 宽 %3 高 %4",LF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",LF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",LF.mpython_horizontal="水平",LF.mpython_vertical="垂直",LF.mpython_display_FrameBuffer_MESSAGE0="构建帧 列表 %1 长 %2 宽 %3 扫描模式 %4",LF.mpython_display_FrameBuffer_TOOLTIP="用图像取模后数据的列表 ,创建128x64的帧缓存区,以储存图片帧",LF.MPYTHON_FONT_DIGIFACE_11="仿数码管 11像素",LF.MPYTHON_FONT_DIGIFACE_16="仿数码管 16像素",LF.MPYTHON_FONT_DIGIFACE_21="仿数码管 21像素",LF.MPYTHON_FONT_DIGIFACE_30="仿数码管 30像素",LF.MPYTHON_FONT_DIGIFACE_44="仿数码管 44像素",LF.MPYTHON_FONT_DIGIFACE_IT_30="仿数码管 斜体 30像素",LF.MPYTHON_FONT_DIGIFACE_IT_42="仿数码管 斜体 42像素",LF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",LF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",LF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",LF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑体 12像素",LF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑体 16像素",LF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑体 21像素",LF.MPYTHON_FONT_WRAP="自动换行",LF.MPYTHON_FONT_NO_WRAP="不换行",LF.MPYTHON_FACE_1="心形",LF.MPYTHON_FACE_2="心形(小)",LF.MPYTHON_FACE_3="高兴",LF.MPYTHON_FACE_4="笑脸",LF.MPYTHON_FACE_5="伤心",LF.MPYTHON_FACE_6="困惑",LF.MPYTHON_FACE_7="生气",LF.MPYTHON_FACE_8="睡着",LF.MPYTHON_FACE_9="惊讶",LF.MPYTHON_FACE_10="愚蠢",LF.MPYTHON_FACE_11="极妙",LF.MPYTHON_FACE_12="无聊",LF.MPYTHON_FACE_ROCK="石头",LF.MPYTHON_FACE_PAPER="布",LF.MPYTHON_FACE_SCISSORS="剪刀",LF.MPYTHON_FACE_ROCK_S="石头(小)",LF.MPYTHON_FACE_PAPER_S="布(小)",LF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",LF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐标 x %1 y %2 显示 %3 以 %4 字体 %5",LF.MPYTHON_DISPLAY_FONT_TOOLTIP="",LF.MPYTHON_DISPLAY_FONT_HELPURL="",LF.mpython_front="正向",LF.mpython_reverse="反转",LF.mpython_display_blit_MESSAGE0="显示帧 坐标x %1 y %2",LF.mpython_display_blit_TOOLTIP="",LF.mpython_front_reverse_MESSAGE0="像素点bit %1",LF.mpython_front_reverse_TOOLTIP="用于显示之前",LF.mpython_images_append_MESSAGE0="动图显示 帧数%1 周期%2 长%3 宽%4",LF.mpython_images_append_TOOLTIP="上传至掌控板的pbm图片需命名为IMAGE.数字,后缀为pbm。如:IMAGE.1.pbm。帧数为7则数字为1至7",LF.mpython_button_is_pressed_MESSAGE0="按键%1 被按下",LF.mpython_button_is_pressed_TOOLTIP="",LF.mpython_button_both_pressed_MESSAGE0="AB按键都按下",LF.mpython_button_both_pressed_TOOLTIP="",LF.mpython_touchPad_value_MESSAGE0="按键%1 被触摸",LF.mpython_touchPad_value_TOOLTIP="",LF.mpython_touchPad_value_num_MESSAGE0="按键%1 触摸值",LF.mpython_touchPad_value_num_TOOLTIP="",LF.mpython_read_digital_MESSAGE0="读取引脚%1 数字值",LF.mpython_read_digital_TOOLTIP="",LF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水温度传感器 引脚 %1",LF.mpython_read_DS18B20_TOOLTIP="",LF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",LF.mpython_set_digital_MESSAGE0="设置引脚 %2 数字值为 %1",LF.mpython_set_digital_TOOLTIP="",LF.mpython_read_analog_MESSAGE0="读取引脚 %1 模拟值",LF.mpython_read_analog_TOOLTIP="",LF.mpython_set_analog_MESSAGE0="设置引脚 %2 模拟值(PWM)为 %1",LF.mpython_set_analog_TOOLTIP="模拟输出是通过IO引脚输出脉宽调制信号,输出指定的电压值,简称PWM。",LF.mpython_set_RGB_MESSAGE0="设置 %1 号 RGB 灯颜色为 R %2 G %3 B %4",LF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能较好显示色差",LF.mpython_set_RGB_color_MESSAGE0="设置 %1 号 RGB 灯颜色为 %2",LF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能较好显示色差",LF.mpython_set_RGB_all_MESSAGE0="设置所有 RGB 灯颜色为 R %1 G %2 B %3",LF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",LF.mpython_set_RGB_color_all_MESSAGE0="设置所有 RGB 灯颜色为 %1",LF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能较好显示色差",LF.mpython_fresh_RGB_MESSAGE0="RGB 灯设置生效",LF.mpython_fresh_RGB_TOOLTIP="",LF.mpython_off_RGB_MESSAGE0="关闭 RGB 灯",LF.mpython_off_RGB_TOOLTIP="",LF.mpython_buzz_state_MESSAGE0="停止播放音乐",LF.mpython_buzz_state_TOOLTIP="",LF.mpython_buzz_freq_MESSAGE0="播放连续音调 %1 引脚 %2",LF.mpython_buzz_freq_TOOLTIP="",LF.mpython_buzz_tone_MESSAGE0="播放音调 %1",LF.mpython_buzz_tone_TOOLTIP="",LF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",LF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默认是掌控板的P6引脚",LF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",LF.MPYTHON_MUSIC_TONE_HELPURL="",LF.MPYTHON_MUSIC_TONE_TOOLTIP="",LF.MPYTHON_MUSIC_TONE_MESSAGE0="音调 %1",LF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",LF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",LF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 节拍 %2",LF.MPYTHON_MUSIC_TICK_HELPURL="",LF.MPYTHON_MUSIC_TICK_TOOLTIP="",LF.MPYTHON_MUSIC_TICK_MESSAGE0="节拍 %1",LF.MPYTHON_4_LINES_HELPURL="",LF.MPYTHON_4_LINES_TOOLTIP="",LF.MPYTHON_4_LINES_MESSAGE0="%1",LF.NUMBER_1="1",LF.NUMBER_1_2="1/2",LF.NUMBER_1_4="1/4",LF.NUMBER_2="2",LF.NUMBER_4="4",LF.mpython_read_sound_MESSAGE0="声音值",LF.mpython_read_sound_TOOLTIP="",LF.mpython_read_light_MESSAGE0="光线值",LF.mpython_read_light_TOOLTIP="",LF.mpython_accelerometer_get_MESSAGE0="%1 轴加速度",LF.mpython_accelerometer_get_TOOLTIP="",LF.mpython_accelerometer_get_z_MESSAGE0="z轴加速度",LF.mpython_accelerometer_get_z_TOOLTIP="",LF.mpython_accelerometer_get_y_MESSAGE0="y轴加速度",LF.mpython_accelerometer_get_y_TOOLTIP="",LF.mpython_accelerometer_get_x_MESSAGE0="x轴加速度",LF.mpython_accelerometer_get_x_TOOLTIP="",LF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",LF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",LF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",LF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",LF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",LF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",LF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",LF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="设置加速度范围,默认为 ±2g。",LF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="设置加速度范围为 %1",LF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="设置加速度分辨率,默认为 10bits。",LF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="设置加速度分辨率为 %1",LF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校准加速度计的3个轴(x,y,z)的加速值偏差。\n一般情况下无需校准,只有遇到加速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1g。\n注意:校准数据断电后不会保存。",LF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校准加速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4",LF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="仅适用于掌控板2.0及以上版本",LF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 轴 磁力",LF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="仅适用于掌控板2.0及以上版本",LF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南针方向",LF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="仅适用于掌控板2.0及以上版本",LF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校准指南针",LF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="仅适用于掌控板2.0及以上版本",LF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除当前环境磁场",LF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="仅适用于掌控板2.0及以上版本",LF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁场强度",LF.MPYTHON_TILT_ANGLE_HELPURL="",LF.MPYTHON_TILT_ANGLE_TOOLTIP="",LF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 轴倾斜角",LF.mpython_random_choice_MESSAGE0="返回随机项%1",LF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的随机项",LF.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",LF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 电平持续时间(微秒)",LF.MACHINE_TIME_PULSE_US_TOOLTIP="",LF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",LF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",LF.MPYTHON_I2C_INIT_TOOLTIP="",LF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",LF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",LF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",LF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",LF.MPYTHON_I2C_SCAN_MESSAGE0="%1 扫描地址",LF.MPYTHON_I2C_SCAN_TOOLTIP="返回一个数组对象",LF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",LF.MPYTHON_I2C_DEINIT_MESSAGE0="关闭%1总线",LF.MPYTHON_I2C_DEINIT_TOOLTIP="",LF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",LF.MPYTHON_I2C_WRITETO_MESSAGE0="从%1 %5 地址%2 写入%3 停止位%4",LF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n写入:Number、String",LF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",LF.MPYTHON_I2C_READFROM_MESSAGE0="从%1 %5 地址%2 读取 字节数%3 停止位%4",LF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",LF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",LF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="从%1 %6 地址%2 读入缓存区%3 字节数%4 停止位%5",LF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",LF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",LF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 写入%3",LF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n写入:Number、String",LF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",LF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="从%1 %5 地址%2 寄存器%4 读取 字节数%3",LF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",LF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",LF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="从%1 %6 地址%2 寄存器%5 读入缓存区%3 字节数%4",LF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:读取数据的 bytes 对象的字符串",LF.mpython_print_MESSAGE0="调试输出 %1",LF.mpython_print_TOOLTIP="通过串口调试,输出字符串",LF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",LF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印数据到图表",LF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印数据到图表",LF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="数据",LF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",LF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="数据内容",LF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",LF.MPYTHON_INIT_CHART_TOOLTIP="",LF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化图表列标题",LF.MPYTHON_INIT_CHART_INPUT_WITH="初始化图表列标题",LF.MPYTHON_INIT_CHART_ITEM_TITLE="标题",LF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",LF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="数据列标题",LF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",LF.MPYTHON_MS="毫秒",LF.MPYTHON_US="微秒",LF.MPYTHON_TIME_DIFFERENCE_HELPURL="",LF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回运行时间差 开始时间 %1 结束时间 %2",LF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",LF.MPYTHON_TYPE_HELPURL="",LF.MPYTHON_TYPE_MESSAGE0="值 %1 的类型",LF.MPYTHON_TYPE_TOOLTIP="",LF.MPYTHON_TYPE_IS_HELPURL="",LF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的类型为 %2",LF.MPYTHON_TYPE_IS_TOOLTIP="",LF.MPYTHON_EVAL_HELPURL="",LF.MPYTHON_EVAL_MESSAGE0="计算表达式 %1 的结果",LF.MPYTHON_EVAL_TOOLTIP="计算字符串表达式,并返回结果",LF.MPYTHON_RETURN_HELPURL="",LF.MPYTHON_RETURN_MESSAGE0="返回 %1",LF.MPYTHON_RETURN_TOOLTIP="",LF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",LF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C数字光线",LF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",LF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",LF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",LF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元组形式返回所有wifi配置信息",LF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",LF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已连接到 WI-FI",LF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",LF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",LF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi连接 语音助手 Wi-Fi 名称 %1 密码 %2",LF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通过串口把WIF传给语音助手",LF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",LF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在文件系统将文件上传到板。",LF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="读取 语音助手 文本文件 %1",LF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",LF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="数码管显示 %1",LF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",LF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",LF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空数码管",LF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",LF.MPYTHON_MACHINE_RESET_HELPURL="",LF.MPYTHON_MACHINE_RESET_MESSAGE0="复位",LF.MPYTHON_MACHINE_RESET_TOOLTIP="与按下外部 RESET按键效果一样",LF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",LF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 颜色 %1",LF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",LF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",LF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 颜色",LF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",LF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",LF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 颜色 %1",LF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",LF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",LF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 颜色",LF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色调(H),饱和度(S),明度(V)",LF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C电压传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁场传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C电导率传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C气压传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",LF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光电门传感器 拨码 %1",LF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址与编码开关的需要对应",LF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",LF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 电机速度 %1",LF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",LF.MPYTHON_M1M2_LED_OFF_HELPURL="",LF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 关灯 %1",LF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",LF.MPYTHON_M1M2_LED_ON_HELPURL="",LF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 设灯 %1 亮度 %2",LF.MPYTHON_M1M2_LED_ON_TOOLTIP="",LF.MPYTHON_MUSIC_PIN_P6="默认",LF.MPYTHON_MUSIC_PIN_P6_HELPURL="",LF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",LF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",LF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",LF.MPYTHON_SLEEP_TOOLTIP="在进行下一个命令前,等待设定的时间。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符号ms(millisecond)\n微秒,符号μs(microsecond)",LF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="运行时间",LF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="获取开机或复位后的运行时间(毫秒)。",LF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",LF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="温度",LF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="获取 micro:bit 的温度(℃)。",LF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",LF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音乐 %1 等待 %2 循环 %3 引脚 %4",LF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放内置的音乐,可以设置等待模式和循环播放。",LF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",LF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音调 %1 %2 延时 %3 毫秒 引脚 %4",LF.MICROBIT_MUSIC_PITCH_TOOLTIP="在设定的时间长度里播放音调。",LF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",LF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循环 %4",LF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符为字符串形式。默认是掌控板的P6引脚",LF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",LF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",LF.MICROBIT_MUSIC_RESET_MESSAGE0="恢复音乐设置",LF.MICROBIT_MUSIC_RESET_TOOLTIP="将所有音乐设置 (当前节拍, 音阶和周期) 恢复成默认值。",LF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",LF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音乐 引脚 %1",LF.MICROBIT_MUSIC_STOP_TOOLTIP="默认是掌控板的P6引脚",LF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="设置每一拍等同 %1 分音符,每分钟节拍数 %2",LF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="设置回放速度 (节拍)。一定数量的滴答代表一拍,每拍每分钟播放次数 (BPM 每分钟节拍)。",LF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",LF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="设置播放速度为 %1 倍",LF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符为1拍,每分钟节拍数默认120,为1倍的播放速度",LF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",LF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="获取当前节拍",LF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="获取当前节拍: 每节拍滴答数, 每分钟节拍 (BPM)。",LF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",LF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引脚 %1 控制, neopixel 彩灯数 %2 ",LF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩灯。需要设定 neopixels 彩灯数量和控制脚。",LF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",LF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩灯 %1",LF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩灯",LF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",LF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="显示 neopixels 彩灯 %1",LF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="显示 / 更新全部 neopixels 彩灯。",LF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",LF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",LF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩灯的红、绿、蓝 (RGB) 颜色",LF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",LF.MICROBIT_PIN_TOUCHED_MESSAGE0="引脚 %1 被触摸",LF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引脚被触摸将返回 “真”。",LF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",LF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触摸",LF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引脚曾经被触摸将返回 “真”。",LF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",LF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引脚 %1 被触摸的次数",LF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被触摸的次数,然后清零。",LF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",LF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="读取引脚 %1 模拟电压",LF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="读取引脚的模拟输入电压。",LF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",LF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="设置模拟量 %1 到引脚 %2",LF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="写入模拟参数到指定引脚上。",LF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",LF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="读取引脚 %1 的数字输入",LF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="读取引脚的数字输入 (真 或 假)。",LF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",LF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="设置数字输出 %1 到引脚 %2",LF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="写入数字量 (真 或 假) 到指定引脚。",LF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",LF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",LF.MICROBIT_RADIO_ON_MESSAGE0="打开无线广播",LF.MICROBIT_RADIO_ON_TOOLTIP="打开无线广播。需要明确声明调用,因为它会消耗更多功率和占用更多内存。",LF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",LF.MICROBIT_RADIO_OFF_MESSAGE0="关闭无线广播",LF.MICROBIT_RADIO_OFF_TOOLTIP="关闭无线广播,节省功耗和内存。",LF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置无线广播消息长度 %1 %2 最大队列数量 %3 %4 信道 %5 %6 广播功率 %7 %8 地址 %9 %10 组 %11 %12 数据速率 %13",LF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置无线广播。\n 长度指单个消息的最大长度; \n 队列指可以存放在消息队列中消息的数量; \n 信道指无线广播使用的无线频率; \n 功率指发射广播信号的强度; \n 地址:32位值; \n 组:8位值(0-255); \n 数据速率指数据传输的速度。",LF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",LF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",LF.MICROBIT_RADIO_RESET_MESSAGE0="复位无线广播",LF.MICROBIT_RADIO_RESET_TOOLTIP="恢复无线广播到默认设置。",LF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="发送消息 %1",LF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="广播文字消息。",LF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",LF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="发送字节 %1",LF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="广播字节。",LF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",LF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",LF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",LF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",LF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字节",LF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字节。",LF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",LF.MICROBIT_SPEECH_SAY_MESSAGE0="说 %1",LF.MICROBIT_SPEECH_SAY_TOOLTIP="尝试说英语",LF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",LF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="读 %1",LF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精确发音。",LF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",LF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",LF.MICROBIT_SPEECH_SING_TOOLTIP="象机器人一样唱歌。",LF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",LF.MICROBIT_GESTURE_SHAKE="摇晃",LF.MICROBIT_GESTURE_UP="上",LF.MICROBIT_GESTURE_DOWN="下",LF.MICROBIT_GESTURE_LEFT="左",LF.MICROBIT_GESTURE_RIGHT="右",LF.MICROBIT_GESTURE_FACE_UP="朝上",LF.MICROBIT_GESTURE_FACE_DOWN="朝下",LF.MICROBIT_GESTURE_FREEFAIL="自由下落",LF.MICROBIT_IMAGE_HEART="心形",LF.MICROBIT_IMAGE_HEART_SMALL="心(小)",LF.MICROBIT_IMAGE_HAPPY="高兴",LF.MICROBIT_IMAGE_SMILE="笑脸",LF.MICROBIT_IMAGE_SAD="伤心",LF.MICROBIT_IMAGE_CONFUSED="困惑",LF.MICROBIT_IMAGE_ANGRY="生气",LF.MICROBIT_IMAGE_ASLEEP="睡着",LF.MICROBIT_IMAGE_SUPRISED="惊讶",LF.MICROBIT_IMAGE_SILLY="愚蠢",LF.MICROBIT_IMAGE_FABULOUS="极妙",LF.MICROBIT_IMAGE_MEH="无聊",LF.MICROBIT_IMAGE_YES="是",LF.MICROBIT_IMAGE_NO="否",LF.MICROBIT_IMAGE_CLOCK12="12点",LF.MICROBIT_IMAGE_CLOCK11="11点",LF.MICROBIT_IMAGE_CLOCK10="10点",LF.MICROBIT_IMAGE_CLOCK9="9点",LF.MICROBIT_IMAGE_CLOCK8="8点",LF.MICROBIT_IMAGE_CLOCK7="7点",LF.MICROBIT_IMAGE_CLOCK6="6点",LF.MICROBIT_IMAGE_CLOCK5="5点",LF.MICROBIT_IMAGE_CLOCK4="4点",LF.MICROBIT_IMAGE_CLOCK3="3点",LF.MICROBIT_IMAGE_CLOCK2="2点",LF.MICROBIT_IMAGE_CLOCK1="1点",LF.MICROBIT_IMAGE_ARROW_N="箭头-北",LF.MICROBIT_IMAGE_ARROW_NE="箭头-东北",LF.MICROBIT_IMAGE_ARROW_E="箭头-东",LF.MICROBIT_IMAGE_ARROW_SE="箭头-东南",LF.MICROBIT_IMAGE_ARROW_S="箭头-南",LF.MICROBIT_IMAGE_ARROW_SW="箭头-西南",LF.MICROBIT_IMAGE_ARROW_W="箭头-西",LF.MICROBIT_IMAGE_ARROW_NW="箭头-西北",LF.MICROBIT_IMAGE_TRIANGLE="三角形",LF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",LF.MICROBIT_IMAGE_CHESSBOARD="棋盘",LF.MICROBIT_IMAGE_DIAMOND="菱形",LF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",LF.MICROBIT_IMAGE_SQUARE="方形",LF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",LF.MICROBIT_IMAGE_RABBIT="兔子",LF.MICROBIT_IMAGE_COW="牛",LF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",LF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",LF.MICROBIT_IMAGE_MUSIC_QUAVERS="颤音",LF.MICROBIT_IMAGE_PITCHFORK="叉子",LF.MICROBIT_IMAGE_XMAS="圣诞树",LF.MICROBIT_IMAGE_PACMAN="吃豆人",LF.MICROBIT_IMAGE_TARGET="目标",LF.MICROBIT_IMAGE_TSHIRT="T恤衫",LF.MICROBIT_IMAGE_ROLLERSKATE="轮滑",LF.MICROBIT_IMAGE_DUCK="鸭子",LF.MICROBIT_IMAGE_HOUSE="房子",LF.MICROBIT_IMAGE_TORTOISE="乌龟",LF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",LF.MICROBIT_IMAGE_STICKFIGURE="线条画",LF.MICROBIT_IMAGE_GHOST="幽灵",LF.MICROBIT_IMAGE_SWORD="宝剑",LF.MICROBIT_IMAGE_GIRAFFE="长颈鹿",LF.MICROBIT_IMAGE_SKULL="头",LF.MICROBIT_IMAGE_UMBRELLA="伞",LF.MICROBIT_IMAGE_SNAKE="蛇",LF.MICROBIT_IMAGE_ALL_CLOCKS="所有时钟",LF.MICROBIT_IMAGE_ALL_ARROWS="所有箭头",LF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",LF.MICROBIT_PIN_SET_SERVO_TOOLTIP="设置舵机角度,范围为 0 ~ 180度",LF.MICROBIT_PIN_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",LF.MICROBIT_PIN_SET_MODE_HELPURL="",LF.MICROBIT_PIN_SET_MODE_TOOLTIP="引脚模式有三种:悬空、上拉、下拉",LF.MICROBIT_PIN_SET_MODE_MESSAGE0="设置引脚 %1 模式为 %2",LF.MICROBIT_PIN_MODE_NO="悬空",LF.MICROBIT_PIN_MODE_UP="上拉",LF.MICROBIT_PIN_MODE_DOWN="下拉",LF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",LF.MICROBIT_UART_INIT_TOOLTIP="",LF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",LF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",LF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",LF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到数据",LF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",LF.MICROBIT_UART_READ_MSG_TOOLTIP="",LF.MICROBIT_UART_READ_MSG_MESSAGE0="读取串口 %1 字节",LF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",LF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",LF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="读取串口 %1 字节存至 %2",LF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",LF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",LF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口发送数据 %1",LF.MICROBIT_ALL_BYTES="全部",LF.MICROBIT_ALINE_BYTES="一行",LF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引脚 %1 被触发",LF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按键按下返回 “真”,否则返回 “假”。",LF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",LF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引脚 %1 曾经被触发",LF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按键曾经按下过返回 “真”,否则返回 “假”。",LF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",LF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引脚 %1 被触发过的次数",LF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按键按下的总次数,然后清除计数。",LF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",LF.LABPLUS_LED_MESSAGE0="设置LED灯 引脚 %2 输出 %1",LF.LABPLUS_LED_TOOLTIP="",LF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",LF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="红外探测 引脚 %1 被触发",LF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",LF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",LF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="热敏传感器 引脚 %1 的值",LF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",LF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",LF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C数字光线传感器的值(lux)",LF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",LF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",LF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位传感器 引脚 %1 的值",LF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",LF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",LF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="烟雾探测器 引脚 %1 被触发",LF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",LF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",LF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",LF.LABPLUS_BUZZER_FOR_TOOLTIP="",LF.LABPLUS_BUZZER_FOR_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0 %2 毫秒",LF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",LF.LABPLUS_BUZZER_ON_TOOLTIP="",LF.LABPLUS_BUZZER_ON_MESSAGE0="以频率 %1 激活蜂鸣器 引脚0",LF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",LF.LABPLUS_BUZZER_OFF_TOOLTIP="",LF.LABPLUS_BUZZER_OFF_MESSAGE0="关闭蜂鸣器 引脚0",LF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C温湿度传感器的 %1 值",LF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",LF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",LF.LABPLUS_TM_HM_SENSOR_TM="温度",LF.LABPLUS_TM_HM_SENSOR_HM="湿度",LF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",LF.LABPLUS_SET_SERVO_TOOLTIP="",LF.LABPLUS_SET_SERVO_MESSAGE0="设置舵机 引脚 %1 角度为 %2",LF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指纹传感器 引脚 %1 验证通过",LF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",LF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",LF.LABPLUS_SET_MOTOR_HELPURL="",LF.LABPLUS_SET_MOTOR_TOOLTIP="",LF.LABPLUS_SET_MOTOR_MESSAGE0="设置电机 %1 方向 %2 速度 %3",LF.LABPLUS_SET_MOTOR_CLOCKWISE="正转",LF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反转",LF.LABPLUS_STOP_MOTOR_HELPURL="",LF.LABPLUS_STOP_MOTOR_TOOLTIP="",LF.LABPLUS_STOP_MOTOR_MESSAGE0="停止电机",LF.LABPLUS_GET_RFID_ID_MESSAGE0="射频卡 引脚 %1 验证通过",LF.LABPLUS_GET_RFID_ID_TOOLTIP="",LF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",LF.LABPLUS_GET_RFID_VALUE_MESSAGE0="电子钱包 引脚 %1 余额",LF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",LF.LABPLUS_GET_RFID_VALUE_HELPURL="",LF.LABPLUS_SET_RFID_VALUE_MESSAGE0="设置电子钱包 引脚 %1 余额 %2 %3",LF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",LF.LABPLUS_SET_RFID_VALUE_HELPURL="",LF.LABPLUS_SET_RFID_ADD="增加",LF.LABPLUS_SET_RFID_MINUS="减少",LF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="声音传感器 引脚 %1 被触发",LF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",LF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",LF.LABPLUS_USB_SWITCH_HELPURL="",LF.LABPLUS_USB_SWITCH_TOOLTIP="",LF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB开关 引脚 %2",LF.LABPLUS_USB_SWITCH_ON="打开",LF.LABPLUS_USB_SWITCH_OFF="关闭",LF.LABPLUS_VOICE_RECORD_HELPURL="",LF.LABPLUS_VOICE_RECORD_TOOLTIP="",LF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 语音录放器 引脚 %2",LF.LABPLUS_VOICE_RECORD_ON="打开",LF.LABPLUS_VOICE_RECORD_OFF="关闭",LF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引脚 %1 控制,RGB 彩灯数 %2 ",LF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩灯。需要设定 neopixels 彩灯数量和控制脚。",LF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",LF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩灯 %1",LF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩灯",LF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",LF.LABPLUS_RGB_SHOW_MESSAGE0="显示 RGB 彩灯 %1",LF.LABPLUS_RGB_SHOW_TOOLTIP="显示 / 更新全部 RGB 彩灯。",LF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",LF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩灯控制 %1 设置位置 %2 红色 %3 绿色 %4 蓝色 %5",LF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩灯的红、绿、蓝 (RGB) 颜色",LF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",LF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="设置扩展端口 IO %1 为 %2",LF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示输出引脚,1表示输入引脚",LF.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",LF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="输入",LF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="输出",LF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",LF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",LF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="读取扩展端口值 IO %1",LF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",LF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",LF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="设置扩展端口 IO %1 值为 %2",LF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",LF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",LF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超声波传感器的值",LF.MICROBIT_SET_MUSIC_PIN_HELPURL="",LF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",LF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="设置默认蜂鸣器引脚为 %1",LF.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",LF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",LF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人体感应 引脚 %1 被触发",LF.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",LF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",LF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="门磁开关 引脚 %1 被触发",LF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",LF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",LF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="声音传感器 引脚 %1 的值",LF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",LF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",LF.LABPLUS_SMOKE_SENSOR_MESSAGE0="烟雾传感器 引脚 %1 的值",LF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",LF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",LF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤湿度传感器 引脚 %1 的值",LF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",LF.LABPLUS_FAN_SWITCH_TOOLTIP="",LF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 风扇 引脚 %2",LF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",LF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",LF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打开录放器 %1 引脚 %2",LF.LABPLUS_VOICE_RECORD_PLAY="播放",LF.LABPLUS_VOICE_RECORD_REC="录音",LF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",LF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",LF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="关闭录放器 引脚 %1",LF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",LF.LABPLUS_MOTOR_ON_TOOLTIP="",LF.LABPLUS_MOTOR_ON_MESSAGE0="打开直流电机 %1 速度 %2 引脚 %3",LF.LABPLUS_MOTOR_ON_CLOCKWISE="正转",LF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反转",LF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",LF.LABPLUS_MOTOR_OFF_TOOLTIP="",LF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流电机 引脚 %1",LF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",LF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",LF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C颜色传感器读取并储存颜色",LF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",LF.LABPLUS_RGB_COLOR_TOOLTIP="读取已储存的颜色",LF.LABPLUS_RGB_COLOR_MESSAGE0="RGB颜色 %1",LF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",LF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",LF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="设置I2C数码管的值为 %1",LF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",LF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",LF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="关闭I2C数码管",LF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",LF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",LF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="设置MIDI模块音调为 %1",LF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",LF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",LF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模块 %2 音符 %1",LF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",LF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",LF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",LF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",LF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",LF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",LF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si";LF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",LF.LABPLUS_UART_OFF_MIDI_NOTE="停止",LF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",LF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",LF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模块停止播放音符 %1",LF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",LF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",LF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模块 %1",LF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",LF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",LF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循迹传感器 引脚 %1 检测为黑",LF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",LF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",LF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35温度传感器 引脚 %1 的值",LF.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",LF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",LF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋转电位器 引脚 %1 的值",LF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",LF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",LF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震动传感器 引脚 %1 被触发",LF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",LF.LABPLUS_LASER_SWITCH_TOOLTIP="",LF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光开关 引脚 %2",LF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",LF.LABPLUS_4BUTTON_TOOLTIP="",LF.LABPLUS_4BUTTON_MESSAGE0="四向按键模块 引脚 %1 按键 %2 被按下",LF.BLUE="A",LF.GREEN="B",LF.RED="C",LF.YELLOW="D",LF.LABPLUS_JOYSTICK_HELPURL="",LF.LABPLUS_JOYSTICK_TOOLTIP="",LF.LABPLUS_JOYSTICK_MESSAGE0="摇杆 引脚A0 %1 引脚A1 %2 %3 轴的值",LF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",LF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",LF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模块(UART)播放第 %1 首音乐",LF.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",LF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",LF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="设置MP3模块(UART)音量为 %1",LF.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",LF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",LF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="设置MP3模块(UART)状态为 %1",LF.PAUSE="暂停",LF.STOP="停止",LF.PLAY="继续播放",LF.PLAYNEXT="下一首",LF.PLAYPREV="上一首",LF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.LABPLUS_UART_INIT_TOOLTIP="",LF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率为 %3 TX为 %1 RX为 %2",LF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",LF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",LF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打开录放器 %1 %2 引脚REC %3 引脚PLAY %4",LF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",LF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",LF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="关闭录放器 %1 引脚REC %2 引脚PLAY %3",LF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",LF.LABPLUS_MOTOR_ON1_TOOLTIP="",LF.LABPLUS_MOTOR_ON1_MESSAGE0="打开直流电机 %1 速度 %2 引脚AIN1 %3 引脚AIN2 %4",LF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",LF.LABPLUS_MOTOR_OFF1_TOOLTIP="",LF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流电机 %1 引脚AIN1 %2 引脚AIN2 %3",LF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",LF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",LF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="设置LCD游标位置%1 X %2 Y %3",LF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",LF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",LF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="设置LCD显示 %1",LF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",LF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循环次数使用",LF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滚动LCD显示内容",LF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",LF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",LF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",LF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",LF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD显示内容",LF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",LF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到数据",LF.BLUEBIT_UART="串口",LF.BLUEBIT_INFRARED_SIGNAL="红外信号",LF.BLUEBIT_BLUEBOOTH="蓝牙",LF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.LABPLUS_UART_READ_MSG_TOOLTIP="",LF.LABPLUS_UART_READ_MSG_MESSAGE0="读取 %1 数据",LF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",LF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",LF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 发送数据 %2",LF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",LF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",LF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="设置点阵 %1 第一行显示%2 第二行显示%3 第三行显示%4 第四行显示%5 第五行显示%6 第六行显示%7 第七行显示%8 第八行显示%9 ",LF.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",LF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",LF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",LF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空点阵",LF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",LF.LABPLUS_UART_SET_OLED_TOOLTIP="",LF.LABPLUS_UART_SET_OLED_MESSAGE0="设置OLED屏 %1 X %2 Y %3 显示文本 %4 字体为 %5",LF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",LF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",LF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩阵 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",LF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",LF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",LF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",LF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",LF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",LF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模拟光线传感器 引脚 %1 的值",LF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",LF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",LF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按键模块 引脚 %1 被按下",LF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",LF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",LF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="设置舵机 %1 的角度为 %2",LF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",LF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",LF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="设置马达 %1 方向 %2 速度 %3",LF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",LF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",LF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止马达 %1",LF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="声音传感器的值",LF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",LF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",LF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光线传感器的值",LF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",LF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",LF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",LF.MICROBIT_INIT_I2C_TOOLTIP="",LF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 频率 %1 引脚SDA %2 引脚SCL %3",LF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",LF.MICROBIT_I2C_READ_TOOLTIP="",LF.MICROBIT_I2C_READ_MESSAGE0="I2C读取从地址 %1 读取 %2 字节",LF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",LF.MICROBIT_I2C_WRITE_TOOLTIP="",LF.MICROBIT_I2C_WRITE_MESSAGE0="I2C写入 %2 到地址 %1",LF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",LF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",LF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",LF.BOTBIT_MOTOR_ON_HELPURL="",LF.BOTBIT_MOTOR_ON_TOOLTIP="范围:-2000~2000",LF.BOTBIT_MOTOR_ON_MESSAGE0="设置机器人 %1 右轮速度为 %2 左轮速度为 %3",LF.BOTBIT_MOTOR_LEFT="左",LF.BOTBIT_MOTOR_RIGHT="右",LF.BOTBIT_SERVO_UP="上方",LF.BOTBIT_SERVO_DOWN="下方",LF.BOTBIT_MOTOR_FORWARD="前进",LF.BOTBIT_MOTOR_BACKWARD="后退",LF.BOTBIT_HOLDBALL_HELPURL="",LF.BOTBIT_HOLDBALL_TOOLTIP="",LF.BOTBIT_HOLDBALL_MESSAGE0="双臂抱起",LF.BOTBIT_STEERING_ENGINEL_HELPURL="",LF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度范围为-45°~45°",LF.BOTBIT_STEERING_ENGINEL_MESSAGE0="设置 %1臂 %2的角度为 %3",LF.BOTBIT_SERVO_Y="Y轴舵机",LF.BOTBIT_SERVO_X="X轴舵机",LF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",LF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度范围为-45°~45°",LF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="设置 %1腿 %2舵机的角度为 %3",LF.BOTBIT_UPDATEPOSITION_HELPURL="",LF.BOTBIT_UPDATEPOSITION_TOOLTIP="",LF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵机角度",LF.BOTBIT_ULTRASONIC_HELPURL="",LF.BOTBIT_ULTRASONIC_TOOLTIP="",LF.BOTBIT_ULTRASONIC_MESSAGE0="超声波传感器的值",LF.BOTBIT_WALKING_HELPURL="",LF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推荐1000~2000",LF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步数%2 周期%3 方向%1 ",LF.BOTBIT_WALKING_FORWARD="前",LF.BOTBIT_WALKING_BACK="后",LF.BOTBIT_MOONWALKER_HELPURL="",LF.BOTBIT_MOONWALKER_TOOLTIP="推荐周期1000~2000, 幅度10~50",LF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步数%2 周期%3 幅度%4 方向%1 ",LF.BOTBIT_MOONWALKER_L="左",LF.BOTBIT_MOONWALKER_R="右",LF.BOTBIT_CRUSAITO_HELPURL="",LF.BOTBIT_CRUSAITO_TOOLTIP="推荐步数2~10, 幅度10~50",LF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步数%2 周期%3 幅度%4 方向%1",LF.BOTBIT_CRUSAITO_CW="逆时针",LF.BOTBIT_CRUSAITO_ANTICW="顺时针",LF.BOTBIT_FLAPPING_HELPURL="",LF.BOTBIT_FLAPPING_TOOLTIP="推荐步数5~15, 幅度10~30, 周期1000~2000",LF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步数%2 周期%3 幅度%4 方向%1",LF.BOTBIT_FLAPPING_FORWARD="前",LF.BOTBIT_FLAPPING_BACK="后",LF.BOTBIT_HOME_HELPURL="",LF.BOTBIT_HOME_TOOLTIP="",LF.BOTBIT_HOME_MESSAGE0="机器人舞步初始化",LF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",LF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",LF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="设置MIDI模块音量为 %1",LF.labplus_mapping_MESSAGE0="映射%1 从%2 , %3到%4 , %5",LF.labplus_mapping_TOOLTIP="将0~100中的10映射到0~200中并返回映射值",LF.labplus_mapping_HELPURL="",LF.JOINT_MIDI_PIANO="平台钢琴",LF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音钢琴",LF.JOINT_MIDI_ELECTRICGRANDPIANO="电钢琴",LF.JOINT_MIDI_HARPSICHORD="大键琴",LF.JOINT_MIDI_Celesta="钢片琴",LF.JOINT_MIDI_Glockenspiel="钟琴",LF.JOINT_MIDI_Musicalbox="音乐盒",LF.JOINT_MIDI_Marimba="马林巴琴",LF.JOINT_MIDI_Xylophone="木琴",LF.JOINT_MIDI_TubularBell="管钟",LF.JOINT_MIDI_Dulcimer="洋琴",LF.JOINT_Vibraphone="颤音琴",LF.JOINT_MIDI_ORGAN="音栓风琴",LF.JOINT_Acoustic_Guitar="木吉他",LF.JOINT_Electric_Guitar="电吉他",LF.JOINT_Acoustic_Bass="民谣贝斯",LF.JOINT_String_Ensemble="弦乐合奏",LF.JOINT_Violin="小提琴",LF.JOINT_Trumpet="小号",LF.JOINT_Sax="萨克斯",LF.JOINT_Steel_Drums="钢鼓",LF.JOINT_Lead="合成音主旋律",LF.JOINT_Pad="合成音衬底",LF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",LF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",LF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音调 %1",LF.Carbit_init_MESSAGE0="CarBit初始化",LF.Carbit_init_TOOLTIP="",LF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_setLeftMotor_MESSAGE0="B2电机速度 %1",LF.Carbit_setLeftMotor_TOOLTIP="范围:-100~100",LF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_setRightMotor_MESSAGE0="B1电机速度 %1",LF.Carbit_setRightMotor_TOOLTIP="范围:-100~100",LF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_analog_light_TOOLTIP="Q3对应Pin1,Q4对应Pin2",LF.Carbit_analog_light_MESSAGE0="%1 模拟光线的值",LF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_Speed_U10_TOOLTIP="对应U10",LF.Carbit_Speed_U10_MESSAGE0="左轮速度",LF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_Speed_U11_TOOLTIP="对应U11",LF.Carbit_Speed_U11_MESSAGE0="右轮速度",LF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_Distance_TOOLTIP="",LF.Carbit_Distance_MESSAGE0="超声波的值",LF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",LF.Carbit_tracking_TOOLTIP="",LF.Carbit_tracking_MESSAGE0="循迹参数 %1 直行速度 %2 最大限速 %3 转弯延时 %5 转弯速度系数 %4 ",LF.XUNFEI_SPEECH_TTS_HELPURL="",LF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音频文件格式只能是 *.pcm",LF.XUNFEI_SPEECH_TTS_MESSAGE0="[讯飞语音] 合成音频 %1 APPID %2 APISecret %3 APIKey %4 文字内容 %5 转存为音频文件 %6",LF.XUNFEI_SPEECH_IAT_HELPURL="",LF.XUNFEI_SPEECH_IAT_TOOLTIP="可识别的音频格式有 *.pcm 与 *.wav",LF.XUNFEI_SPEECH_IAT_MESSAGE0="[讯飞语音] 识别音频 %1 APPID %2 APISecret %3 APIKey %4 待识别音频文件 %5",LF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",LF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",LF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[讯飞语音] 识别结果",LF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",LF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",LF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",LF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",LF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",LF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",LF.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",LF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",LF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",LF.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",LF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",LF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",LF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",LF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",LF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",LF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",LF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",LF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",LF.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",LF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",LF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",LF.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",LF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",LF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",LF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",LF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",LF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",LF.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",LF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",LF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",LF.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",LF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",LF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",LF.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",LF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",LF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",LF.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",LF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",LF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",LF.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",LF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",LF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",LF.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",LF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="(掌控AI)寻找颜色 LAB值%1",LF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",LF.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",LF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追踪色块 LAB颜色%1 边界框小于%2 像素小于%3 过滤",LF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追踪色块",LF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",LF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追踪颜色 显示%1",LF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",LF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1获取识别后色块的 所有参数",LF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1获取识别后色块的 x坐标",LF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 y坐标",LF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1获取识别后色块的 宽度",LF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1获取识别后色块的 高度",LF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1获取识别后色块的 数量",LF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1获取识别后色块的 中心x坐标",LF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1获取识别后色块的 中心y坐标",LF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 类 -- 色块对象",LF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",LF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1获取识别后色块的 矩形",LF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 类 -- 色块对象",LF.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",LF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)选择训练模型 人脸",LF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",LF.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",LF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 人脸识别",LF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="可以识别并且追踪人脸,显示人脸大小等",LF.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",LF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)获取识别后人脸的 所有参数",LF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="获取识别后人脸的 所有参数",LF.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",LF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)获取识别后人脸的 x坐标",LF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="获取识别后人脸的 x坐标",LF.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",LF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)获取识别后人脸的 y坐标",LF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="获取识别后人脸的 y坐标",LF.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",LF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)获取识别后人脸的 宽度",LF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="获取识别后人脸的 宽度",LF.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",LF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)获取识别后人脸的 高度",LF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="获取识别后人脸的 高度",LF.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",LF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)获取识别后人脸的 置信度",LF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="获取识别后人脸的 置信度",LF.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",LF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)获取识别后人脸的 数量",LF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="获取识别后人脸的 数量",LF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",LF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",LF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",LF.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",LF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",LF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",LF.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",LF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)选择训练模型 20类",LF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",LF.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",LF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)调用摄像头进行 20类识别",LF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="调用摄像头进行 20类识别",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)获取识别后20类的 所有参数",LF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="获取识别后20类的 所有参数",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)获取识别后20类的 x坐标",LF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="获取识别后20类的 x坐标",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)获取识别后20类的 y坐标",LF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="获取识别后20类的 y坐标",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)获取识别后20类的 宽度",LF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="获取识别后20类的 宽度",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)获取识别后20类的 高度",LF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="获取识别后20类的 高度",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)获取识别后20类的 置信度",LF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="获取识别后20类的 置信度",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)获取识别后20类的 数量",LF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="获取识别后20类的 数量",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)获取识别后20类的 类型",LF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="获取识别后20类的 类型可以放入获取识别的参数,可以识别20个类型,分别是0-19为飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛,餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",LF.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",LF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)获取识别后20类的 类型数量",LF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="获取识别后20类的 类型数量",LF.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",LF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)选择训练模型 手写数字",LF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="选择训练模型 手写数字识别",LF.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",LF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)调用摄像头进行 手写数字识别",LF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="调用摄像头进行 手写数字识别",LF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",LF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)获取识别后手写数字的 所有参数",LF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="手写数字识别参数",LF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",LF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)获取识别后手写数字的 数字",LF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="手写数字识别 数字",LF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",LF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)获取识别后手写数字的 置信度",LF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="手写数字 识别数字 置信度",LF.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",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",LF.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",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="(掌控AI)获取 识别%1",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",LF.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",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="(掌控AI)获取 识别 所有参数",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",LF.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",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="(掌控AI)人脸识别",LF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",LF.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",LF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="(掌控AI)可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",LF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",LF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",LF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",LF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",LF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",LF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",LF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",LF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",LF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",LF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",LF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",LF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",LF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",LF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",LF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",LF.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",LF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",LF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",LF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",LF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",LF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",LF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",LF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",LF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",LF.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",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",LF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",LF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",LF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",LF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",LF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",LF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="数字反转",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻转",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="线性极",LF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="对数极",LF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",LF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",LF.MPYTHON_ZKAI_SENSOR_ENABLE_START="开始抓取图像",LF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取图像",LF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平镜像",LF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻转",LF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="对比度",LF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",LF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="饱和度",LF.MPYTHON_ZKAI2_FACE_YOLO="人脸识别",LF.MPYTHON_ZKAI2_CLASS_20_YOLO="20类识别",LF.MPYTHON_ZKAI2_MNIST_NET="数字识别",LF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人脸",LF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="20类",LF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",LF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",LF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",LF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="声明python 运行环境",LF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",LF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C获取颜色",LF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",LF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",LF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C获取 %1",LF.MPYTHON_lARK_RED="红色",LF.MPYTHON__LARK_GREEN="绿色",LF.MPYTHON__LARK_BLUE="蓝色",LF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",LF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C获取HSV",LF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",LF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C获取HSV %1",LF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",LF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C获取颜色",LF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",LF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="识别 %1",LF.MPYTHON_LARK_RED="红色",LF.MPYTHON_LARK_GREEN="绿色",LF.MPYTHON_LARK_BLUE="蓝色",LF.MPYTHON_LARK_ORANGE="橙色",LF.MPYTHON_LARK_YELLOW="黄色",LF.MPYTHON_LARK_PURPLE="紫色",LF.MPYTHON_LARK_CYAN="青色",LF.MPYTHON_LARK_NONE="无色",LF.MPYTHON_LARK_NULL="无法获取",LF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",LF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超声波",LF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",LF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C设置 %1 速度 %2",LF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",LF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C获取 %1 巡线值",LF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右边",LF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左边",LF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",LF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循迹传感 %1 遇到黑线",LF.MPYTHON_LARK_SEARCH_LEFT="左边",LF.MPYTHON_LARK_SEARCH_RIGHT="右边",LF.MPYTHON_LARK_SEARCH_LEFT2="两边都",LF.MPYTHON_LARK_SEARCH_RIGHT2="两边都没有",LF.MPYTHON_LARK_SEARCH_BOTH="两边都",LF.MPYTHON_LARK_SEARCH_NONE="两边都没有",LF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",LF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里马获取颜色",LF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",LF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里马获取 %1",LF.MPYTHON_lARK_CAR_RED="红色",LF.MPYTHON__LARK_CAR_GREEN="绿色",LF.MPYTHON__LARK_CAR_BLUE="蓝色",LF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",LF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里马获取HSV",LF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",LF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里马获取HSV %1",LF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",LF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里马识别颜色",LF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",LF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里马识别颜色 %1",LF.MPYTHON_LARK_CAR_RED="红色",LF.MPYTHON_LARK_CAR_GREEN="绿色",LF.MPYTHON_LARK_CAR_BLUE="蓝色",LF.MPYTHON_LARK_CAR_ORANGE="橙色",LF.MPYTHON_LARK_CAR_YELLOW="黄色",LF.MPYTHON_LARK_CAR_PURPLE="紫色",LF.MPYTHON_LARK_CAR_CYAN="青色",LF.MPYTHON_LARK_CAR_NONE="无识别",LF.MPYTHON_LARK_CAR_NULL="识别错误",LF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",LF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里马获取超声波",LF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",LF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里马获取 %1 循迹数值",LF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右边",LF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左边",LF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",LF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里马循迹传感器 %1 碰到黑线",LF.MPYTHON_LARK_CAR_SEARCH_LEFT="左边",LF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右边",LF.MPYTHON_LARK_CAR_SEARCH_LEFT2="两边",LF.MPYTHON_LARK_CAR_SEARCH_NONE="两边都没有",LF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",LF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="电机驱动 %1 速度 %2",LF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",LF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里马 %1 速度 %2",LF.MPYTHON_LARK_CAR_MOTION_LEFT="左转",LF.MPYTHON_LARK_CAR_MOTION_RIGHT="右转",LF.MPYTHON_LARK_CAR_MOTION_FORWARD="前进",LF.MPYTHON_LARK_CAR_MOTION_BACKWARD="后退",LF.MPYTHON_LARK_CAR_MOTION_STOP="停止",LF.MPYTHON_DEFINE_THREAD_MESSAGE0="定义线程 %1",LF.MPYTHON_RUN_THREAD_MESSAGE0="运行线程 %1",LF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 转换数字为bytes %1 %2 %3 %4 待转换数字 %5",LF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes为数字 %1 %2 %3 %4 待转换bytes %5",LF.LITTLE_ENDIAN="低位优先(默认)",LF.BIG_ENDIAN="高位优先",LF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[适用2.0板] 当掌控板 %1 时",LF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",LF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",LF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左倾斜",LF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右倾斜",LF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前倾斜",LF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向后倾斜",LF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",LF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",LF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被单击",LF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被双击",LF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="坠落",LF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="横滚角",LF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",LF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",LF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",LF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",LF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",LF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",LF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按键 %1 已经按下",LF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",LF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",LF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按键 %1 曾经按下",LF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",LF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",LF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按键 %1 按下过的次数",LF.MPYTHON2_BUTTON_EVENT_MESSAGE0="当按键 %1 被 %2 时",LF.MPYTHON2_BUTTON_EVENT_HELPURL="",LF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",LF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",LF.MPYTHON2_BUTTON_EVENT_RELEASED="松开",LF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",LF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",LF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="触摸键 %1 已经按下",LF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",LF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",LF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="触摸键 %1 曾经按下",LF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",LF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",LF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="触摸键 %1 按下过的次数",LF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",LF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",LF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="触摸键 %1 值",LF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="当触摸键 %1 被 %2 时",LF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",LF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",LF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="触摸",LF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="释放",LF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="设置触摸键 %1 阀值为 %2",LF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",LF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",LF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",LF.BLE_UUID_TOOLTIP="",LF.BLE_SETUP_PERIPHERAL_HELPURL="",LF.BLE_SETUP_PERIPHERAL_TOOLTIP="",LF.BLE_SETUP_PERIPHERAL_MESSAGE0="构建 BLE 外围设备对象 %1 显示名称 %2 Service UUID %3",LF.BLE_ADD_CHARACTERISTIC_HELPURL="",LF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",LF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定义 BLE 属性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",LF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",LF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",LF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外围设备 %1",LF.BLE_START_BROADCASTING="开始广播",LF.BLE_STOP_BROADCASTING="停止广播",LF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",LF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",LF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="读 BLE 设备的属性 %1",LF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",LF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",LF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="写 BLE 设备的属性 %1 %2 值 %3 Notify %4",LF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",LF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",LF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外围设备断开连接",LF.BLE_PERIPHERAL_MAC_HELPURL="",LF.BLE_PERIPHERAL_MAC_TOOLTIP="",LF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外围设备 MAC地址",LF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",LF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",LF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="当 BLE 与中央设备建立连接时 %1 连接句柄 %2 地址类型 %3 中央设备的MAC地址 %4",LF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",LF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",LF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="当 BLE 设备的属性值被改写时 %1 连接句柄 %2 被写属性句柄 %3 写入的数据 %4",LF.BLE_SETUP_CENTERAL_HELPURL="",LF.BLE_SETUP_CENTERAL_TOOLTIP="",LF.BLE_SETUP_CENTERAL_MESSAGE0="构建 BLE 中央设备对象 显示名称 %1",LF.BLE_CENTERAL_CONNECT_HELPURL="",LF.BLE_CENTERAL_CONNECT_TOOLTIP="",LF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央设备连接到 %1 %2",LF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",LF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",LF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外围设备已连接 ?",LF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",LF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",LF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="设定 %1 为 已连接外围设备 属性对象 %2 Service UUID %3 Characteristic UUID %4",LF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",LF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",LF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="读 已连接外围设备的 属性 %1 值",LF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",LF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",LF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="写 已连接外围设备的 属性 %1 值 %2",LF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",LF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",LF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="当 已连接外围设备发起 Notify 通知事件时 %1 属性的值柄 %2 通知的属性值 %3",LF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",LF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",LF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已连接的外围设备 %1",LF.BLE_CENTERAL_CLOSE_HELPURL="",LF.BLE_CENTERAL_CLOSE_TOOLTIP="",LF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央设备 断开连接",LF.BLE_INFO_NAME="蓝牙名称",LF.BLE_INFO_MAC="MAC地址",LF.BLE_INFO_RSSI="信号强度",LF.BLE_INFO_ADDRTYPE="地址类型",LF.BLE_INFO_ADVTYPE="广播类型",LF.BLE_INFO_DATA="原始数据(元组)",LF.BLE_SETUP_UART_HELPURL="",LF.BLE_SETUP_UART_TOOLTIP="",LF.BLE_SETUP_UART_MESSAGE0="构建 BLE UART从机 显示名称 %1",LF.BLE_UART_IS_CONNECTED_HELPURL="",LF.BLE_UART_IS_CONNECTED_TOOLTIP="",LF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已连接 ?",LF.BLE_UART_ANY_HELPURL="",LF.BLE_UART_ANY_TOOLTIP="",LF.BLE_UART_ANY_MESSAGE0="BLE UART 可读字节数量",LF.BLE_UART_IRQ_HELPURL="",LF.BLE_UART_IRQ_TOOLTIP="",LF.BLE_UART_IRQ_MESSAGE0="当 BLE UART 接收到数据时 %1 执行 %2",LF.BLE_UART_READ_HELPURL="",LF.BLE_UART_READ_TOOLTIP="从 UART 另一端发送过来的消息",LF.BLE_UART_READ_MESSAGE0="已接收数据",LF.BLE_UART_WRITE_HELPURL="",LF.BLE_UART_WRITE_TOOLTIP="",LF.BLE_UART_WRITE_MESSAGE0="BLE UART 发送字节 %1",LF.BLE_UART_CLOSE_HELPURL="",LF.BLE_UART_CLOSE_TOOLTIP="",LF.BLE_UART_CLOSE_MESSAGE0="BLE UART 断开连接",LF.BLE_SETUP_UART_MASTER_HELPURL="",LF.BLE_SETUP_UART_MASTER_TOOLTIP="",LF.BLE_SETUP_UART_MASTER_MESSAGE0="构建 BLE UART主机 连接到 %1 %2",LF.BLE_SETUP_HID_HELPURL="",LF.BLE_SETUP_HID_TOOLTIP="",LF.BLE_SETUP_HID_MESSAGE0="构建 BLE HID %1 对象 %2 显示名称 %3 电池电量 %4",LF.BLE_HID_MOUSE="鼠标",LF.BLE_HID_KEYBOARD="键盘",LF.BLE_HID_CONSUMER="遥控器",LF.BLE_HID_ADVERTISE_HELPURL="",LF.BLE_HID_ADVERTISE_TOOLTIP="",LF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID设备 %1",LF.BLE_HID_CONNECT_EVENT_HELPURL="",LF.BLE_HID_CONNECT_EVENT_TOOLTIP="",LF.BLE_HID_CONNECT_EVENT_MESSAGE0="当 BLE HID设备 连接时",LF.BLE_HID_DISCONNECT_HELPURL="",LF.BLE_HID_DISCONNECT_TOOLTIP="",LF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID设备 断开连接",LF.BLE_HID_BATTERY_LEVEL_HELPURL="",LF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",LF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID设备 电池电量",LF.BLE_HID_MOUSE_BUTTONS_HELPURL="",LF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",LF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠标键 %1",LF.BLE_HID_MOUSE_CLICK_HELPURL="",LF.BLE_HID_MOUSE_CLICK_TOOLTIP="",LF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠标 点击按键 %1",LF.BLE_HID_MOUSE_PRESS_HELPURL="",LF.BLE_HID_MOUSE_PRESS_TOOLTIP="",LF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠标 长按按键 %1",LF.BLE_HID_MOUSE_RELEASE_HELPURL="",LF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",LF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠标 释放按键 %1",LF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",LF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",LF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠标 释放所有按键",LF.BLE_HID_MOUSE_MOVE_HELPURL="",LF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光标移动量,范围 ±127 。\nwheel - 滚轮,范围 ±127 。",LF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠标 光标移动 %1 X轴移动量 %2 Y轴移动量 %3 滚轮 %4",LF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",LF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",LF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="键盘按键 %1",LF.BLE_HID_KEYBOARD_SEND_HELPURL="",LF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",LF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 键盘 按下按键 %1",LF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",LF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",LF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 键盘 同时按下按键 %1 %2 %3",LF.BLE_HID_KEYBOARD_PRESS_HELPURL="",LF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",LF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 键盘 长按按键 %1",LF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",LF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",LF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 键盘 释放按键 %1",LF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",LF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",LF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 键盘 释放所有按键",LF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",LF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",LF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遥控器键 %1",LF.BLE_HID_CONSUMER_SEND_HELPURL="",LF.BLE_HID_CONSUMER_SEND_TOOLTIP="",LF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遥控器点击 %1",LF.BLE_SETUP_IBEACON_HELPURL="",LF.BLE_SETUP_IBEACON_TOOLTIP="",LF.BLE_SETUP_IBEACON_MESSAGE0="构建 BLE iBeacon设备 %1 UUID %2 major %3 minor %4",LF.BLE_IBEACON_ADVERTISE_HELPURL="",LF.BLE_IBEACON_ADVERTISE_TOOLTIP="",LF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon设备 %1",LF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",LF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回电量,单位mV",LF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的电压值(mV)",LF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",LF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回编码后的红外脉冲数据buff",LF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 红外脉冲任意编码 %1 载波频率(Hz) %2 code总数 %3 循环码位置 %4 code列表 %5 编码波形数据 %6",LF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",LF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回编码后的红外脉冲数据buff\n用户码:0~255\n命令码:0~255",LF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 红外脉冲NEC编码 %1 用户码 %2 命令码 %3",LF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",LF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",LF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 发送红外脉冲数据 %1 %2",LF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只发一次",LF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持续发送",LF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",LF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="当发送重复码后,使用此函数来停止发送。",LF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止发送红外脉冲数据",LF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",LF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="学习开始后,需等待4秒,之后返回学习结果。";LF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 开始红外学习",LF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",LF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",LF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 红外学习有结果 ?",LF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",LF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回学习后的“红外编码数据”,须在 learn 函数后使用。",LF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 学习到的红外编码数据",LF.MPYTHON_MLX90615_SET_HELPURL="",LF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接触测温传感器 设置发射系数%1",LF.MPYTHON_MLX90615_SET_TOOLTIP="",LF.MPYTHON_MLX90615_GET_HELPURL="",LF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接触测温传感器 获取系数",LF.MPYTHON_MLX90615_GET_TOOLTIP="",LF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",LF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接触测温传感器 获取测温",LF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",LF.MPYTHON_MQ135_INIT_HELPURL="",LF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 输出引脚%1 温度%2 ℃ 湿度%3 %",LF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 连接扩展板的电源口 V ,GND连接扩展板的地线口 G ,AO输出连接扩展板的引脚 P0/P1(即选引脚)\nMQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度",LF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",LF.MPYTHON_MQ135_OPTIONS_HELPURL="",LF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探测到的二氧化碳的百万分之一(假设只有空气中的二氧化碳) ppm浓度",LF.MPYTHON_MQ135_GET_RZERO="校正传感器电阻",LF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正传感器电阻(校准温度、湿度)",LF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度",LF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等气体ppm浓度(校准温度、湿度)",LF.mpython_gyroscope_get_HELPURL="",LF.mpython_gyroscope_get_MESSAGE0="%1 轴角速度",LF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版适用",LF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",LF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",LF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",LF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",LF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",LF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",LF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",LF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",LF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",LF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="设置角速度范围,默认为 ±256dps。仅适用于掌控板2.3及以上版本",LF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="设置角速度范围为 %1",LF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",LF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校准陀螺仪角速度计的3个轴(x,y,z)的角速度值偏差。\n一般情况下无需校准,只有遇到角速度偏差较大时才要校准。\n x , y , z 为调整偏差值,可修正范围为 ±1024dps。\n注意:v2.3版本以后适用",LF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校准角速度值 %1 X轴偏差 %2 Y轴偏差 %3 Z轴偏差 %4";const RF=LF,rF={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”的變量。"};rF.PROCEDURES_DEFRETURN_TITLE=rF.PROCEDURES_DEFNORETURN_TITLE,rF.CONTROLS_IF_IF_TITLE_IF=rF.CONTROLS_IF_MSG_IF,rF.CONTROLS_WHILEUNTIL_INPUT_DO=rF.CONTROLS_REPEAT_INPUT_DO,rF.CONTROLS_IF_MSG_THEN=rF.CONTROLS_REPEAT_INPUT_DO,rF.TRY_EXCEPT_TRY="try",rF.CONTROLS_IF_ELSE_TITLE_ELSE=rF.CONTROLS_IF_MSG_ELSE,rF.CONTROLS_IF_ELSE_TITLE_ELSE=rF.CONTROLS_IF_MSG_ELSE,rF.PROCEDURES_DEFRETURN_PROCEDURE=rF.PROCEDURES_DEFNORETURN_PROCEDURE,rF.LISTS_GET_SUBLIST_INPUT_IN_LIST=rF.LISTS_INLIST,rF.LISTS_GET_INDEX_INPUT_IN_LIST=rF.LISTS_INLIST,rF.PROCEDURES_DEFRETURN_DO=rF.PROCEDURES_DEFNORETURN_DO,rF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=rF.CONTROLS_IF_MSG_ELSEIF,rF.LISTS_GET_INDEX_HELPURL=rF.LISTS_INDEX_OF_HELPURL,rF.CONTROLS_FOREACH_INPUT_DO=rF.CONTROLS_REPEAT_INPUT_DO,rF.LISTS_SET_INDEX_INPUT_IN_LIST=rF.LISTS_INLIST,rF.CONTROLS_FOR_INPUT_DO=rF.CONTROLS_REPEAT_INPUT_DO,rF.LISTS_CREATE_WITH_ITEM_TITLE=rF.VARIABLES_DEFAULT_NAME,rF.TUPLE_CREATE_WITH_ITEM_TITLE=rF.VARIABLES_DEFAULT_NAME,rF.DICT_CREATE_WITH_ITEM_TITLE=rF.VARIABLES_DEFAULT_NAME,rF.SET_CREATE_WITH_ITEM_TITLE=rF.VARIABLES_DEFAULT_NAME,rF.TEXT_APPEND_VARIABLE=rF.VARIABLES_DEFAULT_NAME,rF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=rF.VARIABLES_DEFAULT_NAME,rF.MATH_CHANGE_TITLE_ITEM=rF.VARIABLES_DEFAULT_NAME,rF.LISTS_INDEX_OF_INPUT_IN_LIST=rF.LISTS_INLIST,rF.PROCEDURES_DEFRETURN_COMMENT=rF.PROCEDURES_DEFNORETURN_COMMENT,rF.MPYTHON_MAIN_HELPURL="",rF.MPYTHON_MAIN_TOOLTIP="這個圖形塊不是必須使用。但使用這個圖形塊,能使得程序結構更規整。",rF.MPYTHON_MAIN_MESSAGE0="主程式",rF.MPYTHON_OPEN="開啟",rF.MPYTHON_CLOSE="關閉",rF.MPYTHONBOX_RGB_IMAGE_SHIFT_LEFT="左移",rF.MPYTHONBOX_RGB_IMAGE_SHIFT_RIGHT="右移",rF.MPYTHONBOX_RGB_IMAGE_SHIFT_UP="上移",rF.MPYTHONBOX_RGB_IMAGE_SHIFT_DOWN="下移",rF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",rF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",rF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",rF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",rF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",rF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",rF.MPYTHON_AI_SENSOR_PATTERN_GRAYSCALE="灰度",rF.MPYTHON_AI_SENSOR_PATTERN_COLOR="彩色",rF.MPYTHON_AI_SENSOR_ENABLE_START="開始抓取圖像",rF.MPYTHON_AI_SENSOR_ENABLE_STOP="停止抓取圖像",rF.MPYTHON_AI_SENSOR_LEVEL_MI_H="水平鏡像",rF.MPYTHON_AI_SENSOR_LEVEL_MI_V="垂直翻轉",rF.MPYTHON_AI_SENSOR_SETS_CONTRAST="對比度",rF.MPYTHON_AI_SENSOR_SETS_BRIGHTNESS="亮度",rF.MPYTHON_AI_SENSOR_SETS_SATURATION="飽和度",rF.MPYTHON_AI2_FACE_YOLO="人臉識別",rF.MPYTHON_AI2_CLASS_20_YOLO="20類識別",rF.MPYTHON_AI_TRACE_COLOR_RECTANGLE="矩形",rF.MPYTHON_AI_TRACE_COLOR_CROSS="十字",rF.TEXT_APPEND_TEXT_HELPURL="",rF.TEXT_APPEND_TEXT_TOOLTIP="",rF.TEXT_APPEND_TEXT_MESSAGE0="%1 追加文本 %2",rF.CHINA_CITY_MESSAGE0="%1 %2",rF.CHINA_CITY_TOWN_MESSAGE0="%1 %2 %3 返回 %4",rF.CHINA_CITY_CNNAME="中文簡稱",rF.CHINA_CITY_PINYIN="拼音",rF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_1="简体中文",rF.MPYTHON_SENIVERSE_WEATHER_LANGUAGE_2="正體中文",rF.MPYTHON_SENIVERSE_CITY_WEATHER_HELPURL="",rF.MPYTHON_SENIVERSE_CITY_WEATHER_TOOLTIP="",rF.MPYTHON_SENIVERSE_CITY_WEATHER_MESSAGE0="[心知天氣] %1 信息 %2 地理位置 %3 API私鑰 %4 %5 語言 %6 %7 溫度單位 %8",rF.MPYTHON_SENIVERSE_WEATHER_API_1="天氣實況",rF.MPYTHON_SENIVERSE_WEATHER_API_2="3天天氣預報",rF.MPYTHON_SENIVERSE_WEATHER_API_3="6項生活指數",rF.MPYTHON_SENIVERSE_WEATHER_UNIT_1="攝氏度",rF.MPYTHON_SENIVERSE_WEATHER_UNIT_2="華氏度",rF.MPYTHON_DEFINE_SENIVERSE_WEATHER_HELPURL="",rF.MPYTHON_DEFINE_SENIVERSE_WEATHER_TOOLTIP="",rF.MPYTHON_DEFINE_SENIVERSE_WEATHER_MESSAGE0="設定 %1 為 %2",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_HELPURL="",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_TOOLTIP="",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO_MESSAGE0="%1 [心知天氣] 通用字段 %2",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_HELPURL="",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_TOOLTIP="",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO1_MESSAGE0="%1 [心知天氣] 天氣實況 %2",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_HELPURL="",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_TOOLTIP="風向角度,範圍0~360\n風速,單位km/h(當unit=c時)、mph(當unit=f時)",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO2_MESSAGE0="%1 [心知天氣] 3天天氣預報 %2 的 %3",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_HELPURL="",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_TOOLTIP="",rF.MPYTHON_GET_SENIVERSE_WEATHER_INFO3_MESSAGE0="%1 [心知天氣] 6項生活指數 %2",rF.MPYTHON_SENIVERSE_WEATHER_city_name="城市名稱",rF.MPYTHON_SENIVERSE_WEATHER_city_id="城市ID",rF.MPYTHON_SENIVERSE_WEATHER_country="國家代碼",rF.MPYTHON_SENIVERSE_WEATHER_path="行政歸屬",rF.MPYTHON_SENIVERSE_WEATHER_timezone="時區",rF.MPYTHON_SENIVERSE_WEATHER_timezone_offset="UTC偏移量",rF.MPYTHON_SENIVERSE_WEATHER_last_update_date="數據更新日期",rF.MPYTHON_SENIVERSE_WEATHER_last_update="數據更新時間",rF.MPYTHON_SENIVERSE_WEATHER_object="原始字典對象",rF.MPYTHON_SENIVERSE_WEATHER_text="天氣現象",rF.MPYTHON_SENIVERSE_WEATHER_code="天氣現象代碼",rF.MPYTHON_SENIVERSE_WEATHER_temperature="溫度",rF.MPYTHON_SENIVERSE_WEATHER_today="今天",rF.MPYTHON_SENIVERSE_WEATHER_tomorrow="明天",rF.MPYTHON_SENIVERSE_WEATHER_the_day_after_tomorrow="後天",rF.MPYTHON_SENIVERSE_WEATHER_date="日期",rF.MPYTHON_SENIVERSE_WEATHER_text_day="白天天氣現象",rF.MPYTHON_SENIVERSE_WEATHER_code_day="白天天氣現象代碼",rF.MPYTHON_SENIVERSE_WEATHER_text_night="晚間天氣現象",rF.MPYTHON_SENIVERSE_WEATHER_code_night="晚間天氣現象代碼",rF.MPYTHON_SENIVERSE_WEATHER_high="當天最高溫度",rF.MPYTHON_SENIVERSE_WEATHER_low="當天最低溫度",rF.MPYTHON_SENIVERSE_WEATHER_wind_direction="風向",rF.MPYTHON_SENIVERSE_WEATHER_wind_direction_degree="風向角度",rF.MPYTHON_SENIVERSE_WEATHER_wind_speed="風速",rF.MPYTHON_SENIVERSE_WEATHER_wind_scale="風力等級",rF.MPYTHON_SENIVERSE_WEATHER_car_washing="洗車指數",rF.MPYTHON_SENIVERSE_WEATHER_dressing="穿衣指數",rF.MPYTHON_SENIVERSE_WEATHER_flu="感冒指數",rF.MPYTHON_SENIVERSE_WEATHER_sport="運動指數",rF.MPYTHON_SENIVERSE_WEATHER_travel="旅遊指數",rF.MPYTHON_SENIVERSE_WEATHER_uv="紫外線指數",rF.MPYTHON_RED="紅",rF.MPYTHON_GREEN="綠",rF.MPYTHON_BLUE="藍",rF.MPYTHON_BLUEBIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_NEWRFID_READ_MESSAGE0="I2C射頻卡 讀取電子錢包 數據",rF.MPYTHON_BLUEBIT_NEWRFID_READ_TOOLTIP="讀取塊數據,長度16位元組",rF.MPYTHON_BLUEBIT_NEWRFID_READ_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",rF.MPYTHON_BLUEBIT_NEWRFID_WRITE_MESSAGE0="I2C射頻卡 寫入電子錢包 數據%1",rF.MPYTHON_BLUEBIT_NEWRFID_WRITE_TOOLTIP="寫入塊數據,長度16位元組",rF.MPYTHON_BLUEBIT_NEWRFID_WRITE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",rF.MPYTHON_BLUEBIT_NEWRFID_MONEY_MESSAGE0="I2C射頻卡 給電子錢包%1 金額%2",rF.MPYTHON_BLUEBIT_NEWRFID_MONEY_TOOLTIP="",rF.MPYTHON_BLUEBIT_NEWRFID_MONEY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",rF.MPYTHON_BLUEBIT_NEWRFID_INC_MESSAGE0="充值",rF.MPYTHON_BLUEBIT_NEWRFID_DEC_MESSAGE0="扣費",rF.MPYTHON_BLUEBIT_NEWRFID_GET_MESSAGE0="I2C射頻卡 獲取電子錢包餘額",rF.MPYTHON_BLUEBIT_NEWRFID_GET_TOOLTIP="",rF.MPYTHON_BLUEBIT_NEWRFID_GET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",rF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_MESSAGE0="I2C射頻卡 獲取序號",rF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_TOOLTIP="",rF.MPYTHON_BLUEBIT_NEWRFID_GETSERIAL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",rF.MPYTHON_BLUEBIT_NEWRFID_SET_MESSAGE0="I2C射頻卡 初始化電子錢包",rF.MPYTHON_BLUEBIT_NEWRFID_SET_TOOLTIP="",rF.MPYTHON_BLUEBIT_NEWRFID_SET_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",rF.MPYTHON_BLUEBIT_NEWRFID_SCAN_MESSAGE0="I2C射頻卡 掃描",rF.MPYTHON_BLUEBIT_NEWRFID_SCAN_TOOLTIP="",rF.MPYTHON_BLUEBIT_NEWRFID_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/bluebit.html#rfid",rF.MPYTHON_BLUEBIT_ULTRASONIC_MESSAGE0="I2C超聲波",rF.MPYTHON_BLUEBIT_ULTRASONIC_TOOLTIP="",rF.MPYTHON_BLUEBIT_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_READ_DIGITAL_MESSAGE0="%1 被觸發 引腳%2",rF.MPYTHON_BLUEBIT_READ_DIGITAL_TOOLTIP="",rF.MPYTHON_BLUEBIT_READ_DIGITAL_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_READ_ANALOG_MESSAGE0="%1 模擬值 引腳%2",rF.MPYTHON_BLUEBIT_READ_ANALOG_TOOLTIP="",rF.MPYTHON_BLUEBIT_READ_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_SET_ANALOG_MESSAGE0="設置LED燈 輸出%1 引腳%2",rF.MPYTHON_BLUEBIT_SET_ANALOG_TOOLTIP="",rF.MPYTHON_BLUEBIT_SET_ANALOG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_LINE_FOLLOWER_MESSAGE0="循跡傳感器 檢測為黑 引腳%1",rF.MPYTHON_BLUEBIT_LINE_FOLLOWER_TOOLTIP="",rF.MPYTHON_BLUEBIT_LINE_FOLLOWER_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_SET_TRUE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_SET_TRUE_MESSAGE0="打開 %1 引腳 %2",rF.MPYTHON_BLUEBIT_SET_TRUE_TOOLTIP="",rF.MPYTHON_BLUEBIT_SET_FALSE_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.MPYTHON_BLUEBIT_SET_FALSE_MESSAGE0="關閉 %1 引腳 %2",rF.MPYTHON_BLUEBIT_SET_FALSE_TOOLTIP="",rF.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",rF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_TOOLTIP="",rF.MPYTHON_BLUEBIT_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 %2 REC %3 PLAY %4",rF.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",rF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_TOOLTIP="",rF.MPYTHON_BLUEBIT_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 %1 REC %2 PLAY %3",rF.MPYTHON_BLUEBIT_VOICE_RECORD_PLAY="播放",rF.MPYTHON_BLUEBIT_VOICE_RECORD_REC="錄音",rF.MPYTHON_BLUEBIT_IR_RECEIVE="紅外探測",rF.MPYTHON_BLUEBIT_SOUND="麥克風",rF.MPYTHON_BLUEBIT_LINE_FOLLOWER="循跡",rF.MPYTHON_BLUEBIT_VIBRATION="震動",rF.MPYTHON_BLUEBIT_RFID="射頻卡",rF.MPYTHON_BLUEBIT_FINGERPRINT_SCANNER="指紋",rF.MPYTHON_BLUEBIT_PIR="人體感應",rF.MPYTHON_BLUEBIT_MAGNETIC="門磁開關",rF.MPYTHON_BLUEBIT_BUTTON="按鍵",rF.MPYTHON_BLUEBIT_RELAY="繼電器",rF.MPYTHON_BLUEBIT_LIMIT_SWITCH="限位開關",rF.MPYTHON_BLUEBIT_FAN="風扇",rF.MPYTHON_BLUEBIT_LASER="激光",rF.MPYTHON_BLUEBIT_NTC_TEMP="熱敏電阻",rF.MPYTHON_BLUEBIT_WATER="水位",rF.MPYTHON_BLUEBIT_SOIL_MOISTURE="土壤濕度",rF.MPYTHON_BLUEBIT_ROTATE_DIMMER="旋鈕電位器",rF.MPYTHON_BLUEBIT_LINEAR_SLIDING_POTENTIOMETER="直滑電位器",rF.MPYTHON_BLUEBIT_ANALOG_LIGHT="模擬光線",rF.MPYTHON_BLUEBIT_LM35_TEMP="LM35溫度",rF.MPYTHON_BLUEBIT_SMOKE="煙霧",rF.MPYTHON_BLUEBIT_MOTOR_ON_CLOCKWISE="正轉",rF.MPYTHON_BLUEBIT_MOTOR_ON_ANTICLOCKWISE="反轉",rF.MPYTHON_BLUEBIT_READ_SOIL_HELPURL="",rF.MPYTHON_BLUEBIT_READ_SOIL_TOOLTIP="新的土壤濕度",rF.MPYTHON_BLUEBIT_READ_SOIL_MESSAGE0="土壤濕度(新)%1",rF.MPYTHON_BLUEBIT_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",rF.MPYTHON_BLUEBIT_MOTOR_ON_TOOLTIP="速度:-100~100 映射至 -1023~1023",rF.MPYTHON_BLUEBIT_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",rF.MPYTHON_BLUEBIT_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",rF.MPYTHON_BLUEBIT_MOTOR_OFF_TOOLTIP="",rF.MPYTHON_BLUEBIT_MOTOR_OFF_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",rF.MPYTHON_BLUEBIT_SET_FAN_HELPURL="",rF.MPYTHON_BLUEBIT_SET_FAN_TOOLTIP="",rF.MPYTHON_BLUEBIT_SET_FAN_MESSAGE0="拓展板 打開風扇 %1",rF.MPYTHON_BLUEBIT_SET_FAN_OFF_HELPURL="",rF.MPYTHON_BLUEBIT_SET_FAN_OFF_TOOLTIP="",rF.MPYTHON_BLUEBIT_SET_FAN_OFF_MESSAGE0="拓展板 關閉風扇 %1",rF.MPYTHON_BLUEBIT_4BUTTON_HELPURL="http://wiki.MPYTHON_BLUEBIT.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",rF.MPYTHON_BLUEBIT_4BUTTON_TOOLTIP="",rF.MPYTHON_BLUEBIT_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",rF.BLUE="A",rF.GREEN="B",rF.RED="C",rF.YELLOW="D",rF.MPYTHON_BLUEBIT_JOYSTICK_HELPURL="",rF.MPYTHON_BLUEBIT_JOYSTICK_TOOLTIP="",rF.MPYTHON_BLUEBIT_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",rF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_HELPURL="",rF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_TOOLTIP="速度:0~100",rF.MPYTHON_BLUEBIT_MOTOR_ON_I2C_MESSAGE0="拓展板 打開直流電機 %1 %2 速度 %3",rF.MPYTHON_BLUEBIT_BLUEBIT_MOTOR_OFF_I2C_HELPURL="",rF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_TOOLTIP="速度:0~100",rF.MPYTHON_BLUEBIT_MOTOR_OFF_I2C_MESSAGE0="拓展板 關閉直流電機",rF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_HELPURL="",rF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_TOOLTIP="速度:-1023~1023",rF.MPYTHON_BLUEBIT_CODED_THREE_MOTOR_ON_I2C_MESSAGE0="編碼電機 模式 %1 撥碼 %2 M1速度 %3 M2速度 %4",rF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_HELPURL="",rF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_TOOLTIP="停止編碼電機轉動",rF.MPYTHON_BLUEBIT_CODED_STOP_MOTOR_ON_I2C_MESSAGE0="停止編碼電機轉動 %1",rF.MPYTHON_BLUEBIT_HUM_TEM_HELPURL="",rF.MPYTHON_BLUEBIT_HUM_TEM_TOOLTIP="",rF.MPYTHON_BLUEBIT_HUM_TEM_MESSAGE0="I2C %1",rF.MPYTHON_BLUEBIT_TEMPERATURE="溫度",rF.MPYTHON_BLUEBIT_HUMIDITY="濕度",rF.MPYTHON_BLUEBIT_INIT_MIDI_HELPURL="",rF.MPYTHON_BLUEBIT_INIT_MIDI_MESSAGE0="初始化MIDI TX引脚 %1",rF.MPYTHON_BLUEBIT_INIT_MIDI_TOOLTIP="",rF.MPYTHON_BLUEBIT_MIDI_VOLUME_HELPURL="",rF.MPYTHON_BLUEBIT_MIDI_VOLUME_MESSAGE0="設MIDI音量 %1",rF.MPYTHON_BLUEBIT_MIDI_VOLUME_TOOLTIP="音量 0~127",rF.MIDI_PIANO="平臺鋼琴",rF.MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",rF.MIDI_ELECTRICGRANDPIANO="電鋼琴",rF.MIDI_HARPSICHORD="大鍵琴",rF.MIDI_CELESTA="鋼片琴",rF.MIDI_GLOCKENSPIEL="鍾琴",rF.MIDI_MUSICALBOX="音樂盒",rF.MIDI_MARIMBA="馬林巴琴",rF.MIDI_XYLOPHONE="木琴",rF.MIDI_TUBULARBELL="管鐘",rF.MIDI_DULCIMER="洋琴",rF.MIDI_VIBRAPHONE="顫音琴",rF.MIDI_ORGAN="音栓風琴",rF.MIDI_ACOUSTIC_GUITAR="木吉他",rF.MIDI_ELECTRIC_GUITAR="電吉他",rF.MIDI_ACOUSTIC_BASS="民謠貝斯",rF.MIDI_STRING_ENSEMBLE="弦樂合奏",rF.MIDI_VIOLIN="小提琴",rF.MIDI_TRUMPET="小號",rF.MIDI_SAX="薩克斯",rF.MIDI_STEEL_DRUMS="鋼鼓",rF.MIDI_LEAD="合成音主旋律",rF.MIDI_PAD="合成音襯底",rF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_HELPURL="",rF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_MESSAGE0="設MIDI樂器 %1",rF.MPYTHON_BLUEBIT_MIDI_INSTRUMENT_TOOLTIP="",rF.MPYTHON_BLUEBIT_MIDI_PLAY_HELPURL="",rF.MPYTHON_BLUEBIT_MIDI_PLAY_MESSAGE0="MIDI %1 音調 %2",rF.MPYTHON_BLUEBIT_MIDI_PLAY_TOOLTIP="",rF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_HELPURL="",rF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_MESSAGE0="設點陣亮度等級 %1",rF.MPYTHON_BLUEBIT_MATRIX_BRIGHTNESS_TOOLTIP="亮度等級 0~15",rF.MPYTHON_BLUEBIT_MATRIX_FILL_HELPURL="",rF.MPYTHON_BLUEBIT_MATRIX_FILL_MESSAGE0="點陣 %1",rF.MPYTHON_BLUEBIT_MATRIX_FILL_TOOLTIP="",rF.MPYTHON_BLUEBIT_MATRIX_BITMAP_HELPURL="",rF.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",rF.MPYTHON_BLUEBIT_MATRIX_BITMAP_TOOLTIP="",rF.MPYTHON_BLUEBIT_MATRIX_SHOW_HELPURL="",rF.MPYTHON_BLUEBIT_MATRIX_SHOW_MESSAGE0="點陣設置生效",rF.MPYTHON_BLUEBIT_MATRIX_SHOW_TOOLTIP="",rF.MPYTHON_BLUEBIT_MP3_VOLUME_HELPURL="",rF.MPYTHON_BLUEBIT_MP3_VOLUME_MESSAGE0="設MP3音量 %1",rF.MPYTHON_BLUEBIT_MP3_VOLUME_TOOLTIP="音量:0~30",rF.MPYTHON_BLUEBIT_MP3_INIT_HELPURL="",rF.MPYTHON_BLUEBIT_MP3_INIT_MESSAGE0="初始化MP3 TX引脚 %1",rF.MPYTHON_BLUEBIT_MP3_INIT_TOOLTIP="掌控板的 tx 引脚連接音樂模塊的 RXI 引脚",rF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_HELPURL="",rF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_MESSAGE0="MP3 音量 %1",rF.MPYTHON_BLUEBIT_MP3_VOLUME_PLUS_TOOLTIP="",rF.MPYTHON_PLUS_1="加1",rF.MPYTHON_MINUS_1="減1",rF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_HELPURL="",rF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_MESSAGE0="MP3 播放第 %1 首歌",rF.MPYTHON_BLUEBIT_MP3_PLAY_SONG_TOOLTIP="",rF.MPYTHON_BLUEBIT_MP3_CMD_HELPURL="",rF.MPYTHON_BLUEBIT_MP3_CMD_MESSAGE0="MP3 播放 %1",rF.MPYTHON_BLUEBIT_MP3_CMD_TOOLTIP="",rF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_HELPURL="",rF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_MESSAGE0="Mp3 單曲循環 %1",rF.MPYTHON_BLUEBIT_MP3_SINGLELOOP_TOOLTIP="",rF.MPYTHON_BLUEBIT_EXTIO_IOMODE_HELPURL="",rF.MPYTHON_BLUEBIT_EXTIO_IOMODE_MESSAGE0="設擴展端口 IO %2 為 %1",rF.MPYTHON_BLUEBIT_EXTIO_IOMODE_TOOLTIP="IO: 0~7",rF.MPYTHON_BLUEBIT_EXTIO_READIO_HELPURL="",rF.MPYTHON_BLUEBIT_EXTIO_READIO_MESSAGE0="擴展端口值 IO %1",rF.MPYTHON_BLUEBIT_EXTIO_READIO_TOOLTIP="",rF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_HELPURL="",rF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_MESSAGE0="設擴展端口 IO %2 為 %1",rF.MPYTHON_BLUEBIT_EXTIO_WRITEIO_TOOLTIP="",rF.MPYTHON_LCD_OBJECT_HELPURL="",rF.MPYTHON_LCD_OBJECT_MESSAGE0="LCD1602 初始化",rF.MPYTHON_LCD_OBJECT_TOOLTIP="",rF.MPYTHON_LCD_PRINT_HELPURL="",rF.MPYTHON_LCD_PRINT_MESSAGE0="LCD1602 顯示 %1",rF.MPYTHON_LCD_PRINT_TOOLTIP="",rF.MPYTHON_LCD_HOME_HELPURL="",rF.MPYTHON_LCD_HOME_MESSAGE0="LCD1602 光標 回到原點",rF.MPYTHON_LCD_HOME_TOOLTIP="",rF.MPYTHON_LCD_CURSOR_HELPURL="",rF.MPYTHON_LCD_CURSOR_MESSAGE0="LCD1602 光標 %1",rF.MPYTHON_LCD_CURSOR_TOOLTIP="",rF.MPYTHON_LCD_SET_CURSOR_HELPURL="",rF.MPYTHON_LCD_SET_CURSOR_MESSAGE0="LCD1602 起始點 行 %2 列 %1",rF.MPYTHON_LCD_SET_CURSOR_TOOLTIP="行列從0開始計數",rF.MPYTHON_LCD_CLEAR_HELPURL="",rF.MPYTHON_LCD_CLEAR_MESSAGE0="LCD1602 清屏",rF.MPYTHON_LCD_CLEAR_TOOLTIP="",rF.MPYTHON_LCD_CURSOR_BLINK="閃爍",rF.MPYTHON_LCD_CURSOR_NO_BLINK="不閃爍",rF.MPYTHON_RIGHT_TO_LEFT="從右向左",rF.MPYTHON_LEFT_TO_RIGHT="從左向右",rF.MPYTHON_LCD_TEXT_DIRECTION_HELPURL="",rF.MPYTHON_LCD_TEXT_DIRECTION_MESSAGE0="LCD1602 文字方向 %1",rF.MPYTHON_LCD_TEXT_DIRECTION_TOOLTIP="",rF.MPYTHON_LCD_MOVE_HELPURL="",rF.MPYTHON_LCD_MOVE_MESSAGE0="LCD1602 向 %1 滾動一格",rF.MPYTHON_LCD_MOVE_TOOLTIP="",rF.MPYTHON_IR_TRANS_HELPURL="",rF.MPYTHON_IR_TRANS_MESSAGE0="紅外發送 單字節字符串 %1 tx 引脚 %2",rF.MPYTHON_IR_TRANS_TOOLTIP="\n單字節字符串:\n'A', 'b', '1'等\n",rF.OUTPUT_PIN_HELPURL="",rF.OUTPUT_PIN_MESSAGE0="%1",rF.OUTPUT_PIN_TOOLTIP="",rF.INPUT_PIN_HELPURL="",rF.INPUT_PIN_MESSAGE0="%1",rF.INPUT_PIN_TOOLTIP="",rF.READ_ANALOG_PIN_HELPURL="",rF.READ_ANALOG_PIN_MESSAGE0="%1",rF.READ_ANALOG_PIN_TOOLTIP="",rF.SET_DIGITAL_HELPURL="",rF.SET_DIGITAL_MESSAGE0="%1",rF.SET_DIGITAL_TOOLTIP="",rF.SET_ANALOG_HELPURL="",rF.SET_ANALOG_MESSAGE0="%1",rF.SET_ANALOG_TOOLTIP="",rF.ALL_PIN_HELPURL="",rF.ALL_PIN_MESSAGE0="%1",rF.ALL_PIN_TOOLTIP="",rF.PWM_PIN_HELPURL="",rF.PWM_PIN_MESSAGE0="%1",rF.PWM_PIN_TOOLTIP="",rF.DH11_HUM_TEM_PIN_HELPURL="",rF.DH11_HUM_TEM_PIN_MESSAGE0="%1",rF.DH11_HUM_TEM_PIN_TOOLTIP="",rF.UART_TX_PIN_HELPURL="",rF.UART_TX_PIN_MESSAGE0="%1",rF.UART_TX_PIN_TOOLTIP="",rF.UART_RX_PIN_HELPURL="",rF.UART_RX_PIN_MESSAGE0="%1",rF.UART_RX_PIN_TOOLTIP="",rF.I2C_PIN_HELPURL="",rF.I2C_PIN_MESSAGE0="%1",rF.I2C_PIN_TOOLTIP="",rF.MQTT_COMMON_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",rF.MQTT_COMMON_SETUP_MESSAGE0="MQTT %1 client_id %2 server %3 port %4 user %5 password %6 keepalive %7",rF.MQTT_COMMON_SETUP_TOOLTIP="",rF.MQTT_TENCENT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",rF.MQTT_TENCENT_SETUP_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",rF.MQTT_TENCENT_SETUP_TOOLTIP="",rF.MQTT_TENCENT_SETUPS_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient",rF.MQTT_TENCENT_SETUPS_MESSAGE0="MQTT 騰訊物聯網 %1 服務器 %2 Port %3 AppId %4 Device %5 -- 傳出參數 -- %6 ReportTopic %7 ControlTopic %8",rF.MQTT_TENCENT_SETUPS_TOOLTIP="",rF.MQTT_SETUP_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_SETUP_MESSAGE0="MQTT-Easy IoT %1 服務器 %2 Client ID %5 Iot_id %3 Iot_pwd %4",rF.MQTT_SETUP_TOOLTIP="",rF.MQTT_CONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_CONNECT_MESSAGE0="連接 MQTT",rF.MQTT_CONNECT_TOOLTIP="",rF.MQTT_PUBLISH_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_PUBLISH_MESSAGE0="發佈 %1 至 主題 %2",rF.MQTT_PUBLISH_TOOLTIP="",rF.MQTT_REC_FROM_TOPIC_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_REC_FROM_TOPIC_MESSAGE0="當從主題 %1 接收到 %2 時",rF.MQTT_REC_FROM_TOPIC_TOOLTIP="",rF.MQTT_RECEIVE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_RECEIVE_MESSAGE0="當從主題 %1 接收到 %2 時",rF.MQTT_RECEIVE_TOOLTIP='參數"主題"只接受變量',rF.MQTT_RECEIVED_MESSAGE0="當從主題 %1 接收到消息 時",rF.MQTT_MESSAGE_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_MESSAGE_MESSAGE0="從 MQTT 收到的消息",rF.MQTT_MESSAGE_TOOLTIP="",rF.MQTT_WAIT_MSG_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_WAIT_MSG_MESSAGE0="等待主題消息 以 %1 模式",rF.MQTT_WAIT_MSG_TOOLTIP="建議放在'一直重複'中運行",rF.MQTT_DISCONNECT_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/advance/iot/mqtt.html#id2",rF.MQTT_DISCONNECT_MESSAGE0="MQTT 斷開連接",rF.MQTT_DISCONNECT_TOOLTIP="",rF.MQTT_LAST_WILL_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/umqtt.simple.html?highlight=mqtt#MQTTClient.set_last_will",rF.MQTT_LAST_WILL_MESSAGE0="設置 MQTT 主題 %2 離綫消息 %1",rF.MQTT_LAST_WILL_TOOLTIP="設置 MQTT last will 消息。應該在 connect() 之前調用。",rF.MPYTHON_SIOT_CONNECT_HELPURL="",rF.MPYTHON_SIOT_CONNECT_TOOLTIP="",rF.MPYTHON_SIOT_CONNECT_MESSAGE0="創建 SIoT 連接 %1 客戶端ID %2 服務器 %3 用戶 %4 密碼 %5",rF.MPYTHON_SIOT_ISCONNECTED_HELPURL="",rF.MPYTHON_SIOT_ISCONNECTED_TOOLTIP="",rF.MPYTHON_SIOT_ISCONNECTED_MESSAGE0="SIoT 連接成功 ?",rF.MPYTHON_SIOT_SUBSCRIBE_HELPURL="",rF.MPYTHON_SIOT_SUBSCRIBE_TOOLTIP="",rF.MPYTHON_SIOT_SUBSCRIBE_MESSAGE0="SIoT 訂閱主題",rF.MPYTHON_SIOT_SUBSCRIBE_EMPTY_TITLE="點擊左邊星號 訂閱 SIoT 主題",rF.MPYTHON_SIOT_SUBSCRIBE_INPUT_WITH="SIoT 訂閱 主題1",rF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TITLE="主題",rF.MPYTHON_SIOT_SUBSCRIBE_ITEM_TOOLTIP="",rF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TITLE_ADD="最多訂閱 5 個主題",rF.MPYTHON_SIOT_SUBSCRIBE_CONTAINER_TOOLTIP="",rF.MPYTHON_SIOT_DISCONNECT_HELPURL="",rF.MPYTHON_SIOT_DISCONNECT_TOOLTIP="",rF.MPYTHON_SIOT_DISCONNECT_MESSAGE0="SIoT 斷開連接",rF.MPYTHON_SIOT_MESSAGE_HELPURL="",rF.MPYTHON_SIOT_MESSAGE_TOOLTIP="",rF.MPYTHON_SIOT_MESSAGE_MESSAGE0="從 SIoT 收到的消息",rF.MPYTHON_SIOT_TOPIC1="主題1",rF.MPYTHON_SIOT_TOPIC2="主題2",rF.MPYTHON_SIOT_TOPIC3="主題3",rF.MPYTHON_SIOT_TOPIC4="主題4",rF.MPYTHON_SIOT_TOPIC5="主題5",rF.MPYTHON_SIOT_PUBLISH_HELPURL="",rF.MPYTHON_SIOT_PUBLISH_TOOLTIP="",rF.MPYTHON_SIOT_PUBLISH_MESSAGE0="SIoT 發送消息 %1 到 %2",rF.MPYTHON_SIOT_PUBLISH_TO_MESSAGE0="SIoT 發送消息 %1 到 主題 %2",rF.MPYTHON_SIOT_RECEIVE_HELPURL="",rF.MPYTHON_SIOT_RECEIVE_TOOLTIP="",rF.MPYTHON_SIOT_RECEIVE_MESSAGE0="當從 SIoT %1 收到消息時 %2 執行 %3",rF.MPYTHON_SIOT_RECEIVE_FROM_MESSAGE0="當從 SIoT 主題 %1 收到消息時 %2 執行 %3",rF.MPYTHON_IR_RECV_HELPURL="",rF.MPYTHON_IR_RECV_MESSAGE0="紅外接收 整型 rx 引脚 %1",rF.MPYTHON_IR_RECV_TOOLTIP="第一次接收總爲空",rF.MPYTHON_BLUEBIT_OLED_PRINT_HELPURL="",rF.MPYTHON_BLUEBIT_OLED_PRINT_MESSAGE0="bluebit OLED 顯示 %1 x %2 y %3",rF.MPYTHON_BLUEBIT_OLED_PRINT_TOOLTIP="",rF.MPYTHON_BLUEBIT_OLED_INIT_HELPURL="",rF.MPYTHON_BLUEBIT_OLED_INIT_MESSAGE0="bluebit OLED 初始化 tx %1 rx %2",rF.MPYTHON_BLUEBIT_OLED_INIT_TOOLTIP="",rF.MPYTHON_BLUEBIT_OLED_CLEAR_HELPURL="",rF.MPYTHON_BLUEBIT_OLED_CLEAR_MESSAGE0="bluebit OLED 清空",rF.MPYTHON_BLUEBIT_OLED_CLEAR_TOOLTIP="",rF.MPYTHON_BLUEBIT_OLED_BMP_HELPURL="",rF.MPYTHON_BLUEBIT_OLED_BMP_MESSAGE0="bluebit OLED 顯示圖像 x %1 y %2 寬 %3 高 %4 16進制圖像數據 %5",rF.MPYTHON_BLUEBIT_OLED_BMP_TOOLTIP="",rF.mpython_bme280_hum_tem_pre_MESSAGE0="气象 %1",rF.mpython_bme280_hum_tem_pre_TOOLTIP="气压单位Pa, 温度单位摄氏度, 环境湿度单位%",rF.mpythonbox_sound_MESSAGE0="聲音值",rF.mpythonbox_sound_TOOLTIP="採樣數據,为0~4095。",rF.mpythonbox_sound_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython.html",rF.MPYTHONBOX_SLIDER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",rF.MPYTHONBOX_SLIDER_MESSAGE0="滑杆",rF.MPYTHONBOX_SLIDER_TOOLTIP="返回滑杆電阻採樣值。範圍0~4095。",rF.MPYTHONBOX_5BUTTON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",rF.MPYTHONBOX_5BUTTON_MESSAGE0="五向按鍵%1",rF.MPYTHONBOX_5BUTTON_TOOLTIP="",rF.MPYTHONBOX_MOTOR_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython-box",rF.MPYTHONBOX_MOTOR_MESSAGE0="馬達 速度%1",rF.MPYTHONBOX_MOTOR_TOOLTIP="馬達速度,範圍±100。正值表示正轉,負值則反。",rF.MPYTHONBOX_ULTRASONIC_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",rF.MPYTHONBOX_ULTRASONIC_MESSAGE0="超聲波",rF.MPYTHONBOX_ULTRASONIC_TOOLTIP="超聲波測距,獲取超聲波感測器測距值,組織cm。範圍3~340CM",rF.MPYTHONBOX_THEHUMANBODYINFRARE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mPythonBox/lib/mpython_box.html#mpython_box.get_key",rF.MPYTHONBOX_THEHUMANBODYINFRARE_MESSAGE0="人體紅外",rF.MPYTHONBOX_THEHUMANBODYINFRARE_TOOLTIP="返回人體紅外觸發值。當為1時,表示已觸發;當為0時,表示未觸發。",rF.MPYTHONBOX_RGB_pixel_HELPURL="",rF.MPYTHONBOX_RGB_pixel_MESSAGE0="設定第 %1列 %2行 R%3 G%4 B%5",rF.MPYTHONBOX_RGB_pixel_TOOLTIP="設定第多少列,行的RGB顏色",rF.MPYTHONBOX_RGB_get_pixel_HELPURL="",rF.MPYTHONBOX_RGB_get_pixel_MESSAGE0="返回 第%1列 %2行 RGB颜色",rF.MPYTHONBOX_RGB_get_pixel_TOOLTIP="返回第多少列,行位置的RGB顏色",rF.MPYTHONBOX_RGB_ImageText_HELPURL="",rF.MPYTHONBOX_RGB_ImageText_MESSAGE0="滾動顯示文本%1 速度%2",rF.MPYTHONBOX_RGB_ImageText_TOOLTIP="滾動顯示文字,亮度為0不亮,9最亮",rF.MPYTHONBOX_RGB_SetImage_HELPURL="",rF.MPYTHONBOX_RGB_SetImage_TOOLTIP="",rF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建圖像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",rF.MPYTHONBOX_RGB_Image_HELPURL="",rF.MPYTHONBOX_RGB_Image_MESSAGE0="顯示影像%1",rF.MPYTHONBOX_RGB_Image_TOOLTIP="顯示影像",rF.MPYTHONBOX_RGB_SetImage_HELPURL="",rF.MPYTHONBOX_RGB_SetImage_MESSAGE0="創建影像 %1 第一行%2第二行%3第三行%4第四行%5第五行%6",rF.MPYTHONBOX_RGB_SetImage_TOOLTIP="創建新影像,每行每位數代表第幾比特燈,默認紅色;亮度為0不亮,9最亮。",rF.MPYTHONBOX_RGB_SHOW_IMAGE_MESSAGE0="顯示影像/文本 %1",rF.MPYTHONBOX_RGB_SHOW_IMAGE_TOOLTIP="顯示影像或文字消息。",rF.MPYTHONBOX_RGB_SHOW_IMAGE_HELPURL="",rF.MPYTHONBOX_RGB_SHOW_IMAGEImport_MESSAGE0="顯示影像 %1",rF.MPYTHONBOX_RGB_SHOW_IMAGEImport_TOOLTIP="顯示影像。",rF.MPYTHONBOX_RGB_SHOW_IMAGEImport_HELPURL="",rF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_MESSAGE0="複製影像 %1",rF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_TOOLTIP="複製影像。",rF.MPYTHONBOX_RGB_SHOW_IMAGE_Copy_HELPURL="",rF.MPYTHONBOX_RGB_ImageCot_HELPURL="",rF.MPYTHONBOX_RGB_ImageCot_MESSAGE0="切剪影像%1 列%2 行%3 宽%4 高%5",rF.MPYTHONBOX_RGB_ImageCot_TOOLTIP="切剪影像",rF.MPYTHONBOX_RGB_IMAGE_BUILTINS_MESSAGE0="內寘影像 %1",rF.MPYTHONBOX_RGB_IMAGE_BUILTINS_TOOLTIP="選擇一個內寘的影像。",rF.MPYTHONBOX_RGB_IMAGE_BUILTINS_HELPURL="",rF.MPYTHONBOX_RGB_IMAGE_SHIFT_MESSAGE0="平移影像 %1 %2 %3 位",rF.MPYTHONBOX_RGB_IMAGE_SHIFT_TOOLTIP="向特定方向移動影像,並返回移動後的結果。",rF.MPYTHONBOX_RGB_IMAGE_SHIFT_HELPURL="",rF.MPYTHONBOX_RGB_clear_HELPURL="",rF.MPYTHONBOX_RGB_clear_MESSAGE0="關閉所有 RGB 燈",rF.MPYTHONBOX_RGB_clear_TOOLTIP="",rF.MPYTHONBOX_RGB_pixel_return_HELPURL="",rF.MPYTHONBOX_RGB_pixel_return_MESSAGE0="返回第 %1列 %2行 顏色",rF.MPYTHONBOX_RGB_pixel_return_TOOLTIP="返回第多少列,行的RGB顏色",rF.MPYTHONBOX_TRIAXIAL_ACCELERATION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",rF.MPYTHONBOX_TRIAXIAL_ACCELERATION_MESSAGE0="%1軸加速度",rF.MPYTHONBOX_TRIAXIAL_ACCELERATION_TOOLTIP="单位g,范围-2~+2g。",rF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",rF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_MESSAGE0="%1軸角速度",rF.MPYTHONBOX_TRIAXIAL_AUGULAR_VELOCITY_TOOLTIP="范围±500°/秒",rF.MPYTHONBOX_EULER_ANGLE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",rF.MPYTHONBOX_EULER_ANGLE_MESSAGE0="%1歐拉角",rF.MPYTHONBOX_EULER_ANGLE_TOOLTIP="返回當前歐拉角(Pitch,Roll,Yaw),單位角度",rF.MPYTHONBOX_QUATERNION_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython.html",rF.MPYTHONBOX_QUATERNION_MESSAGE0="%1四元數",rF.MPYTHONBOX_QUATERNION_TOOLTIP="返回當前四元數(w,x,y,z)",rF.MPYTHONBOX_CAMERA_LED_HELPURL="",rF.MPYTHONBOX_CAMERA_LED_MESSAGE0="攝像燈%1",rF.MPYTHONBOX_CAMERA_LED_TOOLTIP="led燈,分為打開和關閉兩種狀態",rF.LIST_FIRST_INDEX_HELPURL="",rF.LIST_FIRST_INDEX_MESSAGE0="項 %1 在列表 %2 %3 出現的位置",rF.LIST_FIRST_INDEX_TOOLTIP="",rF.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",rF.MPYTHON_AI_LCD_INIT_MESSAGE0="螢幕 初始化 ",rF.MPYTHON_AI_LCD_INIT_TOOLTIP="初始化 螢幕顯示",rF.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",rF.MPYTHON_AI_SENSOR_RESET_MESSAGE0="監視器 初始化",rF.MPYTHON_AI_SENSOR_RESET_TOOLTIP="初始化單目監視器",rF.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",rF.MPYTHON_AI_SENSOR_ENABLE_MESSAGE0="監視器%1",rF.MPYTHON_AI_SENSOR_ENABLE_TOOLTIP="获取影像",rF.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",rF.MPYTHON_AI_LCD_TEXT_MESSAGE0="顯示文字 x %1 y %2 内容 %3",rF.MPYTHON_AI_LCD_TEXT_TOOLTIP="僅支持字母和數位",rF.MPYTHON_AI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",rF.MPYTHON_AI_SENSOR_SKIP_MESSAGE0="監視器 跳過幀數%1 毫秒%2内的影像",rF.MPYTHON_AI_SENSOR_SKIP_TOOLTIP="監視器跳過指定幀數或者跳過指定時間內的影像",rF.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",rF.MPYTHON_AI_SENSOR_RETURN_MESSAGE0="测 監視器 获取%1",rF.MPYTHON_AI_SENSOR_RETURN_TOOLTIP="(AI)監視器返回参数(宽高,图像帧的格式,图像帧的大小)",rF.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",rF.MPYTHON_AI_SENSOR_SETS_MESSAGE0="監視器 设置%1 为%2",rF.MPYTHON_AI_SENSOR_SETS_TOOLTIP="设置監視器对比度,亮度,饱和度范围为[-2,+2]",rF.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",rF.MPYTHON_AI_SENSOR_AUTO_GAIN_MESSAGE0="監視器 自動增益%1",rF.MPYTHON_AI_SENSOR_AUTO_GAIN_TOOLTIP="1開啟監視器自動增益0關閉監視器自動增益",rF.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",rF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_MESSAGE0="監視器 白平衡%1",rF.MPYTHON_AI_SENSOR_AUTO_WHITEBAL_TOOLTIP="設定攝像自動白平衡模式,默認打開。True為打開,False為關閉自動白平衡。若您想追跡顏色,則需關閉白平衡。",rF.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",rF.MPYTHON_AI_SENSOR_LEVEL_MI_MESSAGE0="監視器 %1 %2",rF.MPYTHON_AI_SENSOR_LEVEL_MI_TOOLTIP="1表示開啟水准鏡像 0表示關閉水准鏡像",rF.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",rF.MPYTHON_AI_LCD_DISPLAY_MESSAGE0="屏幕 顯示生效",rF.MPYTHON_AI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上顯示",rF.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",rF.MPYTHON_AI_LCD_DISPLAY_SIZE_MESSAGE0="图像 顯示生效 x%1 y%2 宽%3 高%4",rF.MPYTHON_AI_LCD_DISPLAY_SIZE_TOOLTIP="可以在液晶屏上顯示一張圖片",rF.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",rF.MPYTHON_AI_SENSOR_IMAGES_MESSAGE0="監視器 獲取影像",rF.MPYTHON_AI_SENSOR_IMAGES_TOOLTIP="控制監視器捕捉影像",rF.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",rF.MPYTHON_AI_IMAGE_FACEDETECT_MESSAGE0="人臉識別",rF.MPYTHON_AI_IMAGE_FACEDETECT_TOOLTIP="",rF.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",rF.MPYTHON_AI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",rF.MPYTHON_AI_LCD_SHOW_REC_TOOLTIP="在影像上繪製矩形",rF.MPYTHON_AI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",rF.MPYTHON_AI_LCD_SHOW_STRING_TOOLTIP="在影像上繪製線條",rF.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",rF.MPYTHON_AI_LCD_CLEAR_ALL_MESSAGE0="螢幕 顯示清空",rF.MPYTHON_AI_LCD_CLEAR_ALL_TOOLTIP="將液晶屏清空為黑色或者指定的顏色",rF.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",rF.MPYTHON_AI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 顏色",rF.MPYTHON_AI_LCD_return_colour_TOOLTIP="返回某個座標點的顏色",rF.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",rF.MPYTHON_AI_LCD_SHOW_CIRCLE_MESSAGE0="圓形%1 x%2 y%3 半径%4 顏色为 R%5 G%6 B%7 加粗%8",rF.MPYTHON_AI_LCD_SHOW_CIRCLE_TOOLTIP="在影像上繪製圓形",rF.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",rF.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",rF.MPYTHON_AI_LCD_TEXT_MOST_MESSAGE0="顯示文字 x %1 y %2 内容 %3 顏色为R%4 G%5 B%6 字号%7",rF.MPYTHON_AI_LCD_TEXT_MOST_TOOLTIP="僅支持字母和數位",rF.MPYTHON_AI_LCD_SHOW_TEN_STRING_MESSAGE0="十字線 x%1 y%2 顏色为R%3 G%4 B%5 尺寸%6 加粗%7",rF.MPYTHON_AI_LCD_SHOW_TEN_STRING_TOOLTIP="在影像上繪製十字線",rF.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",rF.MPYTHON_AI_LCD_SHOW_ARROWS_MESSAGE0="箭頭 x1%1 y1%2 到x2%3 y2%4 顏色为R%5 G%6 B%7 加粗%8",rF.MPYTHON_AI_LCD_SHOW_ARROWS_TOOLTIP="在影像上繪製一個箭頭",rF.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",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="顯示影像 路徑%1",rF.MPYTHON_AI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="顯示影像",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="圖像轉換為%1",rF.MPYTHON_AI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="黑白翻轉是將二進位影像0(黑色)變為1(白色),1(白色)變為0(黑色),非常快速地翻轉二進位影像中的所有點數值。",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_MESSAGE0="影像 從笛卡爾座標到%1 座標重新投影 反向%2",rF.MPYTHON_AI_LCD_SHOW_IMAGE_DESCARTES_TOOLTIP="",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_MESSAGE0="影像 膨胀 級別%1",rF.MPYTHON_AI_LCD_SHOW_IMAGE_EROSION_TOOLTIP="膨脹就是對影像高亮部分進行“領域擴張”,效果圖擁有比原圖更大的高亮區域。",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_MESSAGE0="影像 中点濾波 級別%1 滤波%2",rF.MPYTHON_AI_LCD_SHOW_IMAGE_MIDDLE_TOOLTIP="控制影像混合的最小/最大程度。0只適用於最小濾波,1僅用於最大濾波。",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_MESSAGE0="影像 众数濾波 級別%1",rF.MPYTHON_AI_LCD_SHOW_IMAGE_MODE_TOOLTIP="在影像上運行眾數濾波,用相鄰點數的模式替換每個點數。",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_MESSAGE0="影像 模糊滤波 级别%1",rF.MPYTHON_AI_LCD_SHOW_IMAGE_INDISTINCT_TOOLTIP="使用盒式濾波器的標準平均值模糊濾波。",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_MESSAGE0="影像 卡通化 級別%1 起始點數差异%2 相鄰點數差异%3",rF.MPYTHON_AI_LCD_SHOW_IMAGE_CARTOON_TOOLTIP="使图像卡通化",rF.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",rF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_MESSAGE0="影像 3D旋轉 上下旋轉%1 左右旋轉%2 度数%3 左右移动%4 上下移动%5 缩放%6",rF.MPYTHON_AI_LCD_SHOW_IMAGE_3D_TOOLTIP="通過執行幀緩衝區的3D旋轉來糾正影像中的透視問題。",rF.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",rF.MPYTHON_AI_LCD_SHOW_ECTYPE_MESSAGE0="將影像的副本保存到SD卡 图像名%1 影像顯示區域 x%2 y%3 宽%4 高%5",rF.MPYTHON_AI_LCD_SHOW_ECTYPE_TOOLTIP="將影像的副本保存到SD卡",rF.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",rF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="創建一個影像對象的副本 複製影像區域 x%1 y%2 宽%3 高%4",rF.MPYTHON_AI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="創建一個影像對象的副本",rF.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",rF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="手寫數位識別",rF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="手寫數位識別",rF.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",rF.MPYTHON_AI_LCD_PIXEL_COLOUR_MESSAGE0="屏幕 x%1 y%2 显示颜色 R%3 G%4 B%5",rF.MPYTHON_AI_LCD_PIXEL_COLOUR_TOOLTIP="屏幕显示颜色",rF.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",rF.MPYTHON_AI_LCD_COLOUR_MESSAGE0="屏幕 初始化 显示颜色 R%1 G%2 B%3",rF.MPYTHON_AI_LCD_COLOUR_TOOLTIP="屏幕显示颜色",rF.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",rF.MPYTHON_AI_SENSOR_PATTERN_MESSAGE0="監視器 初始化 點數模式 %1",rF.MPYTHON_AI_SENSOR_PATTERN_TOOLTIP="用於設定監視器點數模式,有黑白和rgb彩色",rF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",rF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="追跡色塊 顯示%1",rF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",rF.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",rF.MPYTHON_AI2_FACE_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 人臉",rF.MPYTHON_AI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",rF.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",rF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 人臉識別",rF.MPYTHON_AI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",rF.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",rF.MPYTHON_AI2_RESULT_FACE_MESSAGE0="(實驗箱)獲取識別後人臉的 所有參數",rF.MPYTHON_AI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",rF.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",rF.MPYTHON_AI2_RESULT_FACE_X_MESSAGE0="(實驗箱)獲取識別後人臉的 x座標",rF.MPYTHON_AI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",rF.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",rF.MPYTHON_AI2_RESULT_FACE_Y_MESSAGE0="(實驗箱)獲取識別後人臉的 y座標",rF.MPYTHON_AI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",rF.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",rF.MPYTHON_AI2_RESULT_FACE_W_MESSAGE0="(實驗箱)獲取識別後人臉的 寬度",rF.MPYTHON_AI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",rF.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",rF.MPYTHON_AI2_RESULT_FACE_H_MESSAGE0="(實驗箱)獲取識別後人臉的 高度",rF.MPYTHON_AI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",rF.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",rF.MPYTHON_AI2_RESULT_FACE_VALUE_MESSAGE0="(實驗箱)獲取識別後人臉的 置信度",rF.MPYTHON_AI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",rF.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",rF.MPYTHON_AI2_RESULT_FACE_OBJNUM_MESSAGE0="(實驗箱)獲取識別後人臉的 數量",rF.MPYTHON_AI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",rF.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",rF.MPYTHON_AI2_20class_TRACKING_MESSAGE0="(實驗箱)選擇訓練模型 20類",rF.MPYTHON_AI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",rF.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",rF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(實驗箱)調用攝像頭進行 20類識別",rF.MPYTHON_AI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_MESSAGE0="(實驗箱)獲取識別後20類的 所有參數",rF.MPYTHON_AI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_X_MESSAGE0="(實驗箱)獲取識別後20類的 x座標",rF.MPYTHON_AI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_Y_MESSAGE0="(實驗箱)獲取識別後20類的 y座標",rF.MPYTHON_AI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_W_MESSAGE0="(實驗箱)獲取識別後20類的 寬度",rF.MPYTHON_AI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_H_MESSAGE0="(實驗箱)獲取識別後20類的 高度",rF.MPYTHON_AI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_VALUE_MESSAGE0="(實驗箱)獲取識別後20類的 置信度",rF.MPYTHON_AI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(實驗箱)獲取識別後20類的 數量",rF.MPYTHON_AI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_MESSAGE0="(實驗箱)獲取識別後20類的 類型",rF.MPYTHON_AI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",rF.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",rF.MPYTHON_AI2_RESULT_20CLASS_INDEX_MESSAGE0="(實驗箱)獲取識別後20類的 類型數量",rF.MPYTHON_AI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",rF.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",rF.MPYTHON_AI2_NUMBER_DISCERN_MESSAGE0="(實驗箱)選擇訓練模型 手寫數字",rF.MPYTHON_AI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",rF.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",rF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_MESSAGE0="(實驗箱)調用攝像頭進行 手寫數字識別",rF.MPYTHON_AI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",rF.MPYTHON_AI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",rF.MPYTHON_AI2_NUMBER_DETECT_ALL_MESSAGE0="(實驗箱)獲取識別後手寫數字的 所有參數",rF.MPYTHON_AI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",rF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",rF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_MESSAGE0="(實驗箱)獲取識別後手寫數字的 數字",rF.MPYTHON_AI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",rF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",rF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(實驗箱)獲取識別後手寫數字的 置信度",rF.MPYTHON_AI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",rF.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",rF.MPYTHON_AI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",rF.MPYTHON_AI_IMAGE_LAB_TOOLTIP="image寻找颜色",rF.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",rF.MPYTHON_AI_TRACE_COLOR_MESSAGE0="(實驗箱)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",rF.MPYTHON_AI_TRACE_COLOR_TOOLTIP="追蹤色塊",rF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_HELPURL="",rF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(實驗箱)追蹤色塊 顯示%1",rF.MPYTHON_AI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",rF.MPYTHON_AI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_ALL_MESSAGE0="(實驗箱)%1獲取識別後色塊的 所有參數",rF.MPYTHON_AI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 x座標",rF.MPYTHON_AI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 y座標",rF.MPYTHON_AI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_W_MESSAGE0="(實驗箱)%1獲取識別後色塊的 寬度",rF.MPYTHON_AI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_H_MESSAGE0="(實驗箱)%1獲取識別後色塊的 高度",rF.MPYTHON_AI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_NUMBER_MESSAGE0="(實驗箱)%1獲取識別後色塊的 數量",rF.MPYTHON_AI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_CENTER_X_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心x座標",rF.MPYTHON_AI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_CENTER_Y_MESSAGE0="(實驗箱)%1獲取識別後色塊的 中心y座標",rF.MPYTHON_AI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_AI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_AI_BLOB_ORTHOGON_MESSAGE0="(實驗箱)%1獲取識別後色塊的 矩形",rF.MPYTHON_AI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_DRILL_WEIGHT_MESSAGE0="初始化 訓練 %1",rF.MPYTHON_DRILL_WEIGHT_TOOLTIP="",rF.MPYTHON_DRILL_WEIGHT_HELPURL="",rF.MPYTHON_DRILL_LINEAR_REGRESSION_HELPURL="",rF.MPYTHON_DRILL_LINEAR_REGRESSION_MESSAGE0="實例化 線性迴歸直線",rF.MPYTHON_DRILL_LINEAR_REGRESSION_TOOLTIP="",rF.MPYTHON_DRILL_TITLE_HELPURL="",rF.MPYTHON_DRILL_TITLE_MESSAGE0="標題%1 字號%2",rF.MPYTHON_DRILL_TITLE_TOOLTIP="",rF.MPYTHON_DRILL_LABEL_HELPURL="",rF.MPYTHON_DRILL_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",rF.MPYTHON_DRILL_LABEL_TOOLTIP="",rF.MPYTHON_DRILL_DRILL_REALITY_HELPURL="",rF.MPYTHON_DRILL_DRILL_REALITY_MESSAGE0="真實數據 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",rF.MPYTHON_DRILL_DRILL_REALITY_TOOLTIP="",rF.MPYTHON_DRILL_PREDICTED_REALITY_HELPURL="",rF.MPYTHON_DRILL_PREDICTED_REALITY_MESSAGE0="預測線性迴歸直線 符號標記%1 顏色爲 r%2 g%3 b%4 標題%5",rF.MPYTHON_DRILL_PREDICTED_REALITY_TOOLTIP="",rF.MPYTHON_DRILL_LEGEND_HELPURL="",rF.MPYTHON_DRILL_LEGEND_MESSAGE0="展示圖例",rF.MPYTHON_DRILL_LEGEND_TOOLTIP="",rF.MPYTHON_DRILL_SHOW_HELPURL="",rF.MPYTHON_DRILL_SHOW_MESSAGE0="顯示圖片",rF.MPYTHON_DRILL_SHOW_TOOLTIP="",rF.MPYTHON_DRILL_DRILL_PRINT_HELPURL="",rF.MPYTHON_DRILL_DRILL_PRINT_MESSAGE0="返回對應鍵值%1",rF.MPYTHON_DRILL_DRILL_PRINT_TOOLTIP="",rF.MPYTHON_DRILL_DRILL_full_line="實線",rF.MPYTHON_DRILL_DRILL_dash_line="破折線",rF.MPYTHON_DRILL_DRILL_chain_line="點劃線",rF.MPYTHON_DRILL_DRILL_imaginary_line="虛線",rF.MPYTHON_DRILL_DRILL_dot="點",rF.MPYTHON_DRILL_DRILL_pixel="像素",rF.MPYTHON_DRILL_DRILL_solid_rim="實心圈",rF.MPYTHON_DRILL_DRILL_down_triangle="下三角",rF.MPYTHON_DRILL_DRILL_up_triangle="上三角",rF.MPYTHON_DRILL_DRILL_right_triangle="右三角",rF.MPYTHON_DRILL_DRILL_left_triangle="左三角",rF.MPYTHON_DRILL_DRILL_down_flower_triangle="下花三角",rF.MPYTHON_DRILL_DRILL_up_flower_triangle="上花三角",rF.MPYTHON_DRILL_DRILL_right_flower_triangle="右花三角",rF.MPYTHON_DRILL_DRILL_left_flower_triangle="左花三角",rF.MPYTHON_DRILL_DRILL_solid_square="實心方形",rF.MPYTHON_DRILL_DRILL_solid_pentagon="實心五角",rF.MPYTHON_DRILL_DRILL_star="星形",rF.MPYTHON_DRILL_DRILL_vertical_hexagon="豎六邊形",rF.MPYTHON_DRILL_DRILL_across_hexagon="橫六邊形",rF.MPYTHON_DRILL_DRILL_cross="十字",rF.MPYTHON_DRILL_DRILL_X="X",rF.MPYTHON_DRILL_DRILL_rhombus="菱形",rF.MPYTHON_DRILL_DRILL_thin_rhombus="瘦菱形",rF.MPYTHON_DRILL_DRILL_vertical_line="垂直線",rF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_MESSAGE0="初始化 鳶尾花數據集",rF.MPYTHONS_FLOWER_DE_LUCE_INITIALIZE_TOOLTIP="採用Python的Sklearn機器學習庫中自帶的數據集——鳶尾花數據集。簡單分析數據集之間特徵的關係圖,根據花瓣長度,花瓣寬度,花萼長度,花萼寬度四個特徵進行繪圖虹膜植物數據集可以從龍骨數據集數據集網站獲取,也可以直接從Sklearn。數據集機器學習包得到。數據集共包含4個特徵變量,1個類別變量,共150個有樣本。類別變量分別對應鳶尾花的三個亞屬,分別是山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor)和維吉尼亞鳶尾(Iris-virginica)分別用(0,1,2)來做映射",rF.MPYTHONS_FLOWER_DE_LUCE_PCA_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_PCA_MESSAGE0="鳶尾花 主成分分析",rF.MPYTHONS_FLOWER_DE_LUCE_PCA_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_FA3D_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_FA3D_MESSAGE0="鳶尾花 因子分析 3D",rF.MPYTHONS_FLOWER_DE_LUCE_FA3D_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_FA_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_FA_MESSAGE0="鳶尾花 因子分析",rF.MPYTHONS_FLOWER_DE_LUCE_FA_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_MESSAGE0="預測圖示 鳶尾花類型%1 呈現內容 x%3 y%4 呈現種類%2 顏色爲 r%5 g%6 b%7 標題%8 向上合併%9",rF.MPYTHONS_FLOWER_DE_LUCE_PCA_DISPLAY_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_DATA_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_DATA_MESSAGE0="預測圖示 呈現內容 x%1 y%2 呈現種類%3 顏色爲 r%4 g%5 b%6 標題%7",rF.MPYTHONS_FLOWER_DE_LUCE_DATA_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_MESSAGE0="3D 預測圖示 呈現內容 x朝向%1 y朝向%2 z朝向%3 顏色爲 r%4 g%5 b%6 標題%7",rF.MPYTHONS_FLOWER_DE_LUCE_DATA3D_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_TITLE_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_TITLE_MESSAGE0="標題%1 字號%2",rF.MPYTHONS_FLOWER_DE_LUCE_TITLE_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_LABEL_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_LABEL_MESSAGE0="標籤%1 標題%2 字號%3",rF.MPYTHONS_FLOWER_DE_LUCE_LABEL_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_MESSAGE0="3D 標題%1 字號%2",rF.MPYTHONS_FLOWER_DE_LUCE_TITLE3D_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_MESSAGE0="3D 標籤%1 標題%2 字號%3",rF.MPYTHONS_FLOWER_DE_LUCE_LABEL3D_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_MESSAGE0="展示圖例",rF.MPYTHONS_FLOWER_DE_LUCE_LEGEND_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_SHOW_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_SHOW_MESSAGE0="顯示圖片",rF.MPYTHONS_FLOWER_DE_LUCE_SHOW_TOOLTIP="",rF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_HELPURL="",rF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_MESSAGE0="花萼和花瓣的x, y座標",rF.MPYTHONS_FLOWER_DE_LUCE_LOAD_IRIS_TOOLTIP="共150條記錄,分別代表50條山鳶尾(Iris-setosa),變色鳶尾(Iris-versicolor),維吉尼亞鳶尾(Iris-virginica)",rF.MPYTHONS_FLOWER_DE_LUCE_Iris_setosa="山鳶尾",rF.MPYTHONS_FLOWER_DE_LUCE_Iris_versicolor="變色鳶尾",rF.MPYTHONS_FLOWER_DE_LUCE_Iris_virginica="維吉尼亞鳶尾",rF.MPYTHONS_FLOWER_DE_LUCE_scatter_diagram="散點圖",rF.MPYTHONS_FLOWER_DE_LUCE_kde_diagram="kde圖",rF.MPYTHONS_FLOWER_DE_LUCE_box_diagram="箱圖",rF.MPYTHONS_FLOWER_DE_LUCE_merge="合並",rF.MPYTHONS_FLOWER_DE_LUCE_not_merge="不合並",rF.MPYTHONS_FLOWER_DE_LUCE_calyx_length="花萼長度",rF.MPYTHONS_FLOWER_DE_LUCE_calyx_width="花萼寬度",rF.MPYTHONS_FLOWER_DE_LUCE_petal_length="花瓣長度",rF.MPYTHONS_FLOWER_DE_LUCE_petal_width="花瓣寬度",rF.MPYTHONS_CONVERT_PICTURE_HELPURL="",rF.MPYTHONS_CONVERT_PICTURE_MESSAGE0="將圖片轉換爲28²二值圖%1 待處理的圖片存儲路徑%2 處理後的圖片存儲路徑%3 格式%4",rF.MPYTHONS_CONVERT_PICTURE_TOOLTIP="掌控板通過串口把WIF傳給語音助手",rF.MPYTHONS_NUMBER_REPERTOIRE_HELPURL="",rF.MPYTHONS_NUMBER_REPERTOIRE_MESSAGE0="查找解析 手寫數字數 據存儲路徑%1",rF.MPYTHONS_NUMBER_REPERTOIRE_TOOLTIP="使用手寫數字字符庫",rF.MPYTHONS_SHOW_NUMBER_PATH_HELPURL="",rF.MPYTHONS_SHOW_NUMBER_PATH_MESSAGE0="手寫數字圖像 存儲路徑%1",rF.MPYTHONS_SHOW_NUMBER_PATH_TOOLTIP="",rF.MPYTHONS_SHOW_NUMBER_HELPURL="",rF.MPYTHONS_SHOW_NUMBER_MESSAGE0="顯示手寫數字圖像",rF.MPYTHONS_SHOW_NUMBER_TOOLTIP="",rF.MPYTHONS_NUMBER_RECOGNITION_HELPURL="",rF.MPYTHONS_NUMBER_RECOGNITION_MESSAGE0="識別手寫數字圖像 存儲路徑%1",rF.MPYTHONS_NUMBER_RECOGNITION_TOOLTIP="",rF.MPYTHONS_NUMBER_PLACEHOLDER_HELPURL="",rF.MPYTHONS_NUMBER_PLACEHOLDER_MESSAGE0="創建變量%1 初始化 神經網絡張量 變量名%2",rF.MPYTHONS_NUMBER_PLACEHOLDER_TOOLTIP="",rF.MPYTHON_DRILL_RESHAPE_MESSAGE0="創建變量%1 將輸入照片變量%2 轉換爲 神經網絡輸出張量%3",rF.MPYTHON_DRILL_RESHAPE_TOOLTIP="",rF.MPYTHON_DRILL_RESHAPE_HELPURL="",rF.MPYTHON_NUMBER_CONV_WEIGHT_MESSAGE0="創建變量%1 共享變量%2 初始化模式%3",rF.MPYTHON_NUMBER_CONV_WEIGHT_TOOLTIP="",rF.MPYTHON_NUMBER_CONV_WEIGHT_HELPURL="",rF.MPYTHON_NUMBER_INITIALIZER_MESSAGE0="產生截斷正態分佈隨機數 輸出張量%1 標準差%2",rF.MPYTHON_NUMBER_INITIALIZER_TOOLTIP="",rF.MPYTHON_NUMBER_INITIALIZER_HELPURL="",rF.MPYTHON_NUMBER_CONSTANT_MESSAGE0="創建常量 數值%1 輸出張量%2",rF.MPYTHON_NUMBER_CONSTANT_TOOLTIP="",rF.MPYTHON_NUMBER_CONSTANT_HELPURL="",rF.MPYTHON_NUMBER_CONV2D_MESSAGE0="神經網絡輸出張量%1 共享變量%2 步長%3 填充%4",rF.MPYTHON_NUMBER_CONV2D_TOOLTIP="",rF.MPYTHON_NUMBER_CONV2D_HELPURL="",rF.MPYTHON_NUMBER_CONV_BIASES_MESSAGE0="張量%1",rF.MPYTHON_NUMBER_CONV_BIASES_TOOLTIP="",rF.MPYTHON_NUMBER_CONV_BIASES_HELPURL="",rF.MPYTHON_NUMBER_CONV_CONV2D_MESSAGE0="卷積二維層 變量%1 %2",rF.MPYTHON_NUMBER_CONV_CONV2D_TOOLTIP="",rF.MPYTHON_NUMBER_CONV_CONV2D_HELPURL="",rF.MPYTHON_NUMBER_RELU_MESSAGE0="創建變量%1 Relu正向激勵函數 卷積二維層%2",rF.MPYTHON_NUMBER_RELU_TOOLTIP="",rF.MPYTHON_NUMBER_RELU_HELPURL="",rF.MPYTHON_NUMBER_MAX_POOL_MESSAGE0="池化二維層 變量%1 卷積層%2 池化窗口%3 步長%4 填充%5",rF.MPYTHON_NUMBER_MAX_POOL_TOOLTIP="",rF.MPYTHON_NUMBER_MAX_POOL_HELPURL="",rF.MPYTHON_NUMBER_MATMUL_MESSAGE0="兩個參數的對應元素各自相乘 x%1 y%2",rF.MPYTHON_NUMBER_MATMUL_TOOLTIP="",rF.MPYTHON_NUMBER_MATMUL_HELPURL="",rF.MPYTHON_NUMBER_ADD_MESSAGE0="全連接層 變量%1 兩個參數的元素相加 x%2 y%3",rF.MPYTHON_NUMBER_ADD_TOOLTIP="",rF.MPYTHON_NUMBER_ADD_HELPURL="",rF.MPYTHON_NUMBER_SOFTMAX_MESSAGE0="創建變量%1 預測模型準確度 變量名%2",rF.MPYTHON_NUMBER_SOFTMAX_TOOLTIP="",rF.MPYTHON_NUMBER_SOFTMAX_HELPURL="",rF.MPYTHON_NUMBER_REDUCE_MEAN_MESSAGE0="創建變量%1 損失函數%2",rF.MPYTHON_NUMBER_REDUCE_MEAN_TOOLTIP="",rF.MPYTHON_NUMBER_REDUCE_MEAN_HELPURL="",rF.MPYTHON_NUMBER_LOG_MESSAGE0="自然對數 %1",rF.MPYTHON_NUMBER_LOG_TOOLTIP="",rF.MPYTHON_NUMBER_LOG_HELPURL="",rF.MPYTHON_NUMBER_REDUCE_SUM_MESSAGE0="壓縮求和%1 維度%2",rF.MPYTHON_NUMBER_REDUCE_SUM_TOOLTIP="因爲日誌函數是單調遞增的,所以logP (Y | X)也會達到最大值,因此在前面加上負號之後,最大化P (Y | X)就等價於最小化了。",rF.MPYTHON_NUMBER_REDUCE_SUM_HELPURL="https://www.cnblogs.com/guoyaohua/p/9217206.html",rF.MPYTHON_NUMBER_TRAIN_MESSAGE0="優化學習速率 %1",rF.MPYTHON_NUMBER_TRAIN_TOOLTIP="",rF.MPYTHON_NUMBER_TRAIN_HELPURL="",rF.MPYTHON_NUMBER_MINIMIZE_MESSAGE0="創建變量%1 優化張量%2",rF.MPYTHON_NUMBER_MINIMIZE_TOOLTIP="",rF.MPYTHON_NUMBER_MINIMIZE_HELPURL="",rF.MPYTHON_NUMBER_INIT_MESSAGE0="初始化模型 完成",rF.MPYTHON_NUMBER_INIT_TOOLTIP="",rF.MPYTHON_NUMBER_INIT_HELPURL="",rF.MPYTHON_NUMBER_TRAIN_TEST_MESSAGE0="選擇 手寫數字集%1 數量%2",rF.MPYTHON_NUMBER_TRAIN_TEST_TOOLTIP="",rF.MPYTHON_NUMBER_TRAIN_TEST_HELPURL="",rF.MPYTHON_NUMBER_SESSION_RUN_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",rF.MPYTHON_NUMBER_SESSION_RUN_TOOLTIP="",rF.MPYTHON_NUMBER_SESSION_RUN_HELPURL="",rF.MPYTHON_NUMBER_SESSION_RUN2_MESSAGE0="啓動數據流圖會話進行計算 會話%1 圖片%2 標籤%3",rF.MPYTHON_NUMBER_SESSION_RUN2_TOOLTIP="",rF.MPYTHON_NUMBER_SESSION_RUN2_HELPURL="",rF.MPYTHON_NUMBER_SESSION_RUN3_MESSAGE0="預測模型%1 擬合度%2 會話%3",rF.MPYTHON_NUMBER_SESSION_RUN3_TOOLTIP="",rF.MPYTHON_NUMBER_SESSION_RUN3_HELPURL="",rF.MPYTHON_NUMBER_EQUAL_MESSAGE0="兩個張量的每一維是否相等 x%1 y%2",rF.MPYTHON_NUMBER_EQUAL_TOOLTIP="",rF.MPYTHON_NUMBER_EQUAL_HELPURL="",rF.MPYTHON_NUMBER_ARGMAX_MESSAGE0="張量%1 按%2比較返回最大值的索引",rF.MPYTHON_NUMBER_ARGMAX_TOOLTIP="",rF.MPYTHON_NUMBER_ARGMAX_HELPURL="",rF.MPYTHON_NUMBER_CAST_MESSAGE0="轉爲浮點型 %1",rF.MPYTHON_NUMBER_CAST_TOOLTIP="",rF.MPYTHON_NUMBER_CAST_HELPURL="",rF.MPYTHONS_NUMBER_SAVER_SAVE_HELPURL="",rF.MPYTHONS_NUMBER_SAVER_SAVE_MESSAGE0="手寫數字識別模型 變量名%1 存儲路徑%2",rF.MPYTHONS_NUMBER_SAVER_SAVE_TOOLTIP="MNIST手寫數字識別模型保存路徑",rF.MPYTHONS_NUMBER_SAVER_RESTORE_HELPURL="",rF.MPYTHONS_NUMBER_SAVER_RESTORE_MESSAGE0="加載模型%1 存儲路徑%2",rF.MPYTHONS_NUMBER_SAVER_RESTORE_TOOLTIP="",rF.MPYTHONS_NUMBER_SAME="包含邊界",rF.MPYTHONS_NUMBER_VALID="不包含邊界",rF.MPYTHONS_NUMBER_train="訓練",rF.MPYTHONS_NUMBER_test="測試",rF.MPYTHONS_NUMBER_row="行",rF.MPYTHONS_NUMBER_rank="列",rF.MPYTHONS_FACE_RECOGNITION_CAMERA_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_CAMERA_MESSAGE0="調用攝像頭 %1",rF.MPYTHONS_FACE_RECOGNITION_CAMERA_TOOLTIP="調用筆記本內置攝像頭,所以參數爲0,如果有其他的攝像頭可以調整參數爲1,2",rF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_MESSAGE0="關閉攝像頭",rF.MPYTHONS_FACE_RECOGNITION_CAMERA_OFF_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_MESSAGE0="刪除所有窗口",rF.MPYTHONS_FACE_RECOGNITION_WINDOWS_DELETE_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加載模型 存儲路徑%1",rF.MPYTHONS_FACE_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_MESSAGE0="從攝像頭讀取圖片",rF.MPYTHONS_FACE_RECOGNITION_READ_IMAGES_TOOLTIP="ret如果有讀取圖片就真的,否則假;第二個參數是框架,是當前截取一幀的圖片。",rF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_MESSAGE0="轉爲灰度圖片",rF.MPYTHONS_FACE_RECOGNITION_GRAY_IMAGES_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_MESSAGE0="檢測人臉 每次圖像尺寸減小比例%1",rF.MPYTHONS_FACE_RECOGNITION_DETECTION_FACES_TOOLTIP="",rF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_HELPURL="",rF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_MESSAGE0="人臉區域顯示矩形框 顏色爲 紅%1 綠%2 藍%3",rF.MPYTHONS_FACE_DISPLAY_RECOGNITION_ORTHOGON_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_HELPURL="",rF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_MESSAGE0="保存圖像 位置%1 ID%2 編號%3",rF.MPYTHONS_FACE_RECOGNITIONR_PSTORAGE_PICTURE_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_HELPURL="",rF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_MESSAGE0="窗口中顯示圖像 文件名%1",rF.MPYTHONS_FACE_RECOGNITIONR_PRESERVE_PICTURE_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITIONR_ESC_HELPURL="",rF.MPYTHONS_FACE_RECOGNITIONR_ESC_MESSAGE0="通過esc鍵 退出",rF.MPYTHONS_FACE_RECOGNITIONR_ESC_TOOLTIP="在窗口置頂時使用纔有效果",rF.MPYTHONS_FACE_RECOGNITIONR_HELPURL="",rF.MPYTHONS_FACE_RECOGNITIONR_MESSAGE0="獲得人臉在圖像中的座標值 人臉%1",rF.MPYTHONS_FACE_RECOGNITIONR_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_MESSAGE0="是否讀取圖片",rF.MPYTHONS_FACE_RECOGNITION_JUDGE_FACES_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_MESSAGE0="是否打開攝像頭",rF.MPYTHONS_FACE_RECOGNITION_JUDGE_CAMERA_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_MESSAGE0="獲取照片及id 照片存儲路徑%1",rF.MPYTHONS_FACE_RECOGNITION_ACQUIRE_ID_PICTURE_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_MESSAGE0="初始化訓練模型",rF.MPYTHONS_FACE_RECOGNITION_INITIALIZE_TRANI_MODEL_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_START_DRILL_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_START_DRILL_MESSAGE0="開始訓練模型",rF.MPYTHONS_FACE_RECOGNITION_START_DRILL_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_MESSAGE0="%1訓練模型 存儲路徑%2",rF.MPYTHONS_FACE_RECOGNITION_STORAGE_DRILL_MODEL_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_MESSAGE0="人臉模型訓練 數目",rF.MPYTHONS_FACE_RECOGNITION_DRILL_NUMBERS_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_FONT_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_FONT_MESSAGE0="窗口顯示 識別的名字%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",rF.MPYTHONS_FACE_RECOGNITION_FONT_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_PERCENT_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_PERCENT_MESSAGE0="窗口顯示 識別的置信度%1 設置字體爲%2 顏色爲 紅%3 綠%4 藍%5",rF.MPYTHONS_FACE_RECOGNITION_PERCENT_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_HELPURL="",rF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_MESSAGE0="預測人臉 名字%1 置信度%2",rF.MPYTHONS_FACE_RECOGNITION_FORECAST_FACE_INITIALIZE_TOOLTIP="",rF.MPYTHONS_FACE_RECOGNITION_FORECAST_Write="寫入",rF.MPYTHONS_FACE_RECOGNITION_FORECAST_Read="讀取",rF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_HELPURL="",rF.MPYTHONS_DIALOGUE_ROBOT_INITIALIZE_MESSAGE0="初始化 聊天机器人",rF.MPYTHONS_ADIALOGUE_ROBOT_INITIALIZE_TOOLTIP="",rF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_HELPURL="",rF.MPYTHONS_DIALOGUE_ROBOT_CHOOSE_MESSAGE0="选择训练器 聊天机器人",rF.MPYTHONS_ADIALOGUE_ROBOT_CHOOSE_TOOLTIP="",rF.MPYTHONS_DIALOGUE_ROBOT_START_HELPURL="",rF.MPYTHONS_DIALOGUE_ROBOT_START_MESSAGE0="选择与%1 聊天",rF.MPYTHONS_ADIALOGUE_ROBOT_START_TOOLTIP="",rF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_HELPURL="",rF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_TOOLTIP="",rF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS_MESSAGE0="自定义 语料库 %1[%2]",rF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_HELPURL="",rF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_MESSAGE0="输入对话 获得响应 %1",rF.MPYTHONS_ADIALOGUE_ROBOT_MY_FAQs_TOOLTIP="",rF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_MESSAGE0="识别响应",rF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_TOOLTIP="",rF.MPYTHONS_ADIALOGUE_ROBOT_FAQs_RETURN_HELPURL="",rF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_HELPURL="",rF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_MESSAGE0="选择跟 %1 聊天",rF.MPYTHONS_ADIALOGUE_ROBOT_CORPUS2_TOOLTIP="",rF.Jenny="珍妮",rF.Jack="杰克",rF.Tom="汤姆",rF.MPYTHONS_ADIALOGUE_ROBOT_FEED_HELPURL="",rF.MPYTHONS_ADIALOGUE_ROBOT_FEED_MESSAGE0="选择 %1 %2 模式%3 %4 喂养%5",rF.MPYTHONS_ADIALOGUE_ROBOT_FEED_TOOLTIP="",rF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_HELPURL="",rF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_MESSAGE0="查看训练库 选择%1",rF.MPYTHONS_ADIALOGUE_READ_TRAINING_LIBRARY_TOOLTIP="",rF.MPYTHON_GESTURE_RANDOM_NUMBER_HELPURL="",rF.MPYTHON_GESTURE_RANDOM_NUMBER_MESSAGE0="生成随机数 %1",rF.MPYTHON_GESTURE_RANDOM_NUMBER_TOOLTIP="",rF.MPYTHON_AGESTURE_SHOW_WINDOW_HELPURL="",rF.MPYTHON_AGESTURE_SHOW_WINDOW_MESSAGE0="显示窗口",rF.MPYTHON_AGESTURE_SHOW_WINDOW_TOOLTIP="",rF.MPYTHON_AGESTURE_IMSHOW_HELPURL="",rF.MPYTHON_AGESTURE_IMSHOW_MESSAGE0="处理图像 %1",rF.MPYTHON_AGESTURE_IMSHOW_TOOLTIP="",rF.MPYTHON_AGESTURE_TRAIN_MODEL_HELPURL="",rF.MPYTHON_AGESTURE_TRAIN_MODEL_MESSAGE0="选择训练库 knn模型",rF.MPYTHON_AGESTURE_TRAIN_MODEL_TOOLTIP="",rF.MPYTHON_AGESTURE_LOAD_MODEL_HELPURL="",rF.MPYTHON_AGESTURE_LOAD_MODEL_MESSAGE0="载入knn模型 存储路径%1",rF.MPYTHON_AGESTURE_LOAD_MODEL_TOOLTIP="",rF.MPYTHON_AGESTURE_OPEN_IMAGES_HELPURL="",rF.MPYTHON_AGESTURE_OPEN_IMAGES_MESSAGE0="%1打开图片 存储路径%2 图片名%3",rF.MPYTHON_AGESTURE_OPEN_IMAGES_TOOLTIP="",rF.MPYTHON_AGESTURE_ARRAY_MESSAGE0="选择%1 构建特征数据%2",rF.MPYTHON_AGESTURE_ARRAY_TOOLTIP="",rF.MPYTHON_AGESTURE_ARRAY_HELPURL="",rF.MPYTHON_GESTURE_RANDOM_RANK_MESSAGE0="打乱排序%1 ",rF.MPYTHON_GESTURE_RANDOM_RANK_TOOLTIP="",rF.MPYTHON_GESTURE_RANDOM_RANK_HELPURL="",rF.MPYTHON_GESTURE_READ_LEND_MESSAGE0=" %1 图片特征",rF.MPYTHON_GESTURE_READ_LEND_TOOLTIP="",rF.MPYTHON_GESTURE_READ_LEND_HELPURL="",rF.MPYTHON_GESTURE_START_SRAIN_HELPURL="",rF.MPYTHON_GESTURE_START_SRAIN_MESSAGE0="开始训练 手势识别 期望%1 目标%2",rF.MPYTHON_GESTURE_START_SRAIN_TOOLTIP="",rF.MPYTHON_GESTURE_SCORE_HELPURL="",rF.MPYTHON_GESTURE_SCORE_MESSAGE0="进行评分 期望%1 目标%2",rF.MPYTHON_GESTURE_SCORE_TOOLTIP="",rF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_HELPURL="",rF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",rF.MPYTHON_GESTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 数组降维 图片总数%2",rF.MPYTHON_GESTURE_FORECAST_HELPURL="",rF.MPYTHON_GESTURE_FORECAST_TOOLTIP="",rF.MPYTHON_GESTURE_FORECAST_MESSAGE0="预测结果%1",rF.MPYTHON_AGESTURE_SAVE_MODEL_HELPURL="",rF.MPYTHON_AGESTURE_SAVE_MODEL_MESSAGE0="保存模型 存储路径%1",rF.MPYTHON_AGESTURE_SAVE_MODEL_TOOLTIP="",rF.MPYTHON_AGESTURE_FORECAST_PICTURE_HELPURL="",rF.MPYTHON_AGESTURE_FORECAST_PICTURE_MESSAGE0="%1图片 预测图片 ",rF.MPYTHON_AGESTURE_FORECAST_PICTURE_TOOLTIP="",rF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_HELPURL="",rF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_TOOLTIP="",rF.MPYTHON_GESTURE_PICTURE_DIMENSIONALITY_REDUCTION_MESSAGE0="%1 彩色图像降维",rF.MPYTHONS_FACEAI_READ_PICTURE_PATH_HELPURL="",rF.MPYTHONS_FACEAI_READ_PICTURE_PATH_MESSAGE0="选择人脸库 图片存储路径%1",rF.MPYTHONS_FACEAI_READ_PICTURE_PATH_TOOLTIP="",rF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_HELPURL="",rF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_MESSAGE0="加载模型 存储路径%1",rF.MPYTHONS_FACEAI_RECOGNITION_IMPORT_MODEL_SITE_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_HELPURL="",rF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_MESSAGE0="第%1位人脸性别结果 置信度",rF.MPYTHONS_FACEAI_FACE_GENDER_DETECTION_RETURN_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_HELPURL="",rF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_MESSAGE0="第%1位人脸情绪结果 置信度",rF.MPYTHONS_FACEAI_FACE_EMOTION_DETECTION_RETURN_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_HELPURL="",rF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_MESSAGE0="第%1位人脸性别 结果",rF.MPYTHONS_FACEAI_FACE_GENDER_RESULT_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_HELPURL="",rF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_MESSAGE0="第%1位人脸情绪 结果",rF.MPYTHONS_FACEAI_FACE_EMOTION_RESULT_TOOLTIP="",rF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_HELPURL="",rF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_MESSAGE0="选择人脸库 %1",rF.MPYTHON_FACEAI_CHOOSE_FACE_POOL_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_HELPURL="",rF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_MESSAGE0="第%1位情绪为 %2",rF.MPYTHONS_FACEAI_FACE_EMOTION_RETURN_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_HELPURL="",rF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_MESSAGE0="第%1位性别为 %2",rF.MPYTHONS_FACEAI_FACE_GENDER_RETURN_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_HELPURL="",rF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_MESSAGE0="人脸数量",rF.MPYTHONS_FACEAI_FACE_NUMBER_RETURN_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_HELPURL="",rF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_MESSAGE0="表情数量",rF.MPYTHONS_FACEAI_FACE_EXPRESSION_RETURN_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_HELPURL="",rF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_MESSAGE0="人脸实时检测 %1",rF.MPYTHONS_FACEAI_FACE_RECOGNITION_VEDIO_RETURN_TOOLTIP="",rF.MPYTHONS_FACEAI_FACE_IMG_RESULT_HELPURL="",rF.MPYTHONS_FACEAI_FACE_IMG_RESULT_MESSAGE0="显示图片",rF.MPYTHONS_FACEAI_FACE_IMG_RESULT_TOOLTIP="",rF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_HELPURL="",rF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_MESSAGE0="选择人脸%1 %2",rF.MPYTHONS_FACEAI_CHOOSE_FACE_DATABASE_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_INITIALIZE_HELPURL="",rF.MPYTHONS_WORD_CLOUD_INITIALIZE_MESSAGE0="初始化 文章聚类",rF.MPYTHONS_WORD_CLOUD_INITIALIZE_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_TITLE_HELPURL="文章数量不超过100",rF.MPYTHONS_WORD_CLOUD_TITLE_MESSAGE0="标题 第%1文章",rF.MPYTHONS_WORD_CLOUD_TITLE_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_CONTENT_HELPURL="文章数量不超过100",rF.MPYTHONS_WORD_CLOUD_CONTENT_MESSAGE0="内容 第%1文章",rF.MPYTHONS_WORD_CLOUD_CONTENT_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_JIEBA_HELPURL="文章数量不超过100",rF.MPYTHONS_WORD_CLOUD_JIEBA_MESSAGE0="文章内容转为列表 第%1文章",rF.MPYTHONS_WORD_CLOUD_JIEBA_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_STOPWORD_HELPURL="",rF.MPYTHONS_WORD_CLOUD_STOPWORD_MESSAGE0="读取停词表%1",rF.MPYTHONS_WORD_CLOUD_STOPWORD_TOOLTIP="返回的是100篇文章里的符号",rF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_HELPURL="",rF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_MESSAGE0="删除后的新闻";rF.MPYTHONS_WORD_CLOUD_DELETE_AFTER_NEWS_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_HELPURL="",rF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_MESSAGE0="构造词云所用的数据",rF.MPYTHONS_WORD_CLOUD_THESAURUS_CONSTRUCTION_DATA_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_COUNT_RANK_HELPURL="",rF.MPYTHONS_WORD_CLOUD_COUNT_RANK_MESSAGE0="计算总数 排序前%1",rF.MPYTHONS_WORD_CLOUD_COUNT_RANK_TOOLTIP="返回的是100篇文章里的文本",rF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_HELPURL="",rF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_MESSAGE0="文章聚类训练结果 保存为图片",rF.MPYTHONS_WORD_CLOUD_SAVE_PICTURE_TOOLTIP="",rF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_HELPURL="",rF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_MESSAGE0="显示图片",rF.MPYTHONS_WORD_CLOUD_DISPLAY_PICTURE_TOOLTIP="",rF.FIRST="第一次",rF.LAST="最后一次",rF.MPYTHON_USOCKET_BLOCK="阻塞",rF.MPYTHON_USOCKET_UNBLOCK="非阻塞",rF.MPYTHON_USOCKET_SETSOCKOPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",rF.MPYTHON_USOCKET_SETSOCKOPT_MESSAGE0="設定socket %1 地址 %2 類型 %3",rF.MPYTHON_USOCKET_SETSOCKOPT_TOOLTIP="設定給定通訊端選項的值。所需的符號常數在通訊端模塊中定義(SO_ *等)。該值可以是整數或表示緩衝區的類位元組對象。",rF.MPYTHON_USOCKET_READLINE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",rF.MPYTHON_USOCKET_READLINE_MESSAGE0="socket %1 接收一行數據,遇分行符號結束並返回接收數據的對象",rF.MPYTHON_USOCKET_READLINE_TOOLTIP="接收一行數據,遇分行符號結束,並返回接收數據的對象",rF.MPYTHON_USOCKET_READ_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.read",rF.MPYTHON_USOCKET_READ_MESSAGE0="從socket %1 讀取 %2 字節並返回字節對象",rF.MPYTHON_USOCKET_READ_TOOLTIP="若未給定讀取數量 ,則按照類似 socket.readall() 的模式運行",rF.MPYTHON_USOCKET_SETBLOCKING_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.setblocking",rF.MPYTHON_USOCKET_SETBLOCKING_MESSAGE0="設socket %1 為 %2 模式",rF.MPYTHON_USOCKET_SETBLOCKING_TOOLTIP="",rF.MPYTHON_USOCKET_SETTIMEOUT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.settimeout",rF.MPYTHON_USOCKET_SETTIMEOUT_MESSAGE0="socket %1 設超時時間 %2 秒",rF.MPYTHON_USOCKET_SETTIMEOUT_TOOLTIP="",rF.MPYTHON_USOCKET_RECV_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recv",rF.MPYTHON_USOCKET_RECV_MESSAGE0="socket %1 接收並返回接收到的數據對象 最大數據量為 %2",rF.MPYTHON_USOCKET_RECV_TOOLTIP="",rF.MPYTHON_USOCKET_RECVFROM_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.recvfrom",rF.MPYTHON_USOCKET_RECVFROM_MESSAGE0="socket %1 接收並返回接收到的數據元組 最大數據量為 %2",rF.MPYTHON_USOCKET_RECVFROM_TOOLTIP="元組格式 (bytes, address)",rF.MPYTHON_USOCKET_SENDALL_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",rF.MPYTHON_USOCKET_SENDALL_MESSAGE0="socket %1 連續發送%2 並返回發送的位元組數",rF.MPYTHON_USOCKET_SENDALL_TOOLTIP="將所有數據發送到通訊端。通訊端必須連接到遠程通訊端。與send()此不同,此方法將嘗試通過連續發送數據塊來發送所有數據。",rF.MPYTHON_USOCKET_SENDS_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",rF.MPYTHON_USOCKET_SENDS_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",rF.MPYTHON_USOCKET_SENDS_TOOLTIP="將數據發送到通訊端。通訊端必須連接到遠程通訊端。返回發送的位元組數,可能小於數據長度(“short write”)。",rF.MPYTHON_USOCKET_SEND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.send",rF.MPYTHON_USOCKET_SEND_MESSAGE0="socket %1 發送 %2 並返回發送的字節數",rF.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”).",rF.MPYTHON_TEXT_ESC_HELPURL="",rF.MPYTHON_TEXT_ESC_MESSAGE0="文本轉義字元 %1 ",rF.MPYTHON_TEXT_ESC_TOOLTIP="文本轉義字元",rF.MPYTHON_USOCKET_SENDTO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.sendto",rF.MPYTHON_USOCKET_SENDTO_MESSAGE0="socket %1 發送 %2 到地址 %3",rF.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.",rF.MPYTHON_USOCKET_CONNECT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.connect",rF.MPYTHON_USOCKET_CONNECT_MESSAGE0="socket %1 連接 host %2 端口 %3",rF.MPYTHON_USOCKET_CONNECT_TOOLTIP="",rF.MPYTHON_USOCKET_GETADDRINFO_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.getaddrinfo",rF.MPYTHON_USOCKET_GETADDRINFO_MESSAGE0="解析 host %1 端口 %2 並返回 ip",rF.MPYTHON_USOCKET_GETADDRINFO_TOOLTIP="需聯網",rF.MPYTHON_USOCKET_ACCEPT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.accept",rF.MPYTHON_USOCKET_ACCEPT_MESSAGE0="socket %1 接受連接請求並返回socket元組",rF.MPYTHON_USOCKET_ACCEPT_TOOLTIP="接收連接請求。socket需要指定地址並監聽連接。返回值是 (conn, address)。\nconn:新的socket對象,可以用來收發消息\naddress:連接到服務器的客戶端地址",rF.MPYTHON_USOCKET_LISTEN_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.listen",rF.MPYTHON_USOCKET_LISTEN_MESSAGE0="監聽socket %1 backlog個數 %2",rF.MPYTHON_USOCKET_LISTEN_TOOLTIP="backlog :接受套接字的最大个数,至少为0,如果没有指定,则默认一个合理值。",rF.MPYTHON_USOCKET_BIND_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.bind",rF.MPYTHON_USOCKET_BIND_MESSAGE0="socket %1 綁定地址 %2 端口 %3",rF.MPYTHON_USOCKET_BIND_TOOLTIP="",rF.MPYTHON_USOCKET_CLOSE_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket.close",rF.MPYTHON_USOCKET_CLOSE_MESSAGE0="socket %1 關閉",rF.MPYTHON_USOCKET_CLOSE_TOOLTIP="",rF.MPYTHON_USOCKET_INIT_HELPURL="http://docs.micropython.org/en/latest/library/usocket.html#usocket.socket",rF.MPYTHON_USOCKET_INIT_MESSAGE0="創建 socket %1 地址 %2 類型 %3",rF.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",rF.MPYTHON_GET_POST_HELPURL="",rF.MPYTHON_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",rF.MPYTHON_GET_POST_TOOLTIP="",rF.MPYTHON_UREQUESTS_GET_POST_HELPURL="",rF.MPYTHON_UREQUESTS_GET_POST_TOOLTIP="",rF.MPYTHON_UREQUESTS_GET_POST_MESSAGE0="%1 請求網址 %2 提交字段 %3",rF.MPYTHON_UREQUESTS_POST_FILE_HELPURL="",rF.MPYTHON_UREQUESTS_POST_FILE_TOOLTIP="",rF.MPYTHON_UREQUESTS_POST_FILE_MESSAGE0="Post 提交文件 %1 請求網址 %2 文件路徑 %3 Mime類型 %4 附加字段 %5",rF.MPYTHON_RESPONSE_HELPURL="",rF.MPYTHON_RESPONSE_MESSAGE0="響應内容 格式 %1",rF.MPYTHON_RESPONSE_TOOLTIP="",rF.STRING="字符串",rF._BYTE="二进制",rF.TEXT="文本",rF.MPYTHON_RESPONSE_ATTRIBUTE_HELPURL="",rF.MPYTHON_RESPONSE_ATTRIBUTE_MESSAGE0="響應屬性 %1",rF.MPYTHON_RESPONSE_ATTRIBUTE_TOOLTIP="",rF.MPYTHON_SETS_PIN_MODE_HELPURL="https://mpython.readthedocs.io/zh/master/board/hardware.html#mpythonpindesc",rF.MPYTHON_SETS_PIN_MODE_TOOLTIP="右鍵幫助,查看引脚聲明",rF.MPYTHON_SETS_PIN_MODE_MESSAGE0="設置引脚 %1 為 %2 模式 %3 並設置值為 %4",rF.MPYTHON_SET_PIN_IN="輸入",rF.MPYTHON_SET_PIN_PUSH_PULL_OUT="推挽輸出",rF.MPYTHON_SET_PIN_LEAKY_OUT="開漏輸出",rF.MPYTHON_SET_PIN_NO_PULL="無上下拉",rF.MPYTHON_SET_PIN_DOWN_PULL="下拉",rF.MPYTHON_SET_PIN_UP_PULL="上拉",rF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_HELPURL="",rF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_MESSAGE0="綫程鎖對象 %1 請求鎖",rF.MPYTHON_LOCK_OBJECT_ACQUIRE_LOCK_TOOLTIP="",rF.MPYTHON_START_NEW_THREAD_HELPURL="",rF.MPYTHON_START_NEW_THREAD_MESSAGE0="子綫程 %1",rF.MPYTHON_START_NEW_THREAD_TOOLTIP="",rF.MPYTHON_UART_INIT_HELPURL="",rF.MPYTHON_UART_INIT_MESSAGE0="串口 %4 初始化 波特率 %1 tx %2 rx %3",rF.MPYTHON_UART_INIT_TOOLTIP="掌控板支持3組串口。0用於REPL,剩下1,2兩組串口可用。所有引脚皆可作爲串口的輸入RX,除 P2、P3 、P4 、P10 只能作爲輸出,其餘所有的引脚理論上都可作爲輸出 TX。",rF.MPYTHON_UART_DEINIT_HELPURL="",rF.MPYTHON_UART_DEINIT_MESSAGE0="關閉串口 %1",rF.MPYTHON_UART_DEINIT_TOOLTIP="關閉 UART 總線",rF.MPYTHON_UART_WRITE_STR_HELPURL="",rF.MPYTHON_UART_WRITE_STR_MESSAGE0="串口 %1 寫入文本 %2 %3",rF.MPYTHON_UART_WRITE_STR_TOOLTIP="將文本寫入總線。\n返回值:寫入或 None 超時的字節數。",rF.MPYTHON_UART_WRITE_HEX_HELPURL="",rF.MPYTHON_UART_WRITE_HEX_MESSAGE0="串口 %1 發送16進制字符串 %2 %3",rF.MPYTHON_UART_WRITE_HEX_TOOLTIP="",rF.MPYTHON_UART_HAS_DATA_HELPURL="",rF.MPYTHON_UART_HAS_DATA_MESSAGE0="串口 %1 有可讀數據",rF.MPYTHON_UART_HAS_DATA_TOOLTIP="返回一個整數,計算可以無阻塞地讀取的字符數。\n如果沒有可用字符,它將返回0,如果有字符,則返回正數。\n即使有多個可讀的字符,該方法也可以返回1。",rF.MPYTHON_UART_READLINE_HELPURL="",rF.MPYTHON_UART_READLINE_MESSAGE0="串口 %1 讀取一行數據",rF.MPYTHON_UART_READLINE_TOOLTIP="讀一行,以換行符結尾。\n返回值:讀取行或 None 超時。",rF.MPYTHON_UART_READ_HELPURL="",rF.MPYTHON_UART_READ_MESSAGE0="串口 %1 讀取數據",rF.MPYTHON_UART_READ_TOOLTIP="讀取盡可能多的串口數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",rF.MPYTHON_UART_READ_LENGTH_HELPURL="",rF.MPYTHON_UART_READ_LENGTH_MESSAGE0="串口 %1 讀取數據 長度 %2",rF.MPYTHON_UART_READ_LENGTH_TOOLTIP="讀取指定長度字節數據\n返回值:包含讀入字節的字節列表。若讀取超時則返回 None。",rF.MPYTHON_UART_WRITE_BYTE_HELPURL="",rF.MPYTHON_UART_WRITE_BYTE_MESSAGE0="串口 %1 寫入單字節 %2",rF.MPYTHON_UART_WRITE_BYTE_TOOLTIP="參數為 0~255 的整數\n將字節寫入總線。\n返回值:寫入或 None 超時的字節數。",rF.MPYTHON_UART_WRITE_BYTES_HELPURL="",rF.MPYTHON_UART_WRITE_BYTES_MESSAGE0="串口 %1 寫入字節數組 %2",rF.MPYTHON_UART_WRITE_BYTES_TOOLTIP="將字節數組寫入總線。\n返回值:寫入或 None 超時的字節數。",rF.TEXT_FORMAT_MESSAGE0="格式化字符串 %1 % %2",rF.TEXT_FORMAT_TOOLTIP="",rF.TEXT_FORMAT_HELPURL="",rF.TEXT_FORMAT2_MESSAGE0="格式化字符串 %1 format %2",rF.TEXT_FORMAT2_TOOLTIP="",rF.TEXT_FORMAT2_HELPURL="",rF.MPYTHON_BAUDRATE_HELPURL="",rF.MPYTHON_BAUDRATE_MESSAGE0="%1",rF.MPYTHON_BAUDRATE_TOOLTIP="",rF.MPYTHON_HIGH_LOW_HELPURL="",rF.MPYTHON_HIGH_LOW_MESSAGE0="%1",rF.MPYTHON_HIGH_LOW_TOOLTIP="",rF.MPYTHON_TEN_CONVERT_TO_HELPURL="",rF.MPYTHON_TEN_CONVERT_TO_MESSAGE0="10進制整數 %1 轉化為 %2 字符串",rF.MPYTHON_TEN_CONVERT_TO_TOOLTIP="",rF.MPYTHON_BIN="二進制",rF.MPYTHON_OCT="八進制",rF.MPYTHON_HEX="十六進制",rF.MPYTHON_CONVERT_TO_TEN_HELPURL="",rF.MPYTHON_CONVERT_TO_TEN_MESSAGE0="%1 字符串 %2 轉 10進制整數",rF.MPYTHON_CONVERT_TO_TEN_TOOLTIP="",rF.MPYTHON_TEN_CONVERTED_TO_BYTES_HELPURL="",rF.MPYTHON_TEN_CONVERTED_TO_BYTES_MESSAGE0="10進制整數 %2 轉 %1 字节",rF.MPYTHON_TEN_CONVERTED_TO_BYTES_TOOLTIP="",rF.MPYTHON_INT_TO_CHR_HELPURL="",rF.MPYTHON_INT_TO_CHR_MESSAGE0="整型 %1 轉 ASCII 單字符",rF.MPYTHON_INT_TO_CHR_TOOLTIP="ASCII:基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言",rF.MPYTHON_CHR_TO_INT_HELPURL="",rF.MPYTHON_CHR_TO_INT_MESSAGE0="ASCII 單字符 %1 轉 整型",rF.MPYTHON_CHR_TO_INT_TOOLTIP="ASCII:基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。",rF.MPYTHON_STR_TO_HEX_HELPURL="",rF.MPYTHON_STR_TO_HEX_MESSAGE0="字符串 %1 轉 十六進制 字節",rF.MPYTHON_STR_TO_HEX_TOOLTIP="返回結果中用空格分隔兩個十六進制數",rF.MPYTHON_HEX_TO_BIN_STR_HELPURL="",rF.MPYTHON_HEX_TO_BIN_STR_MESSAGE0="十六進制字符串 %1 轉 二進制 字節",rF.MPYTHON_HEX_TO_BIN_STR_TOOLTIP="",rF.MPYTHON_DATA_TO_BASE64_HELPURL="",rF.MPYTHON_DATA_TO_BASE64_MESSAGE0="%1 以 base64 格式編碼 返回字節對象",rF.MPYTHON_DATA_TO_BASE64_TOOLTIP="",rF.MPYTHON_BASE64_TO_DATA_HELPURL="",rF.MPYTHON_BASE64_TO_DATA_MESSAGE0="解碼 base64 數據 %1 返回字節對象",rF.MPYTHON_BASE64_TO_DATA_TOOLTIP="",rF.MPYTHON_UJSON_DUMPS_HELPURL="",rF.MPYTHON_UJSON_DUMPS_MESSAGE0="%1 轉 json 字符串",rF.MPYTHON_UJSON_DUMPS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",rF.MPYTHON_UJSON_LOADS_HELPURL="",rF.MPYTHON_UJSON_LOADS_MESSAGE0="解析 json 字符串 %1 返回对象",rF.MPYTHON_UJSON_LOADS_TOOLTIP="JSON 格式的 key 必須是字符串 ,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 none)",rF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL="",rF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0="自定義終端部件 Terminal 虛擬管脚 V %1",rF.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP="",rF.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL="",rF.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0="同步虛擬管脚狀態 V %1",rF.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP="",rF.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL="",rF.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0="當 Blynk 斷開連接時",rF.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP="",rF.MPYTHON_BLYNK_ON_CONNECTED_HELPURL="",rF.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0="當 Blynk 連接時",rF.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP="",rF.MPYTHON_BLYNKTIMER_RUN_HELPURL="",rF.MPYTHON_BLYNKTIMER_RUN_MESSAGE0="運行 Blynk 定時器進程",rF.MPYTHON_BLYNKTIMER_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",rF.MPYTHON_BLYNK_RUN_HELPURL="",rF.MPYTHON_BLYNK_RUN_MESSAGE0="運行 Blynk 進程",rF.MPYTHON_BLYNK_RUN_TOOLTIP="建議放在 '一直重復' 中循環執行",rF.MPYTHON_BLYNK_APP_NOTIFY_HELPURL="",rF.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0="Blynk APP 顯示通知 %1",rF.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP="",rF.MPYTHON_BLYNKTIMER_HELPURL="",rF.MPYTHON_BLYNKTIMER_MESSAGE0="Blynk 定時器 %1 %2 周期 %3 秒",rF.MPYTHON_BLYNKTIMER_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',rF.MPYTHON_BLYNK_GET_TIMERS_HELPURL="",rF.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0="可用的 Blynk 定時器",rF.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP="",rF.MPYTHON_BLYNK_STOP_TIMERS_HELPURL="",rF.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0="停止 Blynk 定時器 %1",rF.MPYTHON_BLYNK_STOP_TIMERS_TOOLTIP='注意:\n定時器序號為自動獲取,自上而下,從0開始且連續,不可"定時器0,定時器2",此處暴露參數為方便查看!\n參數:\nno_timers_err=False - 如果所有定時器都停止,禁用異常觸發',rF.MPYTHON_UART_INPUT_HELPURL="",rF.MPYTHON_UART_INPUT_MESSAGE0="從串口獲取文本 提示語句 %1",rF.MPYTHON_UART_INPUT_TOOLTIP="",rF.INT_TO_CHR_HELPURL="",rF.INT_TO_CHR_MESSAGE0="整數 %1 轉 ASCII 單字符",rF.INT_TO_CHR_TOOLTIP="",rF.MPYTHON_BLYNK_SET_PROPERTY_HELPURL="",rF.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0="給虛擬管脚添加 屬性 %1 值 %2",rF.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP="放於 read 或 write 事件中,虛擬管脚由事件決定,與該管脚綁定的組件會擁有添加的屬性",rF.MPYTHON_BLYNK_EMAIL_HELPURL="",rF.MPYTHON_BLYNK_EMAIL_MESSAGE0="向預設郵箱發郵件 %1 主題 %2 正文 %3",rF.MPYTHON_BLYNK_EMAIL_TOOLTIP="",rF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL="",rF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0="發送數據 %1 到 Blynk APP 的 虛擬管脚 V %2",rF.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP="虛擬管脚:V0 ~ V255",rF.MPYTHON_BLYNK_SETUP_HELPURL="",rF.MPYTHON_BLYNK_SETUP_MESSAGE0="Blynk 設置 %1 服務器 %2 端口 %3 授權碼 %4",rF.MPYTHON_BLYNK_SETUP_TOOLTIP="服務器可填 blynk-cloud.com 或者 blynk.mpython.cn\n默認端口為 8080\n註意:手機APP訪問端口為 9443",rF.MPYTHON_BLYNK_APP_DATA_HELPURL="",rF.MPYTHON_BLYNK_APP_DATA_MESSAGE0="當 從 Blynk APP 收到 虛擬管腳 V %1 的值 %2 時",rF.MPYTHON_BLYNK_APP_DATA_TOOLTIP="虛擬管脚:V0 ~ V255",rF.MPYTHON_BLYNK_RECEIVED_MESSAGE0="當 收到 Blynk 虛擬管腳 V %1 的值",rF.MPYTHON_BLYNK_VALUE_MESSAGE0="從 Blynk 收到的值",rF.MPYTHON_BLYNK_VALUE_TOOLTIP="",rF.MPYTHON_BLYNK_VALUE_HELPURL="",rF.MPYTHON_ONENET_DISCONNECT_MESSAGE0="OneNET 斷開連接",rF.MPYTHON_ONENET_DISCONNECT_TOOLTIP="",rF.MPYTHON_ONENET_DISCONNECT_HELPURL="",rF.MPYTHON_ONENET_MSG_MESSAGE0="從 OneNET 收到的消息",rF.MPYTHON_ONENET_MSG_TOOLTIP="",rF.MPYTHON_ONENET_MSG_HELPURL="",rF.MPYTHON_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 %1 時",rF.MPYTHON3_ONENET_RECV_MESSAGE0="當 從 OneNET 收到消息 時",rF.MPYTHON_ONENET_RECV_TOOLTIP="",rF.MPYTHON_ONENET_RECV_HELPURL="",rF.MPYTHON_ONENET_RECV_MSG_MESSAGE0="當 從 OneNET 收到特定消息 %1 時",rF.MPYTHON_ONENET_RECV_MSG_TOOLTIP="",rF.MPYTHON_ONENET_RECV_MSG_HELPURL="",rF.MPYTHON_ONENET_PUB_VALUE_MESSAGE0="向 OneNET 發送數據流 名稱 %1 值 %2",rF.MPYTHON_ONENET_PUB_VALUE_TOOLTIP="",rF.MPYTHON_ONENET_PUB_VALUE_HELPURL="",rF.MPYTHON_ONENET_PUB_DICT_MESSAGE0="向 OneNET 發送數據流 %1",rF.MPYTHON_ONENET_PUB_DICT_TOOLTIP="",rF.MPYTHON_ONENET_PUB_DICT_HELPURL="",rF.MPYTHON_ONENET_PUB_VALUE2_MESSAGE0="向 小程序 發送數據流 名稱 %1 值 %2",rF.MPYTHON_ONENET_PUB_VALUE2_TOOLTIP="",rF.MPYTHON_ONENET_PUB_VALUE2_HELPURL="",rF.MPYTHON_HCSR04_DISTANCE_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",rF.MPYTHON_HCSR04_DISTANCE_MESSAGE0="%1 hcsr04 超聲波距離 測量單位 %2",rF.MPYTHON_HCSR04_DISTANCE_TOOLTIP="",rF.MPYTHON_HCSR04_DISTANCE_MM_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",rF.MPYTHON_HCSR04_DISTANCE_MM_MESSAGE0="%1 hcsr04 超聲波(mm)",rF.MPYTHON_HCSR04_DISTANCE_MM_TOOLTIP="",rF.MPYTHON_HCSR04_OBJ_HELPURL="https://mpython-lib.readthedocs.io/zh/master/hcsr04/index.html#hcsr04",rF.MPYTHON_HCSR04_OBJ_MESSAGE0="hcsr04 超聲波初始化 名稱 %1 trigger %2 echo %3",rF.MPYTHON_HCSR04_OBJ_TOOLTIP="",rF.MPYTHON_PM2_5_MIC_HELPURL="",rF.MPYTHON_PM2_5_MIC_MESSAGE0="rx引脚%1 PM值濃度%2",rF.MPYTHON_PM2_5_MIC_TOOLTIP="",rF.MPYTHON_PM2_5_LitresAir_HELPURL="",rF.MPYTHON_PM2_5_LitresAir_MESSAGE0="rx引脚%1 0.1昇空氣中直徑在%2 顆粒物個數",rF.MPYTHON_PM2_5_LitresAir_TOOLTIP="",rF.MPYTHON3_IR_REMOTE_RECV_MESSAGE0="當 紅外接收端 %1 收到消息時 %2 執行 %3",rF.MPYTHON_IR_REMOTE_ADDRESS_MESSAGE0="紅外回調地址",rF.MPYTHON_IR_REMOTE_MESSAGE_MESSAGE0="紅外接收內容",rF.MPYTHON_IR_REMOTE_RECV_MESSAGE0="紅外接收 %1 回調地址 %2 回調命令 %3",rF.MPYTHON_IR_REMOTE_RECV_HELPURL="",rF.MPYTHON_IR_REMOTE_RECV_TOOLTIP="",rF.MPYTHON_IR_REMOTE_SEND_MESSAGE0="紅外發送 %1 地址 %2 命令 %3",rF.MPYTHON_IR_REMOTE_SEND_HELPURL="",rF.MPYTHON_IR_REMOTE_SEND_TOOLTIP="",rF.MPYTHON_ONENET_ACCEPT_MESSAGE="收到消息",rF.MPYTHON_ONENET="OneNET 設置",rF.MPYTHON_ONENET_WECHAT_APP="小程序 设置",rF.MPYTHON_ONENET_OPTION_BOARDS="可選掌控板",rF.MPYTHON_ONENET_TITLE="OneNET",rF.MPYTHON_SERVER="服務器",rF.MPYTHON_DEVICE_ID="設備ID",rF.MPYTHON_PRODUCT_ID="產品ID",rF.MPYTHON_API_KEY="產品APIKey",rF.MPYTHON_ONENET_CALLBACK="回調函數",rF.MPYTHON_TOPIC="主題",rF.MPYTHON_ONENET_CALLBACK_TITLE="OneNET回調函數",rF.MPYTHON_ONENET_OPTION_BOARDS_HELPURL="",rF.MPYTHON_ONENET_OPTION_BOARDS_MESSAGE0="小程序 選擇掌控板應用 %1",rF.MPYTHON_ONENET_OPTION_BOARDS_TOOLTIP="",rF.TEXT_TO_BYTE_MESSAGE0="轉字節 %1",rF.TEXT_TO_BYTE_TOOLTIP="支持數據類型:string",rF.TEXT_TO_BYTE_HELPURL="",rF.OTHER_TO_BYTE_MESSAGE0="非文本轉字節 %1",rF.OTHER_TO_BYTE_TOOLTIP="",rF.OTHER_TO_BYTE_HELPURL="",rF.MPYTHON_BYTES_DECODE_HELPURL="",rF.MPYTHON_BYTES_DECODE_MESSAGE0="字節 %1 轉 字符串",rF.MPYTHON_BYTES_DECODE_TOOLTIP="",rF.MPYTHON_ONENET_TOOLTIP="創建OneNET連接",rF.MPYTHON_ONENET_INIT_WIFI_MESSAGE0="物聯網 確保連接到 Wi-Fi 名稱 %1 密碼 %2",rF.MPYTHON_ONENET_INIT_WIFI_TOOLTIP="",rF.MPYTHON_ONENET_INIT_WIFI_HELPURL="",rF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_HELPURL="",rF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_MESSAGE0="儅從小程序收到消息 %1 和 %2 時",rF.MPYTHON_ONENET_RECV_FROM_WECHAT_APP_TOOLTIP="",rF.MPYTHON_MAC_ADDRESS_HELPURL="",rF.MPYTHON_MAC_ADDRESS_MESSAGE0="MAC 地址",rF.MPYTHON_MAC_ADDRESS_TOOLTIP="",rF.MPYTHON_RADIO_REC_HELPURL="",rF.MPYTHON_RADIO_REC_MESSAGE0="無綫廣播 接收消息",rF.MPYTHON_RADIO_REC_TOOLTIP="所接收為字節型",rF.MPYTHON_RADIO_SEND_HELPURL="",rF.MPYTHON_RADIO_SEND_MESSAGE0="無綫廣播 發送 %1",rF.MPYTHON_RADIO_SEND_TOOLTIP="頻道: 1~13",rF.MPYTHON_RADIO_CHANNEL_HELPURL="",rF.MPYTHON_RADIO_CHANNEL_MESSAGE0="設無綫廣播 頻道為 %1",rF.MPYTHON_RADIO_CHANNEL_TOOLTIP="頻道: 1~13",rF.MPYTHON_RADIO_ON_OFF_HELPURL="",rF.MPYTHON_RADIO_ON_OFF_MESSAGE0="%1 無綫廣播",rF.MPYTHON_RADIO_ON_OFF_TOOLTIP="頻道: 1~13",rF.MPYTHON_RADIO_MSG_MESSAGE0="收到的無線廣播消息",rF.MPYTHON_RADIO_MSG_TOOLTIP="",rF.MPYTHON_RADIO_MSG_HELPURL="",rF.MPYTHON3_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 時 %1 執行 %2",rF.MPYTHON_RADIO_RECV_MESSAGE0="當 收到無線廣播消息 %1 時",rF.MPYTHON_RADIO_RECV_TOOLTIP="頻道: 1~13",rF.MPYTHON_RADIO_RECV_HELPURL="",rF.MPYTHON_RADIO_RECV_MSG_MESSAGE0="當 收到特定無線廣播消息 %1 時 %2 執行 %3",rF.MPYTHON_RADIO_RECV_MSG_TOOLTIP="頻道: 1~13",rF.MPYTHON_RADIO_RECV_MSG_HELPURL="",rF.MPYTHON_UDP_INIT_HELPURL="",rF.MPYTHON_UDP_INIT_MESSAGE0="建立 UDP 連接",rF.MPYTHON_UDP_INIT_TOOLTIP="UDP連接基於Wi-Fi",rF.MPYTHON_UDP_SEND_HELPURL="",rF.MPYTHON_UDP_SEND_MESSAGE0="UDP 群發消息 %1",rF.MPYTHON_UDP_SEND_TOOLTIP="",rF.MPYTHON_UDP_SENDTO_HELPURL="",rF.MPYTHON_UDP_SENDTO_MESSAGE0="UDP 發送消息 %1 到 %2 端口 %3",rF.MPYTHON_UDP_SENDTO_TOOLTIP="",rF.MPYTHON_UDP_RECV_HELPURL="",rF.MPYTHON_UDP_RECV_MESSAGE0="UDP 接收消息",rF.MPYTHON_UDP_RECV_TOOLTIP="",rF.MPYTHON_UDP_RECV_EVENT_HELPURL="",rF.MPYTHON_UDP_RECV_EVENT_MESSAGE0="當從 UDP 收到消息時 %1 執行 %2",rF.MPYTHON_UDP_RECV_EVENT_TOOLTIP="",rF.MPYTHON_UDP_RECV_MSG_MESSAGE0="從 UDP 收到的消息",rF.MPYTHON_UDP_RECV_MSG_TOOLTIP="",rF.MPYTHON_UDP_RECV_MSG_HELPURL="",rF.MPYTHON_AUDIO_PLAY_chirp_MESSAGE0="鳥叫",rF.MPYTHON_AUDIO_PLAY_Pianodarkmelodies_MESSAGE0="鋼琴黑暗旋律配樂",rF.MPYTHON_AUDIO_PLAY_miaow_MESSAGE0="貓叫",rF.MPYTHON_AUDIO_PLAY_bark_MESSAGE0="小狗吠叫",rF.MPYTHON_AUDIO_PLAY_Arichpercussivesound_MESSAGE0="渾厚的打擊音",rF.MPYTHON_AUDIO_PLAY_Soundeffectsfortension_MESSAGE0="緊張效果的音效",rF.MPYTHON_AUDIO_PLAY_Camerashuttersound_MESSAGE0="拍照快門聲",rF.MPYTHON_AUDIO_PLAY_Hundredsofflies_MESSAGE0="數百只蒼蠅",rF.MPYTHON_AUDIO_PLAY_Cricketscry_MESSAGE0="蟋蟀叫聲",rF.MPYTHON_AUDIO_PLAY_Shakethebassline_MESSAGE0="搖晃低音聲線",rF.MPYTHON_AUDIO_PLAY_audiencecheeredandclapped_MESSAGE0="聽眾歡呼掌聲",rF.MPYTHON_AUDIO_PLAY_Cruiseshipwhistle_MESSAGE0="郵輪汽笛",rF.MPYTHON_AUDIO_PLAY_Moderntelephoneringtone_MESSAGE0="現代電話鈴聲",rF.MPYTHON_AUDIO_PLAY_pullingtradish_MESSAGE0="拔蘿蔔",rF.MPYTHON_AUDIO_PLAY_twotigers_MESSAGE0="兩只老虎",rF.MPYTHON_AUDIO_SET_VOLUME_HELPURL="",rF.MPYTHON_AUDIO_SET_VOLUME_MESSAGE0="設音頻音量 %1",rF.MPYTHON_AUDIO_SET_VOLUME_TOOLTIP="",rF.MPYTHON_DISPCHAR_MODE_1="普通",rF.MPYTHON_DISPCHAR_MODE_2="反轉",rF.MPYTHON_DISPCHAR_MODE_3="透明",rF.MPYTHON_AUDIO_XUNFEI_TTS_HELPURL="",rF.MPYTHON_AUDIO_XUNFEI_TTS_MESSAGE0="TTS 語音播放 %1",rF.MPYTHON_AUDIO_XUNFEI_TTS_TOOLTIP="需要在 訊飛開放平臺 www.xfyun.cn 上開通“在線語音合成”服務",rF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_HELPURL="https://mpython.readthedocs.io/zh/master/extboard/tutorials/tutorials_parrot.html#id3",rF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_MESSAGE0="TTS 語音配置 APPID %1 APIKey %2",rF.MPYTHON_AUDIO_XUNFEI_TTS_CONFIG_TOOLTIP="輸入在 訊飛開放平臺 www.xfyun.cn 獲取的 APPID 與 APIKey\n註意:要設置IP白名單",rF.MPYTHON_AUDIO_PLAY_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",rF.MPYTHON_AUDIO_PLAY_MESSAGE0="音頻 播放 %1",rF.MPYTHON_AUDIO_PLAY_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",rF.MPYTHON_AUDIO_PLAY_CHOOSE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/audio.html#id1",rF.MPYTHON_AUDIO_PLAY_CHOOSE_MESSAGE0="音頻 播放 %1",rF.MPYTHON_AUDIO_PLAY_CHOOSE_TOOLTIP="需要有源音箱\nP8 左聲道\nP9 右聲道\nGND 接地\n播放參數: \n網絡 MP3 的 url 或已上傳至掌控板的 MP3, 如'music_1.mp3' ",rF.MPYTHON_AUDIO_DEINIT_HELPURL="",rF.MPYTHON_AUDIO_DEINIT_MESSAGE0="音頻 釋放緩存",rF.MPYTHON_AUDIO_DEINIT_TOOLTIP="",rF.MPYTHON_AUDIO_CMD_HELPURL="",rF.MPYTHON_AUDIO_CMD_MESSAGE0="音頻 %1",rF.MPYTHON_AUDIO_CMD_TOOLTIP="",rF.MPYTHON_AUDIO_INIT_HELPURL="",rF.MPYTHON_AUDIO_INIT_MESSAGE0="音頻 初始化",rF.MPYTHON_AUDIO_INIT_TOOLTIP="為音頻解碼開闢緩存",rF.MPYTHON_AUDIO_START_RECORDING_HELPURL="",rF.MPYTHON_AUDIO_START_RECORDING_MESSAGE0="開始錄音 錄音時長%1秒",rF.MPYTHON_AUDIO_START_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本,錄音時長不能超過5秒",rF.MPYTHON_AUDIO_RECORDING_RESULT_HELPURL="",rF.MPYTHON_AUDIO_RECORDING_RESULT_MESSAGE0="錄音結果",rF.MPYTHON_AUDIO_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",rF.MPYTHON_AUDIO_DISCERN_RECORDING_HELPURL="",rF.MPYTHON_AUDIO_DISCERN_RECORDING_MESSAGE0="將 %1 進行識別",rF.MPYTHON_AUDIO_DISCERN_RECORDING_TOOLTIP="需要掌控板v1.1以上硬件版本。",rF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_HELPURL="",rF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_MESSAGE0="識別錄音結果",rF.MPYTHON_AUDIO_DISCERN_RECORDING_RESULT_TOOLTIP="需要掌控板v1.1以上硬件版本。",rF.MPYTHON_RECORD_INIT_HELPURL="",rF.MPYTHON_RECORD_INIT_MESSAGE0="錄音 初始化",rF.MPYTHON_RECORD_INIT_TOOLTIP="錄音初始化。\n需要掌控板v1.1以上硬件版本。",rF.MPYTHON_RECORD_DEINIT_HELPURL="",rF.MPYTHON_RECORD_DEINIT_MESSAGE0="錄音 釋放資源",rF.MPYTHON_RECORD_DEINIT_TOOLTIP="錄音結束後釋放資源。\n需要掌控板v1.1以上硬件版本。",rF.MPYTHON_RECORD_WAV_HELPURL="",rF.MPYTHON_RECORD_WAV_MESSAGE0="錄制音頻 存儲路徑 %1 時長 %2 秒",rF.MPYTHON_RECORD_WAV_TOOLTIP="錄制音頻,並以 WAV 格式存儲。\n需要掌控板v1.1以上硬件版本。",rF.MPYTHON_ASR_HELPURL="",rF.MPYTHON_ASR_MESSAGE0="識別 %1 秒語音指令",rF.MPYTHON_ASR_TOOLTIP="可以識別3秒內的語音指令。\n需要掌控板v1.1以上硬件版本。",rF.mpython_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.mpython_button_A="P5(按鍵A)",rF.mpython_button_B="P11(按鍵B)",rF.mpython_PIN7_RGB="P7(板載RGB)",rF.MPYTHON_PWM_PIN_P7="P7 (掌控板)",rF.MPYTHON_PWM_PIN_P9="P9 (掌控實驗箱)",rF.mpython_tem="溫度",rF.mpython_hum="濕度",rF.mpython_pre="氣壓",rF.mpython_left_right="左右",rF.MPYTHON_LEFT="左",rF.MPYTHON_RIGHT="右",rF.mpython_front_back="前後",rF.mpython_vertical="垂直",rF.mpython_horizontal="水平",rF.mpython_run_in_back="後臺運行",rF.mpython_run_in_front="前臺運行",rF.mpython_draw="繪制",rF.mpython_clear="清除",rF.mpython_s="秒",rF.mpython_ms="毫秒",rF.mpython_us="微秒",rF.mpython_year="年",rF.mpython_month="月",rF.mpython_date="日",rF.mpython_hour="時",rF.mpython_minute="分",rF.mpython_week="星期數",rF.mpython_days="天數",rF.MPYTHON_ORDER="第",rF.MPYTHON_REVERSE_ORDER="倒數第",rF.MATH_RANDOM_RANDRANGE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.MATH_RANDOM_RANDRANGE_TOOLTIP="返回指定遞增基數集合中的一個隨機數,基數缺省值為1",rF.MATH_RANDOM_RANDRANGE_MESSAGE0="隨機數 從遞增區間 [%1 ,%2) 遞增步長%3",rF.MATH_KEEP_DECIMAL_HELPURL="",rF.MATH_KEEP_DECIMAL_TOOLTIP="",rF.MATH_KEEP_DECIMAL_MESSAGE0="%1 保留 %2 位小數",rF.MPYTHON_MIN="最小值",rF.MPYTHON_MAX="最大值",rF.MPYTHON_LENTH="長度",rF.TUPLE_MIN_MAX_LEN_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.TUPLE_MIN_MAX_LEN_TOOLTIP="",rF.TUPLE_MIN_MAX_LEN_MESSAGE0="元組 %1 %2",rF.TUPLE_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.TUPLE_ITEM_EXIST_TOOLTIP="",rF.TUPLE_ITEM_EXIST_MESSAGE0="元組%1 包含%2",rF.LIST_ITEM_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.LIST_ITEM_EXIST_TOOLTIP="",rF.LIST_ITEM_EXIST_MESSAGE0="列表%1 包含%2",rF.PARTS_OF_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.PARTS_OF_TUPLE_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.PARTS_OF_TUPLE_MESSAGE0="返回元組%1 取第%2 項到尾項",rF.PARTS_OF_TUPLE2_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.PARTS_OF_TUPLE2_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",rF.PARTS_OF_TUPLE2_MESSAGE0="返回元組%1 取%2 %3 項到 %4 %5 項",rF.PARTS_OF_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.PARTS_OF_LIST_TOOLTIP="遞增順序取項\n舉例:\n 倒數第5到倒數第2;\n 第0到第5",rF.PARTS_OF_LIST_MESSAGE0="返回列表%1 取%2 %3 項到 %4 %5 項",rF.LIST_TO_TUPLE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.LIST_TO_TUPLE_TOOLTIP="",rF.LIST_TO_TUPLE_MESSAGE0="列表%1 轉元組",rF.tuple_create_with_MESSAGE0="定義元組 %1 = %2 ",rF.tuple_create_with_TOOLTIP="只包含一個元素時,需要在元素後面添加逗號",rF.tuple_create_with_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.tuple_order_item_MESSAGE0="元組%1 %2 %3 項",rF.tuple_order_item_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.tuple_order_item_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.LIST_ORDER_ITEM_MESSAGE0="列表%1 %2 %3 項",rF.LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.SET_LIST_ORDER_ITEM_MESSAGE0="設列表%1 %2 %3 項為%4",rF.SET_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.SET_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.INSERT_LIST_ORDER_ITEM_MESSAGE0="插入列表%1 %2 %3 項為%4",rF.INSERT_LIST_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.INSERT_LIST_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.SET_TUPLE_ORDER_ITEM_MESSAGE0="設元組%1 %2 %3 項為%4",rF.SET_TUPLE_ORDER_ITEM_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.SET_TUPLE_ORDER_ITEM_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.DICT_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.DICT_CREATE_WITH_TOOLTIP="",rF.DICT_CREATE_WITH_MESSAGE0="定義字典 %1 = %2",rF.SET_CREATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.SET_CREATE_WITH_TOOLTIP="",rF.SET_CREATE_WITH_MESSAGE0="定義集合 %1 = %2",rF.SET_UPDATE_WITH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.SET_UPDATE_WITH_TOOLTIP="添加參數可為字符串、列表、元組、集合、字典(只添加key),已有元素則不進行操作",rF.SET_UPDATE_WITH_MESSAGE0="集合 %1 添加 %2",rF.INTERSECTION_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.INTERSECTION_OF_SETS_TOOLTIP="",rF.INTERSECTION_OF_SETS_MESSAGE0="取 %1 集合 %2 集合 %3",rF.MPYTHON_INTERSECTION="交集",rF.MPYTHON_UNION="並集",rF.MPYTHON_DIFFERENCE="差集",rF.SETS_UPDATE_WAYS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.SETS_UPDATE_WAYS_TOOLTIP="",rF.SETS_UPDATE_WAYS_MESSAGE0="集合 %1 更新為 與集合 %2 的 %3",rF.SUBSET_SUPERSET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.SUBSET_SUPERSET_TOOLTIP="",rF.SUBSET_SUPERSET_MESSAGE0="集合 %1 為集合 %2 的 %3",rF.MPYTHON_SUBSET="子集",rF.MPYTHON_SUPERSET="超集",rF.LEN_OF_SETS_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.LEN_OF_SETS_TOOLTIP="",rF.LEN_OF_SETS_MESSAGE0="集合 %1 長度",rF.GET_SETS_POP_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.GET_SETS_POP_TOOLTIP="",rF.GET_SETS_POP_MESSAGE0="返回隨機項並移除之 從集合 %1",rF.CREATE_EMPTY_SET_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.CREATE_EMPTY_SET_TOOLTIP="",rF.CREATE_EMPTY_SET_MESSAGE0="創建空集合 %1",rF.BIT_INVERSION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.BIT_INVERSION_TOOLTIP="對數據的每個二進制位取反",rF.BIT_INVERSION_MESSAGE0="二進制取反 %1",rF.TUPLE_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.TUPLE_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.SET_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.SET_CREATE_WITH_ITEMS_INSERT_TOOLTIP="項可為字符串、已賦值變量、元組",rF.DICT_CREATE_WITH_ITEMS_INSERT_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.DICT_CREATE_WITH_ITEMS_INSERT_TOOLTIP="正序計數從0開始,倒序計數從1開始",rF.DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.DICT_KEY_VALUE_TOOLTIP="",rF.DICT_KEY_VALUE_MESSAGE0="字典%1 鍵%2 的值",rF.ADD_DICT_KEY_VALUE_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.ADD_DICT_KEY_VALUE_TOOLTIP="已有該鍵則更新該鍵",rF.ADD_DICT_KEY_VALUE_MESSAGE0="字典%1 添加鍵%2 值%3",rF.DICT_LENGTH_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.DICT_LENGTH_TOOLTIP="",rF.DICT_LENGTH_MESSAGE0="字典%1 長度",rF.DICT_KEY_EXIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.DICT_KEY_EXIST_TOOLTIP="",rF.DICT_KEY_EXIST_MESSAGE0="字典%1 包含鍵%2",rF.DICT_KEY_OR_VAL_LIST_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.DICT_KEY_OR_VAL_LIST_TOOLTIP="",rF.DICT_KEY_OR_VAL_LIST_MESSAGE0="字典%1 %2的列表",rF.DICT_KEYS="鍵",rF.DICT_VALUES="值",rF.mpython_lists_append_MESSAGE0="列表%1 末尾添加項%2",rF.mpython_lists_append_TOOLTIP="",rF.mpython_lists_append_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.mpython_lists_extend_MESSAGE0="列表%1 追加列表%2",rF.mpython_lists_extend_TOOLTIP="",rF.mpython_lists_extend_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.mpython_lists_clear_MESSAGE0="列表%1 清空",rF.mpython_lists_clear_TOOLTIP="",rF.mpython_lists_clear_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.MPYTHON_REMOVE_REPETITION_MESSAGE0="列表%1 移除重複",rF.MPYTHON_REMOVE_REPETITION_TOOLTIP="",rF.MPYTHON_REMOVE_REPETITION_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.mpython_Timer_value_MESSAGE0="定時器 %1 的計數值",rF.mpython_Timer_value_TOOLTIP="獲取並返回計時器當前計數值",rF.mpython_Timer_deinit_MESSAGE0="清除 定時器/事件 %1",rF.mpython_Timer_deinit_TOOLTIP="取消定時器的初始化。停止計時器,並禁用計時器外圍設備",rF.mpython_Interrupt_AB_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buttons.html#id3",rF.mpython_Interrupt_AB_TOOLTIP="",rF.mpython_Interrupt_AB_MESSAGE0="當按鍵 %1 被 %2 時",rF.mpython_Interrupt_pin_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/io/digital_io.html#id3",rF.mpython_Interrupt_pin_TOOLTIP="上升沿觸發:由低電平到高電平;下降沿觸發:由高電平到低電平",rF.mpython_Interrupt_pin_MESSAGE0="當引腳 %1 電平 %2 時",rF.mpython_Interrupt_pin_IRQ_FALLING="↘ 從高到低",rF.mpython_Interrupt_pin_IRQ_RISING="↗ 從低到高",rF.mpython_IRQ_FALLING="按下",rF.mpython_IRQ_RISING="松開",rF.mpython_PERIODIC="重復執行",rF.mpython_ONE_SHOT="延時執行",rF.MPYTHON_IS_SHAKED_MESSAGE0="掌控板 %1",rF.MPYTHON_IS_SHAKED_HELPURL="",rF.MPYTHON_IS_SHAKED_TOOLTIP="",rF.MPYTHON_IS_SHAKED="被搖晃",rF.MPYTHON_IS_THROWN="被拋起",rF.MPYTHON_SHAKE_DETECTOR_MESSAGE0="當掌控板 %1 時",rF.MPYTHON_SHAKE_DETECTOR_HELPURL="",rF.MPYTHON_SHAKE_DETECTOR_TOOLTIP="",rF.MPYTHON_IS_TILTED_MESSAGE0="掌控板 %1",rF.MPYTHON_IS_TILTED_HELPURL="",rF.MPYTHON_IS_TILTED_TOOLTIP="",rF.MPYTHON_TILT_DETECTOR_MESSAGE0="當掌控板 %1 時",rF.MPYTHON_TILT_DETECTOR_HELPURL="",rF.MPYTHON_TILT_DETECTOR_TOOLTIP="",rF.MPYTHON_DIRECTION_FORWARD="向前傾斜",rF.MPYTHON_DIRECTION_BACK="向後傾斜",rF.MPYTHON_DIRECTION_RIGHT="向右傾斜",rF.MPYTHON_DIRECTION_LEFT="向左傾斜",rF.MPYTHON_DIRECTION_NONE="平放",rF.MPYTHON_TOUCH_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",rF.MPYTHON_TOUCH_EVENT_HELPURL="",rF.MPYTHON_TOUCH_EVENT_TOOLTIP="",rF.MPYTHON_TOUCH_EVENT_PRESSED="觸摸",rF.MPYTHON_TOUCH_EVENT_UNPRESSED="釋放",rF.MPYTHON_CUSTOM_EVENT_MESSAGE0="事件 %1 : 當 %2 時",rF.MPYTHON_CUSTOM_EVENT_HELPURL="",rF.MPYTHON_CUSTOM_EVENT_TOOLTIP="自定義事件與定時器共用 1/2/4/7/8/9/10,不可同時占用一個端口。\n最大同時創建4個事件/定時器,如果存在沖突,請嘗試換一個編號。",rF.mpython_music_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.mpython_music_range_pitch_TOOLTIP="時長為單個頻率的時長",rF.mpython_music_range_pitch_MESSAGE0="播放音調 從%1 到%2 步長%3 時長%4 毫秒 引脚 %5",rF.mpython_neopixel_init_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.mpython_neopixel_init_TOOLTIP="",rF.mpython_neopixel_init_MESSAGE0="燈帶初始化 名稱%1 引腳%2 數量%3",rF.MPYTHON_NEOPIXEL_RAINBOW_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.MPYTHON_NEOPIXEL_RAINBOW_TOOLTIP="",rF.MPYTHON_NEOPIXEL_RAINBOW_MESSAGE0="彩虹燈效 燈帶%1 數量 %2 亮度 %3 偏移 %4",rF.MPYTHON_NEOPIXEL_BRIGHTNESS_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/neopixel.html#NeoPixel.brightness",rF.MPYTHON_NEOPIXEL_BRIGHTNESS_TOOLTIP="亮度調節, 範圍 0 ~ 100",rF.MPYTHON_NEOPIXEL_BRIGHTNESS_MESSAGE0="燈帶 %1 設置亮度為 %2",rF.mpython_neopixel_single_TOOLTIP="",rF.mpython_neopixel_single_MESSAGE0="燈帶%1 %2號 紅%3 綠%4 藍%5",rF.mpython_neopixel_single_gui_MESSAGE0="燈帶 %1 %2號 顏色為 %3",rF.mpython_neopixel_single_gui_TOOLTIP="",rF.mpython_neopixel_show_TOOLTIP="",rF.mpython_neopixel_show_MESSAGE0="燈帶%1 設置生效",rF.mpython_neopixel_off_TOOLTIP="",rF.mpython_neopixel_off_MESSAGE0="燈帶%1 關閉",rF.mpython_neopixel_all_TOOLTIP="",rF.mpython_neopixel_all_MESSAGE0="燈帶%1 全亮 紅%2 綠%3 藍%4",rF.mpython_neopixel_all_gui_TOOLTIP="",rF.mpython_neopixel_all_gui_MESSAGE0="燈帶%1 全亮 顏色%2",rF.mpython_image_to_oled_MESSAGE0="打開圖片 %1 寬 %2 高 %3",rF.mpython_image_to_oled_TOOLTIP="",rF.mpython_time_localtime_MESSAGE0="本地時間 %1",rF.mpython_time_localtime_TOOLTIP="星期數:返回0~6,周一為0,周日為6\n天數:獲取當前日期是一年中的第幾天\n建議先連接wifi並獲取網絡時間",rF.mpython_WiFi_config_MESSAGE0="Wi-Fi 配置信息 %1",rF.mpython_WiFi_config_TOOLTIP="netmask-子網掩碼;gateway-網關",rF.mpython_time_ticks_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html",rF.mpython_time_ticks_MESSAGE0="運行時間 %1",rF.mpython_time_ticks_TOOLTIP="",rF.MPYTHON_TIMER_DEF_MESSAGE0="定義定時器 %1",rF.MPYTHON_TIMER_INIT_MESSAGE0="啟動定時器 %1 %2 周期 %3 毫秒",rF.mpython_Timer_MESSAGE0="設置定時器 %1 %2 周期 %3 毫秒",rF.mpython_Timer_TOOLTIP="創建定時器n,n=1-14。\n最大同時創建4個定時器,如果存在沖突,請嘗試換一個編號。\n3用於內部程序,\n5/6用於伺服系統和ADC,\n11用於搖晃檢測,\n12用於觸摸鍵檢測,\n13用於Radio和DHT11/DHT22定時取值(共用),\n14用於OneNET和傾斜檢測(共用),\n其余端口與自定義事件共用。",rF.mpython_Timer_HELPURL="https://mpythonx.readthedocs.io/zh_CN/latest/blocks/index.html",rF.mpython_bme280_hum_tem_pre_MESSAGE0="%1",rF.mpython_bme280_hum_tem_pre_TOOLTIP="氣壓單位Pa, 溫度單位攝氏度, 環境濕度單位%",rF.mpython_sway_xyz_MESSAGE0="%1 搖晃掌控板",rF.mpython_sway_xyz_TOOLTIP="掌控板正面朝上,觸摸鍵 'python' 靠近使用者,開始左右或前後搖晃掌控板",rF.mpython_init_bluetooth_MESSAGE0="初始化 藍牙名稱%1",rF.mpython_init_bluetooth_TOOLTIP="初始化 藍牙名稱",rF.mpython_OnOff_bluetooth_MESSAGE0="藍牙設備%1廣播",rF.mpython_OnOff_bluetooth_TOOLTIP="藍牙設備 開啟或關閉廣播",rF.mpython_HID_consumer_bluetooth_MESSAGE0="消費類設備%1 狀態%2",rF.mpython_HID_consumer_bluetooth_TOOLTIP="類比HID消費類設備的控制器,如藍牙遙控器",rF.mpython_HID_release_keyboard_bluetooth_MESSAGE0="鍵盤 釋放按鍵",rF.mpython_HID_release_keyboard_bluetooth_TOOLTIP="HID鍵盤設備",rF.mpython_HID_mouse_bluetooth_MESSAGE0="鼠標%1",rF.mpython_HID_mouse_bluetooth_TOOLTIP="鼠標設備",rF.mpython_HID_release_mouse_bluetooth_MESSAGE0="鼠標 釋放按鍵",rF.mpython_HID_release_mouse_bluetooth_TOOLTIP="鼠標設備",rF.mpython_HID_keyboard_bluetooth_MESSAGE0="鍵盤 按鍵%1",rF.mpython_HID_keyboard_bluetooth_TOOLTIP="鍵盤設備",rF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="HID設備按鍵 %1 組合按鍵%2",rF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",rF.mpython_HID_mouse_pointer_bluetooth_MESSAGE0="滑鼠 指標移動 x%2 y%1",rF.mpython_HID_mouse_pointer_bluetooth_TOOLTIP="鼠标坐标x,y轴的相对位移,范围-1023 ~ 1023",rF.mpython_HID_keyboard_group_bluetooth_MESSAGE0="設備 按鍵 %1 組合按鍵%2",rF.mpython_HID_keyboard_group_bluetooth_TOOLTIP="鍵盤設備",rF.mpython_HID_keyboard_part_bluetooth_MESSAGE0="鍵盤 组合設備%1",rF.mpython_HID_keyboard_part_bluetooth_TOOLTIP="如果想使用多個按鍵組合指令,可以用“|”或運算",rF.mpython_HID_keyboard_part_bluetooth_HELPURL="",rF.mpython_init_wifi_MESSAGE0="連接 Wi-Fi 名稱 %1 密碼 %2",rF.mpython_init_wifi_TOOLTIP="讓掌控板接入Wi-Fi環境",rF.MPYTHON_WIFI_IFCONFIG_MESSAGE0="Wi-Fi 設置固定IP %1 IP 地址 %2 子網掩碼 %3 默認網關 %4 DNS %5",rF.MPYTHON_WIFI_IFCONFIG_TOOLTIP="",rF.MPYTHON_WIFI_IFCONFIG_HELPURL="",rF.mpython_dis_WiFi_MESSAGE0="斷開 Wi-Fi 連接",rF.mpython_dis_WiFi_TOOLTIP="",rF.MPYTHON_ENABLE_APWIFI_HELPURL="https://mpython.readthedocs.io/zh/master/tutorials/basics/network/network_basics.html#ap",rF.MPYTHON_ENABLE_APWIFI_TOOLTIP="密碼可以為空,或者8位以上的字母或數字。\nAP模式僅用於掌控板之間的相互通信,不可以作為熱點,令其它設備上網。",rF.MPYTHON_ENABLE_APWIFI_MESSAGE0="開啟 AP模式 名稱 %1 密碼 %2 信道 %3",rF.mpython_disable_APWiFi_MESSAGE0="關閉 AP模式",rF.mpython_disable_APWiFi_TOOLTIP="",rF.mpython_ntptime_settime_MESSAGE0="同步網絡時間 時區 %1 授時服務器 %2",rF.mpython_ntptime_settime_TOOLTIP="NTP時間同步是一種時間同步網絡技術",rF.mpython_wifi_get_date_MESSAGE0="獲取當前日期",rF.mpython_wifi_get_date_TOOLTIP="獲取當前日期字符串 示例:2020年12月12日",rF.mpython_wifi_get_time_MESSAGE0="獲取當前時間",rF.mpython_wifi_get_time_TOOLTIP="獲取當前時間字符串",rF.mpython_ntptime_timezone_E1="東1區",rF.mpython_ntptime_timezone_E2="東2區",rF.mpython_ntptime_timezone_E3="東3區",rF.mpython_ntptime_timezone_E4="東4區",rF.mpython_ntptime_timezone_E5="東5區",rF.mpython_ntptime_timezone_E6="東6區",rF.mpython_ntptime_timezone_E7="東7區",rF.mpython_ntptime_timezone_E8="東8區",rF.mpython_ntptime_timezone_E9="東9區",rF.mpython_ntptime_timezone_E10="東10區",rF.mpython_ntptime_timezone_E11="東11區",rF.mpython_ntptime_timezone_E12="東12區",rF.mpython_ntptime_timezone_0="中時區",rF.mpython_ntptime_timezone_W1="西1區",rF.mpython_ntptime_timezone_W2="西2區",rF.mpython_ntptime_timezone_W3="西3區",rF.mpython_ntptime_timezone_W4="西4區",rF.mpython_ntptime_timezone_W5="西5區",rF.mpython_ntptime_timezone_W6="西6區",rF.mpython_ntptime_timezone_W7="西7區",rF.mpython_ntptime_timezone_W8="西8區",rF.mpython_ntptime_timezone_W9="西9區",rF.mpython_ntptime_timezone_W10="西10區",rF.mpython_ntptime_timezone_W11="西11區",rF.mpython_ntptime_timezone_W12="西12區",rF.FILE_TO_LIST_HELPURL="",rF.FILE_TO_LIST_TOOLTIP="讀出指定路徑的文本文件內容(僅限utf-8格式),並轉為列表形式,以分隔符分隔。",rF.FILE_TO_LIST_MESSAGE0="讀取文本文件 %1 為列表 ,以 %2 分隔",rF.FILE_TO_BIN_HELPURL="",rF.FILE_TO_BIN_TOOLTIP="以二進制格式讀出指定路徑的文件內容。",rF.FILE_TO_BIN_MESSAGE0="讀取文件 %1 的二進制內容",rF.MPYTHON_INIT_FILE_HELPURL="",rF.MPYTHON_INIT_FILE_TOOLTIP="初始化一個文本文件,如果文件不存在則創建文件,如果文件存在則清空內容。",rF.MPYTHON_INIT_FILE_MESSAGE0="初始化文本文件 %1",rF.MPYTHON_WRITE_FILE_HELPURL="",rF.MPYTHON_WRITE_FILE_TOOLTIP="向指定路徑的文本文件寫入內容,如果文件不存在則創建文件。",rF.MPYTHON_WRITE_FILE_MESSAGE0="向文本文件 %1 寫入內容 %2 ,以 %3 分隔",rF.MPYTHON_SDCARD_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",rF.MPYTHON_SDCARD_INIT_TOOLTIP="sck: P13\nmosi: P15\nmiso: P14\nsdcard: P16\n須確保 SPI 總線的引腳與 micro SD 卡物理連接正確,並預先使用 FAT 或 FAT32 文件系統格式化 micro SD 卡。",rF.MPYTHON_SDCARD_INIT_MESSAGE0="初始化 SD 卡",rF.MPYTHON_SDCARD_MOUNT_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/sdcard.html#sdcard.SDCard",rF.MPYTHON_SDCARD_MOUNT_TOOLTIP="掛載 SDCard 到指定路徑。",rF.MPYTHON_SDCARD_MOUNT_MESSAGE0="掛載 SD 卡到路徑 %1",rF.MPYTHON_ENTER="回車",rF.MPYTHON_COMMA="逗號",rF.MPYTHON_SEMICOLON="分號",rF.MPYTHON_SPACE="空格",rF.mpython_wifi_clock_MESSAGE0="Wi-Fi 模擬時鐘 x %1 y %2 半徑 %3",rF.mpython_wifi_clock_TOOLTIP="需連接 Wi-Fi 使用",rF.mpython_def_clock_MESSAGE0="初始化時鐘%1 x %2 y %3 半徑 %4",rF.mpython_def_clock_TOOLTIP="",rF.mpython_settime_clock_MESSAGE0="時鐘%1 讀取時間",rF.mpython_settime_clock_TOOLTIP="",rF.mpython_draw_clear_clock_MESSAGE0="%1 時鐘 %2",rF.mpython_draw_clear_clock_TOOLTIP="",rF.mpython_tinywebio_start_MESSAGE0="啟動 TinyWebIO 服務 %1",rF.mpython_tinywebio_start_TOOLTIP="啟動該服務需連接Wi-Fi,TinyWebIO服務為App Inventor應用提供遠程控制接口的掌控板工具包",rF.mpython_tinywebio_client_setup_HELPURL="",rF.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引腳",rF.mpython_tinywebio_client_setup_MESSAGE0="設置 TinyWebIO 客戶端參數 %1 TinyWebDB服務器地址 %2 向服務器發布的數據項 %3 從服務器讀取的數據項 %4 存取服務器的時間間隔(ms) %5",rF.mpython_tinywebio_client_action_HELPURL="",rF.mpython_tinywebio_client_action_TOOLTIP="",rF.mpython_tinywebio_client_action_MESSAGE0="%1 TinyWebIO 客戶端",rF.mpython_tinywebio_client_action_start="啟動",rF.mpython_tinywebio_client_action_stop="停止",rF.MPYTHON_CUSTOM_CODE_HELPURL="",rF.MPYTHON_CUSTOM_CODE_TOOLTIP="",rF.MPYTHON_CUSTOM_CODE_MESSAGE0="%1 自定義代碼 %2 %3",rF.MPYTHON_CUSTOM_VALUE_MESSAGE0="自定義返回值 %1",rF.MPYTHON_CUSTOM_TYPE_IMPORT="置頂",rF.MPYTHON_CUSTOM_TYPE_NORMAL="普通",rF.mpython_servo_angle0_MESSAGE0="設置舵機 %1 角度為 %2",rF.mpython_servo_angle_MESSAGE0="設置舵機 %1 角度為 %2 脈寬從 %3 到 %4 最大角度 %5",rF.mpython_servo_angle_TOOLTIP="電源線Vcc(紅色)連接拓展板電源口V,地線GND(棕色)連接拓展板地線口G,控制信號線(橙色)連接所選的拓展板引腳",rF.mpython_dh11_hum_tem_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",rF.mpython_dh11_hum_tem_MESSAGE0="DHT11 %1 %2",rF.mpython_dh11_hum_tem_TOOLTIP="DHT11上的 + 連接拓展板的電源口 V ,- 連接拓展板的地線口 G ,out 連接拓展板的引腳 0(即選引腳)",rF.MPYTHON_DH22_HUM_TEM_MESSAGE0="DHT22 %1 %2",rF.MPYTHON_DH22_HUM_TEM_TOOLTIP="",rF.MPYTHON_DH22_HUM_TEM_HELPURL="https://mpython.readthedocs.io/zh/latest/classic/dht11.html?highlight=DHT",rF.mpython_music_note_MESSAGE0="音符 %1 %2 : %3",rF.mpython_music_note_TOOLTIP="音符,如C4:4",rF.mpython_return_list_MESSAGE0="定義列表 %1 = %2",rF.mpython_return_list_TOOLTIP="",rF.mpython_display_Show_MESSAGE0="OLED 顯示生效",rF.mpython_display_Show_TOOLTIP="",rF.mpython_display_DispChar_MESSAGE0="顯示文本 x %1 y %2 內容 %3 模式 %4 %5",rF.mpython_display_DispChar_TOOLTIP="OLED分辨率128x64",rF.mpython_display_DispChar_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/mpython.html?highlight=oled#oled.DispChar",rF.mpython_display_DispChar_5lines_MESSAGE0="OLED 第%1 行顯示 %2 模式 %3 %4",rF.mpython_display_DispChar_5lines_TOOLTIP="OLED分辨率128x64",rF.mpython_line1="1",rF.mpython_line2="2",rF.mpython_line3="3",rF.mpython_line4="4",rF.mpython_line5="5",rF.MPYTHON_CLEAR_DISPCHAR_5LINES_MESSAGE0="OLED 清除第 %1 行",rF.MPYTHON_CLEAR_DISPCHAR_5LINES_TOOLTIP="OLED分辨率128x64",rF.MPYTHON_CLEAR_DISPCHAR_5LINES_HELPURL="";rF.mpython_display_fill_0="清空",rF.mpython_display_fill_1="全亮",rF.mpython_display_invert_0="黑底",rF.mpython_display_invert_1="白底",rF.mpython_display_show="生效",rF.mpython_display_fill_MESSAGE0="OLED 顯示 %1",rF.mpython_display_fill_TOOLTIP="",rF.mpython_display_pixel_0="暗",rF.mpython_display_pixel_1="亮",rF.mpython_display_pixel_MESSAGE0="描點 x %1 y %2 為 %3",rF.mpython_display_pixel_TOOLTIP="",rF.mpython_display_hline_0="擦除",rF.mpython_display_hline_1="繪制",rF.mpython_display_hline_MESSAGE0="%1 水平線%2 x%3 y%4 長度%5",rF.mpython_display_hline_TOOLTIP="",rF.mpython_ProgressBar_MESSAGE0="進度條%1 x%2 y%3 寬%4 高%5 進度%6",rF.mpython_ProgressBar_TOOLTIP="",rF.mpython_stripBar_MESSAGE0="柱狀條%1 x%2 y%3 寬%4 高%5 進度%6",rF.mpython_stripBar_TOOLTIP="",rF.MPYTHON_QR_CODE_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#gui.UI.qr_code",rF.MPYTHON_QR_CODE_TOOLTIP="",rF.MPYTHON_QR_CODE_MESSAGE0="在坐標 x %1 y %2 繪制二維碼 %3 尺寸 %4",rF.MPYTHON_DISPLAY_MODE_0="擦除",rF.MPYTHON_DISPLAY_MODE_1="繪制",rF.MPYTHON_DISPLAY_HOLLOW="空心",rF.MPYTHON_DISPLAY_SOLID="實心",rF.MPYTHON_DISPLAY_HVLINE_MESSAGE0="%1 %2 線 %3 x %4 y %5 長度 %6",rF.MPYTHON_DISPLAY_HVLINE_TOOLTIP="",rF.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0="%1 %2 矩形 %3 x %4 y %5 寬 %6 高 %7",rF.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP="",rF.MPYTHON_DISPLAY_SHAPE_CIRCLE_MESSAGE0="%1 %2 圓 %3 x %4 y %5 半徑 %6",rF.MPYTHON_DISPLAY_SHAPE_CIRCLE_TOOLTIP="",rF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_MESSAGE0="%1 %2 三角 %3 x1 %4 y1 %5 x2 %6 y2 %7 x3 %8 y3 %9",rF.MPYTHON_DISPLAY_SHAPE_TRIANGLE_TOOLTIP="",rF.MPYTHON_RGB_0="0 #",rF.MPYTHON_RGB_1="1 #",rF.MPYTHON_RGB_2="2 #",rF.MPYTHON_RGB_ALL="所有",rF.MPYTHON_SET_RGB_LIST_COLOR_MESSAGE0="設置 %1 RGB 燈顏色為 %2",rF.MPYTHON_SET_RGB_LIST_COLOR_TOOLTIP="原生亮度的 1/30 能較好顯示色差",rF.MPYTHON_SET_RGB_LIST_NUMBER_MESSAGE0="設置 %1 RGB 燈顏色為 R %2 G %3 B %4",rF.MPYTHON_SET_RGB_LIST_NUMBER_TOOLTIP="原生亮度的 1/30 能較好顯示色差",rF.MPYTHON_OFF_RGB_LIST_MESSAGE0="關閉 %1 RGB 燈",rF.MPYTHON_OFF_RGB_LIST_TOOLTIP="",rF.MPYTHON_MUSIC_PLAY_MESSAGE0="播放音樂 %1 引腳 %2",rF.MPYTHON_MUSIC_PLAY_TOOLTIP="播放內置的音樂",rF.MPYTHON_MUSIC_PLAY_UNTIL_END_MESSAGE0="播放音樂 %1 直到完成 , 引腳 %2",rF.MPYTHON_MUSIC_PLAY_UNTIL_END_TOOLTIP="播放內置的音樂",rF.MPYTHON_MUSIC_GE_CHANG_ZU_GUO="歌唱祖國",rF.MPYTHON_MUSIC_DONG_FANG_HONG="東方紅",rF.MPYTHON_MUSIC_CAI_YUN_ZHUI_YUE="彩雲追月",rF.MPYTHON_MUSIC_ZOU_JIN_XIN_SHI_DAI="走進新時代",rF.MPYTHON_MUSIC_MO_LI_HUA="茉莉花",rF.MPYTHON_MUSIC_YI_MENG_SHAN_XIAO_DIAO="沂蒙山小調",rF.mpython_display_vline_MESSAGE0="%1 垂直線%2 x%3 y%4 長度%5",rF.mpython_display_vline_TOOLTIP="",rF.mpython_display_line_MESSAGE0="%1 線%2 x1 %3 y1 %4 到 x2 %5 y2 %6",rF.mpython_display_line_TOOLTIP="",rF.mpython_display_rect_MESSAGE0="%1 邊框%2 x %3 y %4 寬 %5 高 %6",rF.mpython_display_rect_TOOLTIP="",rF.mpython_display_RoundRect_MESSAGE0="%1 弧角邊框%2 x %3 y %4 寬 %5 高 %6 半徑%7",rF.mpython_display_RoundRect_TOOLTIP="",rF.mpython_display_fill_rect_MESSAGE0="%1 矩形%2 x %3 y %4 寬 %5 高 %6 ",rF.mpython_display_fill_rect_TOOLTIP="",rF.mpython_display_fill_circle_MESSAGE0="%1 實心圓%2 x %3 y %4 半徑 %5",rF.mpython_display_fill_circle_TOOLTIP="",rF.mpython_display_circle_MESSAGE0="%1 空心圓%2 x %3 y %4 半徑 %5",rF.mpython_display_circle_TOOLTIP="",rF.mpython_display_triangle_MESSAGE0="%1 空心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",rF.mpython_display_triangle_TOOLTIP="",rF.mpython_display_fill_triangle_MESSAGE0="%1 實心三角%2 x%3 y%4 x2%5 y2%6 x3%7 y3%8",rF.mpython_display_fill_triangle_TOOLTIP="",rF.mpython_display_Bitmap_MESSAGE0="%1 圖像 x%2 y%3 寬%4 高%5 16進制圖像數據 %6",rF.mpython_display_Bitmap_TOOLTIP="將16進制圖像數據顯示在OLED屏的指定位置",rF.MPYTHON_GET_PBM_DATA_MESSAGE0="獲取內置圖像 %1 模式%2",rF.MPYTHON_GET_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件,獲取指定路徑的圖像文件數據,返回一個元組對象。",rF.MPYTHON_GET_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",rF.MPYTHON_GET_PBM_DATA_CUSTOM_MESSAGE0="獲取自定義圖像 %1 模式%2",rF.MPYTHON_DISPLAY_PBM_DATA_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %3",rF.MPYTHON_DISPLAY_PBM_DATA_TOOLTIP="支持*.pbm 或 *.bmp格式的單色圖像文件",rF.MPYTHON_DISPLAY_PBM_DATA_HELPURL="https://mpython.readthedocs.io/zh/master/library/mPython/gui.html#image",rF.MPYTHON_BITMAP_FROM_FILE_MESSAGE0="在坐標 x %1 y %2 顯示圖像 %5 寬 %3 高 %4",rF.MPYTHON_BITMAP_FROM_FILE_TOOLTIP="",rF.MPYTHON_BITMAP_FROM_FILE_HELPURL="",rF.mpython_horizontal="水平",rF.mpython_vertical="垂直",rF.mpython_display_FrameBuffer_MESSAGE0="構建幀 列表 %1 長 %2 寬 %3 掃描模式 %4",rF.mpython_display_FrameBuffer_TOOLTIP="用圖像取模後數據的列表 ,創建128x64的幀緩存區,以儲存圖片幀",rF.MPYTHON_FONT_DIGIFACE_11="仿數碼管 11像素",rF.MPYTHON_FONT_DIGIFACE_16="仿數碼管 16像素",rF.MPYTHON_FONT_DIGIFACE_21="仿數碼管 21像素",rF.MPYTHON_FONT_DIGIFACE_30="仿數碼管 30像素",rF.MPYTHON_FONT_DIGIFACE_44="仿數碼管 44像素",rF.MPYTHON_FONT_DIGIFACE_IT_30="仿數碼管 斜體 30像素",rF.MPYTHON_FONT_DIGIFACE_IT_42="仿數碼管 斜體 42像素",rF.MPYTHON_FONT_DVSM_12="DejaVu Sans Mono 12像素",rF.MPYTHON_FONT_DVSM_16="DejaVu Sans Mono 16像素",rF.MPYTHON_FONT_DVSM_21="DejaVu Sans Mono 21像素",rF.MPYTHON_FONT_DVSMB_12="DejaVu Sans Mono 黑體 12像素",rF.MPYTHON_FONT_DVSMB_16="DejaVu Sans Mono 黑體 16像素",rF.MPYTHON_FONT_DVSMB_21="DejaVu Sans Mono 黑體 21像素",rF.MPYTHON_FONT_WRAP="自動換行",rF.MPYTHON_FONT_NO_WRAP="不換行",rF.MPYTHON_FACE_1="心形",rF.MPYTHON_FACE_2="心形(小)",rF.MPYTHON_FACE_3="高興",rF.MPYTHON_FACE_4="笑臉",rF.MPYTHON_FACE_5="傷心",rF.MPYTHON_FACE_6="困惑",rF.MPYTHON_FACE_7="生氣",rF.MPYTHON_FACE_8="睡著",rF.MPYTHON_FACE_9="驚訝",rF.MPYTHON_FACE_10="愚蠢",rF.MPYTHON_FACE_11="極妙",rF.MPYTHON_FACE_12="無聊",rF.MPYTHON_FACE_ROCK="石頭",rF.MPYTHON_FACE_PAPER="布",rF.MPYTHON_FACE_SCISSORS="剪刀",rF.MPYTHON_FACE_ROCK_S="石頭(小)",rF.MPYTHON_FACE_PAPER_S="布(小)",rF.MPYTHON_FACE_SCISSORS_S="剪刀(小)",rF.MPYTHON_DISPLAY_FONT_MESSAGE0="在坐標 x %1 y %2 顯示 %3 以 %4 字體 %5",rF.MPYTHON_DISPLAY_FONT_TOOLTIP="",rF.MPYTHON_DISPLAY_FONT_HELPURL="",rF.mpython_front="正向",rF.mpython_reverse="反轉",rF.mpython_display_blit_MESSAGE0="顯示幀 坐標x %1 y %2",rF.mpython_display_blit_TOOLTIP="",rF.mpython_front_reverse_MESSAGE0="像素點bit %1",rF.mpython_front_reverse_TOOLTIP="用於顯示之前",rF.mpython_images_append_MESSAGE0="動圖顯示 幀數%1 周期%2 長%3 寬%4",rF.mpython_images_append_TOOLTIP="上傳至掌控板的pbm圖片需命名為IMAGE.數字,後綴為pbm。如:IMAGE.1.pbm。幀數為7則數字為1至7",rF.mpython_button_is_pressed_MESSAGE0="按鍵%1 被按下",rF.mpython_button_is_pressed_TOOLTIP="",rF.mpython_button_both_pressed_MESSAGE0="AB按鍵都按下",rF.mpython_button_both_pressed_TOOLTIP="",rF.mpython_touchPad_value_MESSAGE0="按鍵%1 被觸摸",rF.mpython_touchPad_value_TOOLTIP="",rF.mpython_touchPad_value_num_MESSAGE0="按鍵%1 觸摸值",rF.mpython_touchPad_value_num_TOOLTIP="",rF.mpython_read_digital_MESSAGE0="讀取引腳 %1 數字值",rF.mpython_read_digital_TOOLTIP="",rF.mpython_read_DS18B20_MESSAGE0="DS18B20 防水溫度感測器 引脚 %1",rF.mpython_read_DS18B20_TOOLTIP="",rF.mpython_read_DS18B20_HELPURL="http://docs.micropython.org/en/latest/esp32/quickref.html?highlight=onewire#onewire-driver",rF.mpython_set_digital_MESSAGE0="設置引腳 %2 數字值為 %1",rF.mpython_set_digital_TOOLTIP="",rF.mpython_read_analog_MESSAGE0="讀取引腳 %1 模擬值",rF.mpython_read_analog_TOOLTIP="",rF.mpython_set_analog_MESSAGE0="設置引腳 %2 模擬值(PWM)為 %1",rF.mpython_set_analog_TOOLTIP="模擬輸出是通過IO引腳輸出脈寬調制信號,輸出指定的電壓值,簡稱PWM。",rF.mpython_set_RGB_MESSAGE0="設置 %1 號 RGB 燈顏色為 R %2 G %3 B %4",rF.mpython_set_RGB_TOOLTIP="原生亮度的 1/30 能較好顯示色差",rF.mpython_set_RGB_color_MESSAGE0="設置 %1 號 RGB 燈顏色為 %2",rF.mpython_set_RGB_color_TOOLTIP="原生亮度的 1/30 能較好顯示色差",rF.mpython_set_RGB_all_MESSAGE0="設置所有 RGB 燈顏色為 R %1 G %2 B %3",rF.mpython_set_RGB_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",rF.mpython_set_RGB_color_all_MESSAGE0="設置所有 RGB 燈顏色為 %1",rF.mpython_set_RGB_color_all_TOOLTIP="原生亮度的 1/30 能較好顯示色差",rF.mpython_fresh_RGB_MESSAGE0="RGB 燈設置生效",rF.mpython_fresh_RGB_TOOLTIP="",rF.mpython_off_RGB_MESSAGE0="關閉 RGB 燈",rF.mpython_off_RGB_TOOLTIP="",rF.mpython_buzz_state_MESSAGE0="停止播放音樂",rF.mpython_buzz_state_TOOLTIP="",rF.mpython_buzz_freq_MESSAGE0="播放連續音調 %1 引脚 %2",rF.mpython_buzz_freq_TOOLTIP="",rF.mpython_buzz_tone_MESSAGE0="播放音調 %1",rF.mpython_buzz_tone_TOOLTIP="",rF.MPYTHON_MUSIC_TONE_TEMPO_HELPURL="",rF.MPYTHON_MUSIC_TONE_TEMPO_TOOLTIP="默認是掌控板的P6引脚",rF.MPYTHON_MUSIC_TONE_TEMPO_MESSAGE0="播放音符 %1 引脚 %2",rF.MPYTHON_MUSIC_TONE_HELPURL="",rF.MPYTHON_MUSIC_TONE_TOOLTIP="",rF.MPYTHON_MUSIC_TONE_MESSAGE0="音調 %1",rF.MPYTHON_MUSIC_MUSICAL_NOTE_HELPURL="",rF.MPYTHON_MUSIC_MUSICAL_NOTE_TOOLTIP="",rF.MPYTHON_MUSIC_MUSICAL_NOTE_MESSAGE0="音符 %1 節拍 %2",rF.MPYTHON_MUSIC_TICK_HELPURL="",rF.MPYTHON_MUSIC_TICK_TOOLTIP="",rF.MPYTHON_MUSIC_TICK_MESSAGE0="節拍 %1",rF.MPYTHON_4_LINES_HELPURL="",rF.MPYTHON_4_LINES_TOOLTIP="",rF.MPYTHON_4_LINES_MESSAGE0="%1",rF.NUMBER_1="1",rF.NUMBER_1_2="1/2",rF.NUMBER_1_4="1/4",rF.NUMBER_2="2",rF.NUMBER_4="4",rF.mpython_read_sound_MESSAGE0="聲音值",rF.mpython_read_sound_TOOLTIP="",rF.mpython_read_light_MESSAGE0="光線值",rF.mpython_read_light_TOOLTIP="",rF.mpython_accelerometer_get_MESSAGE0="%1 軸加速度",rF.mpython_accelerometer_get_TOOLTIP="",rF.mpython_accelerometer_get_z_MESSAGE0="z軸加速度",rF.mpython_accelerometer_get_z_TOOLTIP="",rF.mpython_accelerometer_get_y_MESSAGE0="y軸加速度",rF.mpython_accelerometer_get_y_TOOLTIP="",rF.mpython_accelerometer_get_x_MESSAGE0="x軸加速度",rF.mpython_accelerometer_get_x_TOOLTIP="",rF.MPYTHON_ACCELEROMETER_RANGE_2G="±2g",rF.MPYTHON_ACCELEROMETER_RANGE_4G="±4g",rF.MPYTHON_ACCELEROMETER_RANGE_8G="±8g",rF.MPYTHON_ACCELEROMETER_RANGE_16G="±16g",rF.MPYTHON_ACCELEROMETER_RES_10_BIT="10bits",rF.MPYTHON_ACCELEROMETER_RES_12_BIT="12bits",rF.MPYTHON_ACCELEROMETER_RES_14_BIT="14bits",rF.MPYTHON_ACCELEROMETER_SET_RANGE_TOOLTIP="設置加速度範圍,默認為 ±2g。",rF.MPYTHON_ACCELEROMETER_SET_RANGE_MESSAGE0="設置加速度範圍為 %1",rF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_TOOLTIP="設置加速度分辨率,默認為 10bits。",rF.MPYTHON_ACCELEROMETER_SET_RESOLUTION_MESSAGE0="設置加速度分辨率為 %1",rF.MPYTHON_ACCELEROMETER_SET_OFFSET_TOOLTIP="校準加速度計的3個軸(x,y,z)的加速值偏差。\n一般情況下無需校準,只有遇到加速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1g。\n註意:校準數據斷電後不會保存。",rF.MPYTHON_ACCELEROMETER_SET_OFFSET_MESSAGE0="校準加速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4",rF.MPYTHON_MAGNETIC_GET_AXIS_TOOLTIP="僅適用於掌控板2.0及以上版本",rF.MPYTHON_MAGNETIC_GET_AXIS_MESSAGE0="%1 軸 磁力",rF.MPYTHON_MAGNETIC_GET_HEADING_TOOLTIP="僅適用於掌控板2.0及以上版本",rF.MPYTHON_MAGNETIC_GET_HEADING_MESSAGE0="指南針方向",rF.MPYTHON_MAGNETIC_CALIBRATE_TOOLTIP="僅適用於掌控板2.0及以上版本",rF.MPYTHON_MAGNETIC_CALIBRATE_MESSAGE0="校準指南針",rF.MPYTHON_MAGNETIC_PEELING_TOOLTIP="僅適用於掌控板2.0及以上版本",rF.MPYTHON_MAGNETIC_PEELING_MESSAGE0="去除當前環境磁場",rF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_TOOLTIP="僅適用於掌控板2.0及以上版本",rF.MPYTHON_MAGNETIC_GET_FIELD_STRENGTH_MESSAGE0="磁場強度",rF.MPYTHON_TILT_ANGLE_HELPURL="",rF.MPYTHON_TILT_ANGLE_TOOLTIP="",rF.MPYTHON_TILT_ANGLE_MESSAGE0="%1 軸傾斜角",rF.mpython_random_choice_MESSAGE0="返回隨機項%1",rF.mpython_random_choice_TOOLTIP="以String格式,返回列表或字符串中的隨機項",rF.mpython_i2c_init_MESSAGE0="初始化I2C 波特率%1",rF.mpython_i2c_init_TOOLTIP="SCL引腳19,SDA引腳20,與內部的OLED和加速度傳感器共享I2C總線",rF.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",rF.MACHINE_TIME_PULSE_US_MESSAGE0="%1 外部 %2 電平持續時間(微秒)",rF.MACHINE_TIME_PULSE_US_TOOLTIP="",rF.BYTES="字節",rF.MPYTHON_I2C_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",rF.MPYTHON_I2C_INIT_MESSAGE0="初始化i2c 速率%1",rF.MPYTHON_I2C_INIT_TOOLTIP="",rF.MPYTHON_I2C_DEV_INIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html#machine.I2C",rF.MPYTHON_I2C_DEV_INIT_MESSAGE0="初始化%1 SCL %2 SDA %3 速率 %4",rF.MPYTHON_I2C_DEV_INIT_TOOLTIP="",rF.MPYTHON_I2C_SCAN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.scan",rF.MPYTHON_I2C_SCAN_MESSAGE0="%1 掃描地址",rF.MPYTHON_I2C_SCAN_TOOLTIP="返回壹個數組對象",rF.MPYTHON_I2C_DEINIT_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#machine.I2C.deinit",rF.MPYTHON_I2C_DEINIT_MESSAGE0="關閉%1總線",rF.MPYTHON_I2C_DEINIT_TOOLTIP="",rF.MPYTHON_I2C_WRITETO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",rF.MPYTHON_I2C_WRITETO_MESSAGE0="從%1 %5 地址%2 寫入%3 停止位%4",rF.MPYTHON_I2C_WRITETO_TOOLTIP="地址:Number\n寫入:Number、String",rF.MPYTHON_I2C_READFROM_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",rF.MPYTHON_I2C_READFROM_MESSAGE0="從%1 %5 地址%2 讀取 字節數%3 停止位%4",rF.MPYTHON_I2C_READFROM_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",rF.MPYTHON_I2C_READFROM_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id4",rF.MPYTHON_I2C_READFROM_INTO_MESSAGE0="從%1 %6 地址%2 讀入緩存區%3 字節數%4 停止位%5",rF.MPYTHON_I2C_READFROM_INTO_TOOLTIP="",rF.MPYTHON_I2C_WRITETO_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",rF.MPYTHON_I2C_WRITETO_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 寫入%3",rF.MPYTHON_I2C_WRITETO_MEN_TOOLTIP="地址:Number\n寫入:Number、String",rF.MPYTHON_I2C_READFROM_MEN_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",rF.MPYTHON_I2C_READFROM_MEN_MESSAGE0="從%1 %5 地址%2 寄存器%4 讀取 字節數%3",rF.MPYTHON_I2C_READFROM_MEN_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",rF.MPYTHON_I2C_READFROM_MEN_INTO_HELPURL="https://mpython.readthedocs.io/zh/master/library/micropython/machine/machine.I2C.html?highlight=I2C#id5",rF.MPYTHON_I2C_READFROM_MEN_INTO_MESSAGE0="從%1 %6 地址%2 寄存器%5 讀入緩存區%3 字節數%4",rF.MPYTHON_I2C_READFROM_MEN_INTO_TOOLTIP="地址:Number\n返回:讀取數據的 bytes 對象的字符串",rF.mpython_print_MESSAGE0="調試輸出 %1",rF.mpython_print_TOOLTIP="通過串口調試,輸出字符串",rF.MPYTHON_PRINT_TO_CHART_TOOLTIP="",rF.MPYTHON_PRINT_TO_CHART_EMPTY_TITLE="打印數據到圖表",rF.MPYTHON_PRINT_TO_CHART_INPUT_WITH="打印數據到圖表",rF.MPYTHON_PRINT_TO_CHART_ITEM_TITLE="數據",rF.MPYTHON_PRINT_TO_CHART_ITEM_TOOLTIP="",rF.MPYTHON_PRINT_TO_CHART_CONTAINER_TITLE_ADD="數據內容",rF.MPYTHON_PRINT_TO_CHART_CONTAINER_TOOLTIP="",rF.MPYTHON_INIT_CHART_TOOLTIP="",rF.MPYTHON_INIT_CHART_EMPTY_TITLE="初始化圖表列標題",rF.MPYTHON_INIT_CHART_INPUT_WITH="初始化圖表列標題",rF.MPYTHON_INIT_CHART_ITEM_TITLE="標題",rF.MPYTHON_INIT_CHART_ITEM_TOOLTIP="",rF.MPYTHON_INIT_CHART_CONTAINER_TITLE_ADD="數據列標題",rF.MPYTHON_INIT_CHART_CONTAINER_TOOLTIP="",rF.MPYTHON_MS="毫秒",rF.MPYTHON_US="微秒",rF.MPYTHON_TIME_DIFFERENCE_HELPURL="",rF.MPYTHON_TIME_DIFFERENCE_MESSAGE0="返回運行時間差 開始時間 %1 結束時間 %2",rF.MPYTHON_TIME_DIFFERENCE_TOOLTIP="测量连续调用ticks_ms()、ticks_us()间的周期",rF.MPYTHON_TYPE_HELPURL="",rF.MPYTHON_TYPE_MESSAGE0="值 %1 的類型",rF.MPYTHON_TYPE_TOOLTIP="",rF.MPYTHON_TYPE_IS_HELPURL="",rF.MPYTHON_TYPE_IS_MESSAGE0="值 %1 的類型為 %2",rF.MPYTHON_TYPE_IS_TOOLTIP="",rF.MPYTHON_EVAL_HELPURL="",rF.MPYTHON_EVAL_MESSAGE0="計算表達式 %1 的結果",rF.MPYTHON_EVAL_TOOLTIP="計算字符串表達式,並返回結果",rF.MPYTHON_RETURN_HELPURL="",rF.MPYTHON_RETURN_MESSAGE0="return %1",rF.MPYTHON_RETURN_TOOLTIP="",rF.MPYTHON_BLUEBIT_GET_MOTORPEED_HELPURL="",rF.MPYTHON_BLUEBIT_GET_MOTORPEED_MESSAGE0="拓展板 電機速度 %1",rF.MPYTHON_BLUEBIT_GET_MOTORPEED_TOOLTIP="",rF.MPYTHON_M1M2_LED_ON_HELPURL="",rF.MPYTHON_M1M2_LED_ON_MESSAGE0="拓展板 設燈 %1 亮度 %2",rF.MPYTHON_M1M2_LED_ON_TOOLTIP="",rF.MPYTHON_M1M2_LED_OFF_HELPURL="",rF.MPYTHON_M1M2_LED_OFF_MESSAGE0="拓展板 關燈 %1",rF.MPYTHON_M1M2_LED_OFF_TOOLTIP="",rF.MPYTHON_BLUEBIT_AMBIENTLIGHT_HELPURL="",rF.MPYTHON_BLUEBIT_AMBIENTLIGHT_MESSAGE0="I2C數字光綫",rF.MPYTHON_BLUEBIT_AMBIENTLIGHT_TOOLTIP="",rF.MPYTHON_BLUEBIT_GET_COLOR_HELPURL="",rF.MPYTHON_BLUEBIT_GET_COLOR_MESSAGE0="I2C RGB 顔色 %1",rF.MPYTHON_BLUEBIT_GET_COLOR_TOOLTIP="",rF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HELPURL="",rF.MPYTHON_BLUEBIT_GET_ALL_COLOR_MESSAGE0="I2C RGB 顔色",rF.MPYTHON_BLUEBIT_GET_ALL_COLOR_TOOLTIP="以列表形式返回",rF.MPYTHON_BLUEBIT_GET_COLOR_HSV_HELPURL="",rF.MPYTHON_BLUEBIT_GET_COLOR_HSV_MESSAGE0="I2C HSV 顔色 %1",rF.MPYTHON_BLUEBIT_GET_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",rF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_HELPURL="",rF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_MESSAGE0="I2C HSV 顔色",rF.MPYTHON_BLUEBIT_GET_ALL_COLOR_HSV_TOOLTIP="色調(H),飽和度(S),明度(V)",rF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_MESSAGE0="I2C力感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_FORCE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_MESSAGE0="I2C电流感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_ELECTRICITY_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_MESSAGE0="I2C電壓感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_VOLTAGE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_MESSAGE0="I2C磁場感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_MAGNETIC_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_BLUEBIT_GET_PH_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_PH_MEASURE_MESSAGE0="I2C PH感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_PH_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_MESSAGE0="I2C電導率感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_TDS_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_MESSAGE0="I2C氣壓感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_PRESSURE_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_HELPURL="",rF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_MESSAGE0="I2C光電門感測器 撥碼 %1",rF.MPYTHON_BLUEBIT_GET_PHOTOGATE_TIMER_MEASURE_TOOLTIP="I2C地址與編碼開關的需要對應",rF.MPYTHON_WIFI_ALL_CONFIG_HELPURL="",rF.MPYTHON_WIFI_ALL_CONFIG_MESSAGE0="WI-FI配置信息",rF.MPYTHON_WIFI_ALL_CONFIG_TOOLTIP="以元組形式返回所有wifi配置信息",rF.MPYTHON_WIFI_ISCONNECTED_HELPURL="",rF.MPYTHON_WIFI_ISCONNECTED_MESSAGE0="已連接到 WI-FI",rF.MPYTHON_WIFI_ISCONNECTED_TOOLTIP="",rF.MPYTHON_INIT_ASSISTANT_WIFI_HELPURL="",rF.MPYTHON_INIT_ASSISTANT_WIFI_MESSAGE0="Wi-Fi連接 語音助手 Wi-Fi 名稱 %1 密碼 %2",rF.MPYTHON_INIT_ASSISTANT_WIFI_TOOLTIP="掌控板通過串口把WIF傳給語音助手",rF.MPYTHON_INIT_ASSISTANT_PROFILE_HELPURL="",rF.MPYTHON_INIT_ASSISTANT_PROFILE_TOOLTIP="需要先在檔案系統將文件上傳到板",rF.MPYTHON_INIT_ASSISTANT_PROFILE_MESSAGE0="讀取 語音助手 文字檔 %1",rF.MPYTHON_BLUEBIT_SEG_DISPLAY_HELPURL="",rF.MPYTHON_BLUEBIT_SEG_DISPLAY_MESSAGE0="數碼管顯示 %1",rF.MPYTHON_BLUEBIT_SEG_DISPLAY_TOOLTIP="-999~9999",rF.MPYTHON_MACHINE_RESET_HELPURL="",rF.MPYTHON_MACHINE_RESET_MESSAGE0="復位",rF.MPYTHON_MACHINE_RESET_TOOLTIP="與按下外部RESET按鍵效果一樣",rF.MPYTHON_BLUEBIT_SEG_CLEAR_HELPURL="",rF.MPYTHON_BLUEBIT_SEG_CLEAR_MESSAGE0="清空數碼管",rF.MPYTHON_BLUEBIT_SEG_CLEAR_TOOLTIP="",rF.MPYTHON_MUSIC_PIN_P6="默認",rF.MPYTHON_MUSIC_PIN_P6_HELPURL="",rF.MPYTHON_MUSIC_PIN_P6_MESSAGE0="%1",rF.MPYTHON_MUSIC_PIN_P6_TOOLTIP="",rF.MPYTHON_SLEEP_MESSAGE0="等待 %1 %2",rF.MPYTHON_SLEEP_TOOLTIP="在進行下一個命令前,等待設定的時間。\n1秒(s) = 1,000毫秒(ms)\n1秒(s) = 1,000,000微秒(μs)\n毫秒,符號ms(millisecond)\n微秒,符號μs(microsecond)",rF.MICROBIT_MICROBIT_RUNNING_TIME_MESSAGE0="運行時間",rF.MICROBIT_MICROBIT_RUNNING_TIME_TOOLTIP="獲取開機或復位後的運行時間(毫秒)。",rF.MICROBIT_MICROBIT_RUNNING_TIME_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.running_time",rF.MICROBIT_MICROBIT_TEMPERATURE_MESSAGE0="溫度",rF.MICROBIT_MICROBIT_TEMPERATURE_TOOLTIP="獲取 micro:bit 的溫度(℃)。",rF.MICROBIT_MICROBIT_TEMPERATURE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/microbit.html#microbit.temperature",rF.MICROBIT_MUSIC_PLAY_BUILT_IN_MESSAGE0="播放音樂 %1 等待 %2 循環 %3 引脚 %4",rF.MICROBIT_MUSIC_PLAY_BUILT_IN_TOOLTIP="播放內置的音樂,可以設置等待模式和循環播放。",rF.MICROBIT_MUSIC_PLAY_BUILT_IN_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",rF.MICROBIT_MUSIC_PITCH_MESSAGE0="播放音調 %1 %2 延時 %3 毫秒 引脚 %4",rF.MICROBIT_MUSIC_PITCH_TOOLTIP="在設定的時間長度裏播放音調。",rF.MICROBIT_MUSIC_PITCH_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.pitch",rF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_MESSAGE0="引脚 %5 播放音符列表 %1 等待 %2 %3 循環 %4",rF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_TOOLTIP="播放音符列表,如C4:4、G4:8等,音符為字符串形式。默認是掌控板的P6引脚",rF.MICROBIT_MUSIC_PLAY_LIST_OF_NOTES_HELPURL="https://mpython.readthedocs.io/zh/latest/tutorials/basics/buzz.html",rF.MICROBIT_MUSIC_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",rF.MICROBIT_MUSIC_RESET_MESSAGE0="恢復音樂設置",rF.MICROBIT_MUSIC_RESET_TOOLTIP="將所有音樂設置 (當前節拍, 音階和周期) 恢復成默認值。",rF.MICROBIT_MUSIC_STOP_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.stop",rF.MICROBIT_MUSIC_STOP_MESSAGE0="停止播放音樂 引脚 %1",rF.MICROBIT_MUSIC_STOP_TOOLTIP="默認是掌控板的P6引脚",rF.MICROBIT_MUSIC_SET_TEMPO_MESSAGE0="設置每一拍等同 %1 分音符,每分鐘節拍數 %2",rF.MICROBIT_MUSIC_SET_TEMPO_TOOLTIP="設置回放速度 (節拍)。一定數量的滴答代表一拍,每拍每分鐘播放次數 (BPM 每分鐘節拍)。",rF.MICROBIT_MUSIC_SET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",rF.MICROBIT_MUSIC_SET_TEMPO_SPEED_MESSAGE0="設置播放速度為 %1 倍",rF.MICROBIT_MUSIC_SET_TEMPO_SPEED_TOOLTIP="4分音符為1拍,每分鐘節拍數默認120,為1倍的播放速度",rF.MICROBIT_MUSIC_SET_TEMPO_SPEED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.set_tempo",rF.MICROBIT_MUSIC_GET_TEMPO_MESSAGE0="獲取當前節拍",rF.MICROBIT_MUSIC_GET_TEMPO_TOOLTIP="獲取當前節拍: 每節拍滴答數, 每分鐘節拍 (BPM)。",rF.MICROBIT_MUSIC_GET_TEMPO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",rF.MICROBIT_NEOPIXEL_INITIALISE_MESSAGE0="使用 引腳 %1 控制, neopixel 彩燈數 %2 ",rF.MICROBIT_NEOPIXEL_INITIALISE_TOOLTIP="控制 neopixels 彩燈。需要設定 neopixels 彩燈數量和控制腳。",rF.MICROBIT_NEOPIXEL_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",rF.MICROBIT_NEOPIXEL_CLEAR_MESSAGE0="清除 neopixels 彩燈 %1",rF.MICROBIT_NEOPIXEL_CLEAR_TOOLTIP="清除所有 neopixels 彩燈",rF.MICROBIT_NEOPIXEL_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",rF.MICROBIT_NEOPIXEL_SHOW_MESSAGE0="顯示 neopixels 彩燈 %1",rF.MICROBIT_NEOPIXEL_SHOW_TOOLTIP="顯示 / 更新全部 neopixels 彩燈。",rF.MICROBIT_NEOPIXEL_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",rF.MICROBIT_NEOPIXEL_SET_MESSAGE0="neopixels 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",rF.MICROBIT_NEOPIXEL_SET_TOOLTIP="更新指定的 neopixel 彩燈的紅、綠、藍 (RGB) 顏色",rF.MICROBIT_NEOPIXEL_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",rF.MICROBIT_PIN_TOUCHED_MESSAGE0="引腳 %1 被觸摸",rF.MICROBIT_PIN_TOUCHED_TOOLTIP="如果引腳被觸摸將返回 “真”。",rF.MICROBIT_PIN_TOUCHED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.is_touched",rF.MICROBIT_PIN_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸摸",rF.MICROBIT_PIN_WAS_PRESSED_TOOLTIP="如果引腳曾經被觸摸將返回 “真”。",rF.MICROBIT_PIN_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.was_pressed",rF.MICROBIT_PIN_GET_PRESSES_MESSAGE0="引腳 %1 被觸摸的次數",rF.MICROBIT_PIN_GET_PRESSES_TOOLTIP="返回被觸摸的次數,然後清零。",rF.MICROBIT_PIN_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitTouchPin.get_presses",rF.MICROBIT_PIN_READ_ANALOG_MESSAGE0="讀取引腳 %1 模擬電壓",rF.MICROBIT_PIN_READ_ANALOG_TOOLTIP="讀取引腳的模擬輸入電壓。",rF.MICROBIT_PIN_READ_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.read_analog",rF.MICROBIT_PIN_WRITE_ANALOG_MESSAGE0="設置模擬量 %1 到引腳 %2",rF.MICROBIT_PIN_WRITE_ANALOG_TOOLTIP="寫入模擬參數到指定引腳上。",rF.MICROBIT_PIN_WRITE_ANALOG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitAnalogDigitalPin.write_analog",rF.MICROBIT_PIN_READ_DIGITAL_MESSAGE0="讀取引腳 %1 的數字輸入",rF.MICROBIT_PIN_READ_DIGITAL_TOOLTIP="讀取引腳的數字輸入 (真 或 假)。",rF.MICROBIT_PIN_READ_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.read_digital",rF.MICROBIT_PIN_WRITE_DIGITAL_MESSAGE0="設置數字輸出 %1 到引腳 %2",rF.MICROBIT_PIN_WRITE_DIGITAL_TOOLTIP="寫入數字量 (真 或 假) 到指定引腳。",rF.MICROBIT_PIN_WRITE_DIGITAL_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/pin.html#microbit.MicroBitDigitalPin.write_digital",rF.MICROBIT_RADIO_ON_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",rF.MICROBIT_RADIO_ON_MESSAGE0="打開無線廣播",rF.MICROBIT_RADIO_ON_TOOLTIP="打開無線廣播。需要明確聲明調用,因為它會消耗更多功率和占用更多內存。",rF.MICROBIT_RADIO_OFF_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",rF.MICROBIT_RADIO_OFF_MESSAGE0="關閉無線廣播",rF.MICROBIT_RADIO_OFF_TOOLTIP="關閉無線廣播,節省功耗和內存。",rF.MICROBIT_RADIO_CONFIG_MESSAGE0="配置無線廣播消息長度 %1 %2 最大隊列數量 %3 %4 信道 %5 %6 廣播功率 %7 %8 地址 %9 %10 組 %11 %12 數據速率 %13",rF.MICROBIT_RADIO_CONFIG_TOOLTIP="配置無線廣播。\n 長度指單個消息的最大長度; \n 隊列指可以存放在消息隊列中消息的數量; \n 信道指無線廣播使用的無線頻率; \n 功率指發射廣播信號的強度; \n 地址:32位值; \n 組:8位值(0-255); \n 數據速率指數據傳輸的速度。",rF.MICROBIT_RADIO_CONFIG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",rF.MICROBIT_RADIO_RESET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",rF.MICROBIT_RADIO_RESET_MESSAGE0="復位無線廣播",rF.MICROBIT_RADIO_RESET_TOOLTIP="恢復無線廣播到默認設置。",rF.MICROBIT_RADIO_SEND_STRING_MESSAGE0="發送消息 %1",rF.MICROBIT_RADIO_SEND_STRING_TOOLTIP="廣播文字消息。",rF.MICROBIT_RADIO_SEND_STRING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",rF.MICROBIT_RADIO_SEND_BYTES_MESSAGE0="發送字節 %1",rF.MICROBIT_RADIO_SEND_BYTES_TOOLTIP="廣播字節。",rF.MICROBIT_RADIO_SEND_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",rF.MICROBIT_RADIO_RECEIVE_MESSAGE0="接收消息",rF.MICROBIT_RADIO_RECEIVE_TOOLTIP="接收消息。",rF.MICROBIT_RADIO_RECEIVE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",rF.MICROBIT_RADIO_RECEIVE_BYTES_MESSAGE0="接收字節",rF.MICROBIT_RADIO_RECEIVE_BYTES_TOOLTIP="接收字節。",rF.MICROBIT_RADIO_RECEIVE_BYTES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",rF.MICROBIT_SPEECH_SAY_MESSAGE0="說 %1",rF.MICROBIT_SPEECH_SAY_TOOLTIP="嘗試說英語",rF.MICROBIT_SPEECH_SAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#speech.say",rF.MICROBIT_SPEECH_PRONOUNCE_MESSAGE0="讀 %1",rF.MICROBIT_SPEECH_PRONOUNCE_TOOLTIP="精確發音。",rF.MICROBIT_SPEECH_PRONOUNCE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#phonemes",rF.MICROBIT_SPEECH_SING_MESSAGE0="唱 %1",rF.MICROBIT_SPEECH_SING_TOOLTIP="象機器人一樣唱歌。",rF.MICROBIT_SPEECH_SING_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/speech.html#singing",rF.MICROBIT_GESTURE_SHAKE="搖晃",rF.MICROBIT_GESTURE_UP="上",rF.MICROBIT_GESTURE_DOWN="下",rF.MICROBIT_GESTURE_LEFT="左",rF.MICROBIT_GESTURE_RIGHT="右",rF.MICROBIT_GESTURE_FACE_UP="朝上",rF.MICROBIT_GESTURE_FACE_DOWN="朝下",rF.MICROBIT_GESTURE_FREEFAIL="自由下落",rF.MICROBIT_IMAGE_HEART="心形",rF.MICROBIT_IMAGE_HEART_SMALL="心(小)",rF.MICROBIT_IMAGE_HAPPY="高興",rF.MICROBIT_IMAGE_SMILE="笑臉",rF.MICROBIT_IMAGE_SAD="傷心",rF.MICROBIT_IMAGE_CONFUSED="困惑",rF.MICROBIT_IMAGE_ANGRY="生氣",rF.MICROBIT_IMAGE_ASLEEP="睡著",rF.MICROBIT_IMAGE_SUPRISED="驚訝",rF.MICROBIT_IMAGE_SILLY="愚蠢",rF.MICROBIT_IMAGE_FABULOUS="極妙",rF.MICROBIT_IMAGE_MEH="無聊",rF.MICROBIT_IMAGE_YES="是",rF.MICROBIT_IMAGE_NO="否",rF.MICROBIT_IMAGE_CLOCK12="12點",rF.MICROBIT_IMAGE_CLOCK11="11點",rF.MICROBIT_IMAGE_CLOCK10="10點",rF.MICROBIT_IMAGE_CLOCK9="9點",rF.MICROBIT_IMAGE_CLOCK8="8點",rF.MICROBIT_IMAGE_CLOCK7="7點",rF.MICROBIT_IMAGE_CLOCK6="6點",rF.MICROBIT_IMAGE_CLOCK5="5點",rF.MICROBIT_IMAGE_CLOCK4="4點",rF.MICROBIT_IMAGE_CLOCK3="3點",rF.MICROBIT_IMAGE_CLOCK2="2點",rF.MICROBIT_IMAGE_CLOCK1="1點",rF.MICROBIT_IMAGE_ARROW_N="箭頭-北",rF.MICROBIT_IMAGE_ARROW_NE="箭頭-東北",rF.MICROBIT_IMAGE_ARROW_E="箭頭-東",rF.MICROBIT_IMAGE_ARROW_SE="箭頭-東南",rF.MICROBIT_IMAGE_ARROW_S="箭頭-南",rF.MICROBIT_IMAGE_ARROW_SW="箭頭-西南",rF.MICROBIT_IMAGE_ARROW_W="箭頭-西",rF.MICROBIT_IMAGE_ARROW_NW="箭頭-西北",rF.MICROBIT_IMAGE_TRIANGLE="三角形",rF.MICROBIT_IMAGE_TRIANGLE_LEFT="左三角形",rF.MICROBIT_IMAGE_CHESSBOARD="棋盤",rF.MICROBIT_IMAGE_DIAMOND="菱形",rF.MICROBIT_IMAGE_DIAMOND_SMALL="菱形(小)",rF.MICROBIT_IMAGE_SQUARE="方形",rF.MICROBIT_IMAGE_SQUARE_SMALL="方形(小)",rF.MICROBIT_IMAGE_RABBIT="兔子",rF.MICROBIT_IMAGE_COW="牛",rF.MICROBIT_IMAGE_MUSIC_CROTCHET="四分音符",rF.MICROBIT_IMAGE_MUSIC_QUAVER="八分音符",rF.MICROBIT_IMAGE_MUSIC_QUAVERS="顫音",rF.MICROBIT_IMAGE_PITCHFORK="叉子",rF.MICROBIT_IMAGE_XMAS="聖誕樹",rF.MICROBIT_IMAGE_PACMAN="吃豆人",rF.MICROBIT_IMAGE_TARGET="目標",rF.MICROBIT_IMAGE_TSHIRT="T恤衫",rF.MICROBIT_IMAGE_ROLLERSKATE="輪滑",rF.MICROBIT_IMAGE_DUCK="鴨子",rF.MICROBIT_IMAGE_HOUSE="房子",rF.MICROBIT_IMAGE_TORTOISE="烏龜",rF.MICROBIT_IMAGE_BUTTERFLY="蝴蝶",rF.MICROBIT_IMAGE_STICKFIGURE="線條畫",rF.MICROBIT_IMAGE_GHOST="幽靈",rF.MICROBIT_IMAGE_SWORD="寶劍",rF.MICROBIT_IMAGE_GIRAFFE="長頸鹿",rF.MICROBIT_IMAGE_SKULL="頭",rF.MICROBIT_IMAGE_UMBRELLA="傘",rF.MICROBIT_IMAGE_SNAKE="蛇",rF.MICROBIT_IMAGE_ALL_CLOCKS="所有時鐘",rF.MICROBIT_IMAGE_ALL_ARROWS="所有箭頭",rF.MICROBIT_PIN_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",rF.MICROBIT_PIN_SET_SERVO_TOOLTIP="設置舵機角度,範圍為 0 ~ 180度",rF.MICROBIT_PIN_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",rF.MICROBIT_PIN_SET_MODE_HELPURL="",rF.MICROBIT_PIN_SET_MODE_TOOLTIP="引腳模式有三種:懸空、上拉、下拉",rF.MICROBIT_PIN_SET_MODE_MESSAGE0="設置引腳 %1 模式為 %2",rF.MICROBIT_PIN_MODE_NO="懸空",rF.MICROBIT_PIN_MODE_UP="上拉",rF.MICROBIT_PIN_MODE_DOWN="下拉",rF.MICROBIT_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",rF.MICROBIT_UART_INIT_TOOLTIP="",rF.MICROBIT_UART_INIT_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",rF.MICROBIT_UART_ANY_MSG_RECEIVED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",rF.MICROBIT_UART_ANY_MSG_RECEIVED_TOOLTIP="",rF.MICROBIT_UART_ANY_MSG_RECEIVED_MESSAGE0="串口接收到數據",rF.MICROBIT_UART_READ_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",rF.MICROBIT_UART_READ_MSG_TOOLTIP="",rF.MICROBIT_UART_READ_MSG_MESSAGE0="讀取串口 %1 字節",rF.MICROBIT_UART_READ_MSG_TO_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",rF.MICROBIT_UART_READ_MSG_TO_TOOLTIP="",rF.MICROBIT_UART_READ_MSG_TO_MESSAGE0="讀取串口 %1 字節存至 %2",rF.MICROBIT_UART_WRITE_MSG_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/uart.html",rF.MICROBIT_UART_WRITE_MSG_TOOLTIP="",rF.MICROBIT_UART_WRITE_MSG_MESSAGE0="串口發送數據 %1",rF.MICROBIT_ALL_BYTES="全部",rF.MICROBIT_ALINE_BYTES="一行",rF.LABPLUS_BUTTON_IS_PRESSED_MESSAGE0="引腳 %1 被觸發",rF.LABPLUS_BUTTON_IS_PRESSED_TOOLTIP="如果指定按鍵按下返回 “真”,否則返回 “假”。",rF.LABPLUS_BUTTON_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.is_pressed",rF.LABPLUS_BUTTON_WAS_PRESSED_MESSAGE0="引腳 %1 曾經被觸發",rF.LABPLUS_BUTTON_WAS_PRESSED_TOOLTIP="如果按鍵曾經按下過返回 “真”,否則返回 “假”。",rF.LABPLUS_BUTTON_WAS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.was_pressed",rF.LABPLUS_BUTTON_GET_PRESSES_MESSAGE0="引腳 %1 被觸發過的次數",rF.LABPLUS_BUTTON_GET_PRESSES_TOOLTIP="返回按鍵按下的總次數,然後清除計數。",rF.LABPLUS_BUTTON_GET_PRESSES_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/button.html#Button.get_presses",rF.LABPLUS_LED_MESSAGE0="設置LED燈 引腳 %2 輸出 %1",rF.LABPLUS_LED_TOOLTIP="",rF.LABPLUS_LED_HELPURL="http://wiki.labplus.cn/index.php?title=LED",rF.LABPLUS_INFRARED_IS_TRIGGERED_MESSAGE0="紅外探測 引腳 %1 被觸發",rF.LABPLUS_INFRARED_IS_TRIGGERED_TOOLTIP="",rF.LABPLUS_INFRARED_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%BA%A2%E5%A4%96%E6%8E%A2%E6%B5%8B",rF.LABPLUS_HEAT_SENSITIVE_DETECTOR_MESSAGE0="熱敏傳感器 引腳 %1 的值",rF.LABPLUS_HEAT_SENSITIVE_DETECTOR_TOOLTIP="",rF.LABPLUS_HEAT_SENSITIVE_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%AD%E6%95%8F%E7%94%B5%E9%98%BB",rF.LABPLUS_I2C_LIGHT_SENSOR_MESSAGE0="I2C數字光線傳感器的值(lux)",rF.LABPLUS_I2C_LIGHT_SENSOR_TOOLTIP="",rF.LABPLUS_I2C_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E5%AD%97%E5%85%89%E7%BA%BF",rF.LABPLUS_WATER_LEVEL_DETECTOR_MESSAGE0="水位傳感器 引腳 %1 的值",rF.LABPLUS_WATER_LEVEL_DETECTOR_TOOLTIP="",rF.LABPLUS_WATER_LEVEL_DETECTOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B0%B4%E4%BD%8D",rF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_MESSAGE0="煙霧探測器 引腳 %1 被觸發",rF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",rF.LABPLUS_SMOKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",rF.LABPLUS_BUZZER_FOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",rF.LABPLUS_BUZZER_FOR_TOOLTIP="",rF.LABPLUS_BUZZER_FOR_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0 %2 毫秒",rF.LABPLUS_BUZZER_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",rF.LABPLUS_BUZZER_ON_TOOLTIP="",rF.LABPLUS_BUZZER_ON_MESSAGE0="以頻率 %1 激活蜂鳴器 引腳0",rF.LABPLUS_BUZZER_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",rF.LABPLUS_BUZZER_OFF_TOOLTIP="",rF.LABPLUS_BUZZER_OFF_MESSAGE0="關閉蜂鳴器 引腳0",rF.LABPLUS_TM_HM_SENSOR_MESSAGE0="I2C溫濕度傳感器的 %1 值",rF.LABPLUS_TM_HM_SENSOR_TOOLTIP="",rF.LABPLUS_TM_HM_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%B8%A9%E6%B9%BF%E5%BA%A6",rF.LABPLUS_TM_HM_SENSOR_TM="溫度",rF.LABPLUS_TM_HM_SENSOR_HM="濕度",rF.LABPLUS_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%88%B5%E6%9C%BA",rF.LABPLUS_SET_SERVO_TOOLTIP="",rF.LABPLUS_SET_SERVO_MESSAGE0="設置舵機 引腳 %1 角度為 %2",rF.LABPLUS_FINGERPRINT_SENSOR_MESSAGE0="指紋傳感器 引腳 %1 驗證通過",rF.LABPLUS_FINGERPRINT_SENSOR_TOOLTIP="",rF.LABPLUS_FINGERPRINT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8C%87%E7%BA%B9",rF.LABPLUS_SET_MOTOR_HELPURL="",rF.LABPLUS_SET_MOTOR_TOOLTIP="",rF.LABPLUS_SET_MOTOR_MESSAGE0="設置電機 %1 方向 %2 速度 %3",rF.LABPLUS_SET_MOTOR_CLOCKWISE="正轉",rF.LABPLUS_SET_MOTOR_ANTI_CLOCKWISE="反轉",rF.LABPLUS_STOP_MOTOR_HELPURL="",rF.LABPLUS_STOP_MOTOR_TOOLTIP="",rF.LABPLUS_STOP_MOTOR_MESSAGE0="停止電機",rF.LABPLUS_GET_RFID_ID_MESSAGE0="射頻卡 引腳 %1 驗證通過",rF.LABPLUS_GET_RFID_ID_TOOLTIP="",rF.LABPLUS_GET_RFID_ID_HELPURL="http://wiki.labplus.cn/index.php?title=RFID",rF.LABPLUS_GET_RFID_VALUE_MESSAGE0="電子錢包 引腳 %1 余額",rF.LABPLUS_GET_RFID_VALUE_TOOLTIP="",rF.LABPLUS_GET_RFID_VALUE_HELPURL="",rF.LABPLUS_SET_RFID_VALUE_MESSAGE0="設置電子錢包 引腳 %1 余額 %2 %3",rF.LABPLUS_SET_RFID_VALUE_TOOLTIP="",rF.LABPLUS_SET_RFID_VALUE_HELPURL="",rF.LABPLUS_SET_RFID_ADD="增加",rF.LABPLUS_SET_RFID_MINUS="減少",rF.LABPLUS_SOUND_IS_TRIGGERED_MESSAGE0="聲音傳感器 引腳 %1 被觸發",rF.LABPLUS_SOUND_IS_TRIGGERED_TOOLTIP="",rF.LABPLUS_SOUND_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%BA%A6%E5%85%8B%E9%A3%8E",rF.LABPLUS_USB_SWITCH_HELPURL="",rF.LABPLUS_USB_SWITCH_TOOLTIP="",rF.LABPLUS_USB_SWITCH_MESSAGE0="%1 USB開關 引腳 %2",rF.LABPLUS_USB_SWITCH_ON="打開",rF.LABPLUS_USB_SWITCH_OFF="關閉",rF.LABPLUS_VOICE_RECORD_HELPURL="",rF.LABPLUS_VOICE_RECORD_TOOLTIP="",rF.LABPLUS_VOICE_RECORD_MESSAGE0="%1 語音錄放器 引腳 %2",rF.LABPLUS_VOICE_RECORD_ON="打開",rF.LABPLUS_VOICE_RECORD_OFF="關閉",rF.LABPLUS_RGB_INITIALISE_MESSAGE0="使用 引腳 %1 控制,RGB 彩燈數 %2 ",rF.LABPLUS_RGB_INITIALISE_TOOLTIP="控制 RGB 彩燈。需要設定 neopixels 彩燈數量和控制腳。",rF.LABPLUS_RGB_INITIALISE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel",rF.LABPLUS_RGB_CLEAR_MESSAGE0="清除 RGB 彩燈 %1",rF.LABPLUS_RGB_CLEAR_TOOLTIP="清除所有 RGB 彩燈",rF.LABPLUS_RGB_CLEAR_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.clear",rF.LABPLUS_RGB_SHOW_MESSAGE0="顯示 RGB 彩燈 %1",rF.LABPLUS_RGB_SHOW_TOOLTIP="顯示 / 更新全部 RGB 彩燈。",rF.LABPLUS_RGB_SHOW_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#neopixel.NeoPixel.show",rF.LABPLUS_RGB_SET_MESSAGE0="RGB 彩燈控制 %1 設置位置 %2 紅色 %3 綠色 %4 藍色 %5",rF.LABPLUS_RGB_SET_TOOLTIP="更新指定的 RGB 彩燈的紅、綠、藍 (RGB) 顏色",rF.LABPLUS_RGB_SET_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/neopixel.html#using-neopixels",rF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_MESSAGE0="設置擴展端口 IO %1 為 %2",rF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_TOOLTIP="0表示輸出引腳,1表示輸入引腳",rF.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",rF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_INPUT="輸入",rF.LABPLUS_COMPITITION_INIT_EXTENDED_PINS_OUTPUT="輸出",rF.LABPLUS_READ_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",rF.LABPLUS_READ_EXTENDED_PIN_TOOLTIP="",rF.LABPLUS_READ_EXTENDED_PIN_MESSAGE0="讀取擴展端口值 IO %1",rF.LABPLUS_WRITE_EXTENDED_PIN_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%AB%AF%E5%8F%A3%E6%89%A9%E5%B1%95",rF.LABPLUS_WRITE_EXTENDED_PIN_TOOLTIP="",rF.LABPLUS_WRITE_EXTENDED_PIN_MESSAGE0="設置擴展端口 IO %1 值為 %2",rF.LABPLUS_I2C_ULTRASONIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%B6%85%E5%A3%B0%E6%B3%A2",rF.LABPLUS_I2C_ULTRASONIC_TOOLTIP="",rF.LABPLUS_I2C_ULTRASONIC_MESSAGE0="I2C超聲波傳感器的值",rF.MICROBIT_SET_MUSIC_PIN_HELPURL="",rF.MICROBIT_SET_MUSIC_PIN_TOOLTIP="",rF.MICROBIT_SET_MUSIC_PIN_MESSAGE0="設置默認蜂鳴器引腳為 %1",rF.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",rF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_TOOLTIP="",rF.LABPLUS_HUMAN_DETECTOR_IS_TRIGGERED_MESSAGE0="人體感應 引腳 %1 被觸發",rF.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",rF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_TOOLTIP="",rF.LABPLUS_MAGNETIC_SWITCH_IS_TRIGGERED_MESSAGE0="門磁開關 引腳 %1 被觸發",rF.LABPLUS_SOUND_LEVEL_SENSOR_HELPURL="",rF.LABPLUS_SOUND_LEVEL_SENSOR_TOOLTIP="",rF.LABPLUS_SOUND_LEVEL_SENSOR_MESSAGE0="聲音傳感器 引腳 %1 的值",rF.LABPLUS_SMOKE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%83%9F%E9%9B%BE",rF.LABPLUS_SMOKE_SENSOR_TOOLTIP="",rF.LABPLUS_SMOKE_SENSOR_MESSAGE0="煙霧傳感器 引腳 %1 的值",rF.LABPLUS_SOIL_MOISTURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9C%9F%E5%A3%A4%E6%B9%BF%E5%BA%A6",rF.LABPLUS_SOIL_MOISTURE_SENSOR_TOOLTIP="",rF.LABPLUS_SOIL_MOISTURE_SENSOR_MESSAGE0="土壤濕度傳感器 引腳 %1 的值",rF.LABPLUS_FAN_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%8E%92%E9%A3%8E%E6%89%87",rF.LABPLUS_FAN_SWITCH_TOOLTIP="",rF.LABPLUS_FAN_SWITCH_MESSAGE0="%1 風扇 引腳 %2",rF.LABPLUS_VOICE_RECORD_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",rF.LABPLUS_VOICE_RECORD_ON_TOOLTIP="",rF.LABPLUS_VOICE_RECORD_ON_MESSAGE0="打開錄放器 %1 引腳 %2",rF.LABPLUS_VOICE_RECORD_PLAY="播放",rF.LABPLUS_VOICE_RECORD_REC="錄音",rF.LABPLUS_VOICE_RECORD_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",rF.LABPLUS_VOICE_RECORD_OFF_TOOLTIP="",rF.LABPLUS_VOICE_RECORD_OFF_MESSAGE0="關閉錄放器 引腳 %1",rF.LABPLUS_MOTOR_ON_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",rF.LABPLUS_MOTOR_ON_TOOLTIP="",rF.LABPLUS_MOTOR_ON_MESSAGE0="打開直流電機 %1 速度 %2 引腳 %3",rF.LABPLUS_MOTOR_ON_CLOCKWISE="正轉",rF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="反轉",rF.LABPLUS_MOTOR_OFF_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",rF.LABPLUS_MOTOR_OFF_TOOLTIP="",rF.LABPLUS_MOTOR_OFF_MESSAGE0="停止直流電機 引腳 %1",rF.LABPLUS_READ_COLOR_FROM_I2C_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%A2%9C%E8%89%B2",rF.LABPLUS_READ_COLOR_FROM_I2C_TOOLTIP="",rF.LABPLUS_READ_COLOR_FROM_I2C_MESSAGE0="I2C顏色傳感器讀取並儲存顏色",rF.LABPLUS_RGB_COLOR_HELPURL="http://wiki.labplus.cn/index.php?title=RGB_LED",rF.LABPLUS_RGB_COLOR_TOOLTIP="讀取已儲存的顏色",rF.LABPLUS_RGB_COLOR_MESSAGE0="RGB顏色 %1",rF.LABPLUS_SET_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",rF.LABPLUS_SET_I2C_DIGITS_TOOLTIP="",rF.LABPLUS_SET_I2C_DIGITS_MESSAGE0="設置I2C數碼管的值為 %1",rF.LABPLUS_TURN_OFF_I2C_DIGITS_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%95%B0%E7%A0%81%E7%AE%A1",rF.LABPLUS_TURN_OFF_I2C_DIGITS_TOOLTIP="",rF.LABPLUS_TURN_OFF_I2C_DIGITS_MESSAGE0="關閉I2C數碼管",rF.LABPLUS_UART_SET_MIDI_MELODIC_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",rF.LABPLUS_UART_SET_MIDI_MELODIC_TOOLTIP="",rF.LABPLUS_UART_SET_MIDI_MELODIC_MESSAGE0="設置MIDI模塊音調為 %1",rF.LABPLUS_UART_PLAY_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",rF.LABPLUS_UART_PLAY_MIDI_NOTE_TOOLTIP="",rF.LABPLUS_UART_PLAY_MIDI_NOTE_MESSAGE0="MIDI模塊 %2 音符 %1",rF.LABPLUS_UART_PLAY_MIDI_NOTE_Do="Do",rF.LABPLUS_UART_PLAY_MIDI_NOTE_Re="Re",rF.LABPLUS_UART_PLAY_MIDI_NOTE_Mi="Mi",rF.LABPLUS_UART_PLAY_MIDI_NOTE_Fa="Fa",rF.LABPLUS_UART_PLAY_MIDI_NOTE_Sol="Sol",rF.LABPLUS_UART_PLAY_MIDI_NOTE_La="La",rF.LABPLUS_UART_PLAY_MIDI_NOTE_Si="Si",rF.LABPLUS_UART_PLAY_MIDI_NOTE="播放",rF.LABPLUS_UART_OFF_MIDI_NOTE="停止",rF.LABPLUS_UART_OFF_MIDI_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",rF.LABPLUS_UART_OFF_MIDI_NOTE_TOOLTIP="",rF.LABPLUS_UART_OFF_MIDI_NOTE_MESSAGE0="MIDI模塊停止播放音符 %1",rF.LABPLUS_UART_INIT_MIDI_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E5%AD%90%E7%90%B4",rF.LABPLUS_UART_INIT_MIDI_TOOLTIP="",rF.LABPLUS_UART_INIT_MIDI_MESSAGE0="初始化MIDI模塊 %1",rF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%BE%AA%E8%BF%B9",rF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_TOOLTIP="",rF.LABPLUS_LINE_FOLLOWER_IS_TRIGGERED_MESSAGE0="循跡傳感器 引腳 %1 檢測為黑",rF.LABPLUS_TEMPERATURE_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=LM35%E6%B8%A9%E5%BA%A6",rF.LABPLUS_TEMPERATURE_SENSOR_TOOLTIP="",rF.LABPLUS_TEMPERATURE_SENSOR_MESSAGE0="LM35溫度傳感器 引腳 %1 的值",rF.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",rF.LABPLUS_ROTATE_DIMMER_TOOLTIP="",rF.LABPLUS_ROTATE_DIMMER_MESSAGE0="旋轉電位器 引腳 %1 的值",rF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9C%87%E5%8A%A8",rF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_TOOLTIP="",rF.LABPLUS_SHAKE_DETECTOR_IS_TRIGGERED_MESSAGE0="震動傳感器 引腳 %1 被觸發",rF.LABPLUS_LASER_SWITCH_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%BF%80%E5%85%89%E5%8F%91%E5%B0%84",rF.LABPLUS_LASER_SWITCH_TOOLTIP="",rF.LABPLUS_LASER_SWITCH_MESSAGE0="%1 激光開關 引腳 %2",rF.LABPLUS_4BUTTON_HELPURL="http://wiki.labplus.cn/index.php?title=%E5%9B%9B%E6%8C%89%E9%94%AE",rF.LABPLUS_4BUTTON_TOOLTIP="",rF.LABPLUS_4BUTTON_MESSAGE0="四向按鍵模塊 引腳 %1 按鍵 %2 被按下",rF.BLUE="A",rF.GREEN="B",rF.RED="C",rF.YELLOW="D",rF.LABPLUS_JOYSTICK_HELPURL="",rF.LABPLUS_JOYSTICK_TOOLTIP="",rF.LABPLUS_JOYSTICK_MESSAGE0="搖桿 引腳A0 %1 引腳A1 %2 %3 軸的值",rF.LABPLUS_UART_MP3_PLAY_HELPURL="http://wiki.labplus.cn/index.php?title=%E9%9F%B3%E4%B9%90%E6%92%AD%E6%94%BE",rF.LABPLUS_UART_MP3_PLAY_TOOLTIP="",rF.LABPLUS_UART_MP3_PLAY_MESSAGE0="MP3模塊(UART)播放第 %1 首音樂",rF.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",rF.LABPLUS_UART_MP3_SET_VOLUME_TOOLTIP="",rF.LABPLUS_UART_MP3_SET_VOLUME_MESSAGE0="設置MP3模塊(UART)音量為 %1",rF.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",rF.LABPLUS_UART_MP3_SET_STATUS_TOOLTIP="",rF.LABPLUS_UART_MP3_SET_STATUS_MESSAGE0="設置MP3模塊(UART)狀態為 %1",rF.PAUSE="暫停",rF.STOP="停止",rF.PLAY="繼續播放",rF.PLAYNEXT="下一首",rF.PLAYPREV="上一首",rF.LABPLUS_UART_INIT_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.LABPLUS_UART_INIT_TOOLTIP="",rF.LABPLUS_UART_INIT_MESSAGE0="初始化串口波特率為 %3 TX為 %1 RX為 %2",rF.LABPLUS_VOICE_RECORD_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",rF.LABPLUS_VOICE_RECORD_ON1_TOOLTIP="",rF.LABPLUS_VOICE_RECORD_ON1_MESSAGE0="打開錄放器 %1 %2 引腳REC %3 引腳PLAY %4",rF.LABPLUS_VOICE_RECORD_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%AF%AD%E9%9F%B3%E5%BD%95%E6%94%BE",rF.LABPLUS_VOICE_RECORD_OFF1_TOOLTIP="",rF.LABPLUS_VOICE_RECORD_OFF1_MESSAGE0="關閉錄放器 %1 引腳REC %2 引腳PLAY %3",rF.LABPLUS_MOTOR_ON1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",rF.LABPLUS_MOTOR_ON1_TOOLTIP="",rF.LABPLUS_MOTOR_ON1_MESSAGE0="打開直流電機 %1 速度 %2 引腳AIN1 %3 引腳AIN2 %4",rF.LABPLUS_MOTOR_OFF1_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%94%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8",rF.LABPLUS_MOTOR_OFF1_TOOLTIP="",rF.LABPLUS_MOTOR_OFF1_MESSAGE0="停止直流電機 %1 引腳AIN1 %2 引腳AIN2 %3",rF.LABPLUS_SET_I2C_LCD1602_CURSOR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",rF.LABPLUS_SET_I2C_LCD1602_CURSOR_TOOLTIP="",rF.LABPLUS_SET_I2C_LCD1602_CURSOR_MESSAGE0="設置LCD遊標位置%1 X %2 Y %3";rF.LABPLUS_SET_I2C_LCD1602_PRINT_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",rF.LABPLUS_SET_I2C_LCD1602_PRINT_TOOLTIP="",rF.LABPLUS_SET_I2C_LCD1602_PRINT_MESSAGE0="設置LCD顯示 %1",rF.LABPLUS_SET_I2C_LCD1602_SCROLL_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",rF.LABPLUS_SET_I2C_LCD1602_SCROLL_TOOLTIP="配合循環次數使用",rF.LABPLUS_SET_I2C_LCD1602_SCROLL_MESSAGE0="%1滾動LCD顯示內容",rF.LABPLUS_SET_I2C_LCD1602_SCROLL_ALEFT="向左",rF.LABPLUS_SET_I2C_LCD1602_SCROLL_RIGHTWARD="向右",rF.LABPLUS_SET_I2C_LCD1602_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=1602_LCD",rF.LABPLUS_SET_I2C_LCD1602_CLEAR_TOOLTIP="",rF.LABPLUS_SET_I2C_LCD1602_CLEAR_MESSAGE0="清除LCD顯示內容",rF.LABPLUS_UART_ANY_MSG_RECEIVED_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.LABPLUS_UART_ANY_MSG_RECEIVED_TOOLTIP="",rF.LABPLUS_UART_ANY_MSG_RECEIVED_MESSAGE0="%1 接收到數據",rF.BLUEBIT_UART="串口",rF.BLUEBIT_INFRARED_SIGNAL="紅外信號",rF.BLUEBIT_BLUEBOOTH="藍牙",rF.LABPLUS_UART_READ_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.LABPLUS_UART_READ_MSG_TOOLTIP="",rF.LABPLUS_UART_READ_MSG_MESSAGE0="讀取 %1 數據",rF.LABPLUS_UART_WRITE_MSG_HELPURL="http://wiki.labplus.cn/index.php?title=Bluebit",rF.LABPLUS_UART_WRITE_MSG_TOOLTIP="",rF.LABPLUS_UART_WRITE_MSG_MESSAGE0="%1 發送數據 %2",rF.LABPLUS_SET_I2C_LED_MATRIX_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",rF.LABPLUS_SET_I2C_LED_MATRIX_TOOLTIP="",rF.LABPLUS_SET_I2C_LED_MATRIX_MESSAGE0="設置點陣 %1 第一行顯示%2 第二行顯示%3 第三行顯示%4 第四行顯示%5 第五行顯示%6 第六行顯示%7 第七行顯示%8 第八行顯示%9 ",rF.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",rF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=%E7%82%B9%E9%98%B5",rF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_TOOLTIP="",rF.LABPLUS_SET_I2C_LED_MATRIX_CLEAR_MESSAGE0="清空點陣",rF.LABPLUS_UART_SET_OLED_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",rF.LABPLUS_UART_SET_OLED_TOOLTIP="",rF.LABPLUS_UART_SET_OLED_MESSAGE0="設置OLED屏 %1 X %2 Y %3 顯示文本 %4 字體為 %5",rF.LABPLUS_UART_SET_OLED_CLEAR_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",rF.LABPLUS_UART_SET_OLED_CLEAR_TOOLTIP="",rF.LABPLUS_UART_SET_OLED_CLEAR_MESSAGE0="在OLED屏上擦除矩陣 %1 X1 %2 Y1 %3 X2 %4 Y2 %5",rF.LABPLUS_UART_SET_OLED_CLEAR_ALL_MESSAGE0="清空OLED屏",rF.LABPLUS_UART_SET_OLED_CLEAR_ALL_HELPURL="http://wiki.labplus.cn/index.php?title=OLED",rF.LABPLUS_UART_SET_OLED_CLEAR_ALL_TOOLTIP="",rF.LABPLUS_LIGHT_SENSOR_HELPURL="http://wiki.labplus.cn/index.php?title=%E6%A8%A1%E6%8B%9F%E5%85%89%E7%BA%BF",rF.LABPLUS_LIGHT_SENSOR_TOOLTIP="",rF.LABPLUS_LIGHT_SENSOR_MESSAGE0="模擬光線傳感器 引腳 %1 的值",rF.LABPLUS_BUTTON_MODULE_IS_PRESSED_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",rF.LABPLUS_BUTTON_MODULE_IS_PRESSED_TOOLTIP="",rF.LABPLUS_BUTTON_MODULE_IS_PRESSED_MESSAGE0="按鍵模塊 引腳 %1 被按下",rF.MICROBIT_EXT2_SET_SERVO_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",rF.MICROBIT_EXT2_SET_SERVO_TOOLTIP="",rF.MICROBIT_EXT2_SET_SERVO_MESSAGE0="設置舵機 %1 的角度為 %2",rF.MICROBIT_EXT2_SET_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",rF.MICROBIT_EXT2_SET_MOTOR_TOOLTIP="",rF.MICROBIT_EXT2_SET_MOTOR_MESSAGE0="設置馬達 %1 方向 %2 速度 %3",rF.MICROBIT_EXT2_STOP_MOTOR_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",rF.MICROBIT_EXT2_STOP_MOTOR_TOOLTIP="",rF.MICROBIT_EXT2_STOP_MOTOR_MESSAGE0="停止馬達 %1",rF.MICROBIT_EXT2_SOUND_VALUE_MESSAGE0="聲音傳感器的值",rF.MICROBIT_EXT2_SOUND_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",rF.MICROBIT_EXT2_SOUND_VALUE_TOOLTIP="",rF.MICROBIT_EXT2_LIGHT_VALUE_MESSAGE0="光線傳感器的值",rF.MICROBIT_EXT2_LIGHT_VALUE_HELPURL="http://wiki.labplus.cn/index.php?title=Extend:bit%E2%85%A1",rF.MICROBIT_EXT2_LIGHT_VALUE_TOOLTIP="",rF.MICROBIT_INIT_I2C_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",rF.MICROBIT_INIT_I2C_TOOLTIP="",rF.MICROBIT_INIT_I2C_MESSAGE0="初始化I2C 頻率 %1 引腳SDA %2 引腳SCL %3",rF.MICROBIT_I2C_READ_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",rF.MICROBIT_I2C_READ_TOOLTIP="",rF.MICROBIT_I2C_READ_MESSAGE0="I2C讀取從地址 %1 讀取 %2 字節",rF.MICROBIT_I2C_WRITE_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",rF.MICROBIT_I2C_WRITE_TOOLTIP="",rF.MICROBIT_I2C_WRITE_MESSAGE0="I2C寫入 %2 到地址 %1",rF.MICROBIT_CONVERT_BYTEARRAY_HELPURL="https://microbit-micropython.readthedocs.io/en/latest/i2c.html",rF.MICROBIT_CONVERT_BYTEARRAY_TOOLTIP="",rF.MICROBIT_CONVERT_BYTEARRAY_MESSAGE0="bytearray %1",rF.BOTBIT_MOTOR_ON_HELPURL="",rF.BOTBIT_MOTOR_ON_TOOLTIP="範圍:-2000~2000",rF.BOTBIT_MOTOR_ON_MESSAGE0="設置機器人 %1 右輪速度為 %2 左輪速度為 %3",rF.BOTBIT_MOTOR_LEFT="左",rF.BOTBIT_MOTOR_RIGHT="右",rF.BOTBIT_SERVO_UP="上方",rF.BOTBIT_SERVO_DOWN="下方",rF.BOTBIT_MOTOR_FORWARD="前進",rF.BOTBIT_MOTOR_BACKWARD="後退",rF.BOTBIT_HOLDBALL_HELPURL="",rF.BOTBIT_HOLDBALL_TOOLTIP="",rF.BOTBIT_HOLDBALL_MESSAGE0="雙臂抱起",rF.BOTBIT_STEERING_ENGINEL_HELPURL="",rF.BOTBIT_STEERING_ENGINEL_TOOLTIP="角度範圍為-45°~45°",rF.BOTBIT_STEERING_ENGINEL_MESSAGE0="設置 %1臂 %2的角度為 %3",rF.BOTBIT_SERVO_Y="Y軸舵機",rF.BOTBIT_SERVO_X="X軸舵機",rF.BOTBIT_STEERING_ENGINE_LEG_HELPURL="",rF.BOTBIT_STEERING_ENGINE_LEG_TOOLTIP="角度範圍為-45°~45°",rF.BOTBIT_STEERING_ENGINE_LEG_MESSAGE0="設置 %1腿 %2舵機的角度為 %3",rF.BOTBIT_UPDATEPOSITION_HELPURL="",rF.BOTBIT_UPDATEPOSITION_TOOLTIP="",rF.BOTBIT_UPDATEPOSITION_MESSAGE0="刷新舵機角度",rF.BOTBIT_ULTRASONIC_HELPURL="",rF.BOTBIT_ULTRASONIC_TOOLTIP="",rF.BOTBIT_ULTRASONIC_MESSAGE0="超聲波傳感器的值",rF.BOTBIT_WALKING_HELPURL="",rF.BOTBIT_WALKING_TOOLTIP="周期越短, 速度越快, 推薦1000~2000",rF.BOTBIT_WALKING_MESSAGE0="舞步(walking) 步數%2 周期%3 方向%1 ",rF.BOTBIT_WALKING_FORWARD="前",rF.BOTBIT_WALKING_BACK="後",rF.BOTBIT_MOONWALKER_HELPURL="",rF.BOTBIT_MOONWALKER_TOOLTIP="推薦周期1000~2000, 幅度10~50",rF.BOTBIT_MOONWALKER_MESSAGE0="舞步(moonwalker) 步數%2 周期%3 幅度%4 方向%1 ",rF.BOTBIT_MOONWALKER_L="左",rF.BOTBIT_MOONWALKER_R="右",rF.BOTBIT_CRUSAITO_HELPURL="",rF.BOTBIT_CRUSAITO_TOOLTIP="推薦步數2~10, 幅度10~50",rF.BOTBIT_CRUSAITO_MESSAGE0="舞步(crusaito) 步數%2 周期%3 幅度%4 方向%1",rF.BOTBIT_CRUSAITO_CW="逆時針",rF.BOTBIT_CRUSAITO_ANTICW="順時針",rF.BOTBIT_FLAPPING_HELPURL="",rF.BOTBIT_FLAPPING_TOOLTIP="推薦步數5~15, 幅度10~30, 周期1000~2000",rF.BOTBIT_FLAPPING_MESSAGE0="舞步(flapping) 步數%2 周期%3 幅度%4 方向%1",rF.BOTBIT_FLAPPING_FORWARD="前",rF.BOTBIT_FLAPPING_BACK="後",rF.BOTBIT_HOME_HELPURL="",rF.BOTBIT_HOME_TOOLTIP="",rF.BOTBIT_HOME_MESSAGE0="機器人舞步初始化",rF.LABPLUS_UART_SET_MIDI_VOL_HELPURL="http://wiki.labplus.cn/index.php?title=MIDI(%E7%94%B5%E5%AD%90%E7%90%B4)",rF.LABPLUS_UART_SET_MIDI_VOL_TOOLTIP="",rF.LABPLUS_UART_SET_MIDI_VOL_MESSAGE0="設置MIDI模塊音量為 %1",rF.labplus_mapping_MESSAGE0="映射%1 從%2 , %3到%4 , %5",rF.labplus_mapping_TOOLTIP="將0~100中的10映射到0~200中並返回映射值",rF.labplus_mapping_HELPURL="",rF.JOINT_MIDI_PIANO="平臺鋼琴",rF.JOINT_MIDI_BRIGHTACOUSTICPIANO="亮音鋼琴",rF.JOINT_MIDI_ELECTRICGRANDPIANO="電鋼琴",rF.JOINT_MIDI_HARPSICHORD="大鍵琴",rF.JOINT_MIDI_Celesta="鋼片琴",rF.JOINT_MIDI_Glockenspiel="鐘琴",rF.JOINT_MIDI_Musicalbox="音樂盒",rF.JOINT_MIDI_Marimba="馬林巴琴",rF.JOINT_MIDI_Xylophone="木琴",rF.JOINT_MIDI_TubularBell="管鐘",rF.JOINT_MIDI_Dulcimer="洋琴",rF.JOINT_Vibraphone="顫音琴",rF.JOINT_MIDI_ORGAN="音栓風琴",rF.JOINT_Acoustic_Guitar="木吉他",rF.JOINT_Electric_Guitar="電吉他",rF.JOINT_Acoustic_Bass="民謠貝斯",rF.JOINT_String_Ensemble="弦樂合奏",rF.JOINT_Violin="小提琴",rF.JOINT_Trumpet="小號",rF.JOINT_Sax="薩克斯",rF.JOINT_Steel_Drums="鋼鼓",rF.JOINT_Lead="合成音主旋律",rF.JOINT_Pad="合成音襯底",rF.LABPLUS_PLAY_BUZZER_NOTE_HELPURL="http://wiki.labplus.cn/index.php?title=%E8%9C%82%E9%B8%A3%E5%99%A8",rF.LABPLUS_PLAY_BUZZER_NOTE_TOOLTIP="",rF.LABPLUS_PLAY_BUZZER_NOTE_MESSAGE0="播放音調 %1",rF.Carbit_init_MESSAGE0="CarBit初始化",rF.Carbit_init_TOOLTIP="",rF.Carbit_init_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_setLeftMotor_MESSAGE0="B2電機速度 %1",rF.Carbit_setLeftMotor_TOOLTIP="範圍:-100~100",rF.Carbit_setLeftMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_setRightMotor_MESSAGE0="B1電機速度 %1",rF.Carbit_setRightMotor_TOOLTIP="範圍:-100~100",rF.Carbit_setRightMotor_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_analog_light_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_analog_light_TOOLTIP="Q3對應Pin1,Q4對應Pin2",rF.Carbit_analog_light_MESSAGE0="%1 模擬光線的值",rF.Carbit_Speed_U10_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_Speed_U10_TOOLTIP="對應U10",rF.Carbit_Speed_U10_MESSAGE0="左輪速度",rF.Carbit_Speed_U11_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_Speed_U11_TOOLTIP="對應U11",rF.Carbit_Speed_U11_MESSAGE0="右輪速度",rF.Carbit_Distance_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_Distance_TOOLTIP="",rF.Carbit_Distance_MESSAGE0="超聲波的值",rF.Carbit_tracking_HELPURL="http://wiki.labplus.cn/index.php?title=Car:bit",rF.Carbit_tracking_TOOLTIP="",rF.Carbit_tracking_MESSAGE0="循跡參數 %1 直行速度 %2 最大限速 %3 轉彎延時 %5 轉彎速度系數 %4 ",rF.XUNFEI_SPEECH_TTS_HELPURL="",rF.XUNFEI_SPEECH_TTS_TOOLTIP="合成音頻文件格式只能是 *.pcm",rF.XUNFEI_SPEECH_TTS_MESSAGE0="[訊飛語音] 合成音頻 %1 APPID %2 APISecret %3 APIKey %4 文字內容 %5 轉存為音頻文件 %6",rF.XUNFEI_SPEECH_IAT_HELPURL="",rF.XUNFEI_SPEECH_IAT_TOOLTIP="可識別的音頻格式有 *.pcm 與 *.wav",rF.XUNFEI_SPEECH_IAT_MESSAGE0="[訊飛語音] 識別音頻 %1 APPID %2 APISecret %3 APIKey %4 待識別音頻文件 %5",rF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",rF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",rF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[訊飛語音] 識別結果",rF.MPYTHON_ZKAI_LCD_INIT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdinittype1-freq15000000-colorlcdblack",rF.MPYTHON_ZKAI_LCD_INIT_MESSAGE0="LCD 屏幕初始化",rF.MPYTHON_ZKAI_LCD_INIT_TOOLTIP="初始化 LCD 屏幕显示",rF.MPYTHON_ZKAI_LCD_ROTATION_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",rF.MPYTHON_ZKAI_LCD_ROTATION_MESSAGE0="LCD 屏幕方向%1",rF.MPYTHON_ZKAI_LCD_ROTATION_TOOLTIP="设置 LCD 屏幕方向,取值范围 [0,3], 从0到3依次顺时针旋转",rF.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",rF.MPYTHON_ZKAI_SENSOR_RESET_MESSAGE0="摄像头 初始化",rF.MPYTHON_ZKAI_SENSOR_RESET_TOOLTIP="初始化单目摄像头",rF.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",rF.MPYTHON_ZKAI_SENSOR_ENABLE_MESSAGE0="摄像头%1",rF.MPYTHON_ZKAI_SENSOR_ENABLE_TOOLTIP="获取图像",rF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdwidth",rF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_MESSAGE0="LCD 获取%1",rF.MPYTHON_ZKAI_LCD_WIDTHANDHEIGHT_TOOLTIP="返回 LCD 的宽度(水平分辨率);高度(垂直分辨率)",rF.MPYTHON_ZKAI_LCD_MI_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddirectiondir",rF.MPYTHON_ZKAI_LCD_MI_MESSAGE0="LCD 设置镜像",rF.MPYTHON_ZKAI_LCD_MI_TOOLTIP="设置是否镜像",rF.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",rF.MPYTHON_ZKAI_LCD_TEXT_MESSAGE0="显示文本 x %1 y %2 内容 %3",rF.MPYTHON_ZKAI_LCD_TEXT_TOOLTIP="仅支持字母和数字",rF.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",rF.MPYTHON_ZKAI_SENSOR_OffOn_MESSAGE0="摄像头%1",rF.MPYTHON_ZKAI_SENSOR_OffOn_TOOLTIP="1 表示开启摄像头 0 表示关闭摄像头",rF.MPYTHON_ZKAI_SENSOR_SKIP_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/sensor.html#%E8%B7%B3%E5%B8%A7",rF.MPYTHON_ZKAI_SENSOR_SKIP_MESSAGE0="摄像头 跳过帧数%1 毫秒%2内的图像 ",rF.MPYTHON_ZKAI_SENSOR_SKIP_TOOLTIP="摄像头跳过指定帧数或者跳过指定时间内的图像",rF.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",rF.MPYTHON_ZKAI_SENSOR_RETURN_MESSAGE0="摄像头 获取%1",rF.MPYTHON_ZKAI_SENSOR_RETURN_TOOLTIP="(ZKAI)摄像头返回参数(宽高,获取帧缓冲,获取ID)",rF.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",rF.MPYTHON_ZKAI_SENSOR_SETS_MESSAGE0="摄像头 设置%1 为%2",rF.MPYTHON_ZKAI_SENSOR_SETS_TOOLTIP="设置摄像头对比度,亮度,饱和度范围为[-2,+2]",rF.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",rF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_MESSAGE0="摄像头 自动增益%1",rF.MPYTHON_ZKAI_SENSOR_AUTO_GAIN_TOOLTIP="1开启摄像头自动增益 0关闭摄像头自动增益",rF.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",rF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_MESSAGE0="摄像头 获取增益值",rF.MPYTHON_ZKAI_SENSOR_ACQUIRE_AUTO_GAIN_TOOLTIP="获取摄像头增益值",rF.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",rF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_MESSAGE0="摄像头 水平镜像%1",rF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_TOOLTIP="1 表示开启水平镜像 0 表示关闭水平镜像",rF.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",rF.MPYTHON_ZKAI_IMAGE_LAB_MESSAGE0="寻找颜色 LAB值%1",rF.MPYTHON_ZKAI_IMAGE_LAB_TOOLTIP="image寻找颜色",rF.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",rF.MPYTHON_ZKAI_TRACE_COLOR_MESSAGE0="(掌控AI)追蹤色塊 LAB顏色%1 邊界框小於%2 像素小於%3 過濾",rF.MPYTHON_ZKAI_TRACE_COLOR_TOOLTIP="追蹤色塊",rF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_HELPURL="",rF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_MESSAGE0="(掌控AI)追蹤色塊 顯示%1",rF.MPYTHON_ZKAI_TRACE_CILOR_DISPLAYTEN_TOOLTIP="",rF.MPYTHON_ZKAI_BLOB_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_ALL_MESSAGE0="(掌控AI)%1獲取識別後色塊的 所有參數",rF.MPYTHON_ZKAI_BLOB_ALL_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 x座標",rF.MPYTHON_ZKAI_BLOB_X_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 y座標",rF.MPYTHON_ZKAI_BLOB_Y_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_W_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_W_MESSAGE0="(掌控AI)%1獲取識別後色塊的 寬度",rF.MPYTHON_ZKAI_BLOB_W_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_H_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_H_MESSAGE0="(掌控AI)%1獲取識別後色塊的 高度",rF.MPYTHON_ZKAI_BLOB_H_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_NUMBER_MESSAGE0="(掌控AI)%1獲取識別後色塊的 數量",rF.MPYTHON_ZKAI_BLOB_NUMBER_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_CENTER_X_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_CENTER_X_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心x座標",rF.MPYTHON_ZKAI_BLOB_CENTER_X_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_CENTER_Y_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_CENTER_Y_MESSAGE0="(掌控AI)%1獲取識別後色塊的 中心y座標",rF.MPYTHON_ZKAI_BLOB_CENTER_Y_TOOLTIP="返回blob 類 -- 色塊對象",rF.MPYTHON_ZKAI_BLOB_ORTHOGON_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#blob",rF.MPYTHON_ZKAI_BLOB_ORTHOGON_MESSAGE0="(掌控AI)%1獲取識別後色塊的 矩形",rF.MPYTHON_ZKAI_BLOB_ORTHOGON_TOOLTIP="返回blob 類 -- 色塊對象",rF.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",rF.MPYTHON_ZKAI2_FACE_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 人臉",rF.MPYTHON_ZKAI2_FACE_TRACKING_TOOLTIP="可以識別並且追蹤人臉,顯示人臉大小等",rF.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",rF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 人臉識別",rF.MPYTHON_ZKAI2_PHOTOGRAPH_TRACKING_TOOLTIP="調用攝像頭進行 人臉識別",rF.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",rF.MPYTHON_ZKAI2_RESULT_FACE_MESSAGE0="(掌控AI)獲取識別後人臉的 所有參數",rF.MPYTHON_ZKAI2_RESULT_FACE_TOOLTIP="獲取識別後人臉的 所有參數",rF.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",rF.MPYTHON_ZKAI2_RESULT_FACE_X_MESSAGE0="(掌控AI)獲取識別後人臉的 x座標",rF.MPYTHON_ZKAI2_RESULT_FACE_X_TOOLTIP="獲取識別後人臉的 x座標",rF.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",rF.MPYTHON_ZKAI2_RESULT_FACE_Y_MESSAGE0="(掌控AI)獲取識別後人臉的 y座標",rF.MPYTHON_ZKAI2_RESULT_FACE_Y_TOOLTIP="獲取識別後人臉的 y座標",rF.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",rF.MPYTHON_ZKAI2_RESULT_FACE_W_MESSAGE0="(掌控AI)獲取識別後人臉的 寬度",rF.MPYTHON_ZKAI2_RESULT_FACE_W_TOOLTIP="獲取識別後人臉的 寬度",rF.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",rF.MPYTHON_ZKAI2_RESULT_FACE_H_MESSAGE0="(掌控AI)獲取識別後人臉的 高度",rF.MPYTHON_ZKAI2_RESULT_FACE_H_TOOLTIP="獲取識別後人臉的 高度",rF.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",rF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_MESSAGE0="(掌控AI)獲取識別後人臉的 置信度",rF.MPYTHON_ZKAI2_RESULT_FACE_VALUE_TOOLTIP="獲取識別後人臉的 置信度",rF.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",rF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_MESSAGE0="(掌控AI)獲取識別後人臉的 數量",rF.MPYTHON_ZKAI2_RESULT_FACE_OBJNUM_TOOLTIP="獲取識別後人臉的 數量",rF.MPYTHON_ZKAI_LCD_DISPLAY_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcddisplayimage-roiauto",rF.MPYTHON_ZKAI_LCD_DISPLAY_MESSAGE0="LCD 显示生效",rF.MPYTHON_ZKAI_LCD_DISPLAY_TOOLTIP="可以在液晶屏上显示一张 image",rF.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",rF.MPYTHON_ZKAI_SENSOR_IMAGES_MESSAGE0="摄像头 获取图像",rF.MPYTHON_ZKAI_SENSOR_IMAGES_TOOLTIP="控制摄像头捕捉图像",rF.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",rF.MPYTHON_ZKAI2_20class_TRACKING_MESSAGE0="(掌控AI)選擇訓練模型 20類",rF.MPYTHON_ZKAI2_20class_TRACKING_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",rF.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",rF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_MESSAGE0="(掌控AI)調用攝像頭進行 20類識別",rF.MPYTHON_ZKAI2_PHOTOGRAPH_20TRACKING_TOOLTIP="調用攝像頭進行 20類識別",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_MESSAGE0="(掌控AI)獲取識別後20類的 所有參數",rF.MPYTHON_ZKAI2_RESULT_20CLASS_TOOLTIP="獲取識別後20類的 所有參數",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_X_MESSAGE0="(掌控AI)獲取識別後20類的 x座標",rF.MPYTHON_ZKAI2_RESULT_20CLASS_X_TOOLTIP="獲取識別後20類的 x座標",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_MESSAGE0="(掌控AI)獲取識別後20類的 y座標",rF.MPYTHON_ZKAI2_RESULT_20CLASS_Y_TOOLTIP="獲取識別後20類的 y座標",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_W_MESSAGE0="(掌控AI)獲取識別後20類的 寬度",rF.MPYTHON_ZKAI2_RESULT_20CLASS_W_TOOLTIP="獲取識別後20類的 寬度",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_H_MESSAGE0="(掌控AI)獲取識別後20類的 高度",rF.MPYTHON_ZKAI2_RESULT_20CLASS_H_TOOLTIP="獲取識別後20類的 高度",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_MESSAGE0="(掌控AI)獲取識別後20類的 置信度",rF.MPYTHON_ZKAI2_RESULT_20CLASS_VALUE_TOOLTIP="獲取識別後20類的 置信度",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_MESSAGE0="(掌控AI)獲取識別後20類的 數量",rF.MPYTHON_ZKAI2_RESULT_20CLASS_OBJNUM_TOOLTIP="獲取識別後20類的 數量",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_MESSAGE0="(掌控AI)獲取識別後20類的 類型",rF.MPYTHON_ZKAI2_RESULT_20CLASS_CLASSID_TOOLTIP="可以識別20個類型,分別是0-19爲飛機,自行車,鳥,船,瓶子,公交車,汽車,貓,椅子,奶牛,餐桌,狗,屋子,摩托車,人,盆栽,羊,沙發,火車,電視",rF.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",rF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_MESSAGE0="(掌控AI)獲取識別後20類的 類型數量",rF.MPYTHON_ZKAI2_RESULT_20CLASS_INDEX_TOOLTIP="獲取識別後20類的 類型數量",rF.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",rF.MPYTHON_ZKAI2_NUMBER_DISCERN_MESSAGE0="(掌控AI)選擇訓練模型 手寫數字",rF.MPYTHON_ZKAI2_NUMBER_DISCERN_TOOLTIP="選擇訓練模型 手寫數字",rF.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",rF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_MESSAGE0="(掌控AI)調用攝像頭進行 手寫數字識別",rF.MPYTHON_ZKAI2_RESULT_NUMBER_DISCERN_TOOLTIP="調用攝像頭進行 手寫數字識別",rF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",rF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_MESSAGE0="(掌控AI)獲取識別後手寫數字的 所有參數",rF.MPYTHON_ZKAI2_NUMBER_DETECT_ALL_TOOLTIP="獲取識別後手寫數字的 所有參數",rF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",rF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_MESSAGE0="(掌控AI)獲取識別後手寫數字的 數字",rF.MPYTHON_ZKAI2_NUMBER_DETECT_NUMBER_TOOLTIP="獲取識別後手寫數字的 數字",rF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_HELPURL="https://mpython.readthedocs.io/zh/doc_mpythonbox/mpython_classroom_kit/lib/mpython_classroom_kit.html#id2",rF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_MESSAGE0="(掌控AI)獲取識別後手寫數字的 置信度",rF.MPYTHON_ZKAI2_NUMBER_DETECT_ADIENCE_TOOLTIP="獲取識別後手寫數字的 置信度",rF.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",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT_MESSAGE0="人脸识别",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT_TOOLTIP="",rF.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",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_MESSAGE0="获取 识别%1",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",rF.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",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_MESSAGE0="获取 识别 所有参数",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT_ALL_RETURN_TOOLTIP="人脸识别的x和y是LCD屏幕的坐标位置;width和height是人脸识别出的宽度和高度;classid是识别出的类别;objnum是人脸识别出的个数",rF.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",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_MESSAGE0="人脸识别",rF.MPYTHON_ZKAI_IMAGE_FACEDETECT2_TOOLTIP="可以放入获取识别的参数",rF.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",rF.MPYTHON_ZKAI_IMAGE_20CLASS_TOOLTIP="可以放入获取识别的参数,可以识别20个类型,分别是飞机,自行车,鸟,船,瓶子,公交车,汽车,猫,椅子,奶牛, 餐桌,狗,屋子,摩托车,人,盆栽,羊,沙发,火车,电视",rF.MPYTHON_ZKAI_LCD_SHOW_REC_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawrectanglex-y-w-h-color-thickness1-fillfalse",rF.MPYTHON_ZKAI_LCD_SHOW_REC_MESSAGE0="矩形%1 x%3 y%4 宽%5 高%6 颜色为 R%7 G%8 B%9 加粗%2",rF.MPYTHON_ZKAI_LCD_SHOW_REC_TOOLTIP="在图像上绘制矩形",rF.MPYTHON_ZKAI_LCD_SHOW_STRING_MESSAGE0="线条 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",rF.MPYTHON_ZKAI_LCD_SHOW_STRING_TOOLTIP="在图像上绘制线条",rF.MPYTHON_ZKAI_LCD_SHOW_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawlinex0-y0-x1-y1-color-thickness1",rF.MPYTHON_ZKAI_LCD_CLEAR_ALL_MESSAGE0="LCD 显示清空",rF.MPYTHON_ZKAI_LCD_CLEAR_ALL_TOOLTIP="将液晶屏清空为黑色或者指定的颜色",rF.MPYTHON_ZKAI_LCD_CLEAR_ALL_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/lcd.html#lcdclear",rF.MPYTHON_ZKAI_LCD_return_colour_MESSAGE0="LCD 返回 x%1 y%2 颜色",rF.MPYTHON_ZKAI_LCD_return_colour_TOOLTIP="返回某个坐标点的颜色",rF.MPYTHON_ZKAI_LCD_return_colour_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagegetpixelx-y-rgbtuple",rF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_MESSAGE0="圆形%1 x%2 y%3 半径%4 颜色为 R%5 G%6 B%7 加粗%8",rF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_TOOLTIP="在图像上绘制圆形",rF.MPYTHON_ZKAI_LCD_SHOW_CIRCLE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcirclex-y-radius-color-thickness1-fillfalse",rF.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",rF.MPYTHON_ZKAI_LCD_TEXT_MOST_MESSAGE0="显示文本 x %1 y %2 内容 %3 颜色为R%4 G%5 B%6 字号%7",rF.MPYTHON_ZKAI_LCD_TEXT_MOST_TOOLTIP="仅支持字母和数字",rF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_MESSAGE0="十字线 x%1 y%2 颜色为R%3 G%4 B%5 尺寸%6 加粗%7",rF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_TOOLTIP="在图像上绘制十字线",rF.MPYTHON_ZKAI_LCD_SHOW_TEN_STRING_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawcrossx-y-color-size5-thickness1",rF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_MESSAGE0="箭头 x1%1 y1%2 到x2%3 y2%4 颜色为R%5 G%6 B%7 加粗%8",rF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_TOOLTIP="在图像上绘制一个箭头",rF.MPYTHON_ZKAI_LCD_SHOW_ARROWS_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagedrawarrowx0-y0-x1-y1-color-thickness1",rF.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",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_MESSAGE0="显示图像 路径%1",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_PIRCTURE_TOOLTIP="显示图像",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagetorainbowcopyfalse",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_MESSAGE0="LCD 显示热图颜色",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_TOOLTIP="可以在液晶屏上显示一张 image的热图颜色",rF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagesavepath-roi-quality50",rF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_MESSAGE0="将图像的副本保存到SD卡 图像名%1 图像显示区域 x%2 y%3 宽%4 高%5",rF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_TOOLTIP="将图像的副本保存到SD卡",rF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_HELPURL="https://maixpy.sipeed.com/zh/libs/machine_vision/image.html#imagecopyroi-copytofbfalse",rF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_MESSAGE0="创建一个图像对象的副本 复制图像区域 x%1 y%2 宽%3 高%4",rF.MPYTHON_ZKAI_LCD_SHOW_ECTYPE_SHOW_TOOLTIP="创建一个图像对象的副本",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_GRAYSCALE="灰度",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_RAINBOW="彩虹",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_NEGATE="數字反轉",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_HEAT_INVERT="黑白翻轉",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LINPOLAR="線性極",rF.MPYTHON_ZKAI_LCD_SHOW_IMAGE_DESCARTES_LOGPOLAR="對數極",rF.MPYTHON_ZKAI_SENSOR_PATTERN_GRAYSCALE="灰度",rF.MPYTHON_ZKAI_SENSOR_PATTERN_COLOR="彩色",rF.MPYTHON_ZKAI_SENSOR_ENABLE_START="開始抓取圖像",rF.MPYTHON_ZKAI_SENSOR_ENABLE_STOP="停止抓取圖像",rF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_H="水平鏡像",rF.MPYTHON_ZKAI_SENSOR_LEVEL_MI_V="垂直翻轉",rF.MPYTHON_ZKAI_SENSOR_SETS_CONTRAST="對比度",rF.MPYTHON_ZKAI_SENSOR_SETS_BRIGHTNESS="亮度",rF.MPYTHON_ZKAI_SENSOR_SETS_SATURATION="飽和度",rF.MPYTHON_ZKAI2_FACE_YOLO="人臉識別",rF.MPYTHON_ZKAI2_CLASS_20_YOLO="20類識別",rF.MPYTHON_ZKAI2_MNIST_NET="数字识别",rF.MPYTHON_ZKAI2_PHOTOGRAPH_FACE_YOLO="人臉",rF.MPYTHON_ZKAI2_PHOTOGRAPH_CLASS_20_YOLO="0類",rF.MPYTHON_ZKAI_TRACE_COLOR_RECTANGLE="矩形",rF.MPYTHON_ZKAI_TRACE_COLOR_CROSS="十字",rF.MPYTHON_NAME_PYTHON_ENVIRONMENT_HELPURL="",rF.MPYTHON_NAME_PYTHON_ENVIRONMENT_MESSAGE0="聲明python 運行環境",rF.MPYTHON_NAME_PYTHON_ENVIRONMENT_TOOLTIP="",rF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="I2C獲取顔色",rF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="返回列表",rF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",rF.MPYTHON_LARK_GET_COLOR_MESSAGE0="I2C獲取 %1",rF.MPYTHON_lARK_RED="紅色",rF.MPYTHON__LARK_GREEN="綠色",rF.MPYTHON__LARK_BLUE="藍色",rF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",rF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="I2C獲取HSV",rF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",rF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="i2C獲取HSV %1",rF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",rF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="I2C獲取顔色",rF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",rF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="識別 %1",rF.MPYTHON_LARK_RED="紅色",rF.MPYTHON_LARK_GREEN="綠色",rF.MPYTHON_LARK_BLUE="藍色",rF.MPYTHON_LARK_ORANGE="橙色",rF.MPYTHON_LARK_YELLOW="黃色",rF.MPYTHON_LARK_PURPLE="紫色",rF.MPYTHON_LARK_CYAN="青色",rF.MPYTHON_LARK_NONE="無色",rF.MPYTHON_LARK_NULL="無法獲取",rF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",rF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="I2C超聲波",rF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",rF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="I2C設置 %1 速度 %2",rF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",rF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="I2C獲取 %1 巡綫值",rF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="右邊",rF.mpython_LARK_GET_LINE_LEFT_ON_I2C="左邊",rF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",rF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="I2C循跡傳感器 %1 遇到黑綫",rF.MPYTHON_LARK_SEARCH_LEFT="左邊",rF.MPYTHON_LARK_SEARCH_RIGHT="右邊",rF.MPYTHON_LARK_SEARCH_LEFT2="兩邊都",rF.MPYTHON_LARK_SEARCH_RIGHT2="兩邊都無",rF.MPYTHON_LARK_SEARCH_BOTH="兩邊都",rF.MPYTHON_LARK_SEARCH_NONE="兩邊都無",rF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",rF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="千里馬獲取顔色",rF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",rF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="千里馬獲取 %1",rF.MPYTHON_lARK_CAR_RED="紅色",rF.MPYTHON__LARK_CAR_GREEN="綠色",rF.MPYTHON__LARK_CAR_BLUE="藍色",rF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",rF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="千里馬獲取HSV",rF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",rF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="千里馬HSV %1",rF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",rF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="千里馬識別顔色",rF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",rF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="千里馬識別顔色 %1",rF.MPYTHON_LARK_CAR_RED="紅色",rF.MPYTHON_LARK_CAR_GREEN="綠色",rF.MPYTHON_LARK_CAR_BLUE="藍色",rF.MPYTHON_LARK_CAR_ORANGE="橙色",rF.MPYTHON_LARK_CAR_YELLOW="黃色",rF.MPYTHON_LARK_CAR_PURPLE="紫色",rF.MPYTHON_LARK_CAR_CYAN="青色",rF.MPYTHON_LARK_CAR_NONE="無識別",rF.MPYTHON_LARK_CAR_NULL="識別錯誤",rF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",rF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="千里馬獲取超聲波",rF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",rF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="千里馬獲取 %1 循跡數值",rF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="右邊",rF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="左邊",rF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",rF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="千里馬循跡 %1 碰到黑綫",rF.MPYTHON_LARK_CAR_SEARCH_LEFT="左邊",rF.MPYTHON_LARK_CAR_SEARCH_RIGHT="右邊",rF.MPYTHON_LARK_CAR_SEARCH_LEFT2="兩邊",rF.MPYTHON_LARK_CAR_SEARCH_NONE="兩邊都沒有",rF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",rF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="電機驅動 %1 速度 %2",rF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",rF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="千里馬 %1 速度 %2",rF.MPYTHON_LARK_CAR_MOTION_LEFT="左轉",rF.MPYTHON_LARK_CAR_MOTION_RIGHT="右轉",rF.MPYTHON_LARK_CAR_MOTION_FORWARD="前進",rF.MPYTHON_LARK_CAR_MOTION_BACKWARD="後退",rF.MPYTHON_LARK_CAR_MOTION_STOP="停止",rF.MPYTHON_DEFINE_THREAD_MESSAGE0="定義線程 %1",rF.MPYTHON_RUN_THREAD_MESSAGE0="運行線程 %1",rF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) 轉換數字為bytes %1 %2 %3 %4 待轉換數字 %5",rF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) 解包bytes為數字 %1 %2 %3 %4 待轉換bytes %5",rF.LITTLE_ENDIAN="低字節序(默認)",rF.BIG_ENDIAN="高字節序",rF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[適用2.0板] 當掌控板 %1 時",rF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",rF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",rF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="向左傾斜",rF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="向右傾斜",rF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="向前傾斜",rF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="向後傾斜",rF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="正面朝上",rF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="正面朝下",rF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="被單擊",rF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="被雙擊",rF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="墜落",rF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="橫滾角",rF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="俯仰角",rF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",rF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",rF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="掌控板 %1",rF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",rF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",rF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="按鍵 %1 已經按下",rF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",rF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",rF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="按鍵 %1 曾經按下",rF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",rF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",rF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="按鍵 %1 按下過的次數",rF.MPYTHON2_BUTTON_EVENT_MESSAGE0="當按鍵 %1 被 %2 時",rF.MPYTHON2_BUTTON_EVENT_HELPURL="",rF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",rF.MPYTHON2_BUTTON_EVENT_PRESSED="按下",rF.MPYTHON2_BUTTON_EVENT_RELEASED="松開",rF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",rF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",rF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="觸摸鍵 %1 已經按下",rF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",rF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",rF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="觸摸鍵 %1 曾經按下",rF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",rF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",rF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="觸摸鍵 %1 按下過的次數",rF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",rF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",rF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="觸摸鍵 %1 值",rF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="當觸摸鍵 %1 被 %2 時",rF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",rF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",rF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="觸摸",rF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="釋放",rF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="設置觸摸鍵 %1 閥值為 %2",rF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",rF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",rF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",rF.BLE_UUID_TOOLTIP="",rF.BLE_SETUP_PERIPHERAL_HELPURL="",rF.BLE_SETUP_PERIPHERAL_TOOLTIP="",rF.BLE_SETUP_PERIPHERAL_MESSAGE0="構建 BLE 外圍設備對象 %1 顯示名稱 %2 Service UUID %3",rF.BLE_ADD_CHARACTERISTIC_HELPURL="",rF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",rF.BLE_ADD_CHARACTERISTIC_MESSAGE0="定義 BLE 屬性 %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",rF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",rF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",rF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE 外圍設備 %1",rF.BLE_START_BROADCASTING="開始廣播",rF.BLE_STOP_BROADCASTING="停止廣播",rF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",rF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",rF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="讀 BLE 設備的屬性 %1",rF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",rF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",rF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="寫 BLE 設備的屬性 %1 %2 值 %3 Notify %4",rF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",rF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",rF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE 外圍設備斷開連接",rF.BLE_PERIPHERAL_MAC_HELPURL="",rF.BLE_PERIPHERAL_MAC_TOOLTIP="",rF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE 外圍設備 MAC地址",rF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",rF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",rF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="當 BLE 與中央設備建立連接時 %1 連接句柄 %2 地址類型 %3 中央設備的MAC地址 %4",rF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",rF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",rF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="當 BLE 設備的屬性值被改寫時 %1 連接句柄 %2 被寫屬性句柄 %3 寫入的數據 %4",rF.BLE_SETUP_CENTERAL_HELPURL="",rF.BLE_SETUP_CENTERAL_TOOLTIP="",rF.BLE_SETUP_CENTERAL_MESSAGE0="構建 BLE 中央設備對象 顯示名稱 %1",rF.BLE_CENTERAL_CONNECT_HELPURL="",rF.BLE_CENTERAL_CONNECT_TOOLTIP="",rF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE 中央設備連接到 %1 %2",rF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",rF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",rF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE 外圍設備已連接 ?",rF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",rF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",rF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="設定 %1 為 已連接外圍設備 屬性對象 %2 Service UUID %3 Characteristic UUID %4",rF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",rF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",rF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="讀 已連接外圍設備的 屬性 %1 值",rF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",rF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",rF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="寫 已連接外圍設備的 屬性 %1 值 %2",rF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",rF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",rF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="當 已連接外圍設備發起 Notify 通知事件時 %1 屬性的值柄 %2 通知的屬性值 %3",rF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",rF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",rF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="已連接的外圍設備 %1",rF.BLE_CENTERAL_CLOSE_HELPURL="",rF.BLE_CENTERAL_CLOSE_TOOLTIP="",rF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE 中央設備 斷開連接",rF.BLE_INFO_NAME="藍牙名稱",rF.BLE_INFO_MAC="MAC地址",rF.BLE_INFO_RSSI="信號強度",rF.BLE_INFO_ADDRTYPE="地址類型",rF.BLE_INFO_ADVTYPE="廣播類型",rF.BLE_INFO_DATA="原始數據(元組)",rF.BLE_SETUP_UART_HELPURL="",rF.BLE_SETUP_UART_TOOLTIP="",rF.BLE_SETUP_UART_MESSAGE0="構建 BLE UART從機 顯示名稱 %1",rF.BLE_UART_IS_CONNECTED_HELPURL="",rF.BLE_UART_IS_CONNECTED_TOOLTIP="",rF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART 已連接 ?",rF.BLE_UART_ANY_HELPURL="",rF.BLE_UART_ANY_TOOLTIP="",rF.BLE_UART_ANY_MESSAGE0="BLE UART 可讀字節數量",rF.BLE_UART_IRQ_HELPURL="",rF.BLE_UART_IRQ_TOOLTIP="",rF.BLE_UART_IRQ_MESSAGE0="當 BLE UART 接收到數據時 %1 執行 %2",rF.BLE_UART_READ_HELPURL="",rF.BLE_UART_READ_TOOLTIP="從 UART 另一端發送過來的消息",rF.BLE_UART_READ_MESSAGE0="已接收數據",rF.BLE_UART_WRITE_HELPURL="",rF.BLE_UART_WRITE_TOOLTIP="",rF.BLE_UART_WRITE_MESSAGE0="BLE UART 發送字節 %1",rF.BLE_UART_CLOSE_HELPURL="",rF.BLE_UART_CLOSE_TOOLTIP="",rF.BLE_UART_CLOSE_MESSAGE0="BLE UART 斷開連接",rF.BLE_SETUP_UART_MASTER_HELPURL="",rF.BLE_SETUP_UART_MASTER_TOOLTIP="",rF.BLE_SETUP_UART_MASTER_MESSAGE0="構建 BLE UART主機 連接到 %1 %2",rF.BLE_SETUP_HID_HELPURL="",rF.BLE_SETUP_HID_TOOLTIP="",rF.BLE_SETUP_HID_MESSAGE0="構建 BLE HID %1 對象 %2 顯示名稱 %3 電池電量 %4",rF.BLE_HID_MOUSE="鼠標",rF.BLE_HID_KEYBOARD="鍵盤",rF.BLE_HID_CONSUMER="遙控器",rF.BLE_HID_ADVERTISE_HELPURL="",rF.BLE_HID_ADVERTISE_TOOLTIP="",rF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID設備 %1",rF.BLE_HID_CONNECT_EVENT_HELPURL="",rF.BLE_HID_CONNECT_EVENT_TOOLTIP="",rF.BLE_HID_CONNECT_EVENT_MESSAGE0="當 BLE HID設備 連接時",rF.BLE_HID_DISCONNECT_HELPURL="",rF.BLE_HID_DISCONNECT_TOOLTIP="",rF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID設備 斷開連接",rF.BLE_HID_BATTERY_LEVEL_HELPURL="",rF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",rF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID設備 電池電量",rF.BLE_HID_MOUSE_BUTTONS_HELPURL="",rF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",rF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="鼠標鍵 %1",rF.BLE_HID_MOUSE_CLICK_HELPURL="",rF.BLE_HID_MOUSE_CLICK_TOOLTIP="",rF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID 鼠標 點擊按鍵 %1",rF.BLE_HID_MOUSE_PRESS_HELPURL="",rF.BLE_HID_MOUSE_PRESS_TOOLTIP="",rF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID 鼠標 長按按鍵 %1",rF.BLE_HID_MOUSE_RELEASE_HELPURL="",rF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",rF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID 鼠標 釋放按鍵 %1",rF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",rF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",rF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID 鼠標 釋放所有按鍵",rF.BLE_HID_MOUSE_MOVE_HELPURL="",rF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - 光標移動量,範圍 ±127 。\nwheel - 滾輪,範圍 ±127 。",rF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID 鼠標 光標移動 %1 X軸移動量 %2 Y軸移動量 %3 滾輪 %4",rF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",rF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",rF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="鍵盤按鍵 %1",rF.BLE_HID_KEYBOARD_SEND_HELPURL="",rF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",rF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID 鍵盤 按下按鍵 %1",rF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",rF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",rF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID 鍵盤 同時按下按鍵 %1 %2 %3",rF.BLE_HID_KEYBOARD_PRESS_HELPURL="",rF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",rF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID 鍵盤 長按按鍵 %1",rF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",rF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",rF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID 鍵盤 釋放按鍵 %1",rF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",rF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",rF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID 鍵盤 釋放所有按鍵",rF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",rF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",rF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="遙控器鍵 %1",rF.BLE_HID_CONSUMER_SEND_HELPURL="",rF.BLE_HID_CONSUMER_SEND_TOOLTIP="",rF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID 遙控器點擊 %1",rF.BLE_SETUP_IBEACON_HELPURL="",rF.BLE_SETUP_IBEACON_TOOLTIP="",rF.BLE_SETUP_IBEACON_MESSAGE0="構建 BLE iBeacon設備 %1 UUID %2 major %3 minor %4",rF.BLE_IBEACON_ADVERTISE_HELPURL="",rF.BLE_IBEACON_ADVERTISE_TOOLTIP="",rF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon設備 %1",rF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",rF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="返回電量,單位mV",rF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="拓展板的電壓值(mV)",rF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",rF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="返回編碼後的紅外脈沖數據buff",rF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_MESSAGE0="拓展板 紅外脈沖任意編碼 %1 載波頻率(Hz) %2 code總數 %3 循環碼位置 %4 code列表 %5 編碼波形數據 %6",rF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",rF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="返回編碼後的紅外脈沖數據buff\n用戶碼:0~255\n命令碼:0~255",rF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="拓展板 紅外脈沖NEC編碼 %1 用戶碼 %2 命令碼 %3",rF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",rF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",rF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="拓展板 發送紅外脈沖數據 %1 %2",rF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="只發一次",rF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="持續發送",rF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",rF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="當發送重復碼後,使用此函數來停止發送。",rF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="拓展板 停止發送紅外脈沖數據",rF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",rF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="學習開始後,需等待4秒,之後返回學習結果。",rF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="拓展板 開始紅外學習",rF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",rF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",rF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="拓展板 紅外學習有結果 ?",rF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",rF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP="返回學習後的“紅外編碼數據”,須在 learn 函數後使用。",rF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="拓展板 學習到的紅外編碼數據",rF.MPYTHON_MLX90615_SET_HELPURL="",rF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 非接觸測溫傳感器 設置發射系數%1",rF.MPYTHON_MLX90615_SET_TOOLTIP="",rF.MPYTHON_MLX90615_GET_HELPURL="",rF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取系數",rF.MPYTHON_MLX90615_GET_TOOLTIP="",rF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",rF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 非接觸測溫傳感器 獲取測溫",rF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",rF.MPYTHON_MQ135_INIT_HELPURL="",rF.MPYTHON_MQ135_INIT_MESSAGE0="MQ135初始化 輸出引腳%1 溫度%2 ℃ 濕度%3 %",rF.MPYTHON_MQ135_INIT_TOOLTIP="MQ135上的VCC 連接擴展板的電源口 V ,GND連接擴展板的地線口 G ,AO輸出連接擴展板的引腳 P0/P1(即選引腳)\nMQ135主要用於檢測空氣中的二氧化碳、酒精、苯、氮氧化物、氨等氣體的濃度",rF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 返回 %1",rF.MPYTHON_MQ135_OPTIONS_HELPURL="",rF.MPYTHON_MQ135_OPTIONS_TOOLTIP="返回探測到的二氧化碳的百萬分之一(假設只有空氣中的二氧化碳) ppm濃度",rF.MPYTHON_MQ135_GET_RZERO="校正傳感器電阻",rF.MPYTHON_MQ135_GET_CORRECTED_RZERO="校正傳感器電阻(校準溫度、濕度)",rF.MPYTHON_MQ135_GET_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度",rF.MPYTHON_MQ135_GET_CORRECTED_PPM="二氧化碳、酒精、苯、氮氧化物、氨等氣體ppm濃度(校準溫度、濕度)",rF.mpython_gyroscope_get_HELPURL="",rF.mpython_gyroscope_get_MESSAGE0="%1 軸角速度",rF.mpython_gyroscope_get_TOOLTIP="v2.3版本以上掌控版適用",rF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",rF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",rF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",rF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",rF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",rF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",rF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",rF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",rF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",rF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="設置角速度範圍,默認為 ±256dps。僅適用於掌控板2.3及以上版本",rF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="設置角速度範圍為 %1",rF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",rF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="校準陀螺儀角速度計的3個軸(x,y,z)的角速度值偏差。\n一般情況下無需校準,只有遇到角速度偏差較大時才要校準。\n x , y , z 為調整偏差值,可修正範圍為 ±1024dps。\n註意:v2.3版本以後適用",rF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="校準角速度值 %1 X軸偏差 %2 Y軸偏差 %3 Z軸偏差 %4";const SF=rF,lF={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."};lF.PROCEDURES_DEFRETURN_TITLE=lF.PROCEDURES_DEFNORETURN_TITLE,lF.CONTROLS_IF_IF_TITLE_IF=lF.CONTROLS_IF_MSG_IF,lF.CONTROLS_WHILEUNTIL_INPUT_DO=lF.CONTROLS_REPEAT_INPUT_DO,lF.CONTROLS_IF_MSG_THEN=lF.CONTROLS_REPEAT_INPUT_DO,lF.PROCEDURES_DEFRETURN_PROCEDURE=lF.PROCEDURES_DEFNORETURN_PROCEDURE,lF.CONTROLS_IF_ELSE_TITLE_ELSE=lF.CONTROLS_IF_MSG_ELSE,lF.PROCEDURES_CALLRETURN_CALL=lF.PROCEDURES_CALLNORETURN_CALL,lF.LISTS_GET_SUBLIST_INPUT_IN_LIST=lF.LISTS_INLIST,lF.LISTS_GET_INDEX_INPUT_IN_LIST=lF.LISTS_INLIST,lF.MATH_CHANGE_TITLE_ITEM=lF.VARIABLES_DEFAULT_NAME,lF.PROCEDURES_DEFRETURN_DO=lF.PROCEDURES_DEFNORETURN_DO,lF.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=lF.CONTROLS_IF_MSG_ELSEIF,lF.LISTS_GET_INDEX_HELPURL=lF.LISTS_INDEX_OF_HELPURL,lF.CONTROLS_FOREACH_INPUT_DO=lF.CONTROLS_REPEAT_INPUT_DO,lF.CONTROLS_FOR_INPUT_DO=lF.CONTROLS_REPEAT_INPUT_DO,lF.LISTS_CREATE_WITH_ITEM_TITLE=lF.VARIABLES_DEFAULT_NAME,lF.TEXT_APPEND_VARIABLE=lF.VARIABLES_DEFAULT_NAME,lF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=lF.VARIABLES_DEFAULT_NAME,lF.LISTS_INDEX_OF_INPUT_IN_LIST=lF.LISTS_INLIST,lF.LISTS_SET_INDEX_INPUT_IN_LIST=lF.LISTS_INLIST,lF.LISTS_CREATE_WITH_ITEM_TITLE=lF.VARIABLES_DEFAULT_NAME,lF.TUPLE_CREATE_WITH_ITEM_TITLE=lF.VARIABLES_DEFAULT_NAME,lF.DICT_CREATE_WITH_ITEM_TITLE=lF.VARIABLES_DEFAULT_NAME,lF.SET_CREATE_WITH_ITEM_TITLE=lF.VARIABLES_DEFAULT_NAME,lF.TEXT_APPEND_VARIABLE=lF.VARIABLES_DEFAULT_NAME,lF.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=lF.VARIABLES_DEFAULT_NAME,lF.MATH_CHANGE_TITLE_ITEM=lF.VARIABLES_DEFAULT_NAME,lF.LABPLUS_USB_SWITCH_ON="turn on",lF.LABPLUS_USB_SWITCH_OFF="turn off",lF.LABPLUS_MOTOR_ON_ANTICLOCKWISE="toggle",lF.XUNFEI_SPEECH_TTS_HELPURL="",lF.XUNFEI_SPEECH_TTS_TOOLTIP='The synthesized audio file format can only be "*.pcm"',lF.XUNFEI_SPEECH_TTS_MESSAGE0="[iFLYTEK] synthetic audio %1 APPID %2 APISecret %3 APIKey %4 text %5 transfer to audio file %6",lF.XUNFEI_SPEECH_IAT_HELPURL="",lF.XUNFEI_SPEECH_IAT_TOOLTIP='The audio formats that can be recognized are "*.pcm" and "*.wav"',lF.XUNFEI_SPEECH_IAT_MESSAGE0="[iFLYTEK] identify audio %1 APPID %2 APISecret %3 APIKey %4 audio file to be identified %5",lF.XUNFEI_SPEECH_IAT_RESULT_HELPURL="",lF.XUNFEI_SPEECH_IAT_RESULT_TOOLTIP="",lF.XUNFEI_SPEECH_IAT_RESULT_MESSAGE0="[iFLYTEK] identify result",lF.MPYTHON_LARK_GET_ALL_COLOR_MESSAGE0="LARK I2C RGB color",lF.MPYTHON_LARK_GET_ALL_COLOR_TOOLTIP="Returns as list",lF.MPYTHON_LARK_GET_COLOR_TOOLTIP="",lF.MPYTHON_LARK_GET_COLOR_MESSAGE0="LARK I2C RGB color %1",lF.MPYTHON_lARK_RED="RED",lF.MPYTHON__LARK_GREEN="GREEN",lF.MPYTHON__LARK_BLUE="BLUE",lF.MPYTHON_LARK_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",lF.MPYTHON_LARKT_GET_ALL_COLOR_HSV_MESSAGE0="LARK I2C HSV color",lF.MPYTHON_LARK_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",lF.MPYTHON_LARK_GET_COLOR_HSV_MESSAGE0="LARK I2C HSV color %1",lF.MPYTHON_LARK_GET_COLOR_STRING_TOOLTIP="",lF.MPYTHON_LARK_GET_COLOR_STRING_MESSAGE0="LARK GET COLOR",lF.MPYTHON_LARK_DISCERN_COLOR_TOOLTIP="",lF.MPYTHON_LARK_DISCERN_COLOR_MESSAGE0="LARK GET COLOR %1",lF.MPYTHON_LARK_RED="RED",lF.MPYTHON_LARK_GREEN="GREEN",lF.MPYTHON_LARK_BLUE="BLUE",lF.MPYTHON_LARK_ORANGE="ORANGE",lF.MPYTHON_LARK_YELLOW="YELLOW",lF.MPYTHON_LARK_PURPLE="PURPLE",lF.MPYTHON_LARK_CYAN="CYAN",lF.MPYTHON_LARK_NONE="NO COLOR",lF.MPYTHON_LARK_NULL="FAIL THE COLOR",lF.MPYTHON_LARK_ULTRASONIC_TOOLTIP="",lF.MPYTHON_LARK_ULTRASONIC_MESSAGE0="LARK I2C ultrasonic value",lF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",lF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="LARK I2C SET MOTOR %1 SPEED %2",lF.MPYTHON_LARK_MOTOR2_SET_I2C_TOOLTIP="",lF.MPYTHON_LARK_MOTOR2_SET_I2C_MESSAGE0="SWIFT HORSE %1 速度 %2",lF.MPYTHON_LARK_GET_LINE_ON_I2C_TOOLTIP="",lF.mpython_LARK_GET_LINE_ON_I2C_MESSAGE0="LARK I2C GET %1 VALUE",lF.mpython_LARK_GET_LINE_RIGHT_ON_I2C="RIGHT",lF.mpython_LARK_GET_LINE_LEFT_ON_I2C="LEFT",lF.MPYTHON_LARK_SEARCH_LINE_ON_I2C_TOOLTIP="",lF.mpython_LARK_SEARCH_LINE_ON_I2C_MESSAGE0="LARK I2C SEARCH TOUCH LINE %1",lF.MPYTHON_LARK_SEARCH_LEFT="LEFT",lF.MPYTHON_LARK_SEARCH_RIGHT="RIGHT",lF.MPYTHON_LARK_SEARCH_LEFT2="ALL",lF.MPYTHON_LARK_SEARCH_RIGHT2="NOT",lF.MPYTHON_LARK_SEARCH_BOTH="ALL",lF.MPYTHON_LARK_SEARCH_NONE="NOT",lF.MPYTHON_LARK__CAR_GET_ALL_COLOR_TOOLTIP="Returns as list",lF.MPYTHON_LARK__CAR_GET_ALL_COLOR_MESSAGE0="HORSE GET COLOR",lF.MPYTHON_LARK_CAR_GET_COLOR_TOOLTIP="",lF.MPYTHON_LARK_CAR_GET_COLOR_MESSAGE0="HORSE GET COLOR %1",lF.MPYTHON_lARK_CAR_RED="RED",lF.MPYTHON__LARK_CAR_GREEN="GREEN",lF.MPYTHON__LARK_CAR_BLUE="BLUE",lF.MPYTHON_LARK_CAR_GET_ALL_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",lF.MPYTHON_LARKT_CAR_GET_ALL_COLOR_HSV_MESSAGE0="HORSE I2C HSV color",lF.MPYTHON_LARK_CAR_GET_COLOR_HSV_TOOLTIP="HSV(Hue, Saturation, Value)",lF.MPYTHON_LARK_CAR_GET_COLOR_HSV_MESSAGE0="HORSE I2C HSV %1",lF.MPYTHON_LARK_CAR_GET_COLOR_STRING_TOOLTIP="",lF.MPYTHON_LARK_CAR_GET_COLOR_STRING_MESSAGE0="HORSE GET COLOR",lF.MPYTHON_LARK_CAR_DISCERN_COLOR_TOOLTIP="",lF.MPYTHON_LARK_CAR_DISCERN_COLOR_MESSAGE0="HORSE GET %1",lF.MPYTHON_LARK_CAR_RED="RED",lF.MPYTHON_LARK_CAR_GREEN="Green",lF.MPYTHON_LARK_CAR_BLUE="Blue",lF.MPYTHON_LARK_CAR_ORANGE="Orange",lF.MPYTHON_LARK_CAR_YELLOW="Yellow",lF.MPYTHON_LARK_CAR_PURPLE="Purple",lF.MPYTHON_LARK_CAR_CYAN="Cyan",lF.MPYTHON_LARK_CAR_NONE="None",lF.MPYTHON_LARK_CAR_NULL="Null",lF.MPYTHON_LARK_CAR_ULTRASONIC_TOOLTIP="",lF.MPYTHON_LARK_CAR_ULTRASONIC_MESSAGE0="Horse Get Ultrasoinc",lF.MPYTHON_LARK_CAR_GET_LINE_ON_I2C_TOOLTIP="",lF.mpython_LARK_CAR_GET_LINE_ON_I2C_MESSAGE0="HORSE GET %1 LINE VALUE",lF.mpython_LARK_CAR_GET_LINE_RIGHT_ON_I2C="RIGHT",lF.mpython_LARK_CAR_GET_LINE_LEFT_ON_I2C="LEFT",lF.MPYTHON_LARK_CAR_SEARCH_LINE_ON_I2C_TOOLTIP="",lF.mpython_LARK_CAR_SEARCH_LINE_ON_I2C_MESSAGE0="HORSE I2C SEARCH TOUCH LINE %1",lF.MPYTHON_LARK_CAR_SEARCH_LEFT="LEFT TOUCHED",lF.MPYTHON_LARK_CAR_SEARCH_RIGHT="RIGHT TOUCHED",lF.MPYTHON_LARK_CAR_SEARCH_LEFT2="BOTH TOUCHED",lF.MPYTHON_LARK_CAR_SEARCH_NONE="NOT TOUCHED",lF.MPYTHON_LARK_MOTOR_SET_I2C_TOOLTIP="",lF.MPYTHON_LARK_MOTOR_SET_I2C_MESSAGE0="HOSRE MOTION %1 SPEED %2",lF.MPYTHON_LARK_CAR_MOTION_LEFT="Trun Left",lF.MPYTHON_LARK_CAR_MOTION_RIGHT="Trun Right",lF.MPYTHON_LARK_CAR_MOTION_FORWARD="forward",lF.MPYTHON_LARK_CAR_MOTION_BACKWARD="Backward",lF.MPYTHON_LARK_CAR_MOTION_STOP="Stop",lF.MPYTHON_DEFINE_THREAD_MESSAGE0="define thread %1",lF.MPYTHON_RUN_THREAD_MESSAGE0="run thread %1",lF.NUMBER_TO_BYTES_MESSAGE0="(struct.pack) convert number to bytes %1 %2 %3 %4 source number %5",lF.BYTES_TO_NUMBER_MESSAGE0="(struct.unpack) unpack bytes to number %1 %2 %3 %4 source bytes %5",lF.LITTLE_ENDIAN="Little-Endian (Default)",lF.BIG_ENDIAN="Big-Endian",lF.MPYTHON2_ACCELEROMETER_EVENT_MESSAGE0="[mPython 2.x] When board is %1",lF.MPYTHON2_ACCELEROMETER_EVENT_HELPURL="",lF.MPYTHON2_ACCELEROMETER_EVENT_TOOLTIP="",lF.MPYTHON2_ACCELEROMETER_EVENT_TILT_LEFT="tilt left",lF.MPYTHON2_ACCELEROMETER_EVENT_TILT_RIGHT="tilt right",lF.MPYTHON2_ACCELEROMETER_EVENT_TILT_UP="tilt up",lF.MPYTHON2_ACCELEROMETER_EVENT_TILT_DOWN="tilt down",lF.MPYTHON2_ACCELEROMETER_EVENT_FACE_UP="face up",lF.MPYTHON2_ACCELEROMETER_EVENT_FACE_DOWN="face down",lF.MPYTHON2_ACCELEROMETER_EVENT_SINGLE_CLICK="single click",lF.MPYTHON2_ACCELEROMETER_EVENT_DOUBLE_CLICK="double click",lF.MPYTHON2_ACCELEROMETER_EVENT_FREEFALL="freefall",lF.MPYTHON2_ACCELEROMETER_ROLL_ANGLE="roll angle",lF.MPYTHON2_ACCELEROMETER_PITCH_ANGLE="pitch angle",lF.MPYTHON2_ACCELEROMETER_ANGLE_HELPURL="",lF.MPYTHON2_ACCELEROMETER_ANGLE_TOOLTIP="",lF.MPYTHON2_ACCELEROMETER_ANGLE_MESSAGE0="Get %1",lF.MPYTHON2_BUTTON_IS_PRESSED_HELPURL="",lF.MPYTHON2_BUTTON_IS_PRESSED_TOOLTIP="",lF.MPYTHON2_BUTTON_IS_PRESSED_MESSAGE0="Button %1 is pressed",lF.MPYTHON2_BUTTON_WAS_PRESSED_HELPURL="",lF.MPYTHON2_BUTTON_WAS_PRESSED_TOOLTIP="",lF.MPYTHON2_BUTTON_WAS_PRESSED_MESSAGE0="Button %1 was pressed",lF.MPYTHON2_BUTTON_GET_PRESSES_HELPURL="",lF.MPYTHON2_BUTTON_GET_PRESSES_TOOLTIP="",lF.MPYTHON2_BUTTON_GET_PRESSES_MESSAGE0="Get number of presses for button %1",lF.MPYTHON2_BUTTON_EVENT_MESSAGE0="When button %1 is %2",lF.MPYTHON2_BUTTON_EVENT_HELPURL="",lF.MPYTHON2_BUTTON_EVENT_TOOLTIP="",lF.MPYTHON2_BUTTON_EVENT_PRESSED="pressed",lF.MPYTHON2_BUTTON_EVENT_RELEASED="released",lF.MPYTHON2_TOUCHPAD_IS_PRESSED_HELPURL="",lF.MPYTHON2_TOUCHPAD_IS_PRESSED_TOOLTIP="",lF.MPYTHON2_TOUCHPAD_IS_PRESSED_MESSAGE0="Touchpad %1 is pressed",lF.MPYTHON2_TOUCHPAD_WAS_PRESSED_HELPURL="",lF.MPYTHON2_TOUCHPAD_WAS_PRESSED_TOOLTIP="",lF.MPYTHON2_TOUCHPAD_WAS_PRESSED_MESSAGE0="Touchpad %1 was pressed",lF.MPYTHON2_TOUCHPAD_GET_PRESSES_HELPURL="",lF.MPYTHON2_TOUCHPAD_GET_PRESSES_TOOLTIP="",lF.MPYTHON2_TOUCHPAD_GET_PRESSES_MESSAGE0="Get number of presses for touchpad %1",lF.MPYTHON2_TOUCHPAD_VALUE_HELPURL="",lF.MPYTHON2_TOUCHPAD_VALUE_TOOLTIP="",lF.MPYTHON2_TOUCHPAD_VALUE_MESSAGE0="Touchpad %1 value",lF.MPYTHON2_TOUCHPAD_EVENT_MESSAGE0="When touchpad %1 is %2",lF.MPYTHON2_TOUCHPAD_EVENT_HELPURL="",lF.MPYTHON2_TOUCHPAD_EVENT_TOOLTIP="",lF.MPYTHON2_TOUCHPAD_EVENT_PRESSED="pressed",lF.MPYTHON2_TOUCHPAD_EVENT_RELEASED="released",lF.MPYTHON2_TOUCHPAD_THRESHOLD_MESSAGE0="Set threshold for touchpad %1 as %2",lF.MPYTHON2_TOUCHPAD_THRESHOLD_HELPURL="",lF.MPYTHON2_TOUCHPAD_THRESHOLD_TOOLTIP="",lF.BLE_UUID_HELPURL="https://mpython-ble.readthedocs.io/zh/master/api/index.html#UUID",lF.BLE_UUID_TOOLTIP="",lF.BLE_SETUP_PERIPHERAL_HELPURL="",lF.BLE_SETUP_PERIPHERAL_TOOLTIP="",lF.BLE_SETUP_PERIPHERAL_MESSAGE0="make BLE Peripheral object with %1 name %2 Service UUID %3",lF.BLE_ADD_CHARACTERISTIC_HELPURL="",lF.BLE_ADD_CHARACTERISTIC_TOOLTIP="",lF.BLE_ADD_CHARACTERISTIC_MESSAGE0="add BLE Characteristic %1 %2 Characteristic UUID %3 Read %4 Write %5 Notity %6",lF.BLE_PERIPHERAL_ADVERTISE_HELPURL="",lF.BLE_PERIPHERAL_ADVERTISE_TOOLTIP="",lF.BLE_PERIPHERAL_ADVERTISE_MESSAGE0="BLE Peripheral %1",lF.BLE_START_BROADCASTING="start broadcasting",lF.BLE_STOP_BROADCASTING="stop broadcasting",lF.BLE_PERIPHERAL_ATTRUBUTE_READ_HELPURL="",lF.BLE_PERIPHERAL_ATTRUBUTE_READ_TOOLTIP="",lF.BLE_PERIPHERAL_ATTRUBUTE_READ_MESSAGE0="read BLE Peripheral Characteristic %1",lF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_HELPURL="",lF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_TOOLTIP="",lF.BLE_PERIPHERAL_ATTRUBUTE_WRITE_MESSAGE0="write BLE Peripheral Characteristic %1 %2 value %3 Notify %4",lF.BLE_PERIPHERAL_DISCONNECT_HELPURL="",lF.BLE_PERIPHERAL_DISCONNECT_TOOLTIP="",lF.BLE_PERIPHERAL_DISCONNECT_MESSAGE0="BLE Peripheral disconnect",lF.BLE_PERIPHERAL_MAC_HELPURL="",lF.BLE_PERIPHERAL_MAC_TOOLTIP="",lF.BLE_PERIPHERAL_MAC_MESSAGE0="BLE Peripheral MAC address",lF.BLE_PERIPHERAL_CONNECTION_CALLBACK_HELPURL="",lF.BLE_PERIPHERAL_CONNECTION_CALLBACK_TOOLTIP="",lF.BLE_PERIPHERAL_CONNECTION_CALLBACK_MESSAGE0="when BLE Peripheral connect to Centeral %1 connect handle %2 address type %3 Centeral MAC %4",lF.BLE_PERIPHERAL_WRITE_CALLBACK_HELPURL="",lF.BLE_PERIPHERAL_WRITE_CALLBACK_TOOLTIP="",lF.BLE_PERIPHERAL_WRITE_CALLBACK_MESSAGE0="when BLE Characteristic is overwritten %1 connect handle %2 attrubute handle %3 written data %4",lF.BLE_SETUP_CENTERAL_HELPURL="",lF.BLE_SETUP_CENTERAL_TOOLTIP="",lF.BLE_SETUP_CENTERAL_MESSAGE0="make BLE Centeral object with name %1",lF.BLE_CENTERAL_CONNECT_HELPURL="",lF.BLE_CENTERAL_CONNECT_TOOLTIP="",lF.BLE_CENTERAL_CONNECT_MESSAGE0="BLE Centeral connect to %1 %2",lF.BLE_CENTERAL_IS_CONNECTED_HELPURL="",lF.BLE_CENTERAL_IS_CONNECTED_TOOLTIP="",lF.BLE_CENTERAL_IS_CONNECTED_MESSAGE0="BLE Centeral is connected ?",lF.BLE_CENTERAL_DEF_CHARACTERISTIC_HELPURL="",lF.BLE_CENTERAL_DEF_CHARACTERISTIC_TOOLTIP="",lF.BLE_CENTERAL_DEF_CHARACTERISTIC_MESSAGE0="set %1 as connected Peripheral Characteristic object %2 Service UUID %3 Characteristic UUID %4",lF.BLE_CENTERAL_CHARACTERISTIC_READ_HELPURL="",lF.BLE_CENTERAL_CHARACTERISTIC_READ_TOOLTIP="",lF.BLE_CENTERAL_CHARACTERISTIC_READ_MESSAGE0="read connected Peripheral Characteristic %1 value",lF.BLE_CENTERAL_CHARACTERISTIC_WRITE_HELPURL="",lF.BLE_CENTERAL_CHARACTERISTIC_WRITE_TOOLTIP="",lF.BLE_CENTERAL_CHARACTERISTIC_WRITE_MESSAGE0="write connected Peripheral Characteristic %1 value as %2",lF.BLE_CENTERAL_NOTIFY_CALLBACK_HELPURL="",lF.BLE_CENTERAL_NOTIFY_CALLBACK_TOOLTIP="",lF.BLE_CENTERAL_NOTIFY_CALLBACK_MESSAGE0="when received Notify data %1 value handle %2 notify data %3",lF.BLE_CENTERAL_CONNECTED_INFO_HELPURL="",lF.BLE_CENTERAL_CONNECTED_INFO_TOOLTIP="",lF.BLE_CENTERAL_CONNECTED_INFO_MESSAGE0="connected Peripheral info %1",lF.BLE_CENTERAL_CLOSE_HELPURL="",lF.BLE_CENTERAL_CLOSE_TOOLTIP="",lF.BLE_CENTERAL_CLOSE_MESSAGE0="BLE Centeral disconnect",lF.BLE_INFO_NAME="name",lF.BLE_INFO_MAC="mac",lF.BLE_INFO_RSSI="rssi",lF.BLE_INFO_ADDRTYPE="addr_type",lF.BLE_INFO_ADVTYPE="adv_type",lF.BLE_INFO_DATA="data(tuple)",lF.BLE_SETUP_UART_HELPURL="",lF.BLE_SETUP_UART_TOOLTIP="",lF.BLE_SETUP_UART_MESSAGE0="make BLE UART slave with name %1",lF.BLE_UART_IS_CONNECTED_HELPURL="",lF.BLE_UART_IS_CONNECTED_TOOLTIP="",lF.BLE_UART_IS_CONNECTED_MESSAGE0="BLE UART is connected ?",lF.BLE_UART_ANY_HELPURL="",lF.BLE_UART_ANY_TOOLTIP="",lF.BLE_UART_ANY_MESSAGE0="BLE UART readable bytes",lF.BLE_UART_IRQ_HELPURL="",lF.BLE_UART_IRQ_TOOLTIP="",lF.BLE_UART_IRQ_MESSAGE0="when BLE UART received data %1 do %2",lF.BLE_UART_READ_HELPURL="",lF.BLE_UART_READ_TOOLTIP="message from UART",lF.BLE_UART_READ_MESSAGE0="received data",lF.BLE_UART_WRITE_HELPURL="",lF.BLE_UART_WRITE_TOOLTIP="",lF.BLE_UART_WRITE_MESSAGE0="BLE UART send %1",lF.BLE_UART_CLOSE_HELPURL="",lF.BLE_UART_CLOSE_TOOLTIP="",lF.BLE_UART_CLOSE_MESSAGE0="BLE UART disconnect",lF.BLE_SETUP_UART_MASTER_HELPURL="",lF.BLE_SETUP_UART_MASTER_TOOLTIP="",lF.BLE_SETUP_UART_MASTER_MESSAGE0="make BLE UART master, connect to %1 %2",lF.BLE_SETUP_HID_HELPURL="",lF.BLE_SETUP_HID_TOOLTIP="",lF.BLE_SETUP_HID_MESSAGE0="make BLE HID %1 object %2 name %3 battery %4",lF.BLE_HID_MOUSE="mouse",lF.BLE_HID_KEYBOARD="keyboard",lF.BLE_HID_CONSUMER="consumer",lF.BLE_HID_ADVERTISE_HELPURL="",lF.BLE_HID_ADVERTISE_TOOLTIP="",lF.BLE_HID_ADVERTISE_MESSAGE0="BLE HID %1",lF.BLE_HID_CONNECT_EVENT_HELPURL="",lF.BLE_HID_CONNECT_EVENT_TOOLTIP="",lF.BLE_HID_CONNECT_EVENT_MESSAGE0="when BLE HID connected",lF.BLE_HID_DISCONNECT_HELPURL="",lF.BLE_HID_DISCONNECT_TOOLTIP="",lF.BLE_HID_DISCONNECT_MESSAGE0="BLE HID disconnect",lF.BLE_HID_BATTERY_LEVEL_HELPURL="",lF.BLE_HID_BATTERY_LEVEL_TOOLTIP="",lF.BLE_HID_BATTERY_LEVEL_MESSAGE0="BLE HID battery level",lF.BLE_HID_MOUSE_BUTTONS_HELPURL="",lF.BLE_HID_MOUSE_BUTTONS_TOOLTIP="",lF.BLE_HID_MOUSE_BUTTONS_MESSAGE0="mouse button %1",lF.BLE_HID_MOUSE_CLICK_HELPURL="",lF.BLE_HID_MOUSE_CLICK_TOOLTIP="",lF.BLE_HID_MOUSE_CLICK_MESSAGE0="BLE HID mouse click %1",lF.BLE_HID_MOUSE_PRESS_HELPURL="",lF.BLE_HID_MOUSE_PRESS_TOOLTIP="",lF.BLE_HID_MOUSE_PRESS_MESSAGE0="BLE HID mouse press %1",lF.BLE_HID_MOUSE_RELEASE_HELPURL="",lF.BLE_HID_MOUSE_RELEASE_TOOLTIP="",lF.BLE_HID_MOUSE_RELEASE_MESSAGE0="BLE HID mouse release %1",lF.BLE_HID_MOUSE_RELEASE_ALL_HELPURL="",lF.BLE_HID_MOUSE_RELEASE_ALL_TOOLTIP="",lF.BLE_HID_MOUSE_RELEASE_ALL_MESSAGE0="BLE HID mouse release all",lF.BLE_HID_MOUSE_MOVE_HELPURL="",lF.BLE_HID_MOUSE_MOVE_TOOLTIP="x, y - cursor movement, range ±127 .\nwheel - wheel movement, range ±127 .",lF.BLE_HID_MOUSE_MOVE_MESSAGE0="BLE HID mouse cursor move %1 x %2 y %3 wheel %4",lF.BLE_HID_KEYBOARD_BUTTONS_HELPURL="",lF.BLE_HID_KEYBOARD_BUTTONS_TOOLTIP="",lF.BLE_HID_KEYBOARD_BUTTONS_MESSAGE0="keyboard button %1",lF.BLE_HID_KEYBOARD_SEND_HELPURL="",lF.BLE_HID_KEYBOARD_SEND_TOOLTIP="",lF.BLE_HID_KEYBOARD_SEND_MESSAGE0="BLE HID keyboard send %1",lF.BLE_HID_KEYBOARD_SEND_MULTI_HELPURL="",lF.BLE_HID_KEYBOARD_SEND_MULTI_TOOLTIP="",lF.BLE_HID_KEYBOARD_SEND_MULTI_MESSAGE0="BLE HID keyboard send multiple %1 %2 %3",lF.BLE_HID_KEYBOARD_PRESS_HELPURL="",lF.BLE_HID_KEYBOARD_PRESS_TOOLTIP="",lF.BLE_HID_KEYBOARD_PRESS_MESSAGE0="BLE HID keyboard press %1",lF.BLE_HID_KEYBOARD_RELEASE_HELPURL="",lF.BLE_HID_KEYBOARD_RELEASE_TOOLTIP="",lF.BLE_HID_KEYBOARD_RELEASE_MESSAGE0="BLE HID keyboard release %1",lF.BLE_HID_KEYBOARD_RELEASE_ALL_HELPURL="",lF.BLE_HID_KEYBOARD_RELEASE_ALL_TOOLTIP="",lF.BLE_HID_KEYBOARD_RELEASE_ALL_MESSAGE0="BLE HID keyboard release all",lF.BLE_HID_CONSUMER_BUTTONS_HELPURL="",lF.BLE_HID_CONSUMER_BUTTONS_TOOLTIP="",lF.BLE_HID_CONSUMER_BUTTONS_MESSAGE0="remote control button %1",lF.BLE_HID_CONSUMER_SEND_HELPURL="",lF.BLE_HID_CONSUMER_SEND_TOOLTIP="",lF.BLE_HID_CONSUMER_SEND_MESSAGE0="BLE HID remote control send %1",lF.BLE_SETUP_IBEACON_HELPURL="",lF.BLE_SETUP_IBEACON_TOOLTIP="",lF.BLE_SETUP_IBEACON_MESSAGE0="make BLE iBeacon object with %1 UUID %2 major %3 minor %4",lF.BLE_IBEACON_ADVERTISE_HELPURL="",lF.BLE_IBEACON_ADVERTISE_TOOLTIP="",lF.BLE_IBEACON_ADVERTISE_MESSAGE0="BLE iBeacon %1",lF.MPYTHON_PARROT_GET_BATTERY_LEVEL_HELPURL="",lF.MPYTHON_PARROT_GET_BATTERY_LEVEL_TOOLTIP="Return power in mV",lF.MPYTHON_PARROT_GET_BATTERY_LEVEL_MESSAGE0="Voltage(mV) of expansion-board",lF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_HELPURL="",lF.MPYTHON_BLUEBIT_IR_ENCODE_RAW_TOOLTIP="Return the encoded infrared pulse data buff",lF.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",lF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_HELPURL="",lF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_TOOLTIP="Return the encoded infrared pulse data buff\nUser code: 0~255\nCommand code: 0~255",lF.MPYTHON_BLUEBIT_IR_ENCODE_NEC_MESSAGE0="Expansion-board generating NEC coding %1 User code %2 Command code %3",lF.MPYTHON_BLUEBIT_IR_SEND_HELPURL="",lF.MPYTHON_BLUEBIT_IR_SEND_TOOLTIP="",lF.MPYTHON_BLUEBIT_IR_SEND_MESSAGE0="Expansion-board sending infrared pulse data %1 %2",lF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_0="send once",lF.MPYTHON_BLUEBIT_IR_SEND_REPEAT_1="keep sending",lF.MPYTHON_BLUEBIT_IR_STOP_SEND_HELPURL="",lF.MPYTHON_BLUEBIT_IR_STOP_SEND_TOOLTIP="",lF.MPYTHON_BLUEBIT_IR_STOP_SEND_MESSAGE0="Expansion-board stop sending infrared pulse data",lF.MPYTHON_BLUEBIT_IR_LEARN_HELPURL="",lF.MPYTHON_BLUEBIT_IR_LEARN_TOOLTIP="The learning result will be returned after 4 seconds.",lF.MPYTHON_BLUEBIT_IR_LEARN_MESSAGE0="Expansion-board do infrared learning",lF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_HELPURL="",lF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_TOOLTIP="",lF.MPYTHON_BLUEBIT_IR_GET_LEARN_STATUS_MESSAGE0="Is there any result for the infrared learning ?",lF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_HELPURL="",lF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_TOOLTIP='Return the learned "infrared coded data", which must be used after the "learn()" function.',lF.MPYTHON_BLUEBIT_IR_GET_LEARN_DATA_MESSAGE0="Expansion-board learned infrared coding data",lF.MPYTHON_MAIN_HELPURL="",lF.MPYTHON_MAIN_TOOLTIP="This block does not have to be used, it just makes the program structure more regular.",lF.MPYTHON_MAIN_MESSAGE0="Main program",lF.MPYTHON_MLX90615_SET_HELPURL="",lF.MPYTHON_MLX90615_SET_MESSAGE0="MLX90615 set sensor emissivity %1",lF.MPYTHON_MLX90615_SET_TOOLTIP="",lF.MPYTHON_MLX90615_GET_HELPURL="",lF.MPYTHON_MLX90615_GET_MESSAGE0="MLX90615 get sensor emissivity",lF.MPYTHON_MLX90615_GET_TOOLTIP="",lF.MPYTHON_MLX90615_THERMOMETRY_HELPURL="",lF.MPYTHON_MLX90615_THERMOMETRY_MESSAGE0="MLX90615 measured temperature",lF.MPYTHON_MLX90615_THERMOMETRY_TOOLTIP="",lF.MPYTHON_MQ135_INIT_HELPURL="",lF.MPYTHON_MQ135_INIT_MESSAGE0="initialize MQ135 at output pin %1 temperature %2 ℃ humidity%3 %",lF.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.",lF.MPYTHON_MQ135_OPTIONS_MESSAGE0="MQ135 return %1",lF.MPYTHON_MQ135_OPTIONS_HELPURL="",lF.MPYTHON_MQ135_OPTIONS_TOOLTIP="",lF.MPYTHON_MQ135_GET_RZERO="correction of sensor resistance",lF.MPYTHON_MQ135_GET_CORRECTED_RZERO="calibrate sensor resistance (calibrate temperature and humidity)",lF.MPYTHON_MQ135_GET_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",lF.MPYTHON_MQ135_GET_CORRECTED_PPM="the ppm concentration of carbon dioxide, alcohol, benzene, nitrogen oxides, ammonia and other gases",lF.mpython_gyroscope_get_HELPURL="",lF.mpython_gyroscope_get_MESSAGE0="%1 axis angular velocity",lF.mpython_gyroscope_get_TOOLTIP="Only applicable to the mPython board version above v2.3",lF.MPYTHON_GYROSCOPE_RANGE_16_DPS="±16dps",lF.MPYTHON_GYROSCOPE_RANGE_32_DPS="±32dps",lF.MPYTHON_GYROSCOPE_RANGE_64_DPS="±64dps",lF.MPYTHON_GYROSCOPE_RANGE_128_DPS="±128dps",lF.MPYTHON_GYROSCOPE_RANGE_256_DPS="±256dps",lF.MPYTHON_GYROSCOPE_RANGE_512_DPS="±512dps",lF.MPYTHON_GYROSCOPE_RANGE_1024_DPS="±1024dps",lF.MPYTHON_GYROSCOPE_RANGE_2048_DPS="±2048dps",lF.MPYTHON_GYROSCOPE_SET_RANGE_HELPURL="",lF.MPYTHON_GYROSCOPE_SET_RANGE_TOOLTIP="Default is ±256dps. Only applicable to the mPython board version above v2.3",lF.MPYTHON_GYROSCOPE_SET_RANGE_MESSAGE0="set angular velocity range to %1",lF.MPYTHON_GYROSCOPE_SET_OFFSET_HELPURL="",lF.MPYTHON_GYROSCOPE_SET_OFFSET_TOOLTIP="Only applicable to the mPython board version above v2.3",lF.MPYTHON_GYROSCOPE_SET_OFFSET_MESSAGE0="calibration angular velocity value %1 X axis deviation %2 Y axis deviation %3 Z axis deviation %4";const AF=lF;Object.assign(a_.Variables,L_),Object.assign(a_.Procedures,bi),a_.Python=_O,a_.generator=_O,p_.Profile.default={},Object.assign(p_.Profile,Xg),Object.assign(p_.Profile.default,Xg["ESP32 Generic"]),Object.assign(a_.Lang.ZhHans,RF),Object.assign(a_.Lang.ZhHant,SF),Object.assign(a_.Lang.En,AF),Object.assign(a_.Blocks,t,e,i,T,E,n,o,s,O,I,a,p,M,y,k,V,B,f,w,D,X,v,x,b,Y,H,c,G,g,F,U,O_),Object.assign(a_.Python.forBlock,L,R,r,S,l,A,P,N,d,h,u,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.a9d28a01.css b/boards/default/micropython_esp32/styles/main.fc544ac3.css similarity index 100% rename from boards/default/micropython_esp32/styles/main.a9d28a01.css rename to boards/default/micropython_esp32/styles/main.fc544ac3.css 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 5d5ea79b..d498bed3 100644 Binary files a/boards/default/micropython_esp32c2/build/Mixgo_Mini_lib-v1.23.0.bin and b/boards/default/micropython_esp32c2/build/Mixgo_Mini_lib-v1.23.0.bin differ diff --git a/boards/default/micropython_esp32c2/build/lib/mini_g2.py b/boards/default/micropython_esp32c2/build/lib/mini_g2.py index 7900263c..9dbbbcd6 100644 --- a/boards/default/micropython_esp32c2/build/lib/mini_g2.py +++ b/boards/default/micropython_esp32c2/build/lib/mini_g2.py @@ -15,7 +15,7 @@ ext_i2c = SoftI2C(scl=Pin(7), sda=Pin(8), freq=400000) '''RFID_Sensor''' try : import rc522 - onboard_rfid = rc522.RC522(ext_i2c) + ext_rfid = rc522.RC522(ext_i2c) except Exception as e: print("Warning: Failed to communicate with SI522A (RFID) or",e) diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/37-1-文件操作-列出文件.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/-KfNltQ34jrm.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/37-1-文件操作-列出文件.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/-KfNltQ34jrm.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/-OYR_yq3FC-h.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/30-2-物联网-高级数据按需上报.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/-OYR_yq3FC-h.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/-ioznd81x22h.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/32-2-物联网-多主题数据订2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/-ioznd81x22h.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/0aODFxUNlm6G.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/29-2-物联网-复杂数据定时上报.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/0aODFxUNlm6G.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/39-1-文件操作-录音采集.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/20Hi1GSDUTJD.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/39-1-文件操作-录音采集.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/20Hi1GSDUTJD.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/38-2-文件操作-文件读写2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/3CTmOeALKLby.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/38-2-文件操作-文件读写2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/3CTmOeALKLby.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/3hSiiT4JiMFs.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/18-2-复杂控制-循环计时.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/3hSiiT4JiMFs.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/5vbamZZVJQ0X.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/03-2-快速入门-心随我动2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/5vbamZZVJQ0X.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/6tmg_CvsBUyD.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/12-1-输入输出-实时时钟.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/6tmg_CvsBUyD.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/72thKMWrYbto.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/17-2-复杂控制-单键中断.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/72thKMWrYbto.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/27-2-飞机游戏-消灭敌机.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/7HVlK_gtsUcW.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/27-2-飞机游戏-消灭敌机.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/7HVlK_gtsUcW.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/7dPE4zMueyaD.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/20-1-复杂控制-异常.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/7dPE4zMueyaD.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/11-2-输入输出-光标控制.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/7j47ez-N2Uvg.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/11-2-输入输出-光标控制.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/7j47ez-N2Uvg.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/8JWTgI6q0zv3.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/09-1-输入输出-加速度.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/8JWTgI6q0zv3.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/8cSXiznaW2nR.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/16-1-逻辑计算-开始打地鼠.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/8cSXiznaW2nR.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/9MDcDN1UYLHG.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/05-1-过程控制-双键开关.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/9MDcDN1UYLHG.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/AjTZX0yodMVy.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/08-2-过程控制-入侵报警.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/AjTZX0yodMVy.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/42-1-智能小车-智能避障(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/AlKiyRNU_cJ_.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/42-1-智能小车-智能避障(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/AlKiyRNU_cJ_.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/Bdc5xx21VtGc.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/24-1-无线广播-通讯测试.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/Bdc5xx21VtGc.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/BpMeSxhl7Ovi.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/17-0-复杂控制-非中断效果.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/BpMeSxhl7Ovi.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/39-2-文件操作-录音重现.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/C1PFGeE0Rn7A.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/39-2-文件操作-录音重现.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/C1PFGeE0Rn7A.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/C8s5rlITFU13.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/05-2-过程控制-单键开关.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/C8s5rlITFU13.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-2-射频识别-持续写卡(MEG1).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/CWolnBdxG-0v.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/22-2-射频识别-持续写卡(MEG1).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/CWolnBdxG-0v.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/DPILurYXMsaR.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/14-1-逻辑计算-反应测试.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/DPILurYXMsaR.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/DbdlMqQX_lKX.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/04-1-快速入门-流动的灯.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/DbdlMqQX_lKX.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/E_mJ3o1S_tNo.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/05-3-过程控制-IPO概念.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/E_mJ3o1S_tNo.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/44-1-智能小车-P单巡线(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/EnUjUU1pirWJ.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/44-1-智能小车-P单巡线(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/EnUjUU1pirWJ.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/EvK6PJb1roYl.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/06-1-过程控制-声音采集.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/EvK6PJb1roYl.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/FO-micyuU-Qc.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/FO-micyuU-Qc.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/HVremQaL-yoE.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/01-2-快速入门-你好世界2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/HVremQaL-yoE.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/IDW4fJHcuql7.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/04-2-快速入门-流动的灯2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/IDW4fJHcuql7.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/J9mq4J_OaVGQ.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/09-2-输入输出-平衡仪.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/J9mq4J_OaVGQ.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/JlK0D6aLJgj0.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/14-2-逻辑计算-反应测试2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/JlK0D6aLJgj0.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/KTio9rLRHssi.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/35-2-课堂互动-多选答题.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/KTio9rLRHssi.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/KclS_9_bSHHL.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/06-2-过程控制-看见声音.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/KclS_9_bSHHL.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/10-2-输入输出-金属探测.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/KmRa_wOMmgU3.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/10-2-输入输出-金属探测.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/KmRa_wOMmgU3.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/L2kLismjpEV5.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/07-2-过程控制-自动补光.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/L2kLismjpEV5.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/21-2-射频识别-读取卡号(MEG1).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/L6tYWbveHZqq.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/21-2-射频识别-读取卡号(MEG1).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/L6tYWbveHZqq.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/O-UktQyEOWC3.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/16-2-逻辑计算-循环打地鼠.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/O-UktQyEOWC3.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-1-蓝牙通讯-主机模式.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/PdTlxspa5Crp.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/23-1-蓝牙通讯-主机模式.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/PdTlxspa5Crp.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/PiMD7_zX2vMw.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/36-1-课堂互动-点名答题.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/PiMD7_zX2vMw.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/Rbf48wjnBMJU.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/03-1-快速入门-心随我动.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/Rbf48wjnBMJU.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/21-1-射频识别-读取测试(MEG1).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/SWt_ATu3dNxn.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/21-1-射频识别-读取测试(MEG1).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/SWt_ATu3dNxn.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/TLO2tJpU9Yxx.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/30-1-物联网-简单数据按需上报.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/TLO2tJpU9Yxx.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/23-1-蓝牙通讯-从机模式.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/VJmzsmn-6Fry.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/23-1-蓝牙通讯-从机模式.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/VJmzsmn-6Fry.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/22-1-射频识别-写卡测试(MEG1).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/VMYsKVXzxaU6.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/22-1-射频识别-写卡测试(MEG1).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/VMYsKVXzxaU6.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/YhN5BPaAZW64.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/36-2-课堂互动-多人点答.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/YhN5BPaAZW64.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/ZTNZ4uT6KXQo.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/01-1-快速入门-你好世界.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/ZTNZ4uT6KXQo.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/a4y-AoSHGQ1o.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/20-2-复杂控制-异常处理.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/a4y-AoSHGQ1o.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/aU_0Q4w6UpHY.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/02-2-快速入门-为你心动.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/aU_0Q4w6UpHY.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/25-2-飞机游戏-移动飞机.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/bAhVWeKwWkwV.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/25-2-飞机游戏-移动飞机.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/bAhVWeKwWkwV.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/38-1-文件操作-文件读写.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/bflsCZWChYT0.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/38-1-文件操作-文件读写.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/bflsCZWChYT0.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/d4ZAigi2YZQw.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/19-1-复杂控制-多线程.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/d4ZAigi2YZQw.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/27-1-飞机游戏-显示敌机.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/dpUoSpoa8QPa.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/27-1-飞机游戏-显示敌机.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/dpUoSpoa8QPa.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/eSqPBLp0Afgp.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/35-1-课堂互动-单选答题.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/eSqPBLp0Afgp.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/f6o18jPAJAj3.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/29-1-物联网-简单数据定时上报.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/f6o18jPAJAj3.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/43-2-智能小车-体感遥控(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/faNLD2JbYerH.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/43-2-智能小车-体感遥控(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/faNLD2JbYerH.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/h0pNNzKzwkFY.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/15-1-逻辑计算-简单打地鼠.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/h0pNNzKzwkFY.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/25-1-飞机游戏-显示飞机.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/hnwFkKHg1wUS.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/25-1-飞机游戏-显示飞机.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/hnwFkKHg1wUS.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/41-2-智能小车-圆圈转弯(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/iK66EaDqVcAF.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/41-2-智能小车-圆圈转弯(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/iK66EaDqVcAF.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/10-1-输入输出-地磁强度.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/iZ6nZ9wUpJ9O.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/10-1-输入输出-地磁强度.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/iZ6nZ9wUpJ9O.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/40-1-文件操作-震动采集.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/jUDw2T2_xpUg.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/40-1-文件操作-震动采集.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/jUDw2T2_xpUg.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/jnTyBKmtlwd4.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/07-1-过程控制-光强采集.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/jnTyBKmtlwd4.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/lqr8KGOX7mFK.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/33-2-课堂互动-按需签到.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/lqr8KGOX7mFK.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/26-2-飞机游戏-移动音效.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/mUCEcEAx673t.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/26-2-飞机游戏-移动音效.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/mUCEcEAx673t.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/42-2-智能小车-智能避障2(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/nAZwF_uoSkNs.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/42-2-智能小车-智能避障2(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/nAZwF_uoSkNs.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/28-2-飞机游戏-结束游戏.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/nLXP27r0YzAA.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/28-2-飞机游戏-结束游戏.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/nLXP27r0YzAA.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/nhWNVmadR_Cp.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/08-1-过程控制-接近检测.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/nhWNVmadR_Cp.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/oNgvf5dxNM79.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/24-2-无线广播-防丢检测.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/oNgvf5dxNM79.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/41-1-智能小车-前进转弯(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/otcnyNWBvSSO.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/41-1-智能小车-前进转弯(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/otcnyNWBvSSO.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/p89ZptzWE-5u.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/12-2-输入输出-实时时钟2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/p89ZptzWE-5u.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/37-2-文件操作-列出文件2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/pUfnJ7I7Pds0.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/37-2-文件操作-列出文件2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/pUfnJ7I7Pds0.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/q0sVxBqCDSkk.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/13-2-逻辑计算-手速测试2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/q0sVxBqCDSkk.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/qI8ZU9xY_XSZ.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/18-1-复杂控制-定时计时.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/qI8ZU9xY_XSZ.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/28-1-飞机游戏-显示得分.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/qZ1JMudgiiHN.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/28-1-飞机游戏-显示得分.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/qZ1JMudgiiHN.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/riNujVD11ZB-.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/02-1-快速入门-跳动的心.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/riNujVD11ZB-.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/sHnYHaUpWHF4.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/34-2-课堂互动-多人抢答.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/sHnYHaUpWHF4.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-飞机游戏-发射子弹.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/sez35qUx0uzy.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/26-1-飞机游戏-发射子弹.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/sez35qUx0uzy.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/44-2-智能小车-P双巡线(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/swQyjyjObkrL.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/44-2-智能小车-P双巡线(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/swQyjyjObkrL.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/t01mZeVSpcQT.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/32-1-物联网-多主题数据订.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/t01mZeVSpcQT.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/11-1-输入输出-点阵控制.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/tQYEDKj4DgfD.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/11-1-输入输出-点阵控制.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/tQYEDKj4DgfD.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/43-1-智能小车-遥控小车(MEGO).mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/tk6QfZHkku9B.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/43-1-智能小车-遥控小车(MEGO).mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/tk6QfZHkku9B.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/uDqu6by8K2I-.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/15-2-逻辑计算-计时打地鼠.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/uDqu6by8K2I-.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/uJrUlBdNydRw.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/33-1-课堂互动-自由签到.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/uJrUlBdNydRw.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/vFpbGkmDrtdu.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/19-2-复杂控制-多线程与中断.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/vFpbGkmDrtdu.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/viwEBhCf1kij.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/34-1-课堂互动-一人抢答.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/viwEBhCf1kij.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/y8hqr1cvHl2J.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/31-1-物联网-单主题数据订阅2.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/y8hqr1cvHl2J.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/40-2-文件操作-震动重现.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/z8i7PS8Flbl7.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/40-2-文件操作-震动重现.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/z8i7PS8Flbl7.mix diff --git a/boards/default/micropython_esp32c2/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/z_KnrKomo38P.mix similarity index 100% rename from boards/default/micropython_esp32c2/examples/MixGo MINI/13-1-逻辑计算-手速测试.mix rename to boards/default/micropython_esp32c2/examples/HrN4G6qet1P4/z_KnrKomo38P.mix diff --git a/boards/default/micropython_esp32c2/examples/map.json b/boards/default/micropython_esp32c2/examples/map.json index 63d279c6..1fbc329f 100644 --- a/boards/default/micropython_esp32c2/examples/map.json +++ b/boards/default/micropython_esp32c2/examples/map.json @@ -1,358 +1,358 @@ { - "MixGo MINI": { - "01-1-快速入门-你好世界.mix": { + "HrN4G6qet1P4": { + "ZTNZ4uT6KXQo.mix": { "__file__": true, "__name__": "01-1-快速入门-你好世界.mix" }, - "01-2-快速入门-你好世界2.mix": { + "HVremQaL-yoE.mix": { "__file__": true, "__name__": "01-2-快速入门-你好世界2.mix" }, - "02-1-快速入门-跳动的心.mix": { + "riNujVD11ZB-.mix": { "__file__": true, "__name__": "02-1-快速入门-跳动的心.mix" }, - "02-2-快速入门-为你心动.mix": { + "aU_0Q4w6UpHY.mix": { "__file__": true, "__name__": "02-2-快速入门-为你心动.mix" }, - "03-1-快速入门-心随我动.mix": { + "Rbf48wjnBMJU.mix": { "__file__": true, "__name__": "03-1-快速入门-心随我动.mix" }, - "03-2-快速入门-心随我动2.mix": { + "5vbamZZVJQ0X.mix": { "__file__": true, "__name__": "03-2-快速入门-心随我动2.mix" }, - "04-1-快速入门-流动的灯.mix": { + "DbdlMqQX_lKX.mix": { "__file__": true, "__name__": "04-1-快速入门-流动的灯.mix" }, - "04-2-快速入门-流动的灯2.mix": { + "IDW4fJHcuql7.mix": { "__file__": true, "__name__": "04-2-快速入门-流动的灯2.mix" }, - "05-1-过程控制-双键开关.mix": { + "9MDcDN1UYLHG.mix": { "__file__": true, "__name__": "05-1-过程控制-双键开关.mix" }, - "05-2-过程控制-单键开关.mix": { + "C8s5rlITFU13.mix": { "__file__": true, "__name__": "05-2-过程控制-单键开关.mix" }, - "05-3-过程控制-IPO概念.mix": { + "E_mJ3o1S_tNo.mix": { "__file__": true, "__name__": "05-3-过程控制-IPO概念.mix" }, - "06-1-过程控制-声音采集.mix": { + "EvK6PJb1roYl.mix": { "__file__": true, "__name__": "06-1-过程控制-声音采集.mix" }, - "06-2-过程控制-看见声音.mix": { + "KclS_9_bSHHL.mix": { "__file__": true, "__name__": "06-2-过程控制-看见声音.mix" }, - "07-1-过程控制-光强采集.mix": { + "jnTyBKmtlwd4.mix": { "__file__": true, "__name__": "07-1-过程控制-光强采集.mix" }, - "07-2-过程控制-自动补光.mix": { + "L2kLismjpEV5.mix": { "__file__": true, "__name__": "07-2-过程控制-自动补光.mix" }, - "08-1-过程控制-接近检测.mix": { + "nhWNVmadR_Cp.mix": { "__file__": true, "__name__": "08-1-过程控制-接近检测.mix" }, - "08-2-过程控制-入侵报警.mix": { + "AjTZX0yodMVy.mix": { "__file__": true, "__name__": "08-2-过程控制-入侵报警.mix" }, - "09-1-输入输出-加速度.mix": { + "8JWTgI6q0zv3.mix": { "__file__": true, "__name__": "09-1-输入输出-加速度.mix" }, - "09-2-输入输出-平衡仪.mix": { + "J9mq4J_OaVGQ.mix": { "__file__": true, "__name__": "09-2-输入输出-平衡仪.mix" }, - "10-1-输入输出-地磁强度.mix": { + "iZ6nZ9wUpJ9O.mix": { "__file__": true, "__name__": "10-1-输入输出-地磁强度.mix" }, - "10-2-输入输出-金属探测.mix": { + "KmRa_wOMmgU3.mix": { "__file__": true, "__name__": "10-2-输入输出-金属探测.mix" }, - "11-1-输入输出-点阵控制.mix": { + "tQYEDKj4DgfD.mix": { "__file__": true, "__name__": "11-1-输入输出-点阵控制.mix" }, - "11-2-输入输出-光标控制.mix": { + "7j47ez-N2Uvg.mix": { "__file__": true, "__name__": "11-2-输入输出-光标控制.mix" }, - "12-1-输入输出-实时时钟.mix": { + "6tmg_CvsBUyD.mix": { "__file__": true, "__name__": "12-1-输入输出-实时时钟.mix" }, - "12-2-输入输出-实时时钟2.mix": { + "p89ZptzWE-5u.mix": { "__file__": true, "__name__": "12-2-输入输出-实时时钟2.mix" }, - "13-1-逻辑计算-手速测试.mix": { + "z_KnrKomo38P.mix": { "__file__": true, "__name__": "13-1-逻辑计算-手速测试.mix" }, - "13-2-逻辑计算-手速测试2.mix": { + "q0sVxBqCDSkk.mix": { "__file__": true, "__name__": "13-2-逻辑计算-手速测试2.mix" }, - "14-1-逻辑计算-反应测试.mix": { + "DPILurYXMsaR.mix": { "__file__": true, "__name__": "14-1-逻辑计算-反应测试.mix" }, - "14-2-逻辑计算-反应测试2.mix": { + "JlK0D6aLJgj0.mix": { "__file__": true, "__name__": "14-2-逻辑计算-反应测试2.mix" }, - "15-1-逻辑计算-简单打地鼠.mix": { + "h0pNNzKzwkFY.mix": { "__file__": true, "__name__": "15-1-逻辑计算-简单打地鼠.mix" }, - "15-2-逻辑计算-计时打地鼠.mix": { + "uDqu6by8K2I-.mix": { "__file__": true, "__name__": "15-2-逻辑计算-计时打地鼠.mix" }, - "16-1-逻辑计算-开始打地鼠.mix": { + "8cSXiznaW2nR.mix": { "__file__": true, "__name__": "16-1-逻辑计算-开始打地鼠.mix" }, - "16-2-逻辑计算-循环打地鼠.mix": { + "O-UktQyEOWC3.mix": { "__file__": true, "__name__": "16-2-逻辑计算-循环打地鼠.mix" }, - "17-0-复杂控制-非中断效果.mix": { + "BpMeSxhl7Ovi.mix": { "__file__": true, "__name__": "17-0-复杂控制-非中断效果.mix" }, - "17-2-复杂控制-单键中断.mix": { + "72thKMWrYbto.mix": { "__file__": true, "__name__": "17-2-复杂控制-单键中断.mix" }, - "18-1-复杂控制-定时计时.mix": { + "qI8ZU9xY_XSZ.mix": { "__file__": true, "__name__": "18-1-复杂控制-定时计时.mix" }, - "18-2-复杂控制-循环计时.mix": { + "3hSiiT4JiMFs.mix": { "__file__": true, "__name__": "18-2-复杂控制-循环计时.mix" }, - "19-1-复杂控制-多线程.mix": { + "d4ZAigi2YZQw.mix": { "__file__": true, "__name__": "19-1-复杂控制-多线程.mix" }, - "19-2-复杂控制-多线程与中断.mix": { + "vFpbGkmDrtdu.mix": { "__file__": true, "__name__": "19-2-复杂控制-多线程与中断.mix" }, - "20-1-复杂控制-异常.mix": { + "7dPE4zMueyaD.mix": { "__file__": true, "__name__": "20-1-复杂控制-异常.mix" }, - "20-2-复杂控制-异常处理.mix": { + "a4y-AoSHGQ1o.mix": { "__file__": true, "__name__": "20-2-复杂控制-异常处理.mix" }, - "21-1-射频识别-读取测试(MEG1).mix": { + "SWt_ATu3dNxn.mix": { "__file__": true, "__name__": "21-1-射频识别-读取测试(MEG1).mix" }, - "21-2-射频识别-读取卡号(MEG1).mix": { + "L6tYWbveHZqq.mix": { "__file__": true, "__name__": "21-2-射频识别-读取卡号(MEG1).mix" }, - "22-1-射频识别-写卡测试(MEG1).mix": { + "VMYsKVXzxaU6.mix": { "__file__": true, "__name__": "22-1-射频识别-写卡测试(MEG1).mix" }, - "22-2-射频识别-持续写卡(MEG1).mix": { + "CWolnBdxG-0v.mix": { "__file__": true, "__name__": "22-2-射频识别-持续写卡(MEG1).mix" }, - "23-1-蓝牙通讯-主机模式.mix": { + "PdTlxspa5Crp.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-主机模式.mix" }, - "23-1-蓝牙通讯-从机模式.mix": { + "VJmzsmn-6Fry.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-从机模式.mix" }, - "24-1-无线广播-通讯测试.mix": { + "Bdc5xx21VtGc.mix": { "__file__": true, "__name__": "24-1-无线广播-通讯测试.mix" }, - "24-2-无线广播-防丢检测.mix": { + "oNgvf5dxNM79.mix": { "__file__": true, "__name__": "24-2-无线广播-防丢检测.mix" }, - "25-1-飞机游戏-显示飞机.mix": { + "hnwFkKHg1wUS.mix": { "__file__": true, "__name__": "25-1-飞机游戏-显示飞机.mix" }, - "25-2-飞机游戏-移动飞机.mix": { + "bAhVWeKwWkwV.mix": { "__file__": true, "__name__": "25-2-飞机游戏-移动飞机.mix" }, - "26-1-飞机游戏-发射子弹.mix": { + "sez35qUx0uzy.mix": { "__file__": true, "__name__": "26-1-飞机游戏-发射子弹.mix" }, - "26-2-飞机游戏-移动音效.mix": { + "mUCEcEAx673t.mix": { "__file__": true, "__name__": "26-2-飞机游戏-移动音效.mix" }, - "27-1-飞机游戏-显示敌机.mix": { + "dpUoSpoa8QPa.mix": { "__file__": true, "__name__": "27-1-飞机游戏-显示敌机.mix" }, - "27-2-飞机游戏-消灭敌机.mix": { + "7HVlK_gtsUcW.mix": { "__file__": true, "__name__": "27-2-飞机游戏-消灭敌机.mix" }, - "28-1-飞机游戏-显示得分.mix": { + "qZ1JMudgiiHN.mix": { "__file__": true, "__name__": "28-1-飞机游戏-显示得分.mix" }, - "28-2-飞机游戏-结束游戏.mix": { + "nLXP27r0YzAA.mix": { "__file__": true, "__name__": "28-2-飞机游戏-结束游戏.mix" }, - "29-1-物联网-简单数据定时上报.mix": { + "f6o18jPAJAj3.mix": { "__file__": true, "__name__": "29-1-物联网-简单数据定时上报.mix" }, - "29-2-物联网-复杂数据定时上报.mix": { + "0aODFxUNlm6G.mix": { "__file__": true, "__name__": "29-2-物联网-复杂数据定时上报.mix" }, - "30-1-物联网-简单数据按需上报.mix": { + "TLO2tJpU9Yxx.mix": { "__file__": true, "__name__": "30-1-物联网-简单数据按需上报.mix" }, - "30-2-物联网-高级数据按需上报.mix": { + "-OYR_yq3FC-h.mix": { "__file__": true, "__name__": "30-2-物联网-高级数据按需上报.mix" }, - "31-1-物联网-单主题数据订阅.mix": { + "FO-micyuU-Qc.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅.mix" }, - "31-1-物联网-单主题数据订阅2.mix": { + "y8hqr1cvHl2J.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅2.mix" }, - "32-1-物联网-多主题数据订.mix": { + "t01mZeVSpcQT.mix": { "__file__": true, "__name__": "32-1-物联网-多主题数据订.mix" }, - "32-2-物联网-多主题数据订2.mix": { + "-ioznd81x22h.mix": { "__file__": true, "__name__": "32-2-物联网-多主题数据订2.mix" }, - "33-1-课堂互动-自由签到.mix": { + "uJrUlBdNydRw.mix": { "__file__": true, "__name__": "33-1-课堂互动-自由签到.mix" }, - "33-2-课堂互动-按需签到.mix": { + "lqr8KGOX7mFK.mix": { "__file__": true, "__name__": "33-2-课堂互动-按需签到.mix" }, - "34-1-课堂互动-一人抢答.mix": { + "viwEBhCf1kij.mix": { "__file__": true, "__name__": "34-1-课堂互动-一人抢答.mix" }, - "34-2-课堂互动-多人抢答.mix": { + "sHnYHaUpWHF4.mix": { "__file__": true, "__name__": "34-2-课堂互动-多人抢答.mix" }, - "35-1-课堂互动-单选答题.mix": { + "eSqPBLp0Afgp.mix": { "__file__": true, "__name__": "35-1-课堂互动-单选答题.mix" }, - "35-2-课堂互动-多选答题.mix": { + "KTio9rLRHssi.mix": { "__file__": true, "__name__": "35-2-课堂互动-多选答题.mix" }, - "36-1-课堂互动-点名答题.mix": { + "PiMD7_zX2vMw.mix": { "__file__": true, "__name__": "36-1-课堂互动-点名答题.mix" }, - "36-2-课堂互动-多人点答.mix": { + "YhN5BPaAZW64.mix": { "__file__": true, "__name__": "36-2-课堂互动-多人点答.mix" }, - "37-1-文件操作-列出文件.mix": { + "-KfNltQ34jrm.mix": { "__file__": true, "__name__": "37-1-文件操作-列出文件.mix" }, - "37-2-文件操作-列出文件2.mix": { + "pUfnJ7I7Pds0.mix": { "__file__": true, "__name__": "37-2-文件操作-列出文件2.mix" }, - "38-1-文件操作-文件读写.mix": { + "bflsCZWChYT0.mix": { "__file__": true, "__name__": "38-1-文件操作-文件读写.mix" }, - "38-2-文件操作-文件读写2.mix": { + "3CTmOeALKLby.mix": { "__file__": true, "__name__": "38-2-文件操作-文件读写2.mix" }, - "39-1-文件操作-录音采集.mix": { + "20Hi1GSDUTJD.mix": { "__file__": true, "__name__": "39-1-文件操作-录音采集.mix" }, - "39-2-文件操作-录音重现.mix": { + "C1PFGeE0Rn7A.mix": { "__file__": true, "__name__": "39-2-文件操作-录音重现.mix" }, - "40-1-文件操作-震动采集.mix": { + "jUDw2T2_xpUg.mix": { "__file__": true, "__name__": "40-1-文件操作-震动采集.mix" }, - "40-2-文件操作-震动重现.mix": { + "z8i7PS8Flbl7.mix": { "__file__": true, "__name__": "40-2-文件操作-震动重现.mix" }, - "41-1-智能小车-前进转弯(MEGO).mix": { + "otcnyNWBvSSO.mix": { "__file__": true, "__name__": "41-1-智能小车-前进转弯(MEGO).mix" }, - "41-2-智能小车-圆圈转弯(MEGO).mix": { + "iK66EaDqVcAF.mix": { "__file__": true, "__name__": "41-2-智能小车-圆圈转弯(MEGO).mix" }, - "42-1-智能小车-智能避障(MEGO).mix": { + "AlKiyRNU_cJ_.mix": { "__file__": true, "__name__": "42-1-智能小车-智能避障(MEGO).mix" }, - "42-2-智能小车-智能避障2(MEGO).mix": { + "nAZwF_uoSkNs.mix": { "__file__": true, "__name__": "42-2-智能小车-智能避障2(MEGO).mix" }, - "43-1-智能小车-遥控小车(MEGO).mix": { + "tk6QfZHkku9B.mix": { "__file__": true, "__name__": "43-1-智能小车-遥控小车(MEGO).mix" }, - "43-2-智能小车-体感遥控(MEGO).mix": { + "faNLD2JbYerH.mix": { "__file__": true, "__name__": "43-2-智能小车-体感遥控(MEGO).mix" }, - "44-1-智能小车-P单巡线(MEGO).mix": { + "EnUjUU1pirWJ.mix": { "__file__": true, "__name__": "44-1-智能小车-P单巡线(MEGO).mix" }, - "44-2-智能小车-P双巡线(MEGO).mix": { + "swQyjyjObkrL.mix": { "__file__": true, "__name__": "44-2-智能小车-P双巡线(MEGO).mix" }, diff --git a/boards/default/micropython_esp32c2/index.xml b/boards/default/micropython_esp32c2/index.xml index be54e583..118788b1 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,01802910044044010000412000000000001000100010020000Mixly0MixlyMixly500MixlyMixly500>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.com \ 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,01802910044044010000412000000000001000100010020000Mixly0MixlyMixly500MixlyMixly500>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.com \ 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 086780f1..68bd408a 100644 --- a/boards/default/micropython_esp32c2/main.bundle.js +++ b/boards/default/micropython_esp32c2/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ft,controls_typeLists:()=>Pt,variables_change:()=>Dt,variables_get:()=>Lt,variables_global:()=>ft,variables_set:()=>Nt});var i={};t.r(i),t.d(i,{base_setup:()=>Xt,controls_delay:()=>xt,controls_end_program:()=>yt,controls_except:()=>qt,controls_finally:()=>Qt,controls_flow_statements:()=>wt,controls_for:()=>kt,controls_forEach:()=>Bt,controls_for_range:()=>Ht,controls_if:()=>Vt,controls_if_else:()=>Jt,controls_if_elseif:()=>Kt,controls_if_if:()=>Wt,controls_lambda:()=>Zt,controls_main:()=>Yt,controls_pass:()=>$t,controls_range:()=>bt,controls_repeat_ext:()=>jt,controls_thread:()=>te,controls_try:()=>zt,controls_try_finally:()=>Ut,controls_whileUntil:()=>Gt,do_while:()=>ee});var n={};t.r(n),t.d(n,{base_map:()=>ge,math_arithmetic:()=>oe,math_bit:()=>ae,math_constant:()=>se,math_constant_mp:()=>_e,math_constrain:()=>he,math_dec:()=>re,math_indexer_number:()=>me,math_map:()=>Me,math_max_min:()=>de,math_number:()=>ne,math_number_base_conversion:()=>Ie,math_random:()=>Te,math_random_seed:()=>Oe,math_round:()=>Ee,math_selfcalcu:()=>pe,math_to_int:()=>le,math_trig:()=>ue,text_to_number:()=>Re,text_to_number_skulpt:()=>ce});var s={};t.r(s),t.d(s,{ascii_to_char:()=>De,char_to_ascii:()=>fe,number_to_text:()=>Fe,os_system:()=>ei,text:()=>Se,text_capital:()=>Be,text_center:()=>Ge,text_char:()=>Le,text_char_at:()=>Ye,text_char_at2:()=>ve,text_char_at3:()=>je,text_compareTo:()=>Qe,text_compare_to:()=>be,text_create_with_container:()=>Je,text_create_with_item:()=>ze,text_encode:()=>$e,text_equals_starts_ends:()=>Ve,text_eval:()=>ti,text_find:()=>Ue,text_format:()=>Ke,text_format_noreturn:()=>Ze,text_join:()=>Ne,text_join_seq:()=>we,text_length:()=>Pe,text_random_char:()=>Xe,text_replace:()=>ke,text_split:()=>He,text_strip:()=>We,text_substring:()=>ye,text_substring2:()=>xe,text_substring3:()=>qe,text_textarea:()=>Ae});var _={};t.r(_),t.d(_,{list_many_input:()=>Si,list_tolist:()=>Pi,list_tolist2:()=>Bi,list_trig:()=>ci,lists_2d_get_col_row_data:()=>oi,lists_2d_get_data_with_col_row:()=>_i,lists_append_extend:()=>di,lists_change_to:()=>Ci,lists_change_to_general:()=>Li,lists_clear:()=>mi,lists_create_with:()=>pi,lists_create_with2:()=>vi,lists_create_with_container:()=>ui,lists_create_with_item:()=>ri,lists_create_with_noreturn:()=>Ai,lists_create_with_text:()=>ai,lists_create_with_text2:()=>Yi,lists_del_general:()=>Ni,lists_find:()=>Ri,lists_getIndex3:()=>Xi,lists_getSublist3:()=>xi,lists_get_index:()=>ni,lists_get_random_item:()=>Ii,lists_get_random_sublist:()=>Ti,lists_get_sublist:()=>si,lists_insert_value:()=>hi,lists_insert_value2:()=>Vi,lists_pop:()=>Ei,lists_remove_at:()=>Oi,lists_remove_at2:()=>bi,lists_reverse:()=>Mi,lists_setIndex3:()=>yi,lists_set_index:()=>li,lists_sort:()=>gi,lists_zip:()=>Di,lists_zip_container:()=>fi,lists_zip_item:()=>Fi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>en,dicts_add_or_change:()=>Ji,dicts_clear:()=>Qi,dicts_create_with:()=>Ui,dicts_create_with_container:()=>wi,dicts_create_with_item:()=>ki,dicts_create_with_noreturn:()=>_n,dicts_deldict:()=>tn,dicts_delete:()=>zi,dicts_get:()=>Wi,dicts_get_default:()=>Ki,dicts_items:()=>ji,dicts_keys:()=>Hi,dicts_length:()=>$i,dicts_pop:()=>nn,dicts_setdefault:()=>sn,dicts_to_json:()=>pn,dicts_todict:()=>on,dicts_update:()=>qi,dicts_values:()=>Zi,json_to_dicts:()=>an});var p={};t.r(p),t.d(p,{logic_boolean:()=>Tn,logic_compare:()=>rn,logic_compare_continous:()=>ln,logic_is:()=>On,logic_is_in:()=>mn,logic_negate:()=>In,logic_null:()=>hn,logic_operation:()=>dn,logic_tobool:()=>En,logic_true_or_false:()=>Mn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>wn,sdcard_use_spi_init:()=>Un,storage_can_write_ornot:()=>Dn,storage_change_dir:()=>Bn,storage_close_file:()=>Fn,storage_delete_file:()=>vn,storage_file_seek:()=>xn,storage_file_tell:()=>Xn,storage_file_write:()=>Sn,storage_fileopen:()=>cn,storage_fileopen_new:()=>gn,storage_fileopen_new_encoding:()=>Cn,storage_get_a_line:()=>Nn,storage_get_contents:()=>Ln,storage_get_contents_without_para:()=>An,storage_get_current_dir:()=>yn,storage_get_file_size:()=>Yn,storage_get_filename:()=>fn,storage_is_file:()=>Gn,storage_list_all_files:()=>Pn,storage_make_dir:()=>Vn,storage_open_file_with_os:()=>Rn,storage_rename:()=>bn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>qn,procedures_callreturn:()=>Qn,procedures_defnoreturn:()=>Wn,procedures_defreturn:()=>Kn,procedures_ifreturn:()=>jn,procedures_mutatorarg:()=>zn,procedures_mutatorcontainer:()=>Jn,procedures_return:()=>Zn});var r={};t.r(r),t.d(r,{tuple_change_to:()=>rs,tuple_create_with:()=>ts,tuple_create_with_container:()=>es,tuple_create_with_item:()=>is,tuple_create_with_noreturn:()=>Ts,tuple_create_with_text2:()=>ns,tuple_create_with_text_return:()=>ss,tuple_del:()=>ps,tuple_find:()=>ls,tuple_getIndex:()=>_s,tuple_getSublist:()=>Is,tuple_get_random_item:()=>Ms,tuple_get_sublist:()=>hs,tuple_join:()=>as,tuple_length:()=>os,tuple_max:()=>us,tuple_totuple:()=>ms,tuple_trig:()=>ds});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ns,set_clear:()=>Ss,set_create_with:()=>Es,set_create_with_container:()=>Rs,set_create_with_item:()=>cs,set_create_with_text_return:()=>Fs,set_length:()=>gs,set_operate:()=>As,set_operate_update:()=>Ls,set_pop:()=>Cs,set_sub:()=>Ds,set_toset:()=>Ps,set_update:()=>fs});var d={};t.r(d),t.d(d,{html_content:()=>ys,html_content_more:()=>Vs,html_document:()=>Ys,html_form:()=>Bs,html_head_body:()=>xs,html_style:()=>bs,html_style_color:()=>Us,html_style_content:()=>Gs,html_text:()=>ws,html_title:()=>Xs});var I={};t.r(I),t.d(I,{attribute_access:()=>i_,function_call:()=>$s,function_call_container:()=>t_,function_call_item:()=>e_,raw_block:()=>Ws,raw_empty:()=>Js,raw_expression:()=>Ks,raw_table:()=>Hs,text_comment:()=>zs,text_print_multiple:()=>Qs,text_print_multiple_container:()=>js,text_print_multiple_item:()=>Zs,type_check:()=>qs});var T={};t.r(T),t.d(T,{controls_type:()=>p_,controls_typeLists:()=>a_,variables_change:()=>__,variables_get:()=>n_,variables_global:()=>o_,variables_set:()=>s_});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>O_,base_setup:()=>r_,controls_delay:()=>m_,controls_flow_statements:()=>M_,controls_for:()=>I_,controls_forEach:()=>C_,controls_for_range:()=>T_,controls_if:()=>l_,controls_interrupts:()=>c_,controls_lambda:()=>A_,controls_main:()=>u_,controls_millis:()=>E_,controls_nointerrupts:()=>g_,controls_pass:()=>N_,controls_range:()=>S_,controls_repeat:()=>P_,controls_repeat_ext:()=>F_,controls_thread:()=>D_,controls_try_finally:()=>d_,controls_whileUntil:()=>h_,do_while:()=>f_,reset:()=>R_,time_sleep:()=>L_});var M={};t.r(M),t.d(M,{base_map:()=>Z_,math_arithmetic:()=>y_,math_bit:()=>x_,math_constant:()=>Y_,math_constant_mp:()=>X_,math_constrain:()=>W_,math_dec:()=>G_,math_indexer_number:()=>z_,math_map:()=>H_,math_max_min:()=>w_,math_number:()=>v_,math_number_base_conversion:()=>K_,math_random:()=>k_,math_random_seed:()=>J_,math_round:()=>q_,math_selfcalcu:()=>V_,math_single:()=>b_,math_to_int:()=>U_,math_trig:()=>B_,text_to_number:()=>Q_,text_to_number_skulpt:()=>j_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>no,char_to_ascii:()=>so,number_to_text:()=>_o,os_system:()=>fo,text:()=>$_,text_capital:()=>ho,text_center:()=>Mo,text_char:()=>eo,text_char_at:()=>ao,text_char_at2:()=>po,text_char_at3:()=>Lo,text_compareTo:()=>Ao,text_compare_to:()=>lo,text_encode:()=>No,text_equals_starts_ends:()=>ro,text_eval:()=>Do,text_find:()=>mo,text_format:()=>go,text_format_noreturn:()=>Co,text_join:()=>io,text_join_seq:()=>Oo,text_length:()=>oo,text_random_char:()=>uo,text_replace:()=>Eo,text_split:()=>Ro,text_strip:()=>co,text_substring:()=>To,text_substring2:()=>Io,text_substring3:()=>So,text_textarea:()=>to});var O={};t.r(O),t.d(O,{list_many_input:()=>qo,list_tolist:()=>pp,list_tolist2:()=>ap,list_trig:()=>Ko,lists_2d_get_col_row_data:()=>vo,lists_2d_get_data_with_col_row:()=>Po,lists_append_extend:()=>Vo,lists_change_to:()=>zo,lists_change_to_general:()=>jo,lists_clear:()=>wo,lists_create_with:()=>Yo,lists_create_with2:()=>$o,lists_create_with_noreturn:()=>Qo,lists_create_with_text:()=>Xo,lists_create_with_text2:()=>tp,lists_del_general:()=>Zo,lists_find:()=>ko,lists_getIndex3:()=>ep,lists_getSublist3:()=>ip,lists_get_index:()=>xo,lists_get_random_item:()=>bo,lists_get_random_sublist:()=>Bo,lists_get_sublist:()=>Fo,lists_insert_value:()=>Go,lists_insert_value2:()=>sp,lists_pop:()=>Wo,lists_remove_at:()=>Ho,lists_remove_at2:()=>_p,lists_reverse:()=>Uo,lists_setIndex3:()=>np,lists_set_index:()=>yo,lists_sort:()=>Jo,lists_zip:()=>op});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>cp,dicts_add_or_change:()=>Ip,dicts_clear:()=>Mp,dicts_create_with:()=>up,dicts_create_with_noreturn:()=>Sp,dicts_deldict:()=>Rp,dicts_delete:()=>Tp,dicts_get:()=>lp,dicts_get_default:()=>dp,dicts_items:()=>mp,dicts_keys:()=>rp,dicts_length:()=>Ep,dicts_pop:()=>gp,dicts_setdefault:()=>Cp,dicts_to_json:()=>Lp,dicts_todict:()=>Ap,dicts_update:()=>hp,dicts_values:()=>Op,json_to_dicts:()=>Np});var R={};t.r(R),t.d(R,{logic_boolean:()=>vp,logic_compare:()=>Dp,logic_compare_continous:()=>fp,logic_is:()=>yp,logic_is_in:()=>xp,logic_negate:()=>Pp,logic_null:()=>Yp,logic_operation:()=>Fp,logic_tobool:()=>Vp,logic_true_or_false:()=>Xp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>oa,sdcard_use_spi_init:()=>_a,storage_can_write_ornot:()=>Kp,storage_change_dir:()=>ta,storage_close_file:()=>zp,storage_delete_file:()=>Qp,storage_file_seek:()=>$p,storage_file_tell:()=>Zp,storage_file_write:()=>wp,storage_fileopen:()=>Bp,storage_fileopen_new:()=>Gp,storage_fileopen_new_encoding:()=>Up,storage_get_a_line:()=>Wp,storage_get_contents:()=>Hp,storage_get_contents_without_para:()=>kp,storage_get_current_dir:()=>ea,storage_get_file_size:()=>jp,storage_get_filename:()=>Jp,storage_is_file:()=>sa,storage_list_all_files:()=>qp,storage_make_dir:()=>ia,storage_open_file_with_os:()=>bp,storage_rename:()=>na});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>ra,procedures_callreturn:()=>ua,procedures_defnoreturn:()=>aa,procedures_defreturn:()=>pa,procedures_ifreturn:()=>la,procedures_return:()=>da});var C={};t.r(C),t.d(C,{tuple_change_to:()=>ca,tuple_create_with:()=>Ia,tuple_create_with_noreturn:()=>Aa,tuple_create_with_text2:()=>Ta,tuple_create_with_text_return:()=>ha,tuple_del:()=>Oa,tuple_find:()=>ga,tuple_getIndex:()=>Ma,tuple_getSublist:()=>Sa,tuple_get_random_item:()=>Na,tuple_get_sublist:()=>La,tuple_join:()=>Ea,tuple_length:()=>ma,tuple_max:()=>Ra,tuple_totuple:()=>Da,tuple_trig:()=>Ca});var S={};t.r(S),t.d(S,{set_add_discard:()=>xa,set_clear:()=>va,set_create_with:()=>fa,set_create_with_text_return:()=>ba,set_length:()=>Fa,set_operate:()=>Ya,set_operate_update:()=>Xa,set_pop:()=>Pa,set_sub:()=>ya,set_toset:()=>Ba,set_update:()=>Va});var A={};t.r(A),t.d(A,{html_content:()=>ka,html_content_more:()=>Ha,html_document:()=>Ga,html_form:()=>Ka,html_head_body:()=>wa,html_style:()=>Wa,html_style_content:()=>Ja,html_text:()=>za,html_title:()=>Ua});var L={};t.r(L),t.d(L,{attribute_access:()=>eu,function_call:()=>tu,raw_block:()=>qa,raw_empty:()=>ja,raw_expression:()=>Qa,raw_table:()=>Za,type_check:()=>$a});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>Iu,actuator_extern_get_led_state:()=>Tu,actuator_extern_led_bright:()=>du,actuator_extern_led_brightness:()=>hu,actuator_ms32006_dcmotor:()=>Su,actuator_ms32006_init:()=>Cu,actuator_ms32006_stepper:()=>Au,actuator_neopixel_init:()=>Lu,actuator_neopixel_rgb:()=>Nu,actuator_neopixel_rgb_all:()=>Du,actuator_neopixel_write:()=>fu,actuator_use_uart_init:()=>Fu,esp32_music_get_tempo_extern:()=>uu,esp32_music_pitch:()=>_u,esp32_music_pitch_init:()=>su,esp32_music_pitch_with_time:()=>ou,esp32_music_play_list:()=>pu,esp32_music_reset_extern:()=>ru,esp32_music_set_tempo_extern:()=>au,esp32_music_stop:()=>lu,mixbot_actuator_extern_get_addr:()=>zu,mixbot_actuator_extern_set_addr:()=>qu,mixbot_addr_extern:()=>xu,robot_led_extern:()=>Bu,robot_led_extern_get_value:()=>Gu,robot_motor_extern:()=>yu,robot_motor_extern_get_speed:()=>Vu,robot_servo_extern_absolute_run:()=>Hu,robot_servo_extern_get_status:()=>Uu,robot_servo_extern_relative_continue:()=>Ju,robot_servo_extern_relative_origin:()=>Wu,robot_servo_extern_relative_run:()=>Ku,robot_servo_extern_stop:()=>ku,robot_servo_extern_stop_mode:()=>wu,robot_traffic_light_extern:()=>bu,servo_get_angle:()=>cu,servo_get_speed:()=>gu,servo_init:()=>Mu,servo_move:()=>mu,servo_set_angle:()=>Eu,servo_set_speed:()=>Ru,servo_speed_360:()=>Ou,syn6288_builtin_voice:()=>Yu,syn6288_get_voice:()=>vu,syn6288_set_voice:()=>Pu,syn6288_tts_play:()=>Xu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Nr,actuator_dc_motor_stop:()=>Dr,actuator_get_led_bright:()=>tr,actuator_get_led_state:()=>er,actuator_led_bright:()=>$u,actuator_led_brightness:()=>ir,actuator_mixbot_buzzer_on_off:()=>Yr,actuator_mixgo_nova_mic_get:()=>br,actuator_mixgo_nova_mic_set:()=>Vr,actuator_mixgo_nova_onboard_music_pitch:()=>Hr,actuator_mixgo_nova_onboard_music_stop:()=>Wr,actuator_mixgo_nova_play_audio:()=>wr,actuator_mixgo_nova_play_online_audio:()=>kr,actuator_mixgo_nova_record_audio:()=>Ur,actuator_mixgo_nova_voice_get:()=>Gr,actuator_mixgo_nova_voice_set:()=>Br,actuator_mixgo_zero_led_color:()=>nr,actuator_onboard_neopixel_rgb:()=>ur,actuator_onboard_neopixel_rgb_all:()=>rr,actuator_onboard_neopixel_rgb_show_all_chase:()=>dr,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>lr,actuator_onboard_neopixel_write:()=>Ir,actuator_rm_onboard_neopixel_rgb:()=>Tr,actuator_rm_onboard_neopixel_rgb_all:()=>hr,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Mr,actuator_stepper_keep:()=>Ar,actuator_stepper_stop:()=>Lr,bitbot_motor:()=>yr,bitbot_move:()=>Xr,bitbot_stop:()=>xr,cc_number:()=>ar,esp32_music_get_tempo:()=>Or,esp32_music_reset:()=>Er,esp32_music_set_tempo:()=>mr,esp32_onboard_music_pitch:()=>Rr,esp32_onboard_music_pitch_with_time:()=>cr,esp32_onboard_music_play_list:()=>Cr,esp32_onboard_music_stop:()=>gr,get_power_output:()=>Jr,ledswitch:()=>Zu,mixbot_motor:()=>vr,mixbot_motor_status:()=>fr,mixbot_move:()=>Fr,mixbot_stop:()=>Pr,number:()=>ju,rm_actuator_get_led_bright:()=>_r,rm_actuator_get_led_state:()=>or,rm_actuator_led_bright:()=>sr,rm_actuator_led_brightness:()=>pr,rm_motor:()=>Sr,set_all_power_output:()=>zr,set_power_output:()=>Kr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Dl,ai_sensor_ailocal_class:()=>ml,ai_sensor_ailocal_class_result:()=>Ol,ai_sensor_ailocal_train:()=>Ml,ai_sensor_asr_recognize:()=>Cl,ai_sensor_audio_play:()=>Rl,ai_sensor_audio_record:()=>El,ai_sensor_barcode:()=>il,ai_sensor_circle:()=>al,ai_sensor_classifier_faces:()=>Nl,ai_sensor_color:()=>dl,ai_sensor_color_chases:()=>hl,ai_sensor_color_chases_result:()=>Tl,ai_sensor_config:()=>tl,ai_sensor_face:()=>Ll,ai_sensor_find_20objects:()=>fl,ai_sensor_find_barcodes:()=>nl,ai_sensor_find_circles:()=>ul,ai_sensor_find_colors:()=>Il,ai_sensor_find_licenseplates:()=>Al,ai_sensor_find_lines:()=>pl,ai_sensor_find_qrcodes:()=>$r,ai_sensor_find_rects:()=>ll,ai_sensor_find_tags:()=>_l,ai_sensor_licenseplate:()=>Sl,ai_sensor_line:()=>ol,ai_sensor_qrcode:()=>jr,ai_sensor_qrcode_lite:()=>Zr,ai_sensor_rect:()=>rl,ai_sensor_rgb:()=>el,ai_sensor_tag:()=>sl,ai_sensor_use_uart_init:()=>Qr,ai_sensor_yolo_recognize:()=>cl,ai_sensor_yolo_recognize_result:()=>gl});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>vl,MICROPYTHON_AI_Speech_unit:()=>Pl,MICROPYTHON_AI_client:()=>Fl});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>Jl,mpython_blynk_app_notify:()=>Gl,mpython_blynk_email:()=>kl,mpython_blynk_get_timers:()=>Hl,mpython_blynk_on_connected:()=>Vl,mpython_blynk_on_disconnected:()=>yl,mpython_blynk_run:()=>Bl,mpython_blynk_sensor_data_to_app:()=>Kl,mpython_blynk_set_property:()=>wl,mpython_blynk_setup:()=>zl,mpython_blynk_stop_timers:()=>Ul,mpython_blynk_sync_virtual:()=>xl,mpython_blynk_terminal_widget_vpin:()=>Xl,mpython_blynktimer:()=>Wl,mpython_blynktimer_run:()=>bl});var v={};t.r(v),t.d(v,{cc_g1_init:()=>ql,cc_g1_read_bat:()=>Ql,cc_g1_read_joystick:()=>jl,cc_g1_read_key:()=>Zl,cc_g1_turnoff:()=>$l});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>ad,ce_go_get_led_bright:()=>nd,ce_go_get_led_state:()=>sd,ce_go_hall_attachInterrupt:()=>ud,ce_go_hall_data:()=>ld,ce_go_hall_initialize:()=>rd,ce_go_led_bright:()=>id,ce_go_led_brightness:()=>_d,ce_go_light_number:()=>ed,ce_go_pin_light:()=>Md,ce_go_pin_near:()=>Id,ce_go_pin_near_line:()=>dd,ce_go_pin_near_state_change:()=>Td,ce_go_stepper_keep:()=>od,ce_go_stepper_stop:()=>pd,sensor_mixgome_eulerangles:()=>hd});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>Zd,communicate_bluetooth_connect:()=>iI,communicate_bluetooth_disconnect:()=>nI,communicate_bluetooth_handle:()=>aI,communicate_bluetooth_is_connected:()=>_I,communicate_bluetooth_mac:()=>eI,communicate_bluetooth_peripheral_init:()=>$d,communicate_bluetooth_recv:()=>oI,communicate_bluetooth_recv_only:()=>pI,communicate_bluetooth_scan:()=>tI,communicate_bluetooth_send:()=>sI,communicate_espnow_init:()=>uI,communicate_espnow_init_new:()=>rI,communicate_i2c_available:()=>Xd,communicate_i2c_init:()=>Rd,communicate_i2c_master_read:()=>Yd,communicate_i2c_onboard:()=>Od,communicate_i2c_read:()=>cd,communicate_i2c_scan:()=>Cd,communicate_i2c_write:()=>gd,communicate_ir_recv_init:()=>wd,communicate_ir_send_init:()=>Jd,communicate_ow_init:()=>yd,communicate_ow_read:()=>bd,communicate_ow_reset:()=>Ud,communicate_ow_scan:()=>Vd,communicate_ow_select:()=>Gd,communicate_ow_write:()=>Bd,communicate_spi_buffer:()=>Ld,communicate_spi_init:()=>Sd,communicate_spi_onboard:()=>Ed,communicate_spi_read:()=>Nd,communicate_spi_read_output:()=>Dd,communicate_spi_readinto:()=>fd,communicate_spi_readinto_output:()=>Fd,communicate_spi_set:()=>Ad,communicate_spi_write:()=>Pd,communicate_spi_write_readinto:()=>vd,espnow_radio_channel:()=>MI,espnow_radio_channel_new:()=>OI,espnow_radio_on_off:()=>EI,espnow_radio_rec:()=>cI,espnow_radio_recv:()=>CI,espnow_radio_recv_certain_msg:()=>SI,espnow_radio_recv_certain_msg_new:()=>LI,espnow_radio_recv_msg:()=>gI,espnow_radio_recv_new:()=>AI,espnow_radio_send:()=>RI,espnow_radio_txpower:()=>mI,i2c_available:()=>zI,i2c_init:()=>XI,i2c_master_reader2:()=>JI,i2c_read:()=>xI,i2c_scan:()=>VI,i2c_slave_onreceive:()=>xd,i2c_write:()=>yI,internal_variable:()=>kd,ir_recv_timeout:()=>Kd,ir_transmit_busy:()=>jd,ir_transmit_conventional_data:()=>zd,ir_transmit_raw_code:()=>Qd,ir_transmit_study_code:()=>qd,ir_whether_recv:()=>Wd,lora_init:()=>NI,lora_packet:()=>DI,lora_recv:()=>FI,lora_send:()=>fI,network_espnow_info:()=>dI,network_espnow_mac:()=>lI,network_espnow_recv:()=>II,network_espnow_recv_handle:()=>hI,network_espnow_send:()=>TI,recv_fun:()=>Hd,spi_buffer:()=>GI,spi_init:()=>bI,spi_read:()=>UI,spi_read_output:()=>wI,spi_readinto:()=>kI,spi_readinto_output:()=>HI,spi_set:()=>BI,spi_write:()=>WI,spi_write_readinto:()=>KI,urequests_attribute:()=>vI,urequests_get:()=>PI,urequests_method:()=>YI});var x={};t.r(x),t.d(x,{display_animate:()=>ST,display_blink_rate:()=>RT,display_circle:()=>AT,display_color_seclet:()=>VT,display_draw_4strings:()=>TT,display_fill:()=>CT,display_get_screen_image:()=>ET,display_help:()=>NT,display_image_size:()=>hT,display_lcd_use_i2c_init:()=>kT,display_line:()=>mT,display_line_arbitrarily:()=>OT,display_matrix_extern_bright_point:()=>oT,display_matrix_extern_bright_screen:()=>aT,display_matrix_extern_clear:()=>uT,display_matrix_extern_get_pixel:()=>_T,display_matrix_extern_get_screen_pixel:()=>pT,display_matrix_extern_image_builtins:()=>rT,display_matrix_extern_scroll_string:()=>tT,display_matrix_extern_scroll_string_delay:()=>eT,display_matrix_extern_shift:()=>sT,display_matrix_extern_show_frame_string:()=>iT,display_matrix_extern_show_frame_string_delay:()=>nT,display_matrix_extern_show_image:()=>ZI,display_matrix_extern_show_image_or_string_delay:()=>$I,display_matrix_use_i2c_init:()=>jI,display_oled_drawPixel:()=>fT,display_oled_showBitmap:()=>DT,display_oled_use_i2c_init:()=>zT,display_onoff:()=>gT,display_rect:()=>MT,display_rgb_color:()=>cT,display_tm1650_power:()=>PT,display_tm1650_set_brightness:()=>XT,display_tm1650_show_dot:()=>YT,display_tm1650_show_num:()=>vT,display_tm_use_i2c_init:()=>FT,display_triangle:()=>LT,display_use_i2c_init:()=>IT,extern_oled_bright_point:()=>_h,extern_oled_clear:()=>oh,extern_oled_get_pixel:()=>sh,extern_oled_hvline:()=>ah,extern_oled_line:()=>uh,extern_oled_scroll_string:()=>$T,extern_oled_scroll_string_delay:()=>th,extern_oled_shape_rect:()=>ph,extern_oled_shift:()=>nh,extern_oled_show_frame_string:()=>eh,extern_oled_show_frame_string_delay:()=>ih,extern_oled_show_image:()=>qT,extern_oled_show_image_or_string_delay:()=>ZT,extern_oled_show_image_xy:()=>QT,extern_oled_show_string:()=>jT,lcd_backlight:()=>KT,lcd_clear:()=>JT,lcd_print_string:()=>WT,lcd_show_image_or_string_delay:()=>HT,matrix_extern_image_arithmetic:()=>lT,matrix_extern_image_invert:()=>dT,tft_fill:()=>UT,tft_line_arbitrarily:()=>wT,tft_scroll_string_delay:()=>BT,tft_show_frame_string_delay:()=>GT,tft_show_image_or_string_delay:()=>bT,tft_show_image_xy:()=>yT,tft_use_spi_init:()=>xT});var y={};t.r(y),t.d(y,{bitbot_display_image_create:()=>zh,display_bright_point:()=>Sh,display_bright_screen:()=>Lh,display_clear:()=>Nh,display_get_pixel:()=>Ch,display_get_screen_pixel:()=>Ah,display_image_builtins:()=>Oh,display_image_builtins_all:()=>Eh,display_image_create:()=>mh,display_scroll_string:()=>Ih,display_scroll_string_delay:()=>Th,display_shift:()=>gh,display_show_frame_string:()=>hh,display_show_frame_string_delay:()=>Mh,display_show_image:()=>lh,display_show_image_or_string_delay:()=>dh,image_arithmetic:()=>Rh,image_invert:()=>ch,mixbot_display_bright_screen:()=>Kh,mixbot_display_get_ambientbright:()=>Wh,mixbot_display_get_screen_pixel:()=>Hh,mixbot_display_image_create:()=>kh,mixbot_display_rotate:()=>Jh,mixgo_display_image_create_new:()=>Fh,mixgome_display_font:()=>Ph,mixgome_display_image_create:()=>Dh,mixgomini_display_image_create:()=>fh,mpython_display_hvline:()=>Gh,mpython_display_line:()=>Uh,mpython_display_shape_rect:()=>Bh,mpython_pbm_image:()=>wh,onboard_oled_bright_point:()=>bh,onboard_oled_scroll_string_delay:()=>yh,onboard_oled_show_frame_string_delay:()=>Vh,onboard_oled_show_image:()=>vh,onboard_oled_show_image_or_string_delay:()=>xh,onboard_oled_show_image_xy:()=>Yh,onboard_oled_show_string:()=>Xh,onboard_tft_bright_point:()=>pM,onboard_tft_bright_screen:()=>rM,onboard_tft_clear:()=>aM,onboard_tft_clock_clear:()=>MM,onboard_tft_clock_draw:()=>hM,onboard_tft_clock_get_rtctime:()=>IM,onboard_tft_clock_init:()=>dM,onboard_tft_clock_set_time:()=>TM,onboard_tft_display_hvline:()=>nM,onboard_tft_display_line:()=>sM,onboard_tft_display_shape_circle:()=>mM,onboard_tft_display_shape_rect:()=>iM,onboard_tft_fill:()=>lM,onboard_tft_get_pixel:()=>oM,onboard_tft_get_screen_pixel:()=>uM,onboard_tft_scroll_string:()=>Zh,onboard_tft_scroll_string_delay:()=>$h,onboard_tft_shift:()=>_M,onboard_tft_show_frame_string:()=>tM,onboard_tft_show_frame_string_delay:()=>eM,onboard_tft_show_image:()=>qh,onboard_tft_show_image_or_string_delay:()=>jh,onboard_tft_show_image_xy:()=>Qh});var V={};t.r(V),t.d(V,{factory_block:()=>DM,factory_block_return:()=>fM,factory_block_return_with_textarea:()=>PM,factory_block_with_textarea:()=>FM,factory_callMethod_noreturn:()=>LM,factory_callMethod_return:()=>NM,factory_create_with_container:()=>gM,factory_create_with_item:()=>CM,factory_declare:()=>AM,factory_from_import:()=>EM,factory_function_noreturn:()=>cM,factory_function_return:()=>SM,factory_import:()=>RM,folding_block:()=>vM});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>tm,inout_analog_atten:()=>wM,inout_analog_read:()=>UM,inout_analog_read_init:()=>zM,inout_analog_write:()=>bM,inout_analog_write_init:()=>JM,inout_analog_write_set:()=>BM,inout_analog_write_set_freq:()=>jM,inout_digital_init:()=>WM,inout_digital_read:()=>yM,inout_digital_write:()=>xM,inout_highlow:()=>XM,inout_pinMode:()=>QM,inout_pin_attachInterrupt:()=>HM,inout_pin_pressed:()=>kM,inout_pin_pressed_init:()=>qM,inout_pwm_analog_write:()=>VM,inout_pwm_analog_write_init:()=>KM,inout_pwm_analog_write_set_freq:()=>GM,pin_pressed:()=>$M,pin_pressed_init:()=>ZM});var B={};t.r(B),t.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Sm,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Cm,IOT_EMQX_PING:()=>cm,IOT_FORMATTING:()=>Em,IOT_FORMAT_STRING:()=>Rm,IOT_MIXIO_NTP:()=>gm,IOT_MIXIO_PUBLISH:()=>dm,IOT_MIXIO_SUBSCRIBE:()=>Im,iot_checkonenet:()=>Xm,iot_client_onboard:()=>Lm,iot_create_with_item:()=>rm,iot_http_client:()=>Nm,iot_http_data:()=>Dm,iot_mixio_check:()=>Mm,iot_mixio_connect:()=>lm,iot_mixio_connect_only:()=>hm,iot_mixio_disconnect:()=>Tm,iot_mixio_format_msg:()=>Om,iot_mixio_format_topic:()=>mm,iot_mixly_key:()=>Am,iot_mqtt_client:()=>fm,iot_mqtt_data:()=>Fm,iot_onenet_check:()=>_m,iot_onenet_connect:()=>nm,iot_onenet_disconnect:()=>sm,iot_onenet_publish:()=>pm,iot_onenet_publish_dict:()=>om,iot_onenetconnect:()=>vm,iot_onenetdisconnect:()=>Ym,iot_publish:()=>xm,iot_publish_container:()=>am,iot_publish_item:()=>um,iot_wifi_connect:()=>im,iot_wificonnect:()=>Pm});var G={};t.r(G),t.d(G,{network_ap_connect:()=>Km,network_connect:()=>Um,network_get_connect:()=>km,network_get_wifi:()=>Wm,network_init:()=>Vm,network_is_active:()=>Bm,network_open:()=>bm,network_scan:()=>Gm,network_server:()=>Jm,network_socket_accept:()=>Zm,network_socket_bind:()=>qm,network_socket_close:()=>nO,network_socket_connect:()=>Qm,network_socket_init:()=>zm,network_socket_listen:()=>jm,network_socket_receive:()=>$m,network_socket_receive_from:()=>eO,network_socket_send:()=>tO,network_socket_send_to:()=>iO,network_stop:()=>Hm,network_wifi_connect:()=>wm,ntptime_address:()=>aO,ntptime_time:()=>pO,requests_attribute:()=>_O,requests_get:()=>sO,requests_method:()=>oO});var U={};t.r(U),t.d(U,{HCSR04:()=>uE,PS2_Button:()=>IE,PS2_Buttons:()=>hE,PS2_Buttons_new:()=>EE,PS2_State:()=>TE,PS2_init:()=>rE,PS2_init_new:()=>mE,PS2_stk:()=>ME,PS2_stk_new:()=>RE,PS2_vibration:()=>dE,PS2_vibration_new:()=>OE,esp32_s2_weather_init:()=>_E,esp32_s2_weather_rain:()=>pE,esp32_s2_weather_wd:()=>oE,esp32_s2_weather_ws:()=>aE,extern_rfid_read:()=>WO,extern_rfid_readcontent:()=>JO,extern_rfid_readid:()=>KO,extern_rfid_status:()=>QO,extern_rfid_write:()=>zO,extern_rfid_write_return:()=>qO,gnss_get_data:()=>SE,gnss_have_data:()=>CE,mixbot_sensor_extern_get_addr:()=>PE,mixbot_sensor_extern_set_addr:()=>vE,pm25_get_data:()=>gE,robot_button_extern_get_value:()=>AE,robot_color_extern_get_value:()=>FE,robot_infrared_extern_get_value:()=>NE,robot_infrared_extern_grey_get_value:()=>DE,robot_potentiometer_extern_get_value:()=>fE,robot_sonar_extern_get_value:()=>YE,robot_sonar_extern_led:()=>XE,robot_touch_extern_get_value:()=>LE,sensor_APDS9960_extern:()=>NO,sensor_LTR308_extern:()=>DO,sensor_LTR390UV_extern:()=>FO,sensor_MAX30102_extern:()=>LO,sensor_QMC5883L_extern:()=>xO,sensor_VL530LX_extern:()=>PO,sensor_adxl345_get_acceleration:()=>hO,sensor_aht11_extern:()=>YO,sensor_bmp:()=>cO,sensor_compass_reset:()=>kO,sensor_dht11:()=>mO,sensor_ds18x20:()=>CO,sensor_hp203_extern:()=>XO,sensor_light_level:()=>MO,sensor_lm35:()=>SO,sensor_ltr381_extern:()=>fO,sensor_mixgo_extern_button_attachInterrupt:()=>IO,sensor_mixgo_extern_button_get_presses:()=>dO,sensor_mixgo_extern_button_is_pressed:()=>rO,sensor_mixgo_extern_button_was_pressed:()=>lO,sensor_mixgo_extern_light:()=>OO,sensor_mixgo_extern_pin_near:()=>RO,sensor_mixgo_extern_sound:()=>EO,sensor_mixgoce_hot_wheel_degrees:()=>sE,sensor_mixgoce_hot_wheel_is_touched:()=>nE,sensor_mpu9250_attachGestureInterrupt:()=>TO,sensor_mpu9250_calibrate_compass:()=>GO,sensor_mpu9250_field_strength:()=>wO,sensor_mpu9250_gesture:()=>yO,sensor_mpu9250_get_acceleration:()=>VO,sensor_mpu9250_get_gyro:()=>BO,sensor_mpu9250_get_magnetic:()=>bO,sensor_mpu9250_temperature:()=>UO,sensor_sht:()=>gO,sensor_shtc3_extern:()=>vO,sensor_use_i2c_init:()=>AO,sensor_use_spi_init:()=>HO,sensor_use_uart_init:()=>cE,sensor_weather_solo_init:()=>xE,sensor_weather_solo_rain:()=>bE,sensor_weather_solo_wd:()=>yE,sensor_weather_solo_ws:()=>VE,weather_data:()=>jO,weather_have_data:()=>ZO,weather_set_label:()=>tE,weather_set_label_container:()=>eE,weather_set_label_item:()=>iE,weather_uart_mixio:()=>$O});var w={};t.r(w),t.d(w,{HCSR04:()=>eR,RTC_set_date:()=>tR,RTC_set_time:()=>$E,bitbot_als_num:()=>oc,dht11:()=>Ic,number1:()=>nR,number2:()=>sR,number3:()=>_R,number4:()=>oR,number5:()=>pR,number6:()=>aR,number7:()=>uR,onboard_RTC_get_time:()=>MR,onboard_RTC_get_timestamp:()=>mR,onboard_RTC_set_datetime:()=>RR,onboard_RTC_settime_string:()=>ER,onboard_RTC_timestamp_totuple:()=>OR,rfid_readcontent:()=>DR,rfid_readid:()=>NR,rfid_write:()=>fR,rfid_write_return:()=>FR,sensor_LTR308:()=>gR,sensor_aht11:()=>SR,sensor_bitbot_ALS:()=>_c,sensor_button_get_presses:()=>uc,sensor_button_is_pressed:()=>pc,sensor_button_was_pressed:()=>ac,sensor_distance_hrsc04:()=>ZE,sensor_eulerangles:()=>vR,sensor_field_strength:()=>Tc,sensor_get_acceleration:()=>PR,sensor_get_temperature:()=>AR,sensor_hp203:()=>LR,sensor_light:()=>dc,sensor_mixbot_get_gyro:()=>sc,sensor_mixbot_patrol_calibrate:()=>ec,sensor_mixbot_patrol_value:()=>ic,sensor_mixbot_temperature:()=>nc,sensor_mixgo_LTR308:()=>hR,sensor_mixgo_button_attachInterrupt:()=>kE,sensor_mixgo_button_get_presses:()=>wE,sensor_mixgo_button_is_pressed:()=>GE,sensor_mixgo_button_was_pressed:()=>UE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>kR,sensor_mixgo_cc_mmc5603_get_angle:()=>wR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>UR,sensor_mixgo_light:()=>iR,sensor_mixgo_nova_LTR308:()=>TR,sensor_mixgo_nova_pin_near:()=>IR,sensor_mixgo_pin_near:()=>dR,sensor_mixgo_pin_near_double:()=>lR,sensor_mixgo_pin_near_single:()=>rR,sensor_mixgo_pin_pressed:()=>zE,sensor_mixgo_touch_slide:()=>jE,sensor_mixgocar42_button_attachInterrupt:()=>JE,sensor_mixgocar42_button_get_presses:()=>KE,sensor_mixgocar42_button_is_pressed:()=>HE,sensor_mixgocar42_button_was_pressed:()=>WE,sensor_mixgocar_battery_left:()=>tc,sensor_mixgocar_pin_near:()=>ZR,sensor_mixgocar_pin_near_line:()=>jR,sensor_mixgocar_pin_near_state_change:()=>$R,sensor_mixgoce_pin_pressed:()=>qE,sensor_mixgoce_temperature:()=>WR,sensor_mixgome_temperature:()=>HR,sensor_mpython_pin_pressed:()=>QE,sensor_mpython_qmi8658_get_gyro:()=>KR,sensor_mpython_qmi8658_temperature:()=>JR,sensor_onboard_compass_reset:()=>GR,sensor_onboard_mpu9250_calibrate_compass:()=>VR,sensor_onboard_mpu9250_field_strength:()=>BR,sensor_onboard_mpu9250_gesture:()=>YR,sensor_onboard_mpu9250_get_acceleration:()=>XR,sensor_onboard_mpu9250_get_gyro:()=>yR,sensor_onboard_mpu9250_get_magnetic:()=>xR,sensor_onboard_mpu9250_temperature:()=>bR,sensor_pin_near:()=>lc,sensor_pin_pressed:()=>rc,sensor_rm_acc:()=>QR,sensor_rm_battery_left:()=>qR,sensor_rm_pin_near_double:()=>zR,sensor_rtc_init:()=>cR,sensor_sound:()=>CR,sensor_temperature:()=>hc});var k={};t.r(k),t.d(k,{serial_any:()=>Cc,serial_begin:()=>Dc,serial_print:()=>Oc,serial_print_byte:()=>mc,serial_print_hex:()=>Rc,serial_println:()=>Ec,serial_read_from_ai:()=>Vc,serial_readline:()=>Sc,serial_readstr:()=>gc,serial_readstr_until:()=>Ac,serial_receive_data_event:()=>cc,serial_send_to_ai:()=>yc,serial_softserial:()=>Nc,serial_softserial_new:()=>Lc,system_input:()=>fc,system_print:()=>Fc,system_print_container:()=>Xc,system_print_end:()=>vc,system_print_inline:()=>Pc,system_print_item:()=>xc,system_print_many:()=>Yc});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>Uc,Timer_init:()=>tg,base_delay:()=>ng,controls_delay:()=>Gc,controls_delay_new:()=>Bc,controls_millis:()=>kc,controls_uname:()=>Wc,raw_block:()=>Hc,reset:()=>wc,system_bitbot_shutdown:()=>$c,system_machine_reset:()=>Zc,system_ticks_diff:()=>zc,system_timer:()=>Jc,system_timer_init:()=>qc,system_wdt_feed:()=>jc,system_wdt_init:()=>Qc,time_ticks_diff:()=>ig,timer:()=>Kc,timer2:()=>eg});var W={};t.r(W),t.d(W,{WEATHER_DAILY:()=>og,WEATHER_HOUR:()=>pg,WEATHER_NOW:()=>_g});var K={};t.r(K),t.d(K,{actuator_extern_get_led_bright:()=>Ng,actuator_extern_get_led_state:()=>Dg,actuator_extern_led_bright:()=>Lg,actuator_extern_led_brightness:()=>fg,actuator_ms32006_dcmotor:()=>hg,actuator_ms32006_init:()=>Tg,actuator_ms32006_stepper:()=>Mg,actuator_neopixel_init:()=>Fg,actuator_neopixel_rgb:()=>Yg,actuator_neopixel_rgb_all:()=>Pg,actuator_neopixel_write:()=>vg,actuator_use_uart_init:()=>Xg,esp32_music_get_tempo_extern:()=>gg,esp32_music_pitch:()=>Og,esp32_music_pitch_init:()=>mg,esp32_music_pitch_with_time:()=>Eg,esp32_music_play_list:()=>Cg,esp32_music_reset_extern:()=>Sg,esp32_music_set_tempo_extern:()=>cg,esp32_music_stop:()=>Rg,mixbot_actuator_extern_get_addr:()=>Zg,mixbot_actuator_extern_set_addr:()=>$g,mixbot_addr_extern:()=>Bg,robot_led_extern:()=>kg,robot_led_extern_get_value:()=>Hg,robot_motor_extern:()=>Gg,robot_motor_extern_get_speed:()=>Ug,robot_servo_extern_absolute_run:()=>zg,robot_servo_extern_get_status:()=>Wg,robot_servo_extern_relative_continue:()=>jg,robot_servo_extern_relative_origin:()=>qg,robot_servo_extern_relative_run:()=>Qg,robot_servo_extern_stop:()=>Jg,robot_servo_extern_stop_mode:()=>Kg,robot_traffic_light_extern:()=>wg,servo_get_angle:()=>dg,servo_get_speed:()=>Ig,servo_init:()=>ag,servo_move:()=>Ag,servo_set_angle:()=>rg,servo_set_speed:()=>lg,servo_speed_360:()=>ug,syn6288_builtin_voice:()=>Vg,syn6288_get_voice:()=>yg,syn6288_set_voice:()=>xg,syn6288_tts_play:()=>bg});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>NC,actuator_dc_motor_stop:()=>DC,actuator_get_led_bright:()=>rC,actuator_get_led_state:()=>lC,actuator_led_bright:()=>uC,actuator_led_brightness:()=>dC,actuator_mixbot_buzzer_on_off:()=>YC,actuator_mixgo_nova_mic_get:()=>bC,actuator_mixgo_nova_mic_set:()=>VC,actuator_mixgo_nova_onboard_music_pitch:()=>HC,actuator_mixgo_nova_onboard_music_stop:()=>WC,actuator_mixgo_nova_play_audio:()=>wC,actuator_mixgo_nova_play_online_audio:()=>kC,actuator_mixgo_nova_record_audio:()=>UC,actuator_mixgo_nova_voice_get:()=>GC,actuator_mixgo_nova_voice_set:()=>BC,actuator_mixgo_zero_led_color:()=>IC,actuator_onboard_neopixel_rgb:()=>RC,actuator_onboard_neopixel_rgb_all:()=>cC,actuator_onboard_neopixel_rgb_show_all_chase:()=>gC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>CC,actuator_onboard_neopixel_write:()=>EC,actuator_stepper_keep:()=>AC,actuator_stepper_stop:()=>LC,bitbot_motor:()=>yC,bitbot_move:()=>XC,bitbot_stop:()=>xC,cc_number:()=>TC,esp32_music_get_tempo:()=>eC,esp32_music_reset:()=>oC,esp32_music_set_tempo:()=>tC,esp32_onboard_music_pitch:()=>iC,esp32_onboard_music_pitch_with_time:()=>nC,esp32_onboard_music_play_list:()=>_C,esp32_onboard_music_stop:()=>sC,get_power_output:()=>JC,ledswitch:()=>aC,mixbot_motor:()=>vC,mixbot_motor_status:()=>fC,mixbot_move:()=>FC,mixbot_stop:()=>PC,number:()=>pC,rm_actuator_get_led_bright:()=>MC,rm_actuator_get_led_state:()=>mC,rm_actuator_led_bright:()=>hC,rm_actuator_led_brightness:()=>OC,rm_motor:()=>SC,set_all_power_output:()=>zC,set_power_output:()=>KC});var z={};t.r(z),t.d(z,{ai_sensor_20object:()=>NS,ai_sensor_ailocal_class:()=>MS,ai_sensor_ailocal_class_result:()=>mS,ai_sensor_ailocal_train:()=>hS,ai_sensor_asr_recognize:()=>gS,ai_sensor_audio_play:()=>ES,ai_sensor_audio_record:()=>OS,ai_sensor_barcode:()=>eS,ai_sensor_circle:()=>pS,ai_sensor_classifier_faces:()=>LS,ai_sensor_color:()=>lS,ai_sensor_color_chases:()=>TS,ai_sensor_color_chases_result:()=>IS,ai_sensor_config:()=>jC,ai_sensor_face:()=>AS,ai_sensor_find_20objects:()=>DS,ai_sensor_find_barcodes:()=>iS,ai_sensor_find_circles:()=>aS,ai_sensor_find_colors:()=>dS,ai_sensor_find_licenseplates:()=>SS,ai_sensor_find_lines:()=>oS,ai_sensor_find_qrcodes:()=>tS,ai_sensor_find_rects:()=>rS,ai_sensor_find_tags:()=>sS,ai_sensor_licenseplate:()=>CS,ai_sensor_line:()=>_S,ai_sensor_qrcode:()=>$C,ai_sensor_qrcode_lite:()=>QC,ai_sensor_rect:()=>uS,ai_sensor_rgb:()=>ZC,ai_sensor_tag:()=>nS,ai_sensor_use_uart_init:()=>qC,ai_sensor_yolo_recognize:()=>RS,ai_sensor_yolo_recognize_result:()=>cS});var q={};t.r(q),t.d(q,{MICROPYTHON_AI_Speech_asr:()=>PS,MICROPYTHON_AI_Speech_unit:()=>FS,MICROPYTHON_AI_client:()=>fS});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>kS,mpython_blynk_app_notify:()=>bS,mpython_blynk_email:()=>HS,mpython_blynk_get_timers:()=>GS,mpython_blynk_on_connected:()=>xS,mpython_blynk_on_disconnected:()=>XS,mpython_blynk_run:()=>VS,mpython_blynk_sensor_data_to_app:()=>wS,mpython_blynk_set_property:()=>WS,mpython_blynk_setup:()=>KS,mpython_blynk_stop_timers:()=>BS,mpython_blynk_sync_virtual:()=>YS,mpython_blynk_terminal_widget_vpin:()=>vS,mpython_blynktimer:()=>US,mpython_blynktimer_run:()=>yS});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>JS,cc_g1_read_joystick:()=>zS,cc_g1_read_key:()=>qS,cc_g1_turnoff:()=>QS});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>sA,ce_go_get_led_bright:()=>$S,ce_go_get_led_state:()=>tA,ce_go_hall_attachInterrupt:()=>_A,ce_go_hall_data:()=>pA,ce_go_hall_initialize:()=>oA,ce_go_led_bright:()=>ZS,ce_go_led_brightness:()=>eA,ce_go_light_number:()=>jS,ce_go_pin_light:()=>dA,ce_go_pin_near:()=>uA,ce_go_pin_near_line:()=>aA,ce_go_pin_near_state_change:()=>rA,ce_go_stepper_keep:()=>iA,ce_go_stepper_stop:()=>nA,sensor_mixgome_eulerangles:()=>lA});var $={};t.r($),t.d($,{communicate_bluetooth_central_init:()=>JA,communicate_bluetooth_connect:()=>QA,communicate_bluetooth_disconnect:()=>jA,communicate_bluetooth_handle:()=>nL,communicate_bluetooth_is_connected:()=>$A,communicate_bluetooth_mac:()=>ZA,communicate_bluetooth_peripheral_init:()=>zA,communicate_bluetooth_recv:()=>iL,communicate_bluetooth_recv_only:()=>eL,communicate_bluetooth_scan:()=>qA,communicate_bluetooth_send:()=>tL,communicate_espnow_init:()=>sL,communicate_espnow_init_new:()=>_L,communicate_i2c_available:()=>RA,communicate_i2c_init:()=>hA,communicate_i2c_master_read:()=>EA,communicate_i2c_onboard:()=>IA,communicate_i2c_read:()=>MA,communicate_i2c_scan:()=>OA,communicate_i2c_write:()=>mA,communicate_ir_recv_init:()=>VA,communicate_ir_send_init:()=>wA,communicate_ow_init:()=>PA,communicate_ow_read:()=>XA,communicate_ow_reset:()=>YA,communicate_ow_scan:()=>vA,communicate_ow_select:()=>yA,communicate_ow_write:()=>xA,communicate_spi_buffer:()=>SA,communicate_spi_init:()=>gA,communicate_spi_onboard:()=>TA,communicate_spi_read:()=>AA,communicate_spi_read_output:()=>LA,communicate_spi_readinto:()=>NA,communicate_spi_readinto_output:()=>DA,communicate_spi_set:()=>CA,communicate_spi_write:()=>fA,communicate_spi_write_readinto:()=>FA,espnow_radio_channel:()=>lL,espnow_radio_channel_new:()=>IL,espnow_radio_on_off:()=>TL,espnow_radio_rec:()=>ML,espnow_radio_recv:()=>OL,espnow_radio_recv_certain_msg:()=>EL,espnow_radio_recv_certain_msg_new:()=>cL,espnow_radio_recv_msg:()=>mL,espnow_radio_recv_new:()=>RL,espnow_radio_send:()=>hL,espnow_radio_txpower:()=>dL,i2c_slave_onreceive:()=>cA,internal_variable:()=>bA,ir_recv_timeout:()=>UA,ir_transmit_busy:()=>KA,ir_transmit_conventional_data:()=>kA,ir_transmit_raw_code:()=>WA,ir_transmit_study_code:()=>HA,ir_whether_recv:()=>GA,lora_init:()=>gL,lora_packet:()=>CL,lora_recv:()=>AL,lora_send:()=>SL,network_espnow_info:()=>pL,network_espnow_mac:()=>oL,network_espnow_recv:()=>aL,network_espnow_recv_handle:()=>rL,network_espnow_send:()=>uL,recv_fun:()=>BA,urequests_attribute:()=>NL,urequests_get:()=>LL,urequests_method:()=>DL});var tt={};t.r(tt),t.d(tt,{display_animate:()=>$L,display_circle:()=>tN,display_color_seclet:()=>lN,display_draw_4strings:()=>KL,display_fill:()=>ZL,display_lcd_use_i2c_init:()=>mN,display_line:()=>qL,display_line_arbitrarily:()=>JL,display_matrix_extern_bright_point:()=>BL,display_matrix_extern_bright_screen:()=>UL,display_matrix_extern_clear:()=>yL,display_matrix_extern_get_pixel:()=>bL,display_matrix_extern_get_screen_pixel:()=>GL,display_matrix_extern_image_builtins:()=>wL,display_matrix_extern_scroll_string:()=>XL,display_matrix_extern_scroll_string_delay:()=>xL,display_matrix_extern_shift:()=>VL,display_matrix_extern_show_frame_string:()=>vL,display_matrix_extern_show_frame_string_delay:()=>YL,display_matrix_extern_show_image:()=>FL,display_matrix_extern_show_image_or_string_delay:()=>PL,display_matrix_use_i2c_init:()=>fL,display_oled_drawPixel:()=>nN,display_oled_showBitmap:()=>iN,display_oled_use_i2c_init:()=>gN,display_onoff:()=>QL,display_rect:()=>zL,display_tm1650_power:()=>_N,display_tm1650_set_brightness:()=>aN,display_tm1650_show_dot:()=>pN,display_tm1650_show_num:()=>oN,display_tm_use_i2c_init:()=>sN,display_triangle:()=>eN,display_use_i2c_init:()=>WL,extern_oled_bright_point:()=>XN,extern_oled_clear:()=>PN,extern_oled_get_pixel:()=>YN,extern_oled_hvline:()=>yN,extern_oled_line:()=>VN,extern_oled_scroll_string:()=>fN,extern_oled_scroll_string_delay:()=>FN,extern_oled_shape_rect:()=>xN,extern_oled_shift:()=>vN,extern_oled_show_frame_string:()=>NN,extern_oled_show_frame_string_delay:()=>DN,extern_oled_show_image:()=>CN,extern_oled_show_image_or_string_delay:()=>LN,extern_oled_show_image_xy:()=>SN,extern_oled_show_string:()=>AN,image_shift:()=>jL,lcd_backlight:()=>RN,lcd_clear:()=>cN,lcd_print_string:()=>EN,lcd_show_image_or_string_delay:()=>ON,matrix_extern_image_arithmetic:()=>kL,matrix_extern_image_invert:()=>HL,tft_fill:()=>hN,tft_line_arbitrarily:()=>MN,tft_scroll_string_delay:()=>TN,tft_show_frame_string_delay:()=>IN,tft_show_image_or_string_delay:()=>dN,tft_show_image_xy:()=>rN,tft_use_spi_init:()=>uN});var et={};t.r(et),t.d(et,{bitbot_display_image_create:()=>cD,display_bright_point:()=>ZN,display_bright_screen:()=>tD,display_clear:()=>JN,display_get_pixel:()=>jN,display_get_screen_pixel:()=>$N,display_image_builtins:()=>HN,display_image_builtins_all:()=>WN,display_image_create:()=>KN,display_scroll_string:()=>wN,display_scroll_string_delay:()=>kN,display_shift:()=>QN,display_show_frame_string:()=>GN,display_show_frame_string_delay:()=>UN,display_show_image:()=>bN,display_show_image_or_string_delay:()=>BN,image_arithmetic:()=>zN,image_invert:()=>qN,mixbot_display_bright_screen:()=>ED,mixbot_display_get_ambientbright:()=>OD,mixbot_display_get_screen_pixel:()=>mD,mixbot_display_image_create:()=>MD,mixbot_display_rotate:()=>RD,mixgo_display_image_create_new:()=>sD,mixgome_display_font:()=>nD,mixgome_display_image_create:()=>eD,mixgomini_display_image_create:()=>iD,mpython_display_hvline:()=>TD,mpython_display_line:()=>hD,mpython_display_shape_rect:()=>ID,mpython_pbm_image:()=>_D,onboard_oled_bright_point:()=>dD,onboard_oled_scroll_string_delay:()=>lD,onboard_oled_show_frame_string_delay:()=>rD,onboard_oled_show_image:()=>oD,onboard_oled_show_image_or_string_delay:()=>uD,onboard_oled_show_image_xy:()=>pD,onboard_oled_show_string:()=>aD,onboard_tft_bright_point:()=>xD,onboard_tft_bright_screen:()=>VD,onboard_tft_clear:()=>vD,onboard_tft_clock_clear:()=>kD,onboard_tft_clock_draw:()=>wD,onboard_tft_clock_get_rtctime:()=>GD,onboard_tft_clock_init:()=>BD,onboard_tft_clock_set_time:()=>UD,onboard_tft_display_hvline:()=>FD,onboard_tft_display_line:()=>PD,onboard_tft_display_shape_circle:()=>HD,onboard_tft_display_shape_rect:()=>fD,onboard_tft_fill:()=>bD,onboard_tft_get_pixel:()=>XD,onboard_tft_get_screen_pixel:()=>yD,onboard_tft_scroll_string:()=>ND,onboard_tft_scroll_string_delay:()=>DD,onboard_tft_shift:()=>YD,onboard_tft_show_frame_string:()=>AD,onboard_tft_show_frame_string_delay:()=>LD,onboard_tft_show_image:()=>gD,onboard_tft_show_image_or_string_delay:()=>SD,onboard_tft_show_image_xy:()=>CD});var it={};t.r(it),t.d(it,{factory_block:()=>ZD,factory_block_return:()=>$D,factory_block_return_with_textarea:()=>ef,factory_block_with_textarea:()=>tf,factory_callMethod_noreturn:()=>QD,factory_callMethod_return:()=>jD,factory_declare:()=>qD,factory_from_import:()=>WD,factory_function_noreturn:()=>JD,factory_function_return:()=>zD,factory_import:()=>KD,folding_block:()=>nf});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>Of,inout_analog_read:()=>lf,inout_analog_read_init:()=>mf,inout_analog_write:()=>af,inout_analog_write_init:()=>Mf,inout_analog_write_set:()=>uf,inout_digital_init:()=>Tf,inout_digital_read:()=>of,inout_digital_write:()=>_f,inout_highlow:()=>sf,inout_pin_attachInterrupt:()=>If,inout_pin_pressed:()=>df,inout_pin_pressed_init:()=>Ef,inout_pwm_analog_write:()=>pf,inout_pwm_analog_write_init:()=>hf,inout_pwm_analog_write_set_freq:()=>rf});var st={};t.r(st),t.d(st,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>bf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>yf,IOT_EMQX_PING:()=>Bf,IOT_FORMATTING:()=>Xf,IOT_FORMAT_STRING:()=>xf,IOT_MIXIO_NTP:()=>Gf,IOT_MIXIO_PUBLISH:()=>Nf,IOT_MIXIO_SUBSCRIBE:()=>Df,iot_client_onboard:()=>Uf,iot_http_client:()=>wf,iot_http_data:()=>kf,iot_mixio_check:()=>Pf,iot_mixio_connect:()=>Lf,iot_mixio_connect_only:()=>Ff,iot_mixio_disconnect:()=>ff,iot_mixio_format_msg:()=>Yf,iot_mixio_format_topic:()=>vf,iot_mixly_key:()=>Vf,iot_mqtt_client:()=>Hf,iot_mqtt_data:()=>Wf,iot_onenet_check:()=>Sf,iot_onenet_connect:()=>cf,iot_onenet_disconnect:()=>gf,iot_onenet_publish:()=>Af,iot_onenet_publish_dict:()=>Cf,iot_wifi_connect:()=>Rf});var _t={};t.r(_t),t.d(_t,{network_ap_connect:()=>tF,network_connect:()=>Jf,network_get_connect:()=>qf,network_get_wifi:()=>$f,network_init:()=>Kf,network_is_active:()=>Zf,network_open:()=>jf,network_scan:()=>eF,network_server:()=>iF,network_socket_accept:()=>pF,network_socket_bind:()=>sF,network_socket_close:()=>dF,network_socket_connect:()=>_F,network_socket_init:()=>nF,network_socket_listen:()=>oF,network_socket_receive:()=>aF,network_socket_receive_from:()=>rF,network_socket_send:()=>uF,network_socket_send_to:()=>lF,network_stop:()=>Qf,network_wifi_connect:()=>zf,ntptime_address:()=>mF,ntptime_time:()=>MF,requests_attribute:()=>TF,requests_get:()=>IF,requests_method:()=>hF});var ot={};t.r(ot),t.d(ot,{HCSR04:()=>oP,PS2_Button:()=>uP,PS2_Buttons:()=>rP,PS2_Buttons_new:()=>OP,PS2_State:()=>lP,PS2_init:()=>pP,PS2_init_new:()=>MP,PS2_stk:()=>dP,PS2_stk_new:()=>EP,PS2_vibration:()=>aP,PS2_vibration_new:()=>mP,RTC_get_time:()=>TP,RTC_set_date:()=>AF,RTC_set_datetime:()=>IP,RTC_set_time:()=>SF,esp32_s2_weather_init:()=>iP,esp32_s2_weather_rain:()=>sP,esp32_s2_weather_wd:()=>nP,esp32_s2_weather_ws:()=>_P,extern_rfid_read:()=>HF,extern_rfid_readcontent:()=>KF,extern_rfid_readid:()=>WF,extern_rfid_status:()=>qF,extern_rfid_write:()=>JF,extern_rfid_write_return:()=>zF,gnss_get_data:()=>gP,gnss_have_data:()=>CP,mixbot_sensor_extern_get_addr:()=>vP,mixbot_sensor_extern_set_addr:()=>YP,pm25_get_data:()=>cP,robot_button_extern_get_value:()=>SP,robot_color_extern_get_value:()=>fP,robot_infrared_extern_get_value:()=>LP,robot_infrared_extern_grey_get_value:()=>NP,robot_potentiometer_extern_get_value:()=>DP,robot_sonar_extern_get_value:()=>FP,robot_sonar_extern_led:()=>PP,robot_touch_extern_get_value:()=>AP,sensor_APDS9960_extern:()=>XF,sensor_LTR308_extern:()=>xF,sensor_LTR390UV_extern:()=>bF,sensor_MAX30102_extern:()=>YF,sensor_QMC5883L_extern:()=>BF,sensor_VL530LX_extern:()=>wF,sensor_aht11_extern:()=>UF,sensor_bmp:()=>FF,sensor_dht11:()=>hP,sensor_distance_hrsc04:()=>CF,sensor_hp203_extern:()=>yF,sensor_ltr381_extern:()=>VF,sensor_mixgo_extern_button_attachInterrupt:()=>cF,sensor_mixgo_extern_button_get_presses:()=>RF,sensor_mixgo_extern_button_is_pressed:()=>OF,sensor_mixgo_extern_button_was_pressed:()=>EF,sensor_mixgo_extern_light:()=>LF,sensor_mixgo_extern_pin_near:()=>DF,sensor_mixgo_extern_sound:()=>NF,sensor_mixgoce_hot_wheel_degrees:()=>eP,sensor_mixgoce_hot_wheel_is_touched:()=>tP,sensor_mpu9250_attachGestureInterrupt:()=>gF,sensor_rtc_init:()=>fF,sensor_sht:()=>PF,sensor_shtc3_extern:()=>GF,sensor_use_i2c_init:()=>vF,sensor_use_spi_init:()=>kF,sensor_use_uart_init:()=>RP,sensor_weather_solo_init:()=>XP,sensor_weather_solo_rain:()=>VP,sensor_weather_solo_wd:()=>xP,sensor_weather_solo_ws:()=>yP,weather_data:()=>QF,weather_have_data:()=>jF,weather_set_label:()=>$F,weather_uart_mixio:()=>ZF});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>KP,bitbot_als_num:()=>rY,dht11:()=>OY,number1:()=>JP,number2:()=>zP,number3:()=>qP,number4:()=>QP,number5:()=>jP,number6:()=>ZP,number7:()=>$P,onboard_RTC_get_time:()=>wv,onboard_RTC_get_timestamp:()=>kv,onboard_RTC_set_datetime:()=>Gv,onboard_RTC_settime_string:()=>Uv,onboard_RTC_timestamp_totuple:()=>Hv,rfid_readcontent:()=>Tv,rfid_readid:()=>Iv,rfid_write:()=>hv,rfid_write_return:()=>Mv,sensor_LTR308:()=>av,sensor_adxl345_get_acceleration:()=>Av,sensor_aht11:()=>lv,sensor_bitbot_ALS:()=>uY,sensor_button_get_presses:()=>IY,sensor_button_is_pressed:()=>lY,sensor_button_was_pressed:()=>dY,sensor_compass_reset:()=>Pv,sensor_ds18x20:()=>ov,sensor_eulerangles:()=>Ov,sensor_get_acceleration:()=>mv,sensor_get_temperature:()=>dv,sensor_hp203:()=>rv,sensor_light:()=>mY,sensor_lm35:()=>pv,sensor_mixbot_get_gyro:()=>aY,sensor_mixbot_patrol_calibrate:()=>_Y,sensor_mixbot_patrol_value:()=>oY,sensor_mixbot_temperature:()=>pY,sensor_mixgo_LTR308:()=>sv,sensor_mixgo_button_attachInterrupt:()=>UP,sensor_mixgo_button_get_presses:()=>GP,sensor_mixgo_button_is_pressed:()=>bP,sensor_mixgo_button_was_pressed:()=>BP,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>Jv,sensor_mixgo_cc_mmc5603_get_angle:()=>Kv,sensor_mixgo_cc_mmc5603_get_magnetic:()=>Wv,sensor_mixgo_light:()=>MY,sensor_mixgo_nova_LTR308:()=>_v,sensor_mixgo_nova_pin_near:()=>nv,sensor_mixgo_pin_near:()=>iv,sensor_mixgo_pin_near_double:()=>ev,sensor_mixgo_pin_near_single:()=>tv,sensor_mixgo_pin_pressed:()=>Cv,sensor_mixgo_touch_slide:()=>gv,sensor_mixgocar42_button_attachInterrupt:()=>WP,sensor_mixgocar42_button_get_presses:()=>HP,sensor_mixgocar42_button_is_pressed:()=>wP,sensor_mixgocar42_button_was_pressed:()=>kP,sensor_mixgocar_battery_left:()=>sY,sensor_mixgocar_pin_near:()=>iY,sensor_mixgocar_pin_near_line:()=>eY,sensor_mixgocar_pin_near_state_change:()=>nY,sensor_mixgoce_pin_pressed:()=>cv,sensor_mixgoce_temperature:()=>qv,sensor_mixgome_temperature:()=>zv,sensor_mpu9250_calibrate_compass:()=>Dv,sensor_mpu9250_field_strength:()=>Fv,sensor_mpu9250_gesture:()=>Ev,sensor_mpu9250_get_acceleration:()=>Rv,sensor_mpu9250_get_gyro:()=>Nv,sensor_mpu9250_get_magnetic:()=>Lv,sensor_mpu9250_temperature:()=>fv,sensor_mpython_pin_pressed:()=>Sv,sensor_mpython_qmi8658_get_gyro:()=>Qv,sensor_mpython_qmi8658_temperature:()=>jv,sensor_onboard_compass_reset:()=>Bv,sensor_onboard_mpu9250_calibrate_compass:()=>yv,sensor_onboard_mpu9250_field_strength:()=>bv,sensor_onboard_mpu9250_gesture:()=>vv,sensor_onboard_mpu9250_get_acceleration:()=>Yv,sensor_onboard_mpu9250_get_gyro:()=>xv,sensor_onboard_mpu9250_get_magnetic:()=>Xv,sensor_onboard_mpu9250_temperature:()=>Vv,sensor_pin_near:()=>hY,sensor_pin_pressed:()=>TY,sensor_rm_acc:()=>tY,sensor_rm_battery_left:()=>$v,sensor_rm_pin_near_double:()=>Zv,sensor_sound:()=>uv});var at={};t.r(at),t.d(at,{serial_any:()=>CY,serial_print:()=>EY,serial_print_byte:()=>RY,serial_print_hex:()=>gY,serial_println:()=>cY,serial_read_from_ai:()=>XY,serial_readline:()=>AY,serial_readstr:()=>SY,serial_send_to_ai:()=>YY,serial_softserial:()=>LY,serial_softserial_new:()=>NY,system_input:()=>DY,system_print:()=>fY,system_print_end:()=>PY,system_print_inline:()=>FY,system_print_many:()=>vY});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>KY,Timer_init:()=>pX,base_delay:()=>rX,controls_delay:()=>jY,controls_delay_new:()=>ZY,controls_end_program:()=>zY,controls_millis:()=>JY,controls_uname:()=>QY,reset:()=>qY,system_bitbot_shutdown:()=>oX,system_device_name:()=>HY,system_device_serial_number:()=>WY,system_event_bus_source:()=>wY,system_event_bus_value:()=>kY,system_machine_reset:()=>_X,system_on_event:()=>BY,system_raise_event:()=>bY,system_reset:()=>yY,system_run_in_background:()=>xY,system_ticks_diff:()=>eX,system_timer:()=>tX,system_timer_init:()=>iX,system_timestamp:()=>GY,system_value:()=>UY,system_wait:()=>VY,system_wdt_feed:()=>sX,system_wdt_init:()=>nX,time_ticks_diff:()=>uX,timer:()=>$Y,timer2:()=>aX});var rt={};t.r(rt),t.d(rt,{WEATHER_DAILY:()=>dX,WEATHER_HOUR:()=>IX,WEATHER_NOW:()=>lX});var lt={};t.r(lt),t.d(lt,{controls_pin_attachInterrupt:()=>VX,inout_analog_atten:()=>AX,inout_analog_read:()=>SX,inout_analog_read_init:()=>PX,inout_analog_write:()=>cX,inout_analog_write_init:()=>FX,inout_analog_write_set:()=>gX,inout_analog_write_set_freq:()=>XX,inout_digital_init:()=>DX,inout_digital_read:()=>EX,inout_digital_write:()=>OX,inout_highlow:()=>mX,inout_pinMode:()=>YX,inout_pin_attachInterrupt:()=>NX,inout_pin_pressed:()=>LX,inout_pin_pressed_init:()=>vX,inout_pwm_analog_write:()=>RX,inout_pwm_analog_write_init:()=>fX,inout_pwm_analog_write_set_freq:()=>CX,pin_pressed:()=>yX,pin_pressed_init:()=>xX});var dt={};t.r(dt),t.d(dt,{me_g1_aht11:()=>BX,me_g1_hp203:()=>GX,me_g1_rfid_readcontent:()=>kX,me_g1_rfid_readid:()=>wX,me_g1_rfid_status:()=>KX,me_g1_rfid_write:()=>HX,me_g1_rfid_write_outcome:()=>WX,me_g1_varistor:()=>UX});var It={};t.r(It),t.d(It,{me_go_dc_motor:()=>ex,me_go_get_led_bright:()=>QX,me_go_get_led_state:()=>jX,me_go_hall_attachInterrupt:()=>ix,me_go_hall_data:()=>sx,me_go_hall_initialize:()=>nx,me_go_led_bright:()=>qX,me_go_led_brightness:()=>ZX,me_go_light_number:()=>zX,me_go_pin_light:()=>ux,me_go_pin_near:()=>ox,me_go_pin_near_line:()=>_x,me_go_pin_near_state_change:()=>px,me_go_stepper_keep:()=>$X,me_go_stepper_stop:()=>tx,sensor_mixgome_eulerangles:()=>ax});var Tt={};t.r(Tt),t.d(Tt,{analog_input:()=>Ox,analog_output:()=>Rx,espnow_channel:()=>hx,haskylens_model:()=>Mx,i2c_A_pin:()=>cx,i2c_B_pin:()=>gx,pins_analog:()=>Nx,pins_analog_pin:()=>Dx,pins_axis:()=>Wx,pins_brightness:()=>Kx,pins_builtinimg:()=>bx,pins_builtinimg_extern:()=>Bx,pins_button:()=>Px,pins_buttonB:()=>vx,pins_dac:()=>fx,pins_dac_pin:()=>Fx,pins_digital:()=>lx,pins_digital_dot:()=>ty,pins_digital_pin:()=>dx,pins_exlcdh:()=>kx,pins_exlcdv:()=>Hx,pins_imglist:()=>Gx,pins_input_pin:()=>Ix,pins_one_more:()=>$x,pins_output_pin:()=>Tx,pins_playlist:()=>Ux,pins_playlist_extern:()=>wx,pins_pwm:()=>Yx,pins_pwm_pin:()=>Xx,pins_radio_datarate:()=>Zx,pins_radio_power:()=>jx,pins_serial:()=>Vx,pins_tone_notes:()=>Qx,pins_touch:()=>yx,pins_touch_pin:()=>xx,pins_tts_bgmusic:()=>qx,pins_tts_builtin_music:()=>zx,pins_tts_voice:()=>Jx,pwm_input:()=>mx,pwm_output:()=>Ex,spi_A_pin:()=>Cx,spi_B_pin:()=>Sx,spi_C_pin:()=>Ax,spi_D_pin:()=>Lx});var ht={};t.r(ht),t.d(ht,{inout_analog_atten:()=>hy,inout_analog_read:()=>ay,inout_analog_read_init:()=>Ty,inout_analog_write:()=>_y,inout_analog_write_init:()=>Iy,inout_analog_write_set:()=>oy,inout_digital_init:()=>ly,inout_digital_read:()=>ny,inout_digital_write:()=>iy,inout_highlow:()=>ey,inout_pin_attachInterrupt:()=>ry,inout_pin_pressed:()=>uy,inout_pin_pressed_init:()=>My,inout_pwm_analog_write:()=>sy,inout_pwm_analog_write_init:()=>dy,inout_pwm_analog_write_set_freq:()=>py});var Mt={};t.r(Mt),t.d(Mt,{me_g1_aht11:()=>my,me_g1_hp203:()=>Oy,me_g1_rfid_readcontent:()=>cy,me_g1_rfid_readid:()=>Ry,me_g1_rfid_status:()=>Sy,me_g1_rfid_write:()=>gy,me_g1_rfid_write_outcome:()=>Cy,me_g1_varistor:()=>Ey});var mt={};t.r(mt),t.d(mt,{me_go_dc_motor:()=>vy,me_go_get_led_bright:()=>Ny,me_go_get_led_state:()=>Dy,me_go_hall_attachInterrupt:()=>Yy,me_go_hall_data:()=>xy,me_go_hall_initialize:()=>Xy,me_go_led_bright:()=>Ly,me_go_led_brightness:()=>fy,me_go_light_number:()=>Ay,me_go_pin_light:()=>Gy,me_go_pin_near:()=>Vy,me_go_pin_near_line:()=>yy,me_go_pin_near_state_change:()=>by,me_go_stepper_keep:()=>Fy,me_go_stepper_stop:()=>Py,sensor_mixgome_eulerangles:()=>By});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>Qy,analog_output:()=>Zy,espnow_channel:()=>zy,haskylens_model:()=>qy,i2c_A_pin:()=>$y,i2c_B_pin:()=>tV,pins_analog:()=>oV,pins_analog_pin:()=>_V,pins_axis:()=>RV,pins_brightness:()=>CV,pins_builtinimg:()=>hV,pins_builtinimg_extern:()=>MV,pins_button:()=>wy,pins_buttonB:()=>ky,pins_dac:()=>rV,pins_dac_pin:()=>uV,pins_digital:()=>Uy,pins_digital_dot:()=>PV,pins_digital_pin:()=>Hy,pins_exlcdh:()=>cV,pins_exlcdv:()=>gV,pins_imglist:()=>mV,pins_input_pin:()=>Wy,pins_interrupt:()=>IV,pins_one_more:()=>FV,pins_output_pin:()=>Ky,pins_playlist:()=>OV,pins_playlist_extern:()=>EV,pins_pwm:()=>aV,pins_pwm_input:()=>Jy,pins_pwm_pin:()=>pV,pins_radio_datarate:()=>fV,pins_radio_power:()=>DV,pins_serial:()=>TV,pins_tone_notes:()=>NV,pins_touch:()=>dV,pins_touch_pin:()=>lV,pins_tts_bgmusic:()=>LV,pins_tts_builtin_music:()=>AV,pins_tts_voice:()=>SV,pwm_output:()=>jy,spi_A_pin:()=>eV,spi_B_pin:()=>iV,spi_C_pin:()=>nV,spi_D_pin:()=>sV});const Et=Blockly,Rt=Mixly,ct={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},gt=ct; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ft,controls_typeLists:()=>Pt,variables_change:()=>Dt,variables_get:()=>Lt,variables_global:()=>ft,variables_set:()=>Nt});var i={};t.r(i),t.d(i,{base_setup:()=>Xt,controls_delay:()=>xt,controls_end_program:()=>yt,controls_except:()=>qt,controls_finally:()=>Qt,controls_flow_statements:()=>wt,controls_for:()=>kt,controls_forEach:()=>Bt,controls_for_range:()=>Ht,controls_if:()=>Vt,controls_if_else:()=>Jt,controls_if_elseif:()=>Kt,controls_if_if:()=>Wt,controls_lambda:()=>Zt,controls_main:()=>Yt,controls_pass:()=>$t,controls_range:()=>bt,controls_repeat_ext:()=>jt,controls_thread:()=>te,controls_try:()=>zt,controls_try_finally:()=>Ut,controls_whileUntil:()=>Gt,do_while:()=>ee,garbage_collection:()=>ie,get_mem_alloc:()=>ne,get_mem_free:()=>se});var n={};t.r(n),t.d(n,{base_map:()=>Ae,math_arithmetic:()=>ue,math_bit:()=>le,math_constant:()=>pe,math_constant_mp:()=>ae,math_constrain:()=>Oe,math_dec:()=>Ie,math_indexer_number:()=>Re,math_map:()=>Ee,math_max_min:()=>he,math_number:()=>oe,math_number_base_conversion:()=>Me,math_random:()=>me,math_random_seed:()=>ce,math_round:()=>ge,math_selfcalcu:()=>re,math_to_int:()=>Te,math_trig:()=>de,text_to_number:()=>Ce,text_to_number_skulpt:()=>Se});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Pe,char_to_ascii:()=>ve,number_to_text:()=>Ye,os_system:()=>si,text:()=>Ne,text_capital:()=>we,text_center:()=>ke,text_char:()=>fe,text_char_at:()=>ye,text_char_at2:()=>xe,text_char_at3:()=>ti,text_compareTo:()=>$e,text_compare_to:()=>Ue,text_create_with_container:()=>Qe,text_create_with_item:()=>je,text_encode:()=>ii,text_equals_starts_ends:()=>Ge,text_eval:()=>ni,text_find:()=>He,text_format:()=>qe,text_format_noreturn:()=>ei,text_join:()=>Fe,text_join_seq:()=>We,text_length:()=>Xe,text_random_char:()=>Ve,text_replace:()=>Ke,text_split:()=>Je,text_strip:()=>ze,text_substring:()=>Be,text_substring2:()=>be,text_substring3:()=>Ze,text_textarea:()=>De});var _={};t.r(_),t.d(_,{list_many_input:()=>Ni,list_tolist:()=>Xi,list_tolist2:()=>wi,list_trig:()=>Si,lists_2d_get_col_row_data:()=>ui,lists_2d_get_data_with_col_row:()=>ai,lists_append_extend:()=>hi,lists_change_to:()=>Li,lists_change_to_general:()=>fi,lists_clear:()=>Ri,lists_create_with:()=>ri,lists_create_with2:()=>xi,lists_create_with_container:()=>di,lists_create_with_item:()=>Ii,lists_create_with_noreturn:()=>Di,lists_create_with_text:()=>li,lists_create_with_text2:()=>yi,lists_del_general:()=>Fi,lists_find:()=>Ci,lists_getIndex3:()=>Vi,lists_getSublist3:()=>bi,lists_get_index:()=>oi,lists_get_random_item:()=>Mi,lists_get_random_sublist:()=>mi,lists_get_sublist:()=>pi,lists_insert_value:()=>Oi,lists_insert_value2:()=>Gi,lists_pop:()=>gi,lists_remove_at:()=>ci,lists_remove_at2:()=>Ui,lists_reverse:()=>Ei,lists_setIndex3:()=>Bi,lists_set_index:()=>Ti,lists_sort:()=>Ai,lists_zip:()=>Pi,lists_zip_container:()=>vi,lists_zip_item:()=>Yi});var o={};t.r(o),t.d(o,{dicts_add_change_del:()=>_n,dicts_add_or_change:()=>Qi,dicts_clear:()=>$i,dicts_create_with:()=>Hi,dicts_create_with_container:()=>Wi,dicts_create_with_item:()=>Ki,dicts_create_with_noreturn:()=>an,dicts_deldict:()=>sn,dicts_delete:()=>ji,dicts_get:()=>zi,dicts_get_default:()=>qi,dicts_items:()=>tn,dicts_keys:()=>Ji,dicts_length:()=>nn,dicts_pop:()=>on,dicts_setdefault:()=>pn,dicts_to_json:()=>rn,dicts_todict:()=>un,dicts_update:()=>Zi,dicts_values:()=>en,json_to_dicts:()=>ln});var p={};t.r(p),t.d(p,{logic_boolean:()=>mn,logic_compare:()=>In,logic_compare_continous:()=>Tn,logic_is:()=>cn,logic_is_in:()=>Rn,logic_negate:()=>Mn,logic_null:()=>On,logic_operation:()=>hn,logic_tobool:()=>gn,logic_true_or_false:()=>En});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Wn,sdcard_use_spi_init:()=>Hn,storage_can_write_ornot:()=>Pn,storage_change_dir:()=>wn,storage_close_file:()=>Yn,storage_delete_file:()=>xn,storage_file_seek:()=>bn,storage_file_tell:()=>Vn,storage_file_write:()=>Nn,storage_fileopen:()=>Sn,storage_fileopen_new:()=>An,storage_fileopen_new_encoding:()=>Ln,storage_get_a_line:()=>Fn,storage_get_contents:()=>fn,storage_get_contents_without_para:()=>Dn,storage_get_current_dir:()=>Bn,storage_get_file_size:()=>yn,storage_get_filename:()=>vn,storage_is_file:()=>kn,storage_list_all_files:()=>Xn,storage_make_dir:()=>Gn,storage_open_file_with_os:()=>Cn,storage_rename:()=>Un});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Zn,procedures_callreturn:()=>$n,procedures_defnoreturn:()=>zn,procedures_defreturn:()=>qn,procedures_ifreturn:()=>ts,procedures_mutatorarg:()=>jn,procedures_mutatorcontainer:()=>Qn,procedures_return:()=>es});var r={};t.r(r),t.d(r,{tuple_change_to:()=>Is,tuple_create_with:()=>ns,tuple_create_with_container:()=>ss,tuple_create_with_item:()=>_s,tuple_create_with_noreturn:()=>ms,tuple_create_with_text2:()=>os,tuple_create_with_text_return:()=>ps,tuple_del:()=>rs,tuple_find:()=>Ts,tuple_getIndex:()=>as,tuple_getSublist:()=>Ms,tuple_get_random_item:()=>Es,tuple_get_sublist:()=>Os,tuple_join:()=>ls,tuple_length:()=>us,tuple_max:()=>ds,tuple_totuple:()=>Rs,tuple_trig:()=>hs});var l={};t.r(l),t.d(l,{set_add_discard:()=>Fs,set_clear:()=>Ns,set_create_with:()=>gs,set_create_with_container:()=>Cs,set_create_with_item:()=>Ss,set_create_with_text_return:()=>Ys,set_length:()=>As,set_operate:()=>Ds,set_operate_update:()=>fs,set_pop:()=>Ls,set_sub:()=>Ps,set_toset:()=>Xs,set_update:()=>vs});var d={};t.r(d),t.d(d,{html_content:()=>Bs,html_content_more:()=>Gs,html_document:()=>ys,html_form:()=>ws,html_head_body:()=>bs,html_style:()=>Us,html_style_color:()=>Hs,html_style_content:()=>ks,html_text:()=>Ws,html_title:()=>Vs});var I={};t.r(I),t.d(I,{attribute_access:()=>__,function_call:()=>i_,function_call_container:()=>n_,function_call_item:()=>s_,raw_block:()=>zs,raw_empty:()=>Qs,raw_expression:()=>qs,raw_table:()=>Js,text_comment:()=>js,text_print_multiple:()=>$s,text_print_multiple_container:()=>t_,text_print_multiple_item:()=>e_,type_check:()=>Zs});var T={};t.r(T),t.d(T,{controls_type:()=>r_,controls_typeLists:()=>l_,variables_change:()=>a_,variables_get:()=>o_,variables_global:()=>u_,variables_set:()=>p_});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>c_,base_setup:()=>I_,controls_delay:()=>R_,controls_flow_statements:()=>E_,controls_for:()=>M_,controls_forEach:()=>L_,controls_for_range:()=>m_,controls_if:()=>T_,controls_interrupts:()=>S_,controls_lambda:()=>D_,controls_main:()=>d_,controls_millis:()=>g_,controls_nointerrupts:()=>A_,controls_pass:()=>F_,controls_range:()=>N_,controls_repeat:()=>V_,controls_repeat_ext:()=>Y_,controls_thread:()=>P_,controls_try_finally:()=>h_,controls_whileUntil:()=>O_,do_while:()=>v_,garbage_collection:()=>X_,get_mem_alloc:()=>x_,get_mem_free:()=>y_,reset:()=>C_,time_sleep:()=>f_});var M={};t.r(M),t.d(M,{base_map:()=>so,math_arithmetic:()=>w_,math_bit:()=>U_,math_constant:()=>B_,math_constant_mp:()=>G_,math_constrain:()=>j_,math_dec:()=>K_,math_indexer_number:()=>to,math_map:()=>Q_,math_max_min:()=>z_,math_number:()=>b_,math_number_base_conversion:()=>Z_,math_random:()=>q_,math_random_seed:()=>$_,math_round:()=>eo,math_selfcalcu:()=>k_,math_single:()=>H_,math_to_int:()=>J_,math_trig:()=>W_,text_to_number:()=>io,text_to_number_skulpt:()=>no});var m={};t.r(m),t.d(m,{ascii_to_char:()=>uo,char_to_ascii:()=>ro,number_to_text:()=>lo,os_system:()=>xo,text:()=>_o,text_capital:()=>co,text_center:()=>go,text_char:()=>po,text_char_at:()=>ho,text_char_at2:()=>To,text_char_at3:()=>vo,text_compareTo:()=>Po,text_compare_to:()=>Oo,text_encode:()=>Yo,text_equals_starts_ends:()=>mo,text_eval:()=>Xo,text_find:()=>Co,text_format:()=>Do,text_format_noreturn:()=>fo,text_join:()=>ao,text_join_seq:()=>So,text_length:()=>Io,text_random_char:()=>Mo,text_replace:()=>Ao,text_split:()=>Lo,text_strip:()=>No,text_substring:()=>Ro,text_substring2:()=>Eo,text_substring3:()=>Fo,text_textarea:()=>oo});var O={};t.r(O),t.d(O,{list_many_input:()=>ep,list_tolist:()=>Ip,list_tolist2:()=>Tp,list_trig:()=>Zo,lists_2d_get_col_row_data:()=>bo,lists_2d_get_data_with_col_row:()=>Vo,lists_append_extend:()=>ko,lists_change_to:()=>tp,lists_change_to_general:()=>np,lists_clear:()=>zo,lists_create_with:()=>Bo,lists_create_with2:()=>_p,lists_create_with_noreturn:()=>ip,lists_create_with_text:()=>Go,lists_create_with_text2:()=>op,lists_del_general:()=>sp,lists_find:()=>qo,lists_getIndex3:()=>pp,lists_getSublist3:()=>ap,lists_get_index:()=>Uo,lists_get_random_item:()=>Ho,lists_get_random_sublist:()=>Wo,lists_get_sublist:()=>yo,lists_insert_value:()=>Ko,lists_insert_value2:()=>rp,lists_pop:()=>jo,lists_remove_at:()=>Qo,lists_remove_at2:()=>lp,lists_reverse:()=>Jo,lists_setIndex3:()=>up,lists_set_index:()=>wo,lists_sort:()=>$o,lists_zip:()=>dp});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>Np,dicts_add_or_change:()=>Ep,dicts_clear:()=>gp,dicts_create_with:()=>hp,dicts_create_with_noreturn:()=>Fp,dicts_deldict:()=>Lp,dicts_delete:()=>Rp,dicts_get:()=>mp,dicts_get_default:()=>Op,dicts_items:()=>Cp,dicts_keys:()=>Mp,dicts_length:()=>Ap,dicts_pop:()=>Dp,dicts_setdefault:()=>fp,dicts_to_json:()=>vp,dicts_todict:()=>Pp,dicts_update:()=>cp,dicts_values:()=>Sp,json_to_dicts:()=>Yp});var R={};t.r(R),t.d(R,{logic_boolean:()=>bp,logic_compare:()=>Xp,logic_compare_continous:()=>xp,logic_is:()=>wp,logic_is_in:()=>Up,logic_negate:()=>Vp,logic_null:()=>Bp,logic_operation:()=>yp,logic_tobool:()=>kp,logic_true_or_false:()=>Gp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>da,sdcard_use_spi_init:()=>la,storage_can_write_ornot:()=>Zp,storage_change_dir:()=>oa,storage_close_file:()=>ta,storage_delete_file:()=>ia,storage_file_seek:()=>_a,storage_file_tell:()=>sa,storage_file_write:()=>zp,storage_fileopen:()=>Wp,storage_fileopen_new:()=>Kp,storage_fileopen_new_encoding:()=>Jp,storage_get_a_line:()=>jp,storage_get_contents:()=>Qp,storage_get_contents_without_para:()=>qp,storage_get_current_dir:()=>pa,storage_get_file_size:()=>na,storage_get_filename:()=>$p,storage_is_file:()=>ra,storage_list_all_files:()=>ea,storage_make_dir:()=>aa,storage_open_file_with_os:()=>Hp,storage_rename:()=>ua});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ma,procedures_callreturn:()=>ha,procedures_defnoreturn:()=>Ta,procedures_defreturn:()=>Ia,procedures_ifreturn:()=>ma,procedures_return:()=>Oa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Na,tuple_create_with:()=>Ea,tuple_create_with_noreturn:()=>Pa,tuple_create_with_text2:()=>Ra,tuple_create_with_text_return:()=>ca,tuple_del:()=>Sa,tuple_find:()=>Da,tuple_getIndex:()=>ga,tuple_getSublist:()=>Fa,tuple_get_random_item:()=>Ya,tuple_get_sublist:()=>va,tuple_join:()=>Aa,tuple_length:()=>Ca,tuple_max:()=>La,tuple_totuple:()=>Xa,tuple_trig:()=>fa});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ua,set_clear:()=>ba,set_create_with:()=>xa,set_create_with_text_return:()=>Ha,set_length:()=>ya,set_operate:()=>Ba,set_operate_update:()=>Ga,set_pop:()=>Va,set_sub:()=>wa,set_toset:()=>Wa,set_update:()=>ka});var A={};t.r(A),t.d(A,{html_content:()=>qa,html_content_more:()=>Qa,html_document:()=>Ka,html_form:()=>Za,html_head_body:()=>za,html_style:()=>ja,html_style_content:()=>$a,html_text:()=>tu,html_title:()=>Ja});var L={};t.r(L),t.d(L,{attribute_access:()=>pu,function_call:()=>ou,raw_block:()=>eu,raw_empty:()=>nu,raw_expression:()=>iu,raw_table:()=>su,type_check:()=>_u});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>Eu,actuator_extern_get_led_state:()=>Ru,actuator_extern_led_bright:()=>Ou,actuator_extern_led_brightness:()=>cu,actuator_ms32006_dcmotor:()=>Fu,actuator_ms32006_init:()=>fu,actuator_ms32006_stepper:()=>Pu,actuator_neopixel_init:()=>vu,actuator_neopixel_rgb:()=>Yu,actuator_neopixel_rgb_all:()=>Xu,actuator_neopixel_write:()=>xu,actuator_use_uart_init:()=>yu,esp32_music_get_tempo_extern:()=>hu,esp32_music_pitch:()=>lu,esp32_music_pitch_init:()=>ru,esp32_music_pitch_with_time:()=>du,esp32_music_play_list:()=>Iu,esp32_music_reset_extern:()=>Mu,esp32_music_set_tempo_extern:()=>Tu,esp32_music_stop:()=>mu,mixbot_actuator_extern_get_addr:()=>tr,mixbot_actuator_extern_set_addr:()=>er,mixbot_addr_extern:()=>Uu,robot_led_extern:()=>Wu,robot_led_extern_get_value:()=>Ku,robot_motor_extern:()=>wu,robot_motor_extern_get_speed:()=>ku,robot_servo_extern_absolute_run:()=>Qu,robot_servo_extern_get_status:()=>Ju,robot_servo_extern_relative_continue:()=>$u,robot_servo_extern_relative_origin:()=>ju,robot_servo_extern_relative_run:()=>Zu,robot_servo_extern_stop:()=>qu,robot_servo_extern_stop_mode:()=>zu,robot_traffic_light_extern:()=>Hu,servo_get_angle:()=>Nu,servo_get_speed:()=>Du,servo_init:()=>gu,servo_move:()=>Cu,servo_set_angle:()=>Au,servo_set_speed:()=>Lu,servo_speed_360:()=>Su,syn6288_builtin_voice:()=>Bu,syn6288_get_voice:()=>bu,syn6288_set_voice:()=>Vu,syn6288_tts_play:()=>Gu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Yr,actuator_dc_motor_stop:()=>Xr,actuator_get_led_bright:()=>or,actuator_get_led_state:()=>pr,actuator_led_bright:()=>_r,actuator_led_brightness:()=>ar,actuator_mixbot_buzzer_on_off:()=>Br,actuator_mixgo_nova_mic_get:()=>Hr,actuator_mixgo_nova_mic_set:()=>kr,actuator_mixgo_nova_onboard_music_pitch:()=>Qr,actuator_mixgo_nova_onboard_music_stop:()=>jr,actuator_mixgo_nova_play_audio:()=>zr,actuator_mixgo_nova_play_online_audio:()=>qr,actuator_mixgo_nova_record_audio:()=>Jr,actuator_mixgo_nova_voice_get:()=>Kr,actuator_mixgo_nova_voice_set:()=>Wr,actuator_mixgo_zero_led_color:()=>ur,actuator_onboard_neopixel_rgb:()=>hr,actuator_onboard_neopixel_rgb_all:()=>Mr,actuator_onboard_neopixel_rgb_show_all_chase:()=>Or,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>mr,actuator_onboard_neopixel_write:()=>Er,actuator_rm_onboard_neopixel_rgb:()=>Rr,actuator_rm_onboard_neopixel_rgb_all:()=>cr,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>gr,actuator_stepper_keep:()=>Pr,actuator_stepper_stop:()=>vr,bitbot_motor:()=>wr,bitbot_move:()=>Gr,bitbot_stop:()=>Ur,cc_number:()=>Tr,esp32_music_get_tempo:()=>Sr,esp32_music_reset:()=>Ar,esp32_music_set_tempo:()=>Cr,esp32_onboard_music_pitch:()=>Lr,esp32_onboard_music_pitch_with_time:()=>Nr,esp32_onboard_music_play_list:()=>fr,esp32_onboard_music_stop:()=>Dr,get_power_output:()=>$r,ledswitch:()=>sr,mixbot_motor:()=>br,mixbot_motor_status:()=>xr,mixbot_move:()=>yr,mixbot_stop:()=>Vr,number:()=>nr,rm_actuator_get_led_bright:()=>lr,rm_actuator_get_led_state:()=>dr,rm_actuator_led_bright:()=>rr,rm_actuator_led_brightness:()=>Ir,rm_motor:()=>Fr,set_all_power_output:()=>tl,set_power_output:()=>Zr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Xl,ai_sensor_ailocal_class:()=>Cl,ai_sensor_ailocal_class_result:()=>Sl,ai_sensor_ailocal_train:()=>gl,ai_sensor_asr_recognize:()=>fl,ai_sensor_audio_play:()=>Ll,ai_sensor_audio_record:()=>Al,ai_sensor_barcode:()=>al,ai_sensor_circle:()=>Tl,ai_sensor_classifier_faces:()=>Yl,ai_sensor_color:()=>Ol,ai_sensor_color_chases:()=>cl,ai_sensor_color_chases_result:()=>Rl,ai_sensor_config:()=>ol,ai_sensor_face:()=>vl,ai_sensor_find_20objects:()=>xl,ai_sensor_find_barcodes:()=>ul,ai_sensor_find_circles:()=>hl,ai_sensor_find_colors:()=>El,ai_sensor_find_licenseplates:()=>Pl,ai_sensor_find_lines:()=>Il,ai_sensor_find_qrcodes:()=>_l,ai_sensor_find_rects:()=>ml,ai_sensor_find_tags:()=>ll,ai_sensor_licenseplate:()=>Fl,ai_sensor_line:()=>dl,ai_sensor_qrcode:()=>nl,ai_sensor_qrcode_lite:()=>sl,ai_sensor_rect:()=>Ml,ai_sensor_rgb:()=>pl,ai_sensor_tag:()=>rl,ai_sensor_use_uart_init:()=>il,ai_sensor_yolo_recognize:()=>Nl,ai_sensor_yolo_recognize_result:()=>Dl});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>bl,MICROPYTHON_AI_Speech_unit:()=>Vl,MICROPYTHON_AI_client:()=>yl});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>$l,mpython_blynk_app_notify:()=>Kl,mpython_blynk_email:()=>ql,mpython_blynk_get_timers:()=>Ql,mpython_blynk_on_connected:()=>kl,mpython_blynk_on_disconnected:()=>wl,mpython_blynk_run:()=>Wl,mpython_blynk_sensor_data_to_app:()=>Zl,mpython_blynk_set_property:()=>zl,mpython_blynk_setup:()=>td,mpython_blynk_stop_timers:()=>Jl,mpython_blynk_sync_virtual:()=>Ul,mpython_blynk_terminal_widget_vpin:()=>Gl,mpython_blynktimer:()=>jl,mpython_blynktimer_run:()=>Hl});var v={};t.r(v),t.d(v,{cc_g1_init:()=>ed,cc_g1_read_bat:()=>id,cc_g1_read_joystick:()=>nd,cc_g1_read_key:()=>sd,cc_g1_turnoff:()=>_d});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>Td,ce_go_get_led_bright:()=>ud,ce_go_get_led_state:()=>rd,ce_go_hall_attachInterrupt:()=>hd,ce_go_hall_data:()=>md,ce_go_hall_initialize:()=>Md,ce_go_led_bright:()=>ad,ce_go_led_brightness:()=>ld,ce_go_light_number:()=>pd,ce_go_pin_light:()=>gd,ce_go_pin_near:()=>Ed,ce_go_pin_near_line:()=>Od,ce_go_pin_near_state_change:()=>Rd,ce_go_stepper_keep:()=>dd,ce_go_stepper_stop:()=>Id,sensor_mixgome_eulerangles:()=>cd});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>sI,communicate_bluetooth_connect:()=>aI,communicate_bluetooth_disconnect:()=>uI,communicate_bluetooth_handle:()=>TI,communicate_bluetooth_is_connected:()=>lI,communicate_bluetooth_mac:()=>pI,communicate_bluetooth_peripheral_init:()=>_I,communicate_bluetooth_recv:()=>dI,communicate_bluetooth_recv_only:()=>II,communicate_bluetooth_scan:()=>oI,communicate_bluetooth_send:()=>rI,communicate_espnow_init:()=>hI,communicate_espnow_init_new:()=>MI,communicate_i2c_available:()=>Gd,communicate_i2c_init:()=>Ld,communicate_i2c_master_read:()=>Bd,communicate_i2c_onboard:()=>Sd,communicate_i2c_read:()=>Nd,communicate_i2c_scan:()=>fd,communicate_i2c_write:()=>Dd,communicate_ir_recv_init:()=>zd,communicate_ir_send_init:()=>$d,communicate_ow_init:()=>wd,communicate_ow_read:()=>Hd,communicate_ow_reset:()=>Jd,communicate_ow_scan:()=>kd,communicate_ow_select:()=>Kd,communicate_ow_write:()=>Wd,communicate_spi_buffer:()=>vd,communicate_spi_init:()=>Fd,communicate_spi_onboard:()=>Ad,communicate_spi_read:()=>Yd,communicate_spi_read_output:()=>Xd,communicate_spi_readinto:()=>xd,communicate_spi_readinto_output:()=>yd,communicate_spi_set:()=>Pd,communicate_spi_write:()=>Vd,communicate_spi_write_readinto:()=>bd,espnow_radio_channel:()=>gI,espnow_radio_channel_new:()=>SI,espnow_radio_on_off:()=>AI,espnow_radio_rec:()=>NI,espnow_radio_recv:()=>fI,espnow_radio_recv_certain_msg:()=>FI,espnow_radio_recv_certain_msg_new:()=>vI,espnow_radio_recv_msg:()=>DI,espnow_radio_recv_new:()=>PI,espnow_radio_send:()=>LI,espnow_radio_txpower:()=>CI,i2c_available:()=>tT,i2c_init:()=>GI,i2c_master_reader2:()=>$I,i2c_read:()=>UI,i2c_scan:()=>kI,i2c_slave_onreceive:()=>Ud,i2c_write:()=>wI,internal_variable:()=>qd,ir_recv_timeout:()=>Zd,ir_transmit_busy:()=>nI,ir_transmit_conventional_data:()=>tI,ir_transmit_raw_code:()=>iI,ir_transmit_study_code:()=>eI,ir_whether_recv:()=>jd,lora_init:()=>YI,lora_packet:()=>XI,lora_recv:()=>yI,lora_send:()=>xI,network_espnow_info:()=>OI,network_espnow_mac:()=>mI,network_espnow_recv:()=>EI,network_espnow_recv_handle:()=>cI,network_espnow_send:()=>RI,recv_fun:()=>Qd,spi_buffer:()=>KI,spi_init:()=>HI,spi_read:()=>JI,spi_read_output:()=>zI,spi_readinto:()=>qI,spi_readinto_output:()=>QI,spi_set:()=>WI,spi_write:()=>jI,spi_write_readinto:()=>ZI,urequests_attribute:()=>bI,urequests_get:()=>VI,urequests_method:()=>BI});var x={};t.r(x),t.d(x,{display_animate:()=>FT,display_blink_rate:()=>LT,display_circle:()=>PT,display_color_seclet:()=>kT,display_draw_4strings:()=>RT,display_fill:()=>fT,display_get_screen_image:()=>AT,display_help:()=>YT,display_image_size:()=>cT,display_lcd_use_i2c_init:()=>qT,display_line:()=>CT,display_line_arbitrarily:()=>ST,display_matrix_extern_bright_point:()=>dT,display_matrix_extern_bright_screen:()=>TT,display_matrix_extern_clear:()=>hT,display_matrix_extern_get_pixel:()=>lT,display_matrix_extern_get_screen_pixel:()=>IT,display_matrix_extern_image_builtins:()=>MT,display_matrix_extern_scroll_string:()=>oT,display_matrix_extern_scroll_string_delay:()=>pT,display_matrix_extern_shift:()=>rT,display_matrix_extern_show_frame_string:()=>aT,display_matrix_extern_show_frame_string_delay:()=>uT,display_matrix_extern_show_image:()=>sT,display_matrix_extern_show_image_or_string_delay:()=>_T,display_matrix_use_i2c_init:()=>nT,display_oled_drawPixel:()=>xT,display_oled_showBitmap:()=>XT,display_oled_use_i2c_init:()=>th,display_onoff:()=>DT,display_rect:()=>gT,display_rgb_color:()=>NT,display_tm1650_power:()=>VT,display_tm1650_set_brightness:()=>GT,display_tm1650_show_dot:()=>BT,display_tm1650_show_num:()=>bT,display_tm_use_i2c_init:()=>yT,display_triangle:()=>vT,display_use_i2c_init:()=>ET,extern_oled_bright_point:()=>lh,extern_oled_clear:()=>dh,extern_oled_get_pixel:()=>rh,extern_oled_hvline:()=>Th,extern_oled_line:()=>hh,extern_oled_scroll_string:()=>_h,extern_oled_scroll_string_delay:()=>oh,extern_oled_shape_rect:()=>Ih,extern_oled_shift:()=>uh,extern_oled_show_frame_string:()=>ph,extern_oled_show_frame_string_delay:()=>ah,extern_oled_show_image:()=>eh,extern_oled_show_image_or_string_delay:()=>sh,extern_oled_show_image_xy:()=>ih,extern_oled_show_string:()=>nh,lcd_backlight:()=>ZT,lcd_clear:()=>$T,lcd_print_string:()=>jT,lcd_show_image_or_string_delay:()=>QT,matrix_extern_image_arithmetic:()=>mT,matrix_extern_image_invert:()=>OT,tft_fill:()=>JT,tft_line_arbitrarily:()=>zT,tft_scroll_string_delay:()=>WT,tft_show_frame_string_delay:()=>KT,tft_show_image_or_string_delay:()=>HT,tft_show_image_xy:()=>wT,tft_use_spi_init:()=>UT});var y={};t.r(y),t.d(y,{bitbot_display_image_create:()=>tM,display_bright_point:()=>Fh,display_bright_screen:()=>vh,display_clear:()=>Yh,display_get_pixel:()=>fh,display_get_screen_pixel:()=>Ph,display_image_builtins:()=>Sh,display_image_builtins_all:()=>Ah,display_image_create:()=>Ch,display_scroll_string:()=>Eh,display_scroll_string_delay:()=>Rh,display_shift:()=>Dh,display_show_frame_string:()=>ch,display_show_frame_string_delay:()=>gh,display_show_image:()=>mh,display_show_image_or_string_delay:()=>Oh,image_arithmetic:()=>Lh,image_invert:()=>Nh,mixbot_display_bright_screen:()=>Zh,mixbot_display_get_ambientbright:()=>jh,mixbot_display_get_screen_pixel:()=>Qh,mixbot_display_image_create:()=>qh,mixbot_display_rotate:()=>$h,mixgo_display_image_create_new:()=>yh,mixgome_display_font:()=>Vh,mixgome_display_image_create:()=>Xh,mixgomini_display_image_create:()=>xh,mpython_display_hvline:()=>Kh,mpython_display_line:()=>Jh,mpython_display_shape_rect:()=>Wh,mpython_pbm_image:()=>zh,onboard_oled_bright_point:()=>Hh,onboard_oled_scroll_string_delay:()=>wh,onboard_oled_show_frame_string_delay:()=>kh,onboard_oled_show_image:()=>bh,onboard_oled_show_image_or_string_delay:()=>Uh,onboard_oled_show_image_xy:()=>Bh,onboard_oled_show_string:()=>Gh,onboard_tft_bright_point:()=>IM,onboard_tft_bright_screen:()=>MM,onboard_tft_clear:()=>TM,onboard_tft_clock_clear:()=>gM,onboard_tft_clock_draw:()=>cM,onboard_tft_clock_get_rtctime:()=>EM,onboard_tft_clock_init:()=>OM,onboard_tft_clock_set_time:()=>RM,onboard_tft_display_hvline:()=>uM,onboard_tft_display_line:()=>rM,onboard_tft_display_shape_circle:()=>CM,onboard_tft_display_shape_rect:()=>aM,onboard_tft_fill:()=>mM,onboard_tft_get_pixel:()=>dM,onboard_tft_get_screen_pixel:()=>hM,onboard_tft_scroll_string:()=>sM,onboard_tft_scroll_string_delay:()=>_M,onboard_tft_shift:()=>lM,onboard_tft_show_frame_string:()=>oM,onboard_tft_show_frame_string_delay:()=>pM,onboard_tft_show_image:()=>eM,onboard_tft_show_image_or_string_delay:()=>nM,onboard_tft_show_image_xy:()=>iM});var V={};t.r(V),t.d(V,{factory_block:()=>XM,factory_block_return:()=>xM,factory_block_return_with_textarea:()=>VM,factory_block_with_textarea:()=>yM,factory_callMethod_noreturn:()=>vM,factory_callMethod_return:()=>YM,factory_create_with_container:()=>DM,factory_create_with_item:()=>fM,factory_declare:()=>PM,factory_from_import:()=>AM,factory_function_noreturn:()=>NM,factory_function_return:()=>FM,factory_import:()=>LM,folding_block:()=>bM});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>om,inout_analog_atten:()=>zM,inout_analog_read:()=>JM,inout_analog_read_init:()=>tm,inout_analog_write:()=>HM,inout_analog_write_init:()=>$M,inout_analog_write_set:()=>WM,inout_analog_write_set_freq:()=>nm,inout_digital_init:()=>jM,inout_digital_read:()=>wM,inout_digital_write:()=>UM,inout_highlow:()=>GM,inout_pinMode:()=>im,inout_pin_attachInterrupt:()=>QM,inout_pin_pressed:()=>qM,inout_pin_pressed_init:()=>em,inout_pwm_analog_write:()=>kM,inout_pwm_analog_write_init:()=>ZM,inout_pwm_analog_write_set_freq:()=>KM,pin_pressed:()=>_m,pin_pressed_init:()=>sm});var B={};t.r(B),t.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Fm,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>fm,IOT_EMQX_PING:()=>Nm,IOT_FORMATTING:()=>Am,IOT_FORMAT_STRING:()=>Lm,IOT_MIXIO_NTP:()=>Dm,IOT_MIXIO_PUBLISH:()=>Om,IOT_MIXIO_SUBSCRIBE:()=>Em,iot_checkonenet:()=>Gm,iot_client_onboard:()=>vm,iot_create_with_item:()=>Mm,iot_http_client:()=>Ym,iot_http_data:()=>Xm,iot_mixio_check:()=>gm,iot_mixio_connect:()=>mm,iot_mixio_connect_only:()=>cm,iot_mixio_disconnect:()=>Rm,iot_mixio_format_msg:()=>Sm,iot_mixio_format_topic:()=>Cm,iot_mixly_key:()=>Pm,iot_mqtt_client:()=>xm,iot_mqtt_data:()=>ym,iot_onenet_check:()=>lm,iot_onenet_connect:()=>um,iot_onenet_disconnect:()=>rm,iot_onenet_publish:()=>Im,iot_onenet_publish_dict:()=>dm,iot_onenetconnect:()=>bm,iot_onenetdisconnect:()=>Bm,iot_publish:()=>Um,iot_publish_container:()=>Tm,iot_publish_item:()=>hm,iot_wifi_connect:()=>am,iot_wificonnect:()=>Vm});var G={};t.r(G),t.d(G,{network_ap_connect:()=>Zm,network_connect:()=>Jm,network_get_connect:()=>qm,network_get_wifi:()=>jm,network_init:()=>km,network_is_active:()=>Wm,network_open:()=>Hm,network_scan:()=>Km,network_server:()=>$m,network_socket_accept:()=>sO,network_socket_bind:()=>eO,network_socket_close:()=>uO,network_socket_connect:()=>iO,network_socket_init:()=>tO,network_socket_listen:()=>nO,network_socket_receive:()=>_O,network_socket_receive_from:()=>pO,network_socket_send:()=>oO,network_socket_send_to:()=>aO,network_stop:()=>Qm,network_wifi_connect:()=>zm,ntptime_address:()=>TO,ntptime_time:()=>IO,requests_attribute:()=>lO,requests_get:()=>rO,requests_method:()=>dO});var U={};t.r(U),t.d(U,{HCSR04:()=>hE,PS2_Button:()=>EE,PS2_Buttons:()=>cE,PS2_Buttons_new:()=>AE,PS2_State:()=>RE,PS2_init:()=>ME,PS2_init_new:()=>CE,PS2_stk:()=>gE,PS2_stk_new:()=>LE,PS2_vibration:()=>OE,PS2_vibration_new:()=>SE,esp32_s2_weather_init:()=>lE,esp32_s2_weather_rain:()=>IE,esp32_s2_weather_wd:()=>dE,esp32_s2_weather_ws:()=>TE,extern_rfid_read:()=>jO,extern_rfid_readcontent:()=>$O,extern_rfid_readid:()=>ZO,extern_rfid_status:()=>iE,extern_rfid_write:()=>tE,extern_rfid_write_return:()=>eE,gnss_get_data:()=>FE,gnss_have_data:()=>fE,mixbot_sensor_extern_get_addr:()=>VE,mixbot_sensor_extern_set_addr:()=>bE,pm25_get_data:()=>DE,robot_button_extern_get_value:()=>PE,robot_color_extern_get_value:()=>yE,robot_infrared_extern_get_value:()=>YE,robot_infrared_extern_grey_get_value:()=>XE,robot_potentiometer_extern_get_value:()=>xE,robot_sonar_extern_get_value:()=>BE,robot_sonar_extern_led:()=>GE,robot_touch_extern_get_value:()=>vE,sensor_APDS9960_extern:()=>YO,sensor_LTR308_extern:()=>XO,sensor_LTR390UV_extern:()=>yO,sensor_MAX30102_extern:()=>vO,sensor_QMC5883L_extern:()=>UO,sensor_VL530LX_extern:()=>VO,sensor_adxl345_get_acceleration:()=>cO,sensor_aht11_extern:()=>BO,sensor_bmp:()=>NO,sensor_compass_reset:()=>qO,sensor_dht11:()=>CO,sensor_ds18x20:()=>fO,sensor_hp203_extern:()=>GO,sensor_light_level:()=>gO,sensor_lm35:()=>FO,sensor_ltr381_extern:()=>xO,sensor_mixgo_extern_button_attachInterrupt:()=>EO,sensor_mixgo_extern_button_get_presses:()=>OO,sensor_mixgo_extern_button_is_pressed:()=>MO,sensor_mixgo_extern_button_was_pressed:()=>mO,sensor_mixgo_extern_light:()=>SO,sensor_mixgo_extern_pin_near:()=>LO,sensor_mixgo_extern_sound:()=>AO,sensor_mixgoce_hot_wheel_degrees:()=>rE,sensor_mixgoce_hot_wheel_is_touched:()=>uE,sensor_mpu9250_attachGestureInterrupt:()=>RO,sensor_mpu9250_calibrate_compass:()=>KO,sensor_mpu9250_field_strength:()=>zO,sensor_mpu9250_gesture:()=>wO,sensor_mpu9250_get_acceleration:()=>kO,sensor_mpu9250_get_gyro:()=>WO,sensor_mpu9250_get_magnetic:()=>HO,sensor_mpu9250_temperature:()=>JO,sensor_sht:()=>DO,sensor_shtc3_extern:()=>bO,sensor_use_i2c_init:()=>PO,sensor_use_spi_init:()=>QO,sensor_use_uart_init:()=>NE,sensor_weather_solo_init:()=>UE,sensor_weather_solo_rain:()=>HE,sensor_weather_solo_wd:()=>wE,sensor_weather_solo_ws:()=>kE,weather_data:()=>nE,weather_have_data:()=>sE,weather_set_label:()=>oE,weather_set_label_container:()=>pE,weather_set_label_item:()=>aE,weather_uart_mixio:()=>_E});var w={};t.r(w),t.d(w,{HCSR04:()=>pR,RTC_set_date:()=>oR,RTC_set_time:()=>_R,bitbot_als_num:()=>dc,dht11:()=>Ec,number1:()=>uR,number2:()=>rR,number3:()=>lR,number4:()=>dR,number5:()=>IR,number6:()=>TR,number7:()=>hR,onboard_RTC_get_time:()=>gR,onboard_RTC_get_timestamp:()=>CR,onboard_RTC_set_datetime:()=>LR,onboard_RTC_settime_string:()=>AR,onboard_RTC_timestamp_totuple:()=>SR,rfid_readcontent:()=>XR,rfid_readid:()=>YR,rfid_write:()=>xR,rfid_write_return:()=>yR,sensor_LTR308:()=>DR,sensor_aht11:()=>FR,sensor_bitbot_ALS:()=>lc,sensor_button_get_presses:()=>hc,sensor_button_is_pressed:()=>Ic,sensor_button_was_pressed:()=>Tc,sensor_distance_hrsc04:()=>sR,sensor_eulerangles:()=>bR,sensor_field_strength:()=>Rc,sensor_get_acceleration:()=>VR,sensor_get_temperature:()=>PR,sensor_hp203:()=>vR,sensor_light:()=>Oc,sensor_mixbot_get_gyro:()=>rc,sensor_mixbot_patrol_calibrate:()=>pc,sensor_mixbot_patrol_value:()=>ac,sensor_mixbot_temperature:()=>uc,sensor_mixgo_LTR308:()=>cR,sensor_mixgo_button_attachInterrupt:()=>qE,sensor_mixgo_button_get_presses:()=>zE,sensor_mixgo_button_is_pressed:()=>KE,sensor_mixgo_button_was_pressed:()=>JE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>qR,sensor_mixgo_cc_mmc5603_get_angle:()=>zR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>JR,sensor_mixgo_light:()=>aR,sensor_mixgo_nova_LTR308:()=>RR,sensor_mixgo_nova_pin_near:()=>ER,sensor_mixgo_pin_near:()=>OR,sensor_mixgo_pin_near_double:()=>mR,sensor_mixgo_pin_near_single:()=>MR,sensor_mixgo_pin_pressed:()=>tR,sensor_mixgo_touch_slide:()=>nR,sensor_mixgocar42_button_attachInterrupt:()=>$E,sensor_mixgocar42_button_get_presses:()=>ZE,sensor_mixgocar42_button_is_pressed:()=>QE,sensor_mixgocar42_button_was_pressed:()=>jE,sensor_mixgocar_battery_left:()=>oc,sensor_mixgocar_pin_near:()=>sc,sensor_mixgocar_pin_near_line:()=>nc,sensor_mixgocar_pin_near_state_change:()=>_c,sensor_mixgoce_pin_pressed:()=>eR,sensor_mixgoce_temperature:()=>jR,sensor_mixgome_temperature:()=>QR,sensor_mpython_pin_pressed:()=>iR,sensor_mpython_qmi8658_get_gyro:()=>ZR,sensor_mpython_qmi8658_temperature:()=>$R,sensor_onboard_compass_reset:()=>KR,sensor_onboard_mpu9250_calibrate_compass:()=>kR,sensor_onboard_mpu9250_field_strength:()=>WR,sensor_onboard_mpu9250_gesture:()=>BR,sensor_onboard_mpu9250_get_acceleration:()=>GR,sensor_onboard_mpu9250_get_gyro:()=>wR,sensor_onboard_mpu9250_get_magnetic:()=>UR,sensor_onboard_mpu9250_temperature:()=>HR,sensor_pin_near:()=>mc,sensor_pin_pressed:()=>Mc,sensor_rm_acc:()=>ic,sensor_rm_battery_left:()=>ec,sensor_rm_pin_near_double:()=>tc,sensor_rtc_init:()=>NR,sensor_sound:()=>fR,sensor_temperature:()=>cc});var k={};t.r(k),t.d(k,{serial_any:()=>fc,serial_begin:()=>Xc,serial_print:()=>Sc,serial_print_byte:()=>Cc,serial_print_hex:()=>Lc,serial_println:()=>Ac,serial_read_from_ai:()=>kc,serial_readline:()=>Fc,serial_readstr:()=>Dc,serial_readstr_until:()=>Pc,serial_receive_data_event:()=>Nc,serial_send_to_ai:()=>wc,serial_softserial:()=>Yc,serial_softserial_new:()=>vc,system_input:()=>xc,system_print:()=>yc,system_print_container:()=>Gc,system_print_end:()=>bc,system_print_inline:()=>Vc,system_print_item:()=>Uc,system_print_many:()=>Bc});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>Jc,Timer_init:()=>og,base_delay:()=>ug,controls_delay:()=>Kc,controls_delay_new:()=>Wc,controls_millis:()=>qc,controls_uname:()=>jc,raw_block:()=>Qc,reset:()=>zc,system_bitbot_shutdown:()=>_g,system_machine_reset:()=>sg,system_ticks_diff:()=>tg,system_timer:()=>$c,system_timer_init:()=>eg,system_wdt_feed:()=>ng,system_wdt_init:()=>ig,time_ticks_diff:()=>ag,timer:()=>Zc,timer2:()=>pg});var W={};t.r(W),t.d(W,{WEATHER_DAILY:()=>dg,WEATHER_HOUR:()=>Ig,WEATHER_NOW:()=>lg});var K={};t.r(K),t.d(K,{actuator_extern_get_led_bright:()=>Yg,actuator_extern_get_led_state:()=>Xg,actuator_extern_led_bright:()=>vg,actuator_extern_led_brightness:()=>xg,actuator_ms32006_dcmotor:()=>cg,actuator_ms32006_init:()=>Rg,actuator_ms32006_stepper:()=>gg,actuator_neopixel_init:()=>yg,actuator_neopixel_rgb:()=>Bg,actuator_neopixel_rgb_all:()=>Vg,actuator_neopixel_write:()=>bg,actuator_use_uart_init:()=>Gg,esp32_music_get_tempo_extern:()=>Dg,esp32_music_pitch:()=>Sg,esp32_music_pitch_init:()=>Cg,esp32_music_pitch_with_time:()=>Ag,esp32_music_play_list:()=>fg,esp32_music_reset_extern:()=>Fg,esp32_music_set_tempo_extern:()=>Ng,esp32_music_stop:()=>Lg,mixbot_actuator_extern_get_addr:()=>sC,mixbot_actuator_extern_set_addr:()=>_C,mixbot_addr_extern:()=>Wg,robot_led_extern:()=>qg,robot_led_extern_get_value:()=>Qg,robot_motor_extern:()=>Kg,robot_motor_extern_get_speed:()=>Jg,robot_servo_extern_absolute_run:()=>tC,robot_servo_extern_get_status:()=>jg,robot_servo_extern_relative_continue:()=>nC,robot_servo_extern_relative_origin:()=>eC,robot_servo_extern_relative_run:()=>iC,robot_servo_extern_stop:()=>$g,robot_servo_extern_stop_mode:()=>Zg,robot_traffic_light_extern:()=>zg,servo_get_angle:()=>Og,servo_get_speed:()=>Eg,servo_init:()=>Tg,servo_move:()=>Pg,servo_set_angle:()=>Mg,servo_set_speed:()=>mg,servo_speed_360:()=>hg,syn6288_builtin_voice:()=>kg,syn6288_get_voice:()=>wg,syn6288_set_voice:()=>Ug,syn6288_tts_play:()=>Hg});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>YC,actuator_dc_motor_stop:()=>XC,actuator_get_led_bright:()=>MC,actuator_get_led_state:()=>mC,actuator_led_bright:()=>hC,actuator_led_brightness:()=>OC,actuator_mixbot_buzzer_on_off:()=>BC,actuator_mixgo_nova_mic_get:()=>HC,actuator_mixgo_nova_mic_set:()=>kC,actuator_mixgo_nova_onboard_music_pitch:()=>QC,actuator_mixgo_nova_onboard_music_stop:()=>jC,actuator_mixgo_nova_play_audio:()=>zC,actuator_mixgo_nova_play_online_audio:()=>qC,actuator_mixgo_nova_record_audio:()=>JC,actuator_mixgo_nova_voice_get:()=>KC,actuator_mixgo_nova_voice_set:()=>WC,actuator_mixgo_zero_led_color:()=>EC,actuator_onboard_neopixel_rgb:()=>LC,actuator_onboard_neopixel_rgb_all:()=>NC,actuator_onboard_neopixel_rgb_show_all_chase:()=>DC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>fC,actuator_onboard_neopixel_write:()=>AC,actuator_stepper_keep:()=>PC,actuator_stepper_stop:()=>vC,bitbot_motor:()=>wC,bitbot_move:()=>GC,bitbot_stop:()=>UC,cc_number:()=>RC,esp32_music_get_tempo:()=>pC,esp32_music_reset:()=>dC,esp32_music_set_tempo:()=>oC,esp32_onboard_music_pitch:()=>aC,esp32_onboard_music_pitch_with_time:()=>uC,esp32_onboard_music_play_list:()=>lC,esp32_onboard_music_stop:()=>rC,get_power_output:()=>$C,ledswitch:()=>TC,mixbot_motor:()=>bC,mixbot_motor_status:()=>xC,mixbot_move:()=>yC,mixbot_stop:()=>VC,number:()=>IC,rm_actuator_get_led_bright:()=>gC,rm_actuator_get_led_state:()=>CC,rm_actuator_led_bright:()=>cC,rm_actuator_led_brightness:()=>SC,rm_motor:()=>FC,set_all_power_output:()=>tS,set_power_output:()=>ZC});var z={};t.r(z),t.d(z,{ai_sensor_20object:()=>YS,ai_sensor_ailocal_class:()=>gS,ai_sensor_ailocal_class_result:()=>CS,ai_sensor_ailocal_train:()=>cS,ai_sensor_asr_recognize:()=>DS,ai_sensor_audio_play:()=>AS,ai_sensor_audio_record:()=>SS,ai_sensor_barcode:()=>pS,ai_sensor_circle:()=>IS,ai_sensor_classifier_faces:()=>vS,ai_sensor_color:()=>mS,ai_sensor_color_chases:()=>RS,ai_sensor_color_chases_result:()=>ES,ai_sensor_config:()=>nS,ai_sensor_face:()=>PS,ai_sensor_find_20objects:()=>XS,ai_sensor_find_barcodes:()=>aS,ai_sensor_find_circles:()=>TS,ai_sensor_find_colors:()=>OS,ai_sensor_find_licenseplates:()=>FS,ai_sensor_find_lines:()=>dS,ai_sensor_find_qrcodes:()=>oS,ai_sensor_find_rects:()=>MS,ai_sensor_find_tags:()=>rS,ai_sensor_licenseplate:()=>fS,ai_sensor_line:()=>lS,ai_sensor_qrcode:()=>_S,ai_sensor_qrcode_lite:()=>iS,ai_sensor_rect:()=>hS,ai_sensor_rgb:()=>sS,ai_sensor_tag:()=>uS,ai_sensor_use_uart_init:()=>eS,ai_sensor_yolo_recognize:()=>LS,ai_sensor_yolo_recognize_result:()=>NS});var q={};t.r(q),t.d(q,{MICROPYTHON_AI_Speech_asr:()=>VS,MICROPYTHON_AI_Speech_unit:()=>yS,MICROPYTHON_AI_client:()=>xS});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>qS,mpython_blynk_app_notify:()=>HS,mpython_blynk_email:()=>QS,mpython_blynk_get_timers:()=>KS,mpython_blynk_on_connected:()=>US,mpython_blynk_on_disconnected:()=>GS,mpython_blynk_run:()=>kS,mpython_blynk_sensor_data_to_app:()=>zS,mpython_blynk_set_property:()=>jS,mpython_blynk_setup:()=>ZS,mpython_blynk_stop_timers:()=>WS,mpython_blynk_sync_virtual:()=>BS,mpython_blynk_terminal_widget_vpin:()=>bS,mpython_blynktimer:()=>JS,mpython_blynktimer_run:()=>wS});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>$S,cc_g1_read_joystick:()=>tA,cc_g1_read_key:()=>eA,cc_g1_turnoff:()=>iA});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>rA,ce_go_get_led_bright:()=>_A,ce_go_get_led_state:()=>oA,ce_go_hall_attachInterrupt:()=>lA,ce_go_hall_data:()=>IA,ce_go_hall_initialize:()=>dA,ce_go_led_bright:()=>sA,ce_go_led_brightness:()=>pA,ce_go_light_number:()=>nA,ce_go_pin_light:()=>OA,ce_go_pin_near:()=>hA,ce_go_pin_near_line:()=>TA,ce_go_pin_near_state_change:()=>MA,ce_go_stepper_keep:()=>aA,ce_go_stepper_stop:()=>uA,sensor_mixgome_eulerangles:()=>mA});var $={};t.r($),t.d($,{communicate_bluetooth_central_init:()=>$A,communicate_bluetooth_connect:()=>iL,communicate_bluetooth_disconnect:()=>nL,communicate_bluetooth_handle:()=>uL,communicate_bluetooth_is_connected:()=>_L,communicate_bluetooth_mac:()=>sL,communicate_bluetooth_peripheral_init:()=>tL,communicate_bluetooth_recv:()=>aL,communicate_bluetooth_recv_only:()=>pL,communicate_bluetooth_scan:()=>eL,communicate_bluetooth_send:()=>oL,communicate_espnow_init:()=>rL,communicate_espnow_init_new:()=>lL,communicate_i2c_available:()=>LA,communicate_i2c_init:()=>cA,communicate_i2c_master_read:()=>AA,communicate_i2c_onboard:()=>EA,communicate_i2c_read:()=>gA,communicate_i2c_scan:()=>SA,communicate_i2c_write:()=>CA,communicate_ir_recv_init:()=>kA,communicate_ir_send_init:()=>zA,communicate_ow_init:()=>VA,communicate_ow_read:()=>GA,communicate_ow_reset:()=>BA,communicate_ow_scan:()=>bA,communicate_ow_select:()=>wA,communicate_ow_write:()=>UA,communicate_spi_buffer:()=>FA,communicate_spi_init:()=>DA,communicate_spi_onboard:()=>RA,communicate_spi_read:()=>PA,communicate_spi_read_output:()=>vA,communicate_spi_readinto:()=>YA,communicate_spi_readinto_output:()=>XA,communicate_spi_set:()=>fA,communicate_spi_write:()=>xA,communicate_spi_write_readinto:()=>yA,espnow_radio_channel:()=>mL,espnow_radio_channel_new:()=>EL,espnow_radio_on_off:()=>RL,espnow_radio_rec:()=>gL,espnow_radio_recv:()=>SL,espnow_radio_recv_certain_msg:()=>AL,espnow_radio_recv_certain_msg_new:()=>NL,espnow_radio_recv_msg:()=>CL,espnow_radio_recv_new:()=>LL,espnow_radio_send:()=>cL,espnow_radio_txpower:()=>OL,i2c_slave_onreceive:()=>NA,internal_variable:()=>HA,ir_recv_timeout:()=>JA,ir_transmit_busy:()=>ZA,ir_transmit_conventional_data:()=>qA,ir_transmit_raw_code:()=>jA,ir_transmit_study_code:()=>QA,ir_whether_recv:()=>KA,lora_init:()=>DL,lora_packet:()=>fL,lora_recv:()=>PL,lora_send:()=>FL,network_espnow_info:()=>IL,network_espnow_mac:()=>dL,network_espnow_recv:()=>TL,network_espnow_recv_handle:()=>ML,network_espnow_send:()=>hL,recv_fun:()=>WA,urequests_attribute:()=>YL,urequests_get:()=>vL,urequests_method:()=>XL});var tt={};t.r(tt),t.d(tt,{display_animate:()=>_N,display_circle:()=>oN,display_color_seclet:()=>mN,display_draw_4strings:()=>ZL,display_fill:()=>sN,display_lcd_use_i2c_init:()=>CN,display_line:()=>eN,display_line_arbitrarily:()=>$L,display_matrix_extern_bright_point:()=>WL,display_matrix_extern_bright_screen:()=>JL,display_matrix_extern_clear:()=>wL,display_matrix_extern_get_pixel:()=>HL,display_matrix_extern_get_screen_pixel:()=>KL,display_matrix_extern_image_builtins:()=>zL,display_matrix_extern_scroll_string:()=>GL,display_matrix_extern_scroll_string_delay:()=>UL,display_matrix_extern_shift:()=>kL,display_matrix_extern_show_frame_string:()=>bL,display_matrix_extern_show_frame_string_delay:()=>BL,display_matrix_extern_show_image:()=>yL,display_matrix_extern_show_image_or_string_delay:()=>VL,display_matrix_use_i2c_init:()=>xL,display_oled_drawPixel:()=>uN,display_oled_showBitmap:()=>aN,display_oled_use_i2c_init:()=>DN,display_onoff:()=>iN,display_rect:()=>tN,display_tm1650_power:()=>lN,display_tm1650_set_brightness:()=>TN,display_tm1650_show_dot:()=>IN,display_tm1650_show_num:()=>dN,display_tm_use_i2c_init:()=>rN,display_triangle:()=>pN,display_use_i2c_init:()=>jL,extern_oled_bright_point:()=>GN,extern_oled_clear:()=>VN,extern_oled_get_pixel:()=>BN,extern_oled_hvline:()=>wN,extern_oled_line:()=>kN,extern_oled_scroll_string:()=>xN,extern_oled_scroll_string_delay:()=>yN,extern_oled_shape_rect:()=>UN,extern_oled_shift:()=>bN,extern_oled_show_frame_string:()=>YN,extern_oled_show_frame_string_delay:()=>XN,extern_oled_show_image:()=>fN,extern_oled_show_image_or_string_delay:()=>vN,extern_oled_show_image_xy:()=>FN,extern_oled_show_string:()=>PN,image_shift:()=>nN,lcd_backlight:()=>LN,lcd_clear:()=>NN,lcd_print_string:()=>AN,lcd_show_image_or_string_delay:()=>SN,matrix_extern_image_arithmetic:()=>qL,matrix_extern_image_invert:()=>QL,tft_fill:()=>cN,tft_line_arbitrarily:()=>gN,tft_scroll_string_delay:()=>RN,tft_show_frame_string_delay:()=>EN,tft_show_image_or_string_delay:()=>ON,tft_show_image_xy:()=>MN,tft_use_spi_init:()=>hN});var et={};t.r(et),t.d(et,{bitbot_display_image_create:()=>ND,display_bright_point:()=>sD,display_bright_screen:()=>oD,display_clear:()=>$N,display_get_pixel:()=>nD,display_get_screen_pixel:()=>_D,display_image_builtins:()=>QN,display_image_builtins_all:()=>jN,display_image_create:()=>ZN,display_scroll_string:()=>zN,display_scroll_string_delay:()=>qN,display_shift:()=>iD,display_show_frame_string:()=>KN,display_show_frame_string_delay:()=>JN,display_show_image:()=>HN,display_show_image_or_string_delay:()=>WN,image_arithmetic:()=>tD,image_invert:()=>eD,mixbot_display_bright_screen:()=>AD,mixbot_display_get_ambientbright:()=>SD,mixbot_display_get_screen_pixel:()=>CD,mixbot_display_image_create:()=>gD,mixbot_display_rotate:()=>LD,mixgo_display_image_create_new:()=>rD,mixgome_display_font:()=>uD,mixgome_display_image_create:()=>pD,mixgomini_display_image_create:()=>aD,mpython_display_hvline:()=>RD,mpython_display_line:()=>cD,mpython_display_shape_rect:()=>ED,mpython_pbm_image:()=>lD,onboard_oled_bright_point:()=>OD,onboard_oled_scroll_string_delay:()=>mD,onboard_oled_show_frame_string_delay:()=>MD,onboard_oled_show_image:()=>dD,onboard_oled_show_image_or_string_delay:()=>hD,onboard_oled_show_image_xy:()=>ID,onboard_oled_show_string:()=>TD,onboard_tft_bright_point:()=>UD,onboard_tft_bright_screen:()=>kD,onboard_tft_clear:()=>bD,onboard_tft_clock_clear:()=>qD,onboard_tft_clock_draw:()=>zD,onboard_tft_clock_get_rtctime:()=>KD,onboard_tft_clock_init:()=>WD,onboard_tft_clock_set_time:()=>JD,onboard_tft_display_hvline:()=>yD,onboard_tft_display_line:()=>VD,onboard_tft_display_shape_circle:()=>QD,onboard_tft_display_shape_rect:()=>xD,onboard_tft_fill:()=>HD,onboard_tft_get_pixel:()=>GD,onboard_tft_get_screen_pixel:()=>wD,onboard_tft_scroll_string:()=>YD,onboard_tft_scroll_string_delay:()=>XD,onboard_tft_shift:()=>BD,onboard_tft_show_frame_string:()=>PD,onboard_tft_show_frame_string_delay:()=>vD,onboard_tft_show_image:()=>DD,onboard_tft_show_image_or_string_delay:()=>FD,onboard_tft_show_image_xy:()=>fD});var it={};t.r(it),t.d(it,{factory_block:()=>_f,factory_block_return:()=>of,factory_block_return_with_textarea:()=>af,factory_block_with_textarea:()=>pf,factory_callMethod_noreturn:()=>nf,factory_callMethod_return:()=>sf,factory_declare:()=>ef,factory_from_import:()=>jD,factory_function_noreturn:()=>$D,factory_function_return:()=>tf,factory_import:()=>ZD,folding_block:()=>uf});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>Sf,inout_analog_read:()=>mf,inout_analog_read_init:()=>Cf,inout_analog_write:()=>Tf,inout_analog_write_init:()=>gf,inout_analog_write_set:()=>hf,inout_digital_init:()=>Rf,inout_digital_read:()=>df,inout_digital_write:()=>lf,inout_highlow:()=>rf,inout_pin_attachInterrupt:()=>Ef,inout_pin_pressed:()=>Of,inout_pin_pressed_init:()=>Af,inout_pwm_analog_write:()=>If,inout_pwm_analog_write_init:()=>cf,inout_pwm_analog_write_set_freq:()=>Mf});var st={};t.r(st),t.d(st,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Hf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>wf,IOT_EMQX_PING:()=>Wf,IOT_FORMATTING:()=>Gf,IOT_FORMAT_STRING:()=>Uf,IOT_MIXIO_NTP:()=>Kf,IOT_MIXIO_PUBLISH:()=>Yf,IOT_MIXIO_SUBSCRIBE:()=>Xf,iot_client_onboard:()=>Jf,iot_http_client:()=>zf,iot_http_data:()=>qf,iot_mixio_check:()=>Vf,iot_mixio_connect:()=>vf,iot_mixio_connect_only:()=>yf,iot_mixio_disconnect:()=>xf,iot_mixio_format_msg:()=>Bf,iot_mixio_format_topic:()=>bf,iot_mixly_key:()=>kf,iot_mqtt_client:()=>Qf,iot_mqtt_data:()=>jf,iot_onenet_check:()=>Ff,iot_onenet_connect:()=>Nf,iot_onenet_disconnect:()=>Df,iot_onenet_publish:()=>Pf,iot_onenet_publish_dict:()=>ff,iot_wifi_connect:()=>Lf});var _t={};t.r(_t),t.d(_t,{network_ap_connect:()=>oF,network_connect:()=>$f,network_get_connect:()=>eF,network_get_wifi:()=>_F,network_init:()=>Zf,network_is_active:()=>sF,network_open:()=>nF,network_scan:()=>pF,network_server:()=>aF,network_socket_accept:()=>IF,network_socket_bind:()=>rF,network_socket_close:()=>OF,network_socket_connect:()=>lF,network_socket_init:()=>uF,network_socket_listen:()=>dF,network_socket_receive:()=>TF,network_socket_receive_from:()=>MF,network_socket_send:()=>hF,network_socket_send_to:()=>mF,network_stop:()=>iF,network_wifi_connect:()=>tF,ntptime_address:()=>CF,ntptime_time:()=>gF,requests_attribute:()=>RF,requests_get:()=>EF,requests_method:()=>cF});var ot={};t.r(ot),t.d(ot,{HCSR04:()=>dP,PS2_Button:()=>hP,PS2_Buttons:()=>MP,PS2_Buttons_new:()=>SP,PS2_State:()=>mP,PS2_init:()=>IP,PS2_init_new:()=>gP,PS2_stk:()=>OP,PS2_stk_new:()=>AP,PS2_vibration:()=>TP,PS2_vibration_new:()=>CP,RTC_get_time:()=>RP,RTC_set_date:()=>PF,RTC_set_datetime:()=>EP,RTC_set_time:()=>FF,esp32_s2_weather_init:()=>aP,esp32_s2_weather_rain:()=>rP,esp32_s2_weather_wd:()=>uP,esp32_s2_weather_ws:()=>lP,extern_rfid_read:()=>QF,extern_rfid_readcontent:()=>ZF,extern_rfid_readid:()=>jF,extern_rfid_status:()=>eP,extern_rfid_write:()=>$F,extern_rfid_write_return:()=>tP,gnss_get_data:()=>DP,gnss_have_data:()=>fP,mixbot_sensor_extern_get_addr:()=>bP,mixbot_sensor_extern_set_addr:()=>BP,pm25_get_data:()=>NP,robot_button_extern_get_value:()=>FP,robot_color_extern_get_value:()=>xP,robot_infrared_extern_get_value:()=>vP,robot_infrared_extern_grey_get_value:()=>YP,robot_potentiometer_extern_get_value:()=>XP,robot_sonar_extern_get_value:()=>yP,robot_sonar_extern_led:()=>VP,robot_touch_extern_get_value:()=>PP,sensor_APDS9960_extern:()=>GF,sensor_LTR308_extern:()=>UF,sensor_LTR390UV_extern:()=>HF,sensor_MAX30102_extern:()=>BF,sensor_QMC5883L_extern:()=>WF,sensor_VL530LX_extern:()=>zF,sensor_aht11_extern:()=>JF,sensor_bmp:()=>yF,sensor_dht11:()=>cP,sensor_distance_hrsc04:()=>fF,sensor_hp203_extern:()=>wF,sensor_ltr381_extern:()=>kF,sensor_mixgo_extern_button_attachInterrupt:()=>NF,sensor_mixgo_extern_button_get_presses:()=>LF,sensor_mixgo_extern_button_is_pressed:()=>SF,sensor_mixgo_extern_button_was_pressed:()=>AF,sensor_mixgo_extern_light:()=>vF,sensor_mixgo_extern_pin_near:()=>XF,sensor_mixgo_extern_sound:()=>YF,sensor_mixgoce_hot_wheel_degrees:()=>pP,sensor_mixgoce_hot_wheel_is_touched:()=>oP,sensor_mpu9250_attachGestureInterrupt:()=>DF,sensor_rtc_init:()=>xF,sensor_sht:()=>VF,sensor_shtc3_extern:()=>KF,sensor_use_i2c_init:()=>bF,sensor_use_spi_init:()=>qF,sensor_use_uart_init:()=>LP,sensor_weather_solo_init:()=>GP,sensor_weather_solo_rain:()=>kP,sensor_weather_solo_wd:()=>UP,sensor_weather_solo_ws:()=>wP,weather_data:()=>iP,weather_have_data:()=>nP,weather_set_label:()=>_P,weather_uart_mixio:()=>sP});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>ZP,bitbot_als_num:()=>MY,dht11:()=>SY,number1:()=>$P,number2:()=>tv,number3:()=>ev,number4:()=>iv,number5:()=>nv,number6:()=>sv,number7:()=>_v,onboard_RTC_get_time:()=>zv,onboard_RTC_get_timestamp:()=>qv,onboard_RTC_set_datetime:()=>Kv,onboard_RTC_settime_string:()=>Jv,onboard_RTC_timestamp_totuple:()=>Qv,rfid_readcontent:()=>Rv,rfid_readid:()=>Ev,rfid_write:()=>cv,rfid_write_return:()=>gv,sensor_LTR308:()=>Tv,sensor_adxl345_get_acceleration:()=>Pv,sensor_aht11:()=>mv,sensor_bitbot_ALS:()=>hY,sensor_button_get_presses:()=>EY,sensor_button_is_pressed:()=>mY,sensor_button_was_pressed:()=>OY,sensor_compass_reset:()=>Vv,sensor_ds18x20:()=>dv,sensor_eulerangles:()=>Sv,sensor_get_acceleration:()=>Cv,sensor_get_temperature:()=>Ov,sensor_hp203:()=>Mv,sensor_light:()=>CY,sensor_lm35:()=>Iv,sensor_mixbot_get_gyro:()=>TY,sensor_mixbot_patrol_calibrate:()=>lY,sensor_mixbot_patrol_value:()=>dY,sensor_mixbot_temperature:()=>IY,sensor_mixgo_LTR308:()=>rv,sensor_mixgo_button_attachInterrupt:()=>JP,sensor_mixgo_button_get_presses:()=>KP,sensor_mixgo_button_is_pressed:()=>HP,sensor_mixgo_button_was_pressed:()=>WP,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>$v,sensor_mixgo_cc_mmc5603_get_angle:()=>Zv,sensor_mixgo_cc_mmc5603_get_magnetic:()=>jv,sensor_mixgo_light:()=>gY,sensor_mixgo_nova_LTR308:()=>lv,sensor_mixgo_nova_pin_near:()=>uv,sensor_mixgo_pin_near:()=>av,sensor_mixgo_pin_near_double:()=>pv,sensor_mixgo_pin_near_single:()=>ov,sensor_mixgo_pin_pressed:()=>fv,sensor_mixgo_touch_slide:()=>Dv,sensor_mixgocar42_button_attachInterrupt:()=>jP,sensor_mixgocar42_button_get_presses:()=>QP,sensor_mixgocar42_button_is_pressed:()=>zP,sensor_mixgocar42_button_was_pressed:()=>qP,sensor_mixgocar_battery_left:()=>rY,sensor_mixgocar_pin_near:()=>aY,sensor_mixgocar_pin_near_line:()=>pY,sensor_mixgocar_pin_near_state_change:()=>uY,sensor_mixgoce_pin_pressed:()=>Nv,sensor_mixgoce_temperature:()=>eY,sensor_mixgome_temperature:()=>tY,sensor_mpu9250_calibrate_compass:()=>Xv,sensor_mpu9250_field_strength:()=>yv,sensor_mpu9250_gesture:()=>Av,sensor_mpu9250_get_acceleration:()=>Lv,sensor_mpu9250_get_gyro:()=>Yv,sensor_mpu9250_get_magnetic:()=>vv,sensor_mpu9250_temperature:()=>xv,sensor_mpython_pin_pressed:()=>Fv,sensor_mpython_qmi8658_get_gyro:()=>iY,sensor_mpython_qmi8658_temperature:()=>nY,sensor_onboard_compass_reset:()=>Wv,sensor_onboard_mpu9250_calibrate_compass:()=>wv,sensor_onboard_mpu9250_field_strength:()=>Hv,sensor_onboard_mpu9250_gesture:()=>bv,sensor_onboard_mpu9250_get_acceleration:()=>Bv,sensor_onboard_mpu9250_get_gyro:()=>Uv,sensor_onboard_mpu9250_get_magnetic:()=>Gv,sensor_onboard_mpu9250_temperature:()=>kv,sensor_pin_near:()=>cY,sensor_pin_pressed:()=>RY,sensor_rm_acc:()=>oY,sensor_rm_battery_left:()=>_Y,sensor_rm_pin_near_double:()=>sY,sensor_sound:()=>hv});var at={};t.r(at),t.d(at,{serial_any:()=>fY,serial_print:()=>AY,serial_print_byte:()=>LY,serial_print_hex:()=>DY,serial_println:()=>NY,serial_read_from_ai:()=>GY,serial_readline:()=>PY,serial_readstr:()=>FY,serial_send_to_ai:()=>BY,serial_softserial:()=>vY,serial_softserial_new:()=>YY,system_input:()=>XY,system_print:()=>xY,system_print_end:()=>VY,system_print_inline:()=>yY,system_print_many:()=>bY});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>ZY,Timer_init:()=>IX,base_delay:()=>MX,controls_delay:()=>nX,controls_delay_new:()=>sX,controls_end_program:()=>tX,controls_millis:()=>$Y,controls_uname:()=>iX,reset:()=>eX,system_bitbot_shutdown:()=>dX,system_device_name:()=>QY,system_device_serial_number:()=>jY,system_event_bus_source:()=>zY,system_event_bus_value:()=>qY,system_machine_reset:()=>lX,system_on_event:()=>WY,system_raise_event:()=>HY,system_reset:()=>wY,system_run_in_background:()=>UY,system_ticks_diff:()=>pX,system_timer:()=>oX,system_timer_init:()=>aX,system_timestamp:()=>KY,system_value:()=>JY,system_wait:()=>kY,system_wdt_feed:()=>rX,system_wdt_init:()=>uX,time_ticks_diff:()=>hX,timer:()=>_X,timer2:()=>TX});var rt={};t.r(rt),t.d(rt,{WEATHER_DAILY:()=>OX,WEATHER_HOUR:()=>EX,WEATHER_NOW:()=>mX});var lt={};t.r(lt),t.d(lt,{controls_pin_attachInterrupt:()=>kX,inout_analog_atten:()=>PX,inout_analog_read:()=>FX,inout_analog_read_init:()=>VX,inout_analog_write:()=>NX,inout_analog_write_init:()=>yX,inout_analog_write_set:()=>DX,inout_analog_write_set_freq:()=>GX,inout_digital_init:()=>XX,inout_digital_read:()=>AX,inout_digital_write:()=>SX,inout_highlow:()=>CX,inout_pinMode:()=>BX,inout_pin_attachInterrupt:()=>YX,inout_pin_pressed:()=>vX,inout_pin_pressed_init:()=>bX,inout_pwm_analog_write:()=>LX,inout_pwm_analog_write_init:()=>xX,inout_pwm_analog_write_set_freq:()=>fX,pin_pressed:()=>wX,pin_pressed_init:()=>UX});var dt={};t.r(dt),t.d(dt,{me_g1_aht11:()=>WX,me_g1_hp203:()=>KX,me_g1_rfid_readcontent:()=>qX,me_g1_rfid_readid:()=>zX,me_g1_rfid_status:()=>ZX,me_g1_rfid_write:()=>QX,me_g1_rfid_write_outcome:()=>jX,me_g1_varistor:()=>JX});var It={};t.r(It),t.d(It,{me_go_dc_motor:()=>px,me_go_get_led_bright:()=>ix,me_go_get_led_state:()=>nx,me_go_hall_attachInterrupt:()=>ax,me_go_hall_data:()=>rx,me_go_hall_initialize:()=>ux,me_go_led_bright:()=>ex,me_go_led_brightness:()=>sx,me_go_light_number:()=>tx,me_go_pin_light:()=>hx,me_go_pin_near:()=>dx,me_go_pin_near_line:()=>lx,me_go_pin_near_state_change:()=>Ix,me_go_stepper_keep:()=>_x,me_go_stepper_stop:()=>ox,sensor_mixgome_eulerangles:()=>Tx});var Tt={};t.r(Tt),t.d(Tt,{analog_input:()=>Sx,analog_output:()=>Lx,espnow_channel:()=>cx,haskylens_model:()=>gx,i2c_A_pin:()=>Nx,i2c_B_pin:()=>Dx,pins_analog:()=>Yx,pins_analog_pin:()=>Xx,pins_axis:()=>jx,pins_brightness:()=>Zx,pins_builtinimg:()=>Hx,pins_builtinimg_extern:()=>Wx,pins_button:()=>Vx,pins_buttonB:()=>bx,pins_dac:()=>xx,pins_dac_pin:()=>yx,pins_digital:()=>mx,pins_digital_dot:()=>oy,pins_digital_pin:()=>Ox,pins_exlcdh:()=>qx,pins_exlcdv:()=>Qx,pins_imglist:()=>Kx,pins_input_pin:()=>Ex,pins_one_more:()=>_y,pins_output_pin:()=>Rx,pins_playlist:()=>Jx,pins_playlist_extern:()=>zx,pins_pwm:()=>Bx,pins_pwm_pin:()=>Gx,pins_radio_datarate:()=>sy,pins_radio_power:()=>ny,pins_serial:()=>kx,pins_tone_notes:()=>iy,pins_touch:()=>wx,pins_touch_pin:()=>Ux,pins_tts_bgmusic:()=>ey,pins_tts_builtin_music:()=>ty,pins_tts_voice:()=>$x,pwm_input:()=>Cx,pwm_output:()=>Ax,spi_A_pin:()=>fx,spi_B_pin:()=>Fx,spi_C_pin:()=>Px,spi_D_pin:()=>vx});var ht={};t.r(ht),t.d(ht,{inout_analog_atten:()=>cy,inout_analog_read:()=>Ty,inout_analog_read_init:()=>Ry,inout_analog_write:()=>ly,inout_analog_write_init:()=>Ey,inout_analog_write_set:()=>dy,inout_digital_init:()=>my,inout_digital_read:()=>uy,inout_digital_write:()=>ay,inout_highlow:()=>py,inout_pin_attachInterrupt:()=>My,inout_pin_pressed:()=>hy,inout_pin_pressed_init:()=>gy,inout_pwm_analog_write:()=>ry,inout_pwm_analog_write_init:()=>Oy,inout_pwm_analog_write_set_freq:()=>Iy});var Mt={};t.r(Mt),t.d(Mt,{me_g1_aht11:()=>Cy,me_g1_hp203:()=>Sy,me_g1_rfid_readcontent:()=>Ny,me_g1_rfid_readid:()=>Ly,me_g1_rfid_status:()=>Fy,me_g1_rfid_write:()=>Dy,me_g1_rfid_write_outcome:()=>fy,me_g1_varistor:()=>Ay});var mt={};t.r(mt),t.d(mt,{me_go_dc_motor:()=>by,me_go_get_led_bright:()=>Yy,me_go_get_led_state:()=>Xy,me_go_hall_attachInterrupt:()=>By,me_go_hall_data:()=>Uy,me_go_hall_initialize:()=>Gy,me_go_led_bright:()=>vy,me_go_led_brightness:()=>xy,me_go_light_number:()=>Py,me_go_pin_light:()=>Ky,me_go_pin_near:()=>ky,me_go_pin_near_line:()=>wy,me_go_pin_near_state_change:()=>Hy,me_go_stepper_keep:()=>yy,me_go_stepper_stop:()=>Vy,sensor_mixgome_eulerangles:()=>Wy});var Ot={};t.r(Ot),t.d(Ot,{analog_input:()=>iV,analog_output:()=>sV,espnow_channel:()=>tV,haskylens_model:()=>eV,i2c_A_pin:()=>_V,i2c_B_pin:()=>oV,pins_analog:()=>dV,pins_analog_pin:()=>lV,pins_axis:()=>LV,pins_brightness:()=>fV,pins_builtinimg:()=>cV,pins_builtinimg_extern:()=>gV,pins_button:()=>zy,pins_buttonB:()=>qy,pins_dac:()=>MV,pins_dac_pin:()=>hV,pins_digital:()=>Jy,pins_digital_dot:()=>VV,pins_digital_pin:()=>Qy,pins_exlcdh:()=>NV,pins_exlcdv:()=>DV,pins_imglist:()=>CV,pins_input_pin:()=>jy,pins_interrupt:()=>EV,pins_one_more:()=>yV,pins_output_pin:()=>Zy,pins_playlist:()=>SV,pins_playlist_extern:()=>AV,pins_pwm:()=>TV,pins_pwm_input:()=>$y,pins_pwm_pin:()=>IV,pins_radio_datarate:()=>xV,pins_radio_power:()=>XV,pins_serial:()=>RV,pins_tone_notes:()=>YV,pins_touch:()=>OV,pins_touch_pin:()=>mV,pins_tts_bgmusic:()=>vV,pins_tts_builtin_music:()=>PV,pins_tts_voice:()=>FV,pwm_output:()=>nV,spi_A_pin:()=>pV,spi_B_pin:()=>aV,spi_C_pin:()=>uV,spi_D_pin:()=>rV});const Et=Blockly,Rt=Mixly,ct={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(o+=n)):i=o}else i="i";return i}},gt=ct; /** * @license * Visual Blocks Editor @@ -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}},zt={init:function(){this.setColour(vt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},qt={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=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 ne={init:function(){this.setColour(ie),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(ie);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]}))}},_e={init:function(){this.setColour(ie);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]}))}},oe={init:function(){this.setColour(ie),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]}))}},pe={init:function(){this.setColour(ie),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]}))}},ae={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ue={init:function(){this.setColour(ie),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]}))}},re={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(ie),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]}))}},le={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(ie),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]}))}},de={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(ie),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]}))}},Ie={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(ie),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]}))}},Te={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(ie),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]}))}},he={init:function(){this.setColour(ie),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)}},Me={init:function(){this.setColour(ie),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)}},me={init:function(){this.setColour(ie),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)}},Oe={init:function(){this.setColour(ie),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)}},Ee={init:function(){this.setColour(ie),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)}},Re={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"]];this.setColour(ie),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]}))}},ce={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(ie),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]}))}},ge=Me,Ce=160,Se={init:function(){this.setColour(Ce),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,'"')}},Ae={init:function(){this.setColour(Ce),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 Le={init:function(){this.setColour(Ce),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,'"')}},Ne={init:function(){this.setColour(Ce),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)}},De={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},fe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Fe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Pe={init:function(){this.setColour(Ce),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ve={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(Ce),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)}},Ye={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),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)}},Xe={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ce),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},xe={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(Ce),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"))}},ye={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ce),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)}},Ve={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ce),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},be={init:function(){this.setColour(Ce),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)}},Be={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(Ce),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]}))}},Ge={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ce),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)}},Ue={init:function(){this.setColour(Ce),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)}},we={init:function(){this.setColour(Ce),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)}},ke={init:function(){this.setColour(Ce),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)}},He={init:function(){this.setColour(Ce),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)}},We={init:function(){var t=[[Et.Msg.TEXT_TRIM_BOTH,"strip"],[Et.Msg.TEXT_TRIM_LEFT,"lstrip"],[Et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ce),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]}))}},Ke={init:function(){this.setColour(Ce),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")}},wi={init:function(){this.setColour(Gi),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ki={init:function(){this.setColour(Gi),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}},Hi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_KEYS),this.setTooltip(Et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Wi={init:function(){this.setColour(Gi),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)}},Ki={init:function(){this.setColour(Gi),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(Gi),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(Gi),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)}},qi={init:function(){this.setColour(Gi),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)}},Qi={init:function(){this.setColour(Gi),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)}},ji={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},$i={init:function(){this.setColour(Gi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},tn={init:function(){this.setColour(Gi),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)}},en={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(Gi),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")}},nn={init:function(){this.setColour(Gi),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)}},sn={init:function(){this.setColour(Gi),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)}},_n={init:function(){this.setColour(Gi),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")}},on={init:function(){this.setColour(Gi),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},pn={init:function(){this.setColour(Gi),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)}},an={init:function(){this.setColour(Gi),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)}},un=210,rn={init:function(){var t=Et.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 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]}},ln={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(un),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)}},dn={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(un),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]}))}},In={init:function(){this.setColour(un),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},Tn={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(un),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},hn={init:function(){this.setColour(un),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},Mn={init:function(){this.setColour(un),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)}},mn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(un),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)}},On={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(un),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)}},En={init:function(){this.setColour(un),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Rn={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)}},cn={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")}},gn={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}))}},Cn={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}))}},Sn={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)}},An={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)}},Ln={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}))}},Nn={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)}},Dn={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)}},fn={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)}},Fn={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)}},Pn={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 vn={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)}},Yn={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)}},Xn={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)}},xn={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}))}},yn={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)}},Vn={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]}))}},bn={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)}},Bn={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)}},Gn={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]}))}},Un={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)}},wn={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()}},kn={};kn.NAME_TYPE=Et.PROCEDURE_CATEGORY_NAME,kn.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)}},bs={init:function(){this.setColour(vs),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Bs={init:function(){this.setColour(vs),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)}},Gs={init:function(){this.setColour(vs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(vs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(vs),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.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 Et.FieldTable(""),"TEXT")}},Ws={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},Ks={init:function(){this.setColour(ks),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Js={init:function(){this.setColour(ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},zs={init:function(){this.setColour(ks),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.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(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Qs={init:function(){this.setColour(ks),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 Fp=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]},Pp=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]},Yp=function(t,e){return["None",e.ORDER_ATOMIC]},Xp=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]},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]},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]},Vp=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"},Bp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Gp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Up=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},wp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},kp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Hp=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]},Wp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Kp=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"},qp=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"},jp=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]},$p=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"},ta=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ea=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ia=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},na=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"},sa=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]},_a=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"},oa=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"},pa=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]},Ua=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},wa=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},ka=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ha=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Wa=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ka=function(t,e){return'"},Ja=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},za=function(){return this.getFieldValue("TEXT")+"\n"},qa=function(t){return t.getFieldValue("TEXT")+"\n"},Qa=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},ja=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Za=function(){return""},$a=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},tu=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")},iu.scrubNakedValue=function(t){return t+"\n"},iu.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},iu.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},iu.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(_=t.getCommentText())&&(_=Et.utils.string.wrap(_,iu.COMMENT_WRAP-3),n+=iu.prefixLines(_+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const nu="#74A55B",su={init:function(){this.setColour(nu),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)}},_u={init:function(){this.setColour(nu),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)}},ou={init:function(){this.setColour(nu),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)}},pu={init:function(){this.setColour(nu),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)}},au={init:function(){this.setColour(nu),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)}},uu={init:function(){this.setColour(nu),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)}},ru={init:function(){this.setColour(nu),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)}},lu={init:function(){this.setColour(nu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},du={init:function(){this.setColour(nu),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)}},Iu={init:function(){this.setColour(nu),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)}},Tu={init:function(){this.setColour(nu),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)}},hu={init:function(){this.setColour(nu),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)}},Mu={init:function(){this.setColour(nu),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)}},mu={init:function(){this.setColour(nu),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)}},Ou={init:function(){this.setColour(nu),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)}},Eu={init:function(){this.setColour(nu),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)}},Ru={init:function(){this.setColour(nu),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)}},cu={init:function(){this.setColour(nu),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)}},gu={init:function(){this.setColour(nu),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)}},Cu={init:function(){this.setColour(nu),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通信")}},Su={init:function(){this.setColour(nu),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)")}},Au={init:function(){this.setColour(nu),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)")}},Lu={init:function(){this.setColour(nu),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)}},Nu={init:function(){this.setColour(nu),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)}},Du={init:function(){this.setColour(nu),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)}},fu={init:function(){this.setColour(nu),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)}},Fu={init:function(){this.setColour(nu),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")}},Pu={init:function(){this.setColour(nu),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)}},vu={init:function(){this.setColour(nu),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)}},Yu={init:function(){this.setColour(nu),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)}},Xu={init:function(){this.setColour(nu),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)}},xu={init:function(){this.setColour(nu),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},yu={init:function(){this.setColour(nu),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)}},Vu={init:function(){this.setColour(nu),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)}},bu={init:function(){this.setColour(nu),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)}},Bu={init:function(){this.setColour(nu),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)}},Gu={init:function(){this.setColour(nu),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)}},Uu={init:function(){this.setColour(nu),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)}},wu={init:function(){this.setColour(nu),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)}},ku={init:function(){this.setColour(nu),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)}},Hu={init:function(){this.setColour(nu),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)}},Wu={init:function(){this.setColour(nu),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)}},Ku={init:function(){this.setColour(nu),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)}},Ju={init:function(){this.setColour(nu),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)}},zu={init:function(){this.setColour(nu),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)}},qu={init:function(){this.setColour(nu),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)}},Qu="#6C9858",ju={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Zu={init:function(){this.setColour(Qu),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)}},$u={init:function(){this.setColour(Qu),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)}},tr={init:function(){this.setColour(Qu),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)}},er={init:function(){this.setColour(Qu),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)}},ir={init:function(){this.setColour(Qu),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%)")}},nr={init:function(){this.setColour(Qu),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_OFF,"0"],[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()}},sr={init:function(){this.setColour(Qu),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)}},_r={init:function(){this.setColour(Qu),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)}},or={init:function(){this.setColour(Qu),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)}},pr={init:function(){this.setColour(Qu),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)")}},ar={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ur={init:function(){this.setColour(Qu),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)}}},rr={init:function(){this.setColour(Qu),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)}},lr={init:function(){this.setColour(Qu),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("")}},dr={init:function(){this.setColour(Qu),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("")}},Ir={init:function(){this.setColour(Qu),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)}},Tr={init:function(){this.setColour(Qu),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)}}},hr={init:function(){this.setColour(Qu),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)}},Mr={init:function(){this.setColour(Qu),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("")}},mr={init:function(){this.setColour(Qu),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)}},Or={init:function(){this.setColour(Qu),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)}},Er={init:function(){this.setColour(Qu),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)}},Rr={init:function(){this.setColour(Qu),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)}},cr={init:function(){this.setColour(Qu),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)}},gr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cr={init:function(){this.setColour(Qu),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)}},Sr={init:function(){this.setColour(Qu),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)}},Ar={init:function(){this.setColour(Qu),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)}},Lr={init:function(){this.setColour(Qu),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("")}},Nr={init:function(){this.setColour(Qu),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)}},Dr={init:function(){this.setColour(Qu),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)}},fr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Fr={init:function(){this.setColour(Qu),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)}},Pr={init:function(){this.setColour(Qu),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)}},vr={init:function(){this.setColour(Qu),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)}},Yr={init:function(){this.setColour(Qu),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)}},Xr={init:function(){this.setColour(Qu),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)}},xr={init:function(){this.setColour(Qu),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)}},yr={init:function(){this.setColour(Qu),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)}},Vr={init:function(){this.setColour(Qu),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)}},br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Br={init:function(){this.setColour(Qu),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)}},Gr={init:function(){this.setColour(Qu),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)}},Ur={init:function(){this.setColour(Qu),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)}},wr={init:function(){this.setColour(Qu),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)}},kr={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(Et.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hr={init:function(){this.setColour(Qu),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)}},Wr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kr={init:function(){this.setColour(Qu),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()}},Jr={init:function(){this.setColour(Qu),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)}},zr={init:function(){this.setColour(Qu),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)}},qr="#90A244",Qr={init:function(){this.setColour(qr),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+"MixGo AI"+Et.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},jr={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_QR_CODE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.OLED_STRING,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},Zr={init:function(){this.setColour(qr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_QR_CODE+Et.Msg.MIXPY_OBJECT,"qrcode"],[Et.Msg.MIXLY_BAR_CODE+Et.Msg.MIXPY_OBJECT,"barcode"],[Et.Msg.MIXLY_TAG+Et.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},$r={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},tl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(Et.Msg.SOFT_RESET+Et.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},el={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(Et.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},il={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_BAR_CODE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.OLED_STRING,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},nl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TAG+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.OLED_STRING,"info1"],[Et.Msg.blockpy_turtle_rotate+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},_l={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},ol={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LINE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LINE_ANGLE,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},pl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},al={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_CIRCLE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_CIRCLE_AREA,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ul={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_RECT+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_CIRCLE_AREA,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},ll={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["RGB"+Et.Msg.HTML_COLOUR,"[0]"],["LAB"+Et.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},Il={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Tl={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_COLOR_CHASE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_CIRCLE_AREA,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},hl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+Et.Msg.MIXLY_COLOR_LAB).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Ml={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_OBJECT_LIST).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+Et.Msg.MIXLY_MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_TRAIN_TIME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(Et.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},ml={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_OBJECT_LIST).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(Et.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Ol={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LOCAL_CLASS+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},El={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXPY_AI_AUDIO_TIME).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Rl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_MP3_VOL).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ANCHOR).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_MODEL_PATH).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(Et.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},gl={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_YOLO_RECOGNIZE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Cl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setAlign(Et.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Sl={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LICENSEPLATE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},Al={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},Ll={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_FACE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Nl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Dl={init:function(){this.setColour(qr),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_20OBJECTS+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},fl={init:function(){this.setColour(qr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Fl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AipSpeech_asr,"ASR"],[Et.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_Client).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Pl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_AI_UNIT).appendField(Et.Msg.MIXLY_Client).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Et.Msg.OLED_STRING).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},vl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_AipSpeech_asr).appendField(Et.Msg.MIXLY_Client).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(Et.Msg.MIXPY_AI_AUDIO_TIME).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LANGUAGE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[Et.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[Et.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Yl="#2FAD7A",Xl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},xl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},yl={init:function(){this.jsonInit({inputsInline:!0,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},Vl={init:function(){this.jsonInit({inputsInline:!0,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Gl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Ul={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Hl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},Wl={init:function(){this.jsonInit({message0:Et.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Et.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Et.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},Kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},Jl={init:function(){this.jsonInit({inputsInline:!0,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},zl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Yl,helpUrl:Et.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},ql={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+" CC_G1"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);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]}))}},Ql={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_BATTERY),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour(40),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_JOYSTICK).appendField(new Et.FieldDropdown([["x","[0]"],["y","[1]"],["(x,y)",""]]),"VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Zl={init:function(){this.setColour(40),this.appendDummyInput().appendField(Et.Msg.MIXLY_BUTTON).appendField(new Et.FieldDropdown([["A","0"],["B","1"],["C","2"],["D","3"],["POWER","4"],["SELECT","5"]]),"VAR"),this.appendDummyInput("").appendField(Et.Msg.WHETHER_IS_PRESSED),this.setOutput(!0,Number),this.setInputsInline(!0)}},$l={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Et.Msg.MIXLY_HANDLE_SHUTDOWN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},td=100,ed={init:function(){this.setColour(td),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)}},id={init:function(){this.setColour(td),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)}},nd={init:function(){this.setColour(td),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)}},sd={init:function(){this.setColour(td),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)}},_d={init:function(){this.setColour(td),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)")}},od={init:function(){this.setColour(td),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)}},pd={init:function(){this.setColour(td),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)}},ad={init:function(){this.setColour(td),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)}},ud={init:function(){this.setColour(td),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)}},rd={init:function(){this.setColour(td),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)}},ld={init:function(){this.setColour(td),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)}},dd={init:function(){this.setColour(td),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}))}},Id={init:function(){this.setColour(td),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}))}},Td={init:function(){this.setColour(td),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)}},hd={init:function(){this.setColour(td),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)}},Md={init:function(){this.setColour(td),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}))}},md=140,Od={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(md),this.appendValueInput("SUB").appendField("I2C "+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},cd={init:function(){this.setColour(md),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},gd={init:function(){this.setColour(md),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},Cd={init:function(){this.setColour(md),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN1+Et.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},Sd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},Ad={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_SET)}},Ld={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SET+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},Nd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ)}},Dd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE+" "+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},fd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO)}},Fd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},Pd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE)}},vd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},Yd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},Xd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ+Et.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},xd={init:function(){this.setColour(md),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+Et.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_INIT)}},Vd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SCAN)}},bd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_READ)}},Bd={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.LANG_MATH_STRING,"write"],[Et.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_WRITE)}},Gd={init:function(){this.setColour(md),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(Et.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SELECT)}},Ud={init:function(){this.setColour(md),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_RESET)}},wd={init:function(){this.setColour(md),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_IR_INPUT1,"8"],[Et.Msg.MIXLY_IR_INPUT2,"16"],[Et.Msg.MIXLY_IR_INPUT3,"0"],[Et.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(Et.Msg.CONTROLS_REPEAT_INPUT_DO+Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kd={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_IR_CMD_CODE,"0"],[Et.Msg.MIXLY_IR_ADDR_CODE,"1"],[Et.Msg.MIXLY_IR_RAW_CODE,"2"],[Et.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXlY_RECV_FUN).appendField(new Et.FieldDropdown([[Et.Msg.MILY_PAUSE,"True"],[Et.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(md),this.appendValueInput("time").appendField(Et.Msg.MIXlY_RECV_FUN).appendField(Et.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(md),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_IR_SEND).appendField(Et.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_IR_SEND_samsung1,"False"],[Et.Msg.MIXLY_IR_SEND_samsung2,"True"],[Et.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(Et.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zd={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(Et.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(Et.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},qd={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_IR_PULSE).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(Et.Msg.MIXLY_IR_RAW_CODE).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jd={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(md),this.appendValueInput("VAR").appendField(Et.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catEthernet_init+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+Et.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(md),this.appendValueInput("VAR").appendField(Et.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catEthernet_init+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+Et.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN+Et.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},eI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},iI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TEXT_JOIN+Et.Msg.MSG.catBLE).appendField(new Et.FieldDropdown([[Et.Msg.HTML_NAME,"name"],[Et.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catBLE+Et.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(Et.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},_I={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catBLE+Et.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},oI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(Et.Msg.CONTROLS_REPEAT_INPUT_DO+Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},aI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(Et.Msg.CONTROLS_REPEAT_INPUT_DO+Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+Et.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(Et.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TX_POWER).appendField(new Et.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+Et.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(Et.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},lI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},dI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},II={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new Et.FieldDropdown([["("+Et.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+Et.Msg.OLED_STRING+")",""],[Et.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[Et.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},TI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},hI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},mI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_MP_ESPNOW_RADIO+Et.Msg.MIXLY_TX_POWER).appendField(new Et.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},OI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},EI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},RI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},cI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},CI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},SI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new Et.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},AI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},LI={init:function(){this.setColour(md),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new Et.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},NI={init:function(){this.setColour(md),this.appendValueInput("SUB").appendField("Lora"+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(Et.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(Et.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(Et.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(Et.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new Et.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LORA_INIT_TOOLTIP)}},DI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_PACKAGE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[Et.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(Et.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},FI={init:function(){this.setColour(md),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},PI={init:function(){this.setColour(md),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")}},vI={init:function(){this.appendValueInput("VAL");var t=[[Et.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(md),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]}))}},YI={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(md),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},XI=Rd,xI=cd,yI=gd,VI=Cd,bI=Sd,BI=Ad,GI=Ld,UI=Nd,wI=Dd,kI=fd,HI=Fd,WI=Pd,KI=vd,JI=Yd,zI=Xd,qI=120;({init:function(){this.setColour(qI),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(qI);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const QI="5BA5A5",jI={init:function(){this.setColour(QI),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ZI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},$I={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},tT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},iT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sT={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},_T={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},oT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},pT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},aT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},uT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},rT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Et.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},lT={init:function(){var t=[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},dT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("A").setCheck("esp32_image").appendField(Et.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},IT={init:function(){this.setColour(QI),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.appendValueInput("row").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},TT={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.OLEDDISPLAY+Et.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(QI),this.setTooltip(Et.Msg.MIXLY_DF_LCD+Et.Msg.OLEDDISPLAY+Et.Msg.MIXLY_MICROBIT_TYPE_STRING)}},hT={init:function(){var t=[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]];this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[t]}))}},MT={init:function(){var t=[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(QI),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(t),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)}},mT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_DISPLAY_DRAW).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Et.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE)}},OT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},ET={init:function(){this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},RT={init:function(){this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},cT={init:function(){this.setColour(QI),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},gT={init:function(){this.setColour(QI),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"ON"],[Et.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},CT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},ST={init:function(){this.setColour(QI),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Et.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},AT={init:function(){var t=[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(QI),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(t),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},LT={init:function(){var t=[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(QI),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Et.FieldDropdown(t),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},NT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Et.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},DT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Et.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Et.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Et.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_SHOW_BMP_TOOLTIP)}},fT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(Et.Msg.OLED),this.appendDummyInput("").appendField(Et.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Et.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Et.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_DRAW_PIXE_TOOLTIP)}},FT={init:function(){this.setColour(QI),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},PT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"on"],[Et.Msg.MIXLY_OFF,"off"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},vT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},YT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},XT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},xT={init:function(){this.setColour(QI),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+Et.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.blockpy_turtle_rotate).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_NO,"0"],[Et.Msg.ANTI_CLOCKWISE+"90°","1"],[Et.Msg.ANTI_CLOCKWISE+"180°","2"],[Et.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},yT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},VT={init:function(){this.setColour(QI);let t=new Et.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},bT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},BT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},GT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catTFT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},wT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},kT={init:function(){this.setColour(QI),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(Et.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},HT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.array2_rows),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},WT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_SERIAL_PRINT+Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},KT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catLCD),this.appendDummyInput().appendField(Et.Msg.TFT_Brightness).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:Et.Msg.MIXLY_MICROBIT_Turn_on_display,0:Et.Msg.MIXLY_MICROBIT_Turn_off_display};return Et.Msg.MSG.catLCD+Et.Msg.TFT_Brightness+i[e]}))}},JT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catLCD),this.setColour(QI),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},zT={init:function(){this.setColour(QI),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(Et.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},qT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},QT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},jT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},ZT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},$T={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},th={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},eh={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ih={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nh={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},sh={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},_h={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oh={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},ph={init:function(){this.jsonInit({colour:QI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},ah={init:function(){this.jsonInit({colour:QI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Et.Msg.mpython_vertical,"0"],[Et.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},uh={init:function(){this.jsonInit({colour:QI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[Et.Msg.mpython_display_hline_1,"1"],[Et.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.mpython_display_line_TOOLTIP,message0:Et.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},rh="#569A98",lh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Rt.Boards.getSelectedBoardKey()&&this.setTooltip(Et.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},dh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ih={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Th={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Mh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(rh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Oh={init:function(){this.jsonInit({colour:rh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},Eh={init:function(){this.jsonInit({colour:rh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},Rh={init:function(){var t=[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(rh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},ch={init:function(){this.setColour(rh),this.appendValueInput("A").setCheck("esp32_image").appendField(Et.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},gh={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(rh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Et.Msg.MIXLY_UP,shift_down:Et.Msg.MIXLY_DOWN,shift_left:Et.Msg.MIXLY_LEFT,shift_right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},Ch={init:function(){this.setColour(rh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Sh={init:function(){this.setColour(rh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Ah={init:function(){this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Lh={init:function(){this.setColour(rh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Nh={init:function(){this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},Dh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(rh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},fh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(rh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Fh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(rh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Ph={init:function(){var t=[["4x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Et.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.OLED_SET_FONT).appendField(new Et.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vh={init:function(){this.setColour(rh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Yh={init:function(){this.setColour(rh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Xh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},xh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},yh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Vh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.setColour(rh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Bh={init:function(){this.jsonInit({colour:rh,args0:[{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Gh={init:function(){this.jsonInit({colour:rh,args0:[{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Et.Msg.mpython_vertical,"0"],[Et.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Uh={init:function(){this.jsonInit({colour:rh,args0:[{name:"state",options:[[Et.Msg.mpython_display_hline_1,"1"],[Et.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.mpython_display_line_TOOLTIP,message0:Et.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},wh={init:function(){this.jsonInit({colour:rh,args0:[{type:"field_label",name:"size_image",text:Et.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},kh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(rh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Hh={init:function(){this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Wh={init:function(){this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Kh={init:function(){this.setColour(rh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Jh={init:function(){var t=[[Et.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Et.Msg.CLOCKWISE+"90"+Et.Msg.blockpy_setheading_degree,"1"],[Et.Msg.CLOCKWISE+"180"+Et.Msg.blockpy_setheading_degree,"2"],[Et.Msg.CLOCKWISE+"270"+Et.Msg.blockpy_setheading_degree,"3"]];this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Et.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(rh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},qh={init:function(){this.setColour(rh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Qh={init:function(){this.setColour(rh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},jh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Zh={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$h={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},tM={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eM={init:function(){this.setColour(rh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iM={init:function(){this.jsonInit({colour:rh,args0:[{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Et.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},nM={init:function(){this.jsonInit({colour:rh,args0:[{name:"dir_h_v",options:[[Et.Msg.mpython_vertical,"0"],[Et.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Et.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},sM={init:function(){this.jsonInit({colour:rh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.mpython_display_line_TOOLTIP,message0:Et.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},_M={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(rh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},oM={init:function(){this.setColour(rh),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},pM={init:function(){this.setColour(rh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_LCD_SETCOLOR).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},aM={init:function(){this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},uM={init:function(){this.setColour(rh),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},rM={init:function(){this.setColour(rh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},lM={init:function(){this.setColour(rh),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dM={init:function(){this.setColour(rh),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Et.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IM={init:function(){this.setColour(rh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TM={init:function(){this.setColour(rh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Et.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Et.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Et.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hM={init:function(){this.setColour(rh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(rh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.jsonInit({colour:rh,args0:[{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,message0:Et.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},OM="#777777",EM={init:function(){this.setColour(OM),this.appendDummyInput("").appendField("from ").appendField(new Et.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Et.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RM={init:function(){this.setColour(OM),this.appendDummyInput("").appendField("import ").appendField(new Et.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cM={init:function(){this.setColour(OM),this.appendDummyInput("").appendField(new Et.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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(em),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},um={init:function(){this.setColour(em),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}},rm={init:function(){this.setColour(em),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}},lm={init:function(){this.setColour(em),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)}},dm={init:function(){this.setColour(em),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)}},Im={init:function(){this.setColour(em),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)}},Tm={init:function(){this.setColour(em),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour(em),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mm={init:function(){this.setColour(em),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mm={init:function(){this.setColour(em),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Om={init:function(){this.setColour(em),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Em={init:function(){this.setColour(em),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Rm={init:function(){this.setColour(em),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},cm={init:function(){this.setColour(em),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)}},gm={init:function(){this.setColour(em),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)}},Cm={init:function(){this.setColour(em),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)}},Sm={init:function(){this.setColour(em),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)}},Am={init:function(){this.VISITOR_ID=Rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(em),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")}},Lm={init:function(){this.setColour(em),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Nm={init:function(){this.setColour(em),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)}},Dm={init:function(){this.setColour(em),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)}},fm={init:function(){this.setColour(em),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)}},Fm={init:function(){this.setColour(em),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)}},Pm=im,vm=nm,Ym=sm,Xm=_m,xm=pm,ym=225,Vm={init:function(){this.setColour(ym),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)}},bm={init:function(){this.setColour(ym),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}))}},Bm={init:function(){this.setColour(ym),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)}},Gm={init:function(){this.setColour(ym),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}))}},Um={init:function(){this.setColour(ym),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)}},wm={init:function(){this.setColour(ym),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},km={init:function(){this.setColour(ym),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]}))}},Hm={init:function(){this.setColour(ym),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)}},Wm={init:function(){this.setColour(ym),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)}},Km={init:function(){this.setColour(ym),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)}},Jm={init:function(){this.setColour(ym),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)}},zm={init:function(){this.setColour(ym),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]}))}},qm={init:function(){this.setColour(ym),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)}},Qm={init:function(){this.setColour(ym),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)}},jm={init:function(){this.setColour(ym),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)}},Zm={init:function(){this.setColour(ym),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)}},$m={init:function(){this.setColour(ym),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)}},tO={init:function(){this.setColour(ym),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)}},eO={init:function(){this.setColour(ym),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)}},iO={init:function(){this.setColour(ym),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)}},nO={init:function(){this.setColour(ym),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)}},sO={init:function(){this.setColour(ym),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")}},_O={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(ym),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]}))}},oO={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(ym),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]}))}},pO={init:function(){this.setColour(ym),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)}},aO={init:function(){this.setColour(ym),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)}},uO="#A58C5B",rO={init:function(){this.setColour(uO),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)}},lO={init:function(){this.setColour(uO),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)}},dO={init:function(){this.setColour(uO),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)}},IO={init:function(){this.setColour(uO),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)}},TO={init:function(){this.setColour(uO),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]+_}))}},hO={init:function(){this.setColour(uO),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}))}},MO={init:function(){this.setColour(uO),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)}},mO={init:function(){var t=[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(uO),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]}))}},OO={init:function(){this.setColour(uO),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)}},EO={init:function(){this.setColour(uO),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)}},RO={init:function(){this.setColour(uO),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}))}},cO={init:function(){this.setColour(uO),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]}))}},gO={init:function(){this.setColour(uO),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]}))}},CO={init:function(){this.setColour(uO),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)}},SO={init:function(){this.setColour(uO),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)}},AO={init:function(){this.setColour(uO),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"],["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")}},LO={init:function(){this.setColour(uO),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)}},NO={init:function(){this.setColour(uO),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)}},DO={init:function(){this.setColour(uO),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)}},fO={init:function(){this.setColour(uO),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)}},FO={init:function(){this.setColour(uO),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)}},PO={init:function(){this.setColour(uO),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)}},vO={init:function(){this.setColour(uO),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]}))}},YO={init:function(){this.setColour(uO),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]}))}},XO={init:function(){this.setColour(uO),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)}},xO={init:function(){this.setColour(uO),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)}},yO={init:function(){this.setColour(uO),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]+_}))}},VO={init:function(){this.setColour(uO),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}))}},bO={init:function(){this.setColour(uO),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}))}},BO={init:function(){this.setColour(uO),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}))}},GO={init:function(){this.setColour(uO),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)}},UO={init:function(){this.setColour(uO),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)}},wO={init:function(){this.setColour(uO),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]}))}},kO={init:function(){this.setColour(uO),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)}},HO={init:function(){this.setColour(uO),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")}},WO={init:function(){this.setColour(uO),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)}},KO={init:function(){this.setColour(uO),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)}},JO={init:function(){this.setColour(uO),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)}},zO={init:function(){this.setColour(uO),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)}},qO={init:function(){this.setColour(uO),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)}},QO={init:function(){this.setColour(uO),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)}},jO={init:function(){this.setColour(uO),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)")}},ZO={init:function(){this.setColour(uO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},$O={init:function(){this.setColour(uO),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)}},tE={init:function(){this.setColour(uO),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},FL=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"},vL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YL=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"},XL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},xL=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"},yL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},VL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},bL=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]},BL=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"},GL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},UL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},wL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},kL=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]},HL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},WL=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"},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_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"},JL=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"},zL=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"}},qL=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"},QL=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]},ZL=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"},$L=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},tN=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"}},eN=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"}},iN=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"},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_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},sN=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},_N=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},oN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},pN=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"},aN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},uN=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"},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,"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},lN=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]},dN=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},IN=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},TN=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},hN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},MN=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},mN=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"},ON=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"},EN=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"},RN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},cN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},gN=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"},CN=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"},SN=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"},AN=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"},LN=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"},DN=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"},fN=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"},FN=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"},vN=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"},YN=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]},XN=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"},xN=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"},yN=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"},VN=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"},bN=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"},BN=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")},GN=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},UN=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"},wN=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},kN=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"},HN=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]},WN=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]},KN=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},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,"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},AD=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"},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,"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},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"},DD=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},fD=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},FD=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},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),_=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},vD=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"},YD=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"},XD=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]},xD=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},yD=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]},VD=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"},bD=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},BD=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},GD=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"},UD=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"},wD=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"},kD=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 _},HD=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},WD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},KD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},JD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},yY=function(){return"control.reset()\n"},VY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+")\n"},bY=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"},BY=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"},GY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},UY=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},wY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},kY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},HY=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},WY=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},KY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},JY=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]}},zY=function(){return"while True:\n pass\n"},qY=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},QY=function(t,e){return e.definitions_.import_os="import os","os.uname()"},jY=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"}},ZY=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"}},$Y=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"},tX=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"},eX=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]},iX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},nX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},sX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},_X=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"},pX=iX,aX=tX,uX=eX,rX=jY,lX=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]},dX=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]},IX=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]},TX={};TX["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"]],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"]]},TX["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 hX=TX,MX=20,mX={init:function(){this.setColour(MX),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)}},OX={init:function(){this.setColour(MX),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)}},EX={init:function(){this.setColour(MX),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)}},RX={init:function(){this.setColour(MX),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)}},cX={init:function(){this.setColour(MX),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)}},gX={init:function(){this.setColour(MX),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)}},CX={init:function(){this.setColour(MX),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)}},SX={init:function(){this.setColour(MX),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)}},AX={init:function(){this.setColour(MX),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)}},LX={init:function(){this.setColour(MX),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)}},NX={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)}},DX={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")}},fX={init:function(){this.setColour(MX),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")}},FX={init:function(){this.setColour(MX),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")}},PX={init:function(){this.setColour(MX),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")}},vX={init:function(){this.setColour(MX),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")}},YX=DX,XX=CX,xX=vX,yX=LX,VX=NX,bX=40,BX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),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]}))}},GX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),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)}},UX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},wX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),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)}},kX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),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)}},HX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),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)}},WX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),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)}},KX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bX),this.appendDummyInput().appendField(t).appendField("RFID"),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)}},JX=100,zX={init:function(){this.setColour(JX),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)}},qX={init:function(){this.setColour(JX),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)}},QX={init:function(){this.setColour(JX),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)}},jX={init:function(){this.setColour(JX),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)}},ZX={init:function(){this.setColour(JX),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)")}},$X={init:function(){this.setColour(JX),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)}},tx={init:function(){this.setColour(JX),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)}},ex={init:function(){this.setColour(JX),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)}},ix={init:function(){this.setColour(JX),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)}},nx={init:function(){this.setColour(JX),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)}},sx={init:function(){this.setColour(JX),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)}},_x={init:function(){this.setColour(JX),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}))}},ox={init:function(){this.setColour(JX),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}))}},px={init:function(){this.setColour(JX),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)}},ax={init:function(){this.setColour(JX),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(JX),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}))}},rx=230,lx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},dx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Ix={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Tx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},hx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Mx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},mx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Ox={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Ex={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Rx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},cx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},gx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Cx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Sx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Ax={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Lx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Nx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},Dx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},fx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},Fx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Px={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},vx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Yx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Xx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},yx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},Vx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Bx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Gx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Ux={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},wx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},kx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Hx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Wx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},Jx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},zx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},qx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Qx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},jx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Zx={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},$x={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ty={init:function(){this.setColour(rx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},ey=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},iy=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"},ny=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},sy=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"},_y=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"},oy=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"},py=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"},ay=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]},ry=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"},ly=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"},dy=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"},Iy=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"},Ty=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"},hy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},My=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"},my=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]},Oy=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]},Ey=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Ry=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},cy=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]},gy=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"},Cy=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]},Sy=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]},Ay=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},Ly=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"},Ny=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]},Dy=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]},fy=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"},Fy=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"},Py=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},vy=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"},Yy=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"},Xy=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"},xy=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]},yy=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]},Vy=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]},by=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"},By=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]},Gy=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]},Uy=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},wy=Uy,ky=Uy,Hy=Uy,Wy=Uy,Ky=Uy,Jy=Uy,zy=Uy,qy=Uy,Qy=Uy,jy=Uy,Zy=Uy,$y=Uy,tV=Uy,eV=Uy,iV=Uy,nV=Uy,sV=Uy,_V=Uy,oV=Uy,pV=Uy,aV=Uy,uV=Uy,rV=Uy,lV=Uy,dV=Uy,IV=Uy,TV=Uy,hV=Uy,MV=Uy,mV=Uy,OV=Uy,EV=Uy,RV=Uy,cV=Uy,gV=Uy,CV=Uy,SV=Uy,AV=Uy,LV=Uy,NV=Uy,DV=Uy,fV=Uy,FV=Uy,PV=Uy;Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,Hn),Et.Python=iu,Et.generator=iu,Rt.Profile.default={},Object.assign(Rt.Profile,hX),Object.assign(Rt.Profile.default,hX["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,z,pt,ot,_t,q,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}},zt={init:function(){this.setColour(vt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},qt={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=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 oe={init:function(){this.setColour(_e),this.appendDummyInput().appendField(new Et.FieldTextInput("0",Et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MATH_NUMBER_TOOLTIP)}},pe={init:function(){this.setColour(_e);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]}))}},ae={init:function(){this.setColour(_e);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]}))}},ue={init:function(){this.setColour(_e),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]}))}},re={init:function(){this.setColour(_e),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]}))}},le={init:function(){this.setColour(_e),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},de={init:function(){this.setColour(_e),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]}))}},Ie={init:function(){var t=[[Et.Msg.MATH_BIN,"bin"],[Et.Msg.MATH_OCT,"oct"],[Et.Msg.MATH_HEX,"hex"]];this.setColour(_e),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]}))}},Te={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(_e),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]}))}},he={init:function(){var t=[[Et.Msg.MIXLY_MAX,"max"],[Et.Msg.MIXLY_MIN,"min"]];this.setColour(_e),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(_e),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]}))}},me={init:function(){var t=[[Et.Msg.LANG_MATH_INT,"int"],[Et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(_e),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]}))}},Oe={init:function(){this.setColour(_e),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)}},Ee={init:function(){this.setColour(_e),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)}},Re={init:function(){this.setColour(_e),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)}},ce={init:function(){this.setColour(_e),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)}},ge={init:function(){this.setColour(_e),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)}},Ce={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"],[Et.Msg.MIXLY_TO_BITES,"b"]];this.setColour(_e),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]}))}},Se={init:function(){var t=[[Et.Msg.MIXLY_TO_INT,"int"],[Et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(_e),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]}))}},Ae=Ee,Le=160,Ne={init:function(){this.setColour(Le),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,'"')}},De={init:function(){this.setColour(Le),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(Le),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,'"')}},Fe={init:function(){this.setColour(Le),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)}},Pe={init:function(){this.setColour(Le),this.appendValueInput("VAR").setCheck(Number).appendField(Et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ve={init:function(){this.setColour(Le),this.appendValueInput("VAR").setCheck(String).appendField(Et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ye={init:function(){this.setColour(Le),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(Le),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},xe={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(Le),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)}},ye={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Le),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)}},Ve={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Le),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(Le),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"))}},Be={init:function(){this.setHelpUrl(Et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Le),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)}},Ge={init:function(){var t=[[Et.Msg.MIXLY_EQUALS,"==="],[Et.Msg.MIXLY_STARTSWITH,"startswith"],[Et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Le),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ue={init:function(){this.setColour(Le),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)}},we={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(Le),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]}))}},ke={init:function(){var t=[[Et.Msg.TEXT_LJUST,"ljust"],[Et.Msg.TEXT_CENTER,"center"],[Et.Msg.TEXT_RJUST,"rjust"]];this.setColour(Le),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)}},He={init:function(){this.setColour(Le),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)}},We={init:function(){this.setColour(Le),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)}},Ke={init:function(){this.setColour(Le),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)}},Je={init:function(){this.setColour(Le),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(Le),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(Le),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")}},Wi={init:function(){this.setColour(ki),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ki={init:function(){this.setColour(ki),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}},Ji={init:function(){this.setColour(ki),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(ki),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(ki),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)}},Qi={init:function(){this.setColour(ki),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)}},ji={init:function(){this.setColour(ki),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)}},Zi={init:function(){this.setColour(ki),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)}},$i={init:function(){this.setColour(ki),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)}},tn={init:function(){this.setColour(ki),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_ITEMS),this.setTooltip(Et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(ki),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.DICT_VALUES),this.setTooltip(Et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},nn={init:function(){this.setColour(ki),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LENGTH),this.setTooltip(Et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},sn={init:function(){this.setColour(ki),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)}},_n={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(ki),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")}},on={init:function(){this.setColour(ki),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)}},pn={init:function(){this.setColour(ki),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)}},an={init:function(){this.setColour(ki),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")}},un={init:function(){this.setColour(ki),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},rn={init:function(){this.setColour(ki),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)}},ln={init:function(){this.setColour(ki),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)}},dn=210,In={init:function(){var t=Et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(dn),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]}},Tn={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(dn),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)}},hn={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(dn),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(dn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Et.Msg.LOGIC_NEGATE_TOOLTIP)}},mn={init:function(){var t=[[Et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(dn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Et.FieldDropdown(t),"BOOL"),this.setTooltip(Et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},On={init:function(){this.setColour(dn),this.setOutput(!0),this.appendDummyInput().appendField(Et.Msg.LOGIC_NULL),this.setTooltip(Et.Msg.LOGIC_NULL_TOOLTIP)}},En={init:function(){this.setColour(dn),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)}},Rn={init:function(){var t=[[Et.Msg.TEXT_APPEND_TO,"in"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(dn),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)}},cn={init:function(){var t=[[Et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(dn),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)}},gn={init:function(){this.setColour(dn),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Cn={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)}},Sn={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")}},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.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}))}},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.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}))}},Nn={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)}},Dn={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}))}},Fn={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)}},Pn={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)}},vn={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)}},Yn={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 xn={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)}},yn={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)}},Vn={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}))}},Bn={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)}},Gn={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]}))}},Un={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)}},wn={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)}},kn={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]}))}},Hn={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)}},Wn={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()}},Kn={};Kn.NAME_TYPE=Et.PROCEDURE_CATEGORY_NAME,Kn.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)}},Us={init:function(){this.setColour(xs),this.appendDummyInput().appendField(Et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ws={init:function(){this.setColour(xs),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)}},ks={init:function(){this.setColour(xs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(xs),this.appendDummyInput().appendField(new Et.FieldTextInput("property"),"KEY").appendField(":").appendField(new Et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws={init:function(){this.setColour(xs),this.appendDummyInput().appendField(Et.Msg.HTML_TEXT).appendField(new Et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ks=160,Js={init:function(){this.setColour(Ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Et.FieldTable(""),"TEXT")}},zs={init:function(){this.setColour(Ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT")}},qs={init:function(){this.setColour(Ks),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Qs={init:function(){this.setColour(Ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},js={init:function(){this.setColour(Ks),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Zs={init:function(){this.setColour(Ks),this.appendValueInput("VALUE").appendField(Et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},$s={init:function(){this.setColour(Ks),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 yp=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]},Vp=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]},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]},zp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},qp=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]},_a=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"},oa=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"),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]},Ja=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},za=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},qa=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""},_u=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},ou=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")},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){(_=t.getCommentText())&&(_=Et.utils.string.wrap(_,au.COMMENT_WRAP-3),n+=au.prefixLines(_+"\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(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)}},lu={init:function(){this.setColour(uu),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)}},du={init:function(){this.setColour(uu),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)}},Iu={init:function(){this.setColour(uu),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)}},Tu={init:function(){this.setColour(uu),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)}},hu={init:function(){this.setColour(uu),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)}},Mu={init:function(){this.setColour(uu),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)}},mu={init:function(){this.setColour(uu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ou={init:function(){this.setColour(uu),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)}},Eu={init:function(){this.setColour(uu),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)}},Ru={init:function(){this.setColour(uu),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(uu),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)}},gu={init:function(){this.setColour(uu),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)}},Cu={init:function(){this.setColour(uu),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)}},Su={init:function(){this.setColour(uu),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)}},Au={init:function(){this.setColour(uu),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)}},Lu={init:function(){this.setColour(uu),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)}},Nu={init:function(){this.setColour(uu),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)}},Du={init:function(){this.setColour(uu),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)}},fu={init:function(){this.setColour(uu),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通信")}},Fu={init:function(){this.setColour(uu),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)")}},Pu={init:function(){this.setColour(uu),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)")}},vu={init:function(){this.setColour(uu),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)}},Yu={init:function(){this.setColour(uu),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)}},Xu={init:function(){this.setColour(uu),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)}},xu={init:function(){this.setColour(uu),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)}},yu={init:function(){this.setColour(uu),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")}},Vu={init:function(){this.setColour(uu),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)}},bu={init:function(){this.setColour(uu),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)}},Bu={init:function(){this.setColour(uu),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)}},Gu={init:function(){this.setColour(uu),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)}},Uu={init:function(){this.setColour(uu),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},wu={init:function(){this.setColour(uu),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)}},ku={init:function(){this.setColour(uu),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)}},Hu={init:function(){this.setColour(uu),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)}},Wu={init:function(){this.setColour(uu),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)}},Ku={init:function(){this.setColour(uu),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)}},Ju={init:function(){this.setColour(uu),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)}},zu={init:function(){this.setColour(uu),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)}},qu={init:function(){this.setColour(uu),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)}},Qu={init:function(){this.setColour(uu),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)}},ju={init:function(){this.setColour(uu),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)}},Zu={init:function(){this.setColour(uu),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)}},$u={init:function(){this.setColour(uu),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)}},tr={init:function(){this.setColour(uu),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)}},er={init:function(){this.setColour(uu),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)}},ir="#6C9858",nr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},sr={init:function(){this.setColour(ir),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)}},_r={init:function(){this.setColour(ir),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)}},or={init:function(){this.setColour(ir),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)}},pr={init:function(){this.setColour(ir),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)}},ar={init:function(){this.setColour(ir),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%)")}},ur={init:function(){this.setColour(ir),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_OFF,"0"],[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()}},rr={init:function(){this.setColour(ir),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)}},lr={init:function(){this.setColour(ir),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)}},dr={init:function(){this.setColour(ir),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)}},Ir={init:function(){this.setColour(ir),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)")}},Tr={init:function(){this.setColour(ir),this.appendDummyInput("").appendField(new Et.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},hr={init:function(){this.setColour(ir),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)}}},Mr={init:function(){this.setColour(ir),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)}},mr={init:function(){this.setColour(ir),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("")}},Or={init:function(){this.setColour(ir),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("")}},Er={init:function(){this.setColour(ir),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)}},Rr={init:function(){this.setColour(ir),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(ir),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)}},gr={init:function(){this.setColour(ir),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(ir),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)}},Sr={init:function(){this.setColour(ir),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)}},Ar={init:function(){this.setColour(ir),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)}},Lr={init:function(){this.setColour(ir),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)}},Nr={init:function(){this.setColour(ir),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)}},Dr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fr={init:function(){this.setColour(ir),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)}},Fr={init:function(){this.setColour(ir),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)}},Pr={init:function(){this.setColour(ir),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)}},vr={init:function(){this.setColour(ir),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("")}},Yr={init:function(){this.setColour(ir),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)}},Xr={init:function(){this.setColour(ir),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)}},xr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},yr={init:function(){this.setColour(ir),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)}},Vr={init:function(){this.setColour(ir),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)}},br={init:function(){this.setColour(ir),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)}},Br={init:function(){this.setColour(ir),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)}},Gr={init:function(){this.setColour(ir),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)}},Ur={init:function(){this.setColour(ir),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)}},wr={init:function(){this.setColour(ir),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)}},kr={init:function(){this.setColour(ir),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)}},Hr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_LED_GETONOFF)}},Wr={init:function(){this.setColour(ir),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)}},Kr={init:function(){this.setColour(ir),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)}},Jr={init:function(){this.setColour(ir),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)}},zr={init:function(){this.setColour(ir),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)}},qr={init:function(){this.setColour(ir),this.appendValueInput("PATH").appendField(Et.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(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)}},jr={init:function(){this.setColour(ir),this.appendDummyInput().appendField(Et.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Zr={init:function(){this.setColour(ir),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()}},$r={init:function(){this.setColour(ir),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)}},tl={init:function(){this.setColour(ir),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)}},el="#90A244",il={init:function(){this.setColour(el),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+"MixGo AI"+Et.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},nl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_QR_CODE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.OLED_STRING,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},sl={init:function(){this.setColour(el),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_QR_CODE+Et.Msg.MIXPY_OBJECT,"qrcode"],[Et.Msg.MIXLY_BAR_CODE+Et.Msg.MIXPY_OBJECT,"barcode"],[Et.Msg.MIXLY_TAG+Et.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},_l={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},ol={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField(Et.Msg.SOFT_RESET+Et.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},pl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(Et.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},al={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_BAR_CODE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.OLED_STRING,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},ul={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_TAG+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.OLED_STRING,"info1"],[Et.Msg.blockpy_turtle_rotate+Et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},ll={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LINE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LINE_ANGLE,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},Il={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},Tl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_CIRCLE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_CIRCLE_AREA,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},hl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Ml={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_RECT+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_CIRCLE_AREA,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},ml={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ol={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["RGB"+Et.Msg.HTML_COLOUR,"[0]"],["LAB"+Et.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},El={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Rl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_COLOR_CHASE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_CIRCLE_AREA,"info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},cl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+Et.Msg.MIXLY_COLOR_LAB).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},gl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_OBJECT_LIST).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+Et.Msg.MIXLY_MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(Et.Msg.MIXLY_TRAIN_TIME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(Et.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},Cl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_OBJECT_LIST).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_MODEL_NAME).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(Et.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Sl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LOCAL_CLASS+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},Al={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXPY_AI_AUDIO_TIME).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Ll={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_MP3_VOL).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_ANCHOR).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_MODEL_PATH).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(Et.Msg.MIXLY_AipNlp_Topic_Title).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Dl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_YOLO_RECOGNIZE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"],[Et.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+Et.Msg.MIXLY_POSITION_XY,"xc"],[Et.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+Et.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},fl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(Et.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(Et.Msg.MIXLY_ESP32_THRESHOLD).setAlign(Et.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Fl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_LICENSEPLATE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},Pl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},vl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_FACE+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Yl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Xl={init:function(){this.setColour(el),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_20OBJECTS+Et.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET).appendField(new Et.FieldDropdown([["ID","info1"],[Et.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[Et.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+Et.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+Et.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+Et.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+Et.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},xl={init:function(){this.setColour(el),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},yl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AipSpeech_asr,"ASR"],[Et.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_Client).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Vl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_AI_UNIT).appendField(Et.Msg.MIXLY_Client).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(Et.Msg.OLED_STRING).setAlign(Et.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},bl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_AipSpeech_asr).appendField(Et.Msg.MIXLY_Client).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(Et.Msg.MIXPY_AI_AUDIO_TIME).setAlign(Et.inputs.Align.RIGHT),this.appendDummyInput("").appendField(Et.Msg.MIXLY_LANGUAGE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[Et.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[Et.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Bl="#2FAD7A",Gl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Ul={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},wl={init:function(){this.jsonInit({inputsInline:!0,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},kl={init:function(){this.jsonInit({inputsInline:!0,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Jl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},zl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},ql={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Ql={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},jl={init:function(){this.jsonInit({message0:Et.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Et.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Et.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},Zl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},$l={init:function(){this.jsonInit({inputsInline:!0,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Et.CONTROLS_REPEAT_INPUT_DO)}},td={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Bl,helpUrl:Et.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Et.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Et.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},ed={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SETUP+" CC_G1"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);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]}))}},id={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Et.Msg.MIXLY_GET_BATTERY),this.setOutput(!0,Number),this.setInputsInline(!0)}},nd={init:function(){this.setColour(40),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET_JOYSTICK).appendField(new Et.FieldDropdown([["x","[0]"],["y","[1]"],["(x,y)",""]]),"VAR"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},sd={init:function(){this.setColour(40),this.appendDummyInput().appendField(Et.Msg.MIXLY_BUTTON).appendField(new Et.FieldDropdown([["A","0"],["B","1"],["C","2"],["D","3"],["POWER","4"],["SELECT","5"]]),"VAR"),this.appendDummyInput("").appendField(Et.Msg.WHETHER_IS_PRESSED),this.setOutput(!0,Number),this.setInputsInline(!0)}},_d={init:function(){this.setColour(40),this.appendDummyInput("").appendField(Et.Msg.MIXLY_HANDLE_SHUTDOWN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},od=100,pd={init:function(){this.setColour(od),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)}},ad={init:function(){this.setColour(od),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)}},ud={init:function(){this.setColour(od),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)}},rd={init:function(){this.setColour(od),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)}},ld={init:function(){this.setColour(od),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)")}},dd={init:function(){this.setColour(od),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)}},Id={init:function(){this.setColour(od),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)}},Td={init:function(){this.setColour(od),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)}},hd={init:function(){this.setColour(od),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)}},Md={init:function(){this.setColour(od),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)}},md={init:function(){this.setColour(od),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)}},Od={init:function(){this.setColour(od),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}))}},Ed={init:function(){this.setColour(od),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}))}},Rd={init:function(){this.setColour(od),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)}},cd={init:function(){this.setColour(od),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)}},gd={init:function(){this.setColour(od),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}))}},Cd=140,Sd={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Ld={init:function(){this.setColour(Cd),this.appendValueInput("SUB").appendField("I2C "+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(Et.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_FREQUENCY).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_INIT)}},Nd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Dd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},fd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_I2C_SCAN1+Et.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_SCAN)}},Fd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},Pd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_SET)}},vd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SET+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},Yd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ)}},Xd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(Et.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.LANG_MATH_BYTE+" "+Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},xd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO)}},yd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(Et.Msg.MIXLY_SERIAL_READ+Et.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},Vd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE)}},bd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(Et.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},Bd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},Gd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_READ+Et.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Ud={init:function(){this.setColour(Cd),this.appendValueInput("PIN",Number).appendField(Et.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+Et.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(Et.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_INIT)}},kd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SCAN)}},Hd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_READ)}},Wd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_ESP32_WRITE).appendField(new Et.FieldDropdown([[Et.Msg.LANG_MATH_STRING,"write"],[Et.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_WRITE)}},Kd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(Et.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_SELECT)}},Jd={init:function(){this.setColour(Cd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_OW_RESET)}},zd={init:function(){this.setColour(Cd),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_IR_INPUT1,"8"],[Et.Msg.MIXLY_IR_INPUT2,"16"],[Et.Msg.MIXLY_IR_INPUT3,"0"],[Et.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(Et.Msg.CONTROLS_REPEAT_INPUT_DO+Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qd={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_IR_CMD_CODE,"0"],[Et.Msg.MIXLY_IR_ADDR_CODE,"1"],[Et.Msg.MIXLY_IR_RAW_CODE,"2"],[Et.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXlY_RECV_FUN).appendField(new Et.FieldDropdown([[Et.Msg.MILY_PAUSE,"True"],[Et.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jd={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(Cd),this.appendValueInput("time").appendField(Et.Msg.MIXlY_RECV_FUN).appendField(Et.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$d={init:function(){this.setColour(Cd),this.appendValueInput("PIN").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.MIXLY_IR_SEND).appendField(Et.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_IR_SEND_samsung1,"False"],[Et.Msg.MIXLY_IR_SEND_samsung2,"True"],[Et.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(Et.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(Et.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(Et.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(Et.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},eI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(Et.Msg.MIXLY_IR_PULSE).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(Et.Msg.MIXLY_IR_RAW_CODE).setAlign(Et.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").appendField(Et.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catEthernet_init+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+Et.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},_I={init:function(){this.setColour(Cd),this.appendValueInput("VAR").appendField(Et.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catEthernet_init+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+Et.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},oI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_ONEWIRE_SCAN+Et.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},pI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},aI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_TEXT_JOIN+Et.Msg.MSG.catBLE).appendField(new Et.FieldDropdown([[Et.Msg.HTML_NAME,"name"],[Et.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catBLE+Et.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(Et.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},lI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MSG.catBLE+Et.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},dI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(Et.Msg.CONTROLS_REPEAT_INPUT_DO+Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},II={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},TI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField(Et.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(Et.Msg.CONTROLS_REPEAT_INPUT_DO+Et.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+Et.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(Et.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(Et.Msg.MIXLY_TX_POWER).appendField(new Et.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},MI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+Et.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(Et.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},mI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},OI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},EI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new Et.FieldDropdown([["("+Et.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+Et.Msg.OLED_STRING+")",""],[Et.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[Et.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},RI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},cI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(Et.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},CI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_SETTING+Et.Msg.MIXLY_MP_ESPNOW_RADIO+Et.Msg.MIXLY_TX_POWER).appendField(new Et.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},AI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[Et.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},NI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},DI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},fI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},FI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new Et.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},PI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},vI={init:function(){this.setColour(Cd),this.appendDummyInput().appendField(Et.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new Et.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(Et.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},YI={init:function(){this.setColour(Cd),this.appendValueInput("SUB").appendField("Lora"+Et.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(Et.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(Et.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(Et.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(Et.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(Et.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new Et.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_LORA_INIT_TOOLTIP)}},XI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(Et.Msg.MIXLY_GET+Et.Msg.MIXLY_PACKAGE).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[Et.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},xI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(Et.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yI={init:function(){this.setColour(Cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},VI={init:function(){this.setColour(Cd),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")}},bI={init:function(){this.appendValueInput("VAL");var t=[[Et.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(Cd),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]}))}},BI={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Cd),this.appendDummyInput("").appendField(Et.Msg.blockpy_CONDUCT).appendField(new Et.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(Et.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},GI=Ld,UI=Nd,wI=Dd,kI=fd,HI=Fd,WI=Pd,KI=vd,JI=Yd,zI=Xd,qI=xd,QI=yd,jI=Vd,ZI=bd,$I=Bd,tT=Gd,eT=120;({init:function(){this.setColour(eT),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Et.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Et.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(eT);var t=new Et.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const iT="5BA5A5",nT={init:function(){this.setColour(iT),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},_T={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},oT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},aT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rT={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},lT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},dT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},IT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},TT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},MT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new Et.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},mT={init:function(){var t=[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},OT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(iT),this.appendValueInput("A").setCheck("esp32_image").appendField(Et.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},ET={init:function(){this.setColour(iT),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.appendValueInput("row").appendField(Et.Msg.MIXLY_SETUP+Et.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},RT={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.OLEDDISPLAY+Et.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(iT),this.setTooltip(Et.Msg.MIXLY_DF_LCD+Et.Msg.OLEDDISPLAY+Et.Msg.MIXLY_MICROBIT_TYPE_STRING)}},cT={init:function(){var t=[[Et.Msg.MIXLY_HEIGHT,"height"],[Et.Msg.MIXLY_WIDTH,"width"]];this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Et.Msg.MIXLY_MICROBIT_IMAGE+{height:Et.Msg.MIXLY_HEIGHT,width:Et.Msg.MIXLY_WIDTH}[t]}))}},gT={init:function(){var t=[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(iT),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RECT).appendField(new Et.FieldDropdown(t),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_OLED_RECT)}},CT={init:function(){this.setColour(iT),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Et.Msg.MIXLY_DISPLAY_DRAW).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Et.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE)}},ST={init:function(){this.setColour(iT),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},AT={init:function(){this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Et.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},LT={init:function(){this.setColour(iT),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},NT={init:function(){this.setColour(iT),this.appendDummyInput("").appendField(Et.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Et.Msg.LISTS_SET_INDEX_SET+Et.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_RGB_NUM_R_G_B)}},DT={init:function(){this.setColour(iT),this.appendDummyInput("").appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ESP32_ON,"ON"],[Et.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},fT={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},FT={init:function(){this.setColour(iT),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Et.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},PT={init:function(){var t=[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(iT),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Et.FieldDropdown(t),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},vT={init:function(){var t=[[Et.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Et.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(iT),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Et.FieldDropdown(t),"OP"),this.jsonInit({message0:Et.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Et.Msg.MIXLY_DISPLAY_DRAW+Et.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},YT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Et.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},XT={init:function(){this.setColour(iT),this.appendValueInput("VAR").appendField(Et.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Et.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Et.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Et.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_SHOW_BMP_TOOLTIP)}},xT={init:function(){this.setColour(iT),this.appendValueInput("VAR").appendField(Et.Msg.OLED),this.appendDummyInput("").appendField(Et.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Et.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Et.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Et.Msg.OLED_DRAW_PIXE_TOOLTIP)}},yT={init:function(){this.setColour(iT),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},VT={init:function(){this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_ON,"on"],[Et.Msg.MIXLY_OFF,"off"],[Et.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},bT={init:function(){this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},BT={init:function(){this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Et.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Et.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},GT={init:function(){this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_4DIGITDISPLAY).appendField(new Et.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Et.inputs.Align.RIGHT).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},UT={init:function(){this.setColour(iT),this.appendValueInput("SPISUB").appendField(Et.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+Et.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(Et.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(Et.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.blockpy_turtle_rotate).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_NO,"0"],[Et.Msg.ANTI_CLOCKWISE+"90°","1"],[Et.Msg.ANTI_CLOCKWISE+"180°","2"],[Et.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},wT={init:function(){this.setColour(iT),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},kT={init:function(){this.setColour(iT);let t=new Et.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(Et.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},HT={init:function(){this.setColour(iT),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},WT={init:function(){this.setColour(iT),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},KT={init:function(){this.setColour(iT),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JT={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catTFT),this.appendDummyInput().appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Et.Msg.MIXLY_LCD_STAT_CLEAR,1:Et.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Et.Msg.MIXLY_DF_LCD+i[e]}))}},zT={init:function(){this.setColour(iT),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:Et.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Et.Msg.MIXLY_OLED_LINE_ARBIT)}},qT={init:function(){this.setColour(iT),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(Et.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},QT={init:function(){this.setColour(iT),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.array2_rows),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},jT={init:function(){this.setColour(iT),this.appendValueInput("SUB").appendField(Et.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_SERIAL_PRINT+Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZT={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catLCD),this.appendDummyInput().appendField(Et.Msg.TFT_Brightness).appendField(new Et.FieldDropdown([[Et.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[Et.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:Et.Msg.MIXLY_MICROBIT_Turn_on_display,0:Et.Msg.MIXLY_MICROBIT_Turn_off_display};return Et.Msg.MSG.catLCD+Et.Msg.TFT_Brightness+i[e]}))}},$T={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catLCD),this.setColour(iT),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},th={init:function(){this.setColour(iT),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(Et.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Et.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},eh={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},ih={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},nh={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},sh={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},_h={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oh={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},ph={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ah={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uh={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},rh={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},lh={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dh={init:function(){this.setColour(iT),this.appendValueInput("SUB").setCheck("var").appendField(Et.Msg.MSG.catOLED),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},Ih={init:function(){this.jsonInit({colour:iT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},Th={init:function(){this.jsonInit({colour:iT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Et.Msg.mpython_vertical,"0"],[Et.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},hh={init:function(){this.jsonInit({colour:iT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[Et.Msg.mpython_display_hline_1,"1"],[Et.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.mpython_display_line_TOOLTIP,message0:Et.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},Mh="#569A98",mh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Rt.Boards.getSelectedBoardKey()&&this.setTooltip(Et.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},Oh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Eh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ch={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ch={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Mh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Sh={init:function(){this.jsonInit({colour:Mh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},Ah={init:function(){this.jsonInit({colour:Mh,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Et.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Et.Msg.MIXLY_MICROBIT_Built_in_image})}},Lh={init:function(){var t=[[Et.Msg.MICROBIT_DISPLAY_UNION,"add"],[Et.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(Mh),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Et.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Et.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Et.Msg.MIXLY_MICROBIT_image_add,"-":Et.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},Nh={init:function(){this.setColour(Mh),this.appendValueInput("A").setCheck("esp32_image").appendField(Et.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Dh={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(Mh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:Et.Msg.MIXLY_UP,shift_down:Et.Msg.MIXLY_DOWN,shift_left:Et.Msg.MIXLY_LEFT,shift_right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},fh={init:function(){this.setColour(Mh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Fh={init:function(){this.setColour(Mh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Ph={init:function(){this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},vh={init:function(){this.setColour(Mh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Yh={init:function(){this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},Xh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Mh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},xh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Mh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},yh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(Mh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Vh={init:function(){var t=[["4x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+Et.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+Et.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.OLED_SET_FONT).appendField(new Et.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.setColour(Mh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Bh={init:function(){this.setColour(Mh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Gh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Et.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},Uh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},wh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},kh={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hh={init:function(){this.setColour(Mh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Wh={init:function(){this.jsonInit({colour:Mh,args0:[{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Kh={init:function(){this.jsonInit({colour:Mh,args0:[{name:"state",options:[[Et.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[Et.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[Et.Msg.mpython_vertical,"0"],[Et.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Et.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Jh={init:function(){this.jsonInit({colour:Mh,args0:[{name:"state",options:[[Et.Msg.mpython_display_hline_1,"1"],[Et.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.mpython_display_line_TOOLTIP,message0:Et.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},zh={init:function(){this.jsonInit({colour:Mh,args0:[{type:"field_label",name:"size_image",text:Et.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},qh={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Mh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},Qh={init:function(){this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},jh={init:function(){this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Zh={init:function(){this.setColour(Mh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},$h={init:function(){var t=[[Et.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[Et.Msg.CLOCKWISE+"90"+Et.Msg.blockpy_setheading_degree,"1"],[Et.Msg.CLOCKWISE+"180"+Et.Msg.blockpy_setheading_degree,"2"],[Et.Msg.CLOCKWISE+"270"+Et.Msg.blockpy_setheading_degree,"3"]];this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new Et.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tM={init:function(){this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new Et.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Mh),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Create_image1)}},eM={init:function(){this.setColour(Mh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},iM={init:function(){this.setColour(Mh),this.appendValueInput("data").appendField(Et.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.OLED_BITMAP_OR_STRING)}},nM={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(Et.Msg.TEXT_CENTER).appendField(new Et.FieldDropdown([[Et.Msg.MICROPYTHON_DISPLAY_YES,"True"],[Et.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sM={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(Et.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},oM={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pM={init:function(){this.setColour(Mh),this.appendValueInput("data").setCheck(String).appendField(Et.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aM={init:function(){this.jsonInit({colour:Mh,args0:[{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:Et.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},uM={init:function(){this.jsonInit({colour:Mh,args0:[{name:"dir_h_v",options:[[Et.Msg.mpython_vertical,"0"],[Et.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:Et.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},rM={init:function(){this.jsonInit({colour:Mh,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,tooltip:Et.Msg.mpython_display_line_TOOLTIP,message0:Et.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},lM={init:function(){var t=[[Et.Msg.MIXLY_UP,"shift_up"],[Et.Msg.MIXLY_DOWN,"shift_down"],[Et.Msg.MIXLY_LEFT,"shift_left"],[Et.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(Mh),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_LET2).appendField(new Et.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Et.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Et.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Et.Msg.DISPLAY_IMAGE_LET,n=Et.Msg.DISPLAY_IMAGE_LET2,s=Et.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Et.Msg.MIXLY_UP,down:Et.Msg.MIXLY_DOWN,left:Et.Msg.MIXLY_LEFT,right:Et.Msg.MIXLY_RIGHT}[t]+s}))}},dM={init:function(){this.setColour(Mh),this.appendDummyInput("").appendField(Et.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Et.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},IM={init:function(){this.setColour(Mh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_LCD_SETCOLOR).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Et.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},TM={init:function(){this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_MICROBIT_Clear_display)}},hM={init:function(){this.setColour(Mh),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},MM={init:function(){this.setColour(Mh),this.appendValueInput("x").setCheck(Number).appendField(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},mM={init:function(){this.setColour(Mh),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OM={init:function(){this.setColour(Mh),this.appendValueInput("SUB").appendField(Et.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(Et.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(Et.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(Et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},EM={init:function(){this.setColour(Mh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RM={init:function(){this.setColour(Mh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(Et.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(Et.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(Et.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cM={init:function(){this.setColour(Mh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gM={init:function(){this.setColour(Mh),this.appendValueInput("SUB"),this.appendDummyInput().appendField(Et.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CM={init:function(){this.jsonInit({colour:Mh,args0:[{name:"shape",options:[[Et.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[Et.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:Et.Msg.mpython_HELPURL,message0:Et.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},SM="#777777",AM={init:function(){this.setColour(SM),this.appendDummyInput("").appendField("from ").appendField(new Et.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new Et.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},LM={init:function(){this.setColour(SM),this.appendDummyInput("").appendField("import ").appendField(new Et.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},NM={init:function(){this.setColour(SM),this.appendDummyInput("").appendField(new Et.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Et.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},Tm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},hm={init:function(){this.setColour(pm),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}},Mm={init:function(){this.setColour(pm),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}},mm={init:function(){this.setColour(pm),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)}},Om={init:function(){this.setColour(pm),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)}},Em={init:function(){this.setColour(pm),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)}},Rm={init:function(){this.setColour(pm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cm={init:function(){this.setColour(pm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gm={init:function(){this.setColour(pm),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Sm={init:function(){this.setColour(pm),this.appendDummyInput().appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Am={init:function(){this.setColour(pm),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Lm={init:function(){this.setColour(pm),this.appendValueInput("VAR").appendField(Et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Nm={init:function(){this.setColour(pm),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)}},Dm={init:function(){this.setColour(pm),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)}},fm={init:function(){this.setColour(pm),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)}},Fm={init:function(){this.setColour(pm),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)}},Pm={init:function(){this.VISITOR_ID=Rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(pm),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")}},vm={init:function(){this.setColour(pm),this.appendDummyInput().appendField("MixIO").appendField(Et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Ym={init:function(){this.setColour(pm),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)}},Xm={init:function(){this.setColour(pm),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)}},xm={init:function(){this.setColour(pm),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)}},ym={init:function(){this.setColour(pm),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)}},Vm=am,bm=um,Bm=rm,Gm=lm,Um=Im,wm=225,km={init:function(){this.setColour(wm),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)}},Hm={init:function(){this.setColour(wm),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}))}},Wm={init:function(){this.setColour(wm),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)}},Km={init:function(){this.setColour(wm),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}))}},Jm={init:function(){this.setColour(wm),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)}},zm={init:function(){this.setColour(wm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Et.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},qm={init:function(){this.setColour(wm),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]}))}},Qm={init:function(){this.setColour(wm),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)}},jm={init:function(){this.setColour(wm),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)}},Zm={init:function(){this.setColour(wm),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)}},$m={init:function(){this.setColour(wm),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)}},tO={init:function(){this.setColour(wm),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]}))}},eO={init:function(){this.setColour(wm),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)}},iO={init:function(){this.setColour(wm),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)}},nO={init:function(){this.setColour(wm),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)}},sO={init:function(){this.setColour(wm),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)}},_O={init:function(){this.setColour(wm),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)}},oO={init:function(){this.setColour(wm),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)}},pO={init:function(){this.setColour(wm),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)}},aO={init:function(){this.setColour(wm),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)}},uO={init:function(){this.setColour(wm),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)}},rO={init:function(){this.setColour(wm),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(wm),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]}))}},dO={init:function(){this.appendValueInput("VAR").appendField(Et.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(wm),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]}))}},IO={init:function(){this.setColour(wm),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)}},TO={init:function(){this.setColour(wm),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)}},hO="#A58C5B",MO={init:function(){this.setColour(hO),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)}},mO={init:function(){this.setColour(hO),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)}},OO={init:function(){this.setColour(hO),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)}},EO={init:function(){this.setColour(hO),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)}},RO={init:function(){this.setColour(hO),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]+_}))}},cO={init:function(){this.setColour(hO),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}))}},gO={init:function(){this.setColour(hO),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)}},CO={init:function(){var t=[[Et.Msg.MIXLY_GETTEMPERATUE,"temperature"],[Et.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(hO),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]}))}},SO={init:function(){this.setColour(hO),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)}},AO={init:function(){this.setColour(hO),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)}},LO={init:function(){this.setColour(hO),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}))}},NO={init:function(){this.setColour(hO),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]}))}},DO={init:function(){this.setColour(hO),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]}))}},fO={init:function(){this.setColour(hO),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)}},FO={init:function(){this.setColour(hO),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)}},PO={init:function(){this.setColour(hO),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"],["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")}},vO={init:function(){this.setColour(hO),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)}},YO={init:function(){this.setColour(hO),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)}},XO={init:function(){this.setColour(hO),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)}},xO={init:function(){this.setColour(hO),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)}},yO={init:function(){this.setColour(hO),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)}},VO={init:function(){this.setColour(hO),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)}},bO={init:function(){this.setColour(hO),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]}))}},BO={init:function(){this.setColour(hO),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]}))}},GO={init:function(){this.setColour(hO),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)}},UO={init:function(){this.setColour(hO),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)}},wO={init:function(){this.setColour(hO),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]+_}))}},kO={init:function(){this.setColour(hO),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}))}},HO={init:function(){this.setColour(hO),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}))}},WO={init:function(){this.setColour(hO),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}))}},KO={init:function(){this.setColour(hO),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)}},JO={init:function(){this.setColour(hO),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)}},zO={init:function(){this.setColour(hO),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]}))}},qO={init:function(){this.setColour(hO),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)}},QO={init:function(){this.setColour(hO),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")}},jO={init:function(){this.setColour(hO),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)}},ZO={init:function(){this.setColour(hO),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)}},$O={init:function(){this.setColour(hO),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)}},tE={init:function(){this.setColour(hO),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)}},eE={init:function(){this.setColour(hO),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)}},iE={init:function(){this.setColour(hO),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)}},nE={init:function(){this.setColour(hO),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)")}},sE={init:function(){this.setColour(hO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(Et.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_E={init:function(){this.setColour(hO),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)}},oE={init:function(){this.setColour(hO),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},yL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},VL=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"},bL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},BL=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"},GL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},UL=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"},wL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},kL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},HL=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]},WL=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"},KL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},JL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},zL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},qL=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]},QL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},jL=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"},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_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"},$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_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"},tN=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"}},eN=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"},iN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},nN=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"},_N=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},oN=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"}},pN=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"}},aN=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"},uN=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"},rN=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},lN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},dN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},IN=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"},TN=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=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"},MN=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},mN=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]},ON=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},EN=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},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),_=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},cN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},gN=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},CN=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"},SN=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"},AN=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"},LN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},NN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},DN=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"},fN=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"},FN=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"},PN=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"},vN=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"},YN=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"},XN=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"},xN=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"},yN=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"},VN=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"},bN=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"},BN=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]},GN=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"},UN=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"},wN=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"},kN=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"},HN=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"},WN=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")},KN=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},JN=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"},zN=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},qN=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"},QN=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]},jN=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]},ZN=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},FD=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},PD=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"},vD=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},YD=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"},XD=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},xD=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},yD=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},VD=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},bD=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"},BD=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"},GD=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]},UD=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},wD=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]},kD=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"},HD=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},WD=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},KD=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"},JD=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"},zD=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"},qD=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 _},QD=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},jD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},ZD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},$D=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},wY=function(){return"control.reset()\n"},kY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Rt.Profile.default.serial)+")\n"},HY=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"},WY=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"},KY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},JY=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},zY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},qY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},QY=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},jY=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},ZY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},$Y=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]}},tX=function(){return"while True:\n pass\n"},eX=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},iX=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"}},sX=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"}},_X=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"},oX=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]},aX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},uX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},rX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},lX=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},dX=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},IX=aX,TX=oX,hX=pX,MX=nX,mX=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]},EX=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]},RX={};RX["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"]],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"]]},RX["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 cX=RX,gX=20,CX={init:function(){this.setColour(gX),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)}},SX={init:function(){this.setColour(gX),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)}},AX={init:function(){this.setColour(gX),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)}},LX={init:function(){this.setColour(gX),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)}},NX={init:function(){this.setColour(gX),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)}},DX={init:function(){this.setColour(gX),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)}},fX={init:function(){this.setColour(gX),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)}},FX={init:function(){this.setColour(gX),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)}},PX={init:function(){this.setColour(gX),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)}},vX={init:function(){this.setColour(gX),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)}},YX={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)}},XX={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")}},xX={init:function(){this.setColour(gX),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")}},yX={init:function(){this.setColour(gX),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")}},VX={init:function(){this.setColour(gX),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")}},bX={init:function(){this.setColour(gX),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")}},BX=XX,GX=fX,UX=bX,wX=vX,kX=YX,HX=40,WX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),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]}))}},KX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),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)}},JX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),this.appendDummyInput().appendField(t).appendField(Et.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},zX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),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)}},qX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),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)}},QX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),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)}},jX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),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)}},ZX={init:function(){if("mixgo_me"==Rt.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(HX),this.appendDummyInput().appendField(t).appendField("RFID"),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)}},$X=100,tx={init:function(){this.setColour($X),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)}},ex={init:function(){this.setColour($X),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)}},ix={init:function(){this.setColour($X),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)}},nx={init:function(){this.setColour($X),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)}},sx={init:function(){this.setColour($X),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)")}},_x={init:function(){this.setColour($X),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)}},ox={init:function(){this.setColour($X),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)}},px={init:function(){this.setColour($X),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)}},ax={init:function(){this.setColour($X),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)}},ux={init:function(){this.setColour($X),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)}},rx={init:function(){this.setColour($X),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)}},lx={init:function(){this.setColour($X),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}))}},dx={init:function(){this.setColour($X),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}))}},Ix={init:function(){this.setColour($X),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)}},Tx={init:function(){this.setColour($X),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)}},hx={init:function(){this.setColour($X),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}))}},Mx=230,mx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},Ox={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Ex={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Rx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},cx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},gx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Cx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Sx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Ax={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Lx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Nx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Dx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},fx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Fx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Px={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},vx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Yx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},Xx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},yx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Bx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Gx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Ux={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},wx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},kx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Hx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Wx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Kx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Jx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},zx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},qx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Qx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},jx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Zx={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},$x={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ty={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},ey={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},iy={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},ny={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},sy={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},_y={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},oy={init:function(){this.setColour(Mx),this.appendDummyInput("").appendField(new Et.FieldDropdown(Rt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},py=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},ay=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"},uy=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},ry=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"},ly=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"},dy=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"},Iy=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"},Ty=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},hy=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},My=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"},my=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"},Oy=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"},Ey=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"},Ry=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"},cy=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},gy=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"},Cy=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]},Sy=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]},Ay=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},Ly=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},Ny=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_me_g1="import me_g1";s="me_g1.ext_rc522.read_card("+n+")"}return[s,e.ORDER_ATOMIC]},Dy=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_me_g1="import me_g1";_="me_g1.ext_rc522.write_card("+s+","+n+")\n"}return _},fy=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_me_g1="import me_g1";_="me_g1.ext_rc522.write_card("+s+","+n+")"}return[_,e.ORDER_ATOMIC]},Fy=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_me_g1="import me_g1";s="me_g1.ext_rc522.scan_card()=="+n}return[s,e.ORDER_ATOMIC]},Py=function(t,e){return e.definitions_.import_me_go_car="from me_go import car",["car."+this.getFieldValue("op"),e.ORDER_ATOMIC]},vy=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"},Yy=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]},Xy=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]},xy=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"},yy=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"},Vy=function(t,e){var i=this.getFieldValue("VAR");return e.definitions_.import_me_go_car="from me_go import car",'car.move("'+i+'")\n'},by=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"},By=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"},Gy=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"},Uy=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]},wy=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]},ky=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]},Hy=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"},Wy=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]},Ky=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]},Jy=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},zy=Jy,qy=Jy,Qy=Jy,jy=Jy,Zy=Jy,$y=Jy,tV=Jy,eV=Jy,iV=Jy,nV=Jy,sV=Jy,_V=Jy,oV=Jy,pV=Jy,aV=Jy,uV=Jy,rV=Jy,lV=Jy,dV=Jy,IV=Jy,TV=Jy,hV=Jy,MV=Jy,mV=Jy,OV=Jy,EV=Jy,RV=Jy,cV=Jy,gV=Jy,CV=Jy,SV=Jy,AV=Jy,LV=Jy,NV=Jy,DV=Jy,fV=Jy,FV=Jy,PV=Jy,vV=Jy,YV=Jy,XV=Jy,xV=Jy,yV=Jy,VV=Jy;Object.assign(Et.Variables,gt),Object.assign(Et.Procedures,Jn),Et.Python=au,Et.generator=au,Rt.Profile.default={},Object.assign(Rt.Profile,cX),Object.assign(Rt.Profile.default,cX["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,z,pt,ot,_t,q,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.6f937040.css b/boards/default/micropython_esp32c2/styles/main.de0d8fa4.css similarity index 96% rename from boards/default/micropython_esp32c2/styles/main.6f937040.css rename to boards/default/micropython_esp32c2/styles/main.de0d8fa4.css index 8b635a82..34888c59 100644 --- a/boards/default/micropython_esp32c2/styles/main.6f937040.css +++ b/boards/default/micropython_esp32c2/styles/main.de0d8fa4.css @@ -142,7 +142,14 @@ div.blocklyToolboxDiv > div.blocklyToolboxContents > div:nth-child(12) > div.blo background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzQ1YzdjNjktY2JiZi1mMDRhLTg4ZGItMmQ4OWM4YjgzYjQwPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3NDVjN2M2OS1jYmJmLWYwNGEtODhkYi0yZDg5YzhiODNiNDA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+H1XW1AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACSElEQVR42szXS4iNYRzH8c+ZSxqikZJrjchsJpcFsaKZUS4LC3YsKGWh2SIN2THYKEmSSyyNrEyUGSsiJaRcmhBTbhnXobl4bZ5Xp3GcM/O+58zxrN6e933e5/s8////9///M1EUKefIRFHUiIVJ12MIXXiQFOAWlqU4xCDOYVtSgNgGTxChYhQbj0cdejArDcB7TE2wfgK+4RnmlwNgCj6MAKADc7EG3bkA3mJaAoCZeI2nqM/z3Xlsxg8sDub+A/AzPJ/M4wMV4f39hADQhp34jBnoiwE+YvIITrsDx1MAwGlsDWHbGAMMBkfaUGDxQ7wbIUArqrA/x3+eh8hZhyul8oE4tO9gFb5kvVuOm3iJuhjgDaYXEWAeTmEFHqEhx202YGkmiqJ+DGBvlrzCuEB6I0UUdGElDmFX1vx2nMCRTBRFvaj9xwbX0ZwCoAbfw6Em4WuYr8dj3M1EUTSAfrQMC8Nq3MPtlDoQa8BGtIe5qnDrA6XyATmuew8OZM33ova/ABhugkyOnF+Ja3iRAOACNgWduTTMBP2FnDB7tOBYCiecGATvLyeMw3BfnhuoxsWQ9ZKEYRt25zDL4VL5wOzg/YWEaEkppLg6+FQsxc1Z8Z9TivMlo1fh56MBqMDRkHZb8ySjtegolI6vYnURCpJ4nMEWdKKpUEFSGaS4vUgAB0M++BTW9Y1lSXYZ60NJtijbrGNVlPbgVwjJ7nKU5VWhjyh6Y1KDOWkbk7St2RDOpmnNmrAgSO5oW+VMsG1nmua0rO357wEA7D8z1ZGqH+UAAAAASUVORK5CYII=) no-repeat; background-size: 100% auto; } - +#catMINI_G2.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{ + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6ZTgzOWI5NTgtMjZhNy1kYTQwLTg1NDQtZWRkY2UzZjYzYmNhPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmU4MzliOTU4LTI2YTctZGE0MC04NTQ0LWVkZGNlM2Y2M2JjYTwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplODM5Yjk1OC0yNmE3LWRhNDAtODU0NC1lZGRjZTNmNjNiY2E8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+w67uMwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAFA0lEQVR42sSXS6hkVxWGv3/tfW4bgxIJNK1RuKJ4J42PgWJGCUkEHwMHcZSbgYKQgWRqRKI4izF3IoiERnzQ3pkRRwaFpB21GATRJpDuIDFog23EGNMm3XXOXr+DU1W36tbDJhlkD+ucOvtba/3r32vLNm/l0uHBfXdJfOSN/h+7DarnWpQ/iTEYI2SzkxOESQcArRSGqGghaB0e7P8W+OSbCGIw+klKX8ZLZBTaCGRtBfCU+iLYQNzoxsDbBbvAZSfvnT0wIpRIvmGAl2xOzlK1IdeglZ9vDvkq8HxaH1p8UNTmGyXx/wFInyTAEhzTpWQaBaWRPb4zrltD/ucigNG4eRijEbrxpMwHhlI+00f353AeAzBXpDyl4o3RX9PbaC7UHIicf+C2kP8GXEprbx59NDKCzDHyIM+Gfb/R633Uj1m6uAhwbRrlGcbY19TB0ahnmuKPAKW17QAaAdxEaY2sAdKjkflVS6/YvCecr80A/gW8a8yVNyqA5CvG3wcWS7ACEE4UHjNAoQ49GcH1ukPX2g9rDl9CPpfEXZbQ4cH+AFwF7t0meVsXDP849vMcoFl7YRNuEPFwhqrRt5QmS4EYn0XjBVu7rcbnMuKXMxFewT6FtA1gXX6WM6AxO+F0GCw/k9an+rrzn+qBkgMmbhecR7yYYncG8Hfsd/sYgOy5KuzYCuBkr0Wh7zq6Nvlg19oPEHckerZFOW1EbQMiQboAOp3SJ3R4sD8BesM3jgoOwAmZ87Z/M+3F0VC0OQOy6WtHkJRsCM7JvtPSd4YoD4WTaAnSA4jHDQc6PNh/GbhlbdrRU2ndo43iXAVoUXBopumbuhz+C6gR7wRenXrAnuA5i9/r8GC/BybYDy61oelU+IMifzezUlvz3t7WhtTRO4wI+6wa9zfpCyk9UTIRrkg90C9p4Fj4qHhsqQwiRm/v+w5bM59fCxDMzgFj4gHQ49hfF37EsxpKLwO3LANsOYYUSYmktcIw1DcEADyy4O9zgLEEmpdAqy5EAX4dkX+xRWvlBkowraf9UzX2m3RvSj8vmciuhHpgslWEyz4QDyZ875ggVwBk4xB9qYS9KMJ3AFfnIhTPmVGEE6DH/uaWDHRYPzM8fyNWbAmHCHvWho8OUb62pg0f2yzC1Z6cr1SstWJhSiYZ8T6Js8J3GD07LBmRQVwAnbb08a1WbIRtgukcgBY3Xz0Lxjc6FJPpF56xdc+k7rzauR9PRpXbhc8jv5jS7tbDyOivaS5pNhF5Kf3LJUj2HEHWiDoM35V4JdHDaqaVgooZS+AXjHZbic9m6MmF43ht8/3K6U+PaR8xtonQEn3tONGuI8zgyg4TmgrX4wQ1hx91OXzR4unmcvfsOL42jfYMPnJC4ZKKp1rEE7YoNKoGMsdJZ50PyGYolUIjSByiU8/QKk59u8gPJfq3zW2yX1ucCa/YnEoLpjOhnAy14hp02VNoRzo4gljpAksESWUYQzGkyy+MPg+83kf9qKVLq0Opx6F0SQPTjwU5n2znQ2orOOPWiFwaSuVxGnJoCgzFvhxu2Ue9cyjrh9KXFHmSmDv1aAg+6oZ1KzNu1ijgFYC+dnO9lNZqyTZkBEPZcDGRfNEbh9K1U+IA3GTr/YbLTC8mllCaVsuofpvIcT7YBPBmr2bN6MeLVzMx3h1mm20HeOy+u018mO1j8cZECGeLeHrxcjqr4cwztgK81dfz/w0AHjWdyjCbBL0AAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} +#catMINI_G2.blocklyTreeRow.blocklyTreeSelected > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{ + background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAC4jAAAuIwF4pT92AAA4JmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxOS0xMC0yNlQxNjo1NjowNCswODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXA6TWV0YWRhdGFEYXRlPjIwMTktMTAtMjZUMTY6NTY6MDQrMDg6MDA8L3htcDpNZXRhZGF0YURhdGU+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDxwaG90b3Nob3A6Q29sb3JNb2RlPjM8L3Bob3Rvc2hvcDpDb2xvck1vZGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6NzQ1YzdjNjktY2JiZi1mMDRhLTg4ZGItMmQ4OWM4YjgzYjQwPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjc0NWM3YzY5LWNiYmYtZjA0YS04OGRiLTJkODljOGI4M2I0MDwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDo3NDVjN2M2OS1jYmJmLWYwNGEtODhkYi0yZDg5YzhiODNiNDA8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDctMjFUMjE6MTY6MjIrMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE3IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj4zMDAwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4zMjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+H1XW1AAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACSElEQVR42szXS4iNYRzH8c+ZSxqikZJrjchsJpcFsaKZUS4LC3YsKGWh2SIN2THYKEmSSyyNrEyUGSsiJaRcmhBTbhnXobl4bZ5Xp3GcM/O+58zxrN6e933e5/s8////9///M1EUKefIRFHUiIVJ12MIXXiQFOAWlqU4xCDOYVtSgNgGTxChYhQbj0cdejArDcB7TE2wfgK+4RnmlwNgCj6MAKADc7EG3bkA3mJaAoCZeI2nqM/z3Xlsxg8sDub+A/AzPJ/M4wMV4f39hADQhp34jBnoiwE+YvIITrsDx1MAwGlsDWHbGAMMBkfaUGDxQ7wbIUArqrA/x3+eh8hZhyul8oE4tO9gFb5kvVuOm3iJuhjgDaYXEWAeTmEFHqEhx202YGkmiqJ+DGBvlrzCuEB6I0UUdGElDmFX1vx2nMCRTBRFvaj9xwbX0ZwCoAbfw6Em4WuYr8dj3M1EUTSAfrQMC8Nq3MPtlDoQa8BGtIe5qnDrA6XyATmuew8OZM33ova/ABhugkyOnF+Ja3iRAOACNgWduTTMBP2FnDB7tOBYCiecGATvLyeMw3BfnhuoxsWQ9ZKEYRt25zDL4VL5wOzg/YWEaEkppLg6+FQsxc1Z8Z9TivMlo1fh56MBqMDRkHZb8ySjtegolI6vYnURCpJ4nMEWdKKpUEFSGaS4vUgAB0M++BTW9Y1lSXYZ60NJtijbrGNVlPbgVwjJ7nKU5VWhjyh6Y1KDOWkbk7St2RDOpmnNmrAgSO5oW+VMsG1nmua0rO357wEA7D8z1ZGqH+UAAAAASUVORK5CYII=) no-repeat; + background-size: 100% auto; +} #catExternSensor.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{ background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA4xJREFUWEftllGIVFUYx//fnVaizSgkCu2hIMuoiKikMMKoB1OjIUGc+91ZmjBIg2R37qwPSU1UD3nPQKvkU8m2e891XUnToMWH2IgIFYRFEA2tiFLLh7JYKmfc+8U5c+/MiBkLjTMv3qd7zvnO9/3O/5zznY/Q5Y+6HB9XAS5RIFK5RTGc12OZGeorjR1sxxaFip8hksUzFzLjfRtHj7X6vAhgsly+5vT1J74E8JgxYl+3ZYu04u8B3A7gcDXuWVkYHP45hbgogFbudoAKdpCkzMXozTYp8D4B6+u+ZH91ek62UB7+24ZJA+jN7jo4tC1p72Rfr2lHcONjJMj3ZijeC+CpBOID9qOXGgBhmW9ALw4Q4R6AjsQZLMv3h2dSgLDCK+cQHV89EJ6cDZRW7kMAFrEf6dR+JMjf4VC8j4D7TF8s9GS+FH5hFYgCfk0Ib9cVkg1cirakE6PAKwjJdtOuZnpuKvQPn/sviOi93C1ywbF7LISnvaL+vKFyxeuDyEdJezf7epUF0Mr9BqC7APyI6+QBXh/9ZvuH3IWo0SEANwKYYl8/ODsF2Mx5xNj+5VTnrR3Y9WtDzYAniLDMtDPi3E+jgbfUIZm0xMBWz9evNoiVtweQbKJMjkvR2KwAAncNiHYktsPs6/rBtmo3FSWil0lXeAgCG1SA5Z6vJ6yh8rIC2VOfJmPsR7nW4Fp544A8AWAGoMO1uNb/wuDOb5vw7g6AkoMsq9iPdpux8S2Fm2vV6tnEbpS0asrVeu+1cjcB9JYxjImW5Ivh103nLP+mRI+TuW31wMgpMxZu5iXk4CuLL3jHK+lNDRUUTwqwFMAhA5AmidPs6wUtQT4G8Lxpn5uuzn2lvGvanosKfwLBc4liJ4lwHoJ7k3n2YJn/D999ce61mfN/1AWkz7gUrkh9h4ojAoyi3xkA47jXZCn29cMtRj8RsACEo1zU9upYAMVmhfNb+0PFJwi4E8Av7OtbG7YBHwfhbgBn2NfzWxRQAhQB/N5tgFpXt4CAU90+hFPdvYaEvV1NRAJs7Hgq1srbB8iz9nbGeLyjj5F5VUnwqQlOwEHX149agE48x/Uc0lw9IJ55rjtSkNjggbsNROuSZDTBvl6eKNHM6leqJNMV9w0IlZNIPyCWLA9GU5cAXMGi1D5eIvhTQCtMJZQuuyNleaRyWcDZIJCt6bN8WYDmhnTmry11//9BvQrwD1F8Qa3W8hbBAAAAAElFTkSuQmCC) no-repeat; background-size: 100% auto; diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/41-1-智能小车-前进转弯(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/-_NIU9G4pzdg.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/41-1-智能小车-前进转弯(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/-_NIU9G4pzdg.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/23-1-蓝牙通讯-主机模式.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/0Mm6fzRxcJKB.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/23-1-蓝牙通讯-主机模式.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/0Mm6fzRxcJKB.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/0NGYXNM9zIrl.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/02-2-快速入门-为你心动.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/0NGYXNM9zIrl.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/0huLIQ7ZPTEE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/20-1-复杂控制-异常.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/0huLIQ7ZPTEE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/21-1-射频识别-读取测试.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1L8kS5jUtbvd.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/21-1-射频识别-读取测试.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1L8kS5jUtbvd.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1RrnhIwvrYhn.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/30-2-物联网-高级数据按需上报.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1RrnhIwvrYhn.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/44-2-智能小车-P双巡线(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1guSWho28WQa.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/44-2-智能小车-P双巡线(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1guSWho28WQa.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/25-1-飞机游戏-显示飞机.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1vCsWQIzbbcd.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/25-1-飞机游戏-显示飞机.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/1vCsWQIzbbcd.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/3ES__f-2K_16.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/29-1-物联网-简单数据定时上报.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/3ES__f-2K_16.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/40-2-文件操作-震动重现.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/3U1AYGRyA2V_.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/40-2-文件操作-震动重现.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/3U1AYGRyA2V_.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/22-1-射频识别-写卡测试.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/3wwqwfrwV0cN.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/22-1-射频识别-写卡测试.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/3wwqwfrwV0cN.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/4tJjMQfThLu1.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/19-1-复杂控制-多线程.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/4tJjMQfThLu1.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/5N_9dPuI37rq.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/15-1-逻辑计算-简单打地鼠.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/5N_9dPuI37rq.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/26-1-飞机游戏-发射子弹.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/5ZoHVYVZqI7Y.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/26-1-飞机游戏-发射子弹.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/5ZoHVYVZqI7Y.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/42-2-智能小车-智能避障2(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/5d4kwhwQzEL1.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/42-2-智能小车-智能避障2(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/5d4kwhwQzEL1.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/6TFLN-N0TnRF.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/06-1-过程控制-声音采集.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/6TFLN-N0TnRF.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/38-1-文件操作-文件读写.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/7skiUzv9g47f.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/38-1-文件操作-文件读写.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/7skiUzv9g47f.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/8Czv4QYG2zZj.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/06-2-过程控制-看见声音.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/8Czv4QYG2zZj.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/22-2-射频识别-持续写卡.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/8aPzJedKSVep.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/22-2-射频识别-持续写卡.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/8aPzJedKSVep.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/8qwFNrzqPB-q.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/12-1-输入输出-实时时钟.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/8qwFNrzqPB-q.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/9sW23oVLmvRd.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/04-2-快速入门-流动的灯2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/9sW23oVLmvRd.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/10-1-输入输出-温湿度.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ArYB4ecda0V8.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/10-1-输入输出-温湿度.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ArYB4ecda0V8.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/AvAAx7AlO4P6.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/05-1-过程控制-双键开关.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/AvAAx7AlO4P6.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/BMD3aBJRUcti.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/35-2-课堂互动-多选答题.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/BMD3aBJRUcti.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/B_zgfqNBgsbH.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/03-2-快速入门-心随我动2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/B_zgfqNBgsbH.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/CcWLS8rD4Fiv.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/32-2-物联网-多主题数据订2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/CcWLS8rD4Fiv.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/DxW87CUCtY-5.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/05-3-过程控制-IPO概念.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/DxW87CUCtY-5.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/EW0Fv7WaaRJ_.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/07-1-过程控制-光强采集.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/EW0Fv7WaaRJ_.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Fb3uaEbqFpJ6.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/07-2-过程控制-自动补光.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Fb3uaEbqFpJ6.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/37-1-文件操作-列出文件.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/GTwGjoaSP4Qd.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/37-1-文件操作-列出文件.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/GTwGjoaSP4Qd.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Gbk-CdkiNNTC.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/30-1-物联网-简单数据按需上报.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Gbk-CdkiNNTC.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/HgisKV-N_Sc7.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/16-1-逻辑计算-开始打地鼠.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/HgisKV-N_Sc7.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/40-1-文件操作-震动采集.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/IU04oChvR7y_.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/40-1-文件操作-震动采集.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/IU04oChvR7y_.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/28-2-飞机游戏-结束游戏.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Im3NcJWUy__z.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/28-2-飞机游戏-结束游戏.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Im3NcJWUy__z.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Jf8ecj157fd7.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/17-0-复杂控制-非中断效果.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Jf8ecj157fd7.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/KVLdCnOM5Le5.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/09-1-输入输出-加速度.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/KVLdCnOM5Le5.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/42-1-智能小车-智能避障(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/LDwA6pilpmYA.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/42-1-智能小车-智能避障(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/LDwA6pilpmYA.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/23-1-蓝牙通讯-从机模式.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/NAub834ThJ-2.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/23-1-蓝牙通讯-从机模式.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/NAub834ThJ-2.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/NJ9YiC-QH636.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/04-1-快速入门-流动的灯.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/NJ9YiC-QH636.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/P8vlsM0I71lR.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/35-1-课堂互动-单选答题.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/P8vlsM0I71lR.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/11-1-输入输出-点阵控制.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/QcLtm7f4tXeE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/11-1-输入输出-点阵控制.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/QcLtm7f4tXeE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/R7-KxIv2xL3i.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/36-1-课堂互动-点名答题.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/R7-KxIv2xL3i.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/27-2-飞机游戏-消灭敌机.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/UaTZdzfncen1.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/27-2-飞机游戏-消灭敌机.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/UaTZdzfncen1.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Va-mT9vkJ6Vv.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/13-2-逻辑计算-手速测试2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/Va-mT9vkJ6Vv.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/W2pIAKU5Ztrz.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/24-1-无线广播-通讯测试.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/W2pIAKU5Ztrz.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/38-2-文件操作-文件读写2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WC0hOVfZuPvE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/38-2-文件操作-文件读写2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WC0hOVfZuPvE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WXt6o0f3KxZR.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/33-1-课堂互动-自由签到.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WXt6o0f3KxZR.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WhkH7wUyvr1c.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/08-1-过程控制-接近检测.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WhkH7wUyvr1c.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/25-2-飞机游戏-移动飞机.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WtxMy5LI4l3A.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/25-2-飞机游戏-移动飞机.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/WtxMy5LI4l3A.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/X6r1OmEoO2tL.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/19-2-复杂控制-多线程与中断.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/X6r1OmEoO2tL.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/XWYmr6dRRrij.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/36-2-课堂互动-多人点答.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/XWYmr6dRRrij.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/YsNlbTnwPj1a.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/09-2-输入输出-平衡仪.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/YsNlbTnwPj1a.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/44-1-智能小车-P单巡线(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ZCaSYsgl7Jpg.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/44-1-智能小车-P单巡线(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ZCaSYsgl7Jpg.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/_v2fnOcmx_uM.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/24-2-无线广播-防丢检测.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/_v2fnOcmx_uM.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/aRbVp-CddbHJ.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/29-2-物联网-复杂数据定时上报.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/aRbVp-CddbHJ.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/aSRZtXd4fQTK.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/34-1-课堂互动-一人抢答.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/aSRZtXd4fQTK.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/bLYF8lktBpVe.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/08-2-过程控制-入侵报警.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/bLYF8lktBpVe.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/11-2-输入输出-光标控制.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/dLfuHfZKb39e.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/11-2-输入输出-光标控制.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/dLfuHfZKb39e.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/10-2-输入输出-大气压.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/dkCRqNhdBvRT.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/10-2-输入输出-大气压.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/dkCRqNhdBvRT.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/dpB6i4b9_dSE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/31-1-物联网-单主题数据订阅.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/dpB6i4b9_dSE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/duUNtYSp5Bfw.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/16-2-逻辑计算-循环打地鼠.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/duUNtYSp5Bfw.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/eVMuTU8aSDvA.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/13-1-逻辑计算-手速测试.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/eVMuTU8aSDvA.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/exO1dzYogAqS.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/34-2-课堂互动-多人抢答.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/exO1dzYogAqS.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/fltM51fZScQU.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/15-2-逻辑计算-计时打地鼠.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/fltM51fZScQU.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/hD2JQo_BSDWH.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/14-1-逻辑计算-反应测试.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/hD2JQo_BSDWH.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/hktMJz2Eqg-B.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/33-2-课堂互动-按需签到.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/hktMJz2Eqg-B.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/hvZjQumGc1FZ.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/17-2-复杂控制-单键中断.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/hvZjQumGc1FZ.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/43-1-智能小车-遥控小车(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/i16jCGRHlinK.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/43-1-智能小车-遥控小车(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/i16jCGRHlinK.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/39-1-文件操作-录音采集.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ifhZspeHTee4.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/39-1-文件操作-录音采集.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ifhZspeHTee4.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/isFYIaOhUQ_T.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/02-1-快速入门-跳动的心.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/isFYIaOhUQ_T.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/17-1-复杂控制-双键中断.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/j3fDyX4Ud2NS.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/17-1-复杂控制-双键中断.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/j3fDyX4Ud2NS.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/kkf8NW5wJel_.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/01-1-快速入门-你好世界.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/kkf8NW5wJel_.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/lk0hw1ECr5cQ.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/18-2-复杂控制-循环计时.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/lk0hw1ECr5cQ.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/n-QAWBr8nfe-.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/14-2-逻辑计算-反应测试2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/n-QAWBr8nfe-.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/nCn43wF_Dmdl.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/12-2-输入输出-实时时钟2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/nCn43wF_Dmdl.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/nYgYCDOr-WsW.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/01-2-快速入门-你好世界2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/nYgYCDOr-WsW.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/41-2-智能小车-圆圈转弯(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/oUGnnIDb5znS.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/41-2-智能小车-圆圈转弯(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/oUGnnIDb5znS.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/27-1-飞机游戏-显示敌机.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/oWbU-q_wzCfD.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/27-1-飞机游戏-显示敌机.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/oWbU-q_wzCfD.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/p7zVWSnDXadq.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/05-2-过程控制-单键开关.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/p7zVWSnDXadq.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/pgjYJEjZI2xX.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/31-1-物联网-单主题数据订阅2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/pgjYJEjZI2xX.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/sTRY8QumQMma.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/03-1-快速入门-心随我动.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/sTRY8QumQMma.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/sUvHoOnCZHWi.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/32-1-物联网-多主题数据订.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/sUvHoOnCZHWi.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ssTd2prNAn2F.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/20-2-复杂控制-异常处理.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/ssTd2prNAn2F.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/21-2-射频识别-读取卡号.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/tKLnjuhKMcud.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/21-2-射频识别-读取卡号.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/tKLnjuhKMcud.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/26-2-飞机游戏-移动音效.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/tUE8QZQezqFd.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/26-2-飞机游戏-移动音效.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/tUE8QZQezqFd.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/28-1-飞机游戏-显示得分.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/uRZqPpygf6mA.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/28-1-飞机游戏-显示得分.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/uRZqPpygf6mA.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/v75rZHGfMS_I.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/18-1-复杂控制-定时计时.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/v75rZHGfMS_I.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/43-2-智能小车-体感遥控(MEGO).mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/wQCIc1AJJprs.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/43-2-智能小车-体感遥控(MEGO).mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/wQCIc1AJJprs.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/37-2-文件操作-列出文件2.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/xl1mClWb68o7.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/37-2-文件操作-列出文件2.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/xl1mClWb68o7.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo CC/39-2-文件操作-录音重现.mix b/boards/default/micropython_esp32c3/examples/c76NauxsM1V0/z1kKFVq1uHOk.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo CC/39-2-文件操作-录音重现.mix rename to boards/default/micropython_esp32c3/examples/c76NauxsM1V0/z1kKFVq1uHOk.mix diff --git a/boards/default/micropython_esp32c3/examples/map.json b/boards/default/micropython_esp32c3/examples/map.json index e20ec670..08b62b35 100644 --- a/boards/default/micropython_esp32c3/examples/map.json +++ b/boards/default/micropython_esp32c3/examples/map.json @@ -1,722 +1,722 @@ { - "MixGo CC": { - "01-1-快速入门-你好世界.mix": { + "c76NauxsM1V0": { + "kkf8NW5wJel_.mix": { "__file__": true, "__name__": "01-1-快速入门-你好世界.mix" }, - "01-2-快速入门-你好世界2.mix": { + "nYgYCDOr-WsW.mix": { "__file__": true, "__name__": "01-2-快速入门-你好世界2.mix" }, - "02-1-快速入门-跳动的心.mix": { + "isFYIaOhUQ_T.mix": { "__file__": true, "__name__": "02-1-快速入门-跳动的心.mix" }, - "02-2-快速入门-为你心动.mix": { + "0NGYXNM9zIrl.mix": { "__file__": true, "__name__": "02-2-快速入门-为你心动.mix" }, - "03-1-快速入门-心随我动.mix": { + "sTRY8QumQMma.mix": { "__file__": true, "__name__": "03-1-快速入门-心随我动.mix" }, - "03-2-快速入门-心随我动2.mix": { + "B_zgfqNBgsbH.mix": { "__file__": true, "__name__": "03-2-快速入门-心随我动2.mix" }, - "04-1-快速入门-流动的灯.mix": { + "NJ9YiC-QH636.mix": { "__file__": true, "__name__": "04-1-快速入门-流动的灯.mix" }, - "04-2-快速入门-流动的灯2.mix": { + "9sW23oVLmvRd.mix": { "__file__": true, "__name__": "04-2-快速入门-流动的灯2.mix" }, - "05-1-过程控制-双键开关.mix": { + "AvAAx7AlO4P6.mix": { "__file__": true, "__name__": "05-1-过程控制-双键开关.mix" }, - "05-2-过程控制-单键开关.mix": { + "p7zVWSnDXadq.mix": { "__file__": true, "__name__": "05-2-过程控制-单键开关.mix" }, - "05-3-过程控制-IPO概念.mix": { + "DxW87CUCtY-5.mix": { "__file__": true, "__name__": "05-3-过程控制-IPO概念.mix" }, - "06-1-过程控制-声音采集.mix": { + "6TFLN-N0TnRF.mix": { "__file__": true, "__name__": "06-1-过程控制-声音采集.mix" }, - "06-2-过程控制-看见声音.mix": { + "8Czv4QYG2zZj.mix": { "__file__": true, "__name__": "06-2-过程控制-看见声音.mix" }, - "07-1-过程控制-光强采集.mix": { + "EW0Fv7WaaRJ_.mix": { "__file__": true, "__name__": "07-1-过程控制-光强采集.mix" }, - "07-2-过程控制-自动补光.mix": { + "Fb3uaEbqFpJ6.mix": { "__file__": true, "__name__": "07-2-过程控制-自动补光.mix" }, - "08-1-过程控制-接近检测.mix": { + "WhkH7wUyvr1c.mix": { "__file__": true, "__name__": "08-1-过程控制-接近检测.mix" }, - "08-2-过程控制-入侵报警.mix": { + "bLYF8lktBpVe.mix": { "__file__": true, "__name__": "08-2-过程控制-入侵报警.mix" }, - "09-1-输入输出-加速度.mix": { + "KVLdCnOM5Le5.mix": { "__file__": true, "__name__": "09-1-输入输出-加速度.mix" }, - "09-2-输入输出-平衡仪.mix": { + "YsNlbTnwPj1a.mix": { "__file__": true, "__name__": "09-2-输入输出-平衡仪.mix" }, - "10-1-输入输出-温湿度.mix": { + "ArYB4ecda0V8.mix": { "__file__": true, "__name__": "10-1-输入输出-温湿度.mix" }, - "10-2-输入输出-大气压.mix": { + "dkCRqNhdBvRT.mix": { "__file__": true, "__name__": "10-2-输入输出-大气压.mix" }, - "11-1-输入输出-点阵控制.mix": { + "QcLtm7f4tXeE.mix": { "__file__": true, "__name__": "11-1-输入输出-点阵控制.mix" }, - "11-2-输入输出-光标控制.mix": { + "dLfuHfZKb39e.mix": { "__file__": true, "__name__": "11-2-输入输出-光标控制.mix" }, - "12-1-输入输出-实时时钟.mix": { + "8qwFNrzqPB-q.mix": { "__file__": true, "__name__": "12-1-输入输出-实时时钟.mix" }, - "12-2-输入输出-实时时钟2.mix": { + "nCn43wF_Dmdl.mix": { "__file__": true, "__name__": "12-2-输入输出-实时时钟2.mix" }, - "13-1-逻辑计算-手速测试.mix": { + "eVMuTU8aSDvA.mix": { "__file__": true, "__name__": "13-1-逻辑计算-手速测试.mix" }, - "13-2-逻辑计算-手速测试2.mix": { + "Va-mT9vkJ6Vv.mix": { "__file__": true, "__name__": "13-2-逻辑计算-手速测试2.mix" }, - "14-1-逻辑计算-反应测试.mix": { + "hD2JQo_BSDWH.mix": { "__file__": true, "__name__": "14-1-逻辑计算-反应测试.mix" }, - "14-2-逻辑计算-反应测试2.mix": { + "n-QAWBr8nfe-.mix": { "__file__": true, "__name__": "14-2-逻辑计算-反应测试2.mix" }, - "15-1-逻辑计算-简单打地鼠.mix": { + "5N_9dPuI37rq.mix": { "__file__": true, "__name__": "15-1-逻辑计算-简单打地鼠.mix" }, - "15-2-逻辑计算-计时打地鼠.mix": { + "fltM51fZScQU.mix": { "__file__": true, "__name__": "15-2-逻辑计算-计时打地鼠.mix" }, - "16-1-逻辑计算-开始打地鼠.mix": { + "HgisKV-N_Sc7.mix": { "__file__": true, "__name__": "16-1-逻辑计算-开始打地鼠.mix" }, - "16-2-逻辑计算-循环打地鼠.mix": { + "duUNtYSp5Bfw.mix": { "__file__": true, "__name__": "16-2-逻辑计算-循环打地鼠.mix" }, - "17-0-复杂控制-非中断效果.mix": { + "Jf8ecj157fd7.mix": { "__file__": true, "__name__": "17-0-复杂控制-非中断效果.mix" }, - "17-1-复杂控制-双键中断.mix": { + "j3fDyX4Ud2NS.mix": { "__file__": true, "__name__": "17-1-复杂控制-双键中断.mix" }, - "17-2-复杂控制-单键中断.mix": { + "hvZjQumGc1FZ.mix": { "__file__": true, "__name__": "17-2-复杂控制-单键中断.mix" }, - "18-1-复杂控制-定时计时.mix": { + "v75rZHGfMS_I.mix": { "__file__": true, "__name__": "18-1-复杂控制-定时计时.mix" }, - "18-2-复杂控制-循环计时.mix": { + "lk0hw1ECr5cQ.mix": { "__file__": true, "__name__": "18-2-复杂控制-循环计时.mix" }, - "19-1-复杂控制-多线程.mix": { + "4tJjMQfThLu1.mix": { "__file__": true, "__name__": "19-1-复杂控制-多线程.mix" }, - "19-2-复杂控制-多线程与中断.mix": { + "X6r1OmEoO2tL.mix": { "__file__": true, "__name__": "19-2-复杂控制-多线程与中断.mix" }, - "20-1-复杂控制-异常.mix": { + "0huLIQ7ZPTEE.mix": { "__file__": true, "__name__": "20-1-复杂控制-异常.mix" }, - "20-2-复杂控制-异常处理.mix": { + "ssTd2prNAn2F.mix": { "__file__": true, "__name__": "20-2-复杂控制-异常处理.mix" }, - "21-1-射频识别-读取测试.mix": { + "1L8kS5jUtbvd.mix": { "__file__": true, "__name__": "21-1-射频识别-读取测试.mix" }, - "21-2-射频识别-读取卡号.mix": { + "tKLnjuhKMcud.mix": { "__file__": true, "__name__": "21-2-射频识别-读取卡号.mix" }, - "22-1-射频识别-写卡测试.mix": { + "3wwqwfrwV0cN.mix": { "__file__": true, "__name__": "22-1-射频识别-写卡测试.mix" }, - "22-2-射频识别-持续写卡.mix": { + "8aPzJedKSVep.mix": { "__file__": true, "__name__": "22-2-射频识别-持续写卡.mix" }, - "23-1-蓝牙通讯-主机模式.mix": { + "0Mm6fzRxcJKB.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-主机模式.mix" }, - "23-1-蓝牙通讯-从机模式.mix": { + "NAub834ThJ-2.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-从机模式.mix" }, - "24-1-无线广播-通讯测试.mix": { + "W2pIAKU5Ztrz.mix": { "__file__": true, "__name__": "24-1-无线广播-通讯测试.mix" }, - "24-2-无线广播-防丢检测.mix": { + "_v2fnOcmx_uM.mix": { "__file__": true, "__name__": "24-2-无线广播-防丢检测.mix" }, - "25-1-飞机游戏-显示飞机.mix": { + "1vCsWQIzbbcd.mix": { "__file__": true, "__name__": "25-1-飞机游戏-显示飞机.mix" }, - "25-2-飞机游戏-移动飞机.mix": { + "WtxMy5LI4l3A.mix": { "__file__": true, "__name__": "25-2-飞机游戏-移动飞机.mix" }, - "26-1-飞机游戏-发射子弹.mix": { + "5ZoHVYVZqI7Y.mix": { "__file__": true, "__name__": "26-1-飞机游戏-发射子弹.mix" }, - "26-2-飞机游戏-移动音效.mix": { + "tUE8QZQezqFd.mix": { "__file__": true, "__name__": "26-2-飞机游戏-移动音效.mix" }, - "27-1-飞机游戏-显示敌机.mix": { + "oWbU-q_wzCfD.mix": { "__file__": true, "__name__": "27-1-飞机游戏-显示敌机.mix" }, - "27-2-飞机游戏-消灭敌机.mix": { + "UaTZdzfncen1.mix": { "__file__": true, "__name__": "27-2-飞机游戏-消灭敌机.mix" }, - "28-1-飞机游戏-显示得分.mix": { + "uRZqPpygf6mA.mix": { "__file__": true, "__name__": "28-1-飞机游戏-显示得分.mix" }, - "28-2-飞机游戏-结束游戏.mix": { + "Im3NcJWUy__z.mix": { "__file__": true, "__name__": "28-2-飞机游戏-结束游戏.mix" }, - "29-1-物联网-简单数据定时上报.mix": { + "3ES__f-2K_16.mix": { "__file__": true, "__name__": "29-1-物联网-简单数据定时上报.mix" }, - "29-2-物联网-复杂数据定时上报.mix": { + "aRbVp-CddbHJ.mix": { "__file__": true, "__name__": "29-2-物联网-复杂数据定时上报.mix" }, - "30-1-物联网-简单数据按需上报.mix": { + "Gbk-CdkiNNTC.mix": { "__file__": true, "__name__": "30-1-物联网-简单数据按需上报.mix" }, - "30-2-物联网-高级数据按需上报.mix": { + "1RrnhIwvrYhn.mix": { "__file__": true, "__name__": "30-2-物联网-高级数据按需上报.mix" }, - "31-1-物联网-单主题数据订阅.mix": { + "dpB6i4b9_dSE.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅.mix" }, - "31-1-物联网-单主题数据订阅2.mix": { + "pgjYJEjZI2xX.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅2.mix" }, - "32-1-物联网-多主题数据订.mix": { + "sUvHoOnCZHWi.mix": { "__file__": true, "__name__": "32-1-物联网-多主题数据订.mix" }, - "32-2-物联网-多主题数据订2.mix": { + "CcWLS8rD4Fiv.mix": { "__file__": true, "__name__": "32-2-物联网-多主题数据订2.mix" }, - "33-1-课堂互动-自由签到.mix": { + "WXt6o0f3KxZR.mix": { "__file__": true, "__name__": "33-1-课堂互动-自由签到.mix" }, - "33-2-课堂互动-按需签到.mix": { + "hktMJz2Eqg-B.mix": { "__file__": true, "__name__": "33-2-课堂互动-按需签到.mix" }, - "34-1-课堂互动-一人抢答.mix": { + "aSRZtXd4fQTK.mix": { "__file__": true, "__name__": "34-1-课堂互动-一人抢答.mix" }, - "34-2-课堂互动-多人抢答.mix": { + "exO1dzYogAqS.mix": { "__file__": true, "__name__": "34-2-课堂互动-多人抢答.mix" }, - "35-1-课堂互动-单选答题.mix": { + "P8vlsM0I71lR.mix": { "__file__": true, "__name__": "35-1-课堂互动-单选答题.mix" }, - "35-2-课堂互动-多选答题.mix": { + "BMD3aBJRUcti.mix": { "__file__": true, "__name__": "35-2-课堂互动-多选答题.mix" }, - "36-1-课堂互动-点名答题.mix": { + "R7-KxIv2xL3i.mix": { "__file__": true, "__name__": "36-1-课堂互动-点名答题.mix" }, - "36-2-课堂互动-多人点答.mix": { + "XWYmr6dRRrij.mix": { "__file__": true, "__name__": "36-2-课堂互动-多人点答.mix" }, - "37-1-文件操作-列出文件.mix": { + "GTwGjoaSP4Qd.mix": { "__file__": true, "__name__": "37-1-文件操作-列出文件.mix" }, - "37-2-文件操作-列出文件2.mix": { + "xl1mClWb68o7.mix": { "__file__": true, "__name__": "37-2-文件操作-列出文件2.mix" }, - "38-1-文件操作-文件读写.mix": { + "7skiUzv9g47f.mix": { "__file__": true, "__name__": "38-1-文件操作-文件读写.mix" }, - "38-2-文件操作-文件读写2.mix": { + "WC0hOVfZuPvE.mix": { "__file__": true, "__name__": "38-2-文件操作-文件读写2.mix" }, - "39-1-文件操作-录音采集.mix": { + "ifhZspeHTee4.mix": { "__file__": true, "__name__": "39-1-文件操作-录音采集.mix" }, - "39-2-文件操作-录音重现.mix": { + "z1kKFVq1uHOk.mix": { "__file__": true, "__name__": "39-2-文件操作-录音重现.mix" }, - "40-1-文件操作-震动采集.mix": { + "IU04oChvR7y_.mix": { "__file__": true, "__name__": "40-1-文件操作-震动采集.mix" }, - "40-2-文件操作-震动重现.mix": { + "3U1AYGRyA2V_.mix": { "__file__": true, "__name__": "40-2-文件操作-震动重现.mix" }, - "41-1-智能小车-前进转弯(MEGO).mix": { + "-_NIU9G4pzdg.mix": { "__file__": true, "__name__": "41-1-智能小车-前进转弯(MEGO).mix" }, - "41-2-智能小车-圆圈转弯(MEGO).mix": { + "oUGnnIDb5znS.mix": { "__file__": true, "__name__": "41-2-智能小车-圆圈转弯(MEGO).mix" }, - "42-1-智能小车-智能避障(MEGO).mix": { + "LDwA6pilpmYA.mix": { "__file__": true, "__name__": "42-1-智能小车-智能避障(MEGO).mix" }, - "42-2-智能小车-智能避障2(MEGO).mix": { + "5d4kwhwQzEL1.mix": { "__file__": true, "__name__": "42-2-智能小车-智能避障2(MEGO).mix" }, - "43-1-智能小车-遥控小车(MEGO).mix": { + "i16jCGRHlinK.mix": { "__file__": true, "__name__": "43-1-智能小车-遥控小车(MEGO).mix" }, - "43-2-智能小车-体感遥控(MEGO).mix": { + "wQCIc1AJJprs.mix": { "__file__": true, "__name__": "43-2-智能小车-体感遥控(MEGO).mix" }, - "44-1-智能小车-P单巡线(MEGO).mix": { + "ZCaSYsgl7Jpg.mix": { "__file__": true, "__name__": "44-1-智能小车-P单巡线(MEGO).mix" }, - "44-2-智能小车-P双巡线(MEGO).mix": { + "1guSWho28WQa.mix": { "__file__": true, "__name__": "44-2-智能小车-P双巡线(MEGO).mix" }, "__file__": false, "__name__": "MixGo CC" }, - "MixGo ME": { - "01-1-快速入门-你好世界.mix": { + "s6iggQC5nGH3": { + "ezhtn_l8_sFo.mix": { "__file__": true, "__name__": "01-1-快速入门-你好世界.mix" }, - "01-2-快速入门-你好世界2.mix": { + "GYK0oR_j2flg.mix": { "__file__": true, "__name__": "01-2-快速入门-你好世界2.mix" }, - "02-1-快速入门-跳动的心.mix": { + "_hNil4XlkaoK.mix": { "__file__": true, "__name__": "02-1-快速入门-跳动的心.mix" }, - "02-2-快速入门-为你心动.mix": { + "6tKsB4Jaqg1M.mix": { "__file__": true, "__name__": "02-2-快速入门-为你心动.mix" }, - "03-1-快速入门-心随我动.mix": { + "o4Q1g9oCnJBs.mix": { "__file__": true, "__name__": "03-1-快速入门-心随我动.mix" }, - "03-2-快速入门-心随我动2.mix": { + "Xq_8Okcs1Vsn.mix": { "__file__": true, "__name__": "03-2-快速入门-心随我动2.mix" }, - "04-1-快速入门-流动的灯.mix": { + "rgE-DJrq8DzU.mix": { "__file__": true, "__name__": "04-1-快速入门-流动的灯.mix" }, - "04-2-快速入门-流动的灯2.mix": { + "kKQUWi7kEF0d.mix": { "__file__": true, "__name__": "04-2-快速入门-流动的灯2.mix" }, - "05-1-过程控制-双键开关.mix": { + "WFFhh53I8k49.mix": { "__file__": true, "__name__": "05-1-过程控制-双键开关.mix" }, - "05-2-过程控制-单键开关.mix": { + "TEIBXelHzkLs.mix": { "__file__": true, "__name__": "05-2-过程控制-单键开关.mix" }, - "05-3-过程控制-IPO概念.mix": { + "7Y2bjnLtKzWI.mix": { "__file__": true, "__name__": "05-3-过程控制-IPO概念.mix" }, - "06-1-过程控制-声音采集.mix": { + "Jap5DxZV6ffH.mix": { "__file__": true, "__name__": "06-1-过程控制-声音采集.mix" }, - "06-2-过程控制-看见声音.mix": { + "gNeRAR86JJUE.mix": { "__file__": true, "__name__": "06-2-过程控制-看见声音.mix" }, - "07-1-过程控制-光强采集.mix": { + "6ImAC8Kpyerr.mix": { "__file__": true, "__name__": "07-1-过程控制-光强采集.mix" }, - "07-2-过程控制-自动补光.mix": { + "XjSg1-bRdzpy.mix": { "__file__": true, "__name__": "07-2-过程控制-自动补光.mix" }, - "08-1-过程控制-接近检测.mix": { + "OH3Q7Do2-SCE.mix": { "__file__": true, "__name__": "08-1-过程控制-接近检测.mix" }, - "08-2-过程控制-入侵报警.mix": { + "Ow_kFjn0FvEE.mix": { "__file__": true, "__name__": "08-2-过程控制-入侵报警.mix" }, - "09-1-输入输出-加速度.mix": { + "n9dhX7EhIv2t.mix": { "__file__": true, "__name__": "09-1-输入输出-加速度.mix" }, - "09-2-输入输出-平衡仪.mix": { + "bYjSpGsXYVsI.mix": { "__file__": true, "__name__": "09-2-输入输出-平衡仪.mix" }, - "10-1-输入输出-地磁强度.mix": { + "ZD21bemh6E5u.mix": { "__file__": true, "__name__": "10-1-输入输出-地磁强度.mix" }, - "10-2-输入输出-金属探测.mix": { + "eVdvn-lXRTYE.mix": { "__file__": true, "__name__": "10-2-输入输出-金属探测.mix" }, - "11-1-输入输出-点阵控制.mix": { + "L7CzdGk9yd0v.mix": { "__file__": true, "__name__": "11-1-输入输出-点阵控制.mix" }, - "11-2-输入输出-光标控制.mix": { + "dtHMtj_1YbEv.mix": { "__file__": true, "__name__": "11-2-输入输出-光标控制.mix" }, - "12-1-输入输出-实时时钟.mix": { + "YE0eDCL2_UL8.mix": { "__file__": true, "__name__": "12-1-输入输出-实时时钟.mix" }, - "12-2-输入输出-实时时钟2.mix": { + "rBXtlPnATm7y.mix": { "__file__": true, "__name__": "12-2-输入输出-实时时钟2.mix" }, - "13-1-逻辑计算-手速测试.mix": { + "ELFpIgiMLWiN.mix": { "__file__": true, "__name__": "13-1-逻辑计算-手速测试.mix" }, - "13-2-逻辑计算-手速测试2.mix": { + "XUmaZAJ95EJ5.mix": { "__file__": true, "__name__": "13-2-逻辑计算-手速测试2.mix" }, - "14-1-逻辑计算-反应测试.mix": { + "0wkR7Z4YlO82.mix": { "__file__": true, "__name__": "14-1-逻辑计算-反应测试.mix" }, - "14-2-逻辑计算-反应测试2.mix": { + "x2utSm0eekH5.mix": { "__file__": true, "__name__": "14-2-逻辑计算-反应测试2.mix" }, - "15-1-逻辑计算-简单打地鼠.mix": { + "PIlyYWp0OXVU.mix": { "__file__": true, "__name__": "15-1-逻辑计算-简单打地鼠.mix" }, - "15-2-逻辑计算-计时打地鼠.mix": { + "0FSkHK8kqsiC.mix": { "__file__": true, "__name__": "15-2-逻辑计算-计时打地鼠.mix" }, - "16-1-逻辑计算-开始打地鼠.mix": { + "F_BjhEVHc5ig.mix": { "__file__": true, "__name__": "16-1-逻辑计算-开始打地鼠.mix" }, - "16-2-逻辑计算-循环打地鼠.mix": { + "p-rPrR7D2rZk.mix": { "__file__": true, "__name__": "16-2-逻辑计算-循环打地鼠.mix" }, - "17-0-复杂控制-非中断效果.mix": { + "v8mg37-wD8re.mix": { "__file__": true, "__name__": "17-0-复杂控制-非中断效果.mix" }, - "17-2-复杂控制-单键中断.mix": { + "9E4L0HaMTb1f.mix": { "__file__": true, "__name__": "17-2-复杂控制-单键中断.mix" }, - "18-1-复杂控制-定时计时.mix": { + "9-ga6brYdkRV.mix": { "__file__": true, "__name__": "18-1-复杂控制-定时计时.mix" }, - "18-2-复杂控制-循环计时.mix": { + "_lg7ctiT5utW.mix": { "__file__": true, "__name__": "18-2-复杂控制-循环计时.mix" }, - "19-1-复杂控制-多线程.mix": { + "PavVs9_ubum1.mix": { "__file__": true, "__name__": "19-1-复杂控制-多线程.mix" }, - "19-2-复杂控制-多线程与中断.mix": { + "jwv7tmXG7vUx.mix": { "__file__": true, "__name__": "19-2-复杂控制-多线程与中断.mix" }, - "20-1-复杂控制-异常.mix": { + "TuS-aKOlTZlp.mix": { "__file__": true, "__name__": "20-1-复杂控制-异常.mix" }, - "20-2-复杂控制-异常处理.mix": { + "D7Vsr4AI1eWr.mix": { "__file__": true, "__name__": "20-2-复杂控制-异常处理.mix" }, - "21-1-射频识别-读取测试(MEG1).mix": { + "a9tGQNqboJo2.mix": { "__file__": true, "__name__": "21-1-射频识别-读取测试(MEG1).mix" }, - "21-2-射频识别-读取卡号(MEG1).mix": { + "n3jfQQCnVwjy.mix": { "__file__": true, "__name__": "21-2-射频识别-读取卡号(MEG1).mix" }, - "22-1-射频识别-写卡测试(MEG1).mix": { + "Z0RlHXUqng_C.mix": { "__file__": true, "__name__": "22-1-射频识别-写卡测试(MEG1).mix" }, - "22-2-射频识别-持续写卡(MEG1).mix": { + "aD52yNluI-As.mix": { "__file__": true, "__name__": "22-2-射频识别-持续写卡(MEG1).mix" }, - "23-1-蓝牙通讯-主机模式.mix": { + "Gq_e_A7eXFtl.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-主机模式.mix" }, - "23-1-蓝牙通讯-从机模式.mix": { + "WVuGriaXoWCD.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-从机模式.mix" }, - "24-1-无线广播-通讯测试.mix": { + "RjUiMCZbVOVV.mix": { "__file__": true, "__name__": "24-1-无线广播-通讯测试.mix" }, - "24-2-无线广播-防丢检测.mix": { + "VRbFeTv3XQMJ.mix": { "__file__": true, "__name__": "24-2-无线广播-防丢检测.mix" }, - "25-1-飞机游戏-显示飞机.mix": { + "B9YtUH7uN8DD.mix": { "__file__": true, "__name__": "25-1-飞机游戏-显示飞机.mix" }, - "25-2-飞机游戏-移动飞机.mix": { + "CduIjV1ibmap.mix": { "__file__": true, "__name__": "25-2-飞机游戏-移动飞机.mix" }, - "26-1-飞机游戏-发射子弹.mix": { + "iBlZOoy5nBzY.mix": { "__file__": true, "__name__": "26-1-飞机游戏-发射子弹.mix" }, - "26-2-飞机游戏-移动音效.mix": { + "l23ngw-OXTmh.mix": { "__file__": true, "__name__": "26-2-飞机游戏-移动音效.mix" }, - "27-1-飞机游戏-显示敌机.mix": { + "iwASDXi8eN8_.mix": { "__file__": true, "__name__": "27-1-飞机游戏-显示敌机.mix" }, - "27-2-飞机游戏-消灭敌机.mix": { + "u-KASmMBgyHq.mix": { "__file__": true, "__name__": "27-2-飞机游戏-消灭敌机.mix" }, - "28-1-飞机游戏-显示得分.mix": { + "u3zwspmmMqX8.mix": { "__file__": true, "__name__": "28-1-飞机游戏-显示得分.mix" }, - "28-2-飞机游戏-结束游戏.mix": { + "8NrKkfLrlhTM.mix": { "__file__": true, "__name__": "28-2-飞机游戏-结束游戏.mix" }, - "29-1-物联网-简单数据定时上报.mix": { + "8WLC2kxfZTjC.mix": { "__file__": true, "__name__": "29-1-物联网-简单数据定时上报.mix" }, - "29-2-物联网-复杂数据定时上报.mix": { + "8I7qwkoR3Tqn.mix": { "__file__": true, "__name__": "29-2-物联网-复杂数据定时上报.mix" }, - "30-1-物联网-简单数据按需上报.mix": { + "vk5ImUtIlPaC.mix": { "__file__": true, "__name__": "30-1-物联网-简单数据按需上报.mix" }, - "30-2-物联网-高级数据按需上报.mix": { + "7l_KQ3rfrvdS.mix": { "__file__": true, "__name__": "30-2-物联网-高级数据按需上报.mix" }, - "31-1-物联网-单主题数据订阅.mix": { + "UJL_2LyZjEBC.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅.mix" }, - "31-1-物联网-单主题数据订阅2.mix": { + "Ord2iKQi09on.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅2.mix" }, - "32-1-物联网-多主题数据订.mix": { + "Y1PiphW2TPaU.mix": { "__file__": true, "__name__": "32-1-物联网-多主题数据订.mix" }, - "32-2-物联网-多主题数据订2.mix": { + "CVQKIE9UwOHj.mix": { "__file__": true, "__name__": "32-2-物联网-多主题数据订2.mix" }, - "33-1-课堂互动-自由签到.mix": { + "37LSqAxZCKkD.mix": { "__file__": true, "__name__": "33-1-课堂互动-自由签到.mix" }, - "33-2-课堂互动-按需签到.mix": { + "7SiDSZ165zqK.mix": { "__file__": true, "__name__": "33-2-课堂互动-按需签到.mix" }, - "34-1-课堂互动-一人抢答.mix": { + "9p9-U-8z6K5L.mix": { "__file__": true, "__name__": "34-1-课堂互动-一人抢答.mix" }, - "34-2-课堂互动-多人抢答.mix": { + "QPQTNNqpA6A0.mix": { "__file__": true, "__name__": "34-2-课堂互动-多人抢答.mix" }, - "35-1-课堂互动-单选答题.mix": { + "Pah8ffHGuPyG.mix": { "__file__": true, "__name__": "35-1-课堂互动-单选答题.mix" }, - "35-2-课堂互动-多选答题.mix": { + "liuepSbBCtj6.mix": { "__file__": true, "__name__": "35-2-课堂互动-多选答题.mix" }, - "36-1-课堂互动-点名答题.mix": { + "kcZIySDUhjYX.mix": { "__file__": true, "__name__": "36-1-课堂互动-点名答题.mix" }, - "36-2-课堂互动-多人点答.mix": { + "TxiuK1gFPpS8.mix": { "__file__": true, "__name__": "36-2-课堂互动-多人点答.mix" }, - "37-1-文件操作-列出文件.mix": { + "Dh69GNajAJ8n.mix": { "__file__": true, "__name__": "37-1-文件操作-列出文件.mix" }, - "37-2-文件操作-列出文件2.mix": { + "zi8VHFWnI-bC.mix": { "__file__": true, "__name__": "37-2-文件操作-列出文件2.mix" }, - "38-1-文件操作-文件读写.mix": { + "1PahPfusoXif.mix": { "__file__": true, "__name__": "38-1-文件操作-文件读写.mix" }, - "38-2-文件操作-文件读写2.mix": { + "epo9IR39hh3d.mix": { "__file__": true, "__name__": "38-2-文件操作-文件读写2.mix" }, - "39-1-文件操作-录音采集.mix": { + "NlusaFT5YadJ.mix": { "__file__": true, "__name__": "39-1-文件操作-录音采集.mix" }, - "39-2-文件操作-录音重现.mix": { + "-LCW2CHGDN1K.mix": { "__file__": true, "__name__": "39-2-文件操作-录音重现.mix" }, - "40-1-文件操作-震动采集.mix": { + "NkFMz29k5x8m.mix": { "__file__": true, "__name__": "40-1-文件操作-震动采集.mix" }, - "40-2-文件操作-震动重现.mix": { + "_splM9gqF4Wg.mix": { "__file__": true, "__name__": "40-2-文件操作-震动重现.mix" }, - "41-1-智能小车-前进转弯(MEGO).mix": { + "ZaZVgDp039Uy.mix": { "__file__": true, "__name__": "41-1-智能小车-前进转弯(MEGO).mix" }, - "41-2-智能小车-圆圈转弯(MEGO).mix": { + "i__NuM8rFjpy.mix": { "__file__": true, "__name__": "41-2-智能小车-圆圈转弯(MEGO).mix" }, - "42-1-智能小车-智能避障(MEGO).mix": { + "3-hVT-R9eZ-v.mix": { "__file__": true, "__name__": "42-1-智能小车-智能避障(MEGO).mix" }, - "42-2-智能小车-智能避障2(MEGO).mix": { + "_bEUNARwYRUk.mix": { "__file__": true, "__name__": "42-2-智能小车-智能避障2(MEGO).mix" }, - "43-1-智能小车-遥控小车(MEGO).mix": { + "xfBiBiG6ZUpx.mix": { "__file__": true, "__name__": "43-1-智能小车-遥控小车(MEGO).mix" }, - "43-2-智能小车-体感遥控(MEGO).mix": { + "VyZy1HRirych.mix": { "__file__": true, "__name__": "43-2-智能小车-体感遥控(MEGO).mix" }, - "44-1-智能小车-P单巡线(MEGO).mix": { + "SGcFUOeqzxOb.mix": { "__file__": true, "__name__": "44-1-智能小车-P单巡线(MEGO).mix" }, - "44-2-智能小车-P双巡线(MEGO).mix": { + "LxFXEmMU-GOl.mix": { "__file__": true, "__name__": "44-2-智能小车-P双巡线(MEGO).mix" }, diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/39-2-文件操作-录音重现.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/-LCW2CHGDN1K.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/39-2-文件操作-录音重现.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/-LCW2CHGDN1K.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/0FSkHK8kqsiC.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/15-2-逻辑计算-计时打地鼠.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/0FSkHK8kqsiC.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/0wkR7Z4YlO82.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/14-1-逻辑计算-反应测试.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/0wkR7Z4YlO82.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/38-1-文件操作-文件读写.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/1PahPfusoXif.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/38-1-文件操作-文件读写.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/1PahPfusoXif.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/42-1-智能小车-智能避障(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/3-hVT-R9eZ-v.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/42-1-智能小车-智能避障(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/3-hVT-R9eZ-v.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/37LSqAxZCKkD.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/33-1-课堂互动-自由签到.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/37LSqAxZCKkD.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/6ImAC8Kpyerr.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/07-1-过程控制-光强采集.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/6ImAC8Kpyerr.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/6tKsB4Jaqg1M.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/02-2-快速入门-为你心动.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/6tKsB4Jaqg1M.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/7SiDSZ165zqK.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/33-2-课堂互动-按需签到.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/7SiDSZ165zqK.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/7Y2bjnLtKzWI.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/05-3-过程控制-IPO概念.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/7Y2bjnLtKzWI.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/7l_KQ3rfrvdS.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/30-2-物联网-高级数据按需上报.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/7l_KQ3rfrvdS.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/8I7qwkoR3Tqn.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/29-2-物联网-复杂数据定时上报.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/8I7qwkoR3Tqn.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/28-2-飞机游戏-结束游戏.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/8NrKkfLrlhTM.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/28-2-飞机游戏-结束游戏.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/8NrKkfLrlhTM.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/8WLC2kxfZTjC.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/29-1-物联网-简单数据定时上报.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/8WLC2kxfZTjC.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/9-ga6brYdkRV.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/18-1-复杂控制-定时计时.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/9-ga6brYdkRV.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/9E4L0HaMTb1f.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/17-2-复杂控制-单键中断.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/9E4L0HaMTb1f.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/9p9-U-8z6K5L.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/34-1-课堂互动-一人抢答.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/9p9-U-8z6K5L.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/25-1-飞机游戏-显示飞机.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/B9YtUH7uN8DD.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/25-1-飞机游戏-显示飞机.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/B9YtUH7uN8DD.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/CVQKIE9UwOHj.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/32-2-物联网-多主题数据订2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/CVQKIE9UwOHj.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/25-2-飞机游戏-移动飞机.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/CduIjV1ibmap.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/25-2-飞机游戏-移动飞机.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/CduIjV1ibmap.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/D7Vsr4AI1eWr.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/20-2-复杂控制-异常处理.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/D7Vsr4AI1eWr.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/37-1-文件操作-列出文件.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Dh69GNajAJ8n.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/37-1-文件操作-列出文件.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Dh69GNajAJ8n.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ELFpIgiMLWiN.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/13-1-逻辑计算-手速测试.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ELFpIgiMLWiN.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/F_BjhEVHc5ig.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/16-1-逻辑计算-开始打地鼠.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/F_BjhEVHc5ig.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/GYK0oR_j2flg.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/01-2-快速入门-你好世界2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/GYK0oR_j2flg.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/23-1-蓝牙通讯-主机模式.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Gq_e_A7eXFtl.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/23-1-蓝牙通讯-主机模式.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Gq_e_A7eXFtl.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Jap5DxZV6ffH.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/06-1-过程控制-声音采集.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Jap5DxZV6ffH.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/11-1-输入输出-点阵控制.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/L7CzdGk9yd0v.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/11-1-输入输出-点阵控制.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/L7CzdGk9yd0v.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/44-2-智能小车-P双巡线(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/LxFXEmMU-GOl.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/44-2-智能小车-P双巡线(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/LxFXEmMU-GOl.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/40-1-文件操作-震动采集.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/NkFMz29k5x8m.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/40-1-文件操作-震动采集.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/NkFMz29k5x8m.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/39-1-文件操作-录音采集.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/NlusaFT5YadJ.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/39-1-文件操作-录音采集.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/NlusaFT5YadJ.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/OH3Q7Do2-SCE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/08-1-过程控制-接近检测.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/OH3Q7Do2-SCE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Ord2iKQi09on.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/31-1-物联网-单主题数据订阅2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Ord2iKQi09on.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Ow_kFjn0FvEE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/08-2-过程控制-入侵报警.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Ow_kFjn0FvEE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/PIlyYWp0OXVU.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/15-1-逻辑计算-简单打地鼠.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/PIlyYWp0OXVU.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Pah8ffHGuPyG.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/35-1-课堂互动-单选答题.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Pah8ffHGuPyG.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/PavVs9_ubum1.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/19-1-复杂控制-多线程.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/PavVs9_ubum1.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/QPQTNNqpA6A0.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/34-2-课堂互动-多人抢答.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/QPQTNNqpA6A0.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/RjUiMCZbVOVV.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/24-1-无线广播-通讯测试.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/RjUiMCZbVOVV.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/44-1-智能小车-P单巡线(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/SGcFUOeqzxOb.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/44-1-智能小车-P单巡线(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/SGcFUOeqzxOb.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/TEIBXelHzkLs.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/05-2-过程控制-单键开关.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/TEIBXelHzkLs.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/TuS-aKOlTZlp.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/20-1-复杂控制-异常.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/TuS-aKOlTZlp.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/TxiuK1gFPpS8.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/36-2-课堂互动-多人点答.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/TxiuK1gFPpS8.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/UJL_2LyZjEBC.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/31-1-物联网-单主题数据订阅.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/UJL_2LyZjEBC.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/VRbFeTv3XQMJ.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/24-2-无线广播-防丢检测.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/VRbFeTv3XQMJ.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/43-2-智能小车-体感遥控(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/VyZy1HRirych.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/43-2-智能小车-体感遥控(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/VyZy1HRirych.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/WFFhh53I8k49.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/05-1-过程控制-双键开关.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/WFFhh53I8k49.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/23-1-蓝牙通讯-从机模式.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/WVuGriaXoWCD.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/23-1-蓝牙通讯-从机模式.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/WVuGriaXoWCD.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/XUmaZAJ95EJ5.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/13-2-逻辑计算-手速测试2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/XUmaZAJ95EJ5.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/XjSg1-bRdzpy.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/07-2-过程控制-自动补光.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/XjSg1-bRdzpy.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Xq_8Okcs1Vsn.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/03-2-快速入门-心随我动2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Xq_8Okcs1Vsn.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Y1PiphW2TPaU.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/32-1-物联网-多主题数据订.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Y1PiphW2TPaU.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/YE0eDCL2_UL8.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/12-1-输入输出-实时时钟.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/YE0eDCL2_UL8.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/22-1-射频识别-写卡测试(MEG1).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Z0RlHXUqng_C.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/22-1-射频识别-写卡测试(MEG1).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/Z0RlHXUqng_C.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/10-1-输入输出-地磁强度.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ZD21bemh6E5u.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/10-1-输入输出-地磁强度.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ZD21bemh6E5u.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/41-1-智能小车-前进转弯(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ZaZVgDp039Uy.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/41-1-智能小车-前进转弯(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ZaZVgDp039Uy.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/42-2-智能小车-智能避障2(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_bEUNARwYRUk.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/42-2-智能小车-智能避障2(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_bEUNARwYRUk.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_hNil4XlkaoK.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/02-1-快速入门-跳动的心.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_hNil4XlkaoK.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_lg7ctiT5utW.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/18-2-复杂控制-循环计时.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_lg7ctiT5utW.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/40-2-文件操作-震动重现.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_splM9gqF4Wg.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/40-2-文件操作-震动重现.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/_splM9gqF4Wg.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/21-1-射频识别-读取测试(MEG1).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/a9tGQNqboJo2.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/21-1-射频识别-读取测试(MEG1).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/a9tGQNqboJo2.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/22-2-射频识别-持续写卡(MEG1).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/aD52yNluI-As.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/22-2-射频识别-持续写卡(MEG1).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/aD52yNluI-As.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/bYjSpGsXYVsI.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/09-2-输入输出-平衡仪.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/bYjSpGsXYVsI.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/11-2-输入输出-光标控制.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/dtHMtj_1YbEv.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/11-2-输入输出-光标控制.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/dtHMtj_1YbEv.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/10-2-输入输出-金属探测.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/eVdvn-lXRTYE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/10-2-输入输出-金属探测.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/eVdvn-lXRTYE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/38-2-文件操作-文件读写2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/epo9IR39hh3d.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/38-2-文件操作-文件读写2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/epo9IR39hh3d.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ezhtn_l8_sFo.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/01-1-快速入门-你好世界.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/ezhtn_l8_sFo.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/gNeRAR86JJUE.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/06-2-过程控制-看见声音.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/gNeRAR86JJUE.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/26-1-飞机游戏-发射子弹.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/iBlZOoy5nBzY.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/26-1-飞机游戏-发射子弹.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/iBlZOoy5nBzY.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/41-2-智能小车-圆圈转弯(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/i__NuM8rFjpy.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/41-2-智能小车-圆圈转弯(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/i__NuM8rFjpy.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/27-1-飞机游戏-显示敌机.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/iwASDXi8eN8_.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/27-1-飞机游戏-显示敌机.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/iwASDXi8eN8_.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/jwv7tmXG7vUx.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/19-2-复杂控制-多线程与中断.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/jwv7tmXG7vUx.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/kKQUWi7kEF0d.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/04-2-快速入门-流动的灯2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/kKQUWi7kEF0d.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/kcZIySDUhjYX.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/36-1-课堂互动-点名答题.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/kcZIySDUhjYX.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/26-2-飞机游戏-移动音效.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/l23ngw-OXTmh.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/26-2-飞机游戏-移动音效.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/l23ngw-OXTmh.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/liuepSbBCtj6.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/35-2-课堂互动-多选答题.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/liuepSbBCtj6.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/21-2-射频识别-读取卡号(MEG1).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/n3jfQQCnVwjy.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/21-2-射频识别-读取卡号(MEG1).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/n3jfQQCnVwjy.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/n9dhX7EhIv2t.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/09-1-输入输出-加速度.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/n9dhX7EhIv2t.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/o4Q1g9oCnJBs.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/03-1-快速入门-心随我动.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/o4Q1g9oCnJBs.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/p-rPrR7D2rZk.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/16-2-逻辑计算-循环打地鼠.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/p-rPrR7D2rZk.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/rBXtlPnATm7y.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/12-2-输入输出-实时时钟2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/rBXtlPnATm7y.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/rgE-DJrq8DzU.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/04-1-快速入门-流动的灯.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/rgE-DJrq8DzU.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/27-2-飞机游戏-消灭敌机.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/u-KASmMBgyHq.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/27-2-飞机游戏-消灭敌机.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/u-KASmMBgyHq.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/28-1-飞机游戏-显示得分.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/u3zwspmmMqX8.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/28-1-飞机游戏-显示得分.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/u3zwspmmMqX8.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/v8mg37-wD8re.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/17-0-复杂控制-非中断效果.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/v8mg37-wD8re.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/vk5ImUtIlPaC.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/30-1-物联网-简单数据按需上报.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/vk5ImUtIlPaC.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/x2utSm0eekH5.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/14-2-逻辑计算-反应测试2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/x2utSm0eekH5.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/43-1-智能小车-遥控小车(MEGO).mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/xfBiBiG6ZUpx.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/43-1-智能小车-遥控小车(MEGO).mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/xfBiBiG6ZUpx.mix diff --git a/boards/default/micropython_esp32c3/examples/MixGo ME/37-2-文件操作-列出文件2.mix b/boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/zi8VHFWnI-bC.mix similarity index 100% rename from boards/default/micropython_esp32c3/examples/MixGo ME/37-2-文件操作-列出文件2.mix rename to boards/default/micropython_esp32c3/examples/s6iggQC5nGH3/zi8VHFWnI-bC.mix diff --git a/boards/default/micropython_esp32c3/index.xml b/boards/default/micropython_esp32c3/index.xml index f850284f..7c632d45 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.com \ 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.com \ 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 7a8676ff..2d018ede 100644 --- a/boards/default/micropython_esp32c3/main.bundle.js +++ b/boards/default/micropython_esp32c3/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Dt,controls_typeLists:()=>ft,variables_change:()=>Lt,variables_get:()=>St,variables_global:()=>Nt,variables_set:()=>At});var i={};t.r(i),t.d(i,{base_setup:()=>vt,controls_delay:()=>Yt,controls_end_program:()=>xt,controls_except:()=>Jt,controls_finally:()=>Qt,controls_flow_statements:()=>Gt,controls_for:()=>Ut,controls_forEach:()=>yt,controls_for_range:()=>wt,controls_if:()=>Xt,controls_if_else:()=>Wt,controls_if_elseif:()=>Ht,controls_if_if:()=>kt,controls_lambda:()=>qt,controls_main:()=>Pt,controls_pass:()=>jt,controls_range:()=>bt,controls_repeat_ext:()=>zt,controls_thread:()=>Zt,controls_try:()=>Kt,controls_try_finally:()=>Bt,controls_whileUntil:()=>Vt,do_while:()=>$t});var n={};t.r(n),t.d(n,{base_map:()=>Re,math_arithmetic:()=>se,math_bit:()=>_e,math_constant:()=>ie,math_constant_mp:()=>ne,math_constrain:()=>Ie,math_dec:()=>pe,math_indexer_number:()=>he,math_map:()=>Te,math_max_min:()=>re,math_number:()=>ee,math_number_base_conversion:()=>le,math_random:()=>de,math_random_seed:()=>Me,math_round:()=>me,math_selfcalcu:()=>oe,math_to_int:()=>ue,math_trig:()=>ae,text_to_number:()=>Oe,text_to_number_skulpt:()=>Ee});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Le,char_to_ascii:()=>Ne,number_to_text:()=>De,os_system:()=>$e,text:()=>ge,text_capital:()=>ye,text_center:()=>Ve,text_char:()=>Se,text_char_at:()=>Pe,text_char_at2:()=>Fe,text_char_at3:()=>ze,text_compareTo:()=>Qe,text_compare_to:()=>be,text_create_with_container:()=>We,text_create_with_item:()=>Ke,text_encode:()=>je,text_equals_starts_ends:()=>Xe,text_eval:()=>Ze,text_find:()=>Be,text_format:()=>He,text_format_noreturn:()=>qe,text_join:()=>Ae,text_join_seq:()=>Ge,text_length:()=>fe,text_random_char:()=>ve,text_replace:()=>Ue,text_split:()=>we,text_strip:()=>ke,text_substring:()=>xe,text_substring2:()=>Ye,text_substring3:()=>Je,text_textarea:()=>Ce});var o={};t.r(o),t.d(o,{list_many_input:()=>gi,list_tolist:()=>fi,list_tolist2:()=>yi,list_trig:()=>Ei,lists_2d_get_col_row_data:()=>si,lists_2d_get_data_with_col_row:()=>ni,lists_append_extend:()=>ri,lists_change_to:()=>ci,lists_change_to_general:()=>Si,lists_clear:()=>hi,lists_create_with:()=>oi,lists_create_with2:()=>Fi,lists_create_with_container:()=>ai,lists_create_with_item:()=>pi,lists_create_with_noreturn:()=>Ci,lists_create_with_text:()=>_i,lists_create_with_text2:()=>Pi,lists_del_general:()=>Ai,lists_find:()=>Oi,lists_getIndex3:()=>vi,lists_getSublist3:()=>Yi,lists_get_index:()=>ei,lists_get_random_item:()=>li,lists_get_random_sublist:()=>di,lists_get_sublist:()=>ii,lists_insert_value:()=>Ii,lists_insert_value2:()=>Xi,lists_pop:()=>mi,lists_remove_at:()=>Mi,lists_remove_at2:()=>bi,lists_reverse:()=>Ti,lists_setIndex3:()=>xi,lists_set_index:()=>ui,lists_sort:()=>Ri,lists_zip:()=>Li,lists_zip_container:()=>Ni,lists_zip_item:()=>Di});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>$i,dicts_add_or_change:()=>Wi,dicts_clear:()=>Qi,dicts_create_with:()=>Bi,dicts_create_with_container:()=>Gi,dicts_create_with_item:()=>Ui,dicts_create_with_noreturn:()=>nn,dicts_deldict:()=>Zi,dicts_delete:()=>Ki,dicts_get:()=>ki,dicts_get_default:()=>Hi,dicts_items:()=>zi,dicts_keys:()=>wi,dicts_length:()=>ji,dicts_pop:()=>tn,dicts_setdefault:()=>en,dicts_to_json:()=>on,dicts_todict:()=>sn,dicts_update:()=>Ji,dicts_values:()=>qi,json_to_dicts:()=>_n});var a={};t.r(a),t.d(a,{logic_boolean:()=>dn,logic_compare:()=>pn,logic_compare_continous:()=>un,logic_is:()=>Mn,logic_is_in:()=>hn,logic_negate:()=>ln,logic_null:()=>In,logic_operation:()=>rn,logic_tobool:()=>mn,logic_true_or_false:()=>Tn});var p={};t.r(p),t.d(p,{sdcard_mount:()=>Gn,sdcard_use_spi_init:()=>Bn,storage_can_write_ornot:()=>Ln,storage_change_dir:()=>yn,storage_close_file:()=>Dn,storage_delete_file:()=>Fn,storage_file_seek:()=>Yn,storage_file_tell:()=>vn,storage_file_write:()=>gn,storage_fileopen:()=>En,storage_fileopen_new:()=>Rn,storage_fileopen_new_encoding:()=>cn,storage_get_a_line:()=>An,storage_get_contents:()=>Sn,storage_get_contents_without_para:()=>Cn,storage_get_current_dir:()=>xn,storage_get_file_size:()=>Pn,storage_get_filename:()=>Nn,storage_is_file:()=>Vn,storage_list_all_files:()=>fn,storage_make_dir:()=>Xn,storage_open_file_with_os:()=>On,storage_rename:()=>bn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Jn,procedures_callreturn:()=>Qn,procedures_defnoreturn:()=>kn,procedures_defreturn:()=>Hn,procedures_ifreturn:()=>zn,procedures_mutatorarg:()=>Kn,procedures_mutatorcontainer:()=>Wn,procedures_return:()=>qn});var r={};t.r(r),t.d(r,{tuple_change_to:()=>ps,tuple_create_with:()=>Zn,tuple_create_with_container:()=>$n,tuple_create_with_item:()=>ts,tuple_create_with_noreturn:()=>ds,tuple_create_with_text2:()=>es,tuple_create_with_text_return:()=>is,tuple_del:()=>os,tuple_find:()=>us,tuple_getIndex:()=>ns,tuple_getSublist:()=>ls,tuple_get_random_item:()=>Ts,tuple_get_sublist:()=>Is,tuple_join:()=>_s,tuple_length:()=>ss,tuple_max:()=>as,tuple_totuple:()=>hs,tuple_trig:()=>rs});var l={};t.r(l),t.d(l,{set_add_discard:()=>As,set_clear:()=>gs,set_create_with:()=>ms,set_create_with_container:()=>Os,set_create_with_item:()=>Es,set_create_with_text_return:()=>Ds,set_length:()=>Rs,set_operate:()=>Cs,set_operate_update:()=>Ss,set_pop:()=>cs,set_sub:()=>Ls,set_toset:()=>fs,set_update:()=>Ns});var d={};t.r(d),t.d(d,{html_content:()=>xs,html_content_more:()=>Xs,html_document:()=>Ps,html_form:()=>ys,html_head_body:()=>Ys,html_style:()=>bs,html_style_color:()=>Bs,html_style_content:()=>Vs,html_text:()=>Gs,html_title:()=>vs});var I={};t.r(I),t.d(I,{attribute_access:()=>to,function_call:()=>js,function_call_container:()=>Zs,function_call_item:()=>$s,raw_block:()=>ks,raw_empty:()=>Ws,raw_expression:()=>Hs,raw_table:()=>ws,text_comment:()=>Ks,text_print_multiple:()=>Qs,text_print_multiple_container:()=>zs,text_print_multiple_item:()=>qs,type_check:()=>Js});var T={};t.r(T),t.d(T,{controls_type:()=>oo,controls_typeLists:()=>_o,variables_change:()=>no,variables_get:()=>eo,variables_global:()=>so,variables_set:()=>io});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>mo,base_setup:()=>po,controls_delay:()=>Mo,controls_flow_statements:()=>ho,controls_for:()=>lo,controls_forEach:()=>go,controls_for_range:()=>Io,controls_if:()=>uo,controls_interrupts:()=>Ro,controls_lambda:()=>So,controls_main:()=>ao,controls_millis:()=>Oo,controls_nointerrupts:()=>co,controls_pass:()=>Lo,controls_range:()=>Co,controls_repeat:()=>Fo,controls_repeat_ext:()=>fo,controls_thread:()=>No,controls_try_finally:()=>ro,controls_whileUntil:()=>To,do_while:()=>Do,reset:()=>Eo,time_sleep:()=>Ao});var M={};t.r(M),t.d(M,{base_map:()=>jo,math_arithmetic:()=>Xo,math_bit:()=>xo,math_constant:()=>vo,math_constant_mp:()=>Yo,math_constrain:()=>Ho,math_dec:()=>Bo,math_indexer_number:()=>Jo,math_map:()=>ko,math_max_min:()=>Uo,math_number:()=>Po,math_number_base_conversion:()=>Wo,math_random:()=>wo,math_random_seed:()=>Ko,math_round:()=>Qo,math_selfcalcu:()=>bo,math_single:()=>yo,math_to_int:()=>Go,math_trig:()=>Vo,text_to_number:()=>zo,text_to_number_skulpt:()=>qo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>i_,char_to_ascii:()=>n_,number_to_text:()=>s_,os_system:()=>N_,text:()=>Zo,text_capital:()=>I_,text_center:()=>T_,text_char:()=>t_,text_char_at:()=>a_,text_char_at2:()=>__,text_char_at3:()=>S_,text_compareTo:()=>C_,text_compare_to:()=>r_,text_encode:()=>A_,text_equals_starts_ends:()=>u_,text_eval:()=>L_,text_find:()=>h_,text_format:()=>R_,text_format_noreturn:()=>c_,text_join:()=>e_,text_join_seq:()=>M_,text_length:()=>o_,text_random_char:()=>p_,text_replace:()=>m_,text_split:()=>O_,text_strip:()=>E_,text_substring:()=>d_,text_substring2:()=>l_,text_substring3:()=>g_,text_textarea:()=>$o});var O={};t.r(O),t.d(O,{list_many_input:()=>J_,list_tolist:()=>oa,list_tolist2:()=>_a,list_trig:()=>H_,lists_2d_get_col_row_data:()=>F_,lists_2d_get_data_with_col_row:()=>f_,lists_append_extend:()=>X_,lists_change_to:()=>K_,lists_change_to_general:()=>z_,lists_clear:()=>G_,lists_create_with:()=>P_,lists_create_with2:()=>j_,lists_create_with_noreturn:()=>Q_,lists_create_with_text:()=>v_,lists_create_with_text2:()=>Z_,lists_del_general:()=>q_,lists_find:()=>U_,lists_getIndex3:()=>$_,lists_getSublist3:()=>ta,lists_get_index:()=>Y_,lists_get_random_item:()=>b_,lists_get_random_sublist:()=>y_,lists_get_sublist:()=>D_,lists_insert_value:()=>V_,lists_insert_value2:()=>ia,lists_pop:()=>k_,lists_remove_at:()=>w_,lists_remove_at2:()=>na,lists_reverse:()=>B_,lists_setIndex3:()=>ea,lists_set_index:()=>x_,lists_sort:()=>W_,lists_zip:()=>sa});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>Ea,dicts_add_or_change:()=>la,dicts_clear:()=>Ta,dicts_create_with:()=>aa,dicts_create_with_noreturn:()=>ga,dicts_deldict:()=>Oa,dicts_delete:()=>da,dicts_get:()=>ua,dicts_get_default:()=>ra,dicts_items:()=>ha,dicts_keys:()=>pa,dicts_length:()=>ma,dicts_pop:()=>Ra,dicts_setdefault:()=>ca,dicts_to_json:()=>Sa,dicts_todict:()=>Ca,dicts_update:()=>Ia,dicts_values:()=>Ma,json_to_dicts:()=>Aa});var R={};t.r(R),t.d(R,{logic_boolean:()=>Fa,logic_compare:()=>La,logic_compare_continous:()=>Na,logic_is:()=>xa,logic_is_in:()=>Ya,logic_negate:()=>fa,logic_null:()=>Pa,logic_operation:()=>Da,logic_tobool:()=>Xa,logic_true_or_false:()=>va});var c={};t.r(c),t.d(c,{sdcard_mount:()=>sp,sdcard_use_spi_init:()=>np,storage_can_write_ornot:()=>Ha,storage_change_dir:()=>Za,storage_close_file:()=>Ka,storage_delete_file:()=>Qa,storage_file_seek:()=>ja,storage_file_tell:()=>qa,storage_file_write:()=>Ga,storage_fileopen:()=>ya,storage_fileopen_new:()=>Va,storage_fileopen_new_encoding:()=>Ba,storage_get_a_line:()=>ka,storage_get_contents:()=>wa,storage_get_contents_without_para:()=>Ua,storage_get_current_dir:()=>$a,storage_get_file_size:()=>za,storage_get_filename:()=>Wa,storage_is_file:()=>ip,storage_list_all_files:()=>Ja,storage_make_dir:()=>tp,storage_open_file_with_os:()=>ba,storage_rename:()=>ep});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>pp,procedures_callreturn:()=>ap,procedures_defnoreturn:()=>_p,procedures_defreturn:()=>op,procedures_ifreturn:()=>up,procedures_return:()=>rp});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ep,tuple_create_with:()=>lp,tuple_create_with_noreturn:()=>Cp,tuple_create_with_text2:()=>dp,tuple_create_with_text_return:()=>Ip,tuple_del:()=>Mp,tuple_find:()=>Rp,tuple_getIndex:()=>Tp,tuple_getSublist:()=>gp,tuple_get_random_item:()=>Ap,tuple_get_sublist:()=>Sp,tuple_join:()=>mp,tuple_length:()=>hp,tuple_max:()=>Op,tuple_totuple:()=>Lp,tuple_trig:()=>cp});var S={};t.r(S),t.d(S,{set_add_discard:()=>Yp,set_clear:()=>Fp,set_create_with:()=>Np,set_create_with_text_return:()=>bp,set_length:()=>Dp,set_operate:()=>Pp,set_operate_update:()=>vp,set_pop:()=>fp,set_sub:()=>xp,set_toset:()=>yp,set_update:()=>Xp});var A={};t.r(A),t.d(A,{html_content:()=>Up,html_content_more:()=>wp,html_document:()=>Vp,html_form:()=>Hp,html_head_body:()=>Gp,html_style:()=>kp,html_style_content:()=>Wp,html_text:()=>Kp,html_title:()=>Bp});var L={};t.r(L),t.d(L,{attribute_access:()=>$p,function_call:()=>Zp,raw_block:()=>Jp,raw_empty:()=>zp,raw_expression:()=>Qp,raw_table:()=>qp,type_check:()=>jp});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>lu,actuator_extern_get_led_state:()=>du,actuator_extern_led_bright:()=>ru,actuator_extern_led_brightness:()=>Iu,actuator_ms32006_dcmotor:()=>gu,actuator_ms32006_init:()=>cu,actuator_ms32006_stepper:()=>Cu,actuator_neopixel_init:()=>Su,actuator_neopixel_rgb:()=>Au,actuator_neopixel_rgb_all:()=>Lu,actuator_neopixel_write:()=>Nu,actuator_use_uart_init:()=>Du,esp32_music_get_tempo_extern:()=>au,esp32_music_pitch:()=>nu,esp32_music_pitch_init:()=>iu,esp32_music_pitch_with_time:()=>su,esp32_music_play_list:()=>ou,esp32_music_reset_extern:()=>pu,esp32_music_set_tempo_extern:()=>_u,esp32_music_stop:()=>uu,mixbot_actuator_extern_get_addr:()=>Ku,mixbot_actuator_extern_set_addr:()=>Ju,mixbot_addr_extern:()=>Yu,robot_led_extern:()=>yu,robot_led_extern_get_value:()=>Vu,robot_motor_extern:()=>xu,robot_motor_extern_get_speed:()=>Xu,robot_servo_extern_absolute_run:()=>wu,robot_servo_extern_get_status:()=>Bu,robot_servo_extern_relative_continue:()=>Wu,robot_servo_extern_relative_origin:()=>ku,robot_servo_extern_relative_run:()=>Hu,robot_servo_extern_stop:()=>Uu,robot_servo_extern_stop_mode:()=>Gu,robot_traffic_light_extern:()=>bu,servo_get_angle:()=>Eu,servo_get_speed:()=>Ru,servo_init:()=>Tu,servo_move:()=>hu,servo_set_angle:()=>mu,servo_set_speed:()=>Ou,servo_speed_360:()=>Mu,syn6288_builtin_voice:()=>Pu,syn6288_get_voice:()=>Fu,syn6288_set_voice:()=>fu,syn6288_tts_play:()=>vu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Ar,actuator_dc_motor_stop:()=>Lr,actuator_get_led_bright:()=>Zu,actuator_get_led_state:()=>$u,actuator_led_bright:()=>ju,actuator_led_brightness:()=>tr,actuator_mixbot_buzzer_on_off:()=>Pr,actuator_mixgo_nova_mic_get:()=>br,actuator_mixgo_nova_mic_set:()=>Xr,actuator_mixgo_nova_onboard_music_pitch:()=>wr,actuator_mixgo_nova_onboard_music_stop:()=>kr,actuator_mixgo_nova_play_audio:()=>Gr,actuator_mixgo_nova_play_online_audio:()=>Ur,actuator_mixgo_nova_record_audio:()=>Br,actuator_mixgo_nova_voice_get:()=>Vr,actuator_mixgo_nova_voice_set:()=>yr,actuator_mixgo_zero_led_color:()=>er,actuator_onboard_neopixel_rgb:()=>ar,actuator_onboard_neopixel_rgb_all:()=>pr,actuator_onboard_neopixel_rgb_show_all_chase:()=>rr,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ur,actuator_onboard_neopixel_write:()=>lr,actuator_rm_onboard_neopixel_rgb:()=>dr,actuator_rm_onboard_neopixel_rgb_all:()=>Ir,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Tr,actuator_stepper_keep:()=>Cr,actuator_stepper_stop:()=>Sr,bitbot_motor:()=>xr,bitbot_move:()=>vr,bitbot_stop:()=>Yr,cc_number:()=>_r,esp32_music_get_tempo:()=>Mr,esp32_music_reset:()=>mr,esp32_music_set_tempo:()=>hr,esp32_onboard_music_pitch:()=>Or,esp32_onboard_music_pitch_with_time:()=>Er,esp32_onboard_music_play_list:()=>cr,esp32_onboard_music_stop:()=>Rr,get_power_output:()=>Wr,ledswitch:()=>qu,mixbot_motor:()=>Fr,mixbot_motor_status:()=>Nr,mixbot_move:()=>Dr,mixbot_stop:()=>fr,number:()=>zu,rm_actuator_get_led_bright:()=>nr,rm_actuator_get_led_state:()=>sr,rm_actuator_led_bright:()=>ir,rm_actuator_led_brightness:()=>or,rm_motor:()=>gr,set_all_power_output:()=>Kr,set_power_output:()=>Hr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Ll,ai_sensor_ailocal_class:()=>hl,ai_sensor_ailocal_class_result:()=>Ml,ai_sensor_ailocal_train:()=>Tl,ai_sensor_asr_recognize:()=>cl,ai_sensor_audio_play:()=>Ol,ai_sensor_audio_record:()=>ml,ai_sensor_barcode:()=>tl,ai_sensor_circle:()=>_l,ai_sensor_classifier_faces:()=>Al,ai_sensor_color:()=>rl,ai_sensor_color_chases:()=>Il,ai_sensor_color_chases_result:()=>dl,ai_sensor_config:()=>Zr,ai_sensor_face:()=>Sl,ai_sensor_find_20objects:()=>Nl,ai_sensor_find_barcodes:()=>el,ai_sensor_find_circles:()=>al,ai_sensor_find_colors:()=>ll,ai_sensor_find_licenseplates:()=>Cl,ai_sensor_find_lines:()=>ol,ai_sensor_find_qrcodes:()=>jr,ai_sensor_find_rects:()=>ul,ai_sensor_find_tags:()=>nl,ai_sensor_licenseplate:()=>gl,ai_sensor_line:()=>sl,ai_sensor_qrcode:()=>zr,ai_sensor_qrcode_lite:()=>qr,ai_sensor_rect:()=>pl,ai_sensor_rgb:()=>$r,ai_sensor_tag:()=>il,ai_sensor_use_uart_init:()=>Qr,ai_sensor_yolo_recognize:()=>El,ai_sensor_yolo_recognize_result:()=>Rl});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>Fl,MICROPYTHON_AI_Speech_unit:()=>fl,MICROPYTHON_AI_client:()=>Dl});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>Wl,mpython_blynk_app_notify:()=>Vl,mpython_blynk_email:()=>Ul,mpython_blynk_get_timers:()=>wl,mpython_blynk_on_connected:()=>Xl,mpython_blynk_on_disconnected:()=>xl,mpython_blynk_run:()=>yl,mpython_blynk_sensor_data_to_app:()=>Hl,mpython_blynk_set_property:()=>Gl,mpython_blynk_setup:()=>Kl,mpython_blynk_stop_timers:()=>Bl,mpython_blynk_sync_virtual:()=>Yl,mpython_blynk_terminal_widget_vpin:()=>vl,mpython_blynktimer:()=>kl,mpython_blynktimer_run:()=>bl});var v={};t.r(v),t.d(v,{cc_g1_init:()=>Jl,cc_g1_read_bat:()=>Ql,cc_g1_read_joystick:()=>zl,cc_g1_read_key:()=>ql,cc_g1_turnoff:()=>jl});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>_d,ce_go_get_led_bright:()=>ed,ce_go_get_led_state:()=>id,ce_go_hall_attachInterrupt:()=>ad,ce_go_hall_data:()=>ud,ce_go_hall_initialize:()=>pd,ce_go_led_bright:()=>td,ce_go_led_brightness:()=>nd,ce_go_light_number:()=>$l,ce_go_pin_light:()=>Td,ce_go_pin_near:()=>ld,ce_go_pin_near_line:()=>rd,ce_go_pin_near_state_change:()=>dd,ce_go_stepper_keep:()=>sd,ce_go_stepper_stop:()=>od,sensor_mixgome_eulerangles:()=>Id});var x={};t.r(x),t.d(x,{communicate_bluetooth_central_init:()=>qd,communicate_bluetooth_connect:()=>tI,communicate_bluetooth_disconnect:()=>eI,communicate_bluetooth_handle:()=>_I,communicate_bluetooth_is_connected:()=>nI,communicate_bluetooth_mac:()=>$d,communicate_bluetooth_peripheral_init:()=>jd,communicate_bluetooth_recv:()=>sI,communicate_bluetooth_recv_only:()=>oI,communicate_bluetooth_scan:()=>Zd,communicate_bluetooth_send:()=>iI,communicate_espnow_init:()=>aI,communicate_espnow_init_new:()=>pI,communicate_i2c_available:()=>vd,communicate_i2c_init:()=>Od,communicate_i2c_master_read:()=>Pd,communicate_i2c_onboard:()=>Md,communicate_i2c_read:()=>Ed,communicate_i2c_scan:()=>cd,communicate_i2c_write:()=>Rd,communicate_ir_recv_init:()=>Gd,communicate_ir_send_init:()=>Wd,communicate_ow_init:()=>xd,communicate_ow_read:()=>bd,communicate_ow_reset:()=>Bd,communicate_ow_scan:()=>Xd,communicate_ow_select:()=>Vd,communicate_ow_write:()=>yd,communicate_spi_buffer:()=>Sd,communicate_spi_init:()=>gd,communicate_spi_onboard:()=>md,communicate_spi_read:()=>Ad,communicate_spi_read_output:()=>Ld,communicate_spi_readinto:()=>Nd,communicate_spi_readinto_output:()=>Dd,communicate_spi_set:()=>Cd,communicate_spi_write:()=>fd,communicate_spi_write_readinto:()=>Fd,espnow_radio_channel:()=>TI,espnow_radio_channel_new:()=>MI,espnow_radio_on_off:()=>mI,espnow_radio_rec:()=>EI,espnow_radio_recv:()=>cI,espnow_radio_recv_certain_msg:()=>gI,espnow_radio_recv_certain_msg_new:()=>SI,espnow_radio_recv_msg:()=>RI,espnow_radio_recv_new:()=>CI,espnow_radio_send:()=>OI,espnow_radio_txpower:()=>hI,i2c_available:()=>KI,i2c_init:()=>vI,i2c_master_reader2:()=>WI,i2c_read:()=>YI,i2c_scan:()=>XI,i2c_slave_onreceive:()=>Yd,i2c_write:()=>xI,internal_variable:()=>Ud,ir_recv_timeout:()=>Hd,ir_transmit_busy:()=>zd,ir_transmit_conventional_data:()=>Kd,ir_transmit_raw_code:()=>Qd,ir_transmit_study_code:()=>Jd,ir_whether_recv:()=>kd,lora_init:()=>AI,lora_packet:()=>LI,lora_recv:()=>DI,lora_send:()=>NI,network_espnow_info:()=>rI,network_espnow_mac:()=>uI,network_espnow_recv:()=>lI,network_espnow_recv_handle:()=>II,network_espnow_send:()=>dI,recv_fun:()=>wd,spi_buffer:()=>VI,spi_init:()=>bI,spi_read:()=>BI,spi_read_output:()=>GI,spi_readinto:()=>UI,spi_readinto_output:()=>wI,spi_set:()=>yI,spi_write:()=>kI,spi_write_readinto:()=>HI,urequests_attribute:()=>FI,urequests_get:()=>fI,urequests_method:()=>PI});var X={};t.r(X),t.d(X,{display_animate:()=>gT,display_blink_rate:()=>OT,display_circle:()=>CT,display_color_seclet:()=>XT,display_draw_4strings:()=>dT,display_fill:()=>cT,display_get_screen_image:()=>mT,display_help:()=>AT,display_image_size:()=>IT,display_lcd_use_i2c_init:()=>UT,display_line:()=>hT,display_line_arbitrarily:()=>MT,display_matrix_extern_bright_point:()=>sT,display_matrix_extern_bright_screen:()=>_T,display_matrix_extern_clear:()=>aT,display_matrix_extern_get_pixel:()=>nT,display_matrix_extern_get_screen_pixel:()=>oT,display_matrix_extern_image_builtins:()=>pT,display_matrix_extern_scroll_string:()=>ZI,display_matrix_extern_scroll_string_delay:()=>$I,display_matrix_extern_shift:()=>iT,display_matrix_extern_show_frame_string:()=>tT,display_matrix_extern_show_frame_string_delay:()=>eT,display_matrix_extern_show_image:()=>qI,display_matrix_extern_show_image_or_string_delay:()=>jI,display_matrix_use_i2c_init:()=>zI,display_oled_drawPixel:()=>NT,display_oled_showBitmap:()=>LT,display_oled_use_i2c_init:()=>KT,display_onoff:()=>RT,display_rect:()=>TT,display_rgb_color:()=>ET,display_tm1650_power:()=>fT,display_tm1650_set_brightness:()=>vT,display_tm1650_show_dot:()=>PT,display_tm1650_show_num:()=>FT,display_tm_use_i2c_init:()=>DT,display_triangle:()=>ST,display_use_i2c_init:()=>lT,extern_oled_bright_point:()=>nh,extern_oled_clear:()=>sh,extern_oled_get_pixel:()=>ih,extern_oled_hvline:()=>_h,extern_oled_line:()=>ah,extern_oled_scroll_string:()=>jT,extern_oled_scroll_string_delay:()=>ZT,extern_oled_shape_rect:()=>oh,extern_oled_shift:()=>eh,extern_oled_show_frame_string:()=>$T,extern_oled_show_frame_string_delay:()=>th,extern_oled_show_image:()=>JT,extern_oled_show_image_or_string_delay:()=>qT,extern_oled_show_image_xy:()=>QT,extern_oled_show_string:()=>zT,lcd_backlight:()=>HT,lcd_clear:()=>WT,lcd_print_string:()=>kT,lcd_show_image_or_string_delay:()=>wT,matrix_extern_image_arithmetic:()=>uT,matrix_extern_image_invert:()=>rT,tft_fill:()=>BT,tft_line_arbitrarily:()=>GT,tft_scroll_string_delay:()=>yT,tft_show_frame_string_delay:()=>VT,tft_show_image_or_string_delay:()=>bT,tft_show_image_xy:()=>xT,tft_use_spi_init:()=>YT});var b={};t.r(b),t.d(b,{bitbot_display_image_create:()=>Kh,display_bright_point:()=>gh,display_bright_screen:()=>Sh,display_clear:()=>Ah,display_get_pixel:()=>ch,display_get_screen_pixel:()=>Ch,display_image_builtins:()=>Mh,display_image_builtins_all:()=>mh,display_image_create:()=>hh,display_scroll_string:()=>lh,display_scroll_string_delay:()=>dh,display_shift:()=>Rh,display_show_frame_string:()=>Ih,display_show_frame_string_delay:()=>Th,display_show_image:()=>uh,display_show_image_or_string_delay:()=>rh,image_arithmetic:()=>Oh,image_invert:()=>Eh,mixbot_display_bright_screen:()=>Hh,mixbot_display_get_ambientbright:()=>kh,mixbot_display_get_screen_pixel:()=>wh,mixbot_display_image_create:()=>Uh,mixbot_display_rotate:()=>Wh,mixgo_display_image_create_new:()=>Dh,mixgome_display_font:()=>fh,mixgome_display_image_create:()=>Lh,mixgomini_display_image_create:()=>Nh,mpython_display_hvline:()=>Vh,mpython_display_line:()=>Bh,mpython_display_shape_rect:()=>yh,mpython_pbm_image:()=>Gh,onboard_oled_bright_point:()=>bh,onboard_oled_scroll_string_delay:()=>xh,onboard_oled_show_frame_string_delay:()=>Xh,onboard_oled_show_image:()=>Fh,onboard_oled_show_image_or_string_delay:()=>Yh,onboard_oled_show_image_xy:()=>Ph,onboard_oled_show_string:()=>vh,onboard_tft_bright_point:()=>oM,onboard_tft_bright_screen:()=>pM,onboard_tft_clear:()=>_M,onboard_tft_clock_clear:()=>TM,onboard_tft_clock_draw:()=>IM,onboard_tft_clock_get_rtctime:()=>lM,onboard_tft_clock_init:()=>rM,onboard_tft_clock_set_time:()=>dM,onboard_tft_display_hvline:()=>eM,onboard_tft_display_line:()=>iM,onboard_tft_display_shape_circle:()=>hM,onboard_tft_display_shape_rect:()=>tM,onboard_tft_fill:()=>uM,onboard_tft_get_pixel:()=>sM,onboard_tft_get_screen_pixel:()=>aM,onboard_tft_scroll_string:()=>qh,onboard_tft_scroll_string_delay:()=>jh,onboard_tft_shift:()=>nM,onboard_tft_show_frame_string:()=>Zh,onboard_tft_show_frame_string_delay:()=>$h,onboard_tft_show_image:()=>Jh,onboard_tft_show_image_or_string_delay:()=>zh,onboard_tft_show_image_xy:()=>Qh});var y={};t.r(y),t.d(y,{factory_block:()=>LM,factory_block_return:()=>NM,factory_block_return_with_textarea:()=>fM,factory_block_with_textarea:()=>DM,factory_callMethod_noreturn:()=>SM,factory_callMethod_return:()=>AM,factory_create_with_container:()=>RM,factory_create_with_item:()=>cM,factory_declare:()=>CM,factory_from_import:()=>mM,factory_function_noreturn:()=>EM,factory_function_return:()=>gM,factory_import:()=>OM,folding_block:()=>FM});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>ZM,inout_analog_atten:()=>GM,inout_analog_read:()=>BM,inout_analog_read_init:()=>KM,inout_analog_write:()=>bM,inout_analog_write_init:()=>WM,inout_analog_write_set:()=>yM,inout_analog_write_set_freq:()=>zM,inout_digital_init:()=>kM,inout_digital_read:()=>xM,inout_digital_write:()=>YM,inout_highlow:()=>vM,inout_pinMode:()=>QM,inout_pin_attachInterrupt:()=>wM,inout_pin_pressed:()=>UM,inout_pin_pressed_init:()=>JM,inout_pwm_analog_write:()=>XM,inout_pwm_analog_write_init:()=>HM,inout_pwm_analog_write_set_freq:()=>VM,pin_pressed:()=>jM,pin_pressed_init:()=>qM});var B={};t.r(B),t.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>gm,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>cm,IOT_EMQX_PING:()=>Em,IOT_FORMATTING:()=>mm,IOT_FORMAT_STRING:()=>Om,IOT_MIXIO_NTP:()=>Rm,IOT_MIXIO_PUBLISH:()=>rm,IOT_MIXIO_SUBSCRIBE:()=>lm,iot_checkonenet:()=>vm,iot_client_onboard:()=>Sm,iot_create_with_item:()=>pm,iot_http_client:()=>Am,iot_http_data:()=>Lm,iot_mixio_check:()=>Tm,iot_mixio_connect:()=>um,iot_mixio_connect_only:()=>Im,iot_mixio_disconnect:()=>dm,iot_mixio_format_msg:()=>Mm,iot_mixio_format_topic:()=>hm,iot_mixly_key:()=>Cm,iot_mqtt_client:()=>Nm,iot_mqtt_data:()=>Dm,iot_onenet_check:()=>nm,iot_onenet_connect:()=>em,iot_onenet_disconnect:()=>im,iot_onenet_publish:()=>om,iot_onenet_publish_dict:()=>sm,iot_onenetconnect:()=>Fm,iot_onenetdisconnect:()=>Pm,iot_publish:()=>Ym,iot_publish_container:()=>_m,iot_publish_item:()=>am,iot_wifi_connect:()=>tm,iot_wificonnect:()=>fm});var G={};t.r(G),t.d(G,{network_ap_connect:()=>Hm,network_connect:()=>Bm,network_get_connect:()=>Um,network_get_wifi:()=>km,network_init:()=>Xm,network_is_active:()=>ym,network_open:()=>bm,network_scan:()=>Vm,network_server:()=>Wm,network_socket_accept:()=>qm,network_socket_bind:()=>Jm,network_socket_close:()=>eO,network_socket_connect:()=>Qm,network_socket_init:()=>Km,network_socket_listen:()=>zm,network_socket_receive:()=>jm,network_socket_receive_from:()=>$m,network_socket_send:()=>Zm,network_socket_send_to:()=>tO,network_stop:()=>wm,network_wifi_connect:()=>Gm,ntptime_address:()=>_O,ntptime_time:()=>oO,requests_attribute:()=>nO,requests_get:()=>iO,requests_method:()=>sO});var U={};t.r(U),t.d(U,{HCSR04:()=>aE,PS2_Button:()=>lE,PS2_Buttons:()=>IE,PS2_Buttons_new:()=>mE,PS2_State:()=>dE,PS2_init:()=>pE,PS2_init_new:()=>hE,PS2_stk:()=>TE,PS2_stk_new:()=>OE,PS2_vibration:()=>rE,PS2_vibration_new:()=>ME,esp32_s2_weather_init:()=>nE,esp32_s2_weather_rain:()=>oE,esp32_s2_weather_wd:()=>sE,esp32_s2_weather_ws:()=>_E,extern_rfid_read:()=>kO,extern_rfid_readcontent:()=>WO,extern_rfid_readid:()=>HO,extern_rfid_status:()=>QO,extern_rfid_write:()=>KO,extern_rfid_write_return:()=>JO,gnss_get_data:()=>gE,gnss_have_data:()=>cE,mixbot_sensor_extern_get_addr:()=>fE,mixbot_sensor_extern_set_addr:()=>FE,pm25_get_data:()=>RE,robot_button_extern_get_value:()=>CE,robot_color_extern_get_value:()=>DE,robot_infrared_extern_get_value:()=>AE,robot_infrared_extern_grey_get_value:()=>LE,robot_potentiometer_extern_get_value:()=>NE,robot_sonar_extern_get_value:()=>PE,robot_sonar_extern_led:()=>vE,robot_touch_extern_get_value:()=>SE,sensor_APDS9960_extern:()=>AO,sensor_LTR308_extern:()=>LO,sensor_LTR390UV_extern:()=>DO,sensor_MAX30102_extern:()=>SO,sensor_QMC5883L_extern:()=>YO,sensor_VL530LX_extern:()=>fO,sensor_adxl345_get_acceleration:()=>IO,sensor_aht11_extern:()=>PO,sensor_bmp:()=>EO,sensor_compass_reset:()=>UO,sensor_dht11:()=>hO,sensor_ds18x20:()=>cO,sensor_hp203_extern:()=>vO,sensor_light_level:()=>TO,sensor_lm35:()=>gO,sensor_ltr381_extern:()=>NO,sensor_mixgo_extern_button_attachInterrupt:()=>lO,sensor_mixgo_extern_button_get_presses:()=>rO,sensor_mixgo_extern_button_is_pressed:()=>pO,sensor_mixgo_extern_button_was_pressed:()=>uO,sensor_mixgo_extern_light:()=>MO,sensor_mixgo_extern_pin_near:()=>OO,sensor_mixgo_extern_sound:()=>mO,sensor_mixgoce_hot_wheel_degrees:()=>iE,sensor_mixgoce_hot_wheel_is_touched:()=>eE,sensor_mpu9250_attachGestureInterrupt:()=>dO,sensor_mpu9250_calibrate_compass:()=>VO,sensor_mpu9250_field_strength:()=>GO,sensor_mpu9250_gesture:()=>xO,sensor_mpu9250_get_acceleration:()=>XO,sensor_mpu9250_get_gyro:()=>yO,sensor_mpu9250_get_magnetic:()=>bO,sensor_mpu9250_temperature:()=>BO,sensor_sht:()=>RO,sensor_shtc3_extern:()=>FO,sensor_use_i2c_init:()=>CO,sensor_use_spi_init:()=>wO,sensor_use_uart_init:()=>EE,sensor_weather_solo_init:()=>YE,sensor_weather_solo_rain:()=>bE,sensor_weather_solo_wd:()=>xE,sensor_weather_solo_ws:()=>XE,weather_data:()=>zO,weather_have_data:()=>qO,weather_set_label:()=>ZO,weather_set_label_container:()=>$O,weather_set_label_item:()=>tE,weather_uart_mixio:()=>jO});var w={};t.r(w),t.d(w,{HCSR04:()=>$E,RTC_set_date:()=>ZE,RTC_set_time:()=>jE,bitbot_als_num:()=>sc,dht11:()=>lc,number1:()=>eR,number2:()=>iR,number3:()=>nR,number4:()=>sR,number5:()=>oR,number6:()=>_R,number7:()=>aR,onboard_RTC_get_time:()=>TR,onboard_RTC_get_timestamp:()=>hR,onboard_RTC_set_datetime:()=>OR,onboard_RTC_settime_string:()=>mR,onboard_RTC_timestamp_totuple:()=>MR,rfid_readcontent:()=>LR,rfid_readid:()=>AR,rfid_write:()=>NR,rfid_write_return:()=>DR,sensor_LTR308:()=>RR,sensor_aht11:()=>gR,sensor_bitbot_ALS:()=>nc,sensor_button_get_presses:()=>ac,sensor_button_is_pressed:()=>oc,sensor_button_was_pressed:()=>_c,sensor_distance_hrsc04:()=>qE,sensor_eulerangles:()=>FR,sensor_field_strength:()=>dc,sensor_get_acceleration:()=>fR,sensor_get_temperature:()=>CR,sensor_hp203:()=>SR,sensor_light:()=>rc,sensor_mixbot_get_gyro:()=>ic,sensor_mixbot_patrol_calibrate:()=>$R,sensor_mixbot_patrol_value:()=>tc,sensor_mixbot_temperature:()=>ec,sensor_mixgo_LTR308:()=>IR,sensor_mixgo_button_attachInterrupt:()=>UE,sensor_mixgo_button_get_presses:()=>GE,sensor_mixgo_button_is_pressed:()=>VE,sensor_mixgo_button_was_pressed:()=>BE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>UR,sensor_mixgo_cc_mmc5603_get_angle:()=>GR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>BR,sensor_mixgo_light:()=>tR,sensor_mixgo_nova_LTR308:()=>dR,sensor_mixgo_nova_pin_near:()=>lR,sensor_mixgo_pin_near:()=>rR,sensor_mixgo_pin_near_double:()=>uR,sensor_mixgo_pin_near_single:()=>pR,sensor_mixgo_pin_pressed:()=>KE,sensor_mixgo_touch_slide:()=>zE,sensor_mixgocar42_button_attachInterrupt:()=>WE,sensor_mixgocar42_button_get_presses:()=>HE,sensor_mixgocar42_button_is_pressed:()=>wE,sensor_mixgocar42_button_was_pressed:()=>kE,sensor_mixgocar_battery_left:()=>ZR,sensor_mixgocar_pin_near:()=>qR,sensor_mixgocar_pin_near_line:()=>zR,sensor_mixgocar_pin_near_state_change:()=>jR,sensor_mixgoce_pin_pressed:()=>JE,sensor_mixgoce_temperature:()=>kR,sensor_mixgome_temperature:()=>wR,sensor_mpython_pin_pressed:()=>QE,sensor_mpython_qmi8658_get_gyro:()=>HR,sensor_mpython_qmi8658_temperature:()=>WR,sensor_onboard_compass_reset:()=>VR,sensor_onboard_mpu9250_calibrate_compass:()=>XR,sensor_onboard_mpu9250_field_strength:()=>yR,sensor_onboard_mpu9250_gesture:()=>PR,sensor_onboard_mpu9250_get_acceleration:()=>vR,sensor_onboard_mpu9250_get_gyro:()=>xR,sensor_onboard_mpu9250_get_magnetic:()=>YR,sensor_onboard_mpu9250_temperature:()=>bR,sensor_pin_near:()=>uc,sensor_pin_pressed:()=>pc,sensor_rm_acc:()=>QR,sensor_rm_battery_left:()=>JR,sensor_rm_pin_near_double:()=>KR,sensor_rtc_init:()=>ER,sensor_sound:()=>cR,sensor_temperature:()=>Ic});var k={};t.r(k),t.d(k,{serial_any:()=>cc,serial_begin:()=>Lc,serial_print:()=>Mc,serial_print_byte:()=>hc,serial_print_hex:()=>Oc,serial_println:()=>mc,serial_read_from_ai:()=>Xc,serial_readline:()=>gc,serial_readstr:()=>Rc,serial_readstr_until:()=>Cc,serial_receive_data_event:()=>Ec,serial_send_to_ai:()=>xc,serial_softserial:()=>Ac,serial_softserial_new:()=>Sc,system_input:()=>Nc,system_print:()=>Dc,system_print_container:()=>vc,system_print_end:()=>Fc,system_print_inline:()=>fc,system_print_item:()=>Yc,system_print_many:()=>Pc});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>Bc,Timer_init:()=>Zc,base_delay:()=>eg,controls_delay:()=>Vc,controls_delay_new:()=>yc,controls_millis:()=>Uc,controls_uname:()=>kc,raw_block:()=>wc,reset:()=>Gc,system_bitbot_shutdown:()=>jc,system_machine_reset:()=>qc,system_ticks_diff:()=>Kc,system_timer:()=>Wc,system_timer_init:()=>Jc,system_wdt_feed:()=>zc,system_wdt_init:()=>Qc,time_ticks_diff:()=>tg,timer:()=>Hc,timer2:()=>$c});var W={};t.r(W),t.d(W,{WEATHER_DAILY:()=>sg,WEATHER_HOUR:()=>og,WEATHER_NOW:()=>ng});var K={};t.r(K),t.d(K,{actuator_extern_get_led_bright:()=>Ag,actuator_extern_get_led_state:()=>Lg,actuator_extern_led_bright:()=>Sg,actuator_extern_led_brightness:()=>Ng,actuator_ms32006_dcmotor:()=>Ig,actuator_ms32006_init:()=>dg,actuator_ms32006_stepper:()=>Tg,actuator_neopixel_init:()=>Dg,actuator_neopixel_rgb:()=>Pg,actuator_neopixel_rgb_all:()=>fg,actuator_neopixel_write:()=>Fg,actuator_use_uart_init:()=>vg,esp32_music_get_tempo_extern:()=>Rg,esp32_music_pitch:()=>Mg,esp32_music_pitch_init:()=>hg,esp32_music_pitch_with_time:()=>mg,esp32_music_play_list:()=>cg,esp32_music_reset_extern:()=>gg,esp32_music_set_tempo_extern:()=>Eg,esp32_music_stop:()=>Og,mixbot_actuator_extern_get_addr:()=>qg,mixbot_actuator_extern_set_addr:()=>jg,mixbot_addr_extern:()=>yg,robot_led_extern:()=>Ug,robot_led_extern_get_value:()=>wg,robot_motor_extern:()=>Vg,robot_motor_extern_get_speed:()=>Bg,robot_servo_extern_absolute_run:()=>Kg,robot_servo_extern_get_status:()=>kg,robot_servo_extern_relative_continue:()=>zg,robot_servo_extern_relative_origin:()=>Jg,robot_servo_extern_relative_run:()=>Qg,robot_servo_extern_stop:()=>Wg,robot_servo_extern_stop_mode:()=>Hg,robot_traffic_light_extern:()=>Gg,servo_get_angle:()=>rg,servo_get_speed:()=>lg,servo_init:()=>_g,servo_move:()=>Cg,servo_set_angle:()=>pg,servo_set_speed:()=>ug,servo_speed_360:()=>ag,syn6288_builtin_voice:()=>Xg,syn6288_get_voice:()=>xg,syn6288_set_voice:()=>Yg,syn6288_tts_play:()=>bg});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>AC,actuator_dc_motor_stop:()=>LC,actuator_get_led_bright:()=>pC,actuator_get_led_state:()=>uC,actuator_led_bright:()=>aC,actuator_led_brightness:()=>rC,actuator_mixbot_buzzer_on_off:()=>PC,actuator_mixgo_nova_mic_get:()=>bC,actuator_mixgo_nova_mic_set:()=>XC,actuator_mixgo_nova_onboard_music_pitch:()=>wC,actuator_mixgo_nova_onboard_music_stop:()=>kC,actuator_mixgo_nova_play_audio:()=>GC,actuator_mixgo_nova_play_online_audio:()=>UC,actuator_mixgo_nova_record_audio:()=>BC,actuator_mixgo_nova_voice_get:()=>VC,actuator_mixgo_nova_voice_set:()=>yC,actuator_mixgo_zero_led_color:()=>lC,actuator_onboard_neopixel_rgb:()=>OC,actuator_onboard_neopixel_rgb_all:()=>EC,actuator_onboard_neopixel_rgb_show_all_chase:()=>RC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>cC,actuator_onboard_neopixel_write:()=>mC,actuator_stepper_keep:()=>CC,actuator_stepper_stop:()=>SC,bitbot_motor:()=>xC,bitbot_move:()=>vC,bitbot_stop:()=>YC,cc_number:()=>dC,esp32_music_get_tempo:()=>$g,esp32_music_reset:()=>sC,esp32_music_set_tempo:()=>Zg,esp32_onboard_music_pitch:()=>tC,esp32_onboard_music_pitch_with_time:()=>eC,esp32_onboard_music_play_list:()=>nC,esp32_onboard_music_stop:()=>iC,get_power_output:()=>WC,ledswitch:()=>_C,mixbot_motor:()=>FC,mixbot_motor_status:()=>NC,mixbot_move:()=>DC,mixbot_stop:()=>fC,number:()=>oC,rm_actuator_get_led_bright:()=>TC,rm_actuator_get_led_state:()=>hC,rm_actuator_led_bright:()=>IC,rm_actuator_led_brightness:()=>MC,rm_motor:()=>gC,set_all_power_output:()=>KC,set_power_output:()=>HC});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>AS,ai_sensor_ailocal_class:()=>TS,ai_sensor_ailocal_class_result:()=>hS,ai_sensor_ailocal_train:()=>IS,ai_sensor_asr_recognize:()=>RS,ai_sensor_audio_play:()=>mS,ai_sensor_audio_record:()=>MS,ai_sensor_barcode:()=>$C,ai_sensor_circle:()=>oS,ai_sensor_classifier_faces:()=>SS,ai_sensor_color:()=>uS,ai_sensor_color_chases:()=>dS,ai_sensor_color_chases_result:()=>lS,ai_sensor_config:()=>zC,ai_sensor_face:()=>CS,ai_sensor_find_20objects:()=>LS,ai_sensor_find_barcodes:()=>tS,ai_sensor_find_circles:()=>_S,ai_sensor_find_colors:()=>rS,ai_sensor_find_licenseplates:()=>gS,ai_sensor_find_lines:()=>sS,ai_sensor_find_qrcodes:()=>ZC,ai_sensor_find_rects:()=>pS,ai_sensor_find_tags:()=>iS,ai_sensor_licenseplate:()=>cS,ai_sensor_line:()=>nS,ai_sensor_qrcode:()=>jC,ai_sensor_qrcode_lite:()=>QC,ai_sensor_rect:()=>aS,ai_sensor_rgb:()=>qC,ai_sensor_tag:()=>eS,ai_sensor_use_uart_init:()=>JC,ai_sensor_yolo_recognize:()=>OS,ai_sensor_yolo_recognize_result:()=>ES});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>fS,MICROPYTHON_AI_Speech_unit:()=>DS,MICROPYTHON_AI_client:()=>NS});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>US,mpython_blynk_app_notify:()=>bS,mpython_blynk_email:()=>wS,mpython_blynk_get_timers:()=>VS,mpython_blynk_on_connected:()=>YS,mpython_blynk_on_disconnected:()=>vS,mpython_blynk_run:()=>XS,mpython_blynk_sensor_data_to_app:()=>GS,mpython_blynk_set_property:()=>kS,mpython_blynk_setup:()=>HS,mpython_blynk_stop_timers:()=>yS,mpython_blynk_sync_virtual:()=>PS,mpython_blynk_terminal_widget_vpin:()=>FS,mpython_blynktimer:()=>BS,mpython_blynktimer_run:()=>xS});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>WS,cc_g1_read_joystick:()=>KS,cc_g1_read_key:()=>JS,cc_g1_turnoff:()=>QS});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>iA,ce_go_get_led_bright:()=>jS,ce_go_get_led_state:()=>ZS,ce_go_hall_attachInterrupt:()=>nA,ce_go_hall_data:()=>oA,ce_go_hall_initialize:()=>sA,ce_go_led_bright:()=>qS,ce_go_led_brightness:()=>$S,ce_go_light_number:()=>zS,ce_go_pin_light:()=>rA,ce_go_pin_near:()=>aA,ce_go_pin_near_line:()=>_A,ce_go_pin_near_state_change:()=>pA,ce_go_stepper_keep:()=>tA,ce_go_stepper_stop:()=>eA,sensor_mixgome_eulerangles:()=>uA});var $={};t.r($),t.d($,{communicate_bluetooth_central_init:()=>WA,communicate_bluetooth_connect:()=>QA,communicate_bluetooth_disconnect:()=>zA,communicate_bluetooth_handle:()=>eL,communicate_bluetooth_is_connected:()=>jA,communicate_bluetooth_mac:()=>qA,communicate_bluetooth_peripheral_init:()=>KA,communicate_bluetooth_recv:()=>tL,communicate_bluetooth_recv_only:()=>$A,communicate_bluetooth_scan:()=>JA,communicate_bluetooth_send:()=>ZA,communicate_espnow_init:()=>iL,communicate_espnow_init_new:()=>nL,communicate_i2c_available:()=>OA,communicate_i2c_init:()=>IA,communicate_i2c_master_read:()=>mA,communicate_i2c_onboard:()=>lA,communicate_i2c_read:()=>TA,communicate_i2c_scan:()=>MA,communicate_i2c_write:()=>hA,communicate_ir_recv_init:()=>XA,communicate_ir_send_init:()=>GA,communicate_ow_init:()=>fA,communicate_ow_read:()=>vA,communicate_ow_reset:()=>PA,communicate_ow_scan:()=>FA,communicate_ow_select:()=>xA,communicate_ow_write:()=>YA,communicate_spi_buffer:()=>gA,communicate_spi_init:()=>RA,communicate_spi_onboard:()=>dA,communicate_spi_read:()=>CA,communicate_spi_read_output:()=>SA,communicate_spi_readinto:()=>AA,communicate_spi_readinto_output:()=>LA,communicate_spi_set:()=>cA,communicate_spi_write:()=>NA,communicate_spi_write_readinto:()=>DA,espnow_radio_channel:()=>uL,espnow_radio_channel_new:()=>lL,espnow_radio_on_off:()=>dL,espnow_radio_rec:()=>TL,espnow_radio_recv:()=>ML,espnow_radio_recv_certain_msg:()=>mL,espnow_radio_recv_certain_msg_new:()=>EL,espnow_radio_recv_msg:()=>hL,espnow_radio_recv_new:()=>OL,espnow_radio_send:()=>IL,espnow_radio_txpower:()=>rL,i2c_slave_onreceive:()=>EA,internal_variable:()=>bA,ir_recv_timeout:()=>BA,ir_transmit_busy:()=>HA,ir_transmit_conventional_data:()=>UA,ir_transmit_raw_code:()=>kA,ir_transmit_study_code:()=>wA,ir_whether_recv:()=>VA,lora_init:()=>RL,lora_packet:()=>cL,lora_recv:()=>CL,lora_send:()=>gL,network_espnow_info:()=>oL,network_espnow_mac:()=>sL,network_espnow_recv:()=>_L,network_espnow_recv_handle:()=>pL,network_espnow_send:()=>aL,recv_fun:()=>yA,urequests_attribute:()=>AL,urequests_get:()=>SL,urequests_method:()=>LL});var tt={};t.r(tt),t.d(tt,{display_animate:()=>jL,display_circle:()=>ZL,display_color_seclet:()=>uN,display_draw_4strings:()=>HL,display_fill:()=>qL,display_lcd_use_i2c_init:()=>hN,display_line:()=>JL,display_line_arbitrarily:()=>WL,display_matrix_extern_bright_point:()=>yL,display_matrix_extern_bright_screen:()=>BL,display_matrix_extern_clear:()=>xL,display_matrix_extern_get_pixel:()=>bL,display_matrix_extern_get_screen_pixel:()=>VL,display_matrix_extern_image_builtins:()=>GL,display_matrix_extern_scroll_string:()=>vL,display_matrix_extern_scroll_string_delay:()=>YL,display_matrix_extern_shift:()=>XL,display_matrix_extern_show_frame_string:()=>FL,display_matrix_extern_show_frame_string_delay:()=>PL,display_matrix_extern_show_image:()=>DL,display_matrix_extern_show_image_or_string_delay:()=>fL,display_matrix_use_i2c_init:()=>NL,display_oled_drawPixel:()=>eN,display_oled_showBitmap:()=>tN,display_oled_use_i2c_init:()=>RN,display_onoff:()=>QL,display_rect:()=>KL,display_tm1650_power:()=>nN,display_tm1650_set_brightness:()=>_N,display_tm1650_show_dot:()=>oN,display_tm1650_show_num:()=>sN,display_tm_use_i2c_init:()=>iN,display_triangle:()=>$L,display_use_i2c_init:()=>kL,extern_oled_bright_point:()=>vN,extern_oled_clear:()=>fN,extern_oled_get_pixel:()=>PN,extern_oled_hvline:()=>xN,extern_oled_line:()=>XN,extern_oled_scroll_string:()=>NN,extern_oled_scroll_string_delay:()=>DN,extern_oled_shape_rect:()=>YN,extern_oled_shift:()=>FN,extern_oled_show_frame_string:()=>AN,extern_oled_show_frame_string_delay:()=>LN,extern_oled_show_image:()=>cN,extern_oled_show_image_or_string_delay:()=>SN,extern_oled_show_image_xy:()=>gN,extern_oled_show_string:()=>CN,image_shift:()=>zL,lcd_backlight:()=>ON,lcd_clear:()=>EN,lcd_print_string:()=>mN,lcd_show_image_or_string_delay:()=>MN,matrix_extern_image_arithmetic:()=>UL,matrix_extern_image_invert:()=>wL,tft_fill:()=>IN,tft_line_arbitrarily:()=>TN,tft_scroll_string_delay:()=>dN,tft_show_frame_string_delay:()=>lN,tft_show_image_or_string_delay:()=>rN,tft_show_image_xy:()=>pN,tft_use_spi_init:()=>aN});var et={};t.r(et),t.d(et,{bitbot_display_image_create:()=>ED,display_bright_point:()=>qN,display_bright_screen:()=>ZN,display_clear:()=>WN,display_get_pixel:()=>zN,display_get_screen_pixel:()=>jN,display_image_builtins:()=>wN,display_image_builtins_all:()=>kN,display_image_create:()=>HN,display_scroll_string:()=>GN,display_scroll_string_delay:()=>UN,display_shift:()=>QN,display_show_frame_string:()=>VN,display_show_frame_string_delay:()=>BN,display_show_image:()=>bN,display_show_image_or_string_delay:()=>yN,image_arithmetic:()=>KN,image_invert:()=>JN,mixbot_display_bright_screen:()=>mD,mixbot_display_get_ambientbright:()=>MD,mixbot_display_get_screen_pixel:()=>hD,mixbot_display_image_create:()=>TD,mixbot_display_rotate:()=>OD,mixgo_display_image_create_new:()=>iD,mixgome_display_font:()=>eD,mixgome_display_image_create:()=>$N,mixgomini_display_image_create:()=>tD,mpython_display_hvline:()=>dD,mpython_display_line:()=>ID,mpython_display_shape_rect:()=>lD,mpython_pbm_image:()=>nD,onboard_oled_bright_point:()=>rD,onboard_oled_scroll_string_delay:()=>uD,onboard_oled_show_frame_string_delay:()=>pD,onboard_oled_show_image:()=>sD,onboard_oled_show_image_or_string_delay:()=>aD,onboard_oled_show_image_xy:()=>oD,onboard_oled_show_string:()=>_D,onboard_tft_bright_point:()=>YD,onboard_tft_bright_screen:()=>XD,onboard_tft_clear:()=>FD,onboard_tft_clock_clear:()=>UD,onboard_tft_clock_draw:()=>GD,onboard_tft_clock_get_rtctime:()=>VD,onboard_tft_clock_init:()=>yD,onboard_tft_clock_set_time:()=>BD,onboard_tft_display_hvline:()=>DD,onboard_tft_display_line:()=>fD,onboard_tft_display_shape_circle:()=>wD,onboard_tft_display_shape_rect:()=>ND,onboard_tft_fill:()=>bD,onboard_tft_get_pixel:()=>vD,onboard_tft_get_screen_pixel:()=>xD,onboard_tft_scroll_string:()=>AD,onboard_tft_scroll_string_delay:()=>LD,onboard_tft_shift:()=>PD,onboard_tft_show_frame_string:()=>CD,onboard_tft_show_frame_string_delay:()=>SD,onboard_tft_show_image:()=>RD,onboard_tft_show_image_or_string_delay:()=>gD,onboard_tft_show_image_xy:()=>cD});var it={};t.r(it),t.d(it,{factory_block:()=>qD,factory_block_return:()=>jD,factory_block_return_with_textarea:()=>$D,factory_block_with_textarea:()=>ZD,factory_callMethod_noreturn:()=>QD,factory_callMethod_return:()=>zD,factory_declare:()=>JD,factory_from_import:()=>kD,factory_function_noreturn:()=>WD,factory_function_return:()=>KD,factory_import:()=>HD,folding_block:()=>tf});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>Mf,inout_analog_read:()=>uf,inout_analog_read_init:()=>hf,inout_analog_write:()=>_f,inout_analog_write_init:()=>Tf,inout_analog_write_set:()=>af,inout_digital_init:()=>df,inout_digital_read:()=>sf,inout_digital_write:()=>nf,inout_highlow:()=>ef,inout_pin_attachInterrupt:()=>lf,inout_pin_pressed:()=>rf,inout_pin_pressed_init:()=>mf,inout_pwm_analog_write:()=>of,inout_pwm_analog_write_init:()=>If,inout_pwm_analog_write_set_freq:()=>pf});var st={};t.r(st),t.d(st,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>bf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>xf,IOT_EMQX_PING:()=>yf,IOT_FORMATTING:()=>vf,IOT_FORMAT_STRING:()=>Yf,IOT_MIXIO_NTP:()=>Vf,IOT_MIXIO_PUBLISH:()=>Af,IOT_MIXIO_SUBSCRIBE:()=>Lf,iot_client_onboard:()=>Bf,iot_http_client:()=>Gf,iot_http_data:()=>Uf,iot_mixio_check:()=>ff,iot_mixio_connect:()=>Sf,iot_mixio_connect_only:()=>Df,iot_mixio_disconnect:()=>Nf,iot_mixio_format_msg:()=>Pf,iot_mixio_format_topic:()=>Ff,iot_mixly_key:()=>Xf,iot_mqtt_client:()=>wf,iot_mqtt_data:()=>kf,iot_onenet_check:()=>gf,iot_onenet_connect:()=>Ef,iot_onenet_disconnect:()=>Rf,iot_onenet_publish:()=>Cf,iot_onenet_publish_dict:()=>cf,iot_wifi_connect:()=>Of});var ot={};t.r(ot),t.d(ot,{network_ap_connect:()=>Zf,network_connect:()=>Wf,network_get_connect:()=>Jf,network_get_wifi:()=>jf,network_init:()=>Hf,network_is_active:()=>qf,network_open:()=>zf,network_scan:()=>$f,network_server:()=>tF,network_socket_accept:()=>oF,network_socket_bind:()=>iF,network_socket_close:()=>rF,network_socket_connect:()=>nF,network_socket_init:()=>eF,network_socket_listen:()=>sF,network_socket_receive:()=>_F,network_socket_receive_from:()=>pF,network_socket_send:()=>aF,network_socket_send_to:()=>uF,network_stop:()=>Qf,network_wifi_connect:()=>Kf,ntptime_address:()=>hF,ntptime_time:()=>TF,requests_attribute:()=>dF,requests_get:()=>lF,requests_method:()=>IF});var _t={};t.r(_t),t.d(_t,{HCSR04:()=>sP,PS2_Button:()=>aP,PS2_Buttons:()=>pP,PS2_Buttons_new:()=>MP,PS2_State:()=>uP,PS2_init:()=>oP,PS2_init_new:()=>TP,PS2_stk:()=>rP,PS2_stk_new:()=>mP,PS2_vibration:()=>_P,PS2_vibration_new:()=>hP,RTC_get_time:()=>dP,RTC_set_date:()=>CF,RTC_set_datetime:()=>lP,RTC_set_time:()=>gF,esp32_s2_weather_init:()=>tP,esp32_s2_weather_rain:()=>iP,esp32_s2_weather_wd:()=>eP,esp32_s2_weather_ws:()=>nP,extern_rfid_read:()=>wF,extern_rfid_readcontent:()=>HF,extern_rfid_readid:()=>kF,extern_rfid_status:()=>JF,extern_rfid_write:()=>WF,extern_rfid_write_return:()=>KF,gnss_get_data:()=>RP,gnss_have_data:()=>cP,mixbot_sensor_extern_get_addr:()=>FP,mixbot_sensor_extern_set_addr:()=>PP,pm25_get_data:()=>EP,robot_button_extern_get_value:()=>gP,robot_color_extern_get_value:()=>NP,robot_infrared_extern_get_value:()=>SP,robot_infrared_extern_grey_get_value:()=>AP,robot_potentiometer_extern_get_value:()=>LP,robot_sonar_extern_get_value:()=>DP,robot_sonar_extern_led:()=>fP,robot_touch_extern_get_value:()=>CP,sensor_APDS9960_extern:()=>vF,sensor_LTR308_extern:()=>YF,sensor_LTR390UV_extern:()=>bF,sensor_MAX30102_extern:()=>PF,sensor_QMC5883L_extern:()=>yF,sensor_VL530LX_extern:()=>GF,sensor_aht11_extern:()=>BF,sensor_bmp:()=>DF,sensor_dht11:()=>IP,sensor_distance_hrsc04:()=>cF,sensor_hp203_extern:()=>xF,sensor_ltr381_extern:()=>XF,sensor_mixgo_extern_button_attachInterrupt:()=>EF,sensor_mixgo_extern_button_get_presses:()=>OF,sensor_mixgo_extern_button_is_pressed:()=>MF,sensor_mixgo_extern_button_was_pressed:()=>mF,sensor_mixgo_extern_light:()=>SF,sensor_mixgo_extern_pin_near:()=>LF,sensor_mixgo_extern_sound:()=>AF,sensor_mixgoce_hot_wheel_degrees:()=>$F,sensor_mixgoce_hot_wheel_is_touched:()=>ZF,sensor_mpu9250_attachGestureInterrupt:()=>RF,sensor_rtc_init:()=>NF,sensor_sht:()=>fF,sensor_shtc3_extern:()=>VF,sensor_use_i2c_init:()=>FF,sensor_use_spi_init:()=>UF,sensor_use_uart_init:()=>OP,sensor_weather_solo_init:()=>vP,sensor_weather_solo_rain:()=>XP,sensor_weather_solo_wd:()=>YP,sensor_weather_solo_ws:()=>xP,weather_data:()=>QF,weather_have_data:()=>zF,weather_set_label:()=>jF,weather_uart_mixio:()=>qF});var at={};t.r(at),t.d(at,{HCSR04:()=>HP,bitbot_als_num:()=>pY,dht11:()=>MY,number1:()=>WP,number2:()=>KP,number3:()=>JP,number4:()=>QP,number5:()=>zP,number6:()=>qP,number7:()=>jP,onboard_RTC_get_time:()=>Gv,onboard_RTC_get_timestamp:()=>Uv,onboard_RTC_set_datetime:()=>Vv,onboard_RTC_settime_string:()=>Bv,onboard_RTC_timestamp_totuple:()=>wv,rfid_readcontent:()=>dv,rfid_readid:()=>lv,rfid_write:()=>Iv,rfid_write_return:()=>Tv,sensor_LTR308:()=>_v,sensor_adxl345_get_acceleration:()=>Cv,sensor_aht11:()=>uv,sensor_bitbot_ALS:()=>aY,sensor_button_get_presses:()=>lY,sensor_button_is_pressed:()=>uY,sensor_button_was_pressed:()=>rY,sensor_compass_reset:()=>fv,sensor_ds18x20:()=>sv,sensor_eulerangles:()=>Mv,sensor_get_acceleration:()=>hv,sensor_get_temperature:()=>rv,sensor_hp203:()=>pv,sensor_light:()=>hY,sensor_lm35:()=>ov,sensor_mixbot_get_gyro:()=>_Y,sensor_mixbot_patrol_calibrate:()=>nY,sensor_mixbot_patrol_value:()=>sY,sensor_mixbot_temperature:()=>oY,sensor_mixgo_LTR308:()=>iv,sensor_mixgo_button_attachInterrupt:()=>BP,sensor_mixgo_button_get_presses:()=>VP,sensor_mixgo_button_is_pressed:()=>bP,sensor_mixgo_button_was_pressed:()=>yP,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>Wv,sensor_mixgo_cc_mmc5603_get_angle:()=>Hv,sensor_mixgo_cc_mmc5603_get_magnetic:()=>kv,sensor_mixgo_light:()=>TY,sensor_mixgo_nova_LTR308:()=>nv,sensor_mixgo_nova_pin_near:()=>ev,sensor_mixgo_pin_near:()=>tv,sensor_mixgo_pin_near_double:()=>$P,sensor_mixgo_pin_near_single:()=>ZP,sensor_mixgo_pin_pressed:()=>cv,sensor_mixgo_touch_slide:()=>Rv,sensor_mixgocar42_button_attachInterrupt:()=>kP,sensor_mixgocar42_button_get_presses:()=>wP,sensor_mixgocar42_button_is_pressed:()=>GP,sensor_mixgocar42_button_was_pressed:()=>UP,sensor_mixgocar_battery_left:()=>iY,sensor_mixgocar_pin_near:()=>tY,sensor_mixgocar_pin_near_line:()=>$v,sensor_mixgocar_pin_near_state_change:()=>eY,sensor_mixgoce_pin_pressed:()=>Ev,sensor_mixgoce_temperature:()=>Jv,sensor_mixgome_temperature:()=>Kv,sensor_mpu9250_calibrate_compass:()=>Lv,sensor_mpu9250_field_strength:()=>Dv,sensor_mpu9250_gesture:()=>mv,sensor_mpu9250_get_acceleration:()=>Ov,sensor_mpu9250_get_gyro:()=>Av,sensor_mpu9250_get_magnetic:()=>Sv,sensor_mpu9250_temperature:()=>Nv,sensor_mpython_pin_pressed:()=>gv,sensor_mpython_qmi8658_get_gyro:()=>Qv,sensor_mpython_qmi8658_temperature:()=>zv,sensor_onboard_compass_reset:()=>yv,sensor_onboard_mpu9250_calibrate_compass:()=>xv,sensor_onboard_mpu9250_field_strength:()=>bv,sensor_onboard_mpu9250_gesture:()=>Fv,sensor_onboard_mpu9250_get_acceleration:()=>Pv,sensor_onboard_mpu9250_get_gyro:()=>Yv,sensor_onboard_mpu9250_get_magnetic:()=>vv,sensor_onboard_mpu9250_temperature:()=>Xv,sensor_pin_near:()=>IY,sensor_pin_pressed:()=>dY,sensor_rm_acc:()=>Zv,sensor_rm_battery_left:()=>jv,sensor_rm_pin_near_double:()=>qv,sensor_sound:()=>av});var pt={};t.r(pt),t.d(pt,{serial_any:()=>cY,serial_print:()=>mY,serial_print_byte:()=>OY,serial_print_hex:()=>RY,serial_println:()=>EY,serial_read_from_ai:()=>vY,serial_readline:()=>CY,serial_readstr:()=>gY,serial_send_to_ai:()=>PY,serial_softserial:()=>SY,serial_softserial_new:()=>AY,system_input:()=>LY,system_print:()=>NY,system_print_end:()=>fY,system_print_inline:()=>DY,system_print_many:()=>FY});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>HY,Timer_init:()=>ox,base_delay:()=>px,controls_delay:()=>zY,controls_delay_new:()=>qY,controls_end_program:()=>KY,controls_millis:()=>WY,controls_uname:()=>QY,reset:()=>JY,system_bitbot_shutdown:()=>sx,system_device_name:()=>wY,system_device_serial_number:()=>kY,system_event_bus_source:()=>GY,system_event_bus_value:()=>UY,system_machine_reset:()=>nx,system_on_event:()=>yY,system_raise_event:()=>bY,system_reset:()=>xY,system_run_in_background:()=>YY,system_ticks_diff:()=>$Y,system_timer:()=>ZY,system_timer_init:()=>tx,system_timestamp:()=>VY,system_value:()=>BY,system_wait:()=>XY,system_wdt_feed:()=>ix,system_wdt_init:()=>ex,time_ticks_diff:()=>ax,timer:()=>jY,timer2:()=>_x});var rt={};t.r(rt),t.d(rt,{WEATHER_DAILY:()=>rx,WEATHER_HOUR:()=>lx,WEATHER_NOW:()=>ux});var lt={};t.r(lt),t.d(lt,{controls_pin_attachInterrupt:()=>Xx,inout_analog_atten:()=>Cx,inout_analog_read:()=>gx,inout_analog_read_init:()=>fx,inout_analog_write:()=>Ex,inout_analog_write_init:()=>Dx,inout_analog_write_set:()=>Rx,inout_analog_write_set_freq:()=>vx,inout_digital_init:()=>Lx,inout_digital_read:()=>mx,inout_digital_write:()=>Mx,inout_highlow:()=>hx,inout_pinMode:()=>Px,inout_pin_attachInterrupt:()=>Ax,inout_pin_pressed:()=>Sx,inout_pin_pressed_init:()=>Fx,inout_pwm_analog_write:()=>Ox,inout_pwm_analog_write_init:()=>Nx,inout_pwm_analog_write_set_freq:()=>cx,pin_pressed:()=>xx,pin_pressed_init:()=>Yx});var dt={};t.r(dt),t.d(dt,{me_g1_aht11:()=>yx,me_g1_hp203:()=>Vx,me_g1_rfid_readcontent:()=>Ux,me_g1_rfid_readid:()=>Gx,me_g1_rfid_status:()=>Hx,me_g1_rfid_write:()=>wx,me_g1_rfid_write_outcome:()=>kx,me_g1_varistor:()=>Bx});var It={};t.r(It),t.d(It,{analog_input:()=>$x,analog_output:()=>eX,espnow_channel:()=>qx,haskylens_model:()=>jx,i2c_A_pin:()=>iX,i2c_B_pin:()=>nX,pins_analog:()=>pX,pins_analog_pin:()=>uX,pins_axis:()=>LX,pins_brightness:()=>NX,pins_builtinimg:()=>EX,pins_builtinimg_extern:()=>RX,pins_button:()=>dX,pins_buttonB:()=>IX,pins_dac:()=>rX,pins_dac_pin:()=>lX,pins_digital:()=>Kx,pins_digital_dot:()=>XX,pins_digital_pin:()=>Jx,pins_exlcdh:()=>SX,pins_exlcdv:()=>AX,pins_imglist:()=>cX,pins_input_pin:()=>Qx,pins_one_more:()=>xX,pins_output_pin:()=>zx,pins_playlist:()=>gX,pins_playlist_extern:()=>CX,pins_pwm:()=>TX,pins_pwm_pin:()=>hX,pins_radio_datarate:()=>YX,pins_radio_power:()=>vX,pins_serial:()=>OX,pins_tone_notes:()=>PX,pins_touch:()=>mX,pins_touch_pin:()=>MX,pins_tts_bgmusic:()=>FX,pins_tts_builtin_music:()=>fX,pins_tts_voice:()=>DX,pwm_input:()=>Zx,pwm_output:()=>tX,spi_A_pin:()=>sX,spi_B_pin:()=>oX,spi_C_pin:()=>_X,spi_D_pin:()=>aX});var Tt={};t.r(Tt),t.d(Tt,{inout_analog_atten:()=>qX,inout_analog_read:()=>kX,inout_analog_read_init:()=>zX,inout_analog_write:()=>GX,inout_analog_write_init:()=>QX,inout_analog_write_set:()=>UX,inout_digital_init:()=>KX,inout_digital_read:()=>VX,inout_digital_write:()=>yX,inout_highlow:()=>bX,inout_pin_attachInterrupt:()=>WX,inout_pin_pressed:()=>HX,inout_pin_pressed_init:()=>jX,inout_pwm_analog_write:()=>BX,inout_pwm_analog_write_init:()=>JX,inout_pwm_analog_write_set_freq:()=>wX});var ht={};t.r(ht),t.d(ht,{me_g1_aht11:()=>ZX,me_g1_hp203:()=>$X,me_g1_rfid_readcontent:()=>ib,me_g1_rfid_readid:()=>eb,me_g1_rfid_status:()=>ob,me_g1_rfid_write:()=>nb,me_g1_rfid_write_outcome:()=>sb,me_g1_varistor:()=>tb});var Mt={};t.r(Mt),t.d(Mt,{analog_input:()=>hb,analog_output:()=>mb,espnow_channel:()=>Ib,haskylens_model:()=>Tb,i2c_A_pin:()=>Ob,i2c_B_pin:()=>Eb,pins_analog:()=>Ab,pins_analog_pin:()=>Sb,pins_axis:()=>Bb,pins_brightness:()=>wb,pins_builtinimg:()=>xb,pins_builtinimg_extern:()=>Xb,pins_button:()=>ab,pins_buttonB:()=>pb,pins_dac:()=>fb,pins_dac_pin:()=>Db,pins_digital:()=>_b,pins_digital_dot:()=>qb,pins_digital_pin:()=>ub,pins_exlcdh:()=>Gb,pins_exlcdv:()=>Ub,pins_imglist:()=>bb,pins_input_pin:()=>rb,pins_interrupt:()=>vb,pins_one_more:()=>zb,pins_output_pin:()=>lb,pins_playlist:()=>yb,pins_playlist_extern:()=>Vb,pins_pwm:()=>Nb,pins_pwm_input:()=>db,pins_pwm_pin:()=>Lb,pins_radio_datarate:()=>Qb,pins_radio_power:()=>Jb,pins_serial:()=>Yb,pins_tone_notes:()=>Kb,pins_touch:()=>Pb,pins_touch_pin:()=>Fb,pins_tts_bgmusic:()=>Wb,pins_tts_builtin_music:()=>Hb,pins_tts_voice:()=>kb,pwm_output:()=>Mb,spi_A_pin:()=>Rb,spi_B_pin:()=>cb,spi_C_pin:()=>gb,spi_D_pin:()=>Cb});const mt=Blockly,Ot=Mixly,Et={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Rt=Et; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Dt,controls_typeLists:()=>ft,variables_change:()=>Lt,variables_get:()=>St,variables_global:()=>Nt,variables_set:()=>At});var i={};t.r(i),t.d(i,{base_setup:()=>vt,controls_delay:()=>Yt,controls_end_program:()=>xt,controls_except:()=>Jt,controls_finally:()=>Qt,controls_flow_statements:()=>Gt,controls_for:()=>Ut,controls_forEach:()=>yt,controls_for_range:()=>wt,controls_if:()=>Xt,controls_if_else:()=>Wt,controls_if_elseif:()=>Ht,controls_if_if:()=>kt,controls_lambda:()=>qt,controls_main:()=>Pt,controls_pass:()=>jt,controls_range:()=>bt,controls_repeat_ext:()=>zt,controls_thread:()=>Zt,controls_try:()=>Kt,controls_try_finally:()=>Bt,controls_whileUntil:()=>Vt,do_while:()=>$t,garbage_collection:()=>te,get_mem_alloc:()=>ee,get_mem_free:()=>ie});var n={};t.r(n),t.d(n,{base_map:()=>Ce,math_arithmetic:()=>ae,math_bit:()=>ue,math_constant:()=>oe,math_constant_mp:()=>_e,math_constrain:()=>Me,math_dec:()=>le,math_indexer_number:()=>Oe,math_map:()=>me,math_max_min:()=>Ie,math_number:()=>se,math_number_base_conversion:()=>Te,math_random:()=>he,math_random_seed:()=>Ee,math_round:()=>Re,math_selfcalcu:()=>pe,math_to_int:()=>de,math_trig:()=>re,text_to_number:()=>ce,text_to_number_skulpt:()=>ge});var s={};t.r(s),t.d(s,{ascii_to_char:()=>fe,char_to_ascii:()=>Fe,number_to_text:()=>Pe,os_system:()=>ii,text:()=>Ae,text_capital:()=>Ge,text_center:()=>Ue,text_char:()=>Ne,text_char_at:()=>xe,text_char_at2:()=>Ye,text_char_at3:()=>Ze,text_compareTo:()=>je,text_compare_to:()=>Be,text_create_with_container:()=>Qe,text_create_with_item:()=>ze,text_encode:()=>ti,text_equals_starts_ends:()=>Ve,text_eval:()=>ei,text_find:()=>we,text_format:()=>Je,text_format_noreturn:()=>$e,text_join:()=>De,text_join_seq:()=>ke,text_length:()=>ve,text_random_char:()=>Xe,text_replace:()=>He,text_split:()=>We,text_strip:()=>Ke,text_substring:()=>ye,text_substring2:()=>be,text_substring3:()=>qe,text_textarea:()=>Le});var o={};t.r(o),t.d(o,{list_many_input:()=>Ai,list_tolist:()=>vi,list_tolist2:()=>Gi,list_trig:()=>gi,lists_2d_get_col_row_data:()=>ai,lists_2d_get_data_with_col_row:()=>_i,lists_append_extend:()=>Ii,lists_change_to:()=>Si,lists_change_to_general:()=>Ni,lists_clear:()=>Oi,lists_create_with:()=>pi,lists_create_with2:()=>Yi,lists_create_with_container:()=>ri,lists_create_with_item:()=>li,lists_create_with_noreturn:()=>Li,lists_create_with_text:()=>ui,lists_create_with_text2:()=>xi,lists_del_general:()=>Di,lists_find:()=>ci,lists_getIndex3:()=>Xi,lists_getSublist3:()=>bi,lists_get_index:()=>si,lists_get_random_item:()=>Ti,lists_get_random_sublist:()=>hi,lists_get_sublist:()=>oi,lists_insert_value:()=>Mi,lists_insert_value2:()=>Vi,lists_pop:()=>Ri,lists_remove_at:()=>Ei,lists_remove_at2:()=>Bi,lists_reverse:()=>mi,lists_setIndex3:()=>yi,lists_set_index:()=>di,lists_sort:()=>Ci,lists_zip:()=>fi,lists_zip_container:()=>Fi,lists_zip_item:()=>Pi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>nn,dicts_add_or_change:()=>Qi,dicts_clear:()=>ji,dicts_create_with:()=>wi,dicts_create_with_container:()=>ki,dicts_create_with_item:()=>Hi,dicts_create_with_noreturn:()=>_n,dicts_deldict:()=>en,dicts_delete:()=>zi,dicts_get:()=>Ki,dicts_get_default:()=>Ji,dicts_items:()=>Zi,dicts_keys:()=>Wi,dicts_length:()=>tn,dicts_pop:()=>sn,dicts_setdefault:()=>on,dicts_to_json:()=>pn,dicts_todict:()=>an,dicts_update:()=>qi,dicts_values:()=>$i,json_to_dicts:()=>un});var a={};t.r(a),t.d(a,{logic_boolean:()=>hn,logic_compare:()=>ln,logic_compare_continous:()=>dn,logic_is:()=>En,logic_is_in:()=>On,logic_negate:()=>Tn,logic_null:()=>Mn,logic_operation:()=>In,logic_tobool:()=>Rn,logic_true_or_false:()=>mn});var p={};t.r(p),t.d(p,{sdcard_mount:()=>kn,sdcard_use_spi_init:()=>wn,storage_can_write_ornot:()=>fn,storage_change_dir:()=>Gn,storage_close_file:()=>Pn,storage_delete_file:()=>Yn,storage_file_seek:()=>bn,storage_file_tell:()=>Xn,storage_file_write:()=>An,storage_fileopen:()=>gn,storage_fileopen_new:()=>Cn,storage_fileopen_new_encoding:()=>Sn,storage_get_a_line:()=>Dn,storage_get_contents:()=>Nn,storage_get_contents_without_para:()=>Ln,storage_get_current_dir:()=>yn,storage_get_file_size:()=>xn,storage_get_filename:()=>Fn,storage_is_file:()=>Un,storage_list_all_files:()=>vn,storage_make_dir:()=>Vn,storage_open_file_with_os:()=>cn,storage_rename:()=>Bn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>qn,procedures_callreturn:()=>jn,procedures_defnoreturn:()=>Kn,procedures_defreturn:()=>Jn,procedures_ifreturn:()=>Zn,procedures_mutatorarg:()=>zn,procedures_mutatorcontainer:()=>Qn,procedures_return:()=>$n});var r={};t.r(r),t.d(r,{tuple_change_to:()=>ls,tuple_create_with:()=>es,tuple_create_with_container:()=>is,tuple_create_with_item:()=>ns,tuple_create_with_noreturn:()=>hs,tuple_create_with_text2:()=>ss,tuple_create_with_text_return:()=>os,tuple_del:()=>ps,tuple_find:()=>ds,tuple_getIndex:()=>_s,tuple_getSublist:()=>Ts,tuple_get_random_item:()=>ms,tuple_get_sublist:()=>Ms,tuple_join:()=>us,tuple_length:()=>as,tuple_max:()=>rs,tuple_totuple:()=>Os,tuple_trig:()=>Is});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ds,set_clear:()=>As,set_create_with:()=>Rs,set_create_with_container:()=>cs,set_create_with_item:()=>gs,set_create_with_text_return:()=>Ps,set_length:()=>Cs,set_operate:()=>Ls,set_operate_update:()=>Ns,set_pop:()=>Ss,set_sub:()=>fs,set_toset:()=>vs,set_update:()=>Fs});var d={};t.r(d),t.d(d,{html_content:()=>ys,html_content_more:()=>Vs,html_document:()=>xs,html_form:()=>Gs,html_head_body:()=>bs,html_style:()=>Bs,html_style_color:()=>ws,html_style_content:()=>Us,html_text:()=>ks,html_title:()=>Xs});var I={};t.r(I),t.d(I,{attribute_access:()=>no,function_call:()=>to,function_call_container:()=>eo,function_call_item:()=>io,raw_block:()=>Ks,raw_empty:()=>Qs,raw_expression:()=>Js,raw_table:()=>Ws,text_comment:()=>zs,text_print_multiple:()=>js,text_print_multiple_container:()=>Zs,text_print_multiple_item:()=>$s,type_check:()=>qs});var T={};t.r(T),t.d(T,{controls_type:()=>po,controls_typeLists:()=>uo,variables_change:()=>_o,variables_get:()=>so,variables_global:()=>ao,variables_set:()=>oo});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Ro,base_setup:()=>lo,controls_delay:()=>Eo,controls_flow_statements:()=>Oo,controls_for:()=>ho,controls_forEach:()=>Ao,controls_for_range:()=>Mo,controls_if:()=>Io,controls_interrupts:()=>Co,controls_lambda:()=>No,controls_main:()=>ro,controls_millis:()=>co,controls_nointerrupts:()=>So,controls_pass:()=>fo,controls_range:()=>Lo,controls_repeat:()=>bo,controls_repeat_ext:()=>vo,controls_thread:()=>Fo,controls_try_finally:()=>To,controls_whileUntil:()=>mo,do_while:()=>Po,garbage_collection:()=>Yo,get_mem_alloc:()=>xo,get_mem_free:()=>Xo,reset:()=>go,time_sleep:()=>Do});var M={};t.r(M),t.d(M,{base_map:()=>n_,math_arithmetic:()=>Uo,math_bit:()=>Go,math_constant:()=>Vo,math_constant_mp:()=>Bo,math_constrain:()=>qo,math_dec:()=>Wo,math_indexer_number:()=>$o,math_map:()=>zo,math_max_min:()=>Jo,math_number:()=>yo,math_number_base_conversion:()=>jo,math_random:()=>Qo,math_random_seed:()=>Zo,math_round:()=>t_,math_selfcalcu:()=>wo,math_single:()=>ko,math_to_int:()=>Ko,math_trig:()=>Ho,text_to_number:()=>e_,text_to_number_skulpt:()=>i_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>p_,char_to_ascii:()=>u_,number_to_text:()=>r_,os_system:()=>Y_,text:()=>s_,text_capital:()=>E_,text_center:()=>R_,text_char:()=>__,text_char_at:()=>I_,text_char_at2:()=>d_,text_char_at3:()=>F_,text_compareTo:()=>f_,text_compare_to:()=>M_,text_encode:()=>P_,text_equals_starts_ends:()=>h_,text_eval:()=>v_,text_find:()=>c_,text_format:()=>L_,text_format_noreturn:()=>N_,text_join:()=>a_,text_join_seq:()=>g_,text_length:()=>l_,text_random_char:()=>T_,text_replace:()=>C_,text_split:()=>S_,text_strip:()=>A_,text_substring:()=>O_,text_substring2:()=>m_,text_substring3:()=>D_,text_textarea:()=>o_});var O={};t.r(O),t.d(O,{list_many_input:()=>$_,list_tolist:()=>la,list_tolist2:()=>da,list_trig:()=>q_,lists_2d_get_col_row_data:()=>b_,lists_2d_get_data_with_col_row:()=>X_,lists_append_extend:()=>U_,lists_change_to:()=>Z_,lists_change_to_general:()=>ea,lists_clear:()=>K_,lists_create_with:()=>y_,lists_create_with2:()=>na,lists_create_with_noreturn:()=>ta,lists_create_with_text:()=>V_,lists_create_with_text2:()=>sa,lists_del_general:()=>ia,lists_find:()=>J_,lists_getIndex3:()=>oa,lists_getSublist3:()=>_a,lists_get_index:()=>B_,lists_get_random_item:()=>w_,lists_get_random_sublist:()=>k_,lists_get_sublist:()=>x_,lists_insert_value:()=>H_,lists_insert_value2:()=>pa,lists_pop:()=>z_,lists_remove_at:()=>Q_,lists_remove_at2:()=>ua,lists_reverse:()=>W_,lists_setIndex3:()=>aa,lists_set_index:()=>G_,lists_sort:()=>j_,lists_zip:()=>ra});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>Aa,dicts_add_or_change:()=>ma,dicts_clear:()=>Ra,dicts_create_with:()=>Ia,dicts_create_with_noreturn:()=>Da,dicts_deldict:()=>Sa,dicts_delete:()=>Oa,dicts_get:()=>ha,dicts_get_default:()=>Ma,dicts_items:()=>ca,dicts_keys:()=>Ta,dicts_length:()=>Ca,dicts_pop:()=>La,dicts_setdefault:()=>Na,dicts_to_json:()=>Fa,dicts_todict:()=>fa,dicts_update:()=>Ea,dicts_values:()=>ga,json_to_dicts:()=>Pa});var R={};t.r(R),t.d(R,{logic_boolean:()=>ba,logic_compare:()=>va,logic_compare_continous:()=>Ya,logic_is:()=>Ga,logic_is_in:()=>Ba,logic_negate:()=>Xa,logic_null:()=>ya,logic_operation:()=>xa,logic_tobool:()=>Ua,logic_true_or_false:()=>Va});var c={};t.r(c),t.d(c,{sdcard_mount:()=>rp,sdcard_use_spi_init:()=>up,storage_can_write_ornot:()=>qa,storage_change_dir:()=>sp,storage_close_file:()=>Za,storage_delete_file:()=>tp,storage_file_seek:()=>np,storage_file_tell:()=>ip,storage_file_write:()=>Ka,storage_fileopen:()=>ka,storage_fileopen_new:()=>Ha,storage_fileopen_new_encoding:()=>Wa,storage_get_a_line:()=>za,storage_get_contents:()=>Qa,storage_get_contents_without_para:()=>Ja,storage_get_current_dir:()=>op,storage_get_file_size:()=>ep,storage_get_filename:()=>ja,storage_is_file:()=>pp,storage_list_all_files:()=>$a,storage_make_dir:()=>_p,storage_open_file_with_os:()=>wa,storage_rename:()=>ap});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Tp,procedures_callreturn:()=>Ip,procedures_defnoreturn:()=>dp,procedures_defreturn:()=>lp,procedures_ifreturn:()=>hp,procedures_return:()=>Mp});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ap,tuple_create_with:()=>mp,tuple_create_with_noreturn:()=>fp,tuple_create_with_text2:()=>Op,tuple_create_with_text_return:()=>Ep,tuple_del:()=>gp,tuple_find:()=>Lp,tuple_getIndex:()=>Rp,tuple_getSublist:()=>Dp,tuple_get_random_item:()=>Pp,tuple_get_sublist:()=>Fp,tuple_join:()=>Cp,tuple_length:()=>cp,tuple_max:()=>Sp,tuple_totuple:()=>vp,tuple_trig:()=>Np});var S={};t.r(S),t.d(S,{set_add_discard:()=>Bp,set_clear:()=>bp,set_create_with:()=>Yp,set_create_with_text_return:()=>wp,set_length:()=>xp,set_operate:()=>yp,set_operate_update:()=>Vp,set_pop:()=>Xp,set_sub:()=>Gp,set_toset:()=>kp,set_update:()=>Up});var A={};t.r(A),t.d(A,{html_content:()=>Jp,html_content_more:()=>Qp,html_document:()=>Hp,html_form:()=>qp,html_head_body:()=>Kp,html_style:()=>zp,html_style_content:()=>jp,html_text:()=>Zp,html_title:()=>Wp});var L={};t.r(L),t.d(L,{attribute_access:()=>ou,function_call:()=>su,raw_block:()=>$p,raw_empty:()=>eu,raw_expression:()=>tu,raw_table:()=>iu,type_check:()=>nu});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>mu,actuator_extern_get_led_state:()=>Ou,actuator_extern_led_bright:()=>Mu,actuator_extern_led_brightness:()=>Eu,actuator_ms32006_dcmotor:()=>Du,actuator_ms32006_init:()=>Nu,actuator_ms32006_stepper:()=>fu,actuator_neopixel_init:()=>Fu,actuator_neopixel_rgb:()=>Pu,actuator_neopixel_rgb_all:()=>vu,actuator_neopixel_write:()=>Yu,actuator_use_uart_init:()=>xu,esp32_music_get_tempo_extern:()=>Iu,esp32_music_pitch:()=>uu,esp32_music_pitch_init:()=>pu,esp32_music_pitch_with_time:()=>ru,esp32_music_play_list:()=>lu,esp32_music_reset_extern:()=>Tu,esp32_music_set_tempo_extern:()=>du,esp32_music_stop:()=>hu,mixbot_actuator_extern_get_addr:()=>Zu,mixbot_actuator_extern_set_addr:()=>$u,mixbot_addr_extern:()=>Bu,robot_led_extern:()=>ku,robot_led_extern_get_value:()=>Hu,robot_motor_extern:()=>Gu,robot_motor_extern_get_speed:()=>Uu,robot_servo_extern_absolute_run:()=>Qu,robot_servo_extern_get_status:()=>Wu,robot_servo_extern_relative_continue:()=>ju,robot_servo_extern_relative_origin:()=>zu,robot_servo_extern_relative_run:()=>qu,robot_servo_extern_stop:()=>Ju,robot_servo_extern_stop_mode:()=>Ku,robot_traffic_light_extern:()=>wu,servo_get_angle:()=>Au,servo_get_speed:()=>Lu,servo_init:()=>Ru,servo_move:()=>cu,servo_set_angle:()=>Cu,servo_set_speed:()=>Su,servo_speed_360:()=>gu,syn6288_builtin_voice:()=>yu,syn6288_get_voice:()=>bu,syn6288_set_voice:()=>Xu,syn6288_tts_play:()=>Vu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Pr,actuator_dc_motor_stop:()=>vr,actuator_get_led_bright:()=>sr,actuator_get_led_state:()=>or,actuator_led_bright:()=>nr,actuator_led_brightness:()=>_r,actuator_mixbot_buzzer_on_off:()=>yr,actuator_mixgo_nova_mic_get:()=>wr,actuator_mixgo_nova_mic_set:()=>Ur,actuator_mixgo_nova_onboard_music_pitch:()=>Qr,actuator_mixgo_nova_onboard_music_stop:()=>zr,actuator_mixgo_nova_play_audio:()=>Kr,actuator_mixgo_nova_play_online_audio:()=>Jr,actuator_mixgo_nova_record_audio:()=>Wr,actuator_mixgo_nova_voice_get:()=>Hr,actuator_mixgo_nova_voice_set:()=>kr,actuator_mixgo_zero_led_color:()=>ar,actuator_onboard_neopixel_rgb:()=>Ir,actuator_onboard_neopixel_rgb_all:()=>Tr,actuator_onboard_neopixel_rgb_show_all_chase:()=>Mr,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>hr,actuator_onboard_neopixel_write:()=>mr,actuator_rm_onboard_neopixel_rgb:()=>Or,actuator_rm_onboard_neopixel_rgb_all:()=>Er,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Rr,actuator_stepper_keep:()=>fr,actuator_stepper_stop:()=>Fr,bitbot_motor:()=>Gr,bitbot_move:()=>Vr,bitbot_stop:()=>Br,cc_number:()=>dr,esp32_music_get_tempo:()=>gr,esp32_music_reset:()=>Cr,esp32_music_set_tempo:()=>cr,esp32_onboard_music_pitch:()=>Sr,esp32_onboard_music_pitch_with_time:()=>Ar,esp32_onboard_music_play_list:()=>Nr,esp32_onboard_music_stop:()=>Lr,get_power_output:()=>jr,ledswitch:()=>ir,mixbot_motor:()=>br,mixbot_motor_status:()=>Yr,mixbot_move:()=>xr,mixbot_stop:()=>Xr,number:()=>er,rm_actuator_get_led_bright:()=>ur,rm_actuator_get_led_state:()=>rr,rm_actuator_led_bright:()=>pr,rm_actuator_led_brightness:()=>lr,rm_motor:()=>Dr,set_all_power_output:()=>Zr,set_power_output:()=>qr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>vl,ai_sensor_ailocal_class:()=>cl,ai_sensor_ailocal_class_result:()=>gl,ai_sensor_ailocal_train:()=>Rl,ai_sensor_asr_recognize:()=>Nl,ai_sensor_audio_play:()=>Sl,ai_sensor_audio_record:()=>Cl,ai_sensor_barcode:()=>_l,ai_sensor_circle:()=>dl,ai_sensor_classifier_faces:()=>Pl,ai_sensor_color:()=>Ml,ai_sensor_color_chases:()=>El,ai_sensor_color_chases_result:()=>Ol,ai_sensor_config:()=>sl,ai_sensor_face:()=>Fl,ai_sensor_find_20objects:()=>Yl,ai_sensor_find_barcodes:()=>al,ai_sensor_find_circles:()=>Il,ai_sensor_find_colors:()=>ml,ai_sensor_find_licenseplates:()=>fl,ai_sensor_find_lines:()=>ll,ai_sensor_find_qrcodes:()=>nl,ai_sensor_find_rects:()=>hl,ai_sensor_find_tags:()=>ul,ai_sensor_licenseplate:()=>Dl,ai_sensor_line:()=>rl,ai_sensor_qrcode:()=>el,ai_sensor_qrcode_lite:()=>il,ai_sensor_rect:()=>Tl,ai_sensor_rgb:()=>ol,ai_sensor_tag:()=>pl,ai_sensor_use_uart_init:()=>tl,ai_sensor_yolo_recognize:()=>Al,ai_sensor_yolo_recognize_result:()=>Ll});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>bl,MICROPYTHON_AI_Speech_unit:()=>Xl,MICROPYTHON_AI_client:()=>xl});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>jl,mpython_blynk_app_notify:()=>Hl,mpython_blynk_email:()=>Jl,mpython_blynk_get_timers:()=>Ql,mpython_blynk_on_connected:()=>Ul,mpython_blynk_on_disconnected:()=>Gl,mpython_blynk_run:()=>kl,mpython_blynk_sensor_data_to_app:()=>ql,mpython_blynk_set_property:()=>Kl,mpython_blynk_setup:()=>Zl,mpython_blynk_stop_timers:()=>Wl,mpython_blynk_sync_virtual:()=>Bl,mpython_blynk_terminal_widget_vpin:()=>Vl,mpython_blynktimer:()=>zl,mpython_blynktimer_run:()=>wl});var v={};t.r(v),t.d(v,{cc_g1_init:()=>$l,cc_g1_read_bat:()=>td,cc_g1_read_joystick:()=>ed,cc_g1_read_key:()=>id,cc_g1_turnoff:()=>nd});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>dd,ce_go_get_led_bright:()=>ad,ce_go_get_led_state:()=>pd,ce_go_hall_attachInterrupt:()=>Id,ce_go_hall_data:()=>hd,ce_go_hall_initialize:()=>Td,ce_go_led_bright:()=>_d,ce_go_led_brightness:()=>ud,ce_go_light_number:()=>od,ce_go_pin_light:()=>Rd,ce_go_pin_near:()=>md,ce_go_pin_near_line:()=>Md,ce_go_pin_near_state_change:()=>Od,ce_go_stepper_keep:()=>rd,ce_go_stepper_stop:()=>ld,sensor_mixgome_eulerangles:()=>Ed});var x={};t.r(x),t.d(x,{communicate_bluetooth_central_init:()=>iI,communicate_bluetooth_connect:()=>_I,communicate_bluetooth_disconnect:()=>aI,communicate_bluetooth_handle:()=>dI,communicate_bluetooth_is_connected:()=>uI,communicate_bluetooth_mac:()=>oI,communicate_bluetooth_peripheral_init:()=>nI,communicate_bluetooth_recv:()=>rI,communicate_bluetooth_recv_only:()=>lI,communicate_bluetooth_scan:()=>sI,communicate_bluetooth_send:()=>pI,communicate_espnow_init:()=>II,communicate_espnow_init_new:()=>TI,communicate_i2c_available:()=>Vd,communicate_i2c_init:()=>Sd,communicate_i2c_master_read:()=>yd,communicate_i2c_onboard:()=>gd,communicate_i2c_read:()=>Ad,communicate_i2c_scan:()=>Nd,communicate_i2c_write:()=>Ld,communicate_ir_recv_init:()=>Kd,communicate_ir_send_init:()=>jd,communicate_ow_init:()=>Gd,communicate_ow_read:()=>wd,communicate_ow_reset:()=>Wd,communicate_ow_scan:()=>Ud,communicate_ow_select:()=>Hd,communicate_ow_write:()=>kd,communicate_spi_buffer:()=>Fd,communicate_spi_init:()=>Dd,communicate_spi_onboard:()=>Cd,communicate_spi_read:()=>Pd,communicate_spi_read_output:()=>vd,communicate_spi_readinto:()=>Yd,communicate_spi_readinto_output:()=>xd,communicate_spi_set:()=>fd,communicate_spi_write:()=>Xd,communicate_spi_write_readinto:()=>bd,espnow_radio_channel:()=>RI,espnow_radio_channel_new:()=>gI,espnow_radio_on_off:()=>CI,espnow_radio_rec:()=>AI,espnow_radio_recv:()=>NI,espnow_radio_recv_certain_msg:()=>DI,espnow_radio_recv_certain_msg_new:()=>FI,espnow_radio_recv_msg:()=>LI,espnow_radio_recv_new:()=>fI,espnow_radio_send:()=>SI,espnow_radio_txpower:()=>cI,i2c_available:()=>ZI,i2c_init:()=>VI,i2c_master_reader2:()=>jI,i2c_read:()=>BI,i2c_scan:()=>UI,i2c_slave_onreceive:()=>Bd,i2c_write:()=>GI,internal_variable:()=>Jd,ir_recv_timeout:()=>qd,ir_transmit_busy:()=>eI,ir_transmit_conventional_data:()=>Zd,ir_transmit_raw_code:()=>tI,ir_transmit_study_code:()=>$d,ir_whether_recv:()=>zd,lora_init:()=>PI,lora_packet:()=>vI,lora_recv:()=>xI,lora_send:()=>YI,network_espnow_info:()=>MI,network_espnow_mac:()=>hI,network_espnow_recv:()=>mI,network_espnow_recv_handle:()=>EI,network_espnow_send:()=>OI,recv_fun:()=>Qd,spi_buffer:()=>HI,spi_init:()=>wI,spi_read:()=>WI,spi_read_output:()=>KI,spi_readinto:()=>JI,spi_readinto_output:()=>QI,spi_set:()=>kI,spi_write:()=>zI,spi_write_readinto:()=>qI,urequests_attribute:()=>bI,urequests_get:()=>XI,urequests_method:()=>yI});var X={};t.r(X),t.d(X,{display_animate:()=>DT,display_blink_rate:()=>ST,display_circle:()=>fT,display_color_seclet:()=>UT,display_draw_4strings:()=>OT,display_fill:()=>NT,display_get_screen_image:()=>CT,display_help:()=>PT,display_image_size:()=>ET,display_lcd_use_i2c_init:()=>JT,display_line:()=>cT,display_line_arbitrarily:()=>gT,display_matrix_extern_bright_point:()=>rT,display_matrix_extern_bright_screen:()=>dT,display_matrix_extern_clear:()=>IT,display_matrix_extern_get_pixel:()=>uT,display_matrix_extern_get_screen_pixel:()=>lT,display_matrix_extern_image_builtins:()=>TT,display_matrix_extern_scroll_string:()=>sT,display_matrix_extern_scroll_string_delay:()=>oT,display_matrix_extern_shift:()=>pT,display_matrix_extern_show_frame_string:()=>_T,display_matrix_extern_show_frame_string_delay:()=>aT,display_matrix_extern_show_image:()=>iT,display_matrix_extern_show_image_or_string_delay:()=>nT,display_matrix_use_i2c_init:()=>eT,display_oled_drawPixel:()=>YT,display_oled_showBitmap:()=>vT,display_oled_use_i2c_init:()=>ZT,display_onoff:()=>LT,display_rect:()=>RT,display_rgb_color:()=>AT,display_tm1650_power:()=>XT,display_tm1650_set_brightness:()=>VT,display_tm1650_show_dot:()=>yT,display_tm1650_show_num:()=>bT,display_tm_use_i2c_init:()=>xT,display_triangle:()=>FT,display_use_i2c_init:()=>mT,extern_oled_bright_point:()=>uh,extern_oled_clear:()=>rh,extern_oled_get_pixel:()=>ph,extern_oled_hvline:()=>dh,extern_oled_line:()=>Ih,extern_oled_scroll_string:()=>nh,extern_oled_scroll_string_delay:()=>sh,extern_oled_shape_rect:()=>lh,extern_oled_shift:()=>ah,extern_oled_show_frame_string:()=>oh,extern_oled_show_frame_string_delay:()=>_h,extern_oled_show_image:()=>$T,extern_oled_show_image_or_string_delay:()=>ih,extern_oled_show_image_xy:()=>th,extern_oled_show_string:()=>eh,lcd_backlight:()=>qT,lcd_clear:()=>jT,lcd_print_string:()=>zT,lcd_show_image_or_string_delay:()=>QT,matrix_extern_image_arithmetic:()=>hT,matrix_extern_image_invert:()=>MT,tft_fill:()=>WT,tft_line_arbitrarily:()=>KT,tft_scroll_string_delay:()=>kT,tft_show_frame_string_delay:()=>HT,tft_show_image_or_string_delay:()=>wT,tft_show_image_xy:()=>GT,tft_use_spi_init:()=>BT});var b={};t.r(b),t.d(b,{bitbot_display_image_create:()=>Zh,display_bright_point:()=>Dh,display_bright_screen:()=>Fh,display_clear:()=>Ph,display_get_pixel:()=>Nh,display_get_screen_pixel:()=>fh,display_image_builtins:()=>gh,display_image_builtins_all:()=>Ch,display_image_create:()=>ch,display_scroll_string:()=>mh,display_scroll_string_delay:()=>Oh,display_shift:()=>Lh,display_show_frame_string:()=>Eh,display_show_frame_string_delay:()=>Rh,display_show_image:()=>hh,display_show_image_or_string_delay:()=>Mh,image_arithmetic:()=>Sh,image_invert:()=>Ah,mixbot_display_bright_screen:()=>qh,mixbot_display_get_ambientbright:()=>zh,mixbot_display_get_screen_pixel:()=>Qh,mixbot_display_image_create:()=>Jh,mixbot_display_rotate:()=>jh,mixgo_display_image_create_new:()=>xh,mixgome_display_font:()=>Xh,mixgome_display_image_create:()=>vh,mixgomini_display_image_create:()=>Yh,mpython_display_hvline:()=>Hh,mpython_display_line:()=>Wh,mpython_display_shape_rect:()=>kh,mpython_pbm_image:()=>Kh,onboard_oled_bright_point:()=>wh,onboard_oled_scroll_string_delay:()=>Gh,onboard_oled_show_frame_string_delay:()=>Uh,onboard_oled_show_image:()=>bh,onboard_oled_show_image_or_string_delay:()=>Bh,onboard_oled_show_image_xy:()=>yh,onboard_oled_show_string:()=>Vh,onboard_tft_bright_point:()=>lM,onboard_tft_bright_screen:()=>TM,onboard_tft_clear:()=>dM,onboard_tft_clock_clear:()=>RM,onboard_tft_clock_draw:()=>EM,onboard_tft_clock_get_rtctime:()=>mM,onboard_tft_clock_init:()=>MM,onboard_tft_clock_set_time:()=>OM,onboard_tft_display_hvline:()=>aM,onboard_tft_display_line:()=>pM,onboard_tft_display_shape_circle:()=>cM,onboard_tft_display_shape_rect:()=>_M,onboard_tft_fill:()=>hM,onboard_tft_get_pixel:()=>rM,onboard_tft_get_screen_pixel:()=>IM,onboard_tft_scroll_string:()=>iM,onboard_tft_scroll_string_delay:()=>nM,onboard_tft_shift:()=>uM,onboard_tft_show_frame_string:()=>sM,onboard_tft_show_frame_string_delay:()=>oM,onboard_tft_show_image:()=>$h,onboard_tft_show_image_or_string_delay:()=>eM,onboard_tft_show_image_xy:()=>tM});var y={};t.r(y),t.d(y,{factory_block:()=>vM,factory_block_return:()=>YM,factory_block_return_with_textarea:()=>XM,factory_block_with_textarea:()=>xM,factory_callMethod_noreturn:()=>FM,factory_callMethod_return:()=>PM,factory_create_with_container:()=>LM,factory_create_with_item:()=>NM,factory_declare:()=>fM,factory_from_import:()=>CM,factory_function_noreturn:()=>AM,factory_function_return:()=>DM,factory_import:()=>SM,folding_block:()=>bM});var V={};t.r(V),t.d(V,{controls_pin_attachInterrupt:()=>sm,inout_analog_atten:()=>KM,inout_analog_read:()=>WM,inout_analog_read_init:()=>ZM,inout_analog_write:()=>wM,inout_analog_write_init:()=>jM,inout_analog_write_set:()=>kM,inout_analog_write_set_freq:()=>em,inout_digital_init:()=>zM,inout_digital_read:()=>GM,inout_digital_write:()=>BM,inout_highlow:()=>VM,inout_pinMode:()=>tm,inout_pin_attachInterrupt:()=>QM,inout_pin_pressed:()=>JM,inout_pin_pressed_init:()=>$M,inout_pwm_analog_write:()=>UM,inout_pwm_analog_write_init:()=>qM,inout_pwm_analog_write_set_freq:()=>HM,pin_pressed:()=>nm,pin_pressed_init:()=>im});var B={};t.r(B),t.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Dm,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Nm,IOT_EMQX_PING:()=>Am,IOT_FORMATTING:()=>Cm,IOT_FORMAT_STRING:()=>Sm,IOT_MIXIO_NTP:()=>Lm,IOT_MIXIO_PUBLISH:()=>Mm,IOT_MIXIO_SUBSCRIBE:()=>mm,iot_checkonenet:()=>Vm,iot_client_onboard:()=>Fm,iot_create_with_item:()=>Tm,iot_http_client:()=>Pm,iot_http_data:()=>vm,iot_mixio_check:()=>Rm,iot_mixio_connect:()=>hm,iot_mixio_connect_only:()=>Em,iot_mixio_disconnect:()=>Om,iot_mixio_format_msg:()=>gm,iot_mixio_format_topic:()=>cm,iot_mixly_key:()=>fm,iot_mqtt_client:()=>Ym,iot_mqtt_data:()=>xm,iot_onenet_check:()=>um,iot_onenet_connect:()=>am,iot_onenet_disconnect:()=>pm,iot_onenet_publish:()=>lm,iot_onenet_publish_dict:()=>rm,iot_onenetconnect:()=>bm,iot_onenetdisconnect:()=>ym,iot_publish:()=>Bm,iot_publish_container:()=>dm,iot_publish_item:()=>Im,iot_wifi_connect:()=>_m,iot_wificonnect:()=>Xm});var G={};t.r(G),t.d(G,{network_ap_connect:()=>qm,network_connect:()=>Wm,network_get_connect:()=>Jm,network_get_wifi:()=>zm,network_init:()=>Um,network_is_active:()=>km,network_open:()=>wm,network_scan:()=>Hm,network_server:()=>jm,network_socket_accept:()=>iO,network_socket_bind:()=>$m,network_socket_close:()=>aO,network_socket_connect:()=>tO,network_socket_init:()=>Zm,network_socket_listen:()=>eO,network_socket_receive:()=>nO,network_socket_receive_from:()=>oO,network_socket_send:()=>sO,network_socket_send_to:()=>_O,network_stop:()=>Qm,network_wifi_connect:()=>Km,ntptime_address:()=>dO,ntptime_time:()=>lO,requests_attribute:()=>uO,requests_get:()=>pO,requests_method:()=>rO});var U={};t.r(U),t.d(U,{HCSR04:()=>IE,PS2_Button:()=>mE,PS2_Buttons:()=>EE,PS2_Buttons_new:()=>CE,PS2_State:()=>OE,PS2_init:()=>TE,PS2_init_new:()=>cE,PS2_stk:()=>RE,PS2_stk_new:()=>SE,PS2_vibration:()=>ME,PS2_vibration_new:()=>gE,esp32_s2_weather_init:()=>uE,esp32_s2_weather_rain:()=>lE,esp32_s2_weather_wd:()=>rE,esp32_s2_weather_ws:()=>dE,extern_rfid_read:()=>zO,extern_rfid_readcontent:()=>jO,extern_rfid_readid:()=>qO,extern_rfid_status:()=>tE,extern_rfid_write:()=>ZO,extern_rfid_write_return:()=>$O,gnss_get_data:()=>DE,gnss_have_data:()=>NE,mixbot_sensor_extern_get_addr:()=>XE,mixbot_sensor_extern_set_addr:()=>bE,pm25_get_data:()=>LE,robot_button_extern_get_value:()=>fE,robot_color_extern_get_value:()=>xE,robot_infrared_extern_get_value:()=>PE,robot_infrared_extern_grey_get_value:()=>vE,robot_potentiometer_extern_get_value:()=>YE,robot_sonar_extern_get_value:()=>yE,robot_sonar_extern_led:()=>VE,robot_touch_extern_get_value:()=>FE,sensor_APDS9960_extern:()=>PO,sensor_LTR308_extern:()=>vO,sensor_LTR390UV_extern:()=>xO,sensor_MAX30102_extern:()=>FO,sensor_QMC5883L_extern:()=>BO,sensor_VL530LX_extern:()=>XO,sensor_adxl345_get_acceleration:()=>EO,sensor_aht11_extern:()=>yO,sensor_bmp:()=>AO,sensor_compass_reset:()=>JO,sensor_dht11:()=>cO,sensor_ds18x20:()=>NO,sensor_hp203_extern:()=>VO,sensor_light_level:()=>RO,sensor_lm35:()=>DO,sensor_ltr381_extern:()=>YO,sensor_mixgo_extern_button_attachInterrupt:()=>mO,sensor_mixgo_extern_button_get_presses:()=>MO,sensor_mixgo_extern_button_is_pressed:()=>TO,sensor_mixgo_extern_button_was_pressed:()=>hO,sensor_mixgo_extern_light:()=>gO,sensor_mixgo_extern_pin_near:()=>SO,sensor_mixgo_extern_sound:()=>CO,sensor_mixgoce_hot_wheel_degrees:()=>pE,sensor_mixgoce_hot_wheel_is_touched:()=>aE,sensor_mpu9250_attachGestureInterrupt:()=>OO,sensor_mpu9250_calibrate_compass:()=>HO,sensor_mpu9250_field_strength:()=>KO,sensor_mpu9250_gesture:()=>GO,sensor_mpu9250_get_acceleration:()=>UO,sensor_mpu9250_get_gyro:()=>kO,sensor_mpu9250_get_magnetic:()=>wO,sensor_mpu9250_temperature:()=>WO,sensor_sht:()=>LO,sensor_shtc3_extern:()=>bO,sensor_use_i2c_init:()=>fO,sensor_use_spi_init:()=>QO,sensor_use_uart_init:()=>AE,sensor_weather_solo_init:()=>BE,sensor_weather_solo_rain:()=>wE,sensor_weather_solo_wd:()=>GE,sensor_weather_solo_ws:()=>UE,weather_data:()=>eE,weather_have_data:()=>iE,weather_set_label:()=>sE,weather_set_label_container:()=>oE,weather_set_label_item:()=>_E,weather_uart_mixio:()=>nE});var w={};t.r(w),t.d(w,{HCSR04:()=>oR,RTC_set_date:()=>sR,RTC_set_time:()=>nR,bitbot_als_num:()=>rc,dht11:()=>mc,number1:()=>aR,number2:()=>pR,number3:()=>uR,number4:()=>rR,number5:()=>lR,number6:()=>dR,number7:()=>IR,onboard_RTC_get_time:()=>RR,onboard_RTC_get_timestamp:()=>cR,onboard_RTC_set_datetime:()=>SR,onboard_RTC_settime_string:()=>CR,onboard_RTC_timestamp_totuple:()=>gR,rfid_readcontent:()=>vR,rfid_readid:()=>PR,rfid_write:()=>YR,rfid_write_return:()=>xR,sensor_LTR308:()=>LR,sensor_aht11:()=>DR,sensor_bitbot_ALS:()=>uc,sensor_button_get_presses:()=>Ic,sensor_button_is_pressed:()=>lc,sensor_button_was_pressed:()=>dc,sensor_distance_hrsc04:()=>iR,sensor_eulerangles:()=>bR,sensor_field_strength:()=>Oc,sensor_get_acceleration:()=>XR,sensor_get_temperature:()=>fR,sensor_hp203:()=>FR,sensor_light:()=>Mc,sensor_mixbot_get_gyro:()=>pc,sensor_mixbot_patrol_calibrate:()=>oc,sensor_mixbot_patrol_value:()=>_c,sensor_mixbot_temperature:()=>ac,sensor_mixgo_LTR308:()=>ER,sensor_mixgo_button_attachInterrupt:()=>JE,sensor_mixgo_button_get_presses:()=>KE,sensor_mixgo_button_is_pressed:()=>HE,sensor_mixgo_button_was_pressed:()=>WE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>JR,sensor_mixgo_cc_mmc5603_get_angle:()=>KR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>WR,sensor_mixgo_light:()=>_R,sensor_mixgo_nova_LTR308:()=>OR,sensor_mixgo_nova_pin_near:()=>mR,sensor_mixgo_pin_near:()=>MR,sensor_mixgo_pin_near_double:()=>hR,sensor_mixgo_pin_near_single:()=>TR,sensor_mixgo_pin_pressed:()=>ZE,sensor_mixgo_touch_slide:()=>eR,sensor_mixgocar42_button_attachInterrupt:()=>jE,sensor_mixgocar42_button_get_presses:()=>qE,sensor_mixgocar42_button_is_pressed:()=>QE,sensor_mixgocar42_button_was_pressed:()=>zE,sensor_mixgocar_battery_left:()=>sc,sensor_mixgocar_pin_near:()=>ic,sensor_mixgocar_pin_near_line:()=>ec,sensor_mixgocar_pin_near_state_change:()=>nc,sensor_mixgoce_pin_pressed:()=>$E,sensor_mixgoce_temperature:()=>zR,sensor_mixgome_temperature:()=>QR,sensor_mpython_pin_pressed:()=>tR,sensor_mpython_qmi8658_get_gyro:()=>qR,sensor_mpython_qmi8658_temperature:()=>jR,sensor_onboard_compass_reset:()=>HR,sensor_onboard_mpu9250_calibrate_compass:()=>UR,sensor_onboard_mpu9250_field_strength:()=>kR,sensor_onboard_mpu9250_gesture:()=>yR,sensor_onboard_mpu9250_get_acceleration:()=>VR,sensor_onboard_mpu9250_get_gyro:()=>GR,sensor_onboard_mpu9250_get_magnetic:()=>BR,sensor_onboard_mpu9250_temperature:()=>wR,sensor_pin_near:()=>hc,sensor_pin_pressed:()=>Tc,sensor_rm_acc:()=>tc,sensor_rm_battery_left:()=>$R,sensor_rm_pin_near_double:()=>ZR,sensor_rtc_init:()=>AR,sensor_sound:()=>NR,sensor_temperature:()=>Ec});var k={};t.r(k),t.d(k,{serial_any:()=>Nc,serial_begin:()=>vc,serial_print:()=>gc,serial_print_byte:()=>cc,serial_print_hex:()=>Sc,serial_println:()=>Cc,serial_read_from_ai:()=>Uc,serial_readline:()=>Dc,serial_readstr:()=>Lc,serial_readstr_until:()=>fc,serial_receive_data_event:()=>Ac,serial_send_to_ai:()=>Gc,serial_softserial:()=>Pc,serial_softserial_new:()=>Fc,system_input:()=>Yc,system_print:()=>xc,system_print_container:()=>Vc,system_print_end:()=>bc,system_print_inline:()=>Xc,system_print_item:()=>Bc,system_print_many:()=>yc});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>Wc,Timer_init:()=>sg,base_delay:()=>ag,controls_delay:()=>Hc,controls_delay_new:()=>kc,controls_millis:()=>Jc,controls_uname:()=>zc,raw_block:()=>Qc,reset:()=>Kc,system_bitbot_shutdown:()=>ng,system_machine_reset:()=>ig,system_ticks_diff:()=>Zc,system_timer:()=>jc,system_timer_init:()=>$c,system_wdt_feed:()=>eg,system_wdt_init:()=>tg,time_ticks_diff:()=>_g,timer:()=>qc,timer2:()=>og});var W={};t.r(W),t.d(W,{WEATHER_DAILY:()=>rg,WEATHER_HOUR:()=>lg,WEATHER_NOW:()=>ug});var K={};t.r(K),t.d(K,{actuator_extern_get_led_bright:()=>Pg,actuator_extern_get_led_state:()=>vg,actuator_extern_led_bright:()=>Fg,actuator_extern_led_brightness:()=>Yg,actuator_ms32006_dcmotor:()=>Eg,actuator_ms32006_init:()=>Og,actuator_ms32006_stepper:()=>Rg,actuator_neopixel_init:()=>xg,actuator_neopixel_rgb:()=>yg,actuator_neopixel_rgb_all:()=>Xg,actuator_neopixel_write:()=>bg,actuator_use_uart_init:()=>Vg,esp32_music_get_tempo_extern:()=>Lg,esp32_music_pitch:()=>gg,esp32_music_pitch_init:()=>cg,esp32_music_pitch_with_time:()=>Cg,esp32_music_play_list:()=>Ng,esp32_music_reset_extern:()=>Dg,esp32_music_set_tempo_extern:()=>Ag,esp32_music_stop:()=>Sg,mixbot_actuator_extern_get_addr:()=>iC,mixbot_actuator_extern_set_addr:()=>nC,mixbot_addr_extern:()=>kg,robot_led_extern:()=>Jg,robot_led_extern_get_value:()=>Qg,robot_motor_extern:()=>Hg,robot_motor_extern_get_speed:()=>Wg,robot_servo_extern_absolute_run:()=>Zg,robot_servo_extern_get_status:()=>zg,robot_servo_extern_relative_continue:()=>eC,robot_servo_extern_relative_origin:()=>$g,robot_servo_extern_relative_run:()=>tC,robot_servo_extern_stop:()=>jg,robot_servo_extern_stop_mode:()=>qg,robot_traffic_light_extern:()=>Kg,servo_get_angle:()=>Mg,servo_get_speed:()=>mg,servo_init:()=>dg,servo_move:()=>fg,servo_set_angle:()=>Tg,servo_set_speed:()=>hg,servo_speed_360:()=>Ig,syn6288_builtin_voice:()=>Ug,syn6288_get_voice:()=>Gg,syn6288_set_voice:()=>Bg,syn6288_tts_play:()=>wg});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>PC,actuator_dc_motor_stop:()=>vC,actuator_get_led_bright:()=>TC,actuator_get_led_state:()=>hC,actuator_led_bright:()=>IC,actuator_led_brightness:()=>MC,actuator_mixbot_buzzer_on_off:()=>yC,actuator_mixgo_nova_mic_get:()=>wC,actuator_mixgo_nova_mic_set:()=>UC,actuator_mixgo_nova_onboard_music_pitch:()=>QC,actuator_mixgo_nova_onboard_music_stop:()=>zC,actuator_mixgo_nova_play_audio:()=>KC,actuator_mixgo_nova_play_online_audio:()=>JC,actuator_mixgo_nova_record_audio:()=>WC,actuator_mixgo_nova_voice_get:()=>HC,actuator_mixgo_nova_voice_set:()=>kC,actuator_mixgo_zero_led_color:()=>mC,actuator_onboard_neopixel_rgb:()=>SC,actuator_onboard_neopixel_rgb_all:()=>AC,actuator_onboard_neopixel_rgb_show_all_chase:()=>LC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>NC,actuator_onboard_neopixel_write:()=>CC,actuator_stepper_keep:()=>fC,actuator_stepper_stop:()=>FC,bitbot_motor:()=>GC,bitbot_move:()=>VC,bitbot_stop:()=>BC,cc_number:()=>OC,esp32_music_get_tempo:()=>oC,esp32_music_reset:()=>rC,esp32_music_set_tempo:()=>sC,esp32_onboard_music_pitch:()=>_C,esp32_onboard_music_pitch_with_time:()=>aC,esp32_onboard_music_play_list:()=>uC,esp32_onboard_music_stop:()=>pC,get_power_output:()=>jC,ledswitch:()=>dC,mixbot_motor:()=>bC,mixbot_motor_status:()=>YC,mixbot_move:()=>xC,mixbot_stop:()=>XC,number:()=>lC,rm_actuator_get_led_bright:()=>RC,rm_actuator_get_led_state:()=>cC,rm_actuator_led_bright:()=>EC,rm_actuator_led_brightness:()=>gC,rm_motor:()=>DC,set_all_power_output:()=>ZC,set_power_output:()=>qC});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>PS,ai_sensor_ailocal_class:()=>RS,ai_sensor_ailocal_class_result:()=>cS,ai_sensor_ailocal_train:()=>ES,ai_sensor_asr_recognize:()=>LS,ai_sensor_audio_play:()=>CS,ai_sensor_audio_record:()=>gS,ai_sensor_barcode:()=>oS,ai_sensor_circle:()=>lS,ai_sensor_classifier_faces:()=>FS,ai_sensor_color:()=>hS,ai_sensor_color_chases:()=>OS,ai_sensor_color_chases_result:()=>mS,ai_sensor_config:()=>eS,ai_sensor_face:()=>fS,ai_sensor_find_20objects:()=>vS,ai_sensor_find_barcodes:()=>_S,ai_sensor_find_circles:()=>dS,ai_sensor_find_colors:()=>MS,ai_sensor_find_licenseplates:()=>DS,ai_sensor_find_lines:()=>rS,ai_sensor_find_qrcodes:()=>sS,ai_sensor_find_rects:()=>TS,ai_sensor_find_tags:()=>pS,ai_sensor_licenseplate:()=>NS,ai_sensor_line:()=>uS,ai_sensor_qrcode:()=>nS,ai_sensor_qrcode_lite:()=>tS,ai_sensor_rect:()=>IS,ai_sensor_rgb:()=>iS,ai_sensor_tag:()=>aS,ai_sensor_use_uart_init:()=>$C,ai_sensor_yolo_recognize:()=>SS,ai_sensor_yolo_recognize_result:()=>AS});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>XS,MICROPYTHON_AI_Speech_unit:()=>xS,MICROPYTHON_AI_client:()=>YS});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>JS,mpython_blynk_app_notify:()=>wS,mpython_blynk_email:()=>QS,mpython_blynk_get_timers:()=>HS,mpython_blynk_on_connected:()=>BS,mpython_blynk_on_disconnected:()=>VS,mpython_blynk_run:()=>US,mpython_blynk_sensor_data_to_app:()=>KS,mpython_blynk_set_property:()=>zS,mpython_blynk_setup:()=>qS,mpython_blynk_stop_timers:()=>kS,mpython_blynk_sync_virtual:()=>yS,mpython_blynk_terminal_widget_vpin:()=>bS,mpython_blynktimer:()=>WS,mpython_blynktimer_run:()=>GS});var j={};t.r(j),t.d(j,{cc_g1_read_bat:()=>jS,cc_g1_read_joystick:()=>ZS,cc_g1_read_key:()=>$S,cc_g1_turnoff:()=>tA});var Z={};t.r(Z),t.d(Z,{ce_go_dc_motor:()=>pA,ce_go_get_led_bright:()=>nA,ce_go_get_led_state:()=>sA,ce_go_hall_attachInterrupt:()=>uA,ce_go_hall_data:()=>lA,ce_go_hall_initialize:()=>rA,ce_go_led_bright:()=>iA,ce_go_led_brightness:()=>oA,ce_go_light_number:()=>eA,ce_go_pin_light:()=>MA,ce_go_pin_near:()=>IA,ce_go_pin_near_line:()=>dA,ce_go_pin_near_state_change:()=>TA,ce_go_stepper_keep:()=>_A,ce_go_stepper_stop:()=>aA,sensor_mixgome_eulerangles:()=>hA});var $={};t.r($),t.d($,{communicate_bluetooth_central_init:()=>jA,communicate_bluetooth_connect:()=>tL,communicate_bluetooth_disconnect:()=>eL,communicate_bluetooth_handle:()=>aL,communicate_bluetooth_is_connected:()=>nL,communicate_bluetooth_mac:()=>iL,communicate_bluetooth_peripheral_init:()=>ZA,communicate_bluetooth_recv:()=>_L,communicate_bluetooth_recv_only:()=>oL,communicate_bluetooth_scan:()=>$A,communicate_bluetooth_send:()=>sL,communicate_espnow_init:()=>pL,communicate_espnow_init_new:()=>uL,communicate_i2c_available:()=>SA,communicate_i2c_init:()=>EA,communicate_i2c_master_read:()=>CA,communicate_i2c_onboard:()=>mA,communicate_i2c_read:()=>RA,communicate_i2c_scan:()=>gA,communicate_i2c_write:()=>cA,communicate_ir_recv_init:()=>UA,communicate_ir_send_init:()=>KA,communicate_ow_init:()=>XA,communicate_ow_read:()=>VA,communicate_ow_reset:()=>yA,communicate_ow_scan:()=>bA,communicate_ow_select:()=>GA,communicate_ow_write:()=>BA,communicate_spi_buffer:()=>DA,communicate_spi_init:()=>LA,communicate_spi_onboard:()=>OA,communicate_spi_read:()=>fA,communicate_spi_read_output:()=>FA,communicate_spi_readinto:()=>PA,communicate_spi_readinto_output:()=>vA,communicate_spi_set:()=>NA,communicate_spi_write:()=>YA,communicate_spi_write_readinto:()=>xA,espnow_radio_channel:()=>hL,espnow_radio_channel_new:()=>mL,espnow_radio_on_off:()=>OL,espnow_radio_rec:()=>RL,espnow_radio_recv:()=>gL,espnow_radio_recv_certain_msg:()=>CL,espnow_radio_recv_certain_msg_new:()=>AL,espnow_radio_recv_msg:()=>cL,espnow_radio_recv_new:()=>SL,espnow_radio_send:()=>EL,espnow_radio_txpower:()=>ML,i2c_slave_onreceive:()=>AA,internal_variable:()=>wA,ir_recv_timeout:()=>WA,ir_transmit_busy:()=>qA,ir_transmit_conventional_data:()=>JA,ir_transmit_raw_code:()=>zA,ir_transmit_study_code:()=>QA,ir_whether_recv:()=>HA,lora_init:()=>LL,lora_packet:()=>NL,lora_recv:()=>fL,lora_send:()=>DL,network_espnow_info:()=>lL,network_espnow_mac:()=>rL,network_espnow_recv:()=>dL,network_espnow_recv_handle:()=>TL,network_espnow_send:()=>IL,recv_fun:()=>kA,urequests_attribute:()=>PL,urequests_get:()=>FL,urequests_method:()=>vL});var tt={};t.r(tt),t.d(tt,{display_animate:()=>nN,display_circle:()=>sN,display_color_seclet:()=>hN,display_draw_4strings:()=>qL,display_fill:()=>iN,display_lcd_use_i2c_init:()=>cN,display_line:()=>$L,display_line_arbitrarily:()=>jL,display_matrix_extern_bright_point:()=>kL,display_matrix_extern_bright_screen:()=>WL,display_matrix_extern_clear:()=>GL,display_matrix_extern_get_pixel:()=>wL,display_matrix_extern_get_screen_pixel:()=>HL,display_matrix_extern_image_builtins:()=>KL,display_matrix_extern_scroll_string:()=>VL,display_matrix_extern_scroll_string_delay:()=>BL,display_matrix_extern_shift:()=>UL,display_matrix_extern_show_frame_string:()=>bL,display_matrix_extern_show_frame_string_delay:()=>yL,display_matrix_extern_show_image:()=>xL,display_matrix_extern_show_image_or_string_delay:()=>XL,display_matrix_use_i2c_init:()=>YL,display_oled_drawPixel:()=>aN,display_oled_showBitmap:()=>_N,display_oled_use_i2c_init:()=>LN,display_onoff:()=>tN,display_rect:()=>ZL,display_tm1650_power:()=>uN,display_tm1650_set_brightness:()=>dN,display_tm1650_show_dot:()=>lN,display_tm1650_show_num:()=>rN,display_tm_use_i2c_init:()=>pN,display_triangle:()=>oN,display_use_i2c_init:()=>zL,extern_oled_bright_point:()=>VN,extern_oled_clear:()=>XN,extern_oled_get_pixel:()=>yN,extern_oled_hvline:()=>GN,extern_oled_line:()=>UN,extern_oled_scroll_string:()=>YN,extern_oled_scroll_string_delay:()=>xN,extern_oled_shape_rect:()=>BN,extern_oled_shift:()=>bN,extern_oled_show_frame_string:()=>PN,extern_oled_show_frame_string_delay:()=>vN,extern_oled_show_image:()=>NN,extern_oled_show_image_or_string_delay:()=>FN,extern_oled_show_image_xy:()=>DN,extern_oled_show_string:()=>fN,image_shift:()=>eN,lcd_backlight:()=>SN,lcd_clear:()=>AN,lcd_print_string:()=>CN,lcd_show_image_or_string_delay:()=>gN,matrix_extern_image_arithmetic:()=>JL,matrix_extern_image_invert:()=>QL,tft_fill:()=>EN,tft_line_arbitrarily:()=>RN,tft_scroll_string_delay:()=>ON,tft_show_frame_string_delay:()=>mN,tft_show_image_or_string_delay:()=>MN,tft_show_image_xy:()=>TN,tft_use_spi_init:()=>IN});var et={};t.r(et),t.d(et,{bitbot_display_image_create:()=>AD,display_bright_point:()=>iD,display_bright_screen:()=>sD,display_clear:()=>jN,display_get_pixel:()=>eD,display_get_screen_pixel:()=>nD,display_image_builtins:()=>QN,display_image_builtins_all:()=>zN,display_image_create:()=>qN,display_scroll_string:()=>KN,display_scroll_string_delay:()=>JN,display_shift:()=>tD,display_show_frame_string:()=>HN,display_show_frame_string_delay:()=>WN,display_show_image:()=>wN,display_show_image_or_string_delay:()=>kN,image_arithmetic:()=>ZN,image_invert:()=>$N,mixbot_display_bright_screen:()=>CD,mixbot_display_get_ambientbright:()=>gD,mixbot_display_get_screen_pixel:()=>cD,mixbot_display_image_create:()=>RD,mixbot_display_rotate:()=>SD,mixgo_display_image_create_new:()=>pD,mixgome_display_font:()=>aD,mixgome_display_image_create:()=>oD,mixgomini_display_image_create:()=>_D,mpython_display_hvline:()=>OD,mpython_display_line:()=>ED,mpython_display_shape_rect:()=>mD,mpython_pbm_image:()=>uD,onboard_oled_bright_point:()=>MD,onboard_oled_scroll_string_delay:()=>hD,onboard_oled_show_frame_string_delay:()=>TD,onboard_oled_show_image:()=>rD,onboard_oled_show_image_or_string_delay:()=>ID,onboard_oled_show_image_xy:()=>lD,onboard_oled_show_string:()=>dD,onboard_tft_bright_point:()=>BD,onboard_tft_bright_screen:()=>UD,onboard_tft_clear:()=>bD,onboard_tft_clock_clear:()=>JD,onboard_tft_clock_draw:()=>KD,onboard_tft_clock_get_rtctime:()=>HD,onboard_tft_clock_init:()=>kD,onboard_tft_clock_set_time:()=>WD,onboard_tft_display_hvline:()=>xD,onboard_tft_display_line:()=>XD,onboard_tft_display_shape_circle:()=>QD,onboard_tft_display_shape_rect:()=>YD,onboard_tft_fill:()=>wD,onboard_tft_get_pixel:()=>VD,onboard_tft_get_screen_pixel:()=>GD,onboard_tft_scroll_string:()=>PD,onboard_tft_scroll_string_delay:()=>vD,onboard_tft_shift:()=>yD,onboard_tft_show_frame_string:()=>fD,onboard_tft_show_frame_string_delay:()=>FD,onboard_tft_show_image:()=>LD,onboard_tft_show_image_or_string_delay:()=>DD,onboard_tft_show_image_xy:()=>ND});var it={};t.r(it),t.d(it,{factory_block:()=>nf,factory_block_return:()=>sf,factory_block_return_with_textarea:()=>_f,factory_block_with_textarea:()=>of,factory_callMethod_noreturn:()=>tf,factory_callMethod_return:()=>ef,factory_declare:()=>$D,factory_from_import:()=>zD,factory_function_noreturn:()=>jD,factory_function_return:()=>ZD,factory_import:()=>qD,folding_block:()=>af});var nt={};t.r(nt),t.d(nt,{inout_analog_atten:()=>gf,inout_analog_read:()=>hf,inout_analog_read_init:()=>cf,inout_analog_write:()=>df,inout_analog_write_init:()=>Rf,inout_analog_write_set:()=>If,inout_digital_init:()=>Of,inout_digital_read:()=>rf,inout_digital_write:()=>uf,inout_highlow:()=>pf,inout_pin_attachInterrupt:()=>mf,inout_pin_pressed:()=>Mf,inout_pin_pressed_init:()=>Cf,inout_pwm_analog_write:()=>lf,inout_pwm_analog_write_init:()=>Ef,inout_pwm_analog_write_set_freq:()=>Tf});var st={};t.r(st),t.d(st,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>wf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Gf,IOT_EMQX_PING:()=>kf,IOT_FORMATTING:()=>Vf,IOT_FORMAT_STRING:()=>Bf,IOT_MIXIO_NTP:()=>Hf,IOT_MIXIO_PUBLISH:()=>Pf,IOT_MIXIO_SUBSCRIBE:()=>vf,iot_client_onboard:()=>Wf,iot_http_client:()=>Kf,iot_http_data:()=>Jf,iot_mixio_check:()=>Xf,iot_mixio_connect:()=>Ff,iot_mixio_connect_only:()=>xf,iot_mixio_disconnect:()=>Yf,iot_mixio_format_msg:()=>yf,iot_mixio_format_topic:()=>bf,iot_mixly_key:()=>Uf,iot_mqtt_client:()=>Qf,iot_mqtt_data:()=>zf,iot_onenet_check:()=>Df,iot_onenet_connect:()=>Af,iot_onenet_disconnect:()=>Lf,iot_onenet_publish:()=>ff,iot_onenet_publish_dict:()=>Nf,iot_wifi_connect:()=>Sf});var ot={};t.r(ot),t.d(ot,{network_ap_connect:()=>sF,network_connect:()=>jf,network_get_connect:()=>$f,network_get_wifi:()=>nF,network_init:()=>qf,network_is_active:()=>iF,network_open:()=>eF,network_scan:()=>oF,network_server:()=>_F,network_socket_accept:()=>lF,network_socket_bind:()=>pF,network_socket_close:()=>MF,network_socket_connect:()=>uF,network_socket_init:()=>aF,network_socket_listen:()=>rF,network_socket_receive:()=>dF,network_socket_receive_from:()=>TF,network_socket_send:()=>IF,network_socket_send_to:()=>hF,network_stop:()=>tF,network_wifi_connect:()=>Zf,ntptime_address:()=>cF,ntptime_time:()=>RF,requests_attribute:()=>OF,requests_get:()=>mF,requests_method:()=>EF});var _t={};t.r(_t),t.d(_t,{HCSR04:()=>rP,PS2_Button:()=>IP,PS2_Buttons:()=>TP,PS2_Buttons_new:()=>gP,PS2_State:()=>hP,PS2_init:()=>lP,PS2_init_new:()=>RP,PS2_stk:()=>MP,PS2_stk_new:()=>CP,PS2_vibration:()=>dP,PS2_vibration_new:()=>cP,RTC_get_time:()=>OP,RTC_set_date:()=>fF,RTC_set_datetime:()=>mP,RTC_set_time:()=>DF,esp32_s2_weather_init:()=>_P,esp32_s2_weather_rain:()=>pP,esp32_s2_weather_wd:()=>aP,esp32_s2_weather_ws:()=>uP,extern_rfid_read:()=>QF,extern_rfid_readcontent:()=>qF,extern_rfid_readid:()=>zF,extern_rfid_status:()=>$F,extern_rfid_write:()=>jF,extern_rfid_write_return:()=>ZF,gnss_get_data:()=>LP,gnss_have_data:()=>NP,mixbot_sensor_extern_get_addr:()=>bP,mixbot_sensor_extern_set_addr:()=>yP,pm25_get_data:()=>AP,robot_button_extern_get_value:()=>DP,robot_color_extern_get_value:()=>YP,robot_infrared_extern_get_value:()=>FP,robot_infrared_extern_grey_get_value:()=>PP,robot_potentiometer_extern_get_value:()=>vP,robot_sonar_extern_get_value:()=>xP,robot_sonar_extern_led:()=>XP,robot_touch_extern_get_value:()=>fP,sensor_APDS9960_extern:()=>VF,sensor_LTR308_extern:()=>BF,sensor_LTR390UV_extern:()=>wF,sensor_MAX30102_extern:()=>yF,sensor_QMC5883L_extern:()=>kF,sensor_VL530LX_extern:()=>KF,sensor_aht11_extern:()=>WF,sensor_bmp:()=>xF,sensor_dht11:()=>EP,sensor_distance_hrsc04:()=>NF,sensor_hp203_extern:()=>GF,sensor_ltr381_extern:()=>UF,sensor_mixgo_extern_button_attachInterrupt:()=>AF,sensor_mixgo_extern_button_get_presses:()=>SF,sensor_mixgo_extern_button_is_pressed:()=>gF,sensor_mixgo_extern_button_was_pressed:()=>CF,sensor_mixgo_extern_light:()=>FF,sensor_mixgo_extern_pin_near:()=>vF,sensor_mixgo_extern_sound:()=>PF,sensor_mixgoce_hot_wheel_degrees:()=>oP,sensor_mixgoce_hot_wheel_is_touched:()=>sP,sensor_mpu9250_attachGestureInterrupt:()=>LF,sensor_rtc_init:()=>YF,sensor_sht:()=>XF,sensor_shtc3_extern:()=>HF,sensor_use_i2c_init:()=>bF,sensor_use_spi_init:()=>JF,sensor_use_uart_init:()=>SP,sensor_weather_solo_init:()=>VP,sensor_weather_solo_rain:()=>UP,sensor_weather_solo_wd:()=>BP,sensor_weather_solo_ws:()=>GP,weather_data:()=>tP,weather_have_data:()=>eP,weather_set_label:()=>nP,weather_uart_mixio:()=>iP});var at={};t.r(at),t.d(at,{HCSR04:()=>qP,bitbot_als_num:()=>TY,dht11:()=>gY,number1:()=>jP,number2:()=>ZP,number3:()=>$P,number4:()=>tv,number5:()=>ev,number6:()=>iv,number7:()=>nv,onboard_RTC_get_time:()=>Kv,onboard_RTC_get_timestamp:()=>Jv,onboard_RTC_set_datetime:()=>Hv,onboard_RTC_settime_string:()=>Wv,onboard_RTC_timestamp_totuple:()=>Qv,rfid_readcontent:()=>Ov,rfid_readid:()=>mv,rfid_write:()=>Ev,rfid_write_return:()=>Rv,sensor_LTR308:()=>dv,sensor_adxl345_get_acceleration:()=>fv,sensor_aht11:()=>hv,sensor_bitbot_ALS:()=>IY,sensor_button_get_presses:()=>mY,sensor_button_is_pressed:()=>hY,sensor_button_was_pressed:()=>MY,sensor_compass_reset:()=>Xv,sensor_ds18x20:()=>rv,sensor_eulerangles:()=>gv,sensor_get_acceleration:()=>cv,sensor_get_temperature:()=>Mv,sensor_hp203:()=>Tv,sensor_light:()=>cY,sensor_lm35:()=>lv,sensor_mixbot_get_gyro:()=>dY,sensor_mixbot_patrol_calibrate:()=>uY,sensor_mixbot_patrol_value:()=>rY,sensor_mixbot_temperature:()=>lY,sensor_mixgo_LTR308:()=>pv,sensor_mixgo_button_attachInterrupt:()=>WP,sensor_mixgo_button_get_presses:()=>HP,sensor_mixgo_button_is_pressed:()=>wP,sensor_mixgo_button_was_pressed:()=>kP,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>jv,sensor_mixgo_cc_mmc5603_get_angle:()=>qv,sensor_mixgo_cc_mmc5603_get_magnetic:()=>zv,sensor_mixgo_light:()=>RY,sensor_mixgo_nova_LTR308:()=>uv,sensor_mixgo_nova_pin_near:()=>av,sensor_mixgo_pin_near:()=>_v,sensor_mixgo_pin_near_double:()=>ov,sensor_mixgo_pin_near_single:()=>sv,sensor_mixgo_pin_pressed:()=>Nv,sensor_mixgo_touch_slide:()=>Lv,sensor_mixgocar42_button_attachInterrupt:()=>zP,sensor_mixgocar42_button_get_presses:()=>QP,sensor_mixgocar42_button_is_pressed:()=>KP,sensor_mixgocar42_button_was_pressed:()=>JP,sensor_mixgocar_battery_left:()=>pY,sensor_mixgocar_pin_near:()=>_Y,sensor_mixgocar_pin_near_line:()=>oY,sensor_mixgocar_pin_near_state_change:()=>aY,sensor_mixgoce_pin_pressed:()=>Av,sensor_mixgoce_temperature:()=>$v,sensor_mixgome_temperature:()=>Zv,sensor_mpu9250_calibrate_compass:()=>vv,sensor_mpu9250_field_strength:()=>xv,sensor_mpu9250_gesture:()=>Cv,sensor_mpu9250_get_acceleration:()=>Sv,sensor_mpu9250_get_gyro:()=>Pv,sensor_mpu9250_get_magnetic:()=>Fv,sensor_mpu9250_temperature:()=>Yv,sensor_mpython_pin_pressed:()=>Dv,sensor_mpython_qmi8658_get_gyro:()=>tY,sensor_mpython_qmi8658_temperature:()=>eY,sensor_onboard_compass_reset:()=>kv,sensor_onboard_mpu9250_calibrate_compass:()=>Gv,sensor_onboard_mpu9250_field_strength:()=>wv,sensor_onboard_mpu9250_gesture:()=>bv,sensor_onboard_mpu9250_get_acceleration:()=>yv,sensor_onboard_mpu9250_get_gyro:()=>Bv,sensor_onboard_mpu9250_get_magnetic:()=>Vv,sensor_onboard_mpu9250_temperature:()=>Uv,sensor_pin_near:()=>EY,sensor_pin_pressed:()=>OY,sensor_rm_acc:()=>sY,sensor_rm_battery_left:()=>nY,sensor_rm_pin_near_double:()=>iY,sensor_sound:()=>Iv});var pt={};t.r(pt),t.d(pt,{serial_any:()=>NY,serial_print:()=>CY,serial_print_byte:()=>SY,serial_print_hex:()=>LY,serial_println:()=>AY,serial_read_from_ai:()=>VY,serial_readline:()=>fY,serial_readstr:()=>DY,serial_send_to_ai:()=>yY,serial_softserial:()=>FY,serial_softserial_new:()=>PY,system_input:()=>vY,system_print:()=>YY,system_print_end:()=>XY,system_print_inline:()=>xY,system_print_many:()=>bY});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>qY,Timer_init:()=>lx,base_delay:()=>Tx,controls_delay:()=>ex,controls_delay_new:()=>ix,controls_end_program:()=>ZY,controls_millis:()=>jY,controls_uname:()=>tx,reset:()=>$Y,system_bitbot_shutdown:()=>rx,system_device_name:()=>QY,system_device_serial_number:()=>zY,system_event_bus_source:()=>KY,system_event_bus_value:()=>JY,system_machine_reset:()=>ux,system_on_event:()=>kY,system_raise_event:()=>wY,system_reset:()=>GY,system_run_in_background:()=>BY,system_ticks_diff:()=>ox,system_timer:()=>sx,system_timer_init:()=>_x,system_timestamp:()=>HY,system_value:()=>WY,system_wait:()=>UY,system_wdt_feed:()=>px,system_wdt_init:()=>ax,time_ticks_diff:()=>Ix,timer:()=>nx,timer2:()=>dx});var rt={};t.r(rt),t.d(rt,{WEATHER_DAILY:()=>Mx,WEATHER_HOUR:()=>mx,WEATHER_NOW:()=>hx});var lt={};t.r(lt),t.d(lt,{controls_pin_attachInterrupt:()=>Ux,inout_analog_atten:()=>fx,inout_analog_read:()=>Dx,inout_analog_read_init:()=>Xx,inout_analog_write:()=>Ax,inout_analog_write_init:()=>xx,inout_analog_write_set:()=>Lx,inout_analog_write_set_freq:()=>Vx,inout_digital_init:()=>vx,inout_digital_read:()=>Cx,inout_digital_write:()=>gx,inout_highlow:()=>cx,inout_pinMode:()=>yx,inout_pin_attachInterrupt:()=>Px,inout_pin_pressed:()=>Fx,inout_pin_pressed_init:()=>bx,inout_pwm_analog_write:()=>Sx,inout_pwm_analog_write_init:()=>Yx,inout_pwm_analog_write_set_freq:()=>Nx,pin_pressed:()=>Gx,pin_pressed_init:()=>Bx});var dt={};t.r(dt),t.d(dt,{me_g1_aht11:()=>kx,me_g1_hp203:()=>Hx,me_g1_rfid_readcontent:()=>Jx,me_g1_rfid_readid:()=>Kx,me_g1_rfid_status:()=>qx,me_g1_rfid_write:()=>Qx,me_g1_rfid_write_outcome:()=>zx,me_g1_varistor:()=>Wx});var It={};t.r(It),t.d(It,{analog_input:()=>oX,analog_output:()=>aX,espnow_channel:()=>iX,haskylens_model:()=>nX,i2c_A_pin:()=>pX,i2c_B_pin:()=>uX,pins_analog:()=>TX,pins_analog_pin:()=>hX,pins_axis:()=>vX,pins_brightness:()=>YX,pins_builtinimg:()=>AX,pins_builtinimg_extern:()=>LX,pins_button:()=>OX,pins_buttonB:()=>EX,pins_dac:()=>MX,pins_dac_pin:()=>mX,pins_digital:()=>Zx,pins_digital_dot:()=>UX,pins_digital_pin:()=>$x,pins_exlcdh:()=>FX,pins_exlcdv:()=>PX,pins_imglist:()=>NX,pins_input_pin:()=>tX,pins_one_more:()=>GX,pins_output_pin:()=>eX,pins_playlist:()=>DX,pins_playlist_extern:()=>fX,pins_pwm:()=>RX,pins_pwm_pin:()=>cX,pins_radio_datarate:()=>BX,pins_radio_power:()=>VX,pins_serial:()=>SX,pins_tone_notes:()=>yX,pins_touch:()=>CX,pins_touch_pin:()=>gX,pins_tts_bgmusic:()=>bX,pins_tts_builtin_music:()=>XX,pins_tts_voice:()=>xX,pwm_input:()=>sX,pwm_output:()=>_X,spi_A_pin:()=>rX,spi_B_pin:()=>lX,spi_C_pin:()=>dX,spi_D_pin:()=>IX});var Tt={};t.r(Tt),t.d(Tt,{inout_analog_atten:()=>ib,inout_analog_read:()=>zX,inout_analog_read_init:()=>eb,inout_analog_write:()=>KX,inout_analog_write_init:()=>tb,inout_analog_write_set:()=>JX,inout_digital_init:()=>ZX,inout_digital_read:()=>HX,inout_digital_write:()=>kX,inout_highlow:()=>wX,inout_pin_attachInterrupt:()=>jX,inout_pin_pressed:()=>qX,inout_pin_pressed_init:()=>nb,inout_pwm_analog_write:()=>WX,inout_pwm_analog_write_init:()=>$X,inout_pwm_analog_write_set_freq:()=>QX});var ht={};t.r(ht),t.d(ht,{me_g1_aht11:()=>sb,me_g1_hp203:()=>ob,me_g1_rfid_readcontent:()=>pb,me_g1_rfid_readid:()=>ab,me_g1_rfid_status:()=>lb,me_g1_rfid_write:()=>ub,me_g1_rfid_write_outcome:()=>rb,me_g1_varistor:()=>_b});var Mt={};t.r(Mt),t.d(Mt,{analog_input:()=>cb,analog_output:()=>Cb,espnow_channel:()=>Eb,haskylens_model:()=>Rb,i2c_A_pin:()=>Sb,i2c_B_pin:()=>Ab,pins_analog:()=>Pb,pins_analog_pin:()=>Fb,pins_axis:()=>Wb,pins_brightness:()=>Qb,pins_builtinimg:()=>Gb,pins_builtinimg_extern:()=>Ub,pins_button:()=>Ib,pins_buttonB:()=>Tb,pins_dac:()=>Xb,pins_dac_pin:()=>xb,pins_digital:()=>db,pins_digital_dot:()=>iy,pins_digital_pin:()=>hb,pins_exlcdh:()=>Kb,pins_exlcdv:()=>Jb,pins_imglist:()=>wb,pins_input_pin:()=>Mb,pins_interrupt:()=>Vb,pins_one_more:()=>ey,pins_output_pin:()=>mb,pins_playlist:()=>kb,pins_playlist_extern:()=>Hb,pins_pwm:()=>Yb,pins_pwm_input:()=>Ob,pins_pwm_pin:()=>vb,pins_radio_datarate:()=>ty,pins_radio_power:()=>$b,pins_serial:()=>Bb,pins_tone_notes:()=>Zb,pins_touch:()=>yb,pins_touch_pin:()=>bb,pins_tts_bgmusic:()=>jb,pins_tts_builtin_music:()=>qb,pins_tts_voice:()=>zb,pwm_output:()=>gb,spi_A_pin:()=>Lb,spi_B_pin:()=>Nb,spi_C_pin:()=>Db,spi_D_pin:()=>fb});const mt=Blockly,Ot=Mixly,Et={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Rt=Et; /** * @license * Visual Blocks Editor @@ -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=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 ee={init:function(){this.setColour(te),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},ie={init:function(){this.setColour(te);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]}))}},ne={init:function(){this.setColour(te);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]}))}},se={init:function(){this.setColour(te),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]}))}},oe={init:function(){this.setColour(te),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]}))}},_e={init:function(){this.setColour(te),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ae={init:function(){this.setColour(te),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]}))}},pe={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(te),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]}))}},ue={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(te),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]}))}},re={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(te),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]}))}},le={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(te),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]}))}},de={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(te),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]}))}},Ie={init:function(){this.setColour(te),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)}},Te={init:function(){this.setColour(te),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)}},he={init:function(){this.setColour(te),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)}},Me={init:function(){this.setColour(te),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)}},me={init:function(){this.setColour(te),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)}},Oe={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(te),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]}))}},Ee={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(te),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]}))}},Re=Te,ce=160,ge={init:function(){this.setColour(ce),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,'"')}},Ce={init:function(){this.setColour(ce),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 Se={init:function(){this.setColour(ce),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,'"')}},Ae={init:function(){this.setColour(ce),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)}},Le={init:function(){this.setColour(ce),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ne={init:function(){this.setColour(ce),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},De={init:function(){this.setColour(ce),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},fe={init:function(){this.setColour(ce),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Fe={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(ce),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)}},Pe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ce),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)}},ve={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ce),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(ce),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"))}},xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ce),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)}},Xe={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ce),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},be={init:function(){this.setColour(ce),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)}},ye={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(ce),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]}))}},Ve={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ce),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)}},Be={init:function(){this.setColour(ce),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)}},Ge={init:function(){this.setColour(ce),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)}},Ue={init:function(){this.setColour(ce),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)}},we={init:function(){this.setColour(ce),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)}},ke={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ce),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]}))}},He={init:function(){this.setColour(ce),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")}},Gi={init:function(){this.setColour(Vi),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ui={init:function(){this.setColour(Vi),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}},wi={init:function(){this.setColour(Vi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ki={init:function(){this.setColour(Vi),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)}},Hi={init:function(){this.setColour(Vi),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)}},Wi={init:function(){this.setColour(Vi),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)}},Ki={init:function(){this.setColour(Vi),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(Vi),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)}},Qi={init:function(){this.setColour(Vi),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)}},zi={init:function(){this.setColour(Vi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},qi={init:function(){this.setColour(Vi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},ji={init:function(){this.setColour(Vi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Zi={init:function(){this.setColour(Vi),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)}},$i={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(Vi),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")}},tn={init:function(){this.setColour(Vi),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)}},en={init:function(){this.setColour(Vi),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)}},nn={init:function(){this.setColour(Vi),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")}},sn={init:function(){this.setColour(Vi),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},on={init:function(){this.setColour(Vi),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)}},_n={init:function(){this.setColour(Vi),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)}},an=210,pn={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(an),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]}},un={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(an),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)}},rn={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(an),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]}))}},ln={init:function(){this.setColour(an),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},dn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(an),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},In={init:function(){this.setColour(an),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},Tn={init:function(){this.setColour(an),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)}},hn={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(an),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)}},Mn={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(an),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)}},mn={init:function(){this.setColour(an),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},On={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)}},En={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")}},Rn={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+_}))}},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.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+_}))}},gn={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)}},Cn={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)}},Sn={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}))}},An={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)}},Ln={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)}},Nn={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)}},Dn={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)}},fn={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 Fn={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)}},Pn={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)}},vn={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}))}},xn={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)}},Xn={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]}))}},bn={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)}},yn={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)}},Vn={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]}))}},Bn={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)}},Gn={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()}},Un={};Un.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Un.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)}},bs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ys={init:function(){this.setColour(Fs),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)}},Vs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us=160,ws={init:function(){this.setColour(Us),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},ks={init:function(){this.setColour(Us),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},Hs={init:function(){this.setColour(Us),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Ws={init:function(){this.setColour(Us),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Ks={init:function(){this.setColour(Us),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(Us),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Qs={init:function(){this.setColour(Us),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 Da=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]},fa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Fa=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Pa=function(t,e){return["None",e.ORDER_ATOMIC]},va=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]},Ya=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]},xa=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]},Xa=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},ba=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ya=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Va=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ba=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ga=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ua=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},wa=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]},ka=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ha=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Wa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Ka=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ja=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Qa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},za=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ja=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"},Za=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},$a=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},tp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ep=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"},ip=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]},np=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"},sp=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"},op=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]},Bp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Gp=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},Up=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},wp=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},kp=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Hp=function(t,e){return'"},Wp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Kp=function(){return this.getFieldValue("TEXT")+"\n"},Jp=function(t){return t.getFieldValue("TEXT")+"\n"},Qp=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},zp=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},qp=function(){return""},jp=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Zp=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=mt.utils.string.wrap(o,tu.COMMENT_WRAP-3),n+=tu.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+a+" + "+s+")":s<0?"int("+a+" - "+-s+")":"int("+a+")",n&&(a="-"+a)),a};const eu="#74A55B",iu={init:function(){this.setColour(eu),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)}},nu={init:function(){this.setColour(eu),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)}},su={init:function(){this.setColour(eu),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)}},ou={init:function(){this.setColour(eu),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)}},_u={init:function(){this.setColour(eu),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)}},au={init:function(){this.setColour(eu),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)}},pu={init:function(){this.setColour(eu),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)}},uu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ru={init:function(){this.setColour(eu),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)}},lu={init:function(){this.setColour(eu),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)}},du={init:function(){this.setColour(eu),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)}},Iu={init:function(){this.setColour(eu),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)}},Tu={init:function(){this.setColour(eu),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)}},hu={init:function(){this.setColour(eu),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)}},Mu={init:function(){this.setColour(eu),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)}},mu={init:function(){this.setColour(eu),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)}},Ou={init:function(){this.setColour(eu),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)}},Eu={init:function(){this.setColour(eu),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)}},Ru={init:function(){this.setColour(eu),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)}},cu={init:function(){this.setColour(eu),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通信")}},gu={init:function(){this.setColour(eu),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)")}},Cu={init:function(){this.setColour(eu),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)")}},Su={init:function(){this.setColour(eu),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)}},Au={init:function(){this.setColour(eu),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)}},Lu={init:function(){this.setColour(eu),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)}},Nu={init:function(){this.setColour(eu),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)}},Du={init:function(){this.setColour(eu),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")}},fu={init:function(){this.setColour(eu),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)}},Fu={init:function(){this.setColour(eu),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)}},Pu={init:function(){this.setColour(eu),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)}},vu={init:function(){this.setColour(eu),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)}},Yu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},xu={init:function(){this.setColour(eu),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)}},Xu={init:function(){this.setColour(eu),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)}},bu={init:function(){this.setColour(eu),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)}},yu={init:function(){this.setColour(eu),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)}},Vu={init:function(){this.setColour(eu),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)}},Bu={init:function(){this.setColour(eu),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)}},Gu={init:function(){this.setColour(eu),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)}},Uu={init:function(){this.setColour(eu),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)}},wu={init:function(){this.setColour(eu),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)}},ku={init:function(){this.setColour(eu),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)}},Hu={init:function(){this.setColour(eu),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)}},Wu={init:function(){this.setColour(eu),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)}},Ku={init:function(){this.setColour(eu),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)}},Ju={init:function(){this.setColour(eu),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)}},Qu="#6C9858",zu={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},qu={init:function(){this.setColour(Qu),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)}},ju={init:function(){this.setColour(Qu),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)}},Zu={init:function(){this.setColour(Qu),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)}},$u={init:function(){this.setColour(Qu),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)}},tr={init:function(){this.setColour(Qu),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%)")}},er={init:function(){this.setColour(Qu),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_OFF,"0"],[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()}},ir={init:function(){this.setColour(Qu),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)}},nr={init:function(){this.setColour(Qu),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)}},sr={init:function(){this.setColour(Qu),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)}},or={init:function(){this.setColour(Qu),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)")}},_r={init:function(){this.setColour(Qu),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},ar={init:function(){this.setColour(Qu),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)}}},pr={init:function(){this.setColour(Qu),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)}},ur={init:function(){this.setColour(Qu),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("")}},rr={init:function(){this.setColour(Qu),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("")}},lr={init:function(){this.setColour(Qu),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)}},dr={init:function(){this.setColour(Qu),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)}}},Ir={init:function(){this.setColour(Qu),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)}},Tr={init:function(){this.setColour(Qu),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("")}},hr={init:function(){this.setColour(Qu),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)}},Mr={init:function(){this.setColour(Qu),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)}},mr={init:function(){this.setColour(Qu),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)}},Or={init:function(){this.setColour(Qu),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)}},Er={init:function(){this.setColour(Qu),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)}},Rr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(Qu),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)}},gr={init:function(){this.setColour(Qu),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)}},Cr={init:function(){this.setColour(Qu),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)}},Sr={init:function(){this.setColour(Qu),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("")}},Ar={init:function(){this.setColour(Qu),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)}},Lr={init:function(){this.setColour(Qu),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)}},Nr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Dr={init:function(){this.setColour(Qu),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)}},fr={init:function(){this.setColour(Qu),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)}},Fr={init:function(){this.setColour(Qu),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)}},Pr={init:function(){this.setColour(Qu),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)}},vr={init:function(){this.setColour(Qu),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)}},Yr={init:function(){this.setColour(Qu),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)}},xr={init:function(){this.setColour(Qu),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)}},Xr={init:function(){this.setColour(Qu),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)}},br={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},yr={init:function(){this.setColour(Qu),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)}},Vr={init:function(){this.setColour(Qu),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)}},Br={init:function(){this.setColour(Qu),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)}},Gr={init:function(){this.setColour(Qu),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)}},Ur={init:function(){this.setColour(Qu),this.appendValueInput("PATH").appendField(mt.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(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)}},kr={init:function(){this.setColour(Qu),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hr={init:function(){this.setColour(Qu),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()}},Wr={init:function(){this.setColour(Qu),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)}},Kr={init:function(){this.setColour(Qu),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)}},Jr="#90A244",Qr={init:function(){this.setColour(Jr),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+"MixGo AI"+mt.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},zr={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},qr={init:function(){this.setColour(Jr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT,"qrcode"],[mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT,"barcode"],[mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},jr={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},Zr={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField(mt.Msg.SOFT_RESET+mt.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},$r={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(mt.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},tl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},el={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},il={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},nl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LINE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LINE_ANGLE,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},ol={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},_l={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_CIRCLE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},al={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},pl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_RECT+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},ul={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["RGB"+mt.Msg.HTML_COLOUR,"[0]"],["LAB"+mt.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},ll={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_COLOR_CHASE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},Il={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+mt.Msg.MIXLY_COLOR_LAB).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Tl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_TRAIN_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},hl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Ml={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LOCAL_CLASS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},ml={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Ol={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MP3_VOL).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},El={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ANCHOR).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Rl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},cl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setAlign(mt.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},gl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LICENSEPLATE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},Cl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},Sl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_FACE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Al={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Ll={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_20OBJECTS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Nl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Dl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AipSpeech_asr,"ASR"],[mt.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AI_UNIT).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(mt.Msg.OLED_STRING).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},Fl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AipSpeech_asr).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LANGUAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[mt.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[mt.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Pl="#2FAD7A",vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},xl={init:function(){this.jsonInit({inputsInline:!0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Xl={init:function(){this.jsonInit({inputsInline:!0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Gl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Ul={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},wl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},kl={init:function(){this.jsonInit({message0:mt.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[mt.Msg.MIXLY_PYTHON_PERIODIC,"False"],[mt.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},Wl={init:function(){this.jsonInit({inputsInline:!0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Kl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Jl={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+" CC_G1"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);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]}))}},Ql={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_BATTERY),this.setOutput(!0,Number),this.setInputsInline(!0)}},zl={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_JOYSTICK).appendField(new mt.FieldDropdown([["x","[0]"],["y","[1]"],["(x,y)",""]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},ql={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_BUTTON).appendField(new mt.FieldDropdown([["A","0"],["B","1"],["C","2"],["D","3"],["POWER","4"],["SELECT","5"]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.WHETHER_IS_PRESSED),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_HANDLE_SHUTDOWN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zl=100,$l={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[mt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)}},ed={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},id={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},nd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)")}},sd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField("ME GO").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)}},od={init:function(){this.setColour(Zl),this.appendDummyInput().appendField("ME GO").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)}},_d={init:function(){this.setColour(Zl),this.appendDummyInput().appendField("ME GO").appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[mt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.ROTATION_FORWARD,"CW"],[mt.Msg.ROTATION_BACKWARD,"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)}},ad={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_INTERRUPT).appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pd={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ud={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},rd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},ld={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT,"[0]"],[mt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[mt.Msg.MIXGO_LEFT_BACK,"[3]"],[mt.Msg.MIXGO_RIGHT_BACK,"[2]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},dd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[mt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[mt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[mt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Id={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.ME_GO_PITCH,"[0]"],[mt.Msg.ME_GO_ROLL,"[1]"],[mt.Msg.ME_GO_PITCH+", "+mt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Td={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hd=140,Md={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},md={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Od={init:function(){this.setColour(hd),this.appendValueInput("SUB").appendField("I2C "+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_INIT)}},Ed={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Rd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},cd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_I2C_SCAN1+mt.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_SCAN)}},gd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},Cd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_SET)}},Sd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SET+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},Ad={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ)}},Ld={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE+" "+mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},Nd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO)}},Dd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},fd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE)}},Fd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},Pd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},vd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ+mt.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Yd={init:function(){this.setColour(hd),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+mt.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_INIT)}},Xd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SCAN)}},bd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_READ)}},yd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.LANG_MATH_STRING,"write"],[mt.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_WRITE)}},Vd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SELECT)}},Bd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_RESET)}},Gd={init:function(){this.setColour(hd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_INPUT1,"8"],[mt.Msg.MIXLY_IR_INPUT2,"16"],[mt.Msg.MIXLY_IR_INPUT3,"0"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_CMD_CODE,"0"],[mt.Msg.MIXLY_IR_ADDR_CODE,"1"],[mt.Msg.MIXLY_IR_RAW_CODE,"2"],[mt.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN).appendField(new mt.FieldDropdown([[mt.Msg.MILY_PAUSE,"True"],[mt.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(hd),this.appendValueInput("time").appendField(mt.Msg.MIXlY_RECV_FUN).appendField(mt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(hd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_SEND).appendField(mt.Msg.MIXLY_PIN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_SEND_samsung1,"False"],[mt.Msg.MIXLY_IR_SEND_samsung2,"True"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(mt.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(mt.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(mt.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},Jd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_IR_PULSE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(mt.Msg.MIXLY_IR_RAW_CODE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},qd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN+mt.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TEXT_JOIN+mt.Msg.MSG.catBLE).appendField(new mt.FieldDropdown([[mt.Msg.HTML_NAME,"name"],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(mt.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},_I={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},uI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},rI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},lI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new mt.FieldDropdown([["("+mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+mt.Msg.OLED_STRING+")",""],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[mt.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},dI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},II={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MP_ESPNOW_RADIO+mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},MI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},mI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},OI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},EI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},RI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},cI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},gI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},CI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},SI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},AI={init:function(){this.setColour(hd),this.appendValueInput("SUB").appendField("Lora"+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(mt.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(mt.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(mt.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(mt.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new mt.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_LORA_INIT_TOOLTIP)}},LI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_PACKAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[mt.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},NI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},DI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},fI={init:function(){this.setColour(hd),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")}},FI={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(hd),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]}))}},PI={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(hd),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},vI=Od,YI=Ed,xI=Rd,XI=cd,bI=gd,yI=Cd,VI=Sd,BI=Ad,GI=Ld,UI=Nd,wI=Dd,kI=fd,HI=Fd,WI=Pd,KI=vd,JI=120;({init:function(){this.setColour(JI),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(JI);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const QI="5BA5A5",zI={init:function(){this.setColour(QI),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},jI={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},ZI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$I={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},tT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iT={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},nT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},sT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},_T={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},aT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},pT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new mt.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},uT={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},rT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(QI),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},lT={init:function(){this.setColour(QI),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.appendValueInput("row").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},dT={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.OLEDDISPLAY+mt.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(QI),this.setTooltip(mt.Msg.MIXLY_DF_LCD+mt.Msg.OLEDDISPLAY+mt.Msg.MIXLY_MICROBIT_TYPE_STRING)}},IT={init:function(){var t=[[mt.Msg.MIXLY_HEIGHT,"height"],[mt.Msg.MIXLY_WIDTH,"width"]];this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE+{height:mt.Msg.MIXLY_HEIGHT,width:mt.Msg.MIXLY_WIDTH}[t]}))}},TT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(QI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RECT).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_OLED_RECT)}},hT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_DISPLAY_DRAW).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_DISPLAY_RLINE,"hline"],[mt.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE)}},MT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},mT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},OT={init:function(){this.setColour(QI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},ET={init:function(){this.setColour(QI),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B)}},RT={init:function(){this.setColour(QI),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"ON"],[mt.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},cT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},gT={init:function(){this.setColour(QI),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new mt.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},CT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(QI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},ST={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(QI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},AT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(mt.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},LT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(mt.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(mt.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(mt.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_SHOW_BMP_TOOLTIP)}},NT={init:function(){this.setColour(QI),this.appendValueInput("VAR").appendField(mt.Msg.OLED),this.appendDummyInput("").appendField(mt.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(mt.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(mt.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_DRAW_PIXE_TOOLTIP)}},DT={init:function(){this.setColour(QI),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},fT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ON,"on"],[mt.Msg.MIXLY_OFF,"off"],[mt.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},FT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},PT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},vT={init:function(){this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},YT={init:function(){this.setColour(QI),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+mt.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.blockpy_turtle_rotate).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_NO,"0"],[mt.Msg.ANTI_CLOCKWISE+"90°","1"],[mt.Msg.ANTI_CLOCKWISE+"180°","2"],[mt.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},XT={init:function(){this.setColour(QI);let t=new mt.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},bT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},yT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},VT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catTFT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},GT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},UT={init:function(){this.setColour(QI),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},wT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},kT={init:function(){this.setColour(QI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_SERIAL_PRINT+mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.appendDummyInput().appendField(mt.Msg.TFT_Brightness).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:mt.Msg.MIXLY_MICROBIT_Turn_on_display,0:mt.Msg.MIXLY_MICROBIT_Turn_off_display};return mt.Msg.MSG.catLCD+mt.Msg.TFT_Brightness+i[e]}))}},WT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.setColour(QI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},KT={init:function(){this.setColour(QI),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},JT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},QT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},zT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},qT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},jT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZT={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},$T={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},th={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eh={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},ih={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},nh={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},sh={init:function(){this.setColour(QI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},oh={init:function(){this.jsonInit({colour:QI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},_h={init:function(){this.jsonInit({colour:QI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},ah={init:function(){this.jsonInit({colour:QI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},ph="#569A98",uh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Ot.Boards.getSelectedBoardKey()&&this.setTooltip(mt.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},rh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ih={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Th={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ph),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Mh={init:function(){this.jsonInit({colour:ph,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},mh={init:function(){this.jsonInit({colour:ph,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},Oh={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(ph),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},Eh={init:function(){this.setColour(ph),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Rh={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(ph),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:mt.Msg.MIXLY_UP,shift_down:mt.Msg.MIXLY_DOWN,shift_left:mt.Msg.MIXLY_LEFT,shift_right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},ch={init:function(){this.setColour(ph),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},gh={init:function(){this.setColour(ph),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Ch={init:function(){this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Sh={init:function(){this.setColour(ph),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Ah={init:function(){this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},Lh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ph),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Nh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ph),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Dh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(ph),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},fh={init:function(){var t=[["4x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+mt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.OLED_SET_FONT).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(ph),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Ph={init:function(){this.setColour(ph),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},vh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Yh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},xh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Xh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.setColour(ph),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},yh={init:function(){this.jsonInit({colour:ph,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Vh={init:function(){this.jsonInit({colour:ph,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Bh={init:function(){this.jsonInit({colour:ph,args0:[{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Gh={init:function(){this.jsonInit({colour:ph,args0:[{type:"field_label",name:"size_image",text:mt.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},Uh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ph),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},wh={init:function(){this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},kh={init:function(){this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Hh={init:function(){this.setColour(ph),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Wh={init:function(){var t=[[mt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[mt.Msg.CLOCKWISE+"90"+mt.Msg.blockpy_setheading_degree,"1"],[mt.Msg.CLOCKWISE+"180"+mt.Msg.blockpy_setheading_degree,"2"],[mt.Msg.CLOCKWISE+"270"+mt.Msg.blockpy_setheading_degree,"3"]];this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ph),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Jh={init:function(){this.setColour(ph),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Qh={init:function(){this.setColour(ph),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},zh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},qh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Zh={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$h={init:function(){this.setColour(ph),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tM={init:function(){this.jsonInit({colour:ph,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},eM={init:function(){this.jsonInit({colour:ph,args0:[{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},iM={init:function(){this.jsonInit({colour:ph,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},nM={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(ph),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},sM={init:function(){this.setColour(ph),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},oM={init:function(){this.setColour(ph),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},_M={init:function(){this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},aM={init:function(){this.setColour(ph),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},pM={init:function(){this.setColour(ph),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},uM={init:function(){this.setColour(ph),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rM={init:function(){this.setColour(ph),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(mt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lM={init:function(){this.setColour(ph),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dM={init:function(){this.setColour(ph),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(mt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(mt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(mt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IM={init:function(){this.setColour(ph),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TM={init:function(){this.setColour(ph),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hM={init:function(){this.jsonInit({colour:ph,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},MM="#777777",mM={init:function(){this.setColour(MM),this.appendDummyInput("").appendField("from ").appendField(new mt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new mt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OM={init:function(){this.setColour(MM),this.appendDummyInput("").appendField("import ").appendField(new mt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EM={init:function(){this.setColour(MM),this.appendDummyInput("").appendField(new mt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},_m={init:function(){this.setColour($M),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},am={init:function(){this.setColour($M),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}},pm={init:function(){this.setColour($M),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}},um={init:function(){this.setColour($M),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)}},rm={init:function(){this.setColour($M),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)}},lm={init:function(){this.setColour($M),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)}},dm={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Im={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tm={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour($M),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Mm={init:function(){this.setColour($M),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},mm={init:function(){this.setColour($M),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Om={init:function(){this.setColour($M),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Em={init:function(){this.setColour($M),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)}},Rm={init:function(){this.setColour($M),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)}},cm={init:function(){this.setColour($M),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)}},gm={init:function(){this.setColour($M),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)}},Cm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour($M),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")}},Sm={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Am={init:function(){this.setColour($M),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)}},Lm={init:function(){this.setColour($M),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)}},Nm={init:function(){this.setColour($M),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)}},Dm={init:function(){this.setColour($M),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)}},fm=tm,Fm=em,Pm=im,vm=nm,Ym=om,xm=225,Xm={init:function(){this.setColour(xm),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)}},bm={init:function(){this.setColour(xm),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}))}},ym={init:function(){this.setColour(xm),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)}},Vm={init:function(){this.setColour(xm),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}))}},Bm={init:function(){this.setColour(xm),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)}},Gm={init:function(){this.setColour(xm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Um={init:function(){this.setColour(xm),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]}))}},wm={init:function(){this.setColour(xm),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)}},km={init:function(){this.setColour(xm),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)}},Hm={init:function(){this.setColour(xm),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)}},Wm={init:function(){this.setColour(xm),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)}},Km={init:function(){this.setColour(xm),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]}))}},Jm={init:function(){this.setColour(xm),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)}},Qm={init:function(){this.setColour(xm),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)}},zm={init:function(){this.setColour(xm),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)}},qm={init:function(){this.setColour(xm),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)}},jm={init:function(){this.setColour(xm),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)}},Zm={init:function(){this.setColour(xm),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)}},$m={init:function(){this.setColour(xm),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)}},tO={init:function(){this.setColour(xm),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)}},eO={init:function(){this.setColour(xm),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)}},iO={init:function(){this.setColour(xm),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")}},nO={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(xm),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]}))}},sO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(xm),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]}))}},oO={init:function(){this.setColour(xm),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)}},_O={init:function(){this.setColour(xm),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)}},aO="#A58C5B",pO={init:function(){this.setColour(aO),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)}},uO={init:function(){this.setColour(aO),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)}},rO={init:function(){this.setColour(aO),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)}},lO={init:function(){this.setColour(aO),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)}},dO={init:function(){this.setColour(aO),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}))}},IO={init:function(){this.setColour(aO),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}))}},TO={init:function(){this.setColour(aO),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)}},hO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(aO),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]}))}},MO={init:function(){this.setColour(aO),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)}},mO={init:function(){this.setColour(aO),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)}},OO={init:function(){this.setColour(aO),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}))}},EO={init:function(){this.setColour(aO),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]}))}},RO={init:function(){this.setColour(aO),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]}))}},cO={init:function(){this.setColour(aO),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)}},gO={init:function(){this.setColour(aO),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)}},CO={init:function(){this.setColour(aO),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"],["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")}},SO={init:function(){this.setColour(aO),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)}},AO={init:function(){this.setColour(aO),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)}},LO={init:function(){this.setColour(aO),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)}},NO={init:function(){this.setColour(aO),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)}},DO={init:function(){this.setColour(aO),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)}},fO={init:function(){this.setColour(aO),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)}},FO={init:function(){this.setColour(aO),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]}))}},PO={init:function(){this.setColour(aO),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]}))}},vO={init:function(){this.setColour(aO),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)}},YO={init:function(){this.setColour(aO),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)}},xO={init:function(){this.setColour(aO),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}))}},XO={init:function(){this.setColour(aO),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}))}},bO={init:function(){this.setColour(aO),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}))}},yO={init:function(){this.setColour(aO),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}))}},VO={init:function(){this.setColour(aO),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)}},BO={init:function(){this.setColour(aO),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)}},GO={init:function(){this.setColour(aO),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]}))}},UO={init:function(){this.setColour(aO),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)}},wO={init:function(){this.setColour(aO),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")}},kO={init:function(){this.setColour(aO),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)}},HO={init:function(){this.setColour(aO),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)}},WO={init:function(){this.setColour(aO),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)}},KO={init:function(){this.setColour(aO),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)}},JO={init:function(){this.setColour(aO),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)}},QO={init:function(){this.setColour(aO),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)}},zO={init:function(){this.setColour(aO),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)")}},qO={init:function(){this.setColour(aO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},jO={init:function(){this.setColour(aO),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)}},ZO={init:function(){this.setColour(aO),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},DL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},fL=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"},FL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},PL=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"},vL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YL=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"},xL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},XL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},bL=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]},yL=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"},VL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},BL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},GL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},UL=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]},wL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},kL=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"},HL=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"},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_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"},KL=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"}},JL=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"},QL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},zL=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"},jL=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",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"}},$L=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"}},tN=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"},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_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},iN=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},nN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},sN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},oN=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"},_N=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},aN=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"},pN=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},uN=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]},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,"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},lN=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},dN=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},IN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},TN=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},hN=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"},MN=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"},mN=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"},ON=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},EN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},RN=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"},cN=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"},gN=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"},SN=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"},AN=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"},LN=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"},NN=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"},DN=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"},fN=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"},FN=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"},PN=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]},vN=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"},YN=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"},xN=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"},XN=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"},bN=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"},yN=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")},VN=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},BN=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"},GN=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},UN=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"},wN=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]},kN=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]},HN=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},gD=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},CD=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"},SD=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},AD=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"},LD=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},ND=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},DD=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},fD=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},FD=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"},PD=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"},vD=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]},YD=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 _},xD=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]},XD=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"},bD=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},yD=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},VD=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"},BD=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"},GD=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"},UD=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},wD=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},kD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},HD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},WD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},xY=function(){return"control.reset()\n"},XY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},bY=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"},yY=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"},VY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},BY=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},GY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},UY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},wY=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},kY=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},HY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},WY=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]}},KY=function(){return"while True:\n pass\n"},JY=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},QY=function(t,e){return e.definitions_.import_os="import os","os.uname()"},zY=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"}},qY=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"}},jY=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"},ZY=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"},$Y=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"},ex=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},ix=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},nx=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},sx=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},ox=tx,_x=ZY,ax=$Y,px=zY,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]},rx=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]},lx=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]},dx={};dx["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"]]},dx["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"]]},dx["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"]]},dx["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 Ix=dx,Tx=20,hx={init:function(){this.setColour(Tx),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)}},Mx={init:function(){this.setColour(Tx),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)}},mx={init:function(){this.setColour(Tx),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)}},Ox={init:function(){this.setColour(Tx),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)}},Ex={init:function(){this.setColour(Tx),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)}},Rx={init:function(){this.setColour(Tx),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)}},cx={init:function(){this.setColour(Tx),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)}},gx={init:function(){this.setColour(Tx),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)}},Cx={init:function(){this.setColour(Tx),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)}},Sx={init:function(){this.setColour(Tx),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)}},Ax={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)}},Lx={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")}},Nx={init:function(){this.setColour(Tx),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")}},Dx={init:function(){this.setColour(Tx),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")}},fx={init:function(){this.setColour(Tx),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")}},Fx={init:function(){this.setColour(Tx),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")}},Px=Lx,vx=cx,Yx=Fx,xx=Sx,Xx=Ax,bx=40,yx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),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]}))}},Vx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),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)}},Bx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Gx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),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)}},Ux={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),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)}},wx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),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)}},kx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),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)}},Hx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(bx),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)}},Wx=230,Kx={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},Jx={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Qx={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},zx={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},qx={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},jx={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Zx={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},$x={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},tX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},eX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},iX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},nX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},sX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},oX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},_X={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},aX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},pX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},uX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},rX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},lX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},dX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},IX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},TX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},hX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},MX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},mX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},OX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},EX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},RX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},cX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},gX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},CX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},SX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},AX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},LX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},NX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},DX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},fX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},FX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},PX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},vX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},YX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},xX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},XX={init:function(){this.setColour(Wx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},bX=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},yX=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"},VX=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},BX=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"},GX=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"},UX=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"},wX=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"},kX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},HX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},WX=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"},KX=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"},JX=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"},QX=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"},zX=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"},qX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},jX=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"},ZX=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]},$X=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]},tb=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},eb=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},ib=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]},nb=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"},sb=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]},ob=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]},_b=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},ab=_b,pb=_b,ub=_b,rb=_b,lb=_b,db=_b,Ib=_b,Tb=_b,hb=_b,Mb=_b,mb=_b,Ob=_b,Eb=_b,Rb=_b,cb=_b,gb=_b,Cb=_b,Sb=_b,Ab=_b,Lb=_b,Nb=_b,Db=_b,fb=_b,Fb=_b,Pb=_b,vb=_b,Yb=_b,xb=_b,Xb=_b,bb=_b,yb=_b,Vb=_b,Bb=_b,Gb=_b,Ub=_b,wb=_b,kb=_b,Hb=_b,Wb=_b,Kb=_b,Jb=_b,Qb=_b,zb=_b,qb=_b;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,wn),mt.Python=tu,mt.generator=tu,Ot.Profile.default={},Object.assign(Ot.Profile,Ix),Object.assign(Ot.Profile.default,Ix["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,z,J,K,et,tt,it,q,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)}},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=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 se={init:function(){this.setColour(ne),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},oe={init:function(){this.setColour(ne);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]}))}},_e={init:function(){this.setColour(ne);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(ne),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]}))}},pe={init:function(){this.setColour(ne),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]}))}},ue={init:function(){this.setColour(ne),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},re={init:function(){this.setColour(ne),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]}))}},le={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(ne),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]}))}},de={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(ne),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]}))}},Ie={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(ne),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]}))}},Te={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(ne),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]}))}},he={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(ne),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(ne),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)}},me={init:function(){this.setColour(ne),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)}},Oe={init:function(){this.setColour(ne),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)}},Ee={init:function(){this.setColour(ne),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)}},Re={init:function(){this.setColour(ne),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)}},ce={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(ne),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]}))}},ge={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(ne),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]}))}},Ce=me,Se=160,Ae={init:function(){this.setColour(Se),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,'"')}},Le={init:function(){this.setColour(Se),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 Ne={init:function(){this.setColour(Se),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,'"')}},De={init:function(){this.setColour(Se),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(Se),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Fe={init:function(){this.setColour(Se),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Pe={init:function(){this.setColour(Se),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ve={init:function(){this.setColour(Se),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ye={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(Se),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(Se),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)}},Xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Se),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(mt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(mt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},be={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(Se),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"))}},ye={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Se),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)}},Ve={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Se),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Be={init:function(){this.setColour(Se),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)}},Ge={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(Se),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]}))}},Ue={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Se),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)}},we={init:function(){this.setColour(Se),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)}},ke={init:function(){this.setColour(Se),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)}},He={init:function(){this.setColour(Se),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)}},We={init:function(){this.setColour(Se),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)}},Ke={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Se),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]}))}},Je={init:function(){this.setColour(Se),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")}},ki={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Hi={init:function(){this.setColour(Ui),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}},Wi={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ki={init:function(){this.setColour(Ui),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)}},Ji={init:function(){this.setColour(Ui),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(Ui),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(Ui),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)}},qi={init:function(){this.setColour(Ui),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)}},ji={init:function(){this.setColour(Ui),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)}},Zi={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},$i={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},tn={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},en={init:function(){this.setColour(Ui),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)}},nn={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(Ui),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")}},sn={init:function(){this.setColour(Ui),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)}},on={init:function(){this.setColour(Ui),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)}},_n={init:function(){this.setColour(Ui),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(Ui),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},pn={init:function(){this.setColour(Ui),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)}},un={init:function(){this.setColour(Ui),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)}},rn=210,ln={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(rn),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]}},dn={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(rn),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)}},In={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(rn),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]}))}},Tn={init:function(){this.setColour(rn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},hn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(rn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Mn={init:function(){this.setColour(rn),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},mn={init:function(){this.setColour(rn),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)}},On={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(rn),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)}},En={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(rn),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)}},Rn={init:function(){this.setColour(rn),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},cn={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)}},gn={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")}},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.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+_}))}},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.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+_}))}},An={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)}},Ln={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)}},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_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}))}},Dn={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)}},Fn={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)}},Pn={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)}},vn={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 Yn={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)}},Xn={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)}},bn={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}))}},yn={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)}},Vn={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]}))}},Bn={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)}},Gn={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)}},Un={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]}))}},wn={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)}},kn={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()}},Hn={};Hn.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Hn.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)}},Bs={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Gs={init:function(){this.setColour(Ys),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)}},Us={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs=160,Ws={init:function(){this.setColour(Hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},Ks={init:function(){this.setColour(Hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},Js={init:function(){this.setColour(Hs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Qs={init:function(){this.setColour(Hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},zs={init:function(){this.setColour(Hs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new mt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},qs={init:function(){this.setColour(Hs),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},js={init:function(){this.setColour(Hs),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 xa=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]},Xa=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},ba=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ya=function(t,e){return["None",e.ORDER_ATOMIC]},Va=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]},Ba=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]},Ga=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]},Ua=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},wa=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ka=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ha=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Wa=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Ka=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ja=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Qa=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]},za=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},qa=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},ja=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Za=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},$a=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},tp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ep=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ip=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},np=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"},sp=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},op=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},_p=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ap=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"},pp=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]},up=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"},rp=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"},lp=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]},Wp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Kp=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},Jp=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Qp=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},zp=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},qp=function(t,e){return'"},jp=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zp=function(){return this.getFieldValue("TEXT")+"\n"},$p=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=mt.utils.string.wrap(o,_u.COMMENT_WRAP-3),n+=_u.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+a+" + "+s+")":s<0?"int("+a+" - "+-s+")":"int("+a+")",n&&(a="-"+a)),a};const au="#74A55B",pu={init:function(){this.setColour(au),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)}},uu={init:function(){this.setColour(au),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)}},ru={init:function(){this.setColour(au),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)}},lu={init:function(){this.setColour(au),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)}},du={init:function(){this.setColour(au),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)}},Iu={init:function(){this.setColour(au),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)}},Tu={init:function(){this.setColour(au),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)}},hu={init:function(){this.setColour(au),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mu={init:function(){this.setColour(au),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)}},mu={init:function(){this.setColour(au),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)}},Ou={init:function(){this.setColour(au),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)}},Eu={init:function(){this.setColour(au),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)}},Ru={init:function(){this.setColour(au),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(au),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)}},gu={init:function(){this.setColour(au),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)}},Cu={init:function(){this.setColour(au),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)}},Su={init:function(){this.setColour(au),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)}},Au={init:function(){this.setColour(au),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)}},Lu={init:function(){this.setColour(au),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)}},Nu={init:function(){this.setColour(au),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通信")}},Du={init:function(){this.setColour(au),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)")}},fu={init:function(){this.setColour(au),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)")}},Fu={init:function(){this.setColour(au),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)}},Pu={init:function(){this.setColour(au),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)}},vu={init:function(){this.setColour(au),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)}},Yu={init:function(){this.setColour(au),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)}},xu={init:function(){this.setColour(au),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")}},Xu={init:function(){this.setColour(au),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)}},bu={init:function(){this.setColour(au),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)}},yu={init:function(){this.setColour(au),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)}},Vu={init:function(){this.setColour(au),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)}},Bu={init:function(){this.setColour(au),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Gu={init:function(){this.setColour(au),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)}},Uu={init:function(){this.setColour(au),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)}},wu={init:function(){this.setColour(au),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)}},ku={init:function(){this.setColour(au),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)}},Hu={init:function(){this.setColour(au),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)}},Wu={init:function(){this.setColour(au),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)}},Ku={init:function(){this.setColour(au),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)}},Ju={init:function(){this.setColour(au),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(au),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)}},zu={init:function(){this.setColour(au),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)}},qu={init:function(){this.setColour(au),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)}},ju={init:function(){this.setColour(au),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)}},Zu={init:function(){this.setColour(au),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)}},$u={init:function(){this.setColour(au),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)}},tr="#6C9858",er={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},ir={init:function(){this.setColour(tr),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)}},nr={init:function(){this.setColour(tr),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)}},sr={init:function(){this.setColour(tr),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)}},or={init:function(){this.setColour(tr),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)}},_r={init:function(){this.setColour(tr),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%)")}},ar={init:function(){this.setColour(tr),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_OFF,"0"],[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()}},pr={init:function(){this.setColour(tr),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)}},ur={init:function(){this.setColour(tr),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)}},rr={init:function(){this.setColour(tr),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)}},lr={init:function(){this.setColour(tr),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)")}},dr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ir={init:function(){this.setColour(tr),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)}}},Tr={init:function(){this.setColour(tr),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)}},hr={init:function(){this.setColour(tr),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("")}},Mr={init:function(){this.setColour(tr),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("")}},mr={init:function(){this.setColour(tr),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)}},Or={init:function(){this.setColour(tr),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)}}},Er={init:function(){this.setColour(tr),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)}},Rr={init:function(){this.setColour(tr),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(tr),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)}},gr={init:function(){this.setColour(tr),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)}},Cr={init:function(){this.setColour(tr),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)}},Sr={init:function(){this.setColour(tr),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)}},Ar={init:function(){this.setColour(tr),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)}},Lr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nr={init:function(){this.setColour(tr),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)}},Dr={init:function(){this.setColour(tr),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)}},fr={init:function(){this.setColour(tr),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)}},Fr={init:function(){this.setColour(tr),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("")}},Pr={init:function(){this.setColour(tr),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)}},vr={init:function(){this.setColour(tr),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)}},Yr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},xr={init:function(){this.setColour(tr),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)}},Xr={init:function(){this.setColour(tr),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)}},br={init:function(){this.setColour(tr),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)}},yr={init:function(){this.setColour(tr),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)}},Vr={init:function(){this.setColour(tr),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)}},Br={init:function(){this.setColour(tr),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)}},Gr={init:function(){this.setColour(tr),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)}},Ur={init:function(){this.setColour(tr),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)}},wr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},kr={init:function(){this.setColour(tr),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)}},Hr={init:function(){this.setColour(tr),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)}},Wr={init:function(){this.setColour(tr),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)}},Kr={init:function(){this.setColour(tr),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)}},Jr={init:function(){this.setColour(tr),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(tr),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)}},zr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qr={init:function(){this.setColour(tr),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()}},jr={init:function(){this.setColour(tr),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)}},Zr={init:function(){this.setColour(tr),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)}},$r="#90A244",tl={init:function(){this.setColour($r),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+"MixGo AI"+mt.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},el={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},il={init:function(){this.setColour($r),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT,"qrcode"],[mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT,"barcode"],[mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},nl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField(mt.Msg.SOFT_RESET+mt.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},ol={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(mt.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},_l={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},al={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},pl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},ul={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LINE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LINE_ANGLE,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},ll={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_CIRCLE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},Il={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Tl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_RECT+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},hl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ml={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["RGB"+mt.Msg.HTML_COLOUR,"[0]"],["LAB"+mt.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},ml={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ol={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_COLOR_CHASE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},El={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+mt.Msg.MIXLY_COLOR_LAB).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Rl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_TRAIN_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},cl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},gl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LOCAL_CLASS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},Cl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Sl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MP3_VOL).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ANCHOR).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Ll={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Nl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setAlign(mt.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Dl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LICENSEPLATE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},fl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},Fl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_FACE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Pl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_20OBJECTS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},xl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AipSpeech_asr,"ASR"],[mt.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AI_UNIT).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(mt.Msg.OLED_STRING).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},bl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AipSpeech_asr).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LANGUAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[mt.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[mt.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},yl="#2FAD7A",Vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Gl={init:function(){this.jsonInit({inputsInline:!0,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Ul={init:function(){this.jsonInit({inputsInline:!0,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Jl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Ql={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},zl={init:function(){this.jsonInit({message0:mt.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[mt.Msg.MIXLY_PYTHON_PERIODIC,"False"],[mt.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},ql={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},jl={init:function(){this.jsonInit({inputsInline:!0,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Zl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:yl,helpUrl:mt.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},$l={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+" CC_G1"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);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]}))}},td={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_BATTERY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ed={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_JOYSTICK).appendField(new mt.FieldDropdown([["x","[0]"],["y","[1]"],["(x,y)",""]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},id={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_BUTTON).appendField(new mt.FieldDropdown([["A","0"],["B","1"],["C","2"],["D","3"],["POWER","4"],["SELECT","5"]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.WHETHER_IS_PRESSED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nd={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_HANDLE_SHUTDOWN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sd=100,od={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[mt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},_d={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)}},ad={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},pd={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)")}},rd={init:function(){this.setColour(sd),this.appendDummyInput().appendField("ME GO").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)}},ld={init:function(){this.setColour(sd),this.appendDummyInput().appendField("ME GO").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)}},dd={init:function(){this.setColour(sd),this.appendDummyInput().appendField("ME GO").appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[mt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.ROTATION_FORWARD,"CW"],[mt.Msg.ROTATION_BACKWARD,"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)}},Id={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_INTERRUPT).appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Td={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hd={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Md={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},md={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT,"[0]"],[mt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[mt.Msg.MIXGO_LEFT_BACK,"[3]"],[mt.Msg.MIXGO_RIGHT_BACK,"[2]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},Od={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[mt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[mt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[mt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.ME_GO_PITCH,"[0]"],[mt.Msg.ME_GO_ROLL,"[1]"],[mt.Msg.ME_GO_PITCH+", "+mt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},cd=140,gd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(cd),this.appendValueInput("SUB").appendField("I2C "+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_INIT)}},Ad={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Ld={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},Nd={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_I2C_SCAN1+mt.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_SCAN)}},Dd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},fd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_SET)}},Fd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SET+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},Pd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ)}},vd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE+" "+mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},Yd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO)}},xd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},Xd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE)}},bd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},yd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},Vd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ+mt.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Bd={init:function(){this.setColour(cd),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+mt.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_INIT)}},Ud={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SCAN)}},wd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_READ)}},kd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.LANG_MATH_STRING,"write"],[mt.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_WRITE)}},Hd={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SELECT)}},Wd={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_RESET)}},Kd={init:function(){this.setColour(cd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_INPUT1,"8"],[mt.Msg.MIXLY_IR_INPUT2,"16"],[mt.Msg.MIXLY_IR_INPUT3,"0"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_CMD_CODE,"0"],[mt.Msg.MIXLY_IR_ADDR_CODE,"1"],[mt.Msg.MIXLY_IR_RAW_CODE,"2"],[mt.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN).appendField(new mt.FieldDropdown([[mt.Msg.MILY_PAUSE,"True"],[mt.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},qd={init:function(){this.setColour(cd),this.appendValueInput("time").appendField(mt.Msg.MIXlY_RECV_FUN).appendField(mt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jd={init:function(){this.setColour(cd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_SEND).appendField(mt.Msg.MIXLY_PIN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_SEND_samsung1,"False"],[mt.Msg.MIXLY_IR_SEND_samsung2,"True"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(mt.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(mt.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(mt.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},$d={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_IR_PULSE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(mt.Msg.MIXLY_IR_RAW_CODE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},iI={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN+mt.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},oI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},_I={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TEXT_JOIN+mt.Msg.MSG.catBLE).appendField(new mt.FieldDropdown([[mt.Msg.HTML_NAME,"name"],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},aI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(mt.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},rI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},dI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},II={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},TI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},hI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},MI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},mI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new mt.FieldDropdown([["("+mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+mt.Msg.OLED_STRING+")",""],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[mt.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},OI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},EI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MP_ESPNOW_RADIO+mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},CI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},AI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},NI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},DI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},fI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},FI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},PI={init:function(){this.setColour(cd),this.appendValueInput("SUB").appendField("Lora"+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(mt.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(mt.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(mt.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(mt.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new mt.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_LORA_INIT_TOOLTIP)}},vI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_PACKAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[mt.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},YI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},XI={init:function(){this.setColour(cd),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")}},bI={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(cd),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]}))}},yI={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(cd),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},VI=Sd,BI=Ad,GI=Ld,UI=Nd,wI=Dd,kI=fd,HI=Fd,WI=Pd,KI=vd,JI=Yd,QI=xd,zI=Xd,qI=bd,jI=yd,ZI=Vd,$I=120;({init:function(){this.setColour($I),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour($I);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const tT="5BA5A5",eT={init:function(){this.setColour(tT),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},iT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},nT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},_T={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pT={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},uT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},lT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},dT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},IT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},TT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new mt.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},hT={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},MT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},mT={init:function(){this.setColour(tT),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.appendValueInput("row").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},OT={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.OLEDDISPLAY+mt.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(tT),this.setTooltip(mt.Msg.MIXLY_DF_LCD+mt.Msg.OLEDDISPLAY+mt.Msg.MIXLY_MICROBIT_TYPE_STRING)}},ET={init:function(){var t=[[mt.Msg.MIXLY_HEIGHT,"height"],[mt.Msg.MIXLY_WIDTH,"width"]];this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE+{height:mt.Msg.MIXLY_HEIGHT,width:mt.Msg.MIXLY_WIDTH}[t]}))}},RT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RECT).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_OLED_RECT)}},cT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_DISPLAY_DRAW).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_DISPLAY_RLINE,"hline"],[mt.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE)}},gT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},CT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},ST={init:function(){this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},AT={init:function(){this.setColour(tT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B)}},LT={init:function(){this.setColour(tT),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"ON"],[mt.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},NT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},DT={init:function(){this.setColour(tT),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new mt.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},fT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},FT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},PT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(mt.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},vT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(mt.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(mt.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(mt.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_SHOW_BMP_TOOLTIP)}},YT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED),this.appendDummyInput("").appendField(mt.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(mt.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(mt.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_DRAW_PIXE_TOOLTIP)}},xT={init:function(){this.setColour(tT),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},XT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ON,"on"],[mt.Msg.MIXLY_OFF,"off"],[mt.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},bT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},yT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},VT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},BT={init:function(){this.setColour(tT),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+mt.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.blockpy_turtle_rotate).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_NO,"0"],[mt.Msg.ANTI_CLOCKWISE+"90°","1"],[mt.Msg.ANTI_CLOCKWISE+"180°","2"],[mt.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},GT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},UT={init:function(){this.setColour(tT);let t=new mt.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},wT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},kT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},HT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catTFT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},KT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},JT={init:function(){this.setColour(tT),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},QT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},zT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_SERIAL_PRINT+mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.appendDummyInput().appendField(mt.Msg.TFT_Brightness).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:mt.Msg.MIXLY_MICROBIT_Turn_on_display,0:mt.Msg.MIXLY_MICROBIT_Turn_off_display};return mt.Msg.MSG.catLCD+mt.Msg.TFT_Brightness+i[e]}))}},jT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},ZT={init:function(){this.setColour(tT),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},$T={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},th={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},eh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},ih={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},oh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_h={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ah={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},ph={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},uh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},rh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},lh={init:function(){this.jsonInit({colour:tT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},dh={init:function(){this.jsonInit({colour:tT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},Ih={init:function(){this.jsonInit({colour:tT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},Th="#569A98",hh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Ot.Boards.getSelectedBoardKey()&&this.setTooltip(mt.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},Mh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Oh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Eh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ch={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},gh={init:function(){this.jsonInit({colour:Th,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},Ch={init:function(){this.jsonInit({colour:Th,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},Sh={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(Th),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},Ah={init:function(){this.setColour(Th),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Lh={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(Th),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:mt.Msg.MIXLY_UP,shift_down:mt.Msg.MIXLY_DOWN,shift_left:mt.Msg.MIXLY_LEFT,shift_right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},Nh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Dh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},fh={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Fh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Ph={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},vh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Yh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},xh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Xh={init:function(){var t=[["4x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+mt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.OLED_SET_FONT).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},yh={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Vh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Bh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Gh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Uh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},kh={init:function(){this.jsonInit({colour:Th,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Hh={init:function(){this.jsonInit({colour:Th,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Wh={init:function(){this.jsonInit({colour:Th,args0:[{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Kh={init:function(){this.jsonInit({colour:Th,args0:[{type:"field_label",name:"size_image",text:mt.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},Jh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Qh={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},zh={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},qh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},jh={init:function(){var t=[[mt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[mt.Msg.CLOCKWISE+"90"+mt.Msg.blockpy_setheading_degree,"1"],[mt.Msg.CLOCKWISE+"180"+mt.Msg.blockpy_setheading_degree,"2"],[mt.Msg.CLOCKWISE+"270"+mt.Msg.blockpy_setheading_degree,"3"]];this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},$h={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},tM={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},eM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},iM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},sM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.jsonInit({colour:Th,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},aM={init:function(){this.jsonInit({colour:Th,args0:[{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},pM={init:function(){this.jsonInit({colour:Th,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uM={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(Th),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},rM={init:function(){this.setColour(Th),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},lM={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dM={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},TM={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hM={init:function(){this.setColour(Th),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(Th),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(mt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(mt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(mt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(mt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},EM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cM={init:function(){this.jsonInit({colour:Th,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},gM="#777777",CM={init:function(){this.setColour(gM),this.appendDummyInput("").appendField("from ").appendField(new mt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new mt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SM={init:function(){this.setColour(gM),this.appendDummyInput("").appendField("import ").appendField(new mt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AM={init:function(){this.setColour(gM),this.appendDummyInput("").appendField(new mt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},dm={init:function(){this.setColour(om),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Im={init:function(){this.setColour(om),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}},Tm={init:function(){this.setColour(om),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}},hm={init:function(){this.setColour(om),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)}},Mm={init:function(){this.setColour(om),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)}},mm={init:function(){this.setColour(om),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)}},Om={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Em={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rm={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cm={init:function(){this.setColour(om),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},gm={init:function(){this.setColour(om),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Cm={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Sm={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Am={init:function(){this.setColour(om),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)}},Lm={init:function(){this.setColour(om),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)}},Nm={init:function(){this.setColour(om),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)}},Dm={init:function(){this.setColour(om),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)}},fm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(om),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")}},Fm={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(om),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)}},vm={init:function(){this.setColour(om),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)}},Ym={init:function(){this.setColour(om),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)}},xm={init:function(){this.setColour(om),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)}},Xm=_m,bm=am,ym=pm,Vm=um,Bm=lm,Gm=225,Um={init:function(){this.setColour(Gm),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)}},wm={init:function(){this.setColour(Gm),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}))}},km={init:function(){this.setColour(Gm),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)}},Hm={init:function(){this.setColour(Gm),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}))}},Wm={init:function(){this.setColour(Gm),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)}},Km={init:function(){this.setColour(Gm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Jm={init:function(){this.setColour(Gm),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]}))}},Qm={init:function(){this.setColour(Gm),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)}},zm={init:function(){this.setColour(Gm),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)}},qm={init:function(){this.setColour(Gm),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)}},jm={init:function(){this.setColour(Gm),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)}},Zm={init:function(){this.setColour(Gm),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]}))}},$m={init:function(){this.setColour(Gm),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)}},tO={init:function(){this.setColour(Gm),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)}},eO={init:function(){this.setColour(Gm),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)}},iO={init:function(){this.setColour(Gm),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)}},nO={init:function(){this.setColour(Gm),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)}},sO={init:function(){this.setColour(Gm),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)}},oO={init:function(){this.setColour(Gm),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)}},_O={init:function(){this.setColour(Gm),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)}},aO={init:function(){this.setColour(Gm),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)}},pO={init:function(){this.setColour(Gm),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")}},uO={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(Gm),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]}))}},rO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Gm),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(Gm),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)}},dO={init:function(){this.setColour(Gm),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)}},IO="#A58C5B",TO={init:function(){this.setColour(IO),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)}},hO={init:function(){this.setColour(IO),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)}},MO={init:function(){this.setColour(IO),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)}},mO={init:function(){this.setColour(IO),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)}},OO={init:function(){this.setColour(IO),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}))}},EO={init:function(){this.setColour(IO),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}))}},RO={init:function(){this.setColour(IO),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)}},cO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(IO),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]}))}},gO={init:function(){this.setColour(IO),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)}},CO={init:function(){this.setColour(IO),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)}},SO={init:function(){this.setColour(IO),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}))}},AO={init:function(){this.setColour(IO),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]}))}},LO={init:function(){this.setColour(IO),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]}))}},NO={init:function(){this.setColour(IO),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)}},DO={init:function(){this.setColour(IO),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)}},fO={init:function(){this.setColour(IO),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"],["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")}},FO={init:function(){this.setColour(IO),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)}},PO={init:function(){this.setColour(IO),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)}},vO={init:function(){this.setColour(IO),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)}},YO={init:function(){this.setColour(IO),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)}},xO={init:function(){this.setColour(IO),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)}},XO={init:function(){this.setColour(IO),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)}},bO={init:function(){this.setColour(IO),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]}))}},yO={init:function(){this.setColour(IO),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]}))}},VO={init:function(){this.setColour(IO),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)}},BO={init:function(){this.setColour(IO),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)}},GO={init:function(){this.setColour(IO),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}))}},UO={init:function(){this.setColour(IO),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}))}},wO={init:function(){this.setColour(IO),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}))}},kO={init:function(){this.setColour(IO),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}))}},HO={init:function(){this.setColour(IO),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)}},WO={init:function(){this.setColour(IO),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)}},KO={init:function(){this.setColour(IO),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]}))}},JO={init:function(){this.setColour(IO),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)}},QO={init:function(){this.setColour(IO),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")}},zO={init:function(){this.setColour(IO),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)}},qO={init:function(){this.setColour(IO),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)}},jO={init:function(){this.setColour(IO),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)}},ZO={init:function(){this.setColour(IO),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)}},$O={init:function(){this.setColour(IO),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)}},tE={init:function(){this.setColour(IO),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)}},eE={init:function(){this.setColour(IO),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)")}},iE={init:function(){this.setColour(IO),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(IO),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)}},sE={init:function(){this.setColour(IO),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},xL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XL=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"},bL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yL=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"},VL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},BL=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"},GL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},UL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},wL=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]},kL=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"},HL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},WL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},KL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},JL=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]},QL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},zL=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"},qL=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"},jL=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"},ZL=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"}},$L=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"},tN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},eN=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]},iN=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]},sN=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"}},oN=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"}},_N=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"},aN=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"},pN=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},uN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},rN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},lN=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"},dN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},IN=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"},TN=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},hN=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]},MN=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},mN=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},ON=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},EN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},RN=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},cN=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"},gN=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"},CN=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"},SN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},AN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},LN=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"},NN=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"},DN=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"},fN=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"},FN=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"},PN=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"},vN=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"},YN=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"},xN=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"},XN=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"},bN=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"},yN=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]},VN=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"},BN=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"},GN=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"},UN=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"},wN=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"},kN=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")},HN=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},WN=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"},KN=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},JN=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"},QN=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]},zN=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]},qN=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},DD=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},fD=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"},FD=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},PD=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"},vD=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},YD=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},xD=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},XD=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},bD=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"},yD=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"},VD=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]},BD=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 _},GD=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]},UD=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"},wD=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},kD=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},HD=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"},WD=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"},KD=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"},JD=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},QD=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},zD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},qD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},jD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},GY=function(){return"control.reset()\n"},UY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},wY=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"},kY=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"},HY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},WY=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},KY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},JY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},QY=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},zY=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},qY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},jY=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]}},ZY=function(){return"while True:\n pass\n"},$Y=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},tx=function(t,e){return e.definitions_.import_os="import os","os.uname()"},ex=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"}},ix=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"}},nx=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"},sx=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"},ox=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]},_x=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},ax=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},px=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},ux=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},rx=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},lx=_x,dx=sx,Ix=ox,Tx=ex,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.ORDER_ATOMIC]},Mx=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]},mx=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]},Ox={};Ox["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"]]},Ox["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"]]},Ox["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"]]},Ox["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 Ex=Ox,Rx=20,cx={init:function(){this.setColour(Rx),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)}},gx={init:function(){this.setColour(Rx),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)}},Cx={init:function(){this.setColour(Rx),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)}},Sx={init:function(){this.setColour(Rx),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)}},Ax={init:function(){this.setColour(Rx),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)}},Lx={init:function(){this.setColour(Rx),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)}},Nx={init:function(){this.setColour(Rx),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)}},Dx={init:function(){this.setColour(Rx),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)}},fx={init:function(){this.setColour(Rx),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)}},Fx={init:function(){this.setColour(Rx),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)}},Px={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)}},vx={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")}},Yx={init:function(){this.setColour(Rx),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")}},xx={init:function(){this.setColour(Rx),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")}},Xx={init:function(){this.setColour(Rx),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")}},bx={init:function(){this.setColour(Rx),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")}},yx=vx,Vx=Nx,Bx=bx,Gx=Fx,Ux=Px,wx=40,kx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),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]}))}},Hx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),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)}},Wx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),this.appendDummyInput().appendField(t).appendField(mt.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Kx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),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)}},Jx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),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)}},Qx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),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)}},zx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),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)}},qx={init:function(){if("mixgo_me"==Ot.Boards.getSelectedBoardKey().split(":")[2])var t="ME G1";this.setColour(wx),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)}},jx=230,Zx={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},$x={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},tX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},eX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},iX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},nX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},sX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},oX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},_X={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},aX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},pX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},uX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},rX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},lX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},dX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},IX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},TX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},hX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},MX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},mX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},OX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},EX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},RX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},cX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},gX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},CX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},SX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},AX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},LX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},NX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},DX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},fX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},FX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},PX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},vX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},YX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},xX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},XX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},bX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},yX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},VX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},BX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},GX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},UX={init:function(){this.setColour(jx),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},wX=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},kX=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"},HX=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},WX=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"},KX=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"},JX=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"},QX=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"},zX=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]},jX=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"},ZX=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"},$X=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"},tb=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"},eb=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"},ib=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},nb=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"},sb=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]},ob=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]},_b=function(t,e){e.definitions_.import_me_g1="import me_g1";return["me_g1.varistor()",e.ORDER_ATOMIC]},ab=function(t,e){e.definitions_.import_me_g1="import me_g1";return['me_g1.ext_rc522.read_card(0, x="id")',e.ORDER_ATOMIC]},pb=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]},ub=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"},rb=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]},lb=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]},db=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Ib=db,Tb=db,hb=db,Mb=db,mb=db,Ob=db,Eb=db,Rb=db,cb=db,gb=db,Cb=db,Sb=db,Ab=db,Lb=db,Nb=db,Db=db,fb=db,Fb=db,Pb=db,vb=db,Yb=db,xb=db,Xb=db,bb=db,yb=db,Vb=db,Bb=db,Gb=db,Ub=db,wb=db,kb=db,Hb=db,Wb=db,Kb=db,Jb=db,Qb=db,zb=db,qb=db,jb=db,Zb=db,$b=db,ty=db,ey=db,iy=db;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,Wn),mt.Python=_u,mt.generator=_u,Ot.Profile.default={},Object.assign(Ot.Profile,Ex),Object.assign(Ot.Profile.default,Ex["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,z,J,K,et,tt,it,q,j,Z,Tt,ht,Mt)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32c3/styles/main.f7dc4678.css b/boards/default/micropython_esp32c3/styles/main.6980044f.css similarity index 100% rename from boards/default/micropython_esp32c3/styles/main.f7dc4678.css rename to boards/default/micropython_esp32c3/styles/main.6980044f.css diff --git a/boards/default/micropython_esp32s2/examples/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32s2/examples/-ATc-WFofcwr.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/24-1-无线广播-通讯测试.mix rename to boards/default/micropython_esp32s2/examples/-ATc-WFofcwr.mix diff --git a/boards/default/micropython_esp32s2/examples/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32s2/examples/09qENwrKLhVW.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/14-1-逻辑计算-反应测试.mix rename to boards/default/micropython_esp32s2/examples/09qENwrKLhVW.mix diff --git a/boards/default/micropython_esp32s2/examples/21-2-红外接近-双挥手测试.mix b/boards/default/micropython_esp32s2/examples/0S8_14qYtE99.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/21-2-红外接近-双挥手测试.mix rename to boards/default/micropython_esp32s2/examples/0S8_14qYtE99.mix diff --git a/boards/default/micropython_esp32s2/examples/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32s2/examples/1CRU3eTcf1JY.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/24-2-无线广播-防丢检测.mix rename to boards/default/micropython_esp32s2/examples/1CRU3eTcf1JY.mix diff --git a/boards/default/micropython_esp32s2/examples/43-1-智能小车-遥控小车(MEGO).mix b/boards/default/micropython_esp32s2/examples/1HhAN-cFtuk0.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/43-1-智能小车-遥控小车(MEGO).mix rename to boards/default/micropython_esp32s2/examples/1HhAN-cFtuk0.mix diff --git a/boards/default/micropython_esp32s2/examples/37-2-文件操作-列出文件2.mix b/boards/default/micropython_esp32s2/examples/1Nqu3deDlzxy.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/37-2-文件操作-列出文件2.mix rename to boards/default/micropython_esp32s2/examples/1Nqu3deDlzxy.mix diff --git a/boards/default/micropython_esp32s2/examples/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32s2/examples/1Ztk5uKgza9t.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/19-2-复杂控制-多线程与中断.mix rename to boards/default/micropython_esp32s2/examples/1Ztk5uKgza9t.mix diff --git a/boards/default/micropython_esp32s2/examples/44-1-智能小车-P单巡线(MEGO).mix b/boards/default/micropython_esp32s2/examples/2CQxmzRH-8hl.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/44-1-智能小车-P单巡线(MEGO).mix rename to boards/default/micropython_esp32s2/examples/2CQxmzRH-8hl.mix diff --git a/boards/default/micropython_esp32s2/examples/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32s2/examples/2DxlMDt-EdhR.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/33-1-课堂互动-自由签到.mix rename to boards/default/micropython_esp32s2/examples/2DxlMDt-EdhR.mix diff --git a/boards/default/micropython_esp32s2/examples/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32s2/examples/36JiOajVyc6J.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/30-1-物联网-简单数据按需上报.mix rename to boards/default/micropython_esp32s2/examples/36JiOajVyc6J.mix diff --git a/boards/default/micropython_esp32s2/examples/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32s2/examples/3xyaMHLROaUn.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/12-1-输入输出-实时时钟.mix rename to boards/default/micropython_esp32s2/examples/3xyaMHLROaUn.mix diff --git a/boards/default/micropython_esp32s2/examples/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32s2/examples/5qGEhrWTtucr.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/32-1-物联网-多主题数据订.mix rename to boards/default/micropython_esp32s2/examples/5qGEhrWTtucr.mix diff --git a/boards/default/micropython_esp32s2/examples/26-1-飞机游戏-发射子弹.mix b/boards/default/micropython_esp32s2/examples/6953oQjrEiag.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/26-1-飞机游戏-发射子弹.mix rename to boards/default/micropython_esp32s2/examples/6953oQjrEiag.mix diff --git a/boards/default/micropython_esp32s2/examples/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32s2/examples/8IiycxOcvRaL.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/32-2-物联网-多主题数据订2.mix rename to boards/default/micropython_esp32s2/examples/8IiycxOcvRaL.mix diff --git a/boards/default/micropython_esp32s2/examples/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32s2/examples/8o--4s90DnDB.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/08-1-过程控制-接近检测.mix rename to boards/default/micropython_esp32s2/examples/8o--4s90DnDB.mix diff --git a/boards/default/micropython_esp32s2/examples/11-1-输入输出-点阵控制.mix b/boards/default/micropython_esp32s2/examples/AWVb37dJkMk8.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/11-1-输入输出-点阵控制.mix rename to boards/default/micropython_esp32s2/examples/AWVb37dJkMk8.mix diff --git a/boards/default/micropython_esp32s2/examples/39-2-文件操作-录音重现.mix b/boards/default/micropython_esp32s2/examples/B9ZmATxoj2GX.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/39-2-文件操作-录音重现.mix rename to boards/default/micropython_esp32s2/examples/B9ZmATxoj2GX.mix diff --git a/boards/default/micropython_esp32s2/examples/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32s2/examples/BkZW_cGi1-3Y.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/17-0-复杂控制-非中断效果.mix rename to boards/default/micropython_esp32s2/examples/BkZW_cGi1-3Y.mix diff --git a/boards/default/micropython_esp32s2/examples/37-1-文件操作-列出文件.mix b/boards/default/micropython_esp32s2/examples/BqVge0rdpTb6.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/37-1-文件操作-列出文件.mix rename to boards/default/micropython_esp32s2/examples/BqVge0rdpTb6.mix diff --git a/boards/default/micropython_esp32s2/examples/26-2-飞机游戏-移动音效.mix b/boards/default/micropython_esp32s2/examples/DnGyj0flMVNI.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/26-2-飞机游戏-移动音效.mix rename to boards/default/micropython_esp32s2/examples/DnGyj0flMVNI.mix diff --git a/boards/default/micropython_esp32s2/examples/41-1-智能小车-前进转弯(MEGO).mix b/boards/default/micropython_esp32s2/examples/F8waZVfCi0oT.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/41-1-智能小车-前进转弯(MEGO).mix rename to boards/default/micropython_esp32s2/examples/F8waZVfCi0oT.mix diff --git a/boards/default/micropython_esp32s2/examples/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32s2/examples/FXiWWVZ7vK65.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/36-1-课堂互动-点名答题.mix rename to boards/default/micropython_esp32s2/examples/FXiWWVZ7vK65.mix diff --git a/boards/default/micropython_esp32s2/examples/23-1-红外遥控-数据收发.mix b/boards/default/micropython_esp32s2/examples/G0ICx0zjoVTV.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/23-1-红外遥控-数据收发.mix rename to boards/default/micropython_esp32s2/examples/G0ICx0zjoVTV.mix diff --git a/boards/default/micropython_esp32s2/examples/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32s2/examples/H8TMq0yEAQXD.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/18-2-复杂控制-循环计时.mix rename to boards/default/micropython_esp32s2/examples/H8TMq0yEAQXD.mix diff --git a/boards/default/micropython_esp32s2/examples/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32s2/examples/HWdMPusDZv3P.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/09-1-输入输出-加速度.mix rename to boards/default/micropython_esp32s2/examples/HWdMPusDZv3P.mix diff --git a/boards/default/micropython_esp32s2/examples/38-1-文件操作-文件读写.mix b/boards/default/micropython_esp32s2/examples/IP9UFvAPlIhS.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/38-1-文件操作-文件读写.mix rename to boards/default/micropython_esp32s2/examples/IP9UFvAPlIhS.mix diff --git a/boards/default/micropython_esp32s2/examples/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32s2/examples/IS4gY-I1fuUd.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/20-1-复杂控制-异常.mix rename to boards/default/micropython_esp32s2/examples/IS4gY-I1fuUd.mix diff --git a/boards/default/micropython_esp32s2/examples/38-2-文件操作-文件读写2.mix b/boards/default/micropython_esp32s2/examples/JNXSGx2IIuG5.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/38-2-文件操作-文件读写2.mix rename to boards/default/micropython_esp32s2/examples/JNXSGx2IIuG5.mix diff --git a/boards/default/micropython_esp32s2/examples/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32s2/examples/JXDY2V-9doTn.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/36-2-课堂互动-多人点答.mix rename to boards/default/micropython_esp32s2/examples/JXDY2V-9doTn.mix diff --git a/boards/default/micropython_esp32s2/examples/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32s2/examples/JYCOIX7-o07m.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/13-1-逻辑计算-手速测试.mix rename to boards/default/micropython_esp32s2/examples/JYCOIX7-o07m.mix diff --git a/boards/default/micropython_esp32s2/examples/11-2-输入输出-光标控制.mix b/boards/default/micropython_esp32s2/examples/JdQDbul-SX71.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/11-2-输入输出-光标控制.mix rename to boards/default/micropython_esp32s2/examples/JdQDbul-SX71.mix diff --git a/boards/default/micropython_esp32s2/examples/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32s2/examples/K8YAdCpq_iN7.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/07-1-过程控制-光强采集.mix rename to boards/default/micropython_esp32s2/examples/K8YAdCpq_iN7.mix diff --git a/boards/default/micropython_esp32s2/examples/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32s2/examples/KI0BcUOz4vML.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/03-2-快速入门-心随我动2.mix rename to boards/default/micropython_esp32s2/examples/KI0BcUOz4vML.mix diff --git a/boards/default/micropython_esp32s2/examples/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32s2/examples/MYWdMqWR-_Ni.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/34-1-课堂互动-一人抢答.mix rename to boards/default/micropython_esp32s2/examples/MYWdMqWR-_Ni.mix diff --git a/boards/default/micropython_esp32s2/examples/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32s2/examples/NAWiCdkHBfAL.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/08-2-过程控制-入侵报警.mix rename to boards/default/micropython_esp32s2/examples/NAWiCdkHBfAL.mix diff --git a/boards/default/micropython_esp32s2/examples/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32s2/examples/NvUY_oQI6xb1.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/16-1-逻辑计算-开始打地鼠.mix rename to boards/default/micropython_esp32s2/examples/NvUY_oQI6xb1.mix diff --git a/boards/default/micropython_esp32s2/examples/27-2-飞机游戏-消灭敌机.mix b/boards/default/micropython_esp32s2/examples/OPN_C0U_n3Tn.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/27-2-飞机游戏-消灭敌机.mix rename to boards/default/micropython_esp32s2/examples/OPN_C0U_n3Tn.mix diff --git a/boards/default/micropython_esp32s2/examples/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32s2/examples/PJBuLwqB-rLq.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/34-2-课堂互动-多人抢答.mix rename to boards/default/micropython_esp32s2/examples/PJBuLwqB-rLq.mix diff --git a/boards/default/micropython_esp32s2/examples/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32s2/examples/Q98Ya2GJH099.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/03-1-快速入门-心随我动.mix rename to boards/default/micropython_esp32s2/examples/Q98Ya2GJH099.mix diff --git a/boards/default/micropython_esp32s2/examples/17-1-复杂控制-双键中断.mix b/boards/default/micropython_esp32s2/examples/S1LUly0RafAd.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/17-1-复杂控制-双键中断.mix rename to boards/default/micropython_esp32s2/examples/S1LUly0RafAd.mix diff --git a/boards/default/micropython_esp32s2/examples/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32s2/examples/TdpTnMUyno79.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/15-2-逻辑计算-计时打地鼠.mix rename to boards/default/micropython_esp32s2/examples/TdpTnMUyno79.mix diff --git a/boards/default/micropython_esp32s2/examples/25-2-飞机游戏-移动飞机.mix b/boards/default/micropython_esp32s2/examples/Tf0ucKwXOewX.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/25-2-飞机游戏-移动飞机.mix rename to boards/default/micropython_esp32s2/examples/Tf0ucKwXOewX.mix diff --git a/boards/default/micropython_esp32s2/examples/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32s2/examples/UhElPPtQJkQl.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/01-2-快速入门-你好世界2.mix rename to boards/default/micropython_esp32s2/examples/UhElPPtQJkQl.mix diff --git a/boards/default/micropython_esp32s2/examples/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32s2/examples/V4Oei9dhU6Qu.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/18-1-复杂控制-定时计时.mix rename to boards/default/micropython_esp32s2/examples/V4Oei9dhU6Qu.mix diff --git a/boards/default/micropython_esp32s2/examples/27-1-飞机游戏-显示敌机.mix b/boards/default/micropython_esp32s2/examples/W3lPfAoxQ9jA.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/27-1-飞机游戏-显示敌机.mix rename to boards/default/micropython_esp32s2/examples/W3lPfAoxQ9jA.mix diff --git a/boards/default/micropython_esp32s2/examples/25-1-飞机游戏-显示飞机.mix b/boards/default/micropython_esp32s2/examples/WhDF57vH6rLk.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/25-1-飞机游戏-显示飞机.mix rename to boards/default/micropython_esp32s2/examples/WhDF57vH6rLk.mix diff --git a/boards/default/micropython_esp32s2/examples/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32s2/examples/YKjQSH5-YOat.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/05-1-过程控制-双键开关.mix rename to boards/default/micropython_esp32s2/examples/YKjQSH5-YOat.mix diff --git a/boards/default/micropython_esp32s2/examples/28-2-飞机游戏-结束游戏.mix b/boards/default/micropython_esp32s2/examples/Zlm6UQGkfHIT.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/28-2-飞机游戏-结束游戏.mix rename to boards/default/micropython_esp32s2/examples/Zlm6UQGkfHIT.mix diff --git a/boards/default/micropython_esp32s2/examples/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32s2/examples/ZxOQQMs6QiKO.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/17-2-复杂控制-单键中断.mix rename to boards/default/micropython_esp32s2/examples/ZxOQQMs6QiKO.mix diff --git a/boards/default/micropython_esp32s2/examples/21-1-红外接近-单挥手测试.mix b/boards/default/micropython_esp32s2/examples/_26-MUxRX4pn.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/21-1-红外接近-单挥手测试.mix rename to boards/default/micropython_esp32s2/examples/_26-MUxRX4pn.mix diff --git a/boards/default/micropython_esp32s2/examples/42-1-智能小车-智能避障(MEGO).mix b/boards/default/micropython_esp32s2/examples/_pWrh9327x99.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/42-1-智能小车-智能避障(MEGO).mix rename to boards/default/micropython_esp32s2/examples/_pWrh9327x99.mix diff --git a/boards/default/micropython_esp32s2/examples/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32s2/examples/_te1bJuNeP3L.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/33-2-课堂互动-按需签到.mix rename to boards/default/micropython_esp32s2/examples/_te1bJuNeP3L.mix diff --git a/boards/default/micropython_esp32s2/examples/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32s2/examples/ar5KMMAc923t.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/13-2-逻辑计算-手速测试2.mix rename to boards/default/micropython_esp32s2/examples/ar5KMMAc923t.mix diff --git a/boards/default/micropython_esp32s2/examples/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32s2/examples/c6QQrptxZ8mA.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/06-2-过程控制-看见声音.mix rename to boards/default/micropython_esp32s2/examples/c6QQrptxZ8mA.mix diff --git a/boards/default/micropython_esp32s2/examples/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32s2/examples/dDaqka3TnC_z.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/15-1-逻辑计算-简单打地鼠.mix rename to boards/default/micropython_esp32s2/examples/dDaqka3TnC_z.mix diff --git a/boards/default/micropython_esp32s2/examples/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32s2/examples/dG_s2YE_l5he.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/30-2-物联网-高级数据按需上报.mix rename to boards/default/micropython_esp32s2/examples/dG_s2YE_l5he.mix diff --git a/boards/default/micropython_esp32s2/examples/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32s2/examples/ekOg9F7uVw1L.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/02-2-快速入门-为你心动.mix rename to boards/default/micropython_esp32s2/examples/ekOg9F7uVw1L.mix diff --git a/boards/default/micropython_esp32s2/examples/44-2-智能小车-P双巡线(MEGO).mix b/boards/default/micropython_esp32s2/examples/gy_v9kKcMQ_z.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/44-2-智能小车-P双巡线(MEGO).mix rename to boards/default/micropython_esp32s2/examples/gy_v9kKcMQ_z.mix diff --git a/boards/default/micropython_esp32s2/examples/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32s2/examples/hWmXrERm0np2.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/01-1-快速入门-你好世界.mix rename to boards/default/micropython_esp32s2/examples/hWmXrERm0np2.mix diff --git a/boards/default/micropython_esp32s2/examples/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32s2/examples/hpae4v-JrJ2F.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/31-1-物联网-单主题数据订阅2.mix rename to boards/default/micropython_esp32s2/examples/hpae4v-JrJ2F.mix diff --git a/boards/default/micropython_esp32s2/examples/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32s2/examples/iJqBLUXKT2Bi.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/09-2-输入输出-平衡仪.mix rename to boards/default/micropython_esp32s2/examples/iJqBLUXKT2Bi.mix diff --git a/boards/default/micropython_esp32s2/examples/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32s2/examples/j4dEaJ3bIxxC.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/05-3-过程控制-IPO概念.mix rename to boards/default/micropython_esp32s2/examples/j4dEaJ3bIxxC.mix diff --git a/boards/default/micropython_esp32s2/examples/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32s2/examples/jQzMGx2u_mCa.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/04-2-快速入门-流动的灯2.mix rename to boards/default/micropython_esp32s2/examples/jQzMGx2u_mCa.mix diff --git a/boards/default/micropython_esp32s2/examples/40-1-文件操作-震动采集.mix b/boards/default/micropython_esp32s2/examples/kmQ0gSg3UImw.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/40-1-文件操作-震动采集.mix rename to boards/default/micropython_esp32s2/examples/kmQ0gSg3UImw.mix diff --git a/boards/default/micropython_esp32s2/examples/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32s2/examples/kujcS1HQg7HY.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/35-1-课堂互动-单选答题.mix rename to boards/default/micropython_esp32s2/examples/kujcS1HQg7HY.mix diff --git a/boards/default/micropython_esp32s2/examples/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32s2/examples/l0vJbTy0yUQf.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/20-2-复杂控制-异常处理.mix rename to boards/default/micropython_esp32s2/examples/l0vJbTy0yUQf.mix diff --git a/boards/default/micropython_esp32s2/examples/22-2-红外接近-单门人数统计.mix b/boards/default/micropython_esp32s2/examples/lyHxzVyHXD-O.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/22-2-红外接近-单门人数统计.mix rename to boards/default/micropython_esp32s2/examples/lyHxzVyHXD-O.mix diff --git a/boards/default/micropython_esp32s2/examples/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32s2/examples/mWc2Eywu7bgE.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/16-2-逻辑计算-循环打地鼠.mix rename to boards/default/micropython_esp32s2/examples/mWc2Eywu7bgE.mix diff --git a/boards/default/micropython_esp32s2/examples/map.json b/boards/default/micropython_esp32s2/examples/map.json index 683c7b2e..d1b0da17 100644 --- a/boards/default/micropython_esp32s2/examples/map.json +++ b/boards/default/micropython_esp32s2/examples/map.json @@ -1,361 +1,361 @@ { - "01-1-快速入门-你好世界.mix": { + "hWmXrERm0np2.mix": { "__file__": true, "__name__": "01-1-快速入门-你好世界.mix" }, - "01-2-快速入门-你好世界2.mix": { + "UhElPPtQJkQl.mix": { "__file__": true, "__name__": "01-2-快速入门-你好世界2.mix" }, - "02-1-快速入门-跳动的心.mix": { + "uIMmEAn211re.mix": { "__file__": true, "__name__": "02-1-快速入门-跳动的心.mix" }, - "02-2-快速入门-为你心动.mix": { + "ekOg9F7uVw1L.mix": { "__file__": true, "__name__": "02-2-快速入门-为你心动.mix" }, - "03-1-快速入门-心随我动.mix": { + "Q98Ya2GJH099.mix": { "__file__": true, "__name__": "03-1-快速入门-心随我动.mix" }, - "03-2-快速入门-心随我动2.mix": { + "KI0BcUOz4vML.mix": { "__file__": true, "__name__": "03-2-快速入门-心随我动2.mix" }, - "04-1-快速入门-流动的灯.mix": { + "rxuIyldlrtqe.mix": { "__file__": true, "__name__": "04-1-快速入门-流动的灯.mix" }, - "04-2-快速入门-流动的灯2.mix": { + "jQzMGx2u_mCa.mix": { "__file__": true, "__name__": "04-2-快速入门-流动的灯2.mix" }, - "05-1-过程控制-双键开关.mix": { + "YKjQSH5-YOat.mix": { "__file__": true, "__name__": "05-1-过程控制-双键开关.mix" }, - "05-2-过程控制-单键开关.mix": { + "mzhkO6BVzS_Q.mix": { "__file__": true, "__name__": "05-2-过程控制-单键开关.mix" }, - "05-3-过程控制-IPO概念.mix": { + "j4dEaJ3bIxxC.mix": { "__file__": true, "__name__": "05-3-过程控制-IPO概念.mix" }, - "06-1-过程控制-声音采集.mix": { + "q9xPtd548pk_.mix": { "__file__": true, "__name__": "06-1-过程控制-声音采集.mix" }, - "06-2-过程控制-看见声音.mix": { + "c6QQrptxZ8mA.mix": { "__file__": true, "__name__": "06-2-过程控制-看见声音.mix" }, - "07-1-过程控制-光强采集.mix": { + "K8YAdCpq_iN7.mix": { "__file__": true, "__name__": "07-1-过程控制-光强采集.mix" }, - "07-2-过程控制-自动补光.mix": { + "vHnCAzBu2QCM.mix": { "__file__": true, "__name__": "07-2-过程控制-自动补光.mix" }, - "08-1-过程控制-接近检测.mix": { + "8o--4s90DnDB.mix": { "__file__": true, "__name__": "08-1-过程控制-接近检测.mix" }, - "08-2-过程控制-入侵报警.mix": { + "NAWiCdkHBfAL.mix": { "__file__": true, "__name__": "08-2-过程控制-入侵报警.mix" }, - "09-1-输入输出-加速度.mix": { + "HWdMPusDZv3P.mix": { "__file__": true, "__name__": "09-1-输入输出-加速度.mix" }, - "09-2-输入输出-平衡仪.mix": { + "iJqBLUXKT2Bi.mix": { "__file__": true, "__name__": "09-2-输入输出-平衡仪.mix" }, - "10-1-输入输出-触摸按键.mix": { + "sfi-8zf7H8IZ.mix": { "__file__": true, "__name__": "10-1-输入输出-触摸按键.mix" }, - "10-2-输入输出-减压神器.mix": { + "w2i55B0otkox.mix": { "__file__": true, "__name__": "10-2-输入输出-减压神器.mix" }, - "11-1-输入输出-点阵控制.mix": { + "AWVb37dJkMk8.mix": { "__file__": true, "__name__": "11-1-输入输出-点阵控制.mix" }, - "11-2-输入输出-光标控制.mix": { + "JdQDbul-SX71.mix": { "__file__": true, "__name__": "11-2-输入输出-光标控制.mix" }, - "12-1-输入输出-实时时钟.mix": { + "3xyaMHLROaUn.mix": { "__file__": true, "__name__": "12-1-输入输出-实时时钟.mix" }, - "12-2-输入输出-实时时钟2.mix": { + "q0vKDdqPntkM.mix": { "__file__": true, "__name__": "12-2-输入输出-实时时钟2.mix" }, - "13-1-逻辑计算-手速测试.mix": { + "JYCOIX7-o07m.mix": { "__file__": true, "__name__": "13-1-逻辑计算-手速测试.mix" }, - "13-2-逻辑计算-手速测试2.mix": { + "ar5KMMAc923t.mix": { "__file__": true, "__name__": "13-2-逻辑计算-手速测试2.mix" }, - "14-1-逻辑计算-反应测试.mix": { + "09qENwrKLhVW.mix": { "__file__": true, "__name__": "14-1-逻辑计算-反应测试.mix" }, - "14-2-逻辑计算-反应测试2.mix": { + "yUIiNoZgZBN2.mix": { "__file__": true, "__name__": "14-2-逻辑计算-反应测试2.mix" }, - "15-1-逻辑计算-简单打地鼠.mix": { + "dDaqka3TnC_z.mix": { "__file__": true, "__name__": "15-1-逻辑计算-简单打地鼠.mix" }, - "15-2-逻辑计算-计时打地鼠.mix": { + "TdpTnMUyno79.mix": { "__file__": true, "__name__": "15-2-逻辑计算-计时打地鼠.mix" }, - "16-1-逻辑计算-开始打地鼠.mix": { + "NvUY_oQI6xb1.mix": { "__file__": true, "__name__": "16-1-逻辑计算-开始打地鼠.mix" }, - "16-2-逻辑计算-循环打地鼠.mix": { + "mWc2Eywu7bgE.mix": { "__file__": true, "__name__": "16-2-逻辑计算-循环打地鼠.mix" }, - "17-0-复杂控制-非中断效果.mix": { + "BkZW_cGi1-3Y.mix": { "__file__": true, "__name__": "17-0-复杂控制-非中断效果.mix" }, - "17-1-复杂控制-双键中断.mix": { + "S1LUly0RafAd.mix": { "__file__": true, "__name__": "17-1-复杂控制-双键中断.mix" }, - "17-2-复杂控制-单键中断.mix": { + "ZxOQQMs6QiKO.mix": { "__file__": true, "__name__": "17-2-复杂控制-单键中断.mix" }, - "18-1-复杂控制-定时计时.mix": { + "V4Oei9dhU6Qu.mix": { "__file__": true, "__name__": "18-1-复杂控制-定时计时.mix" }, - "18-2-复杂控制-循环计时.mix": { + "H8TMq0yEAQXD.mix": { "__file__": true, "__name__": "18-2-复杂控制-循环计时.mix" }, - "19-1-复杂控制-多线程.mix": { + "z6Bhkqeh8Ri6.mix": { "__file__": true, "__name__": "19-1-复杂控制-多线程.mix" }, - "19-2-复杂控制-多线程与中断.mix": { + "1Ztk5uKgza9t.mix": { "__file__": true, "__name__": "19-2-复杂控制-多线程与中断.mix" }, - "20-1-复杂控制-异常.mix": { + "IS4gY-I1fuUd.mix": { "__file__": true, "__name__": "20-1-复杂控制-异常.mix" }, - "20-2-复杂控制-异常处理.mix": { + "l0vJbTy0yUQf.mix": { "__file__": true, "__name__": "20-2-复杂控制-异常处理.mix" }, - "21-1-红外接近-单挥手测试.mix": { + "_26-MUxRX4pn.mix": { "__file__": true, "__name__": "21-1-红外接近-单挥手测试.mix" }, - "21-2-红外接近-双挥手测试.mix": { + "0S8_14qYtE99.mix": { "__file__": true, "__name__": "21-2-红外接近-双挥手测试.mix" }, - "22-1-红外接近-双门人数统计.mix": { + "wWC-_q_3KJtu.mix": { "__file__": true, "__name__": "22-1-红外接近-双门人数统计.mix" }, - "22-2-红外接近-单门人数统计.mix": { + "lyHxzVyHXD-O.mix": { "__file__": true, "__name__": "22-2-红外接近-单门人数统计.mix" }, - "23-1-红外遥控-数据收发.mix": { + "G0ICx0zjoVTV.mix": { "__file__": true, "__name__": "23-1-红外遥控-数据收发.mix" }, - "23-2-红外遥控-遥控点灯.mix": { + "ojA_m-SztGo2.mix": { "__file__": true, "__name__": "23-2-红外遥控-遥控点灯.mix" }, - "24-1-无线广播-通讯测试.mix": { + "-ATc-WFofcwr.mix": { "__file__": true, "__name__": "24-1-无线广播-通讯测试.mix" }, - "24-2-无线广播-防丢检测.mix": { + "1CRU3eTcf1JY.mix": { "__file__": true, "__name__": "24-2-无线广播-防丢检测.mix" }, - "25-1-飞机游戏-显示飞机.mix": { + "WhDF57vH6rLk.mix": { "__file__": true, "__name__": "25-1-飞机游戏-显示飞机.mix" }, - "25-2-飞机游戏-移动飞机.mix": { + "Tf0ucKwXOewX.mix": { "__file__": true, "__name__": "25-2-飞机游戏-移动飞机.mix" }, - "26-1-飞机游戏-发射子弹.mix": { + "6953oQjrEiag.mix": { "__file__": true, "__name__": "26-1-飞机游戏-发射子弹.mix" }, - "26-2-飞机游戏-移动音效.mix": { + "DnGyj0flMVNI.mix": { "__file__": true, "__name__": "26-2-飞机游戏-移动音效.mix" }, - "27-1-飞机游戏-显示敌机.mix": { + "W3lPfAoxQ9jA.mix": { "__file__": true, "__name__": "27-1-飞机游戏-显示敌机.mix" }, - "27-2-飞机游戏-消灭敌机.mix": { + "OPN_C0U_n3Tn.mix": { "__file__": true, "__name__": "27-2-飞机游戏-消灭敌机.mix" }, - "28-1-飞机游戏-显示得分.mix": { + "ri0CfMcsOvIF.mix": { "__file__": true, "__name__": "28-1-飞机游戏-显示得分.mix" }, - "28-2-飞机游戏-结束游戏.mix": { + "Zlm6UQGkfHIT.mix": { "__file__": true, "__name__": "28-2-飞机游戏-结束游戏.mix" }, - "29-1-物联网-简单数据定时上报.mix": { + "pddifQiYMq37.mix": { "__file__": true, "__name__": "29-1-物联网-简单数据定时上报.mix" }, - "29-2-物联网-复杂数据定时上报.mix": { + "pMGanptmcYG8.mix": { "__file__": true, "__name__": "29-2-物联网-复杂数据定时上报.mix" }, - "30-1-物联网-简单数据按需上报.mix": { + "36JiOajVyc6J.mix": { "__file__": true, "__name__": "30-1-物联网-简单数据按需上报.mix" }, - "30-2-物联网-高级数据按需上报.mix": { + "dG_s2YE_l5he.mix": { "__file__": true, "__name__": "30-2-物联网-高级数据按需上报.mix" }, - "31-1-物联网-单主题数据订阅.mix": { + "pgOuStWo8l-K.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅.mix" }, - "31-1-物联网-单主题数据订阅2.mix": { + "hpae4v-JrJ2F.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅2.mix" }, - "32-1-物联网-多主题数据订.mix": { + "5qGEhrWTtucr.mix": { "__file__": true, "__name__": "32-1-物联网-多主题数据订.mix" }, - "32-2-物联网-多主题数据订2.mix": { + "8IiycxOcvRaL.mix": { "__file__": true, "__name__": "32-2-物联网-多主题数据订2.mix" }, - "33-1-课堂互动-自由签到.mix": { + "2DxlMDt-EdhR.mix": { "__file__": true, "__name__": "33-1-课堂互动-自由签到.mix" }, - "33-2-课堂互动-按需签到.mix": { + "_te1bJuNeP3L.mix": { "__file__": true, "__name__": "33-2-课堂互动-按需签到.mix" }, - "34-1-课堂互动-一人抢答.mix": { + "MYWdMqWR-_Ni.mix": { "__file__": true, "__name__": "34-1-课堂互动-一人抢答.mix" }, - "34-2-课堂互动-多人抢答.mix": { + "PJBuLwqB-rLq.mix": { "__file__": true, "__name__": "34-2-课堂互动-多人抢答.mix" }, - "35-1-课堂互动-单选答题.mix": { + "kujcS1HQg7HY.mix": { "__file__": true, "__name__": "35-1-课堂互动-单选答题.mix" }, - "35-2-课堂互动-多选答题.mix": { + "rEqhV_IHzcdu.mix": { "__file__": true, "__name__": "35-2-课堂互动-多选答题.mix" }, - "36-1-课堂互动-点名答题.mix": { + "FXiWWVZ7vK65.mix": { "__file__": true, "__name__": "36-1-课堂互动-点名答题.mix" }, - "36-2-课堂互动-多人点答.mix": { + "JXDY2V-9doTn.mix": { "__file__": true, "__name__": "36-2-课堂互动-多人点答.mix" }, - "37-1-文件操作-列出文件.mix": { + "BqVge0rdpTb6.mix": { "__file__": true, "__name__": "37-1-文件操作-列出文件.mix" }, - "37-2-文件操作-列出文件2.mix": { + "1Nqu3deDlzxy.mix": { "__file__": true, "__name__": "37-2-文件操作-列出文件2.mix" }, - "38-1-文件操作-文件读写.mix": { + "IP9UFvAPlIhS.mix": { "__file__": true, "__name__": "38-1-文件操作-文件读写.mix" }, - "38-2-文件操作-文件读写2.mix": { + "JNXSGx2IIuG5.mix": { "__file__": true, "__name__": "38-2-文件操作-文件读写2.mix" }, - "39-1-文件操作-录音采集.mix": { + "oVUUHP8EUJpa.mix": { "__file__": true, "__name__": "39-1-文件操作-录音采集.mix" }, - "39-2-文件操作-录音重现.mix": { + "B9ZmATxoj2GX.mix": { "__file__": true, "__name__": "39-2-文件操作-录音重现.mix" }, - "40-1-文件操作-震动采集.mix": { + "kmQ0gSg3UImw.mix": { "__file__": true, "__name__": "40-1-文件操作-震动采集.mix" }, - "40-2-文件操作-震动重现.mix": { + "pbD-jSe8dIkl.mix": { "__file__": true, "__name__": "40-2-文件操作-震动重现.mix" }, - "41-1-智能小车-前进转弯(MEGO).mix": { + "F8waZVfCi0oT.mix": { "__file__": true, "__name__": "41-1-智能小车-前进转弯(MEGO).mix" }, - "41-2-智能小车-圆圈转弯(MEGO).mix": { + "tSoGsNi6DXR8.mix": { "__file__": true, "__name__": "41-2-智能小车-圆圈转弯(MEGO).mix" }, - "42-1-智能小车-智能避障(MEGO).mix": { + "_pWrh9327x99.mix": { "__file__": true, "__name__": "42-1-智能小车-智能避障(MEGO).mix" }, - "42-2-智能小车-智能避障2(MEGO).mix": { + "uP8i7JaGOxKc.mix": { "__file__": true, "__name__": "42-2-智能小车-智能避障2(MEGO).mix" }, - "43-1-智能小车-遥控小车(MEGO).mix": { + "1HhAN-cFtuk0.mix": { "__file__": true, "__name__": "43-1-智能小车-遥控小车(MEGO).mix" }, - "43-2-智能小车-体感遥控(MEGO).mix": { + "rKuaIGVxSPoP.mix": { "__file__": true, "__name__": "43-2-智能小车-体感遥控(MEGO).mix" }, - "44-1-智能小车-P单巡线(MEGO).mix": { + "2CQxmzRH-8hl.mix": { "__file__": true, "__name__": "44-1-智能小车-P单巡线(MEGO).mix" }, - "44-2-智能小车-P双巡线(MEGO).mix": { + "gy_v9kKcMQ_z.mix": { "__file__": true, "__name__": "44-2-智能小车-P双巡线(MEGO).mix" } diff --git a/boards/default/micropython_esp32s2/examples/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32s2/examples/mzhkO6BVzS_Q.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/05-2-过程控制-单键开关.mix rename to boards/default/micropython_esp32s2/examples/mzhkO6BVzS_Q.mix diff --git a/boards/default/micropython_esp32s2/examples/39-1-文件操作-录音采集.mix b/boards/default/micropython_esp32s2/examples/oVUUHP8EUJpa.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/39-1-文件操作-录音采集.mix rename to boards/default/micropython_esp32s2/examples/oVUUHP8EUJpa.mix diff --git a/boards/default/micropython_esp32s2/examples/23-2-红外遥控-遥控点灯.mix b/boards/default/micropython_esp32s2/examples/ojA_m-SztGo2.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/23-2-红外遥控-遥控点灯.mix rename to boards/default/micropython_esp32s2/examples/ojA_m-SztGo2.mix diff --git a/boards/default/micropython_esp32s2/examples/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32s2/examples/pMGanptmcYG8.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/29-2-物联网-复杂数据定时上报.mix rename to boards/default/micropython_esp32s2/examples/pMGanptmcYG8.mix diff --git a/boards/default/micropython_esp32s2/examples/40-2-文件操作-震动重现.mix b/boards/default/micropython_esp32s2/examples/pbD-jSe8dIkl.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/40-2-文件操作-震动重现.mix rename to boards/default/micropython_esp32s2/examples/pbD-jSe8dIkl.mix diff --git a/boards/default/micropython_esp32s2/examples/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32s2/examples/pddifQiYMq37.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/29-1-物联网-简单数据定时上报.mix rename to boards/default/micropython_esp32s2/examples/pddifQiYMq37.mix diff --git a/boards/default/micropython_esp32s2/examples/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32s2/examples/pgOuStWo8l-K.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/31-1-物联网-单主题数据订阅.mix rename to boards/default/micropython_esp32s2/examples/pgOuStWo8l-K.mix diff --git a/boards/default/micropython_esp32s2/examples/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32s2/examples/q0vKDdqPntkM.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/12-2-输入输出-实时时钟2.mix rename to boards/default/micropython_esp32s2/examples/q0vKDdqPntkM.mix diff --git a/boards/default/micropython_esp32s2/examples/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32s2/examples/q9xPtd548pk_.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/06-1-过程控制-声音采集.mix rename to boards/default/micropython_esp32s2/examples/q9xPtd548pk_.mix diff --git a/boards/default/micropython_esp32s2/examples/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32s2/examples/rEqhV_IHzcdu.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/35-2-课堂互动-多选答题.mix rename to boards/default/micropython_esp32s2/examples/rEqhV_IHzcdu.mix diff --git a/boards/default/micropython_esp32s2/examples/43-2-智能小车-体感遥控(MEGO).mix b/boards/default/micropython_esp32s2/examples/rKuaIGVxSPoP.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/43-2-智能小车-体感遥控(MEGO).mix rename to boards/default/micropython_esp32s2/examples/rKuaIGVxSPoP.mix diff --git a/boards/default/micropython_esp32s2/examples/28-1-飞机游戏-显示得分.mix b/boards/default/micropython_esp32s2/examples/ri0CfMcsOvIF.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/28-1-飞机游戏-显示得分.mix rename to boards/default/micropython_esp32s2/examples/ri0CfMcsOvIF.mix diff --git a/boards/default/micropython_esp32s2/examples/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32s2/examples/rxuIyldlrtqe.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/04-1-快速入门-流动的灯.mix rename to boards/default/micropython_esp32s2/examples/rxuIyldlrtqe.mix diff --git a/boards/default/micropython_esp32s2/examples/10-1-输入输出-触摸按键.mix b/boards/default/micropython_esp32s2/examples/sfi-8zf7H8IZ.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/10-1-输入输出-触摸按键.mix rename to boards/default/micropython_esp32s2/examples/sfi-8zf7H8IZ.mix diff --git a/boards/default/micropython_esp32s2/examples/41-2-智能小车-圆圈转弯(MEGO).mix b/boards/default/micropython_esp32s2/examples/tSoGsNi6DXR8.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/41-2-智能小车-圆圈转弯(MEGO).mix rename to boards/default/micropython_esp32s2/examples/tSoGsNi6DXR8.mix diff --git a/boards/default/micropython_esp32s2/examples/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32s2/examples/uIMmEAn211re.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/02-1-快速入门-跳动的心.mix rename to boards/default/micropython_esp32s2/examples/uIMmEAn211re.mix diff --git a/boards/default/micropython_esp32s2/examples/42-2-智能小车-智能避障2(MEGO).mix b/boards/default/micropython_esp32s2/examples/uP8i7JaGOxKc.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/42-2-智能小车-智能避障2(MEGO).mix rename to boards/default/micropython_esp32s2/examples/uP8i7JaGOxKc.mix diff --git a/boards/default/micropython_esp32s2/examples/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32s2/examples/vHnCAzBu2QCM.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/07-2-过程控制-自动补光.mix rename to boards/default/micropython_esp32s2/examples/vHnCAzBu2QCM.mix diff --git a/boards/default/micropython_esp32s2/examples/10-2-输入输出-减压神器.mix b/boards/default/micropython_esp32s2/examples/w2i55B0otkox.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/10-2-输入输出-减压神器.mix rename to boards/default/micropython_esp32s2/examples/w2i55B0otkox.mix diff --git a/boards/default/micropython_esp32s2/examples/22-1-红外接近-双门人数统计.mix b/boards/default/micropython_esp32s2/examples/wWC-_q_3KJtu.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/22-1-红外接近-双门人数统计.mix rename to boards/default/micropython_esp32s2/examples/wWC-_q_3KJtu.mix diff --git a/boards/default/micropython_esp32s2/examples/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32s2/examples/yUIiNoZgZBN2.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/14-2-逻辑计算-反应测试2.mix rename to boards/default/micropython_esp32s2/examples/yUIiNoZgZBN2.mix diff --git a/boards/default/micropython_esp32s2/examples/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32s2/examples/z6Bhkqeh8Ri6.mix similarity index 100% rename from boards/default/micropython_esp32s2/examples/19-1-复杂控制-多线程.mix rename to boards/default/micropython_esp32s2/examples/z6Bhkqeh8Ri6.mix diff --git a/boards/default/micropython_esp32s2/index.xml b/boards/default/micropython_esp32s2/index.xml index 9d8c6217..31513b21 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.com \ 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.com \ 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 344b96f0..9a588624 100644 --- a/boards/default/micropython_esp32s2/main.bundle.js +++ b/boards/default/micropython_esp32s2/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Dt,controls_typeLists:()=>ft,variables_change:()=>Lt,variables_get:()=>St,variables_global:()=>Nt,variables_set:()=>At});var i={};t.r(i),t.d(i,{base_setup:()=>vt,controls_delay:()=>Yt,controls_end_program:()=>Xt,controls_except:()=>Jt,controls_finally:()=>zt,controls_flow_statements:()=>Gt,controls_for:()=>Ut,controls_forEach:()=>Vt,controls_for_range:()=>wt,controls_if:()=>xt,controls_if_else:()=>Wt,controls_if_elseif:()=>Ht,controls_if_if:()=>kt,controls_lambda:()=>Qt,controls_main:()=>Pt,controls_pass:()=>jt,controls_range:()=>bt,controls_repeat_ext:()=>qt,controls_thread:()=>Zt,controls_try:()=>Kt,controls_try_finally:()=>Bt,controls_whileUntil:()=>yt,do_while:()=>$t});var n={};t.r(n),t.d(n,{base_map:()=>Re,math_arithmetic:()=>se,math_bit:()=>_e,math_constant:()=>ie,math_constant_mp:()=>ne,math_constrain:()=>Ie,math_dec:()=>ae,math_indexer_number:()=>he,math_map:()=>Te,math_max_min:()=>re,math_number:()=>ee,math_number_base_conversion:()=>le,math_random:()=>de,math_random_seed:()=>Me,math_round:()=>me,math_selfcalcu:()=>oe,math_to_int:()=>ue,math_trig:()=>pe,text_to_number:()=>Oe,text_to_number_skulpt:()=>Ee});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Le,char_to_ascii:()=>Ne,number_to_text:()=>De,os_system:()=>$e,text:()=>ge,text_capital:()=>Ve,text_center:()=>ye,text_char:()=>Se,text_char_at:()=>Pe,text_char_at2:()=>Fe,text_char_at3:()=>qe,text_compareTo:()=>ze,text_compare_to:()=>be,text_create_with_container:()=>We,text_create_with_item:()=>Ke,text_encode:()=>je,text_equals_starts_ends:()=>xe,text_eval:()=>Ze,text_find:()=>Be,text_format:()=>He,text_format_noreturn:()=>Qe,text_join:()=>Ae,text_join_seq:()=>Ge,text_length:()=>fe,text_random_char:()=>ve,text_replace:()=>Ue,text_split:()=>we,text_strip:()=>ke,text_substring:()=>Xe,text_substring2:()=>Ye,text_substring3:()=>Je,text_textarea:()=>Ce});var o={};t.r(o),t.d(o,{list_many_input:()=>gi,list_tolist:()=>fi,list_tolist2:()=>Vi,list_trig:()=>Ei,lists_2d_get_col_row_data:()=>si,lists_2d_get_data_with_col_row:()=>ni,lists_append_extend:()=>ri,lists_change_to:()=>ci,lists_change_to_general:()=>Si,lists_clear:()=>hi,lists_create_with:()=>oi,lists_create_with2:()=>Fi,lists_create_with_container:()=>pi,lists_create_with_item:()=>ai,lists_create_with_noreturn:()=>Ci,lists_create_with_text:()=>_i,lists_create_with_text2:()=>Pi,lists_del_general:()=>Ai,lists_find:()=>Oi,lists_getIndex3:()=>vi,lists_getSublist3:()=>Yi,lists_get_index:()=>ei,lists_get_random_item:()=>li,lists_get_random_sublist:()=>di,lists_get_sublist:()=>ii,lists_insert_value:()=>Ii,lists_insert_value2:()=>xi,lists_pop:()=>mi,lists_remove_at:()=>Mi,lists_remove_at2:()=>bi,lists_reverse:()=>Ti,lists_setIndex3:()=>Xi,lists_set_index:()=>ui,lists_sort:()=>Ri,lists_zip:()=>Li,lists_zip_container:()=>Ni,lists_zip_item:()=>Di});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>$i,dicts_add_or_change:()=>Wi,dicts_clear:()=>zi,dicts_create_with:()=>Bi,dicts_create_with_container:()=>Gi,dicts_create_with_item:()=>Ui,dicts_create_with_noreturn:()=>nn,dicts_deldict:()=>Zi,dicts_delete:()=>Ki,dicts_get:()=>ki,dicts_get_default:()=>Hi,dicts_items:()=>qi,dicts_keys:()=>wi,dicts_length:()=>ji,dicts_pop:()=>tn,dicts_setdefault:()=>en,dicts_to_json:()=>on,dicts_todict:()=>sn,dicts_update:()=>Ji,dicts_values:()=>Qi,json_to_dicts:()=>_n});var p={};t.r(p),t.d(p,{logic_boolean:()=>dn,logic_compare:()=>an,logic_compare_continous:()=>un,logic_is:()=>Mn,logic_is_in:()=>hn,logic_negate:()=>ln,logic_null:()=>In,logic_operation:()=>rn,logic_tobool:()=>mn,logic_true_or_false:()=>Tn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Gn,sdcard_use_spi_init:()=>Bn,storage_can_write_ornot:()=>Ln,storage_change_dir:()=>Vn,storage_close_file:()=>Dn,storage_delete_file:()=>Fn,storage_file_seek:()=>Yn,storage_file_tell:()=>vn,storage_file_write:()=>gn,storage_fileopen:()=>En,storage_fileopen_new:()=>Rn,storage_fileopen_new_encoding:()=>cn,storage_get_a_line:()=>An,storage_get_contents:()=>Sn,storage_get_contents_without_para:()=>Cn,storage_get_current_dir:()=>Xn,storage_get_file_size:()=>Pn,storage_get_filename:()=>Nn,storage_is_file:()=>yn,storage_list_all_files:()=>fn,storage_make_dir:()=>xn,storage_open_file_with_os:()=>On,storage_rename:()=>bn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Jn,procedures_callreturn:()=>zn,procedures_defnoreturn:()=>kn,procedures_defreturn:()=>Hn,procedures_ifreturn:()=>qn,procedures_mutatorarg:()=>Kn,procedures_mutatorcontainer:()=>Wn,procedures_return:()=>Qn});var r={};t.r(r),t.d(r,{tuple_change_to:()=>as,tuple_create_with:()=>Zn,tuple_create_with_container:()=>$n,tuple_create_with_item:()=>ts,tuple_create_with_noreturn:()=>ds,tuple_create_with_text2:()=>es,tuple_create_with_text_return:()=>is,tuple_del:()=>os,tuple_find:()=>us,tuple_getIndex:()=>ns,tuple_getSublist:()=>ls,tuple_get_random_item:()=>Ts,tuple_get_sublist:()=>Is,tuple_join:()=>_s,tuple_length:()=>ss,tuple_max:()=>ps,tuple_totuple:()=>hs,tuple_trig:()=>rs});var l={};t.r(l),t.d(l,{set_add_discard:()=>As,set_clear:()=>gs,set_create_with:()=>ms,set_create_with_container:()=>Os,set_create_with_item:()=>Es,set_create_with_text_return:()=>Ds,set_length:()=>Rs,set_operate:()=>Cs,set_operate_update:()=>Ss,set_pop:()=>cs,set_sub:()=>Ls,set_toset:()=>fs,set_update:()=>Ns});var d={};t.r(d),t.d(d,{html_content:()=>Xs,html_content_more:()=>xs,html_document:()=>Ps,html_form:()=>Vs,html_head_body:()=>Ys,html_style:()=>bs,html_style_color:()=>Bs,html_style_content:()=>ys,html_text:()=>Gs,html_title:()=>vs});var I={};t.r(I),t.d(I,{attribute_access:()=>to,function_call:()=>js,function_call_container:()=>Zs,function_call_item:()=>$s,raw_block:()=>ks,raw_empty:()=>Ws,raw_expression:()=>Hs,raw_table:()=>ws,text_comment:()=>Ks,text_print_multiple:()=>zs,text_print_multiple_container:()=>qs,text_print_multiple_item:()=>Qs,type_check:()=>Js});var T={};t.r(T),t.d(T,{controls_type:()=>oo,controls_typeLists:()=>_o,variables_change:()=>no,variables_get:()=>eo,variables_global:()=>so,variables_set:()=>io});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>mo,base_setup:()=>ao,controls_delay:()=>Mo,controls_flow_statements:()=>ho,controls_for:()=>lo,controls_forEach:()=>go,controls_for_range:()=>Io,controls_if:()=>uo,controls_interrupts:()=>Ro,controls_lambda:()=>So,controls_main:()=>po,controls_millis:()=>Oo,controls_nointerrupts:()=>co,controls_pass:()=>Lo,controls_range:()=>Co,controls_repeat:()=>Fo,controls_repeat_ext:()=>fo,controls_thread:()=>No,controls_try_finally:()=>ro,controls_whileUntil:()=>To,do_while:()=>Do,reset:()=>Eo,time_sleep:()=>Ao});var M={};t.r(M),t.d(M,{base_map:()=>jo,math_arithmetic:()=>xo,math_bit:()=>Xo,math_constant:()=>vo,math_constant_mp:()=>Yo,math_constrain:()=>Ho,math_dec:()=>Bo,math_indexer_number:()=>Jo,math_map:()=>ko,math_max_min:()=>Uo,math_number:()=>Po,math_number_base_conversion:()=>Wo,math_random:()=>wo,math_random_seed:()=>Ko,math_round:()=>zo,math_selfcalcu:()=>bo,math_single:()=>Vo,math_to_int:()=>Go,math_trig:()=>yo,text_to_number:()=>qo,text_to_number_skulpt:()=>Qo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>i_,char_to_ascii:()=>n_,number_to_text:()=>s_,os_system:()=>N_,text:()=>Zo,text_capital:()=>I_,text_center:()=>T_,text_char:()=>t_,text_char_at:()=>p_,text_char_at2:()=>__,text_char_at3:()=>S_,text_compareTo:()=>C_,text_compare_to:()=>r_,text_encode:()=>A_,text_equals_starts_ends:()=>u_,text_eval:()=>L_,text_find:()=>h_,text_format:()=>R_,text_format_noreturn:()=>c_,text_join:()=>e_,text_join_seq:()=>M_,text_length:()=>o_,text_random_char:()=>a_,text_replace:()=>m_,text_split:()=>O_,text_strip:()=>E_,text_substring:()=>d_,text_substring2:()=>l_,text_substring3:()=>g_,text_textarea:()=>$o});var O={};t.r(O),t.d(O,{list_many_input:()=>J_,list_tolist:()=>op,list_tolist2:()=>_p,list_trig:()=>H_,lists_2d_get_col_row_data:()=>F_,lists_2d_get_data_with_col_row:()=>f_,lists_append_extend:()=>x_,lists_change_to:()=>K_,lists_change_to_general:()=>q_,lists_clear:()=>G_,lists_create_with:()=>P_,lists_create_with2:()=>j_,lists_create_with_noreturn:()=>z_,lists_create_with_text:()=>v_,lists_create_with_text2:()=>Z_,lists_del_general:()=>Q_,lists_find:()=>U_,lists_getIndex3:()=>$_,lists_getSublist3:()=>tp,lists_get_index:()=>Y_,lists_get_random_item:()=>b_,lists_get_random_sublist:()=>V_,lists_get_sublist:()=>D_,lists_insert_value:()=>y_,lists_insert_value2:()=>ip,lists_pop:()=>k_,lists_remove_at:()=>w_,lists_remove_at2:()=>np,lists_reverse:()=>B_,lists_setIndex3:()=>ep,lists_set_index:()=>X_,lists_sort:()=>W_,lists_zip:()=>sp});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>Ep,dicts_add_or_change:()=>lp,dicts_clear:()=>Tp,dicts_create_with:()=>pp,dicts_create_with_noreturn:()=>gp,dicts_deldict:()=>Op,dicts_delete:()=>dp,dicts_get:()=>up,dicts_get_default:()=>rp,dicts_items:()=>hp,dicts_keys:()=>ap,dicts_length:()=>mp,dicts_pop:()=>Rp,dicts_setdefault:()=>cp,dicts_to_json:()=>Sp,dicts_todict:()=>Cp,dicts_update:()=>Ip,dicts_values:()=>Mp,json_to_dicts:()=>Ap});var R={};t.r(R),t.d(R,{logic_boolean:()=>Fp,logic_compare:()=>Lp,logic_compare_continous:()=>Np,logic_is:()=>Xp,logic_is_in:()=>Yp,logic_negate:()=>fp,logic_null:()=>Pp,logic_operation:()=>Dp,logic_tobool:()=>xp,logic_true_or_false:()=>vp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>sa,sdcard_use_spi_init:()=>na,storage_can_write_ornot:()=>Hp,storage_change_dir:()=>Zp,storage_close_file:()=>Kp,storage_delete_file:()=>zp,storage_file_seek:()=>jp,storage_file_tell:()=>Qp,storage_file_write:()=>Gp,storage_fileopen:()=>Vp,storage_fileopen_new:()=>yp,storage_fileopen_new_encoding:()=>Bp,storage_get_a_line:()=>kp,storage_get_contents:()=>wp,storage_get_contents_without_para:()=>Up,storage_get_current_dir:()=>$p,storage_get_file_size:()=>qp,storage_get_filename:()=>Wp,storage_is_file:()=>ia,storage_list_all_files:()=>Jp,storage_make_dir:()=>ta,storage_open_file_with_os:()=>bp,storage_rename:()=>ea});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>aa,procedures_callreturn:()=>pa,procedures_defnoreturn:()=>_a,procedures_defreturn:()=>oa,procedures_ifreturn:()=>ua,procedures_return:()=>ra});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ea,tuple_create_with:()=>la,tuple_create_with_noreturn:()=>Ca,tuple_create_with_text2:()=>da,tuple_create_with_text_return:()=>Ia,tuple_del:()=>Ma,tuple_find:()=>Ra,tuple_getIndex:()=>Ta,tuple_getSublist:()=>ga,tuple_get_random_item:()=>Aa,tuple_get_sublist:()=>Sa,tuple_join:()=>ma,tuple_length:()=>ha,tuple_max:()=>Oa,tuple_totuple:()=>La,tuple_trig:()=>ca});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ya,set_clear:()=>Fa,set_create_with:()=>Na,set_create_with_text_return:()=>ba,set_length:()=>Da,set_operate:()=>Pa,set_operate_update:()=>va,set_pop:()=>fa,set_sub:()=>Xa,set_toset:()=>Va,set_update:()=>xa});var A={};t.r(A),t.d(A,{html_content:()=>Ua,html_content_more:()=>wa,html_document:()=>ya,html_form:()=>Ha,html_head_body:()=>Ga,html_style:()=>ka,html_style_content:()=>Wa,html_text:()=>Ka,html_title:()=>Ba});var L={};t.r(L),t.d(L,{attribute_access:()=>$a,function_call:()=>Za,raw_block:()=>Ja,raw_empty:()=>qa,raw_expression:()=>za,raw_table:()=>Qa,type_check:()=>ja});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>lu,actuator_extern_get_led_state:()=>du,actuator_extern_led_bright:()=>ru,actuator_extern_led_brightness:()=>Iu,actuator_ms32006_dcmotor:()=>gu,actuator_ms32006_init:()=>cu,actuator_ms32006_stepper:()=>Cu,actuator_neopixel_init:()=>Su,actuator_neopixel_rgb:()=>Au,actuator_neopixel_rgb_all:()=>Lu,actuator_neopixel_write:()=>Nu,actuator_use_uart_init:()=>Du,esp32_music_get_tempo_extern:()=>pu,esp32_music_pitch:()=>nu,esp32_music_pitch_init:()=>iu,esp32_music_pitch_with_time:()=>su,esp32_music_play_list:()=>ou,esp32_music_reset_extern:()=>au,esp32_music_set_tempo_extern:()=>_u,esp32_music_stop:()=>uu,mixbot_actuator_extern_get_addr:()=>Ku,mixbot_actuator_extern_set_addr:()=>Ju,mixbot_addr_extern:()=>Yu,robot_led_extern:()=>Vu,robot_led_extern_get_value:()=>yu,robot_motor_extern:()=>Xu,robot_motor_extern_get_speed:()=>xu,robot_servo_extern_absolute_run:()=>wu,robot_servo_extern_get_status:()=>Bu,robot_servo_extern_relative_continue:()=>Wu,robot_servo_extern_relative_origin:()=>ku,robot_servo_extern_relative_run:()=>Hu,robot_servo_extern_stop:()=>Uu,robot_servo_extern_stop_mode:()=>Gu,robot_traffic_light_extern:()=>bu,servo_get_angle:()=>Eu,servo_get_speed:()=>Ru,servo_init:()=>Tu,servo_move:()=>hu,servo_set_angle:()=>mu,servo_set_speed:()=>Ou,servo_speed_360:()=>Mu,syn6288_builtin_voice:()=>Pu,syn6288_get_voice:()=>Fu,syn6288_set_voice:()=>fu,syn6288_tts_play:()=>vu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Ar,actuator_dc_motor_stop:()=>Lr,actuator_get_led_bright:()=>Zu,actuator_get_led_state:()=>$u,actuator_led_bright:()=>ju,actuator_led_brightness:()=>tr,actuator_mixbot_buzzer_on_off:()=>Pr,actuator_mixgo_nova_mic_get:()=>br,actuator_mixgo_nova_mic_set:()=>xr,actuator_mixgo_nova_onboard_music_pitch:()=>wr,actuator_mixgo_nova_onboard_music_stop:()=>kr,actuator_mixgo_nova_play_audio:()=>Gr,actuator_mixgo_nova_play_online_audio:()=>Ur,actuator_mixgo_nova_record_audio:()=>Br,actuator_mixgo_nova_voice_get:()=>yr,actuator_mixgo_nova_voice_set:()=>Vr,actuator_mixgo_zero_led_color:()=>er,actuator_onboard_neopixel_rgb:()=>pr,actuator_onboard_neopixel_rgb_all:()=>ar,actuator_onboard_neopixel_rgb_show_all_chase:()=>rr,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>ur,actuator_onboard_neopixel_write:()=>lr,actuator_rm_onboard_neopixel_rgb:()=>dr,actuator_rm_onboard_neopixel_rgb_all:()=>Ir,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Tr,actuator_stepper_keep:()=>Cr,actuator_stepper_stop:()=>Sr,bitbot_motor:()=>Xr,bitbot_move:()=>vr,bitbot_stop:()=>Yr,cc_number:()=>_r,esp32_music_get_tempo:()=>Mr,esp32_music_reset:()=>mr,esp32_music_set_tempo:()=>hr,esp32_onboard_music_pitch:()=>Or,esp32_onboard_music_pitch_with_time:()=>Er,esp32_onboard_music_play_list:()=>cr,esp32_onboard_music_stop:()=>Rr,get_power_output:()=>Wr,ledswitch:()=>Qu,mixbot_motor:()=>Fr,mixbot_motor_status:()=>Nr,mixbot_move:()=>Dr,mixbot_stop:()=>fr,number:()=>qu,rm_actuator_get_led_bright:()=>nr,rm_actuator_get_led_state:()=>sr,rm_actuator_led_bright:()=>ir,rm_actuator_led_brightness:()=>or,rm_motor:()=>gr,set_all_power_output:()=>Kr,set_power_output:()=>Hr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Ll,ai_sensor_ailocal_class:()=>hl,ai_sensor_ailocal_class_result:()=>Ml,ai_sensor_ailocal_train:()=>Tl,ai_sensor_asr_recognize:()=>cl,ai_sensor_audio_play:()=>Ol,ai_sensor_audio_record:()=>ml,ai_sensor_barcode:()=>tl,ai_sensor_circle:()=>_l,ai_sensor_classifier_faces:()=>Al,ai_sensor_color:()=>rl,ai_sensor_color_chases:()=>Il,ai_sensor_color_chases_result:()=>dl,ai_sensor_config:()=>Zr,ai_sensor_face:()=>Sl,ai_sensor_find_20objects:()=>Nl,ai_sensor_find_barcodes:()=>el,ai_sensor_find_circles:()=>pl,ai_sensor_find_colors:()=>ll,ai_sensor_find_licenseplates:()=>Cl,ai_sensor_find_lines:()=>ol,ai_sensor_find_qrcodes:()=>jr,ai_sensor_find_rects:()=>ul,ai_sensor_find_tags:()=>nl,ai_sensor_licenseplate:()=>gl,ai_sensor_line:()=>sl,ai_sensor_qrcode:()=>qr,ai_sensor_qrcode_lite:()=>Qr,ai_sensor_rect:()=>al,ai_sensor_rgb:()=>$r,ai_sensor_tag:()=>il,ai_sensor_use_uart_init:()=>zr,ai_sensor_yolo_recognize:()=>El,ai_sensor_yolo_recognize_result:()=>Rl});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>Fl,MICROPYTHON_AI_Speech_unit:()=>fl,MICROPYTHON_AI_client:()=>Dl});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>Wl,mpython_blynk_app_notify:()=>yl,mpython_blynk_email:()=>Ul,mpython_blynk_get_timers:()=>wl,mpython_blynk_on_connected:()=>xl,mpython_blynk_on_disconnected:()=>Xl,mpython_blynk_run:()=>Vl,mpython_blynk_sensor_data_to_app:()=>Hl,mpython_blynk_set_property:()=>Gl,mpython_blynk_setup:()=>Kl,mpython_blynk_stop_timers:()=>Bl,mpython_blynk_sync_virtual:()=>Yl,mpython_blynk_terminal_widget_vpin:()=>vl,mpython_blynktimer:()=>kl,mpython_blynktimer_run:()=>bl});var v={};t.r(v),t.d(v,{cc_g1_init:()=>Jl,cc_g1_read_bat:()=>zl,cc_g1_read_joystick:()=>ql,cc_g1_read_key:()=>Ql,cc_g1_turnoff:()=>jl});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>_d,ce_go_get_led_bright:()=>ed,ce_go_get_led_state:()=>id,ce_go_hall_attachInterrupt:()=>pd,ce_go_hall_data:()=>ud,ce_go_hall_initialize:()=>ad,ce_go_led_bright:()=>td,ce_go_led_brightness:()=>nd,ce_go_light_number:()=>$l,ce_go_pin_light:()=>Td,ce_go_pin_near:()=>ld,ce_go_pin_near_line:()=>rd,ce_go_pin_near_state_change:()=>dd,ce_go_stepper_keep:()=>sd,ce_go_stepper_stop:()=>od,sensor_mixgome_eulerangles:()=>Id});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>Qd,communicate_bluetooth_connect:()=>tI,communicate_bluetooth_disconnect:()=>eI,communicate_bluetooth_handle:()=>_I,communicate_bluetooth_is_connected:()=>nI,communicate_bluetooth_mac:()=>$d,communicate_bluetooth_peripheral_init:()=>jd,communicate_bluetooth_recv:()=>sI,communicate_bluetooth_recv_only:()=>oI,communicate_bluetooth_scan:()=>Zd,communicate_bluetooth_send:()=>iI,communicate_espnow_init:()=>pI,communicate_espnow_init_new:()=>aI,communicate_i2c_available:()=>vd,communicate_i2c_init:()=>Od,communicate_i2c_master_read:()=>Pd,communicate_i2c_onboard:()=>Md,communicate_i2c_read:()=>Ed,communicate_i2c_scan:()=>cd,communicate_i2c_write:()=>Rd,communicate_ir_recv_init:()=>Gd,communicate_ir_send_init:()=>Wd,communicate_ow_init:()=>Xd,communicate_ow_read:()=>bd,communicate_ow_reset:()=>Bd,communicate_ow_scan:()=>xd,communicate_ow_select:()=>yd,communicate_ow_write:()=>Vd,communicate_spi_buffer:()=>Sd,communicate_spi_init:()=>gd,communicate_spi_onboard:()=>md,communicate_spi_read:()=>Ad,communicate_spi_read_output:()=>Ld,communicate_spi_readinto:()=>Nd,communicate_spi_readinto_output:()=>Dd,communicate_spi_set:()=>Cd,communicate_spi_write:()=>fd,communicate_spi_write_readinto:()=>Fd,espnow_radio_channel:()=>TI,espnow_radio_channel_new:()=>MI,espnow_radio_on_off:()=>mI,espnow_radio_rec:()=>EI,espnow_radio_recv:()=>cI,espnow_radio_recv_certain_msg:()=>gI,espnow_radio_recv_certain_msg_new:()=>SI,espnow_radio_recv_msg:()=>RI,espnow_radio_recv_new:()=>CI,espnow_radio_send:()=>OI,espnow_radio_txpower:()=>hI,i2c_available:()=>KI,i2c_init:()=>vI,i2c_master_reader2:()=>WI,i2c_read:()=>YI,i2c_scan:()=>xI,i2c_slave_onreceive:()=>Yd,i2c_write:()=>XI,internal_variable:()=>Ud,ir_recv_timeout:()=>Hd,ir_transmit_busy:()=>qd,ir_transmit_conventional_data:()=>Kd,ir_transmit_raw_code:()=>zd,ir_transmit_study_code:()=>Jd,ir_whether_recv:()=>kd,lora_init:()=>AI,lora_packet:()=>LI,lora_recv:()=>DI,lora_send:()=>NI,network_espnow_info:()=>rI,network_espnow_mac:()=>uI,network_espnow_recv:()=>lI,network_espnow_recv_handle:()=>II,network_espnow_send:()=>dI,recv_fun:()=>wd,spi_buffer:()=>yI,spi_init:()=>bI,spi_read:()=>BI,spi_read_output:()=>GI,spi_readinto:()=>UI,spi_readinto_output:()=>wI,spi_set:()=>VI,spi_write:()=>kI,spi_write_readinto:()=>HI,urequests_attribute:()=>FI,urequests_get:()=>fI,urequests_method:()=>PI});var x={};t.r(x),t.d(x,{display_animate:()=>gT,display_blink_rate:()=>OT,display_circle:()=>CT,display_color_seclet:()=>xT,display_draw_4strings:()=>dT,display_fill:()=>cT,display_get_screen_image:()=>mT,display_help:()=>AT,display_image_size:()=>IT,display_lcd_use_i2c_init:()=>UT,display_line:()=>hT,display_line_arbitrarily:()=>MT,display_matrix_extern_bright_point:()=>sT,display_matrix_extern_bright_screen:()=>_T,display_matrix_extern_clear:()=>pT,display_matrix_extern_get_pixel:()=>nT,display_matrix_extern_get_screen_pixel:()=>oT,display_matrix_extern_image_builtins:()=>aT,display_matrix_extern_scroll_string:()=>ZI,display_matrix_extern_scroll_string_delay:()=>$I,display_matrix_extern_shift:()=>iT,display_matrix_extern_show_frame_string:()=>tT,display_matrix_extern_show_frame_string_delay:()=>eT,display_matrix_extern_show_image:()=>QI,display_matrix_extern_show_image_or_string_delay:()=>jI,display_matrix_use_i2c_init:()=>qI,display_oled_drawPixel:()=>NT,display_oled_showBitmap:()=>LT,display_oled_use_i2c_init:()=>KT,display_onoff:()=>RT,display_rect:()=>TT,display_rgb_color:()=>ET,display_tm1650_power:()=>fT,display_tm1650_set_brightness:()=>vT,display_tm1650_show_dot:()=>PT,display_tm1650_show_num:()=>FT,display_tm_use_i2c_init:()=>DT,display_triangle:()=>ST,display_use_i2c_init:()=>lT,extern_oled_bright_point:()=>nh,extern_oled_clear:()=>sh,extern_oled_get_pixel:()=>ih,extern_oled_hvline:()=>_h,extern_oled_line:()=>ph,extern_oled_scroll_string:()=>jT,extern_oled_scroll_string_delay:()=>ZT,extern_oled_shape_rect:()=>oh,extern_oled_shift:()=>eh,extern_oled_show_frame_string:()=>$T,extern_oled_show_frame_string_delay:()=>th,extern_oled_show_image:()=>JT,extern_oled_show_image_or_string_delay:()=>QT,extern_oled_show_image_xy:()=>zT,extern_oled_show_string:()=>qT,lcd_backlight:()=>HT,lcd_clear:()=>WT,lcd_print_string:()=>kT,lcd_show_image_or_string_delay:()=>wT,matrix_extern_image_arithmetic:()=>uT,matrix_extern_image_invert:()=>rT,tft_fill:()=>BT,tft_line_arbitrarily:()=>GT,tft_scroll_string_delay:()=>VT,tft_show_frame_string_delay:()=>yT,tft_show_image_or_string_delay:()=>bT,tft_show_image_xy:()=>XT,tft_use_spi_init:()=>YT});var b={};t.r(b),t.d(b,{bitbot_display_image_create:()=>Kh,display_bright_point:()=>gh,display_bright_screen:()=>Sh,display_clear:()=>Ah,display_get_pixel:()=>ch,display_get_screen_pixel:()=>Ch,display_image_builtins:()=>Mh,display_image_builtins_all:()=>mh,display_image_create:()=>hh,display_scroll_string:()=>lh,display_scroll_string_delay:()=>dh,display_shift:()=>Rh,display_show_frame_string:()=>Ih,display_show_frame_string_delay:()=>Th,display_show_image:()=>uh,display_show_image_or_string_delay:()=>rh,image_arithmetic:()=>Oh,image_invert:()=>Eh,mixbot_display_bright_screen:()=>Hh,mixbot_display_get_ambientbright:()=>kh,mixbot_display_get_screen_pixel:()=>wh,mixbot_display_image_create:()=>Uh,mixbot_display_rotate:()=>Wh,mixgo_display_image_create_new:()=>Dh,mixgome_display_font:()=>fh,mixgome_display_image_create:()=>Lh,mixgomini_display_image_create:()=>Nh,mpython_display_hvline:()=>yh,mpython_display_line:()=>Bh,mpython_display_shape_rect:()=>Vh,mpython_pbm_image:()=>Gh,onboard_oled_bright_point:()=>bh,onboard_oled_scroll_string_delay:()=>Xh,onboard_oled_show_frame_string_delay:()=>xh,onboard_oled_show_image:()=>Fh,onboard_oled_show_image_or_string_delay:()=>Yh,onboard_oled_show_image_xy:()=>Ph,onboard_oled_show_string:()=>vh,onboard_tft_bright_point:()=>oM,onboard_tft_bright_screen:()=>aM,onboard_tft_clear:()=>_M,onboard_tft_clock_clear:()=>TM,onboard_tft_clock_draw:()=>IM,onboard_tft_clock_get_rtctime:()=>lM,onboard_tft_clock_init:()=>rM,onboard_tft_clock_set_time:()=>dM,onboard_tft_display_hvline:()=>eM,onboard_tft_display_line:()=>iM,onboard_tft_display_shape_circle:()=>hM,onboard_tft_display_shape_rect:()=>tM,onboard_tft_fill:()=>uM,onboard_tft_get_pixel:()=>sM,onboard_tft_get_screen_pixel:()=>pM,onboard_tft_scroll_string:()=>Qh,onboard_tft_scroll_string_delay:()=>jh,onboard_tft_shift:()=>nM,onboard_tft_show_frame_string:()=>Zh,onboard_tft_show_frame_string_delay:()=>$h,onboard_tft_show_image:()=>Jh,onboard_tft_show_image_or_string_delay:()=>qh,onboard_tft_show_image_xy:()=>zh});var V={};t.r(V),t.d(V,{factory_block:()=>LM,factory_block_return:()=>NM,factory_block_return_with_textarea:()=>fM,factory_block_with_textarea:()=>DM,factory_callMethod_noreturn:()=>SM,factory_callMethod_return:()=>AM,factory_create_with_container:()=>RM,factory_create_with_item:()=>cM,factory_declare:()=>CM,factory_from_import:()=>mM,factory_function_noreturn:()=>EM,factory_function_return:()=>gM,factory_import:()=>OM,folding_block:()=>FM});var y={};t.r(y),t.d(y,{controls_pin_attachInterrupt:()=>ZM,inout_analog_atten:()=>GM,inout_analog_read:()=>BM,inout_analog_read_init:()=>KM,inout_analog_write:()=>bM,inout_analog_write_init:()=>WM,inout_analog_write_set:()=>VM,inout_analog_write_set_freq:()=>qM,inout_digital_init:()=>kM,inout_digital_read:()=>XM,inout_digital_write:()=>YM,inout_highlow:()=>vM,inout_pinMode:()=>zM,inout_pin_attachInterrupt:()=>wM,inout_pin_pressed:()=>UM,inout_pin_pressed_init:()=>JM,inout_pwm_analog_write:()=>xM,inout_pwm_analog_write_init:()=>HM,inout_pwm_analog_write_set_freq:()=>yM,pin_pressed:()=>jM,pin_pressed_init:()=>QM});var B={};t.r(B),t.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>gm,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>cm,IOT_EMQX_PING:()=>Em,IOT_FORMATTING:()=>mm,IOT_FORMAT_STRING:()=>Om,IOT_MIXIO_NTP:()=>Rm,IOT_MIXIO_PUBLISH:()=>rm,IOT_MIXIO_SUBSCRIBE:()=>lm,iot_checkonenet:()=>vm,iot_client_onboard:()=>Sm,iot_create_with_item:()=>am,iot_http_client:()=>Am,iot_http_data:()=>Lm,iot_mixio_check:()=>Tm,iot_mixio_connect:()=>um,iot_mixio_connect_only:()=>Im,iot_mixio_disconnect:()=>dm,iot_mixio_format_msg:()=>Mm,iot_mixio_format_topic:()=>hm,iot_mixly_key:()=>Cm,iot_mqtt_client:()=>Nm,iot_mqtt_data:()=>Dm,iot_onenet_check:()=>nm,iot_onenet_connect:()=>em,iot_onenet_disconnect:()=>im,iot_onenet_publish:()=>om,iot_onenet_publish_dict:()=>sm,iot_onenetconnect:()=>Fm,iot_onenetdisconnect:()=>Pm,iot_publish:()=>Ym,iot_publish_container:()=>_m,iot_publish_item:()=>pm,iot_wifi_connect:()=>tm,iot_wificonnect:()=>fm});var G={};t.r(G),t.d(G,{network_ap_connect:()=>Hm,network_connect:()=>Bm,network_get_connect:()=>Um,network_get_wifi:()=>km,network_init:()=>xm,network_is_active:()=>Vm,network_open:()=>bm,network_scan:()=>ym,network_server:()=>Wm,network_socket_accept:()=>Qm,network_socket_bind:()=>Jm,network_socket_close:()=>eO,network_socket_connect:()=>zm,network_socket_init:()=>Km,network_socket_listen:()=>qm,network_socket_receive:()=>jm,network_socket_receive_from:()=>$m,network_socket_send:()=>Zm,network_socket_send_to:()=>tO,network_stop:()=>wm,network_wifi_connect:()=>Gm,ntptime_address:()=>_O,ntptime_time:()=>oO,requests_attribute:()=>nO,requests_get:()=>iO,requests_method:()=>sO});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>uO,pe_g1_dc_motor:()=>rO,pe_g1_dc_motor_speed:()=>lO,pe_g1_servo_get_angle:()=>TO,pe_g1_servo_get_speed:()=>hO,pe_g1_servo_set_angle:()=>dO,pe_g1_servo_set_speed:()=>IO,pe_g1_use_i2c_init:()=>aO});var w={};t.r(w),t.d(w,{HCSR04:()=>ME,PS2_Button:()=>RE,PS2_Buttons:()=>gE,PS2_Buttons_new:()=>LE,PS2_State:()=>cE,PS2_init:()=>mE,PS2_init_new:()=>SE,PS2_stk:()=>CE,PS2_stk_new:()=>NE,PS2_vibration:()=>EE,PS2_vibration_new:()=>AE,esp32_s2_weather_init:()=>dE,esp32_s2_weather_rain:()=>TE,esp32_s2_weather_wd:()=>IE,esp32_s2_weather_ws:()=>hE,extern_rfid_read:()=>ZO,extern_rfid_readcontent:()=>tE,extern_rfid_readid:()=>$O,extern_rfid_status:()=>nE,extern_rfid_write:()=>eE,extern_rfid_write_return:()=>iE,gnss_get_data:()=>PE,gnss_have_data:()=>FE,mixbot_sensor_extern_get_addr:()=>yE,mixbot_sensor_extern_set_addr:()=>BE,pm25_get_data:()=>fE,robot_button_extern_get_value:()=>vE,robot_color_extern_get_value:()=>VE,robot_infrared_extern_get_value:()=>XE,robot_infrared_extern_grey_get_value:()=>xE,robot_potentiometer_extern_get_value:()=>bE,robot_sonar_extern_get_value:()=>GE,robot_sonar_extern_led:()=>UE,robot_touch_extern_get_value:()=>YE,sensor_APDS9960_extern:()=>XO,sensor_LTR308_extern:()=>xO,sensor_LTR390UV_extern:()=>VO,sensor_MAX30102_extern:()=>YO,sensor_QMC5883L_extern:()=>wO,sensor_VL530LX_extern:()=>yO,sensor_adxl345_get_acceleration:()=>gO,sensor_aht11_extern:()=>GO,sensor_bmp:()=>DO,sensor_compass_reset:()=>QO,sensor_dht11:()=>SO,sensor_ds18x20:()=>FO,sensor_hp203_extern:()=>UO,sensor_light_level:()=>CO,sensor_lm35:()=>PO,sensor_ltr381_extern:()=>bO,sensor_mixgo_extern_button_attachInterrupt:()=>RO,sensor_mixgo_extern_button_get_presses:()=>EO,sensor_mixgo_extern_button_is_pressed:()=>mO,sensor_mixgo_extern_button_was_pressed:()=>OO,sensor_mixgo_extern_light:()=>AO,sensor_mixgo_extern_pin_near:()=>NO,sensor_mixgo_extern_sound:()=>LO,sensor_mixgoce_hot_wheel_degrees:()=>lE,sensor_mixgoce_hot_wheel_is_touched:()=>rE,sensor_mpu9250_attachGestureInterrupt:()=>cO,sensor_mpu9250_calibrate_compass:()=>JO,sensor_mpu9250_field_strength:()=>qO,sensor_mpu9250_gesture:()=>kO,sensor_mpu9250_get_acceleration:()=>HO,sensor_mpu9250_get_gyro:()=>KO,sensor_mpu9250_get_magnetic:()=>WO,sensor_mpu9250_temperature:()=>zO,sensor_sht:()=>fO,sensor_shtc3_extern:()=>BO,sensor_use_i2c_init:()=>vO,sensor_use_spi_init:()=>jO,sensor_use_uart_init:()=>DE,sensor_weather_solo_init:()=>wE,sensor_weather_solo_rain:()=>WE,sensor_weather_solo_wd:()=>kE,sensor_weather_solo_ws:()=>HE,weather_data:()=>sE,weather_have_data:()=>oE,weather_set_label:()=>pE,weather_set_label_container:()=>aE,weather_set_label_item:()=>uE,weather_uart_mixio:()=>_E});var k={};t.r(k),t.d(k,{HCSR04:()=>aR,RTC_set_date:()=>pR,RTC_set_time:()=>_R,bitbot_als_num:()=>Ic,dht11:()=>Rc,number1:()=>rR,number2:()=>lR,number3:()=>dR,number4:()=>IR,number5:()=>TR,number6:()=>hR,number7:()=>MR,onboard_RTC_get_time:()=>CR,onboard_RTC_get_timestamp:()=>SR,onboard_RTC_set_datetime:()=>NR,onboard_RTC_settime_string:()=>LR,onboard_RTC_timestamp_totuple:()=>AR,rfid_readcontent:()=>xR,rfid_readid:()=>XR,rfid_write:()=>bR,rfid_write_return:()=>VR,sensor_LTR308:()=>fR,sensor_aht11:()=>PR,sensor_bitbot_ALS:()=>dc,sensor_button_get_presses:()=>Mc,sensor_button_is_pressed:()=>Tc,sensor_button_was_pressed:()=>hc,sensor_distance_hrsc04:()=>oR,sensor_eulerangles:()=>BR,sensor_field_strength:()=>cc,sensor_get_acceleration:()=>yR,sensor_get_temperature:()=>vR,sensor_hp203:()=>YR,sensor_light:()=>Ec,sensor_mixbot_get_gyro:()=>lc,sensor_mixbot_patrol_calibrate:()=>ac,sensor_mixbot_patrol_value:()=>uc,sensor_mixbot_temperature:()=>rc,sensor_mixgo_LTR308:()=>gR,sensor_mixgo_button_attachInterrupt:()=>QE,sensor_mixgo_button_get_presses:()=>qE,sensor_mixgo_button_is_pressed:()=>JE,sensor_mixgo_button_was_pressed:()=>zE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>QR,sensor_mixgo_cc_mmc5603_get_angle:()=>qR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>zR,sensor_mixgo_light:()=>uR,sensor_mixgo_nova_LTR308:()=>cR,sensor_mixgo_nova_pin_near:()=>RR,sensor_mixgo_pin_near:()=>ER,sensor_mixgo_pin_near_double:()=>OR,sensor_mixgo_pin_near_single:()=>mR,sensor_mixgo_pin_pressed:()=>eR,sensor_mixgo_touch_slide:()=>sR,sensor_mixgocar42_button_attachInterrupt:()=>tR,sensor_mixgocar42_button_get_presses:()=>$E,sensor_mixgocar42_button_is_pressed:()=>jE,sensor_mixgocar42_button_was_pressed:()=>ZE,sensor_mixgocar_battery_left:()=>pc,sensor_mixgocar_pin_near:()=>oc,sensor_mixgocar_pin_near_line:()=>sc,sensor_mixgocar_pin_near_state_change:()=>_c,sensor_mixgoce_pin_pressed:()=>iR,sensor_mixgoce_temperature:()=>ZR,sensor_mixgome_temperature:()=>jR,sensor_mpython_pin_pressed:()=>nR,sensor_mpython_qmi8658_get_gyro:()=>$R,sensor_mpython_qmi8658_temperature:()=>tc,sensor_onboard_compass_reset:()=>JR,sensor_onboard_mpu9250_calibrate_compass:()=>HR,sensor_onboard_mpu9250_field_strength:()=>KR,sensor_onboard_mpu9250_gesture:()=>GR,sensor_onboard_mpu9250_get_acceleration:()=>UR,sensor_onboard_mpu9250_get_gyro:()=>kR,sensor_onboard_mpu9250_get_magnetic:()=>wR,sensor_onboard_mpu9250_temperature:()=>WR,sensor_pin_near:()=>Oc,sensor_pin_pressed:()=>mc,sensor_rm_acc:()=>nc,sensor_rm_battery_left:()=>ic,sensor_rm_pin_near_double:()=>ec,sensor_rtc_init:()=>DR,sensor_sound:()=>FR,sensor_temperature:()=>gc});var H={};t.r(H),t.d(H,{serial_any:()=>Fc,serial_begin:()=>xc,serial_print:()=>Ac,serial_print_byte:()=>Sc,serial_print_hex:()=>Nc,serial_println:()=>Lc,serial_read_from_ai:()=>Hc,serial_readline:()=>Pc,serial_readstr:()=>fc,serial_readstr_until:()=>vc,serial_receive_data_event:()=>Dc,serial_send_to_ai:()=>kc,serial_softserial:()=>Xc,serial_softserial_new:()=>Yc,system_input:()=>bc,system_print:()=>Vc,system_print_container:()=>Uc,system_print_end:()=>Bc,system_print_inline:()=>yc,system_print_item:()=>wc,system_print_many:()=>Gc});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>zc,Timer_init:()=>pg,base_delay:()=>rg,controls_delay:()=>Jc,controls_delay_new:()=>Kc,controls_millis:()=>Qc,controls_uname:()=>Zc,raw_block:()=>jc,reset:()=>qc,system_bitbot_shutdown:()=>_g,system_machine_reset:()=>og,system_ticks_diff:()=>eg,system_timer:()=>tg,system_timer_init:()=>ig,system_wdt_feed:()=>sg,system_wdt_init:()=>ng,time_ticks_diff:()=>ug,timer:()=>$c,timer2:()=>ag});var K={};t.r(K),t.d(K,{WEATHER_DAILY:()=>Ig,WEATHER_HOUR:()=>Tg,WEATHER_NOW:()=>dg});var J={};t.r(J),t.d(J,{actuator_extern_get_led_bright:()=>Xg,actuator_extern_get_led_state:()=>xg,actuator_extern_led_bright:()=>Yg,actuator_extern_led_brightness:()=>bg,actuator_ms32006_dcmotor:()=>gg,actuator_ms32006_init:()=>cg,actuator_ms32006_stepper:()=>Cg,actuator_neopixel_init:()=>Vg,actuator_neopixel_rgb:()=>Gg,actuator_neopixel_rgb_all:()=>yg,actuator_neopixel_write:()=>Bg,actuator_use_uart_init:()=>Ug,esp32_music_get_tempo_extern:()=>fg,esp32_music_pitch:()=>Ag,esp32_music_pitch_init:()=>Sg,esp32_music_pitch_with_time:()=>Lg,esp32_music_play_list:()=>Fg,esp32_music_reset_extern:()=>Pg,esp32_music_set_tempo_extern:()=>Dg,esp32_music_stop:()=>Ng,mixbot_actuator_extern_get_addr:()=>oC,mixbot_actuator_extern_set_addr:()=>_C,mixbot_addr_extern:()=>Kg,robot_led_extern:()=>Qg,robot_led_extern_get_value:()=>jg,robot_motor_extern:()=>Jg,robot_motor_extern_get_speed:()=>zg,robot_servo_extern_absolute_run:()=>eC,robot_servo_extern_get_status:()=>Zg,robot_servo_extern_relative_continue:()=>sC,robot_servo_extern_relative_origin:()=>iC,robot_servo_extern_relative_run:()=>nC,robot_servo_extern_stop:()=>tC,robot_servo_extern_stop_mode:()=>$g,robot_traffic_light_extern:()=>qg,servo_get_angle:()=>Eg,servo_get_speed:()=>Rg,servo_init:()=>hg,servo_move:()=>vg,servo_set_angle:()=>mg,servo_set_speed:()=>Og,servo_speed_360:()=>Mg,syn6288_builtin_voice:()=>Hg,syn6288_get_voice:()=>kg,syn6288_set_voice:()=>wg,syn6288_tts_play:()=>Wg});var z={};t.r(z),t.d(z,{actuator_dc_motor:()=>XC,actuator_dc_motor_stop:()=>xC,actuator_get_led_bright:()=>mC,actuator_get_led_state:()=>OC,actuator_led_bright:()=>MC,actuator_led_brightness:()=>EC,actuator_mixbot_buzzer_on_off:()=>GC,actuator_mixgo_nova_mic_get:()=>WC,actuator_mixgo_nova_mic_set:()=>HC,actuator_mixgo_nova_onboard_music_pitch:()=>jC,actuator_mixgo_nova_onboard_music_stop:()=>ZC,actuator_mixgo_nova_play_audio:()=>qC,actuator_mixgo_nova_play_online_audio:()=>QC,actuator_mixgo_nova_record_audio:()=>zC,actuator_mixgo_nova_voice_get:()=>JC,actuator_mixgo_nova_voice_set:()=>KC,actuator_mixgo_zero_led_color:()=>RC,actuator_onboard_neopixel_rgb:()=>NC,actuator_onboard_neopixel_rgb_all:()=>DC,actuator_onboard_neopixel_rgb_show_all_chase:()=>fC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>FC,actuator_onboard_neopixel_write:()=>LC,actuator_stepper_keep:()=>vC,actuator_stepper_stop:()=>YC,bitbot_motor:()=>kC,bitbot_move:()=>UC,bitbot_stop:()=>wC,cc_number:()=>cC,esp32_music_get_tempo:()=>aC,esp32_music_reset:()=>IC,esp32_music_set_tempo:()=>pC,esp32_onboard_music_pitch:()=>uC,esp32_onboard_music_pitch_with_time:()=>rC,esp32_onboard_music_play_list:()=>dC,esp32_onboard_music_stop:()=>lC,get_power_output:()=>tS,ledswitch:()=>hC,mixbot_motor:()=>BC,mixbot_motor_status:()=>bC,mixbot_move:()=>VC,mixbot_stop:()=>yC,number:()=>TC,rm_actuator_get_led_bright:()=>CC,rm_actuator_get_led_state:()=>SC,rm_actuator_led_bright:()=>gC,rm_actuator_led_brightness:()=>AC,rm_motor:()=>PC,set_all_power_output:()=>eS,set_power_output:()=>$C});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>XS,ai_sensor_ailocal_class:()=>CS,ai_sensor_ailocal_class_result:()=>SS,ai_sensor_ailocal_train:()=>gS,ai_sensor_asr_recognize:()=>fS,ai_sensor_audio_play:()=>LS,ai_sensor_audio_record:()=>AS,ai_sensor_barcode:()=>aS,ai_sensor_circle:()=>TS,ai_sensor_classifier_faces:()=>YS,ai_sensor_color:()=>OS,ai_sensor_color_chases:()=>cS,ai_sensor_color_chases_result:()=>RS,ai_sensor_config:()=>sS,ai_sensor_face:()=>vS,ai_sensor_find_20objects:()=>xS,ai_sensor_find_barcodes:()=>uS,ai_sensor_find_circles:()=>hS,ai_sensor_find_colors:()=>ES,ai_sensor_find_licenseplates:()=>PS,ai_sensor_find_lines:()=>IS,ai_sensor_find_qrcodes:()=>pS,ai_sensor_find_rects:()=>mS,ai_sensor_find_tags:()=>lS,ai_sensor_licenseplate:()=>FS,ai_sensor_line:()=>dS,ai_sensor_qrcode:()=>_S,ai_sensor_qrcode_lite:()=>nS,ai_sensor_rect:()=>MS,ai_sensor_rgb:()=>oS,ai_sensor_tag:()=>rS,ai_sensor_use_uart_init:()=>iS,ai_sensor_yolo_recognize:()=>NS,ai_sensor_yolo_recognize_result:()=>DS});var Q={};t.r(Q),t.d(Q,{MICROPYTHON_AI_Speech_asr:()=>yS,MICROPYTHON_AI_Speech_unit:()=>VS,MICROPYTHON_AI_client:()=>bS});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>QS,mpython_blynk_app_notify:()=>WS,mpython_blynk_email:()=>jS,mpython_blynk_get_timers:()=>JS,mpython_blynk_on_connected:()=>wS,mpython_blynk_on_disconnected:()=>US,mpython_blynk_run:()=>HS,mpython_blynk_sensor_data_to_app:()=>qS,mpython_blynk_set_property:()=>ZS,mpython_blynk_setup:()=>$S,mpython_blynk_stop_timers:()=>KS,mpython_blynk_sync_virtual:()=>GS,mpython_blynk_terminal_widget_vpin:()=>BS,mpython_blynktimer:()=>zS,mpython_blynktimer_run:()=>kS});var Z={};t.r(Z),t.d(Z,{cc_g1_read_bat:()=>tA,cc_g1_read_joystick:()=>eA,cc_g1_read_key:()=>iA,cc_g1_turnoff:()=>nA});var $={};t.r($),t.d($,{ce_go_dc_motor:()=>lA,ce_go_get_led_bright:()=>_A,ce_go_get_led_state:()=>pA,ce_go_hall_attachInterrupt:()=>dA,ce_go_hall_data:()=>TA,ce_go_hall_initialize:()=>IA,ce_go_led_bright:()=>oA,ce_go_led_brightness:()=>aA,ce_go_light_number:()=>sA,ce_go_pin_light:()=>EA,ce_go_pin_near:()=>MA,ce_go_pin_near_line:()=>hA,ce_go_pin_near_state_change:()=>mA,ce_go_stepper_keep:()=>uA,ce_go_stepper_stop:()=>rA,sensor_mixgome_eulerangles:()=>OA});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>tL,communicate_bluetooth_connect:()=>nL,communicate_bluetooth_disconnect:()=>sL,communicate_bluetooth_handle:()=>rL,communicate_bluetooth_is_connected:()=>_L,communicate_bluetooth_mac:()=>oL,communicate_bluetooth_peripheral_init:()=>eL,communicate_bluetooth_recv:()=>uL,communicate_bluetooth_recv_only:()=>aL,communicate_bluetooth_scan:()=>iL,communicate_bluetooth_send:()=>pL,communicate_espnow_init:()=>lL,communicate_espnow_init_new:()=>dL,communicate_i2c_available:()=>NA,communicate_i2c_init:()=>gA,communicate_i2c_master_read:()=>LA,communicate_i2c_onboard:()=>RA,communicate_i2c_read:()=>CA,communicate_i2c_scan:()=>AA,communicate_i2c_write:()=>SA,communicate_ir_recv_init:()=>HA,communicate_ir_send_init:()=>qA,communicate_ow_init:()=>yA,communicate_ow_read:()=>UA,communicate_ow_reset:()=>GA,communicate_ow_scan:()=>BA,communicate_ow_select:()=>kA,communicate_ow_write:()=>wA,communicate_spi_buffer:()=>PA,communicate_spi_init:()=>fA,communicate_spi_onboard:()=>cA,communicate_spi_read:()=>vA,communicate_spi_read_output:()=>YA,communicate_spi_readinto:()=>XA,communicate_spi_readinto_output:()=>xA,communicate_spi_set:()=>FA,communicate_spi_write:()=>bA,communicate_spi_write_readinto:()=>VA,espnow_radio_channel:()=>OL,espnow_radio_channel_new:()=>RL,espnow_radio_on_off:()=>cL,espnow_radio_rec:()=>CL,espnow_radio_recv:()=>AL,espnow_radio_recv_certain_msg:()=>LL,espnow_radio_recv_certain_msg_new:()=>DL,espnow_radio_recv_msg:()=>SL,espnow_radio_recv_new:()=>NL,espnow_radio_send:()=>gL,espnow_radio_txpower:()=>EL,i2c_slave_onreceive:()=>DA,internal_variable:()=>WA,ir_recv_timeout:()=>zA,ir_transmit_busy:()=>$A,ir_transmit_conventional_data:()=>QA,ir_transmit_raw_code:()=>ZA,ir_transmit_study_code:()=>jA,ir_whether_recv:()=>JA,lora_init:()=>fL,lora_packet:()=>FL,lora_recv:()=>vL,lora_send:()=>PL,network_espnow_info:()=>TL,network_espnow_mac:()=>IL,network_espnow_recv:()=>hL,network_espnow_recv_handle:()=>mL,network_espnow_send:()=>ML,recv_fun:()=>KA,urequests_attribute:()=>XL,urequests_get:()=>YL,urequests_method:()=>xL});var et={};t.r(et),t.d(et,{display_animate:()=>_N,display_circle:()=>pN,display_color_seclet:()=>ON,display_draw_4strings:()=>$L,display_fill:()=>oN,display_lcd_use_i2c_init:()=>SN,display_line:()=>iN,display_line_arbitrarily:()=>tN,display_matrix_extern_bright_point:()=>KL,display_matrix_extern_bright_screen:()=>zL,display_matrix_extern_clear:()=>kL,display_matrix_extern_get_pixel:()=>WL,display_matrix_extern_get_screen_pixel:()=>JL,display_matrix_extern_image_builtins:()=>qL,display_matrix_extern_scroll_string:()=>UL,display_matrix_extern_scroll_string_delay:()=>wL,display_matrix_extern_shift:()=>HL,display_matrix_extern_show_frame_string:()=>BL,display_matrix_extern_show_frame_string_delay:()=>GL,display_matrix_extern_show_image:()=>VL,display_matrix_extern_show_image_or_string_delay:()=>yL,display_matrix_use_i2c_init:()=>bL,display_oled_drawPixel:()=>rN,display_oled_showBitmap:()=>uN,display_oled_use_i2c_init:()=>fN,display_onoff:()=>nN,display_rect:()=>eN,display_tm1650_power:()=>dN,display_tm1650_set_brightness:()=>hN,display_tm1650_show_dot:()=>TN,display_tm1650_show_num:()=>IN,display_tm_use_i2c_init:()=>lN,display_triangle:()=>aN,display_use_i2c_init:()=>ZL,extern_oled_bright_point:()=>UN,extern_oled_clear:()=>yN,extern_oled_get_pixel:()=>GN,extern_oled_hvline:()=>kN,extern_oled_line:()=>HN,extern_oled_scroll_string:()=>bN,extern_oled_scroll_string_delay:()=>VN,extern_oled_shape_rect:()=>wN,extern_oled_shift:()=>BN,extern_oled_show_frame_string:()=>XN,extern_oled_show_frame_string_delay:()=>xN,extern_oled_show_image:()=>FN,extern_oled_show_image_or_string_delay:()=>YN,extern_oled_show_image_xy:()=>PN,extern_oled_show_string:()=>vN,image_shift:()=>sN,lcd_backlight:()=>NN,lcd_clear:()=>DN,lcd_print_string:()=>LN,lcd_show_image_or_string_delay:()=>AN,matrix_extern_image_arithmetic:()=>QL,matrix_extern_image_invert:()=>jL,tft_fill:()=>gN,tft_line_arbitrarily:()=>CN,tft_scroll_string_delay:()=>cN,tft_show_frame_string_delay:()=>RN,tft_show_image_or_string_delay:()=>EN,tft_show_image_xy:()=>mN,tft_use_spi_init:()=>MN});var it={};t.r(it),t.d(it,{bitbot_display_image_create:()=>DD,display_bright_point:()=>oD,display_bright_screen:()=>pD,display_clear:()=>tD,display_get_pixel:()=>sD,display_get_screen_pixel:()=>_D,display_image_builtins:()=>jN,display_image_builtins_all:()=>ZN,display_image_create:()=>$N,display_scroll_string:()=>qN,display_scroll_string_delay:()=>QN,display_shift:()=>nD,display_show_frame_string:()=>JN,display_show_frame_string_delay:()=>zN,display_show_image:()=>WN,display_show_image_or_string_delay:()=>KN,image_arithmetic:()=>eD,image_invert:()=>iD,mixbot_display_bright_screen:()=>LD,mixbot_display_get_ambientbright:()=>AD,mixbot_display_get_screen_pixel:()=>SD,mixbot_display_image_create:()=>CD,mixbot_display_rotate:()=>ND,mixgo_display_image_create_new:()=>lD,mixgome_display_font:()=>rD,mixgome_display_image_create:()=>aD,mixgomini_display_image_create:()=>uD,mpython_display_hvline:()=>cD,mpython_display_line:()=>gD,mpython_display_shape_rect:()=>RD,mpython_pbm_image:()=>dD,onboard_oled_bright_point:()=>ED,onboard_oled_scroll_string_delay:()=>OD,onboard_oled_show_frame_string_delay:()=>mD,onboard_oled_show_image:()=>ID,onboard_oled_show_image_or_string_delay:()=>MD,onboard_oled_show_image_xy:()=>TD,onboard_oled_show_string:()=>hD,onboard_tft_bright_point:()=>wD,onboard_tft_bright_screen:()=>HD,onboard_tft_clear:()=>BD,onboard_tft_clock_clear:()=>QD,onboard_tft_clock_draw:()=>qD,onboard_tft_clock_get_rtctime:()=>JD,onboard_tft_clock_init:()=>KD,onboard_tft_clock_set_time:()=>zD,onboard_tft_display_hvline:()=>VD,onboard_tft_display_line:()=>yD,onboard_tft_display_shape_circle:()=>jD,onboard_tft_display_shape_rect:()=>bD,onboard_tft_fill:()=>WD,onboard_tft_get_pixel:()=>UD,onboard_tft_get_screen_pixel:()=>kD,onboard_tft_scroll_string:()=>XD,onboard_tft_scroll_string_delay:()=>xD,onboard_tft_shift:()=>GD,onboard_tft_show_frame_string:()=>vD,onboard_tft_show_frame_string_delay:()=>YD,onboard_tft_show_image:()=>fD,onboard_tft_show_image_or_string_delay:()=>PD,onboard_tft_show_image_xy:()=>FD});var nt={};t.r(nt),t.d(nt,{factory_block:()=>_f,factory_block_return:()=>pf,factory_block_return_with_textarea:()=>uf,factory_block_with_textarea:()=>af,factory_callMethod_noreturn:()=>sf,factory_callMethod_return:()=>of,factory_declare:()=>nf,factory_from_import:()=>ZD,factory_function_noreturn:()=>tf,factory_function_return:()=>ef,factory_import:()=>$D,folding_block:()=>rf});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>Af,inout_analog_read:()=>Of,inout_analog_read_init:()=>Sf,inout_analog_write:()=>hf,inout_analog_write_init:()=>Cf,inout_analog_write_set:()=>Mf,inout_digital_init:()=>cf,inout_digital_read:()=>If,inout_digital_write:()=>df,inout_highlow:()=>lf,inout_pin_attachInterrupt:()=>Rf,inout_pin_pressed:()=>Ef,inout_pin_pressed_init:()=>Lf,inout_pwm_analog_write:()=>Tf,inout_pwm_analog_write_init:()=>gf,inout_pwm_analog_write_set_freq:()=>mf});var ot={};t.r(ot),t.d(ot,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Wf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kf,IOT_EMQX_PING:()=>Kf,IOT_FORMATTING:()=>Uf,IOT_FORMAT_STRING:()=>wf,IOT_MIXIO_NTP:()=>Jf,IOT_MIXIO_PUBLISH:()=>Xf,IOT_MIXIO_SUBSCRIBE:()=>xf,iot_client_onboard:()=>zf,iot_http_client:()=>qf,iot_http_data:()=>Qf,iot_mixio_check:()=>yf,iot_mixio_connect:()=>Yf,iot_mixio_connect_only:()=>Vf,iot_mixio_disconnect:()=>bf,iot_mixio_format_msg:()=>Gf,iot_mixio_format_topic:()=>Bf,iot_mixly_key:()=>Hf,iot_mqtt_client:()=>jf,iot_mqtt_data:()=>Zf,iot_onenet_check:()=>Pf,iot_onenet_connect:()=>Df,iot_onenet_disconnect:()=>ff,iot_onenet_publish:()=>vf,iot_onenet_publish_dict:()=>Ff,iot_wifi_connect:()=>Nf});var _t={};t.r(_t),t.d(_t,{network_ap_connect:()=>pF,network_connect:()=>tF,network_get_connect:()=>iF,network_get_wifi:()=>_F,network_init:()=>$f,network_is_active:()=>oF,network_open:()=>sF,network_scan:()=>aF,network_server:()=>uF,network_socket_accept:()=>TF,network_socket_bind:()=>lF,network_socket_close:()=>EF,network_socket_connect:()=>dF,network_socket_init:()=>rF,network_socket_listen:()=>IF,network_socket_receive:()=>hF,network_socket_receive_from:()=>mF,network_socket_send:()=>MF,network_socket_send_to:()=>OF,network_stop:()=>nF,network_wifi_connect:()=>eF,ntptime_address:()=>SF,ntptime_time:()=>CF,requests_attribute:()=>cF,requests_get:()=>RF,requests_method:()=>gF});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>LF,pe_g1_dc_motor:()=>NF,pe_g1_dc_motor_speed:()=>DF,pe_g1_servo_get_angle:()=>PF,pe_g1_servo_get_speed:()=>vF,pe_g1_servo_set_angle:()=>fF,pe_g1_servo_set_speed:()=>FF,pe_g1_use_i2c_init:()=>AF});var at={};t.r(at),t.d(at,{HCSR04:()=>cP,PS2_Button:()=>SP,PS2_Buttons:()=>AP,PS2_Buttons_new:()=>YP,PS2_State:()=>LP,PS2_init:()=>gP,PS2_init_new:()=>PP,PS2_stk:()=>NP,PS2_stk_new:()=>XP,PS2_vibration:()=>CP,PS2_vibration_new:()=>vP,RTC_get_time:()=>fP,RTC_set_date:()=>GF,RTC_set_datetime:()=>DP,RTC_set_time:()=>BF,esp32_s2_weather_init:()=>mP,esp32_s2_weather_rain:()=>EP,esp32_s2_weather_wd:()=>OP,esp32_s2_weather_ws:()=>RP,extern_rfid_read:()=>oP,extern_rfid_readcontent:()=>pP,extern_rfid_readid:()=>_P,extern_rfid_status:()=>rP,extern_rfid_write:()=>aP,extern_rfid_write_return:()=>uP,gnss_get_data:()=>VP,gnss_have_data:()=>yP,mixbot_sensor_extern_get_addr:()=>JP,mixbot_sensor_extern_set_addr:()=>zP,pm25_get_data:()=>bP,robot_button_extern_get_value:()=>BP,robot_color_extern_get_value:()=>HP,robot_infrared_extern_get_value:()=>UP,robot_infrared_extern_grey_get_value:()=>wP,robot_potentiometer_extern_get_value:()=>kP,robot_sonar_extern_get_value:()=>WP,robot_sonar_extern_led:()=>KP,robot_touch_extern_get_value:()=>GP,sensor_APDS9960_extern:()=>qF,sensor_LTR308_extern:()=>QF,sensor_LTR390UV_extern:()=>$F,sensor_MAX30102_extern:()=>zF,sensor_QMC5883L_extern:()=>tP,sensor_VL530LX_extern:()=>nP,sensor_aht11_extern:()=>iP,sensor_bmp:()=>WF,sensor_dht11:()=>FP,sensor_distance_hrsc04:()=>yF,sensor_hp203_extern:()=>jF,sensor_ltr381_extern:()=>ZF,sensor_mixgo_extern_button_attachInterrupt:()=>bF,sensor_mixgo_extern_button_get_presses:()=>xF,sensor_mixgo_extern_button_is_pressed:()=>YF,sensor_mixgo_extern_button_was_pressed:()=>XF,sensor_mixgo_extern_light:()=>UF,sensor_mixgo_extern_pin_near:()=>kF,sensor_mixgo_extern_sound:()=>wF,sensor_mixgoce_hot_wheel_degrees:()=>MP,sensor_mixgoce_hot_wheel_is_touched:()=>hP,sensor_mpu9250_attachGestureInterrupt:()=>VF,sensor_rtc_init:()=>HF,sensor_sht:()=>KF,sensor_shtc3_extern:()=>eP,sensor_use_i2c_init:()=>JF,sensor_use_spi_init:()=>sP,sensor_use_uart_init:()=>xP,sensor_weather_solo_init:()=>qP,sensor_weather_solo_rain:()=>ZP,sensor_weather_solo_wd:()=>QP,sensor_weather_solo_ws:()=>jP,weather_data:()=>lP,weather_have_data:()=>dP,weather_set_label:()=>TP,weather_uart_mixio:()=>IP});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>pv,bitbot_als_num:()=>AY,dht11:()=>YY,number1:()=>av,number2:()=>uv,number3:()=>rv,number4:()=>lv,number5:()=>dv,number6:()=>Iv,number7:()=>Tv,onboard_RTC_get_time:()=>nY,onboard_RTC_get_timestamp:()=>sY,onboard_RTC_set_datetime:()=>eY,onboard_RTC_settime_string:()=>iY,onboard_RTC_timestamp_totuple:()=>oY,rfid_readcontent:()=>fv,rfid_readid:()=>Dv,rfid_write:()=>Fv,rfid_write_return:()=>Pv,sensor_LTR308:()=>Cv,sensor_adxl345_get_acceleration:()=>Gv,sensor_aht11:()=>Lv,sensor_bitbot_ALS:()=>SY,sensor_button_get_presses:()=>DY,sensor_button_is_pressed:()=>LY,sensor_button_was_pressed:()=>NY,sensor_compass_reset:()=>Kv,sensor_ds18x20:()=>cv,sensor_eulerangles:()=>Yv,sensor_get_acceleration:()=>vv,sensor_get_temperature:()=>Nv,sensor_hp203:()=>Av,sensor_light:()=>vY,sensor_lm35:()=>gv,sensor_mixbot_get_gyro:()=>CY,sensor_mixbot_patrol_calibrate:()=>RY,sensor_mixbot_patrol_value:()=>cY,sensor_mixbot_temperature:()=>gY,sensor_mixgo_LTR308:()=>Ev,sensor_mixgo_button_attachInterrupt:()=>iv,sensor_mixgo_button_get_presses:()=>ev,sensor_mixgo_button_is_pressed:()=>$P,sensor_mixgo_button_was_pressed:()=>tv,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>aY,sensor_mixgo_cc_mmc5603_get_angle:()=>pY,sensor_mixgo_cc_mmc5603_get_magnetic:()=>_Y,sensor_mixgo_light:()=>PY,sensor_mixgo_nova_LTR308:()=>Rv,sensor_mixgo_nova_pin_near:()=>Ov,sensor_mixgo_pin_near:()=>mv,sensor_mixgo_pin_near_double:()=>Mv,sensor_mixgo_pin_near_single:()=>hv,sensor_mixgo_pin_pressed:()=>yv,sensor_mixgo_touch_slide:()=>Vv,sensor_mixgocar42_button_attachInterrupt:()=>_v,sensor_mixgocar42_button_get_presses:()=>ov,sensor_mixgocar42_button_is_pressed:()=>nv,sensor_mixgocar42_button_was_pressed:()=>sv,sensor_mixgocar_battery_left:()=>EY,sensor_mixgocar_pin_near:()=>mY,sensor_mixgocar_pin_near_line:()=>MY,sensor_mixgocar_pin_near_state_change:()=>OY,sensor_mixgoce_pin_pressed:()=>bv,sensor_mixgoce_temperature:()=>rY,sensor_mixgome_temperature:()=>uY,sensor_mpu9250_calibrate_compass:()=>kv,sensor_mpu9250_field_strength:()=>Wv,sensor_mpu9250_gesture:()=>Xv,sensor_mpu9250_get_acceleration:()=>xv,sensor_mpu9250_get_gyro:()=>wv,sensor_mpu9250_get_magnetic:()=>Uv,sensor_mpu9250_temperature:()=>Hv,sensor_mpython_pin_pressed:()=>Bv,sensor_mpython_qmi8658_get_gyro:()=>lY,sensor_mpython_qmi8658_temperature:()=>dY,sensor_onboard_compass_reset:()=>tY,sensor_onboard_mpu9250_calibrate_compass:()=>jv,sensor_onboard_mpu9250_field_strength:()=>$v,sensor_onboard_mpu9250_gesture:()=>Jv,sensor_onboard_mpu9250_get_acceleration:()=>zv,sensor_onboard_mpu9250_get_gyro:()=>Qv,sensor_onboard_mpu9250_get_magnetic:()=>qv,sensor_onboard_mpu9250_temperature:()=>Zv,sensor_pin_near:()=>FY,sensor_pin_pressed:()=>fY,sensor_rm_acc:()=>hY,sensor_rm_battery_left:()=>TY,sensor_rm_pin_near_double:()=>IY,sensor_sound:()=>Sv});var rt={};t.r(rt),t.d(rt,{serial_any:()=>yY,serial_print:()=>XY,serial_print_byte:()=>xY,serial_print_hex:()=>VY,serial_println:()=>bY,serial_read_from_ai:()=>qY,serial_readline:()=>GY,serial_readstr:()=>BY,serial_send_to_ai:()=>zY,serial_softserial:()=>UY,serial_softserial_new:()=>wY,system_input:()=>kY,system_print:()=>HY,system_print_end:()=>KY,system_print_inline:()=>WY,system_print_many:()=>JY});var lt={};t.r(lt),t.d(lt,{Panic_with_status_code:()=>pX,Timer_init:()=>gX,base_delay:()=>AX,controls_delay:()=>dX,controls_delay_new:()=>IX,controls_end_program:()=>uX,controls_millis:()=>aX,controls_uname:()=>lX,reset:()=>rX,system_bitbot_shutdown:()=>cX,system_device_name:()=>oX,system_device_serial_number:()=>_X,system_event_bus_source:()=>nX,system_event_bus_value:()=>sX,system_machine_reset:()=>RX,system_on_event:()=>tX,system_raise_event:()=>$Y,system_reset:()=>jY,system_run_in_background:()=>QY,system_ticks_diff:()=>MX,system_timer:()=>hX,system_timer_init:()=>mX,system_timestamp:()=>eX,system_value:()=>iX,system_wait:()=>ZY,system_wdt_feed:()=>EX,system_wdt_init:()=>OX,time_ticks_diff:()=>SX,timer:()=>TX,timer2:()=>CX});var dt={};t.r(dt),t.d(dt,{WEATHER_DAILY:()=>NX,WEATHER_HOUR:()=>DX,WEATHER_NOW:()=>LX});var It={};t.r(It),t.d(It,{controls_pin_attachInterrupt:()=>ZX,inout_analog_atten:()=>GX,inout_analog_read:()=>BX,inout_analog_read_init:()=>KX,inout_analog_write:()=>bX,inout_analog_write_init:()=>WX,inout_analog_write_set:()=>VX,inout_analog_write_set_freq:()=>qX,inout_digital_init:()=>kX,inout_digital_read:()=>XX,inout_digital_write:()=>YX,inout_highlow:()=>vX,inout_pinMode:()=>zX,inout_pin_attachInterrupt:()=>wX,inout_pin_pressed:()=>UX,inout_pin_pressed_init:()=>JX,inout_pwm_analog_write:()=>xX,inout_pwm_analog_write_init:()=>HX,inout_pwm_analog_write_set_freq:()=>yX,pin_pressed:()=>jX,pin_pressed_init:()=>QX});var Tt={};t.r(Tt),t.d(Tt,{analog_input:()=>px,analog_output:()=>ux,espnow_channel:()=>sx,haskylens_model:()=>ox,i2c_A_pin:()=>rx,i2c_B_pin:()=>lx,pins_analog:()=>Mx,pins_analog_pin:()=>mx,pins_axis:()=>Xx,pins_brightness:()=>xx,pins_builtinimg:()=>Nx,pins_builtinimg_extern:()=>Dx,pins_button:()=>Rx,pins_buttonB:()=>cx,pins_dac:()=>Ox,pins_dac_pin:()=>Ex,pins_digital:()=>tx,pins_digital_dot:()=>kx,pins_digital_pin:()=>ex,pins_exlcdh:()=>vx,pins_exlcdv:()=>Yx,pins_imglist:()=>fx,pins_input_pin:()=>ix,pins_one_more:()=>wx,pins_output_pin:()=>nx,pins_playlist:()=>Fx,pins_playlist_extern:()=>Px,pins_pwm:()=>gx,pins_pwm_pin:()=>Cx,pins_radio_datarate:()=>Ux,pins_radio_power:()=>Gx,pins_serial:()=>Lx,pins_tone_notes:()=>Bx,pins_touch:()=>Ax,pins_touch_pin:()=>Sx,pins_tts_bgmusic:()=>yx,pins_tts_builtin_music:()=>Vx,pins_tts_voice:()=>bx,pwm_input:()=>_x,pwm_output:()=>ax,spi_A_pin:()=>dx,spi_B_pin:()=>Ix,spi_C_pin:()=>Tx,spi_D_pin:()=>hx});var ht={};t.r(ht),t.d(ht,{inout_analog_atten:()=>sb,inout_analog_read:()=>jx,inout_analog_read_init:()=>nb,inout_analog_write:()=>zx,inout_analog_write_init:()=>ib,inout_analog_write_set:()=>qx,inout_digital_init:()=>tb,inout_digital_read:()=>Kx,inout_digital_write:()=>Wx,inout_highlow:()=>Hx,inout_pin_attachInterrupt:()=>$x,inout_pin_pressed:()=>Zx,inout_pin_pressed_init:()=>ob,inout_pwm_analog_write:()=>Jx,inout_pwm_analog_write_init:()=>eb,inout_pwm_analog_write_set_freq:()=>Qx});var Mt={};t.r(Mt),t.d(Mt,{analog_input:()=>hb,analog_output:()=>mb,espnow_channel:()=>Ib,haskylens_model:()=>Tb,i2c_A_pin:()=>Ob,i2c_B_pin:()=>Eb,pins_analog:()=>Ab,pins_analog_pin:()=>Sb,pins_axis:()=>Bb,pins_brightness:()=>wb,pins_builtinimg:()=>Xb,pins_builtinimg_extern:()=>xb,pins_button:()=>pb,pins_buttonB:()=>ab,pins_dac:()=>fb,pins_dac_pin:()=>Db,pins_digital:()=>_b,pins_digital_dot:()=>Qb,pins_digital_pin:()=>ub,pins_exlcdh:()=>Gb,pins_exlcdv:()=>Ub,pins_imglist:()=>bb,pins_input_pin:()=>rb,pins_interrupt:()=>vb,pins_one_more:()=>qb,pins_output_pin:()=>lb,pins_playlist:()=>Vb,pins_playlist_extern:()=>yb,pins_pwm:()=>Nb,pins_pwm_input:()=>db,pins_pwm_pin:()=>Lb,pins_radio_datarate:()=>zb,pins_radio_power:()=>Jb,pins_serial:()=>Yb,pins_tone_notes:()=>Kb,pins_touch:()=>Pb,pins_touch_pin:()=>Fb,pins_tts_bgmusic:()=>Wb,pins_tts_builtin_music:()=>Hb,pins_tts_voice:()=>kb,pwm_output:()=>Mb,spi_A_pin:()=>Rb,spi_B_pin:()=>cb,spi_C_pin:()=>gb,spi_D_pin:()=>Cb});const mt=Blockly,Ot=Mixly,Et={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Rt=Et; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Dt,controls_typeLists:()=>ft,variables_change:()=>Lt,variables_get:()=>St,variables_global:()=>Nt,variables_set:()=>At});var i={};t.r(i),t.d(i,{base_setup:()=>vt,controls_delay:()=>Yt,controls_end_program:()=>Xt,controls_except:()=>Jt,controls_finally:()=>zt,controls_flow_statements:()=>Gt,controls_for:()=>Ut,controls_forEach:()=>Vt,controls_for_range:()=>wt,controls_if:()=>xt,controls_if_else:()=>Wt,controls_if_elseif:()=>Ht,controls_if_if:()=>kt,controls_lambda:()=>Qt,controls_main:()=>Pt,controls_pass:()=>jt,controls_range:()=>bt,controls_repeat_ext:()=>qt,controls_thread:()=>Zt,controls_try:()=>Kt,controls_try_finally:()=>Bt,controls_whileUntil:()=>yt,do_while:()=>$t,garbage_collection:()=>te,get_mem_alloc:()=>ee,get_mem_free:()=>ie});var n={};t.r(n),t.d(n,{base_map:()=>Ce,math_arithmetic:()=>pe,math_bit:()=>ue,math_constant:()=>oe,math_constant_mp:()=>_e,math_constrain:()=>Me,math_dec:()=>le,math_indexer_number:()=>Oe,math_map:()=>me,math_max_min:()=>Ie,math_number:()=>se,math_number_base_conversion:()=>Te,math_random:()=>he,math_random_seed:()=>Ee,math_round:()=>Re,math_selfcalcu:()=>ae,math_to_int:()=>de,math_trig:()=>re,text_to_number:()=>ce,text_to_number_skulpt:()=>ge});var s={};t.r(s),t.d(s,{ascii_to_char:()=>fe,char_to_ascii:()=>Fe,number_to_text:()=>Pe,os_system:()=>ii,text:()=>Ae,text_capital:()=>Ge,text_center:()=>Ue,text_char:()=>Ne,text_char_at:()=>Xe,text_char_at2:()=>Ye,text_char_at3:()=>Ze,text_compareTo:()=>je,text_compare_to:()=>Be,text_create_with_container:()=>ze,text_create_with_item:()=>qe,text_encode:()=>ti,text_equals_starts_ends:()=>ye,text_eval:()=>ei,text_find:()=>we,text_format:()=>Je,text_format_noreturn:()=>$e,text_join:()=>De,text_join_seq:()=>ke,text_length:()=>ve,text_random_char:()=>xe,text_replace:()=>He,text_split:()=>We,text_strip:()=>Ke,text_substring:()=>Ve,text_substring2:()=>be,text_substring3:()=>Qe,text_textarea:()=>Le});var o={};t.r(o),t.d(o,{list_many_input:()=>Ai,list_tolist:()=>vi,list_tolist2:()=>Gi,list_trig:()=>gi,lists_2d_get_col_row_data:()=>pi,lists_2d_get_data_with_col_row:()=>_i,lists_append_extend:()=>Ii,lists_change_to:()=>Si,lists_change_to_general:()=>Ni,lists_clear:()=>Oi,lists_create_with:()=>ai,lists_create_with2:()=>Yi,lists_create_with_container:()=>ri,lists_create_with_item:()=>li,lists_create_with_noreturn:()=>Li,lists_create_with_text:()=>ui,lists_create_with_text2:()=>Xi,lists_del_general:()=>Di,lists_find:()=>ci,lists_getIndex3:()=>xi,lists_getSublist3:()=>bi,lists_get_index:()=>si,lists_get_random_item:()=>Ti,lists_get_random_sublist:()=>hi,lists_get_sublist:()=>oi,lists_insert_value:()=>Mi,lists_insert_value2:()=>yi,lists_pop:()=>Ri,lists_remove_at:()=>Ei,lists_remove_at2:()=>Bi,lists_reverse:()=>mi,lists_setIndex3:()=>Vi,lists_set_index:()=>di,lists_sort:()=>Ci,lists_zip:()=>fi,lists_zip_container:()=>Fi,lists_zip_item:()=>Pi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>nn,dicts_add_or_change:()=>zi,dicts_clear:()=>ji,dicts_create_with:()=>wi,dicts_create_with_container:()=>ki,dicts_create_with_item:()=>Hi,dicts_create_with_noreturn:()=>_n,dicts_deldict:()=>en,dicts_delete:()=>qi,dicts_get:()=>Ki,dicts_get_default:()=>Ji,dicts_items:()=>Zi,dicts_keys:()=>Wi,dicts_length:()=>tn,dicts_pop:()=>sn,dicts_setdefault:()=>on,dicts_to_json:()=>an,dicts_todict:()=>pn,dicts_update:()=>Qi,dicts_values:()=>$i,json_to_dicts:()=>un});var p={};t.r(p),t.d(p,{logic_boolean:()=>hn,logic_compare:()=>ln,logic_compare_continous:()=>dn,logic_is:()=>En,logic_is_in:()=>On,logic_negate:()=>Tn,logic_null:()=>Mn,logic_operation:()=>In,logic_tobool:()=>Rn,logic_true_or_false:()=>mn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>kn,sdcard_use_spi_init:()=>wn,storage_can_write_ornot:()=>fn,storage_change_dir:()=>Gn,storage_close_file:()=>Pn,storage_delete_file:()=>Yn,storage_file_seek:()=>bn,storage_file_tell:()=>xn,storage_file_write:()=>An,storage_fileopen:()=>gn,storage_fileopen_new:()=>Cn,storage_fileopen_new_encoding:()=>Sn,storage_get_a_line:()=>Dn,storage_get_contents:()=>Nn,storage_get_contents_without_para:()=>Ln,storage_get_current_dir:()=>Vn,storage_get_file_size:()=>Xn,storage_get_filename:()=>Fn,storage_is_file:()=>Un,storage_list_all_files:()=>vn,storage_make_dir:()=>yn,storage_open_file_with_os:()=>cn,storage_rename:()=>Bn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Qn,procedures_callreturn:()=>jn,procedures_defnoreturn:()=>Kn,procedures_defreturn:()=>Jn,procedures_ifreturn:()=>Zn,procedures_mutatorarg:()=>qn,procedures_mutatorcontainer:()=>zn,procedures_return:()=>$n});var r={};t.r(r),t.d(r,{tuple_change_to:()=>ls,tuple_create_with:()=>es,tuple_create_with_container:()=>is,tuple_create_with_item:()=>ns,tuple_create_with_noreturn:()=>hs,tuple_create_with_text2:()=>ss,tuple_create_with_text_return:()=>os,tuple_del:()=>as,tuple_find:()=>ds,tuple_getIndex:()=>_s,tuple_getSublist:()=>Ts,tuple_get_random_item:()=>ms,tuple_get_sublist:()=>Ms,tuple_join:()=>us,tuple_length:()=>ps,tuple_max:()=>rs,tuple_totuple:()=>Os,tuple_trig:()=>Is});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ds,set_clear:()=>As,set_create_with:()=>Rs,set_create_with_container:()=>cs,set_create_with_item:()=>gs,set_create_with_text_return:()=>Ps,set_length:()=>Cs,set_operate:()=>Ls,set_operate_update:()=>Ns,set_pop:()=>Ss,set_sub:()=>fs,set_toset:()=>vs,set_update:()=>Fs});var d={};t.r(d),t.d(d,{html_content:()=>Vs,html_content_more:()=>ys,html_document:()=>Xs,html_form:()=>Gs,html_head_body:()=>bs,html_style:()=>Bs,html_style_color:()=>ws,html_style_content:()=>Us,html_text:()=>ks,html_title:()=>xs});var I={};t.r(I),t.d(I,{attribute_access:()=>no,function_call:()=>to,function_call_container:()=>eo,function_call_item:()=>io,raw_block:()=>Ks,raw_empty:()=>zs,raw_expression:()=>Js,raw_table:()=>Ws,text_comment:()=>qs,text_print_multiple:()=>js,text_print_multiple_container:()=>Zs,text_print_multiple_item:()=>$s,type_check:()=>Qs});var T={};t.r(T),t.d(T,{controls_type:()=>ao,controls_typeLists:()=>uo,variables_change:()=>_o,variables_get:()=>so,variables_global:()=>po,variables_set:()=>oo});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Ro,base_setup:()=>lo,controls_delay:()=>Eo,controls_flow_statements:()=>Oo,controls_for:()=>ho,controls_forEach:()=>Ao,controls_for_range:()=>Mo,controls_if:()=>Io,controls_interrupts:()=>Co,controls_lambda:()=>No,controls_main:()=>ro,controls_millis:()=>co,controls_nointerrupts:()=>So,controls_pass:()=>fo,controls_range:()=>Lo,controls_repeat:()=>bo,controls_repeat_ext:()=>vo,controls_thread:()=>Fo,controls_try_finally:()=>To,controls_whileUntil:()=>mo,do_while:()=>Po,garbage_collection:()=>Yo,get_mem_alloc:()=>Xo,get_mem_free:()=>xo,reset:()=>go,time_sleep:()=>Do});var M={};t.r(M),t.d(M,{base_map:()=>n_,math_arithmetic:()=>Uo,math_bit:()=>Go,math_constant:()=>yo,math_constant_mp:()=>Bo,math_constrain:()=>Qo,math_dec:()=>Wo,math_indexer_number:()=>$o,math_map:()=>qo,math_max_min:()=>Jo,math_number:()=>Vo,math_number_base_conversion:()=>jo,math_random:()=>zo,math_random_seed:()=>Zo,math_round:()=>t_,math_selfcalcu:()=>wo,math_single:()=>ko,math_to_int:()=>Ko,math_trig:()=>Ho,text_to_number:()=>e_,text_to_number_skulpt:()=>i_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>a_,char_to_ascii:()=>u_,number_to_text:()=>r_,os_system:()=>Y_,text:()=>s_,text_capital:()=>E_,text_center:()=>R_,text_char:()=>__,text_char_at:()=>I_,text_char_at2:()=>d_,text_char_at3:()=>F_,text_compareTo:()=>f_,text_compare_to:()=>M_,text_encode:()=>P_,text_equals_starts_ends:()=>h_,text_eval:()=>v_,text_find:()=>c_,text_format:()=>L_,text_format_noreturn:()=>N_,text_join:()=>p_,text_join_seq:()=>g_,text_length:()=>l_,text_random_char:()=>T_,text_replace:()=>C_,text_split:()=>S_,text_strip:()=>A_,text_substring:()=>O_,text_substring2:()=>m_,text_substring3:()=>D_,text_textarea:()=>o_});var O={};t.r(O),t.d(O,{list_many_input:()=>$_,list_tolist:()=>lp,list_tolist2:()=>dp,list_trig:()=>Q_,lists_2d_get_col_row_data:()=>b_,lists_2d_get_data_with_col_row:()=>x_,lists_append_extend:()=>U_,lists_change_to:()=>Z_,lists_change_to_general:()=>ep,lists_clear:()=>K_,lists_create_with:()=>V_,lists_create_with2:()=>np,lists_create_with_noreturn:()=>tp,lists_create_with_text:()=>y_,lists_create_with_text2:()=>sp,lists_del_general:()=>ip,lists_find:()=>J_,lists_getIndex3:()=>op,lists_getSublist3:()=>_p,lists_get_index:()=>B_,lists_get_random_item:()=>w_,lists_get_random_sublist:()=>k_,lists_get_sublist:()=>X_,lists_insert_value:()=>H_,lists_insert_value2:()=>ap,lists_pop:()=>q_,lists_remove_at:()=>z_,lists_remove_at2:()=>up,lists_reverse:()=>W_,lists_setIndex3:()=>pp,lists_set_index:()=>G_,lists_sort:()=>j_,lists_zip:()=>rp});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>Ap,dicts_add_or_change:()=>mp,dicts_clear:()=>Rp,dicts_create_with:()=>Ip,dicts_create_with_noreturn:()=>Dp,dicts_deldict:()=>Sp,dicts_delete:()=>Op,dicts_get:()=>hp,dicts_get_default:()=>Mp,dicts_items:()=>cp,dicts_keys:()=>Tp,dicts_length:()=>Cp,dicts_pop:()=>Lp,dicts_setdefault:()=>Np,dicts_to_json:()=>Fp,dicts_todict:()=>fp,dicts_update:()=>Ep,dicts_values:()=>gp,json_to_dicts:()=>Pp});var R={};t.r(R),t.d(R,{logic_boolean:()=>bp,logic_compare:()=>vp,logic_compare_continous:()=>Yp,logic_is:()=>Gp,logic_is_in:()=>Bp,logic_negate:()=>xp,logic_null:()=>Vp,logic_operation:()=>Xp,logic_tobool:()=>Up,logic_true_or_false:()=>yp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>ra,sdcard_use_spi_init:()=>ua,storage_can_write_ornot:()=>Qp,storage_change_dir:()=>sa,storage_close_file:()=>Zp,storage_delete_file:()=>ta,storage_file_seek:()=>na,storage_file_tell:()=>ia,storage_file_write:()=>Kp,storage_fileopen:()=>kp,storage_fileopen_new:()=>Hp,storage_fileopen_new_encoding:()=>Wp,storage_get_a_line:()=>qp,storage_get_contents:()=>zp,storage_get_contents_without_para:()=>Jp,storage_get_current_dir:()=>oa,storage_get_file_size:()=>ea,storage_get_filename:()=>jp,storage_is_file:()=>aa,storage_list_all_files:()=>$p,storage_make_dir:()=>_a,storage_open_file_with_os:()=>wp,storage_rename:()=>pa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Ta,procedures_callreturn:()=>Ia,procedures_defnoreturn:()=>da,procedures_defreturn:()=>la,procedures_ifreturn:()=>ha,procedures_return:()=>Ma});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Aa,tuple_create_with:()=>ma,tuple_create_with_noreturn:()=>fa,tuple_create_with_text2:()=>Oa,tuple_create_with_text_return:()=>Ea,tuple_del:()=>ga,tuple_find:()=>La,tuple_getIndex:()=>Ra,tuple_getSublist:()=>Da,tuple_get_random_item:()=>Pa,tuple_get_sublist:()=>Fa,tuple_join:()=>Ca,tuple_length:()=>ca,tuple_max:()=>Sa,tuple_totuple:()=>va,tuple_trig:()=>Na});var S={};t.r(S),t.d(S,{set_add_discard:()=>Ba,set_clear:()=>ba,set_create_with:()=>Ya,set_create_with_text_return:()=>wa,set_length:()=>Xa,set_operate:()=>Va,set_operate_update:()=>ya,set_pop:()=>xa,set_sub:()=>Ga,set_toset:()=>ka,set_update:()=>Ua});var A={};t.r(A),t.d(A,{html_content:()=>Ja,html_content_more:()=>za,html_document:()=>Ha,html_form:()=>Qa,html_head_body:()=>Ka,html_style:()=>qa,html_style_content:()=>ja,html_text:()=>Za,html_title:()=>Wa});var L={};t.r(L),t.d(L,{attribute_access:()=>ou,function_call:()=>su,raw_block:()=>$a,raw_empty:()=>eu,raw_expression:()=>tu,raw_table:()=>iu,type_check:()=>nu});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>mu,actuator_extern_get_led_state:()=>Ou,actuator_extern_led_bright:()=>Mu,actuator_extern_led_brightness:()=>Eu,actuator_ms32006_dcmotor:()=>Du,actuator_ms32006_init:()=>Nu,actuator_ms32006_stepper:()=>fu,actuator_neopixel_init:()=>Fu,actuator_neopixel_rgb:()=>Pu,actuator_neopixel_rgb_all:()=>vu,actuator_neopixel_write:()=>Yu,actuator_use_uart_init:()=>Xu,esp32_music_get_tempo_extern:()=>Iu,esp32_music_pitch:()=>uu,esp32_music_pitch_init:()=>au,esp32_music_pitch_with_time:()=>ru,esp32_music_play_list:()=>lu,esp32_music_reset_extern:()=>Tu,esp32_music_set_tempo_extern:()=>du,esp32_music_stop:()=>hu,mixbot_actuator_extern_get_addr:()=>Zu,mixbot_actuator_extern_set_addr:()=>$u,mixbot_addr_extern:()=>Bu,robot_led_extern:()=>ku,robot_led_extern_get_value:()=>Hu,robot_motor_extern:()=>Gu,robot_motor_extern_get_speed:()=>Uu,robot_servo_extern_absolute_run:()=>zu,robot_servo_extern_get_status:()=>Wu,robot_servo_extern_relative_continue:()=>ju,robot_servo_extern_relative_origin:()=>qu,robot_servo_extern_relative_run:()=>Qu,robot_servo_extern_stop:()=>Ju,robot_servo_extern_stop_mode:()=>Ku,robot_traffic_light_extern:()=>wu,servo_get_angle:()=>Au,servo_get_speed:()=>Lu,servo_init:()=>Ru,servo_move:()=>cu,servo_set_angle:()=>Cu,servo_set_speed:()=>Su,servo_speed_360:()=>gu,syn6288_builtin_voice:()=>Vu,syn6288_get_voice:()=>bu,syn6288_set_voice:()=>xu,syn6288_tts_play:()=>yu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Pr,actuator_dc_motor_stop:()=>vr,actuator_get_led_bright:()=>sr,actuator_get_led_state:()=>or,actuator_led_bright:()=>nr,actuator_led_brightness:()=>_r,actuator_mixbot_buzzer_on_off:()=>Vr,actuator_mixgo_nova_mic_get:()=>wr,actuator_mixgo_nova_mic_set:()=>Ur,actuator_mixgo_nova_onboard_music_pitch:()=>zr,actuator_mixgo_nova_onboard_music_stop:()=>qr,actuator_mixgo_nova_play_audio:()=>Kr,actuator_mixgo_nova_play_online_audio:()=>Jr,actuator_mixgo_nova_record_audio:()=>Wr,actuator_mixgo_nova_voice_get:()=>Hr,actuator_mixgo_nova_voice_set:()=>kr,actuator_mixgo_zero_led_color:()=>pr,actuator_onboard_neopixel_rgb:()=>Ir,actuator_onboard_neopixel_rgb_all:()=>Tr,actuator_onboard_neopixel_rgb_show_all_chase:()=>Mr,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>hr,actuator_onboard_neopixel_write:()=>mr,actuator_rm_onboard_neopixel_rgb:()=>Or,actuator_rm_onboard_neopixel_rgb_all:()=>Er,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Rr,actuator_stepper_keep:()=>fr,actuator_stepper_stop:()=>Fr,bitbot_motor:()=>Gr,bitbot_move:()=>yr,bitbot_stop:()=>Br,cc_number:()=>dr,esp32_music_get_tempo:()=>gr,esp32_music_reset:()=>Cr,esp32_music_set_tempo:()=>cr,esp32_onboard_music_pitch:()=>Sr,esp32_onboard_music_pitch_with_time:()=>Ar,esp32_onboard_music_play_list:()=>Nr,esp32_onboard_music_stop:()=>Lr,get_power_output:()=>jr,ledswitch:()=>ir,mixbot_motor:()=>br,mixbot_motor_status:()=>Yr,mixbot_move:()=>Xr,mixbot_stop:()=>xr,number:()=>er,rm_actuator_get_led_bright:()=>ur,rm_actuator_get_led_state:()=>rr,rm_actuator_led_bright:()=>ar,rm_actuator_led_brightness:()=>lr,rm_motor:()=>Dr,set_all_power_output:()=>Zr,set_power_output:()=>Qr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>vl,ai_sensor_ailocal_class:()=>cl,ai_sensor_ailocal_class_result:()=>gl,ai_sensor_ailocal_train:()=>Rl,ai_sensor_asr_recognize:()=>Nl,ai_sensor_audio_play:()=>Sl,ai_sensor_audio_record:()=>Cl,ai_sensor_barcode:()=>_l,ai_sensor_circle:()=>dl,ai_sensor_classifier_faces:()=>Pl,ai_sensor_color:()=>Ml,ai_sensor_color_chases:()=>El,ai_sensor_color_chases_result:()=>Ol,ai_sensor_config:()=>sl,ai_sensor_face:()=>Fl,ai_sensor_find_20objects:()=>Yl,ai_sensor_find_barcodes:()=>pl,ai_sensor_find_circles:()=>Il,ai_sensor_find_colors:()=>ml,ai_sensor_find_licenseplates:()=>fl,ai_sensor_find_lines:()=>ll,ai_sensor_find_qrcodes:()=>nl,ai_sensor_find_rects:()=>hl,ai_sensor_find_tags:()=>ul,ai_sensor_licenseplate:()=>Dl,ai_sensor_line:()=>rl,ai_sensor_qrcode:()=>el,ai_sensor_qrcode_lite:()=>il,ai_sensor_rect:()=>Tl,ai_sensor_rgb:()=>ol,ai_sensor_tag:()=>al,ai_sensor_use_uart_init:()=>tl,ai_sensor_yolo_recognize:()=>Al,ai_sensor_yolo_recognize_result:()=>Ll});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>bl,MICROPYTHON_AI_Speech_unit:()=>xl,MICROPYTHON_AI_client:()=>Xl});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>jl,mpython_blynk_app_notify:()=>Hl,mpython_blynk_email:()=>Jl,mpython_blynk_get_timers:()=>zl,mpython_blynk_on_connected:()=>Ul,mpython_blynk_on_disconnected:()=>Gl,mpython_blynk_run:()=>kl,mpython_blynk_sensor_data_to_app:()=>Ql,mpython_blynk_set_property:()=>Kl,mpython_blynk_setup:()=>Zl,mpython_blynk_stop_timers:()=>Wl,mpython_blynk_sync_virtual:()=>Bl,mpython_blynk_terminal_widget_vpin:()=>yl,mpython_blynktimer:()=>ql,mpython_blynktimer_run:()=>wl});var v={};t.r(v),t.d(v,{cc_g1_init:()=>$l,cc_g1_read_bat:()=>td,cc_g1_read_joystick:()=>ed,cc_g1_read_key:()=>id,cc_g1_turnoff:()=>nd});var Y={};t.r(Y),t.d(Y,{ce_go_dc_motor:()=>dd,ce_go_get_led_bright:()=>pd,ce_go_get_led_state:()=>ad,ce_go_hall_attachInterrupt:()=>Id,ce_go_hall_data:()=>hd,ce_go_hall_initialize:()=>Td,ce_go_led_bright:()=>_d,ce_go_led_brightness:()=>ud,ce_go_light_number:()=>od,ce_go_pin_light:()=>Rd,ce_go_pin_near:()=>md,ce_go_pin_near_line:()=>Md,ce_go_pin_near_state_change:()=>Od,ce_go_stepper_keep:()=>rd,ce_go_stepper_stop:()=>ld,sensor_mixgome_eulerangles:()=>Ed});var X={};t.r(X),t.d(X,{communicate_bluetooth_central_init:()=>iI,communicate_bluetooth_connect:()=>_I,communicate_bluetooth_disconnect:()=>pI,communicate_bluetooth_handle:()=>dI,communicate_bluetooth_is_connected:()=>uI,communicate_bluetooth_mac:()=>oI,communicate_bluetooth_peripheral_init:()=>nI,communicate_bluetooth_recv:()=>rI,communicate_bluetooth_recv_only:()=>lI,communicate_bluetooth_scan:()=>sI,communicate_bluetooth_send:()=>aI,communicate_espnow_init:()=>II,communicate_espnow_init_new:()=>TI,communicate_i2c_available:()=>yd,communicate_i2c_init:()=>Sd,communicate_i2c_master_read:()=>Vd,communicate_i2c_onboard:()=>gd,communicate_i2c_read:()=>Ad,communicate_i2c_scan:()=>Nd,communicate_i2c_write:()=>Ld,communicate_ir_recv_init:()=>Kd,communicate_ir_send_init:()=>jd,communicate_ow_init:()=>Gd,communicate_ow_read:()=>wd,communicate_ow_reset:()=>Wd,communicate_ow_scan:()=>Ud,communicate_ow_select:()=>Hd,communicate_ow_write:()=>kd,communicate_spi_buffer:()=>Fd,communicate_spi_init:()=>Dd,communicate_spi_onboard:()=>Cd,communicate_spi_read:()=>Pd,communicate_spi_read_output:()=>vd,communicate_spi_readinto:()=>Yd,communicate_spi_readinto_output:()=>Xd,communicate_spi_set:()=>fd,communicate_spi_write:()=>xd,communicate_spi_write_readinto:()=>bd,espnow_radio_channel:()=>RI,espnow_radio_channel_new:()=>gI,espnow_radio_on_off:()=>CI,espnow_radio_rec:()=>AI,espnow_radio_recv:()=>NI,espnow_radio_recv_certain_msg:()=>DI,espnow_radio_recv_certain_msg_new:()=>FI,espnow_radio_recv_msg:()=>LI,espnow_radio_recv_new:()=>fI,espnow_radio_send:()=>SI,espnow_radio_txpower:()=>cI,i2c_available:()=>ZI,i2c_init:()=>yI,i2c_master_reader2:()=>jI,i2c_read:()=>BI,i2c_scan:()=>UI,i2c_slave_onreceive:()=>Bd,i2c_write:()=>GI,internal_variable:()=>Jd,ir_recv_timeout:()=>Qd,ir_transmit_busy:()=>eI,ir_transmit_conventional_data:()=>Zd,ir_transmit_raw_code:()=>tI,ir_transmit_study_code:()=>$d,ir_whether_recv:()=>qd,lora_init:()=>PI,lora_packet:()=>vI,lora_recv:()=>XI,lora_send:()=>YI,network_espnow_info:()=>MI,network_espnow_mac:()=>hI,network_espnow_recv:()=>mI,network_espnow_recv_handle:()=>EI,network_espnow_send:()=>OI,recv_fun:()=>zd,spi_buffer:()=>HI,spi_init:()=>wI,spi_read:()=>WI,spi_read_output:()=>KI,spi_readinto:()=>JI,spi_readinto_output:()=>zI,spi_set:()=>kI,spi_write:()=>qI,spi_write_readinto:()=>QI,urequests_attribute:()=>bI,urequests_get:()=>xI,urequests_method:()=>VI});var x={};t.r(x),t.d(x,{display_animate:()=>DT,display_blink_rate:()=>ST,display_circle:()=>fT,display_color_seclet:()=>UT,display_draw_4strings:()=>OT,display_fill:()=>NT,display_get_screen_image:()=>CT,display_help:()=>PT,display_image_size:()=>ET,display_lcd_use_i2c_init:()=>JT,display_line:()=>cT,display_line_arbitrarily:()=>gT,display_matrix_extern_bright_point:()=>rT,display_matrix_extern_bright_screen:()=>dT,display_matrix_extern_clear:()=>IT,display_matrix_extern_get_pixel:()=>uT,display_matrix_extern_get_screen_pixel:()=>lT,display_matrix_extern_image_builtins:()=>TT,display_matrix_extern_scroll_string:()=>sT,display_matrix_extern_scroll_string_delay:()=>oT,display_matrix_extern_shift:()=>aT,display_matrix_extern_show_frame_string:()=>_T,display_matrix_extern_show_frame_string_delay:()=>pT,display_matrix_extern_show_image:()=>iT,display_matrix_extern_show_image_or_string_delay:()=>nT,display_matrix_use_i2c_init:()=>eT,display_oled_drawPixel:()=>YT,display_oled_showBitmap:()=>vT,display_oled_use_i2c_init:()=>ZT,display_onoff:()=>LT,display_rect:()=>RT,display_rgb_color:()=>AT,display_tm1650_power:()=>xT,display_tm1650_set_brightness:()=>yT,display_tm1650_show_dot:()=>VT,display_tm1650_show_num:()=>bT,display_tm_use_i2c_init:()=>XT,display_triangle:()=>FT,display_use_i2c_init:()=>mT,extern_oled_bright_point:()=>uh,extern_oled_clear:()=>rh,extern_oled_get_pixel:()=>ah,extern_oled_hvline:()=>dh,extern_oled_line:()=>Ih,extern_oled_scroll_string:()=>nh,extern_oled_scroll_string_delay:()=>sh,extern_oled_shape_rect:()=>lh,extern_oled_shift:()=>ph,extern_oled_show_frame_string:()=>oh,extern_oled_show_frame_string_delay:()=>_h,extern_oled_show_image:()=>$T,extern_oled_show_image_or_string_delay:()=>ih,extern_oled_show_image_xy:()=>th,extern_oled_show_string:()=>eh,lcd_backlight:()=>QT,lcd_clear:()=>jT,lcd_print_string:()=>qT,lcd_show_image_or_string_delay:()=>zT,matrix_extern_image_arithmetic:()=>hT,matrix_extern_image_invert:()=>MT,tft_fill:()=>WT,tft_line_arbitrarily:()=>KT,tft_scroll_string_delay:()=>kT,tft_show_frame_string_delay:()=>HT,tft_show_image_or_string_delay:()=>wT,tft_show_image_xy:()=>GT,tft_use_spi_init:()=>BT});var b={};t.r(b),t.d(b,{bitbot_display_image_create:()=>Zh,display_bright_point:()=>Dh,display_bright_screen:()=>Fh,display_clear:()=>Ph,display_get_pixel:()=>Nh,display_get_screen_pixel:()=>fh,display_image_builtins:()=>gh,display_image_builtins_all:()=>Ch,display_image_create:()=>ch,display_scroll_string:()=>mh,display_scroll_string_delay:()=>Oh,display_shift:()=>Lh,display_show_frame_string:()=>Eh,display_show_frame_string_delay:()=>Rh,display_show_image:()=>hh,display_show_image_or_string_delay:()=>Mh,image_arithmetic:()=>Sh,image_invert:()=>Ah,mixbot_display_bright_screen:()=>Qh,mixbot_display_get_ambientbright:()=>qh,mixbot_display_get_screen_pixel:()=>zh,mixbot_display_image_create:()=>Jh,mixbot_display_rotate:()=>jh,mixgo_display_image_create_new:()=>Xh,mixgome_display_font:()=>xh,mixgome_display_image_create:()=>vh,mixgomini_display_image_create:()=>Yh,mpython_display_hvline:()=>Hh,mpython_display_line:()=>Wh,mpython_display_shape_rect:()=>kh,mpython_pbm_image:()=>Kh,onboard_oled_bright_point:()=>wh,onboard_oled_scroll_string_delay:()=>Gh,onboard_oled_show_frame_string_delay:()=>Uh,onboard_oled_show_image:()=>bh,onboard_oled_show_image_or_string_delay:()=>Bh,onboard_oled_show_image_xy:()=>Vh,onboard_oled_show_string:()=>yh,onboard_tft_bright_point:()=>lM,onboard_tft_bright_screen:()=>TM,onboard_tft_clear:()=>dM,onboard_tft_clock_clear:()=>RM,onboard_tft_clock_draw:()=>EM,onboard_tft_clock_get_rtctime:()=>mM,onboard_tft_clock_init:()=>MM,onboard_tft_clock_set_time:()=>OM,onboard_tft_display_hvline:()=>pM,onboard_tft_display_line:()=>aM,onboard_tft_display_shape_circle:()=>cM,onboard_tft_display_shape_rect:()=>_M,onboard_tft_fill:()=>hM,onboard_tft_get_pixel:()=>rM,onboard_tft_get_screen_pixel:()=>IM,onboard_tft_scroll_string:()=>iM,onboard_tft_scroll_string_delay:()=>nM,onboard_tft_shift:()=>uM,onboard_tft_show_frame_string:()=>sM,onboard_tft_show_frame_string_delay:()=>oM,onboard_tft_show_image:()=>$h,onboard_tft_show_image_or_string_delay:()=>eM,onboard_tft_show_image_xy:()=>tM});var V={};t.r(V),t.d(V,{factory_block:()=>vM,factory_block_return:()=>YM,factory_block_return_with_textarea:()=>xM,factory_block_with_textarea:()=>XM,factory_callMethod_noreturn:()=>FM,factory_callMethod_return:()=>PM,factory_create_with_container:()=>LM,factory_create_with_item:()=>NM,factory_declare:()=>fM,factory_from_import:()=>CM,factory_function_noreturn:()=>AM,factory_function_return:()=>DM,factory_import:()=>SM,folding_block:()=>bM});var y={};t.r(y),t.d(y,{controls_pin_attachInterrupt:()=>sm,inout_analog_atten:()=>KM,inout_analog_read:()=>WM,inout_analog_read_init:()=>ZM,inout_analog_write:()=>wM,inout_analog_write_init:()=>jM,inout_analog_write_set:()=>kM,inout_analog_write_set_freq:()=>em,inout_digital_init:()=>qM,inout_digital_read:()=>GM,inout_digital_write:()=>BM,inout_highlow:()=>yM,inout_pinMode:()=>tm,inout_pin_attachInterrupt:()=>zM,inout_pin_pressed:()=>JM,inout_pin_pressed_init:()=>$M,inout_pwm_analog_write:()=>UM,inout_pwm_analog_write_init:()=>QM,inout_pwm_analog_write_set_freq:()=>HM,pin_pressed:()=>nm,pin_pressed_init:()=>im});var B={};t.r(B),t.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Dm,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Nm,IOT_EMQX_PING:()=>Am,IOT_FORMATTING:()=>Cm,IOT_FORMAT_STRING:()=>Sm,IOT_MIXIO_NTP:()=>Lm,IOT_MIXIO_PUBLISH:()=>Mm,IOT_MIXIO_SUBSCRIBE:()=>mm,iot_checkonenet:()=>ym,iot_client_onboard:()=>Fm,iot_create_with_item:()=>Tm,iot_http_client:()=>Pm,iot_http_data:()=>vm,iot_mixio_check:()=>Rm,iot_mixio_connect:()=>hm,iot_mixio_connect_only:()=>Em,iot_mixio_disconnect:()=>Om,iot_mixio_format_msg:()=>gm,iot_mixio_format_topic:()=>cm,iot_mixly_key:()=>fm,iot_mqtt_client:()=>Ym,iot_mqtt_data:()=>Xm,iot_onenet_check:()=>um,iot_onenet_connect:()=>pm,iot_onenet_disconnect:()=>am,iot_onenet_publish:()=>lm,iot_onenet_publish_dict:()=>rm,iot_onenetconnect:()=>bm,iot_onenetdisconnect:()=>Vm,iot_publish:()=>Bm,iot_publish_container:()=>dm,iot_publish_item:()=>Im,iot_wifi_connect:()=>_m,iot_wificonnect:()=>xm});var G={};t.r(G),t.d(G,{network_ap_connect:()=>Qm,network_connect:()=>Wm,network_get_connect:()=>Jm,network_get_wifi:()=>qm,network_init:()=>Um,network_is_active:()=>km,network_open:()=>wm,network_scan:()=>Hm,network_server:()=>jm,network_socket_accept:()=>iO,network_socket_bind:()=>$m,network_socket_close:()=>pO,network_socket_connect:()=>tO,network_socket_init:()=>Zm,network_socket_listen:()=>eO,network_socket_receive:()=>nO,network_socket_receive_from:()=>oO,network_socket_send:()=>sO,network_socket_send_to:()=>_O,network_stop:()=>zm,network_wifi_connect:()=>Km,ntptime_address:()=>dO,ntptime_time:()=>lO,requests_attribute:()=>uO,requests_get:()=>aO,requests_method:()=>rO});var U={};t.r(U),t.d(U,{pe_g1_battery_left:()=>hO,pe_g1_dc_motor:()=>MO,pe_g1_dc_motor_speed:()=>mO,pe_g1_servo_get_angle:()=>RO,pe_g1_servo_get_speed:()=>cO,pe_g1_servo_set_angle:()=>OO,pe_g1_servo_set_speed:()=>EO,pe_g1_use_i2c_init:()=>TO});var w={};t.r(w),t.d(w,{HCSR04:()=>gE,PS2_Button:()=>LE,PS2_Buttons:()=>DE,PS2_Buttons_new:()=>vE,PS2_State:()=>NE,PS2_init:()=>CE,PS2_init_new:()=>FE,PS2_stk:()=>fE,PS2_stk_new:()=>YE,PS2_vibration:()=>AE,PS2_vibration_new:()=>PE,esp32_s2_weather_init:()=>OE,esp32_s2_weather_rain:()=>RE,esp32_s2_weather_wd:()=>EE,esp32_s2_weather_ws:()=>cE,extern_rfid_read:()=>sE,extern_rfid_readcontent:()=>_E,extern_rfid_readid:()=>oE,extern_rfid_status:()=>uE,extern_rfid_write:()=>pE,extern_rfid_write_return:()=>aE,gnss_get_data:()=>VE,gnss_have_data:()=>bE,mixbot_sensor_extern_get_addr:()=>HE,mixbot_sensor_extern_set_addr:()=>WE,pm25_get_data:()=>xE,robot_button_extern_get_value:()=>yE,robot_color_extern_get_value:()=>kE,robot_infrared_extern_get_value:()=>GE,robot_infrared_extern_grey_get_value:()=>UE,robot_potentiometer_extern_get_value:()=>wE,robot_sonar_extern_get_value:()=>KE,robot_sonar_extern_led:()=>JE,robot_touch_extern_get_value:()=>BE,sensor_APDS9960_extern:()=>GO,sensor_LTR308_extern:()=>UO,sensor_LTR390UV_extern:()=>kO,sensor_MAX30102_extern:()=>BO,sensor_QMC5883L_extern:()=>zO,sensor_VL530LX_extern:()=>HO,sensor_adxl345_get_acceleration:()=>DO,sensor_aht11_extern:()=>KO,sensor_bmp:()=>XO,sensor_compass_reset:()=>iE,sensor_dht11:()=>FO,sensor_ds18x20:()=>bO,sensor_hp203_extern:()=>JO,sensor_light_level:()=>fO,sensor_lm35:()=>VO,sensor_ltr381_extern:()=>wO,sensor_mixgo_extern_button_attachInterrupt:()=>LO,sensor_mixgo_extern_button_get_presses:()=>AO,sensor_mixgo_extern_button_is_pressed:()=>CO,sensor_mixgo_extern_button_was_pressed:()=>SO,sensor_mixgo_extern_light:()=>PO,sensor_mixgo_extern_pin_near:()=>YO,sensor_mixgo_extern_sound:()=>vO,sensor_mixgoce_hot_wheel_degrees:()=>mE,sensor_mixgoce_hot_wheel_is_touched:()=>ME,sensor_mpu9250_attachGestureInterrupt:()=>NO,sensor_mpu9250_calibrate_compass:()=>$O,sensor_mpu9250_field_strength:()=>eE,sensor_mpu9250_gesture:()=>qO,sensor_mpu9250_get_acceleration:()=>QO,sensor_mpu9250_get_gyro:()=>ZO,sensor_mpu9250_get_magnetic:()=>jO,sensor_mpu9250_temperature:()=>tE,sensor_sht:()=>xO,sensor_shtc3_extern:()=>WO,sensor_use_i2c_init:()=>yO,sensor_use_spi_init:()=>nE,sensor_use_uart_init:()=>XE,sensor_weather_solo_init:()=>zE,sensor_weather_solo_rain:()=>jE,sensor_weather_solo_wd:()=>qE,sensor_weather_solo_ws:()=>QE,weather_data:()=>rE,weather_have_data:()=>lE,weather_set_label:()=>IE,weather_set_label_container:()=>TE,weather_set_label_item:()=>hE,weather_uart_mixio:()=>dE});var k={};t.r(k),t.d(k,{HCSR04:()=>TR,RTC_set_date:()=>IR,RTC_set_time:()=>dR,bitbot_als_num:()=>Ec,dht11:()=>Lc,number1:()=>MR,number2:()=>mR,number3:()=>OR,number4:()=>ER,number5:()=>RR,number6:()=>cR,number7:()=>gR,onboard_RTC_get_time:()=>fR,onboard_RTC_get_timestamp:()=>FR,onboard_RTC_set_datetime:()=>YR,onboard_RTC_settime_string:()=>vR,onboard_RTC_timestamp_totuple:()=>PR,rfid_readcontent:()=>UR,rfid_readid:()=>GR,rfid_write:()=>wR,rfid_write_return:()=>kR,sensor_LTR308:()=>xR,sensor_aht11:()=>VR,sensor_bitbot_ALS:()=>Oc,sensor_button_get_presses:()=>gc,sensor_button_is_pressed:()=>Rc,sensor_button_was_pressed:()=>cc,sensor_distance_hrsc04:()=>lR,sensor_eulerangles:()=>WR,sensor_field_strength:()=>Nc,sensor_get_acceleration:()=>HR,sensor_get_temperature:()=>yR,sensor_hp203:()=>BR,sensor_light:()=>Ac,sensor_mixbot_get_gyro:()=>mc,sensor_mixbot_patrol_calibrate:()=>Tc,sensor_mixbot_patrol_value:()=>hc,sensor_mixbot_temperature:()=>Mc,sensor_mixgo_LTR308:()=>DR,sensor_mixgo_button_attachInterrupt:()=>iR,sensor_mixgo_button_get_presses:()=>eR,sensor_mixgo_button_is_pressed:()=>$E,sensor_mixgo_button_was_pressed:()=>tR,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>ic,sensor_mixgo_cc_mmc5603_get_angle:()=>ec,sensor_mixgo_cc_mmc5603_get_magnetic:()=>tc,sensor_mixgo_light:()=>hR,sensor_mixgo_nova_LTR308:()=>NR,sensor_mixgo_nova_pin_near:()=>LR,sensor_mixgo_pin_near:()=>AR,sensor_mixgo_pin_near_double:()=>SR,sensor_mixgo_pin_near_single:()=>CR,sensor_mixgo_pin_pressed:()=>pR,sensor_mixgo_touch_slide:()=>rR,sensor_mixgocar42_button_attachInterrupt:()=>_R,sensor_mixgocar42_button_get_presses:()=>oR,sensor_mixgocar42_button_is_pressed:()=>nR,sensor_mixgocar42_button_was_pressed:()=>sR,sensor_mixgocar_battery_left:()=>Ic,sensor_mixgocar_pin_near:()=>lc,sensor_mixgocar_pin_near_line:()=>rc,sensor_mixgocar_pin_near_state_change:()=>dc,sensor_mixgoce_pin_pressed:()=>aR,sensor_mixgoce_temperature:()=>sc,sensor_mixgome_temperature:()=>nc,sensor_mpython_pin_pressed:()=>uR,sensor_mpython_qmi8658_get_gyro:()=>oc,sensor_mpython_qmi8658_temperature:()=>_c,sensor_onboard_compass_reset:()=>$R,sensor_onboard_mpu9250_calibrate_compass:()=>QR,sensor_onboard_mpu9250_field_strength:()=>ZR,sensor_onboard_mpu9250_gesture:()=>KR,sensor_onboard_mpu9250_get_acceleration:()=>JR,sensor_onboard_mpu9250_get_gyro:()=>qR,sensor_onboard_mpu9250_get_magnetic:()=>zR,sensor_onboard_mpu9250_temperature:()=>jR,sensor_pin_near:()=>Sc,sensor_pin_pressed:()=>Cc,sensor_rm_acc:()=>uc,sensor_rm_battery_left:()=>ac,sensor_rm_pin_near_double:()=>pc,sensor_rtc_init:()=>XR,sensor_sound:()=>bR,sensor_temperature:()=>Dc});var H={};t.r(H),t.d(H,{serial_any:()=>bc,serial_begin:()=>Uc,serial_print:()=>Pc,serial_print_byte:()=>Fc,serial_print_hex:()=>Yc,serial_println:()=>vc,serial_read_from_ai:()=>Qc,serial_readline:()=>Vc,serial_readstr:()=>xc,serial_readstr_until:()=>yc,serial_receive_data_event:()=>Xc,serial_send_to_ai:()=>qc,serial_softserial:()=>Gc,serial_softserial_new:()=>Bc,system_input:()=>wc,system_print:()=>kc,system_print_container:()=>Jc,system_print_end:()=>Wc,system_print_inline:()=>Hc,system_print_item:()=>zc,system_print_many:()=>Kc});var W={};t.r(W),t.d(W,{Panic_with_status_code:()=>tg,Timer_init:()=>Ig,base_delay:()=>Mg,controls_delay:()=>$c,controls_delay_new:()=>Zc,controls_millis:()=>ig,controls_uname:()=>sg,raw_block:()=>ng,reset:()=>eg,system_bitbot_shutdown:()=>dg,system_machine_reset:()=>lg,system_ticks_diff:()=>pg,system_timer:()=>_g,system_timer_init:()=>ag,system_wdt_feed:()=>rg,system_wdt_init:()=>ug,time_ticks_diff:()=>hg,timer:()=>og,timer2:()=>Tg});var K={};t.r(K),t.d(K,{WEATHER_DAILY:()=>Eg,WEATHER_HOUR:()=>Rg,WEATHER_NOW:()=>Og});var J={};t.r(J),t.d(J,{actuator_extern_get_led_bright:()=>Gg,actuator_extern_get_led_state:()=>Ug,actuator_extern_led_bright:()=>Bg,actuator_extern_led_brightness:()=>wg,actuator_ms32006_dcmotor:()=>Dg,actuator_ms32006_init:()=>Ng,actuator_ms32006_stepper:()=>fg,actuator_neopixel_init:()=>kg,actuator_neopixel_rgb:()=>Kg,actuator_neopixel_rgb_all:()=>Hg,actuator_neopixel_write:()=>Wg,actuator_use_uart_init:()=>Jg,esp32_music_get_tempo_extern:()=>xg,esp32_music_pitch:()=>Pg,esp32_music_pitch_init:()=>Fg,esp32_music_pitch_with_time:()=>vg,esp32_music_play_list:()=>bg,esp32_music_reset_extern:()=>Vg,esp32_music_set_tempo_extern:()=>Xg,esp32_music_stop:()=>Yg,mixbot_actuator_extern_get_addr:()=>lC,mixbot_actuator_extern_set_addr:()=>dC,mixbot_addr_extern:()=>Zg,robot_led_extern:()=>iC,robot_led_extern_get_value:()=>nC,robot_motor_extern:()=>$g,robot_motor_extern_get_speed:()=>tC,robot_servo_extern_absolute_run:()=>pC,robot_servo_extern_get_status:()=>sC,robot_servo_extern_relative_continue:()=>rC,robot_servo_extern_relative_origin:()=>aC,robot_servo_extern_relative_run:()=>uC,robot_servo_extern_stop:()=>_C,robot_servo_extern_stop_mode:()=>oC,robot_traffic_light_extern:()=>eC,servo_get_angle:()=>Ag,servo_get_speed:()=>Lg,servo_init:()=>cg,servo_move:()=>yg,servo_set_angle:()=>Cg,servo_set_speed:()=>Sg,servo_speed_360:()=>gg,syn6288_builtin_voice:()=>Qg,syn6288_get_voice:()=>qg,syn6288_set_voice:()=>zg,syn6288_tts_play:()=>jg});var z={};t.r(z),t.d(z,{actuator_dc_motor:()=>GC,actuator_dc_motor_stop:()=>UC,actuator_get_led_bright:()=>CC,actuator_get_led_state:()=>SC,actuator_led_bright:()=>gC,actuator_led_brightness:()=>AC,actuator_mixbot_buzzer_on_off:()=>KC,actuator_mixgo_nova_mic_get:()=>jC,actuator_mixgo_nova_mic_set:()=>QC,actuator_mixgo_nova_onboard_music_pitch:()=>nS,actuator_mixgo_nova_onboard_music_stop:()=>sS,actuator_mixgo_nova_play_audio:()=>eS,actuator_mixgo_nova_play_online_audio:()=>iS,actuator_mixgo_nova_record_audio:()=>tS,actuator_mixgo_nova_voice_get:()=>$C,actuator_mixgo_nova_voice_set:()=>ZC,actuator_mixgo_zero_led_color:()=>LC,actuator_onboard_neopixel_rgb:()=>YC,actuator_onboard_neopixel_rgb_all:()=>XC,actuator_onboard_neopixel_rgb_show_all_chase:()=>xC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>bC,actuator_onboard_neopixel_write:()=>vC,actuator_stepper_keep:()=>yC,actuator_stepper_stop:()=>BC,bitbot_motor:()=>qC,bitbot_move:()=>JC,bitbot_stop:()=>zC,cc_number:()=>NC,esp32_music_get_tempo:()=>TC,esp32_music_reset:()=>EC,esp32_music_set_tempo:()=>IC,esp32_onboard_music_pitch:()=>hC,esp32_onboard_music_pitch_with_time:()=>MC,esp32_onboard_music_play_list:()=>OC,esp32_onboard_music_stop:()=>mC,get_power_output:()=>_S,ledswitch:()=>cC,mixbot_motor:()=>WC,mixbot_motor_status:()=>wC,mixbot_move:()=>kC,mixbot_stop:()=>HC,number:()=>RC,rm_actuator_get_led_bright:()=>fC,rm_actuator_get_led_state:()=>FC,rm_actuator_led_bright:()=>DC,rm_actuator_led_brightness:()=>PC,rm_motor:()=>VC,set_all_power_output:()=>pS,set_power_output:()=>oS});var q={};t.r(q),t.d(q,{ai_sensor_20object:()=>GS,ai_sensor_ailocal_class:()=>fS,ai_sensor_ailocal_class_result:()=>FS,ai_sensor_ailocal_train:()=>DS,ai_sensor_asr_recognize:()=>xS,ai_sensor_audio_play:()=>vS,ai_sensor_audio_record:()=>PS,ai_sensor_barcode:()=>TS,ai_sensor_circle:()=>RS,ai_sensor_classifier_faces:()=>BS,ai_sensor_color:()=>SS,ai_sensor_color_chases:()=>NS,ai_sensor_color_chases_result:()=>LS,ai_sensor_config:()=>rS,ai_sensor_face:()=>yS,ai_sensor_find_20objects:()=>US,ai_sensor_find_barcodes:()=>hS,ai_sensor_find_circles:()=>cS,ai_sensor_find_colors:()=>AS,ai_sensor_find_licenseplates:()=>VS,ai_sensor_find_lines:()=>ES,ai_sensor_find_qrcodes:()=>IS,ai_sensor_find_rects:()=>CS,ai_sensor_find_tags:()=>mS,ai_sensor_licenseplate:()=>bS,ai_sensor_line:()=>OS,ai_sensor_qrcode:()=>dS,ai_sensor_qrcode_lite:()=>uS,ai_sensor_rect:()=>gS,ai_sensor_rgb:()=>lS,ai_sensor_tag:()=>MS,ai_sensor_use_uart_init:()=>aS,ai_sensor_yolo_recognize:()=>YS,ai_sensor_yolo_recognize_result:()=>XS});var Q={};t.r(Q),t.d(Q,{MICROPYTHON_AI_Speech_asr:()=>HS,MICROPYTHON_AI_Speech_unit:()=>kS,MICROPYTHON_AI_client:()=>wS});var j={};t.r(j),t.d(j,{mpython_blynk_app_data:()=>iA,mpython_blynk_app_notify:()=>jS,mpython_blynk_email:()=>nA,mpython_blynk_get_timers:()=>$S,mpython_blynk_on_connected:()=>zS,mpython_blynk_on_disconnected:()=>JS,mpython_blynk_run:()=>QS,mpython_blynk_sensor_data_to_app:()=>eA,mpython_blynk_set_property:()=>sA,mpython_blynk_setup:()=>oA,mpython_blynk_stop_timers:()=>ZS,mpython_blynk_sync_virtual:()=>KS,mpython_blynk_terminal_widget_vpin:()=>WS,mpython_blynktimer:()=>tA,mpython_blynktimer_run:()=>qS});var Z={};t.r(Z),t.d(Z,{cc_g1_read_bat:()=>_A,cc_g1_read_joystick:()=>pA,cc_g1_read_key:()=>aA,cc_g1_turnoff:()=>uA});var $={};t.r($),t.d($,{ce_go_dc_motor:()=>mA,ce_go_get_led_bright:()=>dA,ce_go_get_led_state:()=>IA,ce_go_hall_attachInterrupt:()=>OA,ce_go_hall_data:()=>RA,ce_go_hall_initialize:()=>EA,ce_go_led_bright:()=>lA,ce_go_led_brightness:()=>TA,ce_go_light_number:()=>rA,ce_go_pin_light:()=>AA,ce_go_pin_near:()=>gA,ce_go_pin_near_line:()=>cA,ce_go_pin_near_state_change:()=>CA,ce_go_stepper_keep:()=>hA,ce_go_stepper_stop:()=>MA,sensor_mixgome_eulerangles:()=>SA});var tt={};t.r(tt),t.d(tt,{communicate_bluetooth_central_init:()=>_L,communicate_bluetooth_connect:()=>uL,communicate_bluetooth_disconnect:()=>rL,communicate_bluetooth_handle:()=>ML,communicate_bluetooth_is_connected:()=>dL,communicate_bluetooth_mac:()=>lL,communicate_bluetooth_peripheral_init:()=>pL,communicate_bluetooth_recv:()=>hL,communicate_bluetooth_recv_only:()=>TL,communicate_bluetooth_scan:()=>aL,communicate_bluetooth_send:()=>IL,communicate_espnow_init:()=>mL,communicate_espnow_init_new:()=>OL,communicate_i2c_available:()=>YA,communicate_i2c_init:()=>DA,communicate_i2c_master_read:()=>vA,communicate_i2c_onboard:()=>LA,communicate_i2c_read:()=>fA,communicate_i2c_scan:()=>PA,communicate_i2c_write:()=>FA,communicate_ir_recv_init:()=>QA,communicate_ir_send_init:()=>eL,communicate_ow_init:()=>HA,communicate_ow_read:()=>JA,communicate_ow_reset:()=>KA,communicate_ow_scan:()=>WA,communicate_ow_select:()=>qA,communicate_ow_write:()=>zA,communicate_spi_buffer:()=>VA,communicate_spi_init:()=>xA,communicate_spi_onboard:()=>NA,communicate_spi_read:()=>yA,communicate_spi_read_output:()=>BA,communicate_spi_readinto:()=>GA,communicate_spi_readinto_output:()=>UA,communicate_spi_set:()=>bA,communicate_spi_write:()=>wA,communicate_spi_write_readinto:()=>kA,espnow_radio_channel:()=>SL,espnow_radio_channel_new:()=>LL,espnow_radio_on_off:()=>NL,espnow_radio_rec:()=>fL,espnow_radio_recv:()=>PL,espnow_radio_recv_certain_msg:()=>vL,espnow_radio_recv_certain_msg_new:()=>XL,espnow_radio_recv_msg:()=>FL,espnow_radio_recv_new:()=>YL,espnow_radio_send:()=>DL,espnow_radio_txpower:()=>AL,i2c_slave_onreceive:()=>XA,internal_variable:()=>jA,ir_recv_timeout:()=>tL,ir_transmit_busy:()=>oL,ir_transmit_conventional_data:()=>iL,ir_transmit_raw_code:()=>sL,ir_transmit_study_code:()=>nL,ir_whether_recv:()=>$A,lora_init:()=>xL,lora_packet:()=>bL,lora_recv:()=>yL,lora_send:()=>VL,network_espnow_info:()=>RL,network_espnow_mac:()=>EL,network_espnow_recv:()=>cL,network_espnow_recv_handle:()=>CL,network_espnow_send:()=>gL,recv_fun:()=>ZA,urequests_attribute:()=>GL,urequests_get:()=>BL,urequests_method:()=>UL});var et={};t.r(et),t.d(et,{display_animate:()=>dN,display_circle:()=>IN,display_color_seclet:()=>SN,display_draw_4strings:()=>oN,display_fill:()=>lN,display_lcd_use_i2c_init:()=>FN,display_line:()=>aN,display_line_arbitrarily:()=>_N,display_matrix_extern_bright_point:()=>ZL,display_matrix_extern_bright_screen:()=>tN,display_matrix_extern_clear:()=>qL,display_matrix_extern_get_pixel:()=>jL,display_matrix_extern_get_screen_pixel:()=>$L,display_matrix_extern_image_builtins:()=>eN,display_matrix_extern_scroll_string:()=>JL,display_matrix_extern_scroll_string_delay:()=>zL,display_matrix_extern_shift:()=>QL,display_matrix_extern_show_frame_string:()=>WL,display_matrix_extern_show_frame_string_delay:()=>KL,display_matrix_extern_show_image:()=>kL,display_matrix_extern_show_image_or_string_delay:()=>HL,display_matrix_use_i2c_init:()=>wL,display_oled_drawPixel:()=>MN,display_oled_showBitmap:()=>hN,display_oled_use_i2c_init:()=>xN,display_onoff:()=>uN,display_rect:()=>pN,display_tm1650_power:()=>ON,display_tm1650_set_brightness:()=>cN,display_tm1650_show_dot:()=>RN,display_tm1650_show_num:()=>EN,display_tm_use_i2c_init:()=>mN,display_triangle:()=>TN,display_use_i2c_init:()=>sN,extern_oled_bright_point:()=>JN,extern_oled_clear:()=>HN,extern_oled_get_pixel:()=>KN,extern_oled_hvline:()=>qN,extern_oled_line:()=>QN,extern_oled_scroll_string:()=>wN,extern_oled_scroll_string_delay:()=>kN,extern_oled_shape_rect:()=>zN,extern_oled_shift:()=>WN,extern_oled_show_frame_string:()=>GN,extern_oled_show_frame_string_delay:()=>UN,extern_oled_show_image:()=>bN,extern_oled_show_image_or_string_delay:()=>BN,extern_oled_show_image_xy:()=>VN,extern_oled_show_string:()=>yN,image_shift:()=>rN,lcd_backlight:()=>YN,lcd_clear:()=>XN,lcd_print_string:()=>vN,lcd_show_image_or_string_delay:()=>PN,matrix_extern_image_arithmetic:()=>iN,matrix_extern_image_invert:()=>nN,tft_fill:()=>DN,tft_line_arbitrarily:()=>fN,tft_scroll_string_delay:()=>NN,tft_show_frame_string_delay:()=>LN,tft_show_image_or_string_delay:()=>AN,tft_show_image_xy:()=>CN,tft_use_spi_init:()=>gN});var it={};t.r(it),t.d(it,{bitbot_display_image_create:()=>XD,display_bright_point:()=>lD,display_bright_screen:()=>ID,display_clear:()=>_D,display_get_pixel:()=>rD,display_get_screen_pixel:()=>dD,display_image_builtins:()=>nD,display_image_builtins_all:()=>sD,display_image_create:()=>oD,display_scroll_string:()=>eD,display_scroll_string_delay:()=>iD,display_shift:()=>uD,display_show_frame_string:()=>$N,display_show_frame_string_delay:()=>tD,display_show_image:()=>jN,display_show_image_or_string_delay:()=>ZN,image_arithmetic:()=>pD,image_invert:()=>aD,mixbot_display_bright_screen:()=>vD,mixbot_display_get_ambientbright:()=>PD,mixbot_display_get_screen_pixel:()=>FD,mixbot_display_image_create:()=>fD,mixbot_display_rotate:()=>YD,mixgo_display_image_create_new:()=>mD,mixgome_display_font:()=>MD,mixgome_display_image_create:()=>TD,mixgomini_display_image_create:()=>hD,mpython_display_hvline:()=>ND,mpython_display_line:()=>DD,mpython_display_shape_rect:()=>LD,mpython_pbm_image:()=>OD,onboard_oled_bright_point:()=>AD,onboard_oled_scroll_string_delay:()=>SD,onboard_oled_show_frame_string_delay:()=>CD,onboard_oled_show_image:()=>ED,onboard_oled_show_image_or_string_delay:()=>gD,onboard_oled_show_image_xy:()=>RD,onboard_oled_show_string:()=>cD,onboard_tft_bright_point:()=>zD,onboard_tft_bright_screen:()=>QD,onboard_tft_clear:()=>WD,onboard_tft_clock_clear:()=>nf,onboard_tft_clock_draw:()=>ef,onboard_tft_clock_get_rtctime:()=>$D,onboard_tft_clock_init:()=>ZD,onboard_tft_clock_set_time:()=>tf,onboard_tft_display_hvline:()=>kD,onboard_tft_display_line:()=>HD,onboard_tft_display_shape_circle:()=>sf,onboard_tft_display_shape_rect:()=>wD,onboard_tft_fill:()=>jD,onboard_tft_get_pixel:()=>JD,onboard_tft_get_screen_pixel:()=>qD,onboard_tft_scroll_string:()=>GD,onboard_tft_scroll_string_delay:()=>UD,onboard_tft_shift:()=>KD,onboard_tft_show_frame_string:()=>yD,onboard_tft_show_frame_string_delay:()=>BD,onboard_tft_show_image:()=>xD,onboard_tft_show_image_or_string_delay:()=>VD,onboard_tft_show_image_xy:()=>bD});var nt={};t.r(nt),t.d(nt,{factory_block:()=>df,factory_block_return:()=>If,factory_block_return_with_textarea:()=>hf,factory_block_with_textarea:()=>Tf,factory_callMethod_noreturn:()=>rf,factory_callMethod_return:()=>lf,factory_declare:()=>uf,factory_from_import:()=>of,factory_function_noreturn:()=>pf,factory_function_return:()=>af,factory_import:()=>_f,folding_block:()=>Mf});var st={};t.r(st),t.d(st,{inout_analog_atten:()=>Pf,inout_analog_read:()=>Sf,inout_analog_read_init:()=>Ff,inout_analog_write:()=>cf,inout_analog_write_init:()=>ff,inout_analog_write_set:()=>gf,inout_digital_init:()=>Nf,inout_digital_read:()=>Ef,inout_digital_write:()=>Of,inout_highlow:()=>mf,inout_pin_attachInterrupt:()=>Lf,inout_pin_pressed:()=>Af,inout_pin_pressed_init:()=>vf,inout_pwm_analog_write:()=>Rf,inout_pwm_analog_write_init:()=>Df,inout_pwm_analog_write_set_freq:()=>Cf});var ot={};t.r(ot),t.d(ot,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>jf,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>qf,IOT_EMQX_PING:()=>Zf,IOT_FORMATTING:()=>Jf,IOT_FORMAT_STRING:()=>zf,IOT_MIXIO_NTP:()=>$f,IOT_MIXIO_PUBLISH:()=>Gf,IOT_MIXIO_SUBSCRIBE:()=>Uf,iot_client_onboard:()=>tF,iot_http_client:()=>eF,iot_http_data:()=>iF,iot_mixio_check:()=>Hf,iot_mixio_connect:()=>Bf,iot_mixio_connect_only:()=>kf,iot_mixio_disconnect:()=>wf,iot_mixio_format_msg:()=>Kf,iot_mixio_format_topic:()=>Wf,iot_mixly_key:()=>Qf,iot_mqtt_client:()=>nF,iot_mqtt_data:()=>sF,iot_onenet_check:()=>Vf,iot_onenet_connect:()=>Xf,iot_onenet_disconnect:()=>xf,iot_onenet_publish:()=>yf,iot_onenet_publish_dict:()=>bf,iot_wifi_connect:()=>Yf});var _t={};t.r(_t),t.d(_t,{network_ap_connect:()=>IF,network_connect:()=>_F,network_get_connect:()=>aF,network_get_wifi:()=>dF,network_init:()=>oF,network_is_active:()=>lF,network_open:()=>rF,network_scan:()=>TF,network_server:()=>hF,network_socket_accept:()=>RF,network_socket_bind:()=>mF,network_socket_close:()=>AF,network_socket_connect:()=>OF,network_socket_init:()=>MF,network_socket_listen:()=>EF,network_socket_receive:()=>cF,network_socket_receive_from:()=>CF,network_socket_send:()=>gF,network_socket_send_to:()=>SF,network_stop:()=>uF,network_wifi_connect:()=>pF,ntptime_address:()=>FF,ntptime_time:()=>fF,requests_attribute:()=>NF,requests_get:()=>LF,requests_method:()=>DF});var pt={};t.r(pt),t.d(pt,{pe_g1_battery_left:()=>vF,pe_g1_dc_motor:()=>YF,pe_g1_dc_motor_speed:()=>XF,pe_g1_servo_get_angle:()=>VF,pe_g1_servo_get_speed:()=>yF,pe_g1_servo_set_angle:()=>xF,pe_g1_servo_set_speed:()=>bF,pe_g1_use_i2c_init:()=>PF});var at={};t.r(at),t.d(at,{HCSR04:()=>NP,PS2_Button:()=>FP,PS2_Buttons:()=>PP,PS2_Buttons_new:()=>BP,PS2_State:()=>vP,PS2_init:()=>DP,PS2_init_new:()=>VP,PS2_stk:()=>YP,PS2_stk_new:()=>GP,PS2_vibration:()=>fP,PS2_vibration_new:()=>yP,RTC_get_time:()=>xP,RTC_set_date:()=>KF,RTC_set_datetime:()=>XP,RTC_set_time:()=>WF,esp32_s2_weather_init:()=>CP,esp32_s2_weather_rain:()=>AP,esp32_s2_weather_wd:()=>SP,esp32_s2_weather_ws:()=>LP,extern_rfid_read:()=>lP,extern_rfid_readcontent:()=>IP,extern_rfid_readid:()=>dP,extern_rfid_status:()=>MP,extern_rfid_write:()=>TP,extern_rfid_write_return:()=>hP,gnss_get_data:()=>kP,gnss_have_data:()=>HP,mixbot_sensor_extern_get_addr:()=>$P,mixbot_sensor_extern_set_addr:()=>tv,pm25_get_data:()=>wP,robot_button_extern_get_value:()=>WP,robot_color_extern_get_value:()=>QP,robot_infrared_extern_get_value:()=>JP,robot_infrared_extern_grey_get_value:()=>zP,robot_potentiometer_extern_get_value:()=>qP,robot_sonar_extern_get_value:()=>jP,robot_sonar_extern_led:()=>ZP,robot_touch_extern_get_value:()=>KP,sensor_APDS9960_extern:()=>eP,sensor_LTR308_extern:()=>iP,sensor_LTR390UV_extern:()=>oP,sensor_MAX30102_extern:()=>tP,sensor_QMC5883L_extern:()=>_P,sensor_VL530LX_extern:()=>uP,sensor_aht11_extern:()=>aP,sensor_bmp:()=>jF,sensor_dht11:()=>bP,sensor_distance_hrsc04:()=>HF,sensor_hp203_extern:()=>nP,sensor_ltr381_extern:()=>sP,sensor_mixgo_extern_button_attachInterrupt:()=>wF,sensor_mixgo_extern_button_get_presses:()=>UF,sensor_mixgo_extern_button_is_pressed:()=>BF,sensor_mixgo_extern_button_was_pressed:()=>GF,sensor_mixgo_extern_light:()=>JF,sensor_mixgo_extern_pin_near:()=>qF,sensor_mixgo_extern_sound:()=>zF,sensor_mixgoce_hot_wheel_degrees:()=>gP,sensor_mixgoce_hot_wheel_is_touched:()=>cP,sensor_mpu9250_attachGestureInterrupt:()=>kF,sensor_rtc_init:()=>QF,sensor_sht:()=>ZF,sensor_shtc3_extern:()=>pP,sensor_use_i2c_init:()=>$F,sensor_use_spi_init:()=>rP,sensor_use_uart_init:()=>UP,sensor_weather_solo_init:()=>ev,sensor_weather_solo_rain:()=>sv,sensor_weather_solo_wd:()=>iv,sensor_weather_solo_ws:()=>nv,weather_data:()=>mP,weather_have_data:()=>OP,weather_set_label:()=>RP,weather_uart_mixio:()=>EP});var ut={};t.r(ut),t.d(ut,{HCSR04:()=>Iv,bitbot_als_num:()=>PY,dht11:()=>BY,number1:()=>Tv,number2:()=>hv,number3:()=>Mv,number4:()=>mv,number5:()=>Ov,number6:()=>Ev,number7:()=>Rv,onboard_RTC_get_time:()=>uY,onboard_RTC_get_timestamp:()=>rY,onboard_RTC_set_datetime:()=>pY,onboard_RTC_settime_string:()=>aY,onboard_RTC_timestamp_totuple:()=>lY,rfid_readcontent:()=>xv,rfid_readid:()=>Xv,rfid_write:()=>bv,rfid_write_return:()=>Vv,sensor_LTR308:()=>fv,sensor_adxl345_get_acceleration:()=>Kv,sensor_aht11:()=>vv,sensor_bitbot_ALS:()=>FY,sensor_button_get_presses:()=>XY,sensor_button_is_pressed:()=>vY,sensor_button_was_pressed:()=>YY,sensor_compass_reset:()=>Zv,sensor_ds18x20:()=>Nv,sensor_eulerangles:()=>Bv,sensor_get_acceleration:()=>yv,sensor_get_temperature:()=>Yv,sensor_hp203:()=>Pv,sensor_light:()=>yY,sensor_lm35:()=>Dv,sensor_mixbot_get_gyro:()=>fY,sensor_mixbot_patrol_calibrate:()=>LY,sensor_mixbot_patrol_value:()=>NY,sensor_mixbot_temperature:()=>DY,sensor_mixgo_LTR308:()=>Av,sensor_mixgo_button_attachInterrupt:()=>av,sensor_mixgo_button_get_presses:()=>pv,sensor_mixgo_button_is_pressed:()=>ov,sensor_mixgo_button_was_pressed:()=>_v,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>TY,sensor_mixgo_cc_mmc5603_get_angle:()=>IY,sensor_mixgo_cc_mmc5603_get_magnetic:()=>dY,sensor_mixgo_light:()=>VY,sensor_mixgo_nova_LTR308:()=>Lv,sensor_mixgo_nova_pin_near:()=>Sv,sensor_mixgo_pin_near:()=>Cv,sensor_mixgo_pin_near_double:()=>gv,sensor_mixgo_pin_near_single:()=>cv,sensor_mixgo_pin_pressed:()=>Hv,sensor_mixgo_touch_slide:()=>kv,sensor_mixgocar42_button_attachInterrupt:()=>dv,sensor_mixgocar42_button_get_presses:()=>lv,sensor_mixgocar42_button_is_pressed:()=>uv,sensor_mixgocar42_button_was_pressed:()=>rv,sensor_mixgocar_battery_left:()=>AY,sensor_mixgocar_pin_near:()=>CY,sensor_mixgocar_pin_near_line:()=>gY,sensor_mixgocar_pin_near_state_change:()=>SY,sensor_mixgoce_pin_pressed:()=>wv,sensor_mixgoce_temperature:()=>MY,sensor_mixgome_temperature:()=>hY,sensor_mpu9250_calibrate_compass:()=>qv,sensor_mpu9250_field_strength:()=>jv,sensor_mpu9250_gesture:()=>Gv,sensor_mpu9250_get_acceleration:()=>Uv,sensor_mpu9250_get_gyro:()=>zv,sensor_mpu9250_get_magnetic:()=>Jv,sensor_mpu9250_temperature:()=>Qv,sensor_mpython_pin_pressed:()=>Wv,sensor_mpython_qmi8658_get_gyro:()=>mY,sensor_mpython_qmi8658_temperature:()=>OY,sensor_onboard_compass_reset:()=>_Y,sensor_onboard_mpu9250_calibrate_compass:()=>nY,sensor_onboard_mpu9250_field_strength:()=>oY,sensor_onboard_mpu9250_gesture:()=>$v,sensor_onboard_mpu9250_get_acceleration:()=>tY,sensor_onboard_mpu9250_get_gyro:()=>iY,sensor_onboard_mpu9250_get_magnetic:()=>eY,sensor_onboard_mpu9250_temperature:()=>sY,sensor_pin_near:()=>bY,sensor_pin_pressed:()=>xY,sensor_rm_acc:()=>cY,sensor_rm_battery_left:()=>RY,sensor_rm_pin_near_double:()=>EY,sensor_sound:()=>Fv});var rt={};t.r(rt),t.d(rt,{serial_any:()=>HY,serial_print:()=>GY,serial_print_byte:()=>UY,serial_print_hex:()=>kY,serial_println:()=>wY,serial_read_from_ai:()=>eX,serial_readline:()=>KY,serial_readstr:()=>WY,serial_send_to_ai:()=>tX,serial_softserial:()=>JY,serial_softserial_new:()=>zY,system_input:()=>qY,system_print:()=>QY,system_print_end:()=>ZY,system_print_inline:()=>jY,system_print_many:()=>$Y});var lt={};t.r(lt),t.d(lt,{Panic_with_status_code:()=>IX,Timer_init:()=>DX,base_delay:()=>PX,controls_delay:()=>OX,controls_delay_new:()=>EX,controls_end_program:()=>hX,controls_millis:()=>TX,controls_uname:()=>mX,reset:()=>MX,system_bitbot_shutdown:()=>NX,system_device_name:()=>lX,system_device_serial_number:()=>dX,system_event_bus_source:()=>uX,system_event_bus_value:()=>rX,system_machine_reset:()=>LX,system_on_event:()=>_X,system_raise_event:()=>oX,system_reset:()=>nX,system_run_in_background:()=>iX,system_ticks_diff:()=>gX,system_timer:()=>cX,system_timer_init:()=>CX,system_timestamp:()=>pX,system_value:()=>aX,system_wait:()=>sX,system_wdt_feed:()=>AX,system_wdt_init:()=>SX,time_ticks_diff:()=>FX,timer:()=>RX,timer2:()=>fX});var dt={};t.r(dt),t.d(dt,{WEATHER_DAILY:()=>YX,WEATHER_HOUR:()=>XX,WEATHER_NOW:()=>vX});var It={};t.r(It),t.d(It,{controls_pin_attachInterrupt:()=>sx,inout_analog_atten:()=>KX,inout_analog_read:()=>WX,inout_analog_read_init:()=>ZX,inout_analog_write:()=>wX,inout_analog_write_init:()=>jX,inout_analog_write_set:()=>kX,inout_analog_write_set_freq:()=>ex,inout_digital_init:()=>qX,inout_digital_read:()=>GX,inout_digital_write:()=>BX,inout_highlow:()=>yX,inout_pinMode:()=>tx,inout_pin_attachInterrupt:()=>zX,inout_pin_pressed:()=>JX,inout_pin_pressed_init:()=>$X,inout_pwm_analog_write:()=>UX,inout_pwm_analog_write_init:()=>QX,inout_pwm_analog_write_set_freq:()=>HX,pin_pressed:()=>nx,pin_pressed_init:()=>ix});var Tt={};t.r(Tt),t.d(Tt,{analog_input:()=>Ix,analog_output:()=>hx,espnow_channel:()=>rx,haskylens_model:()=>lx,i2c_A_pin:()=>Mx,i2c_B_pin:()=>mx,pins_analog:()=>gx,pins_analog_pin:()=>Cx,pins_axis:()=>Gx,pins_brightness:()=>Ux,pins_builtinimg:()=>Yx,pins_builtinimg_extern:()=>Xx,pins_button:()=>Lx,pins_buttonB:()=>Nx,pins_dac:()=>Sx,pins_dac_pin:()=>Ax,pins_digital:()=>_x,pins_digital_dot:()=>qx,pins_digital_pin:()=>px,pins_exlcdh:()=>yx,pins_exlcdv:()=>Bx,pins_imglist:()=>xx,pins_input_pin:()=>ax,pins_one_more:()=>zx,pins_output_pin:()=>ux,pins_playlist:()=>bx,pins_playlist_extern:()=>Vx,pins_pwm:()=>Dx,pins_pwm_pin:()=>fx,pins_radio_datarate:()=>Jx,pins_radio_power:()=>Kx,pins_serial:()=>vx,pins_tone_notes:()=>Wx,pins_touch:()=>Px,pins_touch_pin:()=>Fx,pins_tts_bgmusic:()=>Hx,pins_tts_builtin_music:()=>kx,pins_tts_voice:()=>wx,pwm_input:()=>dx,pwm_output:()=>Tx,spi_A_pin:()=>Ox,spi_B_pin:()=>Ex,spi_C_pin:()=>Rx,spi_D_pin:()=>cx});var ht={};t.r(ht),t.d(ht,{inout_analog_atten:()=>rb,inout_analog_read:()=>nb,inout_analog_read_init:()=>ub,inout_analog_write:()=>tb,inout_analog_write_init:()=>ab,inout_analog_write_set:()=>eb,inout_digital_init:()=>_b,inout_digital_read:()=>Zx,inout_digital_write:()=>jx,inout_highlow:()=>Qx,inout_pin_attachInterrupt:()=>ob,inout_pin_pressed:()=>sb,inout_pin_pressed_init:()=>lb,inout_pwm_analog_write:()=>$x,inout_pwm_analog_write_init:()=>pb,inout_pwm_analog_write_set_freq:()=>ib});var Mt={};t.r(Mt),t.d(Mt,{analog_input:()=>cb,analog_output:()=>Cb,espnow_channel:()=>Eb,haskylens_model:()=>Rb,i2c_A_pin:()=>Sb,i2c_B_pin:()=>Ab,pins_analog:()=>Pb,pins_analog_pin:()=>Fb,pins_axis:()=>Wb,pins_brightness:()=>zb,pins_builtinimg:()=>Gb,pins_builtinimg_extern:()=>Ub,pins_button:()=>Ib,pins_buttonB:()=>Tb,pins_dac:()=>xb,pins_dac_pin:()=>Xb,pins_digital:()=>db,pins_digital_dot:()=>iV,pins_digital_pin:()=>hb,pins_exlcdh:()=>Kb,pins_exlcdv:()=>Jb,pins_imglist:()=>wb,pins_input_pin:()=>Mb,pins_interrupt:()=>yb,pins_one_more:()=>eV,pins_output_pin:()=>mb,pins_playlist:()=>kb,pins_playlist_extern:()=>Hb,pins_pwm:()=>Yb,pins_pwm_input:()=>Ob,pins_pwm_pin:()=>vb,pins_radio_datarate:()=>tV,pins_radio_power:()=>$b,pins_serial:()=>Bb,pins_tone_notes:()=>Zb,pins_touch:()=>Vb,pins_touch_pin:()=>bb,pins_tts_bgmusic:()=>jb,pins_tts_builtin_music:()=>Qb,pins_tts_voice:()=>qb,pwm_output:()=>gb,spi_A_pin:()=>Lb,spi_B_pin:()=>Nb,spi_C_pin:()=>Db,spi_D_pin:()=>fb});const mt=Blockly,Ot=Mixly,Et={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Rt=Et; /** * @license * Visual Blocks Editor @@ -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)}},Vt={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")}},yt={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")}};yt.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)}},zt={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")}},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=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 ee={init:function(){this.setColour(te),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},ie={init:function(){this.setColour(te);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]}))}},ne={init:function(){this.setColour(te);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]}))}},se={init:function(){this.setColour(te),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]}))}},oe={init:function(){this.setColour(te),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]}))}},_e={init:function(){this.setColour(te),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},pe={init:function(){this.setColour(te),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]}))}},ae={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(te),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]}))}},ue={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(te),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]}))}},re={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(te),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]}))}},le={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(te),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]}))}},de={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(te),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]}))}},Ie={init:function(){this.setColour(te),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)}},Te={init:function(){this.setColour(te),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)}},he={init:function(){this.setColour(te),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)}},Me={init:function(){this.setColour(te),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)}},me={init:function(){this.setColour(te),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)}},Oe={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(te),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]}))}},Ee={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(te),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]}))}},Re=Te,ce=160,ge={init:function(){this.setColour(ce),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,'"')}},Ce={init:function(){this.setColour(ce),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 Se={init:function(){this.setColour(ce),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,'"')}},Ae={init:function(){this.setColour(ce),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)}},Le={init:function(){this.setColour(ce),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ne={init:function(){this.setColour(ce),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},De={init:function(){this.setColour(ce),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},fe={init:function(){this.setColour(ce),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Fe={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(ce),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)}},Pe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ce),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)}},ve={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ce),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(ce),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"))}},Xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ce),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)}},xe={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ce),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},be={init:function(){this.setColour(ce),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)}},Ve={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(ce),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]}))}},ye={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(ce),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)}},Be={init:function(){this.setColour(ce),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)}},Ge={init:function(){this.setColour(ce),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)}},Ue={init:function(){this.setColour(ce),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)}},we={init:function(){this.setColour(ce),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)}},ke={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ce),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]}))}},He={init:function(){this.setColour(ce),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")}},Gi={init:function(){this.setColour(yi),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ui={init:function(){this.setColour(yi),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}},wi={init:function(){this.setColour(yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ki={init:function(){this.setColour(yi),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)}},Hi={init:function(){this.setColour(yi),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)}},Wi={init:function(){this.setColour(yi),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)}},Ki={init:function(){this.setColour(yi),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(yi),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(yi),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)}},qi={init:function(){this.setColour(yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Qi={init:function(){this.setColour(yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},ji={init:function(){this.setColour(yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Zi={init:function(){this.setColour(yi),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)}},$i={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(yi),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")}},tn={init:function(){this.setColour(yi),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)}},en={init:function(){this.setColour(yi),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)}},nn={init:function(){this.setColour(yi),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")}},sn={init:function(){this.setColour(yi),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},on={init:function(){this.setColour(yi),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)}},_n={init:function(){this.setColour(yi),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)}},pn=210,an={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(pn),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]}},un={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(pn),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)}},rn={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(pn),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]}))}},ln={init:function(){this.setColour(pn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},dn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(pn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},In={init:function(){this.setColour(pn),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},Tn={init:function(){this.setColour(pn),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)}},hn={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(pn),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)}},Mn={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(pn),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)}},mn={init:function(){this.setColour(pn),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},On={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)}},En={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")}},Rn={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+_}))}},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.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+_}))}},gn={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)}},Cn={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)}},Sn={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}))}},An={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)}},Ln={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)}},Nn={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)}},Dn={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)}},fn={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 Fn={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)}},Pn={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)}},vn={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}))}},Xn={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)}},xn={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]}))}},bn={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)}},Vn={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)}},yn={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]}))}},Bn={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)}},Gn={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()}},Un={};Un.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Un.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)}},bs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Vs={init:function(){this.setColour(Fs),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)}},ys={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us=160,ws={init:function(){this.setColour(Us),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},ks={init:function(){this.setColour(Us),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},Hs={init:function(){this.setColour(Us),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Ws={init:function(){this.setColour(Us),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Ks={init:function(){this.setColour(Us),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(Us),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},zs={init:function(){this.setColour(Us),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 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"},Vp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},yp=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]},zp=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]},Qp=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"),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]},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"},za=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},qa=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Qa=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=mt.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(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)}},nu={init:function(){this.setColour(eu),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)}},su={init:function(){this.setColour(eu),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)}},ou={init:function(){this.setColour(eu),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)}},_u={init:function(){this.setColour(eu),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)}},pu={init:function(){this.setColour(eu),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)}},au={init:function(){this.setColour(eu),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)}},uu={init:function(){this.setColour(eu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ru={init:function(){this.setColour(eu),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)}},lu={init:function(){this.setColour(eu),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)}},du={init:function(){this.setColour(eu),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)}},Iu={init:function(){this.setColour(eu),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)}},Tu={init:function(){this.setColour(eu),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)}},hu={init:function(){this.setColour(eu),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)}},Mu={init:function(){this.setColour(eu),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)}},mu={init:function(){this.setColour(eu),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)}},Ou={init:function(){this.setColour(eu),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)}},Eu={init:function(){this.setColour(eu),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)}},Ru={init:function(){this.setColour(eu),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)}},cu={init:function(){this.setColour(eu),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通信")}},gu={init:function(){this.setColour(eu),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)")}},Cu={init:function(){this.setColour(eu),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)")}},Su={init:function(){this.setColour(eu),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)}},Au={init:function(){this.setColour(eu),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)}},Lu={init:function(){this.setColour(eu),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)}},Nu={init:function(){this.setColour(eu),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)}},Du={init:function(){this.setColour(eu),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")}},fu={init:function(){this.setColour(eu),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)}},Fu={init:function(){this.setColour(eu),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)}},Pu={init:function(){this.setColour(eu),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)}},vu={init:function(){this.setColour(eu),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)}},Yu={init:function(){this.setColour(eu),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Xu={init:function(){this.setColour(eu),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)}},xu={init:function(){this.setColour(eu),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)}},bu={init:function(){this.setColour(eu),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)}},Vu={init:function(){this.setColour(eu),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)}},yu={init:function(){this.setColour(eu),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)}},Bu={init:function(){this.setColour(eu),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)}},Gu={init:function(){this.setColour(eu),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)}},Uu={init:function(){this.setColour(eu),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)}},wu={init:function(){this.setColour(eu),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)}},ku={init:function(){this.setColour(eu),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)}},Hu={init:function(){this.setColour(eu),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)}},Wu={init:function(){this.setColour(eu),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)}},Ku={init:function(){this.setColour(eu),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)}},Ju={init:function(){this.setColour(eu),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)}},zu="#6C9858",qu={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Qu={init:function(){this.setColour(zu),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)}},ju={init:function(){this.setColour(zu),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)}},Zu={init:function(){this.setColour(zu),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)}},$u={init:function(){this.setColour(zu),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)}},tr={init:function(){this.setColour(zu),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%)")}},er={init:function(){this.setColour(zu),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_OFF,"0"],[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()}},ir={init:function(){this.setColour(zu),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)}},nr={init:function(){this.setColour(zu),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)}},sr={init:function(){this.setColour(zu),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)}},or={init:function(){this.setColour(zu),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)")}},_r={init:function(){this.setColour(zu),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},pr={init:function(){this.setColour(zu),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)}}},ar={init:function(){this.setColour(zu),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)}},ur={init:function(){this.setColour(zu),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("")}},rr={init:function(){this.setColour(zu),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("")}},lr={init:function(){this.setColour(zu),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)}},dr={init:function(){this.setColour(zu),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)}}},Ir={init:function(){this.setColour(zu),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)}},Tr={init:function(){this.setColour(zu),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("")}},hr={init:function(){this.setColour(zu),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)}},Mr={init:function(){this.setColour(zu),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)}},mr={init:function(){this.setColour(zu),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)}},Or={init:function(){this.setColour(zu),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)}},Er={init:function(){this.setColour(zu),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)}},Rr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(zu),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)}},gr={init:function(){this.setColour(zu),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)}},Cr={init:function(){this.setColour(zu),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)}},Sr={init:function(){this.setColour(zu),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("")}},Ar={init:function(){this.setColour(zu),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)}},Lr={init:function(){this.setColour(zu),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)}},Nr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Dr={init:function(){this.setColour(zu),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)}},fr={init:function(){this.setColour(zu),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)}},Fr={init:function(){this.setColour(zu),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)}},Pr={init:function(){this.setColour(zu),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)}},vr={init:function(){this.setColour(zu),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)}},Yr={init:function(){this.setColour(zu),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)}},Xr={init:function(){this.setColour(zu),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)}},xr={init:function(){this.setColour(zu),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)}},br={init:function(){this.setColour(zu),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Vr={init:function(){this.setColour(zu),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)}},yr={init:function(){this.setColour(zu),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)}},Br={init:function(){this.setColour(zu),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)}},Gr={init:function(){this.setColour(zu),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)}},Ur={init:function(){this.setColour(zu),this.appendValueInput("PATH").appendField(mt.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wr={init:function(){this.setColour(zu),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)}},kr={init:function(){this.setColour(zu),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hr={init:function(){this.setColour(zu),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()}},Wr={init:function(){this.setColour(zu),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)}},Kr={init:function(){this.setColour(zu),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)}},Jr="#90A244",zr={init:function(){this.setColour(Jr),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+"MixGo AI"+mt.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},qr={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},Qr={init:function(){this.setColour(Jr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT,"qrcode"],[mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT,"barcode"],[mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},jr={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},Zr={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField(mt.Msg.SOFT_RESET+mt.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},$r={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(mt.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},tl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},el={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},il={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},nl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LINE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LINE_ANGLE,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},ol={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},_l={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_CIRCLE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},pl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},al={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_RECT+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},ul={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["RGB"+mt.Msg.HTML_COLOUR,"[0]"],["LAB"+mt.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},ll={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_COLOR_CHASE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},Il={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+mt.Msg.MIXLY_COLOR_LAB).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Tl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_TRAIN_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},hl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Ml={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LOCAL_CLASS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},ml={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Ol={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MP3_VOL).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},El={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ANCHOR).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Rl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},cl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setAlign(mt.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},gl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LICENSEPLATE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},Cl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},Sl={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_FACE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Al={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Ll={init:function(){this.setColour(Jr),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_20OBJECTS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Nl={init:function(){this.setColour(Jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Dl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AipSpeech_asr,"ASR"],[mt.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AI_UNIT).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(mt.Msg.OLED_STRING).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},Fl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AipSpeech_asr).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LANGUAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[mt.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[mt.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Pl="#2FAD7A",vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Xl={init:function(){this.jsonInit({inputsInline:!0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},xl={init:function(){this.jsonInit({inputsInline:!0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Gl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Ul={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},wl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},kl={init:function(){this.jsonInit({message0:mt.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[mt.Msg.MIXLY_PYTHON_PERIODIC,"False"],[mt.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},Wl={init:function(){this.jsonInit({inputsInline:!0,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Kl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Pl,helpUrl:mt.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Jl={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+" CC_G1"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);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]}))}},zl={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_BATTERY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ql={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_JOYSTICK).appendField(new mt.FieldDropdown([["x","[0]"],["y","[1]"],["(x,y)",""]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_BUTTON).appendField(new mt.FieldDropdown([["A","0"],["B","1"],["C","2"],["D","3"],["POWER","4"],["SELECT","5"]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.WHETHER_IS_PRESSED),this.setOutput(!0,Number),this.setInputsInline(!0)}},jl={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_HANDLE_SHUTDOWN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zl=100,$l={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[mt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},td={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)}},ed={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},id={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},nd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)")}},sd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField("ME GO").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)}},od={init:function(){this.setColour(Zl),this.appendDummyInput().appendField("ME GO").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)}},_d={init:function(){this.setColour(Zl),this.appendDummyInput().appendField("ME GO").appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[mt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.ROTATION_FORWARD,"CW"],[mt.Msg.ROTATION_BACKWARD,"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)}},pd={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_INTERRUPT).appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ad={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ud={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},rd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},ld={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT,"[0]"],[mt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[mt.Msg.MIXGO_LEFT_BACK,"[3]"],[mt.Msg.MIXGO_RIGHT_BACK,"[2]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},dd={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[mt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[mt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[mt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Id={init:function(){this.setColour(Zl),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.ME_GO_PITCH,"[0]"],[mt.Msg.ME_GO_ROLL,"[1]"],[mt.Msg.ME_GO_PITCH+", "+mt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Td={init:function(){this.setColour(Zl),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},hd=140,Md={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},md={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Od={init:function(){this.setColour(hd),this.appendValueInput("SUB").appendField("I2C "+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_INIT)}},Ed={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Rd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},cd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_I2C_SCAN1+mt.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_SCAN)}},gd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},Cd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_SET)}},Sd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SET+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},Ad={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ)}},Ld={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE+" "+mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},Nd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO)}},Dd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},fd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE)}},Fd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},Pd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},vd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ+mt.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Yd={init:function(){this.setColour(hd),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+mt.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_INIT)}},xd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SCAN)}},bd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_READ)}},Vd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.LANG_MATH_STRING,"write"],[mt.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_WRITE)}},yd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SELECT)}},Bd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_RESET)}},Gd={init:function(){this.setColour(hd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_INPUT1,"8"],[mt.Msg.MIXLY_IR_INPUT2,"16"],[mt.Msg.MIXLY_IR_INPUT3,"0"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_CMD_CODE,"0"],[mt.Msg.MIXLY_IR_ADDR_CODE,"1"],[mt.Msg.MIXLY_IR_RAW_CODE,"2"],[mt.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN).appendField(new mt.FieldDropdown([[mt.Msg.MILY_PAUSE,"True"],[mt.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(hd),this.appendValueInput("time").appendField(mt.Msg.MIXlY_RECV_FUN).appendField(mt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(hd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_SEND).appendField(mt.Msg.MIXLY_PIN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_SEND_samsung1,"False"],[mt.Msg.MIXLY_IR_SEND_samsung2,"True"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(mt.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(mt.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(mt.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},Jd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_IR_PULSE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(mt.Msg.MIXLY_IR_RAW_CODE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qd={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(hd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN+mt.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},$d={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TEXT_JOIN+mt.Msg.MSG.catBLE).appendField(new mt.FieldDropdown([[mt.Msg.HTML_NAME,"name"],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},eI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(mt.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},_I={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},aI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},uI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},rI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},lI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new mt.FieldDropdown([["("+mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+mt.Msg.OLED_STRING+")",""],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[mt.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},dI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},II={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},TI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MP_ESPNOW_RADIO+mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},MI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},mI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},OI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},EI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},RI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},cI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},gI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},CI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},SI={init:function(){this.setColour(hd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},AI={init:function(){this.setColour(hd),this.appendValueInput("SUB").appendField("Lora"+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(mt.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(mt.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(mt.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(mt.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new mt.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_LORA_INIT_TOOLTIP)}},LI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_PACKAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[mt.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},NI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},DI={init:function(){this.setColour(hd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},fI={init:function(){this.setColour(hd),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")}},FI={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(hd),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]}))}},PI={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(hd),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},vI=Od,YI=Ed,XI=Rd,xI=cd,bI=gd,VI=Cd,yI=Sd,BI=Ad,GI=Ld,UI=Nd,wI=Dd,kI=fd,HI=Fd,WI=Pd,KI=vd,JI=120;({init:function(){this.setColour(JI),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(JI);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zI="5BA5A5",qI={init:function(){this.setColour(zI),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},QI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},jI={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},ZI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$I={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},tT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},iT={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},nT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},sT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},_T={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},pT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},aT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new mt.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},uT={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},rT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(zI),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},lT={init:function(){this.setColour(zI),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.appendValueInput("row").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},dT={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.OLEDDISPLAY+mt.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(zI),this.setTooltip(mt.Msg.MIXLY_DF_LCD+mt.Msg.OLEDDISPLAY+mt.Msg.MIXLY_MICROBIT_TYPE_STRING)}},IT={init:function(){var t=[[mt.Msg.MIXLY_HEIGHT,"height"],[mt.Msg.MIXLY_WIDTH,"width"]];this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE+{height:mt.Msg.MIXLY_HEIGHT,width:mt.Msg.MIXLY_WIDTH}[t]}))}},TT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(zI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RECT).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_OLED_RECT)}},hT={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_DISPLAY_DRAW).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_DISPLAY_RLINE,"hline"],[mt.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE)}},MT={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},mT={init:function(){this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},OT={init:function(){this.setColour(zI),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},ET={init:function(){this.setColour(zI),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B)}},RT={init:function(){this.setColour(zI),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"ON"],[mt.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},cT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},gT={init:function(){this.setColour(zI),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new mt.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},CT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(zI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},ST={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(zI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},AT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(mt.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},LT={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(mt.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(mt.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(mt.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_SHOW_BMP_TOOLTIP)}},NT={init:function(){this.setColour(zI),this.appendValueInput("VAR").appendField(mt.Msg.OLED),this.appendDummyInput("").appendField(mt.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(mt.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(mt.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_DRAW_PIXE_TOOLTIP)}},DT={init:function(){this.setColour(zI),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},fT={init:function(){this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ON,"on"],[mt.Msg.MIXLY_OFF,"off"],[mt.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},FT={init:function(){this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},PT={init:function(){this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},vT={init:function(){this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},YT={init:function(){this.setColour(zI),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+mt.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.blockpy_turtle_rotate).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_NO,"0"],[mt.Msg.ANTI_CLOCKWISE+"90°","1"],[mt.Msg.ANTI_CLOCKWISE+"180°","2"],[mt.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},XT={init:function(){this.setColour(zI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},xT={init:function(){this.setColour(zI);let t=new mt.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},bT={init:function(){this.setColour(zI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},VT={init:function(){this.setColour(zI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},yT={init:function(){this.setColour(zI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catTFT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},GT={init:function(){this.setColour(zI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},UT={init:function(){this.setColour(zI),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},wT={init:function(){this.setColour(zI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},kT={init:function(){this.setColour(zI),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_SERIAL_PRINT+mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.appendDummyInput().appendField(mt.Msg.TFT_Brightness).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:mt.Msg.MIXLY_MICROBIT_Turn_on_display,0:mt.Msg.MIXLY_MICROBIT_Turn_off_display};return mt.Msg.MSG.catLCD+mt.Msg.TFT_Brightness+i[e]}))}},WT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.setColour(zI),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},KT={init:function(){this.setColour(zI),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},JT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},zT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},qT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},QT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},jT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ZT={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},$T={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},th={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eh={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},ih={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},nh={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},sh={init:function(){this.setColour(zI),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},oh={init:function(){this.jsonInit({colour:zI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},_h={init:function(){this.jsonInit({colour:zI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},ph={init:function(){this.jsonInit({colour:zI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},ah="#569A98",uh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Ot.Boards.getSelectedBoardKey()&&this.setTooltip(mt.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},rh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ih={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Th={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ah),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Mh={init:function(){this.jsonInit({colour:ah,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},mh={init:function(){this.jsonInit({colour:ah,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},Oh={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(ah),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},Eh={init:function(){this.setColour(ah),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Rh={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(ah),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:mt.Msg.MIXLY_UP,shift_down:mt.Msg.MIXLY_DOWN,shift_left:mt.Msg.MIXLY_LEFT,shift_right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},ch={init:function(){this.setColour(ah),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},gh={init:function(){this.setColour(ah),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Ch={init:function(){this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Sh={init:function(){this.setColour(ah),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Ah={init:function(){this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},Lh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ah),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Nh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ah),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Dh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(ah),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},fh={init:function(){var t=[["4x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+mt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.OLED_SET_FONT).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fh={init:function(){this.setColour(ah),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Ph={init:function(){this.setColour(ah),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},vh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Yh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Xh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},xh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.setColour(ah),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Vh={init:function(){this.jsonInit({colour:ah,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},yh={init:function(){this.jsonInit({colour:ah,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Bh={init:function(){this.jsonInit({colour:ah,args0:[{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Gh={init:function(){this.jsonInit({colour:ah,args0:[{type:"field_label",name:"size_image",text:mt.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},Uh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ah),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},wh={init:function(){this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},kh={init:function(){this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Hh={init:function(){this.setColour(ah),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Wh={init:function(){var t=[[mt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[mt.Msg.CLOCKWISE+"90"+mt.Msg.blockpy_setheading_degree,"1"],[mt.Msg.CLOCKWISE+"180"+mt.Msg.blockpy_setheading_degree,"2"],[mt.Msg.CLOCKWISE+"270"+mt.Msg.blockpy_setheading_degree,"3"]];this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(ah),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Jh={init:function(){this.setColour(ah),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},zh={init:function(){this.setColour(ah),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},qh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Qh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Zh={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},$h={init:function(){this.setColour(ah),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tM={init:function(){this.jsonInit({colour:ah,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},eM={init:function(){this.jsonInit({colour:ah,args0:[{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},iM={init:function(){this.jsonInit({colour:ah,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},nM={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(ah),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},sM={init:function(){this.setColour(ah),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},oM={init:function(){this.setColour(ah),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},_M={init:function(){this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},pM={init:function(){this.setColour(ah),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},aM={init:function(){this.setColour(ah),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},uM={init:function(){this.setColour(ah),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},rM={init:function(){this.setColour(ah),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(mt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},lM={init:function(){this.setColour(ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dM={init:function(){this.setColour(ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(mt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(mt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(mt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},IM={init:function(){this.setColour(ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TM={init:function(){this.setColour(ah),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hM={init:function(){this.jsonInit({colour:ah,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},MM="#777777",mM={init:function(){this.setColour(MM),this.appendDummyInput("").appendField("from ").appendField(new mt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new mt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OM={init:function(){this.setColour(MM),this.appendDummyInput("").appendField("import ").appendField(new mt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},EM={init:function(){this.setColour(MM),this.appendDummyInput("").appendField(new mt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},_m={init:function(){this.setColour($M),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},pm={init:function(){this.setColour($M),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($M),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}},um={init:function(){this.setColour($M),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)}},rm={init:function(){this.setColour($M),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)}},lm={init:function(){this.setColour($M),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)}},dm={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Im={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tm={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hm={init:function(){this.setColour($M),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Mm={init:function(){this.setColour($M),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},mm={init:function(){this.setColour($M),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Om={init:function(){this.setColour($M),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Em={init:function(){this.setColour($M),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)}},Rm={init:function(){this.setColour($M),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)}},cm={init:function(){this.setColour($M),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)}},gm={init:function(){this.setColour($M),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)}},Cm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour($M),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")}},Sm={init:function(){this.setColour($M),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Am={init:function(){this.setColour($M),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)}},Lm={init:function(){this.setColour($M),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)}},Nm={init:function(){this.setColour($M),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)}},Dm={init:function(){this.setColour($M),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)}},fm=tm,Fm=em,Pm=im,vm=nm,Ym=om,Xm=225,xm={init:function(){this.setColour(Xm),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)}},bm={init:function(){this.setColour(Xm),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}))}},Vm={init:function(){this.setColour(Xm),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)}},ym={init:function(){this.setColour(Xm),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}))}},Bm={init:function(){this.setColour(Xm),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)}},Gm={init:function(){this.setColour(Xm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Um={init:function(){this.setColour(Xm),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]}))}},wm={init:function(){this.setColour(Xm),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)}},km={init:function(){this.setColour(Xm),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)}},Hm={init:function(){this.setColour(Xm),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)}},Wm={init:function(){this.setColour(Xm),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)}},Km={init:function(){this.setColour(Xm),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]}))}},Jm={init:function(){this.setColour(Xm),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)}},zm={init:function(){this.setColour(Xm),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)}},qm={init:function(){this.setColour(Xm),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)}},Qm={init:function(){this.setColour(Xm),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)}},jm={init:function(){this.setColour(Xm),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)}},Zm={init:function(){this.setColour(Xm),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)}},$m={init:function(){this.setColour(Xm),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)}},tO={init:function(){this.setColour(Xm),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)}},eO={init:function(){this.setColour(Xm),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)}},iO={init:function(){this.setColour(Xm),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")}},nO={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(Xm),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]}))}},sO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Xm),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]}))}},oO={init:function(){this.setColour(Xm),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)}},_O={init:function(){this.setColour(Xm),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)}},pO=100,aO={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(pO),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)}},uO={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(pO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},rO={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(pO),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)}},lO={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(pO),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)}},dO={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(pO),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)}},IO={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(pO),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)}},TO={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(pO),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)}},hO={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(pO),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)}},MO="#A58C5B",mO={init:function(){this.setColour(MO),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)}},OO={init:function(){this.setColour(MO),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)}},EO={init:function(){this.setColour(MO),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)}},RO={init:function(){this.setColour(MO),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)}},cO={init:function(){this.setColour(MO),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}))}},gO={init:function(){this.setColour(MO),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}))}},CO={init:function(){this.setColour(MO),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)}},SO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(MO),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]}))}},AO={init:function(){this.setColour(MO),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)}},LO={init:function(){this.setColour(MO),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)}},NO={init:function(){this.setColour(MO),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}))}},DO={init:function(){this.setColour(MO),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]}))}},fO={init:function(){this.setColour(MO),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]}))}},FO={init:function(){this.setColour(MO),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)}},PO={init:function(){this.setColour(MO),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)}},vO={init:function(){this.setColour(MO),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"],["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")}},YO={init:function(){this.setColour(MO),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)}},XO={init:function(){this.setColour(MO),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)}},xO={init:function(){this.setColour(MO),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)}},bO={init:function(){this.setColour(MO),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)}},VO={init:function(){this.setColour(MO),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)}},yO={init:function(){this.setColour(MO),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)}},BO={init:function(){this.setColour(MO),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]}))}},GO={init:function(){this.setColour(MO),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]}))}},UO={init:function(){this.setColour(MO),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)}},wO={init:function(){this.setColour(MO),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)}},kO={init:function(){this.setColour(MO),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}))}},HO={init:function(){this.setColour(MO),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}))}},WO={init:function(){this.setColour(MO),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}))}},KO={init:function(){this.setColour(MO),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}))}},JO={init:function(){this.setColour(MO),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)}},zO={init:function(){this.setColour(MO),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)}},qO={init:function(){this.setColour(MO),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]}))}},QO={init:function(){this.setColour(MO),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)}},jO={init:function(){this.setColour(MO),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")}},ZO={init:function(){this.setColour(MO),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)}},$O={init:function(){this.setColour(MO),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)}},tE={init:function(){this.setColour(MO),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)}},eE={init:function(){this.setColour(MO),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)}},iE={init:function(){this.setColour(MO),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)}},nE={init:function(){this.setColour(MO),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)}},sE={init:function(){this.setColour(MO),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)")}},oE={init:function(){this.setColour(MO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},_E={init:function(){this.setColour(MO),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)}},pE={init:function(){this.setColour(MO),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},VL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yL=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"},BL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},GL=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"},UL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},wL=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"},kL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},HL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},WL=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]},KL=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"},JL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},zL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},qL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},QL=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]},jL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ZL=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"},$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_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"},tN=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"},eN=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"}},iN=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"},nN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},sN=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]},oN=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"},_N=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},pN=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"}},aN=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"}},uN=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"},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_pixel("+e.valueToCode(this,"POS_X",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"POS_Y",e.ORDER_ATOMIC)+")\n"},lN=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},dN=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"},TN=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"},hN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},MN=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"},mN=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},ON=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]},EN=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},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,"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},cN=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},gN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},CN=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},SN=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"},AN=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"},LN=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"},NN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},DN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},fN=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"},FN=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"},PN=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"},vN=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"},YN=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"},XN=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"},xN=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"},bN=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"},VN=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"},yN=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"},BN=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"},GN=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]},UN=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"},wN=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"},kN=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"},HN=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"},WN=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"},KN=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")},JN=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},zN=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"},qN=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},QN=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"},jN=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]},ZN=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]},$N=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},PD=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},vD=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"},YD=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},XD=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"},xD=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},bD=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},VD=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},yD=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},BD=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"},GD=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"},UD=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]},wD=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 _},kD=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]},HD=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"},WD=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},KD=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},JD=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"},zD=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"},qD=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"},QD=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},jD=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},ZD=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},$D=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},tf=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},jY=function(){return"control.reset()\n"},ZY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},$Y=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"},tX=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"},eX=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},iX=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},nX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},sX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},oX=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},_X=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},pX=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]}},uX=function(){return"while True:\n pass\n"},rX=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()"},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"}},IX=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"}},TX=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"},hX=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"},MX=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]},mX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},OX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},EX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},RX=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},cX=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},gX=mX,CX=hX,SX=MX,AX=dX,LX=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]},NX=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]},DX=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]},fX={};fX["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"]]},fX["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 FX=fX,PX=20,vX={init:function(){this.setColour(PX),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)}},YX={init:function(){this.setColour(PX),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)}},XX={init:function(){this.setColour(PX),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)}},xX={init:function(){this.setColour(PX),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)}},bX={init:function(){this.setColour(PX),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)}},VX={init:function(){this.setColour(PX),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)}},yX={init:function(){this.setColour(PX),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)}},BX={init:function(){this.setColour(PX),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)}},GX={init:function(){this.setColour(PX),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)}},UX={init:function(){this.setColour(PX),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)}},wX={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)}},kX={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")}},HX={init:function(){this.setColour(PX),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")}},WX={init:function(){this.setColour(PX),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")}},KX={init:function(){this.setColour(PX),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")}},JX={init:function(){this.setColour(PX),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")}},zX=kX,qX=yX,QX=JX,jX=UX,ZX=wX,$X=230,tx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},ex={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},ix={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},nx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},sx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},ox={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},_x={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},px={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},ax={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},ux={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},rx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},lx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},dx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Ix={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Tx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},hx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Mx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},mx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Ox={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},Ex={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Rx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},cx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},gx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Cx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Sx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Ax={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},Lx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Nx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Dx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},fx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},Fx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Px={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},vx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Yx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Xx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},yx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Bx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Gx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Ux={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},wx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},kx={init:function(){this.setColour($X),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Hx=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]},Jx=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"},zx=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"},qx=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"},Qx=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"},jx=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){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},$x=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"},tb=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"},eb=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"},ib=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"},sb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},ob=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"},_b=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},pb=_b,ab=_b,ub=_b,rb=_b,lb=_b,db=_b,Ib=_b,Tb=_b,hb=_b,Mb=_b,mb=_b,Ob=_b,Eb=_b,Rb=_b,cb=_b,gb=_b,Cb=_b,Sb=_b,Ab=_b,Lb=_b,Nb=_b,Db=_b,fb=_b,Fb=_b,Pb=_b,vb=_b,Yb=_b,Xb=_b,xb=_b,bb=_b,Vb=_b,yb=_b,Bb=_b,Gb=_b,Ub=_b,wb=_b,kb=_b,Hb=_b,Wb=_b,Kb=_b,Jb=_b,zb=_b,qb=_b,Qb=_b;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,wn),mt.Python=tu,mt.generator=tu,Ot.Profile.default={},Object.assign(Ot.Profile,FX),Object.assign(Ot.Profile.default,FX["MixGo CE"]),Object.assign(mt.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,y,W,H,X,B,K,f,k,w,U,G,F,D,N,b,x,V,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,q,ut,at,pt,_t,Q,z,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)}},Vt={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")}},yt={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")}};yt.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)}},zt={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")}},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=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 se={init:function(){this.setColour(ne),this.appendDummyInput().appendField(new mt.FieldTextInput("0",mt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MATH_NUMBER_TOOLTIP)}},oe={init:function(){this.setColour(ne);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]}))}},_e={init:function(){this.setColour(ne);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(ne),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]}))}},ae={init:function(){this.setColour(ne),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]}))}},ue={init:function(){this.setColour(ne),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new mt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},re={init:function(){this.setColour(ne),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]}))}},le={init:function(){var t=[[mt.Msg.MATH_BIN,"bin"],[mt.Msg.MATH_OCT,"oct"],[mt.Msg.MATH_HEX,"hex"]];this.setColour(ne),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]}))}},de={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(ne),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]}))}},Ie={init:function(){var t=[[mt.Msg.MIXLY_MAX,"max"],[mt.Msg.MIXLY_MIN,"min"]];this.setColour(ne),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]}))}},Te={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(ne),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]}))}},he={init:function(){var t=[[mt.Msg.LANG_MATH_INT,"int"],[mt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(ne),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(ne),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)}},me={init:function(){this.setColour(ne),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)}},Oe={init:function(){this.setColour(ne),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)}},Ee={init:function(){this.setColour(ne),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)}},Re={init:function(){this.setColour(ne),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)}},ce={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"],[mt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(ne),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]}))}},ge={init:function(){var t=[[mt.Msg.MIXLY_TO_INT,"int"],[mt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(ne),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]}))}},Ce=me,Se=160,Ae={init:function(){this.setColour(Se),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,'"')}},Le={init:function(){this.setColour(Se),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 Ne={init:function(){this.setColour(Se),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,'"')}},De={init:function(){this.setColour(Se),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(Se),this.appendValueInput("VAR").setCheck(Number).appendField(mt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Fe={init:function(){this.setColour(Se),this.appendValueInput("VAR").setCheck(String).appendField(mt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Pe={init:function(){this.setColour(Se),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ve={init:function(){this.setColour(Se),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ye={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(Se),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(Se),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)}},xe={init:function(){this.setHelpUrl(mt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Se),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(mt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(mt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},be={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(Se),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(Se),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)}},ye={init:function(){var t=[[mt.Msg.MIXLY_EQUALS,"==="],[mt.Msg.MIXLY_STARTSWITH,"startswith"],[mt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Se),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new mt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Be={init:function(){this.setColour(Se),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)}},Ge={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(Se),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]}))}},Ue={init:function(){var t=[[mt.Msg.TEXT_LJUST,"ljust"],[mt.Msg.TEXT_CENTER,"center"],[mt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Se),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)}},we={init:function(){this.setColour(Se),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)}},ke={init:function(){this.setColour(Se),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)}},He={init:function(){this.setColour(Se),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)}},We={init:function(){this.setColour(Se),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)}},Ke={init:function(){var t=[[mt.Msg.TEXT_TRIM_BOTH,"strip"],[mt.Msg.TEXT_TRIM_LEFT,"lstrip"],[mt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Se),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]}))}},Je={init:function(){this.setColour(Se),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")}},ki={init:function(){this.setColour(Ui),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Hi={init:function(){this.setColour(Ui),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}},Wi={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_KEYS),this.setTooltip(mt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ki={init:function(){this.setColour(Ui),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)}},Ji={init:function(){this.setColour(Ui),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(Ui),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(Ui),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)}},Qi={init:function(){this.setColour(Ui),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)}},ji={init:function(){this.setColour(Ui),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)}},Zi={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_ITEMS),this.setTooltip(mt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},$i={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.DICT_VALUES),this.setTooltip(mt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},tn={init:function(){this.setColour(Ui),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LENGTH),this.setTooltip(mt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},en={init:function(){this.setColour(Ui),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)}},nn={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(Ui),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")}},sn={init:function(){this.setColour(Ui),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)}},on={init:function(){this.setColour(Ui),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)}},_n={init:function(){this.setColour(Ui),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(Ui),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},an={init:function(){this.setColour(Ui),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)}},un={init:function(){this.setColour(Ui),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)}},rn=210,ln={init:function(){var t=mt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(rn),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]}},dn={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(rn),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)}},In={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(rn),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]}))}},Tn={init:function(){this.setColour(rn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(mt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(mt.Msg.LOGIC_NEGATE_TOOLTIP)}},hn={init:function(){var t=[[mt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[mt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(rn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new mt.FieldDropdown(t),"BOOL"),this.setTooltip(mt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Mn={init:function(){this.setColour(rn),this.setOutput(!0),this.appendDummyInput().appendField(mt.Msg.LOGIC_NULL),this.setTooltip(mt.Msg.LOGIC_NULL_TOOLTIP)}},mn={init:function(){this.setColour(rn),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)}},On={init:function(){var t=[[mt.Msg.TEXT_APPEND_TO,"in"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(rn),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)}},En={init:function(){var t=[[mt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[mt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(rn),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)}},Rn={init:function(){this.setColour(rn),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},cn={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)}},gn={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")}},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.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+_}))}},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.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+_}))}},An={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)}},Ln={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)}},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_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}))}},Dn={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)}},Fn={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)}},Pn={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)}},vn={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 Yn={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)}},xn={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)}},bn={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)}},yn={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]}))}},Bn={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)}},Gn={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)}},Un={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]}))}},wn={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)}},kn={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()}},Hn={};Hn.NAME_TYPE=mt.PROCEDURE_CATEGORY_NAME,Hn.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)}},Bs={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(mt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Gs={init:function(){this.setColour(Ys),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)}},Us={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(new mt.FieldTextInput("property"),"KEY").appendField(":").appendField(new mt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(mt.Msg.HTML_TEXT).appendField(new mt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs=160,Ws={init:function(){this.setColour(Hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new mt.FieldTable(""),"TEXT")}},Ks={init:function(){this.setColour(Hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT")}},Js={init:function(){this.setColour(Hs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new mt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},zs={init:function(){this.setColour(Hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},qs={init:function(){this.setColour(Hs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new mt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Qs={init:function(){this.setColour(Hs),this.appendValueInput("VALUE").appendField(mt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},js={init:function(){this.setColour(Hs),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 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]},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]},qp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Qp=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"),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]},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"},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"},qa=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Qa=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=mt.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(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)}},uu={init:function(){this.setColour(pu),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)}},ru={init:function(){this.setColour(pu),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)}},lu={init:function(){this.setColour(pu),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)}},du={init:function(){this.setColour(pu),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)}},Iu={init:function(){this.setColour(pu),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)}},Tu={init:function(){this.setColour(pu),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)}},hu={init:function(){this.setColour(pu),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mu={init:function(){this.setColour(pu),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)}},mu={init:function(){this.setColour(pu),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)}},Ou={init:function(){this.setColour(pu),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)}},Eu={init:function(){this.setColour(pu),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)}},Ru={init:function(){this.setColour(pu),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(pu),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)}},gu={init:function(){this.setColour(pu),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)}},Cu={init:function(){this.setColour(pu),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)}},Su={init:function(){this.setColour(pu),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)}},Au={init:function(){this.setColour(pu),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)}},Lu={init:function(){this.setColour(pu),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)}},Nu={init:function(){this.setColour(pu),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通信")}},Du={init:function(){this.setColour(pu),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)")}},fu={init:function(){this.setColour(pu),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)")}},Fu={init:function(){this.setColour(pu),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)}},Pu={init:function(){this.setColour(pu),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)}},vu={init:function(){this.setColour(pu),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)}},Yu={init:function(){this.setColour(pu),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)}},Xu={init:function(){this.setColour(pu),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")}},xu={init:function(){this.setColour(pu),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)}},bu={init:function(){this.setColour(pu),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)}},Vu={init:function(){this.setColour(pu),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)}},yu={init:function(){this.setColour(pu),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)}},Bu={init:function(){this.setColour(pu),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Gu={init:function(){this.setColour(pu),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)}},Uu={init:function(){this.setColour(pu),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)}},wu={init:function(){this.setColour(pu),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)}},ku={init:function(){this.setColour(pu),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)}},Hu={init:function(){this.setColour(pu),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)}},Wu={init:function(){this.setColour(pu),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)}},Ku={init:function(){this.setColour(pu),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)}},Ju={init:function(){this.setColour(pu),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(pu),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)}},qu={init:function(){this.setColour(pu),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)}},Qu={init:function(){this.setColour(pu),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)}},ju={init:function(){this.setColour(pu),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)}},Zu={init:function(){this.setColour(pu),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)}},$u={init:function(){this.setColour(pu),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)}},tr="#6C9858",er={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},ir={init:function(){this.setColour(tr),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)}},nr={init:function(){this.setColour(tr),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)}},sr={init:function(){this.setColour(tr),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)}},or={init:function(){this.setColour(tr),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)}},_r={init:function(){this.setColour(tr),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%)")}},pr={init:function(){this.setColour(tr),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_OFF,"0"],[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()}},ar={init:function(){this.setColour(tr),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)}},ur={init:function(){this.setColour(tr),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)}},rr={init:function(){this.setColour(tr),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)}},lr={init:function(){this.setColour(tr),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)")}},dr={init:function(){this.setColour(tr),this.appendDummyInput("").appendField(new mt.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},Ir={init:function(){this.setColour(tr),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)}}},Tr={init:function(){this.setColour(tr),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)}},hr={init:function(){this.setColour(tr),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("")}},Mr={init:function(){this.setColour(tr),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("")}},mr={init:function(){this.setColour(tr),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)}},Or={init:function(){this.setColour(tr),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)}}},Er={init:function(){this.setColour(tr),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)}},Rr={init:function(){this.setColour(tr),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(tr),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)}},gr={init:function(){this.setColour(tr),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)}},Cr={init:function(){this.setColour(tr),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)}},Sr={init:function(){this.setColour(tr),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)}},Ar={init:function(){this.setColour(tr),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)}},Lr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nr={init:function(){this.setColour(tr),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)}},Dr={init:function(){this.setColour(tr),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)}},fr={init:function(){this.setColour(tr),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)}},Fr={init:function(){this.setColour(tr),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("")}},Pr={init:function(){this.setColour(tr),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)}},vr={init:function(){this.setColour(tr),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)}},Yr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Xr={init:function(){this.setColour(tr),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)}},xr={init:function(){this.setColour(tr),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)}},br={init:function(){this.setColour(tr),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)}},Vr={init:function(){this.setColour(tr),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)}},yr={init:function(){this.setColour(tr),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)}},Br={init:function(){this.setColour(tr),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)}},Gr={init:function(){this.setColour(tr),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)}},Ur={init:function(){this.setColour(tr),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)}},wr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},kr={init:function(){this.setColour(tr),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)}},Hr={init:function(){this.setColour(tr),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)}},Wr={init:function(){this.setColour(tr),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)}},Kr={init:function(){this.setColour(tr),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)}},Jr={init:function(){this.setColour(tr),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(tr),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)}},qr={init:function(){this.setColour(tr),this.appendDummyInput().appendField(mt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(tr),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()}},jr={init:function(){this.setColour(tr),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)}},Zr={init:function(){this.setColour(tr),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)}},$r="#90A244",tl={init:function(){this.setColour($r),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+"MixGo AI"+mt.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},el={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},il={init:function(){this.setColour($r),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_QR_CODE+mt.Msg.MIXPY_OBJECT,"qrcode"],[mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT,"barcode"],[mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},nl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField(mt.Msg.SOFT_RESET+mt.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[mt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},ol={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(mt.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},_l={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_BAR_CODE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},pl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},al={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_TAG+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.OLED_STRING,"info1"],[mt.Msg.blockpy_turtle_rotate+mt.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},ul={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LINE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LINE_ANGLE,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},ll={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_CIRCLE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},Il={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Tl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_RECT+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},hl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ml={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["RGB"+mt.Msg.HTML_COLOUR,"[0]"],["LAB"+mt.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},ml={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ol={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_COLOR_CHASE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_CIRCLE_AREA,"info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},El={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+mt.Msg.MIXLY_COLOR_LAB).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Rl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(mt.Msg.MIXLY_TRAIN_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},cl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_OBJECT_LIST).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_NAME).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},gl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LOCAL_CLASS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},Cl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Sl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MP3_VOL).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Al={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_ANCHOR).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_MODEL_PATH).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(mt.Msg.MIXLY_AipNlp_Topic_Title).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Ll={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_YOLO_RECOGNIZE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"],[mt.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+mt.Msg.MIXLY_POSITION_XY,"xc"],[mt.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+mt.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Nl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(mt.Msg.MIXLY_ESP32_THRESHOLD).setAlign(mt.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Dl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_LICENSEPLATE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},fl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},Fl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_FACE+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Pl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},vl={init:function(){this.setColour($r),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_20OBJECTS+mt.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET).appendField(new mt.FieldDropdown([["ID","info1"],[mt.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[mt.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+mt.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+mt.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+mt.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+mt.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Yl={init:function(){this.setColour($r),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Xl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AipSpeech_asr,"ASR"],[mt.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AI_UNIT).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(mt.Msg.OLED_STRING).setAlign(mt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},bl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_AipSpeech_asr).appendField(mt.Msg.MIXLY_Client).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(mt.Msg.MIXPY_AI_AUDIO_TIME).setAlign(mt.inputs.Align.RIGHT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_LANGUAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[mt.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[mt.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Vl="#2FAD7A",yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Gl={init:function(){this.jsonInit({inputsInline:!0,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Ul={init:function(){this.jsonInit({inputsInline:!0,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Jl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},zl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},ql={init:function(){this.jsonInit({message0:mt.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[mt.Msg.MIXLY_PYTHON_PERIODIC,"False"],[mt.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Ql={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},jl={init:function(){this.jsonInit({inputsInline:!0,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(mt.CONTROLS_REPEAT_INPUT_DO)}},Zl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Vl,helpUrl:mt.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:mt.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:mt.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},$l={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP+" CC_G1"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);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]}))}},td={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_BATTERY),this.setOutput(!0,Number),this.setInputsInline(!0)}},ed={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET_JOYSTICK).appendField(new mt.FieldDropdown([["x","[0]"],["y","[1]"],["(x,y)",""]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DATA),this.setOutput(!0,Number),this.setInputsInline(!0)}},id={init:function(){this.setColour(40),this.appendDummyInput().appendField(mt.Msg.MIXLY_BUTTON).appendField(new mt.FieldDropdown([["A","0"],["B","1"],["C","2"],["D","3"],["POWER","4"],["SELECT","5"]]),"VAR"),this.appendDummyInput("").appendField(mt.Msg.WHETHER_IS_PRESSED),this.setOutput(!0,Number),this.setInputsInline(!0)}},nd={init:function(){this.setColour(40),this.appendDummyInput("").appendField(mt.Msg.MIXLY_HANDLE_SHUTDOWN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sd=100,od={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_GREEN+mt.Msg.MIXLY_EXTERN_LED,"GLED[2]"],[mt.Msg.MIXGO_LEFT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[0]"],[mt.Msg.MIXGO_RIGHT_FRONT+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[1]"],[mt.Msg.MIXGO_LEFT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[3]"],[mt.Msg.MIXGO_RIGHT_BACK+mt.Msg.COLOUR_RGB_RED+mt.Msg.MIXLY_EXTERN_LED,"RLED[2]"],[mt.Msg.ME_GO_LIGHT_HEADLIGHT,"WLED"]]),"op"),this.setOutput(!0)}},_d={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)}},pd={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_BRIGHTNESS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ad={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField("ME GO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_LED_GETONOFF)}},ud={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField("ME GO"),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)")}},rd={init:function(){this.setColour(sd),this.appendDummyInput().appendField("ME GO").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)}},ld={init:function(){this.setColour(sd),this.appendDummyInput().appendField("ME GO").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)}},dd={init:function(){this.setColour(sd),this.appendDummyInput().appendField("ME GO").appendField(mt.Msg.MOTOR_DC).appendField(new mt.FieldDropdown([[mt.Msg.MIXLYCAR_WHEEL_LEFT,"0"],[mt.Msg.MIXLYCAR_WHEEL_RIGHT,"1"],[mt.Msg.ME_GO_MOTOR_EXTERN,"2"]]),"wheel"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Direction).appendField(new mt.FieldDropdown([[mt.Msg.ROTATION_FORWARD,"CW"],[mt.Msg.ROTATION_BACKWARD,"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)}},Id={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_INTERRUPT).appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendValueInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Td={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SETUP),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["turns,distance","all"]]),"args"),this.appendValueInput("num").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},hd={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.ME_GO_HALL_SENSOR),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"A"],[mt.Msg.TEXT_TRIM_RIGHT,"B"]]),"mode"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput("").appendField(new mt.FieldDropdown([["turns","turns"],["distance","distance"],["speed","speed"]]),"args"),this.setOutput(!0),this.setInputsInline(!0)}},Md={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_LINE_SENSOR_VAL),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},md={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXGO_LEFT_FRONT,"[0]"],[mt.Msg.MIXGO_RIGHT_FRONT,"[1]"],[mt.Msg.MIXGO_LEFT_BACK,"[3]"],[mt.Msg.MIXGO_RIGHT_BACK,"[2]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXGO_PROXIMITY_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ESP32_NEAR}))}},Od={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_SENSOR_ONBOARD_CHANGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ME_GO_CAR_SENSOR_ONBOARD_AUTO_CHANGE,"AS"],[mt.Msg.MIXLY_MIXGO_CAR_USE_LINE_ONLY,"LP"],[mt.Msg.MIXLY_MIXGO_CAR_USE_PROXIMITY_ONLY,"OA"],[mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_ONLY,"LS"],[mt.Msg.ME_GO_SENSOR_MODE_OFF,"CL"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(sd),this.appendDummyInput("").appendField(mt.Msg.MIXLY_GET_GESTURE).appendField(new mt.FieldDropdown([[mt.Msg.ME_GO_PITCH,"[0]"],[mt.Msg.ME_GO_ROLL,"[1]"],[mt.Msg.ME_GO_PITCH+", "+mt.Msg.ME_GO_ROLL,""]]),"angle"),this.appendDummyInput(""),this.setOutput(!0,Number),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(sd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.TEXT_TRIM_LEFT,"[0]"],[mt.Msg.MIXGO_LEFT_MID,"[1]"],[mt.Msg.MIXGO_RIGHT_MID,"[2]"],[mt.Msg.TEXT_TRIM_RIGHT,"[3]"],[mt.Msg.MIXLY_ALL,""]]),"key").appendField(mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip((function(){return mt.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP+mt.Msg.MIXLY_ME_GO_CAR_LIGHT_SEEKING_SENSOR}))}},cd=140,gd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(cd),this.appendValueInput("SUB").appendField("I2C "+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(mt.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_FREQUENCY).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_INIT)}},Ad={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Ld={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},Nd={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_I2C_SCAN1+mt.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_SCAN)}},Dd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},fd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_SET)}},Fd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SET+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},Pd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ)}},vd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(mt.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.LANG_MATH_BYTE+" "+mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},Yd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO)}},Xd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(mt.Msg.MIXLY_SERIAL_READ+mt.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},xd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE)}},bd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(mt.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},Vd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},yd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_READ+mt.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},Bd={init:function(){this.setColour(cd),this.appendValueInput("PIN",Number).appendField(mt.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+mt.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(mt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_INIT)}},Ud={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SCAN)}},wd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_READ)}},kd={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_ESP32_WRITE).appendField(new mt.FieldDropdown([[mt.Msg.LANG_MATH_STRING,"write"],[mt.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_WRITE)}},Hd={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(mt.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_SELECT)}},Wd={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_OW_RESET)}},Kd={init:function(){this.setColour(cd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_INPUT1,"8"],[mt.Msg.MIXLY_IR_INPUT2,"16"],[mt.Msg.MIXLY_IR_INPUT3,"0"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_CMD_CODE,"0"],[mt.Msg.MIXLY_IR_ADDR_CODE,"1"],[mt.Msg.MIXLY_IR_RAW_CODE,"2"],[mt.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},zd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN).appendField(new mt.FieldDropdown([[mt.Msg.MILY_PAUSE,"True"],[mt.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(cd),this.appendValueInput("time").appendField(mt.Msg.MIXlY_RECV_FUN).appendField(mt.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jd={init:function(){this.setColour(cd),this.appendValueInput("PIN").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.MIXLY_IR_SEND).appendField(mt.Msg.MIXLY_PIN),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_IR_SEND_samsung1,"False"],[mt.Msg.MIXLY_IR_SEND_samsung2,"True"],[mt.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(mt.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(mt.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(mt.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(mt.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},$d={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(mt.Msg.MIXLY_IR_PULSE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},tI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(mt.Msg.MIXLY_IR_RAW_CODE).setAlign(mt.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},eI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},iI={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(cd),this.appendValueInput("VAR").appendField(mt.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catEthernet_init+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+mt.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_ONEWIRE_SCAN+mt.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},oI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},_I={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_TEXT_JOIN+mt.Msg.MSG.catBLE).appendField(new mt.FieldDropdown([[mt.Msg.HTML_NAME,"name"],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},pI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(mt.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},uI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MSG.catBLE+mt.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},rI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},dI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField(mt.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(mt.Msg.CONTROLS_REPEAT_INPUT_DO+mt.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},II={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},TI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+mt.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(mt.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},hI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},MI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},mI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new mt.FieldDropdown([["("+mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+mt.Msg.OLED_STRING+")",""],[mt.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[mt.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},OI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},EI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(mt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_SETTING+mt.Msg.MIXLY_MP_ESPNOW_RADIO+mt.Msg.MIXLY_TX_POWER).appendField(new mt.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},CI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[mt.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},SI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},AI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},LI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},NI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},DI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},fI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},FI={init:function(){this.setColour(cd),this.appendDummyInput().appendField(mt.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new mt.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(mt.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},PI={init:function(){this.setColour(cd),this.appendValueInput("SUB").appendField("Lora"+mt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(mt.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(mt.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(mt.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(mt.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(mt.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new mt.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_LORA_INIT_TOOLTIP)}},vI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_GET+mt.Msg.MIXLY_PACKAGE).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[mt.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},YI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},XI={init:function(){this.setColour(cd),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},xI={init:function(){this.setColour(cd),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")}},bI={init:function(){this.appendValueInput("VAL");var t=[[mt.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(cd),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]}))}},VI={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(cd),this.appendDummyInput("").appendField(mt.Msg.blockpy_CONDUCT).appendField(new mt.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(mt.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},yI=Sd,BI=Ad,GI=Ld,UI=Nd,wI=Dd,kI=fd,HI=Fd,WI=Pd,KI=vd,JI=Yd,zI=Xd,qI=xd,QI=bd,jI=Vd,ZI=yd,$I=120;({init:function(){this.setColour($I),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(mt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new mt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[mt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour($I);var t=new mt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[mt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const tT="5BA5A5",eT={init:function(){this.setColour(tT),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},iT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},nT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},_T={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},pT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},aT={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},uT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},rT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},lT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},dT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},IT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},TT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new mt.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},hT={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},MT={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(tT),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},mT={init:function(){this.setColour(tT),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.appendValueInput("row").appendField(mt.Msg.MIXLY_SETUP+mt.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},OT={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.OLEDDISPLAY+mt.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(tT),this.setTooltip(mt.Msg.MIXLY_DF_LCD+mt.Msg.OLEDDISPLAY+mt.Msg.MIXLY_MICROBIT_TYPE_STRING)}},ET={init:function(){var t=[[mt.Msg.MIXLY_HEIGHT,"height"],[mt.Msg.MIXLY_WIDTH,"width"]];this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+mt.Msg.MIXLY_MICROBIT_IMAGE+{height:mt.Msg.MIXLY_HEIGHT,width:mt.Msg.MIXLY_WIDTH}[t]}))}},RT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RECT).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_OLED_RECT)}},cT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_DISPLAY_DRAW).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_DISPLAY_RLINE,"hline"],[mt.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE)}},gT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},CT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(mt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},ST={init:function(){this.setColour(tT),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},AT={init:function(){this.setColour(tT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(mt.Msg.LISTS_SET_INDEX_SET+mt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_RGB_NUM_R_G_B)}},LT={init:function(){this.setColour(tT),this.appendDummyInput("").appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ESP32_ON,"ON"],[mt.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},NT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},DT={init:function(){this.setColour(tT),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new mt.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},fT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},FT={init:function(){var t=[[mt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[mt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new mt.FieldDropdown(t),"OP"),this.jsonInit({message0:mt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(mt.Msg.MIXLY_DISPLAY_DRAW+mt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},PT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(mt.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},vT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(mt.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(mt.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(mt.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_SHOW_BMP_TOOLTIP)}},YT={init:function(){this.setColour(tT),this.appendValueInput("VAR").appendField(mt.Msg.OLED),this.appendDummyInput("").appendField(mt.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(mt.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(mt.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(mt.Msg.OLED_DRAW_PIXE_TOOLTIP)}},XT={init:function(){this.setColour(tT),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},xT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_ON,"on"],[mt.Msg.MIXLY_OFF,"off"],[mt.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},bT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},VT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(mt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+mt.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},yT={init:function(){this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_4DIGITDISPLAY).appendField(new mt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(mt.inputs.Align.RIGHT).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},BT={init:function(){this.setColour(tT),this.appendValueInput("SPISUB").appendField(mt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+mt.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(mt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(mt.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.blockpy_turtle_rotate).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_NO,"0"],[mt.Msg.ANTI_CLOCKWISE+"90°","1"],[mt.Msg.ANTI_CLOCKWISE+"180°","2"],[mt.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},GT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},UT={init:function(){this.setColour(tT);let t=new mt.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(mt.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},wT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},kT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},HT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catTFT),this.appendDummyInput().appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:mt.Msg.MIXLY_LCD_STAT_CLEAR,1:mt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return mt.Msg.MIXLY_DF_LCD+i[e]}))}},KT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:mt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(mt.Msg.MIXLY_OLED_LINE_ARBIT)}},JT={init:function(){this.setColour(tT),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},zT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},qT={init:function(){this.setColour(tT),this.appendValueInput("SUB").appendField(mt.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_SERIAL_PRINT+mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QT={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.appendDummyInput().appendField(mt.Msg.TFT_Brightness).appendField(new mt.FieldDropdown([[mt.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[mt.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:mt.Msg.MIXLY_MICROBIT_Turn_on_display,0:mt.Msg.MIXLY_MICROBIT_Turn_off_display};return mt.Msg.MSG.catLCD+mt.Msg.TFT_Brightness+i[e]}))}},jT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catLCD),this.setColour(tT),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},ZT={init:function(){this.setColour(tT),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(mt.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return mt.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},$T={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},th={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},eh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},ih={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},nh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},sh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},oh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_h={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ph={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},ah={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},uh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},rh={init:function(){this.setColour(tT),this.appendValueInput("SUB").setCheck("var").appendField(mt.Msg.MSG.catOLED),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},lh={init:function(){this.jsonInit({colour:tT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},dh={init:function(){this.jsonInit({colour:tT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},Ih={init:function(){this.jsonInit({colour:tT,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},Th="#569A98",hh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Ot.Boards.getSelectedBoardKey()&&this.setTooltip(mt.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},Mh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Oh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Eh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Rh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ch={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},gh={init:function(){this.jsonInit({colour:Th,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},Ch={init:function(){this.jsonInit({colour:Th,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:mt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:mt.Msg.MIXLY_MICROBIT_Built_in_image})}},Sh={init:function(){var t=[[mt.Msg.MICROBIT_DISPLAY_UNION,"add"],[mt.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(Th),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(mt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new mt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":mt.Msg.MIXLY_MICROBIT_image_add,"-":mt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},Ah={init:function(){this.setColour(Th),this.appendValueInput("A").setCheck("esp32_image").appendField(mt.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},Lh={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(Th),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:mt.Msg.MIXLY_UP,shift_down:mt.Msg.MIXLY_DOWN,shift_left:mt.Msg.MIXLY_LEFT,shift_right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},Nh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Dh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},fh={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Fh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Ph={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},vh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Yh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},Xh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},xh={init:function(){var t=[["4x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+mt.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+mt.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.OLED_SET_FONT).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Vh={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},yh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(mt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},Bh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Gh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Uh={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},kh={init:function(){this.jsonInit({colour:Th,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Hh={init:function(){this.jsonInit({colour:Th,args0:[{name:"state",options:[[mt.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[mt.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Wh={init:function(){this.jsonInit({colour:Th,args0:[{name:"state",options:[[mt.Msg.mpython_display_hline_1,"1"],[mt.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Kh={init:function(){this.jsonInit({colour:Th,args0:[{type:"field_label",name:"size_image",text:mt.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},Jh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},zh={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},qh={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Qh={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},jh={init:function(){var t=[[mt.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[mt.Msg.CLOCKWISE+"90"+mt.Msg.blockpy_setheading_degree,"1"],[mt.Msg.CLOCKWISE+"180"+mt.Msg.blockpy_setheading_degree,"2"],[mt.Msg.CLOCKWISE+"270"+mt.Msg.blockpy_setheading_degree,"3"]];this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new mt.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Zh={init:function(){this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new mt.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(Th),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Create_image1)}},$h={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},tM={init:function(){this.setColour(Th),this.appendValueInput("data").appendField(mt.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.OLED_BITMAP_OR_STRING)}},eM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(mt.Msg.TEXT_CENTER).appendField(new mt.FieldDropdown([[mt.Msg.MICROPYTHON_DISPLAY_YES,"True"],[mt.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},iM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(mt.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},sM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},oM={init:function(){this.setColour(Th),this.appendValueInput("data").setCheck(String).appendField(mt.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_M={init:function(){this.jsonInit({colour:Th,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},pM={init:function(){this.jsonInit({colour:Th,args0:[{name:"dir_h_v",options:[[mt.Msg.mpython_vertical,"0"],[mt.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:mt.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},aM={init:function(){this.jsonInit({colour:Th,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,tooltip:mt.Msg.mpython_display_line_TOOLTIP,message0:mt.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},uM={init:function(){var t=[[mt.Msg.MIXLY_UP,"shift_up"],[mt.Msg.MIXLY_DOWN,"shift_down"],[mt.Msg.MIXLY_LEFT,"shift_left"],[mt.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(Th),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_LET2).appendField(new mt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(mt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(mt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=mt.Msg.DISPLAY_IMAGE_LET,n=mt.Msg.DISPLAY_IMAGE_LET2,s=mt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:mt.Msg.MIXLY_UP,down:mt.Msg.MIXLY_DOWN,left:mt.Msg.MIXLY_LEFT,right:mt.Msg.MIXLY_RIGHT}[t]+s}))}},rM={init:function(){this.setColour(Th),this.appendDummyInput("").appendField(mt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(mt.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},lM={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_LCD_SETCOLOR).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(mt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},dM={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_MICROBIT_Clear_display)}},IM={init:function(){this.setColour(Th),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},TM={init:function(){this.setColour(Th),this.appendValueInput("x").setCheck(Number).appendField(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hM={init:function(){this.setColour(Th),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},MM={init:function(){this.setColour(Th),this.appendValueInput("SUB").appendField(mt.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(mt.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(mt.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(mt.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},mM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},OM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(mt.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(mt.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(mt.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},EM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RM={init:function(){this.setColour(Th),this.appendValueInput("SUB"),this.appendDummyInput().appendField(mt.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cM={init:function(){this.jsonInit({colour:Th,args0:[{name:"shape",options:[[mt.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[mt.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:mt.Msg.mpython_HELPURL,message0:mt.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},gM="#777777",CM={init:function(){this.setColour(gM),this.appendDummyInput("").appendField("from ").appendField(new mt.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new mt.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SM={init:function(){this.setColour(gM),this.appendDummyInput("").appendField("import ").appendField(new mt.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},AM={init:function(){this.setColour(gM),this.appendDummyInput("").appendField(new mt.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new mt.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},dm={init:function(){this.setColour(om),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(mt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Im={init:function(){this.setColour(om),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}},Tm={init:function(){this.setColour(om),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}},hm={init:function(){this.setColour(om),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)}},Mm={init:function(){this.setColour(om),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)}},mm={init:function(){this.setColour(om),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)}},Om={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Em={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rm={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(mt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cm={init:function(){this.setColour(om),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},gm={init:function(){this.setColour(om),this.appendDummyInput().appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(mt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Cm={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Sm={init:function(){this.setColour(om),this.appendValueInput("VAR").appendField(mt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Am={init:function(){this.setColour(om),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)}},Lm={init:function(){this.setColour(om),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)}},Nm={init:function(){this.setColour(om),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)}},Dm={init:function(){this.setColour(om),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)}},fm={init:function(){this.VISITOR_ID=Ot.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(om),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")}},Fm={init:function(){this.setColour(om),this.appendDummyInput().appendField("MixIO").appendField(mt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Pm={init:function(){this.setColour(om),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)}},vm={init:function(){this.setColour(om),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)}},Ym={init:function(){this.setColour(om),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)}},Xm={init:function(){this.setColour(om),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)}},xm=_m,bm=pm,Vm=am,ym=um,Bm=lm,Gm=225,Um={init:function(){this.setColour(Gm),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)}},wm={init:function(){this.setColour(Gm),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}))}},km={init:function(){this.setColour(Gm),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)}},Hm={init:function(){this.setColour(Gm),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}))}},Wm={init:function(){this.setColour(Gm),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)}},Km={init:function(){this.setColour(Gm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(mt.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Jm={init:function(){this.setColour(Gm),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]}))}},zm={init:function(){this.setColour(Gm),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)}},qm={init:function(){this.setColour(Gm),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)}},Qm={init:function(){this.setColour(Gm),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)}},jm={init:function(){this.setColour(Gm),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)}},Zm={init:function(){this.setColour(Gm),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]}))}},$m={init:function(){this.setColour(Gm),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)}},tO={init:function(){this.setColour(Gm),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)}},eO={init:function(){this.setColour(Gm),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)}},iO={init:function(){this.setColour(Gm),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)}},nO={init:function(){this.setColour(Gm),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)}},sO={init:function(){this.setColour(Gm),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)}},oO={init:function(){this.setColour(Gm),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)}},_O={init:function(){this.setColour(Gm),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)}},pO={init:function(){this.setColour(Gm),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)}},aO={init:function(){this.setColour(Gm),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")}},uO={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(Gm),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]}))}},rO={init:function(){this.appendValueInput("VAR").appendField(mt.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Gm),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(Gm),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)}},dO={init:function(){this.setColour(Gm),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)}},IO=100,TO={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(IO),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)}},hO={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(IO),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(mt.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},MO={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(IO),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)}},mO={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(IO),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)}},OO={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(IO),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)}},EO={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(IO),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)}},RO={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(IO),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)}},cO={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(IO),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)}},gO="#A58C5B",CO={init:function(){this.setColour(gO),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)}},SO={init:function(){this.setColour(gO),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)}},AO={init:function(){this.setColour(gO),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)}},LO={init:function(){this.setColour(gO),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)}},NO={init:function(){this.setColour(gO),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}))}},DO={init:function(){this.setColour(gO),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}))}},fO={init:function(){this.setColour(gO),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)}},FO={init:function(){var t=[[mt.Msg.MIXLY_GETTEMPERATUE,"temperature"],[mt.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(gO),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]}))}},PO={init:function(){this.setColour(gO),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(gO),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)}},YO={init:function(){this.setColour(gO),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}))}},XO={init:function(){this.setColour(gO),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]}))}},xO={init:function(){this.setColour(gO),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]}))}},bO={init:function(){this.setColour(gO),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)}},VO={init:function(){this.setColour(gO),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)}},yO={init:function(){this.setColour(gO),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"],["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")}},BO={init:function(){this.setColour(gO),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)}},GO={init:function(){this.setColour(gO),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)}},UO={init:function(){this.setColour(gO),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)}},wO={init:function(){this.setColour(gO),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)}},kO={init:function(){this.setColour(gO),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)}},HO={init:function(){this.setColour(gO),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)}},WO={init:function(){this.setColour(gO),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]}))}},KO={init:function(){this.setColour(gO),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]}))}},JO={init:function(){this.setColour(gO),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)}},zO={init:function(){this.setColour(gO),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)}},qO={init:function(){this.setColour(gO),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}))}},QO={init:function(){this.setColour(gO),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}))}},jO={init:function(){this.setColour(gO),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}))}},ZO={init:function(){this.setColour(gO),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}))}},$O={init:function(){this.setColour(gO),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)}},tE={init:function(){this.setColour(gO),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)}},eE={init:function(){this.setColour(gO),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]}))}},iE={init:function(){this.setColour(gO),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)}},nE={init:function(){this.setColour(gO),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")}},sE={init:function(){this.setColour(gO),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)}},oE={init:function(){this.setColour(gO),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)}},_E={init:function(){this.setColour(gO),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)}},pE={init:function(){this.setColour(gO),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)}},aE={init:function(){this.setColour(gO),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)}},uE={init:function(){this.setColour(gO),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)}},rE={init:function(){this.setColour(gO),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(gO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(mt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},dE={init:function(){this.setColour(gO),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)}},IE={init:function(){this.setColour(gO),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},kL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},HL=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"},WL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},KL=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"},JL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},zL=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"},qL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},QL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},jL=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]},ZL=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"},$L=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},tN=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},eN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},iN=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]},nN=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},sN=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"},_N=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"},pN=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"}},aN=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"},uN=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},rN=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"},dN=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},IN=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"}},TN=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"}},hN=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"},MN=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"},mN=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},ON=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},EN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},RN=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"},cN=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},gN=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"},CN=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},SN=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},LN=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},NN=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},DN=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},fN=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},FN=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"},PN=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"},vN=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"},YN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},XN=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},xN=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"},bN=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"},VN=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"},yN=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"},BN=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"},GN=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"},UN=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"},wN=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"},kN=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"},HN=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"},WN=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"},KN=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]},JN=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"},zN=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"},qN=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"},QN=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"},jN=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"},ZN=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")},$N=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},tD=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"},eD=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},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.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"},nD=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]},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."+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,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},VD=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},yD=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"},BD=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},GD=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"},UD=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},wD=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},kD=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},HD=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},WD=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"},KD=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"},JD=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]},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,"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 _},qD=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]},QD=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"},jD=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},ZD=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},$D=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"},ef=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"},nf=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},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,"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},of=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},_f=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},pf=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},nX=function(){return"control.reset()\n"},sX=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Ot.Profile.default.serial)+")\n"},oX=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"},_X=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"},pX=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},aX=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},uX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rX=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},lX=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},dX=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},IX=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},TX=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]}},hX=function(){return"while True:\n pass\n"},MX=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},mX=function(t,e){return e.definitions_.import_os="import os","os.uname()"},OX=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"}},EX=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){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"},cX=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"},gX=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]},CX=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},SX=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},AX=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},LX=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},NX=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},DX=CX,fX=cX,FX=gX,PX=OX,vX=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]},YX=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]},XX=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]},xX={};xX["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"]]},xX["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 bX=xX,VX=20,yX={init:function(){this.setColour(VX),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)}},BX={init:function(){this.setColour(VX),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)}},GX={init:function(){this.setColour(VX),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)}},UX={init:function(){this.setColour(VX),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)}},wX={init:function(){this.setColour(VX),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)}},kX={init:function(){this.setColour(VX),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)}},HX={init:function(){this.setColour(VX),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)}},WX={init:function(){this.setColour(VX),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)}},KX={init:function(){this.setColour(VX),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)}},JX={init:function(){this.setColour(VX),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)}},zX={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)}},qX={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")}},QX={init:function(){this.setColour(VX),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")}},jX={init:function(){this.setColour(VX),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")}},ZX={init:function(){this.setColour(VX),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")}},$X={init:function(){this.setColour(VX),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")}},tx=qX,ex=HX,ix=$X,nx=JX,sx=zX,ox=230,_x={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital),"PIN"),this.setOutput(!0)}},px={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},ax={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},ux={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},rx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},lx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},dx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Ix={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Tx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},hx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Mx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},mx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Ox={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},Ex={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Rx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},cx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},gx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog),"PIN"),this.setOutput(!0)}},Cx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Sx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac),"PIN"),this.setOutput(!0)}},Ax={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Lx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Nx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Dx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm),"PIN"),this.setOutput(!0)}},fx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},Fx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Px={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.touch),"PIN"),this.setOutput(!0)}},vx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Yx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Xx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},xx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.imglist),"PIN"),this.setOutput(!0)}},bx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist),"PIN"),this.setOutput(!0)}},Vx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},yx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Bx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},Gx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},Ux={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},wx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},kx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},Hx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},Wx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},Jx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},zx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.one_more),"PIN"),this.setOutput(!0)}},qx={init:function(){this.setColour(ox),this.appendDummyInput("").appendField(new mt.FieldDropdown(Ot.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},Qx=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},jx=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"},Zx=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},$x=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"},tb=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"},ib=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"},nb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},sb=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},ob=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"},_b=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"},pb=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"},ab=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"},ub=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"},rb=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},lb=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"},db=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Ib=db,Tb=db,hb=db,Mb=db,mb=db,Ob=db,Eb=db,Rb=db,cb=db,gb=db,Cb=db,Sb=db,Ab=db,Lb=db,Nb=db,Db=db,fb=db,Fb=db,Pb=db,vb=db,Yb=db,Xb=db,xb=db,bb=db,Vb=db,yb=db,Bb=db,Gb=db,Ub=db,wb=db,kb=db,Hb=db,Wb=db,Kb=db,Jb=db,zb=db,qb=db,Qb=db,jb=db,Zb=db,$b=db,tV=db,eV=db,iV=db;Object.assign(mt.Variables,Rt),Object.assign(mt.Procedures,Wn),mt.Python=_u,mt.generator=_u,Ot.Profile.default={},Object.assign(Ot.Profile,bX),Object.assign(Ot.Profile.default,bX["MixGo CE"]),Object.assign(mt.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,y,W,H,X,B,K,f,k,w,U,G,F,D,N,b,x,V,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,q,ut,at,pt,_t,Q,z,J,it,et,nt,j,Z,$,ht,Mt)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s2/styles/main.35c3f77c.css b/boards/default/micropython_esp32s2/styles/main.c124fb9c.css similarity index 100% rename from boards/default/micropython_esp32s2/styles/main.35c3f77c.css rename to boards/default/micropython_esp32s2/styles/main.c124fb9c.css diff --git a/boards/default/micropython_esp32s3/examples/map.json b/boards/default/micropython_esp32s3/examples/map.json index 8a6f05dc..95b785d6 100644 --- a/boards/default/micropython_esp32s3/examples/map.json +++ b/boards/default/micropython_esp32s3/examples/map.json @@ -1,330 +1,330 @@ { - "MixGo Nova": { - "01-1-快速入门-你好世界.mix": { + "wJmk17OsKBWA": { + "cI4qB37Um_aC.mix": { "__file__": true, "__name__": "01-1-快速入门-你好世界.mix" }, - "01-2-快速入门-你好世界2.mix": { + "77y5CO8PtQTw.mix": { "__file__": true, "__name__": "01-2-快速入门-你好世界2.mix" }, - "02-1-快速入门-跳动的心.mix": { + "Mt1fsU_Lw9Q2.mix": { "__file__": true, "__name__": "02-1-快速入门-跳动的心.mix" }, - "02-2-快速入门-为你心动.mix": { + "Md6RcFLtxBqf.mix": { "__file__": true, "__name__": "02-2-快速入门-为你心动.mix" }, - "03-1-快速入门-心随我动.mix": { + "eMvlN9mjH5yz.mix": { "__file__": true, "__name__": "03-1-快速入门-心随我动.mix" }, - "03-2-快速入门-心随我动2.mix": { + "xfCIW0EbPEop.mix": { "__file__": true, "__name__": "03-2-快速入门-心随我动2.mix" }, - "04-1-快速入门-流动的灯.mix": { + "-0OlaPMaCEEq.mix": { "__file__": true, "__name__": "04-1-快速入门-流动的灯.mix" }, - "04-2-快速入门-流动的灯2.mix": { + "AcHuGvV0Ds5T.mix": { "__file__": true, "__name__": "04-2-快速入门-流动的灯2.mix" }, - "05-1-过程控制-双键开关.mix": { + "f27RM85F2Q5E.mix": { "__file__": true, "__name__": "05-1-过程控制-双键开关.mix" }, - "05-2-过程控制-单键开关.mix": { + "etsojWR-1hVf.mix": { "__file__": true, "__name__": "05-2-过程控制-单键开关.mix" }, - "05-3-过程控制-IPO概念.mix": { + "piXDjFwsbMJf.mix": { "__file__": true, "__name__": "05-3-过程控制-IPO概念.mix" }, - "06-1-过程控制-声音采集.mix": { + "fzHyx3IHrOWn.mix": { "__file__": true, "__name__": "06-1-过程控制-声音采集.mix" }, - "06-2-过程控制-看见声音.mix": { + "3WIjolaXWro3.mix": { "__file__": true, "__name__": "06-2-过程控制-看见声音.mix" }, - "07-1-过程控制-光强采集.mix": { + "UkNwBi6sqB43.mix": { "__file__": true, "__name__": "07-1-过程控制-光强采集.mix" }, - "07-2-过程控制-自动补光.mix": { + "UWo-ARFCnj9I.mix": { "__file__": true, "__name__": "07-2-过程控制-自动补光.mix" }, - "08-1-过程控制-接近检测.mix": { + "6OTs3lq7hZof.mix": { "__file__": true, "__name__": "08-1-过程控制-接近检测.mix" }, - "08-2-过程控制-入侵报警.mix": { + "J0mdfpAktkhj.mix": { "__file__": true, "__name__": "08-2-过程控制-入侵报警.mix" }, - "09-1-输入输出-加速度.mix": { + "ih5tejIeRw2S.mix": { "__file__": true, "__name__": "09-1-输入输出-加速度.mix" }, - "09-2-输入输出-平衡仪.mix": { + "musV2cL_WjOi.mix": { "__file__": true, "__name__": "09-2-输入输出-平衡仪.mix" }, - "10-1-输入输出-温湿度.mix": { + "_mgDJNngQq29.mix": { "__file__": true, "__name__": "10-1-输入输出-温湿度.mix" }, - "10-2-输入输出-地磁金属探测.mix": { + "WhuptI2hxMrp.mix": { "__file__": true, "__name__": "10-2-输入输出-地磁金属探测.mix" }, - "11-1-输入输出-数字触摸.mix": { + "6QrzhLPGeTKk.mix": { "__file__": true, "__name__": "11-1-输入输出-数字触摸.mix" }, - "11-2-输入输出-模拟触摸.mix": { + "HXeS8900PKNh.mix": { "__file__": true, "__name__": "11-2-输入输出-模拟触摸.mix" }, - "12-1-输入输出-实时时钟.mix": { + "jii1Pq58YsdJ.mix": { "__file__": true, "__name__": "12-1-输入输出-实时时钟.mix" }, - "12-2-输入输出-实时时钟2.mix": { + "lXKRjqCf4swy.mix": { "__file__": true, "__name__": "12-2-输入输出-实时时钟2.mix" }, - "13-1-逻辑计算-手速测试.mix": { + "e3jmlfppLF-q.mix": { "__file__": true, "__name__": "13-1-逻辑计算-手速测试.mix" }, - "13-2-逻辑计算-手速测试2.mix": { + "oxBVpDc0lr3z.mix": { "__file__": true, "__name__": "13-2-逻辑计算-手速测试2.mix" }, - "14-1-逻辑计算-反应测试.mix": { + "uhMIo6c4jwVX.mix": { "__file__": true, "__name__": "14-1-逻辑计算-反应测试.mix" }, - "14-2-逻辑计算-反应测试2.mix": { + "c-i8SaM97Y6b.mix": { "__file__": true, "__name__": "14-2-逻辑计算-反应测试2.mix" }, - "15-1-逻辑计算-简单打地鼠.mix": { + "c9Y4ZJ4xMbMf.mix": { "__file__": true, "__name__": "15-1-逻辑计算-简单打地鼠.mix" }, - "15-2-逻辑计算-计时打地鼠.mix": { + "F5L18Gdw9GvH.mix": { "__file__": true, "__name__": "15-2-逻辑计算-计时打地鼠.mix" }, - "16-1-逻辑计算-开始打地鼠.mix": { + "7KwdP4Ym0Xev.mix": { "__file__": true, "__name__": "16-1-逻辑计算-开始打地鼠.mix" }, - "16-2-逻辑计算-循环打地鼠.mix": { + "_Uf2vpVvSp7x.mix": { "__file__": true, "__name__": "16-2-逻辑计算-循环打地鼠.mix" }, - "17-0-复杂控制-非中断效果.mix": { + "H_zt56ypU9FJ.mix": { "__file__": true, "__name__": "17-0-复杂控制-非中断效果.mix" }, - "17-1-复杂控制-双键中断.mix": { + "anZoph4QQ_Wv.mix": { "__file__": true, "__name__": "17-1-复杂控制-双键中断.mix" }, - "17-2-复杂控制-单键中断.mix": { + "ABPsCi_VkRW6.mix": { "__file__": true, "__name__": "17-2-复杂控制-单键中断.mix" }, - "18-1-复杂控制-定时计时.mix": { + "tFgEa1qeYJXj.mix": { "__file__": true, "__name__": "18-1-复杂控制-定时计时.mix" }, - "18-2-复杂控制-循环计时.mix": { + "Y0dm6Ghcl4eH.mix": { "__file__": true, "__name__": "18-2-复杂控制-循环计时.mix" }, - "19-1-复杂控制-多线程.mix": { + "FmAYbH3ge82u.mix": { "__file__": true, "__name__": "19-1-复杂控制-多线程.mix" }, - "19-2-复杂控制-多线程与中断.mix": { + "Tkd2W_dSMeZr.mix": { "__file__": true, "__name__": "19-2-复杂控制-多线程与中断.mix" }, - "20-1-复杂控制-异常.mix": { + "a0AxXqvQOphc.mix": { "__file__": true, "__name__": "20-1-复杂控制-异常.mix" }, - "20-2-复杂控制-异常处理.mix": { + "KllvE5vuq0ed.mix": { "__file__": true, "__name__": "20-2-复杂控制-异常处理.mix" }, - "21-1-射频识别-读取测试.mix": { + "ZwPV_HvJovlh.mix": { "__file__": true, "__name__": "21-1-射频识别-读取测试.mix" }, - "21-2-射频识别-读取卡号.mix": { + "WhPnPxUMcXHH.mix": { "__file__": true, "__name__": "21-2-射频识别-读取卡号.mix" }, - "22-1-射频识别-写卡测试.mix": { + "BCB8BqMwLtU3.mix": { "__file__": true, "__name__": "22-1-射频识别-写卡测试.mix" }, - "22-2-射频识别-持续写卡.mix": { + "-lxRuxrc0piM.mix": { "__file__": true, "__name__": "22-2-射频识别-持续写卡.mix" }, - "23-1-蓝牙通讯-主机模式.mix": { + "zwm_LXY_rNkj.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-主机模式.mix" }, - "23-1-蓝牙通讯-从机模式.mix": { + "WP0-EXHPnsFX.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-从机模式.mix" }, - "24-1-无线广播-通讯测试.mix": { + "t_io3x4RYH24.mix": { "__file__": true, "__name__": "24-1-无线广播-通讯测试.mix" }, - "24-2-无线广播-防丢检测.mix": { + "Za76xc3CEQra.mix": { "__file__": true, "__name__": "24-2-无线广播-防丢检测.mix" }, - "25-1-红外遥控-收发测试.mix": { + "-8nofD51s0hm.mix": { "__file__": true, "__name__": "25-1-红外遥控-收发测试.mix" }, - "25-2-红外遥控-遥控点灯.mix": { + "lz86sCvbyAtz.mix": { "__file__": true, "__name__": "25-2-红外遥控-遥控点灯.mix" }, - "26-1-红外遥控-学习编码.mix": { + "suwQdfx5b10C.mix": { "__file__": true, "__name__": "26-1-红外遥控-学习编码.mix" }, - "26-2-红外遥控-万能遥控.mix": { + "lanJsewgtLd0.mix": { "__file__": true, "__name__": "26-2-红外遥控-万能遥控.mix" }, - "27-1-红外接近-挥手速度.mix": { + "xuXXVS4Xbjvn.mix": { "__file__": true, "__name__": "27-1-红外接近-挥手速度.mix" }, - "27-2-红外接近-双挥手速度.mix": { + "GnM48D08pnpb.mix": { "__file__": true, "__name__": "27-2-红外接近-双挥手速度.mix" }, - "28-1-红外接近-双门人数统计.mix": { + "V6eY5i8p9EiM.mix": { "__file__": true, "__name__": "28-1-红外接近-双门人数统计.mix" }, - "28-2-红外接近-单门人数统计.mix": { + "7E7TSeqXiU35.mix": { "__file__": true, "__name__": "28-2-红外接近-单门人数统计.mix" }, - "29-1-物联网-简单数据定时上报.mix": { + "KOdE_XHgUrBv.mix": { "__file__": true, "__name__": "29-1-物联网-简单数据定时上报.mix" }, - "29-2-物联网-复杂数据定时上报.mix": { + "uVNh3Q_7UDlX.mix": { "__file__": true, "__name__": "29-2-物联网-复杂数据定时上报.mix" }, - "30-1-物联网-简单数据按需上报.mix": { + "ywFgxI0hERyz.mix": { "__file__": true, "__name__": "30-1-物联网-简单数据按需上报.mix" }, - "30-2-物联网-高级数据按需上报.mix": { + "-PnBDpIQb0yU.mix": { "__file__": true, "__name__": "30-2-物联网-高级数据按需上报.mix" }, - "31-1-物联网-单主题数据订阅.mix": { + "aiLfd5fw1YRh.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅.mix" }, - "31-2-物联网-单主题数据订阅2.mix": { + "R4W5FsXnFukp.mix": { "__file__": true, "__name__": "31-2-物联网-单主题数据订阅2.mix" }, - "32-1-物联网-多主题数据订.mix": { + "GedGHL9yoFCq.mix": { "__file__": true, "__name__": "32-1-物联网-多主题数据订.mix" }, - "32-2-物联网-多主题数据订2.mix": { + "A-qrl2Caci5v.mix": { "__file__": true, "__name__": "32-2-物联网-多主题数据订2.mix" }, - "33-1-课堂互动-自由签到.mix": { + "Bo41w2kiEjQO.mix": { "__file__": true, "__name__": "33-1-课堂互动-自由签到.mix" }, - "33-2-课堂互动-按需签到.mix": { + "-x67vvX1xCTk.mix": { "__file__": true, "__name__": "33-2-课堂互动-按需签到.mix" }, - "34-1-课堂互动-一人抢答.mix": { + "y1w3yUhQT5mY.mix": { "__file__": true, "__name__": "34-1-课堂互动-一人抢答.mix" }, - "34-2-课堂互动-多人抢答.mix": { + "L2OQkCmUy8zz.mix": { "__file__": true, "__name__": "34-2-课堂互动-多人抢答.mix" }, - "35-1-课堂互动-单选答题.mix": { + "mFiT48mja23B.mix": { "__file__": true, "__name__": "35-1-课堂互动-单选答题.mix" }, - "35-2-课堂互动-多选答题.mix": { + "eiII9fI-fW6J.mix": { "__file__": true, "__name__": "35-2-课堂互动-多选答题.mix" }, - "36-1-课堂互动-点名答题.mix": { + "NBRJVliJ9TF1.mix": { "__file__": true, "__name__": "36-1-课堂互动-点名答题.mix" }, - "36-2-课堂互动-多人点答.mix": { + "4KNHReSnJe0e.mix": { "__file__": true, "__name__": "36-2-课堂互动-多人点答.mix" }, - "37-1-文件操作-列出文件.mix": { + "PVXdaRCdBDqm.mix": { "__file__": true, "__name__": "37-1-文件操作-列出文件.mix" }, - "37-2-文件操作-列出文件2.mix": { + "8vKl-_3oSlEV.mix": { "__file__": true, "__name__": "37-2-文件操作-列出文件2.mix" }, - "38-1-文件操作-文件读写.mix": { + "tXAA8axevy2D.mix": { "__file__": true, "__name__": "38-1-文件操作-文件读写.mix" }, - "38-2-文件操作-文件读写2.mix": { + "K8xQLClM27dI.mix": { "__file__": true, "__name__": "38-2-文件操作-文件读写2.mix" }, - "39-1-文件操作-录音播放.mix": { + "3Vm2fpgw3t6R.mix": { "__file__": true, "__name__": "39-1-文件操作-录音播放.mix" }, - "39-1-文件操作-录音播放2.mix": { + "IFW1dXRN09ro.mix": { "__file__": true, "__name__": "39-1-文件操作-录音播放2.mix" }, - "40-1-文件操作-SD录音播放2.mix": { + "a9hFvw9uNUIT.mix": { "__file__": true, "__name__": "40-1-文件操作-SD录音播放2.mix" }, - "40-2-文件操作-SD采集重现.mix": { + "3PcGpC5Y1IDz.mix": { "__file__": true, "__name__": "40-2-文件操作-SD采集重现.mix" }, diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/04-1-快速入门-流动的灯.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-0OlaPMaCEEq.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/04-1-快速入门-流动的灯.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-0OlaPMaCEEq.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/25-1-红外遥控-收发测试.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-8nofD51s0hm.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/25-1-红外遥控-收发测试.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-8nofD51s0hm.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-PnBDpIQb0yU.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/30-2-物联网-高级数据按需上报.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-PnBDpIQb0yU.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/22-2-射频识别-持续写卡.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-lxRuxrc0piM.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/22-2-射频识别-持续写卡.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-lxRuxrc0piM.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/33-2-课堂互动-按需签到.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-x67vvX1xCTk.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/33-2-课堂互动-按需签到.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/-x67vvX1xCTk.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/40-2-文件操作-SD采集重现.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/3PcGpC5Y1IDz.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/40-2-文件操作-SD采集重现.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/3PcGpC5Y1IDz.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/3Vm2fpgw3t6R.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/3Vm2fpgw3t6R.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/06-2-过程控制-看见声音.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/3WIjolaXWro3.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/06-2-过程控制-看见声音.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/3WIjolaXWro3.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/36-2-课堂互动-多人点答.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/4KNHReSnJe0e.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/36-2-课堂互动-多人点答.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/4KNHReSnJe0e.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/08-1-过程控制-接近检测.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/6OTs3lq7hZof.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/08-1-过程控制-接近检测.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/6OTs3lq7hZof.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/11-1-输入输出-数字触摸.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/6QrzhLPGeTKk.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/11-1-输入输出-数字触摸.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/6QrzhLPGeTKk.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/01-2-快速入门-你好世界2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/77y5CO8PtQTw.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/01-2-快速入门-你好世界2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/77y5CO8PtQTw.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/28-2-红外接近-单门人数统计.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/7E7TSeqXiU35.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/28-2-红外接近-单门人数统计.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/7E7TSeqXiU35.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/7KwdP4Ym0Xev.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/16-1-逻辑计算-开始打地鼠.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/7KwdP4Ym0Xev.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/37-2-文件操作-列出文件2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/8vKl-_3oSlEV.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/37-2-文件操作-列出文件2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/8vKl-_3oSlEV.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/A-qrl2Caci5v.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/32-2-物联网-多主题数据订2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/A-qrl2Caci5v.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-2-复杂控制-单键中断.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ABPsCi_VkRW6.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/17-2-复杂控制-单键中断.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ABPsCi_VkRW6.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/AcHuGvV0Ds5T.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/04-2-快速入门-流动的灯2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/AcHuGvV0Ds5T.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/22-1-射频识别-写卡测试.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/BCB8BqMwLtU3.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/22-1-射频识别-写卡测试.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/BCB8BqMwLtU3.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/33-1-课堂互动-自由签到.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Bo41w2kiEjQO.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/33-1-课堂互动-自由签到.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Bo41w2kiEjQO.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/F5L18Gdw9GvH.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/15-2-逻辑计算-计时打地鼠.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/F5L18Gdw9GvH.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/19-1-复杂控制-多线程.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/FmAYbH3ge82u.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/19-1-复杂控制-多线程.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/FmAYbH3ge82u.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/32-1-物联网-多主题数据订.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/GedGHL9yoFCq.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/32-1-物联网-多主题数据订.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/GedGHL9yoFCq.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/27-2-红外接近-双挥手速度.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/GnM48D08pnpb.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/27-2-红外接近-双挥手速度.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/GnM48D08pnpb.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/11-2-输入输出-模拟触摸.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/HXeS8900PKNh.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/11-2-输入输出-模拟触摸.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/HXeS8900PKNh.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/H_zt56ypU9FJ.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/17-0-复杂控制-非中断效果.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/H_zt56ypU9FJ.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/IFW1dXRN09ro.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/39-1-文件操作-录音播放2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/IFW1dXRN09ro.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/08-2-过程控制-入侵报警.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/J0mdfpAktkhj.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/08-2-过程控制-入侵报警.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/J0mdfpAktkhj.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/38-2-文件操作-文件读写2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/K8xQLClM27dI.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/38-2-文件操作-文件读写2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/K8xQLClM27dI.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/KOdE_XHgUrBv.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/29-1-物联网-简单数据定时上报.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/KOdE_XHgUrBv.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/20-2-复杂控制-异常处理.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/KllvE5vuq0ed.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/20-2-复杂控制-异常处理.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/KllvE5vuq0ed.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/L2OQkCmUy8zz.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/34-2-课堂互动-多人抢答.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/L2OQkCmUy8zz.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/02-2-快速入门-为你心动.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Md6RcFLtxBqf.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/02-2-快速入门-为你心动.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Md6RcFLtxBqf.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/02-1-快速入门-跳动的心.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Mt1fsU_Lw9Q2.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/02-1-快速入门-跳动的心.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Mt1fsU_Lw9Q2.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/36-1-课堂互动-点名答题.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/NBRJVliJ9TF1.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/36-1-课堂互动-点名答题.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/NBRJVliJ9TF1.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/37-1-文件操作-列出文件.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/PVXdaRCdBDqm.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/37-1-文件操作-列出文件.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/PVXdaRCdBDqm.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/31-2-物联网-单主题数据订阅2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/R4W5FsXnFukp.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/31-2-物联网-单主题数据订阅2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/R4W5FsXnFukp.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Tkd2W_dSMeZr.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/19-2-复杂控制-多线程与中断.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Tkd2W_dSMeZr.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/07-2-过程控制-自动补光.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/UWo-ARFCnj9I.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/07-2-过程控制-自动补光.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/UWo-ARFCnj9I.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/07-1-过程控制-光强采集.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/UkNwBi6sqB43.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/07-1-过程控制-光强采集.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/UkNwBi6sqB43.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/28-1-红外接近-双门人数统计.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/V6eY5i8p9EiM.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/28-1-红外接近-双门人数统计.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/V6eY5i8p9EiM.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-从机模式.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/WP0-EXHPnsFX.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-从机模式.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/WP0-EXHPnsFX.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/21-2-射频识别-读取卡号.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/WhPnPxUMcXHH.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/21-2-射频识别-读取卡号.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/WhPnPxUMcXHH.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/10-2-输入输出-地磁金属探测.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/WhuptI2hxMrp.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/10-2-输入输出-地磁金属探测.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/WhuptI2hxMrp.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/18-2-复杂控制-循环计时.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Y0dm6Ghcl4eH.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/18-2-复杂控制-循环计时.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Y0dm6Ghcl4eH.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/24-2-无线广播-防丢检测.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Za76xc3CEQra.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/24-2-无线广播-防丢检测.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/Za76xc3CEQra.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/21-1-射频识别-读取测试.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ZwPV_HvJovlh.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/21-1-射频识别-读取测试.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ZwPV_HvJovlh.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/_Uf2vpVvSp7x.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/16-2-逻辑计算-循环打地鼠.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/_Uf2vpVvSp7x.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/10-1-输入输出-温湿度.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/_mgDJNngQq29.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/10-1-输入输出-温湿度.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/_mgDJNngQq29.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/20-1-复杂控制-异常.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/a0AxXqvQOphc.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/20-1-复杂控制-异常.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/a0AxXqvQOphc.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/40-1-文件操作-SD录音播放2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/a9hFvw9uNUIT.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/40-1-文件操作-SD录音播放2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/a9hFvw9uNUIT.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/aiLfd5fw1YRh.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/31-1-物联网-单主题数据订阅.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/aiLfd5fw1YRh.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/17-1-复杂控制-双键中断.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/anZoph4QQ_Wv.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/17-1-复杂控制-双键中断.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/anZoph4QQ_Wv.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/c-i8SaM97Y6b.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/14-2-逻辑计算-反应测试2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/c-i8SaM97Y6b.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/c9Y4ZJ4xMbMf.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/15-1-逻辑计算-简单打地鼠.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/c9Y4ZJ4xMbMf.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/01-1-快速入门-你好世界.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/cI4qB37Um_aC.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/01-1-快速入门-你好世界.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/cI4qB37Um_aC.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/e3jmlfppLF-q.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/13-1-逻辑计算-手速测试.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/e3jmlfppLF-q.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/03-1-快速入门-心随我动.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/eMvlN9mjH5yz.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/03-1-快速入门-心随我动.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/eMvlN9mjH5yz.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/35-2-课堂互动-多选答题.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/eiII9fI-fW6J.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/35-2-课堂互动-多选答题.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/eiII9fI-fW6J.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-2-过程控制-单键开关.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/etsojWR-1hVf.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/05-2-过程控制-单键开关.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/etsojWR-1hVf.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-1-过程控制-双键开关.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/f27RM85F2Q5E.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/05-1-过程控制-双键开关.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/f27RM85F2Q5E.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/06-1-过程控制-声音采集.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/fzHyx3IHrOWn.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/06-1-过程控制-声音采集.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/fzHyx3IHrOWn.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/09-1-输入输出-加速度.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ih5tejIeRw2S.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/09-1-输入输出-加速度.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ih5tejIeRw2S.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/12-1-输入输出-实时时钟.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/jii1Pq58YsdJ.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/12-1-输入输出-实时时钟.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/jii1Pq58YsdJ.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/lXKRjqCf4swy.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/12-2-输入输出-实时时钟2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/lXKRjqCf4swy.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/26-2-红外遥控-万能遥控.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/lanJsewgtLd0.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/26-2-红外遥控-万能遥控.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/lanJsewgtLd0.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/25-2-红外遥控-遥控点灯.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/lz86sCvbyAtz.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/25-2-红外遥控-遥控点灯.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/lz86sCvbyAtz.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/35-1-课堂互动-单选答题.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/mFiT48mja23B.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/35-1-课堂互动-单选答题.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/mFiT48mja23B.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/09-2-输入输出-平衡仪.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/musV2cL_WjOi.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/09-2-输入输出-平衡仪.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/musV2cL_WjOi.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/oxBVpDc0lr3z.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/13-2-逻辑计算-手速测试2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/oxBVpDc0lr3z.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/05-3-过程控制-IPO概念.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/piXDjFwsbMJf.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/05-3-过程控制-IPO概念.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/piXDjFwsbMJf.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/26-1-红外遥控-学习编码.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/suwQdfx5b10C.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/26-1-红外遥控-学习编码.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/suwQdfx5b10C.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/18-1-复杂控制-定时计时.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/tFgEa1qeYJXj.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/18-1-复杂控制-定时计时.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/tFgEa1qeYJXj.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/38-1-文件操作-文件读写.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/tXAA8axevy2D.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/38-1-文件操作-文件读写.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/tXAA8axevy2D.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/24-1-无线广播-通讯测试.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/t_io3x4RYH24.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/24-1-无线广播-通讯测试.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/t_io3x4RYH24.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/uVNh3Q_7UDlX.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/29-2-物联网-复杂数据定时上报.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/uVNh3Q_7UDlX.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/uhMIo6c4jwVX.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/14-1-逻辑计算-反应测试.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/uhMIo6c4jwVX.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/03-2-快速入门-心随我动2.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/xfCIW0EbPEop.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/03-2-快速入门-心随我动2.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/xfCIW0EbPEop.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/27-1-红外接近-挥手速度.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/xuXXVS4Xbjvn.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/27-1-红外接近-挥手速度.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/xuXXVS4Xbjvn.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/y1w3yUhQT5mY.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/34-1-课堂互动-一人抢答.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/y1w3yUhQT5mY.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ywFgxI0hERyz.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/30-1-物联网-简单数据按需上报.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/ywFgxI0hERyz.mix diff --git a/boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-主机模式.mix b/boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/zwm_LXY_rNkj.mix similarity index 100% rename from boards/default/micropython_esp32s3/examples/MixGo Nova/23-1-蓝牙通讯-主机模式.mix rename to boards/default/micropython_esp32s3/examples/wJmk17OsKBWA/zwm_LXY_rNkj.mix diff --git a/boards/default/micropython_esp32s3/index.xml b/boards/default/micropython_esp32s3/index.xml index 1d527341..0920492d 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.com \ 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.com \ 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 83fd22c7..fc0fd19e 100644 --- a/boards/default/micropython_esp32s3/main.bundle.js +++ b/boards/default/micropython_esp32s3/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Lt,controls_typeLists:()=>Nt,variables_change:()=>St,variables_get:()=>gt,variables_global:()=>At,variables_set:()=>Ct});var i={};t.r(i),t.d(i,{base_setup:()=>Pt,controls_delay:()=>Ft,controls_end_program:()=>vt,controls_except:()=>Wt,controls_finally:()=>Kt,controls_flow_statements:()=>yt,controls_for:()=>Bt,controls_forEach:()=>Xt,controls_for_range:()=>Gt,controls_if:()=>Yt,controls_if_else:()=>kt,controls_if_elseif:()=>wt,controls_if_if:()=>Ut,controls_lambda:()=>Qt,controls_main:()=>ft,controls_pass:()=>zt,controls_range:()=>xt,controls_repeat_ext:()=>Jt,controls_thread:()=>qt,controls_try:()=>Ht,controls_try_finally:()=>Vt,controls_whileUntil:()=>bt,do_while:()=>jt});var n={};t.r(n),t.d(n,{base_map:()=>Oe,math_arithmetic:()=>ie,math_bit:()=>se,math_constant:()=>te,math_constant_mp:()=>ee,math_constrain:()=>le,math_dec:()=>_e,math_indexer_number:()=>Ie,math_map:()=>de,math_max_min:()=>ae,math_number:()=>$t,math_number_base_conversion:()=>ue,math_random:()=>re,math_random_seed:()=>Te,math_round:()=>he,math_selfcalcu:()=>ne,math_to_int:()=>pe,math_trig:()=>oe,text_to_number:()=>Me,text_to_number_skulpt:()=>me});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Se,char_to_ascii:()=>Ae,number_to_text:()=>Le,os_system:()=>je,text:()=>Re,text_capital:()=>Xe,text_center:()=>be,text_char:()=>ge,text_char_at:()=>fe,text_char_at2:()=>De,text_char_at3:()=>Je,text_compareTo:()=>Ke,text_compare_to:()=>xe,text_create_with_container:()=>ke,text_create_with_item:()=>He,text_encode:()=>ze,text_equals_starts_ends:()=>Ye,text_eval:()=>qe,text_find:()=>Ve,text_format:()=>we,text_format_noreturn:()=>Qe,text_join:()=>Ce,text_join_seq:()=>ye,text_length:()=>Ne,text_random_char:()=>Pe,text_replace:()=>Be,text_split:()=>Ge,text_strip:()=>Ue,text_substring:()=>ve,text_substring2:()=>Fe,text_substring3:()=>We,text_textarea:()=>ce});var o={};t.r(o),t.d(o,{list_many_input:()=>Ri,list_tolist:()=>Ni,list_tolist2:()=>Xi,list_trig:()=>mi,lists_2d_get_col_row_data:()=>ii,lists_2d_get_data_with_col_row:()=>ei,lists_append_extend:()=>ai,lists_change_to:()=>Ei,lists_change_to_general:()=>gi,lists_clear:()=>Ii,lists_create_with:()=>ni,lists_create_with2:()=>Di,lists_create_with_container:()=>oi,lists_create_with_item:()=>_i,lists_create_with_noreturn:()=>ci,lists_create_with_text:()=>si,lists_create_with_text2:()=>fi,lists_del_general:()=>Ci,lists_find:()=>Mi,lists_getIndex3:()=>Pi,lists_getSublist3:()=>Fi,lists_get_index:()=>$e,lists_get_random_item:()=>ui,lists_get_random_sublist:()=>ri,lists_get_sublist:()=>ti,lists_insert_value:()=>li,lists_insert_value2:()=>Yi,lists_pop:()=>hi,lists_remove_at:()=>Ti,lists_remove_at2:()=>xi,lists_reverse:()=>di,lists_setIndex3:()=>vi,lists_set_index:()=>pi,lists_sort:()=>Oi,lists_zip:()=>Si,lists_zip_container:()=>Ai,lists_zip_item:()=>Li});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>ji,dicts_add_or_change:()=>ki,dicts_clear:()=>Ki,dicts_create_with:()=>Vi,dicts_create_with_container:()=>yi,dicts_create_with_item:()=>Bi,dicts_create_with_noreturn:()=>tn,dicts_deldict:()=>qi,dicts_delete:()=>Hi,dicts_get:()=>Ui,dicts_get_default:()=>wi,dicts_items:()=>Ji,dicts_keys:()=>Gi,dicts_length:()=>zi,dicts_pop:()=>Zi,dicts_setdefault:()=>$i,dicts_to_json:()=>nn,dicts_todict:()=>en,dicts_update:()=>Wi,dicts_values:()=>Qi,json_to_dicts:()=>sn});var p={};t.r(p),t.d(p,{logic_boolean:()=>rn,logic_compare:()=>_n,logic_compare_continous:()=>pn,logic_is:()=>Tn,logic_is_in:()=>In,logic_negate:()=>un,logic_null:()=>ln,logic_operation:()=>an,logic_tobool:()=>hn,logic_true_or_false:()=>dn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>yn,sdcard_use_spi_init:()=>Vn,storage_can_write_ornot:()=>Sn,storage_change_dir:()=>Xn,storage_close_file:()=>Ln,storage_delete_file:()=>Dn,storage_file_seek:()=>Fn,storage_file_tell:()=>Pn,storage_file_write:()=>Rn,storage_fileopen:()=>mn,storage_fileopen_new:()=>On,storage_fileopen_new_encoding:()=>En,storage_get_a_line:()=>Cn,storage_get_contents:()=>gn,storage_get_contents_without_para:()=>cn,storage_get_current_dir:()=>vn,storage_get_file_size:()=>fn,storage_get_filename:()=>An,storage_is_file:()=>bn,storage_list_all_files:()=>Nn,storage_make_dir:()=>Yn,storage_open_file_with_os:()=>Mn,storage_rename:()=>xn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Wn,procedures_callreturn:()=>Kn,procedures_defnoreturn:()=>Un,procedures_defreturn:()=>wn,procedures_ifreturn:()=>Jn,procedures_mutatorarg:()=>Hn,procedures_mutatorcontainer:()=>kn,procedures_return:()=>Qn});var r={};t.r(r),t.d(r,{tuple_change_to:()=>_s,tuple_create_with:()=>qn,tuple_create_with_container:()=>jn,tuple_create_with_item:()=>Zn,tuple_create_with_noreturn:()=>rs,tuple_create_with_text2:()=>$n,tuple_create_with_text_return:()=>ts,tuple_del:()=>ns,tuple_find:()=>ps,tuple_getIndex:()=>es,tuple_getSublist:()=>us,tuple_get_random_item:()=>ds,tuple_get_sublist:()=>ls,tuple_join:()=>ss,tuple_length:()=>is,tuple_max:()=>os,tuple_totuple:()=>Is,tuple_trig:()=>as});var l={};t.r(l),t.d(l,{set_add_discard:()=>Cs,set_clear:()=>Rs,set_create_with:()=>hs,set_create_with_container:()=>Ms,set_create_with_item:()=>ms,set_create_with_text_return:()=>Ls,set_length:()=>Os,set_operate:()=>cs,set_operate_update:()=>gs,set_pop:()=>Es,set_sub:()=>Ss,set_toset:()=>Ns,set_update:()=>As});var d={};t.r(d),t.d(d,{html_content:()=>vs,html_content_more:()=>Ys,html_document:()=>fs,html_form:()=>Xs,html_head_body:()=>Fs,html_style:()=>xs,html_style_color:()=>Vs,html_style_content:()=>bs,html_text:()=>ys,html_title:()=>Ps});var I={};t.r(I),t.d(I,{attribute_access:()=>Zs,function_call:()=>zs,function_call_container:()=>qs,function_call_item:()=>js,raw_block:()=>Us,raw_empty:()=>ks,raw_expression:()=>ws,raw_table:()=>Gs,text_comment:()=>Hs,text_print_multiple:()=>Ks,text_print_multiple_container:()=>Js,text_print_multiple_item:()=>Qs,type_check:()=>Ws});var T={};t.r(T),t.d(T,{controls_type:()=>no,controls_typeLists:()=>so,variables_change:()=>eo,variables_get:()=>$s,variables_global:()=>io,variables_set:()=>to});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>ho,base_setup:()=>_o,controls_delay:()=>To,controls_flow_statements:()=>Io,controls_for:()=>uo,controls_forEach:()=>Ro,controls_for_range:()=>ro,controls_if:()=>po,controls_interrupts:()=>Oo,controls_lambda:()=>go,controls_main:()=>oo,controls_millis:()=>Mo,controls_nointerrupts:()=>Eo,controls_pass:()=>So,controls_range:()=>co,controls_repeat:()=>Do,controls_repeat_ext:()=>No,controls_thread:()=>Ao,controls_try_finally:()=>ao,controls_whileUntil:()=>lo,do_while:()=>Lo,reset:()=>mo,time_sleep:()=>Co});var M={};t.r(M),t.d(M,{base_map:()=>zo,math_arithmetic:()=>Yo,math_bit:()=>vo,math_constant:()=>Po,math_constant_mp:()=>Fo,math_constrain:()=>wo,math_dec:()=>Vo,math_indexer_number:()=>Wo,math_map:()=>Uo,math_max_min:()=>Bo,math_number:()=>fo,math_number_base_conversion:()=>ko,math_random:()=>Go,math_random_seed:()=>Ho,math_round:()=>Ko,math_selfcalcu:()=>xo,math_single:()=>Xo,math_to_int:()=>yo,math_trig:()=>bo,text_to_number:()=>Jo,text_to_number_skulpt:()=>Qo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>t_,char_to_ascii:()=>e_,number_to_text:()=>i_,os_system:()=>A_,text:()=>qo,text_capital:()=>l_,text_center:()=>d_,text_char:()=>Zo,text_char_at:()=>o_,text_char_at2:()=>s_,text_char_at3:()=>g_,text_compareTo:()=>c_,text_compare_to:()=>a_,text_encode:()=>C_,text_equals_starts_ends:()=>p_,text_eval:()=>S_,text_find:()=>I_,text_format:()=>O_,text_format_noreturn:()=>E_,text_join:()=>$o,text_join_seq:()=>T_,text_length:()=>n_,text_random_char:()=>__,text_replace:()=>h_,text_split:()=>M_,text_strip:()=>m_,text_substring:()=>r_,text_substring2:()=>u_,text_substring3:()=>R_,text_textarea:()=>jo});var O={};t.r(O),t.d(O,{list_many_input:()=>W_,list_tolist:()=>np,list_tolist2:()=>sp,list_trig:()=>w_,lists_2d_get_col_row_data:()=>D_,lists_2d_get_data_with_col_row:()=>N_,lists_append_extend:()=>Y_,lists_change_to:()=>H_,lists_change_to_general:()=>J_,lists_clear:()=>y_,lists_create_with:()=>f_,lists_create_with2:()=>z_,lists_create_with_noreturn:()=>K_,lists_create_with_text:()=>P_,lists_create_with_text2:()=>q_,lists_del_general:()=>Q_,lists_find:()=>B_,lists_getIndex3:()=>j_,lists_getSublist3:()=>Z_,lists_get_index:()=>F_,lists_get_random_item:()=>x_,lists_get_random_sublist:()=>X_,lists_get_sublist:()=>L_,lists_insert_value:()=>b_,lists_insert_value2:()=>tp,lists_pop:()=>U_,lists_remove_at:()=>G_,lists_remove_at2:()=>ep,lists_reverse:()=>V_,lists_setIndex3:()=>$_,lists_set_index:()=>v_,lists_sort:()=>k_,lists_zip:()=>ip});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>mp,dicts_add_or_change:()=>up,dicts_clear:()=>dp,dicts_create_with:()=>op,dicts_create_with_noreturn:()=>Rp,dicts_deldict:()=>Mp,dicts_delete:()=>rp,dicts_get:()=>pp,dicts_get_default:()=>ap,dicts_items:()=>Ip,dicts_keys:()=>_p,dicts_length:()=>hp,dicts_pop:()=>Op,dicts_setdefault:()=>Ep,dicts_to_json:()=>gp,dicts_todict:()=>cp,dicts_update:()=>lp,dicts_values:()=>Tp,json_to_dicts:()=>Cp});var R={};t.r(R),t.d(R,{logic_boolean:()=>Dp,logic_compare:()=>Sp,logic_compare_continous:()=>Ap,logic_is:()=>vp,logic_is_in:()=>Fp,logic_negate:()=>Np,logic_null:()=>fp,logic_operation:()=>Lp,logic_tobool:()=>Yp,logic_true_or_false:()=>Pp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>ia,sdcard_use_spi_init:()=>ea,storage_can_write_ornot:()=>wp,storage_change_dir:()=>qp,storage_close_file:()=>Hp,storage_delete_file:()=>Kp,storage_file_seek:()=>zp,storage_file_tell:()=>Qp,storage_file_write:()=>yp,storage_fileopen:()=>Xp,storage_fileopen_new:()=>bp,storage_fileopen_new_encoding:()=>Vp,storage_get_a_line:()=>Up,storage_get_contents:()=>Gp,storage_get_contents_without_para:()=>Bp,storage_get_current_dir:()=>jp,storage_get_file_size:()=>Jp,storage_get_filename:()=>kp,storage_is_file:()=>ta,storage_list_all_files:()=>Wp,storage_make_dir:()=>Zp,storage_open_file_with_os:()=>xp,storage_rename:()=>$p});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>_a,procedures_callreturn:()=>oa,procedures_defnoreturn:()=>sa,procedures_defreturn:()=>na,procedures_ifreturn:()=>pa,procedures_return:()=>aa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>ma,tuple_create_with:()=>ua,tuple_create_with_noreturn:()=>ca,tuple_create_with_text2:()=>ra,tuple_create_with_text_return:()=>la,tuple_del:()=>Ta,tuple_find:()=>Oa,tuple_getIndex:()=>da,tuple_getSublist:()=>Ra,tuple_get_random_item:()=>Ca,tuple_get_sublist:()=>ga,tuple_join:()=>ha,tuple_length:()=>Ia,tuple_max:()=>Ma,tuple_totuple:()=>Sa,tuple_trig:()=>Ea});var S={};t.r(S),t.d(S,{set_add_discard:()=>Fa,set_clear:()=>Da,set_create_with:()=>Aa,set_create_with_text_return:()=>xa,set_length:()=>La,set_operate:()=>fa,set_operate_update:()=>Pa,set_pop:()=>Na,set_sub:()=>va,set_toset:()=>Xa,set_update:()=>Ya});var A={};t.r(A),t.d(A,{html_content:()=>Ba,html_content_more:()=>Ga,html_document:()=>ba,html_form:()=>wa,html_head_body:()=>ya,html_style:()=>Ua,html_style_content:()=>ka,html_text:()=>Ha,html_title:()=>Va});var L={};t.r(L),t.d(L,{attribute_access:()=>ja,function_call:()=>qa,raw_block:()=>Wa,raw_empty:()=>Ja,raw_expression:()=>Ka,raw_table:()=>Qa,type_check:()=>za});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>uu,actuator_extern_get_led_state:()=>ru,actuator_extern_led_bright:()=>au,actuator_extern_led_brightness:()=>lu,actuator_ms32006_dcmotor:()=>Ru,actuator_ms32006_init:()=>Eu,actuator_ms32006_stepper:()=>cu,actuator_neopixel_init:()=>gu,actuator_neopixel_rgb:()=>Cu,actuator_neopixel_rgb_all:()=>Su,actuator_neopixel_write:()=>Au,actuator_use_uart_init:()=>Lu,esp32_music_get_tempo_extern:()=>ou,esp32_music_pitch:()=>eu,esp32_music_pitch_init:()=>tu,esp32_music_pitch_with_time:()=>iu,esp32_music_play_list:()=>nu,esp32_music_reset_extern:()=>_u,esp32_music_set_tempo_extern:()=>su,esp32_music_stop:()=>pu,mixbot_actuator_extern_get_addr:()=>Hu,mixbot_actuator_extern_set_addr:()=>Wu,mixbot_addr_extern:()=>Fu,robot_led_extern:()=>Xu,robot_led_extern_get_value:()=>bu,robot_motor_extern:()=>vu,robot_motor_extern_get_speed:()=>Yu,robot_servo_extern_absolute_run:()=>Gu,robot_servo_extern_get_status:()=>Vu,robot_servo_extern_relative_continue:()=>ku,robot_servo_extern_relative_origin:()=>Uu,robot_servo_extern_relative_run:()=>wu,robot_servo_extern_stop:()=>Bu,robot_servo_extern_stop_mode:()=>yu,robot_traffic_light_extern:()=>xu,servo_get_angle:()=>mu,servo_get_speed:()=>Ou,servo_init:()=>du,servo_move:()=>Iu,servo_set_angle:()=>hu,servo_set_speed:()=>Mu,servo_speed_360:()=>Tu,syn6288_builtin_voice:()=>fu,syn6288_get_voice:()=>Du,syn6288_set_voice:()=>Nu,syn6288_tts_play:()=>Pu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Cr,actuator_dc_motor_stop:()=>Sr,actuator_get_led_bright:()=>qu,actuator_get_led_state:()=>ju,actuator_led_bright:()=>zu,actuator_led_brightness:()=>Zu,actuator_mixbot_buzzer_on_off:()=>fr,actuator_mixgo_nova_mic_get:()=>xr,actuator_mixgo_nova_mic_set:()=>Yr,actuator_mixgo_nova_onboard_music_pitch:()=>Gr,actuator_mixgo_nova_onboard_music_stop:()=>Ur,actuator_mixgo_nova_play_audio:()=>yr,actuator_mixgo_nova_play_online_audio:()=>Br,actuator_mixgo_nova_record_audio:()=>Vr,actuator_mixgo_nova_voice_get:()=>br,actuator_mixgo_nova_voice_set:()=>Xr,actuator_mixgo_zero_led_color:()=>$u,actuator_onboard_neopixel_rgb:()=>or,actuator_onboard_neopixel_rgb_all:()=>_r,actuator_onboard_neopixel_rgb_show_all_chase:()=>ar,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>pr,actuator_onboard_neopixel_write:()=>ur,actuator_rm_onboard_neopixel_rgb:()=>rr,actuator_rm_onboard_neopixel_rgb_all:()=>lr,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>dr,actuator_stepper_keep:()=>cr,actuator_stepper_stop:()=>gr,bitbot_motor:()=>vr,bitbot_move:()=>Pr,bitbot_stop:()=>Fr,cc_number:()=>sr,esp32_music_get_tempo:()=>Tr,esp32_music_reset:()=>hr,esp32_music_set_tempo:()=>Ir,esp32_onboard_music_pitch:()=>Mr,esp32_onboard_music_pitch_with_time:()=>mr,esp32_onboard_music_play_list:()=>Er,esp32_onboard_music_stop:()=>Or,get_power_output:()=>kr,ledswitch:()=>Qu,mixbot_motor:()=>Dr,mixbot_motor_status:()=>Ar,mixbot_move:()=>Lr,mixbot_stop:()=>Nr,number:()=>Ju,rm_actuator_get_led_bright:()=>er,rm_actuator_get_led_state:()=>ir,rm_actuator_led_bright:()=>tr,rm_actuator_led_brightness:()=>nr,rm_motor:()=>Rr,set_all_power_output:()=>Hr,set_power_output:()=>wr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Sl,ai_sensor_ailocal_class:()=>Il,ai_sensor_ailocal_class_result:()=>Tl,ai_sensor_ailocal_train:()=>dl,ai_sensor_asr_recognize:()=>El,ai_sensor_audio_play:()=>Ml,ai_sensor_audio_record:()=>hl,ai_sensor_barcode:()=>Zr,ai_sensor_circle:()=>sl,ai_sensor_classifier_faces:()=>Cl,ai_sensor_color:()=>al,ai_sensor_color_chases:()=>ll,ai_sensor_color_chases_result:()=>rl,ai_sensor_config:()=>qr,ai_sensor_face:()=>gl,ai_sensor_find_20objects:()=>Al,ai_sensor_find_barcodes:()=>$r,ai_sensor_find_circles:()=>ol,ai_sensor_find_colors:()=>ul,ai_sensor_find_licenseplates:()=>cl,ai_sensor_find_lines:()=>nl,ai_sensor_find_qrcodes:()=>zr,ai_sensor_find_rects:()=>pl,ai_sensor_find_tags:()=>el,ai_sensor_licenseplate:()=>Rl,ai_sensor_line:()=>il,ai_sensor_qrcode:()=>Jr,ai_sensor_qrcode_lite:()=>Qr,ai_sensor_rect:()=>_l,ai_sensor_rgb:()=>jr,ai_sensor_tag:()=>tl,ai_sensor_use_uart_init:()=>Kr,ai_sensor_yolo_recognize:()=>ml,ai_sensor_yolo_recognize_result:()=>Ol});var P={};t.r(P),t.d(P,{MICROPYTHON_AI_Speech_asr:()=>Dl,MICROPYTHON_AI_Speech_unit:()=>Nl,MICROPYTHON_AI_client:()=>Ll});var F={};t.r(F),t.d(F,{mpython_blynk_app_data:()=>kl,mpython_blynk_app_notify:()=>bl,mpython_blynk_email:()=>Bl,mpython_blynk_get_timers:()=>Gl,mpython_blynk_on_connected:()=>Yl,mpython_blynk_on_disconnected:()=>vl,mpython_blynk_run:()=>Xl,mpython_blynk_sensor_data_to_app:()=>wl,mpython_blynk_set_property:()=>yl,mpython_blynk_setup:()=>Hl,mpython_blynk_stop_timers:()=>Vl,mpython_blynk_sync_virtual:()=>Fl,mpython_blynk_terminal_widget_vpin:()=>Pl,mpython_blynktimer:()=>Ul,mpython_blynktimer_run:()=>xl});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>Ld,communicate_bluetooth_connect:()=>Pd,communicate_bluetooth_disconnect:()=>Fd,communicate_bluetooth_handle:()=>bd,communicate_bluetooth_is_connected:()=>Yd,communicate_bluetooth_mac:()=>fd,communicate_bluetooth_peripheral_init:()=>Nd,communicate_bluetooth_recv:()=>xd,communicate_bluetooth_recv_only:()=>Xd,communicate_bluetooth_scan:()=>Dd,communicate_bluetooth_send:()=>vd,communicate_espnow_init:()=>Vd,communicate_espnow_init_new:()=>yd,communicate_i2c_available:()=>ad,communicate_i2c_init:()=>Ql,communicate_i2c_master_read:()=>pd,communicate_i2c_onboard:()=>Kl,communicate_i2c_read:()=>zl,communicate_i2c_scan:()=>jl,communicate_i2c_write:()=>ql,communicate_ir_recv_init:()=>Md,communicate_ir_send_init:()=>cd,communicate_ow_init:()=>rd,communicate_ow_read:()=>dd,communicate_ow_reset:()=>hd,communicate_ow_scan:()=>ld,communicate_ow_select:()=>Td,communicate_ow_write:()=>Id,communicate_spi_buffer:()=>td,communicate_spi_init:()=>Zl,communicate_spi_onboard:()=>Jl,communicate_spi_read:()=>ed,communicate_spi_read_output:()=>id,communicate_spi_readinto:()=>nd,communicate_spi_readinto_output:()=>sd,communicate_spi_set:()=>$l,communicate_spi_write:()=>od,communicate_spi_write_readinto:()=>_d,espnow_radio_channel:()=>Hd,espnow_radio_channel_new:()=>Kd,espnow_radio_on_off:()=>Jd,espnow_radio_rec:()=>zd,espnow_radio_recv:()=>jd,espnow_radio_recv_certain_msg:()=>Zd,espnow_radio_recv_certain_msg_new:()=>tI,espnow_radio_recv_msg:()=>qd,espnow_radio_recv_new:()=>$d,espnow_radio_send:()=>Qd,espnow_radio_txpower:()=>Wd,i2c_available:()=>gI,i2c_init:()=>aI,i2c_master_reader2:()=>cI,i2c_read:()=>uI,i2c_scan:()=>lI,i2c_slave_onreceive:()=>ud,i2c_write:()=>rI,internal_variable:()=>md,ir_recv_timeout:()=>Rd,ir_transmit_busy:()=>Ad,ir_transmit_conventional_data:()=>gd,ir_transmit_raw_code:()=>Sd,ir_transmit_study_code:()=>Cd,ir_whether_recv:()=>Ed,lora_init:()=>eI,lora_packet:()=>iI,lora_recv:()=>sI,lora_send:()=>nI,network_espnow_info:()=>Gd,network_espnow_mac:()=>Bd,network_espnow_recv:()=>Ud,network_espnow_recv_handle:()=>kd,network_espnow_send:()=>wd,recv_fun:()=>Od,spi_buffer:()=>TI,spi_init:()=>dI,spi_read:()=>hI,spi_read_output:()=>MI,spi_readinto:()=>mI,spi_readinto_output:()=>OI,spi_set:()=>II,spi_write:()=>EI,spi_write_readinto:()=>RI,urequests_attribute:()=>_I,urequests_get:()=>oI,urequests_method:()=>pI});var Y={};t.r(Y),t.d(Y,{display_animate:()=>ZI,display_blink_rate:()=>QI,display_circle:()=>$I,display_color_seclet:()=>lT,display_draw_4strings:()=>wI,display_fill:()=>jI,display_get_screen_image:()=>JI,display_help:()=>eT,display_image_size:()=>kI,display_lcd_use_i2c_init:()=>mT,display_line:()=>WI,display_line_arbitrarily:()=>KI,display_matrix_extern_bright_point:()=>xI,display_matrix_extern_bright_screen:()=>bI,display_matrix_extern_clear:()=>VI,display_matrix_extern_get_pixel:()=>YI,display_matrix_extern_get_screen_pixel:()=>XI,display_matrix_extern_image_builtins:()=>yI,display_matrix_extern_scroll_string:()=>DI,display_matrix_extern_scroll_string_delay:()=>fI,display_matrix_extern_shift:()=>vI,display_matrix_extern_show_frame_string:()=>PI,display_matrix_extern_show_frame_string_delay:()=>FI,display_matrix_extern_show_image:()=>LI,display_matrix_extern_show_image_or_string_delay:()=>NI,display_matrix_use_i2c_init:()=>AI,display_oled_drawPixel:()=>nT,display_oled_showBitmap:()=>iT,display_oled_use_i2c_init:()=>gT,display_onoff:()=>qI,display_rect:()=>HI,display_rgb_color:()=>zI,display_tm1650_power:()=>oT,display_tm1650_set_brightness:()=>aT,display_tm1650_show_dot:()=>pT,display_tm1650_show_num:()=>_T,display_tm_use_i2c_init:()=>sT,display_triangle:()=>tT,display_use_i2c_init:()=>UI,extern_oled_bright_point:()=>YT,extern_oled_clear:()=>xT,extern_oled_get_pixel:()=>vT,extern_oled_hvline:()=>bT,extern_oled_line:()=>VT,extern_oled_scroll_string:()=>NT,extern_oled_scroll_string_delay:()=>DT,extern_oled_shape_rect:()=>XT,extern_oled_shift:()=>FT,extern_oled_show_frame_string:()=>fT,extern_oled_show_frame_string_delay:()=>PT,extern_oled_show_image:()=>CT,extern_oled_show_image_or_string_delay:()=>LT,extern_oled_show_image_xy:()=>ST,extern_oled_show_string:()=>AT,lcd_backlight:()=>RT,lcd_clear:()=>cT,lcd_print_string:()=>ET,lcd_show_image_or_string_delay:()=>OT,matrix_extern_image_arithmetic:()=>BI,matrix_extern_image_invert:()=>GI,tft_fill:()=>hT,tft_line_arbitrarily:()=>MT,tft_scroll_string_delay:()=>IT,tft_show_frame_string_delay:()=>TT,tft_show_image_or_string_delay:()=>dT,tft_show_image_xy:()=>rT,tft_use_spi_init:()=>uT});var x={};t.r(x),t.d(x,{bitbot_display_image_create:()=>gh,display_bright_point:()=>ZT,display_bright_screen:()=>th,display_clear:()=>eh,display_get_pixel:()=>jT,display_get_screen_pixel:()=>$T,display_image_builtins:()=>KT,display_image_builtins_all:()=>JT,display_image_create:()=>WT,display_scroll_string:()=>UT,display_scroll_string_delay:()=>wT,display_shift:()=>qT,display_show_frame_string:()=>kT,display_show_frame_string_delay:()=>HT,display_show_image:()=>BT,display_show_image_or_string_delay:()=>GT,image_arithmetic:()=>QT,image_invert:()=>zT,mixbot_display_bright_screen:()=>Rh,mixbot_display_get_ambientbright:()=>Eh,mixbot_display_get_screen_pixel:()=>Oh,mixbot_display_image_create:()=>mh,mixbot_display_rotate:()=>ch,mixgo_display_image_create_new:()=>sh,mixgome_display_font:()=>oh,mixgome_display_image_create:()=>ih,mixgomini_display_image_create:()=>nh,mpython_display_hvline:()=>Th,mpython_display_line:()=>hh,mpython_display_shape_rect:()=>Ih,mpython_pbm_image:()=>Mh,onboard_oled_bright_point:()=>dh,onboard_oled_scroll_string_delay:()=>rh,onboard_oled_show_frame_string_delay:()=>lh,onboard_oled_show_image:()=>_h,onboard_oled_show_image_or_string_delay:()=>uh,onboard_oled_show_image_xy:()=>ph,onboard_oled_show_string:()=>ah,onboard_tft_bright_point:()=>Xh,onboard_tft_bright_screen:()=>yh,onboard_tft_clear:()=>bh,onboard_tft_clock_clear:()=>Hh,onboard_tft_clock_draw:()=>kh,onboard_tft_clock_get_rtctime:()=>Uh,onboard_tft_clock_init:()=>Gh,onboard_tft_clock_set_time:()=>wh,onboard_tft_display_hvline:()=>Fh,onboard_tft_display_line:()=>vh,onboard_tft_display_shape_circle:()=>Wh,onboard_tft_display_shape_rect:()=>Ph,onboard_tft_fill:()=>Bh,onboard_tft_get_pixel:()=>xh,onboard_tft_get_screen_pixel:()=>Vh,onboard_tft_scroll_string:()=>Lh,onboard_tft_scroll_string_delay:()=>Nh,onboard_tft_shift:()=>Yh,onboard_tft_show_frame_string:()=>Dh,onboard_tft_show_frame_string_delay:()=>fh,onboard_tft_show_image:()=>Ch,onboard_tft_show_image_or_string_delay:()=>Ah,onboard_tft_show_image_xy:()=>Sh});var X={};t.r(X),t.d(X,{factory_block:()=>iM,factory_block_return:()=>nM,factory_block_return_with_textarea:()=>oM,factory_block_with_textarea:()=>sM,factory_callMethod_noreturn:()=>tM,factory_callMethod_return:()=>eM,factory_create_with_container:()=>qh,factory_create_with_item:()=>jh,factory_declare:()=>$h,factory_from_import:()=>Jh,factory_function_noreturn:()=>zh,factory_function_return:()=>Zh,factory_import:()=>Qh,folding_block:()=>_M});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>DM,inout_analog_atten:()=>MM,inout_analog_read:()=>hM,inout_analog_read_init:()=>gM,inout_analog_write:()=>dM,inout_analog_write_init:()=>cM,inout_analog_write_set:()=>IM,inout_analog_write_set_freq:()=>AM,inout_digital_init:()=>EM,inout_digital_read:()=>rM,inout_digital_write:()=>uM,inout_highlow:()=>aM,inout_pinMode:()=>SM,inout_pin_attachInterrupt:()=>OM,inout_pin_pressed:()=>mM,inout_pin_pressed_init:()=>CM,inout_pwm_analog_write:()=>lM,inout_pwm_analog_write_init:()=>RM,inout_pwm_analog_write_set_freq:()=>TM,pin_pressed:()=>NM,pin_pressed_init:()=>LM});var V={};t.r(V),t.d(V,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>ZM,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>jM,IOT_EMQX_PING:()=>zM,IOT_FORMATTING:()=>JM,IOT_FORMAT_STRING:()=>QM,IOT_MIXIO_NTP:()=>qM,IOT_MIXIO_PUBLISH:()=>GM,IOT_MIXIO_SUBSCRIBE:()=>UM,iot_checkonenet:()=>am,iot_client_onboard:()=>tm,iot_create_with_item:()=>yM,iot_http_client:()=>em,iot_http_data:()=>im,iot_mixio_check:()=>HM,iot_mixio_connect:()=>BM,iot_mixio_connect_only:()=>kM,iot_mixio_disconnect:()=>wM,iot_mixio_format_msg:()=>KM,iot_mixio_format_topic:()=>WM,iot_mixly_key:()=>$M,iot_mqtt_client:()=>nm,iot_mqtt_data:()=>sm,iot_onenet_check:()=>YM,iot_onenet_connect:()=>FM,iot_onenet_disconnect:()=>vM,iot_onenet_publish:()=>XM,iot_onenet_publish_dict:()=>xM,iot_onenetconnect:()=>_m,iot_onenetdisconnect:()=>pm,iot_publish:()=>um,iot_publish_container:()=>bM,iot_publish_item:()=>VM,iot_wifi_connect:()=>PM,iot_wificonnect:()=>om});var y={};t.r(y),t.d(y,{network_ap_connect:()=>Rm,network_connect:()=>hm,network_get_connect:()=>mm,network_get_wifi:()=>Em,network_init:()=>lm,network_is_active:()=>Im,network_open:()=>dm,network_scan:()=>Tm,network_server:()=>cm,network_socket_accept:()=>Lm,network_socket_bind:()=>Cm,network_socket_close:()=>Fm,network_socket_connect:()=>Sm,network_socket_init:()=>gm,network_socket_listen:()=>Am,network_socket_receive:()=>Nm,network_socket_receive_from:()=>fm,network_socket_send:()=>Dm,network_socket_send_to:()=>Pm,network_stop:()=>Om,network_wifi_connect:()=>Mm,ntptime_address:()=>bm,ntptime_time:()=>Xm,requests_attribute:()=>Ym,requests_get:()=>vm,requests_method:()=>xm});var B={};t.r(B),t.d(B,{get_potential_num:()=>ym,nova_g1_motor:()=>Bm,nova_g1_spk_en:()=>Um,nova_g1_usb:()=>Gm});var G={};t.r(G),t.d(G,{pe_g1_battery_left:()=>Hm,pe_g1_dc_motor:()=>Wm,pe_g1_dc_motor_speed:()=>Km,pe_g1_servo_get_angle:()=>zm,pe_g1_servo_get_speed:()=>qm,pe_g1_servo_set_angle:()=>Jm,pe_g1_servo_set_speed:()=>Qm,pe_g1_use_i2c_init:()=>km});var U={};t.r(U),t.d(U,{HCSR04:()=>jO,PS2_Button:()=>eE,PS2_Buttons:()=>nE,PS2_Buttons_new:()=>pE,PS2_State:()=>iE,PS2_init:()=>ZO,PS2_init_new:()=>oE,PS2_stk:()=>sE,PS2_stk_new:()=>aE,PS2_vibration:()=>tE,PS2_vibration_new:()=>_E,esp32_s2_weather_init:()=>JO,esp32_s2_weather_rain:()=>zO,esp32_s2_weather_wd:()=>QO,esp32_s2_weather_ws:()=>qO,extern_rfid_read:()=>YO,extern_rfid_readcontent:()=>XO,extern_rfid_readid:()=>xO,extern_rfid_status:()=>yO,extern_rfid_write:()=>bO,extern_rfid_write_return:()=>VO,gnss_get_data:()=>dE,gnss_have_data:()=>lE,mixbot_sensor_extern_get_addr:()=>EE,mixbot_sensor_extern_set_addr:()=>RE,pm25_get_data:()=>rE,robot_button_extern_get_value:()=>IE,robot_color_extern_get_value:()=>OE,robot_infrared_extern_get_value:()=>hE,robot_infrared_extern_grey_get_value:()=>ME,robot_potentiometer_extern_get_value:()=>mE,robot_sonar_extern_get_value:()=>cE,robot_sonar_extern_led:()=>gE,robot_touch_extern_get_value:()=>TE,sensor_APDS9960_extern:()=>hO,sensor_LTR308_extern:()=>MO,sensor_LTR390UV_extern:()=>OO,sensor_MAX30102_extern:()=>TO,sensor_QMC5883L_extern:()=>CO,sensor_VL530LX_extern:()=>EO,sensor_adxl345_get_acceleration:()=>nO,sensor_aht11_extern:()=>cO,sensor_bmp:()=>uO,sensor_compass_reset:()=>FO,sensor_dht11:()=>oO,sensor_ds18x20:()=>lO,sensor_hp203_extern:()=>gO,sensor_light_level:()=>sO,sensor_lm35:()=>dO,sensor_ltr381_extern:()=>mO,sensor_mixgo_extern_button_attachInterrupt:()=>eO,sensor_mixgo_extern_button_get_presses:()=>tO,sensor_mixgo_extern_button_is_pressed:()=>Zm,sensor_mixgo_extern_button_was_pressed:()=>$m,sensor_mixgo_extern_light:()=>_O,sensor_mixgo_extern_pin_near:()=>aO,sensor_mixgo_extern_sound:()=>pO,sensor_mixgoce_hot_wheel_degrees:()=>KO,sensor_mixgoce_hot_wheel_is_touched:()=>WO,sensor_mpu9250_attachGestureInterrupt:()=>iO,sensor_mpu9250_calibrate_compass:()=>DO,sensor_mpu9250_field_strength:()=>PO,sensor_mpu9250_gesture:()=>SO,sensor_mpu9250_get_acceleration:()=>AO,sensor_mpu9250_get_gyro:()=>NO,sensor_mpu9250_get_magnetic:()=>LO,sensor_mpu9250_temperature:()=>fO,sensor_sht:()=>rO,sensor_shtc3_extern:()=>RO,sensor_use_i2c_init:()=>IO,sensor_use_spi_init:()=>vO,sensor_use_uart_init:()=>uE,sensor_weather_solo_init:()=>CE,sensor_weather_solo_rain:()=>LE,sensor_weather_solo_wd:()=>SE,sensor_weather_solo_ws:()=>AE,weather_data:()=>BO,weather_have_data:()=>GO,weather_set_label:()=>wO,weather_set_label_container:()=>kO,weather_set_label_item:()=>HO,weather_uart_mixio:()=>UO});var w={};t.r(w),t.d(w,{HCSR04:()=>kE,RTC_set_date:()=>wE,RTC_set_time:()=>UE,bitbot_als_num:()=>QR,dht11:()=>ec,number1:()=>WE,number2:()=>KE,number3:()=>JE,number4:()=>QE,number5:()=>zE,number6:()=>qE,number7:()=>jE,onboard_RTC_get_time:()=>sR,onboard_RTC_get_timestamp:()=>oR,onboard_RTC_set_datetime:()=>aR,onboard_RTC_settime_string:()=>pR,onboard_RTC_timestamp_totuple:()=>_R,rfid_readcontent:()=>MR,rfid_readid:()=>hR,rfid_write:()=>mR,rfid_write_return:()=>OR,sensor_LTR308:()=>rR,sensor_aht11:()=>dR,sensor_bitbot_ALS:()=>JR,sensor_button_get_presses:()=>jR,sensor_button_is_pressed:()=>zR,sensor_button_was_pressed:()=>qR,sensor_distance_hrsc04:()=>GE,sensor_eulerangles:()=>RR,sensor_field_strength:()=>ic,sensor_get_acceleration:()=>ER,sensor_get_temperature:()=>IR,sensor_hp203:()=>TR,sensor_light:()=>tc,sensor_mixbot_get_gyro:()=>KR,sensor_mixbot_patrol_calibrate:()=>kR,sensor_mixbot_patrol_value:()=>HR,sensor_mixbot_temperature:()=>WR,sensor_mixgo_LTR308:()=>nR,sensor_mixgo_button_attachInterrupt:()=>FE,sensor_mixgo_button_get_presses:()=>PE,sensor_mixgo_button_is_pressed:()=>DE,sensor_mixgo_button_was_pressed:()=>fE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>FR,sensor_mixgo_cc_mmc5603_get_angle:()=>PR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>fR,sensor_mixgo_light:()=>HE,sensor_mixgo_nova_LTR308:()=>iR,sensor_mixgo_nova_pin_near:()=>eR,sensor_mixgo_pin_near:()=>tR,sensor_mixgo_pin_near_double:()=>$E,sensor_mixgo_pin_near_single:()=>ZE,sensor_mixgo_pin_pressed:()=>bE,sensor_mixgo_touch_slide:()=>BE,sensor_mixgocar42_button_attachInterrupt:()=>XE,sensor_mixgocar42_button_get_presses:()=>xE,sensor_mixgocar42_button_is_pressed:()=>vE,sensor_mixgocar42_button_was_pressed:()=>YE,sensor_mixgocar_battery_left:()=>wR,sensor_mixgocar_pin_near:()=>GR,sensor_mixgocar_pin_near_line:()=>BR,sensor_mixgocar_pin_near_state_change:()=>UR,sensor_mixgoce_pin_pressed:()=>VE,sensor_mixgoce_temperature:()=>YR,sensor_mixgome_temperature:()=>vR,sensor_mpython_pin_pressed:()=>yE,sensor_mpython_qmi8658_get_gyro:()=>xR,sensor_mpython_qmi8658_temperature:()=>XR,sensor_onboard_compass_reset:()=>DR,sensor_onboard_mpu9250_calibrate_compass:()=>AR,sensor_onboard_mpu9250_field_strength:()=>NR,sensor_onboard_mpu9250_gesture:()=>cR,sensor_onboard_mpu9250_get_acceleration:()=>gR,sensor_onboard_mpu9250_get_gyro:()=>SR,sensor_onboard_mpu9250_get_magnetic:()=>CR,sensor_onboard_mpu9250_temperature:()=>LR,sensor_pin_near:()=>$R,sensor_pin_pressed:()=>ZR,sensor_rm_acc:()=>yR,sensor_rm_battery_left:()=>VR,sensor_rm_pin_near_double:()=>bR,sensor_rtc_init:()=>uR,sensor_sound:()=>lR,sensor_temperature:()=>nc});var k={};t.r(k),t.d(k,{serial_any:()=>lc,serial_begin:()=>Mc,serial_print:()=>_c,serial_print_byte:()=>oc,serial_print_hex:()=>ac,serial_println:()=>pc,serial_read_from_ai:()=>Ac,serial_readline:()=>dc,serial_readstr:()=>rc,serial_readstr_until:()=>Ic,serial_receive_data_event:()=>uc,serial_send_to_ai:()=>Sc,serial_softserial:()=>hc,serial_softserial_new:()=>Tc,system_input:()=>mc,system_print:()=>Oc,system_print_container:()=>gc,system_print_end:()=>Rc,system_print_inline:()=>Ec,system_print_item:()=>Cc,system_print_many:()=>cc});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>fc,Timer_init:()=>wc,base_delay:()=>Wc,controls_delay:()=>Dc,controls_delay_new:()=>Nc,controls_millis:()=>Fc,controls_uname:()=>Yc,raw_block:()=>vc,reset:()=>Pc,system_bitbot_shutdown:()=>Uc,system_machine_reset:()=>Gc,system_ticks_diff:()=>bc,system_timer:()=>Xc,system_timer_init:()=>Vc,system_wdt_feed:()=>Bc,system_wdt_init:()=>yc,time_ticks_diff:()=>Hc,timer:()=>xc,timer2:()=>kc});var W={};t.r(W),t.d(W,{WEATHER_DAILY:()=>Qc,WEATHER_HOUR:()=>zc,WEATHER_NOW:()=>Jc});var K={};t.r(K),t.d(K,{actuator_extern_get_led_bright:()=>hg,actuator_extern_get_led_state:()=>Mg,actuator_extern_led_bright:()=>Tg,actuator_extern_led_brightness:()=>mg,actuator_ms32006_dcmotor:()=>ng,actuator_ms32006_init:()=>ig,actuator_ms32006_stepper:()=>sg,actuator_neopixel_init:()=>Og,actuator_neopixel_rgb:()=>cg,actuator_neopixel_rgb_all:()=>Eg,actuator_neopixel_write:()=>Rg,actuator_use_uart_init:()=>gg,esp32_music_get_tempo_extern:()=>rg,esp32_music_pitch:()=>_g,esp32_music_pitch_init:()=>og,esp32_music_pitch_with_time:()=>pg,esp32_music_play_list:()=>lg,esp32_music_reset_extern:()=>dg,esp32_music_set_tempo_extern:()=>ug,esp32_music_stop:()=>ag,mixbot_actuator_extern_get_addr:()=>Gg,mixbot_actuator_extern_set_addr:()=>Ug,mixbot_addr_extern:()=>Ng,robot_led_extern:()=>Fg,robot_led_extern_get_value:()=>vg,robot_motor_extern:()=>Dg,robot_motor_extern_get_speed:()=>fg,robot_servo_extern_absolute_run:()=>bg,robot_servo_extern_get_status:()=>Yg,robot_servo_extern_relative_continue:()=>Bg,robot_servo_extern_relative_origin:()=>Vg,robot_servo_extern_relative_run:()=>yg,robot_servo_extern_stop:()=>Xg,robot_servo_extern_stop_mode:()=>xg,robot_traffic_light_extern:()=>Pg,servo_get_angle:()=>tg,servo_get_speed:()=>eg,servo_init:()=>qc,servo_move:()=>Ig,servo_set_angle:()=>Zc,servo_set_speed:()=>$c,servo_speed_360:()=>jc,syn6288_builtin_voice:()=>Ag,syn6288_get_voice:()=>Sg,syn6288_set_voice:()=>Cg,syn6288_tts_play:()=>Lg});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>hC,actuator_dc_motor_stop:()=>MC,actuator_get_led_bright:()=>Zg,actuator_get_led_state:()=>$g,actuator_led_bright:()=>jg,actuator_led_brightness:()=>tC,actuator_mixbot_buzzer_on_off:()=>cC,actuator_mixgo_nova_mic_get:()=>LC,actuator_mixgo_nova_mic_set:()=>AC,actuator_mixgo_nova_onboard_music_pitch:()=>vC,actuator_mixgo_nova_onboard_music_stop:()=>YC,actuator_mixgo_nova_play_audio:()=>PC,actuator_mixgo_nova_play_online_audio:()=>FC,actuator_mixgo_nova_record_audio:()=>fC,actuator_mixgo_nova_voice_get:()=>DC,actuator_mixgo_nova_voice_set:()=>NC,actuator_mixgo_zero_led_color:()=>eC,actuator_onboard_neopixel_rgb:()=>aC,actuator_onboard_neopixel_rgb_all:()=>uC,actuator_onboard_neopixel_rgb_show_all_chase:()=>rC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>lC,actuator_onboard_neopixel_write:()=>pC,actuator_stepper_keep:()=>IC,actuator_stepper_stop:()=>TC,bitbot_motor:()=>SC,bitbot_move:()=>gC,bitbot_stop:()=>CC,cc_number:()=>iC,esp32_music_get_tempo:()=>kg,esp32_music_reset:()=>Qg,esp32_music_set_tempo:()=>wg,esp32_onboard_music_pitch:()=>Hg,esp32_onboard_music_pitch_with_time:()=>Wg,esp32_onboard_music_play_list:()=>Jg,esp32_onboard_music_stop:()=>Kg,get_power_output:()=>XC,ledswitch:()=>qg,mixbot_motor:()=>RC,mixbot_motor_status:()=>mC,mixbot_move:()=>OC,mixbot_stop:()=>EC,number:()=>zg,rm_actuator_get_led_bright:()=>sC,rm_actuator_get_led_state:()=>oC,rm_actuator_led_bright:()=>nC,rm_actuator_led_brightness:()=>_C,rm_motor:()=>dC,set_all_power_output:()=>bC,set_power_output:()=>xC});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>hS,ai_sensor_ailocal_class:()=>sS,ai_sensor_ailocal_class_result:()=>oS,ai_sensor_ailocal_train:()=>nS,ai_sensor_asr_recognize:()=>rS,ai_sensor_audio_play:()=>pS,ai_sensor_audio_record:()=>_S,ai_sensor_barcode:()=>kC,ai_sensor_circle:()=>zC,ai_sensor_classifier_faces:()=>TS,ai_sensor_color:()=>$C,ai_sensor_color_chases:()=>iS,ai_sensor_color_chases_result:()=>eS,ai_sensor_config:()=>BC,ai_sensor_face:()=>IS,ai_sensor_find_20objects:()=>MS,ai_sensor_find_barcodes:()=>HC,ai_sensor_find_circles:()=>qC,ai_sensor_find_colors:()=>tS,ai_sensor_find_licenseplates:()=>dS,ai_sensor_find_lines:()=>QC,ai_sensor_find_qrcodes:()=>wC,ai_sensor_find_rects:()=>ZC,ai_sensor_find_tags:()=>KC,ai_sensor_licenseplate:()=>lS,ai_sensor_line:()=>JC,ai_sensor_qrcode:()=>UC,ai_sensor_qrcode_lite:()=>yC,ai_sensor_rect:()=>jC,ai_sensor_rgb:()=>GC,ai_sensor_tag:()=>WC,ai_sensor_use_uart_init:()=>VC,ai_sensor_yolo_recognize:()=>aS,ai_sensor_yolo_recognize_result:()=>uS});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>ES,MICROPYTHON_AI_Speech_unit:()=>OS,MICROPYTHON_AI_client:()=>mS});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>FS,mpython_blynk_app_notify:()=>LS,mpython_blynk_email:()=>vS,mpython_blynk_get_timers:()=>DS,mpython_blynk_on_connected:()=>CS,mpython_blynk_on_disconnected:()=>gS,mpython_blynk_run:()=>AS,mpython_blynk_sensor_data_to_app:()=>PS,mpython_blynk_set_property:()=>YS,mpython_blynk_setup:()=>xS,mpython_blynk_stop_timers:()=>NS,mpython_blynk_sync_virtual:()=>cS,mpython_blynk_terminal_widget_vpin:()=>RS,mpython_blynktimer:()=>fS,mpython_blynktimer_run:()=>SS});var j={};t.r(j),t.d(j,{communicate_bluetooth_central_init:()=>hA,communicate_bluetooth_connect:()=>OA,communicate_bluetooth_disconnect:()=>EA,communicate_bluetooth_handle:()=>AA,communicate_bluetooth_is_connected:()=>cA,communicate_bluetooth_mac:()=>RA,communicate_bluetooth_peripheral_init:()=>MA,communicate_bluetooth_recv:()=>SA,communicate_bluetooth_recv_only:()=>CA,communicate_bluetooth_scan:()=>mA,communicate_bluetooth_send:()=>gA,communicate_espnow_init:()=>LA,communicate_espnow_init_new:()=>NA,communicate_i2c_available:()=>wS,communicate_i2c_init:()=>VS,communicate_i2c_master_read:()=>US,communicate_i2c_onboard:()=>XS,communicate_i2c_read:()=>yS,communicate_i2c_scan:()=>GS,communicate_i2c_write:()=>BS,communicate_ir_recv_init:()=>oA,communicate_ir_send_init:()=>rA,communicate_ow_init:()=>$S,communicate_ow_read:()=>iA,communicate_ow_reset:()=>eA,communicate_ow_scan:()=>tA,communicate_ow_select:()=>sA,communicate_ow_write:()=>nA,communicate_spi_buffer:()=>KS,communicate_spi_init:()=>HS,communicate_spi_onboard:()=>bS,communicate_spi_read:()=>JS,communicate_spi_read_output:()=>QS,communicate_spi_readinto:()=>zS,communicate_spi_readinto_output:()=>qS,communicate_spi_set:()=>WS,communicate_spi_write:()=>jS,communicate_spi_write_readinto:()=>ZS,espnow_radio_channel:()=>YA,espnow_radio_channel_new:()=>XA,espnow_radio_on_off:()=>bA,espnow_radio_rec:()=>yA,espnow_radio_recv:()=>GA,espnow_radio_recv_certain_msg:()=>UA,espnow_radio_recv_certain_msg_new:()=>kA,espnow_radio_recv_msg:()=>BA,espnow_radio_recv_new:()=>wA,espnow_radio_send:()=>VA,espnow_radio_txpower:()=>xA,i2c_slave_onreceive:()=>kS,internal_variable:()=>_A,ir_recv_timeout:()=>uA,ir_transmit_busy:()=>TA,ir_transmit_conventional_data:()=>lA,ir_transmit_raw_code:()=>IA,ir_transmit_study_code:()=>dA,ir_whether_recv:()=>aA,lora_init:()=>HA,lora_packet:()=>WA,lora_recv:()=>JA,lora_send:()=>KA,network_espnow_info:()=>fA,network_espnow_mac:()=>DA,network_espnow_recv:()=>PA,network_espnow_recv_handle:()=>vA,network_espnow_send:()=>FA,recv_fun:()=>pA,urequests_attribute:()=>zA,urequests_get:()=>QA,urequests_method:()=>qA});var Z={};t.r(Z),t.d(Z,{display_animate:()=>cL,display_circle:()=>gL,display_color_seclet:()=>YL,display_draw_4strings:()=>TL,display_fill:()=>RL,display_lcd_use_i2c_init:()=>BL,display_line:()=>mL,display_line_arbitrarily:()=>hL,display_matrix_extern_bright_point:()=>pL,display_matrix_extern_bright_screen:()=>uL,display_matrix_extern_clear:()=>sL,display_matrix_extern_get_pixel:()=>_L,display_matrix_extern_get_screen_pixel:()=>aL,display_matrix_extern_image_builtins:()=>rL,display_matrix_extern_scroll_string:()=>iL,display_matrix_extern_scroll_string_delay:()=>nL,display_matrix_extern_shift:()=>oL,display_matrix_extern_show_frame_string:()=>tL,display_matrix_extern_show_frame_string_delay:()=>eL,display_matrix_extern_show_image:()=>ZA,display_matrix_extern_show_image_or_string_delay:()=>$A,display_matrix_use_i2c_init:()=>jA,display_oled_drawPixel:()=>AL,display_oled_showBitmap:()=>SL,display_oled_use_i2c_init:()=>HL,display_onoff:()=>OL,display_rect:()=>ML,display_tm1650_power:()=>NL,display_tm1650_set_brightness:()=>PL,display_tm1650_show_dot:()=>fL,display_tm1650_show_num:()=>DL,display_tm_use_i2c_init:()=>LL,display_triangle:()=>CL,display_use_i2c_init:()=>IL,extern_oled_bright_point:()=>iN,extern_oled_clear:()=>$L,extern_oled_get_pixel:()=>eN,extern_oled_hvline:()=>sN,extern_oled_line:()=>oN,extern_oled_scroll_string:()=>jL,extern_oled_scroll_string_delay:()=>ZL,extern_oled_shape_rect:()=>nN,extern_oled_shift:()=>tN,extern_oled_show_frame_string:()=>zL,extern_oled_show_frame_string_delay:()=>qL,extern_oled_show_image:()=>WL,extern_oled_show_image_or_string_delay:()=>QL,extern_oled_show_image_xy:()=>KL,extern_oled_show_string:()=>JL,image_shift:()=>EL,lcd_backlight:()=>wL,lcd_clear:()=>kL,lcd_print_string:()=>UL,lcd_show_image_or_string_delay:()=>GL,matrix_extern_image_arithmetic:()=>lL,matrix_extern_image_invert:()=>dL,tft_fill:()=>VL,tft_line_arbitrarily:()=>yL,tft_scroll_string_delay:()=>bL,tft_show_frame_string_delay:()=>XL,tft_show_image_or_string_delay:()=>xL,tft_show_image_xy:()=>vL,tft_use_spi_init:()=>FL});var $={};t.r($),t.d($,{bitbot_display_image_create:()=>kN,display_bright_point:()=>RN,display_bright_screen:()=>gN,display_clear:()=>hN,display_get_pixel:()=>EN,display_get_screen_pixel:()=>cN,display_image_builtins:()=>dN,display_image_builtins_all:()=>IN,display_image_create:()=>TN,display_scroll_string:()=>rN,display_scroll_string_delay:()=>lN,display_shift:()=>ON,display_show_frame_string:()=>aN,display_show_frame_string_delay:()=>uN,display_show_image:()=>_N,display_show_image_or_string_delay:()=>pN,image_arithmetic:()=>MN,image_invert:()=>mN,mixbot_display_bright_screen:()=>UN,mixbot_display_get_ambientbright:()=>GN,mixbot_display_get_screen_pixel:()=>BN,mixbot_display_image_create:()=>yN,mixbot_display_rotate:()=>wN,mixgo_display_image_create_new:()=>LN,mixgome_display_font:()=>AN,mixgome_display_image_create:()=>CN,mixgomini_display_image_create:()=>SN,mpython_display_hvline:()=>bN,mpython_display_line:()=>VN,mpython_display_shape_rect:()=>XN,mpython_pbm_image:()=>NN,onboard_oled_bright_point:()=>xN,onboard_oled_scroll_string_delay:()=>YN,onboard_oled_show_frame_string_delay:()=>vN,onboard_oled_show_image:()=>DN,onboard_oled_show_image_or_string_delay:()=>FN,onboard_oled_show_image_xy:()=>fN,onboard_oled_show_string:()=>PN,onboard_tft_bright_point:()=>nD,onboard_tft_bright_screen:()=>oD,onboard_tft_clear:()=>tD,onboard_tft_clock_clear:()=>lD,onboard_tft_clock_draw:()=>rD,onboard_tft_clock_get_rtctime:()=>aD,onboard_tft_clock_init:()=>pD,onboard_tft_clock_set_time:()=>uD,onboard_tft_display_hvline:()=>ZN,onboard_tft_display_line:()=>$N,onboard_tft_display_shape_circle:()=>dD,onboard_tft_display_shape_rect:()=>jN,onboard_tft_fill:()=>_D,onboard_tft_get_pixel:()=>iD,onboard_tft_get_screen_pixel:()=>sD,onboard_tft_scroll_string:()=>zN,onboard_tft_scroll_string_delay:()=>qN,onboard_tft_shift:()=>eD,onboard_tft_show_frame_string:()=>JN,onboard_tft_show_frame_string_delay:()=>QN,onboard_tft_show_image:()=>HN,onboard_tft_show_image_or_string_delay:()=>KN,onboard_tft_show_image_xy:()=>WN});var tt={};t.r(tt),t.d(tt,{factory_block:()=>RD,factory_block_return:()=>cD,factory_block_return_with_textarea:()=>CD,factory_block_with_textarea:()=>gD,factory_callMethod_noreturn:()=>OD,factory_callMethod_return:()=>ED,factory_declare:()=>mD,factory_from_import:()=>ID,factory_function_noreturn:()=>hD,factory_function_return:()=>MD,factory_import:()=>TD,folding_block:()=>SD});var et={};t.r(et),t.d(et,{inout_analog_atten:()=>BD,inout_analog_read:()=>vD,inout_analog_read_init:()=>yD,inout_analog_write:()=>fD,inout_analog_write_init:()=>VD,inout_analog_write_set:()=>PD,inout_digital_init:()=>XD,inout_digital_read:()=>ND,inout_digital_write:()=>LD,inout_highlow:()=>AD,inout_pin_attachInterrupt:()=>xD,inout_pin_pressed:()=>YD,inout_pin_pressed_init:()=>GD,inout_pwm_analog_write:()=>DD,inout_pwm_analog_write_init:()=>bD,inout_pwm_analog_write_set_freq:()=>FD});var it={};t.r(it),t.d(it,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>_f,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>sf,IOT_EMQX_PING:()=>pf,IOT_FORMATTING:()=>ef,IOT_FORMAT_STRING:()=>nf,IOT_MIXIO_NTP:()=>af,IOT_MIXIO_PUBLISH:()=>QD,IOT_MIXIO_SUBSCRIBE:()=>zD,iot_client_onboard:()=>uf,iot_http_client:()=>rf,iot_http_data:()=>lf,iot_mixio_check:()=>ZD,iot_mixio_connect:()=>JD,iot_mixio_connect_only:()=>jD,iot_mixio_disconnect:()=>qD,iot_mixio_format_msg:()=>tf,iot_mixio_format_topic:()=>$D,iot_mixly_key:()=>of,iot_mqtt_client:()=>df,iot_mqtt_data:()=>If,iot_onenet_check:()=>WD,iot_onenet_connect:()=>wD,iot_onenet_disconnect:()=>kD,iot_onenet_publish:()=>KD,iot_onenet_publish_dict:()=>HD,iot_wifi_connect:()=>UD});var nt={};t.r(nt),t.d(nt,{network_ap_connect:()=>gf,network_connect:()=>hf,network_get_connect:()=>mf,network_get_wifi:()=>cf,network_init:()=>Tf,network_is_active:()=>Rf,network_open:()=>Ef,network_scan:()=>Cf,network_server:()=>Sf,network_socket_accept:()=>ff,network_socket_bind:()=>Lf,network_socket_close:()=>xf,network_socket_connect:()=>Nf,network_socket_init:()=>Af,network_socket_listen:()=>Df,network_socket_receive:()=>Pf,network_socket_receive_from:()=>vf,network_socket_send:()=>Ff,network_socket_send_to:()=>Yf,network_stop:()=>Of,network_wifi_connect:()=>Mf,ntptime_address:()=>Bf,ntptime_time:()=>yf,requests_attribute:()=>bf,requests_get:()=>Xf,requests_method:()=>Vf});var st={};t.r(st),t.d(st,{get_potential_num:()=>Gf,nova_g1_motor:()=>Uf,nova_g1_spk_en:()=>kf,nova_g1_usb:()=>wf});var ot={};t.r(ot),t.d(ot,{pe_g1_battery_left:()=>Wf,pe_g1_dc_motor:()=>Kf,pe_g1_dc_motor_speed:()=>Jf,pe_g1_servo_get_angle:()=>qf,pe_g1_servo_get_speed:()=>jf,pe_g1_servo_set_angle:()=>Qf,pe_g1_servo_set_speed:()=>zf,pe_g1_use_i2c_init:()=>Hf});var _t={};t.r(_t),t.d(_t,{HCSR04:()=>GP,PS2_Button:()=>kP,PS2_Buttons:()=>HP,PS2_Buttons_new:()=>ZP,PS2_State:()=>WP,PS2_init:()=>UP,PS2_init_new:()=>qP,PS2_stk:()=>KP,PS2_stk_new:()=>$P,PS2_vibration:()=>wP,PS2_vibration_new:()=>jP,RTC_get_time:()=>QP,RTC_set_date:()=>oP,RTC_set_datetime:()=>JP,RTC_set_time:()=>sP,esp32_s2_weather_init:()=>bP,esp32_s2_weather_rain:()=>yP,esp32_s2_weather_wd:()=>VP,esp32_s2_weather_ws:()=>BP,extern_rfid_read:()=>SP,extern_rfid_readcontent:()=>LP,extern_rfid_readid:()=>AP,extern_rfid_status:()=>fP,extern_rfid_write:()=>NP,extern_rfid_write_return:()=>DP,gnss_get_data:()=>iF,gnss_have_data:()=>nF,mixbot_sensor_extern_get_addr:()=>dF,mixbot_sensor_extern_set_addr:()=>IF,pm25_get_data:()=>eF,robot_button_extern_get_value:()=>sF,robot_color_extern_get_value:()=>uF,robot_infrared_extern_get_value:()=>_F,robot_infrared_extern_grey_get_value:()=>pF,robot_potentiometer_extern_get_value:()=>aF,robot_sonar_extern_get_value:()=>rF,robot_sonar_extern_led:()=>lF,robot_touch_extern_get_value:()=>oF,sensor_APDS9960_extern:()=>TP,sensor_LTR308_extern:()=>hP,sensor_LTR390UV_extern:()=>OP,sensor_MAX30102_extern:()=>IP,sensor_QMC5883L_extern:()=>EP,sensor_VL530LX_extern:()=>gP,sensor_aht11_extern:()=>cP,sensor_bmp:()=>rP,sensor_dht11:()=>zP,sensor_distance_hrsc04:()=>nP,sensor_hp203_extern:()=>MP,sensor_ltr381_extern:()=>mP,sensor_mixgo_extern_button_attachInterrupt:()=>eP,sensor_mixgo_extern_button_get_presses:()=>tP,sensor_mixgo_extern_button_is_pressed:()=>Zf,sensor_mixgo_extern_button_was_pressed:()=>$f,sensor_mixgo_extern_light:()=>_P,sensor_mixgo_extern_pin_near:()=>aP,sensor_mixgo_extern_sound:()=>pP,sensor_mixgoce_hot_wheel_degrees:()=>XP,sensor_mixgoce_hot_wheel_is_touched:()=>xP,sensor_mpu9250_attachGestureInterrupt:()=>iP,sensor_rtc_init:()=>uP,sensor_sht:()=>lP,sensor_shtc3_extern:()=>RP,sensor_use_i2c_init:()=>dP,sensor_use_spi_init:()=>CP,sensor_use_uart_init:()=>tF,sensor_weather_solo_init:()=>TF,sensor_weather_solo_rain:()=>mF,sensor_weather_solo_wd:()=>hF,sensor_weather_solo_ws:()=>MF,weather_data:()=>PP,weather_have_data:()=>FP,weather_set_label:()=>YP,weather_uart_mixio:()=>vP});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>LF,bitbot_als_num:()=>Hv,dht11:()=>Zv,number1:()=>NF,number2:()=>DF,number3:()=>fF,number4:()=>PF,number5:()=>FF,number6:()=>vF,number7:()=>YF,onboard_RTC_get_time:()=>gv,onboard_RTC_get_timestamp:()=>Cv,onboard_RTC_set_datetime:()=>Rv,onboard_RTC_settime_string:()=>cv,onboard_RTC_timestamp_totuple:()=>Sv,rfid_readcontent:()=>QF,rfid_readid:()=>JF,rfid_write:()=>zF,rfid_write_return:()=>qF,sensor_LTR308:()=>wF,sensor_adxl345_get_acceleration:()=>ov,sensor_aht11:()=>WF,sensor_bitbot_ALS:()=>kv,sensor_button_get_presses:()=>Jv,sensor_button_is_pressed:()=>Wv,sensor_button_was_pressed:()=>Kv,sensor_compass_reset:()=>lv,sensor_ds18x20:()=>GF,sensor_eulerangles:()=>ZF,sensor_get_acceleration:()=>jF,sensor_get_temperature:()=>KF,sensor_hp203:()=>HF,sensor_light:()=>jv,sensor_lm35:()=>UF,sensor_mixbot_get_gyro:()=>wv,sensor_mixbot_patrol_calibrate:()=>Bv,sensor_mixbot_patrol_value:()=>Gv,sensor_mixbot_temperature:()=>Uv,sensor_mixgo_LTR308:()=>yF,sensor_mixgo_button_attachInterrupt:()=>cF,sensor_mixgo_button_get_presses:()=>RF,sensor_mixgo_button_is_pressed:()=>OF,sensor_mixgo_button_was_pressed:()=>EF,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>Nv,sensor_mixgo_cc_mmc5603_get_angle:()=>Lv,sensor_mixgo_cc_mmc5603_get_magnetic:()=>Av,sensor_mixgo_light:()=>qv,sensor_mixgo_nova_LTR308:()=>BF,sensor_mixgo_nova_pin_near:()=>VF,sensor_mixgo_pin_near:()=>bF,sensor_mixgo_pin_near_double:()=>XF,sensor_mixgo_pin_near_single:()=>xF,sensor_mixgo_pin_pressed:()=>nv,sensor_mixgo_touch_slide:()=>iv,sensor_mixgocar42_button_attachInterrupt:()=>AF,sensor_mixgocar42_button_get_presses:()=>SF,sensor_mixgocar42_button_is_pressed:()=>gF,sensor_mixgocar42_button_was_pressed:()=>CF,sensor_mixgocar_battery_left:()=>yv,sensor_mixgocar_pin_near:()=>bv,sensor_mixgocar_pin_near_line:()=>Xv,sensor_mixgocar_pin_near_state_change:()=>Vv,sensor_mixgoce_pin_pressed:()=>ev,sensor_mixgoce_temperature:()=>fv,sensor_mixgome_temperature:()=>Dv,sensor_mpu9250_calibrate_compass:()=>av,sensor_mpu9250_field_strength:()=>rv,sensor_mpu9250_gesture:()=>$F,sensor_mpu9250_get_acceleration:()=>tv,sensor_mpu9250_get_gyro:()=>pv,sensor_mpu9250_get_magnetic:()=>_v,sensor_mpu9250_temperature:()=>uv,sensor_mpython_pin_pressed:()=>sv,sensor_mpython_qmi8658_get_gyro:()=>Pv,sensor_mpython_qmi8658_temperature:()=>Fv,sensor_onboard_compass_reset:()=>Ev,sensor_onboard_mpu9250_calibrate_compass:()=>Mv,sensor_onboard_mpu9250_field_strength:()=>Ov,sensor_onboard_mpu9250_gesture:()=>dv,sensor_onboard_mpu9250_get_acceleration:()=>Iv,sensor_onboard_mpu9250_get_gyro:()=>hv,sensor_onboard_mpu9250_get_magnetic:()=>Tv,sensor_onboard_mpu9250_temperature:()=>mv,sensor_pin_near:()=>zv,sensor_pin_pressed:()=>Qv,sensor_rm_acc:()=>xv,sensor_rm_battery_left:()=>Yv,sensor_rm_pin_near_double:()=>vv,sensor_sound:()=>kF});var at={};t.r(at),t.d(at,{serial_any:()=>nY,serial_print:()=>$v,serial_print_byte:()=>tY,serial_print_hex:()=>iY,serial_println:()=>eY,serial_read_from_ai:()=>TY,serial_readline:()=>oY,serial_readstr:()=>sY,serial_send_to_ai:()=>IY,serial_softserial:()=>_Y,serial_softserial_new:()=>pY,system_input:()=>aY,system_print:()=>uY,system_print_end:()=>lY,system_print_inline:()=>rY,system_print_many:()=>dY});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>LY,Timer_init:()=>UY,base_delay:()=>HY,controls_delay:()=>FY,controls_delay_new:()=>vY,controls_end_program:()=>DY,controls_millis:()=>NY,controls_uname:()=>PY,reset:()=>fY,system_bitbot_shutdown:()=>GY,system_device_name:()=>SY,system_device_serial_number:()=>AY,system_event_bus_source:()=>gY,system_event_bus_value:()=>CY,system_machine_reset:()=>BY,system_on_event:()=>EY,system_raise_event:()=>OY,system_reset:()=>MY,system_run_in_background:()=>hY,system_ticks_diff:()=>XY,system_timer:()=>xY,system_timer_init:()=>bY,system_timestamp:()=>RY,system_value:()=>cY,system_wait:()=>mY,system_wdt_feed:()=>yY,system_wdt_init:()=>VY,time_ticks_diff:()=>kY,timer:()=>YY,timer2:()=>wY});var rt={};t.r(rt),t.d(rt,{WEATHER_DAILY:()=>KY,WEATHER_HOUR:()=>JY,WEATHER_NOW:()=>WY});var lt={};t.r(lt),t.d(lt,{controls_pin_attachInterrupt:()=>mx,inout_analog_atten:()=>ox,inout_analog_read:()=>sx,inout_analog_read_init:()=>lx,inout_analog_write:()=>ex,inout_analog_write_init:()=>rx,inout_analog_write_set:()=>ix,inout_analog_write_set_freq:()=>Tx,inout_digital_init:()=>ax,inout_digital_read:()=>$Y,inout_digital_write:()=>ZY,inout_highlow:()=>jY,inout_pinMode:()=>Ix,inout_pin_attachInterrupt:()=>px,inout_pin_pressed:()=>_x,inout_pin_pressed_init:()=>dx,inout_pwm_analog_write:()=>tx,inout_pwm_analog_write_init:()=>ux,inout_pwm_analog_write_set_freq:()=>nx,pin_pressed:()=>Mx,pin_pressed_init:()=>hx});var dt={};t.r(dt),t.d(dt,{analog_input:()=>Lx,analog_output:()=>Dx,espnow_channel:()=>Cx,haskylens_model:()=>Sx,i2c_A_pin:()=>fx,i2c_B_pin:()=>Px,pins_analog:()=>Xx,pins_analog_pin:()=>bx,pins_axis:()=>$x,pins_brightness:()=>tX,pins_builtinimg:()=>Kx,pins_builtinimg_extern:()=>Jx,pins_button:()=>Bx,pins_buttonB:()=>Gx,pins_dac:()=>Vx,pins_dac_pin:()=>yx,pins_digital:()=>Ex,pins_digital_dot:()=>aX,pins_digital_pin:()=>Rx,pins_exlcdh:()=>jx,pins_exlcdv:()=>Zx,pins_imglist:()=>Qx,pins_input_pin:()=>cx,pins_one_more:()=>pX,pins_output_pin:()=>gx,pins_playlist:()=>zx,pins_playlist_extern:()=>qx,pins_pwm:()=>Ux,pins_pwm_pin:()=>wx,pins_radio_datarate:()=>_X,pins_radio_power:()=>oX,pins_serial:()=>Wx,pins_tone_notes:()=>sX,pins_touch:()=>Hx,pins_touch_pin:()=>kx,pins_tts_bgmusic:()=>nX,pins_tts_builtin_music:()=>iX,pins_tts_voice:()=>eX,pwm_input:()=>Ax,pwm_output:()=>Nx,spi_A_pin:()=>Fx,spi_B_pin:()=>vx,spi_C_pin:()=>Yx,spi_D_pin:()=>xx});var It={};t.r(It),t.d(It,{inout_analog_atten:()=>CX,inout_analog_read:()=>MX,inout_analog_read_init:()=>gX,inout_analog_write:()=>IX,inout_analog_write_init:()=>cX,inout_analog_write_set:()=>TX,inout_digital_init:()=>EX,inout_digital_read:()=>lX,inout_digital_write:()=>rX,inout_highlow:()=>uX,inout_pin_attachInterrupt:()=>OX,inout_pin_pressed:()=>mX,inout_pin_pressed_init:()=>SX,inout_pwm_analog_write:()=>dX,inout_pwm_analog_write_init:()=>RX,inout_pwm_analog_write_set_freq:()=>hX});var Tt={};t.r(Tt),t.d(Tt,{analog_input:()=>xX,analog_output:()=>bX,espnow_channel:()=>vX,haskylens_model:()=>YX,i2c_A_pin:()=>VX,i2c_B_pin:()=>yX,pins_analog:()=>HX,pins_analog_pin:()=>kX,pins_axis:()=>sb,pins_brightness:()=>pb,pins_builtinimg:()=>$X,pins_builtinimg_extern:()=>tb,pins_button:()=>LX,pins_buttonB:()=>NX,pins_dac:()=>QX,pins_dac_pin:()=>JX,pins_digital:()=>AX,pins_digital_dot:()=>hb,pins_digital_pin:()=>DX,pins_exlcdh:()=>ob,pins_exlcdv:()=>_b,pins_imglist:()=>eb,pins_input_pin:()=>fX,pins_interrupt:()=>jX,pins_one_more:()=>Tb,pins_output_pin:()=>PX,pins_playlist:()=>ib,pins_playlist_extern:()=>nb,pins_pwm:()=>KX,pins_pwm_input:()=>FX,pins_pwm_pin:()=>WX,pins_radio_datarate:()=>Ib,pins_radio_power:()=>db,pins_serial:()=>ZX,pins_tone_notes:()=>lb,pins_touch:()=>qX,pins_touch_pin:()=>zX,pins_tts_bgmusic:()=>rb,pins_tts_builtin_music:()=>ub,pins_tts_voice:()=>ab,pwm_output:()=>XX,spi_A_pin:()=>BX,spi_B_pin:()=>GX,spi_C_pin:()=>UX,spi_D_pin:()=>wX});const ht=Blockly,Mt=Mixly,mt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Ot=mt; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Lt,controls_typeLists:()=>Nt,variables_change:()=>St,variables_get:()=>gt,variables_global:()=>At,variables_set:()=>Ct});var i={};t.r(i),t.d(i,{base_setup:()=>Pt,controls_delay:()=>Ft,controls_end_program:()=>vt,controls_except:()=>Wt,controls_finally:()=>Kt,controls_flow_statements:()=>yt,controls_for:()=>Bt,controls_forEach:()=>Xt,controls_for_range:()=>Gt,controls_if:()=>Yt,controls_if_else:()=>kt,controls_if_elseif:()=>wt,controls_if_if:()=>Ut,controls_lambda:()=>Qt,controls_main:()=>ft,controls_pass:()=>zt,controls_range:()=>xt,controls_repeat_ext:()=>Jt,controls_thread:()=>qt,controls_try:()=>Ht,controls_try_finally:()=>Vt,controls_whileUntil:()=>bt,do_while:()=>jt,garbage_collection:()=>Zt,get_mem_alloc:()=>$t,get_mem_free:()=>te});var n={};t.r(n),t.d(n,{base_map:()=>ce,math_arithmetic:()=>oe,math_bit:()=>pe,math_constant:()=>ne,math_constant_mp:()=>se,math_constrain:()=>Te,math_dec:()=>ue,math_indexer_number:()=>Me,math_map:()=>he,math_max_min:()=>le,math_number:()=>ie,math_number_base_conversion:()=>de,math_random:()=>Ie,math_random_seed:()=>me,math_round:()=>Oe,math_selfcalcu:()=>_e,math_to_int:()=>re,math_trig:()=>ae,text_to_number:()=>Ee,text_to_number_skulpt:()=>Re});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Ne,char_to_ascii:()=>De,number_to_text:()=>fe,os_system:()=>ti,text:()=>Ce,text_capital:()=>ye,text_center:()=>Be,text_char:()=>Ae,text_char_at:()=>ve,text_char_at2:()=>Fe,text_char_at3:()=>qe,text_compareTo:()=>ze,text_compare_to:()=>Ve,text_create_with_container:()=>Ke,text_create_with_item:()=>Je,text_encode:()=>Ze,text_equals_starts_ends:()=>be,text_eval:()=>$e,text_find:()=>Ge,text_format:()=>We,text_format_noreturn:()=>je,text_join:()=>Le,text_join_seq:()=>Ue,text_length:()=>Pe,text_random_char:()=>Ye,text_replace:()=>we,text_split:()=>ke,text_strip:()=>He,text_substring:()=>Xe,text_substring2:()=>xe,text_substring3:()=>Qe,text_textarea:()=>Se});var o={};t.r(o),t.d(o,{list_many_input:()=>Ci,list_tolist:()=>Pi,list_tolist2:()=>yi,list_trig:()=>Ri,lists_2d_get_col_row_data:()=>oi,lists_2d_get_data_with_col_row:()=>si,lists_append_extend:()=>li,lists_change_to:()=>gi,lists_change_to_general:()=>Ai,lists_clear:()=>Mi,lists_create_with:()=>_i,lists_create_with2:()=>Fi,lists_create_with_container:()=>ai,lists_create_with_item:()=>ui,lists_create_with_noreturn:()=>Si,lists_create_with_text:()=>pi,lists_create_with_text2:()=>vi,lists_del_general:()=>Li,lists_find:()=>Ei,lists_getIndex3:()=>Yi,lists_getSublist3:()=>xi,lists_get_index:()=>ii,lists_get_random_item:()=>di,lists_get_random_sublist:()=>Ii,lists_get_sublist:()=>ni,lists_insert_value:()=>Ti,lists_insert_value2:()=>bi,lists_pop:()=>Oi,lists_remove_at:()=>mi,lists_remove_at2:()=>Vi,lists_reverse:()=>hi,lists_setIndex3:()=>Xi,lists_set_index:()=>ri,lists_sort:()=>ci,lists_zip:()=>Ni,lists_zip_container:()=>Di,lists_zip_item:()=>fi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>tn,dicts_add_or_change:()=>Ki,dicts_clear:()=>zi,dicts_create_with:()=>Gi,dicts_create_with_container:()=>Ui,dicts_create_with_item:()=>wi,dicts_create_with_noreturn:()=>sn,dicts_deldict:()=>$i,dicts_delete:()=>Ji,dicts_get:()=>Hi,dicts_get_default:()=>Wi,dicts_items:()=>qi,dicts_keys:()=>ki,dicts_length:()=>Zi,dicts_pop:()=>en,dicts_setdefault:()=>nn,dicts_to_json:()=>_n,dicts_todict:()=>on,dicts_update:()=>Qi,dicts_values:()=>ji,json_to_dicts:()=>pn});var p={};t.r(p),t.d(p,{logic_boolean:()=>In,logic_compare:()=>un,logic_compare_continous:()=>rn,logic_is:()=>mn,logic_is_in:()=>Mn,logic_negate:()=>dn,logic_null:()=>Tn,logic_operation:()=>ln,logic_tobool:()=>On,logic_true_or_false:()=>hn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Un,sdcard_use_spi_init:()=>Gn,storage_can_write_ornot:()=>Nn,storage_change_dir:()=>yn,storage_close_file:()=>fn,storage_delete_file:()=>Fn,storage_file_seek:()=>xn,storage_file_tell:()=>Yn,storage_file_write:()=>Cn,storage_fileopen:()=>Rn,storage_fileopen_new:()=>cn,storage_fileopen_new_encoding:()=>gn,storage_get_a_line:()=>Ln,storage_get_contents:()=>An,storage_get_contents_without_para:()=>Sn,storage_get_current_dir:()=>Xn,storage_get_file_size:()=>vn,storage_get_filename:()=>Dn,storage_is_file:()=>Bn,storage_list_all_files:()=>Pn,storage_make_dir:()=>bn,storage_open_file_with_os:()=>En,storage_rename:()=>Vn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Qn,procedures_callreturn:()=>zn,procedures_defnoreturn:()=>Hn,procedures_defreturn:()=>Wn,procedures_ifreturn:()=>qn,procedures_mutatorarg:()=>Jn,procedures_mutatorcontainer:()=>Kn,procedures_return:()=>jn});var r={};t.r(r),t.d(r,{tuple_change_to:()=>us,tuple_create_with:()=>$n,tuple_create_with_container:()=>ts,tuple_create_with_item:()=>es,tuple_create_with_noreturn:()=>Is,tuple_create_with_text2:()=>is,tuple_create_with_text_return:()=>ns,tuple_del:()=>_s,tuple_find:()=>rs,tuple_getIndex:()=>ss,tuple_getSublist:()=>ds,tuple_get_random_item:()=>hs,tuple_get_sublist:()=>Ts,tuple_join:()=>ps,tuple_length:()=>os,tuple_max:()=>as,tuple_totuple:()=>Ms,tuple_trig:()=>ls});var l={};t.r(l),t.d(l,{set_add_discard:()=>Ls,set_clear:()=>Cs,set_create_with:()=>Os,set_create_with_container:()=>Es,set_create_with_item:()=>Rs,set_create_with_text_return:()=>fs,set_length:()=>cs,set_operate:()=>Ss,set_operate_update:()=>As,set_pop:()=>gs,set_sub:()=>Ns,set_toset:()=>Ps,set_update:()=>Ds});var d={};t.r(d),t.d(d,{html_content:()=>Xs,html_content_more:()=>bs,html_document:()=>vs,html_form:()=>ys,html_head_body:()=>xs,html_style:()=>Vs,html_style_color:()=>Gs,html_style_content:()=>Bs,html_text:()=>Us,html_title:()=>Ys});var I={};t.r(I),t.d(I,{attribute_access:()=>eo,function_call:()=>Zs,function_call_container:()=>$s,function_call_item:()=>to,raw_block:()=>Hs,raw_empty:()=>Ks,raw_expression:()=>Ws,raw_table:()=>ks,text_comment:()=>Js,text_print_multiple:()=>zs,text_print_multiple_container:()=>qs,text_print_multiple_item:()=>js,type_check:()=>Qs});var T={};t.r(T),t.d(T,{controls_type:()=>_o,controls_typeLists:()=>po,variables_change:()=>so,variables_get:()=>io,variables_global:()=>oo,variables_set:()=>no});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Oo,base_setup:()=>uo,controls_delay:()=>mo,controls_flow_statements:()=>Mo,controls_for:()=>Io,controls_forEach:()=>Co,controls_for_range:()=>To,controls_if:()=>ro,controls_interrupts:()=>co,controls_lambda:()=>Ao,controls_main:()=>ao,controls_millis:()=>Eo,controls_nointerrupts:()=>go,controls_pass:()=>No,controls_range:()=>So,controls_repeat:()=>xo,controls_repeat_ext:()=>Po,controls_thread:()=>Do,controls_try_finally:()=>lo,controls_whileUntil:()=>ho,do_while:()=>fo,garbage_collection:()=>Fo,get_mem_alloc:()=>vo,get_mem_free:()=>Yo,reset:()=>Ro,time_sleep:()=>Lo});var M={};t.r(M),t.d(M,{base_map:()=>e_,math_arithmetic:()=>Bo,math_bit:()=>yo,math_constant:()=>bo,math_constant_mp:()=>Vo,math_constrain:()=>Qo,math_dec:()=>ko,math_indexer_number:()=>jo,math_map:()=>Jo,math_max_min:()=>Wo,math_number:()=>Xo,math_number_base_conversion:()=>zo,math_random:()=>Ko,math_random_seed:()=>qo,math_round:()=>Zo,math_selfcalcu:()=>Go,math_single:()=>Uo,math_to_int:()=>Ho,math_trig:()=>wo,text_to_number:()=>$o,text_to_number_skulpt:()=>t_});var m={};t.r(m),t.d(m,{ascii_to_char:()=>__,char_to_ascii:()=>p_,number_to_text:()=>a_,os_system:()=>F_,text:()=>i_,text_capital:()=>m_,text_center:()=>O_,text_char:()=>s_,text_char_at:()=>l_,text_char_at2:()=>r_,text_char_at3:()=>D_,text_compareTo:()=>N_,text_compare_to:()=>T_,text_encode:()=>f_,text_equals_starts_ends:()=>I_,text_eval:()=>P_,text_find:()=>E_,text_format:()=>S_,text_format_noreturn:()=>A_,text_join:()=>o_,text_join_seq:()=>R_,text_length:()=>u_,text_random_char:()=>d_,text_replace:()=>c_,text_split:()=>g_,text_strip:()=>C_,text_substring:()=>M_,text_substring2:()=>h_,text_substring3:()=>L_,text_textarea:()=>n_});var O={};t.r(O),t.d(O,{list_many_input:()=>j_,list_tolist:()=>up,list_tolist2:()=>rp,list_trig:()=>Q_,lists_2d_get_col_row_data:()=>x_,lists_2d_get_data_with_col_row:()=>Y_,lists_append_extend:()=>B_,lists_change_to:()=>q_,lists_change_to_general:()=>$_,lists_clear:()=>H_,lists_create_with:()=>X_,lists_create_with2:()=>ep,lists_create_with_noreturn:()=>Z_,lists_create_with_text:()=>b_,lists_create_with_text2:()=>ip,lists_del_general:()=>tp,lists_find:()=>W_,lists_getIndex3:()=>np,lists_getSublist3:()=>sp,lists_get_index:()=>V_,lists_get_random_item:()=>G_,lists_get_random_sublist:()=>U_,lists_get_sublist:()=>v_,lists_insert_value:()=>w_,lists_insert_value2:()=>_p,lists_pop:()=>J_,lists_remove_at:()=>K_,lists_remove_at2:()=>pp,lists_reverse:()=>k_,lists_setIndex3:()=>op,lists_set_index:()=>y_,lists_sort:()=>z_,lists_zip:()=>ap});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>Cp,dicts_add_or_change:()=>hp,dicts_clear:()=>Op,dicts_create_with:()=>lp,dicts_create_with_noreturn:()=>Lp,dicts_deldict:()=>gp,dicts_delete:()=>Mp,dicts_get:()=>Ip,dicts_get_default:()=>Tp,dicts_items:()=>Ep,dicts_keys:()=>dp,dicts_length:()=>cp,dicts_pop:()=>Sp,dicts_setdefault:()=>Ap,dicts_to_json:()=>Dp,dicts_todict:()=>Np,dicts_update:()=>mp,dicts_values:()=>Rp,json_to_dicts:()=>fp});var R={};t.r(R),t.d(R,{logic_boolean:()=>xp,logic_compare:()=>Pp,logic_compare_continous:()=>Fp,logic_is:()=>yp,logic_is_in:()=>Vp,logic_negate:()=>Yp,logic_null:()=>Xp,logic_operation:()=>vp,logic_tobool:()=>Bp,logic_true_or_false:()=>bp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>aa,sdcard_use_spi_init:()=>pa,storage_can_write_ornot:()=>Qp,storage_change_dir:()=>ia,storage_close_file:()=>qp,storage_delete_file:()=>Zp,storage_file_seek:()=>ea,storage_file_tell:()=>ta,storage_file_write:()=>Hp,storage_fileopen:()=>Up,storage_fileopen_new:()=>wp,storage_fileopen_new_encoding:()=>kp,storage_get_a_line:()=>Jp,storage_get_contents:()=>Kp,storage_get_contents_without_para:()=>Wp,storage_get_current_dir:()=>na,storage_get_file_size:()=>$p,storage_get_filename:()=>zp,storage_is_file:()=>_a,storage_list_all_files:()=>jp,storage_make_dir:()=>sa,storage_open_file_with_os:()=>Gp,storage_rename:()=>oa});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>da,procedures_callreturn:()=>la,procedures_defnoreturn:()=>ra,procedures_defreturn:()=>ua,procedures_ifreturn:()=>Ia,procedures_return:()=>Ta});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ca,tuple_create_with:()=>ha,tuple_create_with_noreturn:()=>Na,tuple_create_with_text2:()=>Ma,tuple_create_with_text_return:()=>ma,tuple_del:()=>Ra,tuple_find:()=>Sa,tuple_getIndex:()=>Oa,tuple_getSublist:()=>La,tuple_get_random_item:()=>fa,tuple_get_sublist:()=>Da,tuple_join:()=>ca,tuple_length:()=>Ea,tuple_max:()=>ga,tuple_totuple:()=>Pa,tuple_trig:()=>Aa});var S={};t.r(S),t.d(S,{set_add_discard:()=>Va,set_clear:()=>xa,set_create_with:()=>Fa,set_create_with_text_return:()=>Ga,set_length:()=>va,set_operate:()=>Xa,set_operate_update:()=>ba,set_pop:()=>Ya,set_sub:()=>ya,set_toset:()=>Ua,set_update:()=>Ba});var A={};t.r(A),t.d(A,{html_content:()=>Wa,html_content_more:()=>Ka,html_document:()=>wa,html_form:()=>Qa,html_head_body:()=>Ha,html_style:()=>Ja,html_style_content:()=>za,html_text:()=>qa,html_title:()=>ka});var L={};t.r(L),t.d(L,{attribute_access:()=>nu,function_call:()=>iu,raw_block:()=>ja,raw_empty:()=>$a,raw_expression:()=>Za,raw_table:()=>tu,type_check:()=>eu});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>hu,actuator_extern_get_led_state:()=>Mu,actuator_extern_led_bright:()=>Tu,actuator_extern_led_brightness:()=>mu,actuator_ms32006_dcmotor:()=>Lu,actuator_ms32006_init:()=>Au,actuator_ms32006_stepper:()=>Nu,actuator_neopixel_init:()=>Du,actuator_neopixel_rgb:()=>fu,actuator_neopixel_rgb_all:()=>Pu,actuator_neopixel_write:()=>Fu,actuator_use_uart_init:()=>vu,esp32_music_get_tempo_extern:()=>lu,esp32_music_pitch:()=>pu,esp32_music_pitch_init:()=>_u,esp32_music_pitch_with_time:()=>au,esp32_music_play_list:()=>uu,esp32_music_reset_extern:()=>du,esp32_music_set_tempo_extern:()=>ru,esp32_music_stop:()=>Iu,mixbot_actuator_extern_get_addr:()=>qu,mixbot_actuator_extern_set_addr:()=>ju,mixbot_addr_extern:()=>Vu,robot_led_extern:()=>Uu,robot_led_extern_get_value:()=>wu,robot_motor_extern:()=>yu,robot_motor_extern_get_speed:()=>Bu,robot_servo_extern_absolute_run:()=>Ku,robot_servo_extern_get_status:()=>ku,robot_servo_extern_relative_continue:()=>zu,robot_servo_extern_relative_origin:()=>Ju,robot_servo_extern_relative_run:()=>Qu,robot_servo_extern_stop:()=>Wu,robot_servo_extern_stop_mode:()=>Hu,robot_traffic_light_extern:()=>Gu,servo_get_angle:()=>Cu,servo_get_speed:()=>Su,servo_init:()=>Ou,servo_move:()=>Eu,servo_set_angle:()=>cu,servo_set_speed:()=>gu,servo_speed_360:()=>Ru,syn6288_builtin_voice:()=>Xu,syn6288_get_voice:()=>xu,syn6288_set_voice:()=>Yu,syn6288_tts_play:()=>bu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>fr,actuator_dc_motor_stop:()=>Pr,actuator_get_led_bright:()=>ir,actuator_get_led_state:()=>nr,actuator_led_bright:()=>er,actuator_led_brightness:()=>sr,actuator_mixbot_buzzer_on_off:()=>Xr,actuator_mixgo_nova_mic_get:()=>Gr,actuator_mixgo_nova_mic_set:()=>Br,actuator_mixgo_nova_onboard_music_pitch:()=>Kr,actuator_mixgo_nova_onboard_music_stop:()=>Jr,actuator_mixgo_nova_play_audio:()=>Hr,actuator_mixgo_nova_play_online_audio:()=>Wr,actuator_mixgo_nova_record_audio:()=>kr,actuator_mixgo_nova_voice_get:()=>wr,actuator_mixgo_nova_voice_set:()=>Ur,actuator_mixgo_zero_led_color:()=>or,actuator_onboard_neopixel_rgb:()=>lr,actuator_onboard_neopixel_rgb_all:()=>dr,actuator_onboard_neopixel_rgb_show_all_chase:()=>Tr,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Ir,actuator_onboard_neopixel_write:()=>hr,actuator_rm_onboard_neopixel_rgb:()=>Mr,actuator_rm_onboard_neopixel_rgb_all:()=>mr,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>Or,actuator_stepper_keep:()=>Nr,actuator_stepper_stop:()=>Dr,bitbot_motor:()=>yr,bitbot_move:()=>br,bitbot_stop:()=>Vr,cc_number:()=>rr,esp32_music_get_tempo:()=>Rr,esp32_music_reset:()=>cr,esp32_music_set_tempo:()=>Er,esp32_onboard_music_pitch:()=>gr,esp32_onboard_music_pitch_with_time:()=>Cr,esp32_onboard_music_play_list:()=>Ar,esp32_onboard_music_stop:()=>Sr,get_power_output:()=>zr,ledswitch:()=>tr,mixbot_motor:()=>xr,mixbot_motor_status:()=>Fr,mixbot_move:()=>vr,mixbot_stop:()=>Yr,number:()=>$u,rm_actuator_get_led_bright:()=>pr,rm_actuator_get_led_state:()=>ar,rm_actuator_led_bright:()=>_r,rm_actuator_led_brightness:()=>ur,rm_motor:()=>Lr,set_all_power_output:()=>qr,set_power_output:()=>Qr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Pl,ai_sensor_ailocal_class:()=>El,ai_sensor_ailocal_class_result:()=>Rl,ai_sensor_ailocal_train:()=>Ol,ai_sensor_asr_recognize:()=>Al,ai_sensor_audio_play:()=>gl,ai_sensor_audio_record:()=>cl,ai_sensor_barcode:()=>sl,ai_sensor_circle:()=>rl,ai_sensor_classifier_faces:()=>fl,ai_sensor_color:()=>Tl,ai_sensor_color_chases:()=>ml,ai_sensor_color_chases_result:()=>Ml,ai_sensor_config:()=>il,ai_sensor_face:()=>Dl,ai_sensor_find_20objects:()=>Fl,ai_sensor_find_barcodes:()=>ol,ai_sensor_find_circles:()=>ll,ai_sensor_find_colors:()=>hl,ai_sensor_find_licenseplates:()=>Nl,ai_sensor_find_lines:()=>ul,ai_sensor_find_qrcodes:()=>el,ai_sensor_find_rects:()=>Il,ai_sensor_find_tags:()=>pl,ai_sensor_licenseplate:()=>Ll,ai_sensor_line:()=>al,ai_sensor_qrcode:()=>$r,ai_sensor_qrcode_lite:()=>tl,ai_sensor_rect:()=>dl,ai_sensor_rgb:()=>nl,ai_sensor_tag:()=>_l,ai_sensor_use_uart_init:()=>Zr,ai_sensor_yolo_recognize:()=>Cl,ai_sensor_yolo_recognize_result:()=>Sl});var P={};t.r(P),t.d(P,{MICROPYTHON_AI_Speech_asr:()=>xl,MICROPYTHON_AI_Speech_unit:()=>Yl,MICROPYTHON_AI_client:()=>vl});var F={};t.r(F),t.d(F,{mpython_blynk_app_data:()=>zl,mpython_blynk_app_notify:()=>wl,mpython_blynk_email:()=>Wl,mpython_blynk_get_timers:()=>Kl,mpython_blynk_on_connected:()=>Bl,mpython_blynk_on_disconnected:()=>yl,mpython_blynk_run:()=>Ul,mpython_blynk_sensor_data_to_app:()=>Ql,mpython_blynk_set_property:()=>Hl,mpython_blynk_setup:()=>ql,mpython_blynk_stop_timers:()=>kl,mpython_blynk_sync_virtual:()=>Vl,mpython_blynk_terminal_widget_vpin:()=>bl,mpython_blynktimer:()=>Jl,mpython_blynktimer_run:()=>Gl});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>vd,communicate_bluetooth_connect:()=>bd,communicate_bluetooth_disconnect:()=>Vd,communicate_bluetooth_handle:()=>wd,communicate_bluetooth_is_connected:()=>Bd,communicate_bluetooth_mac:()=>Xd,communicate_bluetooth_peripheral_init:()=>Yd,communicate_bluetooth_recv:()=>Gd,communicate_bluetooth_recv_only:()=>Ud,communicate_bluetooth_scan:()=>xd,communicate_bluetooth_send:()=>yd,communicate_espnow_init:()=>kd,communicate_espnow_init_new:()=>Hd,communicate_i2c_available:()=>Td,communicate_i2c_init:()=>td,communicate_i2c_master_read:()=>Id,communicate_i2c_onboard:()=>Zl,communicate_i2c_read:()=>ed,communicate_i2c_scan:()=>nd,communicate_i2c_write:()=>id,communicate_ir_recv_init:()=>gd,communicate_ir_send_init:()=>Nd,communicate_ow_init:()=>Md,communicate_ow_read:()=>Od,communicate_ow_reset:()=>cd,communicate_ow_scan:()=>md,communicate_ow_select:()=>Rd,communicate_ow_write:()=>Ed,communicate_spi_buffer:()=>_d,communicate_spi_init:()=>sd,communicate_spi_onboard:()=>$l,communicate_spi_read:()=>pd,communicate_spi_read_output:()=>ad,communicate_spi_readinto:()=>ud,communicate_spi_readinto_output:()=>rd,communicate_spi_set:()=>od,communicate_spi_write:()=>ld,communicate_spi_write_readinto:()=>dd,espnow_radio_channel:()=>qd,espnow_radio_channel_new:()=>Zd,espnow_radio_on_off:()=>$d,espnow_radio_rec:()=>eI,espnow_radio_recv:()=>nI,espnow_radio_recv_certain_msg:()=>sI,espnow_radio_recv_certain_msg_new:()=>_I,espnow_radio_recv_msg:()=>iI,espnow_radio_recv_new:()=>oI,espnow_radio_send:()=>tI,espnow_radio_txpower:()=>jd,i2c_available:()=>DI,i2c_init:()=>TI,i2c_master_reader2:()=>NI,i2c_read:()=>hI,i2c_scan:()=>mI,i2c_slave_onreceive:()=>hd,i2c_write:()=>MI,internal_variable:()=>Cd,ir_recv_timeout:()=>Ld,ir_transmit_busy:()=>Fd,ir_transmit_conventional_data:()=>Dd,ir_transmit_raw_code:()=>Pd,ir_transmit_study_code:()=>fd,ir_whether_recv:()=>Ad,lora_init:()=>pI,lora_packet:()=>aI,lora_recv:()=>rI,lora_send:()=>uI,network_espnow_info:()=>Kd,network_espnow_mac:()=>Wd,network_espnow_recv:()=>Jd,network_espnow_recv_handle:()=>zd,network_espnow_send:()=>Qd,recv_fun:()=>Sd,spi_buffer:()=>RI,spi_init:()=>OI,spi_read:()=>cI,spi_read_output:()=>gI,spi_readinto:()=>CI,spi_readinto_output:()=>SI,spi_set:()=>EI,spi_write:()=>AI,spi_write_readinto:()=>LI,urequests_attribute:()=>dI,urequests_get:()=>lI,urequests_method:()=>II});var Y={};t.r(Y),t.d(Y,{display_animate:()=>sT,display_blink_rate:()=>tT,display_circle:()=>oT,display_color_seclet:()=>mT,display_draw_4strings:()=>QI,display_fill:()=>nT,display_get_screen_image:()=>$I,display_help:()=>pT,display_image_size:()=>zI,display_lcd_use_i2c_init:()=>CT,display_line:()=>jI,display_line_arbitrarily:()=>ZI,display_matrix_extern_bright_point:()=>GI,display_matrix_extern_bright_screen:()=>wI,display_matrix_extern_clear:()=>kI,display_matrix_extern_get_pixel:()=>BI,display_matrix_extern_get_screen_pixel:()=>UI,display_matrix_extern_image_builtins:()=>HI,display_matrix_extern_scroll_string:()=>xI,display_matrix_extern_scroll_string_delay:()=>XI,display_matrix_extern_shift:()=>yI,display_matrix_extern_show_frame_string:()=>bI,display_matrix_extern_show_frame_string_delay:()=>VI,display_matrix_extern_show_image:()=>vI,display_matrix_extern_show_image_or_string_delay:()=>YI,display_matrix_use_i2c_init:()=>FI,display_oled_drawPixel:()=>uT,display_oled_showBitmap:()=>aT,display_oled_use_i2c_init:()=>DT,display_onoff:()=>iT,display_rect:()=>qI,display_rgb_color:()=>eT,display_tm1650_power:()=>lT,display_tm1650_set_brightness:()=>TT,display_tm1650_show_dot:()=>IT,display_tm1650_show_num:()=>dT,display_tm_use_i2c_init:()=>rT,display_triangle:()=>_T,display_use_i2c_init:()=>JI,extern_oled_bright_point:()=>BT,extern_oled_clear:()=>GT,extern_oled_get_pixel:()=>yT,extern_oled_hvline:()=>wT,extern_oled_line:()=>kT,extern_oled_scroll_string:()=>YT,extern_oled_scroll_string_delay:()=>xT,extern_oled_shape_rect:()=>UT,extern_oled_shift:()=>VT,extern_oled_show_frame_string:()=>XT,extern_oled_show_frame_string_delay:()=>bT,extern_oled_show_image:()=>fT,extern_oled_show_image_or_string_delay:()=>vT,extern_oled_show_image_xy:()=>PT,extern_oled_show_string:()=>FT,lcd_backlight:()=>LT,lcd_clear:()=>NT,lcd_print_string:()=>AT,lcd_show_image_or_string_delay:()=>ST,matrix_extern_image_arithmetic:()=>WI,matrix_extern_image_invert:()=>KI,tft_fill:()=>cT,tft_line_arbitrarily:()=>gT,tft_scroll_string_delay:()=>ET,tft_show_frame_string_delay:()=>RT,tft_show_image_or_string_delay:()=>OT,tft_show_image_xy:()=>MT,tft_use_spi_init:()=>hT});var x={};t.r(x),t.d(x,{bitbot_display_image_create:()=>Dh,display_bright_point:()=>sh,display_bright_screen:()=>_h,display_clear:()=>ph,display_get_pixel:()=>nh,display_get_screen_pixel:()=>oh,display_image_builtins:()=>ZT,display_image_builtins_all:()=>$T,display_image_create:()=>jT,display_scroll_string:()=>JT,display_scroll_string_delay:()=>QT,display_shift:()=>ih,display_show_frame_string:()=>zT,display_show_frame_string_delay:()=>qT,display_show_image:()=>WT,display_show_image_or_string_delay:()=>KT,image_arithmetic:()=>th,image_invert:()=>eh,mixbot_display_bright_screen:()=>Lh,mixbot_display_get_ambientbright:()=>Ah,mixbot_display_get_screen_pixel:()=>Sh,mixbot_display_image_create:()=>Ch,mixbot_display_rotate:()=>Nh,mixgo_display_image_create_new:()=>rh,mixgome_display_font:()=>lh,mixgome_display_image_create:()=>ah,mixgomini_display_image_create:()=>uh,mpython_display_hvline:()=>Rh,mpython_display_line:()=>ch,mpython_display_shape_rect:()=>Eh,mpython_pbm_image:()=>gh,onboard_oled_bright_point:()=>Oh,onboard_oled_scroll_string_delay:()=>Mh,onboard_oled_show_frame_string_delay:()=>mh,onboard_oled_show_image:()=>dh,onboard_oled_show_image_or_string_delay:()=>hh,onboard_oled_show_image_xy:()=>Ih,onboard_oled_show_string:()=>Th,onboard_tft_bright_point:()=>Uh,onboard_tft_bright_screen:()=>Hh,onboard_tft_clear:()=>wh,onboard_tft_clock_clear:()=>qh,onboard_tft_clock_draw:()=>zh,onboard_tft_clock_get_rtctime:()=>Jh,onboard_tft_clock_init:()=>Kh,onboard_tft_clock_set_time:()=>Qh,onboard_tft_display_hvline:()=>Vh,onboard_tft_display_line:()=>yh,onboard_tft_display_shape_circle:()=>jh,onboard_tft_display_shape_rect:()=>bh,onboard_tft_fill:()=>Wh,onboard_tft_get_pixel:()=>Gh,onboard_tft_get_screen_pixel:()=>kh,onboard_tft_scroll_string:()=>vh,onboard_tft_scroll_string_delay:()=>Yh,onboard_tft_shift:()=>Bh,onboard_tft_show_frame_string:()=>xh,onboard_tft_show_frame_string_delay:()=>Xh,onboard_tft_show_image:()=>fh,onboard_tft_show_image_or_string_delay:()=>Fh,onboard_tft_show_image_xy:()=>Ph});var X={};t.r(X),t.d(X,{factory_block:()=>aM,factory_block_return:()=>uM,factory_block_return_with_textarea:()=>lM,factory_block_with_textarea:()=>rM,factory_callMethod_noreturn:()=>_M,factory_callMethod_return:()=>pM,factory_create_with_container:()=>iM,factory_create_with_item:()=>nM,factory_declare:()=>oM,factory_from_import:()=>$h,factory_function_noreturn:()=>eM,factory_function_return:()=>sM,factory_import:()=>tM,folding_block:()=>dM});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>xM,inout_analog_atten:()=>gM,inout_analog_read:()=>cM,inout_analog_read_init:()=>DM,inout_analog_write:()=>OM,inout_analog_write_init:()=>NM,inout_analog_write_set:()=>EM,inout_analog_write_set_freq:()=>FM,inout_digital_init:()=>AM,inout_digital_read:()=>MM,inout_digital_write:()=>hM,inout_highlow:()=>TM,inout_pinMode:()=>PM,inout_pin_attachInterrupt:()=>SM,inout_pin_pressed:()=>CM,inout_pin_pressed_init:()=>fM,inout_pwm_analog_write:()=>mM,inout_pwm_analog_write_init:()=>LM,inout_pwm_analog_write_set_freq:()=>RM,pin_pressed:()=>YM,pin_pressed_init:()=>vM});var V={};t.r(V),t.d(V,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>sm,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>nm,IOT_EMQX_PING:()=>em,IOT_FORMATTING:()=>$M,IOT_FORMAT_STRING:()=>tm,IOT_MIXIO_NTP:()=>im,IOT_MIXIO_PUBLISH:()=>KM,IOT_MIXIO_SUBSCRIBE:()=>JM,iot_checkonenet:()=>Tm,iot_client_onboard:()=>_m,iot_create_with_item:()=>HM,iot_http_client:()=>pm,iot_http_data:()=>am,iot_mixio_check:()=>qM,iot_mixio_connect:()=>WM,iot_mixio_connect_only:()=>zM,iot_mixio_disconnect:()=>QM,iot_mixio_format_msg:()=>ZM,iot_mixio_format_topic:()=>jM,iot_mixly_key:()=>om,iot_mqtt_client:()=>um,iot_mqtt_data:()=>rm,iot_onenet_check:()=>BM,iot_onenet_connect:()=>VM,iot_onenet_disconnect:()=>yM,iot_onenet_publish:()=>UM,iot_onenet_publish_dict:()=>GM,iot_onenetconnect:()=>dm,iot_onenetdisconnect:()=>Im,iot_publish:()=>hm,iot_publish_container:()=>wM,iot_publish_item:()=>kM,iot_wifi_connect:()=>bM,iot_wificonnect:()=>lm});var y={};t.r(y),t.d(y,{network_ap_connect:()=>Lm,network_connect:()=>cm,network_get_connect:()=>Cm,network_get_wifi:()=>Am,network_init:()=>mm,network_is_active:()=>Em,network_open:()=>Om,network_scan:()=>Rm,network_server:()=>Nm,network_socket_accept:()=>vm,network_socket_bind:()=>fm,network_socket_close:()=>Vm,network_socket_connect:()=>Pm,network_socket_init:()=>Dm,network_socket_listen:()=>Fm,network_socket_receive:()=>Ym,network_socket_receive_from:()=>Xm,network_socket_send:()=>xm,network_socket_send_to:()=>bm,network_stop:()=>Sm,network_wifi_connect:()=>gm,ntptime_address:()=>wm,ntptime_time:()=>Um,requests_attribute:()=>Bm,requests_get:()=>ym,requests_method:()=>Gm});var B={};t.r(B),t.d(B,{get_potential_num:()=>Hm,nova_g1_motor:()=>Wm,nova_g1_spk_en:()=>Jm,nova_g1_usb:()=>Km});var G={};t.r(G),t.d(G,{pe_g1_battery_left:()=>qm,pe_g1_dc_motor:()=>jm,pe_g1_dc_motor_speed:()=>Zm,pe_g1_servo_get_angle:()=>eO,pe_g1_servo_get_speed:()=>iO,pe_g1_servo_set_angle:()=>$m,pe_g1_servo_set_speed:()=>tO,pe_g1_use_i2c_init:()=>zm});var U={};t.r(U),t.d(U,{HCSR04:()=>nE,PS2_Button:()=>pE,PS2_Buttons:()=>uE,PS2_Buttons_new:()=>IE,PS2_State:()=>aE,PS2_init:()=>sE,PS2_init_new:()=>lE,PS2_stk:()=>rE,PS2_stk_new:()=>TE,PS2_vibration:()=>_E,PS2_vibration_new:()=>dE,esp32_s2_weather_init:()=>$O,esp32_s2_weather_rain:()=>eE,esp32_s2_weather_wd:()=>tE,esp32_s2_weather_ws:()=>iE,extern_rfid_read:()=>BO,extern_rfid_readcontent:()=>UO,extern_rfid_readid:()=>GO,extern_rfid_status:()=>HO,extern_rfid_write:()=>wO,extern_rfid_write_return:()=>kO,gnss_get_data:()=>OE,gnss_have_data:()=>mE,mixbot_sensor_extern_get_addr:()=>AE,mixbot_sensor_extern_set_addr:()=>LE,pm25_get_data:()=>ME,robot_button_extern_get_value:()=>EE,robot_color_extern_get_value:()=>SE,robot_infrared_extern_get_value:()=>cE,robot_infrared_extern_grey_get_value:()=>gE,robot_potentiometer_extern_get_value:()=>CE,robot_sonar_extern_get_value:()=>NE,robot_sonar_extern_led:()=>DE,robot_touch_extern_get_value:()=>RE,sensor_APDS9960_extern:()=>cO,sensor_LTR308_extern:()=>gO,sensor_LTR390UV_extern:()=>SO,sensor_MAX30102_extern:()=>RO,sensor_QMC5883L_extern:()=>fO,sensor_VL530LX_extern:()=>AO,sensor_adxl345_get_acceleration:()=>uO,sensor_aht11_extern:()=>NO,sensor_bmp:()=>hO,sensor_compass_reset:()=>VO,sensor_dht11:()=>lO,sensor_ds18x20:()=>mO,sensor_hp203_extern:()=>DO,sensor_light_level:()=>rO,sensor_lm35:()=>OO,sensor_ltr381_extern:()=>CO,sensor_mixgo_extern_button_attachInterrupt:()=>pO,sensor_mixgo_extern_button_get_presses:()=>_O,sensor_mixgo_extern_button_is_pressed:()=>sO,sensor_mixgo_extern_button_was_pressed:()=>oO,sensor_mixgo_extern_light:()=>dO,sensor_mixgo_extern_pin_near:()=>TO,sensor_mixgo_extern_sound:()=>IO,sensor_mixgoce_hot_wheel_degrees:()=>ZO,sensor_mixgoce_hot_wheel_is_touched:()=>jO,sensor_mpu9250_attachGestureInterrupt:()=>aO,sensor_mpu9250_calibrate_compass:()=>xO,sensor_mpu9250_field_strength:()=>bO,sensor_mpu9250_gesture:()=>PO,sensor_mpu9250_get_acceleration:()=>FO,sensor_mpu9250_get_gyro:()=>YO,sensor_mpu9250_get_magnetic:()=>vO,sensor_mpu9250_temperature:()=>XO,sensor_sht:()=>MO,sensor_shtc3_extern:()=>LO,sensor_use_i2c_init:()=>EO,sensor_use_spi_init:()=>yO,sensor_use_uart_init:()=>hE,sensor_weather_solo_init:()=>fE,sensor_weather_solo_rain:()=>vE,sensor_weather_solo_wd:()=>PE,sensor_weather_solo_ws:()=>FE,weather_data:()=>WO,weather_have_data:()=>KO,weather_set_label:()=>QO,weather_set_label_container:()=>zO,weather_set_label_item:()=>qO,weather_uart_mixio:()=>JO});var w={};t.r(w),t.d(w,{HCSR04:()=>zE,RTC_set_date:()=>QE,RTC_set_time:()=>JE,bitbot_als_num:()=>tc,dht11:()=>pc,number1:()=>jE,number2:()=>ZE,number3:()=>$E,number4:()=>tR,number5:()=>eR,number6:()=>iR,number7:()=>nR,onboard_RTC_get_time:()=>rR,onboard_RTC_get_timestamp:()=>lR,onboard_RTC_set_datetime:()=>TR,onboard_RTC_settime_string:()=>IR,onboard_RTC_timestamp_totuple:()=>dR,rfid_readcontent:()=>gR,rfid_readid:()=>cR,rfid_write:()=>CR,rfid_write_return:()=>SR,sensor_LTR308:()=>MR,sensor_aht11:()=>OR,sensor_bitbot_ALS:()=>$R,sensor_button_get_presses:()=>nc,sensor_button_is_pressed:()=>ec,sensor_button_was_pressed:()=>ic,sensor_distance_hrsc04:()=>KE,sensor_eulerangles:()=>LR,sensor_field_strength:()=>ac,sensor_get_acceleration:()=>AR,sensor_get_temperature:()=>ER,sensor_hp203:()=>RR,sensor_light:()=>_c,sensor_mixbot_get_gyro:()=>ZR,sensor_mixbot_patrol_calibrate:()=>zR,sensor_mixbot_patrol_value:()=>qR,sensor_mixbot_temperature:()=>jR,sensor_mixgo_LTR308:()=>uR,sensor_mixgo_button_attachInterrupt:()=>VE,sensor_mixgo_button_get_presses:()=>bE,sensor_mixgo_button_is_pressed:()=>xE,sensor_mixgo_button_was_pressed:()=>XE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>VR,sensor_mixgo_cc_mmc5603_get_angle:()=>bR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>XR,sensor_mixgo_light:()=>qE,sensor_mixgo_nova_LTR308:()=>aR,sensor_mixgo_nova_pin_near:()=>pR,sensor_mixgo_pin_near:()=>_R,sensor_mixgo_pin_near_double:()=>oR,sensor_mixgo_pin_near_single:()=>sR,sensor_mixgo_pin_pressed:()=>wE,sensor_mixgo_touch_slide:()=>WE,sensor_mixgocar42_button_attachInterrupt:()=>UE,sensor_mixgocar42_button_get_presses:()=>GE,sensor_mixgocar42_button_is_pressed:()=>yE,sensor_mixgocar42_button_was_pressed:()=>BE,sensor_mixgocar_battery_left:()=>QR,sensor_mixgocar_pin_near:()=>KR,sensor_mixgocar_pin_near_line:()=>WR,sensor_mixgocar_pin_near_state_change:()=>JR,sensor_mixgoce_pin_pressed:()=>kE,sensor_mixgoce_temperature:()=>BR,sensor_mixgome_temperature:()=>yR,sensor_mpython_pin_pressed:()=>HE,sensor_mpython_qmi8658_get_gyro:()=>GR,sensor_mpython_qmi8658_temperature:()=>UR,sensor_onboard_compass_reset:()=>xR,sensor_onboard_mpu9250_calibrate_compass:()=>FR,sensor_onboard_mpu9250_field_strength:()=>YR,sensor_onboard_mpu9250_gesture:()=>NR,sensor_onboard_mpu9250_get_acceleration:()=>DR,sensor_onboard_mpu9250_get_gyro:()=>PR,sensor_onboard_mpu9250_get_magnetic:()=>fR,sensor_onboard_mpu9250_temperature:()=>vR,sensor_pin_near:()=>oc,sensor_pin_pressed:()=>sc,sensor_rm_acc:()=>HR,sensor_rm_battery_left:()=>kR,sensor_rm_pin_near_double:()=>wR,sensor_rtc_init:()=>hR,sensor_sound:()=>mR,sensor_temperature:()=>uc});var k={};t.r(k),t.d(k,{serial_any:()=>mc,serial_begin:()=>gc,serial_print:()=>dc,serial_print_byte:()=>lc,serial_print_hex:()=>Tc,serial_println:()=>Ic,serial_read_from_ai:()=>Fc,serial_readline:()=>Oc,serial_readstr:()=>Mc,serial_readstr_until:()=>Ec,serial_receive_data_event:()=>hc,serial_send_to_ai:()=>Pc,serial_softserial:()=>cc,serial_softserial_new:()=>Rc,system_input:()=>Cc,system_print:()=>Sc,system_print_container:()=>Dc,system_print_end:()=>Lc,system_print_inline:()=>Ac,system_print_item:()=>fc,system_print_many:()=>Nc});var H={};t.r(H),t.d(H,{Panic_with_status_code:()=>Xc,Timer_init:()=>Qc,base_delay:()=>jc,controls_delay:()=>xc,controls_delay_new:()=>Yc,controls_millis:()=>Vc,controls_uname:()=>Bc,raw_block:()=>yc,reset:()=>bc,system_bitbot_shutdown:()=>Jc,system_machine_reset:()=>Kc,system_ticks_diff:()=>wc,system_timer:()=>Uc,system_timer_init:()=>kc,system_wdt_feed:()=>Wc,system_wdt_init:()=>Hc,time_ticks_diff:()=>qc,timer:()=>Gc,timer2:()=>zc});var W={};t.r(W),t.d(W,{WEATHER_DAILY:()=>tg,WEATHER_HOUR:()=>eg,WEATHER_NOW:()=>$c});var K={};t.r(K),t.d(K,{actuator_extern_get_led_bright:()=>cg,actuator_extern_get_led_state:()=>gg,actuator_extern_led_bright:()=>Rg,actuator_extern_led_brightness:()=>Cg,actuator_ms32006_dcmotor:()=>ug,actuator_ms32006_init:()=>ag,actuator_ms32006_stepper:()=>rg,actuator_neopixel_init:()=>Sg,actuator_neopixel_rgb:()=>Ng,actuator_neopixel_rgb_all:()=>Ag,actuator_neopixel_write:()=>Lg,actuator_use_uart_init:()=>Dg,esp32_music_get_tempo_extern:()=>Mg,esp32_music_pitch:()=>dg,esp32_music_pitch_init:()=>lg,esp32_music_pitch_with_time:()=>Ig,esp32_music_play_list:()=>mg,esp32_music_reset_extern:()=>Og,esp32_music_set_tempo_extern:()=>hg,esp32_music_stop:()=>Tg,mixbot_actuator_extern_get_addr:()=>Kg,mixbot_actuator_extern_set_addr:()=>Jg,mixbot_addr_extern:()=>Yg,robot_led_extern:()=>Vg,robot_led_extern_get_value:()=>yg,robot_motor_extern:()=>xg,robot_motor_extern_get_speed:()=>Xg,robot_servo_extern_absolute_run:()=>wg,robot_servo_extern_get_status:()=>Bg,robot_servo_extern_relative_continue:()=>Wg,robot_servo_extern_relative_origin:()=>kg,robot_servo_extern_relative_run:()=>Hg,robot_servo_extern_stop:()=>Ug,robot_servo_extern_stop_mode:()=>Gg,robot_traffic_light_extern:()=>bg,servo_get_angle:()=>_g,servo_get_speed:()=>pg,servo_init:()=>ig,servo_move:()=>Eg,servo_set_angle:()=>sg,servo_set_speed:()=>og,servo_speed_360:()=>ng,syn6288_builtin_voice:()=>Fg,syn6288_get_voice:()=>Pg,syn6288_set_voice:()=>fg,syn6288_tts_play:()=>vg});var J={};t.r(J),t.d(J,{actuator_dc_motor:()=>cC,actuator_dc_motor_stop:()=>gC,actuator_get_led_bright:()=>sC,actuator_get_led_state:()=>oC,actuator_led_bright:()=>nC,actuator_led_brightness:()=>_C,actuator_mixbot_buzzer_on_off:()=>NC,actuator_mixgo_nova_mic_get:()=>vC,actuator_mixgo_nova_mic_set:()=>FC,actuator_mixgo_nova_onboard_music_pitch:()=>yC,actuator_mixgo_nova_onboard_music_stop:()=>BC,actuator_mixgo_nova_play_audio:()=>bC,actuator_mixgo_nova_play_online_audio:()=>VC,actuator_mixgo_nova_record_audio:()=>XC,actuator_mixgo_nova_voice_get:()=>xC,actuator_mixgo_nova_voice_set:()=>YC,actuator_mixgo_zero_led_color:()=>pC,actuator_onboard_neopixel_rgb:()=>TC,actuator_onboard_neopixel_rgb_all:()=>hC,actuator_onboard_neopixel_rgb_show_all_chase:()=>MC,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>mC,actuator_onboard_neopixel_write:()=>IC,actuator_stepper_keep:()=>EC,actuator_stepper_stop:()=>RC,bitbot_motor:()=>PC,bitbot_move:()=>DC,bitbot_stop:()=>fC,cc_number:()=>aC,esp32_music_get_tempo:()=>zg,esp32_music_reset:()=>tC,esp32_music_set_tempo:()=>Qg,esp32_onboard_music_pitch:()=>qg,esp32_onboard_music_pitch_with_time:()=>jg,esp32_onboard_music_play_list:()=>$g,esp32_onboard_music_stop:()=>Zg,get_power_output:()=>UC,ledswitch:()=>iC,mixbot_motor:()=>LC,mixbot_motor_status:()=>CC,mixbot_move:()=>SC,mixbot_stop:()=>AC,number:()=>eC,rm_actuator_get_led_bright:()=>rC,rm_actuator_get_led_state:()=>lC,rm_actuator_led_bright:()=>uC,rm_actuator_led_brightness:()=>dC,rm_motor:()=>OC,set_all_power_output:()=>wC,set_power_output:()=>GC});var Q={};t.r(Q),t.d(Q,{ai_sensor_20object:()=>cS,ai_sensor_ailocal_class:()=>rS,ai_sensor_ailocal_class_result:()=>lS,ai_sensor_ailocal_train:()=>uS,ai_sensor_asr_recognize:()=>MS,ai_sensor_audio_play:()=>IS,ai_sensor_audio_record:()=>dS,ai_sensor_barcode:()=>zC,ai_sensor_circle:()=>eS,ai_sensor_classifier_faces:()=>RS,ai_sensor_color:()=>oS,ai_sensor_color_chases:()=>aS,ai_sensor_color_chases_result:()=>pS,ai_sensor_config:()=>WC,ai_sensor_face:()=>ES,ai_sensor_find_20objects:()=>gS,ai_sensor_find_barcodes:()=>qC,ai_sensor_find_circles:()=>iS,ai_sensor_find_colors:()=>_S,ai_sensor_find_licenseplates:()=>OS,ai_sensor_find_lines:()=>tS,ai_sensor_find_qrcodes:()=>QC,ai_sensor_find_rects:()=>sS,ai_sensor_find_tags:()=>ZC,ai_sensor_licenseplate:()=>mS,ai_sensor_line:()=>$C,ai_sensor_qrcode:()=>JC,ai_sensor_qrcode_lite:()=>HC,ai_sensor_rect:()=>nS,ai_sensor_rgb:()=>KC,ai_sensor_tag:()=>jC,ai_sensor_use_uart_init:()=>kC,ai_sensor_yolo_recognize:()=>TS,ai_sensor_yolo_recognize_result:()=>hS});var z={};t.r(z),t.d(z,{MICROPYTHON_AI_Speech_asr:()=>AS,MICROPYTHON_AI_Speech_unit:()=>SS,MICROPYTHON_AI_client:()=>CS});var q={};t.r(q),t.d(q,{mpython_blynk_app_data:()=>VS,mpython_blynk_app_notify:()=>vS,mpython_blynk_email:()=>yS,mpython_blynk_get_timers:()=>xS,mpython_blynk_on_connected:()=>fS,mpython_blynk_on_disconnected:()=>DS,mpython_blynk_run:()=>FS,mpython_blynk_sensor_data_to_app:()=>bS,mpython_blynk_set_property:()=>BS,mpython_blynk_setup:()=>GS,mpython_blynk_stop_timers:()=>YS,mpython_blynk_sync_virtual:()=>NS,mpython_blynk_terminal_widget_vpin:()=>LS,mpython_blynktimer:()=>XS,mpython_blynktimer_run:()=>PS});var j={};t.r(j),t.d(j,{communicate_bluetooth_central_init:()=>cA,communicate_bluetooth_connect:()=>SA,communicate_bluetooth_disconnect:()=>AA,communicate_bluetooth_handle:()=>FA,communicate_bluetooth_is_connected:()=>NA,communicate_bluetooth_mac:()=>LA,communicate_bluetooth_peripheral_init:()=>gA,communicate_bluetooth_recv:()=>PA,communicate_bluetooth_recv_only:()=>fA,communicate_bluetooth_scan:()=>CA,communicate_bluetooth_send:()=>DA,communicate_espnow_init:()=>vA,communicate_espnow_init_new:()=>YA,communicate_i2c_available:()=>QS,communicate_i2c_init:()=>kS,communicate_i2c_master_read:()=>JS,communicate_i2c_onboard:()=>US,communicate_i2c_read:()=>HS,communicate_i2c_scan:()=>KS,communicate_i2c_write:()=>WS,communicate_ir_recv_init:()=>lA,communicate_ir_send_init:()=>MA,communicate_ow_init:()=>oA,communicate_ow_read:()=>aA,communicate_ow_reset:()=>pA,communicate_ow_scan:()=>_A,communicate_ow_select:()=>rA,communicate_ow_write:()=>uA,communicate_spi_buffer:()=>ZS,communicate_spi_init:()=>qS,communicate_spi_onboard:()=>wS,communicate_spi_read:()=>$S,communicate_spi_read_output:()=>tA,communicate_spi_readinto:()=>eA,communicate_spi_readinto_output:()=>iA,communicate_spi_set:()=>jS,communicate_spi_write:()=>nA,communicate_spi_write_readinto:()=>sA,espnow_radio_channel:()=>BA,espnow_radio_channel_new:()=>UA,espnow_radio_on_off:()=>wA,espnow_radio_rec:()=>HA,espnow_radio_recv:()=>KA,espnow_radio_recv_certain_msg:()=>JA,espnow_radio_recv_certain_msg_new:()=>zA,espnow_radio_recv_msg:()=>WA,espnow_radio_recv_new:()=>QA,espnow_radio_send:()=>kA,espnow_radio_txpower:()=>GA,i2c_slave_onreceive:()=>zS,internal_variable:()=>dA,ir_recv_timeout:()=>hA,ir_transmit_busy:()=>RA,ir_transmit_conventional_data:()=>mA,ir_transmit_raw_code:()=>EA,ir_transmit_study_code:()=>OA,ir_whether_recv:()=>TA,lora_init:()=>qA,lora_packet:()=>jA,lora_recv:()=>$A,lora_send:()=>ZA,network_espnow_info:()=>XA,network_espnow_mac:()=>xA,network_espnow_recv:()=>bA,network_espnow_recv_handle:()=>yA,network_espnow_send:()=>VA,recv_fun:()=>IA,urequests_attribute:()=>eL,urequests_get:()=>tL,urequests_method:()=>iL});var Z={};t.r(Z),t.d(Z,{display_animate:()=>NL,display_circle:()=>DL,display_color_seclet:()=>BL,display_draw_4strings:()=>RL,display_fill:()=>LL,display_lcd_use_i2c_init:()=>WL,display_line:()=>CL,display_line_arbitrarily:()=>cL,display_matrix_extern_bright_point:()=>IL,display_matrix_extern_bright_screen:()=>hL,display_matrix_extern_clear:()=>rL,display_matrix_extern_get_pixel:()=>dL,display_matrix_extern_get_screen_pixel:()=>TL,display_matrix_extern_image_builtins:()=>ML,display_matrix_extern_scroll_string:()=>aL,display_matrix_extern_scroll_string_delay:()=>uL,display_matrix_extern_shift:()=>lL,display_matrix_extern_show_frame_string:()=>_L,display_matrix_extern_show_frame_string_delay:()=>pL,display_matrix_extern_show_image:()=>sL,display_matrix_extern_show_image_or_string_delay:()=>oL,display_matrix_use_i2c_init:()=>nL,display_oled_drawPixel:()=>FL,display_oled_showBitmap:()=>PL,display_oled_use_i2c_init:()=>qL,display_onoff:()=>SL,display_rect:()=>gL,display_tm1650_power:()=>YL,display_tm1650_set_brightness:()=>bL,display_tm1650_show_dot:()=>XL,display_tm1650_show_num:()=>xL,display_tm_use_i2c_init:()=>vL,display_triangle:()=>fL,display_use_i2c_init:()=>EL,extern_oled_bright_point:()=>aN,extern_oled_clear:()=>oN,extern_oled_get_pixel:()=>pN,extern_oled_hvline:()=>rN,extern_oled_line:()=>lN,extern_oled_scroll_string:()=>nN,extern_oled_scroll_string_delay:()=>sN,extern_oled_shape_rect:()=>uN,extern_oled_shift:()=>_N,extern_oled_show_frame_string:()=>eN,extern_oled_show_frame_string_delay:()=>iN,extern_oled_show_image:()=>jL,extern_oled_show_image_or_string_delay:()=>tN,extern_oled_show_image_xy:()=>ZL,extern_oled_show_string:()=>$L,image_shift:()=>AL,lcd_backlight:()=>QL,lcd_clear:()=>zL,lcd_print_string:()=>JL,lcd_show_image_or_string_delay:()=>KL,matrix_extern_image_arithmetic:()=>mL,matrix_extern_image_invert:()=>OL,tft_fill:()=>kL,tft_line_arbitrarily:()=>HL,tft_scroll_string_delay:()=>wL,tft_show_frame_string_delay:()=>UL,tft_show_image_or_string_delay:()=>GL,tft_show_image_xy:()=>yL,tft_use_spi_init:()=>VL});var $={};t.r($),t.d($,{bitbot_display_image_create:()=>zN,display_bright_point:()=>LN,display_bright_screen:()=>DN,display_clear:()=>cN,display_get_pixel:()=>AN,display_get_screen_pixel:()=>NN,display_image_builtins:()=>ON,display_image_builtins_all:()=>EN,display_image_create:()=>RN,display_scroll_string:()=>MN,display_scroll_string_delay:()=>mN,display_shift:()=>SN,display_show_frame_string:()=>TN,display_show_frame_string_delay:()=>hN,display_show_image:()=>dN,display_show_image_or_string_delay:()=>IN,image_arithmetic:()=>gN,image_invert:()=>CN,mixbot_display_bright_screen:()=>JN,mixbot_display_get_ambientbright:()=>KN,mixbot_display_get_screen_pixel:()=>WN,mixbot_display_image_create:()=>HN,mixbot_display_rotate:()=>QN,mixgo_display_image_create_new:()=>vN,mixgome_display_font:()=>FN,mixgome_display_image_create:()=>fN,mixgomini_display_image_create:()=>PN,mpython_display_hvline:()=>wN,mpython_display_line:()=>kN,mpython_display_shape_rect:()=>UN,mpython_pbm_image:()=>YN,onboard_oled_bright_point:()=>GN,onboard_oled_scroll_string_delay:()=>BN,onboard_oled_show_frame_string_delay:()=>yN,onboard_oled_show_image:()=>xN,onboard_oled_show_image_or_string_delay:()=>VN,onboard_oled_show_image_xy:()=>XN,onboard_oled_show_string:()=>bN,onboard_tft_bright_point:()=>uD,onboard_tft_bright_screen:()=>lD,onboard_tft_clear:()=>_D,onboard_tft_clock_clear:()=>mD,onboard_tft_clock_draw:()=>MD,onboard_tft_clock_get_rtctime:()=>TD,onboard_tft_clock_init:()=>ID,onboard_tft_clock_set_time:()=>hD,onboard_tft_display_hvline:()=>sD,onboard_tft_display_line:()=>oD,onboard_tft_display_shape_circle:()=>OD,onboard_tft_display_shape_rect:()=>nD,onboard_tft_fill:()=>dD,onboard_tft_get_pixel:()=>aD,onboard_tft_get_screen_pixel:()=>rD,onboard_tft_scroll_string:()=>eD,onboard_tft_scroll_string_delay:()=>iD,onboard_tft_shift:()=>pD,onboard_tft_show_frame_string:()=>$N,onboard_tft_show_frame_string_delay:()=>tD,onboard_tft_show_image:()=>qN,onboard_tft_show_image_or_string_delay:()=>ZN,onboard_tft_show_image_xy:()=>jN});var tt={};t.r(tt),t.d(tt,{factory_block:()=>LD,factory_block_return:()=>ND,factory_block_return_with_textarea:()=>fD,factory_block_with_textarea:()=>DD,factory_callMethod_noreturn:()=>SD,factory_callMethod_return:()=>AD,factory_declare:()=>CD,factory_from_import:()=>ED,factory_function_noreturn:()=>cD,factory_function_return:()=>gD,factory_import:()=>RD,folding_block:()=>PD});var et={};t.r(et),t.d(et,{inout_analog_atten:()=>WD,inout_analog_read:()=>yD,inout_analog_read_init:()=>HD,inout_analog_write:()=>XD,inout_analog_write_init:()=>kD,inout_analog_write_set:()=>bD,inout_digital_init:()=>UD,inout_digital_read:()=>YD,inout_digital_write:()=>vD,inout_highlow:()=>FD,inout_pin_attachInterrupt:()=>GD,inout_pin_pressed:()=>BD,inout_pin_pressed_init:()=>KD,inout_pwm_analog_write:()=>xD,inout_pwm_analog_write_init:()=>wD,inout_pwm_analog_write_set_freq:()=>VD});var it={};t.r(it),t.d(it,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>df,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>rf,IOT_EMQX_PING:()=>If,IOT_FORMATTING:()=>af,IOT_FORMAT_STRING:()=>uf,IOT_MIXIO_NTP:()=>Tf,IOT_MIXIO_PUBLISH:()=>tf,IOT_MIXIO_SUBSCRIBE:()=>ef,iot_client_onboard:()=>hf,iot_http_client:()=>Mf,iot_http_data:()=>mf,iot_mixio_check:()=>of,iot_mixio_connect:()=>$D,iot_mixio_connect_only:()=>sf,iot_mixio_disconnect:()=>nf,iot_mixio_format_msg:()=>pf,iot_mixio_format_topic:()=>_f,iot_mixly_key:()=>lf,iot_mqtt_client:()=>Of,iot_mqtt_data:()=>Ef,iot_onenet_check:()=>jD,iot_onenet_connect:()=>QD,iot_onenet_disconnect:()=>zD,iot_onenet_publish:()=>ZD,iot_onenet_publish_dict:()=>qD,iot_wifi_connect:()=>JD});var nt={};t.r(nt),t.d(nt,{network_ap_connect:()=>Df,network_connect:()=>cf,network_get_connect:()=>Cf,network_get_wifi:()=>Nf,network_init:()=>Rf,network_is_active:()=>Lf,network_open:()=>Af,network_scan:()=>ff,network_server:()=>Pf,network_socket_accept:()=>Xf,network_socket_bind:()=>vf,network_socket_close:()=>Gf,network_socket_connect:()=>Yf,network_socket_init:()=>Ff,network_socket_listen:()=>xf,network_socket_receive:()=>bf,network_socket_receive_from:()=>yf,network_socket_send:()=>Vf,network_socket_send_to:()=>Bf,network_stop:()=>Sf,network_wifi_connect:()=>gf,ntptime_address:()=>Wf,ntptime_time:()=>Hf,requests_attribute:()=>wf,requests_get:()=>Uf,requests_method:()=>kf});var st={};t.r(st),t.d(st,{get_potential_num:()=>Kf,nova_g1_motor:()=>Jf,nova_g1_spk_en:()=>zf,nova_g1_usb:()=>Qf});var ot={};t.r(ot),t.d(ot,{pe_g1_battery_left:()=>jf,pe_g1_dc_motor:()=>Zf,pe_g1_dc_motor_speed:()=>$f,pe_g1_servo_get_angle:()=>iP,pe_g1_servo_get_speed:()=>nP,pe_g1_servo_set_angle:()=>tP,pe_g1_servo_set_speed:()=>eP,pe_g1_use_i2c_init:()=>qf});var _t={};t.r(_t),t.d(_t,{HCSR04:()=>KP,PS2_Button:()=>zP,PS2_Buttons:()=>qP,PS2_Buttons_new:()=>sF,PS2_State:()=>jP,PS2_init:()=>JP,PS2_init_new:()=>iF,PS2_stk:()=>ZP,PS2_stk_new:()=>oF,PS2_vibration:()=>QP,PS2_vibration_new:()=>nF,RTC_get_time:()=>tF,RTC_set_date:()=>lP,RTC_set_datetime:()=>$P,RTC_set_time:()=>rP,esp32_s2_weather_init:()=>wP,esp32_s2_weather_rain:()=>HP,esp32_s2_weather_wd:()=>kP,esp32_s2_weather_ws:()=>WP,extern_rfid_read:()=>PP,extern_rfid_readcontent:()=>vP,extern_rfid_readid:()=>FP,extern_rfid_status:()=>XP,extern_rfid_write:()=>YP,extern_rfid_write_return:()=>xP,gnss_get_data:()=>aF,gnss_have_data:()=>uF,mixbot_sensor_extern_get_addr:()=>OF,mixbot_sensor_extern_set_addr:()=>EF,pm25_get_data:()=>pF,robot_button_extern_get_value:()=>rF,robot_color_extern_get_value:()=>hF,robot_infrared_extern_get_value:()=>dF,robot_infrared_extern_grey_get_value:()=>IF,robot_potentiometer_extern_get_value:()=>TF,robot_sonar_extern_get_value:()=>MF,robot_sonar_extern_led:()=>mF,robot_touch_extern_get_value:()=>lF,sensor_APDS9960_extern:()=>RP,sensor_LTR308_extern:()=>cP,sensor_LTR390UV_extern:()=>SP,sensor_MAX30102_extern:()=>EP,sensor_QMC5883L_extern:()=>AP,sensor_VL530LX_extern:()=>DP,sensor_aht11_extern:()=>NP,sensor_bmp:()=>MP,sensor_dht11:()=>eF,sensor_distance_hrsc04:()=>uP,sensor_hp203_extern:()=>gP,sensor_ltr381_extern:()=>CP,sensor_mixgo_extern_button_attachInterrupt:()=>pP,sensor_mixgo_extern_button_get_presses:()=>_P,sensor_mixgo_extern_button_is_pressed:()=>sP,sensor_mixgo_extern_button_was_pressed:()=>oP,sensor_mixgo_extern_light:()=>dP,sensor_mixgo_extern_pin_near:()=>TP,sensor_mixgo_extern_sound:()=>IP,sensor_mixgoce_hot_wheel_degrees:()=>UP,sensor_mixgoce_hot_wheel_is_touched:()=>GP,sensor_mpu9250_attachGestureInterrupt:()=>aP,sensor_rtc_init:()=>hP,sensor_sht:()=>mP,sensor_shtc3_extern:()=>LP,sensor_use_i2c_init:()=>OP,sensor_use_spi_init:()=>fP,sensor_use_uart_init:()=>_F,sensor_weather_solo_init:()=>RF,sensor_weather_solo_rain:()=>CF,sensor_weather_solo_wd:()=>cF,sensor_weather_solo_ws:()=>gF,weather_data:()=>bP,weather_have_data:()=>VP,weather_set_label:()=>BP,weather_uart_mixio:()=>yP});var pt={};t.r(pt),t.d(pt,{HCSR04:()=>vF,bitbot_als_num:()=>qv,dht11:()=>sY,number1:()=>YF,number2:()=>xF,number3:()=>XF,number4:()=>bF,number5:()=>VF,number6:()=>yF,number7:()=>BF,onboard_RTC_get_time:()=>Dv,onboard_RTC_get_timestamp:()=>fv,onboard_RTC_set_datetime:()=>Lv,onboard_RTC_settime_string:()=>Nv,onboard_RTC_timestamp_totuple:()=>Pv,rfid_readcontent:()=>tv,rfid_readid:()=>$F,rfid_write:()=>ev,rfid_write_return:()=>iv,sensor_LTR308:()=>QF,sensor_adxl345_get_acceleration:()=>lv,sensor_aht11:()=>jF,sensor_bitbot_ALS:()=>zv,sensor_button_get_presses:()=>$v,sensor_button_is_pressed:()=>jv,sensor_button_was_pressed:()=>Zv,sensor_compass_reset:()=>mv,sensor_ds18x20:()=>KF,sensor_eulerangles:()=>sv,sensor_get_acceleration:()=>nv,sensor_get_temperature:()=>ZF,sensor_hp203:()=>qF,sensor_light:()=>nY,sensor_lm35:()=>JF,sensor_mixbot_get_gyro:()=>Qv,sensor_mixbot_patrol_calibrate:()=>Wv,sensor_mixbot_patrol_value:()=>Kv,sensor_mixbot_temperature:()=>Jv,sensor_mixgo_LTR308:()=>HF,sensor_mixgo_button_attachInterrupt:()=>NF,sensor_mixgo_button_get_presses:()=>LF,sensor_mixgo_button_is_pressed:()=>SF,sensor_mixgo_button_was_pressed:()=>AF,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>Yv,sensor_mixgo_cc_mmc5603_get_angle:()=>vv,sensor_mixgo_cc_mmc5603_get_magnetic:()=>Fv,sensor_mixgo_light:()=>iY,sensor_mixgo_nova_LTR308:()=>WF,sensor_mixgo_nova_pin_near:()=>kF,sensor_mixgo_pin_near:()=>wF,sensor_mixgo_pin_near_double:()=>UF,sensor_mixgo_pin_near_single:()=>GF,sensor_mixgo_pin_pressed:()=>uv,sensor_mixgo_touch_slide:()=>av,sensor_mixgocar42_button_attachInterrupt:()=>FF,sensor_mixgocar42_button_get_presses:()=>PF,sensor_mixgocar42_button_is_pressed:()=>DF,sensor_mixgocar42_button_was_pressed:()=>fF,sensor_mixgocar_battery_left:()=>Hv,sensor_mixgocar_pin_near:()=>wv,sensor_mixgocar_pin_near_line:()=>Uv,sensor_mixgocar_pin_near_state_change:()=>kv,sensor_mixgoce_pin_pressed:()=>pv,sensor_mixgoce_temperature:()=>Xv,sensor_mixgome_temperature:()=>xv,sensor_mpu9250_calibrate_compass:()=>Tv,sensor_mpu9250_field_strength:()=>Mv,sensor_mpu9250_gesture:()=>ov,sensor_mpu9250_get_acceleration:()=>_v,sensor_mpu9250_get_gyro:()=>Iv,sensor_mpu9250_get_magnetic:()=>dv,sensor_mpu9250_temperature:()=>hv,sensor_mpython_pin_pressed:()=>rv,sensor_mpython_qmi8658_get_gyro:()=>bv,sensor_mpython_qmi8658_temperature:()=>Vv,sensor_onboard_compass_reset:()=>Av,sensor_onboard_mpu9250_calibrate_compass:()=>gv,sensor_onboard_mpu9250_field_strength:()=>Sv,sensor_onboard_mpu9250_gesture:()=>Ov,sensor_onboard_mpu9250_get_acceleration:()=>Ev,sensor_onboard_mpu9250_get_gyro:()=>cv,sensor_onboard_mpu9250_get_magnetic:()=>Rv,sensor_onboard_mpu9250_temperature:()=>Cv,sensor_pin_near:()=>eY,sensor_pin_pressed:()=>tY,sensor_rm_acc:()=>Gv,sensor_rm_battery_left:()=>Bv,sensor_rm_pin_near_double:()=>yv,sensor_sound:()=>zF});var at={};t.r(at),t.d(at,{serial_any:()=>uY,serial_print:()=>oY,serial_print_byte:()=>_Y,serial_print_hex:()=>aY,serial_println:()=>pY,serial_read_from_ai:()=>RY,serial_readline:()=>lY,serial_readstr:()=>rY,serial_send_to_ai:()=>EY,serial_softserial:()=>dY,serial_softserial_new:()=>IY,system_input:()=>TY,system_print:()=>hY,system_print_end:()=>mY,system_print_inline:()=>MY,system_print_many:()=>OY});var ut={};t.r(ut),t.d(ut,{Panic_with_status_code:()=>vY,Timer_init:()=>JY,base_delay:()=>qY,controls_delay:()=>VY,controls_delay_new:()=>yY,controls_end_program:()=>xY,controls_millis:()=>YY,controls_uname:()=>bY,reset:()=>XY,system_bitbot_shutdown:()=>KY,system_device_name:()=>PY,system_device_serial_number:()=>FY,system_event_bus_source:()=>DY,system_event_bus_value:()=>fY,system_machine_reset:()=>WY,system_on_event:()=>AY,system_raise_event:()=>SY,system_reset:()=>gY,system_run_in_background:()=>cY,system_ticks_diff:()=>UY,system_timer:()=>GY,system_timer_init:()=>wY,system_timestamp:()=>LY,system_value:()=>NY,system_wait:()=>CY,system_wdt_feed:()=>HY,system_wdt_init:()=>kY,time_ticks_diff:()=>zY,timer:()=>BY,timer2:()=>QY});var rt={};t.r(rt),t.d(rt,{WEATHER_DAILY:()=>ZY,WEATHER_HOUR:()=>$Y,WEATHER_NOW:()=>jY});var lt={};t.r(lt),t.d(lt,{controls_pin_attachInterrupt:()=>Cx,inout_analog_atten:()=>lx,inout_analog_read:()=>rx,inout_analog_read_init:()=>mx,inout_analog_write:()=>px,inout_analog_write_init:()=>Mx,inout_analog_write_set:()=>ax,inout_analog_write_set_freq:()=>Rx,inout_digital_init:()=>Tx,inout_digital_read:()=>ox,inout_digital_write:()=>sx,inout_highlow:()=>nx,inout_pinMode:()=>Ex,inout_pin_attachInterrupt:()=>Ix,inout_pin_pressed:()=>dx,inout_pin_pressed_init:()=>Ox,inout_pwm_analog_write:()=>_x,inout_pwm_analog_write_init:()=>hx,inout_pwm_analog_write_set_freq:()=>ux,pin_pressed:()=>gx,pin_pressed_init:()=>cx});var dt={};t.r(dt),t.d(dt,{analog_input:()=>vx,analog_output:()=>xx,espnow_channel:()=>fx,haskylens_model:()=>Px,i2c_A_pin:()=>Xx,i2c_B_pin:()=>bx,pins_analog:()=>Ux,pins_analog_pin:()=>wx,pins_axis:()=>oX,pins_brightness:()=>_X,pins_builtinimg:()=>Zx,pins_builtinimg_extern:()=>$x,pins_button:()=>Wx,pins_buttonB:()=>Kx,pins_dac:()=>kx,pins_dac_pin:()=>Hx,pins_digital:()=>Ax,pins_digital_dot:()=>TX,pins_digital_pin:()=>Lx,pins_exlcdh:()=>nX,pins_exlcdv:()=>sX,pins_imglist:()=>tX,pins_input_pin:()=>Nx,pins_one_more:()=>IX,pins_output_pin:()=>Dx,pins_playlist:()=>eX,pins_playlist_extern:()=>iX,pins_pwm:()=>Jx,pins_pwm_pin:()=>Qx,pins_radio_datarate:()=>dX,pins_radio_power:()=>lX,pins_serial:()=>jx,pins_tone_notes:()=>rX,pins_touch:()=>qx,pins_touch_pin:()=>zx,pins_tts_bgmusic:()=>uX,pins_tts_builtin_music:()=>aX,pins_tts_voice:()=>pX,pwm_input:()=>Fx,pwm_output:()=>Yx,spi_A_pin:()=>Vx,spi_B_pin:()=>yx,spi_C_pin:()=>Bx,spi_D_pin:()=>Gx});var It={};t.r(It),t.d(It,{inout_analog_atten:()=>fX,inout_analog_read:()=>gX,inout_analog_read_init:()=>DX,inout_analog_write:()=>EX,inout_analog_write_init:()=>NX,inout_analog_write_set:()=>RX,inout_digital_init:()=>AX,inout_digital_read:()=>mX,inout_digital_write:()=>MX,inout_highlow:()=>hX,inout_pin_attachInterrupt:()=>SX,inout_pin_pressed:()=>CX,inout_pin_pressed_init:()=>PX,inout_pwm_analog_write:()=>OX,inout_pwm_analog_write_init:()=>LX,inout_pwm_analog_write_set_freq:()=>cX});var Tt={};t.r(Tt),t.d(Tt,{analog_input:()=>GX,analog_output:()=>wX,espnow_channel:()=>yX,haskylens_model:()=>BX,i2c_A_pin:()=>kX,i2c_B_pin:()=>HX,pins_analog:()=>qX,pins_analog_pin:()=>zX,pins_axis:()=>rb,pins_brightness:()=>Ib,pins_builtinimg:()=>ob,pins_builtinimg_extern:()=>_b,pins_button:()=>vX,pins_buttonB:()=>YX,pins_dac:()=>tb,pins_dac_pin:()=>$X,pins_digital:()=>FX,pins_digital_dot:()=>cb,pins_digital_pin:()=>xX,pins_exlcdh:()=>lb,pins_exlcdv:()=>db,pins_imglist:()=>pb,pins_input_pin:()=>XX,pins_interrupt:()=>nb,pins_one_more:()=>Rb,pins_output_pin:()=>bX,pins_playlist:()=>ab,pins_playlist_extern:()=>ub,pins_pwm:()=>ZX,pins_pwm_input:()=>VX,pins_pwm_pin:()=>jX,pins_radio_datarate:()=>Eb,pins_radio_power:()=>Ob,pins_serial:()=>sb,pins_tone_notes:()=>mb,pins_touch:()=>ib,pins_touch_pin:()=>eb,pins_tts_bgmusic:()=>Mb,pins_tts_builtin_music:()=>hb,pins_tts_voice:()=>Tb,pwm_output:()=>UX,spi_A_pin:()=>WX,spi_B_pin:()=>KX,spi_C_pin:()=>JX,spi_D_pin:()=>QX});const ht=Blockly,Mt=Mixly,mt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},Ot=mt; /** * @license * Visual Blocks Editor @@ -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)}},zt={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)}},qt={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=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 $t={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(new ht.FieldTextInput("0",ht.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MATH_NUMBER_TOOLTIP)}},te={init:function(){this.setColour(Zt);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]}))}},ee={init:function(){this.setColour(Zt);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]}))}},ie={init:function(){this.setColour(Zt),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]}))}},ne={init:function(){this.setColour(Zt),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]}))}},se={init:function(){this.setColour(Zt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ht.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},oe={init:function(){this.setColour(Zt),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]}))}},_e={init:function(){var t=[[ht.Msg.MATH_BIN,"bin"],[ht.Msg.MATH_OCT,"oct"],[ht.Msg.MATH_HEX,"hex"]];this.setColour(Zt),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]}))}},pe={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(Zt),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]}))}},ae={init:function(){var t=[[ht.Msg.MIXLY_MAX,"max"],[ht.Msg.MIXLY_MIN,"min"]];this.setColour(Zt),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]}))}},ue={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(Zt),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]}))}},re={init:function(){var t=[[ht.Msg.LANG_MATH_INT,"int"],[ht.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Zt),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]}))}},le={init:function(){this.setColour(Zt),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)}},de={init:function(){this.setColour(Zt),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)}},Ie={init:function(){this.setColour(Zt),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)}},Te={init:function(){this.setColour(Zt),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)}},he={init:function(){this.setColour(Zt),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)}},Me={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"],[ht.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Zt),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]}))}},me={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Zt),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]}))}},Oe=de,Ee=160,Re={init:function(){this.setColour(Ee),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,'"')}},ce={init:function(){this.setColour(Ee),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 ge={init:function(){this.setColour(Ee),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,'"')}},Ce={init:function(){this.setColour(Ee),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)}},Se={init:function(){this.setColour(Ee),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ae={init:function(){this.setColour(Ee),this.appendValueInput("VAR").setCheck(String).appendField(ht.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Le={init:function(){this.setColour(Ee),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Ne={init:function(){this.setColour(Ee),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},De={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(Ee),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)}},fe={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ee),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)}},Pe={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ee),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ht.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ht.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Fe={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(Ee),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"))}},ve={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ee),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)}},Ye={init:function(){var t=[[ht.Msg.MIXLY_EQUALS,"==="],[ht.Msg.MIXLY_STARTSWITH,"startswith"],[ht.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ee),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ht.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},xe={init:function(){this.setColour(Ee),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)}},Xe={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(Ee),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]}))}},be={init:function(){var t=[[ht.Msg.TEXT_LJUST,"ljust"],[ht.Msg.TEXT_CENTER,"center"],[ht.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ee),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)}},Ve={init:function(){this.setColour(Ee),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)}},ye={init:function(){this.setColour(Ee),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)}},Be={init:function(){this.setColour(Ee),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)}},Ge={init:function(){this.setColour(Ee),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)}},Ue={init:function(){var t=[[ht.Msg.TEXT_TRIM_BOTH,"strip"],[ht.Msg.TEXT_TRIM_LEFT,"lstrip"],[ht.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ee),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]}))}},we={init:function(){this.setColour(Ee),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")}},yi={init:function(){this.setColour(bi),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Bi={init:function(){this.setColour(bi),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}},Gi={init:function(){this.setColour(bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_KEYS),this.setTooltip(ht.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ui={init:function(){this.setColour(bi),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)}},wi={init:function(){this.setColour(bi),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)}},ki={init:function(){this.setColour(bi),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)}},Hi={init:function(){this.setColour(bi),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)}},Wi={init:function(){this.setColour(bi),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)}},Ki={init:function(){this.setColour(bi),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(bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_ITEMS),this.setTooltip(ht.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Qi={init:function(){this.setColour(bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_VALUES),this.setTooltip(ht.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},zi={init:function(){this.setColour(bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LENGTH),this.setTooltip(ht.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},qi={init:function(){this.setColour(bi),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)}},ji={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(bi),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")}},Zi={init:function(){this.setColour(bi),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)}},$i={init:function(){this.setColour(bi),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)}},tn={init:function(){this.setColour(bi),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")}},en={init:function(){this.setColour(bi),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},nn={init:function(){this.setColour(bi),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)}},sn={init:function(){this.setColour(bi),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)}},on=210,_n={init:function(){var t=ht.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(on),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]}},pn={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(on),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)}},an={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(on),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]}))}},un={init:function(){this.setColour(on),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ht.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ht.Msg.LOGIC_NEGATE_TOOLTIP)}},rn={init:function(){var t=[[ht.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ht.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(on),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ht.FieldDropdown(t),"BOOL"),this.setTooltip(ht.Msg.LOGIC_BOOLEAN_TOOLTIP)}},ln={init:function(){this.setColour(on),this.setOutput(!0),this.appendDummyInput().appendField(ht.Msg.LOGIC_NULL),this.setTooltip(ht.Msg.LOGIC_NULL_TOOLTIP)}},dn={init:function(){this.setColour(on),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)}},In={init:function(){var t=[[ht.Msg.TEXT_APPEND_TO,"in"],[ht.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(on),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)}},Tn={init:function(){var t=[[ht.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ht.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(on),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)}},hn={init:function(){this.setColour(on),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Mn={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)}},mn={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")}},On={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+_}))}},En={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+_}))}},Rn={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)}},cn={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)}},gn={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}))}},Cn={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)}},Sn={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)}},An={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)}},Ln={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)}},Nn={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 Dn={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)}},fn={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)}},Pn={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)}},Fn={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}))}},vn={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)}},Yn={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]}))}},xn={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)}},Xn={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)}},bn={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]}))}},Vn={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)}},yn={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()}},Bn={};Bn.NAME_TYPE=ht.PROCEDURE_CATEGORY_NAME,Bn.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)}},xs={init:function(){this.setColour(Ds),this.appendDummyInput().appendField(ht.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Xs={init:function(){this.setColour(Ds),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)}},bs={init:function(){this.setColour(Ds),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vs={init:function(){this.setColour(Ds),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys={init:function(){this.setColour(Ds),this.appendDummyInput().appendField(ht.Msg.HTML_TEXT).appendField(new ht.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bs=160,Gs={init:function(){this.setColour(Bs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ht.FieldTable(""),"TEXT")}},Us={init:function(){this.setColour(Bs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT")}},ws={init:function(){this.setColour(Bs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},ks={init:function(){this.setColour(Bs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Hs={init:function(){this.setColour(Bs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ht.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ws={init:function(){this.setColour(Bs),this.appendValueInput("VALUE").appendField(ht.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Ks={init:function(){this.setColour(Bs),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 Lp=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]},Np=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Dp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},fp=function(t,e){return["None",e.ORDER_ATOMIC]},Pp=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]},Fp=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]},vp=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]},Yp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},xp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Xp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},bp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Vp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},yp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Bp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Gp=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]},Up=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},wp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},kp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Hp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Wp=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Kp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Qp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},zp=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"},qp=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},jp=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Zp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},$p=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"},ta=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]},ea=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"},ia=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"},na=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]},Va=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},ya=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},Ba=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ga=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ua=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},wa=function(t,e){return'"},ka=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Ha=function(){return this.getFieldValue("TEXT")+"\n"},Wa=function(t){return t.getFieldValue("TEXT")+"\n"},Ka=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Ja=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Qa=function(){return""},za=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},qa=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")},Za.scrubNakedValue=function(t){return t+"\n"},Za.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},Za.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Za.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ht.utils.string.wrap(o,Za.COMMENT_WRAP-3),n+=Za.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const $a="#74A55B",tu={init:function(){this.setColour($a),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)}},eu={init:function(){this.setColour($a),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)}},iu={init:function(){this.setColour($a),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)}},nu={init:function(){this.setColour($a),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)}},su={init:function(){this.setColour($a),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)}},ou={init:function(){this.setColour($a),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)}},_u={init:function(){this.setColour($a),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)}},pu={init:function(){this.setColour($a),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},au={init:function(){this.setColour($a),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)}},uu={init:function(){this.setColour($a),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)}},ru={init:function(){this.setColour($a),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)}},lu={init:function(){this.setColour($a),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)}},du={init:function(){this.setColour($a),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)}},Iu={init:function(){this.setColour($a),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)}},Tu={init:function(){this.setColour($a),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)}},hu={init:function(){this.setColour($a),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)}},Mu={init:function(){this.setColour($a),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)}},mu={init:function(){this.setColour($a),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)}},Ou={init:function(){this.setColour($a),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)}},Eu={init:function(){this.setColour($a),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通信")}},Ru={init:function(){this.setColour($a),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)")}},cu={init:function(){this.setColour($a),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)")}},gu={init:function(){this.setColour($a),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)}},Cu={init:function(){this.setColour($a),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)}},Su={init:function(){this.setColour($a),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)}},Au={init:function(){this.setColour($a),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)}},Lu={init:function(){this.setColour($a),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")}},Nu={init:function(){this.setColour($a),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)}},Du={init:function(){this.setColour($a),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)}},fu={init:function(){this.setColour($a),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)}},Pu={init:function(){this.setColour($a),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)}},Fu={init:function(){this.setColour($a),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vu={init:function(){this.setColour($a),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)}},Yu={init:function(){this.setColour($a),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)}},xu={init:function(){this.setColour($a),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)}},Xu={init:function(){this.setColour($a),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)}},bu={init:function(){this.setColour($a),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)}},Vu={init:function(){this.setColour($a),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)}},yu={init:function(){this.setColour($a),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)}},Bu={init:function(){this.setColour($a),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)}},Gu={init:function(){this.setColour($a),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)}},Uu={init:function(){this.setColour($a),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)}},wu={init:function(){this.setColour($a),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)}},ku={init:function(){this.setColour($a),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)}},Hu={init:function(){this.setColour($a),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)}},Wu={init:function(){this.setColour($a),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)}},Ku="#6C9858",Ju={init:function(){this.setColour(Ku),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Qu={init:function(){this.setColour(Ku),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)}},zu={init:function(){this.setColour(Ku),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)}},qu={init:function(){this.setColour(Ku),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)}},ju={init:function(){this.setColour(Ku),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)}},Zu={init:function(){this.setColour(Ku),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%)")}},$u={init:function(){this.setColour(Ku),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_OFF,"0"],[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()}},tr={init:function(){this.setColour(Ku),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)}},er={init:function(){this.setColour(Ku),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)}},ir={init:function(){this.setColour(Ku),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)}},nr={init:function(){this.setColour(Ku),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)")}},sr={init:function(){this.setColour(Ku),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},or={init:function(){this.setColour(Ku),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)}}},_r={init:function(){this.setColour(Ku),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)}},pr={init:function(){this.setColour(Ku),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("")}},ar={init:function(){this.setColour(Ku),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("")}},ur={init:function(){this.setColour(Ku),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)}},rr={init:function(){this.setColour(Ku),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)}}},lr={init:function(){this.setColour(Ku),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)}},dr={init:function(){this.setColour(Ku),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("")}},Ir={init:function(){this.setColour(Ku),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)}},Tr={init:function(){this.setColour(Ku),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)}},hr={init:function(){this.setColour(Ku),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)}},Mr={init:function(){this.setColour(Ku),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)}},mr={init:function(){this.setColour(Ku),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)}},Or={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Er={init:function(){this.setColour(Ku),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)}},Rr={init:function(){this.setColour(Ku),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)}},cr={init:function(){this.setColour(Ku),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)}},gr={init:function(){this.setColour(Ku),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("")}},Cr={init:function(){this.setColour(Ku),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)}},Sr={init:function(){this.setColour(Ku),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)}},Ar={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Lr={init:function(){this.setColour(Ku),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)}},Nr={init:function(){this.setColour(Ku),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)}},Dr={init:function(){this.setColour(Ku),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)}},fr={init:function(){this.setColour(Ku),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)}},Pr={init:function(){this.setColour(Ku),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)}},Fr={init:function(){this.setColour(Ku),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)}},vr={init:function(){this.setColour(Ku),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)}},Yr={init:function(){this.setColour(Ku),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)}},xr={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},Xr={init:function(){this.setColour(Ku),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)}},br={init:function(){this.setColour(Ku),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)}},Vr={init:function(){this.setColour(Ku),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)}},yr={init:function(){this.setColour(Ku),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)}},Br={init:function(){this.setColour(Ku),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Ku),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)}},Ur={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(Ku),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()}},kr={init:function(){this.setColour(Ku),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)}},Hr={init:function(){this.setColour(Ku),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)}},Wr="#90A244",Kr={init:function(){this.setColour(Wr),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+"MixGo AI"+ht.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Jr={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_QR_CODE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.OLED_STRING,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},Qr={init:function(){this.setColour(Wr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_QR_CODE+ht.Msg.MIXPY_OBJECT,"qrcode"],[ht.Msg.MIXLY_BAR_CODE+ht.Msg.MIXPY_OBJECT,"barcode"],[ht.Msg.MIXLY_TAG+ht.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},qr={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().appendField(ht.Msg.SOFT_RESET+ht.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},jr={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(ht.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},Zr={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_BAR_CODE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.OLED_STRING,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},$r={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},tl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TAG+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.OLED_STRING,"info1"],[ht.Msg.blockpy_turtle_rotate+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},el={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},il={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LINE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LINE_ANGLE,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},nl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_CIRCLE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_CIRCLE_AREA,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ol={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},_l={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_RECT+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_CIRCLE_AREA,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},pl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},al={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["RGB"+ht.Msg.HTML_COLOUR,"[0]"],["LAB"+ht.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},ul={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_COLOR_CHASE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_CIRCLE_AREA,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ll={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+ht.Msg.MIXLY_COLOR_LAB).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_OBJECT_LIST).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+ht.Msg.MIXLY_MODEL_NAME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_TRAIN_TIME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ht.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},Il={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_OBJECT_LIST).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_MODEL_NAME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ht.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Tl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LOCAL_CLASS+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},hl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Ml={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_MP3_VOL).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ml={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ANCHOR).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_MODEL_PATH).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ht.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Ol={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_YOLO_RECOGNIZE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},El={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setAlign(ht.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Rl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LICENSEPLATE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},cl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},gl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_FACE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Cl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Sl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_20OBJECTS+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Al={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Ll={init:function(){this.setColour(205),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_AipSpeech_asr,"ASR"],[ht.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_Client).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Nl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_AI_UNIT).appendField(ht.Msg.MIXLY_Client).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(ht.Msg.OLED_STRING).setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},Dl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_AipSpeech_asr).appendField(ht.Msg.MIXLY_Client).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(ht.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LANGUAGE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[ht.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[ht.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},fl="#2FAD7A",Pl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Fl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},vl={init:function(){this.jsonInit({inputsInline:!0,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},Yl={init:function(){this.jsonInit({inputsInline:!0,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},xl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Xl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Gl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},Ul={init:function(){this.jsonInit({message0:ht.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[ht.Msg.MIXLY_PYTHON_PERIODIC,"False"],[ht.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},kl={init:function(){this.jsonInit({inputsInline:!0,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},Hl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:fl,helpUrl:ht.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Wl=140,Kl={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(Wl),this.appendValueInput("SUB").appendField("I2C "+ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_I2C_INIT)}},zl={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},ql={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},jl={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_I2C_SCAN1+ht.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_I2C_SCAN)}},Zl={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(ht.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},$l={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_SET)}},td={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_SET+ht.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},ed={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ht.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READ)}},id={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ht.Msg.LANG_MATH_BYTE+" "+ht.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},nd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ht.Msg.MIXLY_SERIAL_READ+ht.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READINTO)}},sd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ht.Msg.MIXLY_SERIAL_READ+ht.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},od={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_WRITE)}},_d={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(ht.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},pd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},ad={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_READ+ht.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},ud={init:function(){this.setColour(Wl),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+ht.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(ht.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_INIT)}},ld={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_SCAN)}},dd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_READ)}},Id={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_WRITE).appendField(new ht.FieldDropdown([[ht.Msg.LANG_MATH_STRING,"write"],[ht.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_WRITE)}},Td={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(ht.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_SELECT)}},hd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_RESET)}},Md={init:function(){this.setColour(Wl),this.appendValueInput("PIN").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_IR_INPUT1,"8"],[ht.Msg.MIXLY_IR_INPUT2,"16"],[ht.Msg.MIXLY_IR_INPUT3,"0"],[ht.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(ht.Msg.CONTROLS_REPEAT_INPUT_DO+ht.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},md={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_IR_CMD_CODE,"0"],[ht.Msg.MIXLY_IR_ADDR_CODE,"1"],[ht.Msg.MIXLY_IR_RAW_CODE,"2"],[ht.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Od={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXlY_RECV_FUN).appendField(new ht.FieldDropdown([[ht.Msg.MILY_PAUSE,"True"],[ht.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(Wl),this.appendValueInput("time").appendField(ht.Msg.MIXlY_RECV_FUN).appendField(ht.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(Wl),this.appendValueInput("PIN").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.MIXLY_IR_SEND).appendField(ht.Msg.MIXLY_PIN),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_IR_SEND_samsung1,"False"],[ht.Msg.MIXLY_IR_SEND_samsung2,"True"],[ht.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(ht.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(ht.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(ht.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(ht.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},Cd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_IR_PULSE).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(ht.Msg.MIXLY_IR_RAW_CODE).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},Ld={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField(ht.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catEthernet_init+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ht.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField(ht.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catEthernet_init+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ht.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_ONEWIRE_SCAN+ht.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_TEXT_JOIN+ht.Msg.MSG.catBLE).appendField(new ht.FieldDropdown([[ht.Msg.HTML_NAME,"name"],[ht.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catBLE+ht.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(ht.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catBLE+ht.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ht.Msg.CONTROLS_REPEAT_INPUT_DO+ht.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ht.Msg.CONTROLS_REPEAT_INPUT_DO+ht.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ht.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ht.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TX_POWER).appendField(new ht.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},yd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ht.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ht.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},Bd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Gd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new ht.FieldDropdown([["("+ht.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+ht.Msg.OLED_STRING+")",""],[ht.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[ht.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},kd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_MP_ESPNOW_RADIO+ht.Msg.MIXLY_TX_POWER).appendField(new ht.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},Jd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},zd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},qd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Zd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ht.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},$d={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},tI={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ht.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},eI={init:function(){this.setColour(Wl),this.appendValueInput("SUB").appendField("Lora"+ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(ht.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(ht.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(ht.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(ht.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(ht.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new ht.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_LORA_INIT_TOOLTIP)}},iI={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_PACKAGE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[ht.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ht.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},oI={init:function(){this.setColour(Wl),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")}},_I={init:function(){this.appendValueInput("VAL");var t=[[ht.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(Wl),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]}))}},pI={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Wl),this.appendDummyInput("").appendField(ht.Msg.blockpy_CONDUCT).appendField(new ht.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ht.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},aI=Ql,uI=zl,rI=ql,lI=jl,dI=Zl,II=$l,TI=td,hI=ed,MI=id,mI=nd,OI=sd,EI=od,RI=_d,cI=pd,gI=ad,CI=120;({init:function(){this.setColour(CI),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ht.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new ht.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(CI);var t=new ht.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const SI="5BA5A5",AI={init:function(){this.setColour(SI),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},LI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},NI={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},DI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},PI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vI={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},YI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},xI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},XI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},bI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},VI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},yI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ht.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},BI={init:function(){var t=[[ht.Msg.MICROBIT_DISPLAY_UNION,"add"],[ht.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ht.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ht.Msg.MIXLY_MICROBIT_image_add,"-":ht.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},GI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("A").setCheck("esp32_image").appendField(ht.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},UI={init:function(){this.setColour(SI),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.appendValueInput("row").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},wI={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.OLEDDISPLAY+ht.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SI),this.setTooltip(ht.Msg.MIXLY_DF_LCD+ht.Msg.OLEDDISPLAY+ht.Msg.MIXLY_MICROBIT_TYPE_STRING)}},kI={init:function(){var t=[[ht.Msg.MIXLY_HEIGHT,"height"],[ht.Msg.MIXLY_WIDTH,"width"]];this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ht.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ht.Msg.MIXLY_MICROBIT_IMAGE+{height:ht.Msg.MIXLY_HEIGHT,width:ht.Msg.MIXLY_WIDTH}[t]}))}},HI={init:function(){var t=[[ht.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ht.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(SI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RECT).appendField(new ht.FieldDropdown(t),"OP"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_OLED_RECT)}},WI={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_DISPLAY_DRAW).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_DISPLAY_RLINE,"hline"],[ht.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_OLED_LINE)}},KI={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_OLED_LINE_ARBIT)}},JI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(ht.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},QI={init:function(){this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},zI={init:function(){this.setColour(SI),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(ht.Msg.LISTS_SET_INDEX_SET+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B)}},qI={init:function(){this.setColour(SI),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_ON,"ON"],[ht.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},jI={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ht.Msg.MIXLY_LCD_STAT_CLEAR,1:ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ht.Msg.MIXLY_DF_LCD+i[e]}))}},ZI={init:function(){this.setColour(SI),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new ht.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},$I={init:function(){var t=[[ht.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ht.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(SI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ht.FieldDropdown(t),"OP"),this.jsonInit({message0:ht.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},tT={init:function(){var t=[[ht.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ht.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(SI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_DISPLAY_DRAW+ht.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ht.FieldDropdown(t),"OP"),this.jsonInit({message0:ht.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_DISPLAY_DRAW+ht.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},eT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(ht.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},iT={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(ht.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(ht.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(ht.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(ht.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(ht.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.OLED_SHOW_BMP_TOOLTIP)}},nT={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ht.Msg.OLED),this.appendDummyInput("").appendField(ht.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(ht.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(ht.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.OLED_DRAW_PIXE_TOOLTIP)}},sT={init:function(){this.setColour(SI),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ht.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},oT={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ON,"on"],[ht.Msg.MIXLY_OFF,"off"],[ht.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},_T={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pT={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ht.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},aT={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},uT={init:function(){this.setColour(SI),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+ht.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(ht.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(ht.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.blockpy_turtle_rotate).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_NO,"0"],[ht.Msg.ANTI_CLOCKWISE+"90°","1"],[ht.Msg.ANTI_CLOCKWISE+"180°","2"],[ht.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},lT={init:function(){this.setColour(SI);let t=new ht.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(ht.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},dT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},IT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},TT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catTFT),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ht.Msg.MIXLY_LCD_STAT_CLEAR,1:ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ht.Msg.MIXLY_DF_LCD+i[e]}))}},MT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_OLED_LINE_ARBIT)}},mT={init:function(){this.setColour(SI),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(ht.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ht.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},OT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.array2_rows),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},ET={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_SERIAL_PRINT+ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catLCD),this.appendDummyInput().appendField(ht.Msg.TFT_Brightness).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[ht.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:ht.Msg.MIXLY_MICROBIT_Turn_on_display,0:ht.Msg.MIXLY_MICROBIT_Turn_off_display};return ht.Msg.MSG.catLCD+ht.Msg.TFT_Brightness+i[e]}))}},cT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catLCD),this.setColour(SI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},gT={init:function(){this.setColour(SI),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(ht.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ht.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},CT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},ST={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},AT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},LT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},NT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},fT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},PT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FT={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},vT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},YT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},xT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},XT={init:function(){this.jsonInit({colour:SI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},bT={init:function(){this.jsonInit({colour:SI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ht.Msg.mpython_vertical,"0"],[ht.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},VT={init:function(){this.jsonInit({colour:SI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ht.Msg.mpython_display_hline_1,"1"],[ht.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.mpython_display_line_TOOLTIP,message0:ht.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},yT="#569A98",BT={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Mt.Boards.getSelectedBoardKey()&&this.setTooltip(ht.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},GT={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UT={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wT={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kT={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HT={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WT={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(yT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},KT={init:function(){this.jsonInit({colour:yT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ht.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ht.Msg.MIXLY_MICROBIT_Built_in_image})}},JT={init:function(){this.jsonInit({colour:yT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ht.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ht.Msg.MIXLY_MICROBIT_Built_in_image})}},QT={init:function(){var t=[[ht.Msg.MICROBIT_DISPLAY_UNION,"add"],[ht.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(yT),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ht.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ht.Msg.MIXLY_MICROBIT_image_add,"-":ht.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},zT={init:function(){this.setColour(yT),this.appendValueInput("A").setCheck("esp32_image").appendField(ht.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},qT={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(yT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ht.Msg.MIXLY_UP,shift_down:ht.Msg.MIXLY_DOWN,shift_left:ht.Msg.MIXLY_LEFT,shift_right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},jT={init:function(){this.setColour(yT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},ZT={init:function(){this.setColour(yT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},$T={init:function(){this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},th={init:function(){this.setColour(yT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},eh={init:function(){this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},ih={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(yT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},nh={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(yT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},sh={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(yT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},oh={init:function(){var t=[["4x5"+ht.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ht.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ht.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.OLED_SET_FONT).appendField(new ht.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_h={init:function(){this.setColour(yT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},ph={init:function(){this.setColour(yT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},ah={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},uh={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},rh={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},lh={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dh={init:function(){this.setColour(yT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Ih={init:function(){this.jsonInit({colour:yT,args0:[{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Th={init:function(){this.jsonInit({colour:yT,args0:[{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ht.Msg.mpython_vertical,"0"],[ht.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},hh={init:function(){this.jsonInit({colour:yT,args0:[{name:"state",options:[[ht.Msg.mpython_display_hline_1,"1"],[ht.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.mpython_display_line_TOOLTIP,message0:ht.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Mh={init:function(){this.jsonInit({colour:yT,args0:[{type:"field_label",name:"size_image",text:ht.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},mh={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(yT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},Oh={init:function(){this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Eh={init:function(){this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Rh={init:function(){this.setColour(yT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},ch={init:function(){var t=[[ht.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ht.Msg.CLOCKWISE+"90"+ht.Msg.blockpy_setheading_degree,"1"],[ht.Msg.CLOCKWISE+"180"+ht.Msg.blockpy_setheading_degree,"2"],[ht.Msg.CLOCKWISE+"270"+ht.Msg.blockpy_setheading_degree,"3"]];this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ht.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gh={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(yT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},Ch={init:function(){this.setColour(yT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},Sh={init:function(){this.setColour(yT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},Ah={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Lh={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nh={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Dh={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fh={init:function(){this.setColour(yT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ph={init:function(){this.jsonInit({colour:yT,args0:[{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ht.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Fh={init:function(){this.jsonInit({colour:yT,args0:[{name:"dir_h_v",options:[[ht.Msg.mpython_vertical,"0"],[ht.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ht.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},vh={init:function(){this.jsonInit({colour:yT,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.mpython_display_line_TOOLTIP,message0:ht.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Yh={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(yT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},xh={init:function(){this.setColour(yT),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Xh={init:function(){this.setColour(yT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_LCD_SETCOLOR).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},bh={init:function(){this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},Vh={init:function(){this.setColour(yT),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},yh={init:function(){this.setColour(yT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Bh={init:function(){this.setColour(yT),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gh={init:function(){this.setColour(yT),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ht.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uh={init:function(){this.setColour(yT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wh={init:function(){this.setColour(yT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ht.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ht.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ht.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kh={init:function(){this.setColour(yT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hh={init:function(){this.setColour(yT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wh={init:function(){this.jsonInit({colour:yT,args0:[{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,message0:ht.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},Kh="#777777",Jh={init:function(){this.setColour(Kh),this.appendDummyInput("").appendField("from ").appendField(new ht.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ht.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qh={init:function(){this.setColour(Kh),this.appendDummyInput("").appendField("import ").appendField(new ht.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zh={init:function(){this.setColour(Kh),this.appendDummyInput("").appendField(new ht.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ht.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},bM={init:function(){this.setColour(fM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},VM={init:function(){this.setColour(fM),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}},yM={init:function(){this.setColour(fM),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}},BM={init:function(){this.setColour(fM),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)}},GM={init:function(){this.setColour(fM),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)}},UM={init:function(){this.setColour(fM),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)}},wM={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kM={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HM={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WM={init:function(){this.setColour(fM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},KM={init:function(){this.setColour(fM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},JM={init:function(){this.setColour(fM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},QM={init:function(){this.setColour(fM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},zM={init:function(){this.setColour(fM),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)}},qM={init:function(){this.setColour(fM),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)}},jM={init:function(){this.setColour(fM),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)}},ZM={init:function(){this.setColour(fM),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)}},$M={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(fM),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")}},tm={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO").appendField(ht.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},em={init:function(){this.setColour(fM),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)}},im={init:function(){this.setColour(fM),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)}},nm={init:function(){this.setColour(fM),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)}},sm={init:function(){this.setColour(fM),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)}},om=PM,_m=FM,pm=vM,am=YM,um=XM,rm=225,lm={init:function(){this.setColour(rm),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)}},dm={init:function(){this.setColour(rm),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}))}},Im={init:function(){this.setColour(rm),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)}},Tm={init:function(){this.setColour(rm),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}))}},hm={init:function(){this.setColour(rm),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)}},Mm={init:function(){this.setColour(rm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},mm={init:function(){this.setColour(rm),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]}))}},Om={init:function(){this.setColour(rm),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)}},Em={init:function(){this.setColour(rm),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)}},Rm={init:function(){this.setColour(rm),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)}},cm={init:function(){this.setColour(rm),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)}},gm={init:function(){this.setColour(rm),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]}))}},Cm={init:function(){this.setColour(rm),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)}},Sm={init:function(){this.setColour(rm),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)}},Am={init:function(){this.setColour(rm),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)}},Lm={init:function(){this.setColour(rm),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)}},Nm={init:function(){this.setColour(rm),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)}},Dm={init:function(){this.setColour(rm),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)}},fm={init:function(){this.setColour(rm),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)}},Pm={init:function(){this.setColour(rm),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)}},Fm={init:function(){this.setColour(rm),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)}},vm={init:function(){this.setColour(rm),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")}},Ym={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(rm),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]}))}},xm={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(rm),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]}))}},Xm={init:function(){this.setColour(rm),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)}},bm={init:function(){this.setColour(rm),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)}},Vm=100,ym={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(Vm),this.appendDummyInput().appendField(t).appendField(ht.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Bm={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(Vm),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)}},Gm={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(Vm),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)}},Um={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(Vm),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)}},wm=100,km={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(wm),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)}},Hm={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(wm),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wm={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(wm),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)}},Km={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(wm),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)}},Jm={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(wm),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)}},Qm={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(wm),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)}},zm={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(wm),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)}},qm={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(wm),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)}},jm="#A58C5B",Zm={init:function(){this.setColour(jm),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)}},$m={init:function(){this.setColour(jm),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)}},tO={init:function(){this.setColour(jm),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)}},eO={init:function(){this.setColour(jm),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)}},iO={init:function(){this.setColour(jm),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}))}},nO={init:function(){this.setColour(jm),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}))}},sO={init:function(){this.setColour(jm),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)}},oO={init:function(){var t=[[ht.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ht.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(jm),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]}))}},_O={init:function(){this.setColour(jm),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)}},pO={init:function(){this.setColour(jm),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)}},aO={init:function(){this.setColour(jm),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}))}},uO={init:function(){this.setColour(jm),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]}))}},rO={init:function(){this.setColour(jm),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]}))}},lO={init:function(){this.setColour(jm),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)}},dO={init:function(){this.setColour(jm),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)}},IO={init:function(){this.setColour(jm),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"],["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")}},TO={init:function(){this.setColour(jm),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)}},hO={init:function(){this.setColour(jm),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)}},MO={init:function(){this.setColour(jm),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)}},mO={init:function(){this.setColour(jm),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)}},OO={init:function(){this.setColour(jm),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)}},EO={init:function(){this.setColour(jm),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)}},RO={init:function(){this.setColour(jm),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]}))}},cO={init:function(){this.setColour(jm),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]}))}},gO={init:function(){this.setColour(jm),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)}},CO={init:function(){this.setColour(jm),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)}},SO={init:function(){this.setColour(jm),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}))}},AO={init:function(){this.setColour(jm),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}))}},LO={init:function(){this.setColour(jm),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}))}},NO={init:function(){this.setColour(jm),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}))}},DO={init:function(){this.setColour(jm),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)}},fO={init:function(){this.setColour(jm),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)}},PO={init:function(){this.setColour(jm),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]}))}},FO={init:function(){this.setColour(jm),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)}},vO={init:function(){this.setColour(jm),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")}},YO={init:function(){this.setColour(jm),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)}},xO={init:function(){this.setColour(jm),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)}},XO={init:function(){this.setColour(jm),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)}},bO={init:function(){this.setColour(jm),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)}},VO={init:function(){this.setColour(jm),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)}},yO={init:function(){this.setColour(jm),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)}},BO={init:function(){this.setColour(jm),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)")}},GO={init:function(){this.setColour(jm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},UO={init:function(){this.setColour(jm),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)}},wO={init:function(){this.setColour(jm),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},ZA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},$A=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"},tL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},eL=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"},iL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},nL=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"},sL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},oL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},_L=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]},pL=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"},aL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},uL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},rL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},lL=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]},dL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},IL=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"},TL=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"},hL=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"},ML=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"}},mL=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"},OL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},EL=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]},RL=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"},cL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},gL=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"}},CL=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"}},SL=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"},AL=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"},LL=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},NL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},DL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},fL=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"},PL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},FL=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"},vL=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},YL=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]},xL=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},XL=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},bL=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},VL=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},yL=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},BL=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"},GL=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"},UL=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"},wL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},kL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},HL=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"},WL=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"},KL=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"},JL=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"},QL=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"},zL=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"},qL=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"},jL=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"},ZL=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"},$L=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"},tN=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"},eN=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]},iN=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"},nN=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"},sN=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"},oN=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"},_N=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"},pN=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")},aN=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},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.frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+",delay = "+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},rN=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},lN=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"},dN=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]},IN=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]},TN=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},KN=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},JN=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"},QN=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},zN=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"},qN=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},jN=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},ZN=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},$N=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},tD=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"},eD=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"},iD=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]},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(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 _},sD=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]},oD=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"},_D=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},pD=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},aD=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"},uD=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"},rD=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"},lD=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},dD=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},ID=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},TD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},hD=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)||Mt.Profile.default.serial)+")\n"},OY=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"},EY=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"},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"},PY=function(t,e){return e.definitions_.import_os="import os","os.uname()"},FY=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"},VY=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},yY=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=FY,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 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"]]},QY["元控"]={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"]]},QY["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 zY=QY,qY=20,jY={init:function(){this.setColour(qY),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)}},ZY={init:function(){this.setColour(qY),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)}},$Y={init:function(){this.setColour(qY),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)}},tx={init:function(){this.setColour(qY),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)}},ex={init:function(){this.setColour(qY),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)}},ix={init:function(){this.setColour(qY),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)}},nx={init:function(){this.setColour(qY),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)}},sx={init:function(){this.setColour(qY),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)}},ox={init:function(){this.setColour(qY),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)}},_x={init:function(){this.setColour(qY),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)}},px={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)}},ax={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(qY),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")}},rx={init:function(){this.setColour(qY),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")}},lx={init:function(){this.setColour(qY),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")}},dx={init:function(){this.setColour(qY),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")}},Ix=ax,Tx=nx,hx=dx,Mx=_x,mx=px,Ox=230,Ex={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},Rx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},Cx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Sx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Ax={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},Lx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Nx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},Dx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},fx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},Px={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Fx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},vx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Yx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},xx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Xx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},bx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},yx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Bx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Gx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Ux={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},wx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},Hx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},Wx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},Jx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},Qx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},qx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},Zx={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},$x={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tX={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},eX={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},iX={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nX={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sX={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},oX={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},_X={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},pX={init:function(){this.setColour(Ox),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},aX={init:function(){this.setColour(Ox),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]},rX=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"},lX=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},dX=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"},IX=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"},TX=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"},hX=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"},MX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},mX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},OX=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"},EX=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"},RX=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"},cX=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"},gX=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"},CX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},SX=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"},AX=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},LX=AX,NX=AX,DX=AX,fX=AX,PX=AX,FX=AX,vX=AX,YX=AX,xX=AX,XX=AX,bX=AX,VX=AX,yX=AX,BX=AX,GX=AX,UX=AX,wX=AX,kX=AX,HX=AX,WX=AX,KX=AX,JX=AX,QX=AX,zX=AX,qX=AX,jX=AX,ZX=AX,$X=AX,tb=AX,eb=AX,ib=AX,nb=AX,sb=AX,ob=AX,_b=AX,pb=AX,ab=AX,ub=AX,rb=AX,lb=AX,db=AX,Ib=AX,Tb=AX,hb=AX;Object.assign(ht.Variables,Ot),Object.assign(ht.Procedures,Gn),ht.Python=Za,ht.generator=Za,Mt.Profile.default={},Object.assign(Mt.Profile,zY),Object.assign(Mt.Profile.default,zY["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,z,J,K,$,Z,tt,q,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)}},zt={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)}},qt={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=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 ie={init:function(){this.setColour(ee),this.appendDummyInput().appendField(new ht.FieldTextInput("0",ht.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MATH_NUMBER_TOOLTIP)}},ne={init:function(){this.setColour(ee);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]}))}},se={init:function(){this.setColour(ee);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]}))}},oe={init:function(){this.setColour(ee),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]}))}},_e={init:function(){this.setColour(ee),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]}))}},pe={init:function(){this.setColour(ee),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ht.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ae={init:function(){this.setColour(ee),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]}))}},ue={init:function(){var t=[[ht.Msg.MATH_BIN,"bin"],[ht.Msg.MATH_OCT,"oct"],[ht.Msg.MATH_HEX,"hex"]];this.setColour(ee),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]}))}},re={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(ee),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]}))}},le={init:function(){var t=[[ht.Msg.MIXLY_MAX,"max"],[ht.Msg.MIXLY_MIN,"min"]];this.setColour(ee),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]}))}},de={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(ee),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]}))}},Ie={init:function(){var t=[[ht.Msg.LANG_MATH_INT,"int"],[ht.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(ee),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]}))}},Te={init:function(){this.setColour(ee),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)}},he={init:function(){this.setColour(ee),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(ee),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)}},me={init:function(){this.setColour(ee),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)}},Oe={init:function(){this.setColour(ee),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)}},Ee={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"],[ht.Msg.MIXLY_TO_BITES,"b"]];this.setColour(ee),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]}))}},Re={init:function(){var t=[[ht.Msg.MIXLY_TO_INT,"int"],[ht.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(ee),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]}))}},ce=he,ge=160,Ce={init:function(){this.setColour(ge),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,'"')}},Se={init:function(){this.setColour(ge),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 Ae={init:function(){this.setColour(ge),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,'"')}},Le={init:function(){this.setColour(ge),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)}},Ne={init:function(){this.setColour(ge),this.appendValueInput("VAR").setCheck(Number).appendField(ht.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},De={init:function(){this.setColour(ge),this.appendValueInput("VAR").setCheck(String).appendField(ht.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},fe={init:function(){this.setColour(ge),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},Pe={init:function(){this.setColour(ge),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Fe={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(ge),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)}},ve={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ge),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)}},Ye={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(ge),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(ge),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"))}},Xe={init:function(){this.setHelpUrl(ht.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(ge),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)}},be={init:function(){var t=[[ht.Msg.MIXLY_EQUALS,"==="],[ht.Msg.MIXLY_STARTSWITH,"startswith"],[ht.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(ge),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ht.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ve={init:function(){this.setColour(ge),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)}},ye={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(ge),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]}))}},Be={init:function(){var t=[[ht.Msg.TEXT_LJUST,"ljust"],[ht.Msg.TEXT_CENTER,"center"],[ht.Msg.TEXT_RJUST,"rjust"]];this.setColour(ge),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)}},Ge={init:function(){this.setColour(ge),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)}},Ue={init:function(){this.setColour(ge),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)}},we={init:function(){this.setColour(ge),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)}},ke={init:function(){this.setColour(ge),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)}},He={init:function(){var t=[[ht.Msg.TEXT_TRIM_BOTH,"strip"],[ht.Msg.TEXT_TRIM_LEFT,"lstrip"],[ht.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(ge),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]}))}},We={init:function(){this.setColour(ge),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")}},Ui={init:function(){this.setColour(Bi),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},wi={init:function(){this.setColour(Bi),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}},ki={init:function(){this.setColour(Bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_KEYS),this.setTooltip(ht.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Hi={init:function(){this.setColour(Bi),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)}},Wi={init:function(){this.setColour(Bi),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)}},Ki={init:function(){this.setColour(Bi),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)}},Ji={init:function(){this.setColour(Bi),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(Bi),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(Bi),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)}},qi={init:function(){this.setColour(Bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_ITEMS),this.setTooltip(ht.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},ji={init:function(){this.setColour(Bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.DICT_VALUES),this.setTooltip(ht.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Bi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LENGTH),this.setTooltip(ht.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},$i={init:function(){this.setColour(Bi),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)}},tn={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(Bi),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")}},en={init:function(){this.setColour(Bi),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)}},nn={init:function(){this.setColour(Bi),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)}},sn={init:function(){this.setColour(Bi),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")}},on={init:function(){this.setColour(Bi),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},_n={init:function(){this.setColour(Bi),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)}},pn={init:function(){this.setColour(Bi),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)}},an=210,un={init:function(){var t=ht.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(an),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]}},rn={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(an),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)}},ln={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(an),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]}))}},dn={init:function(){this.setColour(an),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ht.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ht.Msg.LOGIC_NEGATE_TOOLTIP)}},In={init:function(){var t=[[ht.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ht.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(an),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ht.FieldDropdown(t),"BOOL"),this.setTooltip(ht.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Tn={init:function(){this.setColour(an),this.setOutput(!0),this.appendDummyInput().appendField(ht.Msg.LOGIC_NULL),this.setTooltip(ht.Msg.LOGIC_NULL_TOOLTIP)}},hn={init:function(){this.setColour(an),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(an),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)}},mn={init:function(){var t=[[ht.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ht.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(an),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)}},On={init:function(){this.setColour(an),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},En={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)}},Rn={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")}},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.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+_}))}},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.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+_}))}},Cn={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)}},Sn={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)}},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_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}))}},Ln={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)}},Nn={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)}},Dn={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)}},fn={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)}},Pn={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 Fn={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)}},vn={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)}},Yn={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}))}},Xn={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)}},bn={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]}))}},Vn={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)}},yn={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)}},Bn={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]}))}},Gn={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)}},Un={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()}},wn={};wn.NAME_TYPE=ht.PROCEDURE_CATEGORY_NAME,wn.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)}},Vs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(ht.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ys={init:function(){this.setColour(Fs),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)}},Bs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(new ht.FieldTextInput("property"),"KEY").appendField(":").appendField(new ht.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(Fs),this.appendDummyInput().appendField(ht.Msg.HTML_TEXT).appendField(new ht.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 ht.FieldTable(""),"TEXT")}},Hs={init:function(){this.setColour(ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT")}},Ws={init:function(){this.setColour(ws),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ht.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Ks={init:function(){this.setColour(ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Js={init:function(){this.setColour(ws),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(ws),this.appendValueInput("VALUE").appendField(ht.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 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 vp=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]},xp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Xp=function(t,e){return["None",e.ORDER_ATOMIC]},bp=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]},Vp=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]},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]},Bp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Gp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Up=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},wp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},kp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Hp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Wp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Kp=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]},Qp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},zp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},qp=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]},Zp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},$p=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ta=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},ea=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"},ia=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},na=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},sa=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},oa=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"},_a=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]},pa=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"},aa=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"},ua=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]},ka=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ha=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},Wa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ka=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]},Qa=function(t,e){return'"},za=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},qa=function(){return this.getFieldValue("TEXT")+"\n"},ja=function(t){return t.getFieldValue("TEXT")+"\n"},Za=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},$a=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},tu=function(){return""},eu=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},iu=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")},su.scrubNakedValue=function(t){return t+"\n"},su.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},su.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},su.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ht.utils.string.wrap(o,su.COMMENT_WRAP-3),n+=su.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const ou="#74A55B",_u={init:function(){this.setColour(ou),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)}},pu={init:function(){this.setColour(ou),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)}},au={init:function(){this.setColour(ou),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)}},uu={init:function(){this.setColour(ou),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)}},ru={init:function(){this.setColour(ou),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)}},lu={init:function(){this.setColour(ou),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)}},du={init:function(){this.setColour(ou),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)}},Iu={init:function(){this.setColour(ou),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tu={init:function(){this.setColour(ou),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)}},hu={init:function(){this.setColour(ou),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)}},Mu={init:function(){this.setColour(ou),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)}},mu={init:function(){this.setColour(ou),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)}},Ou={init:function(){this.setColour(ou),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)}},Eu={init:function(){this.setColour(ou),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)}},Ru={init:function(){this.setColour(ou),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(ou),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)}},gu={init:function(){this.setColour(ou),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)}},Cu={init:function(){this.setColour(ou),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)}},Su={init:function(){this.setColour(ou),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)}},Au={init:function(){this.setColour(ou),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通信")}},Lu={init:function(){this.setColour(ou),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)")}},Nu={init:function(){this.setColour(ou),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)")}},Du={init:function(){this.setColour(ou),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(ou),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)}},Pu={init:function(){this.setColour(ou),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)}},Fu={init:function(){this.setColour(ou),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)}},vu={init:function(){this.setColour(ou),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")}},Yu={init:function(){this.setColour(ou),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)}},xu={init:function(){this.setColour(ou),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)}},Xu={init:function(){this.setColour(ou),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)}},bu={init:function(){this.setColour(ou),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)}},Vu={init:function(){this.setColour(ou),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},yu={init:function(){this.setColour(ou),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)}},Bu={init:function(){this.setColour(ou),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)}},Gu={init:function(){this.setColour(ou),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)}},Uu={init:function(){this.setColour(ou),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)}},wu={init:function(){this.setColour(ou),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)}},ku={init:function(){this.setColour(ou),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)}},Hu={init:function(){this.setColour(ou),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)}},Wu={init:function(){this.setColour(ou),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)}},Ku={init:function(){this.setColour(ou),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)}},Ju={init:function(){this.setColour(ou),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)}},Qu={init:function(){this.setColour(ou),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)}},zu={init:function(){this.setColour(ou),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)}},qu={init:function(){this.setColour(ou),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)}},ju={init:function(){this.setColour(ou),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)}},Zu="#6C9858",$u={init:function(){this.setColour(Zu),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},tr={init:function(){this.setColour(Zu),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)}},er={init:function(){this.setColour(Zu),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)}},ir={init:function(){this.setColour(Zu),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)}},nr={init:function(){this.setColour(Zu),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)}},sr={init:function(){this.setColour(Zu),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%)")}},or={init:function(){this.setColour(Zu),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_OFF,"0"],[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()}},_r={init:function(){this.setColour(Zu),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)}},pr={init:function(){this.setColour(Zu),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)}},ar={init:function(){this.setColour(Zu),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)}},ur={init:function(){this.setColour(Zu),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)")}},rr={init:function(){this.setColour(Zu),this.appendDummyInput("").appendField(new ht.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},lr={init:function(){this.setColour(Zu),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)}}},dr={init:function(){this.setColour(Zu),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)}},Ir={init:function(){this.setColour(Zu),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("")}},Tr={init:function(){this.setColour(Zu),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("")}},hr={init:function(){this.setColour(Zu),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)}},Mr={init:function(){this.setColour(Zu),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)}}},mr={init:function(){this.setColour(Zu),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)}},Or={init:function(){this.setColour(Zu),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("")}},Er={init:function(){this.setColour(Zu),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)}},Rr={init:function(){this.setColour(Zu),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(Zu),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)}},gr={init:function(){this.setColour(Zu),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)}},Cr={init:function(){this.setColour(Zu),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)}},Sr={init:function(){this.setColour(Zu),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(Zu),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)}},Lr={init:function(){this.setColour(Zu),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)}},Nr={init:function(){this.setColour(Zu),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)}},Dr={init:function(){this.setColour(Zu),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(Zu),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)}},Pr={init:function(){this.setColour(Zu),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)}},Fr={init:function(){this.setColour(Zu),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},vr={init:function(){this.setColour(Zu),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)}},Yr={init:function(){this.setColour(Zu),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)}},xr={init:function(){this.setColour(Zu),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)}},Xr={init:function(){this.setColour(Zu),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)}},br={init:function(){this.setColour(Zu),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)}},Vr={init:function(){this.setColour(Zu),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)}},yr={init:function(){this.setColour(Zu),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)}},Br={init:function(){this.setColour(Zu),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)}},Gr={init:function(){this.setColour(Zu),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_LED_GETONOFF)}},Ur={init:function(){this.setColour(Zu),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)}},wr={init:function(){this.setColour(Zu),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)}},kr={init:function(){this.setColour(Zu),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)}},Hr={init:function(){this.setColour(Zu),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)}},Wr={init:function(){this.setColour(Zu),this.appendValueInput("PATH").appendField(ht.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kr={init:function(){this.setColour(Zu),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)}},Jr={init:function(){this.setColour(Zu),this.appendDummyInput().appendField(ht.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qr={init:function(){this.setColour(Zu),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()}},zr={init:function(){this.setColour(Zu),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)}},qr={init:function(){this.setColour(Zu),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)}},jr="#90A244",Zr={init:function(){this.setColour(jr),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+"MixGo AI"+ht.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},$r={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_QR_CODE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.OLED_STRING,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},tl={init:function(){this.setColour(jr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_QR_CODE+ht.Msg.MIXPY_OBJECT,"qrcode"],[ht.Msg.MIXLY_BAR_CODE+ht.Msg.MIXPY_OBJECT,"barcode"],[ht.Msg.MIXLY_TAG+ht.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},el={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},il={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().appendField(ht.Msg.SOFT_RESET+ht.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ht.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},nl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(ht.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},sl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_BAR_CODE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.OLED_STRING,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},ol={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},_l={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_TAG+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.OLED_STRING,"info1"],[ht.Msg.blockpy_turtle_rotate+ht.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},pl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},al={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LINE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LINE_ANGLE,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},ul={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_CIRCLE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_CIRCLE_AREA,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ll={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_RECT+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_CIRCLE_AREA,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},Il={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Tl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["RGB"+ht.Msg.HTML_COLOUR,"[0]"],["LAB"+ht.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},hl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},Ml={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_COLOR_CHASE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_CIRCLE_AREA,"info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ml={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+ht.Msg.MIXLY_COLOR_LAB).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},Ol={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_OBJECT_LIST).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+ht.Msg.MIXLY_MODEL_NAME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ht.Msg.MIXLY_TRAIN_TIME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ht.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},El={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_OBJECT_LIST).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_MODEL_NAME).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ht.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Rl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LOCAL_CLASS+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},cl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},gl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_MP3_VOL).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_ANCHOR).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_MODEL_PATH).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ht.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Sl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_YOLO_RECOGNIZE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"],[ht.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ht.Msg.MIXLY_POSITION_XY,"xc"],[ht.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ht.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Al={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(ht.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ht.Msg.MIXLY_ESP32_THRESHOLD).setAlign(ht.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Ll={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_LICENSEPLATE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},Nl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},Dl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_FACE+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},fl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Pl={init:function(){this.setColour(jr),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_20OBJECTS+ht.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET).appendField(new ht.FieldDropdown([["ID","info1"],[ht.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ht.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ht.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ht.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ht.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ht.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Fl={init:function(){this.setColour(jr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},vl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SETUP).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_AipSpeech_asr,"ASR"],[ht.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_Client).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Yl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_AI_UNIT).appendField(ht.Msg.MIXLY_Client).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(ht.Msg.OLED_STRING).setAlign(ht.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},xl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_AipSpeech_asr).appendField(ht.Msg.MIXLY_Client).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(ht.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ht.inputs.Align.RIGHT),this.appendDummyInput("").appendField(ht.Msg.MIXLY_LANGUAGE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[ht.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[ht.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Xl="#2FAD7A",bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},yl={init:function(){this.jsonInit({inputsInline:!0,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},Bl={init:function(){this.jsonInit({inputsInline:!0,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},Gl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Ul={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Kl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},Jl={init:function(){this.jsonInit({message0:ht.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[ht.Msg.MIXLY_PYTHON_PERIODIC,"False"],[ht.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},Ql={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},zl={init:function(){this.jsonInit({inputsInline:!0,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(ht.CONTROLS_REPEAT_INPUT_DO)}},ql={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Xl,helpUrl:ht.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:ht.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:ht.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},jl=140,Zl={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},$l={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},td={init:function(){this.setColour(jl),this.appendValueInput("SUB").appendField("I2C "+ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(ht.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(ht.Msg.MIXLY_FREQUENCY).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_I2C_INIT)}},ed={init:function(){this.setColour(jl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},id={init:function(){this.setColour(jl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},nd={init:function(){this.setColour(jl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_I2C_SCAN1+ht.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_I2C_SCAN)}},sd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(ht.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},od={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_SET)}},_d={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_SET+ht.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},pd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ht.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READ)}},ad={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ht.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ht.Msg.LANG_MATH_BYTE+" "+ht.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},ud={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ht.Msg.MIXLY_SERIAL_READ+ht.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READINTO)}},rd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ht.Msg.MIXLY_SERIAL_READ+ht.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},ld={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_WRITE)}},dd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(ht.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},Id={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},Td={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_READ+ht.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},hd={init:function(){this.setColour(jl),this.appendValueInput("PIN",Number).appendField(ht.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Md={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+ht.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(ht.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_INIT)}},md={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_SCAN)}},Od={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_READ)}},Ed={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_ESP32_WRITE).appendField(new ht.FieldDropdown([[ht.Msg.LANG_MATH_STRING,"write"],[ht.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_WRITE)}},Rd={init:function(){this.setColour(jl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(ht.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_SELECT)}},cd={init:function(){this.setColour(jl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_OW_RESET)}},gd={init:function(){this.setColour(jl),this.appendValueInput("PIN").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_IR_INPUT1,"8"],[ht.Msg.MIXLY_IR_INPUT2,"16"],[ht.Msg.MIXLY_IR_INPUT3,"0"],[ht.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(ht.Msg.CONTROLS_REPEAT_INPUT_DO+ht.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_IR_CMD_CODE,"0"],[ht.Msg.MIXLY_IR_ADDR_CODE,"1"],[ht.Msg.MIXLY_IR_RAW_CODE,"2"],[ht.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXlY_RECV_FUN).appendField(new ht.FieldDropdown([[ht.Msg.MILY_PAUSE,"True"],[ht.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Ld={init:function(){this.setColour(jl),this.appendValueInput("time").appendField(ht.Msg.MIXlY_RECV_FUN).appendField(ht.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(jl),this.appendValueInput("PIN").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.MIXLY_IR_SEND).appendField(ht.Msg.MIXLY_PIN),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_IR_SEND_samsung1,"False"],[ht.Msg.MIXLY_IR_SEND_samsung2,"True"],[ht.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(ht.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(ht.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(ht.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(ht.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},fd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(ht.Msg.MIXLY_IR_PULSE).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(ht.Msg.MIXLY_IR_RAW_CODE).setAlign(ht.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},vd={init:function(){this.setColour(jl),this.appendValueInput("VAR").appendField(ht.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catEthernet_init+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ht.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yd={init:function(){this.setColour(jl),this.appendValueInput("VAR").appendField(ht.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catEthernet_init+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ht.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_ONEWIRE_SCAN+ht.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_TEXT_JOIN+ht.Msg.MSG.catBLE).appendField(new ht.FieldDropdown([[ht.Msg.HTML_NAME,"name"],[ht.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catBLE+ht.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(ht.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MSG.catBLE+ht.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},Gd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ht.Msg.CONTROLS_REPEAT_INPUT_DO+ht.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ud={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField(ht.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ht.Msg.CONTROLS_REPEAT_INPUT_DO+ht.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ht.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ht.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(ht.Msg.MIXLY_TX_POWER).appendField(new ht.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ht.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ht.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},Wd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},Jd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new ht.FieldDropdown([["("+ht.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+ht.Msg.OLED_STRING+")",""],[ht.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[ht.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},zd={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(ht.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_SETTING+ht.Msg.MIXLY_MP_ESPNOW_RADIO+ht.Msg.MIXLY_TX_POWER).appendField(new ht.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},$d={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[ht.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tI={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},eI={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},iI={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},sI={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ht.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},oI={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},_I={init:function(){this.setColour(jl),this.appendDummyInput().appendField(ht.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ht.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ht.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},pI={init:function(){this.setColour(jl),this.appendValueInput("SUB").appendField("Lora"+ht.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(ht.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(ht.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(ht.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(ht.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(ht.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new ht.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_LORA_INIT_TOOLTIP)}},aI={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ht.Msg.MIXLY_GET+ht.Msg.MIXLY_PACKAGE).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[ht.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},uI={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ht.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},rI={init:function(){this.setColour(jl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},lI={init:function(){this.setColour(jl),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")}},dI={init:function(){this.appendValueInput("VAL");var t=[[ht.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(jl),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]}))}},II={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(jl),this.appendDummyInput("").appendField(ht.Msg.blockpy_CONDUCT).appendField(new ht.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ht.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},TI=td,hI=ed,MI=id,mI=nd,OI=sd,EI=od,RI=_d,cI=pd,gI=ad,CI=ud,SI=rd,AI=ld,LI=dd,NI=Id,DI=Td,fI=120;({init:function(){this.setColour(fI),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ht.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new ht.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ht.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(fI);var t=new ht.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ht.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const PI="5BA5A5",FI={init:function(){this.setColour(PI),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},vI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},YI={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},xI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},bI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yI={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},BI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},GI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},UI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},wI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},kI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},HI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ht.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},WI={init:function(){var t=[[ht.Msg.MICROBIT_DISPLAY_UNION,"add"],[ht.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ht.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ht.Msg.MIXLY_MICROBIT_image_add,"-":ht.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},KI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(PI),this.appendValueInput("A").setCheck("esp32_image").appendField(ht.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},JI={init:function(){this.setColour(PI),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.appendValueInput("row").appendField(ht.Msg.MIXLY_SETUP+ht.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},QI={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.OLEDDISPLAY+ht.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(PI),this.setTooltip(ht.Msg.MIXLY_DF_LCD+ht.Msg.OLEDDISPLAY+ht.Msg.MIXLY_MICROBIT_TYPE_STRING)}},zI={init:function(){var t=[[ht.Msg.MIXLY_HEIGHT,"height"],[ht.Msg.MIXLY_WIDTH,"width"]];this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ht.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ht.Msg.MIXLY_MICROBIT_IMAGE+{height:ht.Msg.MIXLY_HEIGHT,width:ht.Msg.MIXLY_WIDTH}[t]}))}},qI={init:function(){var t=[[ht.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ht.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RECT).appendField(new ht.FieldDropdown(t),"OP"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_OLED_RECT)}},jI={init:function(){this.setColour(PI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_DISPLAY_DRAW).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_DISPLAY_RLINE,"hline"],[ht.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_OLED_LINE)}},ZI={init:function(){this.setColour(PI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_OLED_LINE_ARBIT)}},$I={init:function(){this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(ht.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},tT={init:function(){this.setColour(PI),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},eT={init:function(){this.setColour(PI),this.appendDummyInput("").appendField(ht.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(ht.Msg.LISTS_SET_INDEX_SET+ht.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_RGB_NUM_R_G_B)}},iT={init:function(){this.setColour(PI),this.appendDummyInput("").appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ESP32_ON,"ON"],[ht.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},nT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ht.Msg.MIXLY_LCD_STAT_CLEAR,1:ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ht.Msg.MIXLY_DF_LCD+i[e]}))}},sT={init:function(){this.setColour(PI),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new ht.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},oT={init:function(){var t=[[ht.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ht.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ht.FieldDropdown(t),"OP"),this.jsonInit({message0:ht.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},_T={init:function(){var t=[[ht.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ht.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(PI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_DISPLAY_DRAW+ht.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ht.FieldDropdown(t),"OP"),this.jsonInit({message0:ht.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ht.Msg.MIXLY_DISPLAY_DRAW+ht.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},pT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(ht.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},aT={init:function(){this.setColour(PI),this.appendValueInput("VAR").appendField(ht.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(ht.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(ht.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(ht.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(ht.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(ht.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.OLED_SHOW_BMP_TOOLTIP)}},uT={init:function(){this.setColour(PI),this.appendValueInput("VAR").appendField(ht.Msg.OLED),this.appendDummyInput("").appendField(ht.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(ht.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(ht.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ht.Msg.OLED_DRAW_PIXE_TOOLTIP)}},rT={init:function(){this.setColour(PI),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ht.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},lT={init:function(){this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_ON,"on"],[ht.Msg.MIXLY_OFF,"off"],[ht.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},dT={init:function(){this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},IT={init:function(){this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(ht.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ht.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},TT={init:function(){this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_4DIGITDISPLAY).appendField(new ht.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ht.inputs.Align.RIGHT).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},hT={init:function(){this.setColour(PI),this.appendValueInput("SPISUB").appendField(ht.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+ht.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(ht.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(ht.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.blockpy_turtle_rotate).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_NO,"0"],[ht.Msg.ANTI_CLOCKWISE+"90°","1"],[ht.Msg.ANTI_CLOCKWISE+"180°","2"],[ht.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},MT={init:function(){this.setColour(PI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},mT={init:function(){this.setColour(PI);let t=new ht.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(ht.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},OT={init:function(){this.setColour(PI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},ET={init:function(){this.setColour(PI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},RT={init:function(){this.setColour(PI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catTFT),this.appendDummyInput().appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ht.Msg.MIXLY_LCD_STAT_CLEAR,1:ht.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ht.Msg.MIXLY_DF_LCD+i[e]}))}},gT={init:function(){this.setColour(PI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:ht.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ht.Msg.MIXLY_OLED_LINE_ARBIT)}},CT={init:function(){this.setColour(PI),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(ht.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ht.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},ST={init:function(){this.setColour(PI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.array2_rows),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},AT={init:function(){this.setColour(PI),this.appendValueInput("SUB").appendField(ht.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_SERIAL_PRINT+ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},LT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catLCD),this.appendDummyInput().appendField(ht.Msg.TFT_Brightness).appendField(new ht.FieldDropdown([[ht.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[ht.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:ht.Msg.MIXLY_MICROBIT_Turn_on_display,0:ht.Msg.MIXLY_MICROBIT_Turn_off_display};return ht.Msg.MSG.catLCD+ht.Msg.TFT_Brightness+i[e]}))}},NT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catLCD),this.setColour(PI),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},DT={init:function(){this.setColour(PI),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(ht.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ht.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},fT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},PT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},FT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},vT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},YT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},XT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VT={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},yT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},BT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},GT={init:function(){this.setColour(PI),this.appendValueInput("SUB").setCheck("var").appendField(ht.Msg.MSG.catOLED),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},UT={init:function(){this.jsonInit({colour:PI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},wT={init:function(){this.jsonInit({colour:PI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ht.Msg.mpython_vertical,"0"],[ht.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},kT={init:function(){this.jsonInit({colour:PI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ht.Msg.mpython_display_hline_1,"1"],[ht.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.mpython_display_line_TOOLTIP,message0:ht.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},HT="#569A98",WT={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==Mt.Boards.getSelectedBoardKey()&&this.setTooltip(ht.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},KT={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},JT={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},QT={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zT={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qT={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jT={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(HT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},ZT={init:function(){this.jsonInit({colour:HT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ht.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ht.Msg.MIXLY_MICROBIT_Built_in_image})}},$T={init:function(){this.jsonInit({colour:HT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ht.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ht.Msg.MIXLY_MICROBIT_Built_in_image})}},th={init:function(){var t=[[ht.Msg.MICROBIT_DISPLAY_UNION,"add"],[ht.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(HT),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ht.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ht.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ht.Msg.MIXLY_MICROBIT_image_add,"-":ht.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},eh={init:function(){this.setColour(HT),this.appendValueInput("A").setCheck("esp32_image").appendField(ht.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},ih={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(HT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ht.Msg.MIXLY_UP,shift_down:ht.Msg.MIXLY_DOWN,shift_left:ht.Msg.MIXLY_LEFT,shift_right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},nh={init:function(){this.setColour(HT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},sh={init:function(){this.setColour(HT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},oh={init:function(){this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},_h={init:function(){this.setColour(HT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},ph={init:function(){this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},ah={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(HT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},uh={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(HT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},rh={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(HT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},lh={init:function(){var t=[["4x5"+ht.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ht.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ht.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.OLED_SET_FONT).appendField(new ht.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dh={init:function(){this.setColour(HT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},Ih={init:function(){this.setColour(HT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},Th={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ht.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},hh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Mh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},mh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Oh={init:function(){this.setColour(HT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Eh={init:function(){this.jsonInit({colour:HT,args0:[{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Rh={init:function(){this.jsonInit({colour:HT,args0:[{name:"state",options:[[ht.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ht.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ht.Msg.mpython_vertical,"0"],[ht.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ht.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},ch={init:function(){this.jsonInit({colour:HT,args0:[{name:"state",options:[[ht.Msg.mpython_display_hline_1,"1"],[ht.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.mpython_display_line_TOOLTIP,message0:ht.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},gh={init:function(){this.jsonInit({colour:HT,args0:[{type:"field_label",name:"size_image",text:ht.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},Ch={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(HT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},Sh={init:function(){this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Ah={init:function(){this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Lh={init:function(){this.setColour(HT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Nh={init:function(){var t=[[ht.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ht.Msg.CLOCKWISE+"90"+ht.Msg.blockpy_setheading_degree,"1"],[ht.Msg.CLOCKWISE+"180"+ht.Msg.blockpy_setheading_degree,"2"],[ht.Msg.CLOCKWISE+"270"+ht.Msg.blockpy_setheading_degree,"3"]];this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ht.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Dh={init:function(){this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ht.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(HT),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Create_image1)}},fh={init:function(){this.setColour(HT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},Ph={init:function(){this.setColour(HT),this.appendValueInput("data").appendField(ht.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.OLED_BITMAP_OR_STRING)}},Fh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ht.Msg.TEXT_CENTER).appendField(new ht.FieldDropdown([[ht.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ht.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},vh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ht.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},xh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xh={init:function(){this.setColour(HT),this.appendValueInput("data").setCheck(String).appendField(ht.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.jsonInit({colour:HT,args0:[{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ht.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Vh={init:function(){this.jsonInit({colour:HT,args0:[{name:"dir_h_v",options:[[ht.Msg.mpython_vertical,"0"],[ht.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ht.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},yh={init:function(){this.jsonInit({colour:HT,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,tooltip:ht.Msg.mpython_display_line_TOOLTIP,message0:ht.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Bh={init:function(){var t=[[ht.Msg.MIXLY_UP,"shift_up"],[ht.Msg.MIXLY_DOWN,"shift_down"],[ht.Msg.MIXLY_LEFT,"shift_left"],[ht.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(HT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_LET2).appendField(new ht.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ht.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ht.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ht.Msg.DISPLAY_IMAGE_LET,n=ht.Msg.DISPLAY_IMAGE_LET2,s=ht.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ht.Msg.MIXLY_UP,down:ht.Msg.MIXLY_DOWN,left:ht.Msg.MIXLY_LEFT,right:ht.Msg.MIXLY_RIGHT}[t]+s}))}},Gh={init:function(){this.setColour(HT),this.appendDummyInput("").appendField(ht.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ht.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},Uh={init:function(){this.setColour(HT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_LCD_SETCOLOR).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ht.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},wh={init:function(){this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_MICROBIT_Clear_display)}},kh={init:function(){this.setColour(HT),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Hh={init:function(){this.setColour(HT),this.appendValueInput("x").setCheck(Number).appendField(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Wh={init:function(){this.setColour(HT),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Kh={init:function(){this.setColour(HT),this.appendValueInput("SUB").appendField(ht.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ht.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ht.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ht.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Jh={init:function(){this.setColour(HT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Qh={init:function(){this.setColour(HT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ht.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ht.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ht.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},zh={init:function(){this.setColour(HT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},qh={init:function(){this.setColour(HT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ht.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},jh={init:function(){this.jsonInit({colour:HT,args0:[{name:"shape",options:[[ht.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ht.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ht.Msg.mpython_HELPURL,message0:ht.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},Zh="#777777",$h={init:function(){this.setColour(Zh),this.appendDummyInput("").appendField("from ").appendField(new ht.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ht.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tM={init:function(){this.setColour(Zh),this.appendDummyInput("").appendField("import ").appendField(new ht.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eM={init:function(){this.setColour(Zh),this.appendDummyInput("").appendField(new ht.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ht.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},wM={init:function(){this.setColour(XM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ht.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},kM={init:function(){this.setColour(XM),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}},HM={init:function(){this.setColour(XM),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}},WM={init:function(){this.setColour(XM),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)}},KM={init:function(){this.setColour(XM),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)}},JM={init:function(){this.setColour(XM),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)}},QM={init:function(){this.setColour(XM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zM={init:function(){this.setColour(XM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qM={init:function(){this.setColour(XM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ht.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jM={init:function(){this.setColour(XM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},ZM={init:function(){this.setColour(XM),this.appendDummyInput().appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ht.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},$M={init:function(){this.setColour(XM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},tm={init:function(){this.setColour(XM),this.appendValueInput("VAR").appendField(ht.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},em={init:function(){this.setColour(XM),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(XM),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)}},nm={init:function(){this.setColour(XM),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)}},sm={init:function(){this.setColour(XM),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)}},om={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(XM),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")}},_m={init:function(){this.setColour(XM),this.appendDummyInput().appendField("MixIO").appendField(ht.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},pm={init:function(){this.setColour(XM),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)}},am={init:function(){this.setColour(XM),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)}},um={init:function(){this.setColour(XM),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)}},rm={init:function(){this.setColour(XM),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)}},lm=bM,dm=VM,Im=yM,Tm=BM,hm=UM,Mm=225,mm={init:function(){this.setColour(Mm),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)}},Om={init:function(){this.setColour(Mm),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}))}},Em={init:function(){this.setColour(Mm),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)}},Rm={init:function(){this.setColour(Mm),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}))}},cm={init:function(){this.setColour(Mm),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)}},gm={init:function(){this.setColour(Mm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ht.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},Cm={init:function(){this.setColour(Mm),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]}))}},Sm={init:function(){this.setColour(Mm),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)}},Am={init:function(){this.setColour(Mm),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)}},Lm={init:function(){this.setColour(Mm),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)}},Nm={init:function(){this.setColour(Mm),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)}},Dm={init:function(){this.setColour(Mm),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]}))}},fm={init:function(){this.setColour(Mm),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)}},Pm={init:function(){this.setColour(Mm),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)}},Fm={init:function(){this.setColour(Mm),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)}},vm={init:function(){this.setColour(Mm),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)}},Ym={init:function(){this.setColour(Mm),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)}},xm={init:function(){this.setColour(Mm),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)}},Xm={init:function(){this.setColour(Mm),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)}},bm={init:function(){this.setColour(Mm),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)}},Vm={init:function(){this.setColour(Mm),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)}},ym={init:function(){this.setColour(Mm),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")}},Bm={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(Mm),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]}))}},Gm={init:function(){this.appendValueInput("VAR").appendField(ht.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Mm),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]}))}},Um={init:function(){this.setColour(Mm),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)}},wm={init:function(){this.setColour(Mm),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)}},km=100,Hm={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(km),this.appendDummyInput().appendField(t).appendField(ht.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM),this.setOutput(!0,Number),this.setInputsInline(!0)}},Wm={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(km),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)}},Km={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(km),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)}},Jm={init:function(){if("mixgo_nova"==Mt.Boards.getSelectedBoardKey().split(":")[2])var t="Nova G1";this.setColour(km),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)}},Qm=100,zm={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(Qm),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)}},qm={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(Qm),this.appendValueInput("SUB").appendField(e).setCheck("var"),this.appendDummyInput().appendField(ht.Msg.MIXLY_MIXGO_CAR_BATTERY_LEFT),this.setOutput(!0,Number),this.setInputsInline(!0)}},jm={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(Qm),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)}},Zm={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(Qm),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)}},$m={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(Qm),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)}},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(Qm),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)}},eO={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(Qm),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)}},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(Qm),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)}},nO="#A58C5B",sO={init:function(){this.setColour(nO),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)}},oO={init:function(){this.setColour(nO),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)}},_O={init:function(){this.setColour(nO),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)}},pO={init:function(){this.setColour(nO),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)}},aO={init:function(){this.setColour(nO),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}))}},uO={init:function(){this.setColour(nO),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}))}},rO={init:function(){this.setColour(nO),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(nO),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]}))}},dO={init:function(){this.setColour(nO),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)}},IO={init:function(){this.setColour(nO),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)}},TO={init:function(){this.setColour(nO),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}))}},hO={init:function(){this.setColour(nO),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]}))}},MO={init:function(){this.setColour(nO),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]}))}},mO={init:function(){this.setColour(nO),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)}},OO={init:function(){this.setColour(nO),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)}},EO={init:function(){this.setColour(nO),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"],["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")}},RO={init:function(){this.setColour(nO),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)}},cO={init:function(){this.setColour(nO),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)}},gO={init:function(){this.setColour(nO),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)}},CO={init:function(){this.setColour(nO),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)}},SO={init:function(){this.setColour(nO),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)}},AO={init:function(){this.setColour(nO),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)}},LO={init:function(){this.setColour(nO),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]}))}},NO={init:function(){this.setColour(nO),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]}))}},DO={init:function(){this.setColour(nO),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)}},fO={init:function(){this.setColour(nO),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)}},PO={init:function(){this.setColour(nO),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}))}},FO={init:function(){this.setColour(nO),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}))}},vO={init:function(){this.setColour(nO),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}))}},YO={init:function(){this.setColour(nO),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}))}},xO={init:function(){this.setColour(nO),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)}},XO={init:function(){this.setColour(nO),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)}},bO={init:function(){this.setColour(nO),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]}))}},VO={init:function(){this.setColour(nO),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)}},yO={init:function(){this.setColour(nO),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")}},BO={init:function(){this.setColour(nO),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)}},GO={init:function(){this.setColour(nO),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)}},UO={init:function(){this.setColour(nO),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)}},wO={init:function(){this.setColour(nO),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)}},kO={init:function(){this.setColour(nO),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)}},HO={init:function(){this.setColour(nO),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)}},WO={init:function(){this.setColour(nO),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)")}},KO={init:function(){this.setColour(nO),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ht.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},JO={init:function(){this.setColour(nO),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)}},QO={init:function(){this.setColour(nO),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},sL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},oL=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"},_L=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},pL=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"},aL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},uL=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"},rL=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},lL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},dL=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]},IL=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"},TL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},hL=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},ML=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},mL=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]},OL=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},EL=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"},RL=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"},gL=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"}},CL=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"},SL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},AL=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]},LL=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"},NL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},DL=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"}},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,"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"}},PL=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"},FL=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"},vL=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},YL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},xL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},XL=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"},bL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},VL=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"},yL=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},BL=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]},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,"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},UL=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},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,"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},kL=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},HL=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},WL=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"},KL=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"},JL=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"},QL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},zL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},qL=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"},jL=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"},ZL=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"},$L=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"},tN=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"},eN=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"},iN=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"},nN=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"},sN=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"},oN=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"},_N=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"},pN=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]},aN=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"},uN=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"},rN=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"},lN=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"},dN=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"},IN=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")},TN=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},hN=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"},MN=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},mN=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"},ON=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]},EN=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]},RN=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},ZN=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},$N=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"},tD=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},eD=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"},iD=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},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,"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},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(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},oD=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},_D=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"},pD=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"},aD=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]},uD=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 _},rD=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]},lD=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"},dD=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},ID=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},TD=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"},hD=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"},MD=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"},mD=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},OD=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},ED=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},RD=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"},gY=function(){return"control.reset()\n"},CY=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},SY=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"},AY=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"},LY=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},NY=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},DY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},fY=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},PY=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},FY=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},vY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},YY=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]}},xY=function(){return"while True:\n pass\n"},XY=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},bY=function(t,e){return e.definitions_.import_os="import os","os.uname()"},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){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"}},BY=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"},GY=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"},UY=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]},wY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},kY=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},HY=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},WY=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},KY=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},JY=wY,QY=GY,zY=UY,qY=VY,jY=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]},ZY=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]},$Y=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]},tx={};tx["元控青春"]={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"]]},tx["元控"]={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"]]},tx["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 ex=tx,ix=20,nx={init:function(){this.setColour(ix),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)}},sx={init:function(){this.setColour(ix),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)}},ox={init:function(){this.setColour(ix),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)}},_x={init:function(){this.setColour(ix),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)}},px={init:function(){this.setColour(ix),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)}},ax={init:function(){this.setColour(ix),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)}},ux={init:function(){this.setColour(ix),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)}},rx={init:function(){this.setColour(ix),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)}},lx={init:function(){this.setColour(ix),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)}},dx={init:function(){this.setColour(ix),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)}},Ix={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)}},Tx={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")}},hx={init:function(){this.setColour(ix),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")}},Mx={init:function(){this.setColour(ix),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")}},mx={init:function(){this.setColour(ix),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")}},Ox={init:function(){this.setColour(ix),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")}},Ex=Tx,Rx=ux,cx=Ox,gx=dx,Cx=Ix,Sx=230,Ax={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},Lx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},Nx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},Dx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},fx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},Px={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},Fx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},vx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},Yx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},xx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},Xx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},bx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},Vx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},yx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},Bx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},Gx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},Ux={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},wx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},kx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},Hx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},Wx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},Kx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.buttonB),"PIN"),this.setOutput(!0,Number)}},Jx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},Qx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},zx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},qx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},jx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},Zx={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},$x={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},tX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},eX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},iX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},nX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},sX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},oX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},_X={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},pX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},aX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},uX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},rX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},lX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},dX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},IX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},TX={init:function(){this.setColour(Sx),this.appendDummyInput("").appendField(new ht.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},hX=function(t,e){return["HIGH"==this.getFieldValue("BOOL")?"1":"0",e.ORDER_ATOMIC]},MX=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"},mX=function(t,e){e.definitions_.import_machine="import machine";return[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".value()",e.ORDER_ATOMIC]},OX=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"},EX=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"},RX=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"},cX=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"},gX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},CX=function(t,e){return e.definitions_.import_machine="import machine",[e.valueToCode(this,"pin",e.ORDER_ATOMIC)+".read()",e.ORDER_ATOMIC]},SX=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"},AX=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"},LX=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"},NX=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"},DX=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"},fX=function(t,e){return e.definitions_.import_machine="import machine",e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+".atten("+this.getFieldValue("atten")+")\n"},PX=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"},FX=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},vX=FX,YX=FX,xX=FX,XX=FX,bX=FX,VX=FX,yX=FX,BX=FX,GX=FX,UX=FX,wX=FX,kX=FX,HX=FX,WX=FX,KX=FX,JX=FX,QX=FX,zX=FX,qX=FX,jX=FX,ZX=FX,$X=FX,tb=FX,eb=FX,ib=FX,nb=FX,sb=FX,ob=FX,_b=FX,pb=FX,ab=FX,ub=FX,rb=FX,lb=FX,db=FX,Ib=FX,Tb=FX,hb=FX,Mb=FX,mb=FX,Ob=FX,Eb=FX,Rb=FX,cb=FX;Object.assign(ht.Variables,Ot),Object.assign(ht.Procedures,kn),ht.Python=su,ht.generator=su,Mt.Profile.default={},Object.assign(Mt.Profile,ex),Object.assign(Mt.Profile.default,ex["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,z,J,K,$,Z,tt,q,st,It,Tt)})(); \ No newline at end of file diff --git a/boards/default/micropython_esp32s3/styles/main.f6979345.css b/boards/default/micropython_esp32s3/styles/main.858ee96b.css similarity index 100% rename from boards/default/micropython_esp32s3/styles/main.f6979345.css rename to boards/default/micropython_esp32s3/styles/main.858ee96b.css diff --git a/boards/default/micropython_k210_mixgoai/examples/07-UART_外部串口通信.mix b/boards/default/micropython_k210_mixgoai/examples/-UEi45Sdxm-q.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/07-UART_外部串口通信.mix rename to boards/default/micropython_k210_mixgoai/examples/-UEi45Sdxm-q.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/31-AI 网络模型-1_加载SD中网络模型并运行解析.mix b/boards/default/micropython_k210_mixgoai/examples/1oucPTv-5j58.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/31-AI 网络模型-1_加载SD中网络模型并运行解析.mix rename to boards/default/micropython_k210_mixgoai/examples/1oucPTv-5j58.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/41-AIOnenet_按键按一下调用人体检测API并框出位置.mix b/boards/default/micropython_k210_mixgoai/examples/2DgbO5BWlPKt.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/41-AIOnenet_按键按一下调用人体检测API并框出位置.mix rename to boards/default/micropython_k210_mixgoai/examples/2DgbO5BWlPKt.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/38-MPU9250 九轴_读取九轴传感器数字串口打印.mix b/boards/default/micropython_k210_mixgoai/examples/3edv-Y8O1q4Z.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/38-MPU9250 九轴_读取九轴传感器数字串口打印.mix rename to boards/default/micropython_k210_mixgoai/examples/3edv-Y8O1q4Z.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/34-Bmp280 大气压_读取大气压传感器数字串口打印.mix b/boards/default/micropython_k210_mixgoai/examples/4hn15K-fEuTI.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/34-Bmp280 大气压_读取大气压传感器数字串口打印.mix rename to boards/default/micropython_k210_mixgoai/examples/4hn15K-fEuTI.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/23-Imge 颜色追踪_追踪采集图片中设定色域的颜色.mix b/boards/default/micropython_k210_mixgoai/examples/4w_oaKhxyRvG.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/23-Imge 颜色追踪_追踪采集图片中设定色域的颜色.mix rename to boards/default/micropython_k210_mixgoai/examples/4w_oaKhxyRvG.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/46-WiFi-连接网络_配置WiFi上网.mix b/boards/default/micropython_k210_mixgoai/examples/5Y59VemRb48u.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/46-WiFi-连接网络_配置WiFi上网.mix rename to boards/default/micropython_k210_mixgoai/examples/5Y59VemRb48u.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/31-AI 网络模型_加载SD中网络模型并运行解析.mix b/boards/default/micropython_k210_mixgoai/examples/713AIFbqNqhg.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/31-AI 网络模型_加载SD中网络模型并运行解析.mix rename to boards/default/micropython_k210_mixgoai/examples/713AIFbqNqhg.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/30-AI 20种物体识别_识别采集图片的20种物体的类别.mix b/boards/default/micropython_k210_mixgoai/examples/7g4e-mIcKJ_6.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/30-AI 20种物体识别_识别采集图片的20种物体的类别.mix rename to boards/default/micropython_k210_mixgoai/examples/7g4e-mIcKJ_6.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/00-KEY irp_按键中断响应.mix b/boards/default/micropython_k210_mixgoai/examples/7pOv8DHDn3M7.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/00-KEY irp_按键中断响应.mix rename to boards/default/micropython_k210_mixgoai/examples/7pOv8DHDn3M7.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/48-Socket-_套接字发送接收数据.mix b/boards/default/micropython_k210_mixgoai/examples/8GhMYgi0HUFf.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/48-Socket-_套接字发送接收数据.mix rename to boards/default/micropython_k210_mixgoai/examples/8GhMYgi0HUFf.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/15-Imge 显示图片_加载SD卡图片文件显示.mix b/boards/default/micropython_k210_mixgoai/examples/8P2AiYwagAqf.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/15-Imge 显示图片_加载SD卡图片文件显示.mix rename to boards/default/micropython_k210_mixgoai/examples/8P2AiYwagAqf.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/25-Imge 颜色自动识别追踪_先采集图形中心物体颜色,然后自动追踪寻找此颜色.mix b/boards/default/micropython_k210_mixgoai/examples/8Q9w8vohc5WR.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/25-Imge 颜色自动识别追踪_先采集图形中心物体颜色,然后自动追踪寻找此颜色.mix rename to boards/default/micropython_k210_mixgoai/examples/8Q9w8vohc5WR.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/16-Imge 灰度图片_加载SD卡图片文件转换灰度图.mix b/boards/default/micropython_k210_mixgoai/examples/8mDtO4oMg39w.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/16-Imge 灰度图片_加载SD卡图片文件转换灰度图.mix rename to boards/default/micropython_k210_mixgoai/examples/8mDtO4oMg39w.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/49-Socket-_套接字发送摄像头拍照图形值服务器.mix b/boards/default/micropython_k210_mixgoai/examples/92bwD0XoQd_L.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/49-Socket-_套接字发送摄像头拍照图形值服务器.mix rename to boards/default/micropython_k210_mixgoai/examples/92bwD0XoQd_L.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/22-Imge 矩形识别_识别摄像头采集图片中矩形图案.mix b/boards/default/micropython_k210_mixgoai/examples/9f8bfsFGpxnl.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/22-Imge 矩形识别_识别摄像头采集图片中矩形图案.mix rename to boards/default/micropython_k210_mixgoai/examples/9f8bfsFGpxnl.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/35-Sonar 超声波测距_串口打印超声波测算的距离.mix b/boards/default/micropython_k210_mixgoai/examples/Ar6TmfTMdGsI.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/35-Sonar 超声波测距_串口打印超声波测算的距离.mix rename to boards/default/micropython_k210_mixgoai/examples/Ar6TmfTMdGsI.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/55-(Mixly2.0下无法打开)APDS9960 手势识别_识别识别控制灯亮度.mix b/boards/default/micropython_k210_mixgoai/examples/CtKOboD3djtd.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/55-(Mixly2.0下无法打开)APDS9960 手势识别_识别识别控制灯亮度.mix rename to boards/default/micropython_k210_mixgoai/examples/CtKOboD3djtd.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/36-Irremote 红外接收_遥控控制灯亮灭.mix b/boards/default/micropython_k210_mixgoai/examples/DBDjugkTFKW8.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/36-Irremote 红外接收_遥控控制灯亮灭.mix rename to boards/default/micropython_k210_mixgoai/examples/DBDjugkTFKW8.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/32-Sonar 超声波测距_串口打印超声波测算的距离.mix b/boards/default/micropython_k210_mixgoai/examples/DKW9oi3L1nDA.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/32-Sonar 超声波测距_串口打印超声波测算的距离.mix rename to boards/default/micropython_k210_mixgoai/examples/DKW9oi3L1nDA.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/47-WiFi-打开热点_分享热点AP模式.mix b/boards/default/micropython_k210_mixgoai/examples/F7J1UDlRPrM1.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/47-WiFi-打开热点_分享热点AP模式.mix rename to boards/default/micropython_k210_mixgoai/examples/F7J1UDlRPrM1.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/43-AILocal_调用训练好的模型并运行模型.mix b/boards/default/micropython_k210_mixgoai/examples/GIbMhfg1Um4z.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/43-AILocal_调用训练好的模型并运行模型.mix rename to boards/default/micropython_k210_mixgoai/examples/GIbMhfg1Um4z.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/01-LED Blink_数字输出控制灯.mix b/boards/default/micropython_k210_mixgoai/examples/HV4VIYj1clfP.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/01-LED Blink_数字输出控制灯.mix rename to boards/default/micropython_k210_mixgoai/examples/HV4VIYj1clfP.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/39-SHT20_读取温湿度传感器数字串口打印.mix b/boards/default/micropython_k210_mixgoai/examples/HlUZa3UkmG0K.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/39-SHT20_读取温湿度传感器数字串口打印.mix rename to boards/default/micropython_k210_mixgoai/examples/HlUZa3UkmG0K.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/17-Imge 绘制文本_在屏幕上绘制文本信息.mix b/boards/default/micropython_k210_mixgoai/examples/IN1j-5MK8ehw.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/17-Imge 绘制文本_在屏幕上绘制文本信息.mix rename to boards/default/micropython_k210_mixgoai/examples/IN1j-5MK8ehw.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/18-Imge 绘制圆形_在屏幕上一直绘制小圈圈.mix b/boards/default/micropython_k210_mixgoai/examples/Io8lJXCwhD17.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/18-Imge 绘制圆形_在屏幕上一直绘制小圈圈.mix rename to boards/default/micropython_k210_mixgoai/examples/Io8lJXCwhD17.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/45-WiFi_扫描附近WiFi热点信息.mix b/boards/default/micropython_k210_mixgoai/examples/JCu40fMqKuxe.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/45-WiFi_扫描附近WiFi热点信息.mix rename to boards/default/micropython_k210_mixgoai/examples/JCu40fMqKuxe.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/42-AILocal_本地模型训练后保存并调用模型.mix b/boards/default/micropython_k210_mixgoai/examples/Je7lKmHs_j51.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/42-AILocal_本地模型训练后保存并调用模型.mix rename to boards/default/micropython_k210_mixgoai/examples/Je7lKmHs_j51.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/57-ASR 语音识别_根据识别语音点亮屏幕颜色.mix b/boards/default/micropython_k210_mixgoai/examples/LucMhnreSdri.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/57-ASR 语音识别_根据识别语音点亮屏幕颜色.mix rename to boards/default/micropython_k210_mixgoai/examples/LucMhnreSdri.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/13-Video record_录制视频并存放于SD卡.mix b/boards/default/micropython_k210_mixgoai/examples/PC7mdcg6Il3q.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/13-Video record_录制视频并存放于SD卡.mix rename to boards/default/micropython_k210_mixgoai/examples/PC7mdcg6Il3q.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/44-AI 口罩识别-加载SD中模型并识别出带没有带口罩.mix b/boards/default/micropython_k210_mixgoai/examples/Ry5OCHH9bIys.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/44-AI 口罩识别-加载SD中模型并识别出带没有带口罩.mix rename to boards/default/micropython_k210_mixgoai/examples/Ry5OCHH9bIys.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/27-Imge 二维码识别_识别采集图片的二维码并解析信息.mix b/boards/default/micropython_k210_mixgoai/examples/Tzqv3DsL0FQD.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/27-Imge 二维码识别_识别采集图片的二维码并解析信息.mix rename to boards/default/micropython_k210_mixgoai/examples/Tzqv3DsL0FQD.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/08-舵机_定时器调用控制多路舵机.mix b/boards/default/micropython_k210_mixgoai/examples/UVN-HmxlKuUZ.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/08-舵机_定时器调用控制多路舵机.mix rename to boards/default/micropython_k210_mixgoai/examples/UVN-HmxlKuUZ.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/20-Imge 直线识别_识别摄像头采集图片中直线线条.mix b/boards/default/micropython_k210_mixgoai/examples/a43B__NOYfhV.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/20-Imge 直线识别_识别摄像头采集图片中直线线条.mix rename to boards/default/micropython_k210_mixgoai/examples/a43B__NOYfhV.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/26-Imge 特征识别_识别采集图片的特征点并绘画出.mix b/boards/default/micropython_k210_mixgoai/examples/bHUi0z1OIG08.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/26-Imge 特征识别_识别采集图片的特征点并绘画出.mix rename to boards/default/micropython_k210_mixgoai/examples/bHUi0z1OIG08.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/19-Imge 绘制滤波_采集图形并洪水填充处理.mix b/boards/default/micropython_k210_mixgoai/examples/bLYZSmITapua.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/19-Imge 绘制滤波_采集图形并洪水填充处理.mix rename to boards/default/micropython_k210_mixgoai/examples/bLYZSmITapua.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/37-Bmp280 大气压_读取大气压传感器数字串口打印.mix b/boards/default/micropython_k210_mixgoai/examples/cMOi0831qm5c.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/37-Bmp280 大气压_读取大气压传感器数字串口打印.mix rename to boards/default/micropython_k210_mixgoai/examples/cMOi0831qm5c.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/34-DHT11 温湿度_采集温湿度并显示.mix b/boards/default/micropython_k210_mixgoai/examples/cxIIqKds2Tc2.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/34-DHT11 温湿度_采集温湿度并显示.mix rename to boards/default/micropython_k210_mixgoai/examples/cxIIqKds2Tc2.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/32-AI 网络模型-2_加载SD中网络模型并运行解析.mix b/boards/default/micropython_k210_mixgoai/examples/gBLDmE4Ok_Qb.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/32-AI 网络模型-2_加载SD中网络模型并运行解析.mix rename to boards/default/micropython_k210_mixgoai/examples/gBLDmE4Ok_Qb.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/36-SHT20_读取温湿度传感器数字串口打印.mix b/boards/default/micropython_k210_mixgoai/examples/ggvZec342Pqo.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/36-SHT20_读取温湿度传感器数字串口打印.mix rename to boards/default/micropython_k210_mixgoai/examples/ggvZec342Pqo.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/11-Audio Play_加载SD卡音频文件播放.mix b/boards/default/micropython_k210_mixgoai/examples/icK8y_ido8i-.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/11-Audio Play_加载SD卡音频文件播放.mix rename to boards/default/micropython_k210_mixgoai/examples/icK8y_ido8i-.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/SD_file/20class.kmodel b/boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/20class.kmodel similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/SD_file/20class.kmodel rename to boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/20class.kmodel diff --git a/boards/default/micropython_k210_mixgoai/examples/SD_file/FD.kmodel b/boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/FD.kmodel similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/SD_file/FD.kmodel rename to boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/FD.kmodel diff --git a/boards/default/micropython_k210_mixgoai/examples/SD_file/FE.kmodel b/boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/FE.kmodel similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/SD_file/FE.kmodel rename to boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/FE.kmodel diff --git a/boards/default/micropython_k210_mixgoai/examples/SD_file/LD.kmodel b/boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/LD.kmodel similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/SD_file/LD.kmodel rename to boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/LD.kmodel diff --git a/boards/default/micropython_k210_mixgoai/examples/SD_file/facedetect.kmodel b/boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/facedetect.kmodel similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/SD_file/facedetect.kmodel rename to boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/facedetect.kmodel diff --git a/boards/default/micropython_k210_mixgoai/examples/SD_file/labels.txt b/boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/labels.txt similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/SD_file/labels.txt rename to boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/labels.txt diff --git a/boards/default/micropython_k210_mixgoai/examples/SD_file/masks.kmodel b/boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/masks.kmodel similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/SD_file/masks.kmodel rename to boards/default/micropython_k210_mixgoai/examples/jDbOoMQpPuni/masks.kmodel diff --git a/boards/default/micropython_k210_mixgoai/examples/09-LCD_屏幕显示累加计数.mix b/boards/default/micropython_k210_mixgoai/examples/jnAz45sZdnlU.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/09-LCD_屏幕显示累加计数.mix rename to boards/default/micropython_k210_mixgoai/examples/jnAz45sZdnlU.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/50-IOT_Onenet_上传数据值物联网平台.mix b/boards/default/micropython_k210_mixgoai/examples/mF5PdNfcro01.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/50-IOT_Onenet_上传数据值物联网平台.mix rename to boards/default/micropython_k210_mixgoai/examples/mF5PdNfcro01.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/map.json b/boards/default/micropython_k210_mixgoai/examples/map.json index dacc9596..743fbb79 100644 --- a/boards/default/micropython_k210_mixgoai/examples/map.json +++ b/boards/default/micropython_k210_mixgoai/examples/map.json @@ -1,229 +1,229 @@ { - "00-KEY irp_按键中断响应.mix": { + "7pOv8DHDn3M7.mix": { "__file__": true, "__name__": "00-KEY irp_按键中断响应.mix" }, - "01-LED Blink_数字输出控制灯.mix": { + "HV4VIYj1clfP.mix": { "__file__": true, "__name__": "01-LED Blink_数字输出控制灯.mix" }, - "02-LED PWM_模拟输出控制灯.mix": { + "whH2FRXKqmvW.mix": { "__file__": true, "__name__": "02-LED PWM_模拟输出控制灯.mix" }, - "04-Time_定时器执行定时打印.mix": { + "tFL9JZAM83kE.mix": { "__file__": true, "__name__": "04-Time_定时器执行定时打印.mix" }, - "07-UART_外部串口通信.mix": { + "-UEi45Sdxm-q.mix": { "__file__": true, "__name__": "07-UART_外部串口通信.mix" }, - "08-舵机_定时器调用控制多路舵机.mix": { + "UVN-HmxlKuUZ.mix": { "__file__": true, "__name__": "08-舵机_定时器调用控制多路舵机.mix" }, - "09-LCD_屏幕显示累加计数.mix": { + "jnAz45sZdnlU.mix": { "__file__": true, "__name__": "09-LCD_屏幕显示累加计数.mix" }, - "10-LCD_屏幕显示切砖块过程.mix": { + "sR-ga8LrXAz8.mix": { "__file__": true, "__name__": "10-LCD_屏幕显示切砖块过程.mix" }, - "11-Audio Play_加载SD卡音频文件播放.mix": { + "icK8y_ido8i-.mix": { "__file__": true, "__name__": "11-Audio Play_加载SD卡音频文件播放.mix" }, - "12-Video Play_加载SD卡视频文件播放.mix": { + "rtIsztQ7mzQu.mix": { "__file__": true, "__name__": "12-Video Play_加载SD卡视频文件播放.mix" }, - "13-Video record_录制视频并存放于SD卡.mix": { + "PC7mdcg6Il3q.mix": { "__file__": true, "__name__": "13-Video record_录制视频并存放于SD卡.mix" }, - "14-Camera 拍照_持续拍照显示屏幕上.mix": { + "tMyHWtgDyIW4.mix": { "__file__": true, "__name__": "14-Camera 拍照_持续拍照显示屏幕上.mix" }, - "15-Imge 显示图片_加载SD卡图片文件显示.mix": { + "8P2AiYwagAqf.mix": { "__file__": true, "__name__": "15-Imge 显示图片_加载SD卡图片文件显示.mix" }, - "16-Imge 灰度图片_加载SD卡图片文件转换灰度图.mix": { + "8mDtO4oMg39w.mix": { "__file__": true, "__name__": "16-Imge 灰度图片_加载SD卡图片文件转换灰度图.mix" }, - "17-Imge 绘制文本_在屏幕上绘制文本信息.mix": { + "IN1j-5MK8ehw.mix": { "__file__": true, "__name__": "17-Imge 绘制文本_在屏幕上绘制文本信息.mix" }, - "18-Imge 绘制圆形_在屏幕上一直绘制小圈圈.mix": { + "Io8lJXCwhD17.mix": { "__file__": true, "__name__": "18-Imge 绘制圆形_在屏幕上一直绘制小圈圈.mix" }, - "19-Imge 绘制滤波_采集图形并洪水填充处理.mix": { + "bLYZSmITapua.mix": { "__file__": true, "__name__": "19-Imge 绘制滤波_采集图形并洪水填充处理.mix" }, - "20-Imge 直线识别_识别摄像头采集图片中直线线条.mix": { + "a43B__NOYfhV.mix": { "__file__": true, "__name__": "20-Imge 直线识别_识别摄像头采集图片中直线线条.mix" }, - "21-Imge 圆形识别_识别摄像头采集图片中圆形图案.mix": { + "xXWYds-FRqcy.mix": { "__file__": true, "__name__": "21-Imge 圆形识别_识别摄像头采集图片中圆形图案.mix" }, - "22-Imge 矩形识别_识别摄像头采集图片中矩形图案.mix": { + "9f8bfsFGpxnl.mix": { "__file__": true, "__name__": "22-Imge 矩形识别_识别摄像头采集图片中矩形图案.mix" }, - "23-Imge 颜色追踪_追踪采集图片中设定色域的颜色.mix": { + "4w_oaKhxyRvG.mix": { "__file__": true, "__name__": "23-Imge 颜色追踪_追踪采集图片中设定色域的颜色.mix" }, - "24-Imge 颜色识别_识别采集图片中间框区域的颜色值.mix": { + "p1UyHWUACext.mix": { "__file__": true, "__name__": "24-Imge 颜色识别_识别采集图片中间框区域的颜色值.mix" }, - "25-Imge 颜色自动识别追踪_先采集图形中心物体颜色,然后自动追踪寻找此颜色.mix": { + "8Q9w8vohc5WR.mix": { "__file__": true, "__name__": "25-Imge 颜色自动识别追踪_先采集图形中心物体颜色,然后自动追踪寻找此颜色.mix" }, - "26-Imge 特征识别_识别采集图片的特征点并绘画出.mix": { + "bHUi0z1OIG08.mix": { "__file__": true, "__name__": "26-Imge 特征识别_识别采集图片的特征点并绘画出.mix" }, - "27-Imge 二维码识别_识别采集图片的二维码并解析信息.mix": { + "Tzqv3DsL0FQD.mix": { "__file__": true, "__name__": "27-Imge 二维码识别_识别采集图片的二维码并解析信息.mix" }, - "28-Imge 条形码识别_识别采集图片的条形码并解析信息.mix": { + "qBfsmxHuyLxY.mix": { "__file__": true, "__name__": "28-Imge 条形码识别_识别采集图片的条形码并解析信息.mix" }, - "29-AI 人脸追踪_识别追踪采集图片的人脸.mix": { + "nHdNRO2GJkBA.mix": { "__file__": true, "__name__": "29-AI 人脸追踪_识别追踪采集图片的人脸.mix" }, - "30-AI 20种物体识别_识别采集图片的20种物体的类别.mix": { + "7g4e-mIcKJ_6.mix": { "__file__": true, "__name__": "30-AI 20种物体识别_识别采集图片的20种物体的类别.mix" }, - "31-AI 网络模型-1_加载SD中网络模型并运行解析.mix": { + "1oucPTv-5j58.mix": { "__file__": true, "__name__": "31-AI 网络模型-1_加载SD中网络模型并运行解析.mix" }, - "31-AI 网络模型_加载SD中网络模型并运行解析.mix": { + "713AIFbqNqhg.mix": { "__file__": true, "__name__": "31-AI 网络模型_加载SD中网络模型并运行解析.mix" }, - "32-AI 网络模型-2_加载SD中网络模型并运行解析.mix": { + "gBLDmE4Ok_Qb.mix": { "__file__": true, "__name__": "32-AI 网络模型-2_加载SD中网络模型并运行解析.mix" }, - "32-Sonar 超声波测距_串口打印超声波测算的距离.mix": { + "DKW9oi3L1nDA.mix": { "__file__": true, "__name__": "32-Sonar 超声波测距_串口打印超声波测算的距离.mix" }, - "33-Irremote 红外接收_遥控控制灯亮灭.mix": { + "x5hjcWsko_GJ.mix": { "__file__": true, "__name__": "33-Irremote 红外接收_遥控控制灯亮灭.mix" }, - "34-Bmp280 大气压_读取大气压传感器数字串口打印.mix": { + "4hn15K-fEuTI.mix": { "__file__": true, "__name__": "34-Bmp280 大气压_读取大气压传感器数字串口打印.mix" }, - "34-DHT11 温湿度_采集温湿度并显示.mix": { + "cxIIqKds2Tc2.mix": { "__file__": true, "__name__": "34-DHT11 温湿度_采集温湿度并显示.mix" }, - "35-Sonar 超声波测距_串口打印超声波测算的距离.mix": { + "Ar6TmfTMdGsI.mix": { "__file__": true, "__name__": "35-Sonar 超声波测距_串口打印超声波测算的距离.mix" }, - "36-Irremote 红外接收_遥控控制灯亮灭.mix": { + "DBDjugkTFKW8.mix": { "__file__": true, "__name__": "36-Irremote 红外接收_遥控控制灯亮灭.mix" }, - "36-SHT20_读取温湿度传感器数字串口打印.mix": { + "ggvZec342Pqo.mix": { "__file__": true, "__name__": "36-SHT20_读取温湿度传感器数字串口打印.mix" }, - "37-Bmp280 大气压_读取大气压传感器数字串口打印.mix": { + "cMOi0831qm5c.mix": { "__file__": true, "__name__": "37-Bmp280 大气压_读取大气压传感器数字串口打印.mix" }, - "38-MPU9250 九轴_读取九轴传感器数字串口打印.mix": { + "3edv-Y8O1q4Z.mix": { "__file__": true, "__name__": "38-MPU9250 九轴_读取九轴传感器数字串口打印.mix" }, - "39-SHT20_读取温湿度传感器数字串口打印.mix": { + "HlUZa3UkmG0K.mix": { "__file__": true, "__name__": "39-SHT20_读取温湿度传感器数字串口打印.mix" }, - "40-AIOnenet_中国移动云端网络平台API调用.mix": { + "y2_D7XhgRxO-.mix": { "__file__": true, "__name__": "40-AIOnenet_中国移动云端网络平台API调用.mix" }, - "41-AIOnenet_按键按一下调用人体检测API并框出位置.mix": { + "2DgbO5BWlPKt.mix": { "__file__": true, "__name__": "41-AIOnenet_按键按一下调用人体检测API并框出位置.mix" }, - "42-AILocal_本地模型训练后保存并调用模型.mix": { + "Je7lKmHs_j51.mix": { "__file__": true, "__name__": "42-AILocal_本地模型训练后保存并调用模型.mix" }, - "43-AILocal_调用训练好的模型并运行模型.mix": { + "GIbMhfg1Um4z.mix": { "__file__": true, "__name__": "43-AILocal_调用训练好的模型并运行模型.mix" }, - "44-AI 口罩识别-加载SD中模型并识别出带没有带口罩.mix": { + "Ry5OCHH9bIys.mix": { "__file__": true, "__name__": "44-AI 口罩识别-加载SD中模型并识别出带没有带口罩.mix" }, - "45-WiFi_扫描附近WiFi热点信息.mix": { + "JCu40fMqKuxe.mix": { "__file__": true, "__name__": "45-WiFi_扫描附近WiFi热点信息.mix" }, - "46-WiFi-连接网络_配置WiFi上网.mix": { + "5Y59VemRb48u.mix": { "__file__": true, "__name__": "46-WiFi-连接网络_配置WiFi上网.mix" }, - "47-WiFi-打开热点_分享热点AP模式.mix": { + "F7J1UDlRPrM1.mix": { "__file__": true, "__name__": "47-WiFi-打开热点_分享热点AP模式.mix" }, - "48-Socket-_套接字发送接收数据.mix": { + "8GhMYgi0HUFf.mix": { "__file__": true, "__name__": "48-Socket-_套接字发送接收数据.mix" }, - "49-Socket-_套接字发送摄像头拍照图形值服务器.mix": { + "92bwD0XoQd_L.mix": { "__file__": true, "__name__": "49-Socket-_套接字发送摄像头拍照图形值服务器.mix" }, - "50-IOT_Onenet_上传数据值物联网平台.mix": { + "mF5PdNfcro01.mix": { "__file__": true, "__name__": "50-IOT_Onenet_上传数据值物联网平台.mix" }, - "51-IOT_mixiot_接收物联网平台数据.mix": { + "maspDCBL9A7Q.mix": { "__file__": true, "__name__": "51-IOT_mixiot_接收物联网平台数据.mix" }, - "52-IOT_mixiot_上传数据到物联网平台.mix": { + "n8ytHXHNA-mc.mix": { "__file__": true, "__name__": "52-IOT_mixiot_上传数据到物联网平台.mix" }, - "53-Imge 中文显示_加载字库显示更多类型文字.mix": { + "x5vvADjNBh2x.mix": { "__file__": true, "__name__": "53-Imge 中文显示_加载字库显示更多类型文字.mix" }, - "55-(Mixly2.0下无法打开)APDS9960 手势识别_识别识别控制灯亮度.mix": { + "CtKOboD3djtd.mix": { "__file__": true, "__name__": "55-(Mixly2.0下无法打开)APDS9960 手势识别_识别识别控制灯亮度.mix" }, - "57-ASR 语音识别_根据识别语音点亮屏幕颜色.mix": { + "LucMhnreSdri.mix": { "__file__": true, "__name__": "57-ASR 语音识别_根据识别语音点亮屏幕颜色.mix" } diff --git a/boards/default/micropython_k210_mixgoai/examples/51-IOT_mixiot_接收物联网平台数据.mix b/boards/default/micropython_k210_mixgoai/examples/maspDCBL9A7Q.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/51-IOT_mixiot_接收物联网平台数据.mix rename to boards/default/micropython_k210_mixgoai/examples/maspDCBL9A7Q.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/52-IOT_mixiot_上传数据到物联网平台.mix b/boards/default/micropython_k210_mixgoai/examples/n8ytHXHNA-mc.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/52-IOT_mixiot_上传数据到物联网平台.mix rename to boards/default/micropython_k210_mixgoai/examples/n8ytHXHNA-mc.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/29-AI 人脸追踪_识别追踪采集图片的人脸.mix b/boards/default/micropython_k210_mixgoai/examples/nHdNRO2GJkBA.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/29-AI 人脸追踪_识别追踪采集图片的人脸.mix rename to boards/default/micropython_k210_mixgoai/examples/nHdNRO2GJkBA.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/24-Imge 颜色识别_识别采集图片中间框区域的颜色值.mix b/boards/default/micropython_k210_mixgoai/examples/p1UyHWUACext.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/24-Imge 颜色识别_识别采集图片中间框区域的颜色值.mix rename to boards/default/micropython_k210_mixgoai/examples/p1UyHWUACext.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/28-Imge 条形码识别_识别采集图片的条形码并解析信息.mix b/boards/default/micropython_k210_mixgoai/examples/qBfsmxHuyLxY.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/28-Imge 条形码识别_识别采集图片的条形码并解析信息.mix rename to boards/default/micropython_k210_mixgoai/examples/qBfsmxHuyLxY.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/12-Video Play_加载SD卡视频文件播放.mix b/boards/default/micropython_k210_mixgoai/examples/rtIsztQ7mzQu.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/12-Video Play_加载SD卡视频文件播放.mix rename to boards/default/micropython_k210_mixgoai/examples/rtIsztQ7mzQu.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/10-LCD_屏幕显示切砖块过程.mix b/boards/default/micropython_k210_mixgoai/examples/sR-ga8LrXAz8.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/10-LCD_屏幕显示切砖块过程.mix rename to boards/default/micropython_k210_mixgoai/examples/sR-ga8LrXAz8.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/04-Time_定时器执行定时打印.mix b/boards/default/micropython_k210_mixgoai/examples/tFL9JZAM83kE.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/04-Time_定时器执行定时打印.mix rename to boards/default/micropython_k210_mixgoai/examples/tFL9JZAM83kE.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/14-Camera 拍照_持续拍照显示屏幕上.mix b/boards/default/micropython_k210_mixgoai/examples/tMyHWtgDyIW4.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/14-Camera 拍照_持续拍照显示屏幕上.mix rename to boards/default/micropython_k210_mixgoai/examples/tMyHWtgDyIW4.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/02-LED PWM_模拟输出控制灯.mix b/boards/default/micropython_k210_mixgoai/examples/whH2FRXKqmvW.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/02-LED PWM_模拟输出控制灯.mix rename to boards/default/micropython_k210_mixgoai/examples/whH2FRXKqmvW.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/33-Irremote 红外接收_遥控控制灯亮灭.mix b/boards/default/micropython_k210_mixgoai/examples/x5hjcWsko_GJ.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/33-Irremote 红外接收_遥控控制灯亮灭.mix rename to boards/default/micropython_k210_mixgoai/examples/x5hjcWsko_GJ.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/53-Imge 中文显示_加载字库显示更多类型文字.mix b/boards/default/micropython_k210_mixgoai/examples/x5vvADjNBh2x.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/53-Imge 中文显示_加载字库显示更多类型文字.mix rename to boards/default/micropython_k210_mixgoai/examples/x5vvADjNBh2x.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/21-Imge 圆形识别_识别摄像头采集图片中圆形图案.mix b/boards/default/micropython_k210_mixgoai/examples/xXWYds-FRqcy.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/21-Imge 圆形识别_识别摄像头采集图片中圆形图案.mix rename to boards/default/micropython_k210_mixgoai/examples/xXWYds-FRqcy.mix diff --git a/boards/default/micropython_k210_mixgoai/examples/40-AIOnenet_中国移动云端网络平台API调用.mix b/boards/default/micropython_k210_mixgoai/examples/y2_D7XhgRxO-.mix similarity index 100% rename from boards/default/micropython_k210_mixgoai/examples/40-AIOnenet_中国移动云端网络平台API调用.mix rename to boards/default/micropython_k210_mixgoai/examples/y2_D7XhgRxO-.mix diff --git a/boards/default/micropython_k210_mixgoai/index.xml b/boards/default/micropython_k210_mixgoai/index.xml index 3aaf6920..d960077d 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.180sock5sockdatasock1024sockRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.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.180sock5sockdatasock1024sockRGB312RGB0000RGB660Motori2cMotor100Motor10241024PID0.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/main.bundle.js b/boards/default/micropython_k210_mixgoai/main.bundle.js index 33433e0d..9fd9a3c5 100644 --- a/boards/default/micropython_k210_mixgoai/main.bundle.js +++ b/boards/default/micropython_k210_mixgoai/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ft,controls_typeLists:()=>vt,variables_change:()=>ft,variables_get:()=>Dt,variables_global:()=>Lt,variables_set:()=>Nt});var i={};t.r(i),t.d(i,{base_setup:()=>yt,controls_delay:()=>Yt,controls_end_program:()=>bt,controls_except:()=>qt,controls_finally:()=>Jt,controls_flow_statements:()=>Ut,controls_for:()=>wt,controls_forEach:()=>Gt,controls_for_range:()=>Bt,controls_if:()=>kt,controls_if_else:()=>Qt,controls_if_elseif:()=>Kt,controls_if_if:()=>Wt,controls_lambda:()=>Zt,controls_main:()=>Vt,controls_pass:()=>$t,controls_range:()=>xt,controls_repeat_ext:()=>zt,controls_thread:()=>te,controls_try:()=>jt,controls_try_finally:()=>Ht,controls_whileUntil:()=>Xt,do_while:()=>ee});var n={};t.r(n),t.d(n,{base_map:()=>Ce,math_arithmetic:()=>pe,math_bit:()=>ae,math_constant:()=>se,math_constant_mp:()=>oe,math_constrain:()=>he,math_dec:()=>_e,math_indexer_number:()=>ce,math_map:()=>me,math_max_min:()=>de,math_number:()=>ne,math_number_base_conversion:()=>Ie,math_random:()=>Te,math_random_seed:()=>Oe,math_round:()=>Re,math_selfcalcu:()=>ue,math_to_int:()=>re,math_trig:()=>le,text_to_number:()=>Me,text_to_number_skulpt:()=>Ee});var s={};t.r(s),t.d(s,{ascii_to_char:()=>fe,char_to_ascii:()=>Le,number_to_text:()=>Fe,os_system:()=>ei,text:()=>ge,text_capital:()=>Ge,text_center:()=>Xe,text_char:()=>De,text_char_at:()=>Ve,text_char_at2:()=>Pe,text_char_at3:()=>ze,text_compareTo:()=>Je,text_compare_to:()=>xe,text_create_with_container:()=>Qe,text_create_with_item:()=>je,text_encode:()=>$e,text_equals_starts_ends:()=>ke,text_eval:()=>ti,text_find:()=>He,text_format:()=>Ke,text_format_noreturn:()=>Ze,text_join:()=>Ne,text_join_seq:()=>Ue,text_length:()=>ve,text_random_char:()=>ye,text_replace:()=>we,text_split:()=>Be,text_strip:()=>We,text_substring:()=>be,text_substring2:()=>Ye,text_substring3:()=>qe,text_textarea:()=>Se});var o={};t.r(o),t.d(o,{list_many_input:()=>gi,list_tolist:()=>vi,list_tolist2:()=>Gi,list_trig:()=>Ei,lists_2d_get_col_row_data:()=>pi,lists_2d_get_data_with_col_row:()=>oi,lists_append_extend:()=>di,lists_change_to:()=>Ai,lists_change_to_general:()=>Di,lists_clear:()=>ci,lists_create_with:()=>ui,lists_create_with2:()=>Pi,lists_create_with_container:()=>li,lists_create_with_item:()=>_i,lists_create_with_noreturn:()=>Si,lists_create_with_text:()=>ai,lists_create_with_text2:()=>Vi,lists_del_general:()=>Ni,lists_find:()=>Mi,lists_getIndex3:()=>yi,lists_getSublist3:()=>Yi,lists_get_index:()=>ni,lists_get_random_item:()=>Ii,lists_get_random_sublist:()=>Ti,lists_get_sublist:()=>si,lists_insert_value:()=>hi,lists_insert_value2:()=>ki,lists_pop:()=>Ri,lists_remove_at:()=>Oi,lists_remove_at2:()=>xi,lists_reverse:()=>mi,lists_setIndex3:()=>bi,lists_set_index:()=>ri,lists_sort:()=>Ci,lists_zip:()=>fi,lists_zip_container:()=>Li,lists_zip_item:()=>Fi});var p={};t.r(p),t.d(p,{dicts_add_change_del:()=>en,dicts_add_or_change:()=>Qi,dicts_clear:()=>Ji,dicts_create_with:()=>Hi,dicts_create_with_container:()=>Ui,dicts_create_with_item:()=>wi,dicts_create_with_noreturn:()=>on,dicts_deldict:()=>tn,dicts_delete:()=>ji,dicts_get:()=>Wi,dicts_get_default:()=>Ki,dicts_items:()=>zi,dicts_keys:()=>Bi,dicts_length:()=>$i,dicts_pop:()=>nn,dicts_setdefault:()=>sn,dicts_to_json:()=>un,dicts_todict:()=>pn,dicts_update:()=>qi,dicts_values:()=>Zi,json_to_dicts:()=>an});var u={};t.r(u),t.d(u,{logic_boolean:()=>Tn,logic_compare:()=>_n,logic_compare_continous:()=>rn,logic_is:()=>On,logic_is_in:()=>cn,logic_negate:()=>In,logic_null:()=>hn,logic_operation:()=>dn,logic_tobool:()=>Rn,logic_true_or_false:()=>mn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Un,sdcard_use_spi_init:()=>Hn,storage_can_write_ornot:()=>fn,storage_change_dir:()=>Gn,storage_close_file:()=>Fn,storage_delete_file:()=>Pn,storage_file_seek:()=>Yn,storage_file_tell:()=>yn,storage_file_write:()=>gn,storage_fileopen:()=>En,storage_fileopen_new:()=>Cn,storage_fileopen_new_encoding:()=>An,storage_get_a_line:()=>Nn,storage_get_contents:()=>Dn,storage_get_contents_without_para:()=>Sn,storage_get_current_dir:()=>bn,storage_get_file_size:()=>Vn,storage_get_filename:()=>Ln,storage_is_file:()=>Xn,storage_list_all_files:()=>vn,storage_make_dir:()=>kn,storage_open_file_with_os:()=>Mn,storage_rename:()=>xn});var l={};t.r(l),t.d(l,{procedures_callnoreturn:()=>qn,procedures_callreturn:()=>Jn,procedures_defnoreturn:()=>Wn,procedures_defreturn:()=>Kn,procedures_ifreturn:()=>zn,procedures_mutatorarg:()=>jn,procedures_mutatorcontainer:()=>Qn,procedures_return:()=>Zn});var _={};t.r(_),t.d(_,{tuple_change_to:()=>_s,tuple_create_with:()=>ts,tuple_create_with_container:()=>es,tuple_create_with_item:()=>is,tuple_create_with_noreturn:()=>Ts,tuple_create_with_text2:()=>ns,tuple_create_with_text_return:()=>ss,tuple_del:()=>us,tuple_find:()=>rs,tuple_getIndex:()=>os,tuple_getSublist:()=>Is,tuple_get_random_item:()=>ms,tuple_get_sublist:()=>hs,tuple_join:()=>as,tuple_length:()=>ps,tuple_max:()=>ls,tuple_totuple:()=>cs,tuple_trig:()=>ds});var r={};t.r(r),t.d(r,{set_add_discard:()=>Ns,set_clear:()=>gs,set_create_with:()=>Rs,set_create_with_container:()=>Ms,set_create_with_item:()=>Es,set_create_with_text_return:()=>Fs,set_length:()=>Cs,set_operate:()=>Ss,set_operate_update:()=>Ds,set_pop:()=>As,set_sub:()=>fs,set_toset:()=>vs,set_update:()=>Ls});var d={};t.r(d),t.d(d,{html_content:()=>bs,html_content_more:()=>ks,html_document:()=>Vs,html_form:()=>Gs,html_head_body:()=>Ys,html_style:()=>xs,html_style_color:()=>Hs,html_style_content:()=>Xs,html_text:()=>Us,html_title:()=>ys});var I={};t.r(I),t.d(I,{attribute_access:()=>io,function_call:()=>$s,function_call_container:()=>to,function_call_item:()=>eo,raw_block:()=>Ws,raw_empty:()=>Qs,raw_expression:()=>Ks,raw_table:()=>Bs,text_comment:()=>js,text_print_multiple:()=>Js,text_print_multiple_container:()=>zs,text_print_multiple_item:()=>Zs,type_check:()=>qs});var T={};t.r(T),t.d(T,{controls_type:()=>uo,controls_typeLists:()=>ao,variables_change:()=>oo,variables_get:()=>no,variables_global:()=>po,variables_set:()=>so});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Ro,base_setup:()=>_o,controls_delay:()=>Oo,controls_flow_statements:()=>co,controls_for:()=>To,controls_forEach:()=>go,controls_for_range:()=>ho,controls_if:()=>ro,controls_interrupts:()=>Co,controls_lambda:()=>Do,controls_main:()=>lo,controls_millis:()=>Mo,controls_nointerrupts:()=>Ao,controls_pass:()=>fo,controls_range:()=>So,controls_repeat:()=>Po,controls_repeat_ext:()=>vo,controls_thread:()=>Lo,controls_try_finally:()=>Io,controls_whileUntil:()=>mo,do_while:()=>Fo,reset:()=>Eo,time_sleep:()=>No});var m={};t.r(m),t.d(m,{base_map:()=>$o,math_arithmetic:()=>ko,math_bit:()=>bo,math_constant:()=>yo,math_constant_mp:()=>Yo,math_constrain:()=>Ko,math_dec:()=>Ho,math_indexer_number:()=>qo,math_map:()=>Wo,math_max_min:()=>wo,math_number:()=>Vo,math_number_base_conversion:()=>Qo,math_random:()=>Bo,math_random_seed:()=>jo,math_round:()=>Jo,math_selfcalcu:()=>xo,math_single:()=>Go,math_to_int:()=>Uo,math_trig:()=>Xo,text_to_number:()=>zo,text_to_number_skulpt:()=>Zo});var c={};t.r(c),t.d(c,{ascii_to_char:()=>sp,char_to_ascii:()=>op,number_to_text:()=>pp,os_system:()=>Lp,text:()=>tp,text_capital:()=>hp,text_center:()=>mp,text_char:()=>ip,text_char_at:()=>lp,text_char_at2:()=>ap,text_char_at3:()=>Dp,text_compareTo:()=>Sp,text_compare_to:()=>dp,text_encode:()=>Np,text_equals_starts_ends:()=>rp,text_eval:()=>fp,text_find:()=>cp,text_format:()=>Cp,text_format_noreturn:()=>Ap,text_join:()=>np,text_join_seq:()=>Op,text_length:()=>up,text_random_char:()=>_p,text_replace:()=>Rp,text_split:()=>Mp,text_strip:()=>Ep,text_substring:()=>Tp,text_substring2:()=>Ip,text_substring3:()=>gp,text_textarea:()=>ep});var O={};t.r(O),t.d(O,{list_many_input:()=>qp,list_tolist:()=>uu,list_tolist2:()=>au,list_trig:()=>Kp,lists_2d_get_col_row_data:()=>Pp,lists_2d_get_data_with_col_row:()=>vp,lists_append_extend:()=>kp,lists_change_to:()=>jp,lists_change_to_general:()=>zp,lists_clear:()=>Up,lists_create_with:()=>Vp,lists_create_with2:()=>$p,lists_create_with_noreturn:()=>Jp,lists_create_with_text:()=>yp,lists_create_with_text2:()=>tu,lists_del_general:()=>Zp,lists_find:()=>wp,lists_getIndex3:()=>eu,lists_getSublist3:()=>iu,lists_get_index:()=>Yp,lists_get_random_item:()=>xp,lists_get_random_sublist:()=>Gp,lists_get_sublist:()=>Fp,lists_insert_value:()=>Xp,lists_insert_value2:()=>su,lists_pop:()=>Wp,lists_remove_at:()=>Bp,lists_remove_at2:()=>ou,lists_reverse:()=>Hp,lists_setIndex3:()=>nu,lists_set_index:()=>bp,lists_sort:()=>Qp,lists_zip:()=>pu});var R={};t.r(R),t.d(R,{dicts_add_change_del:()=>Eu,dicts_add_or_change:()=>Iu,dicts_clear:()=>mu,dicts_create_with:()=>lu,dicts_create_with_noreturn:()=>gu,dicts_deldict:()=>Mu,dicts_delete:()=>Tu,dicts_get:()=>ru,dicts_get_default:()=>du,dicts_items:()=>cu,dicts_keys:()=>_u,dicts_length:()=>Ru,dicts_pop:()=>Cu,dicts_setdefault:()=>Au,dicts_to_json:()=>Du,dicts_todict:()=>Su,dicts_update:()=>hu,dicts_values:()=>Ou,json_to_dicts:()=>Nu});var M={};t.r(M),t.d(M,{logic_boolean:()=>Pu,logic_compare:()=>fu,logic_compare_continous:()=>Lu,logic_is:()=>bu,logic_is_in:()=>Yu,logic_negate:()=>vu,logic_null:()=>Vu,logic_operation:()=>Fu,logic_tobool:()=>ku,logic_true_or_false:()=>yu});var E={};t.r(E),t.d(E,{sdcard_mount:()=>pa,sdcard_use_spi_init:()=>oa,storage_can_write_ornot:()=>Ku,storage_change_dir:()=>ta,storage_close_file:()=>ju,storage_delete_file:()=>Ju,storage_file_seek:()=>$u,storage_file_tell:()=>Zu,storage_file_write:()=>Uu,storage_fileopen:()=>Gu,storage_fileopen_new:()=>Xu,storage_fileopen_new_encoding:()=>Hu,storage_get_a_line:()=>Wu,storage_get_contents:()=>Bu,storage_get_contents_without_para:()=>wu,storage_get_current_dir:()=>ea,storage_get_file_size:()=>zu,storage_get_filename:()=>Qu,storage_is_file:()=>sa,storage_list_all_files:()=>qu,storage_make_dir:()=>ia,storage_open_file_with_os:()=>xu,storage_rename:()=>na});var C={};t.r(C),t.d(C,{procedures_callnoreturn:()=>_a,procedures_callreturn:()=>la,procedures_defnoreturn:()=>aa,procedures_defreturn:()=>ua,procedures_ifreturn:()=>ra,procedures_return:()=>da});var A={};t.r(A),t.d(A,{tuple_change_to:()=>Ea,tuple_create_with:()=>Ia,tuple_create_with_noreturn:()=>Sa,tuple_create_with_text2:()=>Ta,tuple_create_with_text_return:()=>ha,tuple_del:()=>Oa,tuple_find:()=>Ca,tuple_getIndex:()=>ma,tuple_getSublist:()=>ga,tuple_get_random_item:()=>Na,tuple_get_sublist:()=>Da,tuple_join:()=>Ra,tuple_length:()=>ca,tuple_max:()=>Ma,tuple_totuple:()=>fa,tuple_trig:()=>Aa});var g={};t.r(g),t.d(g,{set_add_discard:()=>Ya,set_clear:()=>Pa,set_create_with:()=>La,set_create_with_text_return:()=>xa,set_length:()=>Fa,set_operate:()=>Va,set_operate_update:()=>ya,set_pop:()=>va,set_sub:()=>ba,set_toset:()=>Ga,set_update:()=>ka});var S={};t.r(S),t.d(S,{html_content:()=>wa,html_content_more:()=>Ba,html_document:()=>Xa,html_form:()=>Ka,html_head_body:()=>Ua,html_style:()=>Wa,html_style_content:()=>Qa,html_text:()=>ja,html_title:()=>Ha});var D={};t.r(D),t.d(D,{attribute_access:()=>el,function_call:()=>tl,raw_block:()=>qa,raw_empty:()=>za,raw_expression:()=>Ja,raw_table:()=>Za,type_check:()=>$a});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>al,actuator_extern_led_bright:()=>ul,actuator_extern_led_brightness:()=>ll,actuator_get_led_bright:()=>rl,actuator_led_bright:()=>_l,actuator_led_brightness:()=>dl,actuator_neopixel_init:()=>Sl,actuator_neopixel_rgb:()=>Dl,actuator_neopixel_write:()=>Nl,actuator_onboard_neopixel_rgb:()=>fl,actuator_onboard_neopixel_rgb_all:()=>Ll,actuator_onboard_neopixel_write:()=>Fl,esp32_mixgo_music_play_list_show:()=>gl,esp32_music_get_tempo:()=>cl,esp32_music_pitch:()=>Il,esp32_music_pitch_with_time:()=>Tl,esp32_music_play_list:()=>Al,esp32_music_reset:()=>Ol,esp32_music_set_tempo:()=>ml,esp32_music_stop:()=>hl,esp32_onboard_music_pitch:()=>Rl,esp32_onboard_music_pitch_with_time:()=>Ml,esp32_onboard_music_play_list:()=>Cl,esp32_onboard_music_stop:()=>El,get_led_bright:()=>Pl,led_brightness:()=>Vl,led_light:()=>vl,ledswitch:()=>pl,number:()=>ol,servo_move:()=>sl});var f={};t.r(f),t.d(f,{mpython_blynk_app_data:()=>jl,mpython_blynk_app_notify:()=>Hl,mpython_blynk_email:()=>Bl,mpython_blynk_get_timers:()=>Wl,mpython_blynk_on_connected:()=>xl,mpython_blynk_on_disconnected:()=>kl,mpython_blynk_run:()=>Xl,mpython_blynk_sensor_data_to_app:()=>Ql,mpython_blynk_set_property:()=>wl,mpython_blynk_setup:()=>ql,mpython_blynk_stop_timers:()=>Ul,mpython_blynk_sync_virtual:()=>bl,mpython_blynk_terminal_widget_vpin:()=>Yl,mpython_blynktimer:()=>Kl,mpython_blynktimer_run:()=>Gl});var L={};t.r(L),t.d(L,{display_animate:()=>U_,display_blink_rate:()=>F_,display_bright_point:()=>e_,display_bright_screen:()=>L_,display_circle:()=>w_,display_clear:()=>$l,display_draw_4strings:()=>C_,display_fill:()=>k_,display_get_pixel:()=>t_,display_get_screen_image:()=>f_,display_get_screen_pixel:()=>N_,display_help:()=>W_,display_image_builtins:()=>d_,display_image_create:()=>I_,display_image_size:()=>A_,display_line:()=>S_,display_line_arbitrarily:()=>D_,display_matrix_use_i2c_init:()=>j_,display_oled_drawPixel:()=>Q_,display_oled_showBitmap:()=>K_,display_onoff:()=>b_,display_rect:()=>g_,display_rgb_color:()=>v_,display_scroll_string:()=>V_,display_scroll_string_delay:()=>Y_,display_scroll_string_extern:()=>J_,display_show_image:()=>q_,display_show_image_or_string:()=>P_,display_show_image_or_string_delay:()=>y_,display_show_static:()=>s_,display_tm1650_power:()=>G_,display_tm1650_show_dot:()=>H_,display_tm1650_show_num:()=>X_,display_tm_use_i2c_init:()=>x_,display_triangle:()=>B_,display_use_i2c_init:()=>E_,esp32_display_is_on:()=>r_,esp32_display_off:()=>__,esp32_display_on:()=>l_,esp32_display_scroll:()=>a_,esp32_display_show_animation:()=>u_,esp32_display_show_default_image:()=>p_,esp32_display_show_string:()=>m_,group_lcd_init:()=>O_,group_lcd_power:()=>M_,group_lcd_print:()=>c_,group_lcd_print2:()=>R_,image_arithmetic:()=>h_,image_shift:()=>T_,microbit_display_show_image:()=>o_,monitor_show_scroll_string:()=>n_,monitor_show_string:()=>i_});var F={};t.r(F),t.d(F,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Mr,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Rr,IOT_EMQX_PING:()=>cr,IOT_FORMATTING:()=>hr,IOT_FORMAT_STRING:()=>mr,IOT_MIXIO_NTP:()=>Or,IOT_MIXIO_PUBLISH:()=>ar,IOT_MIXIO_SUBSCRIBE:()=>lr,iot_checkonenet:()=>Fr,iot_client_onboard:()=>Cr,iot_create_with_item:()=>pr,iot_http_client:()=>Ar,iot_http_data:()=>gr,iot_mixio_check:()=>dr,iot_mixio_connect:()=>ur,iot_mixio_connect_only:()=>rr,iot_mixio_disconnect:()=>_r,iot_mixio_format_msg:()=>Tr,iot_mixio_format_topic:()=>Ir,iot_mixly_key:()=>Er,iot_mqtt_client:()=>Sr,iot_mqtt_data:()=>Dr,iot_onenet_check:()=>er,iot_onenet_connect:()=>$_,iot_onenet_disconnect:()=>tr,iot_onenet_publish:()=>nr,iot_onenet_publish_dict:()=>ir,iot_onenetconnect:()=>fr,iot_onenetdisconnect:()=>Lr,iot_publish:()=>vr,iot_publish_container:()=>sr,iot_publish_item:()=>or,iot_wifi_connect:()=>Z_,iot_wificonnect:()=>Nr});var v={};t.r(v),t.d(v,{actuator_extern_get_led_bright:()=>jr,actuator_extern_led_bright:()=>Qr,actuator_extern_led_brightness:()=>qr,actuator_get_led_bright:()=>zr,actuator_led_bright:()=>Jr,actuator_led_brightness:()=>Zr,actuator_neopixel_init:()=>$r,actuator_neopixel_rgb:()=>ed,actuator_neopixel_write:()=>td,actuator_onboard_neopixel_rgb:()=>nd,actuator_onboard_neopixel_rgb_all:()=>sd,actuator_onboard_neopixel_write:()=>id,esp32_mixgo_music_play_list_show:()=>Ur,esp32_music_get_tempo:()=>br,esp32_music_pitch:()=>Pr,esp32_music_pitch_with_time:()=>Vr,esp32_music_play_list:()=>Hr,esp32_music_reset:()=>wr,esp32_music_set_tempo:()=>Yr,esp32_music_stop:()=>yr,esp32_onboard_music_pitch:()=>kr,esp32_onboard_music_pitch_with_time:()=>xr,esp32_onboard_music_play_list:()=>Xr,esp32_onboard_music_stop:()=>Gr,get_led_bright:()=>pd,led_brightness:()=>ud,led_light:()=>od,ledswitch:()=>Kr,number:()=>Wr,servo_move:()=>Br});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>Rd,mpython_blynk_app_notify:()=>Td,mpython_blynk_email:()=>Md,mpython_blynk_get_timers:()=>md,mpython_blynk_on_connected:()=>rd,mpython_blynk_on_disconnected:()=>_d,mpython_blynk_run:()=>Id,mpython_blynk_sensor_data_to_app:()=>Od,mpython_blynk_set_property:()=>Ed,mpython_blynk_setup:()=>Cd,mpython_blynk_stop_timers:()=>hd,mpython_blynk_sync_virtual:()=>ld,mpython_blynk_terminal_widget_vpin:()=>ad,mpython_blynktimer:()=>cd,mpython_blynktimer_run:()=>dd});var V={};t.r(V),t.d(V,{display_animate:()=>Jd,display_blink_rate:()=>Yd,display_bright_point:()=>vd,display_bright_screen:()=>yd,display_circle:()=>zd,display_clear:()=>bd,display_draw_4strings:()=>xd,display_fill:()=>Wd,display_get_pixel:()=>Fd,display_get_screen_image:()=>Vd,display_get_screen_pixel:()=>Pd,display_image_builtins:()=>Ld,display_image_create:()=>fd,display_line:()=>Ud,display_line_arbitrarily:()=>Gd,display_matrix_use_i2c_init:()=>eI,display_oled_drawPixel:()=>tI,display_oled_showBitmap:()=>$d,display_onoff:()=>wd,display_rect:()=>Xd,display_scroll_string:()=>gd,display_scroll_string_delay:()=>Nd,display_scroll_string_extern:()=>nI,display_show_image:()=>iI,display_show_image_or_string:()=>Ad,display_show_image_or_string_delay:()=>Dd,display_show_static:()=>Sd,display_tm1650_power:()=>Qd,display_tm1650_show_dot:()=>qd,display_tm1650_show_num:()=>jd,display_tm_use_i2c_init:()=>Kd,display_triangle:()=>Zd,display_use_i2c_init:()=>kd,image_arithmetic:()=>Hd,image_shift:()=>Bd});var y={};t.r(y),t.d(y,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>CI,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>MI,IOT_EMQX_PING:()=>AI,IOT_FORMATTING:()=>OI,IOT_FORMAT_STRING:()=>RI,IOT_MIXIO_NTP:()=>gI,IOT_MIXIO_PUBLISH:()=>rI,IOT_MIXIO_SUBSCRIBE:()=>dI,iot_client_onboard:()=>SI,iot_http_client:()=>DI,iot_http_data:()=>NI,iot_mixio_check:()=>hI,iot_mixio_connect:()=>_I,iot_mixio_connect_only:()=>TI,iot_mixio_disconnect:()=>II,iot_mixio_format_msg:()=>cI,iot_mixio_format_topic:()=>mI,iot_mixly_key:()=>EI,iot_mqtt_client:()=>fI,iot_mqtt_data:()=>LI,iot_onenet_check:()=>aI,iot_onenet_connect:()=>oI,iot_onenet_disconnect:()=>pI,iot_onenet_publish:()=>lI,iot_onenet_publish_dict:()=>uI,iot_wifi_connect:()=>sI});var Y={};t.r(Y),t.d(Y,{PID_get_pid:()=>BI,PID_init:()=>wI,actuator_PAC9685_Servo:()=>bI,actuator_PAC9685_init:()=>YI,actuator_Servo:()=>yI,actuator_Servo_init:()=>VI,actuator_ms32006_dcmotor:()=>HI,actuator_ms32006_init:()=>XI,actuator_ms32006_stepper:()=>UI,actuator_rgb_display:()=>GI,actuator_rgb_init:()=>kI,actuator_rgb_set:()=>xI});var b={};t.r(b),t.d(b,{KPU_analysis:()=>$I,KPU_forward:()=>ZI,KPU_init_yolo2:()=>JI,KPU_load:()=>jI,KPU_load1:()=>qI,KPU_run_yolo2:()=>zI,ai_face_info:()=>aT,ai_face_init:()=>pT,ai_face_train:()=>uT,ailocal_loading:()=>sT,ailocal_predict:()=>oT,ailocal_training:()=>nT,aionenet_API:()=>iT,aionenet_nic_init:()=>tT,aionenet_token:()=>eT,tuple_anchor:()=>KI,tuple_calss:()=>QI});var k={};t.r(k),t.d(k,{audio_play:()=>dT,audio_record:()=>IT,mic_init:()=>rT,spk_init:()=>_T,video_play:()=>TT,video_record:()=>hT});var x={};t.r(x),t.d(x,{camera_getinfo:()=>FT,camera_init:()=>RT,camera_reset:()=>MT,camera_run:()=>AT,camera_set_colorbar:()=>LT,camera_set_framesize:()=>CT,camera_set_hmirror:()=>NT,camera_set_pixformat:()=>ET,camera_set_vflip:()=>fT,camera_set_windowing:()=>PT,camera_setmun:()=>vT,camera_shutdown:()=>DT,camera_skip_frames:()=>gT,camera_snapshot:()=>ST,mode:()=>cT,size:()=>OT});var G={};t.r(G),t.d(G,{communicate_i2c_available:()=>JT,communicate_i2c_init:()=>YT,communicate_i2c_master_read:()=>qT,communicate_i2c_read:()=>kT,communicate_i2c_scan:()=>GT,communicate_i2c_write:()=>xT,communicate_i2s_init:()=>bT,communicate_ir_recv:()=>yT,communicate_ow_init:()=>ZT,communicate_ow_read:()=>th,communicate_ow_reset:()=>nh,communicate_ow_scan:()=>$T,communicate_ow_select:()=>ih,communicate_ow_write:()=>eh,communicate_spi_buffer:()=>UT,communicate_spi_init:()=>XT,communicate_spi_read:()=>wT,communicate_spi_read_output:()=>BT,communicate_spi_readinto:()=>WT,communicate_spi_readinto_output:()=>KT,communicate_spi_set:()=>HT,communicate_spi_write:()=>QT,communicate_spi_write_readinto:()=>jT,i2c_available:()=>Oh,i2c_init:()=>sh,i2c_master_reader2:()=>ch,i2c_read:()=>oh,i2c_scan:()=>uh,i2c_slave_onreceive:()=>zT,i2c_write:()=>ph,spi_buffer:()=>_h,spi_init:()=>ah,spi_read:()=>rh,spi_read_output:()=>dh,spi_readinto:()=>Ih,spi_readinto_output:()=>Th,spi_set:()=>lh,spi_write:()=>hh,spi_write_readinto:()=>mh});var X={};t.r(X),t.d(X,{angle:()=>Mh,lcd_clear:()=>Nh,lcd_color:()=>Eh,lcd_colour:()=>Sh,lcd_display:()=>Dh,lcd_draw_string:()=>Fh,lcd_init:()=>Ah,lcd_mirror:()=>Lh,lcd_rotation:()=>fh,lcd_width:()=>gh,on_off:()=>Ch,touch_calibrate:()=>Ph,touch_info:()=>yh,touch_init:()=>vh,touch_read:()=>Vh});var H={};t.r(H),t.d(H,{factory_block:()=>Wh,factory_block_notes:()=>qh,factory_block_return:()=>Kh,factory_block_return_with_textarea:()=>jh,factory_block_with_textarea:()=>Qh,factory_callMethod_noreturn:()=>wh,factory_callMethod_return:()=>Bh,factory_create_with_container:()=>Gh,factory_create_with_item:()=>Xh,factory_declare:()=>Uh,factory_from_import:()=>bh,factory_function_noreturn:()=>xh,factory_function_return:()=>Hh,factory_import:()=>kh});var U={};t.r(U),t.d(U,{asrloca_config:()=>Zh,asrloca_del:()=>tm,asrloca_init:()=>zh,asrloca_recognize:()=>$h});var w={};t.r(w),t.d(w,{image_Histogram:()=>tc,image_Image:()=>nm,image_Image1:()=>sm,image_RGB:()=>am,image_apriltag:()=>Jm,image_barcode:()=>qm,image_binary:()=>wm,image_blob:()=>$m,image_cartoon:()=>bm,image_circle:()=>Pm,image_clear:()=>_m,image_compress:()=>lm,image_copy:()=>um,image_dilate:()=>xm,image_draw_arrow:()=>Mm,image_draw_circle:()=>Cm,image_draw_cross:()=>Em,image_draw_image:()=>Sm,image_draw_keypoints:()=>gm,image_draw_line:()=>Rm,image_draw_rectangle:()=>Am,image_draw_string:()=>Om,image_draw_string_UTF:()=>cm,image_draw_string_flash:()=>mm,image_erode:()=>km,image_find_apriltags:()=>Qm,image_find_barcodes:()=>Wm,image_find_blobs:()=>zm,image_find_circles:()=>fm,image_find_hog:()=>uc,image_find_keypoints:()=>ac,image_find_line_segments:()=>Nm,image_find_lines:()=>Dm,image_find_qrcodes:()=>Km,image_find_rects:()=>Lm,image_flood_fill:()=>Gm,image_font_free:()=>hm,image_font_load:()=>Tm,image_get_histogram:()=>Zm,image_get_pixel:()=>Im,image_get_regression:()=>Fm,image_getinfo:()=>om,image_grayscale_to_rgb:()=>pc,image_histeq:()=>ym,image_invert:()=>Hm,image_kptmatch:()=>_c,image_lab_to_rgb:()=>nc,image_lens_corr:()=>Um,image_line:()=>vm,image_linpolar:()=>Xm,image_match_descriptor:()=>lc,image_mean:()=>Ym,image_morph:()=>Bm,image_percentile:()=>ec,image_qrcode:()=>jm,image_rect:()=>Vm,image_rgb_to_grayscale:()=>oc,image_rgb_to_lab:()=>sc,image_save:()=>pm,image_set_pixel:()=>dm,image_threshold:()=>ic,image_tonew:()=>rm,true_false:()=>im});var B={};t.r(B),t.d(B,{inout_digital_init:()=>Ic,inout_digital_read:()=>hc,inout_digital_write:()=>Tc,inout_highlow:()=>dc,inout_pin_attachInterrupt:()=>Oc,inout_pin_disirq:()=>Rc,inout_pwm_init:()=>mc,inout_pwm_write:()=>cc});var W={};t.r(W),t.d(W,{iot_checkonenet:()=>Vc,iot_create_with_item:()=>Lc,iot_onenet_check:()=>gc,iot_onenet_connect:()=>Cc,iot_onenet_disconnect:()=>Ac,iot_onenet_publish:()=>Dc,iot_onenet_publish_dict:()=>Sc,iot_onenetconnect:()=>vc,iot_onenetdisconnect:()=>Pc,iot_publish:()=>yc,iot_publish_container:()=>Nc,iot_publish_item:()=>fc,iot_wifi_connect:()=>Ec,iot_wificonnect:()=>Fc});var K={};t.r(K),t.d(K,{base_map:()=>zc,math_arithmetic:()=>xc,math_bit:()=>Xc,math_constant:()=>kc,math_constrain:()=>Qc,math_indexer_number:()=>qc,math_map:()=>jc,math_max_min:()=>wc,math_max_min1:()=>Bc,math_number:()=>bc,math_number_base_conversion:()=>Wc,math_random:()=>Kc,math_random_seed:()=>Jc,math_selfcalcu:()=>Gc,math_to_int:()=>Uc,math_trig:()=>Hc});var Q={};t.r(Q),t.d(Q,{nes_joystick_init:()=>$c,nes_keyboard_init:()=>tO,nes_run:()=>eO});var j={};t.r(j),t.d(j,{network_connect:()=>oO,network_disable_ap:()=>lO,network_disconnect:()=>uO,network_enable_ap:()=>aO,network_ifconfig:()=>pO,network_init:()=>nO,network_scan:()=>sO,network_socket_close:()=>mO,network_socket_connect:()=>dO,network_socket_getaddrinfo:()=>rO,network_socket_init:()=>_O,network_socket_receive:()=>hO,network_socket_send:()=>TO,network_socket_settimeout:()=>IO});var q={};t.r(q),t.d(q,{pins_analog:()=>MO,pins_analog_pin:()=>EO,pins_axis:()=>YO,pins_brightness:()=>bO,pins_builtinimg:()=>FO,pins_button:()=>gO,pins_dac:()=>CO,pins_dac_pin:()=>AO,pins_digital:()=>OO,pins_digital_dot:()=>HO,pins_digital_pin:()=>RO,pins_exlcdh:()=>VO,pins_exlcdv:()=>yO,pins_imglist:()=>vO,pins_one_more:()=>XO,pins_playlist:()=>PO,pins_pwm:()=>SO,pins_pwm_pin:()=>DO,pins_radio_datarate:()=>GO,pins_radio_power:()=>xO,pins_serial:()=>LO,pins_tone_notes:()=>kO,pins_touch:()=>fO,pins_touch_pin:()=>NO});var J={};t.r(J),t.d(J,{HCSR04:()=>QO,KEY_SELET:()=>wO,sensor_adxl345_get_acceleration:()=>eR,sensor_bmp:()=>JO,sensor_button_init:()=>BO,sensor_button_read:()=>WO,sensor_dht11:()=>KO,sensor_mpu9250_get_acceleration:()=>jO,sensor_mpu9250_get_gyro:()=>$O,sensor_mpu9250_get_magnetic:()=>ZO,sensor_mpu9250_temperature:()=>tR,sensor_sht:()=>zO,sensor_use_i2c_init:()=>qO});var z={};t.r(z),t.d(z,{serial_any:()=>aR,serial_print:()=>nR,serial_print_hex:()=>oR,serial_println:()=>sR,serial_read_from_mixgoce:()=>MR,serial_readline:()=>lR,serial_readstr:()=>uR,serial_readstr_until:()=>_R,serial_receive_data_event:()=>pR,serial_send_to_mixgoce:()=>RR,serial_softserial1:()=>rR,system_input:()=>dR,system_print:()=>IR,system_print_container:()=>cR,system_print_end:()=>hR,system_print_inline:()=>TR,system_print_item:()=>OR,system_print_many:()=>mR});var Z={};t.r(Z),t.d(Z,{Panic_with_status_code:()=>gR,TIM_SELET:()=>CR,Timer_init:()=>VR,base_delay:()=>bR,controls_delay:()=>AR,controls_millis:()=>SR,controls_uname:()=>NR,raw_block:()=>DR,system_gc_collect:()=>FR,system_reset:()=>LR,system_ticks_diff:()=>vR,system_timer:()=>fR,system_timer_init:()=>PR,time_ticks_diff:()=>YR,timer2:()=>yR});var $={};t.r($),t.d($,{LCD_color_seclet:()=>XR,lists_create_with_text1:()=>xR,tuple_create_with_text3:()=>GR});var tt={};t.r(tt),t.d(tt,{PID_get_pid:()=>ZR,PID_init:()=>zR,actuator_PAC9685_Servo:()=>BR,actuator_PAC9685_init:()=>wR,actuator_Servo:()=>UR,actuator_Servo_init:()=>HR,actuator_ms32006_dcmotor:()=>qR,actuator_ms32006_init:()=>jR,actuator_ms32006_stepper:()=>JR,actuator_rgb_display:()=>QR,actuator_rgb_init:()=>WR,actuator_rgb_set:()=>KR});var et={};t.r(et),t.d(et,{KPU_analysis:()=>pM,KPU_forward:()=>oM,KPU_init_yolo2:()=>nM,KPU_load:()=>eM,KPU_load1:()=>iM,KPU_run_yolo2:()=>sM,ai_face_info:()=>hM,ai_face_init:()=>IM,ai_face_train:()=>TM,ailocal_loading:()=>rM,ailocal_predict:()=>dM,ailocal_training:()=>_M,aionenet_API:()=>lM,aionenet_nic_init:()=>uM,aionenet_token:()=>aM,tuple_anchor:()=>$R,tuple_calss:()=>tM});var it={};t.r(it),t.d(it,{audio_play:()=>OM,audio_record:()=>RM,mic_init:()=>cM,spk_init:()=>mM,video_play:()=>MM,video_record:()=>EM});var nt={};t.r(nt),t.d(nt,{camera_getinfo:()=>YM,camera_init:()=>gM,camera_reset:()=>SM,camera_run:()=>fM,camera_set_colorbar:()=>yM,camera_set_framesize:()=>NM,camera_set_hmirror:()=>PM,camera_set_pixformat:()=>DM,camera_set_vflip:()=>VM,camera_set_windowing:()=>kM,camera_setmun:()=>bM,camera_shutdown:()=>vM,camera_skip_frames:()=>LM,camera_snapshot:()=>FM,mode:()=>CM,size:()=>AM});var st={};t.r(st),t.d(st,{communicate_i2c_available:()=>WM,communicate_i2c_init:()=>GM,communicate_i2c_master_read:()=>BM,communicate_i2c_read:()=>HM,communicate_i2c_scan:()=>wM,communicate_i2c_write:()=>UM,communicate_i2s_init:()=>XM,communicate_ir_recv:()=>xM,communicate_ow_init:()=>iE,communicate_ow_read:()=>oE,communicate_ow_reset:()=>sE,communicate_ow_scan:()=>nE,communicate_ow_select:()=>uE,communicate_ow_write:()=>pE,communicate_spi_buffer:()=>qM,communicate_spi_init:()=>QM,communicate_spi_read:()=>JM,communicate_spi_read_output:()=>zM,communicate_spi_readinto:()=>ZM,communicate_spi_readinto_output:()=>$M,communicate_spi_set:()=>jM,communicate_spi_write:()=>tE,communicate_spi_write_readinto:()=>eE,i2c_slave_onreceive:()=>KM});var ot={};t.r(ot),t.d(ot,{angle:()=>aE,lcd_clear:()=>hE,lcd_color:()=>lE,lcd_colour:()=>dE,lcd_display:()=>TE,lcd_draw_string:()=>OE,lcd_init:()=>rE,lcd_mirror:()=>cE,lcd_rotation:()=>mE,lcd_width:()=>IE,on_off:()=>_E,touch_calibrate:()=>ME,touch_info:()=>CE,touch_init:()=>RE,touch_read:()=>EE});var pt={};t.r(pt),t.d(pt,{factory_block:()=>FE,factory_block_notes:()=>yE,factory_block_return:()=>vE,factory_block_return_with_textarea:()=>VE,factory_block_with_textarea:()=>PE,factory_callMethod_noreturn:()=>fE,factory_callMethod_return:()=>LE,factory_declare:()=>NE,factory_from_import:()=>AE,factory_function_noreturn:()=>SE,factory_function_return:()=>DE,factory_import:()=>gE});var ut={};t.r(ut),t.d(ut,{asrloca_config:()=>bE,asrloca_del:()=>xE,asrloca_init:()=>YE,asrloca_recognize:()=>kE});var at={};t.r(at),t.d(at,{image_Histogram:()=>kC,image_Image:()=>HE,image_Image1:()=>UE,image_RGB:()=>XE,image_apriltag:()=>VC,image_barcode:()=>vC,image_binary:()=>DC,image_blob:()=>bC,image_cartoon:()=>RC,image_circle:()=>hC,image_clear:()=>ZE,image_compress:()=>zE,image_copy:()=>JE,image_dilate:()=>EC,image_draw_arrow:()=>nC,image_draw_circle:()=>oC,image_draw_cross:()=>sC,image_draw_image:()=>aC,image_draw_keypoints:()=>uC,image_draw_line:()=>iC,image_draw_rectangle:()=>pC,image_draw_string:()=>qE,image_draw_string_UTF:()=>jE,image_draw_string_flash:()=>QE,image_erode:()=>MC,image_find_apriltags:()=>FC,image_find_barcodes:()=>fC,image_find_blobs:()=>yC,image_find_circles:()=>rC,image_find_hog:()=>BC,image_find_keypoints:()=>WC,image_find_line_segments:()=>_C,image_find_lines:()=>lC,image_find_qrcodes:()=>LC,image_find_rects:()=>dC,image_flood_fill:()=>CC,image_font_free:()=>WE,image_font_load:()=>KE,image_get_histogram:()=>YC,image_get_pixel:()=>eC,image_get_regression:()=>IC,image_getinfo:()=>wE,image_grayscale_to_rgb:()=>wC,image_histeq:()=>cC,image_invert:()=>gC,image_kptmatch:()=>QC,image_lab_to_rgb:()=>XC,image_lens_corr:()=>SC,image_line:()=>TC,image_linpolar:()=>AC,image_match_descriptor:()=>KC,image_mean:()=>OC,image_morph:()=>NC,image_percentile:()=>xC,image_qrcode:()=>PC,image_rect:()=>mC,image_rgb_to_grayscale:()=>UC,image_rgb_to_lab:()=>HC,image_save:()=>BE,image_set_pixel:()=>tC,image_threshold:()=>GC,image_tonew:()=>$E,true_false:()=>GE});var lt={};t.r(lt),t.d(lt,{PGA_SELET:()=>jC,inout_adc_Vread:()=>nA,inout_adc_init:()=>eA,inout_adc_read:()=>iA,inout_digital_init:()=>JC,inout_digital_read:()=>ZC,inout_digital_write:()=>zC,inout_highlow:()=>qC,inout_pin_attachInterrupt:()=>sA,inout_pin_disirq:()=>oA,inout_pwm_init:()=>$C,inout_pwm_write:()=>tA});var _t={};t.r(_t),t.d(_t,{iot_onenet_check:()=>_A,iot_onenet_connect:()=>uA,iot_onenet_disconnect:()=>aA,iot_onenet_publish:()=>rA,iot_onenet_publish_dict:()=>lA,iot_wifi_connect:()=>pA});var rt={};t.r(rt),t.d(rt,{base_map:()=>fA,math_arithmetic:()=>hA,math_bit:()=>TA,math_constant:()=>IA,math_constrain:()=>gA,math_indexer_number:()=>NA,math_map:()=>AA,math_max_min:()=>MA,math_max_min1:()=>EA,math_number:()=>dA,math_number_base_conversion:()=>SA,math_random:()=>CA,math_random_seed:()=>DA,math_selfcalcu:()=>mA,math_single:()=>cA,math_to_int:()=>RA,math_trig:()=>OA});var dt={};t.r(dt),t.d(dt,{nes_joystick_init:()=>LA,nes_keyboard_init:()=>FA,nes_run:()=>vA});var It={};t.r(It),t.d(It,{network_connect:()=>yA,network_disable_ap:()=>xA,network_disconnect:()=>bA,network_enable_ap:()=>kA,network_ifconfig:()=>YA,network_init:()=>PA,network_scan:()=>VA,network_server:()=>GA,network_socket_close:()=>KA,network_socket_connect:()=>UA,network_socket_getaddrinfo:()=>HA,network_socket_init:()=>XA,network_socket_receive:()=>BA,network_socket_send:()=>WA,network_socket_settimeout:()=>wA});var Tt={};t.r(Tt),t.d(Tt,{pins_analog:()=>zA,pins_analog_pin:()=>JA,pins_axis:()=>lg,pins_brightness:()=>dg,pins_builtinimg:()=>pg,pins_button:()=>jA,pins_dac:()=>eg,pins_dac_pin:()=>tg,pins_digital:()=>QA,pins_digital_dot:()=>cg,pins_digital_pin:()=>qA,pins_exlcdh:()=>_g,pins_exlcdv:()=>rg,pins_imglist:()=>ug,pins_interrupt:()=>sg,pins_one_more:()=>mg,pins_playlist:()=>ag,pins_pwm:()=>$A,pins_pwm_pin:()=>ZA,pins_radio_datarate:()=>hg,pins_radio_power:()=>Tg,pins_serial:()=>og,pins_tone_notes:()=>Ig,pins_touch:()=>ng,pins_touch_pin:()=>ig});var ht={};t.r(ht),t.d(ht,{HCSR04:()=>Cg,KEY_SELET:()=>Og,sensor_adxl345_get_acceleration:()=>Dg,sensor_bmp:()=>yg,sensor_button_init:()=>Rg,sensor_button_read:()=>Mg,sensor_compass_reset:()=>Pg,sensor_dht11:()=>Eg,sensor_mpu9250_attachGestureInterrupt:()=>Ag,sensor_mpu9250_calibrate_compass:()=>Lg,sensor_mpu9250_field_strength:()=>vg,sensor_mpu9250_gesture:()=>gg,sensor_mpu9250_get_acceleration:()=>Sg,sensor_mpu9250_get_gyro:()=>fg,sensor_mpu9250_get_magnetic:()=>Ng,sensor_mpu9250_temperature:()=>Fg,sensor_sht:()=>Yg,sensor_use_i2c_init:()=>Vg});var mt={};t.r(mt),t.d(mt,{UART_SELET:()=>bg,serial_any:()=>Xg,serial_print:()=>kg,serial_print_hex:()=>Gg,serial_println:()=>xg,serial_read_from_mixgoce:()=>Jg,serial_readline:()=>Ug,serial_readstr:()=>Hg,serial_send_to_mixgoce:()=>qg,serial_softserial1:()=>wg,system_input:()=>Bg,system_print:()=>Wg,system_print_end:()=>Qg,system_print_inline:()=>Kg,system_print_many:()=>jg});var ct={};t.r(ct),t.d(ct,{Panic_with_status_code:()=>aS,TIM_SELET:()=>zg,Timer_init:()=>RS,base_delay:()=>CS,controls_delay:()=>hS,controls_end_program:()=>_S,controls_millis:()=>lS,controls_uname:()=>TS,reset:()=>rS,system_device_name:()=>pS,system_device_serial_number:()=>uS,system_event_bus_source:()=>sS,system_event_bus_value:()=>oS,system_gc_collect:()=>IS,system_on_event:()=>eS,system_raise_event:()=>tS,system_reset:()=>dS,system_run_in_background:()=>Zg,system_ticks_diff:()=>cS,system_timer:()=>mS,system_timer_init:()=>OS,system_timestamp:()=>iS,system_value:()=>nS,system_wait:()=>$g,time_ticks_diff:()=>ES,timer2:()=>MS});var Ot={};t.r(Ot),t.d(Ot,{LCD_color_seclet:()=>DS,LCD_color_seclet1:()=>SS,lists_create_with_text1:()=>AS,tuple_create_with_text3:()=>gS});const Rt=Blockly,Mt=Mixly,Et={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(p+=n)):i=p}else i="i";return i}},Ct=Et; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Ft,controls_typeLists:()=>vt,variables_change:()=>ft,variables_get:()=>Dt,variables_global:()=>Lt,variables_set:()=>Nt});var i={};t.r(i),t.d(i,{base_setup:()=>yt,controls_delay:()=>Yt,controls_end_program:()=>bt,controls_except:()=>qt,controls_finally:()=>Jt,controls_flow_statements:()=>Ut,controls_for:()=>wt,controls_forEach:()=>Gt,controls_for_range:()=>Bt,controls_if:()=>kt,controls_if_else:()=>Qt,controls_if_elseif:()=>Kt,controls_if_if:()=>Wt,controls_lambda:()=>Zt,controls_main:()=>Vt,controls_pass:()=>$t,controls_range:()=>xt,controls_repeat_ext:()=>zt,controls_thread:()=>te,controls_try:()=>jt,controls_try_finally:()=>Ht,controls_whileUntil:()=>Xt,do_while:()=>ee,garbage_collection:()=>ie,get_mem_alloc:()=>ne,get_mem_free:()=>se});var n={};t.r(n),t.d(n,{base_map:()=>Se,math_arithmetic:()=>le,math_bit:()=>re,math_constant:()=>ue,math_constant_mp:()=>ae,math_constrain:()=>Oe,math_dec:()=>Ie,math_indexer_number:()=>Me,math_map:()=>Re,math_max_min:()=>he,math_number:()=>pe,math_number_base_conversion:()=>me,math_random:()=>ce,math_random_seed:()=>Ee,math_round:()=>Ce,math_selfcalcu:()=>_e,math_to_int:()=>Te,math_trig:()=>de,text_to_number:()=>Ae,text_to_number_skulpt:()=>ge});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ve,char_to_ascii:()=>Pe,number_to_text:()=>Ve,os_system:()=>si,text:()=>Ne,text_capital:()=>Ue,text_center:()=>we,text_char:()=>Le,text_char_at:()=>be,text_char_at2:()=>Ye,text_char_at3:()=>ti,text_compareTo:()=>$e,text_compare_to:()=>He,text_create_with_container:()=>Je,text_create_with_item:()=>ze,text_encode:()=>ii,text_equals_starts_ends:()=>Xe,text_eval:()=>ni,text_find:()=>Be,text_format:()=>qe,text_format_noreturn:()=>ei,text_join:()=>Fe,text_join_seq:()=>We,text_length:()=>ye,text_random_char:()=>ke,text_replace:()=>Ke,text_split:()=>Qe,text_strip:()=>je,text_substring:()=>Ge,text_substring2:()=>xe,text_substring3:()=>Ze,text_textarea:()=>fe});var o={};t.r(o),t.d(o,{list_many_input:()=>Ni,list_tolist:()=>yi,list_tolist2:()=>Ui,list_trig:()=>gi,lists_2d_get_col_row_data:()=>li,lists_2d_get_data_with_col_row:()=>ai,lists_append_extend:()=>hi,lists_change_to:()=>Di,lists_change_to_general:()=>Li,lists_clear:()=>Mi,lists_create_with:()=>_i,lists_create_with2:()=>Yi,lists_create_with_container:()=>di,lists_create_with_item:()=>Ii,lists_create_with_noreturn:()=>fi,lists_create_with_text:()=>ri,lists_create_with_text2:()=>bi,lists_del_general:()=>Fi,lists_find:()=>Ai,lists_getIndex3:()=>ki,lists_getSublist3:()=>xi,lists_get_index:()=>pi,lists_get_random_item:()=>mi,lists_get_random_sublist:()=>ci,lists_get_sublist:()=>ui,lists_insert_value:()=>Oi,lists_insert_value2:()=>Xi,lists_pop:()=>Ci,lists_remove_at:()=>Ei,lists_remove_at2:()=>Hi,lists_reverse:()=>Ri,lists_setIndex3:()=>Gi,lists_set_index:()=>Ti,lists_sort:()=>Si,lists_zip:()=>vi,lists_zip_container:()=>Pi,lists_zip_item:()=>Vi});var p={};t.r(p),t.d(p,{dicts_add_change_del:()=>on,dicts_add_or_change:()=>Ji,dicts_clear:()=>$i,dicts_create_with:()=>Bi,dicts_create_with_container:()=>Wi,dicts_create_with_item:()=>Ki,dicts_create_with_noreturn:()=>an,dicts_deldict:()=>sn,dicts_delete:()=>zi,dicts_get:()=>ji,dicts_get_default:()=>qi,dicts_items:()=>tn,dicts_keys:()=>Qi,dicts_length:()=>nn,dicts_pop:()=>pn,dicts_setdefault:()=>un,dicts_to_json:()=>_n,dicts_todict:()=>ln,dicts_update:()=>Zi,dicts_values:()=>en,json_to_dicts:()=>rn});var u={};t.r(u),t.d(u,{logic_boolean:()=>cn,logic_compare:()=>In,logic_compare_continous:()=>Tn,logic_is:()=>En,logic_is_in:()=>Mn,logic_negate:()=>mn,logic_null:()=>On,logic_operation:()=>hn,logic_tobool:()=>Cn,logic_true_or_false:()=>Rn});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Wn,sdcard_use_spi_init:()=>Bn,storage_can_write_ornot:()=>vn,storage_change_dir:()=>Un,storage_close_file:()=>Vn,storage_delete_file:()=>Yn,storage_file_seek:()=>xn,storage_file_tell:()=>kn,storage_file_write:()=>Nn,storage_fileopen:()=>gn,storage_fileopen_new:()=>Sn,storage_fileopen_new_encoding:()=>Dn,storage_get_a_line:()=>Fn,storage_get_contents:()=>Ln,storage_get_contents_without_para:()=>fn,storage_get_current_dir:()=>Gn,storage_get_file_size:()=>bn,storage_get_filename:()=>Pn,storage_is_file:()=>wn,storage_list_all_files:()=>yn,storage_make_dir:()=>Xn,storage_open_file_with_os:()=>An,storage_rename:()=>Hn});var l={};t.r(l),t.d(l,{procedures_callnoreturn:()=>Zn,procedures_callreturn:()=>$n,procedures_defnoreturn:()=>jn,procedures_defreturn:()=>qn,procedures_ifreturn:()=>ts,procedures_mutatorarg:()=>zn,procedures_mutatorcontainer:()=>Jn,procedures_return:()=>es});var _={};t.r(_),t.d(_,{tuple_change_to:()=>Is,tuple_create_with:()=>ns,tuple_create_with_container:()=>ss,tuple_create_with_item:()=>os,tuple_create_with_noreturn:()=>cs,tuple_create_with_text2:()=>ps,tuple_create_with_text_return:()=>us,tuple_del:()=>_s,tuple_find:()=>Ts,tuple_getIndex:()=>as,tuple_getSublist:()=>ms,tuple_get_random_item:()=>Rs,tuple_get_sublist:()=>Os,tuple_join:()=>rs,tuple_length:()=>ls,tuple_max:()=>ds,tuple_totuple:()=>Ms,tuple_trig:()=>hs});var r={};t.r(r),t.d(r,{set_add_discard:()=>Fs,set_clear:()=>Ns,set_create_with:()=>Cs,set_create_with_container:()=>As,set_create_with_item:()=>gs,set_create_with_text_return:()=>Vs,set_length:()=>Ss,set_operate:()=>fs,set_operate_update:()=>Ls,set_pop:()=>Ds,set_sub:()=>vs,set_toset:()=>ys,set_update:()=>Ps});var d={};t.r(d),t.d(d,{html_content:()=>Gs,html_content_more:()=>Xs,html_document:()=>bs,html_form:()=>Us,html_head_body:()=>xs,html_style:()=>Hs,html_style_color:()=>Bs,html_style_content:()=>ws,html_text:()=>Ws,html_title:()=>ks});var I={};t.r(I),t.d(I,{attribute_access:()=>oo,function_call:()=>io,function_call_container:()=>no,function_call_item:()=>so,raw_block:()=>js,raw_empty:()=>Js,raw_expression:()=>qs,raw_table:()=>Qs,text_comment:()=>zs,text_print_multiple:()=>$s,text_print_multiple_container:()=>to,text_print_multiple_item:()=>eo,type_check:()=>Zs});var T={};t.r(T),t.d(T,{controls_type:()=>_o,controls_typeLists:()=>ro,variables_change:()=>ao,variables_get:()=>po,variables_global:()=>lo,variables_set:()=>uo});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Co,base_setup:()=>To,controls_delay:()=>Eo,controls_flow_statements:()=>Mo,controls_for:()=>co,controls_forEach:()=>No,controls_for_range:()=>Oo,controls_if:()=>ho,controls_interrupts:()=>So,controls_lambda:()=>Lo,controls_main:()=>Io,controls_millis:()=>Ao,controls_nointerrupts:()=>Do,controls_pass:()=>vo,controls_range:()=>fo,controls_repeat:()=>xo,controls_repeat_ext:()=>yo,controls_thread:()=>Po,controls_try_finally:()=>mo,controls_whileUntil:()=>Ro,do_while:()=>Vo,garbage_collection:()=>Yo,get_mem_alloc:()=>bo,get_mem_free:()=>ko,reset:()=>go,time_sleep:()=>Fo});var m={};t.r(m),t.d(m,{base_map:()=>op,math_arithmetic:()=>wo,math_bit:()=>Uo,math_constant:()=>Xo,math_constant_mp:()=>Ho,math_constrain:()=>Zo,math_dec:()=>Qo,math_indexer_number:()=>ep,math_map:()=>zo,math_max_min:()=>qo,math_number:()=>Go,math_number_base_conversion:()=>$o,math_random:()=>Jo,math_random_seed:()=>tp,math_round:()=>ip,math_selfcalcu:()=>Bo,math_single:()=>Wo,math_to_int:()=>jo,math_trig:()=>Ko,text_to_number:()=>np,text_to_number_skulpt:()=>sp});var c={};t.r(c),t.d(c,{ascii_to_char:()=>_p,char_to_ascii:()=>rp,number_to_text:()=>dp,os_system:()=>Yp,text:()=>pp,text_capital:()=>Ep,text_center:()=>Cp,text_char:()=>ap,text_char_at:()=>hp,text_char_at2:()=>Tp,text_char_at3:()=>Pp,text_compareTo:()=>vp,text_compare_to:()=>Op,text_encode:()=>Vp,text_equals_starts_ends:()=>cp,text_eval:()=>yp,text_find:()=>Ap,text_format:()=>fp,text_format_noreturn:()=>Lp,text_join:()=>lp,text_join_seq:()=>gp,text_length:()=>Ip,text_random_char:()=>mp,text_replace:()=>Sp,text_split:()=>Dp,text_strip:()=>Np,text_substring:()=>Mp,text_substring2:()=>Rp,text_substring3:()=>Fp,text_textarea:()=>up});var O={};t.r(O),t.d(O,{list_many_input:()=>eu,list_tolist:()=>Iu,list_tolist2:()=>Tu,list_trig:()=>Zp,lists_2d_get_col_row_data:()=>xp,lists_2d_get_data_with_col_row:()=>kp,lists_append_extend:()=>wp,lists_change_to:()=>tu,lists_change_to_general:()=>nu,lists_clear:()=>jp,lists_create_with:()=>Gp,lists_create_with2:()=>ou,lists_create_with_noreturn:()=>iu,lists_create_with_text:()=>Xp,lists_create_with_text2:()=>pu,lists_del_general:()=>su,lists_find:()=>qp,lists_getIndex3:()=>uu,lists_getSublist3:()=>au,lists_get_index:()=>Hp,lists_get_random_item:()=>Bp,lists_get_random_sublist:()=>Wp,lists_get_sublist:()=>bp,lists_insert_value:()=>Kp,lists_insert_value2:()=>_u,lists_pop:()=>zp,lists_remove_at:()=>Jp,lists_remove_at2:()=>ru,lists_reverse:()=>Qp,lists_setIndex3:()=>lu,lists_set_index:()=>Up,lists_sort:()=>$p,lists_zip:()=>du});var R={};t.r(R),t.d(R,{dicts_add_change_del:()=>Nu,dicts_add_or_change:()=>Ru,dicts_clear:()=>Cu,dicts_create_with:()=>hu,dicts_create_with_noreturn:()=>Fu,dicts_deldict:()=>Du,dicts_delete:()=>Mu,dicts_get:()=>cu,dicts_get_default:()=>Ou,dicts_items:()=>Au,dicts_keys:()=>mu,dicts_length:()=>Su,dicts_pop:()=>fu,dicts_setdefault:()=>Lu,dicts_to_json:()=>Pu,dicts_todict:()=>vu,dicts_update:()=>Eu,dicts_values:()=>gu,json_to_dicts:()=>Vu});var M={};t.r(M),t.d(M,{logic_boolean:()=>xu,logic_compare:()=>yu,logic_compare_continous:()=>Yu,logic_is:()=>Uu,logic_is_in:()=>Hu,logic_negate:()=>ku,logic_null:()=>Gu,logic_operation:()=>bu,logic_tobool:()=>wu,logic_true_or_false:()=>Xu});var E={};t.r(E),t.d(E,{sdcard_mount:()=>da,sdcard_use_spi_init:()=>ra,storage_can_write_ornot:()=>Zu,storage_change_dir:()=>pa,storage_close_file:()=>ta,storage_delete_file:()=>ia,storage_file_seek:()=>oa,storage_file_tell:()=>sa,storage_file_write:()=>ju,storage_fileopen:()=>Wu,storage_fileopen_new:()=>Ku,storage_fileopen_new_encoding:()=>Qu,storage_get_a_line:()=>zu,storage_get_contents:()=>Ju,storage_get_contents_without_para:()=>qu,storage_get_current_dir:()=>ua,storage_get_file_size:()=>na,storage_get_filename:()=>$u,storage_is_file:()=>_a,storage_list_all_files:()=>ea,storage_make_dir:()=>aa,storage_open_file_with_os:()=>Bu,storage_rename:()=>la});var C={};t.r(C),t.d(C,{procedures_callnoreturn:()=>ma,procedures_callreturn:()=>ha,procedures_defnoreturn:()=>Ta,procedures_defreturn:()=>Ia,procedures_ifreturn:()=>ca,procedures_return:()=>Oa});var A={};t.r(A),t.d(A,{tuple_change_to:()=>Na,tuple_create_with:()=>Ra,tuple_create_with_noreturn:()=>va,tuple_create_with_text2:()=>Ma,tuple_create_with_text_return:()=>Ea,tuple_del:()=>ga,tuple_find:()=>fa,tuple_getIndex:()=>Ca,tuple_getSublist:()=>Fa,tuple_get_random_item:()=>Va,tuple_get_sublist:()=>Pa,tuple_join:()=>Sa,tuple_length:()=>Aa,tuple_max:()=>Da,tuple_totuple:()=>ya,tuple_trig:()=>La});var g={};t.r(g),t.d(g,{set_add_discard:()=>Ha,set_clear:()=>xa,set_create_with:()=>Ya,set_create_with_text_return:()=>Ba,set_length:()=>ba,set_operate:()=>Ga,set_operate_update:()=>Xa,set_pop:()=>ka,set_sub:()=>Ua,set_toset:()=>Wa,set_update:()=>wa});var S={};t.r(S),t.d(S,{html_content:()=>qa,html_content_more:()=>Ja,html_document:()=>Ka,html_form:()=>Za,html_head_body:()=>ja,html_style:()=>za,html_style_content:()=>$a,html_text:()=>tl,html_title:()=>Qa});var D={};t.r(D),t.d(D,{attribute_access:()=>ul,function_call:()=>pl,raw_block:()=>el,raw_empty:()=>nl,raw_expression:()=>il,raw_table:()=>sl,type_check:()=>ol});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>Tl,actuator_extern_led_bright:()=>Il,actuator_extern_led_brightness:()=>hl,actuator_get_led_bright:()=>cl,actuator_led_bright:()=>ml,actuator_led_brightness:()=>Ol,actuator_neopixel_init:()=>vl,actuator_neopixel_rgb:()=>Pl,actuator_neopixel_write:()=>Vl,actuator_onboard_neopixel_rgb:()=>yl,actuator_onboard_neopixel_rgb_all:()=>Yl,actuator_onboard_neopixel_write:()=>bl,esp32_mixgo_music_play_list_show:()=>Fl,esp32_music_get_tempo:()=>Al,esp32_music_pitch:()=>Rl,esp32_music_pitch_with_time:()=>Ml,esp32_music_play_list:()=>Ll,esp32_music_reset:()=>gl,esp32_music_set_tempo:()=>Cl,esp32_music_stop:()=>El,esp32_onboard_music_pitch:()=>Sl,esp32_onboard_music_pitch_with_time:()=>Dl,esp32_onboard_music_play_list:()=>fl,esp32_onboard_music_stop:()=>Nl,get_led_bright:()=>xl,led_brightness:()=>Gl,led_light:()=>kl,ledswitch:()=>dl,number:()=>rl,servo_move:()=>_l});var f={};t.r(f),t.d(f,{mpython_blynk_app_data:()=>t_,mpython_blynk_app_notify:()=>Ql,mpython_blynk_email:()=>Jl,mpython_blynk_get_timers:()=>zl,mpython_blynk_on_connected:()=>Bl,mpython_blynk_on_disconnected:()=>wl,mpython_blynk_run:()=>Kl,mpython_blynk_sensor_data_to_app:()=>$l,mpython_blynk_set_property:()=>ql,mpython_blynk_setup:()=>e_,mpython_blynk_stop_timers:()=>jl,mpython_blynk_sync_virtual:()=>Ul,mpython_blynk_terminal_widget_vpin:()=>Hl,mpython_blynktimer:()=>Zl,mpython_blynktimer_run:()=>Wl});var L={};t.r(L),t.d(L,{display_animate:()=>j_,display_blink_rate:()=>b_,display_bright_point:()=>u_,display_bright_screen:()=>Y_,display_circle:()=>q_,display_clear:()=>o_,display_draw_4strings:()=>f_,display_fill:()=>w_,display_get_pixel:()=>p_,display_get_screen_image:()=>y_,display_get_screen_pixel:()=>V_,display_help:()=>z_,display_image_builtins:()=>O_,display_image_create:()=>R_,display_image_size:()=>L_,display_line:()=>v_,display_line_arbitrarily:()=>P_,display_matrix_use_i2c_init:()=>tr,display_oled_drawPixel:()=>$_,display_oled_showBitmap:()=>Z_,display_onoff:()=>U_,display_rect:()=>F_,display_rgb_color:()=>k_,display_scroll_string:()=>G_,display_scroll_string_delay:()=>H_,display_scroll_string_extern:()=>ir,display_show_image:()=>er,display_show_image_or_string:()=>x_,display_show_image_or_string_delay:()=>X_,display_show_static:()=>__,display_tm1650_power:()=>W_,display_tm1650_show_dot:()=>Q_,display_tm1650_show_num:()=>K_,display_tm_use_i2c_init:()=>B_,display_triangle:()=>J_,display_use_i2c_init:()=>N_,esp32_display_is_on:()=>c_,esp32_display_off:()=>m_,esp32_display_on:()=>h_,esp32_display_scroll:()=>T_,esp32_display_show_animation:()=>I_,esp32_display_show_default_image:()=>d_,esp32_display_show_string:()=>C_,group_lcd_init:()=>g_,group_lcd_power:()=>D_,group_lcd_print:()=>A_,group_lcd_print2:()=>S_,image_arithmetic:()=>E_,image_shift:()=>M_,microbit_display_show_image:()=>r_,monitor_show_scroll_string:()=>l_,monitor_show_string:()=>a_});var F={};t.r(F),t.d(F,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Dr,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Sr,IOT_EMQX_PING:()=>Ar,IOT_FORMATTING:()=>Er,IOT_FORMAT_STRING:()=>Cr,IOT_MIXIO_NTP:()=>gr,IOT_MIXIO_PUBLISH:()=>Tr,IOT_MIXIO_SUBSCRIBE:()=>hr,iot_checkonenet:()=>br,iot_client_onboard:()=>fr,iot_create_with_item:()=>dr,iot_http_client:()=>Lr,iot_http_data:()=>Fr,iot_mixio_check:()=>Or,iot_mixio_connect:()=>Ir,iot_mixio_connect_only:()=>cr,iot_mixio_disconnect:()=>mr,iot_mixio_format_msg:()=>Mr,iot_mixio_format_topic:()=>Rr,iot_mixly_key:()=>Nr,iot_mqtt_client:()=>vr,iot_mqtt_data:()=>Pr,iot_onenet_check:()=>ur,iot_onenet_connect:()=>or,iot_onenet_disconnect:()=>pr,iot_onenet_publish:()=>lr,iot_onenet_publish_dict:()=>ar,iot_onenetconnect:()=>yr,iot_onenetdisconnect:()=>Yr,iot_publish:()=>kr,iot_publish_container:()=>_r,iot_publish_item:()=>rr,iot_wifi_connect:()=>sr,iot_wificonnect:()=>Vr});var v={};t.r(v),t.d(v,{actuator_extern_get_led_bright:()=>td,actuator_extern_led_bright:()=>$r,actuator_extern_led_brightness:()=>ed,actuator_get_led_bright:()=>nd,actuator_led_bright:()=>id,actuator_led_brightness:()=>sd,actuator_neopixel_init:()=>od,actuator_neopixel_rgb:()=>ud,actuator_neopixel_write:()=>pd,actuator_onboard_neopixel_rgb:()=>ld,actuator_onboard_neopixel_rgb_all:()=>_d,actuator_onboard_neopixel_write:()=>ad,esp32_mixgo_music_play_list_show:()=>jr,esp32_music_get_tempo:()=>Ur,esp32_music_pitch:()=>xr,esp32_music_pitch_with_time:()=>Gr,esp32_music_play_list:()=>Qr,esp32_music_reset:()=>qr,esp32_music_set_tempo:()=>Hr,esp32_music_stop:()=>Xr,esp32_onboard_music_pitch:()=>wr,esp32_onboard_music_pitch_with_time:()=>Br,esp32_onboard_music_play_list:()=>Kr,esp32_onboard_music_stop:()=>Wr,get_led_bright:()=>dd,led_brightness:()=>Id,led_light:()=>rd,ledswitch:()=>Zr,number:()=>zr,servo_move:()=>Jr});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>Sd,mpython_blynk_app_notify:()=>Md,mpython_blynk_email:()=>Dd,mpython_blynk_get_timers:()=>Cd,mpython_blynk_on_connected:()=>cd,mpython_blynk_on_disconnected:()=>md,mpython_blynk_run:()=>Rd,mpython_blynk_sensor_data_to_app:()=>gd,mpython_blynk_set_property:()=>Nd,mpython_blynk_setup:()=>fd,mpython_blynk_stop_timers:()=>Ed,mpython_blynk_sync_virtual:()=>hd,mpython_blynk_terminal_widget_vpin:()=>Td,mpython_blynktimer:()=>Ad,mpython_blynktimer_run:()=>Od});var V={};t.r(V),t.d(V,{display_animate:()=>iI,display_blink_rate:()=>Hd,display_bright_point:()=>kd,display_bright_screen:()=>Xd,display_circle:()=>nI,display_clear:()=>Ud,display_draw_4strings:()=>Bd,display_fill:()=>zd,display_get_pixel:()=>bd,display_get_screen_image:()=>Gd,display_get_screen_pixel:()=>xd,display_image_builtins:()=>Yd,display_image_create:()=>yd,display_line:()=>jd,display_line_arbitrarily:()=>Wd,display_matrix_use_i2c_init:()=>uI,display_oled_drawPixel:()=>pI,display_oled_showBitmap:()=>oI,display_onoff:()=>qd,display_rect:()=>Kd,display_scroll_string:()=>Fd,display_scroll_string_delay:()=>Vd,display_scroll_string_extern:()=>lI,display_show_image:()=>aI,display_show_image_or_string:()=>Ld,display_show_image_or_string_delay:()=>Pd,display_show_static:()=>vd,display_tm1650_power:()=>$d,display_tm1650_show_dot:()=>eI,display_tm1650_show_num:()=>tI,display_tm_use_i2c_init:()=>Zd,display_triangle:()=>sI,display_use_i2c_init:()=>wd,image_arithmetic:()=>Qd,image_shift:()=>Jd});var y={};t.r(y),t.d(y,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>fI,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>DI,IOT_EMQX_PING:()=>LI,IOT_FORMATTING:()=>gI,IOT_FORMAT_STRING:()=>SI,IOT_MIXIO_NTP:()=>FI,IOT_MIXIO_PUBLISH:()=>cI,IOT_MIXIO_SUBSCRIBE:()=>OI,iot_client_onboard:()=>vI,iot_http_client:()=>PI,iot_http_data:()=>VI,iot_mixio_check:()=>EI,iot_mixio_connect:()=>mI,iot_mixio_connect_only:()=>MI,iot_mixio_disconnect:()=>RI,iot_mixio_format_msg:()=>AI,iot_mixio_format_topic:()=>CI,iot_mixly_key:()=>NI,iot_mqtt_client:()=>yI,iot_mqtt_data:()=>YI,iot_onenet_check:()=>TI,iot_onenet_connect:()=>rI,iot_onenet_disconnect:()=>dI,iot_onenet_publish:()=>hI,iot_onenet_publish_dict:()=>II,iot_wifi_connect:()=>_I});var Y={};t.r(Y),t.d(Y,{PID_get_pid:()=>JI,PID_init:()=>qI,actuator_PAC9685_Servo:()=>UI,actuator_PAC9685_init:()=>HI,actuator_Servo:()=>XI,actuator_Servo_init:()=>GI,actuator_ms32006_dcmotor:()=>QI,actuator_ms32006_init:()=>KI,actuator_ms32006_stepper:()=>jI,actuator_rgb_display:()=>WI,actuator_rgb_init:()=>wI,actuator_rgb_set:()=>BI});var b={};t.r(b),t.d(b,{KPU_analysis:()=>oT,KPU_forward:()=>sT,KPU_init_yolo2:()=>iT,KPU_load:()=>tT,KPU_load1:()=>eT,KPU_run_yolo2:()=>nT,ai_face_info:()=>TT,ai_face_init:()=>dT,ai_face_train:()=>IT,ailocal_loading:()=>_T,ailocal_predict:()=>rT,ailocal_training:()=>lT,aionenet_API:()=>aT,aionenet_nic_init:()=>pT,aionenet_token:()=>uT,tuple_anchor:()=>ZI,tuple_calss:()=>$I});var k={};t.r(k),t.d(k,{audio_play:()=>OT,audio_record:()=>RT,mic_init:()=>cT,spk_init:()=>mT,video_play:()=>MT,video_record:()=>ET});var x={};t.r(x),t.d(x,{camera_getinfo:()=>bT,camera_init:()=>ST,camera_reset:()=>DT,camera_run:()=>LT,camera_set_colorbar:()=>YT,camera_set_framesize:()=>fT,camera_set_hmirror:()=>VT,camera_set_pixformat:()=>NT,camera_set_vflip:()=>yT,camera_set_windowing:()=>xT,camera_setmun:()=>kT,camera_shutdown:()=>PT,camera_skip_frames:()=>FT,camera_snapshot:()=>vT,mode:()=>AT,size:()=>gT});var G={};t.r(G),t.d(G,{communicate_i2c_available:()=>ih,communicate_i2c_init:()=>HT,communicate_i2c_master_read:()=>eh,communicate_i2c_read:()=>wT,communicate_i2c_scan:()=>WT,communicate_i2c_write:()=>BT,communicate_i2s_init:()=>UT,communicate_ir_recv:()=>XT,communicate_ow_init:()=>sh,communicate_ow_read:()=>ph,communicate_ow_reset:()=>lh,communicate_ow_scan:()=>oh,communicate_ow_select:()=>ah,communicate_ow_write:()=>uh,communicate_spi_buffer:()=>jT,communicate_spi_init:()=>KT,communicate_spi_read:()=>qT,communicate_spi_read_output:()=>JT,communicate_spi_readinto:()=>zT,communicate_spi_readinto_output:()=>ZT,communicate_spi_set:()=>QT,communicate_spi_write:()=>$T,communicate_spi_write_readinto:()=>th,i2c_available:()=>gh,i2c_init:()=>_h,i2c_master_reader2:()=>Ah,i2c_read:()=>rh,i2c_scan:()=>Ih,i2c_slave_onreceive:()=>nh,i2c_write:()=>dh,spi_buffer:()=>mh,spi_init:()=>Th,spi_read:()=>ch,spi_read_output:()=>Oh,spi_readinto:()=>Rh,spi_readinto_output:()=>Mh,spi_set:()=>hh,spi_write:()=>Eh,spi_write_readinto:()=>Ch});var X={};t.r(X),t.d(X,{angle:()=>Dh,lcd_clear:()=>Vh,lcd_color:()=>Nh,lcd_colour:()=>vh,lcd_display:()=>Ph,lcd_draw_string:()=>bh,lcd_init:()=>Lh,lcd_mirror:()=>Yh,lcd_rotation:()=>yh,lcd_width:()=>Fh,on_off:()=>fh,touch_calibrate:()=>xh,touch_info:()=>Xh,touch_init:()=>kh,touch_read:()=>Gh});var H={};t.r(H),t.d(H,{factory_block:()=>zh,factory_block_notes:()=>em,factory_block_return:()=>Zh,factory_block_return_with_textarea:()=>tm,factory_block_with_textarea:()=>$h,factory_callMethod_noreturn:()=>qh,factory_callMethod_return:()=>Jh,factory_create_with_container:()=>Wh,factory_create_with_item:()=>Kh,factory_declare:()=>jh,factory_from_import:()=>Uh,factory_function_noreturn:()=>Bh,factory_function_return:()=>Qh,factory_import:()=>wh});var U={};t.r(U),t.d(U,{asrloca_config:()=>sm,asrloca_del:()=>pm,asrloca_init:()=>nm,asrloca_recognize:()=>om});var w={};t.r(w),t.d(w,{image_Histogram:()=>pc,image_Image:()=>lm,image_Image1:()=>_m,image_RGB:()=>Tm,image_apriltag:()=>ic,image_barcode:()=>ec,image_binary:()=>qm,image_blob:()=>oc,image_cartoon:()=>Um,image_circle:()=>xm,image_clear:()=>mm,image_compress:()=>hm,image_copy:()=>Im,image_dilate:()=>Bm,image_draw_arrow:()=>Dm,image_draw_circle:()=>fm,image_draw_cross:()=>Nm,image_draw_image:()=>vm,image_draw_keypoints:()=>Fm,image_draw_line:()=>Sm,image_draw_rectangle:()=>Lm,image_draw_string:()=>gm,image_draw_string_UTF:()=>Am,image_draw_string_flash:()=>Cm,image_erode:()=>wm,image_find_apriltags:()=>$m,image_find_barcodes:()=>zm,image_find_blobs:()=>nc,image_find_circles:()=>ym,image_find_hog:()=>Ic,image_find_keypoints:()=>Tc,image_find_line_segments:()=>Vm,image_find_lines:()=>Pm,image_find_qrcodes:()=>Zm,image_find_rects:()=>Ym,image_flood_fill:()=>Wm,image_font_free:()=>Em,image_font_load:()=>Mm,image_get_histogram:()=>sc,image_get_pixel:()=>Rm,image_get_regression:()=>bm,image_getinfo:()=>rm,image_grayscale_to_rgb:()=>dc,image_histeq:()=>Xm,image_invert:()=>Qm,image_kptmatch:()=>mc,image_lab_to_rgb:()=>lc,image_lens_corr:()=>jm,image_line:()=>km,image_linpolar:()=>Km,image_match_descriptor:()=>hc,image_mean:()=>Hm,image_morph:()=>Jm,image_percentile:()=>uc,image_qrcode:()=>tc,image_rect:()=>Gm,image_rgb_to_grayscale:()=>rc,image_rgb_to_lab:()=>_c,image_save:()=>dm,image_set_pixel:()=>Om,image_threshold:()=>ac,image_tonew:()=>cm,true_false:()=>am});var B={};t.r(B),t.d(B,{inout_digital_init:()=>Rc,inout_digital_read:()=>Ec,inout_digital_write:()=>Mc,inout_highlow:()=>Oc,inout_pin_attachInterrupt:()=>gc,inout_pin_disirq:()=>Sc,inout_pwm_init:()=>Cc,inout_pwm_write:()=>Ac});var W={};t.r(W),t.d(W,{iot_checkonenet:()=>Gc,iot_create_with_item:()=>Yc,iot_onenet_check:()=>Fc,iot_onenet_connect:()=>fc,iot_onenet_disconnect:()=>Lc,iot_onenet_publish:()=>Pc,iot_onenet_publish_dict:()=>vc,iot_onenetconnect:()=>kc,iot_onenetdisconnect:()=>xc,iot_publish:()=>Xc,iot_publish_container:()=>Vc,iot_publish_item:()=>yc,iot_wifi_connect:()=>Nc,iot_wificonnect:()=>bc});var K={};t.r(K),t.d(K,{base_map:()=>nO,math_arithmetic:()=>Bc,math_bit:()=>Kc,math_constant:()=>wc,math_constrain:()=>$c,math_indexer_number:()=>eO,math_map:()=>tO,math_max_min:()=>qc,math_max_min1:()=>Jc,math_number:()=>Uc,math_number_base_conversion:()=>zc,math_random:()=>Zc,math_random_seed:()=>iO,math_selfcalcu:()=>Wc,math_to_int:()=>jc,math_trig:()=>Qc});var Q={};t.r(Q),t.d(Q,{nes_joystick_init:()=>oO,nes_keyboard_init:()=>pO,nes_run:()=>uO});var j={};t.r(j),t.d(j,{network_connect:()=>rO,network_disable_ap:()=>hO,network_disconnect:()=>IO,network_enable_ap:()=>TO,network_ifconfig:()=>dO,network_init:()=>lO,network_scan:()=>_O,network_socket_close:()=>CO,network_socket_connect:()=>OO,network_socket_getaddrinfo:()=>cO,network_socket_init:()=>mO,network_socket_receive:()=>EO,network_socket_send:()=>MO,network_socket_settimeout:()=>RO});var q={};t.r(q),t.d(q,{pins_analog:()=>DO,pins_analog_pin:()=>NO,pins_axis:()=>HO,pins_brightness:()=>UO,pins_builtinimg:()=>bO,pins_button:()=>FO,pins_dac:()=>fO,pins_dac_pin:()=>LO,pins_digital:()=>gO,pins_digital_dot:()=>QO,pins_digital_pin:()=>SO,pins_exlcdh:()=>GO,pins_exlcdv:()=>XO,pins_imglist:()=>kO,pins_one_more:()=>KO,pins_playlist:()=>xO,pins_pwm:()=>vO,pins_pwm_pin:()=>PO,pins_radio_datarate:()=>WO,pins_radio_power:()=>BO,pins_serial:()=>YO,pins_tone_notes:()=>wO,pins_touch:()=>yO,pins_touch_pin:()=>VO});var J={};t.r(J),t.d(J,{HCSR04:()=>$O,KEY_SELET:()=>qO,sensor_adxl345_get_acceleration:()=>uR,sensor_bmp:()=>iR,sensor_button_init:()=>JO,sensor_button_read:()=>zO,sensor_dht11:()=>ZO,sensor_mpu9250_get_acceleration:()=>tR,sensor_mpu9250_get_gyro:()=>oR,sensor_mpu9250_get_magnetic:()=>sR,sensor_mpu9250_temperature:()=>pR,sensor_sht:()=>nR,sensor_use_i2c_init:()=>eR});var z={};t.r(z),t.d(z,{serial_any:()=>TR,serial_print:()=>lR,serial_print_hex:()=>rR,serial_println:()=>_R,serial_read_from_mixgoce:()=>DR,serial_readline:()=>hR,serial_readstr:()=>IR,serial_readstr_until:()=>mR,serial_receive_data_event:()=>dR,serial_send_to_mixgoce:()=>SR,serial_softserial1:()=>cR,system_input:()=>OR,system_print:()=>RR,system_print_container:()=>AR,system_print_end:()=>ER,system_print_inline:()=>MR,system_print_item:()=>gR,system_print_many:()=>CR});var Z={};t.r(Z),t.d(Z,{Panic_with_status_code:()=>FR,TIM_SELET:()=>fR,Timer_init:()=>GR,base_delay:()=>UR,controls_delay:()=>LR,controls_millis:()=>vR,controls_uname:()=>VR,raw_block:()=>PR,system_gc_collect:()=>bR,system_reset:()=>YR,system_ticks_diff:()=>kR,system_timer:()=>yR,system_timer_init:()=>xR,time_ticks_diff:()=>HR,timer2:()=>XR});var $={};t.r($),t.d($,{LCD_color_seclet:()=>KR,lists_create_with_text1:()=>BR,tuple_create_with_text3:()=>WR});var tt={};t.r(tt),t.d(tt,{PID_get_pid:()=>sM,PID_init:()=>nM,actuator_PAC9685_Servo:()=>JR,actuator_PAC9685_init:()=>qR,actuator_Servo:()=>jR,actuator_Servo_init:()=>QR,actuator_ms32006_dcmotor:()=>eM,actuator_ms32006_init:()=>tM,actuator_ms32006_stepper:()=>iM,actuator_rgb_display:()=>$R,actuator_rgb_init:()=>zR,actuator_rgb_set:()=>ZR});var et={};t.r(et),t.d(et,{KPU_analysis:()=>dM,KPU_forward:()=>rM,KPU_init_yolo2:()=>lM,KPU_load:()=>uM,KPU_load1:()=>aM,KPU_run_yolo2:()=>_M,ai_face_info:()=>EM,ai_face_init:()=>RM,ai_face_train:()=>MM,ailocal_loading:()=>cM,ailocal_predict:()=>OM,ailocal_training:()=>mM,aionenet_API:()=>hM,aionenet_nic_init:()=>IM,aionenet_token:()=>TM,tuple_anchor:()=>oM,tuple_calss:()=>pM});var it={};t.r(it),t.d(it,{audio_play:()=>gM,audio_record:()=>SM,mic_init:()=>AM,spk_init:()=>CM,video_play:()=>DM,video_record:()=>NM});var nt={};t.r(nt),t.d(nt,{camera_getinfo:()=>HM,camera_init:()=>FM,camera_reset:()=>vM,camera_run:()=>yM,camera_set_colorbar:()=>XM,camera_set_framesize:()=>VM,camera_set_hmirror:()=>xM,camera_set_pixformat:()=>PM,camera_set_vflip:()=>GM,camera_set_windowing:()=>wM,camera_setmun:()=>UM,camera_shutdown:()=>kM,camera_skip_frames:()=>YM,camera_snapshot:()=>bM,mode:()=>fM,size:()=>LM});var st={};t.r(st),t.d(st,{communicate_i2c_available:()=>zM,communicate_i2c_init:()=>WM,communicate_i2c_master_read:()=>JM,communicate_i2c_read:()=>QM,communicate_i2c_scan:()=>qM,communicate_i2c_write:()=>jM,communicate_i2s_init:()=>KM,communicate_ir_recv:()=>BM,communicate_ow_init:()=>aE,communicate_ow_read:()=>rE,communicate_ow_reset:()=>_E,communicate_ow_scan:()=>lE,communicate_ow_select:()=>IE,communicate_ow_write:()=>dE,communicate_spi_buffer:()=>eE,communicate_spi_init:()=>$M,communicate_spi_read:()=>iE,communicate_spi_read_output:()=>nE,communicate_spi_readinto:()=>sE,communicate_spi_readinto_output:()=>oE,communicate_spi_set:()=>tE,communicate_spi_write:()=>pE,communicate_spi_write_readinto:()=>uE,i2c_slave_onreceive:()=>ZM});var ot={};t.r(ot),t.d(ot,{angle:()=>TE,lcd_clear:()=>EE,lcd_color:()=>hE,lcd_colour:()=>OE,lcd_display:()=>ME,lcd_draw_string:()=>gE,lcd_init:()=>cE,lcd_mirror:()=>AE,lcd_rotation:()=>CE,lcd_width:()=>RE,on_off:()=>mE,touch_calibrate:()=>DE,touch_info:()=>fE,touch_init:()=>SE,touch_read:()=>NE});var pt={};t.r(pt),t.d(pt,{factory_block:()=>bE,factory_block_notes:()=>XE,factory_block_return:()=>kE,factory_block_return_with_textarea:()=>GE,factory_block_with_textarea:()=>xE,factory_callMethod_noreturn:()=>yE,factory_callMethod_return:()=>YE,factory_declare:()=>VE,factory_from_import:()=>LE,factory_function_noreturn:()=>vE,factory_function_return:()=>PE,factory_import:()=>FE});var ut={};t.r(ut),t.d(ut,{asrloca_config:()=>UE,asrloca_del:()=>BE,asrloca_init:()=>HE,asrloca_recognize:()=>wE});var at={};t.r(at),t.d(at,{image_Histogram:()=>wC,image_Image:()=>QE,image_Image1:()=>jE,image_RGB:()=>KE,image_apriltag:()=>GC,image_barcode:()=>kC,image_binary:()=>PC,image_blob:()=>UC,image_cartoon:()=>SC,image_circle:()=>EC,image_clear:()=>sC,image_compress:()=>nC,image_copy:()=>iC,image_dilate:()=>NC,image_draw_arrow:()=>lC,image_draw_circle:()=>rC,image_draw_cross:()=>_C,image_draw_image:()=>TC,image_draw_keypoints:()=>IC,image_draw_line:()=>aC,image_draw_rectangle:()=>dC,image_draw_string:()=>eC,image_draw_string_UTF:()=>tC,image_draw_string_flash:()=>$E,image_erode:()=>DC,image_find_apriltags:()=>bC,image_find_barcodes:()=>yC,image_find_blobs:()=>XC,image_find_circles:()=>cC,image_find_hog:()=>JC,image_find_keypoints:()=>zC,image_find_line_segments:()=>mC,image_find_lines:()=>hC,image_find_qrcodes:()=>YC,image_find_rects:()=>OC,image_flood_fill:()=>fC,image_font_free:()=>zE,image_font_load:()=>ZE,image_get_histogram:()=>HC,image_get_pixel:()=>uC,image_get_regression:()=>RC,image_getinfo:()=>qE,image_grayscale_to_rgb:()=>qC,image_histeq:()=>AC,image_invert:()=>FC,image_kptmatch:()=>$C,image_lab_to_rgb:()=>KC,image_lens_corr:()=>vC,image_line:()=>MC,image_linpolar:()=>LC,image_match_descriptor:()=>ZC,image_mean:()=>gC,image_morph:()=>VC,image_percentile:()=>BC,image_qrcode:()=>xC,image_rect:()=>CC,image_rgb_to_grayscale:()=>jC,image_rgb_to_lab:()=>QC,image_save:()=>JE,image_set_pixel:()=>pC,image_threshold:()=>WC,image_tonew:()=>oC,true_false:()=>WE});var lt={};t.r(lt),t.d(lt,{PGA_SELET:()=>tA,inout_adc_Vread:()=>lA,inout_adc_init:()=>uA,inout_adc_read:()=>aA,inout_digital_init:()=>iA,inout_digital_read:()=>sA,inout_digital_write:()=>nA,inout_highlow:()=>eA,inout_pin_attachInterrupt:()=>_A,inout_pin_disirq:()=>rA,inout_pwm_init:()=>oA,inout_pwm_write:()=>pA});var _t={};t.r(_t),t.d(_t,{iot_onenet_check:()=>mA,iot_onenet_connect:()=>IA,iot_onenet_disconnect:()=>TA,iot_onenet_publish:()=>cA,iot_onenet_publish_dict:()=>hA,iot_wifi_connect:()=>dA});var rt={};t.r(rt),t.d(rt,{base_map:()=>yA,math_arithmetic:()=>EA,math_bit:()=>MA,math_constant:()=>RA,math_constrain:()=>FA,math_indexer_number:()=>VA,math_map:()=>LA,math_max_min:()=>DA,math_max_min1:()=>NA,math_number:()=>OA,math_number_base_conversion:()=>vA,math_random:()=>fA,math_random_seed:()=>PA,math_selfcalcu:()=>CA,math_single:()=>AA,math_to_int:()=>SA,math_trig:()=>gA});var dt={};t.r(dt),t.d(dt,{nes_joystick_init:()=>YA,nes_keyboard_init:()=>bA,nes_run:()=>kA});var It={};t.r(It),t.d(It,{network_connect:()=>XA,network_disable_ap:()=>BA,network_disconnect:()=>UA,network_enable_ap:()=>wA,network_ifconfig:()=>HA,network_init:()=>xA,network_scan:()=>GA,network_server:()=>WA,network_socket_close:()=>ZA,network_socket_connect:()=>jA,network_socket_getaddrinfo:()=>QA,network_socket_init:()=>KA,network_socket_receive:()=>JA,network_socket_send:()=>zA,network_socket_settimeout:()=>qA});var Tt={};t.r(Tt),t.d(Tt,{pins_analog:()=>ng,pins_analog_pin:()=>ig,pins_axis:()=>hg,pins_brightness:()=>Og,pins_builtinimg:()=>dg,pins_button:()=>tg,pins_dac:()=>ug,pins_dac_pin:()=>pg,pins_digital:()=>$A,pins_digital_dot:()=>Ag,pins_digital_pin:()=>eg,pins_exlcdh:()=>mg,pins_exlcdv:()=>cg,pins_imglist:()=>Ig,pins_interrupt:()=>_g,pins_one_more:()=>Cg,pins_playlist:()=>Tg,pins_pwm:()=>og,pins_pwm_pin:()=>sg,pins_radio_datarate:()=>Eg,pins_radio_power:()=>Mg,pins_serial:()=>rg,pins_tone_notes:()=>Rg,pins_touch:()=>lg,pins_touch_pin:()=>ag});var ht={};t.r(ht),t.d(ht,{HCSR04:()=>fg,KEY_SELET:()=>gg,sensor_adxl345_get_acceleration:()=>Pg,sensor_bmp:()=>Xg,sensor_button_init:()=>Sg,sensor_button_read:()=>Dg,sensor_compass_reset:()=>xg,sensor_dht11:()=>Ng,sensor_mpu9250_attachGestureInterrupt:()=>Lg,sensor_mpu9250_calibrate_compass:()=>Yg,sensor_mpu9250_field_strength:()=>kg,sensor_mpu9250_gesture:()=>Fg,sensor_mpu9250_get_acceleration:()=>vg,sensor_mpu9250_get_gyro:()=>yg,sensor_mpu9250_get_magnetic:()=>Vg,sensor_mpu9250_temperature:()=>bg,sensor_sht:()=>Hg,sensor_use_i2c_init:()=>Gg});var mt={};t.r(mt),t.d(mt,{UART_SELET:()=>Ug,serial_any:()=>Kg,serial_print:()=>wg,serial_print_hex:()=>Wg,serial_println:()=>Bg,serial_read_from_mixgoce:()=>iS,serial_readline:()=>jg,serial_readstr:()=>Qg,serial_send_to_mixgoce:()=>eS,serial_softserial1:()=>qg,system_input:()=>Jg,system_print:()=>zg,system_print_end:()=>$g,system_print_inline:()=>Zg,system_print_many:()=>tS});var ct={};t.r(ct),t.d(ct,{Panic_with_status_code:()=>TS,TIM_SELET:()=>nS,Timer_init:()=>SS,base_delay:()=>fS,controls_delay:()=>ES,controls_end_program:()=>mS,controls_millis:()=>hS,controls_uname:()=>MS,reset:()=>cS,system_device_name:()=>dS,system_device_serial_number:()=>IS,system_event_bus_source:()=>_S,system_event_bus_value:()=>rS,system_gc_collect:()=>RS,system_on_event:()=>uS,system_raise_event:()=>pS,system_reset:()=>OS,system_run_in_background:()=>sS,system_ticks_diff:()=>AS,system_timer:()=>CS,system_timer_init:()=>gS,system_timestamp:()=>aS,system_value:()=>lS,system_wait:()=>oS,time_ticks_diff:()=>NS,timer2:()=>DS});var Ot={};t.r(Ot),t.d(Ot,{LCD_color_seclet:()=>PS,LCD_color_seclet1:()=>vS,lists_create_with_text1:()=>LS,tuple_create_with_text3:()=>FS});const Rt=Blockly,Mt=Mixly,Et={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(p+=n)):i=p}else i="i";return i}},Ct=Et; /** * @license * Visual Blocks Editor @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class At{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(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Gt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.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(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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")}},Ut={init:function(){this.setColour(Pt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.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(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Xt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Zt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},te={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ee={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ie=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.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 Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},se={init:function(){this.setColour(ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},oe={init:function(){this.setColour(ie);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},pe={init:function(){this.setColour(ie),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},ue={init:function(){this.setColour(ie),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.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 Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},le={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.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:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},_e={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(ie),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},re={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(ie),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},de={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(ie),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Ie={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(ie),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.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:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Te={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(ie),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},he={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},me={init:function(){this.setColour(ie),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},ce={init:function(){this.setColour(ie),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Oe={init:function(){this.setColour(ie),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Re={init:function(){this.setColour(ie),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Me={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Ee={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(ie),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Ce=me,Ae=160,ge={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Rt.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 Rt.FieldImage(e,12,12,'"')}},Se={init:function(){this.setColour(Ae),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Rt.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 Rt.FieldImage(e,12,12,'"')}};Rt.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 Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},Ne={init:function(){this.setColour(Ae),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},fe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Le={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Fe={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ve={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Pe={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.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=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.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),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.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"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},Ve={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ye={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ye={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.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(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.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),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.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(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ke={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},xe={init:function(){this.setColour(Ae),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},Ge={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Xe={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ae),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},He={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Ue={init:function(){this.setColour(Ae),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},we={init:function(){this.setColour(Ae),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Be={init:function(){this.setColour(Ae),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},We={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ae),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ke={init:function(){this.setColour(Ae),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ui={init:function(){this.setColour(Xi),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},wi={init:function(){this.setColour(Xi),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Bi={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Wi={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},Ki={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Qi={init:function(){this.setColour(Xi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},ji={init:function(){this.setColour(Xi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},qi={init:function(){this.setColour(Xi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ji={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zi={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Zi={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},$i={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},tn={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},en={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.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=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.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 Rt.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(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},sn={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},on={init:function(){this.setColour(Xi),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.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 Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pn={init:function(){this.setColour(Xi),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},un={init:function(){this.setColour(Xi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},an={init:function(){this.setColour(Xi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},ln=210,_n={init:function(){var t=Rt.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 Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},rn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},dn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.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 Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},In={init:function(){this.setColour(ln),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},Tn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(ln),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},hn={init:function(){this.setColour(ln),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},mn={init:function(){this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},cn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},On={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Rn={init:function(){this.setColour(ln),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Mn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},En={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.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=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Cn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.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=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG,p=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},An={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.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=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG,p=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},gn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.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(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Nn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Ln={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},vn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Pn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.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(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},Yn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},bn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},kn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.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 Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Gn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},Xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.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 Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Un={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},wn={};wn.NAME_TYPE=Rt.PROCEDURE_CATEGORY_NAME,wn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xs={init:function(){this.setColour(Ps),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Gs={init:function(){this.setColour(Ps),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Ps),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(Ps),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(Ps),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws=160,Bs={init:function(){this.setColour(ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},Ws={init:function(){this.setColour(ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},Ks={init:function(){this.setColour(ws),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Qs={init:function(){this.setColour(ws),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},js={init:function(){this.setColour(ws),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},qs={init:function(){this.setColour(ws),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Js={init:function(){this.setColour(ws),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.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=Rt.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 "+l()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.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 Fu=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 p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},vu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Pu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Vu=function(t,e){return["None",e.ORDER_ATOMIC]},yu=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]},Yu=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]},bu=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]},ku=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},xu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Gu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Xu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Hu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Uu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},wu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Bu=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]},Wu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Ku=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Qu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},ju=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},qu=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Ju=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},zu=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},$u=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"},ta=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},ea=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ia=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},na=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"},sa=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]},oa=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"},pa=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"},ua=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),Rt.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=[],p=0;p\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Ha=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ua=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},wa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ba=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Wa=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ka=function(t,e){return'"},Qa=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},ja=function(){return this.getFieldValue("TEXT")+"\n"},qa=function(t){return t.getFieldValue("TEXT")+"\n"},Ja=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},za=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Za=function(){return""},$a=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},tl=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("")+p.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+p.join("\n")},il.scrubNakedValue=function(t){return t+"\n"},il.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},il.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},il.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Rt.utils.string.wrap(o,il.COMMENT_WRAP-3),n+=il.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const nl=100,sl={init:function(){this.setColour(nl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},ol={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"op"),this.setOutput(!0)}},pl={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},ul={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},al={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},ll={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},_l={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},rl={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},dl={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETBRIGHT)}},Il={init:function(){this.setColour(nl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_TONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Tl={init:function(){this.setColour(nl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_TONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},hl={init:function(){this.setColour(nl),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_NOTONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ml={init:function(){this.setColour(nl),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},cl={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},Ol={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Rl={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ml={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},El={init:function(){this.setColour(nl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(nl),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Al={init:function(){this.setColour(nl),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},gl={init:function(){this.setColour(nl),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Rt.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW)}},Sl={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Dl={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},Nl={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},fl={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},Ll={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},Fl={init:function(){this.setColour(nl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},vl=_l,Pl=rl,Vl=dl,yl="#2FAD7A",Yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},kl={init:function(){this.jsonInit({inputsInline:!0,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},xl={init:function(){this.jsonInit({inputsInline:!0,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},Gl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Xl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Ul={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Wl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},Kl={init:function(){this.jsonInit({message0:Rt.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Rt.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Rt.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},Ql={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},jl={init:function(){this.jsonInit({inputsInline:!0,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},ql={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:yl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Jl=120;({init:function(){this.setColour(Jl),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}}).OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(Jl);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const zl=180,Zl={colourOptions:["#f00","#000"],columns:2},$l={init:function(){this.jsonInit({colour:zl,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:Rt.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},t_={init:function(){this.setColour(zl),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},e_={init:function(){this.setColour(zl),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},i_={init:function(){this.setColour(zl),this.appendValueInput("data").setCheck(String).appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},n_={init:function(){this.setColour(zl),this.appendValueInput("data").setCheck(String).appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DELAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},s_={init:function(){this.setColour(zl),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC)}},o_={init:function(){this.setColour(zl),this.appendValueInput("PIN",String).setCheck("esp32_image").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP)}},p_={init:function(){this.jsonInit({colour:zl,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:Rt.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}]})}},u_={init:function(){this.jsonInit({colour:zl,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:Rt.Msg.MIXLY_MICROBIT_Animate_images,args0:[{check:"List",type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+Rt.Msg.MIXLY_MICROBIT_Animate_images1)}},a_={init:function(){this.jsonInit({colour:zl,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:Rt.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},l_={init:function(){this.setColour(zl),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(Rt.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=Rt.Msg.MIXLY_MICROBIT_monitor;return{on:Rt.Msg.MIXLY_MICROBIT_Turn_on_display,off:Rt.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},__={init:function(){this.jsonInit({colour:zl,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:Rt.Msg.MIXLY_MICROBIT_Turn_off_display})}},r_={init:function(){this.jsonInit({colour:zl,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:Rt.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Display_is_on1)}},d_={init:function(){this.jsonInit({colour:zl,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},I_={init:function(){this.jsonInit({colour:zl,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{colour:"#000000",type:"field_colour",name:"05"},{colour:"#000000",type:"field_colour",name:"06"},{colour:"#000000",type:"field_colour",name:"07"},{colour:"#000000",type:"field_colour",name:"08"},{colour:"#000000",type:"field_colour",name:"09"},{colour:"#000000",type:"field_colour",name:"0a"},{colour:"#000000",type:"field_colour",name:"0b"},{colour:"#000000",type:"field_colour",name:"0c"},{colour:"#000000",type:"field_colour",name:"0d"},{colour:"#000000",type:"field_colour",name:"0e"},{colour:"#000000",type:"field_colour",name:"0f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{colour:"#000000",type:"field_colour",name:"15"},{colour:"#000000",type:"field_colour",name:"16"},{colour:"#000000",type:"field_colour",name:"17"},{colour:"#000000",type:"field_colour",name:"18"},{colour:"#000000",type:"field_colour",name:"19"},{colour:"#000000",type:"field_colour",name:"1a"},{colour:"#000000",type:"field_colour",name:"1b"},{colour:"#000000",type:"field_colour",name:"1c"},{colour:"#000000",type:"field_colour",name:"1d"},{colour:"#000000",type:"field_colour",name:"1e"},{colour:"#000000",type:"field_colour",name:"1f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{colour:"#000000",type:"field_colour",name:"25"},{colour:"#000000",type:"field_colour",name:"26"},{colour:"#000000",type:"field_colour",name:"27"},{colour:"#000000",type:"field_colour",name:"28"},{colour:"#000000",type:"field_colour",name:"29"},{colour:"#000000",type:"field_colour",name:"2a"},{colour:"#000000",type:"field_colour",name:"2b"},{colour:"#000000",type:"field_colour",name:"2c"},{colour:"#000000",type:"field_colour",name:"2d"},{colour:"#000000",type:"field_colour",name:"2e"},{colour:"#000000",type:"field_colour",name:"2f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{colour:"#000000",type:"field_colour",name:"35"},{colour:"#000000",type:"field_colour",name:"36"},{colour:"#000000",type:"field_colour",name:"37"},{colour:"#000000",type:"field_colour",name:"38"},{colour:"#000000",type:"field_colour",name:"39"},{colour:"#000000",type:"field_colour",name:"3a"},{colour:"#000000",type:"field_colour",name:"3b"},{colour:"#000000",type:"field_colour",name:"3c"},{colour:"#000000",type:"field_colour",name:"3d"},{colour:"#000000",type:"field_colour",name:"3e"},{colour:"#000000",type:"field_colour",name:"3f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"},{colour:"#000000",type:"field_colour",name:"45"},{colour:"#000000",type:"field_colour",name:"46"},{colour:"#000000",type:"field_colour",name:"47"},{colour:"#000000",type:"field_colour",name:"48"},{colour:"#000000",type:"field_colour",name:"49"},{colour:"#000000",type:"field_colour",name:"4a"},{colour:"#000000",type:"field_colour",name:"4b"},{colour:"#000000",type:"field_colour",name:"4c"},{colour:"#000000",type:"field_colour",name:"4d"},{colour:"#000000",type:"field_colour",name:"4e"},{colour:"#000000",type:"field_colour",name:"4f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"50"},{colour:"#000000",type:"field_colour",name:"51"},{colour:"#000000",type:"field_colour",name:"52"},{colour:"#000000",type:"field_colour",name:"53"},{colour:"#000000",type:"field_colour",name:"54"},{colour:"#000000",type:"field_colour",name:"55"},{colour:"#000000",type:"field_colour",name:"56"},{colour:"#000000",type:"field_colour",name:"57"},{colour:"#000000",type:"field_colour",name:"58"},{colour:"#000000",type:"field_colour",name:"59"},{colour:"#000000",type:"field_colour",name:"5a"},{colour:"#000000",type:"field_colour",name:"5b"},{colour:"#000000",type:"field_colour",name:"5c"},{colour:"#000000",type:"field_colour",name:"5d"},{colour:"#000000",type:"field_colour",name:"5e"},{colour:"#000000",type:"field_colour",name:"5f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"60"},{colour:"#000000",type:"field_colour",name:"61"},{colour:"#000000",type:"field_colour",name:"62"},{colour:"#000000",type:"field_colour",name:"63"},{colour:"#000000",type:"field_colour",name:"64"},{colour:"#000000",type:"field_colour",name:"65"},{colour:"#000000",type:"field_colour",name:"66"},{colour:"#000000",type:"field_colour",name:"67"},{colour:"#000000",type:"field_colour",name:"68"},{colour:"#000000",type:"field_colour",name:"69"},{colour:"#000000",type:"field_colour",name:"6a"},{colour:"#000000",type:"field_colour",name:"6b"},{colour:"#000000",type:"field_colour",name:"6c"},{colour:"#000000",type:"field_colour",name:"6d"},{colour:"#000000",type:"field_colour",name:"6e"},{colour:"#000000",type:"field_colour",name:"6f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"70"},{colour:"#000000",type:"field_colour",name:"71"},{colour:"#000000",type:"field_colour",name:"72"},{colour:"#000000",type:"field_colour",name:"73"},{colour:"#000000",type:"field_colour",name:"74"},{colour:"#000000",type:"field_colour",name:"75"},{colour:"#000000",type:"field_colour",name:"76"},{colour:"#000000",type:"field_colour",name:"77"},{colour:"#000000",type:"field_colour",name:"78"},{colour:"#000000",type:"field_colour",name:"79"},{colour:"#000000",type:"field_colour",name:"7a"},{colour:"#000000",type:"field_colour",name:"7b"},{colour:"#000000",type:"field_colour",name:"7c"},{colour:"#000000",type:"field_colour",name:"7d"},{colour:"#000000",type:"field_colour",name:"7e"},{colour:"#000000",type:"field_colour",name:"7f"}],output:"esp32_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:Rt.Msg.MIXLY_ESP32_Create_image}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)}},T_={init:function(){var t=[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]];this.setColour(zl),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[t]+s}))}},h_={init:function(){var t=[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(zl),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},m_={init:function(){this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING,"scroll"]]),"MODE"),this.jsonInit({colour:zl,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:Rt.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},c_={init:function(){this.setColour(zl),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},O_={init:function(){this.setColour(zl),this.appendValueInput("device").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_DF_LCD+Rt.Msg.MIXLY_LCD_ADDRESS)}},R_={init:function(){this.setColour(zl),this.appendValueInput("row",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},M_={init:function(){this.setColour(zl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ON,"on()"],[Rt.Msg.MIXLY_OFF,"off()"],[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[Rt.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(off)"],[Rt.Msg.MIXLY_LCD_BACKLIGHT,"backlight(on)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_DF_LCD+{"on()":Rt.Msg.MIXLY_ON,"off()":Rt.Msg.MIXLY_OFF,"clear()":Rt.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":Rt.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":Rt.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},E_={init:function(){this.setColour(zl),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},C_={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.OLEDDISPLAY+Rt.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(zl),this.setTooltip(Rt.Msg.MIXLY_DF_LCD+Rt.Msg.OLEDDISPLAY+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING)}},A_={init:function(){var t=[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]];this.setColour(zl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[t]}))}},g_={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(zl),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)}},S_={init:function(){this.setColour(zl),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DISPLAY_DRAW).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Rt.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_OLED_LINE)}},D_={init:function(){this.setColour(zl),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_OLED_LINE_ARBIT)}},N_={init:function(){this.setColour(zl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},f_={init:function(){this.setColour(zl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Rt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},L_={init:function(){this.setColour(zl),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},F_={init:function(){this.setColour(zl),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},v_={init:function(){this.setColour(zl),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Rt.FieldColour("#f00",null,Zl),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},P_={init:function(){this.setColour(zl),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},V_={init:function(){this.setColour(zl),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},y_={init:function(){this.setColour(zl),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Y_={init:function(){this.setColour(zl),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},b_={init:function(){this.setColour(zl),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"ON"],[Rt.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},k_={init:function(){this.setColour(zl),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Rt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Rt.Msg.MIXLY_LCD_STAT_CLEAR,1:Rt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Rt.Msg.MIXLY_DF_LCD+i[e]}))}},x_={init:function(){this.setColour(zl),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Rt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},G_={init:function(){this.setColour(zl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ON,"_on"],[Rt.Msg.MIXLY_OFF,"_off"],[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"_clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},X_={init:function(){this.setColour(zl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},H_={init:function(){this.setColour(zl),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Rt.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},U_={init:function(){this.setColour(zl),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Rt.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},w_={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(zl),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},B_={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(zl),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},W_={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Rt.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},K_={init:function(){this.setColour(zl),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Rt.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Rt.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Rt.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Rt.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.OLED_SHOW_BMP_TOOLTIP)}},Q_={init:function(){this.setColour(zl),this.appendValueInput("VAR").appendField(Rt.Msg.OLED),this.appendDummyInput("").appendField(Rt.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Rt.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Rt.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.OLED_DRAW_PIXE_TOOLTIP)}},j_={init:function(){this.setColour(zl),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["32x12 Matrix","32x12 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},q_={init:function(){this.setColour(zl),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},J_={init:function(){this.setColour(zl),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},z_="#526FC3",Z_={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},$_={init:function(){this.setColour(z_),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Rt.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},tr={init:function(){this.setColour(z_),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},er={init:function(){this.setColour(z_),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},ir={init:function(){this.setColour(z_),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Rt.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},nr={init:function(){this.setColour(z_),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Rt.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_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("iot_publish_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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},sr={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},or={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},pr={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ur={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ar={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},lr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},_r={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Tr={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},hr={init:function(){this.setColour(z_),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},mr={init:function(){this.setColour(z_),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},cr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},Or={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Rr={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mr={init:function(){this.setColour(z_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Er={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(z_),this.appendDummyInput("").appendField(new Rt.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")}},Cr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Ar={init:function(){this.setColour(z_),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dr={init:function(){this.setColour(z_),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Nr=Z_,fr=$_,Lr=tr,Fr=er,vr=nr;Rt.Msg.PS2_TRIANGLE,Rt.Msg.PS2_CIRCLE,Rt.Msg.PS2_CROSS,Rt.Msg.PS2_SQUARE,Rt.Msg.PS2_L1,Rt.Msg.PS2_L2,Rt.Msg.PS2_R1,Rt.Msg.PS2_R2,Rt.Msg.PS2_UP,Rt.Msg.PS2_RIGHT,Rt.Msg.PS2_DOWN,Rt.Msg.PS2_LEFT,Rt.Msg.PS2_SELECT,Rt.Msg.PS2_START;const Pr=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC);return"music.pitch("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+")\n"},Vr=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"music.pitch_time("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+", "+n+")\n"},yr=function(t,e){return e.definitions_.import_music="import music","music.stop("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")\n"},Yr=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"BPM",e.ORDER_ASSIGNMENT);return"music.set_tempo("+e.valueToCode(this,"TICKS",e.ORDER_ASSIGNMENT)+", "+i+")\n"},br=function(t,e){e.definitions_.import_music="import music";return["music.get_tempo()",e.ORDER_ATOMIC]},kr=function(t,e){return e.definitions_.import_music="import music","music.pitch("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+")\n"},xr=function(t,e){return e.definitions_.import_music="import music","music.pitch_time("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},Gr=function(t,e){e.definitions_.import_music="import music";return"music.stop()\n"},Xr=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+")\n"},Hr=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},Ur=function(t,e){return e.definitions_.import_music="import music",e.definitions_.import_matrix="import matrix","music.play_show("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},wr=function(t,e){return e.definitions_.import_music="import music","music.reset()\n"},Br=function(t,e){return e.definitions_.import_servo="import servo",e.definitions_.import_machine="import machine","servo.servo_write_angle("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC)+")\n"},Wr=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Kr=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},Qr=function(t,e){e.definitions_.import_mixgo="import mixgo";var i=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return"mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setonoff("+i+")\n"},jr=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").getonoff()",e.ORDER_ATOMIC]},qr=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},Jr=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setonoff("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},zr=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".getonoff()",e.ORDER_ATOMIC]},Zr=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},$r=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",i+" = neopixel.NeoPixel(machine.Pin("+n+"), "+s+", timing = True)\n"},td=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".write()\n"},ed=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},id=function(t,e){e.definitions_.import_mixgo="import mixgo";return"mixgo.rgb.write()\n"},nd=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},sd=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb.fill(("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+"))\n"},od=Jr,pd=zr,ud=Zr,ad=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC);e.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},ld=function(t,e){return"blynk.virtual_sync("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+")\n"},_d=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},rd=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},dd=function(){return"blynk_timer.run()\n"},Id=function(){return"blynk.run()\n"},Td=function(t,e){return"blynk.notify("+e.valueToCode(this,"notification",e.ORDER_ATOMIC)+")\n"},hd=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=e.valueToCode(this,"timer_num",e.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},md=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",e.ORDER_ATOMIC]},cd=function(t,e){e.definitions_.import_blynktimer="import blynktimer";var i=e.valueToCode(this,"Num",e.ORDER_ATOMIC),n=e.valueToCode(this,"period",e.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),o=e.statementToCode(this,"DO");return o=e.addLoopTrap(o,this.id)||e.PASS,e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",e.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+o,""},Od=function(t,e){var i=e.valueToCode(this,"sensor_data",e.ORDER_ATOMIC);return"blynk.virtual_write("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+", "+i+")\n"},Rd=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC),n=e.statementToCode(this,"DO");return n=e.addLoopTrap(n,this.id)||e.PASS,e.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},Md=function(t,e){var i=e.valueToCode(this,"body",e.ORDER_ATOMIC),n=e.valueToCode(this,"subject",e.ORDER_ATOMIC);return`blynk.email(${e.valueToCode(this,"TargetEmail",e.ORDER_ATOMIC)}, ${n}, ${i})\n`},Ed=function(t,e){var i=e.valueToCode(this,"attribute_value",e.ORDER_ATOMIC);return`blynk.set_property(pin, ${e.valueToCode(this,"attribute_name",e.ORDER_ATOMIC)}, ${i})\n`},Cd=function(t,e){e.definitions_.import_BlynkLib="import blynklib";var i=e.valueToCode(this,"server",e.ORDER_ATOMIC),n=e.valueToCode(this,"auth",e.ORDER_ATOMIC),s=e.valueToCode(this,"port",e.ORDER_ATOMIC);return e.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",e.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",e.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""};const Ad=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},gd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Sd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.showstatic("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Dd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Nd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},fd=function(t,e){e.definitions_.import_matrix="import matrix";var i={"#000000":"0","#ff0000":"1"};return['matrix.Image("'+i[t.getFieldValue("00")]+i[t.getFieldValue("01")]+i[t.getFieldValue("02")]+i[t.getFieldValue("03")]+i[t.getFieldValue("04")]+i[t.getFieldValue("05")]+i[t.getFieldValue("06")]+i[t.getFieldValue("07")]+i[t.getFieldValue("08")]+i[t.getFieldValue("09")]+i[t.getFieldValue("0a")]+i[t.getFieldValue("0b")]+i[t.getFieldValue("0c")]+i[t.getFieldValue("0d")]+i[t.getFieldValue("0e")]+i[t.getFieldValue("0f")]+":"+i[t.getFieldValue("10")]+i[t.getFieldValue("11")]+i[t.getFieldValue("12")]+i[t.getFieldValue("13")]+i[t.getFieldValue("14")]+i[t.getFieldValue("15")]+i[t.getFieldValue("16")]+i[t.getFieldValue("17")]+i[t.getFieldValue("18")]+i[t.getFieldValue("19")]+i[t.getFieldValue("1a")]+i[t.getFieldValue("1b")]+i[t.getFieldValue("1c")]+i[t.getFieldValue("1d")]+i[t.getFieldValue("1e")]+i[t.getFieldValue("1f")]+":"+i[t.getFieldValue("20")]+i[t.getFieldValue("21")]+i[t.getFieldValue("22")]+i[t.getFieldValue("23")]+i[t.getFieldValue("24")]+i[t.getFieldValue("25")]+i[t.getFieldValue("26")]+i[t.getFieldValue("27")]+i[t.getFieldValue("28")]+i[t.getFieldValue("29")]+i[t.getFieldValue("2a")]+i[t.getFieldValue("2b")]+i[t.getFieldValue("2c")]+i[t.getFieldValue("2d")]+i[t.getFieldValue("2e")]+i[t.getFieldValue("2f")]+":"+i[t.getFieldValue("30")]+i[t.getFieldValue("31")]+i[t.getFieldValue("32")]+i[t.getFieldValue("33")]+i[t.getFieldValue("34")]+i[t.getFieldValue("35")]+i[t.getFieldValue("36")]+i[t.getFieldValue("37")]+i[t.getFieldValue("38")]+i[t.getFieldValue("39")]+i[t.getFieldValue("3a")]+i[t.getFieldValue("3b")]+i[t.getFieldValue("3c")]+i[t.getFieldValue("3d")]+i[t.getFieldValue("3e")]+i[t.getFieldValue("3f")]+":"+i[t.getFieldValue("40")]+i[t.getFieldValue("41")]+i[t.getFieldValue("42")]+i[t.getFieldValue("43")]+i[t.getFieldValue("44")]+i[t.getFieldValue("45")]+i[t.getFieldValue("46")]+i[t.getFieldValue("47")]+i[t.getFieldValue("48")]+i[t.getFieldValue("49")]+i[t.getFieldValue("4a")]+i[t.getFieldValue("4b")]+i[t.getFieldValue("4c")]+i[t.getFieldValue("4d")]+i[t.getFieldValue("4e")]+i[t.getFieldValue("4f")]+":"+i[t.getFieldValue("50")]+i[t.getFieldValue("51")]+i[t.getFieldValue("52")]+i[t.getFieldValue("53")]+i[t.getFieldValue("54")]+i[t.getFieldValue("55")]+i[t.getFieldValue("56")]+i[t.getFieldValue("57")]+i[t.getFieldValue("58")]+i[t.getFieldValue("59")]+i[t.getFieldValue("5a")]+i[t.getFieldValue("5b")]+i[t.getFieldValue("5c")]+i[t.getFieldValue("5d")]+i[t.getFieldValue("5e")]+i[t.getFieldValue("5f")]+":"+i[t.getFieldValue("60")]+i[t.getFieldValue("61")]+i[t.getFieldValue("62")]+i[t.getFieldValue("63")]+i[t.getFieldValue("64")]+i[t.getFieldValue("65")]+i[t.getFieldValue("66")]+i[t.getFieldValue("67")]+i[t.getFieldValue("68")]+i[t.getFieldValue("69")]+i[t.getFieldValue("6a")]+i[t.getFieldValue("6b")]+i[t.getFieldValue("6c")]+i[t.getFieldValue("6d")]+i[t.getFieldValue("6e")]+i[t.getFieldValue("6f")]+":"+i[t.getFieldValue("70")]+i[t.getFieldValue("71")]+i[t.getFieldValue("72")]+i[t.getFieldValue("73")]+i[t.getFieldValue("74")]+i[t.getFieldValue("75")]+i[t.getFieldValue("76")]+i[t.getFieldValue("77")]+i[t.getFieldValue("78")]+i[t.getFieldValue("79")]+i[t.getFieldValue("7a")]+i[t.getFieldValue("7b")]+i[t.getFieldValue("7c")]+i[t.getFieldValue("7d")]+i[t.getFieldValue("7e")]+i[t.getFieldValue("7f")]+'")',e.ORDER_ATOMIC]},Ld=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.Image."+t.getFieldValue("image"),e.ORDER_ATOMIC]},Fd=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.get_pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},vd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_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"},Pd=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_brightness()",e.ORDER_ATOMIC]},Vd=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_screenimage()",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},Yd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.blink_rate("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},bd=function(t,e){e.definitions_.import_matrix="import matrix";return"matrix.clear()\n"},kd=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"},xd=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"},Gd=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"},Xd=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),p=e.valueToCode(this,"height",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP"),l="";switch(u){case"True":l=i+".show_fill_rect("+n+", "+s+", "+o+", "+p+","+a+")\n";break;case"False":l=i+".show_rect("+n+", "+s+", "+o+", "+p+","+a+")\n"}return l},Hd=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP"),n=e.valueToCode(t,"A",e.ORDER_ATOMIC),s=e.valueToCode(t,"B",e.ORDER_ATOMIC);return["INTERSECTION"==i?n+"-("+n+"-"+s+")":n+i+s,e.ORDER_ATOMIC]},Ud=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"},wd=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Bd=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]},Wd=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"},Kd=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},Qd=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+this.getFieldValue("STAT")+"()\n"},jd=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_num("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},qd=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_dot("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},Jd=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},zd=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),p="TRUE"==this.getFieldValue("fill")?"True":"False",u=this.getFieldValue("OP"),a="";switch(p){case"True":a=i+".show_fill_circle("+n+", "+s+", "+o+", "+u+")\n";break;case"False":a=i+".show_circle("+n+", "+s+", "+o+", "+u+")\n"}return a},Zd=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),p=e.valueToCode(this,"y1",e.ORDER_ATOMIC),u=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),l="TRUE"==this.getFieldValue("fill")?"True":"False",_=this.getFieldValue("OP"),r="";switch(l){case"True":r=i+".show_fill_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n";break;case"False":r=i+".show_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n"}return r},$d=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"},tI=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"},eI=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"32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=n+" = matrix32x12.Matrix("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},iI=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_matrix32x12="import matrix32x12",i+".set_buffer("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},nI=function(t,e){return e.definitions_.import_matrix32x12="import matrix32x12",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},sI=function(t,e){return e.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},oI=function(t,e){return e.definitions_.import_onenet="import onenet",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"None")+")\n"},pI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".do_disconnect()\n"},uI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_onenet="import onenet",i+".publish("+n+", is_print = "+s+")\n"},aI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".check_msg()\n"},lI=function(t,e){e.definitions_.import_onenet="import onenet";var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);for(let t=0;te?t[e]:"ni-hao"),"KEY"+e).appendField("”:")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},$h={init:function(){this.setColour(Jh),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("启动识别 返回结果"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("语音识别,获取识别结果")}},tm={init:function(){this.setColour(Jh),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("注销识别 内存释放"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("语音识别,注销语音识别,释放内存")}},em="#90A244",im={init:function(){this.setColour(em),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["否","0"],["是","1"]]),"flag"),this.setOutput(!0),this.setTooltip()}},nm={init:function(){this.setColour(em),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("path").appendField("打开路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("打开一个新的图像对象")}},sm={init:function(){this.setColour(em),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField("打开空图"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开一个空的图像对象")}},om={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像信息"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["宽度","width"],["高度","height"],["格式","format"],["大小","size"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取图像的宽度、高度、格式、大小")}},pm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像保存"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("path").setAlign(Rt.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("图像的副本保存到文件系统")}},um={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像截取"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("复制一个图像图像的副本")}},am={init:function(){this.setColour(em),this.appendDummyInput().appendField("RGB"),this.appendDummyInput().appendField("["),this.appendValueInput("R").setCheck(Number),this.appendValueInput("G").appendField(",").setCheck(Number),this.appendValueInput("B").appendField(",").setCheck(Number),this.appendDummyInput().appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("对图像进行适当压缩")}},lm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像压缩"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("quality").setAlign(Rt.inputs.Align.RIGHT).appendField("压缩率").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("对图像进行适当压缩")}},_m={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像清除"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将图像中的所有像素设置为零")}},rm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像转换"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("转换为").appendField(new Rt.FieldDropdown([["灰度图","to_grayscale"],["彩色图","to_rgb565"],["彩虹图","to_rainbow"],["AI格式","pix_to_ai"],["字节块","to_bytes"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("将图像转换为灰度图、彩色图、彩虹图像")}},dm={init:function(){this.setColour(em),this.appendDummyInput().appendField("修改点颜色"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("设置图像某点像素值")}},Im={init:function(){this.setColour(em),this.appendDummyInput().appendField("获取点颜色"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("获取图像某点像素值")}},Tm={init:function(){this.setColour(em),this.appendDummyInput().appendField("字库加载"),this.appendValueInput("path").setAlign(Rt.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从SD中加载需要显示文字的字库")}},hm={init:function(){this.setColour(em),this.appendDummyInput().appendField("字库释放"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("释放字库所占的内存")}},mm={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制文本(中)"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个文本")}},cm={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制文本"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个中文文本")}},Om={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制文本(英)"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个字符文本")}},Rm={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制直线"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一条从(x0,y0)到(x1,y1)的线")}},Mm={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制箭头"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个箭头")}},Em={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制十字"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("延伸").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个十字")}},Cm={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制圆形"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyr"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个圆形")}},Am={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制矩形"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xywh"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个矩形")}},gm={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制特征点"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("keypoints").setAlign(Rt.inputs.Align.RIGHT).appendField("对象"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setTooltip("绘制一个特征点对象的各个点")}},Sm={init:function(){this.setColour(em),this.appendDummyInput().appendField("绘制图像"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("x_scale").setAlign(Rt.inputs.Align.RIGHT).appendField("x缩放").setCheck(Number),this.appendValueInput("y_scale").setAlign(Rt.inputs.Align.RIGHT).appendField("y缩放").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("绘制一个image图像")}},Dm={init:function(){this.setColour(em),this.appendDummyInput().appendField("直线识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("theta_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendValueInput("rho_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并斜率").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别直线,返回image.line对象列表")}},Nm={init:function(){this.setColour(em),this.appendDummyInput().appendField("线段识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("distance").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.appendValueInput("difference").setAlign(Rt.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别线段,返回image.line对象列表")}},fm={init:function(){this.setColour(em),this.appendDummyInput().appendField("圆形识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("r_min").setAlign(Rt.inputs.Align.RIGHT).appendField("最小r").setCheck(Number),this.appendValueInput("r_max").setAlign(Rt.inputs.Align.RIGHT).appendField("最大r").setCheck(Number),this.appendValueInput("r_step").setAlign(Rt.inputs.Align.RIGHT).appendField("步长r").setCheck(Number),this.appendValueInput("x_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并x值").setCheck(Number),this.appendValueInput("y_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并y值").setCheck(Number),this.appendValueInput("r_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并r值").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[circle]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别圆形,返回image.cirle对象列表")}},Lm={init:function(){this.setColour(em),this.appendDummyInput().appendField("矩形识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[rect]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用四元检测识别矩形,返回image.rect对象列表")}},Fm={init:function(){this.setColour(em),this.appendDummyInput().appendField("线性回归"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("robust").setAlign(Rt.inputs.Align.RIGHT).appendField("泰尔指数").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("计算线性回归,返回image.line对象列表")}},vm={init:function(){this.setColour(em),this.appendDummyInput().appendField("直线解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","line"],["x1分量","x1"],["y1分量","y1"],["x2分量","x2"],["y2分量","y2"],["长度","length"],["角度","theta"],["斜率","rho"],["模","magnitude"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.line列表,获取直线信息")}},Pm={init:function(){this.setColour(em),this.appendDummyInput().appendField("圆形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xyr","circle"],["x分量","x"],["y分量","y"],["r分量","r"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.circle列表,获取圆形信息")}},Vm={init:function(){this.setColour(em),this.appendDummyInput().appendField("矩形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.rect列表,获取矩形信息")}},ym={init:function(){this.setColour(em),this.appendDummyInput().appendField("直方图均衡"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("limit").setAlign(Rt.inputs.Align.RIGHT).appendField("对比度").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单直方图均衡化")}},Ym={init:function(){this.setColour(em),this.appendDummyInput().appendField("模糊滤波"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("offset").setAlign(Rt.inputs.Align.RIGHT).appendField("补偿").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单模糊滤波")}},bm={init:function(){this.setColour(em),this.appendDummyInput().appendField("卡通化滤波"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("seed").setAlign(Rt.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Rt.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单卡通滤波器")}},km={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像腐蚀"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像腐蚀,从分割区域的边缘删除像素(白色目标区域)")}},xm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像膨胀"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像膨胀,将像素添加到分割区域的边缘中(白色目标区域)")}},Gm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像填充"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("开始坐标"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("seed").setAlign(Rt.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Rt.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("反转"),this.appendValueInput("clear").setAlign(Rt.inputs.Align.RIGHT).appendField("清除"),this.setOutput(!0),this.setTooltip("像洪水一样填充图像中低矮凹陷的地方(洪水填充)")}},Xm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像投影"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("垂直投影"),this.setOutput(!0),this.setTooltip("图像从笛卡尔坐标到线性极坐标重新投影")}},Hm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像反转"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("翻转图像中的所有像素值")}},Um={init:function(){this.setColour(em),this.appendDummyInput().appendField("校正缩放"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendValueInput("strength").appendField("校正值").setCheck(Number),this.appendValueInput("zoom").appendField("缩放值").setCheck(Number),this.setOutput(!0),this.setTooltip("翻转图像中的所有像素值")}},wm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像二值化"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("zero").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值像素为零"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("根据像素是否在阈值列表 thresholds 中的阈值内,将图像中的所有像素设置为黑色或白色。")}},Bm={init:function(){this.setColour(em),this.appendDummyInput().appendField("图像边缘检测"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("kernel").setAlign(Rt.inputs.Align.RIGHT).appendField("内核"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("通过过滤器内核对图像进行卷积。")}},Wm={init:function(){this.setColour(em),this.appendDummyInput().appendField("条形码识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[barcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setOutput(!0),this.setTooltip("使用条形码识别,返回image.barcode对象列表")}},Km={init:function(){this.setColour(em),this.appendDummyInput().appendField("二维码识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[qrcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用二维码识别,返回image.line对象列表")}},Qm={init:function(){this.setColour(em),this.appendDummyInput().appendField("AprilTag识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[apriltag]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用image.TAG36H11识别,返回image.apriltag对象列表")}},jm={init:function(){this.setColour(em),this.appendDummyInput().appendField("二维码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["版本","version"],["掩码","mask"],["类型","data_type"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.qrcode列表,获取二维码信息")}},qm={init:function(){this.setColour(em),this.appendDummyInput().appendField("条形码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["类型","type"],["角度","rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},Jm={init:function(){this.setColour(em),this.appendDummyInput().appendField("AprilTag解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["号码","id"],["家族","family"],["弧度","rotation"],["x向距离","x_translation"],["y向距离","y_translation"],["z向距离","z_translation"],["x向弧度","x_rotation"],["y向弧度","y_rotation"],["z向弧度","z_rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.apriltag列表,获取Apriltag信息")}},zm={init:function(){this.setColour(em),this.appendDummyInput().appendField("色块追踪"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值LAB"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("area").setAlign(Rt.inputs.Align.RIGHT).appendField("滤掉区域").setCheck(Number),this.appendValueInput("pixel").setAlign(Rt.inputs.Align.RIGHT).appendField("滤掉素数").setCheck(Number),this.appendValueInput("margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并").setCheck(Number),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("重叠"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[blob]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用色块追踪,返回image.blob对象列表")}},Zm={init:function(){this.setColour(em),this.appendDummyInput().appendField("颜色识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[histogram]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用直方图识别颜色,返回image.histogram对象列表")}},$m={init:function(){this.setColour(em),this.appendDummyInput().appendField("追踪解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["像素量","pixels"],["弧度","rotation"],["号码数","code"],["合并量","count"],["面积","area"],["密度比","density"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.blob列表,获取追踪色块信息")}},tc={init:function(){this.setColour(em),this.appendDummyInput().appendField("色阈浮点"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图浮点列表","bins"],["LAB的L浮点列表","l_bins"],["LAB的A浮点列表","a_bins"],["LAB的B浮点列表","b_bins"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},ec={init:function(){this.setColour(em),this.appendDummyInput().appendField("颜色解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendValueInput("percentile").appendField("CDF").setCheck(Number),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过histogram列表,获取识别颜色信息")}},ic={init:function(){this.setColour(em),this.appendDummyInput().appendField("色阈解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},nc={init:function(){this.setColour(em),this.appendDummyInput().appendField("RGB888值"),this.appendValueInput("LIST").appendField("由LAB"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("LAB转RGB888")}},sc={init:function(){this.setColour(em),this.appendDummyInput().appendField("LAB值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转LAB")}},oc={init:function(){this.setColour(em),this.appendDummyInput().appendField("灰度值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转灰度图")}},pc={init:function(){this.setColour(em),this.appendDummyInput().appendField("RGB888"),this.appendValueInput("g_value").appendField("由灰度值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("灰度图转RGB888")}},uc={init:function(){this.setColour(em),this.appendDummyInput().appendField("定向梯度图"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("线长").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("用HOG(定向梯度直方图)线替换ROI中的像素,仅支持灰度图像")}},ac={init:function(){this.setColour(em),this.appendDummyInput().appendField("特征识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("max_keypoints").setAlign(Rt.inputs.Align.RIGHT).appendField("关键点数").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("角点数").setCheck(Number),this.appendValueInput("scale_factor").setAlign(Rt.inputs.Align.RIGHT).appendField("比例因子").setCheck(Number),this.appendValueInput("normalized").setAlign(Rt.inputs.Align.RIGHT).appendField("多比例"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[keypoints]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},lc={init:function(){this.setColour(em),this.appendDummyInput().appendField("特征比较"),this.appendValueInput("VAR1").setAlign(Rt.inputs.Align.RIGHT).appendField("对象1").setCheck("var"),this.appendValueInput("VAR2").setAlign(Rt.inputs.Align.RIGHT).appendField("对象2").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("相似度").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[kptmatch]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},_c={init:function(){this.setColour(em),this.appendDummyInput().appendField("特征信息"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["匹配量","count"],["弧度","theta"],["匹配点-xy","match"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.kptmatch列表,获取追踪特征信息")}},rc=20,dc={init:function(){this.setColour(rc),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},Ic={init:function(){this.setColour(rc),this.appendDummyInput().appendField("初始化 "),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"GPIO.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"GPIO.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"GPIO.IN, board.GPIO.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"GPIO.IN, board.GPIO.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)}},Tc={init:function(){this.setColour(rc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},hc={init:function(){this.setColour(rc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField("值"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},mc={init:function(){this.setColour(rc),this.appendDummyInput().appendField("初始化 PWM输出"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("freq").appendField("频率").setCheck(Number),this.appendValueInput("VAR").appendField("定时器").setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化PWM输出设置,需要调用定时器")}},cc={init:function(){this.setColour(rc),this.appendValueInput("PIN",Number).appendField("PWM输出").setCheck(Number),this.appendValueInput("pwm").appendField("占空比").setCheck(Number),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("PWM输出,值范围为0-100%,可以为小数")}},Oc={init:function(){this.setColour(rc),this.appendDummyInput().appendField("硬件中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"GPIO.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"GPIO.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"GPIO.IRQ_BOTH"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Rc={init:function(){this.setColour(rc),this.appendDummyInput().appendField("取消中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("取消中断")}},Mc="#637AAC",Ec={init:function(){this.setColour(Mc),this.appendDummyInput().appendField("OneNET 连接WiFi"),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},Cc={init:function(){this.setColour(Mc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Rt.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},Ac={init:function(){this.setColour(Mc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},gc={init:function(){this.setColour(Mc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},Sc={init:function(){this.setColour(Mc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Rt.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},Dc={init:function(){this.setColour(Mc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Rt.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_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("iot_publish_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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Nc={init:function(){this.setColour(Mc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},fc={init:function(){this.setColour(Mc),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Lc={init:function(){this.setColour(Mc),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Fc=Ec,vc=Cc,Pc=Ac,Vc=gc,yc=Dc,Yc=230;Rt.FieldTextInput.math_number_validator=function(t){return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null},Rt.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 bc={init:function(){this.setColour(Yc),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},kc={init:function(){this.setColour(Yc);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},xc={init:function(){this.setColour(Yc),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Gc={init:function(){this.setColour(Yc),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Xc={init:function(){this.setColour(Yc),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Hc={init:function(){this.setColour(Yc),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.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:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Uc={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Yc),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},wc={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Yc),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Bc={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Yc),this.appendValueInput("LIST").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Wc={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Yc),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.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:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Kc={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Yc),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Qc={init:function(){this.setColour(Yc),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},jc={init:function(){this.setColour(Yc),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},qc={init:function(){this.setColour(Yc),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Jc={init:function(){this.setColour(Yc),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},zc=jc,Zc="#2E9883",$c={init:function(){this.setColour(Zc),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("PS2手柄"),this.appendValueInput("miso_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("DAT#").setCheck(Number),this.appendValueInput("mosi_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("CMD#").setCheck(Number),this.appendValueInput("cs_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("SEL#").setCheck(Number),this.appendValueInput("clk_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("CLK#").setCheck(Number),this.appendValueInput("vol").setAlign(Rt.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用PS2手柄控制")}},tO={init:function(){this.setColour(Zc),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("UART键盘"),this.appendValueInput("vol").setAlign(Rt.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用串口键盘控制")}},eO={init:function(){this.setColour(Zc),this.appendDummyInput().appendField("NES 运行游戏"),this.appendValueInput("path").appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("运行NES游戏ROM")}},iO="#5B6DA5",nO={init:function(){this.setColour(iO),this.appendDummyInput().appendField("ESP-AT 初始化"),this.appendValueInput("RX",Number).appendField("RX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("使用串口连接ESP-AT设备,并初始化配置")}},sO={init:function(){this.setColour(iO),this.appendDummyInput().appendField("WiFi扫描"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("扫描附近可用的WiFi信息-返回多信息列表")}},oO={init:function(){this.setColour(iO),this.appendDummyInput("").appendField("WiFi连接"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("配置WiFi名称及密码,连接WiFi上网")}},pO={init:function(){this.setColour(iO),this.appendDummyInput().appendField("WiFi").appendField(new Rt.FieldDropdown([["连接信息","1"],["连接状态","2"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("查看wifi连接信息或者连接状态")}},uO={init:function(){this.setColour(iO),this.appendDummyInput().appendField("WiFi断开连接"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("断开wifi连接")}},aO={init:function(){this.setColour(iO),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField("打开热点"),this.appendValueInput("account").setAlign(Rt.inputs.Align.RIGHT).appendField("名称").setCheck(String),this.appendValueInput("password").setAlign(Rt.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.appendValueInput("chl").setAlign(Rt.inputs.Align.RIGHT).appendField("通道").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("加密").appendField(new Rt.FieldDropdown([["WPA2_PSK","WPA2_PSK"],["OPEN","OPEN"],["WPA_PSK","WPA_PSK"],["WPA_WPA2_PSK","WPA_WPA2_PSK"]]),"mode"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开WiFi热点并配置")}},lO={init:function(){this.setColour(iO),this.appendDummyInput().appendField("关闭热点"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("关闭热点")}},_O={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("套接字 初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("套接字初始化")}},rO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("获取地址"),this.appendValueInput("addr").setAlign(Rt.inputs.Align.RIGHT).appendField("域名").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接字根据域名解析地址IP信息")}},dO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("创建连接"),this.appendValueInput("address").appendField("地址"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接字创建目标IP地址连接")}},IO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("超时时间"),this.appendValueInput("time").setAlign(Rt.inputs.Align.RIGHT).appendField("").setCheck(Number),this.appendDummyInput().appendField("s"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("设置阻塞套接字超时时间")}},TO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendValueInput("content").appendField("发送数据"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接发送数据")}},hO={init:function(){this.setColour(iO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("接收数据"),this.appendValueInput("size").appendField("字节").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接接收数据,返回接收到的数据对象")}},mO={init:function(){this.setColour(iO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},cO=230,OO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},RO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},MO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},EO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},CO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},AO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},gO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},SO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},DO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},NO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},fO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},LO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},FO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},vO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},PO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},VO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},yO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},YO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},bO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},kO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},xO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},GO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},XO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},HO={init:function(){this.setColour(cO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},UO=40,wO={init:function(){this.setColour(UO),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["A","17"],["B","16"]]),"KEY"),this.setOutput(!0),this.setTooltip()}},BO={init:function(){this.setColour(UO),this.appendDummyInput().appendField("初始化"),this.appendValueInput("key").appendField("按键"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化按键")}},WO={init:function(){this.setColour(UO),this.appendValueInput("key").appendField("按键"),this.appendDummyInput().appendField("被按下?"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip("获取按键值")}},KO={init:function(){this.setColour(UO),this.appendDummyInput().appendField("DHT11"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField("获取").appendField(new Rt.FieldDropdown([["温度-℃","0"],["湿度-%","1"],["温湿度","2"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("dht11,获取温湿度")}},QO={init:function(){this.setColour(UO),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},jO={init:function(){this.setColour(UO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},qO={init:function(){this.setColour(UO),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("MPU9250","key");var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Rt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{MPU9250:"MPU9250",SHT20:"SHT20",BMP280:"BMP280",ADXL345:"ADXL345"}[e]}))}},JO={init:function(){this.setColour(UO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.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()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},zO={init:function(){this.setColour(UO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.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()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},ZO={init:function(){this.setColour(UO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},$O={init:function(){this.setColour(UO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},tR={init:function(){this.setColour(UO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},eR={init:function(){this.setColour(UO),this.appendValueInput("SUB").appendField("ADXL345").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},iR=65,nR={init:function(){this.setColour(iR),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)}},sR={init:function(){this.setColour(iR),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_Huanhang_TOOLTIP+Rt.Msg.TEXT_PRINT_TOOLTIP)}},oR={init:function(){this.setColour(iR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new Rt.FieldDropdown([[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_DEC,"int"],[Rt.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(Rt.Msg.TEXT_PRINT_HEX_TOOLTIP)}},pR={init:function(){this.setColour(iR),this.appendValueInput("char_marker").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO)}},uR={init:function(){this.setColour(iR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},aR={init:function(){this.setColour(iR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_SERIAL_AVAILABLE1)}},lR={init:function(){this.setColour(iR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},_R={init:function(){this.setColour(iR),this.appendDummyInput().appendField("Serial "+Rt.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new Rt.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},rR={init:function(){this.setColour(iR),this.appendValueInput("RX",Number).appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField("RX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SERIAL_BEGIN).appendField(new Rt.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SERIAL_softserial)}},dR={init:function(){this.setColour(iR),this.appendValueInput("VAR").appendField(Rt.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Rt.Msg.INOUT_input_TOOLTIP)}},IR={init:function(){this.setColour(iR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.BLOCKPY_PRINT_TOOLTIP)}},TR={init:function(){this.setColour(iR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)}},hR={init:function(){this.setColour(iR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Rt.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},mR={init:function(){this.setColour(iR),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("system_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n {\n"+e.statementToCode(this,"do")+"})\n"},$g=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},tS=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"},eS=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"},iS=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},nS=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},sS=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},oS=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},pS=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},uS=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},aS=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},lS=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]}},_S=function(){return"while True:\n pass\n"},rS=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},dS=function(t,e){e.definitions_["import machine"]="import machine";return"machine.reset()\n"},IS=function(t,e){return e.definitions_["import gc"]="import gc",this.getFieldValue("gc")+"\n"},TS=function(t,e){return e.definitions_.import_os="import os","os.uname()"},hS=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"}},mS=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=i%3,s=parseInt(i/3),o=e.valueToCode(this,"period",e.ORDER_NONE);return"tim"+i+" =Timer(Timer.TIMER"+n+",Timer.CHANNEL"+s+",mode=Timer.MODE_"+this.getFieldValue("mode")+",period = "+o+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},cS=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]},OS=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"tim"+i+" = Timer(Timer.TIMER"+i%3+",Timer.CHANNEL"+parseInt(i/3)+", mode=Timer.MODE_PWM)\n"},RS=OS,MS=mS,ES=cS,CS=hS;const AS=function(t,e){return["["+this.getFieldValue("TEXT")+"]",e.ORDER_ATOMIC]},gS=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},SS=function(t,e){var i=this.getFieldValue("COLOR");return["("+("0x"+(i=i.substr(1)).substr(0,2))+","+("0x"+i.substr(2,2))+","+("0x"+i.substr(4,2))+")",e.ORDER_ATOMIC]},DS=function(t,e){var i=this.getFieldValue("COLOR");return[i=function(t){var e,i,n;e=(t=t.substr(1)).substr(0,2),i=t.substr(2,2),n=t.substr(4,2);var s=(64512&(t="0x"+(t=e+i+n)))>>10;return((248&t)>>3<<8)+((7&s)<<13)+((16252928&t)>>19<<3)+((56&s)>>3<<0)}(i),e.ORDER_ATOMIC]};Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Bn),Rt.Python=il,Rt.generator=il,Mt.Profile.default={},Object.assign(Mt.Profile,vI),Object.assign(Mt.Profile.default,vI.k210),Object.assign(Rt.Blocks,e,i,n,s,o,p,u,a,l,_,r,d,I,F,L,f,N,Y,b,k,x,G,X,H,U,w,B,W,K,Q,j,q,J,z,Z,$),Object.assign(Rt.Python.forBlock,T,h,m,c,O,R,M,E,C,A,g,S,D,y,V,P,v,tt,et,it,nt,st,ot,pt,ut,at,lt,_t,rt,dt,It,Tt,ht,mt,ct,Ot)})(); \ No newline at end of file +class At{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(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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(Rt.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Rt.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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(Pt),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Gt={init:function(){this.setColour(Pt),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Rt.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Ht={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Rt.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(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Rt.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")}},Ut={init:function(){this.setColour(Pt);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.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(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Bt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Rt.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Rt.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};Xt.OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ut.OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Kt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Rt.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},qt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Jt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Rt.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},zt={init:function(){this.jsonInit({message0:Rt.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:Pt,tooltip:Rt.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Rt.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Zt={init:function(){this.setColour(Pt),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_STAT),this.setOutput(!0)}},$t={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},te={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},ee={init:function(){this.appendDummyInput().appendField(Rt.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Rt.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Rt.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Rt.FieldDropdown([[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pt),this.setTooltip("do-while loop"),this.setHelpUrl("")}},ie={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ne={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},se={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},oe=230;Rt.FieldTextInput.math_number_validator=function(t){return String(t)},Rt.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 Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},ue={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},ae={init:function(){this.setColour(oe);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},le={init:function(){this.setColour(oe),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},_e={init:function(){this.setColour(oe),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},re={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},de={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.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:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ie={init:function(){var t=[[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_HEX,"hex"]];this.setColour(oe),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Rt.Msg.MATH_DEC_TOOLTIP_BIN,oct:Rt.Msg.MATH_DEC_TOOLTIP_OCT,hex:Rt.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Te={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},he={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(oe),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},me={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(oe),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.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:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},ce={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(oe),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Oe={init:function(){this.setColour(oe),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},Re={init:function(){this.setColour(oe),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Me={init:function(){this.setColour(oe),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},Ee={init:function(){this.setColour(oe),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.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(Rt.Msg.MATH_ROUND).appendField(Rt.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Rt.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ae={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"],[Rt.Msg.MIXLY_TO_BITES,"b"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},ge={init:function(){var t=[[Rt.Msg.MIXLY_TO_INT,"int"],[Rt.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(oe),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Rt.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Se=Re,De=160,Ne={init:function(){this.setColour(De),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Rt.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 Rt.FieldImage(e,12,12,'"')}},fe={init:function(){this.setColour(De),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Rt.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 Rt.FieldImage(e,12,12,'"')}};Rt.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(De),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Rt.FieldTextInput("",Rt.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Rt.FieldImage(e,7,12,'"')}},Fe={init:function(){this.setColour(De),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Rt.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ve={init:function(){this.setColour(De),this.appendValueInput("VAR").setCheck(Number).appendField(Rt.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Pe={init:function(){this.setColour(De),this.appendValueInput("VAR").setCheck(String).appendField(Rt.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Ve={init:function(){this.setColour(De),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ye={init:function(){this.setColour(De),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ye={init:function(){this.WHERE_OPTIONS=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.TEXT_GET_INDEX_RANDOM+1+Rt.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(De),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.LISTS_GET_INDEX_GET,"MODE"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Rt.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=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=Rt.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+Rt.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Rt.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:Rt.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Rt.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Rt.Msg.TEXT_GET_INDEX_RANDOM};return Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+Rt.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Rt.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),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Rt.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"),Rt.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},be={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(De),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Rt.Msg.PROCEDURES_DEFRETURN_RETURN+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.LISTS_GET_INDEX_FROM_START+"n"+Rt.Msg.TEXT_CHARAT2)}},ke={init:function(){this.setHelpUrl(Rt.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(De),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Rt.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Rt.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},xe={init:function(){this.WHERE_OPTIONS_1=[[Rt.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Rt.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Rt.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(De),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Rt.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(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Rt.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==Rt.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),Rt.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Rt.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new Rt.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(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(De),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Rt.Msg.LISTS_GET_INDEX_GET+" "+Rt.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Rt.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Rt.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Rt.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Xe={init:function(){var t=[[Rt.Msg.MIXLY_EQUALS,"==="],[Rt.Msg.MIXLY_STARTSWITH,"startswith"],[Rt.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(De),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Rt.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},He={init:function(){this.setColour(De),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_COMPARETO_HELP)}},Ue={init:function(){var t=[[Rt.Msg.TEXT_UPPER,"upper"],[Rt.Msg.TEXT_TITLE,"title"],[Rt.Msg.TEXT_CAPITALIZE,"capitalize"],[Rt.Msg.TEXT_SWAPCASE,"swapcase"],[Rt.Msg.TEXT_LOWER,"lower"]];this.setColour(De),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Rt.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Rt.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Rt.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Rt.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Rt.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Rt.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},we={init:function(){var t=[[Rt.Msg.TEXT_LJUST,"ljust"],[Rt.Msg.TEXT_CENTER,"center"],[Rt.Msg.TEXT_RJUST,"rjust"]];this.setColour(De),this.appendValueInput("VAR").appendField(new Rt.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Rt.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Be={init:function(){this.setColour(De),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Rt.Msg.MIXLY_MID+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Rt.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},We={init:function(){this.setColour(De),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ke={init:function(){this.setColour(De),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Rt.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Rt.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Qe={init:function(){this.setColour(De),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Rt.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Rt.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},je={init:function(){var t=[[Rt.Msg.TEXT_TRIM_BOTH,"strip"],[Rt.Msg.TEXT_TRIM_LEFT,"lstrip"],[Rt.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(De),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Rt.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Rt.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Rt.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Rt.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},qe={init:function(){this.setColour(De),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Rt.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Rt.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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wi={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ki={init:function(){this.setColour(wi),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Qi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_KEYS),this.setTooltip(Rt.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},ji={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_TOOLTIP)}},qi={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Rt.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ji={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},zi={init:function(){this.setColour(wi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_DELETE_TOOLTIP)}},Zi={init:function(){this.setColour(wi),this.appendValueInput("DICT2").setCheck("Dict").appendField(Rt.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Rt.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MID),this.setTooltip(Rt.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$i={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_CLEAR),this.setTooltip(Rt.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_ITEMS),this.setTooltip(Rt.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},en={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_VALUES),this.setTooltip(Rt.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},nn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_LENGTH),this.setTooltip(Rt.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},sn={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.DICT_DELDICT),this.setTooltip(Rt.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},on={init:function(){this.MODE=[[Rt.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Rt.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Rt.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Rt.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=Rt.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Rt.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Rt.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 Rt.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(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Rt.Msg.DICTS_ADD_VALUE),this.setTooltip(Rt.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},un={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Rt.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Rt.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_SETDEFAULT_TOOLTIP)}},an={init:function(){this.setColour(wi),this.appendDummyInput("").appendField(new Rt.FieldLabel(Rt.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 Rt.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Rt.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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ln={init:function(){this.setColour(wi),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},_n={init:function(){this.setColour(wi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},rn={init:function(){this.setColour(wi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Rt.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},dn=210,In={init:function(){var t=Rt.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(dn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Rt.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Rt.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Tn={init:function(){var t=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Rt.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(dn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Rt.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},hn={init:function(){var t=[[Rt.Msg.LOGIC_OPERATION_AND,"AND"],[Rt.Msg.LOGIC_OPERATION_OR,"OR"],[Rt.Msg.LOGIC_OPERATION_NOR,"NOR"],[Rt.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(dn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Rt.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Rt.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},mn={init:function(){this.setColour(dn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Rt.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Rt.Msg.LOGIC_NEGATE_TOOLTIP)}},cn={init:function(){var t=[[Rt.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Rt.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(dn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Rt.FieldDropdown(t),"BOOL"),this.setTooltip(Rt.Msg.LOGIC_BOOLEAN_TOOLTIP)}},On={init:function(){this.setColour(dn),this.setOutput(!0),this.appendDummyInput().appendField(Rt.Msg.LOGIC_NULL),this.setTooltip(Rt.Msg.LOGIC_NULL_TOOLTIP)}},Rn={init:function(){this.setColour(dn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Rt.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Rt.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Mn={init:function(){var t=[[Rt.Msg.TEXT_APPEND_TO,"in"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(dn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Rt.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Rt.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.IN)}},En={init:function(){var t=[[Rt.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Rt.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(dn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Cn={init:function(){this.setColour(dn),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},An={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Rt.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(Rt.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=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Sn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.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=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG,p=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},Dn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXPY_TEXT_ENCODE).appendField(new Rt.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=Rt.Msg.MIXLY_USE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=Rt.Msg.MIXLY_BELONG,p=Rt.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+p}))}},Nn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},fn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Rt.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(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Fn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MICROBIT_PYTHON_TYPE)}},vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.HTML_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Pn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Vn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const Yn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Rt.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(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},bn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},xn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Gn={init:function(){this.setColour(0),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},Xn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Rt.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 Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Rt.Msg.MIXLY_ESP32_SET+{mkdir:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Rt.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},wn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_FILE,"isfile"],[Rt.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 Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Bn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Rt.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(Rt.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Rt.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Kn={};Kn.NAME_TYPE=Rt.PROCEDURE_CATEGORY_NAME,Kn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hs={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(Rt.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Us={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(Rt.Msg.HTML_FORM_CONTENT).appendField(new Rt.FieldDropdown([[Rt.Msg.HTML_TEXT,"text"],[Rt.Msg.HTML_EMAIL,"email"],[Rt.Msg.HTML_NUMBER,"number"],[Rt.Msg.HTML_PASSWORD,"password"],[Rt.Msg.HTML_CHECKBOX,"checkbox"],[Rt.Msg.HTML_RADIOBUTTON,"radiobutton"],[Rt.Msg.HTML_BUTTON,"button"],[Rt.Msg.HTML_COLOUR,"colour"],[Rt.Msg.HTML_DATE,"date"],[Rt.Msg.HTML_LOCALTIME,"local time"],[Rt.Msg.HTML_FILE,"file"],[Rt.Msg.HTML_HIDDEN,"hidden"],[Rt.Msg.HTML_IMAGE,"image"],[Rt.Msg.HTML_MONTH,"month"],[Rt.Msg.HTML_RANGE,"range"],[Rt.Msg.HTML_RESET,"reset"],[Rt.Msg.HTML_SEARCH,"search"],[Rt.Msg.HTML_SUBMIT,"submit"],[Rt.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Rt.Msg.HTML_TIME,"time"],[Rt.Msg.HTML_URL,"url"],[Rt.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Rt.Msg.HTML_NAME).appendField(new Rt.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Rt.Msg.HTML_VALUE).appendField(new Rt.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Rt.Msg.MIXLY_AIP_ATTR).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ws={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bs={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(new Rt.FieldTextInput("property"),"KEY").appendField(":").appendField(new Rt.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws={init:function(){this.setColour(Ys),this.appendDummyInput().appendField(Rt.Msg.HTML_TEXT).appendField(new Rt.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ks=160,Qs={init:function(){this.setColour(Ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Rt.FieldTable(""),"TEXT")}},js={init:function(){this.setColour(Ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT")}},qs={init:function(){this.setColour(Ks),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Rt.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Js={init:function(){this.setColour(Ks),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},zs={init:function(){this.setColour(Ks),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Rt.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Zs={init:function(){this.setColour(Ks),this.appendValueInput("VALUE").appendField(Rt.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},$s={init:function(){this.setColour(Ks),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Rt.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=Rt.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 "+l()+"("+t+", "+e+", "+i+")"},Rt.isNumber(n)&&Rt.isNumber(s)&&Rt.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 bu=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 p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},ku=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},xu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Gu=function(t,e){return["None",e.ORDER_ATOMIC]},Xu=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]},Hu=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]},Uu=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]},wu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Bu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Wu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Ku=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},ju=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},qu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Ju=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]},zu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Zu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},$u=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"},pa=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]},aa=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"},_a=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]},ra=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"),Rt.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=[],p=0;p\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},Qa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},ja=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},qa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ja=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},za=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")+";"},tl=function(){return this.getFieldValue("TEXT")+"\n"},el=function(t){return t.getFieldValue("TEXT")+"\n"},il=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},nl=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},sl=function(){return""},ol=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},pl=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("")+p.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+p.join("\n")},al.scrubNakedValue=function(t){return t+"\n"},al.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},al.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},al.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=Rt.utils.string.wrap(o,al.COMMENT_WRAP-3),n+=al.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const ll=100,_l={init:function(){this.setColour(ll),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_SERVO).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SERVO_MOVE)}},rl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["1","1"],["2","2"]]),"op"),this.setOutput(!0)}},dl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"1"],[Rt.Msg.MIXLY_ESP32_OFF,"0"],[Rt.Msg.MIXLY_ESP32_TOGGLE,"-1"]]),"flag"),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},Il={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETONOFF)}},Tl={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_GETONOFF)}},hl={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING).appendField(Rt.Msg.MIXLY_EXTERN_LED),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_EXTERN_LED_SETBRIGHT)}},ml={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETONOFF)}},cl={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendDummyInput().appendField(Rt.Msg.MIXLY_PULSEIN_STAT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_GETONOFF)}},Ol={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SETTING),this.appendValueInput("led").appendField(Rt.Msg.MIXLY_BUILDIN_LED),this.appendValueInput("bright").appendField(Rt.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_LED_SETBRIGHT)}},Rl={init:function(){this.setColour(ll),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_TONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ml={init:function(){this.setColour(ll),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_TONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},El={init:function(){this.setColour(ll),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_NOTONE).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cl={init:function(){this.setColour(ll),this.appendValueInput("TICKS").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(Rt.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(Rt.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SET_TEMPO)}},Al={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Get_current_tempo),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_GET_TEMPO)}},gl={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_Reset_music),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_RESET)}},Sl={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Dl={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_TONE),this.appendValueInput("pitch").setCheck(Number).appendField(Rt.Msg.MIXLY_FREQUENCY),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DURATION),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Nl={init:function(){this.setColour(ll),this.appendDummyInput().appendField(Rt.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fl={init:function(){this.setColour(ll),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Ll={init:function(){this.setColour(ll),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Rt.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS)}},Fl={init:function(){this.setColour(ll),this.appendValueInput("LIST").appendField(Rt.Msg.MIXLY_ESP32_MUSIC_PLAY_LISTS),this.appendValueInput("PIN").setCheck(Number).appendField(Rt.Msg.MIXLY_PIN),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MIXGO_MUSIC_PLAY_TONE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_PLAYSHOW)}},vl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_RGB_PIN_COUNT)}},Pl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},Vl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},yl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},Yl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("RVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},bl={init:function(){this.setColour(ll),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_WRI)}},kl=ml,xl=cl,Gl=Ol,Xl="#2FAD7A",Hl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Ul={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},wl={init:function(){this.jsonInit({inputsInline:!0,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},Bl={init:function(){this.jsonInit({inputsInline:!0,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},Wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},Kl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Ql={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},jl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},ql={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Jl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},zl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},Zl={init:function(){this.jsonInit({message0:Rt.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[Rt.Msg.MIXLY_PYTHON_PERIODIC,"False"],[Rt.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},$l={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},t_={init:function(){this.jsonInit({inputsInline:!0,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(Rt.CONTROLS_REPEAT_INPUT_DO)}},e_={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Xl,helpUrl:Rt.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:Rt.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:Rt.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},i_=120;({init:function(){this.setColour(i_),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Rt.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new Rt.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Rt.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}}).OPERATORS=[[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Rt.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(i_);var t=new Rt.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Rt.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Rt.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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Rt.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const n_=180,s_={colourOptions:["#f00","#000"],columns:2},o_={init:function(){this.jsonInit({colour:n_,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:Rt.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Clear_display)}},p_={init:function(){this.setColour(n_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},u_={init:function(){this.setColour(n_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},a_={init:function(){this.setColour(n_),this.appendValueInput("data").setCheck(String).appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Rt.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},l_={init:function(){this.setColour(n_),this.appendValueInput("data").setCheck(String).appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_ESP32_MONITOR_SCROLL,"scroll"]]),"MODE").appendField(Rt.Msg.OLED_DRAWSTR),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_DELAY),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},__={init:function(){this.setColour(n_),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_MONITOR_SHOW_STATIC),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_MUSIC_SHOW_STATIC)}},r_={init:function(){this.setColour(n_),this.appendValueInput("PIN",String).setCheck("esp32_image").appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP)}},d_={init:function(){this.jsonInit({colour:n_,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:Rt.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}]})}},I_={init:function(){this.jsonInit({colour:n_,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:Rt.Msg.MIXLY_MICROBIT_Animate_images,args0:[{check:"List",type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+Rt.Msg.MIXLY_MICROBIT_Animate_images1)}},T_={init:function(){this.jsonInit({colour:n_,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:Rt.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},h_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[Rt.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(Rt.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=Rt.Msg.MIXLY_MICROBIT_monitor;return{on:Rt.Msg.MIXLY_MICROBIT_Turn_on_display,off:Rt.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},m_={init:function(){this.jsonInit({colour:n_,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:Rt.Msg.MIXLY_MICROBIT_Turn_off_display})}},c_={init:function(){this.jsonInit({colour:n_,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:Rt.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Display_is_on1)}},O_={init:function(){this.jsonInit({colour:n_,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:Rt.Msg.MIXLY_MICROBIT_Built_in_image1,message0:Rt.Msg.MIXLY_MICROBIT_Built_in_image})}},R_={init:function(){this.jsonInit({colour:n_,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{colour:"#000000",type:"field_colour",name:"05"},{colour:"#000000",type:"field_colour",name:"06"},{colour:"#000000",type:"field_colour",name:"07"},{colour:"#000000",type:"field_colour",name:"08"},{colour:"#000000",type:"field_colour",name:"09"},{colour:"#000000",type:"field_colour",name:"0a"},{colour:"#000000",type:"field_colour",name:"0b"},{colour:"#000000",type:"field_colour",name:"0c"},{colour:"#000000",type:"field_colour",name:"0d"},{colour:"#000000",type:"field_colour",name:"0e"},{colour:"#000000",type:"field_colour",name:"0f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{colour:"#000000",type:"field_colour",name:"15"},{colour:"#000000",type:"field_colour",name:"16"},{colour:"#000000",type:"field_colour",name:"17"},{colour:"#000000",type:"field_colour",name:"18"},{colour:"#000000",type:"field_colour",name:"19"},{colour:"#000000",type:"field_colour",name:"1a"},{colour:"#000000",type:"field_colour",name:"1b"},{colour:"#000000",type:"field_colour",name:"1c"},{colour:"#000000",type:"field_colour",name:"1d"},{colour:"#000000",type:"field_colour",name:"1e"},{colour:"#000000",type:"field_colour",name:"1f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{colour:"#000000",type:"field_colour",name:"25"},{colour:"#000000",type:"field_colour",name:"26"},{colour:"#000000",type:"field_colour",name:"27"},{colour:"#000000",type:"field_colour",name:"28"},{colour:"#000000",type:"field_colour",name:"29"},{colour:"#000000",type:"field_colour",name:"2a"},{colour:"#000000",type:"field_colour",name:"2b"},{colour:"#000000",type:"field_colour",name:"2c"},{colour:"#000000",type:"field_colour",name:"2d"},{colour:"#000000",type:"field_colour",name:"2e"},{colour:"#000000",type:"field_colour",name:"2f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{colour:"#000000",type:"field_colour",name:"35"},{colour:"#000000",type:"field_colour",name:"36"},{colour:"#000000",type:"field_colour",name:"37"},{colour:"#000000",type:"field_colour",name:"38"},{colour:"#000000",type:"field_colour",name:"39"},{colour:"#000000",type:"field_colour",name:"3a"},{colour:"#000000",type:"field_colour",name:"3b"},{colour:"#000000",type:"field_colour",name:"3c"},{colour:"#000000",type:"field_colour",name:"3d"},{colour:"#000000",type:"field_colour",name:"3e"},{colour:"#000000",type:"field_colour",name:"3f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"},{colour:"#000000",type:"field_colour",name:"45"},{colour:"#000000",type:"field_colour",name:"46"},{colour:"#000000",type:"field_colour",name:"47"},{colour:"#000000",type:"field_colour",name:"48"},{colour:"#000000",type:"field_colour",name:"49"},{colour:"#000000",type:"field_colour",name:"4a"},{colour:"#000000",type:"field_colour",name:"4b"},{colour:"#000000",type:"field_colour",name:"4c"},{colour:"#000000",type:"field_colour",name:"4d"},{colour:"#000000",type:"field_colour",name:"4e"},{colour:"#000000",type:"field_colour",name:"4f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"50"},{colour:"#000000",type:"field_colour",name:"51"},{colour:"#000000",type:"field_colour",name:"52"},{colour:"#000000",type:"field_colour",name:"53"},{colour:"#000000",type:"field_colour",name:"54"},{colour:"#000000",type:"field_colour",name:"55"},{colour:"#000000",type:"field_colour",name:"56"},{colour:"#000000",type:"field_colour",name:"57"},{colour:"#000000",type:"field_colour",name:"58"},{colour:"#000000",type:"field_colour",name:"59"},{colour:"#000000",type:"field_colour",name:"5a"},{colour:"#000000",type:"field_colour",name:"5b"},{colour:"#000000",type:"field_colour",name:"5c"},{colour:"#000000",type:"field_colour",name:"5d"},{colour:"#000000",type:"field_colour",name:"5e"},{colour:"#000000",type:"field_colour",name:"5f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"60"},{colour:"#000000",type:"field_colour",name:"61"},{colour:"#000000",type:"field_colour",name:"62"},{colour:"#000000",type:"field_colour",name:"63"},{colour:"#000000",type:"field_colour",name:"64"},{colour:"#000000",type:"field_colour",name:"65"},{colour:"#000000",type:"field_colour",name:"66"},{colour:"#000000",type:"field_colour",name:"67"},{colour:"#000000",type:"field_colour",name:"68"},{colour:"#000000",type:"field_colour",name:"69"},{colour:"#000000",type:"field_colour",name:"6a"},{colour:"#000000",type:"field_colour",name:"6b"},{colour:"#000000",type:"field_colour",name:"6c"},{colour:"#000000",type:"field_colour",name:"6d"},{colour:"#000000",type:"field_colour",name:"6e"},{colour:"#000000",type:"field_colour",name:"6f"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"70"},{colour:"#000000",type:"field_colour",name:"71"},{colour:"#000000",type:"field_colour",name:"72"},{colour:"#000000",type:"field_colour",name:"73"},{colour:"#000000",type:"field_colour",name:"74"},{colour:"#000000",type:"field_colour",name:"75"},{colour:"#000000",type:"field_colour",name:"76"},{colour:"#000000",type:"field_colour",name:"77"},{colour:"#000000",type:"field_colour",name:"78"},{colour:"#000000",type:"field_colour",name:"79"},{colour:"#000000",type:"field_colour",name:"7a"},{colour:"#000000",type:"field_colour",name:"7b"},{colour:"#000000",type:"field_colour",name:"7c"},{colour:"#000000",type:"field_colour",name:"7d"},{colour:"#000000",type:"field_colour",name:"7e"},{colour:"#000000",type:"field_colour",name:"7f"}],output:"esp32_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:Rt.Msg.MIXLY_ESP32_Create_image}),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_Create_image1)}},M_={init:function(){var t=[[Rt.Msg.MIXLY_UP,"up"],[Rt.Msg.MIXLY_DOWN,"down"],[Rt.Msg.MIXLY_LEFT,"left"],[Rt.Msg.MIXLY_RIGHT,"right"]];this.setColour(n_),this.setOutput(!0),this.setInputsInline(!0),this.appendValueInput("img").appendField(Rt.Msg.DISPLAY_IMAGE_LET).setCheck(["esp32_image","List",String]),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_LET2).appendField(new Rt.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(Rt.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=Rt.Msg.DISPLAY_IMAGE_LET,n=Rt.Msg.DISPLAY_IMAGE_LET2,s=Rt.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:Rt.Msg.MIXLY_UP,down:Rt.Msg.MIXLY_DOWN,left:Rt.Msg.MIXLY_LEFT,right:Rt.Msg.MIXLY_RIGHT}[t]+s}))}},E_={init:function(){var t=[[Rt.Msg.MICROBIT_DISPLAY_UNION,"+"],[Rt.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(n_),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(Rt.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":Rt.Msg.MIXLY_MICROBIT_image_add,"-":Rt.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},C_={init:function(){this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,"show"],[Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING,"scroll"]]),"MODE"),this.jsonInit({colour:n_,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:Rt.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=Rt.Msg.OLED_DRAWSTR;return Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+{show:Rt.Msg.OLED_DRAWSTR_ONE_BY_ONE,scroll:Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING}[e]+i}))}},A_={init:function(){this.setColour(n_),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},g_={init:function(){this.setColour(n_),this.appendValueInput("device").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_SETUP).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SETUP+Rt.Msg.MIXLY_DF_LCD+Rt.Msg.MIXLY_LCD_ADDRESS)}},S_={init:function(){this.setColour(n_),this.appendValueInput("row",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(Rt.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},D_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ON,"on()"],[Rt.Msg.MIXLY_OFF,"off()"],[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[Rt.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(off)"],[Rt.Msg.MIXLY_LCD_BACKLIGHT,"backlight(on)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_DF_LCD+{"on()":Rt.Msg.MIXLY_ON,"off()":Rt.Msg.MIXLY_OFF,"clear()":Rt.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":Rt.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":Rt.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},N_={init:function(){this.setColour(n_),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendValueInput("row").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},f_={init:function(){this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.OLEDDISPLAY+Rt.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(n_),this.setTooltip(Rt.Msg.MIXLY_DF_LCD+Rt.Msg.OLEDDISPLAY+Rt.Msg.MIXLY_MICROBIT_TYPE_STRING)}},L_={init:function(){var t=[[Rt.Msg.MIXLY_HEIGHT,"height"],[Rt.Msg.MIXLY_WIDTH,"width"]];this.setColour(n_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new Rt.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_MICROBIT_IMAGE+{height:Rt.Msg.MIXLY_HEIGHT,width:Rt.Msg.MIXLY_WIDTH}[t]}))}},F_={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(n_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RECT).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_OLED_RECT)}},v_={init:function(){this.setColour(n_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_DISPLAY_DRAW).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_DISPLAY_RLINE,"hline"],[Rt.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_OLED_LINE)}},P_={init:function(){this.setColour(n_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.jsonInit({message0:Rt.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_OLED_LINE_ARBIT)}},V_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},y_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(Rt.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},Y_={init:function(){this.setColour(n_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS)}},b_={init:function(){this.setColour(n_),this.appendValueInput("x").setCheck(Number).appendField(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},k_={init:function(){this.setColour(n_),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(Rt.Msg.LISTS_SET_INDEX_SET+Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new Rt.FieldColour("#f00",null,s_),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_RGB_NUM_R_G_B)}},x_={init:function(){this.setColour(n_),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},G_={init:function(){this.setColour(n_),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},X_={init:function(){this.setColour(n_),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_OR_ANIMATION),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},H_={init:function(){this.setColour(n_),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("time").setCheck(Number).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},U_={init:function(){this.setColour(n_),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ESP32_ON,"ON"],[Rt.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},w_={init:function(){this.setColour(n_),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[Rt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:Rt.Msg.MIXLY_LCD_STAT_CLEAR,1:Rt.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return Rt.Msg.MIXLY_DF_LCD+i[e]}))}},B_={init:function(){this.setColour(n_),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Rt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},W_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_ON,"_on"],[Rt.Msg.MIXLY_OFF,"_off"],[Rt.Msg.MIXLY_LCD_STAT_CLEAR,"_clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},K_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Q_={init:function(){this.setColour(n_),this.appendDummyInput().appendField(Rt.Msg.MIXLY_4DIGITDISPLAY).appendField(new Rt.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+Rt.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},j_={init:function(){this.setColour(n_),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new Rt.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},q_={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(n_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},J_={init:function(){var t=[[Rt.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[Rt.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(n_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new Rt.FieldDropdown(t),"OP"),this.jsonInit({message0:Rt.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(Rt.Msg.MIXLY_DISPLAY_DRAW+Rt.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},z_={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(Rt.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},Z_={init:function(){this.setColour(n_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(Rt.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(Rt.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(Rt.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(Rt.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(Rt.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.OLED_SHOW_BMP_TOOLTIP)}},$_={init:function(){this.setColour(n_),this.appendValueInput("VAR").appendField(Rt.Msg.OLED),this.appendDummyInput("").appendField(Rt.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(Rt.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(Rt.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.OLED_DRAW_PIXE_TOOLTIP)}},tr={init:function(){this.setColour(n_),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["32x12 Matrix","32x12 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},er={init:function(){this.setColour(n_),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(Rt.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.OLED_BITMAP_OR_STRING)}},ir={init:function(){this.setColour(n_),this.appendValueInput("SUB"),this.appendValueInput("data").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},nr="#526FC3",sr={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_CONNECT_WIFI),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},or={init:function(){this.setColour(nr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Rt.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},pr={init:function(){this.setColour(nr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},ur={init:function(){this.setColour(nr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},ar={init:function(){this.setColour(nr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Rt.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},lr={init:function(){this.setColour(nr),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Rt.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_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("iot_publish_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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},_r={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},rr={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},dr={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ir={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(Rt.Msg.MIXLY_WIFI_USERNAME).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.MIXLY_IOT_PASSWORD).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(Rt.Msg.MIXLY_EMQX_PROJECT).setAlign(Rt.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(Rt.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},hr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(Rt.Msg.MIXLY_EMQX_SUBSCRIBE+Rt.Msg.MIXLY_MICROBIT_MSG).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(Rt.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},mr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Or={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Rr={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},Mr={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(Rt.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},Er={init:function(){this.setColour(nr),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},Cr={init:function(){this.setColour(nr),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},Ar={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},gr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(Rt.Msg.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},Sr={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+Rt.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Dr={init:function(){this.setColour(nr),this.appendDummyInput().appendField(Rt.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(Rt.Msg.MIXLY_EMQX_SERVER).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Nr={init:function(){this.VISITOR_ID=Mt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(nr),this.appendDummyInput("").appendField(new Rt.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")}},fr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MixIO").appendField(Rt.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Lr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(Rt.Msg.MIXLY_REQUESTS_GET).appendField(Rt.Msg.MIXLY_GET_CURRENT_TIME).appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("HTTP"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},vr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(Rt.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(Rt.Msg.MIXLY_INIT_SUBSCRIBE).appendField(Rt.Msg.MQTT_Topic).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(Rt.Msg.MIXLY_OPEN_DEBUG).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[Rt.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pr={init:function(){this.setColour(nr),this.appendDummyInput().appendField("MQTT"+Rt.Msg.MIXLY_Client).appendField(Rt.Msg.MIXLY_GET).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_REQUESTS_LEN,"client_len"],[Rt.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[Rt.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},Vr=sr,yr=or,Yr=pr,br=ur,kr=lr;Rt.Msg.PS2_TRIANGLE,Rt.Msg.PS2_CIRCLE,Rt.Msg.PS2_CROSS,Rt.Msg.PS2_SQUARE,Rt.Msg.PS2_L1,Rt.Msg.PS2_L2,Rt.Msg.PS2_R1,Rt.Msg.PS2_R2,Rt.Msg.PS2_UP,Rt.Msg.PS2_RIGHT,Rt.Msg.PS2_DOWN,Rt.Msg.PS2_LEFT,Rt.Msg.PS2_SELECT,Rt.Msg.PS2_START;const xr=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC);return"music.pitch("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+")\n"},Gr=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"pitch",e.ORDER_ATOMIC),n=e.valueToCode(this,"time",e.ORDER_ATOMIC);return"music.pitch_time("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+", "+i+", "+n+")\n"},Xr=function(t,e){return e.definitions_.import_music="import music","music.stop("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+")\n"},Hr=function(t,e){e.definitions_.import_music="import music";var i=e.valueToCode(this,"BPM",e.ORDER_ASSIGNMENT);return"music.set_tempo("+e.valueToCode(this,"TICKS",e.ORDER_ASSIGNMENT)+", "+i+")\n"},Ur=function(t,e){e.definitions_.import_music="import music";return["music.get_tempo()",e.ORDER_ATOMIC]},wr=function(t,e){return e.definitions_.import_music="import music","music.pitch("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+")\n"},Br=function(t,e){return e.definitions_.import_music="import music","music.pitch_time("+e.valueToCode(this,"pitch",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"time",e.ORDER_ATOMIC)+")\n"},Wr=function(t,e){e.definitions_.import_music="import music";return"music.stop()\n"},Kr=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+")\n"},Qr=function(t,e){return e.definitions_.import_music="import music","music.play("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},jr=function(t,e){return e.definitions_.import_music="import music",e.definitions_.import_matrix="import matrix","music.play_show("+e.valueToCode(this,"LIST",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"PIN",e.ORDER_ASSIGNMENT)+")\n"},qr=function(t,e){return e.definitions_.import_music="import music","music.reset()\n"},Jr=function(t,e){return e.definitions_.import_servo="import servo",e.definitions_.import_machine="import machine","servo.servo_write_angle("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+","+e.valueToCode(this,"DEGREE",e.ORDER_ATOMIC)+")\n"},zr=function(t,e){return[this.getFieldValue("op"),e.ORDER_ATOMIC]},Zr=function(t,e){return[this.getFieldValue("flag"),e.ORDER_ATOMIC]},$r=function(t,e){e.definitions_.import_mixgo="import mixgo";var i=e.valueToCode(this,"bright",e.ORDER_ATOMIC);return"mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setonoff("+i+")\n"},td=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").getonoff()",e.ORDER_ATOMIC]},ed=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led("+e.valueToCode(this,"PIN",e.ORDER_ATOMIC)+").setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},id=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setonoff("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},nd=function(t,e){return e.definitions_.import_mixgo="import mixgo",["mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".getonoff()",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.led"+e.valueToCode(this,"led",e.ORDER_ATOMIC)+".setbrightness("+e.valueToCode(this,"bright",e.ORDER_ATOMIC)+")\n"},od=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"PIN",e.ORDER_ATOMIC),s=e.valueToCode(this,"LEDCOUNT",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",i+" = neopixel.NeoPixel(machine.Pin("+n+"), "+s+", timing = True)\n"},pd=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".write()\n"},ud=function(t,e){return e.definitions_.import_machine="import machine",e.definitions_.import_neopixel="import neopixel",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},ad=function(t,e){e.definitions_.import_mixgo="import mixgo";return"mixgo.rgb.write()\n"},ld=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb["+e.valueToCode(this,"_LED_",e.ORDER_ATOMIC)+"] = ("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+")\n"},_d=function(t,e){return e.definitions_.import_mixgo="import mixgo","mixgo.rgb.fill(("+e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC)+"))\n"},rd=id,dd=nd,Id=sd,Td=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC);e.functions_["terminal_widget_vpin_"+i]=`\nALLOWED_COMMANDS_LIST = ['ls', 'lsusb', 'ip a', 'ip abc']\n\n@blynk.handle_event('write V${i}')\ndef write_handler(pin, _values):\n header = ''\n result = ''\n delimiter = '{}\\n'.format('=' * 30)\n if _values and _values[0] in ALLOWED_COMMANDS_LIST:\n cmd_params = _values[0].split(' ')\n try:\n result = subprocess.check_output(cmd_params).decode('utf-8')\n header = '[output]\\n'\n except subprocess.CalledProcessError as exe_err:\n header = '[error]\\n'\n result = 'Return Code: {}\\n'.format(exe_err.returncode)\n except Exception as g_err:\n print("Command caused '{}'".format(g_err))\n elif _values and _values[0] == 'help':\n header = '[help -> allowed commands]\\n'\n result = '{}\\n'.format('\\n'.join(ALLOWED_COMMANDS_LIST))\n\n # communicate with terminal if help or some allowed command\n if result:\n output = '{}{}{}{}'.format(header, delimiter, result, delimiter)\n print(output)\n blynk.virtual_write(pin, output)\n blynk.virtual_write(pin, '\\n')\n`;return""},hd=function(t,e){return"blynk.virtual_sync("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+")\n"},md=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_disconnected="@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n"+i,""},cd=function(t,e){var i=e.statementToCode(this,"DO");return i=e.addLoopTrap(i,this.id)||e.PASS,e.definitions_.blynk_on_connected="@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n"+i,""},Od=function(){return"blynk_timer.run()\n"},Rd=function(){return"blynk.run()\n"},Md=function(t,e){return"blynk.notify("+e.valueToCode(this,"notification",e.ORDER_ATOMIC)+")\n"},Ed=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";var i=e.valueToCode(this,"timer_num",e.ORDER_ATOMIC);return`blynk_timer.stop('${i}_blynk_timer${i}')\n`},Cd=function(t,e){e.definitions_.import_blynktimer="import blynktimer",e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)";return["blynk_timer.get_timers()",e.ORDER_ATOMIC]},Ad=function(t,e){e.definitions_.import_blynktimer="import blynktimer";var i=e.valueToCode(this,"Num",e.ORDER_ATOMIC),n=e.valueToCode(this,"period",e.ORDER_ATOMIC),s=this.getFieldValue("Timer_mode"),o=e.statementToCode(this,"DO");return o=e.addLoopTrap(o,this.id)||e.PASS,e.definitions_.def_blynktimer="blynk_timer = blynktimer.Timer(no_timers_err=False)",e.definitions_["blynktimer_event"+i]=`\n@blynk_timer.register(interval=${n}, run_once=${s})\ndef blynk_timer${i}():\n`+o,""},gd=function(t,e){var i=e.valueToCode(this,"sensor_data",e.ORDER_ATOMIC);return"blynk.virtual_write("+e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC)+", "+i+")\n"},Sd=function(t,e){var i=e.valueToCode(this,"virtual_pin",e.ORDER_ATOMIC),n=e.statementToCode(this,"DO");return n=e.addLoopTrap(n,this.id)||e.PASS,e.definitions_["blynk_VIRTUAL_WRITE_"+i]="@blynk.handle_event('write V"+i+"')\ndef write_virtual_pin_handler(pin, _value):\n for i in range(0, len(_value)):\n try: _value[i] = eval(_value[i])\n except: pass\n if len(_value) == 1: _value = _value[0]\n"+n,""},Dd=function(t,e){var i=e.valueToCode(this,"body",e.ORDER_ATOMIC),n=e.valueToCode(this,"subject",e.ORDER_ATOMIC);return`blynk.email(${e.valueToCode(this,"TargetEmail",e.ORDER_ATOMIC)}, ${n}, ${i})\n`},Nd=function(t,e){var i=e.valueToCode(this,"attribute_value",e.ORDER_ATOMIC);return`blynk.set_property(pin, ${e.valueToCode(this,"attribute_name",e.ORDER_ATOMIC)}, ${i})\n`},fd=function(t,e){e.definitions_.import_BlynkLib="import blynklib";var i=e.valueToCode(this,"server",e.ORDER_ATOMIC),n=e.valueToCode(this,"auth",e.ORDER_ATOMIC),s=e.valueToCode(this,"port",e.ORDER_ATOMIC);return e.definitions_.mpython_blynk_setup="blynk = blynklib.Blynk("+n+", server="+i+", port="+s+")",e.definitions_.blynk_on_connected="\n@blynk.handle_event(\"connect\")\ndef connect_handler():\n print('Blynk connected')\n",e.definitions_.blynk_on_disconnected="\n@blynk.handle_event(\"disconnect\")\ndef connect_handler():\n print('Blynk disconnected')\n",""};const Ld=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Fd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},vd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.showstatic("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},Pd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.show("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},Vd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+","+e.valueToCode(this,"time",e.ORDER_ASSIGNMENT)+")\n"},yd=function(t,e){e.definitions_.import_matrix="import matrix";var i={"#000000":"0","#ff0000":"1"};return['matrix.Image("'+i[t.getFieldValue("00")]+i[t.getFieldValue("01")]+i[t.getFieldValue("02")]+i[t.getFieldValue("03")]+i[t.getFieldValue("04")]+i[t.getFieldValue("05")]+i[t.getFieldValue("06")]+i[t.getFieldValue("07")]+i[t.getFieldValue("08")]+i[t.getFieldValue("09")]+i[t.getFieldValue("0a")]+i[t.getFieldValue("0b")]+i[t.getFieldValue("0c")]+i[t.getFieldValue("0d")]+i[t.getFieldValue("0e")]+i[t.getFieldValue("0f")]+":"+i[t.getFieldValue("10")]+i[t.getFieldValue("11")]+i[t.getFieldValue("12")]+i[t.getFieldValue("13")]+i[t.getFieldValue("14")]+i[t.getFieldValue("15")]+i[t.getFieldValue("16")]+i[t.getFieldValue("17")]+i[t.getFieldValue("18")]+i[t.getFieldValue("19")]+i[t.getFieldValue("1a")]+i[t.getFieldValue("1b")]+i[t.getFieldValue("1c")]+i[t.getFieldValue("1d")]+i[t.getFieldValue("1e")]+i[t.getFieldValue("1f")]+":"+i[t.getFieldValue("20")]+i[t.getFieldValue("21")]+i[t.getFieldValue("22")]+i[t.getFieldValue("23")]+i[t.getFieldValue("24")]+i[t.getFieldValue("25")]+i[t.getFieldValue("26")]+i[t.getFieldValue("27")]+i[t.getFieldValue("28")]+i[t.getFieldValue("29")]+i[t.getFieldValue("2a")]+i[t.getFieldValue("2b")]+i[t.getFieldValue("2c")]+i[t.getFieldValue("2d")]+i[t.getFieldValue("2e")]+i[t.getFieldValue("2f")]+":"+i[t.getFieldValue("30")]+i[t.getFieldValue("31")]+i[t.getFieldValue("32")]+i[t.getFieldValue("33")]+i[t.getFieldValue("34")]+i[t.getFieldValue("35")]+i[t.getFieldValue("36")]+i[t.getFieldValue("37")]+i[t.getFieldValue("38")]+i[t.getFieldValue("39")]+i[t.getFieldValue("3a")]+i[t.getFieldValue("3b")]+i[t.getFieldValue("3c")]+i[t.getFieldValue("3d")]+i[t.getFieldValue("3e")]+i[t.getFieldValue("3f")]+":"+i[t.getFieldValue("40")]+i[t.getFieldValue("41")]+i[t.getFieldValue("42")]+i[t.getFieldValue("43")]+i[t.getFieldValue("44")]+i[t.getFieldValue("45")]+i[t.getFieldValue("46")]+i[t.getFieldValue("47")]+i[t.getFieldValue("48")]+i[t.getFieldValue("49")]+i[t.getFieldValue("4a")]+i[t.getFieldValue("4b")]+i[t.getFieldValue("4c")]+i[t.getFieldValue("4d")]+i[t.getFieldValue("4e")]+i[t.getFieldValue("4f")]+":"+i[t.getFieldValue("50")]+i[t.getFieldValue("51")]+i[t.getFieldValue("52")]+i[t.getFieldValue("53")]+i[t.getFieldValue("54")]+i[t.getFieldValue("55")]+i[t.getFieldValue("56")]+i[t.getFieldValue("57")]+i[t.getFieldValue("58")]+i[t.getFieldValue("59")]+i[t.getFieldValue("5a")]+i[t.getFieldValue("5b")]+i[t.getFieldValue("5c")]+i[t.getFieldValue("5d")]+i[t.getFieldValue("5e")]+i[t.getFieldValue("5f")]+":"+i[t.getFieldValue("60")]+i[t.getFieldValue("61")]+i[t.getFieldValue("62")]+i[t.getFieldValue("63")]+i[t.getFieldValue("64")]+i[t.getFieldValue("65")]+i[t.getFieldValue("66")]+i[t.getFieldValue("67")]+i[t.getFieldValue("68")]+i[t.getFieldValue("69")]+i[t.getFieldValue("6a")]+i[t.getFieldValue("6b")]+i[t.getFieldValue("6c")]+i[t.getFieldValue("6d")]+i[t.getFieldValue("6e")]+i[t.getFieldValue("6f")]+":"+i[t.getFieldValue("70")]+i[t.getFieldValue("71")]+i[t.getFieldValue("72")]+i[t.getFieldValue("73")]+i[t.getFieldValue("74")]+i[t.getFieldValue("75")]+i[t.getFieldValue("76")]+i[t.getFieldValue("77")]+i[t.getFieldValue("78")]+i[t.getFieldValue("79")]+i[t.getFieldValue("7a")]+i[t.getFieldValue("7b")]+i[t.getFieldValue("7c")]+i[t.getFieldValue("7d")]+i[t.getFieldValue("7e")]+i[t.getFieldValue("7f")]+'")',e.ORDER_ATOMIC]},Yd=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.Image."+t.getFieldValue("image"),e.ORDER_ATOMIC]},bd=function(t,e){return e.definitions_.import_matrix="import matrix",["matrix.get_pixel(int("+e.valueToCode(t,"x",e.ORDER_ATOMIC)+"), int("+e.valueToCode(t,"y",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]},kd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_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"},xd=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_brightness()",e.ORDER_ATOMIC]},Gd=function(t,e){e.definitions_.import_matrix="import matrix";return["matrix.get_screenimage()",e.ORDER_ATOMIC]},Xd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},Hd=function(t,e){return e.definitions_.import_matrix="import matrix","matrix.blink_rate("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},Ud=function(t,e){e.definitions_.import_matrix="import matrix";return"matrix.clear()\n"},wd=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"},Bd=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"},Wd=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"},Kd=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),p=e.valueToCode(this,"height",e.ORDER_ATOMIC),u="TRUE"==this.getFieldValue("fill")?"True":"False",a=this.getFieldValue("OP"),l="";switch(u){case"True":l=i+".show_fill_rect("+n+", "+s+", "+o+", "+p+","+a+")\n";break;case"False":l=i+".show_rect("+n+", "+s+", "+o+", "+p+","+a+")\n"}return l},Qd=function(t,e){e.definitions_.import_matrix="import matrix";var i=t.getFieldValue("OP"),n=e.valueToCode(t,"A",e.ORDER_ATOMIC),s=e.valueToCode(t,"B",e.ORDER_ATOMIC);return["INTERSECTION"==i?n+"-("+n+"-"+s+")":n+i+s,e.ORDER_ATOMIC]},jd=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"},qd=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},Jd=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]},zd=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"},Zd=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},$d=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+this.getFieldValue("STAT")+"()\n"},tI=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_num("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},eI=function(t,e){var i=this.getFieldValue("TYPE");return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+i+"_show_dot("+e.valueToCode(this,"NO",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"STAT",e.ORDER_ATOMIC)+")\n"},iI=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},nI=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),p="TRUE"==this.getFieldValue("fill")?"True":"False",u=this.getFieldValue("OP"),a="";switch(p){case"True":a=i+".show_fill_circle("+n+", "+s+", "+o+", "+u+")\n";break;case"False":a=i+".show_circle("+n+", "+s+", "+o+", "+u+")\n"}return a},sI=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),p=e.valueToCode(this,"y1",e.ORDER_ATOMIC),u=e.valueToCode(this,"x2",e.ORDER_ATOMIC),a=e.valueToCode(this,"y2",e.ORDER_ATOMIC),l="TRUE"==this.getFieldValue("fill")?"True":"False",_=this.getFieldValue("OP"),r="";switch(l){case"True":r=i+".show_fill_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n";break;case"False":r=i+".show_triangle("+n+", "+s+", "+o+", "+p+", "+u+", "+a+", "+_+")\n"}return r},oI=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"},pI=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"},uI=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"32x12 Matrix"==o?(e.definitions_.import_matrix32x12="import matrix32x12",i=n+" = matrix32x12.Matrix("+s+")\n"):"TM1637"==o&&(e.definitions_.import_tm1637="import tm1637",i=n+" = tm1637."+o+"("+s+")\n"),i},aI=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_matrix32x12="import matrix32x12",i+".set_buffer("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},lI=function(t,e){return e.definitions_.import_matrix32x12="import matrix32x12",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},_I=function(t,e){return e.definitions_.import_mixiot="import mixiot","mixiot.wlan_connect("+e.valueToCode(this,"WIFINAME",e.ORDER_ATOMIC)+","+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+")\n"},rI=function(t,e){return e.definitions_.import_onenet="import onenet",e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+" = onenet.init_MQTT_client("+e.valueToCode(this,"CLIENT",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SERVER",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"USERNAME",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"PASSWORD",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"TOPIC",e.ORDER_ATOMIC)+", "+(e.valueToCode(this,"SUB",e.ORDER_ASSIGNMENT)||"None")+")\n"},dI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".do_disconnect()\n"},II=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=e.valueToCode(this,"DICT",e.ORDER_ATOMIC),s="TRUE"==this.getFieldValue("is_print")?"True":"False";return e.definitions_.import_onenet="import onenet",i+".publish("+n+", is_print = "+s+")\n"},TI=function(t,e){var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);return e.definitions_.import_onenet="import onenet",i+".check_msg()\n"},hI=function(t,e){e.definitions_.import_onenet="import onenet";var i=new Array(this.itemCount_),n=new Array(this.itemCount_),s=new Array(this.itemCount_),o=e.valueToCode(this,"VAR",e.ORDER_ATOMIC);for(let t=0;te?t[e]:"ni-hao"),"KEY"+e).appendField("”:")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},om={init:function(){this.setColour(im),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("启动识别 返回结果"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("语音识别,获取识别结果")}},pm={init:function(){this.setColour(im),this.appendValueInput("SUB").appendField("").setCheck("var"),this.appendDummyInput().appendField("注销识别 内存释放"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("语音识别,注销语音识别,释放内存")}},um="#90A244",am={init:function(){this.setColour(um),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["否","0"],["是","1"]]),"flag"),this.setOutput(!0),this.setTooltip()}},lm={init:function(){this.setColour(um),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("path").appendField("打开路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("打开一个新的图像对象")}},_m={init:function(){this.setColour(um),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField("打开空图"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开一个空的图像对象")}},rm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像信息"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["宽度","width"],["高度","height"],["格式","format"],["大小","size"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("获取图像的宽度、高度、格式、大小")}},dm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像保存"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("path").setAlign(Rt.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("图像的副本保存到文件系统")}},Im={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像截取"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("复制一个图像图像的副本")}},Tm={init:function(){this.setColour(um),this.appendDummyInput().appendField("RGB"),this.appendDummyInput().appendField("["),this.appendValueInput("R").setCheck(Number),this.appendValueInput("G").appendField(",").setCheck(Number),this.appendValueInput("B").appendField(",").setCheck(Number),this.appendDummyInput().appendField("]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("对图像进行适当压缩")}},hm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像压缩"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("quality").setAlign(Rt.inputs.Align.RIGHT).appendField("压缩率").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("对图像进行适当压缩")}},mm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像清除"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("将图像中的所有像素设置为零")}},cm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像转换"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendDummyInput().appendField("转换为").appendField(new Rt.FieldDropdown([["灰度图","to_grayscale"],["彩色图","to_rgb565"],["彩虹图","to_rainbow"],["AI格式","pix_to_ai"],["字节块","to_bytes"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("将图像转换为灰度图、彩色图、彩虹图像")}},Om={init:function(){this.setColour(um),this.appendDummyInput().appendField("修改点颜色"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("设置图像某点像素值")}},Rm={init:function(){this.setColour(um),this.appendDummyInput().appendField("获取点颜色"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("获取图像某点像素值")}},Mm={init:function(){this.setColour(um),this.appendDummyInput().appendField("字库加载"),this.appendValueInput("path").setAlign(Rt.inputs.Align.RIGHT).appendField("路径").setCheck(String),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("从SD中加载需要显示文字的字库")}},Em={init:function(){this.setColour(um),this.appendDummyInput().appendField("字库释放"),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("释放字库所占的内存")}},Cm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制文本(中)"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个文本")}},Am={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制文本"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.appendValueInput("x_spacing").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个中文文本")}},gm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制文本(英)"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("x0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-x").setCheck(Number),this.appendValueInput("y0").setAlign(Rt.inputs.Align.RIGHT).appendField("起-y").setCheck(Number),this.appendValueInput("tex").setAlign(Rt.inputs.Align.RIGHT).appendField("内容").setCheck(String),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("scale").setAlign(Rt.inputs.Align.RIGHT).appendField("字号").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上绘制一个字符文本")}},Sm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制直线"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一条从(x0,y0)到(x1,y1)的线")}},Dm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制箭头"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyxy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个箭头")}},Nm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制十字"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("延伸").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个十字")}},fm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制圆形"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xyr"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个圆形")}},Lm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制矩形"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xywh"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("图像上绘制一个矩形")}},Fm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制特征点"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("keypoints").setAlign(Rt.inputs.Align.RIGHT).appendField("对象"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("大小").setCheck(Number),this.appendValueInput("thi").setAlign(Rt.inputs.Align.RIGHT).appendField("粗细").setCheck(Number),this.appendValueInput("fil").setAlign(Rt.inputs.Align.RIGHT).appendField("填充").setCheck(Number),this.setOutput(!0),this.setTooltip("绘制一个特征点对象的各个点")}},vm={init:function(){this.setColour(um),this.appendDummyInput().appendField("绘制图像"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("坐标-xy"),this.appendValueInput("x_scale").setAlign(Rt.inputs.Align.RIGHT).appendField("x缩放").setCheck(Number),this.appendValueInput("y_scale").setAlign(Rt.inputs.Align.RIGHT).appendField("y缩放").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("绘制一个image图像")}},Pm={init:function(){this.setColour(um),this.appendDummyInput().appendField("直线识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("theta_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendValueInput("rho_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并斜率").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别直线,返回image.line对象列表")}},Vm={init:function(){this.setColour(um),this.appendDummyInput().appendField("线段识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("distance").setAlign(Rt.inputs.Align.RIGHT).appendField("间距").setCheck(Number),this.appendValueInput("difference").setAlign(Rt.inputs.Align.RIGHT).appendField("合并角度").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别线段,返回image.line对象列表")}},ym={init:function(){this.setColour(um),this.appendDummyInput().appendField("圆形识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("r_min").setAlign(Rt.inputs.Align.RIGHT).appendField("最小r").setCheck(Number),this.appendValueInput("r_max").setAlign(Rt.inputs.Align.RIGHT).appendField("最大r").setCheck(Number),this.appendValueInput("r_step").setAlign(Rt.inputs.Align.RIGHT).appendField("步长r").setCheck(Number),this.appendValueInput("x_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并x值").setCheck(Number),this.appendValueInput("y_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并y值").setCheck(Number),this.appendValueInput("r_margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并r值").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[circle]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用霍夫变换识别圆形,返回image.cirle对象列表")}},Ym={init:function(){this.setColour(um),this.appendDummyInput().appendField("矩形识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[rect]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用四元检测识别矩形,返回image.rect对象列表")}},bm={init:function(){this.setColour(um),this.appendDummyInput().appendField("线性回归"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("robust").setAlign(Rt.inputs.Align.RIGHT).appendField("泰尔指数").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[line]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("计算线性回归,返回image.line对象列表")}},km={init:function(){this.setColour(um),this.appendDummyInput().appendField("直线解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","line"],["x1分量","x1"],["y1分量","y1"],["x2分量","x2"],["y2分量","y2"],["长度","length"],["角度","theta"],["斜率","rho"],["模","magnitude"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.line列表,获取直线信息")}},xm={init:function(){this.setColour(um),this.appendDummyInput().appendField("圆形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xyr","circle"],["x分量","x"],["y分量","y"],["r分量","r"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.circle列表,获取圆形信息")}},Gm={init:function(){this.setColour(um),this.appendDummyInput().appendField("矩形解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.rect列表,获取矩形信息")}},Xm={init:function(){this.setColour(um),this.appendDummyInput().appendField("直方图均衡"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("limit").setAlign(Rt.inputs.Align.RIGHT).appendField("对比度").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单直方图均衡化")}},Hm={init:function(){this.setColour(um),this.appendDummyInput().appendField("模糊滤波"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("自适应"),this.appendValueInput("offset").setAlign(Rt.inputs.Align.RIGHT).appendField("补偿").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单模糊滤波")}},Um={init:function(){this.setColour(um),this.appendDummyInput().appendField("卡通化滤波"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("seed").setAlign(Rt.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Rt.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.setOutput(!0),this.setTooltip("图像上的简单卡通滤波器")}},wm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像腐蚀"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像腐蚀,从分割区域的边缘删除像素(白色目标区域)")}},Bm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像膨胀"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.setOutput(!0),this.setTooltip("图像膨胀,将像素添加到分割区域的边缘中(白色目标区域)")}},Wm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像填充"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("开始坐标"),this.appendValueInput("color").setAlign(Rt.inputs.Align.RIGHT).appendField("颜色").setCheck(Number),this.appendValueInput("seed").setAlign(Rt.inputs.Align.RIGHT).appendField("原始差异").setCheck(Number),this.appendValueInput("float").setAlign(Rt.inputs.Align.RIGHT).appendField("相邻差异").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("反转"),this.appendValueInput("clear").setAlign(Rt.inputs.Align.RIGHT).appendField("清除"),this.setOutput(!0),this.setTooltip("像洪水一样填充图像中低矮凹陷的地方(洪水填充)")}},Km={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像投影"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("垂直投影"),this.setOutput(!0),this.setTooltip("图像从笛卡尔坐标到线性极坐标重新投影")}},Qm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像反转"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("翻转图像中的所有像素值")}},jm={init:function(){this.setColour(um),this.appendDummyInput().appendField("校正缩放"),this.appendValueInput("VAR").appendField("图像").setCheck("var"),this.appendValueInput("strength").appendField("校正值").setCheck(Number),this.appendValueInput("zoom").appendField("缩放值").setCheck(Number),this.setOutput(!0),this.setTooltip("翻转图像中的所有像素值")}},qm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像二值化"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值").setCheck(Number),this.appendValueInput("invert").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值反转"),this.appendValueInput("zero").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值像素为零"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("根据像素是否在阈值列表 thresholds 中的阈值内,将图像中的所有像素设置为黑色或白色。")}},Jm={init:function(){this.setColour(um),this.appendDummyInput().appendField("图像边缘检测"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("卷积核尺寸").setCheck(Number),this.appendValueInput("kernel").setAlign(Rt.inputs.Align.RIGHT).appendField("内核"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("通过过滤器内核对图像进行卷积。")}},zm={init:function(){this.setColour(um),this.appendDummyInput().appendField("条形码识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[barcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setOutput(!0),this.setTooltip("使用条形码识别,返回image.barcode对象列表")}},Zm={init:function(){this.setColour(um),this.appendDummyInput().appendField("二维码识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[qrcode]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用二维码识别,返回image.line对象列表")}},$m={init:function(){this.setColour(um),this.appendDummyInput().appendField("AprilTag识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[apriltag]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用image.TAG36H11识别,返回image.apriltag对象列表")}},tc={init:function(){this.setColour(um),this.appendDummyInput().appendField("二维码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["版本","version"],["掩码","mask"],["类型","data_type"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.qrcode列表,获取二维码信息")}},ec={init:function(){this.setColour(um),this.appendDummyInput().appendField("条形码解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["内容","payload"],["类型","type"],["角度","rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},ic={init:function(){this.setColour(um),this.appendDummyInput().appendField("AprilTag解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["号码","id"],["家族","family"],["弧度","rotation"],["x向距离","x_translation"],["y向距离","y_translation"],["z向距离","z_translation"],["x向弧度","x_rotation"],["y向弧度","y_rotation"],["z向弧度","z_rotation"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.apriltag列表,获取Apriltag信息")}},nc={init:function(){this.setColour(um),this.appendDummyInput().appendField("色块追踪"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("LIST").setAlign(Rt.inputs.Align.RIGHT).appendField("阈值LAB"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("area").setAlign(Rt.inputs.Align.RIGHT).appendField("滤掉区域").setCheck(Number),this.appendValueInput("pixel").setAlign(Rt.inputs.Align.RIGHT).appendField("滤掉素数").setCheck(Number),this.appendValueInput("margin").setAlign(Rt.inputs.Align.RIGHT).appendField("合并").setCheck(Number),this.appendValueInput("key").setAlign(Rt.inputs.Align.RIGHT).appendField("重叠"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[blob]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用色块追踪,返回image.blob对象列表")}},sc={init:function(){this.setColour(um),this.appendDummyInput().appendField("颜色识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[histogram]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用直方图识别颜色,返回image.histogram对象列表")}},oc={init:function(){this.setColour(um),this.appendDummyInput().appendField("追踪解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["像素量","pixels"],["弧度","rotation"],["号码数","code"],["合并量","count"],["面积","area"],["密度比","density"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.blob列表,获取追踪色块信息")}},pc={init:function(){this.setColour(um),this.appendDummyInput().appendField("色阈浮点"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图浮点列表","bins"],["LAB的L浮点列表","l_bins"],["LAB的A浮点列表","a_bins"],["LAB的B浮点列表","b_bins"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},uc={init:function(){this.setColour(um),this.appendDummyInput().appendField("颜色解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendValueInput("percentile").appendField("CDF").setCheck(Number),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过histogram列表,获取识别颜色信息")}},ac={init:function(){this.setColour(um),this.appendDummyInput().appendField("色阈解析"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["灰度图值","value"],["LAB的L值","l_value"],["LAB的A值","a_value"],["LAB的B值","b_value"]]),"key"),this.setOutput(!0),this.setTooltip("通过遍历image.barcode列表,获取条形码信息")}},lc={init:function(){this.setColour(um),this.appendDummyInput().appendField("RGB888值"),this.appendValueInput("LIST").appendField("由LAB"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("LAB转RGB888")}},_c={init:function(){this.setColour(um),this.appendDummyInput().appendField("LAB值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转LAB")}},rc={init:function(){this.setColour(um),this.appendDummyInput().appendField("灰度值"),this.appendValueInput("LIST").appendField("由RGB888"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("RGB888转灰度图")}},dc={init:function(){this.setColour(um),this.appendDummyInput().appendField("RGB888"),this.appendValueInput("g_value").appendField("由灰度值").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("灰度图转RGB888")}},Ic={init:function(){this.setColour(um),this.appendDummyInput().appendField("定向梯度图"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("size").setAlign(Rt.inputs.Align.RIGHT).appendField("线长").setCheck(Number),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("用HOG(定向梯度直方图)线替换ROI中的像素,仅支持灰度图像")}},Tc={init:function(){this.setColour(um),this.appendDummyInput().appendField("特征识别"),this.appendValueInput("VAR").setAlign(Rt.inputs.Align.RIGHT).appendField("图像").setCheck("var"),this.appendValueInput("roi").setAlign(Rt.inputs.Align.RIGHT).appendField("区域-xywh"),this.appendValueInput("max_keypoints").setAlign(Rt.inputs.Align.RIGHT).appendField("关键点数").setCheck(Number),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("角点数").setCheck(Number),this.appendValueInput("scale_factor").setAlign(Rt.inputs.Align.RIGHT).appendField("比例因子").setCheck(Number),this.appendValueInput("normalized").setAlign(Rt.inputs.Align.RIGHT).appendField("多比例"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[keypoints]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},hc={init:function(){this.setColour(um),this.appendDummyInput().appendField("特征比较"),this.appendValueInput("VAR1").setAlign(Rt.inputs.Align.RIGHT).appendField("对象1").setCheck("var"),this.appendValueInput("VAR2").setAlign(Rt.inputs.Align.RIGHT).appendField("对象2").setCheck("var"),this.appendValueInput("threshold").setAlign(Rt.inputs.Align.RIGHT).appendField("相似度").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("返回[kptmatch]"),this.setOutput(!0),this.setInputsInline(!1),this.setTooltip("使用特征识别,返回image.keypoints对象列表")}},mc={init:function(){this.setColour(um),this.appendDummyInput().appendField("特征信息"),this.appendValueInput("VAR").appendField("对象").setCheck("var"),this.appendDummyInput().appendField("获取").appendField(new Rt.FieldDropdown([["坐标-xywh","rect"],["x分量","x"],["y分量","y"],["w分量","w"],["h分量","h"],["中心-x","cx"],["中心-y","cy"],["匹配量","count"],["弧度","theta"],["匹配点-xy","match"]]),"key"),this.setOutput(!0),this.setTooltip("通过image.kptmatch列表,获取追踪特征信息")}},cc=20,Oc={init:function(){this.setColour(cc),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_HIGH,"HIGH"],[Rt.Msg.MIXLY_LOW,"LOW"]]),"BOOL"),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_HIGHLOW_TOOLTIP)}},Rc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("初始化 "),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_Digital_PINMODEOUT,"GPIO.OUT"],[Rt.Msg.MIXLY_Digital_PINMODEIN,"GPIO.IN"],[Rt.Msg.MIXLY_PINMODEPULLUP,"GPIO.IN, board.GPIO.PULL_UP"],[Rt.Msg.MIXLY_PINMODEPULLDOWN,"GPIO.IN, board.GPIO.PULL_DOWN"]]),"MODE"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_INIT_TOOLTIP)}},Mc={init:function(){this.setColour(cc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_Digital_PINMODEOUT).setCheck(Number),this.appendValueInput("STAT").appendField(Rt.Msg.MIXLY_STAT).setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_WRITE_TOOLTIP)}},Ec={init:function(){this.setColour(cc),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(Rt.Msg.MIXLY_Digital_PINMODEIN).setCheck(Number),this.appendDummyInput().appendField("值"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_DIGITAL_READ_TOOLTIP)}},Cc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("初始化 PWM输出"),this.appendValueInput("PIN",Number).appendField("管脚").setCheck(Number),this.appendValueInput("freq").appendField("频率").setCheck(Number),this.appendValueInput("VAR").appendField("定时器").setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化PWM输出设置,需要调用定时器")}},Ac={init:function(){this.setColour(cc),this.appendValueInput("PIN",Number).appendField("PWM输出").setCheck(Number),this.appendValueInput("pwm").appendField("占空比").setCheck(Number),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("PWM输出,值范围为0-100%,可以为小数")}},gc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("硬件中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_MODE).appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_RISING,"GPIO.IRQ_RISING"],[Rt.Msg.MIXLY_FALLING,"GPIO.IRQ_FALLING"],[Rt.Msg.MIXLY_CHANGE,"GPIO.IRQ_BOTH"]]),"mode"),this.appendValueInput("DO").appendField(Rt.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_INOUT_PIN_ATTACHINTERRUPT_TOOLTIP)}},Sc={init:function(){this.setColour(cc),this.appendDummyInput().appendField("取消中断"),this.appendValueInput("PIN",Number).appendField("管键").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("取消中断")}},Dc="#637AAC",Nc={init:function(){this.setColour(Dc),this.appendDummyInput().appendField("OneNET 连接WiFi"),this.appendValueInput("WIFINAME").setCheck(String).appendField(Rt.Msg.HTML_NAME),this.appendValueInput("PASSWORD").setCheck(String).appendField(Rt.Msg.HTML_PASSWORD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_WIFI_CONNECT_TOOLTIP)}},fc={init:function(){this.setColour(Dc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"+Rt.Msg.TUPLE_JOIN),this.appendValueInput("CLIENT").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_CLIENT),this.appendValueInput("SERVER").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SERVER),this.appendValueInput("USERNAME").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_USERNAME),this.appendValueInput("PASSWORD").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_PASSWORD),this.appendValueInput("TOPIC").setAlign(Rt.inputs.Align.RIGHT).setCheck(String).appendField(Rt.Msg.MIXLY_ESP32_ONENET_TOPIC),this.appendValueInput("SUB").setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CONNECT_TOOLTIP)}},Lc={init:function(){this.setColour(Dc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_DISCONNECT_TOOLTIP)}},Fc={init:function(){this.setColour(Dc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_CHECK_TOOLTIP)}},vc={init:function(){this.setColour(Dc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET"),this.appendValueInput("DICT").appendField(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),this.appendDummyInput().appendField(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PRINT_DATA).appendField(new Rt.FieldCheckbox("TRUE"),"is_print"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_DICT_TOOLTIP)}},Pc={init:function(){this.setColour(Dc),this.appendValueInput("VAR").setCheck("var").appendField("OneNET").setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(new Rt.FieldLabel(Rt.Msg.MIXLY_ESP32_PUBLISH_ONENET),"TIP").setAlign(Rt.inputs.Align.RIGHT),this.itemCount_=2,this.updateShape_(),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Rt.icons.MutatorIcon(["iot_publish_item"],this)),this.setTooltip(Rt.Msg.MIXLY_ESP32_IOT_ONENET_PUBLISH_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("iot_publish_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){Rt.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Vc={init:function(){this.setColour(Dc),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},yc={init:function(){this.setColour(Dc),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Yc={init:function(){this.setColour(Dc),this.appendDummyInput().appendField(Rt.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},bc=Nc,kc=fc,xc=Lc,Gc=Fc,Xc=Pc,Hc=230;Rt.FieldTextInput.math_number_validator=function(t){return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(t)?String(t):null},Rt.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 Uc={init:function(){this.setColour(Hc),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},wc={init:function(){this.setColour(Hc);this.appendDummyInput("").appendField(Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Rt.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Rt.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Bc={init:function(){this.setColour(Hc),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Wc={init:function(){this.setColour(Hc),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Rt.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:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Rt.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Rt.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Kc={init:function(){this.setColour(Hc),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Rt.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Qc={init:function(){this.setColour(Hc),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Rt.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:Rt.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Rt.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Rt.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Rt.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Rt.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Rt.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Rt.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},jc={init:function(){var t=[[Rt.Msg.LANG_MATH_TO_ROUND,"round"],[Rt.Msg.LANG_MATH_TO_CEIL,"ceil"],[Rt.Msg.LANG_MATH_TO_FLOOR,"floor"],[Rt.Msg.MATH_ABS,"fabs"],[Rt.Msg.MATH_SQRT,"sqrt"]];this.setColour(Hc),this.appendValueInput("A").setCheck(Number).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Rt.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Rt.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Rt.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Rt.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Rt.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Rt.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},qc={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Hc),this.appendValueInput("A").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Jc={init:function(){var t=[[Rt.Msg.MIXLY_MAX,"max"],[Rt.Msg.MIXLY_MIN,"min"]];this.setColour(Hc),this.appendValueInput("LIST").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(new Rt.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Rt.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Rt.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},zc={init:function(){var t=[[Rt.Msg.MATH_TWO,"two"],[Rt.Msg.MATH_EIGHT,"eight"],[Rt.Msg.MATH_TEN,"ten"],[Rt.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Hc),this.appendDummyInput("").appendField(Rt.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Rt.FieldDropdown(t),"OP").appendField(Rt.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Rt.Msg.MATH_ZHW).appendField(new Rt.FieldDropdown(t),"OP2").appendField(Rt.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:Rt.Msg.MATH_Before_two,eight:Rt.Msg.MATH_Before_eight,ten:Rt.Msg.MATH_Before_ten,sixteen:Rt.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:Rt.Msg.MATH_Behind_two,eight:Rt.Msg.MATH_Behind_eight,ten:Rt.Msg.MATH_Behind_ten,sixteen:Rt.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Zc={init:function(){var t=[[Rt.Msg.LANG_MATH_INT,"int"],[Rt.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Hc),this.setOutput(!0,Number),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Rt.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Rt.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT).appendField(Rt.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:Rt.Msg.LANG_MATH_INT,float:Rt.Msg.LANG_MATH_FLOAT_RANDOM};return Rt.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},$c={init:function(){this.setColour(Hc),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Rt.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MATH_CONSTRAIN_TOOLTIP)}},tO={init:function(){this.setColour(Hc),this.appendValueInput("NUM",Number).appendField(Rt.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Rt.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Rt.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_MAP)}},eO={init:function(){this.setColour(Hc),this.appendDummyInput().appendField(new Rt.FieldTextInput("0",Rt.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Rt.Msg.MATH_NUMBER_TOOLTIP)}},iO={init:function(){this.setColour(Hc),this.appendValueInput("NUM").setCheck(Number).appendField(Rt.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},nO=tO,sO="#2E9883",oO={init:function(){this.setColour(sO),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("PS2手柄"),this.appendValueInput("miso_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("DAT#").setCheck(Number),this.appendValueInput("mosi_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("CMD#").setCheck(Number),this.appendValueInput("cs_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("SEL#").setCheck(Number),this.appendValueInput("clk_pin",Number).setAlign(Rt.inputs.Align.RIGHT).appendField("CLK#").setCheck(Number),this.appendValueInput("vol").setAlign(Rt.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用PS2手柄控制")}},pO={init:function(){this.setColour(sO),this.appendDummyInput().appendField("NES 初始化"),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("UART键盘"),this.appendValueInput("vol").setAlign(Rt.inputs.Align.RIGHT).appendField("音量").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("初始化NES,使用串口键盘控制")}},uO={init:function(){this.setColour(sO),this.appendDummyInput().appendField("NES 运行游戏"),this.appendValueInput("path").appendField("路径").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("运行NES游戏ROM")}},aO="#5B6DA5",lO={init:function(){this.setColour(aO),this.appendDummyInput().appendField("ESP-AT 初始化"),this.appendValueInput("RX",Number).appendField("RX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("使用串口连接ESP-AT设备,并初始化配置")}},_O={init:function(){this.setColour(aO),this.appendDummyInput().appendField("WiFi扫描"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("扫描附近可用的WiFi信息-返回多信息列表")}},rO={init:function(){this.setColour(aO),this.appendDummyInput("").appendField("WiFi连接"),this.appendValueInput("account").appendField("名称").setCheck(String),this.appendValueInput("password").appendField("密码").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("配置WiFi名称及密码,连接WiFi上网")}},dO={init:function(){this.setColour(aO),this.appendDummyInput().appendField("WiFi").appendField(new Rt.FieldDropdown([["连接信息","1"],["连接状态","2"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("查看wifi连接信息或者连接状态")}},IO={init:function(){this.setColour(aO),this.appendDummyInput().appendField("WiFi断开连接"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("断开wifi连接")}},TO={init:function(){this.setColour(aO),this.appendDummyInput("").setAlign(Rt.inputs.Align.RIGHT).appendField("打开热点"),this.appendValueInput("account").setAlign(Rt.inputs.Align.RIGHT).appendField("名称").setCheck(String),this.appendValueInput("password").setAlign(Rt.inputs.Align.RIGHT).appendField("密码").setCheck(String),this.appendValueInput("chl").setAlign(Rt.inputs.Align.RIGHT).appendField("通道").setCheck(Number),this.appendDummyInput().setAlign(Rt.inputs.Align.RIGHT).appendField("加密").appendField(new Rt.FieldDropdown([["WPA2_PSK","WPA2_PSK"],["OPEN","OPEN"],["WPA_PSK","WPA_PSK"],["WPA_WPA2_PSK","WPA_WPA2_PSK"]]),"mode"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("打开WiFi热点并配置")}},hO={init:function(){this.setColour(aO),this.appendDummyInput().appendField("关闭热点"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("关闭热点")}},mO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("套接字 初始化"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("套接字初始化")}},cO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("获取地址"),this.appendValueInput("addr").setAlign(Rt.inputs.Align.RIGHT).appendField("域名").setCheck(String),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接字根据域名解析地址IP信息")}},OO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("创建连接"),this.appendValueInput("address").appendField("地址"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接字创建目标IP地址连接")}},RO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("超时时间"),this.appendValueInput("time").setAlign(Rt.inputs.Align.RIGHT).appendField("").setCheck(Number),this.appendDummyInput().appendField("s"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("设置阻塞套接字超时时间")}},MO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendValueInput("content").appendField("发送数据"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip("套接发送数据")}},EO={init:function(){this.setColour(aO),this.appendValueInput("VAR").appendField("").setCheck("var"),this.appendDummyInput().appendField("接收数据"),this.appendValueInput("size").appendField("字节").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip("套接接收数据,返回接收到的数据对象")}},CO={init:function(){this.setColour(aO),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_CLOSE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_ESP32_NETWORK_SOCKET_CLOSE_TOOLTIP)}},AO=230,gO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital),"PIN"),this.setOutput(!0)}},SO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},DO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.analog),"PIN"),this.setOutput(!0)}},NO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},fO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.dac),"PIN"),this.setOutput(!0)}},LO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},FO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},vO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},PO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},VO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},yO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.touch),"PIN"),this.setOutput(!0)}},YO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},bO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},kO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},xO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},GO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},XO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},HO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},UO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},wO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},BO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},WO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},KO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},QO={init:function(){this.setColour(AO),this.appendDummyInput("").appendField(new Rt.FieldDropdown(Mt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},jO=40,qO={init:function(){this.setColour(jO),this.appendDummyInput("").appendField(new Rt.FieldDropdown([["A","17"],["B","16"]]),"KEY"),this.setOutput(!0),this.setTooltip()}},JO={init:function(){this.setColour(jO),this.appendDummyInput().appendField("初始化"),this.appendValueInput("key").appendField("按键"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip("初始化按键")}},zO={init:function(){this.setColour(jO),this.appendValueInput("key").appendField("按键"),this.appendDummyInput().appendField("被按下?"),this.setInputsInline(!0),this.setOutput(!0,[Boolean,Number]),this.setTooltip("获取按键值")}},ZO={init:function(){this.setColour(jO),this.appendDummyInput().appendField("DHT11"),this.appendValueInput("PIN",Number).appendField(Rt.Msg.MIXLY_PIN).setCheck(Number),this.appendDummyInput("").appendField("获取").appendField(new Rt.FieldDropdown([["温度-℃","0"],["湿度-%","1"],["温湿度","2"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip("dht11,获取温湿度")}},$O={init:function(){this.setColour(jO),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_CHAOSHENGBO),this.appendValueInput("PIN1",Number).appendField("Trig #").setCheck(Number),this.appendValueInput("PIN2",Number).appendField("Echo #").setCheck(Number),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_CHAOSHENGBO)}},tR={init:function(){this.setColour(jO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},eR={init:function(){this.setColour(jO),this.appendValueInput("I2CSUB").appendField(Rt.Msg.CONTROLS_FOR_INPUT_WITH+"I2C").setCheck("var"),this.appendValueInput("SUB").appendField(Rt.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Rt.Msg.MIXLY_SETUP+Rt.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(new Rt.FieldDropdown([["MPU9250","MPU9250"],["BMP280","BMP280"],["SHT20","SHT20"],["ADXL345","ADXL345"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setFieldValue("MPU9250","key");var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return Rt.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{MPU9250:"MPU9250",SHT20:"SHT20",BMP280:"BMP280",ADXL345:"ADXL345"}[e]}))}},iR={init:function(){this.setColour(jO),this.appendValueInput("SUB").appendField("BMP280").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_BMP_temperature()"],[Rt.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()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_temperature_TOOLTIP,"get_BMP_pressure()":Rt.Msg.MIXLY_MICROBIT_SENSOR_BMP_press_TOOLTIP}[e]}))}},nR={init:function(){this.setColour(jO),this.appendValueInput("SUB").appendField("SHT20").setCheck("var"),this.appendDummyInput("").appendField(new Rt.FieldDropdown([[Rt.Msg.MIXLY_GETTEMPERATUE,"get_SHT_temperature()"],[Rt.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()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,"get_SHT_relative_humidity()":Rt.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP}[e]}))}},sR={init:function(){this.setColour(jO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_GET+Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH).appendField(new Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_FIELD_STRENGTH;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},oR={init:function(){this.setColour(jO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+Rt.Msg.MIXLY_ESP32_SENOR_GYRO).appendField(new Rt.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=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_ESP32_SENOR_GYRO;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},pR={init:function(){this.setColour(jO),this.appendValueInput("SUB").appendField("MPU9250").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_GETTEMPERATUE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_GETTEMPERATUE)}},uR={init:function(){this.setColour(jO),this.appendValueInput("SUB").appendField("ADXL345").setCheck("var"),this.appendDummyInput().appendField(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION).appendField(new Rt.FieldDropdown([["x","x"],["y","y"],["z","z"],["(x,y,z)","values"]]),"key"),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i=Rt.Msg.MIXLY_MICROBIT_PY_STORAGE_GET,n=Rt.Msg.MIXLY_MICROBIT_Direction,s=Rt.Msg.MIXLY_MICROBIT_JS_ACCELERATION1;return i+{x:"x",y:"y",z:"z","(x,y,z)":Rt.Msg.MIXLY_MICROBIT_Shiliang_Direction}[e]+n+s}))}},aR=65,lR={init:function(){this.setColour(aR),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)}},_R={init:function(){this.setColour(aR),this.appendValueInput("CONTENT",String).appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_Huanhang_TOOLTIP+Rt.Msg.TEXT_PRINT_TOOLTIP)}},rR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.appendValueInput("CONTENT",Number).appendField(new Rt.FieldDropdown([[Rt.Msg.MATH_BIN,"bin"],[Rt.Msg.MATH_OCT,"oct"],[Rt.Msg.MATH_DEC,"int"],[Rt.Msg.MATH_HEX,"hex"]]),"STAT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setFieldValue("hex","STAT"),this.setTooltip(Rt.Msg.TEXT_PRINT_HEX_TOOLTIP)}},dR={init:function(){this.setColour(aR),this.appendValueInput("char_marker").setCheck(String).appendField(Rt.Msg.MIXLY_MICROBIT_JS_SERIAL_WHEN_CONTAIN_DATA),this.appendStatementInput("DO").appendField(Rt.Msg.MIXLY_DO)}},IR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_READSTR),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERIAL_READ_STR)}},TR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Boolean),this.setTooltip(Rt.Msg.MIXLY_SERIAL_AVAILABLE1)}},hR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("Serial").appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField(Rt.Msg.MIXLY_ESP32_READ_LINE),this.setOutput(!0,String),this.setTooltip(Rt.Msg.MIXLY_MICROBIT_JS_SERIAL_READ_LINE1)}},mR={init:function(){this.setColour(aR),this.appendDummyInput().appendField("Serial "+Rt.Msg.MIXLY_SERIAL_READSTR_UNTIL).appendField(new Rt.FieldDropdown([["new line","serial.delimiters(Delimiters.NewLine)"],[",","serial.delimiters(Delimiters.Comma)"],["$","serial.delimiters(Delimiters.Dollar)"],[":","serial.delimiters(Delimiters.Colon)"],[".","serial.delimiters(Delimiters.Fullstop)"],["#","serial.delimiters(Delimiters.Hash)"]]),"char_marker"),this.setInputsInline(!0),this.setOutput(!0,String)}},cR={init:function(){this.setColour(aR),this.appendValueInput("RX",Number).appendField(Rt.Msg.MIXLY_SETUP).appendField(new Rt.FieldDropdown([["uart1","1"],["uart2","2"],["uart3","3"]]),"mode").appendField("RX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("TX#").setCheck(Number).setAlign(Rt.inputs.Align.RIGHT),this.appendDummyInput().appendField(Rt.Msg.MIXLY_SERIAL_BEGIN).appendField(new Rt.FieldDropdown([["115200","115200"],["57600","57600"],["37400","38400"],["31250","31250"],["28800","28800"],["19200","19200"],["14400","14400"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["300","300"]]),"baudrate"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_SERIAL_softserial)}},OR={init:function(){this.setColour(aR),this.appendValueInput("VAR").appendField(Rt.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Rt.Msg.INOUT_input_TOOLTIP)}},RR={init:function(){this.setColour(aR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.BLOCKPY_PRINT_TOOLTIP)}},MR={init:function(){this.setColour(aR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Rt.Msg.TEXT_PRINT_TOOLTIP)}},ER={init:function(){this.setColour(aR),this.appendValueInput("VAR").appendField(Rt.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Rt.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Rt.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},CR={init:function(){this.setColour(aR),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Rt.icons.MutatorIcon(["system_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Rt.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("system_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n {\n"+e.statementToCode(this,"do")+"})\n"},oS=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||Mt.Profile.default.serial)+")\n"},pS=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"},uS=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"},aS=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},lS=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},_S=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},rS=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},dS=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},IS=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},TS=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},hS=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]}},mS=function(){return"while True:\n pass\n"},cS=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},OS=function(t,e){e.definitions_["import machine"]="import machine";return"machine.reset()\n"},RS=function(t,e){return e.definitions_["import gc"]="import gc",this.getFieldValue("gc")+"\n"},MS=function(t,e){return e.definitions_.import_os="import os","os.uname()"},ES=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"}},CS=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=i%3,s=parseInt(i/3),o=e.valueToCode(this,"period",e.ORDER_NONE);return"tim"+i+" =Timer(Timer.TIMER"+n+",Timer.CHANNEL"+s+",mode=Timer.MODE_"+this.getFieldValue("mode")+",period = "+o+", callback = "+(e.valueToCode(this,"callback",e.ORDER_NONE)||"None")+")\n"},AS=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]},gS=function(t,e){e.definitions_["from machine import Timer"]="from machine import Timer";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return"tim"+i+" = Timer(Timer.TIMER"+i%3+",Timer.CHANNEL"+parseInt(i/3)+", mode=Timer.MODE_PWM)\n"},SS=gS,DS=CS,NS=AS,fS=ES;const LS=function(t,e){return["["+this.getFieldValue("TEXT")+"]",e.ORDER_ATOMIC]},FS=function(t,e){return["("+this.getFieldValue("TEXT")+")",e.ORDER_ATOMIC]},vS=function(t,e){var i=this.getFieldValue("COLOR");return["("+("0x"+(i=i.substr(1)).substr(0,2))+","+("0x"+i.substr(2,2))+","+("0x"+i.substr(4,2))+")",e.ORDER_ATOMIC]},PS=function(t,e){var i=this.getFieldValue("COLOR");return[i=function(t){var e,i,n;e=(t=t.substr(1)).substr(0,2),i=t.substr(2,2),n=t.substr(4,2);var s=(64512&(t="0x"+(t=e+i+n)))>>10;return((248&t)>>3<<8)+((7&s)<<13)+((16252928&t)>>19<<3)+((56&s)>>3)}(i),e.ORDER_ATOMIC]};Object.assign(Rt.Variables,Ct),Object.assign(Rt.Procedures,Qn),Rt.Python=al,Rt.generator=al,Mt.Profile.default={},Object.assign(Mt.Profile,kI),Object.assign(Mt.Profile.default,kI.k210),Object.assign(Rt.Blocks,e,i,n,s,o,p,u,a,l,_,r,d,I,F,L,f,N,Y,b,k,x,G,X,H,U,w,B,W,K,Q,j,q,J,z,Z,$),Object.assign(Rt.Python.forBlock,T,h,m,c,O,R,M,E,C,A,g,S,D,y,V,P,v,tt,et,it,nt,st,ot,pt,ut,at,lt,_t,rt,dt,It,Tt,ht,mt,ct,Ot)})(); \ No newline at end of file diff --git a/boards/default/micropython_k210_mixgoai/styles/main.912415e2.css b/boards/default/micropython_k210_mixgoai/styles/main.04cb6fd2.css similarity index 100% rename from boards/default/micropython_k210_mixgoai/styles/main.912415e2.css rename to boards/default/micropython_k210_mixgoai/styles/main.04cb6fd2.css diff --git a/boards/default/micropython_nrf51822_microbit/index.xml b/boards/default/micropython_nrf51822_microbit/index.xml index 06f7e467..39240f07 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/main.bundle.js b/boards/default/micropython_nrf51822_microbit/main.bundle.js index 79a0e187..cd1f63ec 100644 --- a/boards/default/micropython_nrf51822_microbit/main.bundle.js +++ b/boards/default/micropython_nrf51822_microbit/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>it,controls_typeLists:()=>nt,variables_change:()=>tt,variables_get:()=>Z,variables_global:()=>et,variables_set:()=>$});var i={};t.r(i),t.d(i,{base_setup:()=>_t,controls_delay:()=>ut,controls_end_program:()=>at,controls_except:()=>Rt,controls_finally:()=>gt,controls_flow_statements:()=>dt,controls_for:()=>ht,controls_forEach:()=>lt,controls_for_range:()=>Mt,controls_if:()=>rt,controls_if_else:()=>Ot,controls_if_elseif:()=>ct,controls_if_if:()=>mt,controls_lambda:()=>At,controls_main:()=>ot,controls_pass:()=>Lt,controls_range:()=>pt,controls_repeat_ext:()=>Ct,controls_thread:()=>St,controls_try:()=>Et,controls_try_finally:()=>Tt,controls_whileUntil:()=>It,do_while:()=>Nt});var n={};t.r(n),t.d(n,{base_map:()=>jt,math_arithmetic:()=>vt,math_bit:()=>bt,math_constant:()=>Pt,math_constant_mp:()=>Ft,math_constrain:()=>wt,math_dec:()=>Xt,math_indexer_number:()=>Ht,math_map:()=>kt,math_max_min:()=>Ut,math_number:()=>ft,math_number_base_conversion:()=>Bt,math_random:()=>Gt,math_random_seed:()=>xt,math_round:()=>Wt,math_selfcalcu:()=>Yt,math_to_int:()=>yt,math_trig:()=>Vt,text_to_number:()=>Kt,text_to_number_skulpt:()=>Jt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>te,char_to_ascii:()=>ee,number_to_text:()=>ie,os_system:()=>Ne,text:()=>qt,text_capital:()=>le,text_center:()=>Ie,text_char:()=>Zt,text_char_at:()=>oe,text_char_at2:()=>se,text_char_at3:()=>Ce,text_compareTo:()=>ge,text_compare_to:()=>pe,text_create_with_container:()=>Oe,text_create_with_item:()=>Ee,text_encode:()=>Le,text_equals_starts_ends:()=>re,text_eval:()=>Se,text_find:()=>Te,text_format:()=>ce,text_format_noreturn:()=>Ae,text_join:()=>$t,text_join_seq:()=>de,text_length:()=>ne,text_random_char:()=>_e,text_replace:()=>he,text_split:()=>Me,text_strip:()=>me,text_substring:()=>ae,text_substring2:()=>ue,text_substring3:()=>Re,text_textarea:()=>zt});var o={};t.r(o),t.d(o,{list_many_input:()=>qe,list_tolist:()=>ni,list_tolist2:()=>li,list_trig:()=>Je,lists_2d_get_col_row_data:()=>ve,lists_2d_get_data_with_col_row:()=>Fe,lists_append_extend:()=>Ue,lists_change_to:()=>Qe,lists_change_to_general:()=>Ze,lists_clear:()=>He,lists_create_with:()=>Ye,lists_create_with2:()=>si,lists_create_with_container:()=>Ve,lists_create_with_item:()=>Xe,lists_create_with_noreturn:()=>ze,lists_create_with_text:()=>be,lists_create_with_text2:()=>oi,lists_del_general:()=>$e,lists_find:()=>Ke,lists_getIndex3:()=>_i,lists_getSublist3:()=>ui,lists_get_index:()=>fe,lists_get_random_item:()=>Be,lists_get_random_sublist:()=>Ge,lists_get_sublist:()=>Pe,lists_insert_value:()=>we,lists_insert_value2:()=>ri,lists_pop:()=>We,lists_remove_at:()=>xe,lists_remove_at2:()=>pi,lists_reverse:()=>ke,lists_setIndex3:()=>ai,lists_set_index:()=>ye,lists_sort:()=>je,lists_zip:()=>ti,lists_zip_container:()=>ei,lists_zip_item:()=>ii});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Ni,dicts_add_or_change:()=>Oi,dicts_clear:()=>gi,dicts_create_with:()=>Ti,dicts_create_with_container:()=>di,dicts_create_with_item:()=>hi,dicts_create_with_noreturn:()=>Pi,dicts_deldict:()=>Si,dicts_delete:()=>Ei,dicts_get:()=>mi,dicts_get_default:()=>ci,dicts_items:()=>Ci,dicts_keys:()=>Mi,dicts_length:()=>Li,dicts_pop:()=>Di,dicts_setdefault:()=>fi,dicts_to_json:()=>vi,dicts_todict:()=>Fi,dicts_update:()=>Ri,dicts_values:()=>Ai,json_to_dicts:()=>Yi});var u={};t.r(u),t.d(u,{logic_boolean:()=>Bi,logic_compare:()=>Vi,logic_compare_continous:()=>Xi,logic_is:()=>Hi,logic_is_in:()=>ki,logic_negate:()=>Ui,logic_null:()=>Gi,logic_operation:()=>yi,logic_tobool:()=>xi,logic_true_or_false:()=>wi});var a={};t.r(a),t.d(a,{sdcard_mount:()=>dn,sdcard_use_spi_init:()=>Tn,storage_can_write_ornot:()=>$i,storage_change_dir:()=>ln,storage_close_file:()=>en,storage_delete_file:()=>sn,storage_file_seek:()=>un,storage_file_tell:()=>_n,storage_file_write:()=>Qi,storage_fileopen:()=>Ki,storage_fileopen_new:()=>Ji,storage_fileopen_new_encoding:()=>ji,storage_get_a_line:()=>Zi,storage_get_contents:()=>zi,storage_get_contents_without_para:()=>qi,storage_get_current_dir:()=>an,storage_get_file_size:()=>on,storage_get_filename:()=>tn,storage_is_file:()=>In,storage_list_all_files:()=>nn,storage_make_dir:()=>rn,storage_open_file_with_os:()=>Wi,storage_rename:()=>pn});var r={};t.r(r),t.d(r,{procedures_callnoreturn:()=>Rn,procedures_callreturn:()=>gn,procedures_defnoreturn:()=>mn,procedures_defreturn:()=>cn,procedures_ifreturn:()=>Cn,procedures_mutatorarg:()=>En,procedures_mutatorcontainer:()=>On,procedures_return:()=>An});var p={};t.r(p),t.d(p,{tuple_change_to:()=>Xn,tuple_create_with:()=>Sn,tuple_create_with_container:()=>Nn,tuple_create_with_item:()=>Dn,tuple_create_with_noreturn:()=>Gn,tuple_create_with_text2:()=>fn,tuple_create_with_text_return:()=>Pn,tuple_del:()=>Yn,tuple_find:()=>yn,tuple_getIndex:()=>Fn,tuple_getSublist:()=>Bn,tuple_get_random_item:()=>kn,tuple_get_sublist:()=>wn,tuple_join:()=>bn,tuple_length:()=>vn,tuple_max:()=>Vn,tuple_totuple:()=>Hn,tuple_trig:()=>Un});var l={};t.r(l),t.d(l,{set_add_discard:()=>$n,set_clear:()=>qn,set_create_with:()=>Wn,set_create_with_container:()=>Kn,set_create_with_item:()=>Jn,set_create_with_text_return:()=>is,set_length:()=>jn,set_operate:()=>zn,set_operate_update:()=>Zn,set_pop:()=>Qn,set_sub:()=>ts,set_toset:()=>ns,set_update:()=>es});var I={};t.r(I),t.d(I,{html_content:()=>as,html_content_more:()=>rs,html_document:()=>os,html_form:()=>ls,html_head_body:()=>us,html_style:()=>ps,html_style_color:()=>Ts,html_style_content:()=>Is,html_text:()=>ds,html_title:()=>_s});var T={};t.r(T),t.d(T,{attribute_access:()=>Ds,function_call:()=>Ls,function_call_container:()=>Ss,function_call_item:()=>Ns,raw_block:()=>ms,raw_empty:()=>Os,raw_expression:()=>cs,raw_table:()=>Ms,text_comment:()=>Es,text_print_multiple:()=>gs,text_print_multiple_container:()=>Cs,text_print_multiple_item:()=>As,type_check:()=>Rs});var d={};t.r(d),t.d(d,{controls_type:()=>Ys,controls_typeLists:()=>bs,variables_change:()=>Fs,variables_get:()=>fs,variables_global:()=>vs,variables_set:()=>Ps});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>xs,base_setup:()=>Xs,controls_delay:()=>Hs,controls_flow_statements:()=>ks,controls_for:()=>Bs,controls_forEach:()=>Qs,controls_for_range:()=>Gs,controls_if:()=>ys,controls_interrupts:()=>Js,controls_lambda:()=>zs,controls_main:()=>Vs,controls_millis:()=>Ws,controls_nointerrupts:()=>js,controls_pass:()=>$s,controls_range:()=>qs,controls_repeat:()=>no,controls_repeat_ext:()=>io,controls_thread:()=>to,controls_try_finally:()=>Us,controls_whileUntil:()=>ws,do_while:()=>eo,reset:()=>Ks,time_sleep:()=>Zs});var M={};t.r(M),t.d(M,{base_map:()=>Lo,math_arithmetic:()=>ao,math_bit:()=>uo,math_constant:()=>oo,math_constant_mp:()=>_o,math_constrain:()=>co,math_dec:()=>Io,math_indexer_number:()=>Ro,math_map:()=>mo,math_max_min:()=>ho,math_number:()=>so,math_number_base_conversion:()=>Oo,math_random:()=>Mo,math_random_seed:()=>Eo,math_round:()=>go,math_selfcalcu:()=>ro,math_single:()=>po,math_to_int:()=>To,math_trig:()=>lo,text_to_number:()=>Co,text_to_number_skulpt:()=>Ao});var m={};t.r(m),t.d(m,{ascii_to_char:()=>Po,char_to_ascii:()=>Fo,number_to_text:()=>vo,os_system:()=>e_,text:()=>So,text_capital:()=>wo,text_center:()=>ko,text_char:()=>Do,text_char_at:()=>Vo,text_char_at2:()=>bo,text_char_at3:()=>Zo,text_compareTo:()=>zo,text_compare_to:()=>Uo,text_encode:()=>$o,text_equals_starts_ends:()=>yo,text_eval:()=>t_,text_find:()=>Ho,text_format:()=>jo,text_format_noreturn:()=>Qo,text_join:()=>fo,text_join_seq:()=>xo,text_length:()=>Yo,text_random_char:()=>Xo,text_replace:()=>Wo,text_split:()=>Ko,text_strip:()=>Jo,text_substring:()=>Go,text_substring2:()=>Bo,text_substring3:()=>qo,text_textarea:()=>No});var c={};t.r(c),t.d(c,{list_many_input:()=>R_,list_tolist:()=>Y_,list_tolist2:()=>b_,list_trig:()=>c_,lists_2d_get_col_row_data:()=>s_,lists_2d_get_data_with_col_row:()=>n_,lists_append_extend:()=>r_,lists_change_to:()=>E_,lists_change_to_general:()=>C_,lists_clear:()=>d_,lists_create_with:()=>o_,lists_create_with2:()=>L_,lists_create_with_noreturn:()=>g_,lists_create_with_text:()=>__,lists_create_with_text2:()=>S_,lists_del_general:()=>A_,lists_find:()=>h_,lists_getIndex3:()=>N_,lists_getSublist3:()=>D_,lists_get_index:()=>u_,lists_get_random_item:()=>p_,lists_get_random_sublist:()=>l_,lists_get_sublist:()=>i_,lists_insert_value:()=>I_,lists_insert_value2:()=>P_,lists_pop:()=>m_,lists_remove_at:()=>M_,lists_remove_at2:()=>F_,lists_reverse:()=>T_,lists_setIndex3:()=>f_,lists_set_index:()=>a_,lists_sort:()=>O_,lists_zip:()=>v_});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>J_,dicts_add_or_change:()=>B_,dicts_clear:()=>k_,dicts_create_with:()=>V_,dicts_create_with_noreturn:()=>q_,dicts_deldict:()=>K_,dicts_delete:()=>G_,dicts_get:()=>y_,dicts_get_default:()=>U_,dicts_items:()=>H_,dicts_keys:()=>X_,dicts_length:()=>W_,dicts_pop:()=>j_,dicts_setdefault:()=>Q_,dicts_to_json:()=>Z_,dicts_todict:()=>z_,dicts_update:()=>w_,dicts_values:()=>x_,json_to_dicts:()=>$_});var E={};t.r(E),t.d(E,{logic_boolean:()=>su,logic_compare:()=>tu,logic_compare_continous:()=>eu,logic_is:()=>au,logic_is_in:()=>uu,logic_negate:()=>nu,logic_null:()=>ou,logic_operation:()=>iu,logic_tobool:()=>ru,logic_true_or_false:()=>_u});var R={};t.r(R),t.d(R,{sdcard_mount:()=>vu,sdcard_use_spi_init:()=>Fu,storage_can_write_ornot:()=>cu,storage_change_dir:()=>Su,storage_close_file:()=>Eu,storage_delete_file:()=>gu,storage_file_seek:()=>Lu,storage_file_tell:()=>Au,storage_file_write:()=>du,storage_fileopen:()=>lu,storage_fileopen_new:()=>Iu,storage_fileopen_new_encoding:()=>Tu,storage_get_a_line:()=>mu,storage_get_contents:()=>Mu,storage_get_contents_without_para:()=>hu,storage_get_current_dir:()=>Nu,storage_get_file_size:()=>Cu,storage_get_filename:()=>Ou,storage_is_file:()=>Pu,storage_list_all_files:()=>Ru,storage_make_dir:()=>Du,storage_open_file_with_os:()=>pu,storage_rename:()=>fu});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Xu,procedures_callreturn:()=>Vu,procedures_defnoreturn:()=>bu,procedures_defreturn:()=>Yu,procedures_ifreturn:()=>yu,procedures_return:()=>Uu});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Ju,tuple_create_with:()=>Bu,tuple_create_with_noreturn:()=>zu,tuple_create_with_text2:()=>Gu,tuple_create_with_text_return:()=>wu,tuple_del:()=>xu,tuple_find:()=>ju,tuple_getIndex:()=>ku,tuple_getSublist:()=>qu,tuple_get_random_item:()=>$u,tuple_get_sublist:()=>Zu,tuple_join:()=>Wu,tuple_length:()=>Hu,tuple_max:()=>Ku,tuple_totuple:()=>ta,tuple_trig:()=>Qu});var A={};t.r(A),t.d(A,{set_add_discard:()=>ua,set_clear:()=>sa,set_create_with:()=>ea,set_create_with_text_return:()=>pa,set_length:()=>ia,set_operate:()=>oa,set_operate_update:()=>_a,set_pop:()=>na,set_sub:()=>aa,set_toset:()=>la,set_update:()=>ra});var L={};t.r(L),t.d(L,{html_content:()=>ha,html_content_more:()=>Ma,html_document:()=>Ia,html_form:()=>ca,html_head_body:()=>da,html_style:()=>ma,html_style_content:()=>Oa,html_text:()=>Ea,html_title:()=>Ta});var S={};t.r(S),t.d(S,{attribute_access:()=>Na,function_call:()=>Sa,raw_block:()=>Ra,raw_empty:()=>Ca,raw_expression:()=>ga,raw_table:()=>Aa,type_check:()=>La});var N={};t.r(N),t.d(N,{MP3_CONTROL:()=>er,MP3_EQ_MODE:()=>or,MP3_INIT:()=>$a,MP3_LOOP_MODE:()=>nr,MP3_PLAY_FOLDER:()=>ar,MP3_PLAY_NUM:()=>ur,MP3_VOL:()=>_r,bit_motor_control:()=>ja,display_rgb:()=>qa,display_rgb2:()=>za,display_rgb_init:()=>Qa,display_rgb_show:()=>Za,microbit_music_get_tempo:()=>Ga,microbit_music_pitch:()=>Va,microbit_music_pitch_delay:()=>ba,microbit_music_play_built_in:()=>va,microbit_music_play_built_in_easy:()=>Ya,microbit_music_play_list_of_notes:()=>Xa,microbit_music_play_list_of_notes_easy:()=>ya,microbit_music_reset:()=>Ua,microbit_music_stop:()=>Ba,servo_move:()=>Ja,speech_pronounce_easy:()=>Wa,speech_say:()=>ka,speech_say_easy:()=>Ha,speech_sing_easy:()=>xa,speech_translate:()=>Ka,tone_set_tempo:()=>wa});var D={};t.r(D),t.d(D,{i2c_init:()=>Or,i2c_read:()=>Er,i2c_write:()=>Rr,microbit_radio_config:()=>Tr,microbit_radio_off:()=>Ir,microbit_radio_on:()=>lr,microbit_radio_receive:()=>mr,microbit_radio_reset:()=>dr,microbit_radio_send_string:()=>hr,radio_ons:()=>pr,radio_receive_string:()=>cr,radio_send_string:()=>Mr,spi_init:()=>gr,spi_write:()=>Cr});var f={};t.r(f),t.d(f,{display_fill:()=>zr,display_image_size:()=>qr,group_lcd_init:()=>Kr,group_lcd_power:()=>jr,group_lcd_print:()=>Wr,group_lcd_print2:()=>Jr,image_arithmetic:()=>xr,image_shift:()=>Hr,lp2i_u8g_draw_4strings:()=>Qr,microbit_display_clear:()=>Lr,microbit_display_is_on:()=>Ur,microbit_display_off:()=>yr,microbit_display_on:()=>Xr,microbit_display_scroll:()=>Vr,microbit_display_scroll_string_animation:()=>br,microbit_display_show_animation:()=>Yr,microbit_display_show_default_image:()=>vr,microbit_display_show_image:()=>Fr,microbit_image_builtins:()=>Br,microbit_image_copy:()=>Gr,microbit_image_create:()=>kr,microbit_image_invert:()=>wr,monitor_bright_point:()=>Nr,monitor_get_pixel:()=>Sr,monitor_scroll_string:()=>fr,monitor_scroll_string_with_delay:()=>Pr,monitor_show_image_or_string:()=>Dr});var P={};t.r(P),t.d(P,{factory_block:()=>ap,factory_block_return:()=>rp,factory_block_return_with_textarea:()=>lp,factory_block_with_textarea:()=>pp,factory_callMethod_noreturn:()=>_p,factory_callMethod_return:()=>up,factory_create_with_container:()=>ip,factory_create_with_item:()=>np,factory_declare:()=>op,factory_from_import:()=>$r,factory_function_noreturn:()=>ep,factory_function_return:()=>sp,factory_import:()=>tp});var F={};t.r(F),t.d(F,{inout_analog_read:()=>mp,inout_analog_write:()=>hp,inout_analog_write_set:()=>Mp,inout_digital_read:()=>dp,inout_digital_write:()=>Op,inout_highlow:()=>Tp,sensor_pin_pressed:()=>cp});var v={};t.r(v),t.d(v,{pins_analog:()=>gp,pins_axis:()=>fp,pins_brightness:()=>Pp,pins_builtinimg:()=>Np,pins_button:()=>Cp,pins_digital:()=>Rp,pins_imglist:()=>Dp,pins_interrupt:()=>Lp,pins_pwm:()=>Ap,pins_radio_datarate:()=>Yp,pins_radio_power:()=>vp,pins_serial:()=>Sp,pins_tone_notes:()=>Fp});var Y={};t.r(Y),t.d(Y,{DS1307_init:()=>nl,NTC_TEMP:()=>Tl,RTC_get_time:()=>ol,RTC_set_date:()=>ul,RTC_set_time:()=>_l,TCS34725_Get_RGB:()=>Il,controls_GestureLists:()=>wp,controls_attachGestureInterrupt:()=>Gp,controls_attachGestureInterrupt2:()=>kp,sensor_button_get_presses:()=>yp,sensor_button_is_pressed:()=>Vp,sensor_button_was_pressed:()=>Xp,sensor_calibrate_compass:()=>jp,sensor_compass_heading:()=>qp,sensor_compass_reset:()=>al,sensor_current_gesture:()=>Kp,sensor_current_gesture1:()=>Up,sensor_current_gesture2:()=>Bp,sensor_distance_hrsc04:()=>el,sensor_distance_hrsc04_:()=>il,sensor_field_strength:()=>Zp,sensor_get_acceleration:()=>Hp,sensor_get_gestures:()=>Wp,sensor_hrsc04_init:()=>pl,sensor_is_compass_calibrated:()=>Qp,sensor_light:()=>rl,sensor_light_level:()=>Jp,sensor_magnetic:()=>tl,sensor_rotation:()=>$p,sensor_set_acceleration:()=>xp,sensor_temperature:()=>zp});var b={};t.r(b),t.d(b,{IO_input:()=>Ll,IO_print:()=>Sl,IO_print_inline:()=>Nl,serial_any:()=>El,serial_begin:()=>Al,serial_print:()=>hl,serial_print_hex:()=>ml,serial_println:()=>Ml,serial_readline:()=>Rl,serial_readstr:()=>Ol,serial_readstr_until:()=>gl,serial_receive_data_event:()=>cl,serial_softserial:()=>Cl});var V={};t.r(V),t.d(V,{Panic_with_status_code:()=>Fl,base_delay:()=>fl,controls_millis:()=>Pl,controls_uname:()=>Yl,reset:()=>vl});var X={};t.r(X),t.d(X,{MP3_CONTROL:()=>eI,MP3_EQ_MODE:()=>nI,MP3_INIT:()=>tI,MP3_LOOP_MODE:()=>iI,MP3_PLAY_FOLDER:()=>_I,MP3_PLAY_NUM:()=>oI,MP3_VOL:()=>sI,bit_motor_control:()=>Ql,display_rgb:()=>zl,display_rgb2:()=>Zl,display_rgb_init:()=>ql,display_rgb_show:()=>$l,microbit_music_get_tempo:()=>wl,microbit_music_pitch:()=>yl,microbit_music_pitch_delay:()=>Xl,microbit_music_play_built_in:()=>bl,microbit_music_play_built_in_easy:()=>Vl,microbit_music_play_list_of_notes:()=>Ul,microbit_music_reset:()=>Bl,microbit_music_stop:()=>Gl,servo_move:()=>jl,speech_pronounce_easy:()=>Jl,speech_say:()=>xl,speech_say_easy:()=>Wl,speech_sing_easy:()=>Kl,speech_translate:()=>Hl,tone_set_tempo:()=>kl});var y={};t.r(y),t.d(y,{i2c_init:()=>hI,i2c_read:()=>MI,i2c_write:()=>mI,microbit_radio_config:()=>pI,microbit_radio_off:()=>rI,microbit_radio_on:()=>aI,microbit_radio_receive:()=>dI,microbit_radio_reset:()=>lI,radio_ons:()=>uI,radio_receive_string:()=>TI,radio_send_string:()=>II,spi_init:()=>cI,spi_write:()=>OI});var U={};t.r(U),t.d(U,{display_fill:()=>KI,display_image_size:()=>WI,group_lcd_init:()=>wI,group_lcd_power:()=>HI,group_lcd_print:()=>GI,group_lcd_print2:()=>kI,image_arithmetic:()=>UI,image_shift:()=>yI,lp2i_u8g_draw_4strings:()=>xI,microbit_display_clear:()=>EI,microbit_display_is_on:()=>vI,microbit_display_on:()=>FI,microbit_display_scroll:()=>PI,microbit_display_scroll_string_animation:()=>BI,microbit_display_set_pixel:()=>gI,microbit_display_show_animation:()=>fI,microbit_display_show_default_image:()=>DI,microbit_display_show_image:()=>NI,microbit_image_builtins:()=>YI,microbit_image_copy:()=>bI,microbit_image_create:()=>XI,microbit_image_invert:()=>VI,monitor_bright_point:()=>CI,monitor_get_pixel:()=>RI,monitor_scroll_string:()=>LI,monitor_scroll_string_with_delay:()=>SI,monitor_show_image_or_string:()=>AI});var B={};t.r(B),t.d(B,{factory_block:()=>tT,factory_block_return:()=>eT,factory_block_return_with_textarea:()=>nT,factory_block_with_textarea:()=>iT,factory_callMethod_noreturn:()=>ZI,factory_callMethod_return:()=>$I,factory_declare:()=>zI,factory_from_import:()=>JI,factory_function_noreturn:()=>QI,factory_function_return:()=>qI,factory_import:()=>jI});var G={};t.r(G),t.d(G,{inout_analog_read:()=>rT,inout_analog_write:()=>uT,inout_analog_write_set:()=>aT,inout_digital_read:()=>_T,inout_digital_write:()=>oT,inout_highlow:()=>sT,sensor_pin_pressed:()=>pT});var w={};t.r(w),t.d(w,{pins_analog:()=>IT,pins_axis:()=>OT,pins_brightness:()=>ET,pins_builtinimg:()=>mT,pins_button:()=>TT,pins_digital:()=>lT,pins_imglist:()=>cT,pins_interrupt:()=>hT,pins_pwm:()=>dT,pins_radio_datarate:()=>CT,pins_radio_power:()=>gT,pins_serial:()=>MT,pins_tone_notes:()=>RT});var k={};t.r(k),t.d(k,{DS1307_init:()=>KT,NTC_TEMP:()=>td,RTC_get_time:()=>JT,RTC_set_date:()=>QT,RTC_set_time:()=>jT,TCS34725_Get_RGB:()=>$T,controls_GestureLists:()=>NT,controls_attachGestureInterrupt:()=>DT,controls_attachGestureInterrupt2:()=>FT,sensor_button_get_presses:()=>ST,sensor_button_is_pressed:()=>AT,sensor_button_was_pressed:()=>LT,sensor_calibrate_compass:()=>yT,sensor_compass_heading:()=>BT,sensor_compass_reset:()=>qT,sensor_current_gesture:()=>YT,sensor_current_gesture1:()=>fT,sensor_current_gesture2:()=>PT,sensor_distance_hrsc04:()=>xT,sensor_distance_hrsc04_:()=>WT,sensor_field_strength:()=>wT,sensor_get_acceleration:()=>bT,sensor_get_gestures:()=>vT,sensor_hrsc04_init:()=>ZT,sensor_is_compass_calibrated:()=>UT,sensor_light:()=>zT,sensor_light_level:()=>XT,sensor_magnetic:()=>HT,sensor_rotation:()=>kT,sensor_set_acceleration:()=>VT,sensor_temperature:()=>GT});var H={};t.r(H),t.d(H,{IO_input:()=>ld,IO_print:()=>Id,IO_print_inline:()=>Td,serial_any:()=>od,serial_begin:()=>pd,serial_print:()=>ed,serial_print_hex:()=>nd,serial_println:()=>id,serial_readline:()=>ud,serial_readstr:()=>_d,serial_readstr_until:()=>ad,serial_receive_data_event:()=>sd,serial_softserial:()=>rd});var x={};t.r(x),t.d(x,{Panic_with_status_code:()=>Sd,base_delay:()=>Ld,controls_end_program:()=>Dd,controls_millis:()=>Nd,controls_uname:()=>Pd,reset:()=>fd,system_device_name:()=>Cd,system_device_serial_number:()=>Ad,system_event_bus_source:()=>Rd,system_event_bus_value:()=>gd,system_on_event:()=>cd,system_raise_event:()=>md,system_reset:()=>hd,system_run_in_background:()=>dd,system_timestamp:()=>Od,system_value:()=>Ed,system_wait:()=>Md});const W=Blockly,K=Mixly,J={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},j=J; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>it,controls_typeLists:()=>nt,variables_change:()=>tt,variables_get:()=>Z,variables_global:()=>et,variables_set:()=>$});var i={};t.r(i),t.d(i,{base_setup:()=>_t,controls_delay:()=>ut,controls_end_program:()=>at,controls_except:()=>Rt,controls_finally:()=>gt,controls_flow_statements:()=>dt,controls_for:()=>ht,controls_forEach:()=>lt,controls_for_range:()=>Mt,controls_if:()=>rt,controls_if_else:()=>Ot,controls_if_elseif:()=>ct,controls_if_if:()=>mt,controls_lambda:()=>At,controls_main:()=>ot,controls_pass:()=>Lt,controls_range:()=>pt,controls_repeat_ext:()=>Ct,controls_thread:()=>St,controls_try:()=>Et,controls_try_finally:()=>Tt,controls_whileUntil:()=>It,do_while:()=>Nt,garbage_collection:()=>Dt,get_mem_alloc:()=>ft,get_mem_free:()=>Pt});var n={};t.r(n),t.d(n,{base_map:()=>zt,math_arithmetic:()=>Vt,math_bit:()=>yt,math_constant:()=>Yt,math_constant_mp:()=>bt,math_constrain:()=>xt,math_dec:()=>Ut,math_indexer_number:()=>Kt,math_map:()=>Wt,math_max_min:()=>wt,math_number:()=>vt,math_number_base_conversion:()=>kt,math_random:()=>Ht,math_random_seed:()=>Jt,math_round:()=>jt,math_selfcalcu:()=>Xt,math_to_int:()=>Gt,math_trig:()=>Bt,text_to_number:()=>Qt,text_to_number_skulpt:()=>qt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ne,char_to_ascii:()=>se,number_to_text:()=>oe,os_system:()=>Pe,text:()=>$t,text_capital:()=>de,text_center:()=>he,text_char:()=>ee,text_char_at:()=>ae,text_char_at2:()=>ue,text_char_at3:()=>Se,text_compareTo:()=>Le,text_compare_to:()=>Te,text_create_with_container:()=>ge,text_create_with_item:()=>Ce,text_encode:()=>De,text_equals_starts_ends:()=>Ie,text_eval:()=>fe,text_find:()=>Me,text_format:()=>Re,text_format_noreturn:()=>Ne,text_join:()=>ie,text_join_seq:()=>me,text_length:()=>_e,text_random_char:()=>re,text_replace:()=>ce,text_split:()=>Oe,text_strip:()=>Ee,text_substring:()=>le,text_substring2:()=>pe,text_substring3:()=>Ae,text_textarea:()=>te});var o={};t.r(o),t.d(o,{list_many_input:()=>$e,list_tolist:()=>_i,list_tolist2:()=>di,list_trig:()=>qe,lists_2d_get_col_row_data:()=>Ve,lists_2d_get_data_with_col_row:()=>be,lists_append_extend:()=>we,lists_change_to:()=>Ze,lists_change_to_general:()=>ei,lists_clear:()=>Ke,lists_create_with:()=>Xe,lists_create_with2:()=>ui,lists_create_with_container:()=>Be,lists_create_with_item:()=>Ue,lists_create_with_noreturn:()=>ti,lists_create_with_text:()=>ye,lists_create_with_text2:()=>ai,lists_del_general:()=>ii,lists_find:()=>Qe,lists_getIndex3:()=>ri,lists_getSublist3:()=>pi,lists_get_index:()=>ve,lists_get_random_item:()=>ke,lists_get_random_sublist:()=>He,lists_get_sublist:()=>Ye,lists_insert_value:()=>xe,lists_insert_value2:()=>Ii,lists_pop:()=>je,lists_remove_at:()=>Je,lists_remove_at2:()=>Ti,lists_reverse:()=>We,lists_setIndex3:()=>li,lists_set_index:()=>Ge,lists_sort:()=>ze,lists_zip:()=>ni,lists_zip_container:()=>si,lists_zip_item:()=>oi});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Pi,dicts_add_or_change:()=>gi,dicts_clear:()=>Li,dicts_create_with:()=>Mi,dicts_create_with_container:()=>mi,dicts_create_with_item:()=>ci,dicts_create_with_noreturn:()=>Yi,dicts_deldict:()=>fi,dicts_delete:()=>Ci,dicts_get:()=>Ei,dicts_get_default:()=>Ri,dicts_items:()=>Si,dicts_keys:()=>Oi,dicts_length:()=>Di,dicts_pop:()=>Fi,dicts_setdefault:()=>vi,dicts_to_json:()=>Vi,dicts_todict:()=>bi,dicts_update:()=>Ai,dicts_values:()=>Ni,json_to_dicts:()=>Xi});var u={};t.r(u),t.d(u,{logic_boolean:()=>ki,logic_compare:()=>Bi,logic_compare_continous:()=>Ui,logic_is:()=>Ki,logic_is_in:()=>Wi,logic_negate:()=>wi,logic_null:()=>Hi,logic_operation:()=>Gi,logic_tobool:()=>Ji,logic_true_or_false:()=>xi});var a={};t.r(a),t.d(a,{sdcard_mount:()=>mn,sdcard_use_spi_init:()=>Mn,storage_can_write_ornot:()=>nn,storage_change_dir:()=>dn,storage_close_file:()=>on,storage_delete_file:()=>un,storage_file_seek:()=>pn,storage_file_tell:()=>rn,storage_file_write:()=>Zi,storage_fileopen:()=>Qi,storage_fileopen_new:()=>qi,storage_fileopen_new_encoding:()=>zi,storage_get_a_line:()=>en,storage_get_contents:()=>tn,storage_get_contents_without_para:()=>$i,storage_get_current_dir:()=>ln,storage_get_file_size:()=>an,storage_get_filename:()=>sn,storage_is_file:()=>hn,storage_list_all_files:()=>_n,storage_make_dir:()=>In,storage_open_file_with_os:()=>ji,storage_rename:()=>Tn});var r={};t.r(r),t.d(r,{procedures_callnoreturn:()=>An,procedures_callreturn:()=>Ln,procedures_defnoreturn:()=>En,procedures_defreturn:()=>Rn,procedures_ifreturn:()=>Sn,procedures_mutatorarg:()=>Cn,procedures_mutatorcontainer:()=>gn,procedures_return:()=>Nn});var p={};t.r(p),t.d(p,{tuple_change_to:()=>Un,tuple_create_with:()=>fn,tuple_create_with_container:()=>Pn,tuple_create_with_item:()=>Fn,tuple_create_with_noreturn:()=>Hn,tuple_create_with_text2:()=>vn,tuple_create_with_text_return:()=>Yn,tuple_del:()=>Xn,tuple_find:()=>Gn,tuple_getIndex:()=>bn,tuple_getSublist:()=>kn,tuple_get_random_item:()=>Wn,tuple_get_sublist:()=>xn,tuple_join:()=>yn,tuple_length:()=>Vn,tuple_max:()=>Bn,tuple_totuple:()=>Kn,tuple_trig:()=>wn});var l={};t.r(l),t.d(l,{set_add_discard:()=>is,set_clear:()=>$n,set_create_with:()=>jn,set_create_with_container:()=>Qn,set_create_with_item:()=>qn,set_create_with_text_return:()=>os,set_length:()=>zn,set_operate:()=>ts,set_operate_update:()=>es,set_pop:()=>Zn,set_sub:()=>ns,set_toset:()=>_s,set_update:()=>ss});var I={};t.r(I),t.d(I,{html_content:()=>ls,html_content_more:()=>Is,html_document:()=>as,html_form:()=>ds,html_head_body:()=>ps,html_style:()=>Ts,html_style_color:()=>Ms,html_style_content:()=>hs,html_text:()=>ms,html_title:()=>rs});var T={};t.r(T),t.d(T,{attribute_access:()=>Fs,function_call:()=>Ds,function_call_container:()=>fs,function_call_item:()=>Ps,raw_block:()=>Es,raw_empty:()=>gs,raw_expression:()=>Rs,raw_table:()=>Os,text_comment:()=>Cs,text_print_multiple:()=>Ls,text_print_multiple_container:()=>Ss,text_print_multiple_item:()=>Ns,type_check:()=>As});var d={};t.r(d),t.d(d,{controls_type:()=>Xs,controls_typeLists:()=>ys,variables_change:()=>bs,variables_get:()=>vs,variables_global:()=>Vs,variables_set:()=>Ys});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Js,base_setup:()=>Us,controls_delay:()=>Ks,controls_flow_statements:()=>Ws,controls_for:()=>ks,controls_forEach:()=>Zs,controls_for_range:()=>Hs,controls_if:()=>Gs,controls_interrupts:()=>qs,controls_lambda:()=>to,controls_main:()=>Bs,controls_millis:()=>js,controls_nointerrupts:()=>zs,controls_pass:()=>io,controls_range:()=>$s,controls_repeat:()=>ro,controls_repeat_ext:()=>oo,controls_thread:()=>no,controls_try_finally:()=>ws,controls_whileUntil:()=>xs,do_while:()=>so,garbage_collection:()=>_o,get_mem_alloc:()=>uo,get_mem_free:()=>ao,reset:()=>Qs,time_sleep:()=>eo});var M={};t.r(M),t.d(M,{base_map:()=>Fo,math_arithmetic:()=>ho,math_bit:()=>To,math_constant:()=>lo,math_constant_mp:()=>Io,math_constrain:()=>Ao,math_dec:()=>Oo,math_indexer_number:()=>No,math_map:()=>Co,math_max_min:()=>Ro,math_number:()=>po,math_number_base_conversion:()=>Lo,math_random:()=>go,math_random_seed:()=>So,math_round:()=>Do,math_selfcalcu:()=>Mo,math_single:()=>mo,math_to_int:()=>Eo,math_trig:()=>co,text_to_number:()=>fo,text_to_number_skulpt:()=>Po});var m={};t.r(m),t.d(m,{ascii_to_char:()=>Xo,char_to_ascii:()=>yo,number_to_text:()=>Bo,os_system:()=>u_,text:()=>vo,text_capital:()=>Jo,text_center:()=>jo,text_char:()=>bo,text_char_at:()=>wo,text_char_at2:()=>Go,text_char_at3:()=>s_,text_compareTo:()=>n_,text_compare_to:()=>xo,text_encode:()=>o_,text_equals_starts_ends:()=>Ho,text_eval:()=>__,text_find:()=>Qo,text_format:()=>t_,text_format_noreturn:()=>e_,text_join:()=>Vo,text_join_seq:()=>qo,text_length:()=>Uo,text_random_char:()=>ko,text_replace:()=>zo,text_split:()=>Zo,text_strip:()=>$o,text_substring:()=>Ko,text_substring2:()=>Wo,text_substring3:()=>i_,text_textarea:()=>Yo});var c={};t.r(c),t.d(c,{list_many_input:()=>N_,list_tolist:()=>U_,list_tolist2:()=>G_,list_trig:()=>A_,lists_2d_get_col_row_data:()=>p_,lists_2d_get_data_with_col_row:()=>r_,lists_append_extend:()=>h_,lists_change_to:()=>S_,lists_change_to_general:()=>f_,lists_clear:()=>E_,lists_create_with:()=>l_,lists_create_with2:()=>F_,lists_create_with_noreturn:()=>D_,lists_create_with_text:()=>I_,lists_create_with_text2:()=>v_,lists_del_general:()=>P_,lists_find:()=>R_,lists_getIndex3:()=>Y_,lists_getSublist3:()=>b_,lists_get_index:()=>T_,lists_get_random_item:()=>M_,lists_get_random_sublist:()=>m_,lists_get_sublist:()=>a_,lists_insert_value:()=>c_,lists_insert_value2:()=>X_,lists_pop:()=>C_,lists_remove_at:()=>g_,lists_remove_at2:()=>y_,lists_reverse:()=>O_,lists_setIndex3:()=>V_,lists_set_index:()=>d_,lists_sort:()=>L_,lists_zip:()=>B_});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>$_,dicts_add_or_change:()=>W_,dicts_clear:()=>j_,dicts_create_with:()=>w_,dicts_create_with_noreturn:()=>iu,dicts_deldict:()=>Z_,dicts_delete:()=>K_,dicts_get:()=>H_,dicts_get_default:()=>x_,dicts_items:()=>Q_,dicts_keys:()=>k_,dicts_length:()=>z_,dicts_pop:()=>tu,dicts_setdefault:()=>eu,dicts_to_json:()=>su,dicts_todict:()=>nu,dicts_update:()=>J_,dicts_values:()=>q_,json_to_dicts:()=>ou});var E={};t.r(E),t.d(E,{logic_boolean:()=>pu,logic_compare:()=>_u,logic_compare_continous:()=>uu,logic_is:()=>du,logic_is_in:()=>Tu,logic_negate:()=>ru,logic_null:()=>lu,logic_operation:()=>au,logic_tobool:()=>hu,logic_true_or_false:()=>Iu});var R={};t.r(R),t.d(R,{sdcard_mount:()=>Bu,sdcard_use_spi_init:()=>yu,storage_can_write_ornot:()=>Au,storage_change_dir:()=>vu,storage_close_file:()=>Su,storage_delete_file:()=>Du,storage_file_seek:()=>Fu,storage_file_tell:()=>Pu,storage_file_write:()=>Eu,storage_fileopen:()=>mu,storage_fileopen_new:()=>cu,storage_fileopen_new_encoding:()=>Ou,storage_get_a_line:()=>Cu,storage_get_contents:()=>gu,storage_get_contents_without_para:()=>Ru,storage_get_current_dir:()=>Yu,storage_get_file_size:()=>fu,storage_get_filename:()=>Lu,storage_is_file:()=>Xu,storage_list_all_files:()=>Nu,storage_make_dir:()=>bu,storage_open_file_with_os:()=>Mu,storage_rename:()=>Vu});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>ku,procedures_callreturn:()=>wu,procedures_defnoreturn:()=>Gu,procedures_defreturn:()=>Uu,procedures_ifreturn:()=>Hu,procedures_return:()=>xu});var C={};t.r(C),t.d(C,{tuple_change_to:()=>$u,tuple_create_with:()=>Wu,tuple_create_with_noreturn:()=>na,tuple_create_with_text2:()=>Ku,tuple_create_with_text_return:()=>Ju,tuple_del:()=>qu,tuple_find:()=>ta,tuple_getIndex:()=>ju,tuple_getSublist:()=>ia,tuple_get_random_item:()=>oa,tuple_get_sublist:()=>sa,tuple_join:()=>zu,tuple_length:()=>Qu,tuple_max:()=>Zu,tuple_totuple:()=>_a,tuple_trig:()=>ea});var A={};t.r(A),t.d(A,{set_add_discard:()=>Ta,set_clear:()=>pa,set_create_with:()=>ua,set_create_with_text_return:()=>Ma,set_length:()=>aa,set_operate:()=>la,set_operate_update:()=>Ia,set_pop:()=>ra,set_sub:()=>da,set_toset:()=>ma,set_update:()=>ha});var L={};t.r(L),t.d(L,{html_content:()=>Ra,html_content_more:()=>ga,html_document:()=>ca,html_form:()=>Aa,html_head_body:()=>Ea,html_style:()=>Ca,html_style_content:()=>La,html_text:()=>Sa,html_title:()=>Oa});var S={};t.r(S),t.d(S,{attribute_access:()=>Ya,function_call:()=>va,raw_block:()=>Na,raw_empty:()=>fa,raw_expression:()=>Da,raw_table:()=>Pa,type_check:()=>Fa});var N={};t.r(N),t.d(N,{MP3_CONTROL:()=>ur,MP3_EQ_MODE:()=>lr,MP3_INIT:()=>or,MP3_LOOP_MODE:()=>rr,MP3_PLAY_FOLDER:()=>dr,MP3_PLAY_NUM:()=>Tr,MP3_VOL:()=>Ir,bit_motor_control:()=>tr,display_rgb:()=>ir,display_rgb2:()=>nr,display_rgb_init:()=>er,display_rgb_show:()=>sr,microbit_music_get_tempo:()=>Ka,microbit_music_pitch:()=>wa,microbit_music_pitch_delay:()=>Ga,microbit_music_play_built_in:()=>Ba,microbit_music_play_built_in_easy:()=>Ua,microbit_music_play_list_of_notes:()=>ka,microbit_music_play_list_of_notes_easy:()=>Ha,microbit_music_reset:()=>xa,microbit_music_stop:()=>Wa,servo_move:()=>$a,speech_pronounce_easy:()=>za,speech_say:()=>ja,speech_say_easy:()=>Qa,speech_sing_easy:()=>qa,speech_translate:()=>Za,tone_set_tempo:()=>Ja});var D={};t.r(D),t.d(D,{i2c_init:()=>Lr,i2c_read:()=>Sr,i2c_write:()=>Nr,microbit_radio_config:()=>Or,microbit_radio_off:()=>cr,microbit_radio_on:()=>mr,microbit_radio_receive:()=>Cr,microbit_radio_reset:()=>Er,microbit_radio_send_string:()=>Rr,radio_ons:()=>Mr,radio_receive_string:()=>Ar,radio_send_string:()=>gr,spi_init:()=>Dr,spi_write:()=>fr});var f={};t.r(f),t.d(f,{display_fill:()=>np,display_image_size:()=>ip,group_lcd_init:()=>Zr,group_lcd_power:()=>tp,group_lcd_print:()=>zr,group_lcd_print2:()=>$r,image_arithmetic:()=>qr,image_shift:()=>Qr,lp2i_u8g_draw_4strings:()=>ep,microbit_display_clear:()=>Fr,microbit_display_is_on:()=>xr,microbit_display_off:()=>Hr,microbit_display_on:()=>kr,microbit_display_scroll:()=>wr,microbit_display_scroll_string_animation:()=>Gr,microbit_display_show_animation:()=>Ur,microbit_display_show_default_image:()=>Br,microbit_display_show_image:()=>yr,microbit_image_builtins:()=>Wr,microbit_image_copy:()=>Kr,microbit_image_create:()=>jr,microbit_image_invert:()=>Jr,monitor_bright_point:()=>Yr,monitor_get_pixel:()=>vr,monitor_scroll_string:()=>Vr,monitor_scroll_string_with_delay:()=>Xr,monitor_show_image_or_string:()=>br});var P={};t.r(P),t.d(P,{factory_block:()=>dp,factory_block_return:()=>hp,factory_block_return_with_textarea:()=>mp,factory_block_with_textarea:()=>Mp,factory_callMethod_noreturn:()=>Ip,factory_callMethod_return:()=>Tp,factory_create_with_container:()=>ap,factory_create_with_item:()=>rp,factory_declare:()=>lp,factory_from_import:()=>op,factory_function_noreturn:()=>up,factory_function_return:()=>pp,factory_import:()=>_p});var F={};t.r(F),t.d(F,{inout_analog_read:()=>Cp,inout_analog_write:()=>Rp,inout_analog_write_set:()=>gp,inout_digital_read:()=>Ep,inout_digital_write:()=>Lp,inout_highlow:()=>Op,sensor_pin_pressed:()=>Ap});var v={};t.r(v),t.d(v,{pins_analog:()=>Dp,pins_axis:()=>Vp,pins_brightness:()=>Xp,pins_builtinimg:()=>Yp,pins_button:()=>fp,pins_digital:()=>Np,pins_imglist:()=>bp,pins_interrupt:()=>Fp,pins_pwm:()=>Pp,pins_radio_datarate:()=>Up,pins_radio_power:()=>Bp,pins_serial:()=>vp,pins_tone_notes:()=>yp});var Y={};t.r(Y),t.d(Y,{DS1307_init:()=>rl,NTC_TEMP:()=>Ol,RTC_get_time:()=>ll,RTC_set_date:()=>Tl,RTC_set_time:()=>Il,TCS34725_Get_RGB:()=>cl,controls_GestureLists:()=>Jp,controls_attachGestureInterrupt:()=>Kp,controls_attachGestureInterrupt2:()=>jp,sensor_button_get_presses:()=>Hp,sensor_button_is_pressed:()=>wp,sensor_button_was_pressed:()=>kp,sensor_calibrate_compass:()=>tl,sensor_compass_heading:()=>il,sensor_compass_reset:()=>dl,sensor_current_gesture:()=>Zp,sensor_current_gesture1:()=>xp,sensor_current_gesture2:()=>Wp,sensor_distance_hrsc04:()=>ul,sensor_distance_hrsc04_:()=>al,sensor_field_strength:()=>sl,sensor_get_acceleration:()=>Qp,sensor_get_gestures:()=>zp,sensor_hrsc04_init:()=>Ml,sensor_is_compass_calibrated:()=>el,sensor_light:()=>hl,sensor_light_level:()=>$p,sensor_magnetic:()=>_l,sensor_rotation:()=>ol,sensor_set_acceleration:()=>qp,sensor_temperature:()=>nl});var b={};t.r(b),t.d(b,{IO_input:()=>Fl,IO_print:()=>vl,IO_print_inline:()=>Yl,serial_any:()=>Sl,serial_begin:()=>Pl,serial_print:()=>Rl,serial_print_hex:()=>Cl,serial_println:()=>gl,serial_readline:()=>Nl,serial_readstr:()=>Ll,serial_readstr_until:()=>Dl,serial_receive_data_event:()=>Al,serial_softserial:()=>fl});var V={};t.r(V),t.d(V,{Panic_with_status_code:()=>yl,base_delay:()=>Vl,controls_millis:()=>Xl,controls_uname:()=>Ul,reset:()=>Bl});var X={};t.r(X),t.d(X,{MP3_CONTROL:()=>uI,MP3_EQ_MODE:()=>rI,MP3_INIT:()=>_I,MP3_LOOP_MODE:()=>aI,MP3_PLAY_FOLDER:()=>II,MP3_PLAY_NUM:()=>lI,MP3_VOL:()=>pI,bit_motor_control:()=>eI,display_rgb:()=>nI,display_rgb2:()=>sI,display_rgb_init:()=>iI,display_rgb_show:()=>oI,microbit_music_get_tempo:()=>Jl,microbit_music_pitch:()=>Hl,microbit_music_pitch_delay:()=>kl,microbit_music_play_built_in:()=>Gl,microbit_music_play_built_in_easy:()=>wl,microbit_music_play_list_of_notes:()=>xl,microbit_music_reset:()=>Wl,microbit_music_stop:()=>Kl,servo_move:()=>tI,speech_pronounce_easy:()=>$l,speech_say:()=>ql,speech_say_easy:()=>zl,speech_sing_easy:()=>Zl,speech_translate:()=>Ql,tone_set_tempo:()=>jl});var y={};t.r(y),t.d(y,{i2c_init:()=>RI,i2c_read:()=>gI,i2c_write:()=>CI,microbit_radio_config:()=>MI,microbit_radio_off:()=>hI,microbit_radio_on:()=>dI,microbit_radio_receive:()=>EI,microbit_radio_reset:()=>mI,radio_ons:()=>TI,radio_receive_string:()=>OI,radio_send_string:()=>cI,spi_init:()=>AI,spi_write:()=>LI});var B={};t.r(B),t.d(B,{display_fill:()=>ZI,display_image_size:()=>zI,group_lcd_init:()=>JI,group_lcd_power:()=>QI,group_lcd_print:()=>KI,group_lcd_print2:()=>jI,image_arithmetic:()=>xI,image_shift:()=>HI,lp2i_u8g_draw_4strings:()=>qI,microbit_display_clear:()=>SI,microbit_display_is_on:()=>BI,microbit_display_on:()=>yI,microbit_display_scroll:()=>XI,microbit_display_scroll_string_animation:()=>WI,microbit_display_set_pixel:()=>DI,microbit_display_show_animation:()=>VI,microbit_display_show_default_image:()=>bI,microbit_display_show_image:()=>YI,microbit_image_builtins:()=>UI,microbit_image_copy:()=>GI,microbit_image_create:()=>kI,microbit_image_invert:()=>wI,monitor_bright_point:()=>fI,monitor_get_pixel:()=>NI,monitor_scroll_string:()=>FI,monitor_scroll_string_with_delay:()=>vI,monitor_show_image_or_string:()=>PI});var U={};t.r(U),t.d(U,{factory_block:()=>_T,factory_block_return:()=>uT,factory_block_return_with_textarea:()=>rT,factory_block_with_textarea:()=>aT,factory_callMethod_noreturn:()=>sT,factory_callMethod_return:()=>oT,factory_declare:()=>nT,factory_from_import:()=>$I,factory_function_noreturn:()=>eT,factory_function_return:()=>iT,factory_import:()=>tT});var G={};t.r(G),t.d(G,{inout_analog_read:()=>hT,inout_analog_write:()=>TT,inout_analog_write_set:()=>dT,inout_digital_read:()=>IT,inout_digital_write:()=>lT,inout_highlow:()=>pT,sensor_pin_pressed:()=>MT});var w={};t.r(w),t.d(w,{pins_analog:()=>cT,pins_axis:()=>LT,pins_brightness:()=>ST,pins_builtinimg:()=>CT,pins_button:()=>OT,pins_digital:()=>mT,pins_imglist:()=>AT,pins_interrupt:()=>RT,pins_pwm:()=>ET,pins_radio_datarate:()=>fT,pins_radio_power:()=>DT,pins_serial:()=>gT,pins_tone_notes:()=>NT});var k={};t.r(k),t.d(k,{DS1307_init:()=>ZT,NTC_TEMP:()=>_d,RTC_get_time:()=>$T,RTC_set_date:()=>ed,RTC_set_time:()=>td,TCS34725_Get_RGB:()=>od,controls_GestureLists:()=>YT,controls_attachGestureInterrupt:()=>bT,controls_attachGestureInterrupt2:()=>yT,sensor_button_get_presses:()=>vT,sensor_button_is_pressed:()=>PT,sensor_button_was_pressed:()=>FT,sensor_calibrate_compass:()=>HT,sensor_compass_heading:()=>WT,sensor_compass_reset:()=>id,sensor_current_gesture:()=>UT,sensor_current_gesture1:()=>VT,sensor_current_gesture2:()=>XT,sensor_distance_hrsc04:()=>qT,sensor_distance_hrsc04_:()=>zT,sensor_field_strength:()=>JT,sensor_get_acceleration:()=>GT,sensor_get_gestures:()=>BT,sensor_hrsc04_init:()=>sd,sensor_is_compass_calibrated:()=>xT,sensor_light:()=>nd,sensor_light_level:()=>kT,sensor_magnetic:()=>QT,sensor_rotation:()=>jT,sensor_set_acceleration:()=>wT,sensor_temperature:()=>KT});var H={};t.r(H),t.d(H,{IO_input:()=>md,IO_print:()=>cd,IO_print_inline:()=>Od,serial_any:()=>ld,serial_begin:()=>Md,serial_print:()=>ud,serial_print_hex:()=>rd,serial_println:()=>ad,serial_readline:()=>Td,serial_readstr:()=>Id,serial_readstr_until:()=>dd,serial_receive_data_event:()=>pd,serial_softserial:()=>hd});var x={};t.r(x),t.d(x,{Panic_with_status_code:()=>vd,base_delay:()=>Fd,controls_end_program:()=>bd,controls_millis:()=>Yd,controls_uname:()=>Xd,reset:()=>Vd,system_device_name:()=>fd,system_device_serial_number:()=>Pd,system_event_bus_source:()=>Nd,system_event_bus_value:()=>Dd,system_on_event:()=>Ad,system_raise_event:()=>Cd,system_reset:()=>Rd,system_run_in_background:()=>Ed,system_timestamp:()=>Ld,system_value:()=>Sd,system_wait:()=>gd});const W=Blockly,K=Mixly,J={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},j=J; /** * @license * Visual Blocks Editor @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class Q{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(W.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(W.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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(W.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(W.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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")}},pt={init:function(){this.setColour(st),this.appendValueInput("FROM").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.PYTHON_RANGE).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},lt={init:function(){this.setColour(st),this.appendValueInput("LIST").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(W.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return W.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},It={init:function(){this.setColour(st),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(W.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new W.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(W.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:W.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:W.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Tt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(W.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new W.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(W.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(W.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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(W.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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")}},dt={init:function(){this.setColour(st);var t=new W.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:W.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:W.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(W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},ht={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new W.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return W.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Mt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new W.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return W.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};It.OPERATORS=[[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],dt.OPERATORS=[[W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const mt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(W.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},ct={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Ot={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(W.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Et={init:function(){this.setColour(st),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Rt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(W.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},gt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(W.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ct={init:function(){this.jsonInit({message0:W.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:st,tooltip:W.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:W.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},At={init:function(){this.setColour(st),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_STAT),this.setOutput(!0)}},Lt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},St={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(W.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Nt={init:function(){this.appendDummyInput().appendField(W.Msg.CONTROLS_REPEAT_TITLE_REPEAT+W.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(W.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new W.FieldDropdown([[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(st),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Dt=230;W.FieldTextInput.math_number_validator=function(t){return String(t)},W.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 ft={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new W.FieldTextInput("0",W.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(W.Msg.MATH_NUMBER_TOOLTIP)}},Pt={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(W.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new W.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ft={init:function(){this.setColour(Dt);this.appendDummyInput("").appendField(W.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new W.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},vt={init:function(){this.setColour(Dt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.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:W.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:W.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:W.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:W.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:W.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Yt={init:function(){this.setColour(Dt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.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:W.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:W.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:W.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:W.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:W.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},bt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new W.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Vt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new W.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:W.Msg.MATH_TRIG_TOOLTIP_SIN,COS:W.Msg.MATH_TRIG_TOOLTIP_COS,TAN:W.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:W.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:W.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:W.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:W.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Xt={init:function(){var t=[[W.Msg.MATH_BIN,"bin"],[W.Msg.MATH_OCT,"oct"],[W.Msg.MATH_HEX,"hex"]];this.setColour(Dt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new W.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:W.Msg.MATH_DEC_TOOLTIP_BIN,oct:W.Msg.MATH_DEC_TOOLTIP_OCT,hex:W.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},yt={init:function(){var t=[[W.Msg.LANG_MATH_TO_ROUND,"round"],[W.Msg.LANG_MATH_TO_CEIL,"ceil"],[W.Msg.LANG_MATH_TO_FLOOR,"floor"],[W.Msg.MATH_ABS,"fabs"],[W.Msg.MATH_SQRT,"sqrt"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).appendField(new W.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:W.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:W.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:W.Msg.MATH_SINGLE_TOOLTIP_SQ,round:W.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:W.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:W.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ut={init:function(){var t=[[W.Msg.MIXLY_MAX,"max"],[W.Msg.MIXLY_MIN,"min"]];this.setColour(Dt),this.appendValueInput("A").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(new W.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(W.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:W.Msg.MIXLY_TOOLTIP_MATH_MAX,min:W.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Bt={init:function(){var t=[[W.Msg.MATH_TWO,"two"],[W.Msg.MATH_EIGHT,"eight"],[W.Msg.MATH_TEN,"ten"],[W.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Dt),this.appendDummyInput("").appendField(W.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new W.FieldDropdown(t),"OP").appendField(W.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(W.Msg.MATH_ZHW).appendField(new W.FieldDropdown(t),"OP2").appendField(W.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:W.Msg.MATH_Before_two,eight:W.Msg.MATH_Before_eight,ten:W.Msg.MATH_Before_ten,sixteen:W.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:W.Msg.MATH_Behind_two,eight:W.Msg.MATH_Behind_eight,ten:W.Msg.MATH_Behind_ten,sixteen:W.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Gt={init:function(){var t=[[W.Msg.LANG_MATH_INT,"int"],[W.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Dt),this.setOutput(!0,Number),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_RANDOM).appendField(new W.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:W.Msg.LANG_MATH_INT,float:W.Msg.LANG_MATH_FLOAT_RANDOM};return W.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},wt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(W.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(W.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(W.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(W.Msg.MATH_CONSTRAIN_TOOLTIP)}},kt={init:function(){this.setColour(Dt),this.appendValueInput("NUM",Number).appendField(W.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(W.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(W.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ht={init:function(){this.setColour(Dt),this.appendDummyInput().appendField(new W.FieldTextInput("0",W.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(W.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(Dt),this.appendValueInput("NUM").setCheck(Number).appendField(W.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Wt={init:function(){this.setColour(Dt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(W.Msg.MATH_ROUND).appendField(W.Msg.TEXT_KEEP),this.appendDummyInput().appendField(W.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(W.Msg.MATH_ROUND_NEW_TOOLTIP)}},Kt={init:function(){var t=[[W.Msg.MIXLY_TO_INT,"int"],[W.Msg.MIXLY_TO_FLOAT,"float"],[W.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new W.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:W.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:W.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:W.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Jt={init:function(){var t=[[W.Msg.MIXLY_TO_INT,"int"],[W.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Dt),this.appendValueInput("VAR").appendField(new W.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:W.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:W.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},jt=kt,Qt=160,qt={init:function(){this.setColour(Qt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new W.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(W.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 W.FieldImage(e,12,12,'"')}},zt={init:function(){this.setColour(Qt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new W.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(W.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 W.FieldImage(e,12,12,'"')}};W.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 Zt={init:function(){this.setColour(Qt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new W.FieldTextInput("",W.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(W.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new W.FieldImage(e,7,12,'"')}},$t={init:function(){this.setColour(Qt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(W.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},te={init:function(){this.setColour(Qt),this.appendValueInput("VAR").setCheck(Number).appendField(W.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ee={init:function(){this.setColour(Qt),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ie={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ne={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},se={init:function(){this.WHERE_OPTIONS=[[W.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[W.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[W.Msg.TEXT_GET_INDEX_RANDOM+1+W.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(W.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(W.Msg.LISTS_GET_INDEX_GET,"MODE"),W.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(W.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=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+W.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",W.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:W.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:W.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:W.Msg.TEXT_GET_INDEX_RANDOM};return W.Msg.PROCEDURES_DEFRETURN_RETURN+W.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+W.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==W.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),W.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(W.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new W.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"),W.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},oe={init:function(){this.setHelpUrl(W.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(W.Msg.LISTS_GET_INDEX_GET+" "+W.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(W.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(W.Msg.PROCEDURES_DEFRETURN_RETURN+W.Msg.MIXLY_MICROBIT_TYPE_STRING+W.Msg.LISTS_GET_INDEX_FROM_START+"n"+W.Msg.TEXT_CHARAT2)}},_e={init:function(){this.setHelpUrl(W.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(W.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(W.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ue={init:function(){this.WHERE_OPTIONS_1=[[W.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[W.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[W.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[W.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[W.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[W.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(W.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(W.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(W.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==W.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==W.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),W.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(W.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new W.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"))}},ae={init:function(){this.setHelpUrl(W.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(W.Msg.LISTS_GET_INDEX_GET+" "+W.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(W.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(W.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(W.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},re={init:function(){var t=[[W.Msg.MIXLY_EQUALS,"==="],[W.Msg.MIXLY_STARTSWITH,"startswith"],[W.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Qt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new W.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},pe={init:function(){this.setColour(Qt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(W.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_COMPARETO_HELP)}},le={init:function(){var t=[[W.Msg.TEXT_UPPER,"upper"],[W.Msg.TEXT_TITLE,"title"],[W.Msg.TEXT_CAPITALIZE,"capitalize"],[W.Msg.TEXT_SWAPCASE,"swapcase"],[W.Msg.TEXT_LOWER,"lower"]];this.setColour(Qt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new W.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:W.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:W.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:W.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:W.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:W.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},Ie={init:function(){var t=[[W.Msg.TEXT_LJUST,"ljust"],[W.Msg.TEXT_CENTER,"center"],[W.Msg.TEXT_RJUST,"rjust"]];this.setColour(Qt),this.appendValueInput("VAR").appendField(new W.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(W.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(W.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Te={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(W.Msg.MIXLY_MID+W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(W.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},de={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},he={init:function(){this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(W.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(W.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Me={init:function(){this.setColour(Qt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(W.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(W.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},me={init:function(){var t=[[W.Msg.TEXT_TRIM_BOTH,"strip"],[W.Msg.TEXT_TRIM_LEFT,"lstrip"],[W.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Qt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(W.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new W.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(W.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:W.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:W.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:W.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ce={init:function(){this.setColour(Qt),this.appendDummyInput("").appendField(W.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new W.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new W.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(W.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){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},di={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(W.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},hi={init:function(){this.setColour(Ii),this.appendDummyInput().appendField(W.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Mi={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_KEYS),this.setTooltip(W.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},mi={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(W.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(W.Msg.DICTS_GET_TOOLTIP)}},ci={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(W.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(W.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(W.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Oi={init:function(){this.setColour(Ii),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(W.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Ei={init:function(){this.setColour(Ii),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(W.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_DELETE_TOOLTIP)}},Ri={init:function(){this.setColour(Ii),this.appendValueInput("DICT2").setCheck("Dict").appendField(W.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(W.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(W.Msg.MIXLY_MID),this.setTooltip(W.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gi={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_CLEAR),this.setTooltip(W.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ci={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_ITEMS),this.setTooltip(W.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ai={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_VALUES),this.setTooltip(W.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Li={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.MIXLY_LENGTH),this.setTooltip(W.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Si={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_DELDICT),this.setTooltip(W.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ni={init:function(){this.MODE=[[W.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[W.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(W.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(W.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=W.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=W.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==W.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 W.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")}},Di={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(W.Msg.DICTS_ADD_VALUE),this.setTooltip(W.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},fi={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(W.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Pi={init:function(){this.setColour(Ii),this.appendDummyInput("").appendField(new W.FieldLabel(W.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 W.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(W.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){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Fi={init:function(){this.setColour(Ii),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},vi={init:function(){this.setColour(Ii),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.MIXLY_TO_JSON),this.setTooltip(W.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Yi={init:function(){this.setColour(Ii),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(W.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(W.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},bi=210,Vi={init:function(){var t=W.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(bi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:W.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:W.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:W.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:W.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:W.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:W.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Xi={init:function(){var t=W.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=W.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(bi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new W.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},yi={init:function(){var t=[[W.Msg.LOGIC_OPERATION_AND,"AND"],[W.Msg.LOGIC_OPERATION_OR,"OR"],[W.Msg.LOGIC_OPERATION_NOR,"NOR"],[W.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(bi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:W.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:W.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:W.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:W.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Ui={init:function(){this.setColour(bi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(W.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(W.Msg.LOGIC_NEGATE_TOOLTIP)}},Bi={init:function(){var t=[[W.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[W.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(bi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new W.FieldDropdown(t),"BOOL"),this.setTooltip(W.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Gi={init:function(){this.setColour(bi),this.setOutput(!0),this.appendDummyInput().appendField(W.Msg.LOGIC_NULL),this.setTooltip(W.Msg.LOGIC_NULL_TOOLTIP)}},wi={init:function(){this.setColour(bi),this.appendValueInput("A"),this.appendValueInput("B").appendField(W.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(W.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},ki={init:function(){var t=[[W.Msg.TEXT_APPEND_TO,"in"],[W.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(bi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new W.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(W.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(W.Msg.IN)}},Hi={init:function(){var t=[[W.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[W.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(bi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xi={init:function(){this.setColour(bi),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(W.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Wi={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(W.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ki={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(W.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=W.Msg.MIXLY_USE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=W.Msg.MIXLY_BELONG;return i+{r:W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ji={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[W.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=W.Msg.MIXLY_USE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=W.Msg.MIXLY_BELONG,_=W.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},ji={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(W.Msg.MIXPY_TEXT_ENCODE).appendField(new W.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=W.Msg.MIXLY_USE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=W.Msg.MIXLY_BELONG,_=W.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Qi={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+W.Msg.MIXLY_MICROBIT_TYPE_STRING+W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},qi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},zi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(W.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=W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:W.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Zi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(W.Msg.MICROBIT_PYTHON_TYPE)}},$i={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.HTML_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},tn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},en={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};W.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const sn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[W.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(W.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},on={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+W.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},_n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(W.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=W.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+W.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},an={init:function(){this.setColour(0),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},rn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(W.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[W.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 W.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+W.Msg.MIXLY_ESP32_SET+{mkdir:W.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},pn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(W.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},ln={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},In={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.HTML_FILE,"isfile"],[W.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 W.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+W.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:W.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Tn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(W.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(W.Msg.MIXLY_SETUP+W.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(W.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(W.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},hn={};hn.NAME_TYPE=W.PROCEDURE_CATEGORY_NAME,hn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(W.Msg.MIXLY_AIP_ATTR).setAlign(W.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ps={init:function(){this.setColour(ss),this.appendDummyInput().appendField(W.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ls={init:function(){this.setColour(ss),this.appendDummyInput().appendField(W.Msg.HTML_FORM_CONTENT).appendField(new W.FieldDropdown([[W.Msg.HTML_TEXT,"text"],[W.Msg.HTML_EMAIL,"email"],[W.Msg.HTML_NUMBER,"number"],[W.Msg.HTML_PASSWORD,"password"],[W.Msg.HTML_CHECKBOX,"checkbox"],[W.Msg.HTML_RADIOBUTTON,"radiobutton"],[W.Msg.HTML_BUTTON,"button"],[W.Msg.HTML_COLOUR,"colour"],[W.Msg.HTML_DATE,"date"],[W.Msg.HTML_LOCALTIME,"local time"],[W.Msg.HTML_FILE,"file"],[W.Msg.HTML_HIDDEN,"hidden"],[W.Msg.HTML_IMAGE,"image"],[W.Msg.HTML_MONTH,"month"],[W.Msg.HTML_RANGE,"range"],[W.Msg.HTML_RESET,"reset"],[W.Msg.HTML_SEARCH,"search"],[W.Msg.HTML_SUBMIT,"submit"],[W.Msg.HTML_TELEPHONENUMBER,"telephone number"],[W.Msg.HTML_TIME,"time"],[W.Msg.HTML_URL,"url"],[W.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(W.Msg.HTML_NAME).appendField(new W.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(W.Msg.HTML_VALUE).appendField(new W.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(W.Msg.MIXLY_AIP_ATTR).setAlign(W.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Is={init:function(){this.setColour(ss),this.appendDummyInput().appendField(new W.FieldTextInput("property"),"KEY").appendField(":").appendField(new W.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ts={init:function(){this.setColour(ss),this.appendDummyInput().appendField(new W.FieldTextInput("property"),"KEY").appendField(":").appendField(new W.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ds={init:function(){this.setColour(ss),this.appendDummyInput().appendField(W.Msg.HTML_TEXT).appendField(new W.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hs=160,Ms={init:function(){this.setColour(hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new W.FieldTable(""),"TEXT")}},ms={init:function(){this.setColour(hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new W.FieldMultilineInput(""),"TEXT")}},cs={init:function(){this.setColour(hs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new W.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Os={init:function(){this.setColour(hs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Es={init:function(){this.setColour(hs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new W.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Rs={init:function(){this.setColour(hs),this.appendValueInput("VALUE").appendField(W.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},gs={init:function(){this.setColour(hs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new W.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(W.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=W.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 "+r()+"("+t+", "+e+", "+i+")"},W.isNumber(n)&&W.isNumber(s)&&W.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 iu=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]},nu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},su=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ou=function(t,e){return["None",e.ORDER_ATOMIC]},_u=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]},uu=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]},au=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]},ru=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},pu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},lu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Iu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Tu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},du=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},hu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Mu=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]},mu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Ou=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Eu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ru=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},gu=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Cu=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Au=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Lu=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"},Su=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Nu=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Du=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},fu=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"},Pu=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]},Fu=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"},vu=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"},Yu=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),W.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]},Ta=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},da=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},ha=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ma=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ma=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},ca=function(t,e){return'"},Oa=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Ea=function(){return this.getFieldValue("TEXT")+"\n"},Ra=function(t){return t.getFieldValue("TEXT")+"\n"},ga=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Ca=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Aa=function(){return""},La=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Sa=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")},Da.scrubNakedValue=function(t){return t+"\n"},Da.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},Da.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Da.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=W.utils.string.wrap(o,Da.COMMENT_WRAP-3),n+=Da.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const fa={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],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:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","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"]]}};fa["BBC micro:bit"]=fa.microbit;const Pa=fa,Fa=100,va={init:function(){this.jsonInit({colour:Fa,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:W.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},Ya={init:function(){this.jsonInit({colour:Fa,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:W.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},ba={init:function(){this.setColour(Fa),this.appendValueInput("PIN",Number).appendField(W.Msg.MIXLY_TONE).appendField(W.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(W.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(W.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(W.Msg.MIXLY_MILLIS).appendField(W.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new W.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Va={init:function(){this.setColour(Fa),this.appendValueInput("PIN",Number).appendField(W.Msg.MIXLY_TONE).appendField(W.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(W.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Xa={init:function(){this.jsonInit({colour:Fa,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:W.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Play_notes1)}},ya={init:function(){this.jsonInit({colour:Fa,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:W.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ua={init:function(){this.jsonInit({colour:Fa,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:W.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Reset_music)}},Ba={init:function(){this.setColour(Fa),this.appendValueInput("PIN").appendField(W.Msg.MIXLY_NOTONE).appendField(W.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_NOTONE)}},Ga={init:function(){this.jsonInit({colour:Fa,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:W.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Get_current_tempo)}},wa={init:function(){this.setColour(Fa),this.appendValueInput("TICKS").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(W.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(W.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},ka={init:function(){this.setColour(Fa),this.appendValueInput("VAR").setCheck(String).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(W.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(W.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(W.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(W.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=W.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Ha={init:function(){this.setColour(Fa),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xa={init:function(){this.setColour(Fa),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wa={init:function(){this.setColour(Fa),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ka={init:function(){this.setColour(Fa),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+W.Msg.MIXLY_MICROBIT_TYPE_STRING+W.Msg.MICROBIT_SPEECH_translation)}},Ja={init:function(){this.setColour(Fa),this.appendValueInput("PIN",Number).appendField(W.Msg.MIXLY_SERVO).appendField(W.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},ja={init:function(){this.appendValueInput("speed").setCheck(null).appendField(W.Msg.MIXLY_MOTOR).appendField(new W.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(W.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new W.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Fa),this.setTooltip(""),this.setHelpUrl("")}},Qa={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(W.Msg.MIXLY_RGB_PIN_COUNT)}},qa={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(W.Msg.MIXLY_RGB_NUM_R_G_B)}},za={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(W.inputs.Align.RIGHT).appendField(new W.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Za={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendDummyInput().appendField(W.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(W.Msg.MIXLY_ESP32_MUSIC_WRI)}},$a={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.MIXLY_SETUP+" "+W.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(W.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(W.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var tr=[[W.Msg.MIXLY_MP3_PLAY,"play"],[W.Msg.MIXLY_MP3_PAUSE,"pause"],[W.Msg.MIXLY_MP3_NEXT,"next_track"],[W.Msg.MIXLY_MP3_PREV,"prev_track"],[W.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[W.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const er={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_STAT).appendField(new W.FieldDropdown(tr),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ir=[[W.Msg.MIXLY_MP3_LOOP_ALL,"0"],[W.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[W.Msg.MIXLY_MP3_LOOP_ONE,"2"],[W.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const nr={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_MP3_LOOP_MODE).appendField(W.Msg.MIXLY_STAT).appendField(new W.FieldDropdown(ir),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var sr=[[W.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[W.Msg.MIXLY_MP3_EQ_POP,"1"],[W.Msg.MIXLY_MP3_EQ_ROCK,"2"],[W.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[W.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[W.Msg.MIXLY_MP3_EQ_BASS,"5"]];const or={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_MP3_EQ_MODE).appendField(W.Msg.MIXLY_STAT).appendField(new W.FieldDropdown(sr),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},_r={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(W.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},ur={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(W.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},ar={init:function(){this.setColour(Fa),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(W.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(W.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},rr=140,pr={init:function(){this.setColour(225),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[W.Msg.HTML_RESET,"reset"]]),"type").appendField(W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:W.Blockly.Msg.HTML_RESET}[e]+i}))}},lr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:W.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Ir={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:W.Msg.MIXLY_MICROBIT_Switch_off_radio})}},Tr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:W.Msg.MIXLY_MICROBIT_Configure_radio1,message0:W.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},dr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:W.Msg.MIXLY_MICROBIT_Reset_radio})}},hr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:W.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Mr={init:function(){this.setColour(225),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_MSG,"send"],[W.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_Send_message1)}},mr={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:W.Msg.MIXLY_MICROBIT_Receive_message,message0:W.Msg.MIXLY_MICROBIT_Receive_message})}},cr={init:function(){this.setColour(225),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_MSG,"receive"],[W.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[W.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_Receive_message)}},Or={init:function(){this.setColour(rr),this.appendValueInput("RX",Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(W.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(W.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(W.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Er={init:function(){this.setColour(rr),this.appendValueInput("address").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(W.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(W.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new W.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Rr={init:function(){this.setColour(rr),this.appendValueInput("address").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(W.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new W.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},gr={init:function(){this.jsonInit({colour:rr,nextStatement:null,previousStatement:null,message0:W.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:K.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:K.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:K.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},Cr={init:function(){this.setColour(rr),this.appendValueInput("data").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},Ar=180,Lr={init:function(){this.jsonInit({colour:Ar,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:W.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Clear_display)}},Sr={init:function(){this.setColour(Ar),this.appendValueInput("x").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_GET).appendField(W.Msg.MIXLY_BRIGHTNESS).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_BRIGHTNESS1)}},Nr={init:function(){this.setColour(Ar),this.appendValueInput("x").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(W.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_BRIGHTNESS2)}},Dr={init:function(){this.setColour(Ar),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(W.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},fr={init:function(){this.setColour(Ar),this.appendValueInput("data").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Pr={init:function(){this.setColour(Ar),this.appendValueInput("data").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(W.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(W.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fr={init:function(){this.setColour(Ar),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(W.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.OLED_BITMAP)}},vr={init:function(){this.jsonInit({colour:Ar,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:W.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},Yr={init:function(){this.jsonInit({colour:Ar,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:W.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+W.Msg.MIXLY_MICROBIT_Animate_images1)}},br={init:function(){this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:Ar,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:W.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},Vr={init:function(){this.jsonInit({colour:Ar,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:W.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Xr={init:function(){this.setColour(Ar),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[W.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(W.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=W.Msg.MIXLY_MICROBIT_monitor;return{on:W.Msg.MIXLY_MICROBIT_Turn_on_display,off:W.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},yr={init:function(){this.jsonInit({colour:Ar,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:W.Msg.MIXLY_MICROBIT_Turn_off_display})}},Ur={init:function(){this.jsonInit({colour:Ar,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:W.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Display_is_on1)}},Br={init:function(){this.jsonInit({colour:Ar,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:W.Msg.MIXLY_MICROBIT_Built_in_image1,message0:W.Msg.MIXLY_MICROBIT_Built_in_image})}},Gr={init:function(){this.jsonInit({colour:Ar,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:W.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Copy_image1)}},wr={init:function(){this.jsonInit({colour:Ar,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:W.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Invert_image1)}},kr={init:function(){this.jsonInit({colour:Ar,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:W.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Create_image1)}},Hr={init:function(){var t=[[W.Msg.MIXLY_UP,"up"],[W.Msg.MIXLY_DOWN,"down"],[W.Msg.MIXLY_LEFT,"left"],[W.Msg.MIXLY_RIGHT,"right"]];this.setColour(Ar),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(W.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(W.Msg.DISPLAY_IMAGE_LET2).appendField(new W.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(W.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(W.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=W.Msg.DISPLAY_IMAGE_LET,n=W.Msg.DISPLAY_IMAGE_LET2,s=W.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:W.Msg.MIXLY_UP,down:W.Msg.MIXLY_DOWN,left:W.Msg.MIXLY_LEFT,right:W.Msg.MIXLY_RIGHT}[t]+s}))}},xr={init:function(){var t=[[W.Msg.MICROBIT_DISPLAY_UNION,"+"],[W.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(Ar),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(W.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":W.Msg.MIXLY_MICROBIT_image_add,"-":W.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},Wr={init:function(){this.setColour(Ar),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(W.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(W.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},Kr={init:function(){this.setColour(Ar),this.appendValueInput("device").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_SETUP).appendField(W.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(W.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_SETUP+W.Msg.MIXLY_DF_LCD+W.Msg.MIXLY_LCD_ADDRESS)}},Jr={init:function(){this.setColour(Ar),this.appendValueInput("row",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(W.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(W.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},jr={init:function(){this.setColour(Ar),this.appendDummyInput().appendField(W.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new W.FieldDropdown([[W.Msg.MIXLY_ON,"on()"],[W.Msg.MIXLY_OFF,"off()"],[W.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[W.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[W.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return W.Msg.LISTS_SET_INDEX_SET+W.Msg.MIXLY_DF_LCD+{"on()":W.Msg.MIXLY_ON,"off()":W.Msg.MIXLY_OFF,"clear()":W.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":W.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":W.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},Qr={init:function(){this.appendDummyInput().appendField(W.Msg.MIXLY_DF_LCD+" OLED "+W.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(W.inputs.Align.RIGHT).appendField("(128*64) "+W.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ar),this.setTooltip(W.Msg.MIXLY_DF_LCD+W.Msg.OLEDDISPLAY+W.Msg.MIXLY_MICROBIT_TYPE_STRING)}},qr={init:function(){var t=[[W.Msg.MIXLY_HEIGHT,"height"],[W.Msg.MIXLY_WIDTH,"width"]];this.setColour(Ar),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+W.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+W.Msg.MIXLY_MICROBIT_IMAGE+{height:W.Msg.MIXLY_HEIGHT,width:W.Msg.MIXLY_WIDTH}[t]}))}},zr={init:function(){this.setColour(Ar),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[W.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:W.Msg.MIXLY_LCD_STAT_CLEAR,1:W.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return W.Msg.MIXLY_DF_LCD+i[e]}))}},Zr="#777777",$r={init:function(){this.setColour(Zr),this.appendDummyInput("").appendField("from ").appendField(new W.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new W.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},tp={init:function(){this.setColour(Zr),this.appendDummyInput("").appendField("import ").appendField(new W.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ep={init:function(){this.setColour(Zr),this.appendDummyInput("").appendField(new W.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new W.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},KT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},JT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},jT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},QT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},qT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},zT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},ZT=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},$T=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},td=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},ed=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},id=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},nd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},sd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},od=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},_d=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},ud=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},ad=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},rd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},pd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},ld=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},Id=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},Td=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},dd=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},hd=function(){return"control.reset()\n"},Md=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||K.Profile.default.serial)+")\n"},md=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||K.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||K.Profile.default.serial)+")\n"},cd=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||K.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||K.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},Od=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},Ed=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},Rd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},gd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Cd=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},Ad=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},Ld=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},Sd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},Nd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},Dd=function(){return"while True:\n pass\n"},fd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},Pd=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(W.Variables,j),Object.assign(W.Procedures,Mn),W.Python=Da,W.generator=Da,K.Profile.default={},Object.assign(K.Profile,Pa),Object.assign(K.Profile.default,Pa.microbit),Object.assign(W.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,N,D,f,P,F,v,Y,b,V),Object.assign(W.Python.forBlock,d,h,M,m,c,O,E,R,g,C,A,L,S,X,y,U,B,G,w,k,H,x)})(); \ No newline at end of file +class Q{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(W.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(W.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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(W.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(W.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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")}},pt={init:function(){this.setColour(st),this.appendValueInput("FROM").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.PYTHON_RANGE).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},lt={init:function(){this.setColour(st),this.appendValueInput("LIST").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(W.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return W.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},It={init:function(){this.setColour(st),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(W.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new W.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(W.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:W.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:W.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},Tt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(W.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new W.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(W.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(W.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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(W.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(W.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")}},dt={init:function(){this.setColour(st);var t=new W.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:W.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:W.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(W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},ht={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new W.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return W.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Mt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new W.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return W.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};It.OPERATORS=[[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],dt.OPERATORS=[[W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[W.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const mt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(W.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},ct={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Ot={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(W.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Et={init:function(){this.setColour(st),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Rt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(W.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},gt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(W.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Ct={init:function(){this.jsonInit({message0:W.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:st,tooltip:W.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:W.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},At={init:function(){this.setColour(st),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(W.Msg.MIXLY_STAT),this.setOutput(!0)}},Lt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},St={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(W.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Nt={init:function(){this.appendDummyInput().appendField(W.Msg.CONTROLS_REPEAT_TITLE_REPEAT+W.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(W.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new W.FieldDropdown([[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[W.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(st),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Dt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ft={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Pt={init:function(){this.setColour(st),this.appendDummyInput().appendField(W.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Ft=230;W.FieldTextInput.math_number_validator=function(t){return String(t)},W.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 vt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(new W.FieldTextInput("0",W.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(W.Msg.MATH_NUMBER_TOOLTIP)}},Yt={init:function(){this.setColour(Ft);this.appendDummyInput("").appendField(W.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new W.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},bt={init:function(){this.setColour(Ft);this.appendDummyInput("").appendField(W.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new W.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:W.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Vt={init:function(){this.setColour(Ft),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.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:W.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:W.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:W.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:W.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:W.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Xt={init:function(){this.setColour(Ft),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.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:W.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:W.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:W.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:W.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:W.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:W.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},yt={init:function(){this.setColour(Ft),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new W.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Bt={init:function(){this.setColour(Ft),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new W.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:W.Msg.MATH_TRIG_TOOLTIP_SIN,COS:W.Msg.MATH_TRIG_TOOLTIP_COS,TAN:W.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:W.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:W.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:W.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:W.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ut={init:function(){var t=[[W.Msg.MATH_BIN,"bin"],[W.Msg.MATH_OCT,"oct"],[W.Msg.MATH_HEX,"hex"]];this.setColour(Ft),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new W.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:W.Msg.MATH_DEC_TOOLTIP_BIN,oct:W.Msg.MATH_DEC_TOOLTIP_OCT,hex:W.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Gt={init:function(){var t=[[W.Msg.LANG_MATH_TO_ROUND,"round"],[W.Msg.LANG_MATH_TO_CEIL,"ceil"],[W.Msg.LANG_MATH_TO_FLOOR,"floor"],[W.Msg.MATH_ABS,"fabs"],[W.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ft),this.appendValueInput("A").setCheck(Number).appendField(new W.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:W.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:W.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:W.Msg.MATH_SINGLE_TOOLTIP_SQ,round:W.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:W.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:W.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},wt={init:function(){var t=[[W.Msg.MIXLY_MAX,"max"],[W.Msg.MIXLY_MIN,"min"]];this.setColour(Ft),this.appendValueInput("A").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(new W.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(W.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:W.Msg.MIXLY_TOOLTIP_MATH_MAX,min:W.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},kt={init:function(){var t=[[W.Msg.MATH_TWO,"two"],[W.Msg.MATH_EIGHT,"eight"],[W.Msg.MATH_TEN,"ten"],[W.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ft),this.appendDummyInput("").appendField(W.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new W.FieldDropdown(t),"OP").appendField(W.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(W.Msg.MATH_ZHW).appendField(new W.FieldDropdown(t),"OP2").appendField(W.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:W.Msg.MATH_Before_two,eight:W.Msg.MATH_Before_eight,ten:W.Msg.MATH_Before_ten,sixteen:W.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:W.Msg.MATH_Behind_two,eight:W.Msg.MATH_Behind_eight,ten:W.Msg.MATH_Behind_ten,sixteen:W.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ht={init:function(){var t=[[W.Msg.LANG_MATH_INT,"int"],[W.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ft),this.setOutput(!0,Number),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_RANDOM).appendField(new W.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(W.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:W.Msg.LANG_MATH_INT,float:W.Msg.LANG_MATH_FLOAT_RANDOM};return W.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},xt={init:function(){this.setColour(Ft),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(W.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(W.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(W.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(W.Msg.MATH_CONSTRAIN_TOOLTIP)}},Wt={init:function(){this.setColour(Ft),this.appendValueInput("NUM",Number).appendField(W.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(W.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(W.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Kt={init:function(){this.setColour(Ft),this.appendDummyInput().appendField(new W.FieldTextInput("0",W.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(W.Msg.MATH_NUMBER_TOOLTIP)}},Jt={init:function(){this.setColour(Ft),this.appendValueInput("NUM").setCheck(Number).appendField(W.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},jt={init:function(){this.setColour(Ft),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(W.Msg.MATH_ROUND).appendField(W.Msg.TEXT_KEEP),this.appendDummyInput().appendField(W.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(W.Msg.MATH_ROUND_NEW_TOOLTIP)}},Qt={init:function(){var t=[[W.Msg.MIXLY_TO_INT,"int"],[W.Msg.MIXLY_TO_FLOAT,"float"],[W.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Ft),this.appendValueInput("VAR").appendField(new W.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:W.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:W.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:W.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},qt={init:function(){var t=[[W.Msg.MIXLY_TO_INT,"int"],[W.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ft),this.appendValueInput("VAR").appendField(new W.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:W.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:W.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},zt=Wt,Zt=160,$t={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new W.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(W.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 W.FieldImage(e,12,12,'"')}},te={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new W.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(W.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 W.FieldImage(e,12,12,'"')}};W.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 ee={init:function(){this.setColour(Zt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new W.FieldTextInput("",W.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(W.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new W.FieldImage(e,7,12,'"')}},ie={init:function(){this.setColour(Zt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(W.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ne={init:function(){this.setColour(Zt),this.appendValueInput("VAR").setCheck(Number).appendField(W.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},se={init:function(){this.setColour(Zt),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},oe={init:function(){this.setColour(Zt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},_e={init:function(){this.setColour(Zt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ue={init:function(){this.WHERE_OPTIONS=[[W.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[W.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[W.Msg.TEXT_GET_INDEX_RANDOM+1+W.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(W.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(W.Msg.LISTS_GET_INDEX_GET,"MODE"),W.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(W.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=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=W.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+W.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",W.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:W.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:W.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:W.Msg.TEXT_GET_INDEX_RANDOM};return W.Msg.PROCEDURES_DEFRETURN_RETURN+W.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+W.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==W.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),W.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(W.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new W.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"),W.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},ae={init:function(){this.setHelpUrl(W.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(W.Msg.LISTS_GET_INDEX_GET+" "+W.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(W.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(W.Msg.PROCEDURES_DEFRETURN_RETURN+W.Msg.MIXLY_MICROBIT_TYPE_STRING+W.Msg.LISTS_GET_INDEX_FROM_START+"n"+W.Msg.TEXT_CHARAT2)}},re={init:function(){this.setHelpUrl(W.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Zt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(W.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(W.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},pe={init:function(){this.WHERE_OPTIONS_1=[[W.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[W.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[W.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[W.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[W.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[W.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(W.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Zt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(W.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(W.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==W.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==W.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),W.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(W.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new W.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"))}},le={init:function(){this.setHelpUrl(W.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(W.Msg.LISTS_GET_INDEX_GET+" "+W.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(W.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(W.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(W.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},Ie={init:function(){var t=[[W.Msg.MIXLY_EQUALS,"==="],[W.Msg.MIXLY_STARTSWITH,"startswith"],[W.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Zt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new W.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Te={init:function(){this.setColour(Zt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(W.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_COMPARETO_HELP)}},de={init:function(){var t=[[W.Msg.TEXT_UPPER,"upper"],[W.Msg.TEXT_TITLE,"title"],[W.Msg.TEXT_CAPITALIZE,"capitalize"],[W.Msg.TEXT_SWAPCASE,"swapcase"],[W.Msg.TEXT_LOWER,"lower"]];this.setColour(Zt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new W.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:W.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:W.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:W.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:W.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:W.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},he={init:function(){var t=[[W.Msg.TEXT_LJUST,"ljust"],[W.Msg.TEXT_CENTER,"center"],[W.Msg.TEXT_RJUST,"rjust"]];this.setColour(Zt),this.appendValueInput("VAR").appendField(new W.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(W.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(W.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},Me={init:function(){this.setColour(Zt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(W.Msg.MIXLY_MID+W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(W.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},me={init:function(){this.setColour(Zt),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},ce={init:function(){this.setColour(Zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(W.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(W.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Oe={init:function(){this.setColour(Zt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(W.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(W.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(W.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Ee={init:function(){var t=[[W.Msg.TEXT_TRIM_BOTH,"strip"],[W.Msg.TEXT_TRIM_LEFT,"lstrip"],[W.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Zt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(W.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new W.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(W.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:W.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:W.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:W.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Re={init:function(){this.setColour(Zt),this.appendDummyInput("").appendField(W.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new W.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new W.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(W.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){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},mi={init:function(){this.setColour(hi),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(W.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},ci={init:function(){this.setColour(hi),this.appendDummyInput().appendField(W.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Oi={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_KEYS),this.setTooltip(W.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ei={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(W.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(W.Msg.DICTS_GET_TOOLTIP)}},Ri={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(W.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(W.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(W.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},gi={init:function(){this.setColour(hi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(W.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Ci={init:function(){this.setColour(hi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(W.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_DELETE_TOOLTIP)}},Ai={init:function(){this.setColour(hi),this.appendValueInput("DICT2").setCheck("Dict").appendField(W.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(W.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(W.Msg.MIXLY_MID),this.setTooltip(W.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Li={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_CLEAR),this.setTooltip(W.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Si={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_ITEMS),this.setTooltip(W.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ni={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_VALUES),this.setTooltip(W.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Di={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.MIXLY_LENGTH),this.setTooltip(W.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},fi={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.DICT_DELDICT),this.setTooltip(W.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pi={init:function(){this.MODE=[[W.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[W.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(W.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(W.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=W.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=W.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==W.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 W.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")}},Fi={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(W.Msg.DICTS_ADD_VALUE),this.setTooltip(W.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},vi={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(W.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(W.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Yi={init:function(){this.setColour(hi),this.appendDummyInput("").appendField(new W.FieldLabel(W.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 W.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(W.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){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bi={init:function(){this.setColour(hi),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Vi={init:function(){this.setColour(hi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(W.Msg.MIXLY_TO_JSON),this.setTooltip(W.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Xi={init:function(){this.setColour(hi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(W.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(W.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},yi=210,Bi={init:function(){var t=W.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(yi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:W.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:W.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:W.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:W.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:W.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:W.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Ui={init:function(){var t=W.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=W.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(yi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new W.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Gi={init:function(){var t=[[W.Msg.LOGIC_OPERATION_AND,"AND"],[W.Msg.LOGIC_OPERATION_OR,"OR"],[W.Msg.LOGIC_OPERATION_NOR,"NOR"],[W.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(yi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:W.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:W.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:W.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:W.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},wi={init:function(){this.setColour(yi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(W.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(W.Msg.LOGIC_NEGATE_TOOLTIP)}},ki={init:function(){var t=[[W.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[W.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(yi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new W.FieldDropdown(t),"BOOL"),this.setTooltip(W.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Hi={init:function(){this.setColour(yi),this.setOutput(!0),this.appendDummyInput().appendField(W.Msg.LOGIC_NULL),this.setTooltip(W.Msg.LOGIC_NULL_TOOLTIP)}},xi={init:function(){this.setColour(yi),this.appendValueInput("A"),this.appendValueInput("B").appendField(W.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(W.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Wi={init:function(){var t=[[W.Msg.TEXT_APPEND_TO,"in"],[W.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(yi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new W.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(W.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(W.Msg.IN)}},Ki={init:function(){var t=[[W.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[W.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(yi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Ji={init:function(){this.setColour(yi),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(W.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},ji={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(W.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(W.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=W.Msg.MIXLY_USE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=W.Msg.MIXLY_BELONG;return i+{r:W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},qi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[W.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=W.Msg.MIXLY_USE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=W.Msg.MIXLY_BELONG,_=W.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},zi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(W.Msg.MIXPY_TEXT_ENCODE).appendField(new W.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=W.Msg.MIXLY_USE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=W.Msg.MIXLY_BELONG,_=W.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:W.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:W.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:W.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Zi={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+W.Msg.MIXLY_MICROBIT_TYPE_STRING+W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},$i={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},tn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(W.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=W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:W.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:W.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},en={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(W.Msg.MICROBIT_PYTHON_TYPE)}},nn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.HTML_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},sn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},on={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},_n={init:function(){this.setColour(0),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};W.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const un={init:function(){this.setColour(0),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[W.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(W.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},an={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+W.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},rn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},pn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(W.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=W.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+W.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:W.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},ln={init:function(){this.setColour(0),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},In={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(W.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[W.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 W.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+W.Msg.MIXLY_ESP32_SET+{mkdir:W.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(W.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(W.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.HTML_FILE,"isfile"],[W.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 W.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+W.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:W.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},Mn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(W.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(W.Msg.MIXLY_SETUP+W.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(W.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},mn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(W.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(W.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},cn={};cn.NAME_TYPE=W.PROCEDURE_CATEGORY_NAME,cn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(W.Msg.MIXLY_AIP_ATTR).setAlign(W.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ts={init:function(){this.setColour(us),this.appendDummyInput().appendField(W.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ds={init:function(){this.setColour(us),this.appendDummyInput().appendField(W.Msg.HTML_FORM_CONTENT).appendField(new W.FieldDropdown([[W.Msg.HTML_TEXT,"text"],[W.Msg.HTML_EMAIL,"email"],[W.Msg.HTML_NUMBER,"number"],[W.Msg.HTML_PASSWORD,"password"],[W.Msg.HTML_CHECKBOX,"checkbox"],[W.Msg.HTML_RADIOBUTTON,"radiobutton"],[W.Msg.HTML_BUTTON,"button"],[W.Msg.HTML_COLOUR,"colour"],[W.Msg.HTML_DATE,"date"],[W.Msg.HTML_LOCALTIME,"local time"],[W.Msg.HTML_FILE,"file"],[W.Msg.HTML_HIDDEN,"hidden"],[W.Msg.HTML_IMAGE,"image"],[W.Msg.HTML_MONTH,"month"],[W.Msg.HTML_RANGE,"range"],[W.Msg.HTML_RESET,"reset"],[W.Msg.HTML_SEARCH,"search"],[W.Msg.HTML_SUBMIT,"submit"],[W.Msg.HTML_TELEPHONENUMBER,"telephone number"],[W.Msg.HTML_TIME,"time"],[W.Msg.HTML_URL,"url"],[W.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(W.Msg.HTML_NAME).appendField(new W.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(W.Msg.HTML_VALUE).appendField(new W.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(W.Msg.MIXLY_AIP_ATTR).setAlign(W.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hs={init:function(){this.setColour(us),this.appendDummyInput().appendField(new W.FieldTextInput("property"),"KEY").appendField(":").appendField(new W.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ms={init:function(){this.setColour(us),this.appendDummyInput().appendField(new W.FieldTextInput("property"),"KEY").appendField(":").appendField(new W.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ms={init:function(){this.setColour(us),this.appendDummyInput().appendField(W.Msg.HTML_TEXT).appendField(new W.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cs=160,Os={init:function(){this.setColour(cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new W.FieldTable(""),"TEXT")}},Es={init:function(){this.setColour(cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new W.FieldMultilineInput(""),"TEXT")}},Rs={init:function(){this.setColour(cs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new W.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},gs={init:function(){this.setColour(cs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Cs={init:function(){this.setColour(cs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new W.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},As={init:function(){this.setColour(cs),this.appendValueInput("VALUE").appendField(W.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Ls={init:function(){this.setColour(cs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new W.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(W.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=W.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 "+r()+"("+t+", "+e+", "+i+")"},W.isNumber(n)&&W.isNumber(s)&&W.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 au=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]},ru=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},pu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},lu=function(t,e){return["None",e.ORDER_ATOMIC]},Iu=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]},Tu=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]},du=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]},hu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Mu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},mu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},cu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ou=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Eu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ru=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},gu=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]},Cu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Au=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Lu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Su=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Nu=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Du=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fu=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Pu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Fu=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"},vu=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Yu=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},bu=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Vu=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"},Xu=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]},yu=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"},Bu=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"},Uu=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),W.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]},Oa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ea=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},Ra=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ga=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ca=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Aa=function(t,e){return'"},La=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Sa=function(){return this.getFieldValue("TEXT")+"\n"},Na=function(t){return t.getFieldValue("TEXT")+"\n"},Da=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},fa=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Pa=function(){return""},Fa=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},va=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")},ba.scrubNakedValue=function(t){return t+"\n"},ba.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},ba.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},ba.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=W.utils.string.wrap(o,ba.COMMENT_WRAP-3),n+=ba.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Va={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],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:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","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"]]}};Va["BBC micro:bit"]=Va.microbit;const Xa=Va,ya=100,Ba={init:function(){this.jsonInit({colour:ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:W.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},Ua={init:function(){this.jsonInit({colour:ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:W.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Ga={init:function(){this.setColour(ya),this.appendValueInput("PIN",Number).appendField(W.Msg.MIXLY_TONE).appendField(W.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(W.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(W.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(W.Msg.MIXLY_MILLIS).appendField(W.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new W.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},wa={init:function(){this.setColour(ya),this.appendValueInput("PIN",Number).appendField(W.Msg.MIXLY_TONE).appendField(W.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(W.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},ka={init:function(){this.jsonInit({colour:ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:W.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Play_notes1)}},Ha={init:function(){this.jsonInit({colour:ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:W.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},xa={init:function(){this.jsonInit({colour:ya,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:W.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Reset_music)}},Wa={init:function(){this.setColour(ya),this.appendValueInput("PIN").appendField(W.Msg.MIXLY_NOTONE).appendField(W.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_NOTONE)}},Ka={init:function(){this.jsonInit({colour:ya,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:W.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Get_current_tempo)}},Ja={init:function(){this.setColour(ya),this.appendValueInput("TICKS").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(W.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(W.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},ja={init:function(){this.setColour(ya),this.appendValueInput("VAR").setCheck(String).appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(W.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(W.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(W.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(W.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=W.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Qa={init:function(){this.setColour(ya),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qa={init:function(){this.setColour(ya),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},za={init:function(){this.setColour(ya),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Za={init:function(){this.setColour(ya),this.appendValueInput("VAR").setCheck(String).appendField(W.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(W.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+W.Msg.MIXLY_MICROBIT_TYPE_STRING+W.Msg.MICROBIT_SPEECH_translation)}},$a={init:function(){this.setColour(ya),this.appendValueInput("PIN",Number).appendField(W.Msg.MIXLY_SERVO).appendField(W.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},tr={init:function(){this.appendValueInput("speed").setCheck(null).appendField(W.Msg.MIXLY_MOTOR).appendField(new W.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(W.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new W.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ya),this.setTooltip(""),this.setHelpUrl("")}},er={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(W.Msg.MIXLY_RGB_PIN_COUNT)}},ir={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(W.Msg.MIXLY_RGB_NUM_R_G_B)}},nr={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(W.inputs.Align.RIGHT).appendField(new W.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sr={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.MIXLY_RGB),this.appendDummyInput().appendField(W.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(W.Msg.MIXLY_ESP32_MUSIC_WRI)}},or={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.MIXLY_SETUP+" "+W.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(W.inputs.Align.RIGHT).appendField("TX#"),this.appendValueInput("TX").setAlign(W.inputs.Align.RIGHT).appendField("RX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var _r=[[W.Msg.MIXLY_MP3_PLAY,"play"],[W.Msg.MIXLY_MP3_PAUSE,"pause"],[W.Msg.MIXLY_MP3_NEXT,"next_track"],[W.Msg.MIXLY_MP3_PREV,"prev_track"],[W.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[W.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const ur={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_STAT).appendField(new W.FieldDropdown(_r),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ar=[[W.Msg.MIXLY_MP3_LOOP_ALL,"0"],[W.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[W.Msg.MIXLY_MP3_LOOP_ONE,"2"],[W.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const rr={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_MP3_LOOP_MODE).appendField(W.Msg.MIXLY_STAT).appendField(new W.FieldDropdown(ar),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var pr=[[W.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[W.Msg.MIXLY_MP3_EQ_POP,"1"],[W.Msg.MIXLY_MP3_EQ_ROCK,"2"],[W.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[W.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[W.Msg.MIXLY_MP3_EQ_BASS,"5"]];const lr={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_MP3_EQ_MODE).appendField(W.Msg.MIXLY_STAT).appendField(new W.FieldDropdown(pr),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Ir={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(W.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(W.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Tr={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(W.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},dr={init:function(){this.setColour(ya),this.appendDummyInput("").appendField(W.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(W.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(W.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},hr=140,Mr={init:function(){this.setColour(225),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[W.Msg.HTML_RESET,"reset"]]),"type").appendField(W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:W.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:W.Blockly.Msg.HTML_RESET}[e]+i}))}},mr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:W.Msg.MIXLY_MICROBIT_Switch_on_radio})}},cr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:W.Msg.MIXLY_MICROBIT_Switch_off_radio})}},Or={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:W.Msg.MIXLY_MICROBIT_Configure_radio1,message0:W.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},Er={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:W.Msg.MIXLY_MICROBIT_Reset_radio})}},Rr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:W.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},gr={init:function(){this.setColour(225),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_MSG,"send"],[W.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_Send_message1)}},Cr={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:W.Msg.MIXLY_MICROBIT_Receive_message,message0:W.Msg.MIXLY_MICROBIT_Receive_message})}},Ar={init:function(){this.setColour(225),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_MSG,"receive"],[W.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[W.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_Receive_message)}},Lr={init:function(){this.setColour(hr),this.appendValueInput("RX",Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(W.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(W.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(W.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sr={init:function(){this.setColour(hr),this.appendValueInput("address").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(W.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(W.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new W.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Nr={init:function(){this.setColour(hr),this.appendValueInput("address").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(W.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new W.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},Dr={init:function(){this.jsonInit({colour:hr,nextStatement:null,previousStatement:null,message0:W.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:K.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:K.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:K.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},fr={init:function(){this.setColour(hr),this.appendValueInput("data").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},Pr=180,Fr={init:function(){this.jsonInit({colour:Pr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:W.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Clear_display)}},vr={init:function(){this.setColour(Pr),this.appendValueInput("x").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_GET).appendField(W.Msg.MIXLY_BRIGHTNESS).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(W.Msg.MIXLY_BRIGHTNESS1)}},Yr={init:function(){this.setColour(Pr),this.appendValueInput("x").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(W.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_BRIGHTNESS2)}},br={init:function(){this.setColour(Pr),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(W.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},Vr={init:function(){this.setColour(Pr),this.appendValueInput("data").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xr={init:function(){this.setColour(Pr),this.appendValueInput("data").setCheck(String).appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(W.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(W.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yr={init:function(){this.setColour(Pr),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(W.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.OLED_BITMAP)}},Br={init:function(){this.jsonInit({colour:Pr,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:W.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},Ur={init:function(){this.jsonInit({colour:Pr,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:W.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+W.Msg.MIXLY_MICROBIT_Animate_images1)}},Gr={init:function(){this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:Pr,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:W.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},wr={init:function(){this.jsonInit({colour:Pr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:W.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},kr={init:function(){this.setColour(Pr),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[W.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(W.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=W.Msg.MIXLY_MICROBIT_monitor;return{on:W.Msg.MIXLY_MICROBIT_Turn_on_display,off:W.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},Hr={init:function(){this.jsonInit({colour:Pr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:W.Msg.MIXLY_MICROBIT_Turn_off_display})}},xr={init:function(){this.jsonInit({colour:Pr,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:W.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Display_is_on1)}},Wr={init:function(){this.jsonInit({colour:Pr,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:W.Msg.MIXLY_MICROBIT_Built_in_image1,message0:W.Msg.MIXLY_MICROBIT_Built_in_image})}},Kr={init:function(){this.jsonInit({colour:Pr,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:W.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Copy_image1)}},Jr={init:function(){this.jsonInit({colour:Pr,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:W.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Invert_image1)}},jr={init:function(){this.jsonInit({colour:Pr,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:W.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(W.Msg.MIXLY_MICROBIT_Create_image1)}},Qr={init:function(){var t=[[W.Msg.MIXLY_UP,"up"],[W.Msg.MIXLY_DOWN,"down"],[W.Msg.MIXLY_LEFT,"left"],[W.Msg.MIXLY_RIGHT,"right"]];this.setColour(Pr),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(W.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(W.Msg.DISPLAY_IMAGE_LET2).appendField(new W.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(W.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(W.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=W.Msg.DISPLAY_IMAGE_LET,n=W.Msg.DISPLAY_IMAGE_LET2,s=W.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:W.Msg.MIXLY_UP,down:W.Msg.MIXLY_DOWN,left:W.Msg.MIXLY_LEFT,right:W.Msg.MIXLY_RIGHT}[t]+s}))}},qr={init:function(){var t=[[W.Msg.MICROBIT_DISPLAY_UNION,"+"],[W.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(Pr),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(W.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":W.Msg.MIXLY_MICROBIT_image_add,"-":W.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},zr={init:function(){this.setColour(Pr),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(W.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(W.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},Zr={init:function(){this.setColour(Pr),this.appendValueInput("device").setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_SETUP).appendField(W.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(W.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(W.Msg.MIXLY_SETUP+W.Msg.MIXLY_DF_LCD+W.Msg.MIXLY_LCD_ADDRESS)}},$r={init:function(){this.setColour(Pr),this.appendValueInput("row",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(W.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(W.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},tp={init:function(){this.setColour(Pr),this.appendDummyInput().appendField(W.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new W.FieldDropdown([[W.Msg.MIXLY_ON,"on()"],[W.Msg.MIXLY_OFF,"off()"],[W.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[W.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[W.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return W.Msg.LISTS_SET_INDEX_SET+W.Msg.MIXLY_DF_LCD+{"on()":W.Msg.MIXLY_ON,"off()":W.Msg.MIXLY_OFF,"clear()":W.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":W.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":W.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},ep={init:function(){this.appendDummyInput().appendField(W.Msg.MIXLY_DF_LCD+" OLED "+W.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(W.inputs.Align.RIGHT).appendField("(128*64) "+W.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(W.inputs.Align.RIGHT).appendField(W.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pr),this.setTooltip(W.Msg.MIXLY_DF_LCD+W.Msg.OLEDDISPLAY+W.Msg.MIXLY_MICROBIT_TYPE_STRING)}},ip={init:function(){var t=[[W.Msg.MIXLY_HEIGHT,"height"],[W.Msg.MIXLY_WIDTH,"width"]];this.setColour(Pr),this.appendDummyInput().appendField(W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+W.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new W.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return W.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+W.Msg.MIXLY_MICROBIT_IMAGE+{height:W.Msg.MIXLY_HEIGHT,width:W.Msg.MIXLY_WIDTH}[t]}))}},np={init:function(){this.setColour(Pr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new W.FieldDropdown([[W.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[W.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:W.Msg.MIXLY_LCD_STAT_CLEAR,1:W.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return W.Msg.MIXLY_DF_LCD+i[e]}))}},sp="#777777",op={init:function(){this.setColour(sp),this.appendDummyInput("").appendField("from ").appendField(new W.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new W.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_p={init:function(){this.setColour(sp),this.appendDummyInput("").appendField("import ").appendField(new W.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},up={init:function(){this.setColour(sp),this.appendDummyInput("").appendField(new W.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new W.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},ZT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},$T=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},td=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},ed=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},id=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},nd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},sd=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},od=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},_d=function(t,e){var i=this.getFieldValue("PIN"),n=e.valueToCode(this,"NominalResistance",e.ORDER_ATOMIC),s=e.valueToCode(this,"betaCoefficient",e.ORDER_ATOMIC),o=e.valueToCode(this,"seriesResistor",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ntc="import ntc",["ntc.read(pin"+i+", "+n+", "+s+", "+o+")",e.ORDER_ATOMIC]},ud=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},ad=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},rd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},pd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},ld=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},Id=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},Td=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},dd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},hd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},Md=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},md=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},cd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},Od=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},Ed=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},Rd=function(){return"control.reset()\n"},gd=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||K.Profile.default.serial)+")\n"},Cd=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||K.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||K.Profile.default.serial)+")\n"},Ad=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||K.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||K.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},Ld=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},Sd=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},Nd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Dd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},fd=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},Pd=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},Fd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},vd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},Yd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},bd=function(){return"while True:\n pass\n"},Vd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},Xd=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(W.Variables,j),Object.assign(W.Procedures,On),W.Python=ba,W.generator=ba,K.Profile.default={},Object.assign(K.Profile,Xa),Object.assign(K.Profile.default,Xa.microbit),Object.assign(W.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,N,D,f,P,F,v,Y,b,V),Object.assign(W.Python.forBlock,d,h,M,m,c,O,E,R,g,C,A,L,S,X,y,B,U,G,w,k,H,x)})(); \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_microbit/styles/main.bdbbfe18.css b/boards/default/micropython_nrf51822_microbit/styles/main.c4cdd015.css similarity index 100% rename from boards/default/micropython_nrf51822_microbit/styles/main.bdbbfe18.css rename to boards/default/micropython_nrf51822_microbit/styles/main.c4cdd015.css diff --git a/boards/default/micropython_nrf51822_mithoncc/examples/七彩RGB灯.mix b/boards/default/micropython_nrf51822_mithoncc/examples/UNbUm7rKOzg2.mix similarity index 100% rename from boards/default/micropython_nrf51822_mithoncc/examples/七彩RGB灯.mix rename to boards/default/micropython_nrf51822_mithoncc/examples/UNbUm7rKOzg2.mix diff --git a/boards/default/micropython_nrf51822_mithoncc/examples/map.json b/boards/default/micropython_nrf51822_mithoncc/examples/map.json index b3256b91..6f7b6931 100644 --- a/boards/default/micropython_nrf51822_mithoncc/examples/map.json +++ b/boards/default/micropython_nrf51822_mithoncc/examples/map.json @@ -1,5 +1,5 @@ { - "七彩RGB灯.mix": { + "UNbUm7rKOzg2.mix": { "__file__": true, "__name__": "七彩RGB灯.mix" } diff --git a/boards/default/micropython_nrf51822_mithoncc/index.xml b/boards/default/micropython_nrf51822_mithoncc/index.xml index a68d0d09..566a661d 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/main.bundle.js b/boards/default/micropython_nrf51822_mithoncc/main.bundle.js index 60a0f961..b7e4d77f 100644 --- a/boards/default/micropython_nrf51822_mithoncc/main.bundle.js +++ b/boards/default/micropython_nrf51822_mithoncc/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>st,controls_typeLists:()=>ot,variables_change:()=>it,variables_get:()=>tt,variables_global:()=>nt,variables_set:()=>et});var i={};t.r(i),t.d(i,{base_setup:()=>at,controls_delay:()=>rt,controls_end_program:()=>pt,controls_except:()=>Ct,controls_finally:()=>At,controls_flow_statements:()=>Mt,controls_for:()=>mt,controls_forEach:()=>Tt,controls_for_range:()=>ct,controls_if:()=>lt,controls_if_else:()=>Rt,controls_if_elseif:()=>Et,controls_if_if:()=>Ot,controls_lambda:()=>St,controls_main:()=>ut,controls_pass:()=>Nt,controls_range:()=>It,controls_repeat_ext:()=>Lt,controls_thread:()=>ft,controls_try:()=>gt,controls_try_finally:()=>ht,controls_whileUntil:()=>dt,do_while:()=>Dt});var n={};t.r(n),t.d(n,{base_map:()=>qt,math_arithmetic:()=>bt,math_bit:()=>Xt,math_constant:()=>vt,math_constant_mp:()=>Yt,math_constrain:()=>Ht,math_dec:()=>Bt,math_indexer_number:()=>Wt,math_map:()=>xt,math_max_min:()=>Gt,math_number:()=>Ft,math_number_base_conversion:()=>wt,math_random:()=>kt,math_random_seed:()=>Kt,math_round:()=>Jt,math_selfcalcu:()=>Vt,math_to_int:()=>Ut,math_trig:()=>yt,text_to_number:()=>jt,text_to_number_skulpt:()=>Qt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ie,char_to_ascii:()=>ne,number_to_text:()=>se,os_system:()=>De,text:()=>Zt,text_capital:()=>Te,text_center:()=>de,text_char:()=>te,text_char_at:()=>ue,text_char_at2:()=>_e,text_char_at3:()=>Le,text_compareTo:()=>Ae,text_compare_to:()=>Ie,text_create_with_container:()=>Re,text_create_with_item:()=>ge,text_encode:()=>Ne,text_equals_starts_ends:()=>le,text_eval:()=>fe,text_find:()=>he,text_format:()=>Ee,text_format_noreturn:()=>Se,text_join:()=>ee,text_join_seq:()=>Me,text_length:()=>oe,text_random_char:()=>ae,text_replace:()=>me,text_split:()=>ce,text_strip:()=>Oe,text_substring:()=>pe,text_substring2:()=>re,text_substring3:()=>Ce,text_textarea:()=>$t});var o={};t.r(o),t.d(o,{list_many_input:()=>Ze,list_tolist:()=>oi,list_tolist2:()=>Ti,list_trig:()=>Qe,lists_2d_get_col_row_data:()=>be,lists_2d_get_data_with_col_row:()=>Ye,lists_append_extend:()=>Ge,lists_change_to:()=>ze,lists_change_to_general:()=>ti,lists_clear:()=>We,lists_create_with:()=>Ve,lists_create_with2:()=>_i,lists_create_with_container:()=>ye,lists_create_with_item:()=>Be,lists_create_with_noreturn:()=>$e,lists_create_with_text:()=>Xe,lists_create_with_text2:()=>ui,lists_del_general:()=>ei,lists_find:()=>je,lists_getIndex3:()=>ai,lists_getSublist3:()=>ri,lists_get_index:()=>Fe,lists_get_random_item:()=>we,lists_get_random_sublist:()=>ke,lists_get_sublist:()=>ve,lists_insert_value:()=>He,lists_insert_value2:()=>li,lists_pop:()=>Je,lists_remove_at:()=>Ke,lists_remove_at2:()=>Ii,lists_reverse:()=>xe,lists_setIndex3:()=>pi,lists_set_index:()=>Ue,lists_sort:()=>qe,lists_zip:()=>ii,lists_zip_container:()=>ni,lists_zip_item:()=>si});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Di,dicts_add_or_change:()=>Ri,dicts_clear:()=>Ai,dicts_create_with:()=>hi,dicts_create_with_container:()=>Mi,dicts_create_with_item:()=>mi,dicts_create_with_noreturn:()=>vi,dicts_deldict:()=>fi,dicts_delete:()=>gi,dicts_get:()=>Oi,dicts_get_default:()=>Ei,dicts_items:()=>Li,dicts_keys:()=>ci,dicts_length:()=>Ni,dicts_pop:()=>Pi,dicts_setdefault:()=>Fi,dicts_to_json:()=>bi,dicts_todict:()=>Yi,dicts_update:()=>Ci,dicts_values:()=>Si,json_to_dicts:()=>Vi});var u={};t.r(u),t.d(u,{logic_boolean:()=>wi,logic_compare:()=>yi,logic_compare_continous:()=>Bi,logic_is:()=>Wi,logic_is_in:()=>xi,logic_negate:()=>Gi,logic_null:()=>ki,logic_operation:()=>Ui,logic_tobool:()=>Ki,logic_true_or_false:()=>Hi});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Mn,sdcard_use_spi_init:()=>hn,storage_can_write_ornot:()=>en,storage_change_dir:()=>Tn,storage_close_file:()=>sn,storage_delete_file:()=>_n,storage_file_seek:()=>rn,storage_file_tell:()=>an,storage_file_write:()=>zi,storage_fileopen:()=>ji,storage_fileopen_new:()=>Qi,storage_fileopen_new_encoding:()=>qi,storage_get_a_line:()=>tn,storage_get_contents:()=>$i,storage_get_contents_without_para:()=>Zi,storage_get_current_dir:()=>pn,storage_get_file_size:()=>un,storage_get_filename:()=>nn,storage_is_file:()=>dn,storage_list_all_files:()=>on,storage_make_dir:()=>ln,storage_open_file_with_os:()=>Ji,storage_rename:()=>In});var r={};t.r(r),t.d(r,{procedures_callnoreturn:()=>Cn,procedures_callreturn:()=>An,procedures_defnoreturn:()=>On,procedures_defreturn:()=>En,procedures_ifreturn:()=>Ln,procedures_mutatorarg:()=>gn,procedures_mutatorcontainer:()=>Rn,procedures_return:()=>Sn});var p={};t.r(p),t.d(p,{tuple_change_to:()=>Bn,tuple_create_with:()=>fn,tuple_create_with_container:()=>Dn,tuple_create_with_item:()=>Pn,tuple_create_with_noreturn:()=>kn,tuple_create_with_text2:()=>Fn,tuple_create_with_text_return:()=>vn,tuple_del:()=>Vn,tuple_find:()=>Un,tuple_getIndex:()=>Yn,tuple_getSublist:()=>wn,tuple_get_random_item:()=>xn,tuple_get_sublist:()=>Hn,tuple_join:()=>Xn,tuple_length:()=>bn,tuple_max:()=>yn,tuple_totuple:()=>Wn,tuple_trig:()=>Gn});var l={};t.r(l),t.d(l,{set_add_discard:()=>es,set_clear:()=>Zn,set_create_with:()=>Jn,set_create_with_container:()=>jn,set_create_with_item:()=>Qn,set_create_with_text_return:()=>ss,set_length:()=>qn,set_operate:()=>$n,set_operate_update:()=>ts,set_pop:()=>zn,set_sub:()=>is,set_toset:()=>os,set_update:()=>ns});var I={};t.r(I),t.d(I,{html_content:()=>ps,html_content_more:()=>ls,html_document:()=>us,html_form:()=>Ts,html_head_body:()=>rs,html_style:()=>Is,html_style_color:()=>hs,html_style_content:()=>ds,html_text:()=>Ms,html_title:()=>as});var T={};t.r(T),t.d(T,{attribute_access:()=>Ps,function_call:()=>Ns,function_call_container:()=>fs,function_call_item:()=>Ds,raw_block:()=>Os,raw_empty:()=>Rs,raw_expression:()=>Es,raw_table:()=>cs,text_comment:()=>gs,text_print_multiple:()=>As,text_print_multiple_container:()=>Ls,text_print_multiple_item:()=>Ss,type_check:()=>Cs});var d={};t.r(d),t.d(d,{controls_type:()=>Vs,controls_typeLists:()=>Xs,variables_change:()=>Ys,variables_get:()=>Fs,variables_global:()=>bs,variables_set:()=>vs});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Ks,base_setup:()=>Bs,controls_delay:()=>Ws,controls_flow_statements:()=>xs,controls_for:()=>ws,controls_forEach:()=>zs,controls_for_range:()=>ks,controls_if:()=>Us,controls_interrupts:()=>Qs,controls_lambda:()=>$s,controls_main:()=>ys,controls_millis:()=>Js,controls_nointerrupts:()=>qs,controls_pass:()=>eo,controls_range:()=>Zs,controls_repeat:()=>oo,controls_repeat_ext:()=>so,controls_thread:()=>io,controls_try_finally:()=>Gs,controls_whileUntil:()=>Hs,do_while:()=>no,reset:()=>js,time_sleep:()=>to});var M={};t.r(M),t.d(M,{base_map:()=>No,math_arithmetic:()=>po,math_bit:()=>ro,math_constant:()=>uo,math_constant_mp:()=>ao,math_constrain:()=>Eo,math_dec:()=>ho,math_indexer_number:()=>Co,math_map:()=>Oo,math_max_min:()=>mo,math_number:()=>_o,math_number_base_conversion:()=>Ro,math_random:()=>co,math_random_seed:()=>go,math_round:()=>Ao,math_selfcalcu:()=>lo,math_single:()=>Io,math_to_int:()=>Mo,math_trig:()=>To,text_to_number:()=>Lo,text_to_number_skulpt:()=>So});var m={};t.r(m),t.d(m,{ascii_to_char:()=>vo,char_to_ascii:()=>Yo,number_to_text:()=>bo,os_system:()=>n_,text:()=>fo,text_capital:()=>Ho,text_center:()=>xo,text_char:()=>Po,text_char_at:()=>yo,text_char_at2:()=>Xo,text_char_at3:()=>t_,text_compareTo:()=>$o,text_compare_to:()=>Go,text_encode:()=>e_,text_equals_starts_ends:()=>Uo,text_eval:()=>i_,text_find:()=>Wo,text_format:()=>qo,text_format_noreturn:()=>zo,text_join:()=>Fo,text_join_seq:()=>Ko,text_length:()=>Vo,text_random_char:()=>Bo,text_replace:()=>Jo,text_split:()=>jo,text_strip:()=>Qo,text_substring:()=>ko,text_substring2:()=>wo,text_substring3:()=>Zo,text_textarea:()=>Do});var c={};t.r(c),t.d(c,{list_many_input:()=>C_,list_tolist:()=>V_,list_tolist2:()=>X_,list_trig:()=>E_,lists_2d_get_col_row_data:()=>__,lists_2d_get_data_with_col_row:()=>o_,lists_append_extend:()=>l_,lists_change_to:()=>g_,lists_change_to_general:()=>L_,lists_clear:()=>M_,lists_create_with:()=>u_,lists_create_with2:()=>N_,lists_create_with_noreturn:()=>A_,lists_create_with_text:()=>a_,lists_create_with_text2:()=>f_,lists_del_general:()=>S_,lists_find:()=>m_,lists_getIndex3:()=>D_,lists_getSublist3:()=>P_,lists_get_index:()=>r_,lists_get_random_item:()=>I_,lists_get_random_sublist:()=>T_,lists_get_sublist:()=>s_,lists_insert_value:()=>d_,lists_insert_value2:()=>v_,lists_pop:()=>O_,lists_remove_at:()=>c_,lists_remove_at2:()=>Y_,lists_reverse:()=>h_,lists_setIndex3:()=>F_,lists_set_index:()=>p_,lists_sort:()=>R_,lists_zip:()=>b_});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>Q_,dicts_add_or_change:()=>w_,dicts_clear:()=>x_,dicts_create_with:()=>y_,dicts_create_with_noreturn:()=>Z_,dicts_deldict:()=>j_,dicts_delete:()=>k_,dicts_get:()=>U_,dicts_get_default:()=>G_,dicts_items:()=>W_,dicts_keys:()=>B_,dicts_length:()=>J_,dicts_pop:()=>q_,dicts_setdefault:()=>z_,dicts_to_json:()=>tu,dicts_todict:()=>$_,dicts_update:()=>H_,dicts_values:()=>K_,json_to_dicts:()=>eu});var E={};t.r(E),t.d(E,{logic_boolean:()=>_u,logic_compare:()=>iu,logic_compare_continous:()=>nu,logic_is:()=>pu,logic_is_in:()=>ru,logic_negate:()=>ou,logic_null:()=>uu,logic_operation:()=>su,logic_tobool:()=>lu,logic_true_or_false:()=>au});var R={};t.r(R),t.d(R,{sdcard_mount:()=>bu,sdcard_use_spi_init:()=>Yu,storage_can_write_ornot:()=>Eu,storage_change_dir:()=>fu,storage_close_file:()=>gu,storage_delete_file:()=>Au,storage_file_seek:()=>Nu,storage_file_tell:()=>Su,storage_file_write:()=>Mu,storage_fileopen:()=>Tu,storage_fileopen_new:()=>du,storage_fileopen_new_encoding:()=>hu,storage_get_a_line:()=>Ou,storage_get_contents:()=>cu,storage_get_contents_without_para:()=>mu,storage_get_current_dir:()=>Du,storage_get_file_size:()=>Lu,storage_get_filename:()=>Ru,storage_is_file:()=>vu,storage_list_all_files:()=>Cu,storage_make_dir:()=>Pu,storage_open_file_with_os:()=>Iu,storage_rename:()=>Fu});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>Bu,procedures_callreturn:()=>yu,procedures_defnoreturn:()=>Xu,procedures_defreturn:()=>Vu,procedures_ifreturn:()=>Uu,procedures_return:()=>Gu});var C={};t.r(C),t.d(C,{tuple_change_to:()=>Qu,tuple_create_with:()=>wu,tuple_create_with_noreturn:()=>$u,tuple_create_with_text2:()=>ku,tuple_create_with_text_return:()=>Hu,tuple_del:()=>Ku,tuple_find:()=>qu,tuple_getIndex:()=>xu,tuple_getSublist:()=>Zu,tuple_get_random_item:()=>ea,tuple_get_sublist:()=>ta,tuple_join:()=>Ju,tuple_length:()=>Wu,tuple_max:()=>ju,tuple_totuple:()=>ia,tuple_trig:()=>zu});var A={};t.r(A),t.d(A,{set_add_discard:()=>ra,set_clear:()=>_a,set_create_with:()=>na,set_create_with_text_return:()=>Ia,set_length:()=>sa,set_operate:()=>ua,set_operate_update:()=>aa,set_pop:()=>oa,set_sub:()=>pa,set_toset:()=>Ta,set_update:()=>la});var L={};t.r(L),t.d(L,{html_content:()=>ma,html_content_more:()=>ca,html_document:()=>da,html_form:()=>Ea,html_head_body:()=>Ma,html_style:()=>Oa,html_style_content:()=>Ra,html_text:()=>ga,html_title:()=>ha});var S={};t.r(S),t.d(S,{attribute_access:()=>Da,function_call:()=>fa,raw_block:()=>Ca,raw_empty:()=>La,raw_expression:()=>Aa,raw_table:()=>Sa,type_check:()=>Na});var N={};t.r(N),t.d(N,{MP3_CONTROL:()=>nr,MP3_EQ_MODE:()=>ur,MP3_INIT:()=>er,MP3_LOOP_MODE:()=>or,MP3_PLAY_FOLDER:()=>pr,MP3_PLAY_NUM:()=>rr,MP3_VOL:()=>ar,bit_motor_control:()=>qa,display_rgb:()=>Za,display_rgb2:()=>$a,display_rgb_init:()=>za,display_rgb_show:()=>tr,microbit_music_get_tempo:()=>ka,microbit_music_pitch:()=>ya,microbit_music_pitch_delay:()=>Xa,microbit_music_play_built_in:()=>ba,microbit_music_play_built_in_easy:()=>Va,microbit_music_play_list_of_notes:()=>Ba,microbit_music_play_list_of_notes_easy:()=>Ua,microbit_music_reset:()=>Ga,microbit_music_stop:()=>wa,servo_move:()=>Qa,speech_pronounce_easy:()=>Ja,speech_say:()=>xa,speech_say_easy:()=>Wa,speech_sing_easy:()=>Ka,speech_translate:()=>ja,tone_set_tempo:()=>Ha});var f={};t.r(f),t.d(f,{i2c_init:()=>Rr,i2c_read:()=>gr,i2c_write:()=>Cr,microbit_radio_config:()=>hr,microbit_radio_off:()=>dr,microbit_radio_on:()=>Tr,microbit_radio_receive:()=>Or,microbit_radio_reset:()=>Mr,microbit_radio_send_string:()=>mr,radio_ons:()=>Ir,radio_receive_string:()=>Er,radio_send_string:()=>cr,spi_init:()=>Ar,spi_write:()=>Lr});var D={};t.r(D),t.d(D,{display_fill:()=>$r,display_image_size:()=>Zr,group_lcd_init:()=>jr,group_lcd_power:()=>qr,group_lcd_print:()=>Jr,group_lcd_print2:()=>Qr,image_arithmetic:()=>Kr,image_shift:()=>Wr,lp2i_u8g_draw_4strings:()=>zr,microbit_display_clear:()=>Nr,microbit_display_is_on:()=>Gr,microbit_display_off:()=>Ur,microbit_display_on:()=>Br,microbit_display_scroll:()=>yr,microbit_display_scroll_string_animation:()=>Xr,microbit_display_show_animation:()=>Vr,microbit_display_show_default_image:()=>br,microbit_display_show_image:()=>Yr,microbit_image_builtins:()=>wr,microbit_image_copy:()=>kr,microbit_image_create:()=>xr,microbit_image_invert:()=>Hr,monitor_bright_point:()=>Dr,monitor_get_pixel:()=>fr,monitor_scroll_string:()=>Fr,monitor_scroll_string_with_delay:()=>vr,monitor_show_image_or_string:()=>Pr});var P={};t.r(P),t.d(P,{factory_block:()=>pp,factory_block_return:()=>lp,factory_block_return_with_textarea:()=>Tp,factory_block_with_textarea:()=>Ip,factory_callMethod_noreturn:()=>ap,factory_callMethod_return:()=>rp,factory_create_with_container:()=>sp,factory_create_with_item:()=>op,factory_declare:()=>up,factory_from_import:()=>ep,factory_function_noreturn:()=>np,factory_function_return:()=>_p,factory_import:()=>ip});var F={};t.r(F),t.d(F,{inout_analog_read:()=>Op,inout_analog_write:()=>mp,inout_analog_write_set:()=>cp,inout_digital_read:()=>Mp,inout_digital_write:()=>Rp,inout_highlow:()=>hp,sensor_pin_pressed:()=>Ep});var v={};t.r(v),t.d(v,{actuator_motor_off:()=>fp,actuator_motor_on:()=>Np,actuator_rgb:()=>Sp,actuator_rgb_color:()=>Ap,actuator_rgb_off:()=>Lp,base_loop:()=>Cp,sensor_pin_near:()=>Dp,sensor_while_btn_pressed:()=>Pp,sensor_while_is_gesture:()=>Fp,sensor_while_is_near:()=>vp});var Y={};t.r(Y),t.d(Y,{pins_analog:()=>Vp,pins_axis:()=>kp,pins_brightness:()=>Hp,pins_builtinimg:()=>Gp,pins_button:()=>Xp,pins_digital:()=>bp,pins_imglist:()=>wp,pins_interrupt:()=>Bp,pins_pwm:()=>yp,pins_radio_datarate:()=>Kp,pins_radio_power:()=>Wp,pins_serial:()=>Up,pins_tone_notes:()=>xp});var b={};t.r(b),t.d(b,{DS1307_init:()=>Ml,RTC_get_time:()=>cl,RTC_set_date:()=>El,RTC_set_time:()=>Ol,TCS34725_Get_RGB:()=>Ll,controls_GestureLists:()=>tl,controls_attachGestureInterrupt:()=>$p,controls_attachGestureInterrupt2:()=>el,sensor_button_get_presses:()=>qp,sensor_button_is_pressed:()=>jp,sensor_button_was_pressed:()=>Qp,sensor_calibrate_compass:()=>ul,sensor_compass_heading:()=>rl,sensor_compass_reset:()=>Rl,sensor_current_gesture:()=>ol,sensor_current_gesture1:()=>zp,sensor_current_gesture2:()=>Zp,sensor_distance_hrsc04:()=>dl,sensor_distance_hrsc04_:()=>hl,sensor_field_strength:()=>ll,sensor_get_acceleration:()=>il,sensor_get_gestures:()=>sl,sensor_hrsc04_init:()=>Cl,sensor_is_compass_calibrated:()=>al,sensor_light:()=>gl,sensor_light_level:()=>_l,sensor_magnetic:()=>Tl,sensor_rotation:()=>Il,sensor_set_acceleration:()=>nl,sensor_temperature:()=>pl});var V={};t.r(V),t.d(V,{IO_input:()=>yl,IO_print:()=>Bl,IO_print_inline:()=>Ul,serial_any:()=>vl,serial_begin:()=>Xl,serial_print:()=>Nl,serial_print_hex:()=>Dl,serial_println:()=>fl,serial_readline:()=>Yl,serial_readstr:()=>Fl,serial_readstr_until:()=>bl,serial_receive_data_event:()=>Pl,serial_softserial:()=>Vl});var X={};t.r(X),t.d(X,{Panic_with_status_code:()=>Hl,base_delay:()=>wl,controls_millis:()=>kl,controls_uname:()=>Wl,reset:()=>xl});var y={};t.r(y),t.d(y,{MP3_CONTROL:()=>TI,MP3_EQ_MODE:()=>hI,MP3_INIT:()=>II,MP3_LOOP_MODE:()=>dI,MP3_PLAY_FOLDER:()=>cI,MP3_PLAY_NUM:()=>mI,MP3_VOL:()=>MI,bit_motor_control:()=>uI,display_rgb:()=>rI,display_rgb2:()=>pI,display_rgb_init:()=>aI,display_rgb_show:()=>lI,microbit_music_get_tempo:()=>$l,microbit_music_pitch:()=>Ql,microbit_music_pitch_delay:()=>jl,microbit_music_play_built_in:()=>Kl,microbit_music_play_built_in_easy:()=>Jl,microbit_music_play_list_of_notes:()=>ql,microbit_music_reset:()=>zl,microbit_music_stop:()=>Zl,servo_move:()=>_I,speech_pronounce_easy:()=>oI,speech_say:()=>iI,speech_say_easy:()=>nI,speech_sing_easy:()=>sI,speech_translate:()=>eI,tone_set_tempo:()=>tI});var B={};t.r(B),t.d(B,{i2c_init:()=>NI,i2c_read:()=>fI,i2c_write:()=>DI,microbit_radio_config:()=>gI,microbit_radio_off:()=>RI,microbit_radio_on:()=>EI,microbit_radio_receive:()=>SI,microbit_radio_reset:()=>CI,radio_ons:()=>OI,radio_receive_string:()=>LI,radio_send_string:()=>AI,spi_init:()=>PI,spi_write:()=>FI});var U={};t.r(U),t.d(U,{display_fill:()=>sT,display_image_size:()=>nT,group_lcd_init:()=>$I,group_lcd_power:()=>eT,group_lcd_print:()=>ZI,group_lcd_print2:()=>tT,image_arithmetic:()=>qI,image_shift:()=>QI,lp2i_u8g_draw_4strings:()=>iT,microbit_display_clear:()=>vI,microbit_display_is_on:()=>xI,microbit_display_on:()=>HI,microbit_display_scroll:()=>kI,microbit_display_scroll_string_animation:()=>zI,microbit_display_set_pixel:()=>bI,microbit_display_show_animation:()=>wI,microbit_display_show_default_image:()=>GI,microbit_display_show_image:()=>UI,microbit_image_builtins:()=>WI,microbit_image_copy:()=>KI,microbit_image_create:()=>jI,microbit_image_invert:()=>JI,monitor_bright_point:()=>VI,monitor_get_pixel:()=>YI,monitor_scroll_string:()=>yI,monitor_scroll_string_with_delay:()=>BI,monitor_show_image_or_string:()=>XI});var G={};t.r(G),t.d(G,{factory_block:()=>IT,factory_block_return:()=>TT,factory_block_return_with_textarea:()=>hT,factory_block_with_textarea:()=>dT,factory_callMethod_noreturn:()=>pT,factory_callMethod_return:()=>lT,factory_declare:()=>rT,factory_from_import:()=>oT,factory_function_noreturn:()=>uT,factory_function_return:()=>aT,factory_import:()=>_T});var w={};t.r(w),t.d(w,{inout_analog_read:()=>RT,inout_analog_write:()=>OT,inout_analog_write_set:()=>ET,inout_digital_read:()=>cT,inout_digital_write:()=>mT,inout_highlow:()=>MT,sensor_pin_pressed:()=>gT});var k={};t.r(k),t.d(k,{actuator_motor_off:()=>DT,actuator_motor_on:()=>fT,actuator_rgb:()=>NT,actuator_rgb_color:()=>LT,actuator_rgb_off:()=>ST,base_loop:()=>AT,controls_repeat_ext:()=>bT,microbit_image_create:()=>CT,sensor_pin_near:()=>PT,sensor_while_btn_pressed:()=>FT,sensor_while_is_gesture:()=>vT,sensor_while_is_near:()=>YT});var H={};t.r(H),t.d(H,{pins_analog:()=>XT,pins_axis:()=>HT,pins_brightness:()=>xT,pins_builtinimg:()=>wT,pins_button:()=>yT,pins_digital:()=>VT,pins_imglist:()=>kT,pins_interrupt:()=>UT,pins_pwm:()=>BT,pins_radio_datarate:()=>JT,pins_radio_power:()=>KT,pins_serial:()=>GT,pins_tone_notes:()=>WT});var x={};t.r(x),t.d(x,{DS1307_init:()=>Md,RTC_get_time:()=>md,RTC_set_date:()=>Od,RTC_set_time:()=>cd,TCS34725_Get_RGB:()=>Cd,controls_GestureLists:()=>zT,controls_attachGestureInterrupt:()=>ZT,controls_attachGestureInterrupt2:()=>ed,sensor_button_get_presses:()=>qT,sensor_button_is_pressed:()=>jT,sensor_button_was_pressed:()=>QT,sensor_calibrate_compass:()=>ud,sensor_compass_heading:()=>rd,sensor_compass_reset:()=>Ed,sensor_current_gesture:()=>nd,sensor_current_gesture1:()=>$T,sensor_current_gesture2:()=>td,sensor_distance_hrsc04:()=>dd,sensor_distance_hrsc04_:()=>hd,sensor_field_strength:()=>ld,sensor_get_acceleration:()=>sd,sensor_get_gestures:()=>id,sensor_hrsc04_init:()=>gd,sensor_is_compass_calibrated:()=>ad,sensor_light:()=>Rd,sensor_light_level:()=>_d,sensor_magnetic:()=>Td,sensor_rotation:()=>Id,sensor_set_acceleration:()=>od,sensor_temperature:()=>pd});var W={};t.r(W),t.d(W,{IO_input:()=>bd,IO_print:()=>Vd,IO_print_inline:()=>Xd,serial_any:()=>fd,serial_begin:()=>Yd,serial_print:()=>Ad,serial_print_hex:()=>Sd,serial_println:()=>Ld,serial_readline:()=>Pd,serial_readstr:()=>Dd,serial_readstr_until:()=>Fd,serial_receive_data_event:()=>Nd,serial_softserial:()=>vd});var K={};t.r(K),t.d(K,{Panic_with_status_code:()=>Qd,base_delay:()=>jd,controls_end_program:()=>zd,controls_millis:()=>qd,controls_uname:()=>$d,reset:()=>Zd,system_device_name:()=>Kd,system_device_serial_number:()=>Jd,system_event_bus_source:()=>xd,system_event_bus_value:()=>Wd,system_on_event:()=>wd,system_raise_event:()=>Gd,system_reset:()=>Bd,system_run_in_background:()=>yd,system_timestamp:()=>kd,system_value:()=>Hd,system_wait:()=>Ud});const J=Blockly,j=Mixly,Q={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},q=Q; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>st,controls_typeLists:()=>ot,variables_change:()=>it,variables_get:()=>tt,variables_global:()=>nt,variables_set:()=>et});var i={};t.r(i),t.d(i,{base_setup:()=>at,controls_delay:()=>rt,controls_end_program:()=>pt,controls_except:()=>Ct,controls_finally:()=>At,controls_flow_statements:()=>Mt,controls_for:()=>mt,controls_forEach:()=>Tt,controls_for_range:()=>ct,controls_if:()=>lt,controls_if_else:()=>Rt,controls_if_elseif:()=>Et,controls_if_if:()=>Ot,controls_lambda:()=>St,controls_main:()=>ut,controls_pass:()=>Nt,controls_range:()=>It,controls_repeat_ext:()=>Lt,controls_thread:()=>ft,controls_try:()=>gt,controls_try_finally:()=>ht,controls_whileUntil:()=>dt,do_while:()=>Dt,garbage_collection:()=>Pt,get_mem_alloc:()=>Ft,get_mem_free:()=>vt});var n={};t.r(n),t.d(n,{base_map:()=>$t,math_arithmetic:()=>yt,math_bit:()=>Ut,math_constant:()=>Vt,math_constant_mp:()=>Xt,math_constrain:()=>Kt,math_dec:()=>wt,math_indexer_number:()=>jt,math_map:()=>Jt,math_max_min:()=>Ht,math_number:()=>bt,math_number_base_conversion:()=>xt,math_random:()=>Wt,math_random_seed:()=>Qt,math_round:()=>qt,math_selfcalcu:()=>Bt,math_to_int:()=>kt,math_trig:()=>Gt,text_to_number:()=>zt,text_to_number_skulpt:()=>Zt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>oe,char_to_ascii:()=>_e,number_to_text:()=>ue,os_system:()=>ve,text:()=>ee,text_capital:()=>Me,text_center:()=>me,text_char:()=>ne,text_char_at:()=>pe,text_char_at2:()=>re,text_char_at3:()=>fe,text_compareTo:()=>Ne,text_compare_to:()=>he,text_create_with_container:()=>Ae,text_create_with_item:()=>Le,text_encode:()=>Pe,text_equals_starts_ends:()=>de,text_eval:()=>Fe,text_find:()=>ce,text_format:()=>Ce,text_format_noreturn:()=>De,text_join:()=>se,text_join_seq:()=>Oe,text_length:()=>ae,text_random_char:()=>le,text_replace:()=>Ee,text_split:()=>Re,text_strip:()=>ge,text_substring:()=>Te,text_substring2:()=>Ie,text_substring3:()=>Se,text_textarea:()=>ie});var o={};t.r(o),t.d(o,{list_many_input:()=>ei,list_tolist:()=>ai,list_tolist2:()=>Mi,list_trig:()=>Ze,lists_2d_get_col_row_data:()=>ye,lists_2d_get_data_with_col_row:()=>Xe,lists_append_extend:()=>He,lists_change_to:()=>ti,lists_change_to_general:()=>ni,lists_clear:()=>je,lists_create_with:()=>Be,lists_create_with2:()=>ri,lists_create_with_container:()=>Ge,lists_create_with_item:()=>we,lists_create_with_noreturn:()=>ii,lists_create_with_text:()=>Ue,lists_create_with_text2:()=>pi,lists_del_general:()=>si,lists_find:()=>ze,lists_getIndex3:()=>li,lists_getSublist3:()=>Ii,lists_get_index:()=>be,lists_get_random_item:()=>xe,lists_get_random_sublist:()=>We,lists_get_sublist:()=>Ve,lists_insert_value:()=>Ke,lists_insert_value2:()=>di,lists_pop:()=>qe,lists_remove_at:()=>Qe,lists_remove_at2:()=>hi,lists_reverse:()=>Je,lists_setIndex3:()=>Ti,lists_set_index:()=>ke,lists_sort:()=>$e,lists_zip:()=>oi,lists_zip_container:()=>_i,lists_zip_item:()=>ui});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>vi,dicts_add_or_change:()=>Ai,dicts_clear:()=>Ni,dicts_create_with:()=>ci,dicts_create_with_container:()=>Oi,dicts_create_with_item:()=>Ei,dicts_create_with_noreturn:()=>Vi,dicts_deldict:()=>Fi,dicts_delete:()=>Li,dicts_get:()=>gi,dicts_get_default:()=>Ci,dicts_items:()=>fi,dicts_keys:()=>Ri,dicts_length:()=>Pi,dicts_pop:()=>Yi,dicts_setdefault:()=>bi,dicts_to_json:()=>yi,dicts_todict:()=>Xi,dicts_update:()=>Si,dicts_values:()=>Di,json_to_dicts:()=>Bi});var u={};t.r(u),t.d(u,{logic_boolean:()=>xi,logic_compare:()=>Gi,logic_compare_continous:()=>wi,logic_is:()=>ji,logic_is_in:()=>Ji,logic_negate:()=>Hi,logic_null:()=>Wi,logic_operation:()=>ki,logic_tobool:()=>Qi,logic_true_or_false:()=>Ki});var a={};t.r(a),t.d(a,{sdcard_mount:()=>On,sdcard_use_spi_init:()=>cn,storage_can_write_ornot:()=>on,storage_change_dir:()=>Mn,storage_close_file:()=>un,storage_delete_file:()=>rn,storage_file_seek:()=>In,storage_file_tell:()=>ln,storage_file_write:()=>tn,storage_fileopen:()=>zi,storage_fileopen_new:()=>Zi,storage_fileopen_new_encoding:()=>$i,storage_get_a_line:()=>sn,storage_get_contents:()=>nn,storage_get_contents_without_para:()=>en,storage_get_current_dir:()=>Tn,storage_get_file_size:()=>pn,storage_get_filename:()=>_n,storage_is_file:()=>mn,storage_list_all_files:()=>an,storage_make_dir:()=>dn,storage_open_file_with_os:()=>qi,storage_rename:()=>hn});var r={};t.r(r),t.d(r,{procedures_callnoreturn:()=>Sn,procedures_callreturn:()=>Nn,procedures_defnoreturn:()=>gn,procedures_defreturn:()=>Cn,procedures_ifreturn:()=>fn,procedures_mutatorarg:()=>Ln,procedures_mutatorcontainer:()=>An,procedures_return:()=>Dn});var p={};t.r(p),t.d(p,{tuple_change_to:()=>wn,tuple_create_with:()=>Fn,tuple_create_with_container:()=>vn,tuple_create_with_item:()=>Yn,tuple_create_with_noreturn:()=>Wn,tuple_create_with_text2:()=>bn,tuple_create_with_text_return:()=>Vn,tuple_del:()=>Bn,tuple_find:()=>kn,tuple_getIndex:()=>Xn,tuple_getSublist:()=>xn,tuple_get_random_item:()=>Jn,tuple_get_sublist:()=>Kn,tuple_join:()=>Un,tuple_length:()=>yn,tuple_max:()=>Gn,tuple_totuple:()=>jn,tuple_trig:()=>Hn});var l={};t.r(l),t.d(l,{set_add_discard:()=>ss,set_clear:()=>es,set_create_with:()=>qn,set_create_with_container:()=>zn,set_create_with_item:()=>Zn,set_create_with_text_return:()=>us,set_length:()=>$n,set_operate:()=>is,set_operate_update:()=>ns,set_pop:()=>ts,set_sub:()=>os,set_toset:()=>as,set_update:()=>_s});var I={};t.r(I),t.d(I,{html_content:()=>Ts,html_content_more:()=>ds,html_document:()=>ps,html_form:()=>Ms,html_head_body:()=>Is,html_style:()=>hs,html_style_color:()=>cs,html_style_content:()=>ms,html_text:()=>Os,html_title:()=>ls});var T={};t.r(T),t.d(T,{attribute_access:()=>Ys,function_call:()=>Ps,function_call_container:()=>Fs,function_call_item:()=>vs,raw_block:()=>gs,raw_empty:()=>As,raw_expression:()=>Cs,raw_table:()=>Rs,text_comment:()=>Ls,text_print_multiple:()=>Ns,text_print_multiple_container:()=>fs,text_print_multiple_item:()=>Ds,type_check:()=>Ss});var d={};t.r(d),t.d(d,{controls_type:()=>Bs,controls_typeLists:()=>Us,variables_change:()=>Xs,variables_get:()=>bs,variables_global:()=>ys,variables_set:()=>Vs});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>Qs,base_setup:()=>ws,controls_delay:()=>js,controls_flow_statements:()=>Js,controls_for:()=>xs,controls_forEach:()=>to,controls_for_range:()=>Ws,controls_if:()=>ks,controls_interrupts:()=>Zs,controls_lambda:()=>io,controls_main:()=>Gs,controls_millis:()=>qs,controls_nointerrupts:()=>$s,controls_pass:()=>so,controls_range:()=>eo,controls_repeat:()=>lo,controls_repeat_ext:()=>uo,controls_thread:()=>oo,controls_try_finally:()=>Hs,controls_whileUntil:()=>Ks,do_while:()=>_o,garbage_collection:()=>ao,get_mem_alloc:()=>ro,get_mem_free:()=>po,reset:()=>zs,time_sleep:()=>no});var M={};t.r(M),t.d(M,{base_map:()=>Yo,math_arithmetic:()=>mo,math_bit:()=>Mo,math_constant:()=>To,math_constant_mp:()=>ho,math_constrain:()=>So,math_dec:()=>Ro,math_indexer_number:()=>Do,math_map:()=>Lo,math_max_min:()=>Co,math_number:()=>Io,math_number_base_conversion:()=>No,math_random:()=>Ao,math_random_seed:()=>fo,math_round:()=>Po,math_selfcalcu:()=>co,math_single:()=>Oo,math_to_int:()=>go,math_trig:()=>Eo,text_to_number:()=>Fo,text_to_number_skulpt:()=>vo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>Bo,char_to_ascii:()=>Uo,number_to_text:()=>Go,os_system:()=>r_,text:()=>bo,text_capital:()=>Qo,text_center:()=>qo,text_char:()=>Xo,text_char_at:()=>Ho,text_char_at2:()=>ko,text_char_at3:()=>__,text_compareTo:()=>o_,text_compare_to:()=>Ko,text_encode:()=>u_,text_equals_starts_ends:()=>Wo,text_eval:()=>a_,text_find:()=>zo,text_format:()=>i_,text_format_noreturn:()=>n_,text_join:()=>yo,text_join_seq:()=>Zo,text_length:()=>wo,text_random_char:()=>xo,text_replace:()=>$o,text_split:()=>t_,text_strip:()=>e_,text_substring:()=>jo,text_substring2:()=>Jo,text_substring3:()=>s_,text_textarea:()=>Vo});var c={};t.r(c),t.d(c,{list_many_input:()=>D_,list_tolist:()=>w_,list_tolist2:()=>k_,list_trig:()=>S_,lists_2d_get_col_row_data:()=>I_,lists_2d_get_data_with_col_row:()=>l_,lists_append_extend:()=>m_,lists_change_to:()=>f_,lists_change_to_general:()=>F_,lists_clear:()=>g_,lists_create_with:()=>T_,lists_create_with2:()=>Y_,lists_create_with_noreturn:()=>P_,lists_create_with_text:()=>d_,lists_create_with_text2:()=>b_,lists_del_general:()=>v_,lists_find:()=>C_,lists_getIndex3:()=>V_,lists_getSublist3:()=>X_,lists_get_index:()=>h_,lists_get_random_item:()=>c_,lists_get_random_sublist:()=>O_,lists_get_sublist:()=>p_,lists_insert_value:()=>E_,lists_insert_value2:()=>B_,lists_pop:()=>L_,lists_remove_at:()=>A_,lists_remove_at2:()=>U_,lists_reverse:()=>R_,lists_setIndex3:()=>y_,lists_set_index:()=>M_,lists_sort:()=>N_,lists_zip:()=>G_});var O={};t.r(O),t.d(O,{dicts_add_change_del:()=>eu,dicts_add_or_change:()=>J_,dicts_clear:()=>q_,dicts_create_with:()=>H_,dicts_create_with_noreturn:()=>su,dicts_deldict:()=>tu,dicts_delete:()=>j_,dicts_get:()=>W_,dicts_get_default:()=>K_,dicts_items:()=>z_,dicts_keys:()=>x_,dicts_length:()=>$_,dicts_pop:()=>iu,dicts_setdefault:()=>nu,dicts_to_json:()=>_u,dicts_todict:()=>ou,dicts_update:()=>Q_,dicts_values:()=>Z_,json_to_dicts:()=>uu});var E={};t.r(E),t.d(E,{logic_boolean:()=>Iu,logic_compare:()=>au,logic_compare_continous:()=>ru,logic_is:()=>Mu,logic_is_in:()=>hu,logic_negate:()=>lu,logic_null:()=>Tu,logic_operation:()=>pu,logic_tobool:()=>mu,logic_true_or_false:()=>du});var R={};t.r(R),t.d(R,{sdcard_mount:()=>Gu,sdcard_use_spi_init:()=>Uu,storage_can_write_ornot:()=>Su,storage_change_dir:()=>bu,storage_close_file:()=>fu,storage_delete_file:()=>Pu,storage_file_seek:()=>Yu,storage_file_tell:()=>vu,storage_file_write:()=>gu,storage_fileopen:()=>Ou,storage_fileopen_new:()=>Eu,storage_fileopen_new_encoding:()=>Ru,storage_get_a_line:()=>Lu,storage_get_contents:()=>Au,storage_get_contents_without_para:()=>Cu,storage_get_current_dir:()=>Vu,storage_get_file_size:()=>Fu,storage_get_filename:()=>Nu,storage_is_file:()=>Bu,storage_list_all_files:()=>Du,storage_make_dir:()=>Xu,storage_open_file_with_os:()=>cu,storage_rename:()=>yu});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>xu,procedures_callreturn:()=>Hu,procedures_defnoreturn:()=>ku,procedures_defreturn:()=>wu,procedures_ifreturn:()=>Wu,procedures_return:()=>Ku});var C={};t.r(C),t.d(C,{tuple_change_to:()=>ea,tuple_create_with:()=>Ju,tuple_create_with_noreturn:()=>oa,tuple_create_with_text2:()=>ju,tuple_create_with_text_return:()=>Qu,tuple_del:()=>Zu,tuple_find:()=>ia,tuple_getIndex:()=>qu,tuple_getSublist:()=>sa,tuple_get_random_item:()=>ua,tuple_get_sublist:()=>_a,tuple_join:()=>$u,tuple_length:()=>zu,tuple_max:()=>ta,tuple_totuple:()=>aa,tuple_trig:()=>na});var A={};t.r(A),t.d(A,{set_add_discard:()=>ha,set_clear:()=>Ia,set_create_with:()=>ra,set_create_with_text_return:()=>ca,set_length:()=>pa,set_operate:()=>Ta,set_operate_update:()=>da,set_pop:()=>la,set_sub:()=>Ma,set_toset:()=>Oa,set_update:()=>ma});var L={};t.r(L),t.d(L,{html_content:()=>Ca,html_content_more:()=>Aa,html_document:()=>Ea,html_form:()=>Sa,html_head_body:()=>ga,html_style:()=>La,html_style_content:()=>Na,html_text:()=>fa,html_title:()=>Ra});var S={};t.r(S),t.d(S,{attribute_access:()=>Va,function_call:()=>ba,raw_block:()=>Da,raw_empty:()=>Fa,raw_expression:()=>Pa,raw_table:()=>va,type_check:()=>Ya});var N={};t.r(N),t.d(N,{MP3_CONTROL:()=>rr,MP3_EQ_MODE:()=>Tr,MP3_INIT:()=>ur,MP3_LOOP_MODE:()=>lr,MP3_PLAY_FOLDER:()=>Mr,MP3_PLAY_NUM:()=>hr,MP3_VOL:()=>dr,bit_motor_control:()=>ir,display_rgb:()=>sr,display_rgb2:()=>or,display_rgb_init:()=>nr,display_rgb_show:()=>_r,microbit_music_get_tempo:()=>ja,microbit_music_pitch:()=>Ha,microbit_music_pitch_delay:()=>ka,microbit_music_play_built_in:()=>Ga,microbit_music_play_built_in_easy:()=>wa,microbit_music_play_list_of_notes:()=>xa,microbit_music_play_list_of_notes_easy:()=>Wa,microbit_music_reset:()=>Ka,microbit_music_stop:()=>Ja,servo_move:()=>er,speech_pronounce_easy:()=>$a,speech_say:()=>qa,speech_say_easy:()=>za,speech_sing_easy:()=>Za,speech_translate:()=>tr,tone_set_tempo:()=>Qa});var f={};t.r(f),t.d(f,{i2c_init:()=>Nr,i2c_read:()=>fr,i2c_write:()=>Dr,microbit_radio_config:()=>Rr,microbit_radio_off:()=>Er,microbit_radio_on:()=>Or,microbit_radio_receive:()=>Lr,microbit_radio_reset:()=>gr,microbit_radio_send_string:()=>Cr,radio_ons:()=>cr,radio_receive_string:()=>Sr,radio_send_string:()=>Ar,spi_init:()=>Pr,spi_write:()=>Fr});var D={};t.r(D),t.d(D,{display_fill:()=>op,display_image_size:()=>sp,group_lcd_init:()=>tp,group_lcd_power:()=>ip,group_lcd_print:()=>$r,group_lcd_print2:()=>ep,image_arithmetic:()=>Zr,image_shift:()=>zr,lp2i_u8g_draw_4strings:()=>np,microbit_display_clear:()=>Yr,microbit_display_is_on:()=>Kr,microbit_display_off:()=>Wr,microbit_display_on:()=>xr,microbit_display_scroll:()=>Hr,microbit_display_scroll_string_animation:()=>kr,microbit_display_show_animation:()=>wr,microbit_display_show_default_image:()=>Gr,microbit_display_show_image:()=>Ur,microbit_image_builtins:()=>Jr,microbit_image_copy:()=>jr,microbit_image_create:()=>qr,microbit_image_invert:()=>Qr,monitor_bright_point:()=>Vr,monitor_get_pixel:()=>br,monitor_scroll_string:()=>yr,monitor_scroll_string_with_delay:()=>Br,monitor_show_image_or_string:()=>Xr});var P={};t.r(P),t.d(P,{factory_block:()=>Mp,factory_block_return:()=>mp,factory_block_return_with_textarea:()=>Op,factory_block_with_textarea:()=>cp,factory_callMethod_noreturn:()=>dp,factory_callMethod_return:()=>hp,factory_create_with_container:()=>pp,factory_create_with_item:()=>lp,factory_declare:()=>Tp,factory_from_import:()=>up,factory_function_noreturn:()=>rp,factory_function_return:()=>Ip,factory_import:()=>ap});var F={};t.r(F),t.d(F,{inout_analog_read:()=>Lp,inout_analog_write:()=>Cp,inout_analog_write_set:()=>Ap,inout_digital_read:()=>gp,inout_digital_write:()=>Np,inout_highlow:()=>Rp,sensor_pin_pressed:()=>Sp});var v={};t.r(v),t.d(v,{actuator_motor_off:()=>bp,actuator_motor_on:()=>Yp,actuator_rgb:()=>vp,actuator_rgb_color:()=>Pp,actuator_rgb_off:()=>Fp,base_loop:()=>Dp,sensor_pin_near:()=>Vp,sensor_while_btn_pressed:()=>Xp,sensor_while_is_gesture:()=>yp,sensor_while_is_near:()=>Bp});var Y={};t.r(Y),t.d(Y,{pins_analog:()=>wp,pins_axis:()=>jp,pins_brightness:()=>Qp,pins_builtinimg:()=>Kp,pins_button:()=>kp,pins_digital:()=>Gp,pins_imglist:()=>Jp,pins_interrupt:()=>xp,pins_pwm:()=>Hp,pins_radio_datarate:()=>Zp,pins_radio_power:()=>zp,pins_serial:()=>Wp,pins_tone_notes:()=>qp});var b={};t.r(b),t.d(b,{DS1307_init:()=>gl,RTC_get_time:()=>Al,RTC_set_date:()=>Sl,RTC_set_time:()=>Ll,TCS34725_Get_RGB:()=>Fl,controls_GestureLists:()=>_l,controls_attachGestureInterrupt:()=>ol,controls_attachGestureInterrupt2:()=>ul,sensor_button_get_presses:()=>il,sensor_button_is_pressed:()=>tl,sensor_button_was_pressed:()=>el,sensor_calibrate_compass:()=>Tl,sensor_compass_heading:()=>hl,sensor_compass_reset:()=>Nl,sensor_current_gesture:()=>ll,sensor_current_gesture1:()=>nl,sensor_current_gesture2:()=>sl,sensor_distance_hrsc04:()=>El,sensor_distance_hrsc04_:()=>Rl,sensor_field_strength:()=>ml,sensor_get_acceleration:()=>al,sensor_get_gestures:()=>pl,sensor_hrsc04_init:()=>Dl,sensor_is_compass_calibrated:()=>dl,sensor_light:()=>fl,sensor_light_level:()=>Il,sensor_magnetic:()=>Ol,sensor_rotation:()=>cl,sensor_set_acceleration:()=>rl,sensor_temperature:()=>Ml});var V={};t.r(V),t.d(V,{IO_input:()=>Hl,IO_print:()=>xl,IO_print_inline:()=>Wl,serial_any:()=>Bl,serial_begin:()=>kl,serial_print:()=>Yl,serial_print_hex:()=>Vl,serial_println:()=>bl,serial_readline:()=>Ul,serial_readstr:()=>yl,serial_readstr_until:()=>Gl,serial_receive_data_event:()=>Xl,serial_softserial:()=>wl});var X={};t.r(X),t.d(X,{Panic_with_status_code:()=>Ql,base_delay:()=>Jl,controls_millis:()=>jl,controls_uname:()=>zl,reset:()=>ql});var y={};t.r(y),t.d(y,{MP3_CONTROL:()=>OI,MP3_EQ_MODE:()=>RI,MP3_INIT:()=>cI,MP3_LOOP_MODE:()=>EI,MP3_PLAY_FOLDER:()=>AI,MP3_PLAY_NUM:()=>CI,MP3_VOL:()=>gI,bit_motor_control:()=>TI,display_rgb:()=>hI,display_rgb2:()=>MI,display_rgb_init:()=>dI,display_rgb_show:()=>mI,microbit_music_get_tempo:()=>oI,microbit_music_pitch:()=>eI,microbit_music_pitch_delay:()=>tI,microbit_music_play_built_in:()=>Zl,microbit_music_play_built_in_easy:()=>$l,microbit_music_play_list_of_notes:()=>iI,microbit_music_reset:()=>nI,microbit_music_stop:()=>sI,servo_move:()=>II,speech_pronounce_easy:()=>lI,speech_say:()=>aI,speech_say_easy:()=>rI,speech_sing_easy:()=>pI,speech_translate:()=>uI,tone_set_tempo:()=>_I});var B={};t.r(B),t.d(B,{i2c_init:()=>YI,i2c_read:()=>bI,i2c_write:()=>VI,microbit_radio_config:()=>fI,microbit_radio_off:()=>NI,microbit_radio_on:()=>SI,microbit_radio_receive:()=>vI,microbit_radio_reset:()=>DI,radio_ons:()=>LI,radio_receive_string:()=>FI,radio_send_string:()=>PI,spi_init:()=>XI,spi_write:()=>yI});var U={};t.r(U),t.d(U,{display_fill:()=>pT,display_image_size:()=>rT,group_lcd_init:()=>oT,group_lcd_power:()=>uT,group_lcd_print:()=>sT,group_lcd_print2:()=>_T,image_arithmetic:()=>iT,image_shift:()=>eT,lp2i_u8g_draw_4strings:()=>aT,microbit_display_clear:()=>BI,microbit_display_is_on:()=>qI,microbit_display_on:()=>QI,microbit_display_scroll:()=>jI,microbit_display_scroll_string_animation:()=>nT,microbit_display_set_pixel:()=>GI,microbit_display_show_animation:()=>JI,microbit_display_show_default_image:()=>KI,microbit_display_show_image:()=>WI,microbit_image_builtins:()=>zI,microbit_image_copy:()=>ZI,microbit_image_create:()=>tT,microbit_image_invert:()=>$I,monitor_bright_point:()=>wI,monitor_get_pixel:()=>UI,monitor_scroll_string:()=>HI,monitor_scroll_string_with_delay:()=>xI,monitor_show_image_or_string:()=>kI});var G={};t.r(G),t.d(G,{factory_block:()=>cT,factory_block_return:()=>OT,factory_block_return_with_textarea:()=>RT,factory_block_with_textarea:()=>ET,factory_callMethod_noreturn:()=>MT,factory_callMethod_return:()=>mT,factory_declare:()=>hT,factory_from_import:()=>lT,factory_function_noreturn:()=>TT,factory_function_return:()=>dT,factory_import:()=>IT});var w={};t.r(w),t.d(w,{inout_analog_read:()=>NT,inout_analog_write:()=>LT,inout_analog_write_set:()=>ST,inout_digital_read:()=>AT,inout_digital_write:()=>CT,inout_highlow:()=>gT,sensor_pin_pressed:()=>fT});var k={};t.r(k),t.d(k,{actuator_motor_off:()=>VT,actuator_motor_on:()=>bT,actuator_rgb:()=>YT,actuator_rgb_color:()=>FT,actuator_rgb_off:()=>vT,base_loop:()=>PT,controls_repeat_ext:()=>GT,microbit_image_create:()=>DT,sensor_pin_near:()=>XT,sensor_while_btn_pressed:()=>yT,sensor_while_is_gesture:()=>BT,sensor_while_is_near:()=>UT});var H={};t.r(H),t.d(H,{pins_analog:()=>kT,pins_axis:()=>QT,pins_brightness:()=>qT,pins_builtinimg:()=>JT,pins_button:()=>HT,pins_digital:()=>wT,pins_imglist:()=>jT,pins_interrupt:()=>WT,pins_pwm:()=>xT,pins_radio_datarate:()=>$T,pins_radio_power:()=>ZT,pins_serial:()=>KT,pins_tone_notes:()=>zT});var x={};t.r(x),t.d(x,{DS1307_init:()=>gd,RTC_get_time:()=>Cd,RTC_set_date:()=>Ld,RTC_set_time:()=>Ad,TCS34725_Get_RGB:()=>Dd,controls_GestureLists:()=>nd,controls_attachGestureInterrupt:()=>sd,controls_attachGestureInterrupt2:()=>ud,sensor_button_get_presses:()=>id,sensor_button_is_pressed:()=>td,sensor_button_was_pressed:()=>ed,sensor_calibrate_compass:()=>Td,sensor_compass_heading:()=>hd,sensor_compass_reset:()=>Sd,sensor_current_gesture:()=>rd,sensor_current_gesture1:()=>od,sensor_current_gesture2:()=>_d,sensor_distance_hrsc04:()=>Ed,sensor_distance_hrsc04_:()=>Rd,sensor_field_strength:()=>md,sensor_get_acceleration:()=>pd,sensor_get_gestures:()=>ad,sensor_hrsc04_init:()=>fd,sensor_is_compass_calibrated:()=>dd,sensor_light:()=>Nd,sensor_light_level:()=>Id,sensor_magnetic:()=>Od,sensor_rotation:()=>cd,sensor_set_acceleration:()=>ld,sensor_temperature:()=>Md});var W={};t.r(W),t.d(W,{IO_input:()=>Gd,IO_print:()=>wd,IO_print_inline:()=>kd,serial_any:()=>bd,serial_begin:()=>Ud,serial_print:()=>Pd,serial_print_hex:()=>vd,serial_println:()=>Fd,serial_readline:()=>Xd,serial_readstr:()=>Vd,serial_readstr_until:()=>yd,serial_receive_data_event:()=>Yd,serial_softserial:()=>Bd});var K={};t.r(K),t.d(K,{Panic_with_status_code:()=>eh,base_delay:()=>th,controls_end_program:()=>nh,controls_millis:()=>ih,controls_uname:()=>oh,reset:()=>sh,system_device_name:()=>Zd,system_device_serial_number:()=>$d,system_event_bus_source:()=>qd,system_event_bus_value:()=>zd,system_on_event:()=>Jd,system_raise_event:()=>Kd,system_reset:()=>xd,system_run_in_background:()=>Hd,system_timestamp:()=>jd,system_value:()=>Qd,system_wait:()=>Wd});const J=Blockly,j=Mixly,Q={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},q=Q; /** * @license * Visual Blocks Editor @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class z{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(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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")}},It={init:function(){this.setColour(_t),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Tt={init:function(){this.setColour(_t),this.appendValueInput("LIST").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(J.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},dt={init:function(){this.setColour(_t),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new J.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},ht={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(J.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(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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")}},Mt={init:function(){this.setColour(_t);var t=new J.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.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(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},mt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ct={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};dt.OPERATORS=[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Mt.OPERATORS=[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Ot={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Et={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Rt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},gt={init:function(){this.setColour(_t),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Ct={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},At={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Lt={init:function(){this.jsonInit({message0:J.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:_t,tooltip:J.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:J.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},St={init:function(){this.setColour(_t),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_STAT),this.setOutput(!0)}},Nt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},ft={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Dt={init:function(){this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT+J.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(J.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new J.FieldDropdown([[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(_t),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Pt=230;J.FieldTextInput.math_number_validator=function(t){return String(t)},J.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 Ft={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},vt={init:function(){this.setColour(Pt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Yt={init:function(){this.setColour(Pt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},bt={init:function(){this.setColour(Pt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.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:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Vt={init:function(){this.setColour(Pt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.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:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Xt={init:function(){this.setColour(Pt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new J.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},yt={init:function(){this.setColour(Pt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new J.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:J.Msg.MATH_TRIG_TOOLTIP_SIN,COS:J.Msg.MATH_TRIG_TOOLTIP_COS,TAN:J.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:J.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:J.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:J.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:J.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Bt={init:function(){var t=[[J.Msg.MATH_BIN,"bin"],[J.Msg.MATH_OCT,"oct"],[J.Msg.MATH_HEX,"hex"]];this.setColour(Pt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:J.Msg.MATH_DEC_TOOLTIP_BIN,oct:J.Msg.MATH_DEC_TOOLTIP_OCT,hex:J.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ut={init:function(){var t=[[J.Msg.LANG_MATH_TO_ROUND,"round"],[J.Msg.LANG_MATH_TO_CEIL,"ceil"],[J.Msg.LANG_MATH_TO_FLOOR,"floor"],[J.Msg.MATH_ABS,"fabs"],[J.Msg.MATH_SQRT,"sqrt"]];this.setColour(Pt),this.appendValueInput("A").setCheck(Number).appendField(new J.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:J.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:J.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:J.Msg.MATH_SINGLE_TOOLTIP_SQ,round:J.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:J.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:J.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Gt={init:function(){var t=[[J.Msg.MIXLY_MAX,"max"],[J.Msg.MIXLY_MIN,"min"]];this.setColour(Pt),this.appendValueInput("A").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:J.Msg.MIXLY_TOOLTIP_MATH_MAX,min:J.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},wt={init:function(){var t=[[J.Msg.MATH_TWO,"two"],[J.Msg.MATH_EIGHT,"eight"],[J.Msg.MATH_TEN,"ten"],[J.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Pt),this.appendDummyInput("").appendField(J.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new J.FieldDropdown(t),"OP").appendField(J.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.MATH_ZHW).appendField(new J.FieldDropdown(t),"OP2").appendField(J.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:J.Msg.MATH_Before_two,eight:J.Msg.MATH_Before_eight,ten:J.Msg.MATH_Before_ten,sixteen:J.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:J.Msg.MATH_Behind_two,eight:J.Msg.MATH_Behind_eight,ten:J.Msg.MATH_Behind_ten,sixteen:J.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},kt={init:function(){var t=[[J.Msg.LANG_MATH_INT,"int"],[J.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Pt),this.setOutput(!0,Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RANDOM).appendField(new J.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:J.Msg.LANG_MATH_INT,float:J.Msg.LANG_MATH_FLOAT_RANDOM};return J.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ht={init:function(){this.setColour(Pt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_CONSTRAIN_TOOLTIP)}},xt={init:function(){this.setColour(Pt),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(J.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(J.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Wt={init:function(){this.setColour(Pt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},Kt={init:function(){this.setColour(Pt),this.appendValueInput("NUM").setCheck(Number).appendField(J.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Jt={init:function(){this.setColour(Pt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MATH_ROUND).appendField(J.Msg.TEXT_KEEP),this.appendDummyInput().appendField(J.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_ROUND_NEW_TOOLTIP)}},jt={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"],[J.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Pt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:J.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:J.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Qt={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Pt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:J.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},qt=xt,zt=160,Zt={init:function(){this.setColour(zt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(J.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 J.FieldImage(e,12,12,'"')}},$t={init:function(){this.setColour(zt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(J.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 J.FieldImage(e,12,12,'"')}};J.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 te={init:function(){this.setColour(zt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput("",J.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(J.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new J.FieldImage(e,7,12,'"')}},ee={init:function(){this.setColour(zt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(J.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ie={init:function(){this.setColour(zt),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ne={init:function(){this.setColour(zt),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},se={init:function(){this.setColour(zt),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},oe={init:function(){this.setColour(zt),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},_e={init:function(){this.WHERE_OPTIONS=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.TEXT_GET_INDEX_RANDOM+1+J.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(J.Msg.LISTS_GET_INDEX_GET,"MODE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(J.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=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+J.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",J.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:J.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:J.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:J.Msg.TEXT_GET_INDEX_RANDOM};return J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+J.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==J.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),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new J.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"),J.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},ue={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.LISTS_GET_INDEX_FROM_START+"n"+J.Msg.TEXT_CHARAT2)}},ae={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(zt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(J.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(J.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},re={init:function(){this.WHERE_OPTIONS_1=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[J.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(J.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(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==J.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==J.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),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new J.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"))}},pe={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(J.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},le={init:function(){var t=[[J.Msg.MIXLY_EQUALS,"==="],[J.Msg.MIXLY_STARTSWITH,"startswith"],[J.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(zt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new J.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},Ie={init:function(){this.setColour(zt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_COMPARETO_HELP)}},Te={init:function(){var t=[[J.Msg.TEXT_UPPER,"upper"],[J.Msg.TEXT_TITLE,"title"],[J.Msg.TEXT_CAPITALIZE,"capitalize"],[J.Msg.TEXT_SWAPCASE,"swapcase"],[J.Msg.TEXT_LOWER,"lower"]];this.setColour(zt),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new J.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:J.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:J.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:J.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:J.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:J.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},de={init:function(){var t=[[J.Msg.TEXT_LJUST,"ljust"],[J.Msg.TEXT_CENTER,"center"],[J.Msg.TEXT_RJUST,"rjust"]];this.setColour(zt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(J.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(J.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},he={init:function(){this.setColour(zt),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(J.Msg.MIXLY_MID+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(J.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Me={init:function(){this.setColour(zt),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},me={init:function(){this.setColour(zt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(J.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},ce={init:function(){this.setColour(zt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(J.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(J.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Oe={init:function(){var t=[[J.Msg.TEXT_TRIM_BOTH,"strip"],[J.Msg.TEXT_TRIM_LEFT,"lstrip"],[J.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(zt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(J.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:J.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:J.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:J.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ee={init:function(){this.setColour(zt),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new J.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new J.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(J.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){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Mi={init:function(){this.setColour(di),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},mi={init:function(){this.setColour(di),this.appendDummyInput().appendField(J.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ci={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_KEYS),this.setTooltip(J.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Oi={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_TOOLTIP)}},Ei={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ri={init:function(){this.setColour(di),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(J.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},gi={init:function(){this.setColour(di),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_DELETE_TOOLTIP)}},Ci={init:function(){this.setColour(di),this.appendValueInput("DICT2").setCheck("Dict").appendField(J.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(J.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(J.Msg.MIXLY_MID),this.setTooltip(J.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ai={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_CLEAR),this.setTooltip(J.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Li={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_ITEMS),this.setTooltip(J.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Si={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_VALUES),this.setTooltip(J.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Ni={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_LENGTH),this.setTooltip(J.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},fi={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_DELDICT),this.setTooltip(J.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Di={init:function(){this.MODE=[[J.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[J.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(J.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=J.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=J.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==J.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 J.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")}},Pi={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setTooltip(J.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Fi={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_SETDEFAULT_TOOLTIP)}},vi={init:function(){this.setColour(di),this.appendDummyInput("").appendField(new J.FieldLabel(J.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 J.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(J.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){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yi={init:function(){this.setColour(di),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},bi={init:function(){this.setColour(di),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Vi={init:function(){this.setColour(di),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Xi=210,yi={init:function(){var t=J.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:J.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:J.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:J.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:J.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:J.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:J.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Bi={init:function(){var t=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new J.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Ui={init:function(){var t=[[J.Msg.LOGIC_OPERATION_AND,"AND"],[J.Msg.LOGIC_OPERATION_OR,"OR"],[J.Msg.LOGIC_OPERATION_NOR,"NOR"],[J.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:J.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:J.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:J.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:J.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Gi={init:function(){this.setColour(Xi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(J.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(J.Msg.LOGIC_NEGATE_TOOLTIP)}},wi={init:function(){var t=[[J.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[J.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Xi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new J.FieldDropdown(t),"BOOL"),this.setTooltip(J.Msg.LOGIC_BOOLEAN_TOOLTIP)}},ki={init:function(){this.setColour(Xi),this.setOutput(!0),this.appendDummyInput().appendField(J.Msg.LOGIC_NULL),this.setTooltip(J.Msg.LOGIC_NULL_TOOLTIP)}},Hi={init:function(){this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(J.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(J.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},xi={init:function(){var t=[[J.Msg.TEXT_APPEND_TO,"in"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new J.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(J.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.IN)}},Wi={init:function(){var t=[[J.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Xi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Ki={init:function(){this.setColour(Xi),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Ji={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(J.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ji={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(J.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=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.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=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},qi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXPY_TEXT_ENCODE).appendField(new J.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=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},zi={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Zi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},$i={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.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=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},tn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MICROBIT_PYTHON_TYPE)}},en={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.HTML_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},nn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},sn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},on={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const _n={init:function(){this.setColour(0),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[J.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(J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},an={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},rn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.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=J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},pn={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ln={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[J.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 J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+J.Msg.MIXLY_ESP32_SET+{mkdir:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},In={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(J.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Tn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},dn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.HTML_FILE,"isfile"],[J.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 J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},hn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(J.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+J.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(J.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(J.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},mn={};mn.NAME_TYPE=J.PROCEDURE_CATEGORY_NAME,mn.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Is={init:function(){this.setColour(_s),this.appendDummyInput().appendField(J.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Ts={init:function(){this.setColour(_s),this.appendDummyInput().appendField(J.Msg.HTML_FORM_CONTENT).appendField(new J.FieldDropdown([[J.Msg.HTML_TEXT,"text"],[J.Msg.HTML_EMAIL,"email"],[J.Msg.HTML_NUMBER,"number"],[J.Msg.HTML_PASSWORD,"password"],[J.Msg.HTML_CHECKBOX,"checkbox"],[J.Msg.HTML_RADIOBUTTON,"radiobutton"],[J.Msg.HTML_BUTTON,"button"],[J.Msg.HTML_COLOUR,"colour"],[J.Msg.HTML_DATE,"date"],[J.Msg.HTML_LOCALTIME,"local time"],[J.Msg.HTML_FILE,"file"],[J.Msg.HTML_HIDDEN,"hidden"],[J.Msg.HTML_IMAGE,"image"],[J.Msg.HTML_MONTH,"month"],[J.Msg.HTML_RANGE,"range"],[J.Msg.HTML_RESET,"reset"],[J.Msg.HTML_SEARCH,"search"],[J.Msg.HTML_SUBMIT,"submit"],[J.Msg.HTML_TELEPHONENUMBER,"telephone number"],[J.Msg.HTML_TIME,"time"],[J.Msg.HTML_URL,"url"],[J.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(J.Msg.HTML_NAME).appendField(new J.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(J.Msg.HTML_VALUE).appendField(new J.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ds={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hs={init:function(){this.setColour(_s),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ms={init:function(){this.setColour(_s),this.appendDummyInput().appendField(J.Msg.HTML_TEXT).appendField(new J.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ms=160,cs={init:function(){this.setColour(ms),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new J.FieldTable(""),"TEXT")}},Os={init:function(){this.setColour(ms),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT")}},Es={init:function(){this.setColour(ms),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Rs={init:function(){this.setColour(ms),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},gs={init:function(){this.setColour(ms),this.appendDummyInput().appendTitle("Comment:").appendTitle(new J.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Cs={init:function(){this.setColour(ms),this.appendValueInput("VALUE").appendField(J.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},As={init:function(){this.setColour(ms),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(J.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=J.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 "+r()+"("+t+", "+e+", "+i+")"},J.isNumber(n)&&J.isNumber(s)&&J.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 su=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]},ou=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},_u=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},uu=function(t,e){return["None",e.ORDER_ATOMIC]},au=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]},ru=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]},pu=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]},lu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Iu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Tu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},du=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},hu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Mu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},mu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},cu=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]},Ou=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Eu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Ru=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},gu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Cu=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Au=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Lu=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Su=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Nu=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"},fu=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Du=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Pu=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Fu=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"},vu=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]},Yu=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"},bu=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"},Vu=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),J.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]},ha=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ma=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},ma=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},ca=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Oa=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ea=function(t,e){return'"},Ra=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},ga=function(){return this.getFieldValue("TEXT")+"\n"},Ca=function(t){return t.getFieldValue("TEXT")+"\n"},Aa=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},La=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Sa=function(){return""},Na=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},fa=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")},Pa.scrubNakedValue=function(t){return t+"\n"},Pa.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},Pa.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Pa.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,Pa.COMMENT_WRAP-3),n+=Pa.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const Fa={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],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:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","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"]]}};Fa["Mithon CC"]=Fa.microbit;const va=Fa,Ya=100,ba={init:function(){this.jsonInit({colour:Ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},Va={init:function(){this.jsonInit({colour:Ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},Xa={init:function(){this.setColour(Ya),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(J.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(J.Msg.MIXLY_MILLIS).appendField(J.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new J.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},ya={init:function(){this.setColour(Ya),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},Ba={init:function(){this.jsonInit({colour:Ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_notes1)}},Ua={init:function(){this.jsonInit({colour:Ya,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ga={init:function(){this.jsonInit({colour:Ya,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:J.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Reset_music)}},wa={init:function(){this.setColour(Ya),this.appendValueInput("PIN").appendField(J.Msg.MIXLY_NOTONE).appendField(J.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_NOTONE)}},ka={init:function(){this.jsonInit({colour:Ya,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:J.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Get_current_tempo)}},Ha={init:function(){this.setColour(Ya),this.appendValueInput("TICKS").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(J.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},xa={init:function(){this.setColour(Ya),this.appendValueInput("VAR").setCheck(String).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=J.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},Wa={init:function(){this.setColour(Ya),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ka={init:function(){this.setColour(Ya),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ja={init:function(){this.setColour(Ya),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},ja={init:function(){this.setColour(Ya),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MICROBIT_SPEECH_translation)}},Qa={init:function(){this.setColour(Ya),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_SERVO).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},qa={init:function(){this.appendValueInput("speed").setCheck(null).appendField(J.Msg.MIXLY_MOTOR).appendField(new J.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(J.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new J.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ya),this.setTooltip(""),this.setHelpUrl("")}},za={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_RGB_PIN_COUNT)}},Za={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_RGB_NUM_R_G_B)}},$a={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},tr={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_ESP32_MUSIC_WRI)}},er={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+" "+J.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(J.inputs.Align.RIGHT).appendField("RX#"),this.appendValueInput("TX").setAlign(J.inputs.Align.RIGHT).appendField("TX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ir=[[J.Msg.MIXLY_MP3_PLAY,"play"],[J.Msg.MIXLY_MP3_PAUSE,"pause"],[J.Msg.MIXLY_MP3_NEXT,"next_track"],[J.Msg.MIXLY_MP3_PREV,"prev_track"],[J.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[J.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const nr={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(ir),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var sr=[[J.Msg.MIXLY_MP3_LOOP_ALL,"0"],[J.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[J.Msg.MIXLY_MP3_LOOP_ONE,"2"],[J.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const or={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_LOOP_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(sr),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var _r=[[J.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[J.Msg.MIXLY_MP3_EQ_POP,"1"],[J.Msg.MIXLY_MP3_EQ_ROCK,"2"],[J.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[J.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[J.Msg.MIXLY_MP3_EQ_BASS,"5"]];const ur={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_EQ_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(_r),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},ar={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(J.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},rr={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},pr={init:function(){this.setColour(Ya),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(J.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},lr=140,Ir={init:function(){this.setColour(225),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[J.Msg.HTML_RESET,"reset"]]),"type").appendField(J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:J.Blockly.Msg.HTML_RESET}[e]+i}))}},Tr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:J.Msg.MIXLY_MICROBIT_Switch_on_radio})}},dr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:J.Msg.MIXLY_MICROBIT_Switch_off_radio})}},hr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:J.Msg.MIXLY_MICROBIT_Configure_radio1,message0:J.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},Mr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:J.Msg.MIXLY_MICROBIT_Reset_radio})}},mr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:J.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},cr={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"send"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Send_message1)}},Or={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:J.Msg.MIXLY_MICROBIT_Receive_message,message0:J.Msg.MIXLY_MICROBIT_Receive_message})}},Er={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"receive"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[J.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Receive_message)}},Rr={init:function(){this.setColour(lr),this.appendValueInput("RX",Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gr={init:function(){this.setColour(lr),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Cr={init:function(){this.setColour(lr),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},Ar={init:function(){this.jsonInit({colour:lr,nextStatement:null,previousStatement:null,message0:J.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:j.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:j.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:j.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},Lr={init:function(){this.setColour(lr),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},Sr=180,Nr={init:function(){this.jsonInit({colour:Sr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:J.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Clear_display)}},fr={init:function(){this.setColour(Sr),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(J.Msg.MIXLY_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS1)}},Dr={init:function(){this.setColour(Sr),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(J.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS2)}},Pr={init:function(){this.setColour(Sr),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},Fr={init:function(){this.setColour(Sr),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vr={init:function(){this.setColour(Sr),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(J.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Yr={init:function(){this.setColour(Sr),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(J.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.OLED_BITMAP)}},br={init:function(){this.jsonInit({colour:Sr,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:J.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},Vr={init:function(){this.jsonInit({colour:Sr,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:J.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+J.Msg.MIXLY_MICROBIT_Animate_images1)}},Xr={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:Sr,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:J.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},yr={init:function(){this.jsonInit({colour:Sr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:J.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Br={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[J.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(J.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=J.Msg.MIXLY_MICROBIT_monitor;return{on:J.Msg.MIXLY_MICROBIT_Turn_on_display,off:J.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},Ur={init:function(){this.jsonInit({colour:Sr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:J.Msg.MIXLY_MICROBIT_Turn_off_display})}},Gr={init:function(){this.jsonInit({colour:Sr,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:J.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Display_is_on1)}},wr={init:function(){this.jsonInit({colour:Sr,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:J.Msg.MIXLY_MICROBIT_Built_in_image1,message0:J.Msg.MIXLY_MICROBIT_Built_in_image})}},kr={init:function(){this.jsonInit({colour:Sr,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:J.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Copy_image1)}},Hr={init:function(){this.jsonInit({colour:Sr,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:J.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Invert_image1)}},xr={init:function(){this.jsonInit({colour:Sr,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:J.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)}},Wr={init:function(){var t=[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]];this.setColour(Sr),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[t]+s}))}},Kr={init:function(){var t=[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(Sr),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},Jr={init:function(){this.setColour(Sr),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},jr={init:function(){this.setColour(Sr),this.appendValueInput("device").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_SETUP).appendField(J.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_SETUP+J.Msg.MIXLY_DF_LCD+J.Msg.MIXLY_LCD_ADDRESS)}},Qr={init:function(){this.setColour(Sr),this.appendValueInput("row",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},qr={init:function(){this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ON,"on()"],[J.Msg.MIXLY_OFF,"off()"],[J.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[J.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_DF_LCD+{"on()":J.Msg.MIXLY_ON,"off()":J.Msg.MIXLY_OFF,"clear()":J.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":J.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},zr={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD+" OLED "+J.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(J.inputs.Align.RIGHT).appendField("(128*64) "+J.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Sr),this.setTooltip(J.Msg.MIXLY_DF_LCD+J.Msg.OLEDDISPLAY+J.Msg.MIXLY_MICROBIT_TYPE_STRING)}},Zr={init:function(){var t=[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]];this.setColour(Sr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[t]}))}},$r={init:function(){this.setColour(Sr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:J.Msg.MIXLY_LCD_STAT_CLEAR,1:J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return J.Msg.MIXLY_DF_LCD+i[e]}))}},tp="#777777",ep={init:function(){this.setColour(tp),this.appendDummyInput("").appendField("from ").appendField(new J.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new J.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ip={init:function(){this.setColour(tp),this.appendDummyInput("").appendField("import ").appendField(new J.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},np={init:function(){this.setColour(tp),this.appendDummyInput("").appendField(new J.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e0)var u="rgb_show.mixly_rgb_show("+(i-1)+", "+s+", "+o+", "+_+")\n";else u="rgb_show.mixly_rgb_show_all("+s+", "+o+", "+_+")\n";return u},ST=function(t,e){var i=this.getFieldValue("LED");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show",i>0)var n="rgb_show.mixly_rgb_show("+(i-1)+", 0, 0, 0)\n";else n="rgb_show.mixly_rgb_show_all(0, 0, 0)\n";return n},NT=function(t,e){var i=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),n=e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC),s=e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC),o=e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show","rgb_show.mixly_rgb_show("+i+", "+n+", "+s+", "+o+")\n"},fT=function(t,e){var i=this.getFieldValue("NUMBER"),n=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC),s=this.getFieldValue("DIRECTION");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var o="motor_control.motor1("+n+", "+s+")\nmotor_control.motor2("+n+", "+s+")\nmotor_control.motor3("+n+", "+s+")\n";else if(1==i)o="motor_control.motor1("+n+", "+s+")\n";else if(2==i)o="motor_control.motor2("+n+", "+s+")\n";else if(3==i)o="motor_control.motor3("+n+", "+s+")\n";return o},DT=function(t,e){var i=this.getFieldValue("NUMBER");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var n="motor_control.motor1(0)\nmotor_control.motor2(0)\nmotor_control.motor3(0)\n";else if(1==i)n="motor_control.motor1(0)\n";else if(2==i)n="motor_control.motor2(0)\n";else if(3==i)n="motor_control.motor3(0)\n";return n},PT=function(t,e){return["pin"+this.getFieldValue("NUMBER")+".read_analog()",e.ORDER_ATOMIC]},FT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"btn",e.ORDER_ATOMIC);e.setups_["on_"+i]="def on_"+i+"():\n while True:\n if "+i+".was_pressed():\n yield callback_"+i+"()\n else:\n yield\n\nfunc_"+i+" = on_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_"+i+")\n","def callback_"+i+"():\n"+n},vT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("gesture");e.setups_["on_"+i]="def on_gesture_"+i+'():\n while True:\n if accelerometer.is_gesture("'+i+'"):\n yield callback_gesture_'+i+"()\n else:\n yield\n\nfunc_gesture_"+i+" = on_gesture_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_gesture_"+i+")\n","def callback_gesture_"+i+"():\n"+n},YT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("near");e.setups_["on_"+i]="def on_near_"+i+"():\n while True:\n if not pin"+i+".read_digital():\n yield callback_near_"+i+"()\n else:\n yield\n\nfunc_near_"+i+" = on_near_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_near_"+i+")\n","def callback_near_"+i+"():\n"+n},bT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"TIMES",e.ORDER_ATOMIC),n=e.statementToCode(t,"DO");return"for _my_variable in range("+i+"):\n"+(n=e.addLoopTrap(n,t.id)||e.PASS)},VT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},XT=VT,yT=VT,BT=VT,UT=VT,GT=VT,wT=VT,kT=VT,HT=VT,xT=VT,WT=VT,KT=VT,JT=VT,jT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},QT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},qT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses()",e.ORDER_ATOMIC]},zT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['"'+this.getFieldValue("gesture")+'"',e.ORDER_ATOMIC]},ZT=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.is_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},$T=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.is_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},td=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.was_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},ed=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.was_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},id=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i,n=this.getFieldValue("GES");return"all"==n?i="accelerometer.get_gestures()":"current"==n&&(i="accelerometer.current_gesture()"),[i,e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.current_gesture()",e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.get_"+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},od=function(){return"input.setAccelerometerRange("+this.getFieldValue("key")+")\n"},_d=function(t,e){return["input.lightLevel()",e.ORDER_ATOMIC]},ud=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.calibrate()\n"},ad=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.is_calibrated()",e.ORDER_ATOMIC]},rd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.heading()",e.ORDER_ATOMIC]},pd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["temperature()",e.ORDER_ATOMIC]},ld=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass."+this.getFieldValue("compass")+"()",e.ORDER_ATOMIC]},Id=function(t,e){return["input.rotation("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},Td=function(t,e){return["input.magneticForce("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},dd=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="import ultrasonic",["ultrasonic.distance_cm(t_pin=pin"+i+", e_pin=pin"+n+")",e.ORDER_ATOMIC]},hd=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.setups_.class_hrsc04_="class HCSR04:\n def __init__(self, tpin=pin"+i+", epin=pin"+n+', spin=pin13):\n self.trigger_pin = tpin\n self.echo_pin = epin\n self.sclk_pin = spin\n\n def distance_mm(self):\n spi.init(baudrate=125000, sclk=self.sclk_pin,\n mosi=self.trigger_pin, miso=self.echo_pin)\n pre = 0\n post = 0\n k = -1\n length = 500\n resp = bytearray(length)\n resp[0] = 0xFF\n spi.write_readinto(resp, resp)\n # find first non zero value\n try:\n i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n except StopIteration:\n i = -1\n if i > 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},Md=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},md=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},cd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},Od=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},Ed=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},Rd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},gd=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},Cd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},Ad=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},Ld=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},Sd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},Nd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},fd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},Dd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},Pd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},Fd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},vd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},Yd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},bd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},Vd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},Xd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},yd=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},Bd=function(){return"control.reset()\n"},Ud=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||j.Profile.default.serial)+")\n"},Gd=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||j.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||j.Profile.default.serial)+")\n"},wd=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||j.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||j.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},kd=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},Hd=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},xd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Wd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Kd=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},Jd=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},jd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},Qd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},qd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},zd=function(){return"while True:\n pass\n"},Zd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},$d=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(J.Variables,q),Object.assign(J.Procedures,cn),J.Python=Pa,J.generator=Pa,j.Profile.default={},Object.assign(j.Profile,va),Object.assign(j.Profile.default,va.microbit),Object.assign(J.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,N,f,D,D,P,F,v,Y,b,V,X),Object.assign(J.Python.forBlock,d,h,M,m,c,O,E,R,g,C,A,L,S,y,B,U,U,G,w,k,H,x,W,K)})(); \ No newline at end of file +class z{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(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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(J.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(J.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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")}},It={init:function(){this.setColour(_t),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Tt={init:function(){this.setColour(_t),this.appendValueInput("LIST").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(J.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},dt={init:function(){this.setColour(_t),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(J.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new J.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(J.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:J.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},ht={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(J.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(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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(J.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(J.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")}},Mt={init:function(){this.setColour(_t);var t=new J.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:J.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:J.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(J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},mt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ct={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new J.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return J.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};dt.OPERATORS=[[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Mt.OPERATORS=[[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[J.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Ot={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Et={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},Rt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(J.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},gt={init:function(){this.setColour(_t),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Ct={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},At={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(J.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Lt={init:function(){this.jsonInit({message0:J.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:_t,tooltip:J.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:J.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},St={init:function(){this.setColour(_t),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(J.Msg.MIXLY_STAT),this.setOutput(!0)}},Nt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},ft={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},Dt={init:function(){this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT+J.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(J.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new J.FieldDropdown([[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[J.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(_t),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Pt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ft={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},vt={init:function(){this.setColour(_t),this.appendDummyInput().appendField(J.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Yt=230;J.FieldTextInput.math_number_validator=function(t){return String(t)},J.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 bt={init:function(){this.setColour(Yt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},Vt={init:function(){this.setColour(Yt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Xt={init:function(){this.setColour(Yt);this.appendDummyInput("").appendField(J.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new J.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:J.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},yt={init:function(){this.setColour(Yt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.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:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Bt={init:function(){this.setColour(Yt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.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:J.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:J.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:J.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:J.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:J.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:J.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ut={init:function(){this.setColour(Yt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new J.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Gt={init:function(){this.setColour(Yt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new J.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:J.Msg.MATH_TRIG_TOOLTIP_SIN,COS:J.Msg.MATH_TRIG_TOOLTIP_COS,TAN:J.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:J.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:J.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:J.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:J.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},wt={init:function(){var t=[[J.Msg.MATH_BIN,"bin"],[J.Msg.MATH_OCT,"oct"],[J.Msg.MATH_HEX,"hex"]];this.setColour(Yt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new J.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:J.Msg.MATH_DEC_TOOLTIP_BIN,oct:J.Msg.MATH_DEC_TOOLTIP_OCT,hex:J.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},kt={init:function(){var t=[[J.Msg.LANG_MATH_TO_ROUND,"round"],[J.Msg.LANG_MATH_TO_CEIL,"ceil"],[J.Msg.LANG_MATH_TO_FLOOR,"floor"],[J.Msg.MATH_ABS,"fabs"],[J.Msg.MATH_SQRT,"sqrt"]];this.setColour(Yt),this.appendValueInput("A").setCheck(Number).appendField(new J.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:J.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:J.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:J.Msg.MATH_SINGLE_TOOLTIP_SQ,round:J.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:J.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:J.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ht={init:function(){var t=[[J.Msg.MIXLY_MAX,"max"],[J.Msg.MIXLY_MIN,"min"]];this.setColour(Yt),this.appendValueInput("A").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:J.Msg.MIXLY_TOOLTIP_MATH_MAX,min:J.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},xt={init:function(){var t=[[J.Msg.MATH_TWO,"two"],[J.Msg.MATH_EIGHT,"eight"],[J.Msg.MATH_TEN,"ten"],[J.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Yt),this.appendDummyInput("").appendField(J.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new J.FieldDropdown(t),"OP").appendField(J.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.MATH_ZHW).appendField(new J.FieldDropdown(t),"OP2").appendField(J.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:J.Msg.MATH_Before_two,eight:J.Msg.MATH_Before_eight,ten:J.Msg.MATH_Before_ten,sixteen:J.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:J.Msg.MATH_Behind_two,eight:J.Msg.MATH_Behind_eight,ten:J.Msg.MATH_Behind_ten,sixteen:J.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Wt={init:function(){var t=[[J.Msg.LANG_MATH_INT,"int"],[J.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Yt),this.setOutput(!0,Number),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RANDOM).appendField(new J.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(J.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:J.Msg.LANG_MATH_INT,float:J.Msg.LANG_MATH_FLOAT_RANDOM};return J.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Kt={init:function(){this.setColour(Yt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(J.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_CONSTRAIN_TOOLTIP)}},Jt={init:function(){this.setColour(Yt),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(J.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(J.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_MAP)}},jt={init:function(){this.setColour(Yt),this.appendDummyInput().appendField(new J.FieldTextInput("0",J.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(J.Msg.MATH_NUMBER_TOOLTIP)}},Qt={init:function(){this.setColour(Yt),this.appendValueInput("NUM").setCheck(Number).appendField(J.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},qt={init:function(){this.setColour(Yt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MATH_ROUND).appendField(J.Msg.TEXT_KEEP),this.appendDummyInput().appendField(J.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(J.Msg.MATH_ROUND_NEW_TOOLTIP)}},zt={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"],[J.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Yt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:J.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:J.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Zt={init:function(){var t=[[J.Msg.MIXLY_TO_INT,"int"],[J.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Yt),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:J.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:J.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},$t=Jt,te=160,ee={init:function(){this.setColour(te),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(J.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 J.FieldImage(e,12,12,'"')}},ie={init:function(){this.setColour(te),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(J.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 J.FieldImage(e,12,12,'"')}};J.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 ne={init:function(){this.setColour(te),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new J.FieldTextInput("",J.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(J.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new J.FieldImage(e,7,12,'"')}},se={init:function(){this.setColour(te),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(J.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},oe={init:function(){this.setColour(te),this.appendValueInput("VAR").setCheck(Number).appendField(J.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},_e={init:function(){this.setColour(te),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ue={init:function(){this.setColour(te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ae={init:function(){this.setColour(te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},re={init:function(){this.WHERE_OPTIONS=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.TEXT_GET_INDEX_RANDOM+1+J.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(J.Msg.LISTS_GET_INDEX_GET,"MODE"),J.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(J.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=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=J.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+J.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",J.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:J.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:J.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:J.Msg.TEXT_GET_INDEX_RANDOM};return J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+J.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==J.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),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new J.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"),J.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},pe={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(J.Msg.PROCEDURES_DEFRETURN_RETURN+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.LISTS_GET_INDEX_FROM_START+"n"+J.Msg.TEXT_CHARAT2)}},le={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(J.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(J.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ie={init:function(){this.WHERE_OPTIONS_1=[[J.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[J.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[J.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[J.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(te),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(J.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(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==J.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==J.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),J.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(J.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new J.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"))}},Te={init:function(){this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(J.Msg.LISTS_GET_INDEX_GET+" "+J.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(J.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(J.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(J.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},de={init:function(){var t=[[J.Msg.MIXLY_EQUALS,"==="],[J.Msg.MIXLY_STARTSWITH,"startswith"],[J.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new J.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},he={init:function(){this.setColour(te),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_COMPARETO_HELP)}},Me={init:function(){var t=[[J.Msg.TEXT_UPPER,"upper"],[J.Msg.TEXT_TITLE,"title"],[J.Msg.TEXT_CAPITALIZE,"capitalize"],[J.Msg.TEXT_SWAPCASE,"swapcase"],[J.Msg.TEXT_LOWER,"lower"]];this.setColour(te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new J.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:J.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:J.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:J.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:J.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:J.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},me={init:function(){var t=[[J.Msg.TEXT_LJUST,"ljust"],[J.Msg.TEXT_CENTER,"center"],[J.Msg.TEXT_RJUST,"rjust"]];this.setColour(te),this.appendValueInput("VAR").appendField(new J.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(J.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(J.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ce={init:function(){this.setColour(te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(J.Msg.MIXLY_MID+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(J.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Oe={init:function(){this.setColour(te),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ee={init:function(){this.setColour(te),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(J.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(J.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Re={init:function(){this.setColour(te),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(J.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(J.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ge={init:function(){var t=[[J.Msg.TEXT_TRIM_BOTH,"strip"],[J.Msg.TEXT_TRIM_LEFT,"lstrip"],[J.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(te),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(J.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:J.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:J.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:J.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ce={init:function(){this.setColour(te),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new J.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new J.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(J.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){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Oi={init:function(){this.setColour(mi),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(J.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ei={init:function(){this.setColour(mi),this.appendDummyInput().appendField(J.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ri={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_KEYS),this.setTooltip(J.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},gi={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_TOOLTIP)}},Ci={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(J.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ai={init:function(){this.setColour(mi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(J.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Li={init:function(){this.setColour(mi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(J.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_DELETE_TOOLTIP)}},Si={init:function(){this.setColour(mi),this.appendValueInput("DICT2").setCheck("Dict").appendField(J.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(J.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(J.Msg.MIXLY_MID),this.setTooltip(J.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ni={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_CLEAR),this.setTooltip(J.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fi={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_ITEMS),this.setTooltip(J.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Di={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_VALUES),this.setTooltip(J.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Pi={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_LENGTH),this.setTooltip(J.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Fi={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.DICT_DELDICT),this.setTooltip(J.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vi={init:function(){this.MODE=[[J.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[J.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(J.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(J.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=J.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=J.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==J.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 J.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")}},Yi={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(J.Msg.DICTS_ADD_VALUE),this.setTooltip(J.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},bi={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(J.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(J.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Vi={init:function(){this.setColour(mi),this.appendDummyInput("").appendField(new J.FieldLabel(J.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 J.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(J.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){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xi={init:function(){this.setColour(mi),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},yi={init:function(){this.setColour(mi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(J.Msg.MIXLY_TO_JSON),this.setTooltip(J.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Bi={init:function(){this.setColour(mi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(J.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(J.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Ui=210,Gi={init:function(){var t=J.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Ui),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:J.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:J.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:J.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:J.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:J.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:J.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},wi={init:function(){var t=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=J.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Ui),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new J.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},ki={init:function(){var t=[[J.Msg.LOGIC_OPERATION_AND,"AND"],[J.Msg.LOGIC_OPERATION_OR,"OR"],[J.Msg.LOGIC_OPERATION_NOR,"NOR"],[J.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Ui),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:J.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:J.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:J.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:J.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Hi={init:function(){this.setColour(Ui),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(J.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(J.Msg.LOGIC_NEGATE_TOOLTIP)}},xi={init:function(){var t=[[J.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[J.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Ui),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new J.FieldDropdown(t),"BOOL"),this.setTooltip(J.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Wi={init:function(){this.setColour(Ui),this.setOutput(!0),this.appendDummyInput().appendField(J.Msg.LOGIC_NULL),this.setTooltip(J.Msg.LOGIC_NULL_TOOLTIP)}},Ki={init:function(){this.setColour(Ui),this.appendValueInput("A"),this.appendValueInput("B").appendField(J.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(J.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Ji={init:function(){var t=[[J.Msg.TEXT_APPEND_TO,"in"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Ui),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new J.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(J.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.IN)}},ji={init:function(){var t=[[J.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[J.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Ui),this.appendValueInput("A"),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Qi={init:function(){this.setColour(Ui),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},qi={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(J.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},zi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(J.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=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){J.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Zi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.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=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},$i={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXPY_TEXT_ENCODE).appendField(new J.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=J.Msg.MIXLY_USE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=J.Msg.MIXLY_BELONG,_=J.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:J.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:J.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:J.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},tn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},en={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.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=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:J.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:J.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},sn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MICROBIT_PYTHON_TYPE)}},on={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.HTML_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},_n={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},un={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},an={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const rn={init:function(){this.setColour(0),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[J.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(J.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},pn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+J.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ln={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},In={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(J.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=J.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+J.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:J.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},Tn={init:function(){this.setColour(0),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},dn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[J.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 J.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+J.Msg.MIXLY_ESP32_SET+{mkdir:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},hn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(J.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},Mn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(J.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},mn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.HTML_FILE,"isfile"],[J.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 J.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+J.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:J.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},cn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(J.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+J.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(J.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},On={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(J.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(J.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},En={};En.NAME_TYPE=J.PROCEDURE_CATEGORY_NAME,En.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hs={init:function(){this.setColour(rs),this.appendDummyInput().appendField(J.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},Ms={init:function(){this.setColour(rs),this.appendDummyInput().appendField(J.Msg.HTML_FORM_CONTENT).appendField(new J.FieldDropdown([[J.Msg.HTML_TEXT,"text"],[J.Msg.HTML_EMAIL,"email"],[J.Msg.HTML_NUMBER,"number"],[J.Msg.HTML_PASSWORD,"password"],[J.Msg.HTML_CHECKBOX,"checkbox"],[J.Msg.HTML_RADIOBUTTON,"radiobutton"],[J.Msg.HTML_BUTTON,"button"],[J.Msg.HTML_COLOUR,"colour"],[J.Msg.HTML_DATE,"date"],[J.Msg.HTML_LOCALTIME,"local time"],[J.Msg.HTML_FILE,"file"],[J.Msg.HTML_HIDDEN,"hidden"],[J.Msg.HTML_IMAGE,"image"],[J.Msg.HTML_MONTH,"month"],[J.Msg.HTML_RANGE,"range"],[J.Msg.HTML_RESET,"reset"],[J.Msg.HTML_SEARCH,"search"],[J.Msg.HTML_SUBMIT,"submit"],[J.Msg.HTML_TELEPHONENUMBER,"telephone number"],[J.Msg.HTML_TIME,"time"],[J.Msg.HTML_URL,"url"],[J.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(J.Msg.HTML_NAME).appendField(new J.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(J.Msg.HTML_VALUE).appendField(new J.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(J.Msg.MIXLY_AIP_ATTR).setAlign(J.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ms={init:function(){this.setColour(rs),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cs={init:function(){this.setColour(rs),this.appendDummyInput().appendField(new J.FieldTextInput("property"),"KEY").appendField(":").appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Os={init:function(){this.setColour(rs),this.appendDummyInput().appendField(J.Msg.HTML_TEXT).appendField(new J.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Es=160,Rs={init:function(){this.setColour(Es),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new J.FieldTable(""),"TEXT")}},gs={init:function(){this.setColour(Es),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT")}},Cs={init:function(){this.setColour(Es),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new J.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},As={init:function(){this.setColour(Es),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Ls={init:function(){this.setColour(Es),this.appendDummyInput().appendTitle("Comment:").appendTitle(new J.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ss={init:function(){this.setColour(Es),this.appendValueInput("VALUE").appendField(J.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Ns={init:function(){this.setColour(Es),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(J.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=J.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 "+r()+"("+t+", "+e+", "+i+")"},J.isNumber(n)&&J.isNumber(s)&&J.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 pu=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]},lu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Iu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Tu=function(t,e){return["None",e.ORDER_ATOMIC]},du=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]},hu=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]},Mu=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]},mu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},cu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ou=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Eu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Ru=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},gu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Cu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Au=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]},Lu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Su=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Nu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},fu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Du=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Pu=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Fu=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},vu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Yu=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"},bu=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Vu=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Xu=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},yu=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"},Bu=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]},Uu=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"},Gu=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"},wu=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),J.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]},Ra=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},Ca=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Aa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},La=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Sa=function(t,e){return'"},Na=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},fa=function(){return this.getFieldValue("TEXT")+"\n"},Da=function(t){return t.getFieldValue("TEXT")+"\n"},Pa=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Fa=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},va=function(){return""},Ya=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},ba=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")},Xa.scrubNakedValue=function(t){return t+"\n"},Xa.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},Xa.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xa.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=J.utils.string.wrap(o,Xa.COMMENT_WRAP-3),n+=Xa.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+u+" + "+s+")":s<0?"int("+u+" - "+-s+")":"int("+u+")",n&&(u="-"+u)),u};const ya={microbit:{description:"microbit_python",digital:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],pwm:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P5","5"],["P6","6"],["P7","7"],["P8","8"],["P9","9"],["P10","10"],["P11","11"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","16"],["P19","19"],["P20","20"]],analog:[["P0","0"],["P1","1"],["P2","2"],["P3","3"],["P4","4"],["P10","10"]],interrupt:[["P0","0"],["P1","1"],["P2","2"]],button:[["A","button_a"],["B","button_b"]],axis:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"]],brightness:[["0","0"],["1","1"],["2","2"],["3","3"],["4","4"],["5","5"],["6","6"],["7","7"],["8","8"],["9","9"]],builtinimg:[["HEART","Image.HEART"],["HEART_SMALL","Image.HEART_SMALL"],["HAPPY","Image.HAPPY"],["SMILE","Image.SMILE"],["SAD","Image.SAD"],["CONFUSED","Image.CONFUSED"],["ANGRY","Image.ANGRY"],["ASLEEP","Image.ASLEEP"],["SURPRISED","Image.SURPRISED"],["SILLY","Image.SILLY"],["FABULOUS","Image.FABULOUS"],["MEH","Image.MEH"],["YES","Image.YES"],["NO","Image.NO"],["CLOCK12","Image.CLOCK12"],["CLOCK11","Image.CLOCK11"],["CLOCK10","Image.CLOCK10"],["CLOCK9","Image.CLOCK9"],["CLOCK8","Image.CLOCK8"],["CLOCK7","Image.CLOCK7"],["CLOCK6","Image.CLOCK6"],["CLOCK5","Image.CLOCK5"],["CLOCK4","Image.CLOCK4"],["CLOCK3","Image.CLOCK3"],["CLOCK2","Image.CLOCK2"],["CLOCK1","Image.CLOCK1"],["ARROW_N","Image.ARROW_N"],["ARROW_NE","Image.ARROW_NE"],["ARROW_E","Image.ARROW_E"],["ARROW_SE","Image.ARROW_SE"],["ARROW_S","Image.ARROW_S"],["ARROW_SW","Image.ARROW_SW"],["ARROW_W","Image.ARROW_W"],["ARROW_NW","Image.ARROW_NW"],["TRIANGLE","Image.TRIANGLE"],["TRIANGLE_LEFT","Image.TRIANGLE_LEFT"],["CHESSBOARD","Image.CHESSBOARD"],["DIAMOND","Image.DIAMOND"],["DIAMOND_SMALL","Image.DIAMOND_SMALL"],["SQUARE","Image.SQUARE"],["SQUARE_SMALL","Image.SQUARE_SMALL"],["RABBIT","Image.RABBIT"],["COW","Image.COW"],["MUSIC_CROTCHET","Image.MUSIC_CROTCHET"],["MUSIC_QUAVER","Image.MUSIC_QUAVER"],["MUSIC_QUAVERS","Image.MUSIC_QUAVERS"],["PITCHFORK","Image.PITCHFORK"],["XMAS","Image.XMAS"],["PACMAN","Image.PACMAN"],["TARGET","Image.TARGET"],["TSHIRT","Image.TSHIRT"],["ROLLERSKATE","Image.ROLLERSKATE"],["DUCK","Image.DUCK"],["HOUSE","Image.HOUSE"],["TORTOISE","Image.TORTOISE"],["BUTTERFLY","Image.BUTTERFLY"],["STICKFIGURE","Image.STICKFIGURE"],["GHOST","Image.GHOST"],["SWORD","Image.SWORD"],["GIRAFFE","Image.GIRAFFE"],["SKULL","Image.SKULL"],["UMBRELLA","Image.UMBRELLA"],["SNAKE","Image.SNAKE"],["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],imglist:[["ALL_CLOCKS","Image.ALL_CLOCKS"],["ALL_ARROWS","Image.ALL_ARROWS"]],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:[["P0","0"],["P1","1"],["P2","2"],["P8","8"],["P12","12"],["P13","13"],["P14","14"],["P15","15"],["P16","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"]]}};ya["Mithon CC"]=ya.microbit;const Ba=ya,Ua=100,Ga={init:function(){this.jsonInit({colour:Ua,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_built_in_melody1)}},wa={init:function(){this.jsonInit({colour:Ua,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#built-in-melodies",tooltip:"Play one of the built-in melodies. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_built_in_melody_easy,args0:[{name:"melody",options:[["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"]],type:"field_dropdown"},{type:"input_value",name:"PIN"},{type:"input_dummy"}]})}},ka={init:function(){this.setColour(Ua),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.appendValueInput("duration").setCheck(Number).appendField(J.Msg.MIXLY_DURATION),this.appendDummyInput("").appendField(J.Msg.MIXLY_MILLIS).appendField(J.Msg.MIXLY_MICROBIT_WAIT),this.appendDummyInput("").appendField(new J.FieldCheckbox(!0),"wait"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE2)}},Ha={init:function(){this.setColour(Ua),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_TONE).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MIXLY_FREQUENCY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_TONE)}},xa={init:function(){this.jsonInit({colour:Ua,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"}]}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Play_notes1)}},Wa={init:function(){this.jsonInit({colour:Ua,nextStatement:null,previousStatement:null,inputsInline:!0,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#musical-notation",tooltip:"Play a list of notes expressed in the special music language. Indicate if you need to wait before continuing or continuously loop the melody.",message0:J.Msg.MIXLY_MICROBIT_Play_notes,args0:[{check:"List",type:"input_value",name:"notes"},{type:"input_value",name:"PIN"},{type:"input_dummy"},{type:"input_dummy"},{type:"input_dummy"}]})}},Ka={init:function(){this.jsonInit({colour:Ua,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.reset",message0:J.Msg.MIXLY_MICROBIT_Reset_music}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Reset_music)}},Ja={init:function(){this.setColour(Ua),this.appendValueInput("PIN").appendField(J.Msg.MIXLY_NOTONE).appendField(J.Msg.MIXLY_PIN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_NOTONE)}},ja={init:function(){this.jsonInit({colour:Ua,output:"Array",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/music.html#music.get_tempo",message0:J.Msg.MIXLY_MICROBIT_Get_current_tempo}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Get_current_tempo)}},Qa={init:function(){this.setColour(Ua),this.appendValueInput("TICKS").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO).appendField(J.Msg.MICROBIT_ACTUATOR_ticks),this.appendValueInput("BPM").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SET_TEMPO1)}},qa={init:function(){this.setColour(Ua),this.appendValueInput("VAR").setCheck(String).appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,"say"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,"sing"],[J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE,"pronounce"]]),"MODE"),this.appendValueInput("pitch").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_pitch),this.appendValueInput("speed").setCheck(Number).appendField(J.Msg.MIXLY_SPEED),this.appendValueInput("mouth").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_mouth),this.appendValueInput("throat").setCheck(Number).appendField(J.Msg.MICROBIT_SPEECH_throat),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE"),i=J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH,n=J.Msg.MIXLY_MICROBIT_TYPE_STRING;return i+{say:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY,sing:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING,pronounce:J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE}[e]+n}))}},za={init:function(){this.setColour(Ua),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SAY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Za={init:function(){this.setColour(Ua),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_SING),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},$a={init:function(){this.setColour(Ua),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_PY_ACTUATOR_SPEECH_PRENOUNCE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},tr={init:function(){this.setColour(Ua),this.appendValueInput("VAR").setCheck(String).appendField(J.Msg.MICROBIT_SPEECH_translation),this.setOutput(!0,String),this.setTooltip(J.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+J.Msg.MIXLY_MICROBIT_TYPE_STRING+J.Msg.MICROBIT_SPEECH_translation)}},er={init:function(){this.setColour(Ua),this.appendValueInput("PIN",Number).appendField(J.Msg.MIXLY_SERVO).appendField(J.Msg.MIXLY_PIN).setCheck(Number),this.appendValueInput("DEGREE",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DEGREE_0_180),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_TOOLTIP_BLOCKGROUP_SERVO_MOVE)}},ir={init:function(){this.appendValueInput("speed").setCheck(null).appendField(J.Msg.MIXLY_MOTOR).appendField(new J.FieldDropdown([["M1","1"],["M2","2"],["M3","3"],["M4","4"]]),"Motor").appendField(J.Msg.MIXLY_SPEED),this.appendDummyInput().appendField(new J.FieldDropdown([["Forward","1*"],["Reverse","-1*"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Ua),this.setTooltip(""),this.setHelpUrl("")}},nr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("PIN",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_PIN),this.appendValueInput("LEDCOUNT").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_COUNT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_RGB_PIN_COUNT)}},sr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendValueInput("RVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_R),this.appendValueInput("GVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_G),this.appendValueInput("BVALUE").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_B),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_RGB_NUM_R_G_B)}},or={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").setAlign(J.inputs.Align.RIGHT).appendField(new J.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_r={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.MIXLY_RGB),this.appendDummyInput().appendField(J.Msg.MIXLY_ESP32_RGB_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(J.Msg.MIXLY_ESP32_MUSIC_WRI)}},ur={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.MIXLY_SETUP+" "+J.Msg.QJ00X_MP3),this.appendValueInput("RX").setAlign(J.inputs.Align.RIGHT).appendField("RX#"),this.appendValueInput("TX").setAlign(J.inputs.Align.RIGHT).appendField("TX#"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var ar=[[J.Msg.MIXLY_MP3_PLAY,"play"],[J.Msg.MIXLY_MP3_PAUSE,"pause"],[J.Msg.MIXLY_MP3_NEXT,"next_track"],[J.Msg.MIXLY_MP3_PREV,"prev_track"],[J.Msg.MIXLY_MP3_VOL_UP,"inc_vol"],[J.Msg.MIXLY_MP3_VOL_DOWN,"dec_vol"]];const rr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(ar),"CONTROL_TYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var pr=[[J.Msg.MIXLY_MP3_LOOP_ALL,"0"],[J.Msg.MIXLY_MP3_LOOP_FOLDER,"1"],[J.Msg.MIXLY_MP3_LOOP_ONE,"2"],[J.Msg.MIXLY_MP3_LOOP_RAM,"3"]];const lr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_LOOP_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(pr),"LOOP_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}};var Ir=[[J.Msg.MIXLY_MP3_EQ_NORMAL,"0"],[J.Msg.MIXLY_MP3_EQ_POP,"1"],[J.Msg.MIXLY_MP3_EQ_ROCK,"2"],[J.Msg.MIXLY_MP3_EQ_JAZZ,"3"],[J.Msg.MIXLY_MP3_EQ_CLASSIC,"4"],[J.Msg.MIXLY_MP3_EQ_BASS,"5"]];const Tr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_EQ_MODE).appendField(J.Msg.MIXLY_STAT).appendField(new J.FieldDropdown(Ir),"EQ_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},dr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendDummyInput("").appendField(J.Msg.MIXLY_MP3_VOL),this.appendValueInput("vol",Number).appendField(J.Msg.MIXLY_STAT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},hr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},Mr={init:function(){this.setColour(Ua),this.appendDummyInput("").appendField(J.Msg.QJ00X_MP3),this.appendValueInput("FOLDER",Number).appendField(J.Msg.DFPLAYER_MINI_FOLDER).setCheck(Number),this.appendValueInput("NUM",Number).appendField(J.Msg.MIXLY_MP3_PLAY_NUM).setCheck(Number),this.appendDummyInput("").appendField("首"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(),this.setHelpUrl()}},mr=140,cr={init:function(){this.setColour(225),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"on"],[J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"off"],[J.Msg.HTML_RESET,"reset"]]),"type").appendField(J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type"),i=J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_WIFI;return{on:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,off:J.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,reset:J.Blockly.Msg.HTML_RESET}[e]+i}))}},Or={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.on",tooltip:"Turn on the radio. This needs to be explicitly called since the radio draws power and takes up memory that you may otherwise need.",message0:J.Msg.MIXLY_MICROBIT_Switch_on_radio})}},Er={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.off",tooltip:"Turn off the radio, thus saving power and memory.",message0:J.Msg.MIXLY_MICROBIT_Switch_off_radio})}},Rr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.config",tooltip:J.Msg.MIXLY_MICROBIT_Configure_radio1,message0:J.Msg.MIXLY_MICROBIT_Configure_radio,args0:[{min:4,value:32,type:"input_value",max:251,name:"length"},{type:"input_dummy"},{min:1,value:3,type:"input_value",max:32,name:"queue"},{type:"input_dummy"},{min:0,value:7,type:"input_value",max:100,name:"channel"},{type:"input_dummy"},{name:"power",type:"input_value"},{type:"input_dummy"},{name:"address",type:"input_value"},{type:"input_dummy"},{name:"group",type:"input_value"},{type:"input_dummy"},{name:"data_rate",type:"input_value"}]})}},gr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.reset",tooltip:"Reset the radio to default settings.",message0:J.Msg.MIXLY_MICROBIT_Reset_radio})}},Cr={init:function(){this.jsonInit({colour:225,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.send",tooltip:"Broadcast a text message.",message0:J.Msg.MIXLY_MICROBIT_Send_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},Ar={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_RADIO_SEND),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"send"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"send_bytes"]]),"type"),this.appendValueInput("data"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Send_message1)}},Lr={init:function(){this.jsonInit({colour:225,output:"String",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/radio.html#radio.receive",tooltip:J.Msg.MIXLY_MICROBIT_Receive_message,message0:J.Msg.MIXLY_MICROBIT_Receive_message})}},Sr={init:function(){this.setColour(225),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_Receive_message),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_MSG,"receive"],[J.Msg.MIXLY_MICROBIT_MSG_BYTE,"receive_bytes"],[J.Msg.MIXLY_MICROBIT_MSG_FULL,"receive_full"]]),"type"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_Receive_message)}},Nr={init:function(){this.setColour(mr),this.appendValueInput("RX",Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_SETUP).appendField("sda").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("TX",Number).appendField("scl").setCheck(Number).setAlign(J.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField("频率").setAlign(J.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fr={init:function(){this.setColour(mr),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_READ_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.LANG_MATH_BYTE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Dr={init:function(){this.setColour(mr),this.appendValueInput("address").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE_ADDRESS),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendDummyInput().appendField(J.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new J.FieldCheckbox(!1),"is_repeated"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},Pr={init:function(){this.jsonInit({colour:mr,nextStatement:null,previousStatement:null,message0:J.Msg.MIXLY_MICROBIT_SPI_INIT,args0:[{value:1e6,type:"field_number",name:"freq"},{type:"input_dummy"},{value:8,type:"field_number",name:"bits"},{type:"input_dummy"},{value:0,type:"field_number",name:"mode"},{type:"input_dummy"},{name:"mosi",options:j.Profile.default.digital,type:"field_dropdown"},{name:"miso",options:j.Profile.default.digital,type:"field_dropdown"},{name:"sck",options:j.Profile.default.digital,type:"field_dropdown"}]}),this.setFieldValue("15","mosi"),this.setFieldValue("14","miso"),this.setFieldValue("13","sck")}},Fr={init:function(){this.setColour(mr),this.appendValueInput("data").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_SPI_WRITE)}},vr=180,Yr={init:function(){this.jsonInit({colour:vr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.clear",message0:J.Msg.MIXLY_MICROBIT_Clear_display}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Clear_display)}},br={init:function(){this.setColour(vr),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_GET).appendField(J.Msg.MIXLY_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS1)}},Vr={init:function(){this.setColour(vr),this.appendValueInput("x").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("brightness").setCheck(Number).appendField(J.Msg.MIXLY_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_BRIGHTNESS2)}},Xr={init:function(){this.setColour(vr),this.appendValueInput("data").setCheck([String,"microbit_image"]).appendField(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_SHOW_IMAGE_OR_STRING)}},yr={init:function(){this.setColour(vr),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Br={init:function(){this.setColour(vr),this.appendValueInput("data").setCheck(String).appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("delay").setCheck(null).appendField(J.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(J.Msg.MIXLY_MILLIS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ur={init:function(){this.setColour(vr),this.appendValueInput("PIN",String).setCheck("microbit_image").appendField(J.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.OLED_BITMAP)}},Gr={init:function(){this.jsonInit({colour:vr,InputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Show the referenced image on the display.",message0:J.Msg.OLED_BITMAP,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}]})}},wr={init:function(){this.jsonInit({colour:vr,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",message0:J.Msg.MIXLY_MICROBIT_Animate_images_or_string,args0:[{check:[String,"List"],type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_delay+J.Msg.MIXLY_MICROBIT_Animate_images1)}},kr={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.jsonInit({colour:vr,inputsInline:!0,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.show",tooltip:"Display the list of images as an animation with a certain delay between each frame. Indicate if you need to wait before continuing, continuously loop the animation and clear the display when finished.",message0:J.Msg.MIXLY_MICROBIT_SHOW_STRING,args0:[{check:String,type:"input_value",name:"images"},{type:"input_value",name:"delay"},{type:"input_dummy"},{checked:!0,type:"field_checkbox",name:"wait"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"loop"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"clear"}]}),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING)}},Hr={init:function(){this.jsonInit({colour:vr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.scroll",tooltip:"Scroll the referenced text across the display.",message0:J.Msg.MIXLY_MICROBIT_Scroll_message,args0:[{check:"String",type:"input_value",name:"message"}]})}},xr={init:function(){this.setColour(vr),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_MICROBIT_Turn_on_display,"on"],[J.Msg.MIXLY_MICROBIT_Turn_off_display,"off"]]),"on_off").appendField(J.Msg.MIXLY_MICROBIT_monitor),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("on_off"),i=J.Msg.MIXLY_MICROBIT_monitor;return{on:J.Msg.MIXLY_MICROBIT_Turn_on_display,off:J.Msg.MIXLY_MICROBIT_Turn_off_display}[e]+i}))}},Wr={init:function(){this.jsonInit({colour:vr,nextStatement:null,previousStatement:null,helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.off",tooltip:"Turn off the display.",message0:J.Msg.MIXLY_MICROBIT_Turn_off_display})}},Kr={init:function(){this.jsonInit({colour:vr,output:"Boolean",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/display.html#microbit.display.is_on",message0:J.Msg.MIXLY_MICROBIT_Display_is_on}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Display_is_on1)}},Jr={init:function(){this.jsonInit({colour:vr,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SMILE","SMILE"],["SAD","SAD"],["CONFUSED","CONFUSED"],["ANGRY","ANGRY"],["ASLEEP","ASLEEP"],["SURPRISED","SURPRISED"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["MEH","MEH"],["YES","YES"],["NO","NO"],["CLOCK12","CLOCK12"],["CLOCK11","CLOCK11"],["CLOCK10","CLOCK10"],["CLOCK9","CLOCK9"],["CLOCK8","CLOCK8"],["CLOCK7","CLOCK7"],["CLOCK6","CLOCK6"],["CLOCK5","CLOCK5"],["CLOCK4","CLOCK4"],["CLOCK3","CLOCK3"],["CLOCK2","CLOCK2"],["CLOCK1","CLOCK1"],["ARROW_N","ARROW_N"],["ARROW_NE","ARROW_NE"],["ARROW_E","ARROW_E"],["ARROW_SE","ARROW_SE"],["ARROW_S","ARROW_S"],["ARROW_SW","ARROW_SW"],["ARROW_W","ARROW_W"],["ARROW_NW","ARROW_NW"],["TRIANGLE","TRIANGLE"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["CHESSBOARD","CHESSBOARD"],["DIAMOND","DIAMOND"],["DIAMOND_SMALL","DIAMOND_SMALL"],["SQUARE","SQUARE"],["SQUARE_SMALL","SQUARE_SMALL"],["RABBIT","RABBIT"],["COW","COW"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["PITCHFORK","PITCHFORK"],["XMAS","XMAS"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["SWORD","SWORD"],["GIRAFFE","GIRAFFE"],["SKULL","SKULL"],["UMBRELLA","UMBRELLA"],["SNAKE","SNAKE"],["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]],type:"field_dropdown"}],output:["microbit_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:J.Msg.MIXLY_MICROBIT_Built_in_image1,message0:J.Msg.MIXLY_MICROBIT_Built_in_image})}},jr={init:function(){this.jsonInit({colour:vr,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.copy",message0:J.Msg.MIXLY_MICROBIT_Copy_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Copy_image1)}},Qr={init:function(){this.jsonInit({colour:vr,args0:[{check:["microbit_image","List",String],type:"input_value",name:"image"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image.invert",message0:J.Msg.MIXLY_MICROBIT_Invert_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Invert_image1)}},qr={init:function(){this.jsonInit({colour:vr,args0:[{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"00"},{colour:"#000000",type:"field_colour",name:"01"},{colour:"#000000",type:"field_colour",name:"02"},{colour:"#000000",type:"field_colour",name:"03"},{colour:"#000000",type:"field_colour",name:"04"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"10"},{colour:"#000000",type:"field_colour",name:"11"},{colour:"#000000",type:"field_colour",name:"12"},{colour:"#000000",type:"field_colour",name:"13"},{colour:"#000000",type:"field_colour",name:"14"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"20"},{colour:"#000000",type:"field_colour",name:"21"},{colour:"#000000",type:"field_colour",name:"22"},{colour:"#000000",type:"field_colour",name:"23"},{colour:"#000000",type:"field_colour",name:"24"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"30"},{colour:"#000000",type:"field_colour",name:"31"},{colour:"#000000",type:"field_colour",name:"32"},{colour:"#000000",type:"field_colour",name:"33"},{colour:"#000000",type:"field_colour",name:"34"},{type:"input_dummy"},{colour:"#000000",type:"field_colour",name:"40"},{colour:"#000000",type:"field_colour",name:"41"},{colour:"#000000",type:"field_colour",name:"42"},{colour:"#000000",type:"field_colour",name:"43"},{colour:"#000000",type:"field_colour",name:"44"}],output:"microbit_image",helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#microbit.Image",message0:J.Msg.MIXLY_MICROBIT_Create_image}),this.setTooltip(J.Msg.MIXLY_MICROBIT_Create_image1)}},zr={init:function(){var t=[[J.Msg.MIXLY_UP,"up"],[J.Msg.MIXLY_DOWN,"down"],[J.Msg.MIXLY_LEFT,"left"],[J.Msg.MIXLY_RIGHT,"right"]];this.setColour(vr),this.setOutput(!0,"microbit_image"),this.setInputsInline(!0),this.appendValueInput("img").appendField(J.Msg.DISPLAY_IMAGE_LET).setCheck(["microbit_image","List",String]),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_LET2).appendField(new J.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(J.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(J.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=J.Msg.DISPLAY_IMAGE_LET,n=J.Msg.DISPLAY_IMAGE_LET2,s=J.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:J.Msg.MIXLY_UP,down:J.Msg.MIXLY_DOWN,left:J.Msg.MIXLY_LEFT,right:J.Msg.MIXLY_RIGHT}[t]+s}))}},Zr={init:function(){var t=[[J.Msg.MICROBIT_DISPLAY_UNION,"+"],[J.Msg.MICROBIT_DISPLAY_MINUS,"-"]];this.setColour(vr),this.setOutput(!0,"microbit_image"),this.appendValueInput("A").appendField(J.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":J.Msg.MIXLY_MICROBIT_image_add,"-":J.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},$r={init:function(){this.setColour(vr),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_PRINT1),this.appendValueInput("TEXT2",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT4_TOOLTIP)}},tp={init:function(){this.setColour(vr),this.appendValueInput("device").setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_SETUP).appendField(J.Msg.MIXLY_DF_LCD).appendField("1602").appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ADDRESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(J.Msg.MIXLY_SETUP+J.Msg.MIXLY_DF_LCD+J.Msg.MIXLY_LCD_ADDRESS)}},ep={init:function(){this.setColour(vr),this.appendValueInput("row",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(J.Msg.MIXLY_LCD_ROW),this.appendValueInput("column",Number).setCheck(Number).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_COLUMN),this.appendValueInput("TEXT",String).setCheck([String,Number]).setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.MIXLY_LCD_PRINT),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setNextStatement(!0,null),this.setTooltip(J.Msg.MIXLY_LCD_PRINT3_TOOLTIP)}},ip={init:function(){this.setColour(vr),this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD).appendField("mylcd").appendField(new J.FieldDropdown([[J.Msg.MIXLY_ON,"on()"],[J.Msg.MIXLY_OFF,"off()"],[J.Msg.MIXLY_LCD_STAT_CLEAR,"clear()"],[J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(False)"],[J.Msg.MIXLY_LCD_BACKLIGHT,"backlight(True)"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("STAT");return J.Msg.LISTS_SET_INDEX_SET+J.Msg.MIXLY_DF_LCD+{"on()":J.Msg.MIXLY_ON,"off()":J.Msg.MIXLY_OFF,"clear()":J.Msg.MIXLY_LCD_STAT_CLEAR,"backlight(off)":J.Msg.MIXLY_LCD_NOBACKLIGHT,"backlight(on)":J.Msg.MIXLY_LCD_BACKLIGHT}[e]}))}},np={init:function(){this.appendDummyInput().appendField(J.Msg.MIXLY_DF_LCD+" OLED "+J.Msg.OLEDDISPLAY),this.appendValueInput("Text_line1","String").setAlign(J.inputs.Align.RIGHT).appendField("(128*64) "+J.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(J.inputs.Align.RIGHT).appendField(J.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(vr),this.setTooltip(J.Msg.MIXLY_DF_LCD+J.Msg.OLEDDISPLAY+J.Msg.MIXLY_MICROBIT_TYPE_STRING)}},sp={init:function(){var t=[[J.Msg.MIXLY_HEIGHT,"height"],[J.Msg.MIXLY_WIDTH,"width"]];this.setColour(vr),this.appendDummyInput().appendField(J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("microbit_image"),this.appendDummyInput("").appendField(new J.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return J.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+J.Msg.MIXLY_MICROBIT_IMAGE+{height:J.Msg.MIXLY_HEIGHT,width:J.Msg.MIXLY_WIDTH}[t]}))}},op={init:function(){this.setColour(vr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(new J.FieldDropdown([[J.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:J.Msg.MIXLY_LCD_STAT_CLEAR,1:J.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return J.Msg.MIXLY_DF_LCD+i[e]}))}},_p="#777777",up={init:function(){this.setColour(_p),this.appendDummyInput("").appendField("from ").appendField(new J.FieldTextInput("microbit"),"path").appendField(" import ").appendField(new J.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ap={init:function(){this.setColour(_p),this.appendDummyInput("").appendField("import ").appendField(new J.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rp={init:function(){this.setColour(_p),this.appendDummyInput("").appendField(new J.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new J.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;e0)var u="rgb_show.mixly_rgb_show("+(i-1)+", "+s+", "+o+", "+_+")\n";else u="rgb_show.mixly_rgb_show_all("+s+", "+o+", "+_+")\n";return u},vT=function(t,e){var i=this.getFieldValue("LED");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show",i>0)var n="rgb_show.mixly_rgb_show("+(i-1)+", 0, 0, 0)\n";else n="rgb_show.mixly_rgb_show_all(0, 0, 0)\n";return n},YT=function(t,e){var i=e.valueToCode(this,"_LED_",e.ORDER_ATOMIC),n=e.valueToCode(this,"RVALUE",e.ORDER_ATOMIC),s=e.valueToCode(this,"GVALUE",e.ORDER_ATOMIC),o=e.valueToCode(this,"BVALUE",e.ORDER_ATOMIC);return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_neopixel="import neopixel",e.definitions_.import_rgb_show="import rgb_show","rgb_show.mixly_rgb_show("+i+", "+n+", "+s+", "+o+")\n"},bT=function(t,e){var i=this.getFieldValue("NUMBER"),n=e.valueToCode(this,"SPEED",e.ORDER_ATOMIC),s=this.getFieldValue("DIRECTION");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var o="motor_control.motor1("+n+", "+s+")\nmotor_control.motor2("+n+", "+s+")\nmotor_control.motor3("+n+", "+s+")\n";else if(1==i)o="motor_control.motor1("+n+", "+s+")\n";else if(2==i)o="motor_control.motor2("+n+", "+s+")\n";else if(3==i)o="motor_control.motor3("+n+", "+s+")\n";return o},VT=function(t,e){var i=this.getFieldValue("NUMBER");if(e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_motor_control="import motor_control",0==i)var n="motor_control.motor1(0)\nmotor_control.motor2(0)\nmotor_control.motor3(0)\n";else if(1==i)n="motor_control.motor1(0)\n";else if(2==i)n="motor_control.motor2(0)\n";else if(3==i)n="motor_control.motor3(0)\n";return n},XT=function(t,e){return["pin"+this.getFieldValue("NUMBER")+".read_analog()",e.ORDER_ATOMIC]},yT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"btn",e.ORDER_ATOMIC);e.setups_["on_"+i]="def on_"+i+"():\n while True:\n if "+i+".was_pressed():\n yield callback_"+i+"()\n else:\n yield\n\nfunc_"+i+" = on_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_"+i+")\n","def callback_"+i+"():\n"+n},BT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("gesture");e.setups_["on_"+i]="def on_gesture_"+i+'():\n while True:\n if accelerometer.is_gesture("'+i+'"):\n yield callback_gesture_'+i+"()\n else:\n yield\n\nfunc_gesture_"+i+" = on_gesture_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_gesture_"+i+")\n","def callback_gesture_"+i+"():\n"+n},UT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=this.getFieldValue("near");e.setups_["on_"+i]="def on_near_"+i+"():\n while True:\n if not pin"+i+".read_digital():\n yield callback_near_"+i+"()\n else:\n yield\n\nfunc_near_"+i+" = on_near_"+i+"()\n";var n=e.statementToCode(t,"DO");n=e.addLoopTrap(n,t.id)||e.PASS;return e.loops_[i+"_loop"]=" next(func_near_"+i+")\n","def callback_near_"+i+"():\n"+n},GT=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"TIMES",e.ORDER_ATOMIC),n=e.statementToCode(t,"DO");return"for _my_variable in range("+i+"):\n"+(n=e.addLoopTrap(n,t.id)||e.PASS)},wT=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},kT=wT,HT=wT,xT=wT,WT=wT,KT=wT,JT=wT,jT=wT,QT=wT,qT=wT,zT=wT,ZT=wT,$T=wT,td=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".is_pressed()",e.ORDER_ATOMIC]},ed=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".was_pressed()",e.ORDER_ATOMIC]},id=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",[e.valueToCode(this,"btn",e.ORDER_ATOMIC)+".get_presses()",e.ORDER_ATOMIC]},nd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['"'+this.getFieldValue("gesture")+'"',e.ORDER_ATOMIC]},sd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.is_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},od=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.is_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},_d=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",['accelerometer.was_gesture("'+this.getFieldValue("gesture")+'")',e.ORDER_ATOMIC]},ud=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",'if accelerometer.was_gesture("'+this.getFieldValue("gesture")+'"):\n'+(e.statementToCode(this,"DO")||e.PASS)},ad=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i,n=this.getFieldValue("GES");return"all"==n?i="accelerometer.get_gestures()":"current"==n&&(i="accelerometer.current_gesture()"),[i,e.ORDER_ATOMIC]},rd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.current_gesture()",e.ORDER_ATOMIC]},pd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["accelerometer.get_"+this.getFieldValue("key")+"()",e.ORDER_ATOMIC]},ld=function(){return"input.setAccelerometerRange("+this.getFieldValue("key")+")\n"},Id=function(t,e){return["input.lightLevel()",e.ORDER_ATOMIC]},Td=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.calibrate()\n"},dd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.is_calibrated()",e.ORDER_ATOMIC]},hd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass.heading()",e.ORDER_ATOMIC]},Md=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["temperature()",e.ORDER_ATOMIC]},md=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["compass."+this.getFieldValue("compass")+"()",e.ORDER_ATOMIC]},cd=function(t,e){return["input.rotation("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},Od=function(t,e){return["input.magneticForce("+this.getFieldValue("key")+")",e.ORDER_ATOMIC]},Ed=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="import ultrasonic",["ultrasonic.distance_cm(t_pin=pin"+i+", e_pin=pin"+n+")",e.ORDER_ATOMIC]},Rd=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.setups_.class_hrsc04_="class HCSR04:\n def __init__(self, tpin=pin"+i+", epin=pin"+n+', spin=pin13):\n self.trigger_pin = tpin\n self.echo_pin = epin\n self.sclk_pin = spin\n\n def distance_mm(self):\n spi.init(baudrate=125000, sclk=self.sclk_pin,\n mosi=self.trigger_pin, miso=self.echo_pin)\n pre = 0\n post = 0\n k = -1\n length = 500\n resp = bytearray(length)\n resp[0] = 0xFF\n spi.write_readinto(resp, resp)\n # find first non zero value\n try:\n i, value = next((ind, v) for ind, v in enumerate(resp) if v)\n except StopIteration:\n i = -1\n if i > 0:\n pre = bin(value).count("1")\n # find first non full high value afterwards\n try:\n k, value = next((ind, v)\n for ind, v in enumerate(resp[i:length - 2]) if resp[i + ind + 1] == 0)\n post = bin(value).count("1") if k else 0\n k = k + i\n except StopIteration:\n i = -1\n dist= -1 if i < 0 else round((pre + (k - i) * 8. + post) * 8 * 0.172)\n return dist\n\n def distance_cm(self):\n return self.distance_mm() / 10.0\n\nsonar=HCSR04()\n\n',["sonar.distance_cm()",e.ORDER_ATOMIC]},gd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *"},Cd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *";var i=this.getFieldValue("TIME_TYPE");switch(i){case"Year":case"Month":case"Day":case"Hour":case"Minute":case"Second":case"Week":return["ds."+i+"()",e.ORDER_ASSIGNMENT];case"Mix1":return["ds.get_date()",e.ORDER_ASSIGNMENT];case"Mix2":return["ds.get_time()",e.ORDER_ASSIGNMENT]}},Ad=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_time("+e.valueToCode(this,"hour",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"minute",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"second",e.ORDER_ASSIGNMENT)+")\n"},Ld=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_RTC="from RTC import *","ds.set_date("+e.valueToCode(this,"year",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"month",e.ORDER_ASSIGNMENT)+", "+e.valueToCode(this,"day",e.ORDER_ASSIGNMENT)+")\n"},Sd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","compass.clear_calibration()\n"},Nd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["display.read_light_level()",e.ORDER_ATOMIC]},fd=function(t,e){var i=this.getFieldValue("Trig"),n=this.getFieldValue("Echo");return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_ultrasonic="from ultrasonic import *","sonar = HCSR04(tpin=pin"+i+", epin=pin"+n+")\n"},Dd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",e.definitions_.import_TCS="from TCS import *",["tcs.getRawRGBData("+this.getFieldValue("TCS34725_COLOR")+")",e.ORDER_ATOMIC]},Pd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+"))\n"},Fd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||'""')+")+'\\r\\n')\n"},vd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.write(str(hex("+(e.valueToCode(this,"CONTENT",e.ORDER_ATOMIC)||"0")+")) + '\\r\\n')\n"},Yd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"char_marker",e.ORDER_ATOMIC)||";",n=e.statementToCode(this,"DO");e.definitions_["func_serial_receive_data_event_"+i.charCodeAt(1)]="serial.onDataReceived("+i+", () => {\n"+n+"}\n"},bd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.any()",e.ORDER_ATOMIC]},Vd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.read()",e.ORDER_ATOMIC]},Xd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["uart.readline()",e.ORDER_ATOMIC]},yd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["serial.readUntil("+this.getFieldValue("char_marker")+")",e.ORDER_ATOMIC]},Bd=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";var i=e.valueToCode(this,"RX",e.ORDER_ATOMIC),n=e.valueToCode(this,"TX",e.ORDER_ATOMIC);return isNaN(parseInt(i))||(i="pin"+i),isNaN(parseInt(n))||(n="pin"+n),"uart.init(rx="+i+", tx="+n+", baudrate="+this.getFieldValue("baudrate")+")\n"},Ud=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","uart.init(baudrate="+this.getFieldValue("baudrate")+")\n"},Gd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *",["input("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")",e.ORDER_ATOMIC]},wd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+")\n"},kd=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","print("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+',end ="")\n'},Hd=function(t,e){return"control.inBackground(() => {\n"+e.statementToCode(this,"do")+"})\n"},xd=function(){return"control.reset()\n"},Wd=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||j.Profile.default.serial)+")\n"},Kd=function(t,e){return"control.raiseEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||j.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||j.Profile.default.serial)+")\n"},Jd=function(t,e){return"control.onEvent("+(e.valueToCode(this,"system_event_bus_source",e.ORDER_ATOMIC)||j.Profile.default.serial)+", "+(e.valueToCode(this,"system_event_bus_value",e.ORDER_ATOMIC)||j.Profile.default.serial)+", () => {\n"+e.statementToCode(this,"do")+")\n"},jd=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},Qd=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},qd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},zd=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Zd=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},$d=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},th=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","sleep("+(e.valueToCode(this,"DELAY_TIME",e.ORDER_ATOMIC)||"1000")+")\n"},eh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},ih=function(t,e){e.definitions_["import_microbit_*"]="from microbit import *";return["running_time()",e.ORDER_ATOMIC]},nh=function(){return"while True:\n pass\n"},sh=function(t,e){return e.definitions_["import_microbit_*"]="from microbit import *","reset()\n"},oh=function(t,e){return e.definitions_.import_os="import os",["os.uname()",e.ORDER_ATOMIC]};Object.assign(J.Variables,q),Object.assign(J.Procedures,Rn),J.Python=Xa,J.generator=Xa,j.Profile.default={},Object.assign(j.Profile,Ba),Object.assign(j.Profile.default,Ba.microbit),Object.assign(J.Blocks,e,i,n,s,o,_,u,a,r,p,l,I,T,N,f,D,D,P,F,v,Y,b,V,X),Object.assign(J.Python.forBlock,d,h,M,m,c,O,E,R,g,C,A,L,S,y,B,U,U,G,w,k,H,x,W,K)})(); \ No newline at end of file diff --git a/boards/default/micropython_nrf51822_mithoncc/styles/main.e566507a.css b/boards/default/micropython_nrf51822_mithoncc/styles/main.99cf50ff.css similarity index 100% rename from boards/default/micropython_nrf51822_mithoncc/styles/main.e566507a.css rename to boards/default/micropython_nrf51822_mithoncc/styles/main.99cf50ff.css diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/32-1-物联网-多主题数据订.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/0oSSWtGd0csz.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/32-1-物联网-多主题数据订.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/0oSSWtGd0csz.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/37-1-文件操作-列出文件.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/1EuXs4KIbY4s.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/37-1-文件操作-列出文件.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/1EuXs4KIbY4s.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/42-1-智能小车-智能避障.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/1IkhwsxX1M7v.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/42-1-智能小车-智能避障.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/1IkhwsxX1M7v.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/25-1-飞机游戏-显示飞机.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/1stIbVnDhEg4.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/25-1-飞机游戏-显示飞机.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/1stIbVnDhEg4.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/36-2-课堂互动-多人点答.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/3D7XQj4SFfYV.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/36-2-课堂互动-多人点答.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/3D7XQj4SFfYV.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/21-2-射频识别-读取卡号.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/3Jgdkl7WHCj4.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/21-2-射频识别-读取卡号.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/3Jgdkl7WHCj4.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/35-1-课堂互动-单选答题.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/3Ufqr-44AtG6.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/35-1-课堂互动-单选答题.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/3Ufqr-44AtG6.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/16-2-逻辑计算-循环打地鼠.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/3VUhickULzsG.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/16-2-逻辑计算-循环打地鼠.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/3VUhickULzsG.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/19-2-复杂控制-多线程与中断.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/62_8H8D6dR2i.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/19-2-复杂控制-多线程与中断.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/62_8H8D6dR2i.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/pid.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/65iEMmPc2mXr.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/pid.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/65iEMmPc2mXr.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/25-2-飞机游戏-移动飞机.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/7zny6GKqfaVl.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/25-2-飞机游戏-移动飞机.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/7zny6GKqfaVl.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/37-2-文件操作-列出文件2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/80NfnkQdz_ZG.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/37-2-文件操作-列出文件2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/80NfnkQdz_ZG.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/46-2-外接红外-单门人数统计.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/81IUUl0ohShB.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/46-2-外接红外-单门人数统计.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/81IUUl0ohShB.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/46-1-外接红外-双门人数统计.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/8OSaPbDIpdPn.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/46-1-外接红外-双门人数统计.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/8OSaPbDIpdPn.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/31-1-物联网-单主题数据订阅.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/8vWGd2nD1hjX.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/31-1-物联网-单主题数据订阅.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/8vWGd2nD1hjX.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/41-1-智能小车-前进转弯.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/8zDYD1otgZlE.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/41-1-智能小车-前进转弯.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/8zDYD1otgZlE.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/08-2-过程控制-入侵报警.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/9Q0A6WtKyU46.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/08-2-过程控制-入侵报警.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/9Q0A6WtKyU46.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/02-2-快速入门-为你心动.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/9bpMsY0MDx4H.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/02-2-快速入门-为你心动.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/9bpMsY0MDx4H.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/18-1-复杂控制-定时计时.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/9u-npMdsu0yP.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/18-1-复杂控制-定时计时.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/9u-npMdsu0yP.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/14-2-逻辑计算-反应测试2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/9zmgxTclWWHD.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/14-2-逻辑计算-反应测试2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/9zmgxTclWWHD.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/39-2-文件操作-录音重现.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/A9tynPWYUIFr.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/39-2-文件操作-录音重现.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/A9tynPWYUIFr.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/11-1-输入输出-模拟光强.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/APPDakQaKX9w.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/11-1-输入输出-模拟光强.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/APPDakQaKX9w.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/12-1-输入输出-实时时钟.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/Aiqx68_fGry-.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/12-1-输入输出-实时时钟.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/Aiqx68_fGry-.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/28-2-飞机游戏-结束游戏.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/DXdPHDd3X4M8.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/28-2-飞机游戏-结束游戏.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/DXdPHDd3X4M8.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/09-2-输入输出-平衡仪.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/Dd2YRqL8z65G.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/09-2-输入输出-平衡仪.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/Dd2YRqL8z65G.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/15-2-逻辑计算-计时打地鼠.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/E24FlZenFJIz.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/15-2-逻辑计算-计时打地鼠.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/E24FlZenFJIz.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/07-2-过程控制-自动补光.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/EFGX__5ULagd.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/07-2-过程控制-自动补光.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/EFGX__5ULagd.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/30-2-物联网-高级数据按需上报.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/ErDz2PwebfhD.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/30-2-物联网-高级数据按需上报.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/ErDz2PwebfhD.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/03-2-快速入门-心随我动2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/GF1yKcs0jYTA.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/03-2-快速入门-心随我动2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/GF1yKcs0jYTA.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/21-1-射频识别-读取测试.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/GRWRlzVmfv_v.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/21-1-射频识别-读取测试.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/GRWRlzVmfv_v.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/39-1-文件操作-录音采集.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/GYJCsusH-Xpi.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/39-1-文件操作-录音采集.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/GYJCsusH-Xpi.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/23-1-蓝牙通讯-主机模式.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/HahpayoObmCS.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/23-1-蓝牙通讯-主机模式.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/HahpayoObmCS.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/23-1-蓝牙通讯-从机模式.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/JygpY-zLJcpW.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/23-1-蓝牙通讯-从机模式.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/JygpY-zLJcpW.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/33-1-课堂互动-自由签到.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/KYrEa6uUQ6MP.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/33-1-课堂互动-自由签到.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/KYrEa6uUQ6MP.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/24-1-无线广播-通讯测试.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/KZJa87ecU6hA.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/24-1-无线广播-通讯测试.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/KZJa87ecU6hA.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/12-2-输入输出-实时时钟2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/KctxQ74MTNsh.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/12-2-输入输出-实时时钟2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/KctxQ74MTNsh.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/18-2-复杂控制-循环计时.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/MD7MOpWjPb-h.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/18-2-复杂控制-循环计时.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/MD7MOpWjPb-h.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/24-2-无线广播-防丢检测.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/PE6gosu2epqX.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/24-2-无线广播-防丢检测.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/PE6gosu2epqX.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/17-2-复杂控制-单键中断.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/PFsXiIU7tvG9.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/17-2-复杂控制-单键中断.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/PFsXiIU7tvG9.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/08-1-过程控制-接近检测.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/QIMuVqPx56Jn.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/08-1-过程控制-接近检测.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/QIMuVqPx56Jn.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/22-2-射频识别-持续写卡.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/QxTBolJ86L_U.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/22-2-射频识别-持续写卡.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/QxTBolJ86L_U.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/22-1-射频识别-写卡测试.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/RiHT9f9vYwkM.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/22-1-射频识别-写卡测试.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/RiHT9f9vYwkM.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/41-2-智能小车-圆圈转弯.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/S2kyCnEMOjNk.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/41-2-智能小车-圆圈转弯.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/S2kyCnEMOjNk.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/29-1-物联网-简单数据定时上报.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/T9uMYMOHM_SN.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/29-1-物联网-简单数据定时上报.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/T9uMYMOHM_SN.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/05-3-过程控制-IPO概念.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/UbVeFq-FGRg_.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/05-3-过程控制-IPO概念.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/UbVeFq-FGRg_.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/balance.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/V4db3f9gp3ib.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/balance.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/V4db3f9gp3ib.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/40-1-文件操作-震动采集.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/V5BKiQu-3Ay8.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/40-1-文件操作-震动采集.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/V5BKiQu-3Ay8.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/30-1-物联网-简单数据按需上报.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/VA_gEUsIzIXY.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/30-1-物联网-简单数据按需上报.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/VA_gEUsIzIXY.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/04-1-快速入门-流动的灯.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/X57hOrJXTbGI.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/04-1-快速入门-流动的灯.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/X57hOrJXTbGI.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/01-2-快速入门-你好世界2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/YBcXvH7igMql.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/01-2-快速入门-你好世界2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/YBcXvH7igMql.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/17-0-复杂控制-非中断效果.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/YGR-OsRiQaN6.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/17-0-复杂控制-非中断效果.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/YGR-OsRiQaN6.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/13-2-逻辑计算-手速测试2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/_ZdWisDv5_k0.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/13-2-逻辑计算-手速测试2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/_ZdWisDv5_k0.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/36-1-课堂互动-点名答题.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/a6Wj1TQ1VDQl.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/36-1-课堂互动-点名答题.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/a6Wj1TQ1VDQl.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/48-2-外接红外-多速转速统计.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/aEyi5_NKJeg8.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/48-2-外接红外-多速转速统计.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/aEyi5_NKJeg8.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/38-2-文件操作-文件读写2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/aQBVrl-9HGln.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/38-2-文件操作-文件读写2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/aQBVrl-9HGln.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/44-1-智能小车-P单巡线.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/bAvvDR2nzug9.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/44-1-智能小车-P单巡线.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/bAvvDR2nzug9.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/34-2-课堂互动-多人抢答.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/c0w_6bc3L5-Y.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/34-2-课堂互动-多人抢答.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/c0w_6bc3L5-Y.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/17-1-复杂控制-双键中断.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/cHDXPOQSOtcM.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/17-1-复杂控制-双键中断.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/cHDXPOQSOtcM.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/16-1-逻辑计算-开始打地鼠.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/cHv3YgVWc-nL.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/16-1-逻辑计算-开始打地鼠.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/cHv3YgVWc-nL.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/10-2-输入输出-金属探测.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/cruQObj_xc0p.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/10-2-输入输出-金属探测.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/cruQObj_xc0p.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/44-2-智能小车-P双巡线.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/dVMeFs1mKAMZ.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/44-2-智能小车-P双巡线.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/dVMeFs1mKAMZ.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/02-1-快速入门-跳动的心.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/eloFNJ6jIXmx.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/02-1-快速入门-跳动的心.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/eloFNJ6jIXmx.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/14-1-逻辑计算-反应测试.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/f9iwpn2Ts9J4.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/14-1-逻辑计算-反应测试.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/f9iwpn2Ts9J4.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/20-2-复杂控制-异常处理.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/fHg9cJyNw-Ra.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/20-2-复杂控制-异常处理.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/fHg9cJyNw-Ra.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/45-1-外接红外-单挥手测速.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/hUOh2PWlkDlI.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/45-1-外接红外-单挥手测速.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/hUOh2PWlkDlI.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/27-1-飞机游戏-显示敌机.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/ibc83JiU8tkb.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/27-1-飞机游戏-显示敌机.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/ibc83JiU8tkb.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/05-1-过程控制-双键开关.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/k5aoMBZZqjwB.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/05-1-过程控制-双键开关.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/k5aoMBZZqjwB.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/10-1-输入输出-地磁强度.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/kcXC1LjymUZu.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/10-1-输入输出-地磁强度.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/kcXC1LjymUZu.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/03-1-快速入门-心随我动.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/kwQ10N0zYmmo.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/03-1-快速入门-心随我动.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/kwQ10N0zYmmo.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/48-1-外接红外-转速统计.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/lMXfhIwIXcEu.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/48-1-外接红外-转速统计.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/lMXfhIwIXcEu.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/29-2-物联网-复杂数据定时上报.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/n1vgYhPxOUUF.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/29-2-物联网-复杂数据定时上报.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/n1vgYhPxOUUF.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/26-1-飞机游戏-发射子弹.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/naheZvaC4aTy.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/26-1-飞机游戏-发射子弹.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/naheZvaC4aTy.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/15-1-逻辑计算-简单打地鼠.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/nqIpT_2kOiwL.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/15-1-逻辑计算-简单打地鼠.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/nqIpT_2kOiwL.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/33-2-课堂互动-按需签到.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/oeeJSie3Yx9o.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/33-2-课堂互动-按需签到.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/oeeJSie3Yx9o.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/parkgate.jpg b/boards/default/micropython_robot/examples/O60xUtcmy977/parkgate.jpg similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/parkgate.jpg rename to boards/default/micropython_robot/examples/O60xUtcmy977/parkgate.jpg diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/26-2-飞机游戏-移动音效.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/pmxXXP0Gy_pb.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/26-2-飞机游戏-移动音效.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/pmxXXP0Gy_pb.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/32-2-物联网-多主题数据订2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/qiZm6G85lRsK.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/32-2-物联网-多主题数据订2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/qiZm6G85lRsK.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/28-1-飞机游戏-显示得分.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/qk4P9N8De4NL.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/28-1-飞机游戏-显示得分.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/qk4P9N8De4NL.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/40-2-文件操作-震动重现.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/qzPfY5Eegi_V.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/40-2-文件操作-震动重现.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/qzPfY5Eegi_V.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/06-2-过程控制-看见声音.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/r8AYO8ei3L2r.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/06-2-过程控制-看见声音.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/r8AYO8ei3L2r.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/43-1-智能小车-遥控小车.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/rKIqMR5tgnbz.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/43-1-智能小车-遥控小车.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/rKIqMR5tgnbz.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/07-1-过程控制-光强采集.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/rNz3GMECpKHw.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/07-1-过程控制-光强采集.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/rNz3GMECpKHw.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/05-2-过程控制-单键开关.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/rPvz_WvW-FVo.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/05-2-过程控制-单键开关.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/rPvz_WvW-FVo.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/11-2-输入输出-光强映射.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/t8VTZ-5wdqL7.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/11-2-输入输出-光强映射.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/t8VTZ-5wdqL7.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/31-1-物联网-单主题数据订阅2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/tnXhSOPPGITo.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/31-1-物联网-单主题数据订阅2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/tnXhSOPPGITo.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/04-2-快速入门-流动的灯2.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/u0MjRI9GXpxB.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/04-2-快速入门-流动的灯2.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/u0MjRI9GXpxB.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/01-1-快速入门-你好世界.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/uoFhRYjVtmBq.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/01-1-快速入门-你好世界.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/uoFhRYjVtmBq.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/20-1-复杂控制-异常.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/v_BLBrIsQsVX.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/20-1-复杂控制-异常.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/v_BLBrIsQsVX.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/27-2-飞机游戏-消灭敌机.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/viba6CkFBsIw.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/27-2-飞机游戏-消灭敌机.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/viba6CkFBsIw.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/43-2-智能小车-体感遥控.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/wGT55yWv5hjK.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/43-2-智能小车-体感遥控.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/wGT55yWv5hjK.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/34-1-课堂互动-一人抢答.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/wfdUcFVVleQi.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/34-1-课堂互动-一人抢答.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/wfdUcFVVleQi.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/13-1-逻辑计算-手速测试.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/xSWa5qJWHnEY.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/13-1-逻辑计算-手速测试.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/xSWa5qJWHnEY.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/47-1-外接红外-简单车库门.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/xl31klorjwCZ.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/47-1-外接红外-简单车库门.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/xl31klorjwCZ.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/06-1-过程控制-声音采集.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/xnwCF9uZy_JD.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/06-1-过程控制-声音采集.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/xnwCF9uZy_JD.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/47-2-外接红外-反馈车库门.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/yCvi0Dm1OUBe.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/47-2-外接红外-反馈车库门.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/yCvi0Dm1OUBe.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/19-1-复杂控制-多线程.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/yJSR_JaXKhtc.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/19-1-复杂控制-多线程.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/yJSR_JaXKhtc.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/45-2-外接红外-双挥手测速.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/yRbyQ1QyISxw.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/45-2-外接红外-双挥手测速.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/yRbyQ1QyISxw.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/09-1-输入输出-加速度.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/yYmquPO1htdk.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/09-1-输入输出-加速度.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/yYmquPO1htdk.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/38-1-文件操作-文件读写.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/zUS59zKIO8t7.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/38-1-文件操作-文件读写.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/zUS59zKIO8t7.mix diff --git a/boards/default/micropython_robot/examples/MixGo Feiyi/35-2-课堂互动-多选答题.mix b/boards/default/micropython_robot/examples/O60xUtcmy977/zp5iCUekwbCN.mix similarity index 100% rename from boards/default/micropython_robot/examples/MixGo Feiyi/35-2-课堂互动-多选答题.mix rename to boards/default/micropython_robot/examples/O60xUtcmy977/zp5iCUekwbCN.mix diff --git a/boards/default/micropython_robot/examples/map.json b/boards/default/micropython_robot/examples/map.json index 635db9cc..69f3af9c 100644 --- a/boards/default/micropython_robot/examples/map.json +++ b/boards/default/micropython_robot/examples/map.json @@ -1,398 +1,398 @@ { - "MixGo Feiyi": { - "01-1-快速入门-你好世界.mix": { + "O60xUtcmy977": { + "uoFhRYjVtmBq.mix": { "__file__": true, "__name__": "01-1-快速入门-你好世界.mix" }, - "01-2-快速入门-你好世界2.mix": { + "YBcXvH7igMql.mix": { "__file__": true, "__name__": "01-2-快速入门-你好世界2.mix" }, - "02-1-快速入门-跳动的心.mix": { + "eloFNJ6jIXmx.mix": { "__file__": true, "__name__": "02-1-快速入门-跳动的心.mix" }, - "02-2-快速入门-为你心动.mix": { + "9bpMsY0MDx4H.mix": { "__file__": true, "__name__": "02-2-快速入门-为你心动.mix" }, - "03-1-快速入门-心随我动.mix": { + "kwQ10N0zYmmo.mix": { "__file__": true, "__name__": "03-1-快速入门-心随我动.mix" }, - "03-2-快速入门-心随我动2.mix": { + "GF1yKcs0jYTA.mix": { "__file__": true, "__name__": "03-2-快速入门-心随我动2.mix" }, - "04-1-快速入门-流动的灯.mix": { + "X57hOrJXTbGI.mix": { "__file__": true, "__name__": "04-1-快速入门-流动的灯.mix" }, - "04-2-快速入门-流动的灯2.mix": { + "u0MjRI9GXpxB.mix": { "__file__": true, "__name__": "04-2-快速入门-流动的灯2.mix" }, - "05-1-过程控制-双键开关.mix": { + "k5aoMBZZqjwB.mix": { "__file__": true, "__name__": "05-1-过程控制-双键开关.mix" }, - "05-2-过程控制-单键开关.mix": { + "rPvz_WvW-FVo.mix": { "__file__": true, "__name__": "05-2-过程控制-单键开关.mix" }, - "05-3-过程控制-IPO概念.mix": { + "UbVeFq-FGRg_.mix": { "__file__": true, "__name__": "05-3-过程控制-IPO概念.mix" }, - "06-1-过程控制-声音采集.mix": { + "xnwCF9uZy_JD.mix": { "__file__": true, "__name__": "06-1-过程控制-声音采集.mix" }, - "06-2-过程控制-看见声音.mix": { + "r8AYO8ei3L2r.mix": { "__file__": true, "__name__": "06-2-过程控制-看见声音.mix" }, - "07-1-过程控制-光强采集.mix": { + "rNz3GMECpKHw.mix": { "__file__": true, "__name__": "07-1-过程控制-光强采集.mix" }, - "07-2-过程控制-自动补光.mix": { + "EFGX__5ULagd.mix": { "__file__": true, "__name__": "07-2-过程控制-自动补光.mix" }, - "08-1-过程控制-接近检测.mix": { + "QIMuVqPx56Jn.mix": { "__file__": true, "__name__": "08-1-过程控制-接近检测.mix" }, - "08-2-过程控制-入侵报警.mix": { + "9Q0A6WtKyU46.mix": { "__file__": true, "__name__": "08-2-过程控制-入侵报警.mix" }, - "09-1-输入输出-加速度.mix": { + "yYmquPO1htdk.mix": { "__file__": true, "__name__": "09-1-输入输出-加速度.mix" }, - "09-2-输入输出-平衡仪.mix": { + "Dd2YRqL8z65G.mix": { "__file__": true, "__name__": "09-2-输入输出-平衡仪.mix" }, - "10-1-输入输出-地磁强度.mix": { + "kcXC1LjymUZu.mix": { "__file__": true, "__name__": "10-1-输入输出-地磁强度.mix" }, - "10-2-输入输出-金属探测.mix": { + "cruQObj_xc0p.mix": { "__file__": true, "__name__": "10-2-输入输出-金属探测.mix" }, - "11-1-输入输出-模拟光强.mix": { + "APPDakQaKX9w.mix": { "__file__": true, "__name__": "11-1-输入输出-模拟光强.mix" }, - "11-2-输入输出-光强映射.mix": { + "t8VTZ-5wdqL7.mix": { "__file__": true, "__name__": "11-2-输入输出-光强映射.mix" }, - "12-1-输入输出-实时时钟.mix": { + "Aiqx68_fGry-.mix": { "__file__": true, "__name__": "12-1-输入输出-实时时钟.mix" }, - "12-2-输入输出-实时时钟2.mix": { + "KctxQ74MTNsh.mix": { "__file__": true, "__name__": "12-2-输入输出-实时时钟2.mix" }, - "13-1-逻辑计算-手速测试.mix": { + "xSWa5qJWHnEY.mix": { "__file__": true, "__name__": "13-1-逻辑计算-手速测试.mix" }, - "13-2-逻辑计算-手速测试2.mix": { + "_ZdWisDv5_k0.mix": { "__file__": true, "__name__": "13-2-逻辑计算-手速测试2.mix" }, - "14-1-逻辑计算-反应测试.mix": { + "f9iwpn2Ts9J4.mix": { "__file__": true, "__name__": "14-1-逻辑计算-反应测试.mix" }, - "14-2-逻辑计算-反应测试2.mix": { + "9zmgxTclWWHD.mix": { "__file__": true, "__name__": "14-2-逻辑计算-反应测试2.mix" }, - "15-1-逻辑计算-简单打地鼠.mix": { + "nqIpT_2kOiwL.mix": { "__file__": true, "__name__": "15-1-逻辑计算-简单打地鼠.mix" }, - "15-2-逻辑计算-计时打地鼠.mix": { + "E24FlZenFJIz.mix": { "__file__": true, "__name__": "15-2-逻辑计算-计时打地鼠.mix" }, - "16-1-逻辑计算-开始打地鼠.mix": { + "cHv3YgVWc-nL.mix": { "__file__": true, "__name__": "16-1-逻辑计算-开始打地鼠.mix" }, - "16-2-逻辑计算-循环打地鼠.mix": { + "3VUhickULzsG.mix": { "__file__": true, "__name__": "16-2-逻辑计算-循环打地鼠.mix" }, - "17-0-复杂控制-非中断效果.mix": { + "YGR-OsRiQaN6.mix": { "__file__": true, "__name__": "17-0-复杂控制-非中断效果.mix" }, - "17-1-复杂控制-双键中断.mix": { + "cHDXPOQSOtcM.mix": { "__file__": true, "__name__": "17-1-复杂控制-双键中断.mix" }, - "17-2-复杂控制-单键中断.mix": { + "PFsXiIU7tvG9.mix": { "__file__": true, "__name__": "17-2-复杂控制-单键中断.mix" }, - "18-1-复杂控制-定时计时.mix": { + "9u-npMdsu0yP.mix": { "__file__": true, "__name__": "18-1-复杂控制-定时计时.mix" }, - "18-2-复杂控制-循环计时.mix": { + "MD7MOpWjPb-h.mix": { "__file__": true, "__name__": "18-2-复杂控制-循环计时.mix" }, - "19-1-复杂控制-多线程.mix": { + "yJSR_JaXKhtc.mix": { "__file__": true, "__name__": "19-1-复杂控制-多线程.mix" }, - "19-2-复杂控制-多线程与中断.mix": { + "62_8H8D6dR2i.mix": { "__file__": true, "__name__": "19-2-复杂控制-多线程与中断.mix" }, - "20-1-复杂控制-异常.mix": { + "v_BLBrIsQsVX.mix": { "__file__": true, "__name__": "20-1-复杂控制-异常.mix" }, - "20-2-复杂控制-异常处理.mix": { + "fHg9cJyNw-Ra.mix": { "__file__": true, "__name__": "20-2-复杂控制-异常处理.mix" }, - "21-1-射频识别-读取测试.mix": { + "GRWRlzVmfv_v.mix": { "__file__": true, "__name__": "21-1-射频识别-读取测试.mix" }, - "21-2-射频识别-读取卡号.mix": { + "3Jgdkl7WHCj4.mix": { "__file__": true, "__name__": "21-2-射频识别-读取卡号.mix" }, - "22-1-射频识别-写卡测试.mix": { + "RiHT9f9vYwkM.mix": { "__file__": true, "__name__": "22-1-射频识别-写卡测试.mix" }, - "22-2-射频识别-持续写卡.mix": { + "QxTBolJ86L_U.mix": { "__file__": true, "__name__": "22-2-射频识别-持续写卡.mix" }, - "23-1-蓝牙通讯-主机模式.mix": { + "HahpayoObmCS.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-主机模式.mix" }, - "23-1-蓝牙通讯-从机模式.mix": { + "JygpY-zLJcpW.mix": { "__file__": true, "__name__": "23-1-蓝牙通讯-从机模式.mix" }, - "24-1-无线广播-通讯测试.mix": { + "KZJa87ecU6hA.mix": { "__file__": true, "__name__": "24-1-无线广播-通讯测试.mix" }, - "24-2-无线广播-防丢检测.mix": { + "PE6gosu2epqX.mix": { "__file__": true, "__name__": "24-2-无线广播-防丢检测.mix" }, - "25-1-飞机游戏-显示飞机.mix": { + "1stIbVnDhEg4.mix": { "__file__": true, "__name__": "25-1-飞机游戏-显示飞机.mix" }, - "25-2-飞机游戏-移动飞机.mix": { + "7zny6GKqfaVl.mix": { "__file__": true, "__name__": "25-2-飞机游戏-移动飞机.mix" }, - "26-1-飞机游戏-发射子弹.mix": { + "naheZvaC4aTy.mix": { "__file__": true, "__name__": "26-1-飞机游戏-发射子弹.mix" }, - "26-2-飞机游戏-移动音效.mix": { + "pmxXXP0Gy_pb.mix": { "__file__": true, "__name__": "26-2-飞机游戏-移动音效.mix" }, - "27-1-飞机游戏-显示敌机.mix": { + "ibc83JiU8tkb.mix": { "__file__": true, "__name__": "27-1-飞机游戏-显示敌机.mix" }, - "27-2-飞机游戏-消灭敌机.mix": { + "viba6CkFBsIw.mix": { "__file__": true, "__name__": "27-2-飞机游戏-消灭敌机.mix" }, - "28-1-飞机游戏-显示得分.mix": { + "qk4P9N8De4NL.mix": { "__file__": true, "__name__": "28-1-飞机游戏-显示得分.mix" }, - "28-2-飞机游戏-结束游戏.mix": { + "DXdPHDd3X4M8.mix": { "__file__": true, "__name__": "28-2-飞机游戏-结束游戏.mix" }, - "29-1-物联网-简单数据定时上报.mix": { + "T9uMYMOHM_SN.mix": { "__file__": true, "__name__": "29-1-物联网-简单数据定时上报.mix" }, - "29-2-物联网-复杂数据定时上报.mix": { + "n1vgYhPxOUUF.mix": { "__file__": true, "__name__": "29-2-物联网-复杂数据定时上报.mix" }, - "30-1-物联网-简单数据按需上报.mix": { + "VA_gEUsIzIXY.mix": { "__file__": true, "__name__": "30-1-物联网-简单数据按需上报.mix" }, - "30-2-物联网-高级数据按需上报.mix": { + "ErDz2PwebfhD.mix": { "__file__": true, "__name__": "30-2-物联网-高级数据按需上报.mix" }, - "31-1-物联网-单主题数据订阅.mix": { + "8vWGd2nD1hjX.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅.mix" }, - "31-1-物联网-单主题数据订阅2.mix": { + "tnXhSOPPGITo.mix": { "__file__": true, "__name__": "31-1-物联网-单主题数据订阅2.mix" }, - "32-1-物联网-多主题数据订.mix": { + "0oSSWtGd0csz.mix": { "__file__": true, "__name__": "32-1-物联网-多主题数据订.mix" }, - "32-2-物联网-多主题数据订2.mix": { + "qiZm6G85lRsK.mix": { "__file__": true, "__name__": "32-2-物联网-多主题数据订2.mix" }, - "33-1-课堂互动-自由签到.mix": { + "KYrEa6uUQ6MP.mix": { "__file__": true, "__name__": "33-1-课堂互动-自由签到.mix" }, - "33-2-课堂互动-按需签到.mix": { + "oeeJSie3Yx9o.mix": { "__file__": true, "__name__": "33-2-课堂互动-按需签到.mix" }, - "34-1-课堂互动-一人抢答.mix": { + "wfdUcFVVleQi.mix": { "__file__": true, "__name__": "34-1-课堂互动-一人抢答.mix" }, - "34-2-课堂互动-多人抢答.mix": { + "c0w_6bc3L5-Y.mix": { "__file__": true, "__name__": "34-2-课堂互动-多人抢答.mix" }, - "35-1-课堂互动-单选答题.mix": { + "3Ufqr-44AtG6.mix": { "__file__": true, "__name__": "35-1-课堂互动-单选答题.mix" }, - "35-2-课堂互动-多选答题.mix": { + "zp5iCUekwbCN.mix": { "__file__": true, "__name__": "35-2-课堂互动-多选答题.mix" }, - "36-1-课堂互动-点名答题.mix": { + "a6Wj1TQ1VDQl.mix": { "__file__": true, "__name__": "36-1-课堂互动-点名答题.mix" }, - "36-2-课堂互动-多人点答.mix": { + "3D7XQj4SFfYV.mix": { "__file__": true, "__name__": "36-2-课堂互动-多人点答.mix" }, - "37-1-文件操作-列出文件.mix": { + "1EuXs4KIbY4s.mix": { "__file__": true, "__name__": "37-1-文件操作-列出文件.mix" }, - "37-2-文件操作-列出文件2.mix": { + "80NfnkQdz_ZG.mix": { "__file__": true, "__name__": "37-2-文件操作-列出文件2.mix" }, - "38-1-文件操作-文件读写.mix": { + "zUS59zKIO8t7.mix": { "__file__": true, "__name__": "38-1-文件操作-文件读写.mix" }, - "38-2-文件操作-文件读写2.mix": { + "aQBVrl-9HGln.mix": { "__file__": true, "__name__": "38-2-文件操作-文件读写2.mix" }, - "39-1-文件操作-录音采集.mix": { + "GYJCsusH-Xpi.mix": { "__file__": true, "__name__": "39-1-文件操作-录音采集.mix" }, - "39-2-文件操作-录音重现.mix": { + "A9tynPWYUIFr.mix": { "__file__": true, "__name__": "39-2-文件操作-录音重现.mix" }, - "40-1-文件操作-震动采集.mix": { + "V5BKiQu-3Ay8.mix": { "__file__": true, "__name__": "40-1-文件操作-震动采集.mix" }, - "40-2-文件操作-震动重现.mix": { + "qzPfY5Eegi_V.mix": { "__file__": true, "__name__": "40-2-文件操作-震动重现.mix" }, - "41-1-智能小车-前进转弯.mix": { + "8zDYD1otgZlE.mix": { "__file__": true, "__name__": "41-1-智能小车-前进转弯.mix" }, - "41-2-智能小车-圆圈转弯.mix": { + "S2kyCnEMOjNk.mix": { "__file__": true, "__name__": "41-2-智能小车-圆圈转弯.mix" }, - "42-1-智能小车-智能避障.mix": { + "1IkhwsxX1M7v.mix": { "__file__": true, "__name__": "42-1-智能小车-智能避障.mix" }, - "43-1-智能小车-遥控小车.mix": { + "rKIqMR5tgnbz.mix": { "__file__": true, "__name__": "43-1-智能小车-遥控小车.mix" }, - "43-2-智能小车-体感遥控.mix": { + "wGT55yWv5hjK.mix": { "__file__": true, "__name__": "43-2-智能小车-体感遥控.mix" }, - "44-1-智能小车-P单巡线.mix": { + "bAvvDR2nzug9.mix": { "__file__": true, "__name__": "44-1-智能小车-P单巡线.mix" }, - "44-2-智能小车-P双巡线.mix": { + "dVMeFs1mKAMZ.mix": { "__file__": true, "__name__": "44-2-智能小车-P双巡线.mix" }, - "45-1-外接红外-单挥手测速.mix": { + "hUOh2PWlkDlI.mix": { "__file__": true, "__name__": "45-1-外接红外-单挥手测速.mix" }, - "45-2-外接红外-双挥手测速.mix": { + "yRbyQ1QyISxw.mix": { "__file__": true, "__name__": "45-2-外接红外-双挥手测速.mix" }, - "46-1-外接红外-双门人数统计.mix": { + "8OSaPbDIpdPn.mix": { "__file__": true, "__name__": "46-1-外接红外-双门人数统计.mix" }, - "46-2-外接红外-单门人数统计.mix": { + "81IUUl0ohShB.mix": { "__file__": true, "__name__": "46-2-外接红外-单门人数统计.mix" }, - "47-1-外接红外-简单车库门.mix": { + "xl31klorjwCZ.mix": { "__file__": true, "__name__": "47-1-外接红外-简单车库门.mix" }, - "47-2-外接红外-反馈车库门.mix": { + "yCvi0Dm1OUBe.mix": { "__file__": true, "__name__": "47-2-外接红外-反馈车库门.mix" }, - "48-1-外接红外-转速统计.mix": { + "lMXfhIwIXcEu.mix": { "__file__": true, "__name__": "48-1-外接红外-转速统计.mix" }, - "48-2-外接红外-多速转速统计.mix": { + "aEyi5_NKJeg8.mix": { "__file__": true, "__name__": "48-2-外接红外-多速转速统计.mix" }, - "balance.mix": { + "V4db3f9gp3ib.mix": { "__file__": true, "__name__": "balance.mix" }, - "pid.mix": { + "65iEMmPc2mXr.mix": { "__file__": true, "__name__": "pid.mix" }, diff --git a/boards/default/micropython_robot/index.xml b/boards/default/micropython_robot/index.xml index 2e59229e..ac5bcad2 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.com \ 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.com \ 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 fb76bfd1..d4b17d44 100644 --- a/boards/default/micropython_robot/main.bundle.js +++ b/boards/default/micropython_robot/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Rt,controls_typeLists:()=>ct,variables_change:()=>Ot,variables_get:()=>Mt,variables_global:()=>Et,variables_set:()=>mt});var i={};t.r(i),t.d(i,{base_setup:()=>St,controls_delay:()=>At,controls_end_program:()=>Lt,controls_except:()=>Bt,controls_finally:()=>Gt,controls_flow_statements:()=>vt,controls_for:()=>Yt,controls_forEach:()=>ft,controls_for_range:()=>xt,controls_if:()=>Nt,controls_if_else:()=>yt,controls_if_elseif:()=>bt,controls_if_if:()=>Xt,controls_lambda:()=>wt,controls_main:()=>Ct,controls_pass:()=>kt,controls_range:()=>Dt,controls_repeat_ext:()=>Ut,controls_thread:()=>Ht,controls_try:()=>Vt,controls_try_finally:()=>Pt,controls_whileUntil:()=>Ft,do_while:()=>Wt});var n={};t.r(n),t.d(n,{base_map:()=>de,math_arithmetic:()=>qt,math_bit:()=>Zt,math_constant:()=>Qt,math_constant_mp:()=>zt,math_constrain:()=>oe,math_dec:()=>te,math_indexer_number:()=>pe,math_map:()=>_e,math_max_min:()=>ie,math_number:()=>Jt,math_number_base_conversion:()=>ne,math_random:()=>se,math_random_seed:()=>ae,math_round:()=>ue,math_selfcalcu:()=>jt,math_to_int:()=>ee,math_trig:()=>$t,text_to_number:()=>re,text_to_number_skulpt:()=>le});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Oe,char_to_ascii:()=>Ee,number_to_text:()=>Re,os_system:()=>We,text:()=>Te,text_capital:()=>fe,text_center:()=>Fe,text_char:()=>Me,text_char_at:()=>Ce,text_char_at2:()=>ge,text_char_at3:()=>Ue,text_compareTo:()=>Ge,text_compare_to:()=>De,text_create_with_container:()=>ye,text_create_with_item:()=>Ve,text_encode:()=>ke,text_equals_starts_ends:()=>Ne,text_eval:()=>He,text_find:()=>Pe,text_format:()=>be,text_format_noreturn:()=>we,text_join:()=>me,text_join_seq:()=>ve,text_length:()=>ce,text_random_char:()=>Se,text_replace:()=>Ye,text_split:()=>xe,text_strip:()=>Xe,text_substring:()=>Le,text_substring2:()=>Ae,text_substring3:()=>Be,text_textarea:()=>he});var o={};t.r(o),t.d(o,{list_many_input:()=>Ti,list_tolist:()=>ci,list_tolist2:()=>fi,list_trig:()=>li,lists_2d_get_col_row_data:()=>qe,lists_2d_get_data_with_col_row:()=>ze,lists_append_extend:()=>ii,lists_change_to:()=>Ii,lists_change_to_general:()=>Mi,lists_clear:()=>pi,lists_create_with:()=>je,lists_create_with2:()=>gi,lists_create_with_container:()=>$e,lists_create_with_item:()=>ti,lists_create_with_noreturn:()=>hi,lists_create_with_text:()=>Ze,lists_create_with_text2:()=>Ci,lists_del_general:()=>mi,lists_find:()=>ri,lists_getIndex3:()=>Si,lists_getSublist3:()=>Ai,lists_get_index:()=>Je,lists_get_random_item:()=>ni,lists_get_random_sublist:()=>si,lists_get_sublist:()=>Qe,lists_insert_value:()=>oi,lists_insert_value2:()=>Ni,lists_pop:()=>ui,lists_remove_at:()=>ai,lists_remove_at2:()=>Di,lists_reverse:()=>_i,lists_setIndex3:()=>Li,lists_set_index:()=>ei,lists_sort:()=>di,lists_zip:()=>Oi,lists_zip_container:()=>Ei,lists_zip_item:()=>Ri});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Wi,dicts_add_or_change:()=>yi,dicts_clear:()=>Gi,dicts_create_with:()=>Pi,dicts_create_with_container:()=>vi,dicts_create_with_item:()=>Yi,dicts_create_with_noreturn:()=>Qi,dicts_deldict:()=>Hi,dicts_delete:()=>Vi,dicts_get:()=>Xi,dicts_get_default:()=>bi,dicts_items:()=>Ui,dicts_keys:()=>xi,dicts_length:()=>ki,dicts_pop:()=>Ki,dicts_setdefault:()=>Ji,dicts_to_json:()=>qi,dicts_todict:()=>zi,dicts_update:()=>Bi,dicts_values:()=>wi,json_to_dicts:()=>ji});var p={};t.r(p),t.d(p,{logic_boolean:()=>sn,logic_compare:()=>$i,logic_compare_continous:()=>tn,logic_is:()=>an,logic_is_in:()=>pn,logic_negate:()=>nn,logic_null:()=>on,logic_operation:()=>en,logic_tobool:()=>un,logic_true_or_false:()=>_n});var a={};t.r(a),t.d(a,{sdcard_mount:()=>vn,sdcard_use_spi_init:()=>Pn,storage_can_write_ornot:()=>On,storage_change_dir:()=>fn,storage_close_file:()=>Rn,storage_delete_file:()=>gn,storage_file_seek:()=>An,storage_file_tell:()=>Sn,storage_file_write:()=>Tn,storage_fileopen:()=>ln,storage_fileopen_new:()=>dn,storage_fileopen_new_encoding:()=>In,storage_get_a_line:()=>mn,storage_get_contents:()=>Mn,storage_get_contents_without_para:()=>hn,storage_get_current_dir:()=>Ln,storage_get_file_size:()=>Cn,storage_get_filename:()=>En,storage_is_file:()=>Fn,storage_list_all_files:()=>cn,storage_make_dir:()=>Nn,storage_open_file_with_os:()=>rn,storage_rename:()=>Dn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>Bn,procedures_callreturn:()=>Gn,procedures_defnoreturn:()=>Xn,procedures_defreturn:()=>bn,procedures_ifreturn:()=>Un,procedures_mutatorarg:()=>Vn,procedures_mutatorcontainer:()=>yn,procedures_return:()=>wn});var r={};t.r(r),t.d(r,{tuple_change_to:()=>ts,tuple_create_with:()=>Hn,tuple_create_with_container:()=>Wn,tuple_create_with_item:()=>Kn,tuple_create_with_noreturn:()=>ss,tuple_create_with_text2:()=>Jn,tuple_create_with_text_return:()=>Qn,tuple_del:()=>jn,tuple_find:()=>es,tuple_getIndex:()=>zn,tuple_getSublist:()=>ns,tuple_get_random_item:()=>_s,tuple_get_sublist:()=>os,tuple_join:()=>Zn,tuple_length:()=>qn,tuple_max:()=>$n,tuple_totuple:()=>ps,tuple_trig:()=>is});var l={};t.r(l),t.d(l,{set_add_discard:()=>ms,set_clear:()=>Ts,set_create_with:()=>us,set_create_with_container:()=>rs,set_create_with_item:()=>ls,set_create_with_text_return:()=>Rs,set_length:()=>ds,set_operate:()=>hs,set_operate_update:()=>Ms,set_pop:()=>Is,set_sub:()=>Os,set_toset:()=>cs,set_update:()=>Es});var d={};t.r(d),t.d(d,{html_content:()=>Ls,html_content_more:()=>Ns,html_document:()=>Cs,html_form:()=>fs,html_head_body:()=>As,html_style:()=>Ds,html_style_color:()=>Ps,html_style_content:()=>Fs,html_text:()=>vs,html_title:()=>Ss});var I={};t.r(I),t.d(I,{attribute_access:()=>Ks,function_call:()=>ks,function_call_container:()=>Hs,function_call_item:()=>Ws,raw_block:()=>Xs,raw_empty:()=>ys,raw_expression:()=>bs,raw_table:()=>xs,text_comment:()=>Vs,text_print_multiple:()=>Gs,text_print_multiple_container:()=>Us,text_print_multiple_item:()=>ws,type_check:()=>Bs});var T={};t.r(T),t.d(T,{controls_type:()=>js,controls_typeLists:()=>Zs,variables_change:()=>zs,variables_get:()=>Js,variables_global:()=>qs,variables_set:()=>Qs});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>ao,base_setup:()=>to,controls_delay:()=>po,controls_flow_statements:()=>_o,controls_for:()=>no,controls_forEach:()=>To,controls_for_range:()=>so,controls_if:()=>eo,controls_interrupts:()=>lo,controls_lambda:()=>Mo,controls_main:()=>$s,controls_millis:()=>uo,controls_nointerrupts:()=>Io,controls_pass:()=>Oo,controls_range:()=>ho,controls_repeat:()=>go,controls_repeat_ext:()=>co,controls_thread:()=>Eo,controls_try_finally:()=>io,controls_whileUntil:()=>oo,do_while:()=>Ro,reset:()=>ro,time_sleep:()=>mo});var M={};t.r(M),t.d(M,{base_map:()=>ko,math_arithmetic:()=>No,math_bit:()=>Lo,math_constant:()=>So,math_constant_mp:()=>Ao,math_constrain:()=>bo,math_dec:()=>Po,math_indexer_number:()=>Bo,math_map:()=>Xo,math_max_min:()=>Yo,math_number:()=>Co,math_number_base_conversion:()=>yo,math_random:()=>xo,math_random_seed:()=>Vo,math_round:()=>Go,math_selfcalcu:()=>Do,math_single:()=>fo,math_to_int:()=>vo,math_trig:()=>Fo,text_to_number:()=>Uo,text_to_number_skulpt:()=>wo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>Qo,char_to_ascii:()=>zo,number_to_text:()=>qo,os_system:()=>E_,text:()=>Ho,text_capital:()=>o_,text_center:()=>__,text_char:()=>Ko,text_char_at:()=>$o,text_char_at2:()=>Zo,text_char_at3:()=>M_,text_compareTo:()=>h_,text_compare_to:()=>i_,text_encode:()=>m_,text_equals_starts_ends:()=>e_,text_eval:()=>O_,text_find:()=>p_,text_format:()=>d_,text_format_noreturn:()=>I_,text_join:()=>Jo,text_join_seq:()=>a_,text_length:()=>jo,text_random_char:()=>t_,text_replace:()=>u_,text_split:()=>r_,text_strip:()=>l_,text_substring:()=>s_,text_substring2:()=>n_,text_substring3:()=>T_,text_textarea:()=>Wo});var O={};t.r(O),t.d(O,{list_many_input:()=>B_,list_tolist:()=>j_,list_tolist2:()=>Z_,list_trig:()=>b_,lists_2d_get_col_row_data:()=>g_,lists_2d_get_data_with_col_row:()=>c_,lists_append_extend:()=>N_,lists_change_to:()=>V_,lists_change_to_general:()=>U_,lists_clear:()=>v_,lists_create_with:()=>C_,lists_create_with2:()=>k_,lists_create_with_noreturn:()=>G_,lists_create_with_text:()=>S_,lists_create_with_text2:()=>H_,lists_del_general:()=>w_,lists_find:()=>Y_,lists_getIndex3:()=>W_,lists_getSublist3:()=>K_,lists_get_index:()=>A_,lists_get_random_item:()=>D_,lists_get_random_sublist:()=>f_,lists_get_sublist:()=>R_,lists_insert_value:()=>F_,lists_insert_value2:()=>Q_,lists_pop:()=>X_,lists_remove_at:()=>x_,lists_remove_at2:()=>z_,lists_reverse:()=>P_,lists_setIndex3:()=>J_,lists_set_index:()=>L_,lists_sort:()=>y_,lists_zip:()=>q_});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>lp,dicts_add_or_change:()=>np,dicts_clear:()=>_p,dicts_create_with:()=>$_,dicts_create_with_noreturn:()=>Tp,dicts_deldict:()=>rp,dicts_delete:()=>sp,dicts_get:()=>ep,dicts_get_default:()=>ip,dicts_items:()=>pp,dicts_keys:()=>tp,dicts_length:()=>up,dicts_pop:()=>dp,dicts_setdefault:()=>Ip,dicts_to_json:()=>Mp,dicts_todict:()=>hp,dicts_update:()=>op,dicts_values:()=>ap,json_to_dicts:()=>mp});var R={};t.r(R),t.d(R,{logic_boolean:()=>gp,logic_compare:()=>Op,logic_compare_continous:()=>Ep,logic_is:()=>Lp,logic_is_in:()=>Ap,logic_negate:()=>cp,logic_null:()=>Cp,logic_operation:()=>Rp,logic_tobool:()=>Np,logic_true_or_false:()=>Sp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>qp,sdcard_use_spi_init:()=>zp,storage_can_write_ornot:()=>bp,storage_change_dir:()=>Hp,storage_close_file:()=>Vp,storage_delete_file:()=>Gp,storage_file_seek:()=>kp,storage_file_tell:()=>wp,storage_file_write:()=>vp,storage_fileopen:()=>fp,storage_fileopen_new:()=>Fp,storage_fileopen_new_encoding:()=>Pp,storage_get_a_line:()=>Xp,storage_get_contents:()=>xp,storage_get_contents_without_para:()=>Yp,storage_get_current_dir:()=>Wp,storage_get_file_size:()=>Up,storage_get_filename:()=>yp,storage_is_file:()=>Qp,storage_list_all_files:()=>Bp,storage_make_dir:()=>Kp,storage_open_file_with_os:()=>Dp,storage_rename:()=>Jp});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>ta,procedures_callreturn:()=>$p,procedures_defnoreturn:()=>Zp,procedures_defreturn:()=>jp,procedures_ifreturn:()=>ea,procedures_return:()=>ia});var C={};t.r(C),t.d(C,{tuple_change_to:()=>la,tuple_create_with:()=>na,tuple_create_with_noreturn:()=>ha,tuple_create_with_text2:()=>sa,tuple_create_with_text_return:()=>oa,tuple_del:()=>aa,tuple_find:()=>da,tuple_getIndex:()=>_a,tuple_getSublist:()=>Ta,tuple_get_random_item:()=>ma,tuple_get_sublist:()=>Ma,tuple_join:()=>ua,tuple_length:()=>pa,tuple_max:()=>ra,tuple_totuple:()=>Oa,tuple_trig:()=>Ia});var S={};t.r(S),t.d(S,{set_add_discard:()=>Aa,set_clear:()=>ga,set_create_with:()=>Ea,set_create_with_text_return:()=>Da,set_length:()=>Ra,set_operate:()=>Ca,set_operate_update:()=>Sa,set_pop:()=>ca,set_sub:()=>La,set_toset:()=>fa,set_update:()=>Na});var A={};t.r(A),t.d(A,{html_content:()=>Ya,html_content_more:()=>xa,html_document:()=>Fa,html_form:()=>ba,html_head_body:()=>va,html_style:()=>Xa,html_style_content:()=>ya,html_text:()=>Va,html_title:()=>Pa});var L={};t.r(L),t.d(L,{attribute_access:()=>Wa,function_call:()=>Ha,raw_block:()=>Ba,raw_empty:()=>Ua,raw_expression:()=>Ga,raw_table:()=>wa,type_check:()=>ka});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>nu,actuator_extern_get_led_state:()=>su,actuator_extern_led_bright:()=>iu,actuator_extern_led_brightness:()=>ou,actuator_ms32006_dcmotor:()=>Tu,actuator_ms32006_init:()=>Iu,actuator_ms32006_stepper:()=>hu,actuator_neopixel_init:()=>Mu,actuator_neopixel_rgb:()=>mu,actuator_neopixel_rgb_all:()=>Ou,actuator_neopixel_write:()=>Eu,actuator_use_uart_init:()=>Ru,esp32_music_get_tempo_extern:()=>$a,esp32_music_pitch:()=>za,esp32_music_pitch_init:()=>Qa,esp32_music_pitch_with_time:()=>qa,esp32_music_play_list:()=>ja,esp32_music_reset_extern:()=>tu,esp32_music_set_tempo_extern:()=>Za,esp32_music_stop:()=>eu,mixbot_actuator_extern_get_addr:()=>Vu,mixbot_actuator_extern_set_addr:()=>Bu,mixbot_addr_extern:()=>Au,robot_led_extern:()=>fu,robot_led_extern_get_value:()=>Fu,robot_motor_extern:()=>Lu,robot_motor_extern_get_speed:()=>Nu,robot_servo_extern_absolute_run:()=>xu,robot_servo_extern_get_status:()=>Pu,robot_servo_extern_relative_continue:()=>yu,robot_servo_extern_relative_origin:()=>Xu,robot_servo_extern_relative_run:()=>bu,robot_servo_extern_stop:()=>Yu,robot_servo_extern_stop_mode:()=>vu,robot_traffic_light_extern:()=>Du,servo_get_angle:()=>lu,servo_get_speed:()=>du,servo_init:()=>_u,servo_move:()=>pu,servo_set_angle:()=>uu,servo_set_speed:()=>ru,servo_speed_360:()=>au,syn6288_builtin_voice:()=>Cu,syn6288_get_voice:()=>gu,syn6288_set_voice:()=>cu,syn6288_tts_play:()=>Su});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>mr,actuator_dc_motor_stop:()=>Or,actuator_get_led_bright:()=>Hu,actuator_get_led_state:()=>Wu,actuator_led_bright:()=>ku,actuator_led_brightness:()=>Ku,actuator_mixbot_buzzer_on_off:()=>Cr,actuator_mixgo_nova_mic_get:()=>Dr,actuator_mixgo_nova_mic_set:()=>Nr,actuator_mixgo_nova_onboard_music_pitch:()=>xr,actuator_mixgo_nova_onboard_music_stop:()=>Xr,actuator_mixgo_nova_play_audio:()=>vr,actuator_mixgo_nova_play_online_audio:()=>Yr,actuator_mixgo_nova_record_audio:()=>Pr,actuator_mixgo_nova_voice_get:()=>Fr,actuator_mixgo_nova_voice_set:()=>fr,actuator_mixgo_zero_led_color:()=>Ju,actuator_onboard_neopixel_rgb:()=>$u,actuator_onboard_neopixel_rgb_all:()=>tr,actuator_onboard_neopixel_rgb_show_all_chase:()=>ir,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>er,actuator_onboard_neopixel_write:()=>nr,actuator_rm_onboard_neopixel_rgb:()=>sr,actuator_rm_onboard_neopixel_rgb_all:()=>or,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>_r,actuator_stepper_keep:()=>hr,actuator_stepper_stop:()=>Mr,bitbot_motor:()=>Lr,bitbot_move:()=>Sr,bitbot_stop:()=>Ar,cc_number:()=>Zu,esp32_music_get_tempo:()=>ar,esp32_music_reset:()=>ur,esp32_music_set_tempo:()=>pr,esp32_onboard_music_pitch:()=>rr,esp32_onboard_music_pitch_with_time:()=>lr,esp32_onboard_music_play_list:()=>Ir,esp32_onboard_music_stop:()=>dr,get_power_output:()=>yr,ledswitch:()=>wu,mixbot_motor:()=>gr,mixbot_motor_status:()=>Er,mixbot_move:()=>Rr,mixbot_stop:()=>cr,number:()=>Uu,rm_actuator_get_led_bright:()=>zu,rm_actuator_get_led_state:()=>qu,rm_actuator_led_bright:()=>Qu,rm_actuator_led_brightness:()=>ju,rm_motor:()=>Tr,set_all_power_output:()=>Vr,set_power_output:()=>br});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Ol,ai_sensor_ailocal_class:()=>pl,ai_sensor_ailocal_class_result:()=>al,ai_sensor_ailocal_train:()=>_l,ai_sensor_asr_recognize:()=>Il,ai_sensor_audio_play:()=>rl,ai_sensor_audio_record:()=>ul,ai_sensor_barcode:()=>Kr,ai_sensor_circle:()=>Zr,ai_sensor_classifier_faces:()=>ml,ai_sensor_color:()=>il,ai_sensor_color_chases:()=>ol,ai_sensor_color_chases_result:()=>sl,ai_sensor_config:()=>Hr,ai_sensor_face:()=>Ml,ai_sensor_find_20objects:()=>El,ai_sensor_find_barcodes:()=>Jr,ai_sensor_find_circles:()=>$r,ai_sensor_find_colors:()=>nl,ai_sensor_find_licenseplates:()=>hl,ai_sensor_find_lines:()=>jr,ai_sensor_find_qrcodes:()=>kr,ai_sensor_find_rects:()=>el,ai_sensor_find_tags:()=>zr,ai_sensor_licenseplate:()=>Tl,ai_sensor_line:()=>qr,ai_sensor_qrcode:()=>Ur,ai_sensor_qrcode_lite:()=>wr,ai_sensor_rect:()=>tl,ai_sensor_rgb:()=>Wr,ai_sensor_tag:()=>Qr,ai_sensor_use_uart_init:()=>Gr,ai_sensor_yolo_recognize:()=>ll,ai_sensor_yolo_recognize_result:()=>dl});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>gl,MICROPYTHON_AI_Speech_unit:()=>cl,MICROPYTHON_AI_client:()=>Rl});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>yl,mpython_blynk_app_notify:()=>Fl,mpython_blynk_email:()=>Yl,mpython_blynk_get_timers:()=>xl,mpython_blynk_on_connected:()=>Nl,mpython_blynk_on_disconnected:()=>Ll,mpython_blynk_run:()=>fl,mpython_blynk_sensor_data_to_app:()=>bl,mpython_blynk_set_property:()=>vl,mpython_blynk_setup:()=>Vl,mpython_blynk_stop_timers:()=>Pl,mpython_blynk_sync_virtual:()=>Al,mpython_blynk_terminal_widget_vpin:()=>Sl,mpython_blynktimer:()=>Xl,mpython_blynktimer_run:()=>Dl});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>Rd,communicate_bluetooth_connect:()=>Sd,communicate_bluetooth_disconnect:()=>Ad,communicate_bluetooth_handle:()=>Fd,communicate_bluetooth_is_connected:()=>Nd,communicate_bluetooth_mac:()=>Cd,communicate_bluetooth_peripheral_init:()=>cd,communicate_bluetooth_recv:()=>Dd,communicate_bluetooth_recv_only:()=>fd,communicate_bluetooth_scan:()=>gd,communicate_bluetooth_send:()=>Ld,communicate_espnow_init:()=>Pd,communicate_espnow_init_new:()=>vd,communicate_i2c_available:()=>id,communicate_i2c_init:()=>wl,communicate_i2c_master_read:()=>ed,communicate_i2c_onboard:()=>Gl,communicate_i2c_read:()=>kl,communicate_i2c_scan:()=>Wl,communicate_i2c_write:()=>Hl,communicate_ir_recv_init:()=>rd,communicate_ir_send_init:()=>hd,communicate_ow_init:()=>sd,communicate_ow_read:()=>_d,communicate_ow_reset:()=>ud,communicate_ow_scan:()=>od,communicate_ow_select:()=>ad,communicate_ow_write:()=>pd,communicate_spi_buffer:()=>Ql,communicate_spi_init:()=>Kl,communicate_spi_onboard:()=>Ul,communicate_spi_read:()=>zl,communicate_spi_read_output:()=>ql,communicate_spi_readinto:()=>jl,communicate_spi_readinto_output:()=>Zl,communicate_spi_set:()=>Jl,communicate_spi_write:()=>$l,communicate_spi_write_readinto:()=>td,espnow_radio_channel:()=>Vd,espnow_radio_channel_new:()=>Gd,espnow_radio_on_off:()=>Ud,espnow_radio_rec:()=>kd,espnow_radio_recv:()=>Wd,espnow_radio_recv_certain_msg:()=>Kd,espnow_radio_recv_certain_msg_new:()=>Qd,espnow_radio_recv_msg:()=>Hd,espnow_radio_recv_new:()=>Jd,espnow_radio_send:()=>wd,espnow_radio_txpower:()=>Bd,i2c_available:()=>MI,i2c_init:()=>iI,i2c_master_reader2:()=>hI,i2c_read:()=>nI,i2c_scan:()=>oI,i2c_slave_onreceive:()=>nd,i2c_write:()=>sI,internal_variable:()=>ld,ir_recv_timeout:()=>Td,ir_transmit_busy:()=>Ed,ir_transmit_conventional_data:()=>Md,ir_transmit_raw_code:()=>Od,ir_transmit_study_code:()=>md,ir_whether_recv:()=>Id,lora_init:()=>zd,lora_packet:()=>qd,lora_recv:()=>Zd,lora_send:()=>jd,network_espnow_info:()=>xd,network_espnow_mac:()=>Yd,network_espnow_recv:()=>Xd,network_espnow_recv_handle:()=>yd,network_espnow_send:()=>bd,recv_fun:()=>dd,spi_buffer:()=>aI,spi_init:()=>_I,spi_read:()=>uI,spi_read_output:()=>rI,spi_readinto:()=>lI,spi_readinto_output:()=>dI,spi_set:()=>pI,spi_write:()=>II,spi_write_readinto:()=>TI,urequests_attribute:()=>tI,urequests_get:()=>$d,urequests_method:()=>eI});var Y={};t.r(Y),t.d(Y,{display_animate:()=>KI,display_blink_rate:()=>wI,display_circle:()=>JI,display_color_seclet:()=>oT,display_draw_4strings:()=>bI,display_fill:()=>WI,display_get_screen_image:()=>UI,display_help:()=>zI,display_image_size:()=>yI,display_lcd_use_i2c_init:()=>lT,display_line:()=>BI,display_line_arbitrarily:()=>GI,display_matrix_extern_bright_point:()=>DI,display_matrix_extern_bright_screen:()=>FI,display_matrix_extern_clear:()=>PI,display_matrix_extern_get_pixel:()=>NI,display_matrix_extern_get_screen_pixel:()=>fI,display_matrix_extern_image_builtins:()=>vI,display_matrix_extern_scroll_string:()=>gI,display_matrix_extern_scroll_string_delay:()=>CI,display_matrix_extern_shift:()=>LI,display_matrix_extern_show_frame_string:()=>SI,display_matrix_extern_show_frame_string_delay:()=>AI,display_matrix_extern_show_image:()=>RI,display_matrix_extern_show_image_or_string_delay:()=>cI,display_matrix_use_i2c_init:()=>EI,display_oled_drawPixel:()=>jI,display_oled_showBitmap:()=>qI,display_oled_use_i2c_init:()=>MT,display_onoff:()=>HI,display_rect:()=>VI,display_rgb_color:()=>kI,display_tm1650_power:()=>$I,display_tm1650_set_brightness:()=>iT,display_tm1650_show_dot:()=>eT,display_tm1650_show_num:()=>tT,display_tm_use_i2c_init:()=>ZI,display_triangle:()=>QI,display_use_i2c_init:()=>XI,extern_oled_bright_point:()=>NT,extern_oled_clear:()=>DT,extern_oled_get_pixel:()=>LT,extern_oled_hvline:()=>FT,extern_oled_line:()=>PT,extern_oled_scroll_string:()=>cT,extern_oled_scroll_string_delay:()=>gT,extern_oled_shape_rect:()=>fT,extern_oled_shift:()=>AT,extern_oled_show_frame_string:()=>CT,extern_oled_show_frame_string_delay:()=>ST,extern_oled_show_image:()=>mT,extern_oled_show_image_or_string_delay:()=>RT,extern_oled_show_image_xy:()=>OT,extern_oled_show_string:()=>ET,lcd_backlight:()=>TT,lcd_clear:()=>hT,lcd_print_string:()=>IT,lcd_show_image_or_string_delay:()=>dT,matrix_extern_image_arithmetic:()=>YI,matrix_extern_image_invert:()=>xI,tft_fill:()=>uT,tft_line_arbitrarily:()=>rT,tft_scroll_string_delay:()=>pT,tft_show_frame_string_delay:()=>aT,tft_show_image_or_string_delay:()=>_T,tft_show_image_xy:()=>sT,tft_use_spi_init:()=>nT});var x={};t.r(x),t.d(x,{bitbot_display_image_create:()=>Mh,display_bright_point:()=>KT,display_bright_screen:()=>QT,display_clear:()=>zT,display_get_pixel:()=>WT,display_get_screen_pixel:()=>JT,display_image_builtins:()=>GT,display_image_builtins_all:()=>UT,display_image_create:()=>BT,display_scroll_string:()=>XT,display_scroll_string_delay:()=>bT,display_shift:()=>HT,display_show_frame_string:()=>yT,display_show_frame_string_delay:()=>VT,display_show_image:()=>YT,display_show_image_or_string_delay:()=>xT,image_arithmetic:()=>wT,image_invert:()=>kT,mixbot_display_bright_screen:()=>Th,mixbot_display_get_ambientbright:()=>Ih,mixbot_display_get_screen_pixel:()=>dh,mixbot_display_image_create:()=>lh,mixbot_display_rotate:()=>hh,mixgo_display_image_create_new:()=>ZT,mixgome_display_font:()=>$T,mixgome_display_image_create:()=>qT,mixgomini_display_image_create:()=>jT,mpython_display_hvline:()=>ah,mpython_display_line:()=>uh,mpython_display_shape_rect:()=>ph,mpython_pbm_image:()=>rh,onboard_oled_bright_point:()=>_h,onboard_oled_scroll_string_delay:()=>sh,onboard_oled_show_frame_string_delay:()=>oh,onboard_oled_show_image:()=>th,onboard_oled_show_image_or_string_delay:()=>nh,onboard_oled_show_image_xy:()=>eh,onboard_oled_show_string:()=>ih,onboard_tft_bright_point:()=>fh,onboard_tft_bright_screen:()=>vh,onboard_tft_clear:()=>Fh,onboard_tft_clock_clear:()=>Vh,onboard_tft_clock_draw:()=>yh,onboard_tft_clock_get_rtctime:()=>Xh,onboard_tft_clock_init:()=>xh,onboard_tft_clock_set_time:()=>bh,onboard_tft_display_hvline:()=>Ah,onboard_tft_display_line:()=>Lh,onboard_tft_display_shape_circle:()=>Bh,onboard_tft_display_shape_rect:()=>Sh,onboard_tft_fill:()=>Yh,onboard_tft_get_pixel:()=>Dh,onboard_tft_get_screen_pixel:()=>Ph,onboard_tft_scroll_string:()=>Rh,onboard_tft_scroll_string_delay:()=>ch,onboard_tft_shift:()=>Nh,onboard_tft_show_frame_string:()=>gh,onboard_tft_show_frame_string_delay:()=>Ch,onboard_tft_show_image:()=>mh,onboard_tft_show_image_or_string_delay:()=>Eh,onboard_tft_show_image_xy:()=>Oh});var X={};t.r(X),t.d(X,{factory_block:()=>qh,factory_block_return:()=>jh,factory_block_return_with_textarea:()=>$h,factory_block_with_textarea:()=>Zh,factory_callMethod_noreturn:()=>Qh,factory_callMethod_return:()=>zh,factory_create_with_container:()=>Hh,factory_create_with_item:()=>Wh,factory_declare:()=>Jh,factory_from_import:()=>Uh,factory_function_noreturn:()=>kh,factory_function_return:()=>Kh,factory_import:()=>wh,folding_block:()=>tM});var b={};t.r(b),t.d(b,{controls_pin_attachInterrupt:()=>gM,inout_analog_atten:()=>rM,inout_analog_read:()=>uM,inout_analog_read_init:()=>MM,inout_analog_write:()=>_M,inout_analog_write_init:()=>hM,inout_analog_write_set:()=>pM,inout_analog_write_set_freq:()=>EM,inout_digital_init:()=>IM,inout_digital_read:()=>sM,inout_digital_write:()=>nM,inout_highlow:()=>iM,inout_pinMode:()=>OM,inout_pin_attachInterrupt:()=>dM,inout_pin_pressed:()=>lM,inout_pin_pressed_init:()=>mM,inout_pwm_analog_write:()=>oM,inout_pwm_analog_write_init:()=>TM,inout_pwm_analog_write_set_freq:()=>aM,pin_pressed:()=>cM,pin_pressed_init:()=>RM});var y={};t.r(y),t.d(y,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>KM,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>WM,IOT_EMQX_PING:()=>kM,IOT_FORMATTING:()=>UM,IOT_FORMAT_STRING:()=>wM,IOT_MIXIO_NTP:()=>HM,IOT_MIXIO_PUBLISH:()=>xM,IOT_MIXIO_SUBSCRIBE:()=>XM,iot_checkonenet:()=>im,iot_client_onboard:()=>QM,iot_create_with_item:()=>vM,iot_http_client:()=>zM,iot_http_data:()=>qM,iot_mixio_check:()=>VM,iot_mixio_connect:()=>YM,iot_mixio_connect_only:()=>yM,iot_mixio_disconnect:()=>bM,iot_mixio_format_msg:()=>GM,iot_mixio_format_topic:()=>BM,iot_mixly_key:()=>JM,iot_mqtt_client:()=>jM,iot_mqtt_data:()=>ZM,iot_onenet_check:()=>NM,iot_onenet_connect:()=>AM,iot_onenet_disconnect:()=>LM,iot_onenet_publish:()=>fM,iot_onenet_publish_dict:()=>DM,iot_onenetconnect:()=>tm,iot_onenetdisconnect:()=>em,iot_publish:()=>nm,iot_publish_container:()=>FM,iot_publish_item:()=>PM,iot_wifi_connect:()=>SM,iot_wificonnect:()=>$M});var V={};t.r(V),t.d(V,{network_ap_connect:()=>Tm,network_connect:()=>um,network_get_connect:()=>lm,network_get_wifi:()=>Im,network_init:()=>om,network_is_active:()=>pm,network_open:()=>_m,network_scan:()=>am,network_server:()=>hm,network_socket_accept:()=>Rm,network_socket_bind:()=>mm,network_socket_close:()=>Am,network_socket_connect:()=>Om,network_socket_init:()=>Mm,network_socket_listen:()=>Em,network_socket_receive:()=>cm,network_socket_receive_from:()=>Cm,network_socket_send:()=>gm,network_socket_send_to:()=>Sm,network_stop:()=>dm,network_wifi_connect:()=>rm,ntptime_address:()=>Fm,ntptime_time:()=>fm,requests_attribute:()=>Nm,requests_get:()=>Lm,requests_method:()=>Dm});var B={};t.r(B),t.d(B,{HCSR04:()=>PO,PS2_Button:()=>XO,PS2_Buttons:()=>yO,PS2_Buttons_new:()=>UO,PS2_State:()=>bO,PS2_init:()=>vO,PS2_init_new:()=>BO,PS2_stk:()=>VO,PS2_stk_new:()=>wO,PS2_vibration:()=>xO,PS2_vibration_new:()=>GO,esp32_s2_weather_init:()=>NO,esp32_s2_weather_rain:()=>fO,esp32_s2_weather_wd:()=>DO,esp32_s2_weather_ws:()=>FO,extern_rfid_read:()=>IO,extern_rfid_readcontent:()=>hO,extern_rfid_readid:()=>TO,extern_rfid_status:()=>OO,extern_rfid_write:()=>MO,extern_rfid_write_return:()=>mO,gnss_get_data:()=>KO,gnss_have_data:()=>WO,mixbot_sensor_extern_get_addr:()=>$O,mixbot_sensor_extern_set_addr:()=>tE,pm25_get_data:()=>HO,robot_button_extern_get_value:()=>JO,robot_color_extern_get_value:()=>ZO,robot_infrared_extern_get_value:()=>zO,robot_infrared_extern_grey_get_value:()=>qO,robot_potentiometer_extern_get_value:()=>jO,robot_sonar_extern_get_value:()=>eE,robot_sonar_extern_led:()=>iE,robot_touch_extern_get_value:()=>QO,sensor_APDS9960_extern:()=>zm,sensor_LTR308_extern:()=>qm,sensor_LTR390UV_extern:()=>Zm,sensor_MAX30102_extern:()=>Qm,sensor_QMC5883L_extern:()=>nO,sensor_VL530LX_extern:()=>$m,sensor_adxl345_get_acceleration:()=>ym,sensor_aht11_extern:()=>eO,sensor_bmp:()=>km,sensor_compass_reset:()=>lO,sensor_dht11:()=>Bm,sensor_ds18x20:()=>Wm,sensor_hp203_extern:()=>iO,sensor_light_level:()=>Vm,sensor_lm35:()=>Km,sensor_ltr381_extern:()=>jm,sensor_mixgo_extern_button_attachInterrupt:()=>Xm,sensor_mixgo_extern_button_get_presses:()=>xm,sensor_mixgo_extern_button_is_pressed:()=>vm,sensor_mixgo_extern_button_was_pressed:()=>Ym,sensor_mixgo_extern_light:()=>Gm,sensor_mixgo_extern_pin_near:()=>wm,sensor_mixgo_extern_sound:()=>Um,sensor_mixgoce_hot_wheel_degrees:()=>LO,sensor_mixgoce_hot_wheel_is_touched:()=>AO,sensor_mpu9250_attachGestureInterrupt:()=>bm,sensor_mpu9250_calibrate_compass:()=>aO,sensor_mpu9250_field_strength:()=>rO,sensor_mpu9250_gesture:()=>sO,sensor_mpu9250_get_acceleration:()=>oO,sensor_mpu9250_get_gyro:()=>pO,sensor_mpu9250_get_magnetic:()=>_O,sensor_mpu9250_temperature:()=>uO,sensor_sht:()=>Hm,sensor_shtc3_extern:()=>tO,sensor_use_i2c_init:()=>Jm,sensor_use_spi_init:()=>dO,sensor_use_uart_init:()=>kO,sensor_weather_solo_init:()=>nE,sensor_weather_solo_rain:()=>_E,sensor_weather_solo_wd:()=>sE,sensor_weather_solo_ws:()=>oE,weather_data:()=>EO,weather_have_data:()=>RO,weather_set_label:()=>gO,weather_set_label_container:()=>CO,weather_set_label_item:()=>SO,weather_uart_mixio:()=>cO});var G={};t.r(G),t.d(G,{HCSR04:()=>CE,RTC_set_date:()=>gE,RTC_set_time:()=>cE,bitbot_als_num:()=>DR,dht11:()=>XR,number1:()=>AE,number2:()=>LE,number3:()=>NE,number4:()=>DE,number5:()=>fE,number6:()=>FE,number7:()=>PE,onboard_RTC_get_time:()=>VE,onboard_RTC_get_timestamp:()=>BE,onboard_RTC_set_datetime:()=>wE,onboard_RTC_settime_string:()=>UE,onboard_RTC_timestamp_totuple:()=>GE,rfid_readcontent:()=>qE,rfid_readid:()=>zE,rfid_write:()=>jE,rfid_write_return:()=>ZE,sensor_LTR308:()=>HE,sensor_aht11:()=>KE,sensor_bitbot_ALS:()=>NR,sensor_button_get_presses:()=>PR,sensor_button_is_pressed:()=>fR,sensor_button_was_pressed:()=>FR,sensor_distance_hrsc04:()=>RE,sensor_eulerangles:()=>tR,sensor_field_strength:()=>bR,sensor_get_acceleration:()=>$E,sensor_get_temperature:()=>JE,sensor_hp203:()=>QE,sensor_light:()=>xR,sensor_mixbot_get_gyro:()=>LR,sensor_mixbot_patrol_calibrate:()=>CR,sensor_mixbot_patrol_value:()=>SR,sensor_mixbot_temperature:()=>AR,sensor_mixgo_LTR308:()=>yE,sensor_mixgo_button_attachInterrupt:()=>lE,sensor_mixgo_button_get_presses:()=>rE,sensor_mixgo_button_is_pressed:()=>aE,sensor_mixgo_button_was_pressed:()=>uE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>lR,sensor_mixgo_cc_mmc5603_get_angle:()=>rR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>uR,sensor_mixgo_light:()=>SE,sensor_mixgo_nova_LTR308:()=>bE,sensor_mixgo_nova_pin_near:()=>XE,sensor_mixgo_pin_near:()=>xE,sensor_mixgo_pin_near_double:()=>YE,sensor_mixgo_pin_near_single:()=>vE,sensor_mixgo_pin_pressed:()=>ME,sensor_mixgo_touch_slide:()=>EE,sensor_mixgocar42_button_attachInterrupt:()=>hE,sensor_mixgocar42_button_get_presses:()=>TE,sensor_mixgocar42_button_is_pressed:()=>dE,sensor_mixgocar42_button_was_pressed:()=>IE,sensor_mixgocar_battery_left:()=>gR,sensor_mixgocar_pin_near:()=>RR,sensor_mixgocar_pin_near_line:()=>ER,sensor_mixgocar_pin_near_state_change:()=>cR,sensor_mixgoce_pin_pressed:()=>mE,sensor_mixgoce_temperature:()=>IR,sensor_mixgome_temperature:()=>dR,sensor_mpython_pin_pressed:()=>OE,sensor_mpython_qmi8658_get_gyro:()=>TR,sensor_mpython_qmi8658_temperature:()=>hR,sensor_onboard_compass_reset:()=>aR,sensor_onboard_mpu9250_calibrate_compass:()=>oR,sensor_onboard_mpu9250_field_strength:()=>pR,sensor_onboard_mpu9250_gesture:()=>eR,sensor_onboard_mpu9250_get_acceleration:()=>iR,sensor_onboard_mpu9250_get_gyro:()=>sR,sensor_onboard_mpu9250_get_magnetic:()=>nR,sensor_onboard_mpu9250_temperature:()=>_R,sensor_pin_near:()=>YR,sensor_pin_pressed:()=>vR,sensor_rm_acc:()=>OR,sensor_rm_battery_left:()=>mR,sensor_rm_pin_near_double:()=>MR,sensor_rtc_init:()=>kE,sensor_sound:()=>WE,sensor_temperature:()=>yR});var U={};t.r(U),t.d(U,{serial_any:()=>WR,serial_begin:()=>qR,serial_print:()=>GR,serial_print_byte:()=>BR,serial_print_hex:()=>wR,serial_println:()=>UR,serial_read_from_ai:()=>oc,serial_readline:()=>KR,serial_readstr:()=>HR,serial_readstr_until:()=>JR,serial_receive_data_event:()=>kR,serial_send_to_ai:()=>sc,serial_softserial:()=>zR,serial_softserial_new:()=>QR,system_input:()=>jR,system_print:()=>ZR,system_print_container:()=>ic,system_print_end:()=>tc,system_print_inline:()=>$R,system_print_item:()=>nc,system_print_many:()=>ec});var w={};t.r(w),t.d(w,{Panic_with_status_code:()=>uc,Timer_init:()=>gc,base_delay:()=>Ac,controls_delay:()=>ac,controls_delay_new:()=>pc,controls_millis:()=>lc,controls_uname:()=>Ic,raw_block:()=>dc,reset:()=>rc,system_bitbot_shutdown:()=>cc,system_machine_reset:()=>Rc,system_ticks_diff:()=>Mc,system_timer:()=>hc,system_timer_init:()=>mc,system_wdt_feed:()=>Ec,system_wdt_init:()=>Oc,time_ticks_diff:()=>Sc,timer:()=>Tc,timer2:()=>Cc});var k={};t.r(k),t.d(k,{WEATHER_DAILY:()=>Dc,WEATHER_HOUR:()=>fc,WEATHER_NOW:()=>Nc});var H={};t.r(H),t.d(H,{actuator_extern_get_led_bright:()=>zc,actuator_extern_get_led_state:()=>qc,actuator_extern_led_bright:()=>Qc,actuator_extern_led_brightness:()=>jc,actuator_ms32006_dcmotor:()=>yc,actuator_ms32006_init:()=>bc,actuator_ms32006_stepper:()=>Vc,actuator_neopixel_init:()=>Zc,actuator_neopixel_rgb:()=>eg,actuator_neopixel_rgb_all:()=>$c,actuator_neopixel_write:()=>tg,actuator_use_uart_init:()=>ig,esp32_music_get_tempo_extern:()=>Hc,esp32_music_pitch:()=>Gc,esp32_music_pitch_init:()=>Bc,esp32_music_pitch_with_time:()=>Uc,esp32_music_play_list:()=>Wc,esp32_music_reset_extern:()=>Kc,esp32_music_set_tempo_extern:()=>kc,esp32_music_stop:()=>wc,mixbot_actuator_extern_get_addr:()=>Rg,mixbot_actuator_extern_set_addr:()=>cg,mixbot_addr_extern:()=>pg,robot_led_extern:()=>lg,robot_led_extern_get_value:()=>dg,robot_motor_extern:()=>ag,robot_motor_extern_get_speed:()=>ug,robot_servo_extern_absolute_run:()=>Mg,robot_servo_extern_get_status:()=>Ig,robot_servo_extern_relative_continue:()=>Eg,robot_servo_extern_relative_origin:()=>mg,robot_servo_extern_relative_run:()=>Og,robot_servo_extern_stop:()=>hg,robot_servo_extern_stop_mode:()=>Tg,robot_traffic_light_extern:()=>rg,servo_get_angle:()=>xc,servo_get_speed:()=>Xc,servo_init:()=>Fc,servo_move:()=>Jc,servo_set_angle:()=>vc,servo_set_speed:()=>Yc,servo_speed_360:()=>Pc,syn6288_builtin_voice:()=>og,syn6288_get_voice:()=>sg,syn6288_set_voice:()=>ng,syn6288_tts_play:()=>_g});var W={};t.r(W),t.d(W,{actuator_dc_motor:()=>zg,actuator_dc_motor_stop:()=>qg,actuator_get_led_bright:()=>vg,actuator_get_led_state:()=>Yg,actuator_led_bright:()=>Pg,actuator_led_brightness:()=>xg,actuator_mixbot_buzzer_on_off:()=>eC,actuator_mixgo_nova_mic_get:()=>_C,actuator_mixgo_nova_mic_set:()=>oC,actuator_mixgo_nova_onboard_music_pitch:()=>dC,actuator_mixgo_nova_onboard_music_stop:()=>IC,actuator_mixgo_nova_play_audio:()=>rC,actuator_mixgo_nova_play_online_audio:()=>lC,actuator_mixgo_nova_record_audio:()=>uC,actuator_mixgo_nova_voice_get:()=>aC,actuator_mixgo_nova_voice_set:()=>pC,actuator_mixgo_zero_led_color:()=>Xg,actuator_onboard_neopixel_rgb:()=>wg,actuator_onboard_neopixel_rgb_all:()=>kg,actuator_onboard_neopixel_rgb_show_all_chase:()=>Hg,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>Wg,actuator_onboard_neopixel_write:()=>Ug,actuator_stepper_keep:()=>Jg,actuator_stepper_stop:()=>Qg,bitbot_motor:()=>sC,bitbot_move:()=>iC,bitbot_stop:()=>nC,cc_number:()=>bg,esp32_music_get_tempo:()=>Cg,esp32_music_reset:()=>Dg,esp32_music_set_tempo:()=>gg,esp32_onboard_music_pitch:()=>Sg,esp32_onboard_music_pitch_with_time:()=>Ag,esp32_onboard_music_play_list:()=>Ng,esp32_onboard_music_stop:()=>Lg,get_power_output:()=>hC,ledswitch:()=>Fg,mixbot_motor:()=>tC,mixbot_motor_status:()=>jg,mixbot_move:()=>Zg,mixbot_stop:()=>$g,number:()=>fg,rm_actuator_get_led_bright:()=>Vg,rm_actuator_get_led_state:()=>Bg,rm_actuator_led_bright:()=>yg,rm_actuator_led_brightness:()=>Gg,rm_motor:()=>Kg,set_all_power_output:()=>MC,set_power_output:()=>TC});var K={};t.r(K),t.d(K,{ai_sensor_20object:()=>zC,ai_sensor_ailocal_class:()=>VC,ai_sensor_ailocal_class_result:()=>BC,ai_sensor_ailocal_train:()=>yC,ai_sensor_asr_recognize:()=>HC,ai_sensor_audio_play:()=>UC,ai_sensor_audio_record:()=>GC,ai_sensor_barcode:()=>CC,ai_sensor_circle:()=>fC,ai_sensor_classifier_faces:()=>QC,ai_sensor_color:()=>YC,ai_sensor_color_chases:()=>bC,ai_sensor_color_chases_result:()=>XC,ai_sensor_config:()=>EC,ai_sensor_face:()=>JC,ai_sensor_find_20objects:()=>qC,ai_sensor_find_barcodes:()=>SC,ai_sensor_find_circles:()=>FC,ai_sensor_find_colors:()=>xC,ai_sensor_find_licenseplates:()=>KC,ai_sensor_find_lines:()=>DC,ai_sensor_find_qrcodes:()=>gC,ai_sensor_find_rects:()=>vC,ai_sensor_find_tags:()=>LC,ai_sensor_licenseplate:()=>WC,ai_sensor_line:()=>NC,ai_sensor_qrcode:()=>cC,ai_sensor_qrcode_lite:()=>OC,ai_sensor_rect:()=>PC,ai_sensor_rgb:()=>RC,ai_sensor_tag:()=>AC,ai_sensor_use_uart_init:()=>mC,ai_sensor_yolo_recognize:()=>wC,ai_sensor_yolo_recognize_result:()=>kC});var J={};t.r(J),t.d(J,{MICROPYTHON_AI_Speech_asr:()=>$C,MICROPYTHON_AI_Speech_unit:()=>ZC,MICROPYTHON_AI_client:()=>jC});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>lS,mpython_blynk_app_notify:()=>_S,mpython_blynk_email:()=>dS,mpython_blynk_get_timers:()=>aS,mpython_blynk_on_connected:()=>nS,mpython_blynk_on_disconnected:()=>iS,mpython_blynk_run:()=>oS,mpython_blynk_sensor_data_to_app:()=>rS,mpython_blynk_set_property:()=>IS,mpython_blynk_setup:()=>TS,mpython_blynk_stop_timers:()=>pS,mpython_blynk_sync_virtual:()=>eS,mpython_blynk_terminal_widget_vpin:()=>tS,mpython_blynktimer:()=>uS,mpython_blynktimer_run:()=>sS});var z={};t.r(z),t.d(z,{communicate_bluetooth_central_init:()=>zS,communicate_bluetooth_connect:()=>ZS,communicate_bluetooth_disconnect:()=>$S,communicate_bluetooth_handle:()=>oA,communicate_bluetooth_is_connected:()=>eA,communicate_bluetooth_mac:()=>tA,communicate_bluetooth_peripheral_init:()=>qS,communicate_bluetooth_recv:()=>sA,communicate_bluetooth_recv_only:()=>nA,communicate_bluetooth_scan:()=>jS,communicate_bluetooth_send:()=>iA,communicate_espnow_init:()=>_A,communicate_espnow_init_new:()=>pA,communicate_i2c_available:()=>gS,communicate_i2c_init:()=>mS,communicate_i2c_master_read:()=>cS,communicate_i2c_onboard:()=>hS,communicate_i2c_read:()=>OS,communicate_i2c_scan:()=>RS,communicate_i2c_write:()=>ES,communicate_ir_recv_init:()=>BS,communicate_ir_send_init:()=>HS,communicate_ow_init:()=>YS,communicate_ow_read:()=>bS,communicate_ow_reset:()=>XS,communicate_ow_scan:()=>xS,communicate_ow_select:()=>VS,communicate_ow_write:()=>yS,communicate_spi_buffer:()=>LS,communicate_spi_init:()=>SS,communicate_spi_onboard:()=>MS,communicate_spi_read:()=>NS,communicate_spi_read_output:()=>DS,communicate_spi_readinto:()=>fS,communicate_spi_readinto_output:()=>FS,communicate_spi_set:()=>AS,communicate_spi_write:()=>PS,communicate_spi_write_readinto:()=>vS,espnow_radio_channel:()=>IA,espnow_radio_channel_new:()=>hA,espnow_radio_on_off:()=>MA,espnow_radio_rec:()=>OA,espnow_radio_recv:()=>RA,espnow_radio_recv_certain_msg:()=>cA,espnow_radio_recv_certain_msg_new:()=>CA,espnow_radio_recv_msg:()=>EA,espnow_radio_recv_new:()=>gA,espnow_radio_send:()=>mA,espnow_radio_txpower:()=>TA,i2c_slave_onreceive:()=>CS,internal_variable:()=>GS,ir_recv_timeout:()=>kS,ir_transmit_busy:()=>QS,ir_transmit_conventional_data:()=>WS,ir_transmit_raw_code:()=>JS,ir_transmit_study_code:()=>KS,ir_whether_recv:()=>wS,lora_init:()=>SA,lora_packet:()=>AA,lora_recv:()=>NA,lora_send:()=>LA,network_espnow_info:()=>uA,network_espnow_mac:()=>aA,network_espnow_recv:()=>rA,network_espnow_recv_handle:()=>dA,network_espnow_send:()=>lA,recv_fun:()=>US,urequests_attribute:()=>fA,urequests_get:()=>DA,urequests_method:()=>FA});var q={};t.r(q),t.d(q,{display_animate:()=>eL,display_circle:()=>iL,display_color_seclet:()=>IL,display_draw_4strings:()=>QA,display_fill:()=>tL,display_lcd_use_i2c_init:()=>EL,display_line:()=>jA,display_line_arbitrarily:()=>zA,display_matrix_extern_bright_point:()=>UA,display_matrix_extern_bright_screen:()=>kA,display_matrix_extern_clear:()=>VA,display_matrix_extern_get_pixel:()=>GA,display_matrix_extern_get_screen_pixel:()=>wA,display_matrix_extern_image_builtins:()=>HA,display_matrix_extern_scroll_string:()=>bA,display_matrix_extern_scroll_string_delay:()=>yA,display_matrix_extern_shift:()=>BA,display_matrix_extern_show_frame_string:()=>xA,display_matrix_extern_show_frame_string_delay:()=>XA,display_matrix_extern_show_image:()=>vA,display_matrix_extern_show_image_or_string_delay:()=>YA,display_matrix_use_i2c_init:()=>PA,display_oled_drawPixel:()=>oL,display_oled_showBitmap:()=>sL,display_oled_use_i2c_init:()=>SL,display_onoff:()=>ZA,display_rect:()=>qA,display_tm1650_power:()=>pL,display_tm1650_set_brightness:()=>rL,display_tm1650_show_dot:()=>uL,display_tm1650_show_num:()=>aL,display_tm_use_i2c_init:()=>_L,display_triangle:()=>nL,display_use_i2c_init:()=>JA,extern_oled_bright_point:()=>bL,extern_oled_clear:()=>YL,extern_oled_get_pixel:()=>XL,extern_oled_hvline:()=>VL,extern_oled_line:()=>BL,extern_oled_scroll_string:()=>PL,extern_oled_scroll_string_delay:()=>vL,extern_oled_shape_rect:()=>yL,extern_oled_shift:()=>xL,extern_oled_show_frame_string:()=>fL,extern_oled_show_frame_string_delay:()=>FL,extern_oled_show_image:()=>AL,extern_oled_show_image_or_string_delay:()=>DL,extern_oled_show_image_xy:()=>LL,extern_oled_show_string:()=>NL,image_shift:()=>$A,lcd_backlight:()=>gL,lcd_clear:()=>CL,lcd_print_string:()=>cL,lcd_show_image_or_string_delay:()=>RL,matrix_extern_image_arithmetic:()=>WA,matrix_extern_image_invert:()=>KA,tft_fill:()=>mL,tft_line_arbitrarily:()=>OL,tft_scroll_string_delay:()=>ML,tft_show_frame_string_delay:()=>hL,tft_show_image_or_string_delay:()=>TL,tft_show_image_xy:()=>dL,tft_use_spi_init:()=>lL});var j={};t.r(j),t.d(j,{bitbot_display_image_create:()=>CN,display_bright_point:()=>tN,display_bright_screen:()=>iN,display_clear:()=>zL,display_get_pixel:()=>$L,display_get_screen_pixel:()=>eN,display_image_builtins:()=>KL,display_image_builtins_all:()=>JL,display_image_create:()=>QL,display_scroll_string:()=>HL,display_scroll_string_delay:()=>WL,display_shift:()=>ZL,display_show_frame_string:()=>wL,display_show_frame_string_delay:()=>kL,display_show_image:()=>GL,display_show_image_or_string_delay:()=>UL,image_arithmetic:()=>qL,image_invert:()=>jL,mixbot_display_bright_screen:()=>cN,mixbot_display_get_ambientbright:()=>RN,mixbot_display_get_screen_pixel:()=>EN,mixbot_display_image_create:()=>ON,mixbot_display_rotate:()=>gN,mixgo_display_image_create_new:()=>_N,mixgome_display_font:()=>oN,mixgome_display_image_create:()=>nN,mixgomini_display_image_create:()=>sN,mpython_display_hvline:()=>MN,mpython_display_line:()=>mN,mpython_display_shape_rect:()=>hN,mpython_pbm_image:()=>pN,onboard_oled_bright_point:()=>TN,onboard_oled_scroll_string_delay:()=>IN,onboard_oled_show_frame_string_delay:()=>dN,onboard_oled_show_image:()=>aN,onboard_oled_show_image_or_string_delay:()=>lN,onboard_oled_show_image_xy:()=>uN,onboard_oled_show_string:()=>rN,onboard_tft_bright_point:()=>yN,onboard_tft_bright_screen:()=>BN,onboard_tft_clear:()=>xN,onboard_tft_clock_clear:()=>WN,onboard_tft_clock_draw:()=>HN,onboard_tft_clock_get_rtctime:()=>wN,onboard_tft_clock_init:()=>UN,onboard_tft_clock_set_time:()=>kN,onboard_tft_display_hvline:()=>vN,onboard_tft_display_line:()=>YN,onboard_tft_display_shape_circle:()=>KN,onboard_tft_display_shape_rect:()=>PN,onboard_tft_fill:()=>GN,onboard_tft_get_pixel:()=>bN,onboard_tft_get_screen_pixel:()=>VN,onboard_tft_scroll_string:()=>fN,onboard_tft_scroll_string_delay:()=>FN,onboard_tft_shift:()=>XN,onboard_tft_show_frame_string:()=>NN,onboard_tft_show_frame_string_delay:()=>DN,onboard_tft_show_image:()=>SN,onboard_tft_show_image_or_string_delay:()=>LN,onboard_tft_show_image_xy:()=>AN});var Z={};t.r(Z),t.d(Z,{factory_block:()=>tD,factory_block_return:()=>eD,factory_block_return_with_textarea:()=>nD,factory_block_with_textarea:()=>iD,factory_callMethod_noreturn:()=>ZN,factory_callMethod_return:()=>$N,factory_declare:()=>jN,factory_from_import:()=>JN,factory_function_noreturn:()=>zN,factory_function_return:()=>qN,factory_import:()=>QN,folding_block:()=>sD});var $={};t.r($),t.d($,{inout_analog_atten:()=>ED,inout_analog_read:()=>dD,inout_analog_read_init:()=>OD,inout_analog_write:()=>uD,inout_analog_write_init:()=>mD,inout_analog_write_set:()=>rD,inout_digital_init:()=>hD,inout_digital_read:()=>pD,inout_digital_write:()=>_D,inout_highlow:()=>oD,inout_pin_attachInterrupt:()=>TD,inout_pin_pressed:()=>ID,inout_pin_pressed_init:()=>RD,inout_pwm_analog_write:()=>aD,inout_pwm_analog_write_init:()=>MD,inout_pwm_analog_write_set_freq:()=>lD});var tt={};t.r(tt),t.d(tt,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>BD,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>yD,IOT_EMQX_PING:()=>GD,IOT_FORMATTING:()=>XD,IOT_FORMAT_STRING:()=>bD,IOT_MIXIO_NTP:()=>UD,IOT_MIXIO_PUBLISH:()=>DD,IOT_MIXIO_SUBSCRIBE:()=>fD,iot_client_onboard:()=>wD,iot_http_client:()=>kD,iot_http_data:()=>HD,iot_mixio_check:()=>vD,iot_mixio_connect:()=>ND,iot_mixio_connect_only:()=>PD,iot_mixio_disconnect:()=>FD,iot_mixio_format_msg:()=>xD,iot_mixio_format_topic:()=>YD,iot_mixly_key:()=>VD,iot_mqtt_client:()=>WD,iot_mqtt_data:()=>KD,iot_onenet_check:()=>AD,iot_onenet_connect:()=>gD,iot_onenet_disconnect:()=>CD,iot_onenet_publish:()=>LD,iot_onenet_publish_dict:()=>SD,iot_wifi_connect:()=>cD});var et={};t.r(et),t.d(et,{network_ap_connect:()=>ef,network_connect:()=>QD,network_get_connect:()=>qD,network_get_wifi:()=>tf,network_init:()=>JD,network_is_active:()=>$D,network_open:()=>ZD,network_scan:()=>nf,network_server:()=>sf,network_socket_accept:()=>uf,network_socket_bind:()=>_f,network_socket_close:()=>Tf,network_socket_connect:()=>pf,network_socket_init:()=>of,network_socket_listen:()=>af,network_socket_receive:()=>rf,network_socket_receive_from:()=>df,network_socket_send:()=>lf,network_socket_send_to:()=>If,network_stop:()=>jD,network_wifi_connect:()=>zD,ntptime_address:()=>Ef,ntptime_time:()=>Of,requests_attribute:()=>Mf,requests_get:()=>hf,requests_method:()=>mf});var it={};t.r(it),t.d(it,{HCSR04:()=>aF,PS2_Button:()=>lF,PS2_Buttons:()=>dF,PS2_Buttons_new:()=>RF,PS2_State:()=>IF,PS2_init:()=>uF,PS2_init_new:()=>OF,PS2_stk:()=>TF,PS2_stk_new:()=>cF,PS2_vibration:()=>rF,PS2_vibration_new:()=>EF,RTC_get_time:()=>MF,RTC_set_date:()=>Nf,RTC_set_datetime:()=>hF,RTC_set_time:()=>Lf,esp32_s2_weather_init:()=>sF,esp32_s2_weather_rain:()=>_F,esp32_s2_weather_wd:()=>oF,esp32_s2_weather_ws:()=>pF,extern_rfid_read:()=>Kf,extern_rfid_readcontent:()=>Qf,extern_rfid_readid:()=>Jf,extern_rfid_status:()=>jf,extern_rfid_write:()=>zf,extern_rfid_write_return:()=>qf,gnss_get_data:()=>SF,gnss_have_data:()=>AF,mixbot_sensor_extern_get_addr:()=>xF,mixbot_sensor_extern_set_addr:()=>XF,pm25_get_data:()=>CF,robot_button_extern_get_value:()=>LF,robot_color_extern_get_value:()=>PF,robot_infrared_extern_get_value:()=>DF,robot_infrared_extern_grey_get_value:()=>fF,robot_potentiometer_extern_get_value:()=>FF,robot_sonar_extern_get_value:()=>vF,robot_sonar_extern_led:()=>YF,robot_touch_extern_get_value:()=>NF,sensor_APDS9960_extern:()=>bf,sensor_LTR308_extern:()=>yf,sensor_LTR390UV_extern:()=>Gf,sensor_MAX30102_extern:()=>Xf,sensor_QMC5883L_extern:()=>Uf,sensor_VL530LX_extern:()=>Hf,sensor_aht11_extern:()=>kf,sensor_bmp:()=>vf,sensor_dht11:()=>mF,sensor_distance_hrsc04:()=>Af,sensor_hp203_extern:()=>Vf,sensor_ltr381_extern:()=>Bf,sensor_mixgo_extern_button_attachInterrupt:()=>Cf,sensor_mixgo_extern_button_get_presses:()=>gf,sensor_mixgo_extern_button_is_pressed:()=>Rf,sensor_mixgo_extern_button_was_pressed:()=>cf,sensor_mixgo_extern_light:()=>Df,sensor_mixgo_extern_pin_near:()=>Ff,sensor_mixgo_extern_sound:()=>ff,sensor_mixgoce_hot_wheel_degrees:()=>nF,sensor_mixgoce_hot_wheel_is_touched:()=>iF,sensor_mpu9250_attachGestureInterrupt:()=>Sf,sensor_rtc_init:()=>Pf,sensor_sht:()=>Yf,sensor_shtc3_extern:()=>wf,sensor_use_i2c_init:()=>xf,sensor_use_spi_init:()=>Wf,sensor_use_uart_init:()=>gF,sensor_weather_solo_init:()=>bF,sensor_weather_solo_rain:()=>BF,sensor_weather_solo_wd:()=>yF,sensor_weather_solo_ws:()=>VF,weather_data:()=>Zf,weather_have_data:()=>$f,weather_set_label:()=>eF,weather_uart_mixio:()=>tF});var nt={};t.r(nt),t.d(nt,{HCSR04:()=>QF,bitbot_als_num:()=>dv,dht11:()=>Rv,number1:()=>zF,number2:()=>qF,number3:()=>jF,number4:()=>ZF,number5:()=>$F,number6:()=>tP,number7:()=>eP,onboard_RTC_get_time:()=>HP,onboard_RTC_get_timestamp:()=>WP,onboard_RTC_set_datetime:()=>wP,onboard_RTC_settime_string:()=>kP,onboard_RTC_timestamp_totuple:()=>KP,rfid_readcontent:()=>MP,rfid_readid:()=>hP,rfid_write:()=>mP,rfid_write_return:()=>OP,sensor_LTR308:()=>rP,sensor_adxl345_get_acceleration:()=>NP,sensor_aht11:()=>IP,sensor_bitbot_ALS:()=>lv,sensor_button_get_presses:()=>hv,sensor_button_is_pressed:()=>Iv,sensor_button_was_pressed:()=>Tv,sensor_compass_reset:()=>YP,sensor_ds18x20:()=>aP,sensor_eulerangles:()=>RP,sensor_get_acceleration:()=>EP,sensor_get_temperature:()=>TP,sensor_hp203:()=>dP,sensor_light:()=>Ev,sensor_lm35:()=>uP,sensor_mixbot_get_gyro:()=>rv,sensor_mixbot_patrol_calibrate:()=>pv,sensor_mixbot_patrol_value:()=>av,sensor_mixbot_temperature:()=>uv,sensor_mixgo_LTR308:()=>_P,sensor_mixgo_button_attachInterrupt:()=>kF,sensor_mixgo_button_get_presses:()=>wF,sensor_mixgo_button_is_pressed:()=>GF,sensor_mixgo_button_was_pressed:()=>UF,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>zP,sensor_mixgo_cc_mmc5603_get_angle:()=>QP,sensor_mixgo_cc_mmc5603_get_magnetic:()=>JP,sensor_mixgo_light:()=>Ov,sensor_mixgo_nova_LTR308:()=>pP,sensor_mixgo_nova_pin_near:()=>oP,sensor_mixgo_pin_near:()=>sP,sensor_mixgo_pin_near_double:()=>nP,sensor_mixgo_pin_near_single:()=>iP,sensor_mixgo_pin_pressed:()=>AP,sensor_mixgo_touch_slide:()=>SP,sensor_mixgocar42_button_attachInterrupt:()=>JF,sensor_mixgocar42_button_get_presses:()=>KF,sensor_mixgocar42_button_is_pressed:()=>HF,sensor_mixgocar42_button_was_pressed:()=>WF,sensor_mixgocar_battery_left:()=>_v,sensor_mixgocar_pin_near:()=>sv,sensor_mixgocar_pin_near_line:()=>nv,sensor_mixgocar_pin_near_state_change:()=>ov,sensor_mixgoce_pin_pressed:()=>CP,sensor_mixgoce_temperature:()=>jP,sensor_mixgome_temperature:()=>qP,sensor_mpu9250_calibrate_compass:()=>FP,sensor_mpu9250_field_strength:()=>vP,sensor_mpu9250_gesture:()=>cP,sensor_mpu9250_get_acceleration:()=>gP,sensor_mpu9250_get_gyro:()=>fP,sensor_mpu9250_get_magnetic:()=>DP,sensor_mpu9250_temperature:()=>PP,sensor_mpython_pin_pressed:()=>LP,sensor_mpython_qmi8658_get_gyro:()=>ZP,sensor_mpython_qmi8658_temperature:()=>$P,sensor_onboard_compass_reset:()=>UP,sensor_onboard_mpu9250_calibrate_compass:()=>VP,sensor_onboard_mpu9250_field_strength:()=>GP,sensor_onboard_mpu9250_gesture:()=>xP,sensor_onboard_mpu9250_get_acceleration:()=>XP,sensor_onboard_mpu9250_get_gyro:()=>yP,sensor_onboard_mpu9250_get_magnetic:()=>bP,sensor_onboard_mpu9250_temperature:()=>BP,sensor_pin_near:()=>mv,sensor_pin_pressed:()=>Mv,sensor_rm_acc:()=>iv,sensor_rm_battery_left:()=>ev,sensor_rm_pin_near_double:()=>tv,sensor_sound:()=>lP});var st={};t.r(st),t.d(st,{serial_any:()=>Av,serial_print:()=>cv,serial_print_byte:()=>gv,serial_print_hex:()=>Sv,serial_println:()=>Cv,serial_read_from_ai:()=>bv,serial_readline:()=>Nv,serial_readstr:()=>Lv,serial_send_to_ai:()=>Xv,serial_softserial:()=>Dv,serial_softserial_new:()=>fv,system_input:()=>Fv,system_print:()=>Pv,system_print_end:()=>Yv,system_print_inline:()=>vv,system_print_many:()=>xv});var ot={};t.r(ot),t.d(ot,{Panic_with_status_code:()=>Qv,Timer_init:()=>uY,base_delay:()=>dY,controls_delay:()=>$v,controls_delay_new:()=>tY,controls_end_program:()=>qv,controls_millis:()=>zv,controls_uname:()=>Zv,reset:()=>jv,system_bitbot_shutdown:()=>aY,system_device_name:()=>Kv,system_device_serial_number:()=>Jv,system_event_bus_source:()=>Hv,system_event_bus_value:()=>Wv,system_machine_reset:()=>pY,system_on_event:()=>Uv,system_raise_event:()=>Gv,system_reset:()=>Vv,system_run_in_background:()=>yv,system_ticks_diff:()=>nY,system_timer:()=>iY,system_timer_init:()=>sY,system_timestamp:()=>wv,system_value:()=>kv,system_wait:()=>Bv,system_wdt_feed:()=>_Y,system_wdt_init:()=>oY,time_ticks_diff:()=>lY,timer:()=>eY,timer2:()=>rY});var _t={};t.r(_t),t.d(_t,{WEATHER_DAILY:()=>TY,WEATHER_HOUR:()=>hY,WEATHER_NOW:()=>IY});var pt={};t.r(pt),t.d(pt,{analog_input:()=>NY,analog_output:()=>fY,espnow_channel:()=>SY,haskylens_model:()=>AY,i2c_A_pin:()=>FY,i2c_B_pin:()=>PY,pins_analog:()=>bY,pins_analog_pin:()=>yY,pins_axis:()=>$Y,pins_brightness:()=>tx,pins_builtinimg:()=>KY,pins_builtinimg_extern:()=>JY,pins_button:()=>GY,pins_dac:()=>VY,pins_dac_pin:()=>BY,pins_digital:()=>EY,pins_digital_dot:()=>ax,pins_digital_pin:()=>RY,pins_exlcdh:()=>jY,pins_exlcdv:()=>ZY,pins_imglist:()=>QY,pins_input_pin:()=>cY,pins_mpython_touch:()=>CY,pins_one_more:()=>px,pins_output_pin:()=>gY,pins_playlist:()=>zY,pins_playlist_extern:()=>qY,pins_pwm:()=>UY,pins_pwm_pin:()=>wY,pins_radio_datarate:()=>_x,pins_radio_power:()=>ox,pins_serial:()=>WY,pins_tone_notes:()=>sx,pins_touch:()=>HY,pins_touch_pin:()=>kY,pins_tts_bgmusic:()=>nx,pins_tts_builtin_music:()=>ix,pins_tts_voice:()=>ex,pwm_input:()=>LY,pwm_output:()=>DY,spi_A_pin:()=>vY,spi_B_pin:()=>YY,spi_C_pin:()=>xY,spi_D_pin:()=>XY});var at={};t.r(at),t.d(at,{espnow_channel:()=>Ox,haskylens_model:()=>Ex,pins_analog:()=>hx,pins_analog_pin:()=>Tx,pins_axis:()=>vx,pins_brightness:()=>Xx,pins_builtinimg:()=>Nx,pins_builtinimg_extern:()=>Dx,pins_button:()=>rx,pins_dac:()=>gx,pins_dac_pin:()=>cx,pins_digital:()=>ux,pins_digital_dot:()=>kx,pins_digital_pin:()=>lx,pins_exlcdh:()=>Yx,pins_exlcdv:()=>xx,pins_imglist:()=>fx,pins_input_pin:()=>dx,pins_interrupt:()=>Ax,pins_mpython_touch:()=>Rx,pins_one_more:()=>wx,pins_output_pin:()=>Ix,pins_playlist:()=>Fx,pins_playlist_extern:()=>Px,pins_pwm:()=>mx,pins_pwm_pin:()=>Mx,pins_radio_datarate:()=>Ux,pins_radio_power:()=>Gx,pins_serial:()=>Lx,pins_tone_notes:()=>Bx,pins_touch:()=>Sx,pins_touch_pin:()=>Cx,pins_tts_bgmusic:()=>Vx,pins_tts_builtin_music:()=>yx,pins_tts_voice:()=>bx});const ut=Blockly,rt=Mixly,lt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},dt=lt; +(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Rt,controls_typeLists:()=>ct,variables_change:()=>Ot,variables_get:()=>Mt,variables_global:()=>Et,variables_set:()=>mt});var i={};t.r(i),t.d(i,{base_setup:()=>St,controls_delay:()=>At,controls_end_program:()=>Lt,controls_except:()=>Bt,controls_finally:()=>Gt,controls_flow_statements:()=>vt,controls_for:()=>Yt,controls_forEach:()=>ft,controls_for_range:()=>xt,controls_if:()=>Nt,controls_if_else:()=>yt,controls_if_elseif:()=>Xt,controls_if_if:()=>bt,controls_lambda:()=>wt,controls_main:()=>Ct,controls_pass:()=>kt,controls_range:()=>Dt,controls_repeat_ext:()=>Ut,controls_thread:()=>Ht,controls_try:()=>Vt,controls_try_finally:()=>Pt,controls_whileUntil:()=>Ft,do_while:()=>Wt,garbage_collection:()=>Kt,get_mem_alloc:()=>Jt,get_mem_free:()=>Qt});var n={};t.r(n),t.d(n,{base_map:()=>he,math_arithmetic:()=>$t,math_bit:()=>ee,math_constant:()=>jt,math_constant_mp:()=>Zt,math_constrain:()=>ae,math_dec:()=>ne,math_indexer_number:()=>re,math_map:()=>ue,math_max_min:()=>oe,math_number:()=>qt,math_number_base_conversion:()=>_e,math_random:()=>pe,math_random_seed:()=>le,math_round:()=>de,math_selfcalcu:()=>te,math_to_int:()=>se,math_trig:()=>ie,text_to_number:()=>Ie,text_to_number_skulpt:()=>Te});var s={};t.r(s),t.d(s,{ascii_to_char:()=>ce,char_to_ascii:()=>ge,number_to_text:()=>Ce,os_system:()=>Qe,text:()=>me,text_capital:()=>ve,text_center:()=>Ye,text_char:()=>Ee,text_char_at:()=>Le,text_char_at2:()=>Ae,text_char_at3:()=>He,text_compareTo:()=>ke,text_compare_to:()=>Pe,text_create_with_container:()=>Ge,text_create_with_item:()=>Ue,text_encode:()=>Ke,text_equals_starts_ends:()=>Fe,text_eval:()=>Je,text_find:()=>xe,text_format:()=>Be,text_format_noreturn:()=>We,text_join:()=>Re,text_join_seq:()=>be,text_length:()=>Se,text_random_char:()=>Ne,text_replace:()=>Xe,text_split:()=>ye,text_strip:()=>Ve,text_substring:()=>fe,text_substring2:()=>De,text_substring3:()=>we,text_textarea:()=>Oe});var o={};t.r(o),t.d(o,{list_many_input:()=>mi,list_tolist:()=>Si,list_tolist2:()=>vi,list_trig:()=>Ti,lists_2d_get_col_row_data:()=>$e,lists_2d_get_data_with_col_row:()=>Ze,lists_append_extend:()=>oi,lists_change_to:()=>Mi,lists_change_to_general:()=>Ei,lists_clear:()=>ri,lists_create_with:()=>ti,lists_create_with2:()=>Ai,lists_create_with_container:()=>ii,lists_create_with_item:()=>ni,lists_create_with_noreturn:()=>Oi,lists_create_with_text:()=>ei,lists_create_with_text2:()=>Li,lists_del_general:()=>Ri,lists_find:()=>Ii,lists_getIndex3:()=>Ni,lists_getSublist3:()=>Di,lists_get_index:()=>qe,lists_get_random_item:()=>_i,lists_get_random_sublist:()=>pi,lists_get_sublist:()=>je,lists_insert_value:()=>ai,lists_insert_value2:()=>Fi,lists_pop:()=>di,lists_remove_at:()=>li,lists_remove_at2:()=>Pi,lists_reverse:()=>ui,lists_setIndex3:()=>fi,lists_set_index:()=>si,lists_sort:()=>hi,lists_zip:()=>ci,lists_zip_container:()=>gi,lists_zip_item:()=>Ci});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Qi,dicts_add_or_change:()=>Gi,dicts_clear:()=>ki,dicts_create_with:()=>xi,dicts_create_with_container:()=>bi,dicts_create_with_item:()=>Xi,dicts_create_with_noreturn:()=>ji,dicts_deldict:()=>Ji,dicts_delete:()=>Ui,dicts_get:()=>Vi,dicts_get_default:()=>Bi,dicts_items:()=>Hi,dicts_keys:()=>yi,dicts_length:()=>Ki,dicts_pop:()=>zi,dicts_setdefault:()=>qi,dicts_to_json:()=>$i,dicts_todict:()=>Zi,dicts_update:()=>wi,dicts_values:()=>Wi,json_to_dicts:()=>tn});var p={};t.r(p),t.d(p,{logic_boolean:()=>pn,logic_compare:()=>nn,logic_compare_continous:()=>sn,logic_is:()=>ln,logic_is_in:()=>rn,logic_negate:()=>_n,logic_null:()=>an,logic_operation:()=>on,logic_tobool:()=>dn,logic_true_or_false:()=>un});var a={};t.r(a),t.d(a,{sdcard_mount:()=>bn,sdcard_use_spi_init:()=>xn,storage_can_write_ornot:()=>cn,storage_change_dir:()=>vn,storage_close_file:()=>Cn,storage_delete_file:()=>An,storage_file_seek:()=>Dn,storage_file_tell:()=>Nn,storage_file_write:()=>mn,storage_fileopen:()=>Tn,storage_fileopen_new:()=>hn,storage_fileopen_new_encoding:()=>Mn,storage_get_a_line:()=>Rn,storage_get_contents:()=>En,storage_get_contents_without_para:()=>On,storage_get_current_dir:()=>fn,storage_get_file_size:()=>Ln,storage_get_filename:()=>gn,storage_is_file:()=>Yn,storage_list_all_files:()=>Sn,storage_make_dir:()=>Fn,storage_open_file_with_os:()=>In,storage_rename:()=>Pn});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>wn,procedures_callreturn:()=>kn,procedures_defnoreturn:()=>Vn,procedures_defreturn:()=>Bn,procedures_ifreturn:()=>Hn,procedures_mutatorarg:()=>Un,procedures_mutatorcontainer:()=>Gn,procedures_return:()=>Wn});var r={};t.r(r),t.d(r,{tuple_change_to:()=>ns,tuple_create_with:()=>Jn,tuple_create_with_container:()=>Qn,tuple_create_with_item:()=>zn,tuple_create_with_noreturn:()=>ps,tuple_create_with_text2:()=>qn,tuple_create_with_text_return:()=>jn,tuple_del:()=>ts,tuple_find:()=>ss,tuple_getIndex:()=>Zn,tuple_getSublist:()=>_s,tuple_get_random_item:()=>us,tuple_get_sublist:()=>as,tuple_join:()=>es,tuple_length:()=>$n,tuple_max:()=>is,tuple_totuple:()=>rs,tuple_trig:()=>os});var l={};t.r(l),t.d(l,{set_add_discard:()=>Rs,set_clear:()=>ms,set_create_with:()=>ds,set_create_with_container:()=>Is,set_create_with_item:()=>Ts,set_create_with_text_return:()=>Cs,set_length:()=>hs,set_operate:()=>Os,set_operate_update:()=>Es,set_pop:()=>Ms,set_sub:()=>cs,set_toset:()=>Ss,set_update:()=>gs});var d={};t.r(d),t.d(d,{html_content:()=>fs,html_content_more:()=>Fs,html_document:()=>Ls,html_form:()=>vs,html_head_body:()=>Ds,html_style:()=>Ps,html_style_color:()=>xs,html_style_content:()=>Ys,html_text:()=>bs,html_title:()=>Ns});var I={};t.r(I),t.d(I,{attribute_access:()=>zs,function_call:()=>Ks,function_call_container:()=>Js,function_call_item:()=>Qs,raw_block:()=>Vs,raw_empty:()=>Gs,raw_expression:()=>Bs,raw_table:()=>ys,text_comment:()=>Us,text_print_multiple:()=>ks,text_print_multiple_container:()=>Hs,text_print_multiple_item:()=>Ws,type_check:()=>ws});var T={};t.r(T),t.d(T,{controls_type:()=>to,controls_typeLists:()=>eo,variables_change:()=>Zs,variables_get:()=>qs,variables_global:()=>$s,variables_set:()=>js});var h={};t.r(h),t.d(h,{Panic_with_status_code:()=>lo,base_setup:()=>no,controls_delay:()=>ro,controls_flow_statements:()=>uo,controls_for:()=>_o,controls_forEach:()=>mo,controls_for_range:()=>po,controls_if:()=>so,controls_interrupts:()=>ho,controls_lambda:()=>Eo,controls_main:()=>io,controls_millis:()=>Io,controls_nointerrupts:()=>Mo,controls_pass:()=>co,controls_range:()=>Oo,controls_repeat:()=>Do,controls_repeat_ext:()=>So,controls_thread:()=>go,controls_try_finally:()=>oo,controls_whileUntil:()=>ao,do_while:()=>Co,garbage_collection:()=>Ao,get_mem_alloc:()=>Lo,get_mem_free:()=>No,reset:()=>To,time_sleep:()=>Ro});var M={};t.r(M),t.d(M,{base_map:()=>zo,math_arithmetic:()=>Yo,math_bit:()=>vo,math_constant:()=>Fo,math_constant_mp:()=>Po,math_constrain:()=>wo,math_dec:()=>yo,math_indexer_number:()=>Wo,math_map:()=>Uo,math_max_min:()=>Bo,math_number:()=>fo,math_number_base_conversion:()=>ko,math_random:()=>Go,math_random_seed:()=>Ho,math_round:()=>Ko,math_selfcalcu:()=>xo,math_single:()=>bo,math_to_int:()=>Vo,math_trig:()=>Xo,text_to_number:()=>Jo,text_to_number_skulpt:()=>Qo});var m={};t.r(m),t.d(m,{ascii_to_char:()=>t_,char_to_ascii:()=>e_,number_to_text:()=>i_,os_system:()=>A_,text:()=>qo,text_capital:()=>l_,text_center:()=>d_,text_char:()=>Zo,text_char_at:()=>o_,text_char_at2:()=>s_,text_char_at3:()=>g_,text_compareTo:()=>c_,text_compare_to:()=>a_,text_encode:()=>C_,text_equals_starts_ends:()=>p_,text_eval:()=>S_,text_find:()=>I_,text_format:()=>O_,text_format_noreturn:()=>E_,text_join:()=>$o,text_join_seq:()=>T_,text_length:()=>n_,text_random_char:()=>__,text_replace:()=>h_,text_split:()=>M_,text_strip:()=>m_,text_substring:()=>r_,text_substring2:()=>u_,text_substring3:()=>R_,text_textarea:()=>jo});var O={};t.r(O),t.d(O,{list_many_input:()=>W_,list_tolist:()=>np,list_tolist2:()=>sp,list_trig:()=>w_,lists_2d_get_col_row_data:()=>D_,lists_2d_get_data_with_col_row:()=>N_,lists_append_extend:()=>Y_,lists_change_to:()=>H_,lists_change_to_general:()=>J_,lists_clear:()=>V_,lists_create_with:()=>f_,lists_create_with2:()=>z_,lists_create_with_noreturn:()=>K_,lists_create_with_text:()=>F_,lists_create_with_text2:()=>q_,lists_del_general:()=>Q_,lists_find:()=>B_,lists_getIndex3:()=>j_,lists_getSublist3:()=>Z_,lists_get_index:()=>P_,lists_get_random_item:()=>x_,lists_get_random_sublist:()=>b_,lists_get_sublist:()=>L_,lists_insert_value:()=>X_,lists_insert_value2:()=>tp,lists_pop:()=>U_,lists_remove_at:()=>G_,lists_remove_at2:()=>ep,lists_reverse:()=>y_,lists_setIndex3:()=>$_,lists_set_index:()=>v_,lists_sort:()=>k_,lists_zip:()=>ip});var E={};t.r(E),t.d(E,{dicts_add_change_del:()=>mp,dicts_add_or_change:()=>up,dicts_clear:()=>dp,dicts_create_with:()=>op,dicts_create_with_noreturn:()=>Rp,dicts_deldict:()=>Mp,dicts_delete:()=>rp,dicts_get:()=>pp,dicts_get_default:()=>ap,dicts_items:()=>Ip,dicts_keys:()=>_p,dicts_length:()=>hp,dicts_pop:()=>Op,dicts_setdefault:()=>Ep,dicts_to_json:()=>gp,dicts_todict:()=>cp,dicts_update:()=>lp,dicts_values:()=>Tp,json_to_dicts:()=>Cp});var R={};t.r(R),t.d(R,{logic_boolean:()=>Dp,logic_compare:()=>Sp,logic_compare_continous:()=>Ap,logic_is:()=>vp,logic_is_in:()=>Pp,logic_negate:()=>Np,logic_null:()=>fp,logic_operation:()=>Lp,logic_tobool:()=>Yp,logic_true_or_false:()=>Fp});var c={};t.r(c),t.d(c,{sdcard_mount:()=>ia,sdcard_use_spi_init:()=>ea,storage_can_write_ornot:()=>wp,storage_change_dir:()=>qp,storage_close_file:()=>Hp,storage_delete_file:()=>Kp,storage_file_seek:()=>zp,storage_file_tell:()=>Qp,storage_file_write:()=>Vp,storage_fileopen:()=>bp,storage_fileopen_new:()=>Xp,storage_fileopen_new_encoding:()=>yp,storage_get_a_line:()=>Up,storage_get_contents:()=>Gp,storage_get_contents_without_para:()=>Bp,storage_get_current_dir:()=>jp,storage_get_file_size:()=>Jp,storage_get_filename:()=>kp,storage_is_file:()=>ta,storage_list_all_files:()=>Wp,storage_make_dir:()=>Zp,storage_open_file_with_os:()=>xp,storage_rename:()=>$p});var g={};t.r(g),t.d(g,{procedures_callnoreturn:()=>_a,procedures_callreturn:()=>oa,procedures_defnoreturn:()=>sa,procedures_defreturn:()=>na,procedures_ifreturn:()=>pa,procedures_return:()=>aa});var C={};t.r(C),t.d(C,{tuple_change_to:()=>ma,tuple_create_with:()=>ua,tuple_create_with_noreturn:()=>ca,tuple_create_with_text2:()=>ra,tuple_create_with_text_return:()=>la,tuple_del:()=>Ta,tuple_find:()=>Oa,tuple_getIndex:()=>da,tuple_getSublist:()=>Ra,tuple_get_random_item:()=>Ca,tuple_get_sublist:()=>ga,tuple_join:()=>ha,tuple_length:()=>Ia,tuple_max:()=>Ma,tuple_totuple:()=>Sa,tuple_trig:()=>Ea});var S={};t.r(S),t.d(S,{set_add_discard:()=>Pa,set_clear:()=>Da,set_create_with:()=>Aa,set_create_with_text_return:()=>xa,set_length:()=>La,set_operate:()=>fa,set_operate_update:()=>Fa,set_pop:()=>Na,set_sub:()=>va,set_toset:()=>ba,set_update:()=>Ya});var A={};t.r(A),t.d(A,{html_content:()=>Ba,html_content_more:()=>Ga,html_document:()=>Xa,html_form:()=>wa,html_head_body:()=>Va,html_style:()=>Ua,html_style_content:()=>ka,html_text:()=>Ha,html_title:()=>ya});var L={};t.r(L),t.d(L,{attribute_access:()=>ja,function_call:()=>qa,raw_block:()=>Wa,raw_empty:()=>Ja,raw_expression:()=>Ka,raw_table:()=>Qa,type_check:()=>za});var N={};t.r(N),t.d(N,{actuator_extern_get_led_bright:()=>uu,actuator_extern_get_led_state:()=>ru,actuator_extern_led_bright:()=>au,actuator_extern_led_brightness:()=>lu,actuator_ms32006_dcmotor:()=>Ru,actuator_ms32006_init:()=>Eu,actuator_ms32006_stepper:()=>cu,actuator_neopixel_init:()=>gu,actuator_neopixel_rgb:()=>Cu,actuator_neopixel_rgb_all:()=>Su,actuator_neopixel_write:()=>Au,actuator_use_uart_init:()=>Lu,esp32_music_get_tempo_extern:()=>ou,esp32_music_pitch:()=>eu,esp32_music_pitch_init:()=>tu,esp32_music_pitch_with_time:()=>iu,esp32_music_play_list:()=>nu,esp32_music_reset_extern:()=>_u,esp32_music_set_tempo_extern:()=>su,esp32_music_stop:()=>pu,mixbot_actuator_extern_get_addr:()=>Hu,mixbot_actuator_extern_set_addr:()=>Wu,mixbot_addr_extern:()=>Pu,robot_led_extern:()=>bu,robot_led_extern_get_value:()=>Xu,robot_motor_extern:()=>vu,robot_motor_extern_get_speed:()=>Yu,robot_servo_extern_absolute_run:()=>Gu,robot_servo_extern_get_status:()=>yu,robot_servo_extern_relative_continue:()=>ku,robot_servo_extern_relative_origin:()=>Uu,robot_servo_extern_relative_run:()=>wu,robot_servo_extern_stop:()=>Bu,robot_servo_extern_stop_mode:()=>Vu,robot_traffic_light_extern:()=>xu,servo_get_angle:()=>mu,servo_get_speed:()=>Ou,servo_init:()=>du,servo_move:()=>Iu,servo_set_angle:()=>hu,servo_set_speed:()=>Mu,servo_speed_360:()=>Tu,syn6288_builtin_voice:()=>fu,syn6288_get_voice:()=>Du,syn6288_set_voice:()=>Nu,syn6288_tts_play:()=>Fu});var D={};t.r(D),t.d(D,{actuator_dc_motor:()=>Cr,actuator_dc_motor_stop:()=>Sr,actuator_get_led_bright:()=>qu,actuator_get_led_state:()=>ju,actuator_led_bright:()=>zu,actuator_led_brightness:()=>Zu,actuator_mixbot_buzzer_on_off:()=>fr,actuator_mixgo_nova_mic_get:()=>xr,actuator_mixgo_nova_mic_set:()=>Yr,actuator_mixgo_nova_onboard_music_pitch:()=>Gr,actuator_mixgo_nova_onboard_music_stop:()=>Ur,actuator_mixgo_nova_play_audio:()=>Vr,actuator_mixgo_nova_play_online_audio:()=>Br,actuator_mixgo_nova_record_audio:()=>yr,actuator_mixgo_nova_voice_get:()=>Xr,actuator_mixgo_nova_voice_set:()=>br,actuator_mixgo_zero_led_color:()=>$u,actuator_onboard_neopixel_rgb:()=>or,actuator_onboard_neopixel_rgb_all:()=>_r,actuator_onboard_neopixel_rgb_show_all_chase:()=>ar,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>pr,actuator_onboard_neopixel_write:()=>ur,actuator_rm_onboard_neopixel_rgb:()=>rr,actuator_rm_onboard_neopixel_rgb_all:()=>lr,actuator_rm_onboard_neopixel_rgb_show_all_chase:()=>dr,actuator_stepper_keep:()=>cr,actuator_stepper_stop:()=>gr,bitbot_motor:()=>vr,bitbot_move:()=>Fr,bitbot_stop:()=>Pr,cc_number:()=>sr,esp32_music_get_tempo:()=>Tr,esp32_music_reset:()=>hr,esp32_music_set_tempo:()=>Ir,esp32_onboard_music_pitch:()=>Mr,esp32_onboard_music_pitch_with_time:()=>mr,esp32_onboard_music_play_list:()=>Er,esp32_onboard_music_stop:()=>Or,get_power_output:()=>kr,ledswitch:()=>Qu,mixbot_motor:()=>Dr,mixbot_motor_status:()=>Ar,mixbot_move:()=>Lr,mixbot_stop:()=>Nr,number:()=>Ju,rm_actuator_get_led_bright:()=>er,rm_actuator_get_led_state:()=>ir,rm_actuator_led_bright:()=>tr,rm_actuator_led_brightness:()=>nr,rm_motor:()=>Rr,set_all_power_output:()=>Hr,set_power_output:()=>wr});var f={};t.r(f),t.d(f,{ai_sensor_20object:()=>Sl,ai_sensor_ailocal_class:()=>Il,ai_sensor_ailocal_class_result:()=>Tl,ai_sensor_ailocal_train:()=>dl,ai_sensor_asr_recognize:()=>El,ai_sensor_audio_play:()=>Ml,ai_sensor_audio_record:()=>hl,ai_sensor_barcode:()=>Zr,ai_sensor_circle:()=>sl,ai_sensor_classifier_faces:()=>Cl,ai_sensor_color:()=>al,ai_sensor_color_chases:()=>ll,ai_sensor_color_chases_result:()=>rl,ai_sensor_config:()=>qr,ai_sensor_face:()=>gl,ai_sensor_find_20objects:()=>Al,ai_sensor_find_barcodes:()=>$r,ai_sensor_find_circles:()=>ol,ai_sensor_find_colors:()=>ul,ai_sensor_find_licenseplates:()=>cl,ai_sensor_find_lines:()=>nl,ai_sensor_find_qrcodes:()=>zr,ai_sensor_find_rects:()=>pl,ai_sensor_find_tags:()=>el,ai_sensor_licenseplate:()=>Rl,ai_sensor_line:()=>il,ai_sensor_qrcode:()=>Jr,ai_sensor_qrcode_lite:()=>Qr,ai_sensor_rect:()=>_l,ai_sensor_rgb:()=>jr,ai_sensor_tag:()=>tl,ai_sensor_use_uart_init:()=>Kr,ai_sensor_yolo_recognize:()=>ml,ai_sensor_yolo_recognize_result:()=>Ol});var F={};t.r(F),t.d(F,{MICROPYTHON_AI_Speech_asr:()=>Dl,MICROPYTHON_AI_Speech_unit:()=>Nl,MICROPYTHON_AI_client:()=>Ll});var P={};t.r(P),t.d(P,{mpython_blynk_app_data:()=>kl,mpython_blynk_app_notify:()=>Xl,mpython_blynk_email:()=>Bl,mpython_blynk_get_timers:()=>Gl,mpython_blynk_on_connected:()=>Yl,mpython_blynk_on_disconnected:()=>vl,mpython_blynk_run:()=>bl,mpython_blynk_sensor_data_to_app:()=>wl,mpython_blynk_set_property:()=>Vl,mpython_blynk_setup:()=>Hl,mpython_blynk_stop_timers:()=>yl,mpython_blynk_sync_virtual:()=>Pl,mpython_blynk_terminal_widget_vpin:()=>Fl,mpython_blynktimer:()=>Ul,mpython_blynktimer_run:()=>xl});var v={};t.r(v),t.d(v,{communicate_bluetooth_central_init:()=>Ld,communicate_bluetooth_connect:()=>Fd,communicate_bluetooth_disconnect:()=>Pd,communicate_bluetooth_handle:()=>Xd,communicate_bluetooth_is_connected:()=>Yd,communicate_bluetooth_mac:()=>fd,communicate_bluetooth_peripheral_init:()=>Nd,communicate_bluetooth_recv:()=>xd,communicate_bluetooth_recv_only:()=>bd,communicate_bluetooth_scan:()=>Dd,communicate_bluetooth_send:()=>vd,communicate_espnow_init:()=>yd,communicate_espnow_init_new:()=>Vd,communicate_i2c_available:()=>ad,communicate_i2c_init:()=>Ql,communicate_i2c_master_read:()=>pd,communicate_i2c_onboard:()=>Kl,communicate_i2c_read:()=>zl,communicate_i2c_scan:()=>jl,communicate_i2c_write:()=>ql,communicate_ir_recv_init:()=>Md,communicate_ir_send_init:()=>cd,communicate_ow_init:()=>rd,communicate_ow_read:()=>dd,communicate_ow_reset:()=>hd,communicate_ow_scan:()=>ld,communicate_ow_select:()=>Td,communicate_ow_write:()=>Id,communicate_spi_buffer:()=>td,communicate_spi_init:()=>Zl,communicate_spi_onboard:()=>Jl,communicate_spi_read:()=>ed,communicate_spi_read_output:()=>id,communicate_spi_readinto:()=>nd,communicate_spi_readinto_output:()=>sd,communicate_spi_set:()=>$l,communicate_spi_write:()=>od,communicate_spi_write_readinto:()=>_d,espnow_radio_channel:()=>Hd,espnow_radio_channel_new:()=>Kd,espnow_radio_on_off:()=>Jd,espnow_radio_rec:()=>zd,espnow_radio_recv:()=>jd,espnow_radio_recv_certain_msg:()=>Zd,espnow_radio_recv_certain_msg_new:()=>tI,espnow_radio_recv_msg:()=>qd,espnow_radio_recv_new:()=>$d,espnow_radio_send:()=>Qd,espnow_radio_txpower:()=>Wd,i2c_available:()=>gI,i2c_init:()=>aI,i2c_master_reader2:()=>cI,i2c_read:()=>uI,i2c_scan:()=>lI,i2c_slave_onreceive:()=>ud,i2c_write:()=>rI,internal_variable:()=>md,ir_recv_timeout:()=>Rd,ir_transmit_busy:()=>Ad,ir_transmit_conventional_data:()=>gd,ir_transmit_raw_code:()=>Sd,ir_transmit_study_code:()=>Cd,ir_whether_recv:()=>Ed,lora_init:()=>eI,lora_packet:()=>iI,lora_recv:()=>sI,lora_send:()=>nI,network_espnow_info:()=>Gd,network_espnow_mac:()=>Bd,network_espnow_recv:()=>Ud,network_espnow_recv_handle:()=>kd,network_espnow_send:()=>wd,recv_fun:()=>Od,spi_buffer:()=>TI,spi_init:()=>dI,spi_read:()=>hI,spi_read_output:()=>MI,spi_readinto:()=>mI,spi_readinto_output:()=>OI,spi_set:()=>II,spi_write:()=>EI,spi_write_readinto:()=>RI,urequests_attribute:()=>_I,urequests_get:()=>oI,urequests_method:()=>pI});var Y={};t.r(Y),t.d(Y,{display_animate:()=>ZI,display_blink_rate:()=>QI,display_circle:()=>$I,display_color_seclet:()=>lT,display_draw_4strings:()=>wI,display_fill:()=>jI,display_get_screen_image:()=>JI,display_help:()=>eT,display_image_size:()=>kI,display_lcd_use_i2c_init:()=>mT,display_line:()=>WI,display_line_arbitrarily:()=>KI,display_matrix_extern_bright_point:()=>xI,display_matrix_extern_bright_screen:()=>XI,display_matrix_extern_clear:()=>yI,display_matrix_extern_get_pixel:()=>YI,display_matrix_extern_get_screen_pixel:()=>bI,display_matrix_extern_image_builtins:()=>VI,display_matrix_extern_scroll_string:()=>DI,display_matrix_extern_scroll_string_delay:()=>fI,display_matrix_extern_shift:()=>vI,display_matrix_extern_show_frame_string:()=>FI,display_matrix_extern_show_frame_string_delay:()=>PI,display_matrix_extern_show_image:()=>LI,display_matrix_extern_show_image_or_string_delay:()=>NI,display_matrix_use_i2c_init:()=>AI,display_oled_drawPixel:()=>nT,display_oled_showBitmap:()=>iT,display_oled_use_i2c_init:()=>gT,display_onoff:()=>qI,display_rect:()=>HI,display_rgb_color:()=>zI,display_tm1650_power:()=>oT,display_tm1650_set_brightness:()=>aT,display_tm1650_show_dot:()=>pT,display_tm1650_show_num:()=>_T,display_tm_use_i2c_init:()=>sT,display_triangle:()=>tT,display_use_i2c_init:()=>UI,extern_oled_bright_point:()=>YT,extern_oled_clear:()=>xT,extern_oled_get_pixel:()=>vT,extern_oled_hvline:()=>XT,extern_oled_line:()=>yT,extern_oled_scroll_string:()=>NT,extern_oled_scroll_string_delay:()=>DT,extern_oled_shape_rect:()=>bT,extern_oled_shift:()=>PT,extern_oled_show_frame_string:()=>fT,extern_oled_show_frame_string_delay:()=>FT,extern_oled_show_image:()=>CT,extern_oled_show_image_or_string_delay:()=>LT,extern_oled_show_image_xy:()=>ST,extern_oled_show_string:()=>AT,lcd_backlight:()=>RT,lcd_clear:()=>cT,lcd_print_string:()=>ET,lcd_show_image_or_string_delay:()=>OT,matrix_extern_image_arithmetic:()=>BI,matrix_extern_image_invert:()=>GI,tft_fill:()=>hT,tft_line_arbitrarily:()=>MT,tft_scroll_string_delay:()=>IT,tft_show_frame_string_delay:()=>TT,tft_show_image_or_string_delay:()=>dT,tft_show_image_xy:()=>rT,tft_use_spi_init:()=>uT});var x={};t.r(x),t.d(x,{bitbot_display_image_create:()=>gh,display_bright_point:()=>ZT,display_bright_screen:()=>th,display_clear:()=>eh,display_get_pixel:()=>jT,display_get_screen_pixel:()=>$T,display_image_builtins:()=>KT,display_image_builtins_all:()=>JT,display_image_create:()=>WT,display_scroll_string:()=>UT,display_scroll_string_delay:()=>wT,display_shift:()=>qT,display_show_frame_string:()=>kT,display_show_frame_string_delay:()=>HT,display_show_image:()=>BT,display_show_image_or_string_delay:()=>GT,image_arithmetic:()=>QT,image_invert:()=>zT,mixbot_display_bright_screen:()=>Rh,mixbot_display_get_ambientbright:()=>Eh,mixbot_display_get_screen_pixel:()=>Oh,mixbot_display_image_create:()=>mh,mixbot_display_rotate:()=>ch,mixgo_display_image_create_new:()=>sh,mixgome_display_font:()=>oh,mixgome_display_image_create:()=>ih,mixgomini_display_image_create:()=>nh,mpython_display_hvline:()=>Th,mpython_display_line:()=>hh,mpython_display_shape_rect:()=>Ih,mpython_pbm_image:()=>Mh,onboard_oled_bright_point:()=>dh,onboard_oled_scroll_string_delay:()=>rh,onboard_oled_show_frame_string_delay:()=>lh,onboard_oled_show_image:()=>_h,onboard_oled_show_image_or_string_delay:()=>uh,onboard_oled_show_image_xy:()=>ph,onboard_oled_show_string:()=>ah,onboard_tft_bright_point:()=>bh,onboard_tft_bright_screen:()=>Vh,onboard_tft_clear:()=>Xh,onboard_tft_clock_clear:()=>Hh,onboard_tft_clock_draw:()=>kh,onboard_tft_clock_get_rtctime:()=>Uh,onboard_tft_clock_init:()=>Gh,onboard_tft_clock_set_time:()=>wh,onboard_tft_display_hvline:()=>Ph,onboard_tft_display_line:()=>vh,onboard_tft_display_shape_circle:()=>Wh,onboard_tft_display_shape_rect:()=>Fh,onboard_tft_fill:()=>Bh,onboard_tft_get_pixel:()=>xh,onboard_tft_get_screen_pixel:()=>yh,onboard_tft_scroll_string:()=>Lh,onboard_tft_scroll_string_delay:()=>Nh,onboard_tft_shift:()=>Yh,onboard_tft_show_frame_string:()=>Dh,onboard_tft_show_frame_string_delay:()=>fh,onboard_tft_show_image:()=>Ch,onboard_tft_show_image_or_string_delay:()=>Ah,onboard_tft_show_image_xy:()=>Sh});var b={};t.r(b),t.d(b,{factory_block:()=>iM,factory_block_return:()=>nM,factory_block_return_with_textarea:()=>oM,factory_block_with_textarea:()=>sM,factory_callMethod_noreturn:()=>tM,factory_callMethod_return:()=>eM,factory_create_with_container:()=>qh,factory_create_with_item:()=>jh,factory_declare:()=>$h,factory_from_import:()=>Jh,factory_function_noreturn:()=>zh,factory_function_return:()=>Zh,factory_import:()=>Qh,folding_block:()=>_M});var X={};t.r(X),t.d(X,{controls_pin_attachInterrupt:()=>DM,inout_analog_atten:()=>MM,inout_analog_read:()=>hM,inout_analog_read_init:()=>gM,inout_analog_write:()=>dM,inout_analog_write_init:()=>cM,inout_analog_write_set:()=>IM,inout_analog_write_set_freq:()=>AM,inout_digital_init:()=>EM,inout_digital_read:()=>rM,inout_digital_write:()=>uM,inout_highlow:()=>aM,inout_pinMode:()=>SM,inout_pin_attachInterrupt:()=>OM,inout_pin_pressed:()=>mM,inout_pin_pressed_init:()=>CM,inout_pwm_analog_write:()=>lM,inout_pwm_analog_write_init:()=>RM,inout_pwm_analog_write_set_freq:()=>TM,pin_pressed:()=>NM,pin_pressed_init:()=>LM});var y={};t.r(y),t.d(y,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>ZM,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>jM,IOT_EMQX_PING:()=>zM,IOT_FORMATTING:()=>JM,IOT_FORMAT_STRING:()=>QM,IOT_MIXIO_NTP:()=>qM,IOT_MIXIO_PUBLISH:()=>GM,IOT_MIXIO_SUBSCRIBE:()=>UM,iot_checkonenet:()=>am,iot_client_onboard:()=>tm,iot_create_with_item:()=>VM,iot_http_client:()=>em,iot_http_data:()=>im,iot_mixio_check:()=>HM,iot_mixio_connect:()=>BM,iot_mixio_connect_only:()=>kM,iot_mixio_disconnect:()=>wM,iot_mixio_format_msg:()=>KM,iot_mixio_format_topic:()=>WM,iot_mixly_key:()=>$M,iot_mqtt_client:()=>nm,iot_mqtt_data:()=>sm,iot_onenet_check:()=>YM,iot_onenet_connect:()=>PM,iot_onenet_disconnect:()=>vM,iot_onenet_publish:()=>bM,iot_onenet_publish_dict:()=>xM,iot_onenetconnect:()=>_m,iot_onenetdisconnect:()=>pm,iot_publish:()=>um,iot_publish_container:()=>XM,iot_publish_item:()=>yM,iot_wifi_connect:()=>FM,iot_wificonnect:()=>om});var V={};t.r(V),t.d(V,{network_ap_connect:()=>Rm,network_connect:()=>hm,network_get_connect:()=>mm,network_get_wifi:()=>Em,network_init:()=>lm,network_is_active:()=>Im,network_open:()=>dm,network_scan:()=>Tm,network_server:()=>cm,network_socket_accept:()=>Lm,network_socket_bind:()=>Cm,network_socket_close:()=>Pm,network_socket_connect:()=>Sm,network_socket_init:()=>gm,network_socket_listen:()=>Am,network_socket_receive:()=>Nm,network_socket_receive_from:()=>fm,network_socket_send:()=>Dm,network_socket_send_to:()=>Fm,network_stop:()=>Om,network_wifi_connect:()=>Mm,ntptime_address:()=>Xm,ntptime_time:()=>bm,requests_attribute:()=>Ym,requests_get:()=>vm,requests_method:()=>xm});var B={};t.r(B),t.d(B,{HCSR04:()=>yO,PS2_Button:()=>UO,PS2_Buttons:()=>kO,PS2_Buttons_new:()=>JO,PS2_State:()=>wO,PS2_init:()=>VO,PS2_init_new:()=>WO,PS2_stk:()=>HO,PS2_stk_new:()=>QO,PS2_vibration:()=>GO,PS2_vibration_new:()=>KO,esp32_s2_weather_init:()=>YO,esp32_s2_weather_rain:()=>bO,esp32_s2_weather_wd:()=>xO,esp32_s2_weather_ws:()=>XO,extern_rfid_read:()=>EO,extern_rfid_readcontent:()=>cO,extern_rfid_readid:()=>RO,extern_rfid_status:()=>SO,extern_rfid_write:()=>gO,extern_rfid_write_return:()=>CO,gnss_get_data:()=>ZO,gnss_have_data:()=>jO,mixbot_sensor_extern_get_addr:()=>oE,mixbot_sensor_extern_set_addr:()=>_E,pm25_get_data:()=>qO,robot_button_extern_get_value:()=>$O,robot_color_extern_get_value:()=>sE,robot_infrared_extern_get_value:()=>eE,robot_infrared_extern_grey_get_value:()=>iE,robot_potentiometer_extern_get_value:()=>nE,robot_sonar_extern_get_value:()=>pE,robot_sonar_extern_led:()=>aE,robot_touch_extern_get_value:()=>tE,sensor_APDS9960_extern:()=>eO,sensor_LTR308_extern:()=>iO,sensor_LTR390UV_extern:()=>sO,sensor_MAX30102_extern:()=>tO,sensor_QMC5883L_extern:()=>uO,sensor_VL530LX_extern:()=>oO,sensor_adxl345_get_acceleration:()=>km,sensor_aht11_extern:()=>pO,sensor_bmp:()=>zm,sensor_compass_reset:()=>mO,sensor_dht11:()=>Wm,sensor_ds18x20:()=>jm,sensor_hp203_extern:()=>aO,sensor_light_level:()=>Hm,sensor_lm35:()=>Zm,sensor_ltr381_extern:()=>nO,sensor_mixgo_extern_button_attachInterrupt:()=>Um,sensor_mixgo_extern_button_get_presses:()=>Gm,sensor_mixgo_extern_button_is_pressed:()=>Vm,sensor_mixgo_extern_button_was_pressed:()=>Bm,sensor_mixgo_extern_light:()=>Km,sensor_mixgo_extern_pin_near:()=>Qm,sensor_mixgo_extern_sound:()=>Jm,sensor_mixgoce_hot_wheel_degrees:()=>vO,sensor_mixgoce_hot_wheel_is_touched:()=>PO,sensor_mpu9250_attachGestureInterrupt:()=>wm,sensor_mpu9250_calibrate_compass:()=>TO,sensor_mpu9250_field_strength:()=>MO,sensor_mpu9250_gesture:()=>rO,sensor_mpu9250_get_acceleration:()=>lO,sensor_mpu9250_get_gyro:()=>IO,sensor_mpu9250_get_magnetic:()=>dO,sensor_mpu9250_temperature:()=>hO,sensor_sht:()=>qm,sensor_shtc3_extern:()=>_O,sensor_use_i2c_init:()=>$m,sensor_use_spi_init:()=>OO,sensor_use_uart_init:()=>zO,sensor_weather_solo_init:()=>uE,sensor_weather_solo_rain:()=>dE,sensor_weather_solo_wd:()=>rE,sensor_weather_solo_ws:()=>lE,weather_data:()=>AO,weather_have_data:()=>LO,weather_set_label:()=>DO,weather_set_label_container:()=>fO,weather_set_label_item:()=>FO,weather_uart_mixio:()=>NO});var G={};t.r(G),t.d(G,{HCSR04:()=>fE,RTC_set_date:()=>DE,RTC_set_time:()=>NE,bitbot_als_num:()=>xR,dht11:()=>UR,number1:()=>PE,number2:()=>vE,number3:()=>YE,number4:()=>xE,number5:()=>bE,number6:()=>XE,number7:()=>yE,onboard_RTC_get_time:()=>HE,onboard_RTC_get_timestamp:()=>WE,onboard_RTC_set_datetime:()=>QE,onboard_RTC_settime_string:()=>JE,onboard_RTC_timestamp_totuple:()=>KE,rfid_readcontent:()=>iR,rfid_readid:()=>eR,rfid_write:()=>nR,rfid_write_return:()=>sR,sensor_LTR308:()=>qE,sensor_aht11:()=>ZE,sensor_bitbot_ALS:()=>YR,sensor_button_get_presses:()=>yR,sensor_button_is_pressed:()=>bR,sensor_button_was_pressed:()=>XR,sensor_distance_hrsc04:()=>LE,sensor_eulerangles:()=>_R,sensor_field_strength:()=>wR,sensor_get_acceleration:()=>oR,sensor_get_temperature:()=>$E,sensor_hp203:()=>tR,sensor_light:()=>GR,sensor_mixbot_get_gyro:()=>vR,sensor_mixbot_patrol_calibrate:()=>fR,sensor_mixbot_patrol_value:()=>FR,sensor_mixbot_temperature:()=>PR,sensor_mixgo_LTR308:()=>kE,sensor_mixgo_button_attachInterrupt:()=>mE,sensor_mixgo_button_get_presses:()=>ME,sensor_mixgo_button_is_pressed:()=>TE,sensor_mixgo_button_was_pressed:()=>hE,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>mR,sensor_mixgo_cc_mmc5603_get_angle:()=>MR,sensor_mixgo_cc_mmc5603_get_magnetic:()=>hR,sensor_mixgo_light:()=>FE,sensor_mixgo_nova_LTR308:()=>wE,sensor_mixgo_nova_pin_near:()=>UE,sensor_mixgo_pin_near:()=>GE,sensor_mixgo_pin_near_double:()=>BE,sensor_mixgo_pin_near_single:()=>VE,sensor_mixgo_pin_pressed:()=>gE,sensor_mixgo_touch_slide:()=>AE,sensor_mixgocar42_button_attachInterrupt:()=>cE,sensor_mixgocar42_button_get_presses:()=>RE,sensor_mixgocar42_button_is_pressed:()=>OE,sensor_mixgocar42_button_was_pressed:()=>EE,sensor_mixgocar_battery_left:()=>DR,sensor_mixgocar_pin_near:()=>LR,sensor_mixgocar_pin_near_line:()=>AR,sensor_mixgocar_pin_near_state_change:()=>NR,sensor_mixgoce_pin_pressed:()=>CE,sensor_mixgoce_temperature:()=>ER,sensor_mixgome_temperature:()=>OR,sensor_mpython_pin_pressed:()=>SE,sensor_mpython_qmi8658_get_gyro:()=>RR,sensor_mpython_qmi8658_temperature:()=>cR,sensor_onboard_compass_reset:()=>TR,sensor_onboard_mpu9250_calibrate_compass:()=>lR,sensor_onboard_mpu9250_field_strength:()=>IR,sensor_onboard_mpu9250_gesture:()=>pR,sensor_onboard_mpu9250_get_acceleration:()=>aR,sensor_onboard_mpu9250_get_gyro:()=>rR,sensor_onboard_mpu9250_get_magnetic:()=>uR,sensor_onboard_mpu9250_temperature:()=>dR,sensor_pin_near:()=>BR,sensor_pin_pressed:()=>VR,sensor_rm_acc:()=>SR,sensor_rm_battery_left:()=>CR,sensor_rm_pin_near_double:()=>gR,sensor_rtc_init:()=>zE,sensor_sound:()=>jE,sensor_temperature:()=>kR});var U={};t.r(U),t.d(U,{serial_any:()=>jR,serial_begin:()=>ic,serial_print:()=>KR,serial_print_byte:()=>WR,serial_print_hex:()=>QR,serial_println:()=>JR,serial_read_from_ai:()=>lc,serial_readline:()=>ZR,serial_readstr:()=>qR,serial_readstr_until:()=>$R,serial_receive_data_event:()=>zR,serial_send_to_ai:()=>rc,serial_softserial:()=>ec,serial_softserial_new:()=>tc,system_input:()=>nc,system_print:()=>sc,system_print_container:()=>ac,system_print_end:()=>_c,system_print_inline:()=>oc,system_print_item:()=>uc,system_print_many:()=>pc});var w={};t.r(w),t.d(w,{Panic_with_status_code:()=>hc,Timer_init:()=>Dc,base_delay:()=>Pc,controls_delay:()=>Tc,controls_delay_new:()=>Ic,controls_millis:()=>mc,controls_uname:()=>Ec,raw_block:()=>Oc,reset:()=>Mc,system_bitbot_shutdown:()=>Nc,system_machine_reset:()=>Lc,system_ticks_diff:()=>gc,system_timer:()=>cc,system_timer_init:()=>Cc,system_wdt_feed:()=>Ac,system_wdt_init:()=>Sc,time_ticks_diff:()=>Fc,timer:()=>Rc,timer2:()=>fc});var k={};t.r(k),t.d(k,{WEATHER_DAILY:()=>xc,WEATHER_HOUR:()=>bc,WEATHER_NOW:()=>Yc});var H={};t.r(H),t.d(H,{actuator_extern_get_led_bright:()=>eg,actuator_extern_get_led_state:()=>ig,actuator_extern_led_bright:()=>tg,actuator_extern_led_brightness:()=>ng,actuator_ms32006_dcmotor:()=>kc,actuator_ms32006_init:()=>wc,actuator_ms32006_stepper:()=>Hc,actuator_neopixel_init:()=>sg,actuator_neopixel_rgb:()=>pg,actuator_neopixel_rgb_all:()=>og,actuator_neopixel_write:()=>_g,actuator_use_uart_init:()=>ag,esp32_music_get_tempo_extern:()=>qc,esp32_music_pitch:()=>Kc,esp32_music_pitch_init:()=>Wc,esp32_music_pitch_with_time:()=>Jc,esp32_music_play_list:()=>jc,esp32_music_reset_extern:()=>Zc,esp32_music_set_tempo_extern:()=>zc,esp32_music_stop:()=>Qc,mixbot_actuator_extern_get_addr:()=>Lg,mixbot_actuator_extern_set_addr:()=>Ng,mixbot_addr_extern:()=>Ig,robot_led_extern:()=>mg,robot_led_extern_get_value:()=>Og,robot_motor_extern:()=>Tg,robot_motor_extern_get_speed:()=>hg,robot_servo_extern_absolute_run:()=>gg,robot_servo_extern_get_status:()=>Eg,robot_servo_extern_relative_continue:()=>Ag,robot_servo_extern_relative_origin:()=>Cg,robot_servo_extern_relative_run:()=>Sg,robot_servo_extern_stop:()=>cg,robot_servo_extern_stop_mode:()=>Rg,robot_traffic_light_extern:()=>Mg,servo_get_angle:()=>Gc,servo_get_speed:()=>Uc,servo_init:()=>Xc,servo_move:()=>$c,servo_set_angle:()=>Vc,servo_set_speed:()=>Bc,servo_speed_360:()=>yc,syn6288_builtin_voice:()=>lg,syn6288_get_voice:()=>rg,syn6288_set_voice:()=>ug,syn6288_tts_play:()=>dg});var W={};t.r(W),t.d(W,{actuator_dc_motor:()=>eC,actuator_dc_motor_stop:()=>iC,actuator_get_led_bright:()=>Vg,actuator_get_led_state:()=>Bg,actuator_led_bright:()=>yg,actuator_led_brightness:()=>Gg,actuator_mixbot_buzzer_on_off:()=>pC,actuator_mixgo_nova_mic_get:()=>dC,actuator_mixgo_nova_mic_set:()=>lC,actuator_mixgo_nova_onboard_music_pitch:()=>OC,actuator_mixgo_nova_onboard_music_stop:()=>EC,actuator_mixgo_nova_play_audio:()=>MC,actuator_mixgo_nova_play_online_audio:()=>mC,actuator_mixgo_nova_record_audio:()=>hC,actuator_mixgo_nova_voice_get:()=>TC,actuator_mixgo_nova_voice_set:()=>IC,actuator_mixgo_zero_led_color:()=>Ug,actuator_onboard_neopixel_rgb:()=>Qg,actuator_onboard_neopixel_rgb_all:()=>zg,actuator_onboard_neopixel_rgb_show_all_chase:()=>qg,actuator_onboard_neopixel_rgb_show_all_rainbow:()=>jg,actuator_onboard_neopixel_write:()=>Jg,actuator_stepper_keep:()=>$g,actuator_stepper_stop:()=>tC,bitbot_motor:()=>rC,bitbot_move:()=>aC,bitbot_stop:()=>uC,cc_number:()=>wg,esp32_music_get_tempo:()=>fg,esp32_music_reset:()=>xg,esp32_music_set_tempo:()=>Dg,esp32_onboard_music_pitch:()=>Fg,esp32_onboard_music_pitch_with_time:()=>Pg,esp32_onboard_music_play_list:()=>Yg,esp32_onboard_music_stop:()=>vg,get_power_output:()=>cC,ledswitch:()=>Xg,mixbot_motor:()=>_C,mixbot_motor_status:()=>nC,mixbot_move:()=>sC,mixbot_stop:()=>oC,number:()=>bg,rm_actuator_get_led_bright:()=>Hg,rm_actuator_get_led_state:()=>Wg,rm_actuator_led_bright:()=>kg,rm_actuator_led_brightness:()=>Kg,rm_motor:()=>Zg,set_all_power_output:()=>gC,set_power_output:()=>RC});var K={};t.r(K),t.d(K,{ai_sensor_20object:()=>eS,ai_sensor_ailocal_class:()=>HC,ai_sensor_ailocal_class_result:()=>WC,ai_sensor_ailocal_train:()=>kC,ai_sensor_asr_recognize:()=>qC,ai_sensor_audio_play:()=>JC,ai_sensor_audio_record:()=>KC,ai_sensor_barcode:()=>fC,ai_sensor_circle:()=>bC,ai_sensor_classifier_faces:()=>tS,ai_sensor_color:()=>BC,ai_sensor_color_chases:()=>wC,ai_sensor_color_chases_result:()=>UC,ai_sensor_config:()=>AC,ai_sensor_face:()=>$C,ai_sensor_find_20objects:()=>iS,ai_sensor_find_barcodes:()=>FC,ai_sensor_find_circles:()=>XC,ai_sensor_find_colors:()=>GC,ai_sensor_find_licenseplates:()=>ZC,ai_sensor_find_lines:()=>xC,ai_sensor_find_qrcodes:()=>DC,ai_sensor_find_rects:()=>VC,ai_sensor_find_tags:()=>vC,ai_sensor_licenseplate:()=>jC,ai_sensor_line:()=>YC,ai_sensor_qrcode:()=>NC,ai_sensor_qrcode_lite:()=>SC,ai_sensor_rect:()=>yC,ai_sensor_rgb:()=>LC,ai_sensor_tag:()=>PC,ai_sensor_use_uart_init:()=>CC,ai_sensor_yolo_recognize:()=>QC,ai_sensor_yolo_recognize_result:()=>zC});var J={};t.r(J),t.d(J,{MICROPYTHON_AI_Speech_asr:()=>oS,MICROPYTHON_AI_Speech_unit:()=>sS,MICROPYTHON_AI_client:()=>nS});var Q={};t.r(Q),t.d(Q,{mpython_blynk_app_data:()=>mS,mpython_blynk_app_notify:()=>dS,mpython_blynk_email:()=>OS,mpython_blynk_get_timers:()=>TS,mpython_blynk_on_connected:()=>uS,mpython_blynk_on_disconnected:()=>aS,mpython_blynk_run:()=>lS,mpython_blynk_sensor_data_to_app:()=>MS,mpython_blynk_set_property:()=>ES,mpython_blynk_setup:()=>RS,mpython_blynk_stop_timers:()=>IS,mpython_blynk_sync_virtual:()=>pS,mpython_blynk_terminal_widget_vpin:()=>_S,mpython_blynktimer:()=>hS,mpython_blynktimer_run:()=>rS});var z={};t.r(z),t.d(z,{communicate_bluetooth_central_init:()=>eA,communicate_bluetooth_connect:()=>sA,communicate_bluetooth_disconnect:()=>oA,communicate_bluetooth_handle:()=>lA,communicate_bluetooth_is_connected:()=>pA,communicate_bluetooth_mac:()=>_A,communicate_bluetooth_peripheral_init:()=>iA,communicate_bluetooth_recv:()=>rA,communicate_bluetooth_recv_only:()=>uA,communicate_bluetooth_scan:()=>nA,communicate_bluetooth_send:()=>aA,communicate_espnow_init:()=>dA,communicate_espnow_init_new:()=>IA,communicate_i2c_available:()=>DS,communicate_i2c_init:()=>CS,communicate_i2c_master_read:()=>NS,communicate_i2c_onboard:()=>cS,communicate_i2c_read:()=>SS,communicate_i2c_scan:()=>LS,communicate_i2c_write:()=>AS,communicate_ir_recv_init:()=>WS,communicate_ir_send_init:()=>qS,communicate_ow_init:()=>BS,communicate_ow_read:()=>wS,communicate_ow_reset:()=>US,communicate_ow_scan:()=>GS,communicate_ow_select:()=>HS,communicate_ow_write:()=>kS,communicate_spi_buffer:()=>vS,communicate_spi_init:()=>FS,communicate_spi_onboard:()=>gS,communicate_spi_read:()=>YS,communicate_spi_read_output:()=>xS,communicate_spi_readinto:()=>bS,communicate_spi_readinto_output:()=>XS,communicate_spi_set:()=>PS,communicate_spi_write:()=>yS,communicate_spi_write_readinto:()=>VS,espnow_radio_channel:()=>EA,espnow_radio_channel_new:()=>cA,espnow_radio_on_off:()=>gA,espnow_radio_rec:()=>SA,espnow_radio_recv:()=>LA,espnow_radio_recv_certain_msg:()=>NA,espnow_radio_recv_certain_msg_new:()=>fA,espnow_radio_recv_msg:()=>AA,espnow_radio_recv_new:()=>DA,espnow_radio_send:()=>CA,espnow_radio_txpower:()=>RA,i2c_slave_onreceive:()=>fS,internal_variable:()=>KS,ir_recv_timeout:()=>zS,ir_transmit_busy:()=>tA,ir_transmit_conventional_data:()=>jS,ir_transmit_raw_code:()=>$S,ir_transmit_study_code:()=>ZS,ir_whether_recv:()=>QS,lora_init:()=>FA,lora_packet:()=>PA,lora_recv:()=>YA,lora_send:()=>vA,network_espnow_info:()=>hA,network_espnow_mac:()=>TA,network_espnow_recv:()=>MA,network_espnow_recv_handle:()=>OA,network_espnow_send:()=>mA,recv_fun:()=>JS,urequests_attribute:()=>bA,urequests_get:()=>xA,urequests_method:()=>XA});var q={};t.r(q),t.d(q,{display_animate:()=>pL,display_circle:()=>aL,display_color_seclet:()=>EL,display_draw_4strings:()=>tL,display_fill:()=>_L,display_lcd_use_i2c_init:()=>AL,display_line:()=>nL,display_line_arbitrarily:()=>eL,display_matrix_extern_bright_point:()=>JA,display_matrix_extern_bright_screen:()=>zA,display_matrix_extern_clear:()=>HA,display_matrix_extern_get_pixel:()=>KA,display_matrix_extern_get_screen_pixel:()=>QA,display_matrix_extern_image_builtins:()=>qA,display_matrix_extern_scroll_string:()=>wA,display_matrix_extern_scroll_string_delay:()=>kA,display_matrix_extern_shift:()=>WA,display_matrix_extern_show_frame_string:()=>GA,display_matrix_extern_show_frame_string_delay:()=>UA,display_matrix_extern_show_image:()=>VA,display_matrix_extern_show_image_or_string_delay:()=>BA,display_matrix_use_i2c_init:()=>yA,display_oled_drawPixel:()=>lL,display_oled_showBitmap:()=>rL,display_oled_use_i2c_init:()=>FL,display_onoff:()=>sL,display_rect:()=>iL,display_tm1650_power:()=>IL,display_tm1650_set_brightness:()=>ML,display_tm1650_show_dot:()=>hL,display_tm1650_show_num:()=>TL,display_tm_use_i2c_init:()=>dL,display_triangle:()=>uL,display_use_i2c_init:()=>$A,extern_oled_bright_point:()=>wL,extern_oled_clear:()=>BL,extern_oled_get_pixel:()=>UL,extern_oled_hvline:()=>HL,extern_oled_line:()=>WL,extern_oled_scroll_string:()=>yL,extern_oled_scroll_string_delay:()=>VL,extern_oled_shape_rect:()=>kL,extern_oled_shift:()=>GL,extern_oled_show_frame_string:()=>bL,extern_oled_show_frame_string_delay:()=>XL,extern_oled_show_image:()=>PL,extern_oled_show_image_or_string_delay:()=>xL,extern_oled_show_image_xy:()=>vL,extern_oled_show_string:()=>YL,image_shift:()=>oL,lcd_backlight:()=>DL,lcd_clear:()=>fL,lcd_print_string:()=>NL,lcd_show_image_or_string_delay:()=>LL,matrix_extern_image_arithmetic:()=>jA,matrix_extern_image_invert:()=>ZA,tft_fill:()=>CL,tft_line_arbitrarily:()=>SL,tft_scroll_string_delay:()=>gL,tft_show_frame_string_delay:()=>cL,tft_show_image_or_string_delay:()=>RL,tft_show_image_xy:()=>OL,tft_use_spi_init:()=>mL});var j={};t.r(j),t.d(j,{bitbot_display_image_create:()=>fN,display_bright_point:()=>_N,display_bright_screen:()=>aN,display_clear:()=>eN,display_get_pixel:()=>oN,display_get_screen_pixel:()=>pN,display_image_builtins:()=>ZL,display_image_builtins_all:()=>$L,display_image_create:()=>tN,display_scroll_string:()=>qL,display_scroll_string_delay:()=>jL,display_shift:()=>sN,display_show_frame_string:()=>QL,display_show_frame_string_delay:()=>zL,display_show_image:()=>KL,display_show_image_or_string_delay:()=>JL,image_arithmetic:()=>iN,image_invert:()=>nN,mixbot_display_bright_screen:()=>NN,mixbot_display_get_ambientbright:()=>LN,mixbot_display_get_screen_pixel:()=>AN,mixbot_display_image_create:()=>SN,mixbot_display_rotate:()=>DN,mixgo_display_image_create_new:()=>dN,mixgome_display_font:()=>lN,mixgome_display_image_create:()=>uN,mixgomini_display_image_create:()=>rN,mpython_display_hvline:()=>gN,mpython_display_line:()=>CN,mpython_display_shape_rect:()=>cN,mpython_pbm_image:()=>IN,onboard_oled_bright_point:()=>RN,onboard_oled_scroll_string_delay:()=>EN,onboard_oled_show_frame_string_delay:()=>ON,onboard_oled_show_image:()=>TN,onboard_oled_show_image_or_string_delay:()=>mN,onboard_oled_show_image_xy:()=>hN,onboard_oled_show_string:()=>MN,onboard_tft_bright_point:()=>kN,onboard_tft_bright_screen:()=>WN,onboard_tft_clear:()=>GN,onboard_tft_clock_clear:()=>jN,onboard_tft_clock_draw:()=>qN,onboard_tft_clock_get_rtctime:()=>QN,onboard_tft_clock_init:()=>JN,onboard_tft_clock_set_time:()=>zN,onboard_tft_display_hvline:()=>VN,onboard_tft_display_line:()=>BN,onboard_tft_display_shape_circle:()=>ZN,onboard_tft_display_shape_rect:()=>yN,onboard_tft_fill:()=>KN,onboard_tft_get_pixel:()=>wN,onboard_tft_get_screen_pixel:()=>HN,onboard_tft_scroll_string:()=>bN,onboard_tft_scroll_string_delay:()=>XN,onboard_tft_shift:()=>UN,onboard_tft_show_frame_string:()=>YN,onboard_tft_show_frame_string_delay:()=>xN,onboard_tft_show_image:()=>FN,onboard_tft_show_image_or_string_delay:()=>vN,onboard_tft_show_image_xy:()=>PN});var Z={};t.r(Z),t.d(Z,{factory_block:()=>_D,factory_block_return:()=>pD,factory_block_return_with_textarea:()=>uD,factory_block_with_textarea:()=>aD,factory_callMethod_noreturn:()=>sD,factory_callMethod_return:()=>oD,factory_declare:()=>nD,factory_from_import:()=>$N,factory_function_noreturn:()=>eD,factory_function_return:()=>iD,factory_import:()=>tD,folding_block:()=>rD});var $={};t.r($),t.d($,{inout_analog_atten:()=>AD,inout_analog_read:()=>OD,inout_analog_read_init:()=>SD,inout_analog_write:()=>hD,inout_analog_write_init:()=>CD,inout_analog_write_set:()=>MD,inout_digital_init:()=>cD,inout_digital_read:()=>ID,inout_digital_write:()=>dD,inout_highlow:()=>lD,inout_pin_attachInterrupt:()=>RD,inout_pin_pressed:()=>ED,inout_pin_pressed_init:()=>LD,inout_pwm_analog_write:()=>TD,inout_pwm_analog_write_init:()=>gD,inout_pwm_analog_write_set_freq:()=>mD});var tt={};t.r(tt),t.d(tt,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>WD,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>kD,IOT_EMQX_PING:()=>KD,IOT_FORMATTING:()=>UD,IOT_FORMAT_STRING:()=>wD,IOT_MIXIO_NTP:()=>JD,IOT_MIXIO_PUBLISH:()=>xD,IOT_MIXIO_SUBSCRIBE:()=>bD,iot_client_onboard:()=>QD,iot_http_client:()=>zD,iot_http_data:()=>qD,iot_mixio_check:()=>VD,iot_mixio_connect:()=>YD,iot_mixio_connect_only:()=>yD,iot_mixio_disconnect:()=>XD,iot_mixio_format_msg:()=>GD,iot_mixio_format_topic:()=>BD,iot_mixly_key:()=>HD,iot_mqtt_client:()=>jD,iot_mqtt_data:()=>ZD,iot_onenet_check:()=>PD,iot_onenet_connect:()=>DD,iot_onenet_disconnect:()=>fD,iot_onenet_publish:()=>vD,iot_onenet_publish_dict:()=>FD,iot_wifi_connect:()=>ND});var et={};t.r(et),t.d(et,{network_ap_connect:()=>af,network_connect:()=>tf,network_get_connect:()=>nf,network_get_wifi:()=>pf,network_init:()=>$D,network_is_active:()=>_f,network_open:()=>of,network_scan:()=>uf,network_server:()=>rf,network_socket_accept:()=>hf,network_socket_bind:()=>df,network_socket_close:()=>Rf,network_socket_connect:()=>If,network_socket_init:()=>lf,network_socket_listen:()=>Tf,network_socket_receive:()=>Mf,network_socket_receive_from:()=>Of,network_socket_send:()=>mf,network_socket_send_to:()=>Ef,network_stop:()=>sf,network_wifi_connect:()=>ef,ntptime_address:()=>Af,ntptime_time:()=>Sf,requests_attribute:()=>gf,requests_get:()=>cf,requests_method:()=>Cf});var it={};t.r(it),t.d(it,{HCSR04:()=>TF,PS2_Button:()=>mF,PS2_Buttons:()=>OF,PS2_Buttons_new:()=>LF,PS2_State:()=>EF,PS2_init:()=>hF,PS2_init_new:()=>SF,PS2_stk:()=>RF,PS2_stk_new:()=>NF,PS2_vibration:()=>MF,PS2_vibration_new:()=>AF,RTC_get_time:()=>gF,RTC_set_date:()=>Yf,RTC_set_datetime:()=>cF,RTC_set_time:()=>vf,esp32_s2_weather_init:()=>rF,esp32_s2_weather_rain:()=>dF,esp32_s2_weather_wd:()=>lF,esp32_s2_weather_ws:()=>IF,extern_rfid_read:()=>Zf,extern_rfid_readcontent:()=>tF,extern_rfid_readid:()=>$f,extern_rfid_status:()=>nF,extern_rfid_write:()=>eF,extern_rfid_write_return:()=>iF,gnss_get_data:()=>FF,gnss_have_data:()=>PF,mixbot_sensor_extern_get_addr:()=>GF,mixbot_sensor_extern_set_addr:()=>UF,pm25_get_data:()=>fF,robot_button_extern_get_value:()=>vF,robot_color_extern_get_value:()=>yF,robot_infrared_extern_get_value:()=>xF,robot_infrared_extern_grey_get_value:()=>bF,robot_potentiometer_extern_get_value:()=>XF,robot_sonar_extern_get_value:()=>VF,robot_sonar_extern_led:()=>BF,robot_touch_extern_get_value:()=>YF,sensor_APDS9960_extern:()=>wf,sensor_LTR308_extern:()=>kf,sensor_LTR390UV_extern:()=>Kf,sensor_MAX30102_extern:()=>Uf,sensor_QMC5883L_extern:()=>Jf,sensor_VL530LX_extern:()=>qf,sensor_aht11_extern:()=>zf,sensor_bmp:()=>Vf,sensor_dht11:()=>CF,sensor_distance_hrsc04:()=>Pf,sensor_hp203_extern:()=>Hf,sensor_ltr381_extern:()=>Wf,sensor_mixgo_extern_button_attachInterrupt:()=>ff,sensor_mixgo_extern_button_get_presses:()=>Df,sensor_mixgo_extern_button_is_pressed:()=>Lf,sensor_mixgo_extern_button_was_pressed:()=>Nf,sensor_mixgo_extern_light:()=>xf,sensor_mixgo_extern_pin_near:()=>Xf,sensor_mixgo_extern_sound:()=>bf,sensor_mixgoce_hot_wheel_degrees:()=>uF,sensor_mixgoce_hot_wheel_is_touched:()=>aF,sensor_mpu9250_attachGestureInterrupt:()=>Ff,sensor_rtc_init:()=>yf,sensor_sht:()=>Bf,sensor_shtc3_extern:()=>Qf,sensor_use_i2c_init:()=>Gf,sensor_use_spi_init:()=>jf,sensor_use_uart_init:()=>DF,sensor_weather_solo_init:()=>wF,sensor_weather_solo_rain:()=>WF,sensor_weather_solo_wd:()=>kF,sensor_weather_solo_ws:()=>HF,weather_data:()=>sF,weather_have_data:()=>oF,weather_set_label:()=>pF,weather_uart_mixio:()=>_F});var nt={};t.r(nt),t.d(nt,{HCSR04:()=>tP,bitbot_als_num:()=>Ov,dht11:()=>Lv,number1:()=>eP,number2:()=>iP,number3:()=>nP,number4:()=>sP,number5:()=>oP,number6:()=>_P,number7:()=>pP,onboard_RTC_get_time:()=>qP,onboard_RTC_get_timestamp:()=>jP,onboard_RTC_set_datetime:()=>QP,onboard_RTC_settime_string:()=>zP,onboard_RTC_timestamp_totuple:()=>ZP,rfid_readcontent:()=>gP,rfid_readid:()=>cP,rfid_write:()=>CP,rfid_write_return:()=>SP,sensor_LTR308:()=>MP,sensor_adxl345_get_acceleration:()=>YP,sensor_aht11:()=>EP,sensor_bitbot_ALS:()=>mv,sensor_button_get_presses:()=>cv,sensor_button_is_pressed:()=>Ev,sensor_button_was_pressed:()=>Rv,sensor_compass_reset:()=>BP,sensor_ds18x20:()=>TP,sensor_eulerangles:()=>LP,sensor_get_acceleration:()=>AP,sensor_get_temperature:()=>RP,sensor_hp203:()=>OP,sensor_light:()=>Av,sensor_lm35:()=>hP,sensor_mixbot_get_gyro:()=>Mv,sensor_mixbot_patrol_calibrate:()=>Iv,sensor_mixbot_patrol_value:()=>Tv,sensor_mixbot_temperature:()=>hv,sensor_mixgo_LTR308:()=>dP,sensor_mixgo_button_attachInterrupt:()=>zF,sensor_mixgo_button_get_presses:()=>QF,sensor_mixgo_button_is_pressed:()=>KF,sensor_mixgo_button_was_pressed:()=>JF,sensor_mixgo_cc_mmc5603_calibrate_compass:()=>ev,sensor_mixgo_cc_mmc5603_get_angle:()=>tv,sensor_mixgo_cc_mmc5603_get_magnetic:()=>$P,sensor_mixgo_light:()=>Sv,sensor_mixgo_nova_LTR308:()=>IP,sensor_mixgo_nova_pin_near:()=>lP,sensor_mixgo_pin_near:()=>rP,sensor_mixgo_pin_near_double:()=>uP,sensor_mixgo_pin_near_single:()=>aP,sensor_mixgo_pin_pressed:()=>PP,sensor_mixgo_touch_slide:()=>FP,sensor_mixgocar42_button_attachInterrupt:()=>$F,sensor_mixgocar42_button_get_presses:()=>ZF,sensor_mixgocar42_button_is_pressed:()=>qF,sensor_mixgocar42_button_was_pressed:()=>jF,sensor_mixgocar_battery_left:()=>dv,sensor_mixgocar_pin_near:()=>rv,sensor_mixgocar_pin_near_line:()=>uv,sensor_mixgocar_pin_near_state_change:()=>lv,sensor_mixgoce_pin_pressed:()=>fP,sensor_mixgoce_temperature:()=>nv,sensor_mixgome_temperature:()=>iv,sensor_mpu9250_calibrate_compass:()=>XP,sensor_mpu9250_field_strength:()=>VP,sensor_mpu9250_gesture:()=>NP,sensor_mpu9250_get_acceleration:()=>DP,sensor_mpu9250_get_gyro:()=>bP,sensor_mpu9250_get_magnetic:()=>xP,sensor_mpu9250_temperature:()=>yP,sensor_mpython_pin_pressed:()=>vP,sensor_mpython_qmi8658_get_gyro:()=>sv,sensor_mpython_qmi8658_temperature:()=>ov,sensor_onboard_compass_reset:()=>JP,sensor_onboard_mpu9250_calibrate_compass:()=>HP,sensor_onboard_mpu9250_field_strength:()=>KP,sensor_onboard_mpu9250_gesture:()=>GP,sensor_onboard_mpu9250_get_acceleration:()=>UP,sensor_onboard_mpu9250_get_gyro:()=>kP,sensor_onboard_mpu9250_get_magnetic:()=>wP,sensor_onboard_mpu9250_temperature:()=>WP,sensor_pin_near:()=>Cv,sensor_pin_pressed:()=>gv,sensor_rm_acc:()=>av,sensor_rm_battery_left:()=>pv,sensor_rm_pin_near_double:()=>_v,sensor_sound:()=>mP});var st={};t.r(st),t.d(st,{serial_any:()=>Pv,serial_print:()=>Nv,serial_print_byte:()=>Dv,serial_print_hex:()=>Fv,serial_println:()=>fv,serial_read_from_ai:()=>wv,serial_readline:()=>Yv,serial_readstr:()=>vv,serial_send_to_ai:()=>Uv,serial_softserial:()=>xv,serial_softserial_new:()=>bv,system_input:()=>Xv,system_print:()=>yv,system_print_end:()=>Bv,system_print_inline:()=>Vv,system_print_many:()=>Gv});var ot={};t.r(ot),t.d(ot,{Panic_with_status_code:()=>tY,Timer_init:()=>hY,base_delay:()=>OY,controls_delay:()=>oY,controls_delay_new:()=>_Y,controls_end_program:()=>iY,controls_millis:()=>eY,controls_uname:()=>sY,reset:()=>nY,system_bitbot_shutdown:()=>TY,system_device_name:()=>Zv,system_device_serial_number:()=>$v,system_event_bus_source:()=>qv,system_event_bus_value:()=>jv,system_machine_reset:()=>IY,system_on_event:()=>Jv,system_raise_event:()=>Kv,system_reset:()=>Hv,system_run_in_background:()=>kv,system_ticks_diff:()=>uY,system_timer:()=>aY,system_timer_init:()=>rY,system_timestamp:()=>Qv,system_value:()=>zv,system_wait:()=>Wv,system_wdt_feed:()=>dY,system_wdt_init:()=>lY,time_ticks_diff:()=>mY,timer:()=>pY,timer2:()=>MY});var _t={};t.r(_t),t.d(_t,{WEATHER_DAILY:()=>RY,WEATHER_HOUR:()=>cY,WEATHER_NOW:()=>EY});var pt={};t.r(pt),t.d(pt,{analog_input:()=>YY,analog_output:()=>bY,espnow_channel:()=>FY,haskylens_model:()=>PY,i2c_A_pin:()=>XY,i2c_B_pin:()=>yY,pins_analog:()=>wY,pins_analog_pin:()=>kY,pins_axis:()=>ox,pins_brightness:()=>_x,pins_builtinimg:()=>ZY,pins_builtinimg_extern:()=>$Y,pins_button:()=>KY,pins_dac:()=>HY,pins_dac_pin:()=>WY,pins_digital:()=>AY,pins_digital_dot:()=>Tx,pins_digital_pin:()=>LY,pins_exlcdh:()=>nx,pins_exlcdv:()=>sx,pins_imglist:()=>tx,pins_input_pin:()=>NY,pins_mpython_touch:()=>fY,pins_one_more:()=>Ix,pins_output_pin:()=>DY,pins_playlist:()=>ex,pins_playlist_extern:()=>ix,pins_pwm:()=>JY,pins_pwm_pin:()=>QY,pins_radio_datarate:()=>dx,pins_radio_power:()=>lx,pins_serial:()=>jY,pins_tone_notes:()=>rx,pins_touch:()=>qY,pins_touch_pin:()=>zY,pins_tts_bgmusic:()=>ux,pins_tts_builtin_music:()=>ax,pins_tts_voice:()=>px,pwm_input:()=>vY,pwm_output:()=>xY,spi_A_pin:()=>VY,spi_B_pin:()=>BY,spi_C_pin:()=>GY,spi_D_pin:()=>UY});var at={};t.r(at),t.d(at,{espnow_channel:()=>Sx,haskylens_model:()=>Ax,pins_analog:()=>cx,pins_analog_pin:()=>Rx,pins_axis:()=>Vx,pins_brightness:()=>Ux,pins_builtinimg:()=>Yx,pins_builtinimg_extern:()=>xx,pins_button:()=>Mx,pins_dac:()=>Dx,pins_dac_pin:()=>Nx,pins_digital:()=>hx,pins_digital_dot:()=>zx,pins_digital_pin:()=>mx,pins_exlcdh:()=>Bx,pins_exlcdv:()=>Gx,pins_imglist:()=>bx,pins_input_pin:()=>Ox,pins_interrupt:()=>Px,pins_mpython_touch:()=>Lx,pins_one_more:()=>Qx,pins_output_pin:()=>Ex,pins_playlist:()=>Xx,pins_playlist_extern:()=>yx,pins_pwm:()=>Cx,pins_pwm_pin:()=>gx,pins_radio_datarate:()=>Jx,pins_radio_power:()=>Kx,pins_serial:()=>vx,pins_tone_notes:()=>Wx,pins_touch:()=>Fx,pins_touch_pin:()=>fx,pins_tts_bgmusic:()=>Hx,pins_tts_builtin_music:()=>kx,pins_tts_voice:()=>wx});const ut=Blockly,rt=Mixly,lt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},dt=lt; /** * @license * Visual Blocks Editor @@ -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=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(Kt),this.appendDummyInput().appendField(new ut.FieldTextInput("0",ut.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MATH_NUMBER_TOOLTIP)}},Qt={init:function(){this.setColour(Kt);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]}))}},zt={init:function(){this.setColour(Kt);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]}))}},qt={init:function(){this.setColour(Kt),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]}))}},jt={init:function(){this.setColour(Kt),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]}))}},Zt={init:function(){this.setColour(Kt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new ut.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},$t={init:function(){this.setColour(Kt),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]}))}},te={init:function(){var t=[[ut.Msg.MATH_BIN,"bin"],[ut.Msg.MATH_OCT,"oct"],[ut.Msg.MATH_HEX,"hex"]];this.setColour(Kt),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]}))}},ee={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(Kt),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]}))}},ie={init:function(){var t=[[ut.Msg.MIXLY_MAX,"max"],[ut.Msg.MIXLY_MIN,"min"]];this.setColour(Kt),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]}))}},ne={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(Kt),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]}))}},se={init:function(){var t=[[ut.Msg.LANG_MATH_INT,"int"],[ut.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Kt),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]}))}},oe={init:function(){this.setColour(Kt),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)}},_e={init:function(){this.setColour(Kt),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)}},pe={init:function(){this.setColour(Kt),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)}},ae={init:function(){this.setColour(Kt),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)}},ue={init:function(){this.setColour(Kt),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)}},re={init:function(){var t=[[ut.Msg.MIXLY_TO_INT,"int"],[ut.Msg.MIXLY_TO_FLOAT,"float"],[ut.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Kt),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]}))}},le={init:function(){var t=[[ut.Msg.MIXLY_TO_INT,"int"],[ut.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Kt),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]}))}},de=_e,Ie=160,Te={init:function(){this.setColour(Ie),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,'"')}},he={init:function(){this.setColour(Ie),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 Me={init:function(){this.setColour(Ie),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,'"')}},me={init:function(){this.setColour(Ie),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)}},Oe={init:function(){this.setColour(Ie),this.appendValueInput("VAR").setCheck(Number).appendField(ut.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Ee={init:function(){this.setColour(Ie),this.appendValueInput("VAR").setCheck(String).appendField(ut.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Re={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ce={init:function(){this.setColour(Ie),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ge={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(Ie),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)}},Ce={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ie),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)}},Se={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ie),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(ut.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(ut.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Ae={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(Ie),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"))}},Le={init:function(){this.setHelpUrl(ut.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ie),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)}},Ne={init:function(){var t=[[ut.Msg.MIXLY_EQUALS,"==="],[ut.Msg.MIXLY_STARTSWITH,"startswith"],[ut.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ie),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new ut.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},De={init:function(){this.setColour(Ie),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)}},fe={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(Ie),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]}))}},Fe={init:function(){var t=[[ut.Msg.TEXT_LJUST,"ljust"],[ut.Msg.TEXT_CENTER,"center"],[ut.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ie),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)}},Pe={init:function(){this.setColour(Ie),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)}},ve={init:function(){this.setColour(Ie),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(Ie),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)}},xe={init:function(){this.setColour(Ie),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)}},Xe={init:function(){var t=[[ut.Msg.TEXT_TRIM_BOTH,"strip"],[ut.Msg.TEXT_TRIM_LEFT,"lstrip"],[ut.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ie),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]}))}},be={init:function(){this.setColour(Ie),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")}},vi={init:function(){this.setColour(Fi),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(Fi),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}},xi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_KEYS),this.setTooltip(ut.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Xi={init:function(){this.setColour(Fi),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)}},bi={init:function(){this.setColour(Fi),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)}},yi={init:function(){this.setColour(Fi),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)}},Vi={init:function(){this.setColour(Fi),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)}},Bi={init:function(){this.setColour(Fi),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)}},Gi={init:function(){this.setColour(Fi),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)}},Ui={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_ITEMS),this.setTooltip(ut.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},wi={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_VALUES),this.setTooltip(ut.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},ki={init:function(){this.setColour(Fi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LENGTH),this.setTooltip(ut.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Hi={init:function(){this.setColour(Fi),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)}},Wi={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(Fi),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")}},Ki={init:function(){this.setColour(Fi),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(Fi),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)}},Qi={init:function(){this.setColour(Fi),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")}},zi={init:function(){this.setColour(Fi),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},qi={init:function(){this.setColour(Fi),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)}},ji={init:function(){this.setColour(Fi),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)}},Zi=210,$i={init:function(){var t=ut.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Zi),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]}},tn={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(Zi),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)}},en={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(Zi),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]}))}},nn={init:function(){this.setColour(Zi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ut.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ut.Msg.LOGIC_NEGATE_TOOLTIP)}},sn={init:function(){var t=[[ut.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ut.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Zi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ut.FieldDropdown(t),"BOOL"),this.setTooltip(ut.Msg.LOGIC_BOOLEAN_TOOLTIP)}},on={init:function(){this.setColour(Zi),this.setOutput(!0),this.appendDummyInput().appendField(ut.Msg.LOGIC_NULL),this.setTooltip(ut.Msg.LOGIC_NULL_TOOLTIP)}},_n={init:function(){this.setColour(Zi),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)}},pn={init:function(){var t=[[ut.Msg.TEXT_APPEND_TO,"in"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Zi),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)}},an={init:function(){var t=[[ut.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Zi),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)}},un={init:function(){this.setColour(Zi),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},rn={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)}},ln={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")}},dn={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+_}))}},In={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+_}))}},Tn={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)}},hn={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)}},Mn={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}))}},mn={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)}},On={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)}},En={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)}},Rn={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)}},cn={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 gn={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)}},Cn={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)}},Sn={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)}},An={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}))}},Ln={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)}},Nn={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]}))}},Dn={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)}},fn={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)}},Fn={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]}))}},Pn={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)}},vn={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)}},Ds={init:function(){this.setColour(gs),this.appendDummyInput().appendField(ut.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},fs={init:function(){this.setColour(gs),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)}},Fs={init:function(){this.setColour(gs),this.appendDummyInput().appendField(new ut.FieldTextInput("property"),"KEY").appendField(":").appendField(new ut.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ps={init:function(){this.setColour(gs),this.appendDummyInput().appendField(new ut.FieldTextInput("property"),"KEY").appendField(":").appendField(new ut.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vs={init:function(){this.setColour(gs),this.appendDummyInput().appendField(ut.Msg.HTML_TEXT).appendField(new ut.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys=160,xs={init:function(){this.setColour(Ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ut.FieldTable(""),"TEXT")}},Xs={init:function(){this.setColour(Ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT")}},bs={init:function(){this.setColour(Ys),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},ys={init:function(){this.setColour(Ys),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Vs={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")}},Bs={init:function(){this.setColour(Ys),this.appendValueInput("VALUE").appendField(ut.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Gs={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 Rp=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]},cp=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]},Cp=function(t,e){return["None",e.ORDER_ATOMIC]},Sp=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]},Ap=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]},Lp=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]},Np=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Dp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},fp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Fp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Pp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},vp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Yp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},xp=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]},Xp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},bp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},yp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Vp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Bp=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Gp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Up=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},wp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},kp=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"},Hp=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Wp=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Kp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Jp=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"},Qp=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]},zp=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"},qp=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"},jp=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]},Pa=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},va=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},Ya=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},xa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Xa=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},ba=function(t,e){return'"},ya=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Va=function(){return this.getFieldValue("TEXT")+"\n"},Ba=function(t){return t.getFieldValue("TEXT")+"\n"},Ga=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Ua=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},wa=function(){return""},ka=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Ha=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")},Ka.scrubNakedValue=function(t){return t+"\n"},Ka.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},Ka.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Ka.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ut.utils.string.wrap(o,Ka.COMMENT_WRAP-3),n+=Ka.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const Ja="#74A55B",Qa={init:function(){this.setColour(Ja),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)}},za={init:function(){this.setColour(Ja),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)}},qa={init:function(){this.setColour(Ja),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)}},ja={init:function(){this.setColour(Ja),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)}},Za={init:function(){this.setColour(Ja),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)}},$a={init:function(){this.setColour(Ja),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)}},tu={init:function(){this.setColour(Ja),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)}},eu={init:function(){this.setColour(Ja),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iu={init:function(){this.setColour(Ja),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)}},nu={init:function(){this.setColour(Ja),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)}},su={init:function(){this.setColour(Ja),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)}},ou={init:function(){this.setColour(Ja),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)}},_u={init:function(){this.setColour(Ja),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)}},pu={init:function(){this.setColour(Ja),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)}},au={init:function(){this.setColour(Ja),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)}},uu={init:function(){this.setColour(Ja),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)}},ru={init:function(){this.setColour(Ja),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)}},lu={init:function(){this.setColour(Ja),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)}},du={init:function(){this.setColour(Ja),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)}},Iu={init:function(){this.setColour(Ja),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通信")}},Tu={init:function(){this.setColour(Ja),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)")}},hu={init:function(){this.setColour(Ja),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)")}},Mu={init:function(){this.setColour(Ja),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)}},mu={init:function(){this.setColour(Ja),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)}},Ou={init:function(){this.setColour(Ja),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)}},Eu={init:function(){this.setColour(Ja),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)}},Ru={init:function(){this.setColour(Ja),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")}},cu={init:function(){this.setColour(Ja),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)}},gu={init:function(){this.setColour(Ja),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)}},Cu={init:function(){this.setColour(Ja),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)}},Su={init:function(){this.setColour(Ja),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)}},Au={init:function(){this.setColour(Ja),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},Lu={init:function(){this.setColour(Ja),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)}},Nu={init:function(){this.setColour(Ja),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)}},Du={init:function(){this.setColour(Ja),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)}},fu={init:function(){this.setColour(Ja),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)}},Fu={init:function(){this.setColour(Ja),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)}},Pu={init:function(){this.setColour(Ja),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)}},vu={init:function(){this.setColour(Ja),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)}},Yu={init:function(){this.setColour(Ja),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)}},xu={init:function(){this.setColour(Ja),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)}},Xu={init:function(){this.setColour(Ja),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)}},bu={init:function(){this.setColour(Ja),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)}},yu={init:function(){this.setColour(Ja),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)}},Vu={init:function(){this.setColour(Ja),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)}},Bu={init:function(){this.setColour(Ja),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)}},Gu="#6C9858",Uu={init:function(){this.setColour(Gu),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},wu={init:function(){this.setColour(Gu),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)}},ku={init:function(){this.setColour(Gu),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)}},Hu={init:function(){this.setColour(Gu),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)}},Wu={init:function(){this.setColour(Gu),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)}},Ku={init:function(){this.setColour(Gu),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%)")}},Ju={init:function(){this.setColour(Gu),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_OFF,"0"],[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()}},Qu={init:function(){this.setColour(Gu),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)}},zu={init:function(){this.setColour(Gu),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)}},qu={init:function(){this.setColour(Gu),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)}},ju={init:function(){this.setColour(Gu),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)")}},Zu={init:function(){this.setColour(Gu),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},$u={init:function(){this.setColour(Gu),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)}}},tr={init:function(){this.setColour(Gu),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)}},er={init:function(){this.setColour(Gu),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("")}},ir={init:function(){this.setColour(Gu),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("")}},nr={init:function(){this.setColour(Gu),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)}},sr={init:function(){this.setColour(Gu),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)}}},or={init:function(){this.setColour(Gu),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)}},_r={init:function(){this.setColour(Gu),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("")}},pr={init:function(){this.setColour(Gu),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)}},ar={init:function(){this.setColour(Gu),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)}},ur={init:function(){this.setColour(Gu),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)}},rr={init:function(){this.setColour(Gu),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)}},lr={init:function(){this.setColour(Gu),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)}},dr={init:function(){this.setColour(Gu),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(Gu),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)}},Tr={init:function(){this.setColour(Gu),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)}},hr={init:function(){this.setColour(Gu),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)}},Mr={init:function(){this.setColour(Gu),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("")}},mr={init:function(){this.setColour(Gu),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)}},Or={init:function(){this.setColour(Gu),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)}},Er={init:function(){this.setColour(Gu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Rr={init:function(){this.setColour(Gu),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)}},cr={init:function(){this.setColour(Gu),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)}},gr={init:function(){this.setColour(Gu),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)}},Cr={init:function(){this.setColour(Gu),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)}},Sr={init:function(){this.setColour(Gu),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)}},Ar={init:function(){this.setColour(Gu),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)}},Lr={init:function(){this.setColour(Gu),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)}},Nr={init:function(){this.setColour(Gu),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)}},Dr={init:function(){this.setColour(Gu),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},fr={init:function(){this.setColour(Gu),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)}},Fr={init:function(){this.setColour(Gu),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)}},Pr={init:function(){this.setColour(Gu),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)}},vr={init:function(){this.setColour(Gu),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)}},Yr={init:function(){this.setColour(Gu),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xr={init:function(){this.setColour(Gu),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)}},Xr={init:function(){this.setColour(Gu),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},br={init:function(){this.setColour(Gu),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()}},yr={init:function(){this.setColour(Gu),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)}},Vr={init:function(){this.setColour(Gu),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)}},Br="#90A244",Gr={init:function(){this.setColour(Br),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+"MixGo AI"+ut.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ur={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_QR_CODE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.OLED_STRING,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},wr={init:function(){this.setColour(Br),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_QR_CODE+ut.Msg.MIXPY_OBJECT,"qrcode"],[ut.Msg.MIXLY_BAR_CODE+ut.Msg.MIXPY_OBJECT,"barcode"],[ut.Msg.MIXLY_TAG+ut.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},kr={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},Hr={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().appendField(ut.Msg.SOFT_RESET+ut.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},Wr={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(ut.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},Kr={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_BAR_CODE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.OLED_STRING,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},Jr={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},Qr={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TAG+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.OLED_STRING,"info1"],[ut.Msg.blockpy_turtle_rotate+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},zr={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},qr={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LINE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LINE_ANGLE,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},jr={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},Zr={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_CIRCLE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_CIRCLE_AREA,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},$r={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},tl={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_RECT+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_CIRCLE_AREA,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},el={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},il={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["RGB"+ut.Msg.HTML_COLOUR,"[0]"],["LAB"+ut.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},nl={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_COLOR_CHASE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_CIRCLE_AREA,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ol={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+ut.Msg.MIXLY_COLOR_LAB).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},_l={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_OBJECT_LIST).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+ut.Msg.MIXLY_MODEL_NAME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_TRAIN_TIME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ut.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},pl={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_OBJECT_LIST).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_MODEL_NAME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ut.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},al={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LOCAL_CLASS+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},ul={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},rl={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_MP3_VOL).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ll={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ANCHOR).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_MODEL_PATH).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ut.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},dl={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_YOLO_RECOGNIZE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},Il={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setAlign(ut.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Tl={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LICENSEPLATE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},hl={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},Ml={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_FACE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},ml={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Ol={init:function(){this.setColour(Br),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_20OBJECTS+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},El={init:function(){this.setColour(Br),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Rl={init:function(){this.setColour(205),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_AipSpeech_asr,"ASR"],[ut.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_Client).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_AI_UNIT).appendField(ut.Msg.MIXLY_Client).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(ut.Msg.OLED_STRING).setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},gl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_AipSpeech_asr).appendField(ut.Msg.MIXLY_Client).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(ut.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LANGUAGE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[ut.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[ut.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},Cl="#2FAD7A",Sl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Al={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Ll={init:function(){this.jsonInit({inputsInline:!0,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},Nl={init:function(){this.jsonInit({inputsInline:!0,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},Dl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},fl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Fl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},Pl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},xl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},Xl={init:function(){this.jsonInit({message0:ut.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[ut.Msg.MIXLY_PYTHON_PERIODIC,"False"],[ut.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},yl={init:function(){this.jsonInit({inputsInline:!0,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},Vl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:Cl,helpUrl:ut.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Bl=140,Gl={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Ul={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},wl={init:function(){this.setColour(Bl),this.appendValueInput("SUB").appendField("I2C "+ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_I2C_INIT)}},kl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},Hl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},Wl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_I2C_SCAN1+ut.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_I2C_SCAN)}},Kl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(ut.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},Jl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_SET)}},Ql={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_SET+ut.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},zl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ut.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READ)}},ql={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ut.Msg.LANG_MATH_BYTE+" "+ut.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},jl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ut.Msg.MIXLY_SERIAL_READ+ut.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READINTO)}},Zl={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ut.Msg.MIXLY_SERIAL_READ+ut.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},$l={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_WRITE)}},td={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(ut.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},ed={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},id={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_READ+ut.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},nd={init:function(){this.setColour(Bl),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},sd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+ut.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(ut.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_INIT)}},od={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_SCAN)}},_d={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_READ)}},pd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_WRITE).appendField(new ut.FieldDropdown([[ut.Msg.LANG_MATH_STRING,"write"],[ut.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_WRITE)}},ad={init:function(){this.setColour(Bl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(ut.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_SELECT)}},ud={init:function(){this.setColour(Bl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_RESET)}},rd={init:function(){this.setColour(Bl),this.appendValueInput("PIN").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_IR_INPUT1,"8"],[ut.Msg.MIXLY_IR_INPUT2,"16"],[ut.Msg.MIXLY_IR_INPUT3,"0"],[ut.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(ut.Msg.CONTROLS_REPEAT_INPUT_DO+ut.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ld={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_IR_CMD_CODE,"0"],[ut.Msg.MIXLY_IR_ADDR_CODE,"1"],[ut.Msg.MIXLY_IR_RAW_CODE,"2"],[ut.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},dd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXlY_RECV_FUN).appendField(new ut.FieldDropdown([[ut.Msg.MILY_PAUSE,"True"],[ut.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Id={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Td={init:function(){this.setColour(Bl),this.appendValueInput("time").appendField(ut.Msg.MIXlY_RECV_FUN).appendField(ut.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hd={init:function(){this.setColour(Bl),this.appendValueInput("PIN").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.MIXLY_IR_SEND).appendField(ut.Msg.MIXLY_PIN),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_IR_SEND_samsung1,"False"],[ut.Msg.MIXLY_IR_SEND_samsung2,"True"],[ut.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(ut.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Md={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(ut.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(ut.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(ut.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},md={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_IR_PULSE).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Od={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(ut.Msg.MIXLY_IR_RAW_CODE).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").appendField(ut.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catEthernet_init+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ut.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").appendField(ut.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catEthernet_init+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ut.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},gd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_ONEWIRE_SCAN+ut.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},Cd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_TEXT_JOIN+ut.Msg.MSG.catBLE).appendField(new ut.FieldDropdown([[ut.Msg.HTML_NAME,"name"],[ut.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ld={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catBLE+ut.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(ut.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catBLE+ut.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ut.Msg.CONTROLS_REPEAT_INPUT_DO+ut.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ut.Msg.CONTROLS_REPEAT_INPUT_DO+ut.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Pd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ut.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ut.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TX_POWER).appendField(new ut.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},vd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ut.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ut.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},Yd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new ut.FieldDropdown([["("+ut.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+ut.Msg.OLED_STRING+")",""],[ut.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[ut.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},bd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},yd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_MP_ESPNOW_RADIO+ut.Msg.MIXLY_TX_POWER).appendField(new ut.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},Ud={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},kd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Hd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Kd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ut.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Jd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Qd={init:function(){this.setColour(Bl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ut.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},zd={init:function(){this.setColour(Bl),this.appendValueInput("SUB").appendField("Lora"+ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(ut.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(ut.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(ut.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(ut.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(ut.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new ut.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_LORA_INIT_TOOLTIP)}},qd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_PACKAGE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[ut.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ut.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Zd={init:function(){this.setColour(Bl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},$d={init:function(){this.setColour(Bl),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")}},tI={init:function(){this.appendValueInput("VAL");var t=[[ut.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(Bl),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]}))}},eI={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Bl),this.appendDummyInput("").appendField(ut.Msg.blockpy_CONDUCT).appendField(new ut.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ut.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},iI=wl,nI=kl,sI=Hl,oI=Wl,_I=Kl,pI=Jl,aI=Ql,uI=zl,rI=ql,lI=jl,dI=Zl,II=$l,TI=td,hI=ed,MI=id,mI=120;({init:function(){this.setColour(mI),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ut.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new ut.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(mI);var t=new ut.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const OI="5BA5A5",EI={init:function(){this.setColour(OI),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},RI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},cI={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},gI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},CI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},SI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},AI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},LI={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},NI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},DI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},fI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},FI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},PI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},vI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ut.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},YI={init:function(){var t=[[ut.Msg.MICROBIT_DISPLAY_UNION,"add"],[ut.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ut.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ut.Msg.MIXLY_MICROBIT_image_add,"-":ut.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},xI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(OI),this.appendValueInput("A").setCheck("esp32_image").appendField(ut.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},XI={init:function(){this.setColour(OI),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.appendValueInput("row").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},bI={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.OLEDDISPLAY+ut.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(OI),this.setTooltip(ut.Msg.MIXLY_DF_LCD+ut.Msg.OLEDDISPLAY+ut.Msg.MIXLY_MICROBIT_TYPE_STRING)}},yI={init:function(){var t=[[ut.Msg.MIXLY_HEIGHT,"height"],[ut.Msg.MIXLY_WIDTH,"width"]];this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ut.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ut.Msg.MIXLY_MICROBIT_IMAGE+{height:ut.Msg.MIXLY_HEIGHT,width:ut.Msg.MIXLY_WIDTH}[t]}))}},VI={init:function(){var t=[[ut.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ut.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(OI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RECT).appendField(new ut.FieldDropdown(t),"OP"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_OLED_RECT)}},BI={init:function(){this.setColour(OI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_DISPLAY_DRAW).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_DISPLAY_RLINE,"hline"],[ut.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_OLED_LINE)}},GI={init:function(){this.setColour(OI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_OLED_LINE_ARBIT)}},UI={init:function(){this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(ut.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},wI={init:function(){this.setColour(OI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},kI={init:function(){this.setColour(OI),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(ut.Msg.LISTS_SET_INDEX_SET+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B)}},HI={init:function(){this.setColour(OI),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_ON,"ON"],[ut.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},WI={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ut.Msg.MIXLY_LCD_STAT_CLEAR,1:ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ut.Msg.MIXLY_DF_LCD+i[e]}))}},KI={init:function(){this.setColour(OI),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new ut.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},JI={init:function(){var t=[[ut.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ut.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(OI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ut.FieldDropdown(t),"OP"),this.jsonInit({message0:ut.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},QI={init:function(){var t=[[ut.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ut.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(OI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_DISPLAY_DRAW+ut.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ut.FieldDropdown(t),"OP"),this.jsonInit({message0:ut.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_DISPLAY_DRAW+ut.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},zI={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(ut.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},qI={init:function(){this.setColour(OI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(ut.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(ut.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(ut.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(ut.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(ut.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.OLED_SHOW_BMP_TOOLTIP)}},jI={init:function(){this.setColour(OI),this.appendValueInput("VAR").appendField(ut.Msg.OLED),this.appendDummyInput("").appendField(ut.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(ut.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(ut.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.OLED_DRAW_PIXE_TOOLTIP)}},ZI={init:function(){this.setColour(OI),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ut.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},$I={init:function(){this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ON,"on"],[ut.Msg.MIXLY_OFF,"off"],[ut.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},tT={init:function(){this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},eT={init:function(){this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ut.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},iT={init:function(){this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},nT={init:function(){this.setColour(OI),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+ut.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(ut.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(ut.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.blockpy_turtle_rotate).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_NO,"0"],[ut.Msg.ANTI_CLOCKWISE+"90°","1"],[ut.Msg.ANTI_CLOCKWISE+"180°","2"],[ut.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sT={init:function(){this.setColour(OI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},oT={init:function(){this.setColour(OI);let t=new ut.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(ut.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},_T={init:function(){this.setColour(OI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},pT={init:function(){this.setColour(OI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},aT={init:function(){this.setColour(OI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},uT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catTFT),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ut.Msg.MIXLY_LCD_STAT_CLEAR,1:ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ut.Msg.MIXLY_DF_LCD+i[e]}))}},rT={init:function(){this.setColour(OI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_OLED_LINE_ARBIT)}},lT={init:function(){this.setColour(OI),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(ut.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ut.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},dT={init:function(){this.setColour(OI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.array2_rows),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},IT={init:function(){this.setColour(OI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_SERIAL_PRINT+ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},TT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catLCD),this.appendDummyInput().appendField(ut.Msg.TFT_Brightness).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[ut.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:ut.Msg.MIXLY_MICROBIT_Turn_on_display,0:ut.Msg.MIXLY_MICROBIT_Turn_off_display};return ut.Msg.MSG.catLCD+ut.Msg.TFT_Brightness+i[e]}))}},hT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catLCD),this.setColour(OI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},MT={init:function(){this.setColour(OI),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(ut.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ut.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},mT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},OT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},ET={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},RT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},cT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},CT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ST={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},AT={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},LT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},NT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},DT={init:function(){this.setColour(OI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},fT={init:function(){this.jsonInit({colour:OI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},FT={init:function(){this.jsonInit({colour:OI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ut.Msg.mpython_vertical,"0"],[ut.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},PT={init:function(){this.jsonInit({colour:OI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ut.Msg.mpython_display_hline_1,"1"],[ut.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.mpython_display_line_TOOLTIP,message0:ut.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},vT="#569A98",YT={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==rt.Boards.getSelectedBoardKey()&&this.setTooltip(ut.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},xT={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},XT={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bT={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yT={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},VT={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},BT={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(vT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},GT={init:function(){this.jsonInit({colour:vT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ut.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ut.Msg.MIXLY_MICROBIT_Built_in_image})}},UT={init:function(){this.jsonInit({colour:vT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ut.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ut.Msg.MIXLY_MICROBIT_Built_in_image})}},wT={init:function(){var t=[[ut.Msg.MICROBIT_DISPLAY_UNION,"add"],[ut.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(vT),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ut.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ut.Msg.MIXLY_MICROBIT_image_add,"-":ut.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},kT={init:function(){this.setColour(vT),this.appendValueInput("A").setCheck("esp32_image").appendField(ut.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},HT={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(vT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ut.Msg.MIXLY_UP,shift_down:ut.Msg.MIXLY_DOWN,shift_left:ut.Msg.MIXLY_LEFT,shift_right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},WT={init:function(){this.setColour(vT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},KT={init:function(){this.setColour(vT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},JT={init:function(){this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},QT={init:function(){this.setColour(vT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},zT={init:function(){this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},qT={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(vT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},jT={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(vT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},ZT={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(vT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},$T={init:function(){var t=[["4x5"+ut.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ut.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ut.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.OLED_SET_FONT).appendField(new ut.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},th={init:function(){this.setColour(vT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},eh={init:function(){this.setColour(vT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},ih={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},nh={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},sh={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},oh={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_h={init:function(){this.setColour(vT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},ph={init:function(){this.jsonInit({colour:vT,args0:[{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},ah={init:function(){this.jsonInit({colour:vT,args0:[{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ut.Msg.mpython_vertical,"0"],[ut.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},uh={init:function(){this.jsonInit({colour:vT,args0:[{name:"state",options:[[ut.Msg.mpython_display_hline_1,"1"],[ut.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.mpython_display_line_TOOLTIP,message0:ut.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},rh={init:function(){this.jsonInit({colour:vT,args0:[{type:"field_label",name:"size_image",text:ut.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},lh={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(vT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},dh={init:function(){this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Ih={init:function(){this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Th={init:function(){this.setColour(vT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},hh={init:function(){var t=[[ut.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ut.Msg.CLOCKWISE+"90"+ut.Msg.blockpy_setheading_degree,"1"],[ut.Msg.CLOCKWISE+"180"+ut.Msg.blockpy_setheading_degree,"2"],[ut.Msg.CLOCKWISE+"270"+ut.Msg.blockpy_setheading_degree,"3"]];this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ut.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Mh={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(vT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},mh={init:function(){this.setColour(vT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},Oh={init:function(){this.setColour(vT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},Eh={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Rh={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ch={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},gh={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ch={init:function(){this.setColour(vT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sh={init:function(){this.jsonInit({colour:vT,args0:[{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ut.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Ah={init:function(){this.jsonInit({colour:vT,args0:[{name:"dir_h_v",options:[[ut.Msg.mpython_vertical,"0"],[ut.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ut.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},Lh={init:function(){this.jsonInit({colour:vT,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.mpython_display_line_TOOLTIP,message0:ut.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Nh={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(vT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},Dh={init:function(){this.setColour(vT),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},fh={init:function(){this.setColour(vT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_LCD_SETCOLOR).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Fh={init:function(){this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},Ph={init:function(){this.setColour(vT),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},vh={init:function(){this.setColour(vT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Yh={init:function(){this.setColour(vT),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},xh={init:function(){this.setColour(vT),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ut.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Xh={init:function(){this.setColour(vT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},bh={init:function(){this.setColour(vT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ut.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ut.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ut.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},yh={init:function(){this.setColour(vT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Vh={init:function(){this.setColour(vT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Bh={init:function(){this.jsonInit({colour:vT,args0:[{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,message0:ut.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},Gh="#777777",Uh={init:function(){this.setColour(Gh),this.appendDummyInput("").appendField("from ").appendField(new ut.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ut.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wh={init:function(){this.setColour(Gh),this.appendDummyInput("").appendField("import ").appendField(new ut.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kh={init:function(){this.setColour(Gh),this.appendDummyInput("").appendField(new ut.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ut.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},FM={init:function(){this.setColour(CM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},PM={init:function(){this.setColour(CM),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}},vM={init:function(){this.setColour(CM),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}},YM={init:function(){this.setColour(CM),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)}},xM={init:function(){this.setColour(CM),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)}},XM={init:function(){this.setColour(CM),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)}},bM={init:function(){this.setColour(CM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yM={init:function(){this.setColour(CM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VM={init:function(){this.setColour(CM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BM={init:function(){this.setColour(CM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},GM={init:function(){this.setColour(CM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},UM={init:function(){this.setColour(CM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},wM={init:function(){this.setColour(CM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},kM={init:function(){this.setColour(CM),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)}},HM={init:function(){this.setColour(CM),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)}},WM={init:function(){this.setColour(CM),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)}},KM={init:function(){this.setColour(CM),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)}},JM={init:function(){this.VISITOR_ID=rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(CM),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")}},QM={init:function(){this.setColour(CM),this.appendDummyInput().appendField("MixIO").appendField(ut.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},zM={init:function(){this.setColour(CM),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)}},qM={init:function(){this.setColour(CM),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)}},jM={init:function(){this.setColour(CM),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)}},ZM={init:function(){this.setColour(CM),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)}},$M=SM,tm=AM,em=LM,im=NM,nm=fM,sm=225,om={init:function(){this.setColour(sm),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)}},_m={init:function(){this.setColour(sm),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}))}},pm={init:function(){this.setColour(sm),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(sm),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}))}},um={init:function(){this.setColour(sm),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)}},rm={init:function(){this.setColour(sm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},lm={init:function(){this.setColour(sm),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]}))}},dm={init:function(){this.setColour(sm),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)}},Im={init:function(){this.setColour(sm),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)}},Tm={init:function(){this.setColour(sm),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)}},hm={init:function(){this.setColour(sm),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)}},Mm={init:function(){this.setColour(sm),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]}))}},mm={init:function(){this.setColour(sm),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)}},Om={init:function(){this.setColour(sm),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)}},Em={init:function(){this.setColour(sm),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)}},Rm={init:function(){this.setColour(sm),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)}},cm={init:function(){this.setColour(sm),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)}},gm={init:function(){this.setColour(sm),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)}},Cm={init:function(){this.setColour(sm),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)}},Sm={init:function(){this.setColour(sm),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)}},Am={init:function(){this.setColour(sm),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)}},Lm={init:function(){this.setColour(sm),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")}},Nm={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(sm),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]}))}},Dm={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(sm),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]}))}},fm={init:function(){this.setColour(sm),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)}},Fm={init:function(){this.setColour(sm),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)}},Pm="#A58C5B",vm={init:function(){this.setColour(Pm),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)}},Ym={init:function(){this.setColour(Pm),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)}},xm={init:function(){this.setColour(Pm),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)}},Xm={init:function(){this.setColour(Pm),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)}},bm={init:function(){this.setColour(Pm),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}))}},ym={init:function(){this.setColour(Pm),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}))}},Vm={init:function(){this.setColour(Pm),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)}},Bm={init:function(){var t=[[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(Pm),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]}))}},Gm={init:function(){this.setColour(Pm),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)}},Um={init:function(){this.setColour(Pm),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)}},wm={init:function(){this.setColour(Pm),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}))}},km={init:function(){this.setColour(Pm),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]}))}},Hm={init:function(){this.setColour(Pm),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]}))}},Wm={init:function(){this.setColour(Pm),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)}},Km={init:function(){this.setColour(Pm),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)}},Jm={init:function(){this.setColour(Pm),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"],["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")}},Qm={init:function(){this.setColour(Pm),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)}},zm={init:function(){this.setColour(Pm),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)}},qm={init:function(){this.setColour(Pm),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)}},jm={init:function(){this.setColour(Pm),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)}},Zm={init:function(){this.setColour(Pm),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)}},$m={init:function(){this.setColour(Pm),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)}},tO={init:function(){this.setColour(Pm),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]}))}},eO={init:function(){this.setColour(Pm),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]}))}},iO={init:function(){this.setColour(Pm),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)}},nO={init:function(){this.setColour(Pm),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)}},sO={init:function(){this.setColour(Pm),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}))}},oO={init:function(){this.setColour(Pm),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}))}},_O={init:function(){this.setColour(Pm),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}))}},pO={init:function(){this.setColour(Pm),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}))}},aO={init:function(){this.setColour(Pm),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)}},uO={init:function(){this.setColour(Pm),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)}},rO={init:function(){this.setColour(Pm),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]}))}},lO={init:function(){this.setColour(Pm),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)}},dO={init:function(){this.setColour(Pm),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")}},IO={init:function(){this.setColour(Pm),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)}},TO={init:function(){this.setColour(Pm),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)}},hO={init:function(){this.setColour(Pm),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)}},MO={init:function(){this.setColour(Pm),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)}},mO={init:function(){this.setColour(Pm),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)}},OO={init:function(){this.setColour(Pm),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)}},EO={init:function(){this.setColour(Pm),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)")}},RO={init:function(){this.setColour(Pm),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},cO={init:function(){this.setColour(Pm),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)}},gO={init:function(){this.setColour(Pm),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},vA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},YA=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"},xA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},XA=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"},bA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},yA=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"},VA=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},BA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},GA=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]},UA=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"},wA=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},kA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},HA=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},WA=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]},KA=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},JA=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"},QA=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"},zA=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"},qA=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"}},jA=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"},ZA=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},$A=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]},tL=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"},eL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},iL=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"}},nL=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"}},sL=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"},oL=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"},_L=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},pL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},aL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},uL=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"},rL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},lL=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"},dL=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},IL=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]},TL=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},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,"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},ML=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},mL=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},OL=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},EL=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"},RL=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"},cL=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"},gL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},CL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},SL=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"},AL=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"},LL=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"},NL=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"},DL=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"},fL=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"},FL=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"},PL=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"},vL=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"},YL=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"},xL=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"},XL=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]},bL=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"},yL=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"},VL=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"},BL=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"},GL=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"},UL=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")},wL=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},kL=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"},HL=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},WL=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"},KL=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]},JL=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]},QL=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},LN=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},NN=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"},DN=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},fN=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"},FN=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},PN=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},vN=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},YN=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},xN=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"},XN=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"},bN=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]},yN=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 _},VN=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]},BN=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"},GN=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},UN=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},wN=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"},kN=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"},HN=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"},WN=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},KN=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},JN=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},QN=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},zN=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},Vv=function(){return"control.reset()\n"},Bv=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||rt.Profile.default.serial)+")\n"},Gv=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"},Uv=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"},wv=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},kv=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},Hv=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Wv=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Kv=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},Jv=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},Qv=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},zv=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]}},qv=function(){return"while True:\n pass\n"},jv=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},Zv=function(t,e){return e.definitions_.import_os="import os","os.uname()"},$v=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"}},tY=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"}},eY=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"},iY=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"},nY=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]},sY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},oY=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},_Y=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},pY=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},aY=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},uY=sY,rY=iY,lY=nY,dY=$v,IY=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]},TY=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]},hY=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]},MY={};MY["飞乙"]={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"])},MY["超霸大师"]={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"])},MY["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"]]},MY["机器人大师"]={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 mY=MY,OY=230,EY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},RY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},cY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},gY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},CY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},SY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},AY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},LY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},NY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},DY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},fY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},FY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},PY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},vY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},YY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},xY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},XY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},bY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},yY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},VY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},BY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},GY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},UY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},wY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},kY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},HY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},WY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},KY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},JY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},QY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},zY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},qY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},jY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},ZY={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},$Y={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},tx={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},ex={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ix={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},nx={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},sx={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},ox={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},_x={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},px={init:function(){this.setColour(OY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},ax={init:function(){this.setColour(OY),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]},rx=ux,lx=ux,dx=ux,Ix=ux,Tx=ux,hx=ux,Mx=ux,mx=ux,Ox=ux,Ex=ux,Rx=ux,cx=ux,gx=ux,Cx=ux,Sx=ux,Ax=ux,Lx=ux,Nx=ux,Dx=ux,fx=ux,Fx=ux,Px=ux,vx=ux,Yx=ux,xx=ux,Xx=ux,bx=ux,yx=ux,Vx=ux,Bx=ux,Gx=ux,Ux=ux,wx=ux,kx=ux;Object.assign(ut.Variables,dt),Object.assign(ut.Procedures,xn),ut.Python=Ka,ut.generator=Ka,rt.Profile.default={},Object.assign(rt.Profile,mY),Object.assign(rt.Profile.default,mY["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,z,tt,_t,K,nt,it,et,J,W,H,j,q,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 bt={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}},Xt={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)}},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 qt={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)}},jt={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]}))}},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_MP_TOOLTIP,e:ut.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},$t={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]}))}},te={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]}))}},ee={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("位运算")}},ie={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]}))}},ne={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]}))}},se={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]}))}},oe={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]}))}},_e={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]}))}},pe={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]}))}},ae={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)}},ue={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)}},re={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)}},le={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)}},de={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)}},Ie={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]}))}},Te={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]}))}},he=ue,Me=160,me={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,'"')}},Oe={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 Ee={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,'"')}},Re={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)}},ce={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)}},ge={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)}},Ce={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)}},Se={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)}},Ae={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)}},Le={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)}},Ne={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)}},De={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)}},Fe={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)}},Pe={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)}},ve={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]}))}},Ye={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)}},Xe={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)}},ye={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)}},Ve={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]}))}},Be={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(Yi),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Xi={init:function(){this.setColour(Yi),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}},yi={init:function(){this.setColour(Yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_KEYS),this.setTooltip(ut.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Vi={init:function(){this.setColour(Yi),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)}},Bi={init:function(){this.setColour(Yi),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)}},Gi={init:function(){this.setColour(Yi),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)}},Ui={init:function(){this.setColour(Yi),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)}},wi={init:function(){this.setColour(Yi),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)}},ki={init:function(){this.setColour(Yi),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)}},Hi={init:function(){this.setColour(Yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_ITEMS),this.setTooltip(ut.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Wi={init:function(){this.setColour(Yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.DICT_VALUES),this.setTooltip(ut.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Ki={init:function(){this.setColour(Yi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LENGTH),this.setTooltip(ut.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Ji={init:function(){this.setColour(Yi),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(Yi),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(Yi),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)}},qi={init:function(){this.setColour(Yi),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)}},ji={init:function(){this.setColour(Yi),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")}},Zi={init:function(){this.setColour(Yi),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},$i={init:function(){this.setColour(Yi),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)}},tn={init:function(){this.setColour(Yi),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)}},en=210,nn={init:function(){var t=ut.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(en),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]}},sn={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(en),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)}},on={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(en),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]}))}},_n={init:function(){this.setColour(en),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(ut.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(ut.Msg.LOGIC_NEGATE_TOOLTIP)}},pn={init:function(){var t=[[ut.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[ut.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(en),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new ut.FieldDropdown(t),"BOOL"),this.setTooltip(ut.Msg.LOGIC_BOOLEAN_TOOLTIP)}},an={init:function(){this.setColour(en),this.setOutput(!0),this.appendDummyInput().appendField(ut.Msg.LOGIC_NULL),this.setTooltip(ut.Msg.LOGIC_NULL_TOOLTIP)}},un={init:function(){this.setColour(en),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)}},rn={init:function(){var t=[[ut.Msg.TEXT_APPEND_TO,"in"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(en),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)}},ln={init:function(){var t=[[ut.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[ut.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(en),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)}},dn={init:function(){this.setColour(en),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},In={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)}},Tn={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")}},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.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+_}))}},mn={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)}},On={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)}},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_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}))}},Rn={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)}},cn={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)}},gn={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)}},Cn={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)}},Sn={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 An={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)}},Ln={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)}},Nn={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)}},Dn={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)}},Fn={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]}))}},Pn={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)}},vn={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)}},Yn={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()}},Xn={};Xn.NAME_TYPE=ut.PROCEDURE_CATEGORY_NAME,Xn.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)}},Ps={init:function(){this.setColour(As),this.appendDummyInput().appendField(ut.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},vs={init:function(){this.setColour(As),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)}},Ys={init:function(){this.setColour(As),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(As),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(As),this.appendDummyInput().appendField(ut.Msg.HTML_TEXT).appendField(new ut.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs=160,ys={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new ut.FieldTable(""),"TEXT")}},Vs={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT")}},Bs={init:function(){this.setColour(Xs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new ut.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Gs={init:function(){this.setColour(Xs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Us={init:function(){this.setColour(Xs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new ut.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ws={init:function(){this.setColour(Xs),this.appendValueInput("VALUE").appendField(ut.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ks={init:function(){this.setColour(Xs),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 Lp=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]},Np=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Dp=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},fp=function(t,e){return["None",e.ORDER_ATOMIC]},Fp=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]},Pp=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]},vp=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]},Yp=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},xp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},bp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Xp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},yp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Vp=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Bp=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Gp=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]},Up=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},wp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},kp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Hp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Wp=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Kp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Jp=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Qp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},zp=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"},qp=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},jp=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Zp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},$p=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"},ta=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]},ea=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"},ia=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"},na=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]},ya=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Va=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},Ba=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Ga=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Ua=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},wa=function(t,e){return'"},ka=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Ha=function(){return this.getFieldValue("TEXT")+"\n"},Wa=function(t){return t.getFieldValue("TEXT")+"\n"},Ka=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Ja=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Qa=function(){return""},za=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},qa=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")},Za.scrubNakedValue=function(t){return t+"\n"},Za.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},Za.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Za.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=ut.utils.string.wrap(o,Za.COMMENT_WRAP-3),n+=Za.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const $a="#74A55B",tu={init:function(){this.setColour($a),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)}},eu={init:function(){this.setColour($a),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)}},iu={init:function(){this.setColour($a),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)}},nu={init:function(){this.setColour($a),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)}},su={init:function(){this.setColour($a),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)}},ou={init:function(){this.setColour($a),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)}},_u={init:function(){this.setColour($a),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)}},pu={init:function(){this.setColour($a),this.appendValueInput("SUB"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},au={init:function(){this.setColour($a),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)}},uu={init:function(){this.setColour($a),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)}},ru={init:function(){this.setColour($a),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)}},lu={init:function(){this.setColour($a),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)}},du={init:function(){this.setColour($a),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)}},Iu={init:function(){this.setColour($a),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)}},Tu={init:function(){this.setColour($a),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)}},hu={init:function(){this.setColour($a),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)}},Mu={init:function(){this.setColour($a),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)}},mu={init:function(){this.setColour($a),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)}},Ou={init:function(){this.setColour($a),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)}},Eu={init:function(){this.setColour($a),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通信")}},Ru={init:function(){this.setColour($a),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($a),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)")}},gu={init:function(){this.setColour($a),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)}},Cu={init:function(){this.setColour($a),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)}},Su={init:function(){this.setColour($a),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)}},Au={init:function(){this.setColour($a),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)}},Lu={init:function(){this.setColour($a),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")}},Nu={init:function(){this.setColour($a),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)}},Du={init:function(){this.setColour($a),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)}},fu={init:function(){this.setColour($a),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)}},Fu={init:function(){this.setColour($a),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)}},Pu={init:function(){this.setColour($a),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.extern_addr),"PIN"),this.setOutput(!0,Number)}},vu={init:function(){this.setColour($a),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)}},Yu={init:function(){this.setColour($a),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)}},xu={init:function(){this.setColour($a),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)}},bu={init:function(){this.setColour($a),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)}},Xu={init:function(){this.setColour($a),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)}},yu={init:function(){this.setColour($a),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)}},Vu={init:function(){this.setColour($a),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)}},Bu={init:function(){this.setColour($a),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)}},Gu={init:function(){this.setColour($a),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)}},Uu={init:function(){this.setColour($a),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)}},wu={init:function(){this.setColour($a),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)}},ku={init:function(){this.setColour($a),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)}},Hu={init:function(){this.setColour($a),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)}},Wu={init:function(){this.setColour($a),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)}},Ku="#6C9858",Ju={init:function(){this.setColour(Ku),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","1"],["L2","2"]]),"op"),this.setOutput(!0)}},Qu={init:function(){this.setColour(Ku),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)}},zu={init:function(){this.setColour(Ku),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)}},qu={init:function(){this.setColour(Ku),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)}},ju={init:function(){this.setColour(Ku),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)}},Zu={init:function(){this.setColour(Ku),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%)")}},$u={init:function(){this.setColour(Ku),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_OFF,"0"],[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()}},tr={init:function(){this.setColour(Ku),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)}},er={init:function(){this.setColour(Ku),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)}},ir={init:function(){this.setColour(Ku),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)}},nr={init:function(){this.setColour(Ku),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)")}},sr={init:function(){this.setColour(Ku),this.appendDummyInput("").appendField(new ut.FieldDropdown([["L1","20"],["L2","21"]]),"op"),this.setOutput(!0)}},or={init:function(){this.setColour(Ku),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)}}},_r={init:function(){this.setColour(Ku),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)}},pr={init:function(){this.setColour(Ku),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("")}},ar={init:function(){this.setColour(Ku),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("")}},ur={init:function(){this.setColour(Ku),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)}},rr={init:function(){this.setColour(Ku),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)}}},lr={init:function(){this.setColour(Ku),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)}},dr={init:function(){this.setColour(Ku),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("")}},Ir={init:function(){this.setColour(Ku),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)}},Tr={init:function(){this.setColour(Ku),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)}},hr={init:function(){this.setColour(Ku),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)}},Mr={init:function(){this.setColour(Ku),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)}},mr={init:function(){this.setColour(Ku),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)}},Or={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Er={init:function(){this.setColour(Ku),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)}},Rr={init:function(){this.setColour(Ku),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(Ku),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)}},gr={init:function(){this.setColour(Ku),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("")}},Cr={init:function(){this.setColour(Ku),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)}},Sr={init:function(){this.setColour(Ku),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)}},Ar={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXBOT_MOTOR_STATUS_TOOLTIP)}},Lr={init:function(){this.setColour(Ku),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)}},Nr={init:function(){this.setColour(Ku),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)}},Dr={init:function(){this.setColour(Ku),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)}},fr={init:function(){this.setColour(Ku),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)}},Fr={init:function(){this.setColour(Ku),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)}},Pr={init:function(){this.setColour(Ku),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)}},vr={init:function(){this.setColour(Ku),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)}},Yr={init:function(){this.setColour(Ku),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)}},xr={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SOUND_LOUDNESS+"(%)"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_LED_GETONOFF)}},br={init:function(){this.setColour(Ku),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)}},Xr={init:function(){this.setColour(Ku),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)}},yr={init:function(){this.setColour(Ku),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)}},Vr={init:function(){this.setColour(Ku),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)}},Br={init:function(){this.setColour(Ku),this.appendValueInput("PATH").appendField(ut.Msg.MIXLY_PLAY_ONLINE_AUDIO).appendField("URL"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Gr={init:function(){this.setColour(Ku),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)}},Ur={init:function(){this.setColour(Ku),this.appendDummyInput().appendField(ut.Msg.MIXLY_NOTONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wr={init:function(){this.setColour(Ku),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()}},kr={init:function(){this.setColour(Ku),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)}},Hr={init:function(){this.setColour(Ku),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)}},Wr="#90A244",Kr={init:function(){this.setColour(Wr),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+"MixGo AI"+ut.Msg.MSG.catSensor),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Jr={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_QR_CODE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.OLED_STRING,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_QR_CODE_TOOLTIP)}},Qr={init:function(){this.setColour(Wr),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_QR_CODE+ut.Msg.MIXPY_OBJECT,"qrcode"],[ut.Msg.MIXLY_BAR_CODE+ut.Msg.MIXPY_OBJECT,"barcode"],[ut.Msg.MIXLY_TAG+ut.Msg.MIXPY_OBJECT,"apriltag"]]),"TYPE"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ANALYSIS_RESULT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip()}},zr={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_QR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[qrcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_QR_CODE_RECOGNTITION_TOOLTIP)}},qr={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendValueInput("RX").appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_ETHERNET_CLINET_PORT).appendField("RX#").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("TX").appendField("TX#").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().appendField(ut.Msg.SOFT_RESET+ut.Msg.MIXLY_ESP32_RGB_WRITE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[ut.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"mode"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},jr={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendValueInput("led1").appendField(ut.Msg.MIXLY_SETTING).appendField("RGB1").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("led2").appendField("RGB2").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CONFIG_TOOLTIP)}},Zr={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_BAR_CODE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.OLED_STRING,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_CODE_TOOLTIP)}},$r={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_BAR_CODE_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[barcode]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_CODE_RECOGNTITION_TOOLTIP)}},tl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_TAG+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.OLED_STRING,"info1"],[ut.Msg.blockpy_turtle_rotate+ut.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_TAG_TOOLTIP)}},el={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_TAG_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[tag]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_TAG_RECOGNTITION_TOOLTIP)}},il={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LINE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LINE_ANGLE,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-x1x2y1y2","rect"],["x1"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["x2"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["y1"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["y2"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LINE_TOOLTIP)}},nl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_LINE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_LINE_RECOGNTITION_ANGLE).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_LINE_RECOGNTITION_SLOPE).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[line]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LINE_RECOGNTITION_TOOLTIP)}},sl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_CIRCLE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_CIRCLE_AREA,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ol={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_CIRCLE_RECOGNTITION),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_CIRCLE_RECOGNTITION_MIN).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_CIRCLE_RECOGNTITION_MAX).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[circle]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},_l={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_RECT+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_CIRCLE_AREA,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_RECT_TOOLTIP)}},pl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_RECT_RECOGNTITION),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[rect]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},al={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["RGB"+ut.Msg.HTML_COLOUR,"[0]"],["LAB"+ut.Msg.MIXLY_COLOR_LAB,"[1]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_COLOR_TOOLTIP)}},ul={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_RECOGNTITION),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"color"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_COLOR_RECOGNTITION_TOOLTIP)}},rl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_COLOR_CHASE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_CIRCLE_AREA,"info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_TOOLTIP)}},ll={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE),this.appendValueInput("VAR1").appendField("LAB"+ut.Msg.MIXLY_COLOR_LAB).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_COLOR_CHASE_MERGE).setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[colors]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_CIRCLE_RECOGNTITION_TOOLTIP)}},dl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_LOCAL_TRAIN),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_OBJECT_LIST).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MICROPYTHON_HUSKYLENS_SAVE_AS+ut.Msg.MIXLY_MODEL_NAME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR3").appendField(ut.Msg.MIXLY_TRAIN_TIME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ut.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LOCAL_TRAIN_TOOLTIP)}},Il={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_LOCAL_CLASS),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_OBJECT_LIST).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_MODEL_NAME).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ut.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_MODEL_NAME_TOOLTIP)}},Tl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LOCAL_CLASS+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LOCAL_CLASS_TOOLTIP)}},hl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MUSIC_RECORD),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_MUSIC_RECORD_TOOLTIP)}},Ml={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MUSIC_PLAY),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_MP3_VOL).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().appendField("%"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},ml={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_YOLO_RECOGNIZE),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_ANCHOR).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_MODEL_PATH).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR4").appendField(ut.Msg.MIXLY_AipNlp_Topic_Title).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_TOOLTIP)}},Ol={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_YOLO_RECOGNIZE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_COLOR_CHASE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"],[ut.Msg.MICROPYTHON_HUSKYLENS_X_CENTERED+ut.Msg.MIXLY_POSITION_XY,"xc"],[ut.Msg.MICROPYTHON_HUSKYLENS_Y_CENTERED+ut.Msg.MIXLY_POSITION_XY,"yc"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_YOLO_RECOGNIZE_RESULT_TOOLTIP)}},El={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_AipSpeech_asr),this.appendValueInput("VAR1").appendField(ut.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_CORPUS).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(ut.Msg.MIXLY_ESP32_THRESHOLD).setAlign(ut.inputs.Align.RIGHT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_ASR_RECOGNISE_TOOLTIP)}},Rl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_LICENSEPLATE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_TOOLTIP)}},cl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_AipOcr_licensePlate),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[licensePlate]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_LICENSEPLATE_RECOGNTITION_TOOLTIP)}},gl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_FACE+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_FACE_TOOLTIP)}},Cl={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_AipFace),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[face]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_FACE_CLASSIFIER_TOOLTIP)}},Sl={init:function(){this.setColour(Wr),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_20OBJECTS+ut.Msg.MIXPY_OBJECT).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ALL_CODE_ANALYSIS),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET).appendField(new ut.FieldDropdown([["ID","info1"],[ut.Msg.MIXLY_CONFIDENCE_DEGREE,"info2"],[ut.Msg.MIXLY_POSITION_XY+"-xywh","rect"],["x"+ut.Msg.MIXLY_POSITION_XY,"rect[0]"],["y"+ut.Msg.MIXLY_POSITION_XY,"rect[1]"],["w"+ut.Msg.MIXLY_POSITION_XY,"rect[2]"],["h"+ut.Msg.MIXLY_POSITION_XY,"rect[3]"]]),"key"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_20OBJECTS_TOOLTIP)}},Al={init:function(){this.setColour(Wr),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.MIXLY_FIND_20OBJECTS),this.appendDummyInput().setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.PROCEDURES_DEFRETURN_RETURN+"[20objects]"),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_AI_SENSOR_BAR_FIND_20OBJECTS_TOOLTIP)}},Ll={init:function(){this.setColour(205),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SETUP).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_AipSpeech_asr,"ASR"],[ut.Msg.MIXLY_AI_UNIT,"UNIT"]]),"CTYPE"),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_Client).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Nl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_AI_UNIT).appendField(ut.Msg.MIXLY_Client).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("ID").appendField("ID").setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(ut.Msg.OLED_STRING).setAlign(ut.inputs.Align.RIGHT),this.setInputsInline(!0),this.setOutput(!0)}},Dl={init:function(){this.setColour(205),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_AipSpeech_asr).appendField(ut.Msg.MIXLY_Client).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(ut.Msg.MIXPY_AI_AUDIO_TIME).setAlign(ut.inputs.Align.RIGHT),this.appendDummyInput("").appendField(ut.Msg.MIXLY_LANGUAGE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_AI_LANGUAGE_CHINESE,"1537"],[ut.Msg.MIXLY_AI_LANGUAGE_ENGLISH,"1737"],[ut.Msg.MIXLY_AI_LANGUAGE_CANTONESE,"1637"]]),"LANGUAGE"),this.setInputsInline(!0),this.setOutput(!0)}},fl="#2FAD7A",Fl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_TERMINAL_WIDGET_VPIN_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},Pl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SYNC_VIRTUAL_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"}]})}},vl={init:function(){this.jsonInit({inputsInline:!0,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_ON_DISCONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},Yl={init:function(){this.jsonInit({inputsInline:!0,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_ON_CONNECTED_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_ON_CONNECTED_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_ON_CONNECTED_MESSAGE0}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},xl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNKTIMER_RUN_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNKTIMER_RUN_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNKTIMER_RUN_MESSAGE0})}},bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_RUN_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_RUN_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_RUN_MESSAGE0})}},Xl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_APP_NOTIFY_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_APP_NOTIFY_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_APP_NOTIFY_MESSAGE0,args0:[{check:String,type:"input_value",name:"notification"}]})}},yl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_STOP_TIMERS_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_STOP_TIMERS_MESSAGE0,args0:[{check:Number,type:"input_value",name:"timer_num"}]})}},Vl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_SET_PROPERTY_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SET_PROPERTY_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SET_PROPERTY_MESSAGE0,args0:[{check:String,type:"input_value",name:"attribute_name"},{type:"input_value",name:"attribute_value"}]})}},Bl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_EMAIL_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_EMAIL_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_EMAIL_MESSAGE0,args0:[{check:String,type:"input_value",name:"TargetEmail"},{check:String,type:"input_value",name:"subject"},{check:String,type:"input_value",name:"body"}]})}},Gl={init:function(){this.jsonInit({inputsInline:!0,output:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_GET_TIMERS_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_GET_TIMERS_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_GET_TIMERS_MESSAGE0})}},Ul={init:function(){this.jsonInit({message0:ut.Msg.MPYTHON_BLYNKTIMER_MESSAGE0,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNKTIMER_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNKTIMER_TOOLTIP,args0:[{check:Number,type:"input_value",name:"Num"},{options:[[ut.Msg.MIXLY_PYTHON_PERIODIC,"False"],[ut.Msg.MIXLY_PYTHON_ONE_SHOT,"True"]],type:"field_dropdown",name:"Timer_mode"},{check:Number,type:"input_value",name:"period"}]}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},wl={init:function(){this.jsonInit({inputsInline:!0,nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_MESSAGE0,args0:[{type:"input_value",name:"sensor_data"},{check:Number,type:"input_value",name:"virtual_pin"}]})}},kl={init:function(){this.jsonInit({inputsInline:!0,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_APP_DATA_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SENSOR_DATA_TO_APP_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_APP_DATA_MESSAGE0,args0:[{check:Number,type:"input_value",name:"virtual_pin"},{type:"input_value",name:"virtual_pin_val"}]}),this.appendStatementInput("DO").appendField(ut.CONTROLS_REPEAT_INPUT_DO)}},Hl={init:function(){this.jsonInit({nextStatement:null,previousStatement:null,colour:fl,helpUrl:ut.Msg.MPYTHON_BLYNK_SETUP_HELPURL,tooltip:ut.Msg.MPYTHON_BLYNK_SETUP_TOOLTIP,message0:ut.Msg.MPYTHON_BLYNK_SETUP_MESSAGE0,args0:[{type:"input_dummy"},{check:String,type:"input_value",name:"server"},{check:Number,type:"input_value",name:"port"},{check:String,type:"input_value",name:"auth"}]})}},Wl=140,Kl={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_LED_ON_BOARD+"I2C"),this.setOutput(!0),this.setInputsInline(!0)}},Jl={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_LED_ON_BOARD+"SPI"),this.setOutput(!0),this.setInputsInline(!0)}},Ql={init:function(){this.setColour(Wl),this.appendValueInput("SUB").appendField("I2C "+ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("TX",Number).appendField("SCL").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("RX",Number).appendField("SDA").setCheck(Number).setAlign(ut.inputs.Align.RIGHT),this.appendValueInput("freq").setCheck(Number).appendField(ut.Msg.MIXLY_FREQUENCY).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_I2C_INIT)}},zl={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_RNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_I2C_READ)}},ql={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendValueInput("address").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_WNUMBER),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_I2C_WRITE)}},jl={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("I2C").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_I2C_SCAN1+ut.Msg.MIXLY_ESP32_I2C_SCAN2),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_I2C_SCAN)}},Zl={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_ESP32_SPI_INIT),this.appendValueInput("freq").setCheck(Number).appendField(ut.Msg.MIXLY_SERIAL_BEGIN),this.appendValueInput("sck").setCheck(Number).appendField("SCK"),this.appendValueInput("mosi").setCheck(Number).appendField("MOSI"),this.appendValueInput("miso").setCheck(Number).appendField("MISO"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_INIT_TOOLTIP)}},$l={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_SERIAL_BEGIN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_SET)}},td={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_SET+ut.Msg.MIXLY_ESP32_SPI_BUFFER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_BUFFER_SET)}},ed={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ut.Msg.LANG_MATH_BYTE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READ)}},id={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(Number).appendField(ut.Msg.MIXLY_SERIAL_READ),this.appendDummyInput("").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ut.Msg.LANG_MATH_BYTE+" "+ut.Msg.MIXLY_ESP32_SPI_OUTPUT),this.appendValueInput("val").setCheck(Number),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READ_OUTPUT)}},nd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ut.Msg.MIXLY_SERIAL_READ+ut.Msg.MIXLY_ESP32_SPI_BUFFER),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READINTO)}},sd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck("var").appendField(ut.Msg.MIXLY_SERIAL_READ+ut.Msg.MIXLY_ESP32_SPI_BUFFER),this.appendValueInput("val").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_SPI_OUTPUT),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_READINTO_OUTPUT)}},od={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_WRITE),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_WRITE)}},_d={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("SPI"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_WRITE),this.appendValueInput("val").setCheck("var").appendField(ut.Msg.MIXLY_ESP32_BUFFER_READ),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SPI_WRITE_READINTO)}},pd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_READ),this.setOutput(!0,Number)}},ad={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("I2C"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_READ+ut.Msg.MIXLY_ESP32_SUCCESS),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_ESP32_I2C_AVAILABLE)}},ud={init:function(){this.setColour(Wl),this.appendValueInput("PIN",Number).appendField(ut.Msg.MIXLY_I2C_SLAVE_ONRECEIVE).setCheck(Number),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire "+ut.Msg.MIXLY_SETUP),this.appendValueInput("BUS").setCheck(Number).appendField(ut.Msg.MIXLY_PIN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_INIT)}},ld={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_ONEWIRE_SCAN),this.setOutput(!0,"List"),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_SCAN)}},dd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_ONEWIRE_READ),this.setOutput(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_READ)}},Id={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("OneWire"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_ESP32_WRITE).appendField(new ut.FieldDropdown([[ut.Msg.LANG_MATH_STRING,"write"],[ut.Msg.LANG_MATH_BYTE,"writebyte"]]),"op"),this.appendValueInput("byte").setCheck([Number,String]),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_WRITE)}},Td={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendValueInput("byte").setCheck(String).appendField(ut.Msg.LISTS_SET_INDEX_SET).appendField("ROM"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_SELECT)}},hd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField("OneWire").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.blockpy_turtle_reset),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_OW_RESET)}},Md={init:function(){this.setColour(Wl),this.appendValueInput("PIN").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.MIXLY_IR_RECEIVE),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_IR_INPUT1,"8"],[ut.Msg.MIXLY_IR_INPUT2,"16"],[ut.Msg.MIXLY_IR_INPUT3,"0"],[ut.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type"),this.appendValueInput("SUB").appendField(ut.Msg.CONTROLS_REPEAT_INPUT_DO+ut.Msg.MIXLY_ESP32_ONENET_SUB),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},md={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_IR_CMD_CODE,"0"],[ut.Msg.MIXLY_IR_ADDR_CODE,"1"],[ut.Msg.MIXLY_IR_RAW_CODE,"2"],[ut.Msg.MIXLY_IR_PULSE,"3"]]),"index"),this.setOutput(!0),this.setInputsInline(!0)}},Od={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXlY_RECV_FUN).appendField(new ut.FieldDropdown([[ut.Msg.MILY_PAUSE,"True"],[ut.Msg.MIXLY_RECOVER,"False"]]),"en"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ed={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXlY_RECV_FUN),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_WHETHER_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Rd={init:function(){this.setColour(Wl),this.appendValueInput("time").appendField(ut.Msg.MIXlY_RECV_FUN).appendField(ut.Msg.MIXLY_IR_TIMEOUT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MILLISECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},cd={init:function(){this.setColour(Wl),this.appendValueInput("PIN").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.MIXLY_IR_SEND).appendField(ut.Msg.MIXLY_PIN),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_TYPE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_IR_SEND_samsung1,"False"],[ut.Msg.MIXLY_IR_SEND_samsung2,"True"],[ut.Msg.MIXLY_TR_SEND_RC,"RC5"]]),"type").appendField(ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendValueInput("power"),this.appendDummyInput().appendField(ut.Msg.MATH_QUYU_SYMBOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_SEND),this.appendValueInput("cmd").appendField(ut.Msg.MIXLY_IR_CMD_CODE),this.appendValueInput("addr").appendField(ut.Msg.MIXLY_IR_ADDR_CODE),this.appendValueInput("toggle").appendField(ut.Msg.MIXLY_CONTROL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_TRANSMIT_CONVEN_DATA)}},Cd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_SEND),this.appendValueInput("LIST").appendField(ut.Msg.MIXLY_IR_PULSE).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Sd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_SEND),this.appendValueInput("raw").appendField(ut.Msg.MIXLY_IR_RAW_CODE).setAlign(ut.inputs.Align.RIGHT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Ad={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_IR_TRANSMIT_DONE),this.setOutput(!0),this.setInputsInline(!0)}},Ld={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField(ut.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catEthernet_init+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ut.Msg.MSG.catBLE_UART),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Nd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").appendField(ut.Msg.MSG.catBLE).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catEthernet_init+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS+ut.Msg.MSG.catBLE_HID),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_ONEWIRE_SCAN+ut.Msg.MSG.catBLE),this.setOutput(!0),this.setInputsInline(!0)}},fd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Fd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_TEXT_JOIN+ut.Msg.MSG.catBLE).appendField(new ut.FieldDropdown([[ut.Msg.HTML_NAME,"name"],[ut.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"mac"]]),"mode"),this.appendValueInput("data").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Pd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catBLE+ut.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").appendField(ut.Msg.HTML_BODY),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Yd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MSG.catBLE+ut.Msg.MIXLY_EMQX_IS_CONNECT),this.setOutput(!0),this.setInputsInline(!0)}},xd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ut.Msg.CONTROLS_REPEAT_INPUT_DO+ut.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},Xd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField(ut.Msg.MIXLY_BLE_HANDLE),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV).appendField(ut.Msg.CONTROLS_REPEAT_INPUT_DO+ut.Msg.MIXLY_ESP32_ONENET_SUB),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ut.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ut.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendDummyInput("").appendField(ut.Msg.MIXLY_TX_POWER).appendField(new ut.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Vd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "+ut.Msg.MIXLY_SETUP),this.appendValueInput("CHNL").setCheck(Number).appendField(ut.Msg.MIXLY_MP_ESPNOW_CHANNEL),this.appendValueInput("DB").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MP_ESPNOW_INIT_TOOLTIP)}},Bd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_MAC),this.setOutput(!0),this.setInputsInline(!0)}},Gd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_INFO),this.setOutput(!0),this.setInputsInline(!0)}},Ud={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.appendDummyInput().appendField(new ut.FieldDropdown([["("+ut.Msg.MIXLY_ETHERNET_MAC_ADDRESS+", "+ut.Msg.OLED_STRING+")",""],[ut.Msg.MIXLY_ETHERNET_MAC_ADDRESS,"[0]"],[ut.Msg.OLED_STRING,"[1]"]]),"mode"),this.setOutput(!0),this.setInputsInline(!0)}},wd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("mac").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND_MAC),this.appendValueInput("content").appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},kd={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("ESPnow "),this.appendValueInput("METHOD").appendField(ut.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Wd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_SETTING+ut.Msg.MIXLY_MP_ESPNOW_RADIO+ut.Msg.MIXLY_TX_POWER).appendField(new ut.FieldDropdown([["20","20"],["18","18"],["16","16"],["15","15"],["14","14"],["13","13"],["11","11"],["8","8"],["7","7"],["5","5"],["2","2"]]),"op"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Kd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_INIT),this.appendValueInput("CHNL").setCheck(Number),this.appendValueInput("DB").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_BLE_POWER),this.appendDummyInput().appendField("db"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MP_ESPNOW_RADIO_INIT_TOOLTIP)}},Jd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_ON,"True"],[ut.Msg.MIXLY_MICROBIT_PY_COMMUNICATE_OFF,"False"]]),"on_off"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Qd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.appendValueInput("send").setCheck(String),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MIXGO_ESPNOW_SEND_TOOLTIP)}},zd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO).appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0),this.setInputsInline(!0)}},qd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_RECEIVED_MSG),this.setOutput(!0),this.setInputsInline(!0)}},jd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},Zd={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ut.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},$d={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},tI={init:function(){this.setColour(Wl),this.appendDummyInput().appendField(ut.Msg.MIXLY_MP_ESPNOW_RADIO_MSG_RECEIVED_CERTAIN).appendField('"').appendField(new ut.FieldTextInput("on"),"msg").appendField('"'),this.appendStatementInput("DO").appendField(ut.Msg.MIXLY_DO),this.setPreviousStatement(!1),this.setNextStatement(!1)}},eI={init:function(){this.setColour(Wl),this.appendValueInput("SUB").appendField("Lora"+ut.Msg.MIXLY_SETUP).setCheck("var"),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("frequency").appendField(ut.Msg.MIXLY_FREQUENCY),this.appendValueInput("rate").appendField(ut.Msg.MIXLY_CODE_RATE),this.appendValueInput("factor").appendField(ut.Msg.MIXLY_SPREADING_FACTOR),this.appendValueInput("power").appendField(ut.Msg.MIXLY_TX_POWER),this.appendDummyInput().appendField(ut.Msg.MIXLY_SIGNAL_BANDWIDTH).appendField(new ut.FieldDropdown([["7800","7800"],["10400","10400"],["15600","15600"],["20800","20800"],["31250","31250"],["41700","41700"],["62500","62500"],["125000","125000"],["250000","250000"],["500000","500000"]]),"bandwidth"),this.setFieldValue("125000","bandwidth"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_LORA_INIT_TOOLTIP)}},iI={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ut.Msg.MIXLY_GET+ut.Msg.MIXLY_PACKAGE).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_SIGNAL_STRENGTH,"packet_rssi"],[ut.Msg.MIXLY_SIGNAL_NOISE_RATE,"packet_snr"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},nI={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ut.Msg.MIXLY_SEND_DATA),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROPYTHON_SOCKET_SEND),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(Wl),this.appendValueInput("VAR").setCheck("var").appendField("Lora "),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXGO_ESPNOW_RECV),this.setOutput(!0,String),this.setInputsInline(!0)}},oI={init:function(){this.setColour(Wl),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")}},_I={init:function(){this.appendValueInput("VAL");var t=[[ut.Msg.blockpy_REQUESTS_GET_ATTR_HEADER,"headers"],[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(Wl),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]}))}},pI={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(Wl),this.appendDummyInput("").appendField(ut.Msg.blockpy_CONDUCT).appendField(new ut.FieldDropdown([["get","get"],["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(ut.Msg.blockpy_REQUESTS),this.setOutput(!0),this.setInputsInline(!0)}},aI=Ql,uI=zl,rI=ql,lI=jl,dI=Zl,II=$l,TI=td,hI=ed,MI=id,mI=nd,OI=sd,EI=od,RI=_d,cI=pd,gI=ad,CI=120;({init:function(){this.setColour(CI),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(ut.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT).appendField(new ut.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(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]}))}}).OPERATORS=[[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[ut.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];({init:function(){this.setColour(CI);var t=new ut.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0);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){t=!0;break}e=e.getSurroundParent()}while(e);t?this.setWarningText(null):this.setWarningText(ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}}).OPERATORS=[[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[ut.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const SI="5BA5A5",AI={init:function(){this.setColour(SI),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([["32x12 Matrix","32x12 Matrix"],["16x8 Matrix","16x8 Matrix"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},LI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},NI={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var"),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},DI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},FI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},PI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},vI={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},YI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},xI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},bI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},XI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},yI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},VI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Built_in_image1).appendField(new ut.FieldDropdown([["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]]),"image"),this.setOutput(!0,"esp32_image"),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},BI={init:function(){var t=[[ut.Msg.MICROBIT_DISPLAY_UNION,"add"],[ut.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ut.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ut.Msg.MIXLY_MICROBIT_image_add,"-":ut.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},GI={init:function(){this.appendValueInput("SUB").setCheck("var"),this.setColour(SI),this.appendValueInput("A").setCheck("esp32_image").appendField(ut.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},UI={init:function(){this.setColour(SI),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.appendValueInput("row").appendField(ut.Msg.MIXLY_SETUP+ut.Msg.LISTS_SET_INDEX_INPUT_TO+"OLED").setCheck(Number),this.appendValueInput("column").appendField("X").setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip()}},wI={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendValueInput("Text_line1","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.OLEDDISPLAY+ut.Msg.line1),this.appendValueInput("Text_line2","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.line2),this.appendValueInput("Text_line3","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.line3),this.appendValueInput("Text_line4","String").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.line4),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SI),this.setTooltip(ut.Msg.MIXLY_DF_LCD+ut.Msg.OLEDDISPLAY+ut.Msg.MIXLY_MICROBIT_TYPE_STRING)}},kI={init:function(){var t=[[ut.Msg.MIXLY_HEIGHT,"height"],[ut.Msg.MIXLY_WIDTH,"width"]];this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ut.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("VAR").setCheck("esp32_image"),this.appendDummyInput("").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET+ut.Msg.MIXLY_MICROBIT_IMAGE+{height:ut.Msg.MIXLY_HEIGHT,width:ut.Msg.MIXLY_WIDTH}[t]}))}},HI={init:function(){var t=[[ut.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ut.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(SI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RECT).appendField(new ut.FieldDropdown(t),"OP"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_RECT,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"width"},{check:Number,type:"input_value",name:"height"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_OLED_RECT)}},WI={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput().appendField(ut.Msg.MIXLY_DISPLAY_DRAW).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_DISPLAY_RLINE,"hline"],[ut.Msg.MIXLY_DISPLAY_VLINE,"vline"]]),"direction"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_LINE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"length"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_OLED_LINE)}},KI={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_OLED_LINE_ARBIT)}},JI={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE),this.setInputsInline(!0),this.setOutput(!0,"esp32_image"),this.setTooltip(ut.Msg.MIXLY_ESP32_MONITOR_GET_SCREEN_IMAGE_TOOLTIP)}},QI={init:function(){this.setColour(SI),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BLINK_RATE)}},zI={init:function(){this.setColour(SI),this.appendDummyInput("").appendField(ut.Msg.MIXLY_RGB),this.appendValueInput("_LED_").setCheck(Number).setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_RGB_NUM),this.appendDummyInput("").appendField(ut.Msg.LISTS_SET_INDEX_SET+ut.Msg.MIXLY_MICROBIT_PY_STORAGE_AS).appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_RGB_NUM_R_G_B)}},qI={init:function(){this.setColour(SI),this.appendDummyInput("").appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ESP32_ON,"ON"],[ut.Msg.MIXLY_ESP32_OFF,"OFF"]]),"ONOFF"),this.setOutput(!0,Boolean),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_INOUT_HIGHLOW)}},jI={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LCD_STAT_CLEAR,"0"],[ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"1"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ut.Msg.MIXLY_LCD_STAT_CLEAR,1:ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ut.Msg.MIXLY_DF_LCD+i[e]}))}},ZI={init:function(){this.setColour(SI),this.setOutput(!0,"Tuple"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISPLAY_ANIMATE).appendField(new ut.FieldDropdown([["ALL_CLOCKS","ALL_CLOCKS"],["ALL_ARROWS","ALL_ARROWS"]]),"ANIMATION")}},$I={init:function(){var t=[[ut.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ut.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(SI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(new ut.FieldDropdown(t),"OP"),this.jsonInit({message0:ut.Msg.MIXLY_HANBIT_SHOW_CIRCLE,args0:[{check:Number,type:"input_value",name:"x"},{check:Number,type:"input_value",name:"y"},{check:Number,type:"input_value",name:"r"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE)}},tT={init:function(){var t=[[ut.Msg.MIXLY_4DIGITDISPLAY_ON,"1"],[ut.Msg.MIXLY_4DIGITDISPLAY_OFF,"0"]];this.setColour(SI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_DISPLAY_DRAW+ut.Msg.MIXLY_HANBIT_DRAW_TRIANGLE).appendField(new ut.FieldDropdown(t),"OP"),this.jsonInit({message0:ut.Msg.MIXLY_HANBIT_SHOW_triangle,args0:[{check:Number,type:"input_value",name:"x0"},{check:Number,type:"input_value",name:"y0"},{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"},{type:"input_dummy"},{checked:!1,type:"field_checkbox",name:"fill"}]}),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(""),this.setTooltip(ut.Msg.MIXLY_DISPLAY_DRAW+ut.Msg.MIXLY_HANBIT_DRAW_TRIANGLE)}},eT={init:function(){this.setColour("#555555"),this.appendDummyInput("").appendField(ut.Msg.MIXGO_ONBOARDDISPLAY_HELP),this.setInputsInline(!0),this.setTooltip("")}},iT={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ut.Msg.OLED).setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("START_X",Number).appendField(ut.Msg.OLED_START_X).setCheck(Number),this.appendValueInput("START_Y",Number).appendField(ut.Msg.OLED_START_Y).setCheck(Number),this.appendValueInput("bitmap_name",String).appendField(ut.Msg.OLED_BITMAP_NAME),this.appendValueInput("WIDTH",Number).appendField(ut.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT",Number).appendField(ut.Msg.MIXLY_HEIGHT).setCheck(Number),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.OLED_SHOW_BMP_TOOLTIP)}},nT={init:function(){this.setColour(SI),this.appendValueInput("VAR").appendField(ut.Msg.OLED),this.appendDummyInput("").appendField(ut.Msg.OLED_DRAWPIXEL),this.appendValueInput("POS_X").appendField(ut.Msg.OLED_POSX),this.appendValueInput("POS_Y").appendField(ut.Msg.OLED_POSY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(ut.Msg.OLED_DRAW_PIXE_TOOLTIP)}},sT={init:function(){this.setColour(SI),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([["TM1650","TM1650"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ut.Msg.MIXLY_ESP32_SENSOR_USE_I2C_TOOLTIP+{TM1650:"TM1650"}[e]}))}},oT={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_ON,"on"],[ut.Msg.MIXLY_OFF,"off"],[ut.Msg.MIXLY_LCD_STAT_CLEAR,"clear"]]),"STAT"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_4digitdisplay_power)}},_T={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SHOW_NUMBER),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pT={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("NO").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER1),this.appendValueInput("STAT").appendField(ut.Msg.MIXLY_4DIGITDISPLAY_NOMBER2+ut.Msg.MIXLY_4DIGITDISPLAY_DOT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot)}},aT={init:function(){this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_4DIGITDISPLAY).appendField(new ut.FieldDropdown([["TM1650","tm1650"]]),"TYPE"),this.appendValueInput("VAR"),this.appendValueInput("VALUE").setAlign(ut.inputs.Align.RIGHT).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP)}},uT={init:function(){this.setColour(SI),this.appendValueInput("SPISUB").appendField(ut.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINDC").appendField("DC"),this.appendValueInput("PINCS").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+ut.Msg.MSG.catTFT),this.appendValueInput("WIDTH").appendField(ut.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("HEIGHT").appendField(ut.Msg.MIXLY_HEIGHT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.blockpy_turtle_rotate).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_NO,"0"],[ut.Msg.ANTI_CLOCKWISE+"90°","1"],[ut.Msg.ANTI_CLOCKWISE+"180°","2"],[ut.Msg.ANTI_CLOCKWISE+"270°","3"]]),"rotate"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},rT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},lT={init:function(){this.setColour(SI);let t=new ut.FieldColour("#f00",null,{colourOptions:["#f00","#000"],columns:2});this.appendDummyInput("").setAlign(ut.inputs.Align.RIGHT).appendField(t,"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},dT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},IT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},TT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},hT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catTFT),this.appendDummyInput().appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_LCD_STAT_CLEAR,"BLACK"],[ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL,"WHITE"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={0:ut.Msg.MIXLY_LCD_STAT_CLEAR,1:ut.Msg.MIXLY_HANDBIT_DISLPAY_OLED_FILL};return ut.Msg.MIXLY_DF_LCD+i[e]}))}},MT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catTFT).setCheck("var"),this.jsonInit({message0:ut.Msg.MIXLY_MICROBIT_SHOW_LINE_ARBITRARILY,args0:[{check:Number,type:"input_value",name:"x1"},{check:Number,type:"input_value",name:"y1"},{check:Number,type:"input_value",name:"x2"},{check:Number,type:"input_value",name:"y2"}]}),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(ut.Msg.MIXLY_OLED_LINE_ARBIT)}},mT={init:function(){this.setColour(SI),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([["LCD1602","16"],["LCD2004","20"]]),"key"),this.appendValueInput("ADDR").setCheck(Number).appendField(ut.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ut.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},OT={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.array2_rows),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},ET={init:function(){this.setColour(SI),this.appendValueInput("SUB").appendField(ut.Msg.MSG.catLCD),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_SERIAL_PRINT+ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.array2_cols),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.array2_rows),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},RT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catLCD),this.appendDummyInput().appendField(ut.Msg.TFT_Brightness).appendField(new ut.FieldDropdown([[ut.Msg.MIXLY_MICROBIT_Turn_on_display,"1"],[ut.Msg.MIXLY_MICROBIT_Turn_off_display,"0"]]),"key"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_JS_ACCELERATION);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key"),i={1:ut.Msg.MIXLY_MICROBIT_Turn_on_display,0:ut.Msg.MIXLY_MICROBIT_Turn_off_display};return ut.Msg.MSG.catLCD+ut.Msg.TFT_Brightness+i[e]}))}},cT={init:function(){this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catLCD),this.setColour(SI),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},gT={init:function(){this.setColour(SI),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+"oled128x64"),this.appendValueInput("ADDR").setCheck(Number).appendField(ut.Msg.MQTT_SERVER_ADD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null);var t=this;this.setTooltip((function(){var e=t.getFieldValue("key");return ut.Msg.MIXLY_SETUP+{16:"LCD1602",20:"LCD2004"}[e]}))}},CT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},ST={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},AT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},LT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},NT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},DT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},fT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},FT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},PT={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},vT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},YT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},xT={init:function(){this.setColour(SI),this.appendValueInput("SUB").setCheck("var").appendField(ut.Msg.MSG.catOLED),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},bT={init:function(){this.jsonInit({colour:SI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE1,nextStatement:null,previousStatement:null})}},XT={init:function(){this.jsonInit({colour:SI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ut.Msg.mpython_vertical,"0"],[ut.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE1,nextStatement:null,previousStatement:null})}},yT={init:function(){this.jsonInit({colour:SI,args0:[{name:"SUB",type:"input_value"},{name:"state",options:[[ut.Msg.mpython_display_hline_1,"1"],[ut.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.mpython_display_line_TOOLTIP,message0:ut.Msg.mpython_display_line_MESSAGE1,nextStatement:null,previousStatement:null})}},VT="#569A98",BT={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),"micropython:esp32:mixbot"==rt.Boards.getSelectedBoardKey()&&this.setTooltip(ut.Msg.MIXLY_MIXBOT_SHOW_SCROLL_STRING_TOOLTIP)}},GT={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},UT={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wT={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kT={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},HT={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},WT={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<32;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(VT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},KT={init:function(){this.jsonInit({colour:VT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ut.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ut.Msg.MIXLY_MICROBIT_Built_in_image})}},JT={init:function(){this.jsonInit({colour:VT,args0:[{name:"image",options:[["HEART","HEART"],["HEART_SMALL","HEART_SMALL"],["HAPPY","HAPPY"],["SAD","SAD"],["SMILE","SMILE"],["SILLY","SILLY"],["FABULOUS","FABULOUS"],["SURPRISED","SURPRISED"],["ASLEEP","ASLEEP"],["ANGRY","ANGRY"],["CONFUSED","CONFUSED"],["NO","NO"],["YES","YES"],["LEFT_ARROW","LEFT_ARROW"],["RIGHT_ARROW","RIGHT_ARROW"],["DRESS","DRESS"],["TRANSFORMERS","TRANSFORMERS"],["SCISSORS","SCISSORS"],["EXIT","EXIT"],["TREE","TREE"],["PACMAN","PACMAN"],["TARGET","TARGET"],["TSHIRT","TSHIRT"],["ROLLERSKATE","ROLLERSKATE"],["DUCK","DUCK"],["HOUSE","HOUSE"],["TORTOISE","TORTOISE"],["BUTTERFLY","BUTTERFLY"],["STICKFIGURE","STICKFIGURE"],["GHOST","GHOST"],["PITCHFORK","PITCHFORK"],["MUSIC_QUAVERS","MUSIC_QUAVERS"],["MUSIC_QUAVER","MUSIC_QUAVER"],["MUSIC_CROTCHET","MUSIC_CROTCHET"],["COW","COW"],["RABBIT","RABBIT"],["SQUARE_SMALL","SQUARE_SMALL"],["SQUARE","SQUARE"],["DIAMOND_SMALL","DIAMOND_SMALL"],["DIAMOND","DIAMOND"],["CHESSBOARD","CHESSBOARD"],["TRIANGLE_LEFT","TRIANGLE_LEFT"],["TRIANGLE","TRIANGLE"],["SNAKE","SNAKE"],["UMBRELLA","UMBRELLA"],["SKULL","SKULL"],["GIRAFFE","GIRAFFE"],["SWORD","SWORD"]],type:"field_dropdown"}],output:["esp32_image","List"],helpUrl:"https://microbit-micropython.readthedocs.io/en/latest/image.html#attributes",tooltip:ut.Msg.MIXLY_MICROBIT_Built_in_image1,message0:ut.Msg.MIXLY_MICROBIT_Built_in_image})}},QT={init:function(){var t=[[ut.Msg.MICROBIT_DISPLAY_UNION,"add"],[ut.Msg.MICROBIT_DISPLAY_MINUS,"sub"]];this.setColour(VT),this.setOutput(!0,"esp32_image"),this.appendValueInput("A").appendField(ut.Msg.MICROBIT_DISPLAY_MERGE_SHAPE),this.appendValueInput("B").appendField(new ut.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{"+":ut.Msg.MIXLY_MICROBIT_image_add,"-":ut.Msg.MIXLY_MICROBIT_image_reduce}[t]}))}},zT={init:function(){this.setColour(VT),this.appendValueInput("A").setCheck("esp32_image").appendField(ut.Msg.MIXLY_MICROBIT_Invert_image1),this.setInputsInline(!0),this.setOutput(!0,"esp32_image")}},qT={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(VT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{shift_up:ut.Msg.MIXLY_UP,shift_down:ut.Msg.MIXLY_DOWN,shift_left:ut.Msg.MIXLY_LEFT,shift_right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},jT={init:function(){this.setColour(VT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_POINT),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},ZT={init:function(){this.setColour(VT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},$T={init:function(){this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},th={init:function(){this.setColour(VT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},eh={init:function(){this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},ih={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<8;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(VT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},nh={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(VT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},sh={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<8;t++){let e=this.appendDummyInput();for(let i=0;i<16;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0,"esp32_image"),this.setColour(VT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},oh={init:function(){var t=[["4x5"+ut.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'4x5'"],["5x5"+ut.Msg.MIXGO_ME_DISPLAY_HORIZONTAL,"'5x5'"],["5x8"+ut.Msg.MIXGO_ME_DISPLAY_VERTICAL,"'5x8'"]];this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.OLED_SET_FONT).appendField(new ut.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},_h={init:function(){this.setColour(VT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},ph={init:function(){this.setColour(VT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},ah={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck([String,"esp32_image","List","Tuple"]).appendField(ut.Msg.OLED_DRAWSTR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},uh={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},rh={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},lh={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},dh={init:function(){this.setColour(VT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_BRIGHTNESS).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("STAT").setCheck([Number,Boolean]),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Ih={init:function(){this.jsonInit({colour:VT,args0:[{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Th={init:function(){this.jsonInit({colour:VT,args0:[{name:"state",options:[[ut.Msg.MPYTHON_DISPLAY_MODE_1,"1"],[ut.Msg.MPYTHON_DISPLAY_MODE_0,"0"]],type:"field_dropdown"},{name:"dir_h_v",options:[[ut.Msg.mpython_vertical,"0"],[ut.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ut.Msg.MPYTHON_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},hh={init:function(){this.jsonInit({colour:VT,args0:[{name:"state",options:[[ut.Msg.mpython_display_hline_1,"1"],[ut.Msg.mpython_display_hline_0,"0"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.mpython_display_line_TOOLTIP,message0:ut.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Mh={init:function(){this.jsonInit({colour:VT,args0:[{type:"field_label",name:"size_image",text:ut.Msg.MIXLY_MICROBIT_Built_in_image1},{name:"path",options:[["Heart","Heart"],["Angry","Angry"],["Bored","Bored"],["Confused","Confused"],["Happy","Happy"],["Paper","Paper"],["Rock","Rock"],["Sad","Sad"],["Scissors","Scissors"],["Silly","Silly"],["Sleep","Sleep"],["Small_heart","Small_heart"],["Small_paper","Small_paper"],["Small_rock","Small_rock"],["Small_scissors","Small_scissors"],["Smile","Smile"],["Surprise","Surprise"],["Wonderful","Wonderful"],["Eyes_Angry","Eyes_Angry"],["Awake","Awake"],["Black_eye","Black_eye"],["Bottom_left","Bottom_left"],["Bottom_right","Bottom_right"],["Crazy_1","Crazy_1"],["Crazy_2","Crazy_2"],["Disappointed","Disappointed"],["Dizzy","Dizzy"],["Down","Down"],["Evil","Evil"],["Hurt","Hurt"],["Knocked_out","Knocked_out"],["Love","Love"],["Middle_left","Middle_left"],["Middle_right","Middle_right"],["Neutral","Neutral"],["Nuclear","Nuclear"],["Pinch_left","Pinch_left"],["Pinch_middle","Pinch_middle"],["Pinch_right","Pinch_right"],["Tear","Tear"],["Tired_left","Tired_left"],["Tired_middle","Tired_middle"],["Tired_right","Tired_right"],["Toxic","Toxic"],["Up","Up"],["Winking","Winking"],["Accept","Accept"],["Backward","Backward"],["Decline","Decline"],["Forward","Forward"],["Left","Left"],["No_go","No_go"],["Question_mark","Question_mark"],["Right","Right"],["Stop_1","Stop_1"],["Stop_2","Stop_2"],["Thumbs_down","Thumbs_down"],["Thumbs_up","Thumbs_up"],["Warning","Warning"],["Bomb","Bomb"],["Boom","Boom"],["Fire","Fire"],["Flowers","Flowers"],["Forest","Forest"],["Lightning","Lightning"],["Light_off","Light_off"],["Light_on","Light_on"],["Night","Night"],["Pirate","Pirate"],["Snow","Snow"],["Target","Target"],["Bar_0","Bar_0"],["Bar_1","Bar_1"],["Bar_2","Bar_2"],["Bar_3","Bar_3"],["Bar_4","Bar_4"],["Dial_0","Dial_0"],["Dial_1","Dial_1"],["Dial_2","Dial_2"],["Dial_3","Dial_3"],["Dial_4","Dial_4"],["Dots_0","Dots_0"],["Dots_1","Dots_1"],["Dots_2","Dots_2"],["Dots_3","Dots_3"],["Hourglass_0","Hourglass_0"],["Hourglass_1","Hourglass_1"],["Hourglass_2","Hourglass_2"],["Timer_0","Timer_0"],["Timer_1","Timer_1"],["Timer_2","Timer_2"],["Timer_3","Timer_3"],["Timer_4","Timer_4"],["Water_level_0","Water_level_0"],["Water_level_1","Water_level_1"],["Water_level_2","Water_level_2"],["Water_level_3","Water_level_3"]],type:"field_dropdown"}],output:"String",helpUrl:"",tooltip:"",message0:"%1 %2"})}},mh={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<5;t++){let e=this.appendDummyInput();for(let i=0;i<5;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(VT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},Oh={init:function(){this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Eh={init:function(){this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_AMBIENTBRIGHT),this.setInputsInline(!0),this.setOutput(!0,Number)}},Rh={init:function(){this.setColour(VT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},ch={init:function(){var t=[[ut.Msg.mixpy_PL_PIE_SHADOW_N,"0"],[ut.Msg.CLOCKWISE+"90"+ut.Msg.blockpy_setheading_degree,"1"],[ut.Msg.CLOCKWISE+"180"+ut.Msg.blockpy_setheading_degree,"2"],[ut.Msg.CLOCKWISE+"270"+ut.Msg.blockpy_setheading_degree,"3"]];this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MIXBOT_SCREEN_ROTATE).appendField(new ut.FieldDropdown(t),"OP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},gh={init:function(){this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_CREATE_IMAGE);for(let t=0;t<12;t++){let e=this.appendDummyInput();for(let i=0;i<12;i++)e.appendField(new ut.FieldColour("#000",null,{colourOptions:["#f00","#000"],columns:2}),t+"-"+i)}this.setOutput(!0),this.setColour(VT),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Create_image1)}},Ch={init:function(){this.setColour(VT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},Sh={init:function(){this.setColour(VT),this.appendValueInput("data").appendField(ut.Msg.OLED_BITMAP),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.OLED_BITMAP_OR_STRING)}},Ah={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.OLED_DRAWSTR),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendDummyInput("").appendField(ut.Msg.TEXT_CENTER).appendField(new ut.FieldDropdown([[ut.Msg.MICROPYTHON_DISPLAY_YES,"True"],[ut.Msg.MICROPYTHON_DISPLAY_NO,"False"]]),"center"),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SHOW_IMAGE_OR_STRING_DELAY)}},Lh={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Nh={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_STRING),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("space").setCheck(Number).appendField(ut.Msg.MICROPYTHON_DISPLAY_FONT_SPACE),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_SCROLL_IMAGE_OR_STRING_DELAY)}},Dh={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},fh={init:function(){this.setColour(VT),this.appendValueInput("data").setCheck(String).appendField(ut.Msg.MIXLY_ESP32_MONITOR_SHOW_FRAME),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendValueInput("time").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Fh={init:function(){this.jsonInit({colour:VT,args0:[{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"rect"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"fill_rect"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"w",type:"input_value"},{name:"h",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_SHAPE_RECT_TOOLTIP,message0:ut.Msg.ONBOARD_TFT_DISPLAY_SHAPE_RECT_MESSAGE0,nextStatement:null,previousStatement:null})}},Ph={init:function(){this.jsonInit({colour:VT,args0:[{name:"dir_h_v",options:[[ut.Msg.mpython_vertical,"0"],[ut.Msg.mpython_horizontal,"1"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"length",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.MPYTHON_DISPLAY_HVLINE_TOOLTIP,message0:ut.Msg.ONBOARD_TFT_DISPLAY_HVLINE_MESSAGE0,nextStatement:null,previousStatement:null})}},vh={init:function(){this.jsonInit({colour:VT,args0:[{type:"input_dummy"},{name:"x1",type:"input_value"},{name:"y1",type:"input_value"},{name:"x2",type:"input_value"},{name:"y2",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,tooltip:ut.Msg.mpython_display_line_TOOLTIP,message0:ut.Msg.mpython_display_line_MESSAGE0,nextStatement:null,previousStatement:null})}},Yh={init:function(){var t=[[ut.Msg.MIXLY_UP,"shift_up"],[ut.Msg.MIXLY_DOWN,"shift_down"],[ut.Msg.MIXLY_LEFT,"shift_left"],[ut.Msg.MIXLY_RIGHT,"shift_right"]];this.setColour(VT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_LET2).appendField(new ut.FieldDropdown(t),"OP"),this.appendValueInput("val").appendField(ut.Msg.DISPLAY_IMAGE_SHIFT).setCheck(Number),this.appendDummyInput("").appendField(ut.Msg.DISPLAY_IMAGE_UNIT);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),i=ut.Msg.DISPLAY_IMAGE_LET,n=ut.Msg.DISPLAY_IMAGE_LET2,s=ut.Msg.DISPLAY_IMAGE_LET3;return i+n+{up:ut.Msg.MIXLY_UP,down:ut.Msg.MIXLY_DOWN,left:ut.Msg.MIXLY_LEFT,right:ut.Msg.MIXLY_RIGHT}[t]+s}))}},xh={init:function(){this.setColour(VT),this.appendDummyInput("").appendField(ut.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendDummyInput().appendField(ut.Msg.HTML_COLOUR),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_BRIGHTNESS)}},bh={init:function(){this.setColour(VT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_LCD_SETCOLOR).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_GET_POINT_X),this.appendValueInput("y").setCheck(Number).appendField(ut.Msg.MIXLY_MICROBIT_JS_MONITOR_PLOT_POINT_Y),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_DISPLAY_SETPIXEL)}},Xh={init:function(){this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_Clear_display),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_MICROBIT_Clear_display)}},yh={init:function(){this.setColour(VT),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_GET_SCREEN_BRIGHTNESS)}},Vh={init:function(){this.setColour(VT),this.appendValueInput("x").setCheck(Number).appendField(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_JS_MONITOR_SET_SCREEN_BRIGHTNESS+" 0.0-1.0")}},Bh={init:function(){this.setColour(VT),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_SCREEN_FILL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Gh={init:function(){this.setColour(VT),this.appendValueInput("SUB").appendField(ut.Msg.MIXLY_INIT_CLOCK),this.appendDummyInput().appendField(ut.Msg.MIXLY_CENTER_POS),this.appendValueInput("x").setCheck(Number).appendField("x"),this.appendValueInput("y").setCheck(Number).appendField("y"),this.appendValueInput("size").setCheck(Number).appendField(ut.Msg.OLED_CIRCLE_RADIUS),this.appendValueInput("VAR").appendField(ut.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Uh={init:function(){this.setColour(VT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.GET_RTCTIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},wh={init:function(){this.setColour(VT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.SET_TIME),this.appendValueInput("h").setCheck(Number).appendField(ut.Msg.MIXLY_HOUR),this.appendValueInput("m").setCheck(Number).appendField(ut.Msg.MIXLY_MINUTE),this.appendValueInput("s").setCheck(Number).appendField(ut.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},kh={init:function(){this.setColour(VT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.DRAW_CLOCK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Hh={init:function(){this.setColour(VT),this.appendValueInput("SUB"),this.appendDummyInput().appendField(ut.Msg.CLEAR_CLOCK),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_STM32_TFT_BACKGROUND_COLOR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0)}},Wh={init:function(){this.jsonInit({colour:VT,args0:[{name:"shape",options:[[ut.Msg.MPYTHON_DISPLAY_HOLLOW,"False"],[ut.Msg.MPYTHON_DISPLAY_SOLID,"True"]],type:"field_dropdown"},{type:"input_dummy"},{name:"x",type:"input_value"},{name:"y",type:"input_value"},{name:"r",type:"input_value"},{name:"VAR",type:"input_value"}],inputsInline:!0,helpUrl:ut.Msg.mpython_HELPURL,message0:ut.Msg.ONBOARD_TFT_DISPLAY_SHAPE_CIRCLE_MESSAGE0,nextStatement:null,previousStatement:null})}},Kh="#777777",Jh={init:function(){this.setColour(Kh),this.appendDummyInput("").appendField("from ").appendField(new ut.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new ut.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Qh={init:function(){this.setColour(Kh),this.appendDummyInput("").appendField("import ").appendField(new ut.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},zh={init:function(){this.setColour(Kh),this.appendDummyInput("").appendField(new ut.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new ut.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},XM={init:function(){this.setColour(fM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(ut.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},yM={init:function(){this.setColour(fM),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}},VM={init:function(){this.setColour(fM),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}},BM={init:function(){this.setColour(fM),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)}},GM={init:function(){this.setColour(fM),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)}},UM={init:function(){this.setColour(fM),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)}},wM={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kM={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},HM={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(ut.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},WM={init:function(){this.setColour(fM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},KM={init:function(){this.setColour(fM),this.appendDummyInput().appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(ut.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},JM={init:function(){this.setColour(fM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},QM={init:function(){this.setColour(fM),this.appendValueInput("VAR").appendField(ut.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},zM={init:function(){this.setColour(fM),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)}},qM={init:function(){this.setColour(fM),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)}},jM={init:function(){this.setColour(fM),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)}},ZM={init:function(){this.setColour(fM),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)}},$M={init:function(){this.VISITOR_ID=rt.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(fM),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")}},tm={init:function(){this.setColour(fM),this.appendDummyInput().appendField("MixIO").appendField(ut.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},em={init:function(){this.setColour(fM),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(fM),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)}},nm={init:function(){this.setColour(fM),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)}},sm={init:function(){this.setColour(fM),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)}},om=FM,_m=PM,pm=vM,am=YM,um=bM,rm=225,lm={init:function(){this.setColour(rm),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)}},dm={init:function(){this.setColour(rm),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}))}},Im={init:function(){this.setColour(rm),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)}},Tm={init:function(){this.setColour(rm),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}))}},hm={init:function(){this.setColour(rm),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)}},Mm={init:function(){this.setColour(rm),this.appendValueInput("VAR").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_NETWORK_WIFI_CONNECT),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SYMBOL_QUESTION),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(ut.Msg.MIXLY_ESP32_NETWORK_WIFI_CONNECT_TOOLTIP)}},mm={init:function(){this.setColour(rm),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]}))}},Om={init:function(){this.setColour(rm),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)}},Em={init:function(){this.setColour(rm),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)}},Rm={init:function(){this.setColour(rm),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)}},cm={init:function(){this.setColour(rm),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)}},gm={init:function(){this.setColour(rm),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]}))}},Cm={init:function(){this.setColour(rm),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)}},Sm={init:function(){this.setColour(rm),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)}},Am={init:function(){this.setColour(rm),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)}},Lm={init:function(){this.setColour(rm),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)}},Nm={init:function(){this.setColour(rm),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)}},Dm={init:function(){this.setColour(rm),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)}},fm={init:function(){this.setColour(rm),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)}},Fm={init:function(){this.setColour(rm),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)}},Pm={init:function(){this.setColour(rm),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)}},vm={init:function(){this.setColour(rm),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")}},Ym={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(rm),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]}))}},xm={init:function(){this.appendValueInput("VAR").appendField(ut.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(rm),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]}))}},bm={init:function(){this.setColour(rm),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)}},Xm={init:function(){this.setColour(rm),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)}},ym="#A58C5B",Vm={init:function(){this.setColour(ym),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)}},Bm={init:function(){this.setColour(ym),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)}},Gm={init:function(){this.setColour(ym),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)}},Um={init:function(){this.setColour(ym),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)}},wm={init:function(){this.setColour(ym),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}))}},km={init:function(){this.setColour(ym),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}))}},Hm={init:function(){this.setColour(ym),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)}},Wm={init:function(){var t=[[ut.Msg.MIXLY_GETTEMPERATUE,"temperature"],[ut.Msg.MIXLY_GETHUMIDITY,"humidity"]];this.setColour(ym),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]}))}},Km={init:function(){this.setColour(ym),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)}},Jm={init:function(){this.setColour(ym),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)}},Qm={init:function(){this.setColour(ym),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}))}},zm={init:function(){this.setColour(ym),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]}))}},qm={init:function(){this.setColour(ym),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]}))}},jm={init:function(){this.setColour(ym),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)}},Zm={init:function(){this.setColour(ym),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)}},$m={init:function(){this.setColour(ym),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"],["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")}},tO={init:function(){this.setColour(ym),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)}},eO={init:function(){this.setColour(ym),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)}},iO={init:function(){this.setColour(ym),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)}},nO={init:function(){this.setColour(ym),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)}},sO={init:function(){this.setColour(ym),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)}},oO={init:function(){this.setColour(ym),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)}},_O={init:function(){this.setColour(ym),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]}))}},pO={init:function(){this.setColour(ym),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]}))}},aO={init:function(){this.setColour(ym),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)}},uO={init:function(){this.setColour(ym),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)}},rO={init:function(){this.setColour(ym),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(ym),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}))}},dO={init:function(){this.setColour(ym),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}))}},IO={init:function(){this.setColour(ym),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}))}},TO={init:function(){this.setColour(ym),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)}},hO={init:function(){this.setColour(ym),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)}},MO={init:function(){this.setColour(ym),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]}))}},mO={init:function(){this.setColour(ym),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)}},OO={init:function(){this.setColour(ym),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")}},EO={init:function(){this.setColour(ym),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)}},RO={init:function(){this.setColour(ym),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)}},cO={init:function(){this.setColour(ym),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)}},gO={init:function(){this.setColour(ym),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)}},CO={init:function(){this.setColour(ym),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)}},SO={init:function(){this.setColour(ym),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)}},AO={init:function(){this.setColour(ym),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)")}},LO={init:function(){this.setColour(ym),this.appendValueInput("SUB").appendField("无线气象站 WS-LoRa").setCheck("var"),this.appendDummyInput("").appendField(ut.Msg.MIXLY_SERIAL_AVAILABLE),this.setOutput(!0,Number),this.setInputsInline(!0)}},NO={init:function(){this.setColour(ym),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)}},DO={init:function(){this.setColour(ym),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},VA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".shows("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},BA=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"},GA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".frame("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},UA=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"},wA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".scroll("+e.valueToCode(this,"data",e.ORDER_ASSIGNMENT)+")\n"},kA=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"},HA=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return i+".fill(0)\n"+i+".show()\n"},WA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("OP")+"("+e.valueToCode(t,"val",e.ORDER_ATOMIC)+")\n"},KA=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]},JA=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"},QA=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".get_brightness()",e.ORDER_ATOMIC]},zA=function(t,e){return e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".set_brightness("+e.valueToCode(this,"x",e.ORDER_ASSIGNMENT)+")\n"},qA=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+"."+t.getFieldValue("image"),e.ORDER_ATOMIC]},jA=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]},ZA=function(t,e){return[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".map_invert("+e.valueToCode(t,"A",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$A=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"},tL=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"},eL=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"},iL=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"}},nL=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"},sL=function(t,e){return["ON"==this.getFieldValue("ONOFF")?"1":"0",e.ORDER_ATOMIC]},oL=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]},_L=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"},pL=function(t,e){return["matrix.Image."+this.getFieldValue("ANIMATION"),e.ORDER_ATOMIC]},aL=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"}},uL=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"}},rL=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"},lL=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"},dL=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},IL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+"."+this.getFieldValue("STAT")+"()\n"},TL=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".shownum("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},hL=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"},ML=function(t,e){return e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+".intensity("+e.valueToCode(this,"VALUE",e.ORDER_ATOMIC)+")\n"},mL=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"},OL=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},EL=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]},RL=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},cL=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},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,"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},CL=function(t,e){return e.definitions_.import_st7789="import st7789",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".fill(st7789."+this.getFieldValue("key")+")\n"},SL=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},AL=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"},LL=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"},NL=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"},DL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".backlight("+this.getFieldValue("key")+")\n"},fL=function(t,e){return e.definitions_.import_i2clcd="import i2clcd",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".clear()\n"},FL=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"},PL=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"},vL=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"},YL=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"},xL=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"},bL=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"},XL=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"},yL=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"},VL=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"},BL=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"},GL=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"},UL=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]},wL=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"},kL=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"},HL=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"},WL=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"},KL=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"},JL=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")},QL=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},zL=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"},qL=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},jL=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"},ZL=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]},$L=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]},tN=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},vN=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},YN=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"},xN=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},bN=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"},XN=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},yN=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},VN=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},BN=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},GN=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"},UN=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"},wN=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]},kN=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 _},HN=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]},WN=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"},KN=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},JN=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},QN=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"},zN=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"},qN=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"},jN=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},ZN=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},$N=function(t,e){var i=this.getFieldValue("path"),n=this.getFieldValue("module");return e.definitions_["import_"+i+"_"+n]="from "+i+" import "+n,""},tD=function(t,e){var i=this.getFieldValue("module");return e.definitions_["import_"+i]="import "+i,""},eD=function(t,e){for(var i=this.getFieldValue("NAME"),n=new Array(this.itemCount_),s=0;s {\n"+e.statementToCode(this,"do")+"})\n"},Hv=function(){return"control.reset()\n"},Wv=function(t,e){return"control.waitMicros("+(e.valueToCode(this,"data",e.ORDER_ATOMIC)||rt.Profile.default.serial)+")\n"},Kv=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"},Jv=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"},Qv=function(t,e){return["control.eventTimestamp()",e.ORDER_ATOMIC]},zv=function(t,e){return["control.eventValue()",e.ORDER_ATOMIC]},qv=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},jv=function(t,e){return[this.getFieldValue("key"),e.ORDER_ATOMIC]},Zv=function(t,e){return["control.deviceName()",e.ORDER_ATOMIC]},$v=function(t,e){return["control.deviceSerialNumber()",e.ORDER_ATOMIC]},tY=function(t,e){return"panic("+(e.valueToCode(this,"STATUS_CODE",e.ORDER_ATOMIC)||"1000")+")\n"},eY=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]}},iY=function(){return"while True:\n pass\n"},nY=function(t,e){return e.definitions_.import_mixgo="import mixgo","reset()\n"},sY=function(t,e){return e.definitions_.import_os="import os","os.uname()"},oY=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"}},_Y=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"}},pY=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"},aY=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"},uY=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]},rY=function(t,e){var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC);return e.definitions_.import_machine="import machine",i+" = machine.Timer(0)\n"},lY=function(t,e){return e.definitions_.import_machine="import machine","wdt = machine.WDT(timeout= "+(e.valueToCode(this,"period",e.ORDER_NONE)||"0")+")\n"},dY=function(t,e){e.definitions_.import_machine="import machine";return"wdt.feed()\n"},IY=function(t,e){e.definitions_.import_machine="import machine";return"machine.reset()\n"},TY=function(t,e){e.definitions_.import_bitbot_onboard_bot51="from bitbot import onboard_bot51";return"onboard_bot51.shutdown()\n"},hY=rY,MY=aY,mY=uY,OY=oY,EY=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]},RY=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]},cY=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]},gY={};gY["飞乙"]={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"])},gY["超霸大师"]={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"])},gY["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"]]},gY["机器人大师"]={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 CY=gY,SY=230,AY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital),"PIN"),this.setOutput(!0)}},LY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital_pin),"PIN"),this.setOutput(!0,Number)}},NY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.input_pin),"PIN"),this.setOutput(!0,Number)}},DY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.output_pin),"PIN"),this.setOutput(!0,Number)}},fY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_mpython),"PIN"),this.setOutput(!0,Number)}},FY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.espnow_channel),"PIN"),this.setOutput(!0,Number)}},PY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.haskylens_model),"PIN"),this.setOutput(!0,Number)}},vY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_input),"PIN"),this.setOutput(!0)}},YY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_input),"PIN"),this.setOutput(!0)}},xY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_output),"PIN"),this.setOutput(!0)}},bY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_output),"PIN"),this.setOutput(!0)}},XY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_A_pin),"PIN"),this.setOutput(!0,Number)}},yY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.i2c_B_pin),"PIN"),this.setOutput(!0,Number)}},VY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_A_pin),"PIN"),this.setOutput(!0,Number)}},BY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_B_pin),"PIN"),this.setOutput(!0,Number)}},GY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_C_pin),"PIN"),this.setOutput(!0,Number)}},UY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.spi_D_pin),"PIN"),this.setOutput(!0,Number)}},wY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog),"PIN"),this.setOutput(!0)}},kY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.analog_pin),"PIN"),this.setOutput(!0,Number)}},HY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac),"PIN"),this.setOutput(!0)}},WY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.dac_pin),"PIN"),this.setOutput(!0,Number)}},KY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.button),"PIN"),this.setOutput(!0,Number)}},JY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm),"PIN"),this.setOutput(!0)}},QY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.pwm_pin),"PIN"),this.setOutput(!0,Number)}},zY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch_pin),"PIN"),this.setOutput(!0,Number)}},qY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.touch),"PIN"),this.setOutput(!0)}},jY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.serial_pin),"PIN"),this.setOutput(!0,Number)}},ZY={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg),"PIN"),this.setOutput(!0,"esp32_image")}},$Y={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.builtinimg_extern),"PIN"),this.setOutput(!0,"esp32_image")}},tx={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.imglist),"PIN"),this.setOutput(!0)}},ex={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist),"PIN"),this.setOutput(!0)}},ix={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.playlist_extern),"PIN"),this.setOutput(!0)}},nx={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdh),"PIN"),this.setOutput(!0,Number)}},sx={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.exlcdv),"PIN"),this.setOutput(!0,Number)}},ox={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.axis),"PIN"),this.setOutput(!0,Number)}},_x={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.brightness),"PIN"),this.setOutput(!0,Number)}},px={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_voice),"PIN"),this.setOutput(!0,Number)}},ax={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_builtin_music),"PIN"),this.setOutput(!0,Number)}},ux={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tts_bgmusic),"PIN"),this.setOutput(!0,Number)}},rx={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.tone_notes),"PIN"),this.setOutput(!0,Number)}},lx={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_power),"PIN"),this.setOutput(!0,Number)}},dx={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.radio_datarate),"PIN"),this.setOutput(!0,Number)}},Ix={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.one_more),"PIN"),this.setOutput(!0)}},Tx={init:function(){this.setColour(SY),this.appendDummyInput("").appendField(new ut.FieldDropdown(rt.Profile.default.digital_dot),"PIN"),this.setOutput(!0,Number)}},hx=function(t,e){return[this.getFieldValue("PIN"),e.ORDER_ATOMIC]},Mx=hx,mx=hx,Ox=hx,Ex=hx,Rx=hx,cx=hx,gx=hx,Cx=hx,Sx=hx,Ax=hx,Lx=hx,Nx=hx,Dx=hx,fx=hx,Fx=hx,Px=hx,vx=hx,Yx=hx,xx=hx,bx=hx,Xx=hx,yx=hx,Vx=hx,Bx=hx,Gx=hx,Ux=hx,wx=hx,kx=hx,Hx=hx,Wx=hx,Kx=hx,Jx=hx,Qx=hx,zx=hx;Object.assign(ut.Variables,dt),Object.assign(ut.Procedures,yn),ut.Python=Za,ut.generator=Za,rt.Profile.default={},Object.assign(rt.Profile,CY),Object.assign(rt.Profile.default,CY["ESP32 Generic"]),Object.assign(ut.Blocks,e,i,n,s,o,_,p,a,u,r,l,d,I,X,w,U,v,y,k,f,G,B,V,F,D,N,x,Y,b,P,pt),Object.assign(ut.Python.forBlock,T,h,M,m,O,E,R,c,g,C,S,A,L,$,ot,st,z,tt,_t,K,nt,it,et,J,W,H,j,q,Z,Q,at)})(); \ No newline at end of file diff --git a/boards/default/micropython_robot/styles/main.c192c9b9.css b/boards/default/micropython_robot/styles/main.75aef604.css similarity index 100% rename from boards/default/micropython_robot/styles/main.c192c9b9.css rename to boards/default/micropython_robot/styles/main.75aef604.css diff --git a/boards/default/python_mixpy/examples/人工智能Py/02语音合成-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/02语音合成-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/02语音合成-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/02语音合成-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/03语音识别-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/03语音识别-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/03语音识别-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/03语音识别-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/03语音识别-2.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/03语音识别-2.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/03语音识别-2.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/03语音识别-2.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/04图片识别-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/04图片识别-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/04图片识别-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/04图片识别-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/04图片识别-2.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/04图片识别-2.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/04图片识别-2.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/04图片识别-2.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/05人脸识别-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/05人脸识别-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/05人脸识别-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/05人脸识别-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/05人脸识别-2.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/05人脸识别-2.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/05人脸识别-2.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/05人脸识别-2.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/06文字识别-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/06文字识别-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/06文字识别-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/06文字识别-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/06文字识别-2.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/06文字识别-2.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/06文字识别-2.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/06文字识别-2.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/07拓展发现-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/07拓展发现-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/07拓展发现-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/07拓展发现-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/07拓展发现-2.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/07拓展发现-2.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/07拓展发现-2.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/07拓展发现-2.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/08文本纠错-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/08文本纠错-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/08文本纠错-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/08文本纠错-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/08文本纠错-2.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/08文本纠错-2.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/08文本纠错-2.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/08文本纠错-2.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/09词法分析-1.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/09词法分析-1.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/09词法分析-1.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/09词法分析-1.py diff --git a/boards/default/python_mixpy/examples/人工智能Py/09词法分析-2.py b/boards/default/python_mixpy/examples/NP_t8URyEWtW/09词法分析-2.py similarity index 100% rename from boards/default/python_mixpy/examples/人工智能Py/09词法分析-2.py rename to boards/default/python_mixpy/examples/NP_t8URyEWtW/09词法分析-2.py diff --git a/boards/default/python_mixpy/examples/guoqi.mix b/boards/default/python_mixpy/examples/PDtIpORYNRbi.mix similarity index 100% rename from boards/default/python_mixpy/examples/guoqi.mix rename to boards/default/python_mixpy/examples/PDtIpORYNRbi.mix diff --git a/boards/default/python_mixpy/examples/AipOcr.mix b/boards/default/python_mixpy/examples/YpbMgkp75-0w.mix similarity index 100% rename from boards/default/python_mixpy/examples/AipOcr.mix rename to boards/default/python_mixpy/examples/YpbMgkp75-0w.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/03语音识别-2.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/H8r8zTxWO-G9.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/03语音识别-2.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/H8r8zTxWO-G9.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/06文字识别-1.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/Hxk5CmXVoOI5.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/06文字识别-1.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/Hxk5CmXVoOI5.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/04图片识别-2.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/KW6-9siSeahy.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/04图片识别-2.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/KW6-9siSeahy.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/03语音识别-1.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/OTEsQyYB3y3V.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/03语音识别-1.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/OTEsQyYB3y3V.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/05人脸识别-2.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/RU8UP8tLmYZK.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/05人脸识别-2.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/RU8UP8tLmYZK.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/09词法分析-2.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/WXFcFGev8saM.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/09词法分析-2.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/WXFcFGev8saM.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/05人脸识别-1.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/XlLl38Xkcey2.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/05人脸识别-1.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/XlLl38Xkcey2.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/07拓展发现-2.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/YbfEiXYA1L75.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/07拓展发现-2.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/YbfEiXYA1L75.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/09词法分析.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/e1FvHKK6mm0-.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/09词法分析.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/e1FvHKK6mm0-.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/04图片识别-1.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/msy6yoOup7Cl.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/04图片识别-1.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/msy6yoOup7Cl.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/06文字识别-2.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/ohM1sXOs5ucR.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/06文字识别-2.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/ohM1sXOs5ucR.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/07拓展发现-1.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/pf-5Gn5ZjW5T.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/07拓展发现-1.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/pf-5Gn5ZjW5T.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/08文本纠错-2.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/qpFALGBRhJ7V.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/08文本纠错-2.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/qpFALGBRhJ7V.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/02语音合成-1.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/r_McN2nAUYoA.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/02语音合成-1.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/r_McN2nAUYoA.mix diff --git a/boards/default/python_mixpy/examples/人工智能mix/08文本纠错-1.mix b/boards/default/python_mixpy/examples/b3nOKxYrNCQR/sbR3lOLZSrGF.mix similarity index 100% rename from boards/default/python_mixpy/examples/人工智能mix/08文本纠错-1.mix rename to boards/default/python_mixpy/examples/b3nOKxYrNCQR/sbR3lOLZSrGF.mix diff --git a/boards/default/python_mixpy/examples/AipNlp_simnet.mix b/boards/default/python_mixpy/examples/dgDnWh-rc3YJ.mix similarity index 100% rename from boards/default/python_mixpy/examples/AipNlp_simnet.mix rename to boards/default/python_mixpy/examples/dgDnWh-rc3YJ.mix diff --git a/boards/default/python_mixpy/examples/AipImage.mix b/boards/default/python_mixpy/examples/fiJiUJ6C0pOK.mix similarity index 100% rename from boards/default/python_mixpy/examples/AipImage.mix rename to boards/default/python_mixpy/examples/fiJiUJ6C0pOK.mix diff --git a/boards/default/python_mixpy/examples/map.json b/boards/default/python_mixpy/examples/map.json index ca86fc16..1861c45b 100644 --- a/boards/default/python_mixpy/examples/map.json +++ b/boards/default/python_mixpy/examples/map.json @@ -1,175 +1,175 @@ { - "AipImage.mix": { + "fiJiUJ6C0pOK.mix": { "__file__": true, "__name__": "AipImage.mix" }, - "AipNlp.mix": { + "uE7vH_oLl359.mix": { "__file__": true, "__name__": "AipNlp.mix" }, - "AipNlp_simnet.mix": { + "dgDnWh-rc3YJ.mix": { "__file__": true, "__name__": "AipNlp_simnet.mix" }, - "AipOcr.mix": { + "YpbMgkp75-0w.mix": { "__file__": true, "__name__": "AipOcr.mix" }, - "AipSpeech.mix": { + "wQjnjbFpJi-D.mix": { "__file__": true, "__name__": "AipSpeech.mix" }, - "guoqi.mix": { + "PDtIpORYNRbi.mix": { "__file__": true, "__name__": "guoqi.mix" }, - "sin.mix": { + "p4vLzL6gw8VI.mix": { "__file__": true, "__name__": "sin.mix" }, - "人工智能mix": { - "02语音合成-1.mix": { + "b3nOKxYrNCQR": { + "r_McN2nAUYoA.mix": { "__file__": true, "__name__": "02语音合成-1.mix" }, - "03语音识别-1.mix": { + "OTEsQyYB3y3V.mix": { "__file__": true, "__name__": "03语音识别-1.mix" }, - "03语音识别-2.mix": { + "H8r8zTxWO-G9.mix": { "__file__": true, "__name__": "03语音识别-2.mix" }, - "04图片识别-1.mix": { + "msy6yoOup7Cl.mix": { "__file__": true, "__name__": "04图片识别-1.mix" }, - "04图片识别-2.mix": { + "KW6-9siSeahy.mix": { "__file__": true, "__name__": "04图片识别-2.mix" }, - "05人脸识别-1.mix": { + "XlLl38Xkcey2.mix": { "__file__": true, "__name__": "05人脸识别-1.mix" }, - "05人脸识别-2.mix": { + "RU8UP8tLmYZK.mix": { "__file__": true, "__name__": "05人脸识别-2.mix" }, - "06文字识别-1.mix": { + "Hxk5CmXVoOI5.mix": { "__file__": true, "__name__": "06文字识别-1.mix" }, - "06文字识别-2.mix": { + "ohM1sXOs5ucR.mix": { "__file__": true, "__name__": "06文字识别-2.mix" }, - "07拓展发现-1.mix": { + "pf-5Gn5ZjW5T.mix": { "__file__": true, "__name__": "07拓展发现-1.mix" }, - "07拓展发现-2.mix": { + "YbfEiXYA1L75.mix": { "__file__": true, "__name__": "07拓展发现-2.mix" }, - "08文本纠错-1.mix": { + "sbR3lOLZSrGF.mix": { "__file__": true, "__name__": "08文本纠错-1.mix" }, - "08文本纠错-2.mix": { + "qpFALGBRhJ7V.mix": { "__file__": true, "__name__": "08文本纠错-2.mix" }, - "09词法分析-2.mix": { + "WXFcFGev8saM.mix": { "__file__": true, "__name__": "09词法分析-2.mix" }, - "09词法分析.mix": { + "e1FvHKK6mm0-.mix": { "__file__": true, "__name__": "09词法分析.mix" }, "__file__": false, "__name__": "人工智能mix" }, - "海龟画图": { - "mix": { - "海龟画图01小房子_01小房子.mix": { + "qH8U_24k3XYf": { + "hct-tkCqiq01": { + "65jBiwqymjWV.mix": { "__file__": true, "__name__": "海龟画图01小房子_01小房子.mix" }, - "海龟画图02小汽车_01正五边形.mix": { + "QW4Eixpa-aO7.mix": { "__file__": true, "__name__": "海龟画图02小汽车_01正五边形.mix" }, - "海龟画图02小汽车_02小汽车.mix": { + "sNirHvTXJnVU.mix": { "__file__": true, "__name__": "海龟画图02小汽车_02小汽车.mix" }, - "海龟画图03小橙子_01完整橙子.mix": { + "6q9SmcpHGg6E.mix": { "__file__": true, "__name__": "海龟画图03小橙子_01完整橙子.mix" }, - "海龟画图03小橙子_02切开的橙子.mix": { + "U-KAaEwp2JlT.mix": { "__file__": true, "__name__": "海龟画图03小橙子_02切开的橙子.mix" }, - "海龟画图04盛开的向日葵_01太阳公公.mix": { + "IV88rhcSwRE3.mix": { "__file__": true, "__name__": "海龟画图04盛开的向日葵_01太阳公公.mix" }, - "海龟画图04盛开的向日葵_02向日葵.mix": { + "Lp_JO0YCGE12.mix": { "__file__": true, "__name__": "海龟画图04盛开的向日葵_02向日葵.mix" }, - "海龟画图05炫彩螺旋线_01螺旋四边形.mix": { + "jRsUiHZMeXL8.mix": { "__file__": true, "__name__": "海龟画图05炫彩螺旋线_01螺旋四边形.mix" }, - "海龟画图05炫彩螺旋线_02彩色螺旋线.mix": { + "ppdrET_SATod.mix": { "__file__": true, "__name__": "海龟画图05炫彩螺旋线_02彩色螺旋线.mix" }, - "海龟画图06米思齐Logo_01米思齐Logo.mix": { + "JuhETL_YLg2O.mix": { "__file__": true, "__name__": "海龟画图06米思齐Logo_01米思齐Logo.mix" }, - "海龟画图07闪烁星星_01正五角星.mix": { + "LgkIqeKDAf95.mix": { "__file__": true, "__name__": "海龟画图07闪烁星星_01正五角星.mix" }, - "海龟画图07闪烁星星_02正n角星.mix": { + "dX5jBS6t5FX6.mix": { "__file__": true, "__name__": "海龟画图07闪烁星星_02正n角星.mix" }, - "海龟画图08猜一猜_01猜性别.mix": { + "YZ-tdcZokU-e.mix": { "__file__": true, "__name__": "海龟画图08猜一猜_01猜性别.mix" }, - "海龟画图08猜一猜_02猜年龄.mix": { + "21Qt30U5PUOD.mix": { "__file__": true, "__name__": "海龟画图08猜一猜_02猜年龄.mix" }, - "海龟画图09大树的年龄_01年轮.mix": { + "p3PlIDdC_vt-.mix": { "__file__": true, "__name__": "海龟画图09大树的年龄_01年轮.mix" }, - "海龟画图09大树的年龄_02树年龄.mix": { + "6I_yXcbZG2tm.mix": { "__file__": true, "__name__": "海龟画图09大树的年龄_02树年龄.mix" }, - "海龟画图10公共汽车_01公共汽车.mix": { + "OCu-28eKqM_U.mix": { "__file__": true, "__name__": "海龟画图10公共汽车_01公共汽车.mix" }, - "海龟画图11美丽星空_01星空.mix": { + "g0B5xQBFnrDs.mix": { "__file__": true, "__name__": "海龟画图11美丽星空_01星空.mix" }, - "海龟画图12斐波那契数列_01输出斐波那契额数列.mix": { + "7LqrIE3Y5WgL.mix": { "__file__": true, "__name__": "海龟画图12斐波那契数列_01输出斐波那契额数列.mix" }, - "海龟画图12斐波那契数列_02斐波那契额螺旋线.mix": { + "XaHlKkrKbrI4.mix": { "__file__": true, "__name__": "海龟画图12斐波那契数列_02斐波那契额螺旋线.mix" }, diff --git a/boards/default/python_mixpy/examples/sin.mix b/boards/default/python_mixpy/examples/p4vLzL6gw8VI.mix similarity index 100% rename from boards/default/python_mixpy/examples/sin.mix rename to boards/default/python_mixpy/examples/p4vLzL6gw8VI.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图01小房子_01小房子.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图01小房子_01小房子.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图01小房子_01小房子.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图01小房子_01小房子.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图02小汽车_01正五边形.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图02小汽车_01正五边形.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图02小汽车_01正五边形.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图02小汽车_01正五边形.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图02小汽车_02小汽车.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图02小汽车_02小汽车.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图02小汽车_02小汽车.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图02小汽车_02小汽车.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图03小橙子_01完整橙子.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图03小橙子_01完整橙子.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图03小橙子_01完整橙子.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图03小橙子_01完整橙子.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图03小橙子_02切开的橙子.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图03小橙子_02切开的橙子.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图03小橙子_02切开的橙子.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图03小橙子_02切开的橙子.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图04盛开的向日葵_01太阳公公.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图04盛开的向日葵_01太阳公公.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图04盛开的向日葵_01太阳公公.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图04盛开的向日葵_01太阳公公.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图04盛开的向日葵_02向日葵.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图04盛开的向日葵_02向日葵.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图04盛开的向日葵_02向日葵.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图04盛开的向日葵_02向日葵.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图05炫彩螺旋线_01螺旋四边形.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图05炫彩螺旋线_01螺旋四边形.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图05炫彩螺旋线_01螺旋四边形.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图05炫彩螺旋线_01螺旋四边形.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图05炫彩螺旋线_02彩色螺旋线.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图05炫彩螺旋线_02彩色螺旋线.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图05炫彩螺旋线_02彩色螺旋线.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图05炫彩螺旋线_02彩色螺旋线.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图06米思齐Logo_01米思齐Logo.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图06米思齐Logo_01米思齐Logo.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图06米思齐Logo_01米思齐Logo.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图06米思齐Logo_01米思齐Logo.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图07闪烁星星_01正五角星.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图07闪烁星星_01正五角星.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图07闪烁星星_01正五角星.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图07闪烁星星_01正五角星.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图07闪烁星星_02正n角星.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图07闪烁星星_02正n角星.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图07闪烁星星_02正n角星.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图07闪烁星星_02正n角星.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图08猜一猜_01猜性别.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图08猜一猜_01猜性别.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图08猜一猜_01猜性别.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图08猜一猜_01猜性别.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图08猜一猜_02猜年龄.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图08猜一猜_02猜年龄.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图08猜一猜_02猜年龄.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图08猜一猜_02猜年龄.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图09大树的年龄_01年轮.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图09大树的年龄_01年轮.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图09大树的年龄_01年轮.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图09大树的年龄_01年轮.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图09大树的年龄_02树年龄.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图09大树的年龄_02树年龄.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图09大树的年龄_02树年龄.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图09大树的年龄_02树年龄.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图10公共汽车_01公共汽车.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图10公共汽车_01公共汽车.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图10公共汽车_01公共汽车.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图10公共汽车_01公共汽车.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图11美丽星空_01星空.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图11美丽星空_01星空.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图11美丽星空_01星空.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图11美丽星空_01星空.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图12斐波那契数列_01输出斐波那契额数列.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图12斐波那契数列_01输出斐波那契额数列.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图12斐波那契数列_01输出斐波那契额数列.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图12斐波那契数列_01输出斐波那契额数列.py diff --git a/boards/default/python_mixpy/examples/海龟画图/py/海龟画图12斐波那契数列_02斐波那契额螺旋线.py b/boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图12斐波那契数列_02斐波那契额螺旋线.py similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/py/海龟画图12斐波那契数列_02斐波那契额螺旋线.py rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/AI8fmCaq6sKt/海龟画图12斐波那契数列_02斐波那契额螺旋线.py diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图08猜一猜_02猜年龄.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/21Qt30U5PUOD.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图08猜一猜_02猜年龄.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/21Qt30U5PUOD.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图01小房子_01小房子.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/65jBiwqymjWV.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图01小房子_01小房子.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/65jBiwqymjWV.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图09大树的年龄_02树年龄.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/6I_yXcbZG2tm.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图09大树的年龄_02树年龄.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/6I_yXcbZG2tm.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图03小橙子_01完整橙子.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/6q9SmcpHGg6E.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图03小橙子_01完整橙子.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/6q9SmcpHGg6E.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图12斐波那契数列_01输出斐波那契额数列.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/7LqrIE3Y5WgL.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图12斐波那契数列_01输出斐波那契额数列.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/7LqrIE3Y5WgL.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图04盛开的向日葵_01太阳公公.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/IV88rhcSwRE3.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图04盛开的向日葵_01太阳公公.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/IV88rhcSwRE3.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图06米思齐Logo_01米思齐Logo.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/JuhETL_YLg2O.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图06米思齐Logo_01米思齐Logo.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/JuhETL_YLg2O.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图07闪烁星星_01正五角星.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/LgkIqeKDAf95.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图07闪烁星星_01正五角星.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/LgkIqeKDAf95.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图04盛开的向日葵_02向日葵.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/Lp_JO0YCGE12.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图04盛开的向日葵_02向日葵.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/Lp_JO0YCGE12.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图10公共汽车_01公共汽车.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/OCu-28eKqM_U.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图10公共汽车_01公共汽车.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/OCu-28eKqM_U.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图02小汽车_01正五边形.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/QW4Eixpa-aO7.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图02小汽车_01正五边形.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/QW4Eixpa-aO7.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图03小橙子_02切开的橙子.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/U-KAaEwp2JlT.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图03小橙子_02切开的橙子.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/U-KAaEwp2JlT.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图12斐波那契数列_02斐波那契额螺旋线.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/XaHlKkrKbrI4.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图12斐波那契数列_02斐波那契额螺旋线.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/XaHlKkrKbrI4.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图08猜一猜_01猜性别.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/YZ-tdcZokU-e.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图08猜一猜_01猜性别.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/YZ-tdcZokU-e.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图07闪烁星星_02正n角星.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/dX5jBS6t5FX6.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图07闪烁星星_02正n角星.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/dX5jBS6t5FX6.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图11美丽星空_01星空.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/g0B5xQBFnrDs.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图11美丽星空_01星空.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/g0B5xQBFnrDs.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图05炫彩螺旋线_01螺旋四边形.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/jRsUiHZMeXL8.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图05炫彩螺旋线_01螺旋四边形.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/jRsUiHZMeXL8.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图09大树的年龄_01年轮.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/p3PlIDdC_vt-.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图09大树的年龄_01年轮.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/p3PlIDdC_vt-.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图05炫彩螺旋线_02彩色螺旋线.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/ppdrET_SATod.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图05炫彩螺旋线_02彩色螺旋线.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/ppdrET_SATod.mix diff --git a/boards/default/python_mixpy/examples/海龟画图/mix/海龟画图02小汽车_02小汽车.mix b/boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/sNirHvTXJnVU.mix similarity index 100% rename from boards/default/python_mixpy/examples/海龟画图/mix/海龟画图02小汽车_02小汽车.mix rename to boards/default/python_mixpy/examples/qH8U_24k3XYf/hct-tkCqiq01/sNirHvTXJnVU.mix diff --git a/boards/default/python_mixpy/examples/AipNlp.mix b/boards/default/python_mixpy/examples/uE7vH_oLl359.mix similarity index 100% rename from boards/default/python_mixpy/examples/AipNlp.mix rename to boards/default/python_mixpy/examples/uE7vH_oLl359.mix diff --git a/boards/default/python_mixpy/examples/AipSpeech.mix b/boards/default/python_mixpy/examples/wQjnjbFpJi-D.mix similarity index 100% rename from boards/default/python_mixpy/examples/AipSpeech.mix rename to boards/default/python_mixpy/examples/wQjnjbFpJi-D.mix diff --git a/boards/default/python_mixpy/index.xml b/boards/default/python_mixpy/index.xml index 592e5e07..6a013a40 100644 --- a/boards/default/python_mixpy/index.xml +++ b/boards/default/python_mixpy/index.xml @@ -1 +1 @@ -promptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!1090x151100a10.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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xreadme.txtffilename.txtfffilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtfilename.txtpathff0reponsehttps://mixio.mixly.cnreponsehttps://mixio.mixly.cnreponsemixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodtopicmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012tina20tina90tina0tina2020tina50tinatinatinatinatinatina5tinatina225tina5#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000#ff0000#FF0000tina#FF0000tina#FF0000tina#FF0000tina50tina50360tinascreenkeyfuncUpkeyfunctina100tina90screenclickfuncclickfunctinax20y20screentimerfunc3000timerfunctina100tina90screenscreenturtle.epstina10tinaMixly!tinaMixly!Arial8NUMInput a number:100100Input your nameWhat's your name?d:\\1.wav3d:\\1.jpgqclientEnter Your API_KEYEnter Your SECRET_KEYclient今天天气真好clientclientclientC:/mixly.jpgC:/mixpy.jpgclientclient我爱米思齐client米思齐米思皮client米思齐团队米思齐团队由一群具有共同理想的学生和老师组成,他们始终致力于为开展更好的创客教育而努力。client米思齐团队由一群具有共同理想的学生和老师组成,他们始终致力于为开展更好的创客教育而努力。20df1data.csvdfdfarrayNonearrayNonearrayarrayarraydfvalueFalsedfdfcolumns0x1.55.50.511array1array2myMatrixmyMatrixmyMatrixarraymatrix1matrix2array1array20,1,2,3xmyArraymyArraymyDimensionsmyArraymyArraymyFeatures0imagetemplatesmyArray0myArray0myArraymylistmylist0,1,2,3mydictmydict'a','b','c','d'mydict'ABCD''a','b','c','d'ser1ser10df1tagser1ser11,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag0.25,0.35,0.1,0.3'a','b','c','d'0.2,0,0,011,21,31,41,51,61,71,81,910,20,40,60,80,100211Titleaxis1,2,3,41,2,3,415581.pngimg1.jpgfacehaarcascade_frontalface_default.xmlfaceRectsimgface1.15faceRectsimgface1.15100100200200Mixlyimg2.jpgimg0img001001003imgMixly02004310020220221001001010.00.010021.0-10.0,10.0TRUEirisiris_Xiris_y0.3modelTRUEFALSEmodel1.0TRUEFALSE300modelmodel100model5modelmodel8300modelX_trainy_trainmodelX_testy_testmodelX_testmodelmodelmodelD:/mixly/test.pkl \ No newline at end of file +promptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as eetestThreadtestThreadWHILETRUEHello Mixly from Thread!1090x151100a10.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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xreadme.txtffilename.txtfffilename.txtfMixlyfff0fffpathpathfilename.txtsrcname.txtdstname.txtfilename.txtpathff0reponsehttps://mixio.mixly.cnreponsehttps://mixio.mixly.cnreponsemixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodtopicmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012tina20tina90tina0tina2020tina50tinatinatinatinatinatina5tinatina225tina5#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000tina#ff0000#FF0000#ff0000#FF0000tina#FF0000tina#FF0000tina#FF0000tina50tina50360tinascreenkeyfuncUpkeyfunctina100tina90screenclickfuncclickfunctinax20y20screentimerfunc3000timerfunctina100tina90screenscreenturtle.epstina10tinaMixly!tinaMixly!Arial8NUMInput a number:100100Input your nameWhat's your name?d:\\1.wav3d:\\1.jpgqclientEnter Your API_KEYEnter Your SECRET_KEYclient今天天气真好clientclientclientC:/mixly.jpgC:/mixpy.jpgclientclient我爱米思齐client米思齐米思皮client米思齐团队米思齐团队由一群具有共同理想的学生和老师组成,他们始终致力于为开展更好的创客教育而努力。client米思齐团队由一群具有共同理想的学生和老师组成,他们始终致力于为开展更好的创客教育而努力。20df1data.csvdfdfarrayNonearrayNonearrayarrayarraydfvalueFalsedfdfcolumns0x1.55.50.511array1array2myMatrixmyMatrixmyMatrixarraymatrix1matrix2array1array20,1,2,3xmyArraymyArraymyDimensionsmyArraymyArraymyFeatures0imagetemplatesmyArray0myArray0myArraymylistmylist0,1,2,3mydictmydict'a','b','c','d'mydict'ABCD''a','b','c','d'ser1ser10df1tagser1ser11,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag0.25,0.35,0.1,0.3'a','b','c','d'0.2,0,0,011,21,31,41,51,61,71,81,910,20,40,60,80,100211Titleaxis1,2,3,41,2,3,415581.pngimg1.jpgfacehaarcascade_frontalface_default.xmlfaceRectsimgface1.15faceRectsimgface1.15100100200200Mixlyimg2.jpgimg0img001001003imgMixly02004310020220221001001010.00.010021.0-10.0,10.0TRUEirisiris_Xiris_y0.3modelTRUEFALSEmodel1.0TRUEFALSE300modelmodel100model5modelmodel8300modelX_trainy_trainmodelX_testy_testmodelX_testmodelmodelmodelD:/mixly/test.pkl \ No newline at end of file diff --git a/boards/default/python_mixpy/main.bundle.js b/boards/default/python_mixpy/main.bundle.js index 08b0da78..c70edc89 100644 --- a/boards/default/python_mixpy/main.bundle.js +++ b/boards/default/python_mixpy/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var __webpack_modules__={817:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{cv_destroy_all:()=>cv_destroy_all,cv_face_classifier:()=>cv_face_classifier,cv_face_detect:()=>cv_face_detect,cv_face_detect_all:()=>cv_face_detect_all,cv_line_rect:()=>cv_line_rect,cv_read_image:()=>cv_read_image,cv_show_image:()=>cv_show_image,cv_text:()=>cv_text,cv_waitkey:()=>cv_waitkey,cv_write_image:()=>cv_write_image});const cv_read_image=function(t,e){return e.definitions_.import_cv2="import cv2",["cv2.imread("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cv_show_image=function(t,e){return e.definitions_.import_cv2="import cv2","cv2.imshow("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+","+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},cv_write_image=function(t,e){return e.definitions_.import_cv2="import cv2","cv2.imwrite("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+","+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},cv_waitkey=function(t,e){return e.definitions_.import_cv2="import cv2","cv2.waitKey("+e.valueToCode(this,"data",e.ORDER_ATOMIC)+")\n"},cv_destroy_all=function(t,e){e.definitions_.import_cv2="import cv2";return"cv2.destroyAllWindows()\n"},cv_line_rect=function(_,generator){generator.definitions_.import_cv2="import cv2";var file=generator.valueToCode(this,"FILE",generator.ORDER_ATOMIC),x1=generator.valueToCode(this,"x1",generator.ORDER_ATOMIC),y1=generator.valueToCode(this,"y1",generator.ORDER_ATOMIC),x2=generator.valueToCode(this,"x2",generator.ORDER_ATOMIC),y2=generator.valueToCode(this,"y2",generator.ORDER_ATOMIC),thick=generator.valueToCode(this,"thick",generator.ORDER_ATOMIC),color=this.getFieldValue("FIELDNAME"),color1=eval("0x"+color[1]+color[2]),color2=eval("0x"+color[3]+color[4]),color3=eval("0x"+color[5]+color[6]),direction=this.getFieldValue("DIR"),code="cv2."+direction+"("+file+",("+x1+","+y1+"),("+x2+","+y2+"),("+color3+","+color2+","+color1+"),"+thick+")\n";return code},cv_text=function(_,generator){generator.definitions_.import_cv2="import cv2";var file=generator.valueToCode(this,"FILE",generator.ORDER_ATOMIC),x1=generator.valueToCode(this,"x1",generator.ORDER_ATOMIC),y1=generator.valueToCode(this,"y1",generator.ORDER_ATOMIC),data=generator.valueToCode(this,"data",generator.ORDER_ATOMIC),size=generator.valueToCode(this,"size",generator.ORDER_ATOMIC),thick=generator.valueToCode(this,"thick",generator.ORDER_ATOMIC),color=this.getFieldValue("FIELDNAME"),color1=eval("0x"+color[1]+color[2]),color2=eval("0x"+color[3]+color[4]),color3=eval("0x"+color[5]+color[6]),font=this.getFieldValue("font"),code="cv2.putText("+file+","+data+",("+x1+","+y1+"),cv2.FONT_HERSHEY_"+font+","+size+",("+color3+","+color2+","+color1+"),"+thick+")\n";return code},cv_face_classifier=function(t,e){return e.definitions_.import_cv2="import cv2",["cv2.CascadeClassifier("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cv_face_detect=function(t,e){e.definitions_.import_cv2="import cv2";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return[e.valueToCode(this,"FACE",e.ORDER_ATOMIC)+".detectMultiScale("+i+",scaleFactor="+e.valueToCode(this,"SCALE",e.ORDER_ATOMIC)+",minNeighbors="+e.valueToCode(this,"NEIGHBOR",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cv_face_detect_all=function(t,e){e.definitions_.import_cv2="import cv2";var i=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return[e.valueToCode(this,"FACE",e.ORDER_ATOMIC)+".detectMultiScale("+i+",scaleFactor="+e.valueToCode(this,"SCALE",e.ORDER_ATOMIC)+",minNeighbors="+e.valueToCode(this,"NEIGHBOR",e.ORDER_ATOMIC)+",minSize=("+e.valueToCode(this,"x1",e.ORDER_ATOMIC)+","+e.valueToCode(this,"y1",e.ORDER_ATOMIC)+"),maxSize=("+e.valueToCode(this,"x2",e.ORDER_ATOMIC)+","+e.valueToCode(this,"y2",e.ORDER_ATOMIC)+"))",e.ORDER_ATOMIC]}}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var i=__webpack_module_cache__[t]={exports:{}};return __webpack_modules__[t](i,i.exports,__webpack_require__),i.exports}__webpack_require__.d=(t,e)=>{for(var i in e)__webpack_require__.o(e,i)&&!__webpack_require__.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var __webpack_exports__={};(()=>{var t={};__webpack_require__.r(t),__webpack_require__.d(t,{controls_type:()=>Tt,controls_typeLists:()=>dt,variables_change:()=>lt,variables_get:()=>at,variables_global:()=>rt,variables_set:()=>ut});var e={};__webpack_require__.r(e),__webpack_require__.d(e,{base_setup:()=>Et,controls_delay:()=>Ot,controls_end_program:()=>Mt,controls_except:()=>Pt,controls_finally:()=>vt,controls_flow_statements:()=>Ct,controls_for:()=>Lt,controls_forEach:()=>ct,controls_for_range:()=>St,controls_if:()=>Rt,controls_if_else:()=>ft,controls_if_elseif:()=>Nt,controls_if_if:()=>Dt,controls_lambda:()=>Yt,controls_main:()=>ht,controls_pass:()=>yt,controls_range:()=>mt,controls_repeat_ext:()=>Vt,controls_thread:()=>bt,controls_try:()=>Ft,controls_try_finally:()=>gt,controls_whileUntil:()=>At,do_while:()=>kt});var i={};__webpack_require__.r(i),__webpack_require__.d(i,{base_map:()=>se,math_arithmetic:()=>wt,math_bit:()=>Ht,math_constant:()=>Ut,math_constant_mp:()=>Bt,math_constrain:()=>Jt,math_dec:()=>Kt,math_indexer_number:()=>$t,math_map:()=>Zt,math_max_min:()=>jt,math_number:()=>xt,math_number_base_conversion:()=>Qt,math_random:()=>zt,math_random_seed:()=>te,math_round:()=>ee,math_selfcalcu:()=>Gt,math_to_int:()=>qt,math_trig:()=>Wt,text_to_number:()=>ie,text_to_number_skulpt:()=>ne});var n={};__webpack_require__.r(n),__webpack_require__.d(n,{ascii_to_char:()=>le,char_to_ascii:()=>re,number_to_text:()=>Te,os_system:()=>ke,text:()=>pe,text_capital:()=>ce,text_center:()=>Ae,text_char:()=>ae,text_char_at:()=>he,text_char_at2:()=>Ie,text_char_at3:()=>Ve,text_compareTo:()=>ve,text_compare_to:()=>me,text_create_with_container:()=>fe,text_create_with_item:()=>Fe,text_encode:()=>ye,text_equals_starts_ends:()=>Re,text_eval:()=>be,text_find:()=>ge,text_format:()=>Ne,text_format_noreturn:()=>Ye,text_join:()=>ue,text_join_seq:()=>Ce,text_length:()=>de,text_random_char:()=>Ee,text_replace:()=>Le,text_split:()=>Se,text_strip:()=>De,text_substring:()=>Me,text_substring2:()=>Oe,text_substring3:()=>Pe,text_textarea:()=>_e});var s={};__webpack_require__.r(s),__webpack_require__.d(s,{list_many_input:()=>pi,list_tolist:()=>di,list_tolist2:()=>ci,list_trig:()=>ni,lists_2d_get_col_row_data:()=>we,lists_2d_get_data_with_col_row:()=>Be,lists_append_extend:()=>je,lists_change_to:()=>oi,lists_change_to_general:()=>ai,lists_clear:()=>$e,lists_create_with:()=>Ge,lists_create_with2:()=>Ii,lists_create_with_container:()=>We,lists_create_with_item:()=>Ke,lists_create_with_noreturn:()=>_i,lists_create_with_text:()=>He,lists_create_with_text2:()=>hi,lists_del_general:()=>ui,lists_find:()=>ii,lists_getIndex3:()=>Ei,lists_getSublist3:()=>Oi,lists_get_index:()=>xe,lists_get_random_item:()=>Qe,lists_get_random_sublist:()=>ze,lists_get_sublist:()=>Ue,lists_insert_value:()=>Je,lists_insert_value2:()=>Ri,lists_pop:()=>ei,lists_remove_at:()=>ti,lists_remove_at2:()=>mi,lists_reverse:()=>Ze,lists_setIndex3:()=>Mi,lists_set_index:()=>qe,lists_sort:()=>si,lists_zip:()=>li,lists_zip_container:()=>ri,lists_zip_item:()=>Ti});var o={};__webpack_require__.r(o),__webpack_require__.d(o,{dicts_add_change_del:()=>ki,dicts_add_or_change:()=>fi,dicts_clear:()=>vi,dicts_create_with:()=>gi,dicts_create_with_container:()=>Ci,dicts_create_with_item:()=>Li,dicts_create_with_noreturn:()=>Ui,dicts_deldict:()=>bi,dicts_delete:()=>Fi,dicts_get:()=>Di,dicts_get_default:()=>Ni,dicts_items:()=>Vi,dicts_keys:()=>Si,dicts_length:()=>yi,dicts_pop:()=>Xi,dicts_setdefault:()=>xi,dicts_to_json:()=>wi,dicts_todict:()=>Bi,dicts_update:()=>Pi,dicts_values:()=>Yi,json_to_dicts:()=>Gi});var p={};__webpack_require__.r(p),__webpack_require__.d(p,{logic_boolean:()=>Qi,logic_compare:()=>Wi,logic_compare_continous:()=>Ki,logic_is:()=>$i,logic_is_in:()=>Zi,logic_negate:()=>ji,logic_null:()=>zi,logic_operation:()=>qi,logic_tobool:()=>tn,logic_true_or_false:()=>Ji});var _={};__webpack_require__.r(_),__webpack_require__.d(_,{sdcard_mount:()=>Cn,sdcard_use_spi_init:()=>gn,storage_can_write_ornot:()=>ln,storage_change_dir:()=>cn,storage_close_file:()=>Tn,storage_delete_file:()=>In,storage_file_seek:()=>On,storage_file_tell:()=>En,storage_file_write:()=>pn,storage_fileopen:()=>nn,storage_fileopen_new:()=>sn,storage_fileopen_new_encoding:()=>on,storage_get_a_line:()=>un,storage_get_contents:()=>an,storage_get_contents_without_para:()=>_n,storage_get_current_dir:()=>Mn,storage_get_file_size:()=>hn,storage_get_filename:()=>rn,storage_is_file:()=>An,storage_list_all_files:()=>dn,storage_make_dir:()=>Rn,storage_open_file_with_os:()=>en,storage_rename:()=>mn});var a={};__webpack_require__.r(a),__webpack_require__.d(a,{procedures_callnoreturn:()=>Pn,procedures_callreturn:()=>vn,procedures_defnoreturn:()=>Dn,procedures_defreturn:()=>Nn,procedures_ifreturn:()=>Vn,procedures_mutatorarg:()=>Fn,procedures_mutatorcontainer:()=>fn,procedures_return:()=>Yn});var u={};__webpack_require__.r(u),__webpack_require__.d(u,{tuple_change_to:()=>Kn,tuple_create_with:()=>bn,tuple_create_with_container:()=>kn,tuple_create_with_item:()=>Xn,tuple_create_with_noreturn:()=>zn,tuple_create_with_text2:()=>xn,tuple_create_with_text_return:()=>Un,tuple_del:()=>Gn,tuple_find:()=>qn,tuple_getIndex:()=>Bn,tuple_getSublist:()=>Qn,tuple_get_random_item:()=>Zn,tuple_get_sublist:()=>Jn,tuple_join:()=>Hn,tuple_length:()=>wn,tuple_max:()=>Wn,tuple_totuple:()=>$n,tuple_trig:()=>jn});var l={};__webpack_require__.r(l),__webpack_require__.d(l,{set_add_discard:()=>us,set_clear:()=>ps,set_create_with:()=>es,set_create_with_container:()=>is,set_create_with_item:()=>ns,set_create_with_text_return:()=>Ts,set_length:()=>ss,set_operate:()=>_s,set_operate_update:()=>as,set_pop:()=>os,set_sub:()=>ls,set_toset:()=>ds,set_update:()=>rs});var r={};__webpack_require__.r(r),__webpack_require__.d(r,{html_content:()=>Ms,html_content_more:()=>Rs,html_document:()=>hs,html_form:()=>cs,html_head_body:()=>Os,html_style:()=>ms,html_style_color:()=>gs,html_style_content:()=>As,html_text:()=>Cs,html_title:()=>Es});var T={};__webpack_require__.r(T),__webpack_require__.d(T,{attribute_access:()=>Xs,function_call:()=>ys,function_call_container:()=>bs,function_call_item:()=>ks,raw_block:()=>Ds,raw_empty:()=>fs,raw_expression:()=>Ns,raw_table:()=>Ss,text_comment:()=>Fs,text_print_multiple:()=>vs,text_print_multiple_container:()=>Vs,text_print_multiple_item:()=>Ys,type_check:()=>Ps});var d={};__webpack_require__.r(d),__webpack_require__.d(d,{controls_type:()=>Gs,controls_typeLists:()=>Hs,variables_change:()=>Bs,variables_get:()=>xs,variables_global:()=>ws,variables_set:()=>Us});var I={};__webpack_require__.r(I),__webpack_require__.d(I,{Panic_with_status_code:()=>to,base_setup:()=>Ks,controls_delay:()=>$s,controls_flow_statements:()=>Zs,controls_for:()=>Qs,controls_forEach:()=>oo,controls_for_range:()=>zs,controls_if:()=>qs,controls_interrupts:()=>no,controls_lambda:()=>_o,controls_main:()=>Ws,controls_millis:()=>eo,controls_nointerrupts:()=>so,controls_pass:()=>uo,controls_range:()=>po,controls_repeat:()=>Io,controls_repeat_ext:()=>To,controls_thread:()=>lo,controls_try_finally:()=>js,controls_whileUntil:()=>Js,do_while:()=>ro,reset:()=>io,time_sleep:()=>ao});var h={};__webpack_require__.r(h),__webpack_require__.d(h,{base_map:()=>yo,math_arithmetic:()=>Ro,math_bit:()=>Mo,math_constant:()=>Eo,math_constant_mp:()=>Oo,math_constrain:()=>No,math_dec:()=>go,math_indexer_number:()=>Po,math_map:()=>Do,math_max_min:()=>Lo,math_number:()=>ho,math_number_base_conversion:()=>fo,math_random:()=>So,math_random_seed:()=>Fo,math_round:()=>vo,math_selfcalcu:()=>mo,math_single:()=>co,math_to_int:()=>Co,math_trig:()=>Ao,text_to_number:()=>Vo,text_to_number_skulpt:()=>Yo});var E={};__webpack_require__.r(E),__webpack_require__.d(E,{ascii_to_char:()=>Uo,char_to_ascii:()=>Bo,number_to_text:()=>wo,os_system:()=>rp,text:()=>bo,text_capital:()=>Jo,text_center:()=>Zo,text_char:()=>Xo,text_char_at:()=>Wo,text_char_at2:()=>Ho,text_char_at3:()=>ap,text_compareTo:()=>_p,text_compare_to:()=>jo,text_encode:()=>up,text_equals_starts_ends:()=>qo,text_eval:()=>lp,text_find:()=>$o,text_format:()=>sp,text_format_noreturn:()=>op,text_join:()=>xo,text_join_seq:()=>tp,text_length:()=>Go,text_random_char:()=>Ko,text_replace:()=>ep,text_split:()=>ip,text_strip:()=>np,text_substring:()=>zo,text_substring2:()=>Qo,text_substring3:()=>pp,text_textarea:()=>ko});var O={};__webpack_require__.r(O),__webpack_require__.d(O,{list_many_input:()=>Pp,list_tolist:()=>Gp,list_tolist2:()=>Hp,list_trig:()=>Np,lists_2d_get_col_row_data:()=>Ip,lists_2d_get_data_with_col_row:()=>dp,lists_append_extend:()=>Rp,lists_change_to:()=>Fp,lists_change_to_general:()=>Vp,lists_clear:()=>Cp,lists_create_with:()=>hp,lists_create_with2:()=>yp,lists_create_with_noreturn:()=>vp,lists_create_with_text:()=>Ep,lists_create_with_text2:()=>bp,lists_del_general:()=>Yp,lists_find:()=>Lp,lists_getIndex3:()=>kp,lists_getSublist3:()=>Xp,lists_get_index:()=>Op,lists_get_random_item:()=>mp,lists_get_random_sublist:()=>cp,lists_get_sublist:()=>Tp,lists_insert_value:()=>Ap,lists_insert_value2:()=>Up,lists_pop:()=>Dp,lists_remove_at:()=>Sp,lists_remove_at2:()=>Bp,lists_reverse:()=>gp,lists_setIndex3:()=>xp,lists_set_index:()=>Mp,lists_sort:()=>fp,lists_zip:()=>wp});var M={};__webpack_require__.r(M),__webpack_require__.d(M,{dicts_add_change_del:()=>n_,dicts_add_or_change:()=>Qp,dicts_clear:()=>Zp,dicts_create_with:()=>Wp,dicts_create_with_noreturn:()=>p_,dicts_deldict:()=>i_,dicts_delete:()=>zp,dicts_get:()=>qp,dicts_get_default:()=>jp,dicts_items:()=>$p,dicts_keys:()=>Kp,dicts_length:()=>e_,dicts_pop:()=>s_,dicts_setdefault:()=>o_,dicts_to_json:()=>a_,dicts_todict:()=>__,dicts_update:()=>Jp,dicts_values:()=>t_,json_to_dicts:()=>u_});var R={};__webpack_require__.r(R),__webpack_require__.d(R,{logic_boolean:()=>I_,logic_compare:()=>l_,logic_compare_continous:()=>r_,logic_is:()=>M_,logic_is_in:()=>O_,logic_negate:()=>d_,logic_null:()=>h_,logic_operation:()=>T_,logic_tobool:()=>R_,logic_true_or_false:()=>E_});var m={};__webpack_require__.r(m),__webpack_require__.d(m,{sdcard_mount:()=>w_,sdcard_use_spi_init:()=>B_,storage_can_write_ornot:()=>N_,storage_change_dir:()=>b_,storage_close_file:()=>F_,storage_delete_file:()=>v_,storage_file_seek:()=>y_,storage_file_tell:()=>Y_,storage_file_write:()=>C_,storage_fileopen:()=>c_,storage_fileopen_new:()=>A_,storage_fileopen_new_encoding:()=>g_,storage_get_a_line:()=>D_,storage_get_contents:()=>S_,storage_get_contents_without_para:()=>L_,storage_get_current_dir:()=>k_,storage_get_file_size:()=>V_,storage_get_filename:()=>f_,storage_is_file:()=>U_,storage_list_all_files:()=>P_,storage_make_dir:()=>X_,storage_open_file_with_os:()=>m_,storage_rename:()=>x_});var c={};__webpack_require__.r(c),__webpack_require__.d(c,{procedures_callnoreturn:()=>K_,procedures_callreturn:()=>W_,procedures_defnoreturn:()=>H_,procedures_defreturn:()=>G_,procedures_ifreturn:()=>q_,procedures_return:()=>j_});var A={};__webpack_require__.r(A),__webpack_require__.d(A,{tuple_change_to:()=>na,tuple_create_with:()=>Q_,tuple_create_with_noreturn:()=>_a,tuple_create_with_text2:()=>z_,tuple_create_with_text_return:()=>J_,tuple_del:()=>ta,tuple_find:()=>sa,tuple_getIndex:()=>Z_,tuple_getSublist:()=>pa,tuple_get_random_item:()=>ua,tuple_get_sublist:()=>aa,tuple_join:()=>ea,tuple_length:()=>$_,tuple_max:()=>ia,tuple_totuple:()=>la,tuple_trig:()=>oa});var g={};__webpack_require__.r(g),__webpack_require__.d(g,{set_add_discard:()=>Oa,set_clear:()=>Ia,set_create_with:()=>ra,set_create_with_text_return:()=>ma,set_length:()=>Ta,set_operate:()=>ha,set_operate_update:()=>Ea,set_pop:()=>da,set_sub:()=>Ma,set_toset:()=>ca,set_update:()=>Ra});var C={};__webpack_require__.r(C),__webpack_require__.d(C,{html_content:()=>La,html_content_more:()=>Sa,html_document:()=>Aa,html_form:()=>Na,html_head_body:()=>Ca,html_style:()=>Da,html_style_content:()=>fa,html_text:()=>Fa,html_title:()=>ga});var L={};__webpack_require__.r(L),__webpack_require__.d(L,{attribute_access:()=>ka,function_call:()=>ba,raw_block:()=>Pa,raw_empty:()=>Va,raw_expression:()=>va,raw_table:()=>Ya,type_check:()=>ya});var S={};__webpack_require__.r(S),__webpack_require__.d(S,{AI_ChooseAndGet:()=>Ua,AI_Face_match:()=>Ka,AI_ImageClassify:()=>Ha,AI_ImageClassify_Func:()=>Wa,AI_Nlp:()=>Qa,AI_Nlp_Func:()=>Ja,AI_Nlp_Func_sim:()=>Za,AI_Nlp_Sim:()=>za,AI_Nlp_Topic:()=>$a,AI_Nlp_newsSummary:()=>tu,AI_Ocr:()=>qa,AI_Ocr_Func:()=>ja,AI_Speech_asr:()=>Ga,AI_Speech_synthesis:()=>wa,AI_audio:()=>eu,AI_client:()=>Ba,AI_photo:()=>iu,AI_result:()=>nu});var D={};__webpack_require__.r(D),__webpack_require__.d(D,{algorithm_add_path:()=>lu,algorithm_add_school:()=>pu,algorithm_all_books:()=>Su,algorithm_all_books_sequence:()=>Du,algorithm_book_scale:()=>xu,algorithm_check_feet:()=>zu,algorithm_chick_calculate:()=>Qu,algorithm_color_seclet:()=>Il,algorithm_current_school:()=>Eu,algorithm_del_path:()=>ru,algorithm_delete_book:()=>yu,algorithm_delete_books:()=>bu,algorithm_delete_books2:()=>ku,algorithm_divide_books:()=>Vu,algorithm_find_path:()=>_u,algorithm_first_book:()=>Nu,algorithm_fz_calc:()=>tl,algorithm_fz_calc_first_min:()=>el,algorithm_fz_compare:()=>il,algorithm_fz_move:()=>sl,algorithm_fz_set_min:()=>nl,algorithm_get_book_num:()=>Gu,algorithm_get_current_location:()=>Tl,algorithm_get_half_books:()=>Yu,algorithm_hxdb_add:()=>ul,algorithm_hxdb_init_soldier:()=>pl,algorithm_hxdb_last_line:()=>al,algorithm_hxdb_result:()=>ll,algorithm_hxdb_stand_in_line:()=>_l,algorithm_init_fzsf:()=>$u,algorithm_init_hxdb:()=>ol,algorithm_init_jttl:()=>Ku,algorithm_move_recent:()=>mu,algorithm_new_path:()=>au,algorithm_next_book:()=>Pu,algorithm_no_left:()=>du,algorithm_no_path:()=>Ou,algorithm_no_ring2:()=>fu,algorithm_not_home:()=>cu,algorithm_not_school:()=>Au,algorithm_number_add:()=>Bu,algorithm_number_zero:()=>Uu,algorithm_prepare:()=>ou,algorithm_prepare2:()=>hu,algorithm_prepare_2_1:()=>Mu,algorithm_prepare_2_2:()=>Ru,algorithm_print_book2:()=>Xu,algorithm_print_divide:()=>Wu,algorithm_print_jttl_answer:()=>Ju,algorithm_print_number:()=>wu,algorithm_print_path:()=>Iu,algorithm_print_path2:()=>gu,algorithm_print_sequence:()=>Hu,algorithm_rabbit_add:()=>Zu,algorithm_rabbit_number_in_range:()=>ju,algorithm_rabbit_zero:()=>qu,algorithm_return_path:()=>Tu,algorithm_set_path:()=>uu,algorithm_two_left:()=>vu,algorithm_void_path:()=>dl,algorithm_yes_ring2:()=>Fu,hanoi_init:()=>Cu,hanoi_init_offline:()=>rl,hanoi_move:()=>Lu});var N={};__webpack_require__.r(N),__webpack_require__.d(N,{requests_attribute:()=>Rl,requests_get:()=>Ol,requests_get_old:()=>El,requests_method:()=>ml,requests_post:()=>Ml});var f={};__webpack_require__.r(f),__webpack_require__.d(f,{cv_destroy_all:()=>Sl,cv_face_classifier:()=>fl,cv_face_detect:()=>Fl,cv_face_detect_all:()=>Pl,cv_line_rect:()=>Dl,cv_read_image:()=>Al,cv_show_image:()=>gl,cv_text:()=>Nl,cv_waitkey:()=>Ll,cv_write_image:()=>Cl});var F={};__webpack_require__.r(F),__webpack_require__.d(F,{array_create:()=>jl,array_toarray:()=>ar,dataframe_create:()=>yl,dataframe_create_from_index:()=>kl,dataframe_create_from_one_index:()=>bl,dataframe_fillna:()=>Gr,dataframe_get:()=>or,dataframe_info:()=>Hr,dataframe_median:()=>wr,matrix_multiplication:()=>Ur,matrix_transpose:()=>xr,numpy_argmin_template_match:()=>Pr,numpy_astype:()=>Nr,numpy_c_:()=>kr,numpy_dot:()=>jr,numpy_linalg_det:()=>Xr,numpy_linalg_inv:()=>Br,numpy_max:()=>Kr,numpy_mean:()=>vr,numpy_mean_digit:()=>Fr,numpy_min:()=>Wr,numpy_ones:()=>br,numpy_random_random:()=>Jr,numpy_reshape:()=>Dr,numpy_shape:()=>Sr,numpy_size:()=>qr,numpy_square:()=>Qr,numpy_std:()=>Vr,numpy_sum:()=>zr,numpy_trig:()=>ir,pandas_drop_columns:()=>yr,pandas_dropna:()=>Yr,pandas_readcsv:()=>sr,pl_axes:()=>Hl,pl_bar:()=>Zl,pl_hist:()=>tr,pl_label:()=>ql,pl_legend:()=>Wl,pl_pie:()=>$l,pl_plot:()=>wl,pl_plot_bar:()=>Ql,pl_plot_easy:()=>Bl,pl_plot_scatter:()=>zl,pl_plot_xy:()=>Jl,pl_savefig:()=>pr,pl_show:()=>Gl,pl_subplot:()=>nr,pl_text:()=>_r,pl_ticks:()=>er,pl_title:()=>Kl,plot_axes:()=>Tr,plot_bar:()=>Rr,plot_hist:()=>cr,plot_label:()=>hr,plot_legend:()=>dr,plot_pie:()=>mr,plot_plot:()=>lr,plot_plot_bar:()=>Er,plot_plot_easy:()=>ur,plot_plot_scatter:()=>Or,plot_plot_xy:()=>Mr,plot_savefig:()=>Cr,plot_show:()=>rr,plot_subplot:()=>gr,plot_text:()=>Lr,plot_ticks:()=>Ar,plot_title:()=>Ir,py_sum:()=>Zr,pylab_imshow:()=>fr,series_create:()=>Vl,series_create_from_index:()=>Yl,series_create_from_text:()=>Xl,series_get_num:()=>Ul,series_index_value:()=>xl});var P={};__webpack_require__.r(P),__webpack_require__.d(P,{ds_add_node_by_attr:()=>_T,ds_add_node_by_name:()=>pT,ds_create_linkedlist:()=>tT,ds_create_linkedlist_container:()=>eT,ds_create_linkedlist_item:()=>iT,ds_create_node:()=>nT,ds_del_node_by_attr:()=>uT,ds_del_node_by_name:()=>aT,ds_get_node_attr:()=>sT,ds_reverse_linkedlist:()=>lT,ds_set_node_attr:()=>oT});var v={};__webpack_require__.r(v),__webpack_require__.d(v,{factory_block:()=>cT,factory_block_return:()=>AT,factory_block_return_with_textarea:()=>CT,factory_block_with_textarea:()=>gT,factory_callMethod_noreturn:()=>RT,factory_callMethod_return:()=>mT,factory_create_with_container:()=>hT,factory_create_with_item:()=>ET,factory_declare:()=>MT,factory_from_import:()=>TT,factory_function_noreturn:()=>IT,factory_function_return:()=>OT,factory_import:()=>dT});var V={};__webpack_require__.r(V),__webpack_require__.d(V,{hardware_arduino_analog_read:()=>PT,hardware_arduino_analog_write:()=>FT,hardware_arduino_digital_read:()=>fT,hardware_arduino_digital_write:()=>NT,hardware_arduino_start:()=>ST,inout_highlow:()=>DT});var Y={};__webpack_require__.r(Y),__webpack_require__.d(Y,{inout_input:()=>vT,inout_print:()=>VT,inout_print_container:()=>xT,inout_print_end:()=>yT,inout_print_inline:()=>YT,inout_print_item:()=>UT,inout_print_many:()=>XT,inout_type_input:()=>bT,pyinout_type_input:()=>kT});var y={};__webpack_require__.r(y),__webpack_require__.d(y,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>ld,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ud,IOT_EMQX_PING:()=>_d,IOT_FORMATTING:()=>od,IOT_FORMAT_STRING:()=>pd,IOT_MIXIO_NTP:()=>ad,IOT_MIXIO_PUBLISH:()=>JT,IOT_MIXIO_SUBSCRIBE:()=>ZT,IOT_MIXIO_UNSUBSCRIBE:()=>$T,iot_checkonenet:()=>md,iot_client_onboard:()=>dd,iot_create_with_item:()=>QT,iot_http_client:()=>Id,iot_http_data:()=>hd,iot_mixio_check:()=>id,iot_mixio_connect:()=>zT,iot_mixio_connect_only:()=>ed,iot_mixio_disconnect:()=>td,iot_mixio_format_msg:()=>sd,iot_mixio_format_topic:()=>nd,iot_mixly_key:()=>Td,iot_mixly_key_py:()=>rd,iot_mqtt_client:()=>Ed,iot_mqtt_data:()=>Od,iot_onenet_check:()=>HT,iot_onenet_connect:()=>wT,iot_onenet_disconnect:()=>GT,iot_onenet_publish:()=>KT,iot_onenet_publish_dict:()=>WT,iot_onenetconnect:()=>Md,iot_onenetdisconnect:()=>Rd,iot_publish:()=>cd,iot_publish_container:()=>qT,iot_publish_item:()=>jT});var b={};__webpack_require__.r(b),__webpack_require__.d(b,{pins_analog_read:()=>Sd,pins_analog_write:()=>Ld,pins_digital_read:()=>Cd,pins_digital_write:()=>gd});var k={};__webpack_require__.r(k),__webpack_require__.d(k,{serial_close:()=>Fd,serial_open:()=>Dd,serial_read_b:()=>fd,serial_write:()=>Nd});var X={};__webpack_require__.r(X),__webpack_require__.d(X,{sklearn_DecisionTreeClassifier_Regressor:()=>Bd,sklearn_GaussianNB:()=>Hd,sklearn_KMeans:()=>Wd,sklearn_KNeighborsClassifier_Regressor:()=>Gd,sklearn_LinearRegression:()=>xd,sklearn_RandomForestClassifier_Regressor:()=>wd,sklearn_Ridge:()=>Ud,sklearn_cluster_centers_labels_inertia:()=>Zd,sklearn_coef_intercept:()=>Jd,sklearn_data_target:()=>bd,sklearn_fit:()=>Kd,sklearn_fit_no_target:()=>qd,sklearn_load:()=>yd,sklearn_make_blobs:()=>Yd,sklearn_make_classification:()=>vd,sklearn_make_regression:()=>Vd,sklearn_predict:()=>jd,sklearn_save_load_model:()=>$d,sklearn_score:()=>Qd,sklearn_score_no_target:()=>zd,sklearn_train_test_split:()=>kd,sklearn_train_test_split_no_target:()=>Xd});var x={};__webpack_require__.r(x),__webpack_require__.d(x,{Panic_with_status_code:()=>sI,base_delay:()=>eI,controls_millis:()=>iI,controls_mstimer2:()=>pI,controls_mstimer2_start:()=>_I,controls_mstimer2_stop:()=>aI,reset:()=>oI,time_localtime:()=>nI,time_sleep:()=>uI});var U={};__webpack_require__.r(U),__webpack_require__.d(U,{turtle_bgcolor:()=>FI,turtle_bgcolor_hex:()=>xI,turtle_bgcolor_hex_new:()=>YI,turtle_circle:()=>DI,turtle_circle_advanced:()=>NI,turtle_clear:()=>cI,turtle_clone:()=>VI,turtle_color:()=>kI,turtle_color_hex:()=>XI,turtle_color_seclet:()=>QI,turtle_create:()=>rI,turtle_done:()=>TI,turtle_exitonclick:()=>dI,turtle_fill:()=>gI,turtle_fillcolor:()=>vI,turtle_fillcolor_hex:()=>BI,turtle_fillcolor_hex_new:()=>bI,turtle_getscreen:()=>zI,turtle_goto:()=>MI,turtle_listen:()=>th,turtle_move:()=>II,turtle_numinput:()=>HI,turtle_onclick:()=>ZI,turtle_onkey:()=>JI,turtle_ontimer:()=>$I,turtle_pencolor:()=>PI,turtle_pencolor_hex:()=>UI,turtle_pencolor_hex_new:()=>yI,turtle_penup:()=>AI,turtle_pos_shape:()=>mI,turtle_rotate:()=>hI,turtle_screen_delay:()=>OI,turtle_screen_savefig:()=>eh,turtle_setheading:()=>EI,turtle_setxy:()=>RI,turtle_shape:()=>wI,turtle_shapesize:()=>GI,turtle_size:()=>LI,turtle_size_speed:()=>CI,turtle_speed:()=>SI,turtle_textinput:()=>WI,turtle_visible:()=>fI,turtle_write:()=>KI,turtle_write_format:()=>qI,turtle_write_format_skulpt:()=>jI});var B={};__webpack_require__.r(B),__webpack_require__.d(B,{AI_ChooseAndGet:()=>ih,AI_Face_match:()=>_h,AI_ImageClassify:()=>ph,AI_ImageClassify_Func:()=>dh,AI_Nlp:()=>uh,AI_Nlp_Func:()=>hh,AI_Nlp_Func_sim:()=>Eh,AI_Nlp_Sim:()=>lh,AI_Nlp_Topic:()=>rh,AI_Nlp_newsSummary:()=>Th,AI_Ocr:()=>ah,AI_Ocr_Func:()=>Ih,AI_Speech_asr:()=>oh,AI_Speech_synthesis:()=>sh,AI_audio:()=>Oh,AI_client:()=>nh,AI_photo:()=>Mh,AI_result:()=>Rh});var w={};__webpack_require__.r(w),__webpack_require__.d(w,{algorithm_add_path:()=>Lh,algorithm_add_school:()=>ch,algorithm_all_books:()=>wh,algorithm_all_books_sequence:()=>Bh,algorithm_book_scale:()=>Zh,algorithm_check_feet:()=>pE,algorithm_chick_calculate:()=>oE,algorithm_color_seclet:()=>gE,algorithm_current_school:()=>Ph,algorithm_del_path:()=>Sh,algorithm_delete_book:()=>zh,algorithm_divide_books:()=>jh,algorithm_find_path:()=>Ah,algorithm_first_book:()=>Gh,algorithm_fz_calc:()=>lE,algorithm_fz_compare:()=>rE,algorithm_fz_move:()=>dE,algorithm_fz_set_min:()=>TE,algorithm_get_current_location:()=>cE,algorithm_get_half_books:()=>Qh,algorithm_hxdb_add:()=>ME,algorithm_hxdb_init_soldier:()=>hE,algorithm_hxdb_last_line:()=>OE,algorithm_hxdb_result:()=>RE,algorithm_hxdb_stand_in_line:()=>EE,algorithm_init_fzsf:()=>uE,algorithm_init_hxdb:()=>IE,algorithm_init_jttl:()=>iE,algorithm_move_recent:()=>yh,algorithm_new_path:()=>gh,algorithm_next_book:()=>Kh,algorithm_no_left:()=>Nh,algorithm_no_path:()=>vh,algorithm_no_ring2:()=>Hh,algorithm_not_home:()=>bh,algorithm_not_school:()=>kh,algorithm_number_add:()=>tE,algorithm_number_zero:()=>$h,algorithm_prepare:()=>mh,algorithm_prepare2:()=>Fh,algorithm_prepare_2_1:()=>Vh,algorithm_prepare_2_2:()=>Yh,algorithm_print_book2:()=>Jh,algorithm_print_jttl_answer:()=>_E,algorithm_print_number:()=>eE,algorithm_print_path:()=>fh,algorithm_print_path2:()=>Xh,algorithm_rabbit_add:()=>aE,algorithm_rabbit_number_in_range:()=>sE,algorithm_rabbit_zero:()=>nE,algorithm_return_path:()=>Dh,algorithm_set_path:()=>Ch,algorithm_two_left:()=>qh,algorithm_void_path:()=>AE,algorithm_yes_ring2:()=>Wh,hanoi_init:()=>xh,hanoi_init_offline:()=>mE,hanoi_move:()=>Uh});var G={};__webpack_require__.r(G),__webpack_require__.d(G,{requests_attribute:()=>DE,requests_get:()=>LE,requests_get_old:()=>CE,requests_method:()=>NE,requests_post:()=>SE});var H={};__webpack_require__.r(H),__webpack_require__.d(H,{array_create:()=>WE,array_toarray:()=>oO,dataframe_create:()=>vE,dataframe_create_from_index:()=>VE,dataframe_create_from_one_index:()=>YE,dataframe_fillna:()=>UO,dataframe_get:()=>iO,dataframe_info:()=>BO,dataframe_median:()=>xO,matrix_multiplication:()=>kO,matrix_transpose:()=>bO,numpy_argmin_template_match:()=>NO,numpy_astype:()=>LO,numpy_c_:()=>YO,numpy_dot:()=>WO,numpy_linalg_det:()=>yO,numpy_linalg_inv:()=>XO,numpy_max:()=>GO,numpy_mean:()=>fO,numpy_mean_digit:()=>DO,numpy_min:()=>wO,numpy_ones:()=>VO,numpy_random_random:()=>jO,numpy_reshape:()=>CO,numpy_shape:()=>gO,numpy_size:()=>HO,numpy_square:()=>KO,numpy_std:()=>FO,numpy_sum:()=>qO,numpy_trig:()=>$E,pandas_drop_columns:()=>vO,pandas_dropna:()=>PO,pandas_readcsv:()=>eO,pl_axes:()=>xE,pl_bar:()=>QE,pl_hist:()=>JE,pl_label:()=>HE,pl_legend:()=>wE,pl_pie:()=>zE,pl_plot:()=>BE,pl_plot_bar:()=>KE,pl_plot_easy:()=>UE,pl_plot_scatter:()=>qE,pl_plot_xy:()=>jE,pl_savefig:()=>nO,pl_show:()=>XE,pl_subplot:()=>tO,pl_text:()=>sO,pl_ticks:()=>ZE,pl_title:()=>GE,plot_axes:()=>_O,plot_bar:()=>EO,plot_hist:()=>MO,plot_label:()=>TO,plot_legend:()=>lO,plot_pie:()=>OO,plot_plot:()=>uO,plot_plot_bar:()=>dO,plot_plot_easy:()=>aO,plot_plot_scatter:()=>IO,plot_plot_xy:()=>hO,plot_savefig:()=>cO,plot_show:()=>pO,plot_subplot:()=>mO,plot_text:()=>AO,plot_ticks:()=>RO,plot_title:()=>rO,py_sum:()=>QO,pylab_imshow:()=>SO,series_create:()=>FE,series_create_from_index:()=>PE,series_create_from_text:()=>yE,series_get_num:()=>kE,series_index_value:()=>bE});var W={};__webpack_require__.r(W),__webpack_require__.d(W,{ds_add_node_by_attr:()=>eM,ds_add_node_by_name:()=>tM,ds_create_linkedlist:()=>zO,ds_create_node:()=>JO,ds_del_node_by_attr:()=>nM,ds_del_node_by_name:()=>iM,ds_get_node_attr:()=>ZO,ds_reverse_linkedlist:()=>sM,ds_set_node_attr:()=>$O});var K={};__webpack_require__.r(K),__webpack_require__.d(K,{factory_block:()=>TM,factory_block_return:()=>dM,factory_block_return_with_textarea:()=>hM,factory_block_with_textarea:()=>IM,factory_callMethod_noreturn:()=>lM,factory_callMethod_return:()=>rM,factory_declare:()=>uM,factory_from_import:()=>oM,factory_function_noreturn:()=>_M,factory_function_return:()=>aM,factory_import:()=>pM});var q={};__webpack_require__.r(q),__webpack_require__.d(q,{hardware_arduino_analog_read:()=>mM,hardware_arduino_analog_write:()=>cM,hardware_arduino_digital_read:()=>RM,hardware_arduino_digital_write:()=>MM,hardware_arduino_start:()=>EM,inout_highlow:()=>OM});var j={};__webpack_require__.r(j),__webpack_require__.d(j,{inout_input:()=>AM,inout_print:()=>gM,inout_print_end:()=>LM,inout_print_inline:()=>CM,inout_print_many:()=>NM,inout_type_input:()=>SM,pyinout_type_input:()=>DM});var Q={};__webpack_require__.r(Q),__webpack_require__.d(Q,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>UM,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>GM,IOT_EMQX_PING:()=>HM,IOT_FORMATTING:()=>XM,IOT_FORMAT_STRING:()=>xM,IOT_MIXIO_NTP:()=>WM,IOT_MIXIO_PUBLISH:()=>FM,IOT_MIXIO_SUBSCRIBE:()=>PM,IOT_MIXIO_UNSUBSCRIBE:()=>vM,iot_mixio_check:()=>yM,iot_mixio_connect:()=>fM,iot_mixio_connect_only:()=>YM,iot_mixio_disconnect:()=>VM,iot_mixio_format_msg:()=>kM,iot_mixio_format_topic:()=>bM,iot_mixly_key:()=>BM,iot_mixly_key_py:()=>wM});var z={};__webpack_require__.r(z),__webpack_require__.d(z,{pins_analog_read:()=>zM,pins_analog_write:()=>QM,pins_digital:()=>KM,pins_digital_read:()=>jM,pins_digital_write:()=>qM});var J={};__webpack_require__.r(J),__webpack_require__.d(J,{serial_close:()=>tR,serial_open:()=>JM,serial_read_b:()=>$M,serial_write:()=>ZM});var Z={};__webpack_require__.r(Z),__webpack_require__.d(Z,{sklearn_DecisionTreeClassifier_Regressor:()=>lR,sklearn_GaussianNB:()=>dR,sklearn_KMeans:()=>IR,sklearn_KNeighborsClassifier_Regressor:()=>TR,sklearn_LinearRegression:()=>aR,sklearn_RandomForestClassifier_Regressor:()=>rR,sklearn_Ridge:()=>uR,sklearn_cluster_centers_labels_inertia:()=>cR,sklearn_coef_intercept:()=>mR,sklearn_data_target:()=>oR,sklearn_fit:()=>hR,sklearn_fit_no_target:()=>ER,sklearn_load:()=>sR,sklearn_make_blobs:()=>nR,sklearn_make_classification:()=>eR,sklearn_make_regression:()=>iR,sklearn_predict:()=>OR,sklearn_save_load_model:()=>AR,sklearn_score:()=>MR,sklearn_score_no_target:()=>RR,sklearn_train_test_split:()=>pR,sklearn_train_test_split_no_target:()=>_R});var $={};__webpack_require__.r($),__webpack_require__.d($,{controls_end_program:()=>CR,controls_millis:()=>gR,time_localtime:()=>LR});var tt={};__webpack_require__.r(tt),__webpack_require__.d(tt,{turtle_bgcolor:()=>WR,turtle_bgcolor_hex:()=>QR,turtle_bgcolor_hex_new:()=>ZR,turtle_circle:()=>BR,turtle_circle_advanced:()=>GR,turtle_clear:()=>yR,turtle_clone:()=>jR,turtle_color:()=>im,turtle_color_hex:()=>em,turtle_color_seclet:()=>lm,turtle_create:()=>SR,turtle_done:()=>DR,turtle_exitonclick:()=>NR,turtle_fill:()=>kR,turtle_fillcolor:()=>qR,turtle_fillcolor_hex:()=>JR,turtle_fillcolor_hex_new:()=>tm,turtle_getscreen:()=>rm,turtle_goto:()=>VR,turtle_listen:()=>hm,turtle_move:()=>fR,turtle_numinput:()=>pm,turtle_onclick:()=>dm,turtle_onkey:()=>Tm,turtle_ontimer:()=>Im,turtle_pencolor:()=>KR,turtle_pencolor_hex:()=>zR,turtle_pencolor_hex_new:()=>$R,turtle_penup:()=>bR,turtle_pos_shape:()=>YR,turtle_rotate:()=>FR,turtle_screen_delay:()=>vR,turtle_screen_savefig:()=>Em,turtle_setheading:()=>PR,turtle_setxy:()=>wR,turtle_shape:()=>nm,turtle_shapesize:()=>sm,turtle_size:()=>xR,turtle_size_speed:()=>XR,turtle_speed:()=>UR,turtle_textinput:()=>om,turtle_visible:()=>HR,turtle_write:()=>_m,turtle_write_format:()=>am,turtle_write_format_skulpt:()=>um});const et=Blockly,it=Mixly,nt={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(p+=n)):i=p}else i="i";return i}},st=nt; +(()=>{"use strict";var __webpack_modules__={131:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{cv_destroy_all:()=>cv_destroy_all,cv_face_classifier:()=>cv_face_classifier,cv_face_detect:()=>cv_face_detect,cv_face_detect_all:()=>cv_face_detect_all,cv_line_rect:()=>cv_line_rect,cv_read_image:()=>cv_read_image,cv_show_image:()=>cv_show_image,cv_text:()=>cv_text,cv_waitkey:()=>cv_waitkey,cv_write_image:()=>cv_write_image});const cv_read_image=function(e,t){return t.definitions_.import_cv2="import cv2",["cv2.imread("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},cv_show_image=function(e,t){return t.definitions_.import_cv2="import cv2","cv2.imshow("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+","+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},cv_write_image=function(e,t){return t.definitions_.import_cv2="import cv2","cv2.imwrite("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+","+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},cv_waitkey=function(e,t){return t.definitions_.import_cv2="import cv2","cv2.waitKey("+t.valueToCode(this,"data",t.ORDER_ATOMIC)+")\n"},cv_destroy_all=function(e,t){t.definitions_.import_cv2="import cv2";return"cv2.destroyAllWindows()\n"},cv_line_rect=function(_,generator){generator.definitions_.import_cv2="import cv2";var file=generator.valueToCode(this,"FILE",generator.ORDER_ATOMIC),x1=generator.valueToCode(this,"x1",generator.ORDER_ATOMIC),y1=generator.valueToCode(this,"y1",generator.ORDER_ATOMIC),x2=generator.valueToCode(this,"x2",generator.ORDER_ATOMIC),y2=generator.valueToCode(this,"y2",generator.ORDER_ATOMIC),thick=generator.valueToCode(this,"thick",generator.ORDER_ATOMIC),color=this.getFieldValue("FIELDNAME"),color1=eval("0x"+color[1]+color[2]),color2=eval("0x"+color[3]+color[4]),color3=eval("0x"+color[5]+color[6]),direction=this.getFieldValue("DIR"),code="cv2."+direction+"("+file+",("+x1+","+y1+"),("+x2+","+y2+"),("+color3+","+color2+","+color1+"),"+thick+")\n";return code},cv_text=function(_,generator){generator.definitions_.import_cv2="import cv2";var file=generator.valueToCode(this,"FILE",generator.ORDER_ATOMIC),x1=generator.valueToCode(this,"x1",generator.ORDER_ATOMIC),y1=generator.valueToCode(this,"y1",generator.ORDER_ATOMIC),data=generator.valueToCode(this,"data",generator.ORDER_ATOMIC),size=generator.valueToCode(this,"size",generator.ORDER_ATOMIC),thick=generator.valueToCode(this,"thick",generator.ORDER_ATOMIC),color=this.getFieldValue("FIELDNAME"),color1=eval("0x"+color[1]+color[2]),color2=eval("0x"+color[3]+color[4]),color3=eval("0x"+color[5]+color[6]),font=this.getFieldValue("font"),code="cv2.putText("+file+","+data+",("+x1+","+y1+"),cv2.FONT_HERSHEY_"+font+","+size+",("+color3+","+color2+","+color1+"),"+thick+")\n";return code},cv_face_classifier=function(e,t){return t.definitions_.import_cv2="import cv2",["cv2.CascadeClassifier("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},cv_face_detect=function(e,t){t.definitions_.import_cv2="import cv2";var n=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return[t.valueToCode(this,"FACE",t.ORDER_ATOMIC)+".detectMultiScale("+n+",scaleFactor="+t.valueToCode(this,"SCALE",t.ORDER_ATOMIC)+",minNeighbors="+t.valueToCode(this,"NEIGHBOR",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},cv_face_detect_all=function(e,t){t.definitions_.import_cv2="import cv2";var n=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return[t.valueToCode(this,"FACE",t.ORDER_ATOMIC)+".detectMultiScale("+n+",scaleFactor="+t.valueToCode(this,"SCALE",t.ORDER_ATOMIC)+",minNeighbors="+t.valueToCode(this,"NEIGHBOR",t.ORDER_ATOMIC)+",minSize=("+t.valueToCode(this,"x1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"y1",t.ORDER_ATOMIC)+"),maxSize=("+t.valueToCode(this,"x2",t.ORDER_ATOMIC)+","+t.valueToCode(this,"y2",t.ORDER_ATOMIC)+"))",t.ORDER_ATOMIC]}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](n,n.exports,__webpack_require__),n.exports}__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={},blocks_variables_namespaceObject={};__webpack_require__.r(blocks_variables_namespaceObject),__webpack_require__.d(blocks_variables_namespaceObject,{controls_type:()=>controls_type,controls_typeLists:()=>controls_typeLists,variables_change:()=>variables_change,variables_get:()=>variables_get,variables_global:()=>variables_global,variables_set:()=>variables_set});var control_namespaceObject={};__webpack_require__.r(control_namespaceObject),__webpack_require__.d(control_namespaceObject,{base_setup:()=>base_setup,controls_delay:()=>controls_delay,controls_end_program:()=>controls_end_program,controls_except:()=>controls_except,controls_finally:()=>controls_finally,controls_flow_statements:()=>controls_flow_statements,controls_for:()=>controls_for,controls_forEach:()=>controls_forEach,controls_for_range:()=>controls_for_range,controls_if:()=>controls_if,controls_if_else:()=>controls_if_else,controls_if_elseif:()=>controls_if_elseif,controls_if_if:()=>controls_if_if,controls_lambda:()=>controls_lambda,controls_main:()=>controls_main,controls_pass:()=>controls_pass,controls_range:()=>controls_range,controls_repeat_ext:()=>controls_repeat_ext,controls_thread:()=>controls_thread,controls_try:()=>controls_try,controls_try_finally:()=>controls_try_finally,controls_whileUntil:()=>controls_whileUntil,do_while:()=>do_while,garbage_collection:()=>garbage_collection,get_mem_alloc:()=>get_mem_alloc,get_mem_free:()=>get_mem_free});var math_namespaceObject={};__webpack_require__.r(math_namespaceObject),__webpack_require__.d(math_namespaceObject,{base_map:()=>base_map,math_arithmetic:()=>math_arithmetic,math_bit:()=>math_bit,math_constant:()=>math_constant,math_constant_mp:()=>math_constant_mp,math_constrain:()=>math_constrain,math_dec:()=>math_dec,math_indexer_number:()=>math_indexer_number,math_map:()=>math_map,math_max_min:()=>math_max_min,math_number:()=>math_number,math_number_base_conversion:()=>math_number_base_conversion,math_random:()=>math_random,math_random_seed:()=>math_random_seed,math_round:()=>math_round,math_selfcalcu:()=>math_selfcalcu,math_to_int:()=>math_to_int,math_trig:()=>math_trig,text_to_number:()=>text_to_number,text_to_number_skulpt:()=>text_to_number_skulpt});var text_namespaceObject={};__webpack_require__.r(text_namespaceObject),__webpack_require__.d(text_namespaceObject,{ascii_to_char:()=>ascii_to_char,char_to_ascii:()=>char_to_ascii,number_to_text:()=>number_to_text,os_system:()=>os_system,text:()=>text_text,text_capital:()=>text_capital,text_center:()=>text_center,text_char:()=>text_char,text_char_at:()=>text_char_at,text_char_at2:()=>text_char_at2,text_char_at3:()=>text_char_at3,text_compareTo:()=>text_compareTo,text_compare_to:()=>text_compare_to,text_create_with_container:()=>text_create_with_container,text_create_with_item:()=>text_create_with_item,text_encode:()=>text_encode,text_equals_starts_ends:()=>text_equals_starts_ends,text_eval:()=>text_eval,text_find:()=>text_find,text_format:()=>text_format,text_format_noreturn:()=>text_format_noreturn,text_join:()=>text_join,text_join_seq:()=>text_join_seq,text_length:()=>text_length,text_random_char:()=>text_random_char,text_replace:()=>text_replace,text_split:()=>text_split,text_strip:()=>text_strip,text_substring:()=>text_substring,text_substring2:()=>text_substring2,text_substring3:()=>text_substring3,text_textarea:()=>text_textarea});var lists_namespaceObject={};__webpack_require__.r(lists_namespaceObject),__webpack_require__.d(lists_namespaceObject,{list_many_input:()=>list_many_input,list_tolist:()=>list_tolist,list_tolist2:()=>list_tolist2,list_trig:()=>list_trig,lists_2d_get_col_row_data:()=>lists_2d_get_col_row_data,lists_2d_get_data_with_col_row:()=>lists_2d_get_data_with_col_row,lists_append_extend:()=>lists_append_extend,lists_change_to:()=>lists_change_to,lists_change_to_general:()=>lists_change_to_general,lists_clear:()=>lists_clear,lists_create_with:()=>lists_create_with,lists_create_with2:()=>lists_create_with2,lists_create_with_container:()=>lists_create_with_container,lists_create_with_item:()=>lists_create_with_item,lists_create_with_noreturn:()=>lists_create_with_noreturn,lists_create_with_text:()=>lists_create_with_text,lists_create_with_text2:()=>lists_create_with_text2,lists_del_general:()=>lists_del_general,lists_find:()=>lists_find,lists_getIndex3:()=>lists_getIndex3,lists_getSublist3:()=>lists_getSublist3,lists_get_index:()=>lists_get_index,lists_get_random_item:()=>lists_get_random_item,lists_get_random_sublist:()=>lists_get_random_sublist,lists_get_sublist:()=>lists_get_sublist,lists_insert_value:()=>lists_insert_value,lists_insert_value2:()=>lists_insert_value2,lists_pop:()=>lists_pop,lists_remove_at:()=>lists_remove_at,lists_remove_at2:()=>lists_remove_at2,lists_reverse:()=>lists_reverse,lists_setIndex3:()=>lists_setIndex3,lists_set_index:()=>lists_set_index,lists_sort:()=>lists_sort,lists_zip:()=>lists_zip,lists_zip_container:()=>lists_zip_container,lists_zip_item:()=>lists_zip_item});var dicts_namespaceObject={};__webpack_require__.r(dicts_namespaceObject),__webpack_require__.d(dicts_namespaceObject,{dicts_add_change_del:()=>dicts_add_change_del,dicts_add_or_change:()=>dicts_add_or_change,dicts_clear:()=>dicts_clear,dicts_create_with:()=>dicts_create_with,dicts_create_with_container:()=>dicts_create_with_container,dicts_create_with_item:()=>dicts_create_with_item,dicts_create_with_noreturn:()=>dicts_create_with_noreturn,dicts_deldict:()=>dicts_deldict,dicts_delete:()=>dicts_delete,dicts_get:()=>dicts_get,dicts_get_default:()=>dicts_get_default,dicts_items:()=>dicts_items,dicts_keys:()=>dicts_keys,dicts_length:()=>dicts_length,dicts_pop:()=>dicts_pop,dicts_setdefault:()=>dicts_setdefault,dicts_to_json:()=>dicts_to_json,dicts_todict:()=>dicts_todict,dicts_update:()=>dicts_update,dicts_values:()=>dicts_values,json_to_dicts:()=>json_to_dicts});var logic_namespaceObject={};__webpack_require__.r(logic_namespaceObject),__webpack_require__.d(logic_namespaceObject,{logic_boolean:()=>logic_boolean,logic_compare:()=>logic_compare,logic_compare_continous:()=>logic_compare_continous,logic_is:()=>logic_is,logic_is_in:()=>logic_is_in,logic_negate:()=>logic_negate,logic_null:()=>logic_null,logic_operation:()=>logic_operation,logic_tobool:()=>logic_tobool,logic_true_or_false:()=>logic_true_or_false});var storage_namespaceObject={};__webpack_require__.r(storage_namespaceObject),__webpack_require__.d(storage_namespaceObject,{sdcard_mount:()=>sdcard_mount,sdcard_use_spi_init:()=>sdcard_use_spi_init,storage_can_write_ornot:()=>storage_can_write_ornot,storage_change_dir:()=>storage_change_dir,storage_close_file:()=>storage_close_file,storage_delete_file:()=>storage_delete_file,storage_file_seek:()=>storage_file_seek,storage_file_tell:()=>storage_file_tell,storage_file_write:()=>storage_file_write,storage_fileopen:()=>storage_fileopen,storage_fileopen_new:()=>storage_fileopen_new,storage_fileopen_new_encoding:()=>storage_fileopen_new_encoding,storage_get_a_line:()=>storage_get_a_line,storage_get_contents:()=>storage_get_contents,storage_get_contents_without_para:()=>storage_get_contents_without_para,storage_get_current_dir:()=>storage_get_current_dir,storage_get_file_size:()=>storage_get_file_size,storage_get_filename:()=>storage_get_filename,storage_is_file:()=>storage_is_file,storage_list_all_files:()=>storage_list_all_files,storage_make_dir:()=>storage_make_dir,storage_open_file_with_os:()=>storage_open_file_with_os,storage_rename:()=>storage_rename});var blocks_procedures_namespaceObject={};__webpack_require__.r(blocks_procedures_namespaceObject),__webpack_require__.d(blocks_procedures_namespaceObject,{procedures_callnoreturn:()=>procedures_callnoreturn,procedures_callreturn:()=>procedures_callreturn,procedures_defnoreturn:()=>procedures_defnoreturn,procedures_defreturn:()=>procedures_defreturn,procedures_ifreturn:()=>procedures_ifreturn,procedures_mutatorarg:()=>procedures_mutatorarg,procedures_mutatorcontainer:()=>procedures_mutatorcontainer,procedures_return:()=>procedures_return});var tuple_namespaceObject={};__webpack_require__.r(tuple_namespaceObject),__webpack_require__.d(tuple_namespaceObject,{tuple_change_to:()=>tuple_change_to,tuple_create_with:()=>tuple_create_with,tuple_create_with_container:()=>tuple_create_with_container,tuple_create_with_item:()=>tuple_create_with_item,tuple_create_with_noreturn:()=>tuple_create_with_noreturn,tuple_create_with_text2:()=>tuple_create_with_text2,tuple_create_with_text_return:()=>tuple_create_with_text_return,tuple_del:()=>tuple_del,tuple_find:()=>tuple_find,tuple_getIndex:()=>tuple_getIndex,tuple_getSublist:()=>tuple_getSublist,tuple_get_random_item:()=>tuple_get_random_item,tuple_get_sublist:()=>tuple_get_sublist,tuple_join:()=>tuple_join,tuple_length:()=>tuple_length,tuple_max:()=>tuple_max,tuple_totuple:()=>tuple_totuple,tuple_trig:()=>tuple_trig});var set_namespaceObject={};__webpack_require__.r(set_namespaceObject),__webpack_require__.d(set_namespaceObject,{set_add_discard:()=>set_add_discard,set_clear:()=>set_clear,set_create_with:()=>set_create_with,set_create_with_container:()=>set_create_with_container,set_create_with_item:()=>set_create_with_item,set_create_with_text_return:()=>set_create_with_text_return,set_length:()=>set_length,set_operate:()=>set_operate,set_operate_update:()=>set_operate_update,set_pop:()=>set_pop,set_sub:()=>set_sub,set_toset:()=>set_toset,set_update:()=>set_update});var html_namespaceObject={};__webpack_require__.r(html_namespaceObject),__webpack_require__.d(html_namespaceObject,{html_content:()=>html_content,html_content_more:()=>html_content_more,html_document:()=>html_document,html_form:()=>html_form,html_head_body:()=>html_head_body,html_style:()=>html_style,html_style_color:()=>html_style_color,html_style_content:()=>html_style_content,html_text:()=>html_text,html_title:()=>html_title});var utility_namespaceObject={};__webpack_require__.r(utility_namespaceObject),__webpack_require__.d(utility_namespaceObject,{attribute_access:()=>attribute_access,function_call:()=>function_call,function_call_container:()=>function_call_container,function_call_item:()=>function_call_item,raw_block:()=>raw_block,raw_empty:()=>raw_empty,raw_expression:()=>raw_expression,raw_table:()=>raw_table,text_comment:()=>text_comment,text_print_multiple:()=>text_print_multiple,text_print_multiple_container:()=>text_print_multiple_container,text_print_multiple_item:()=>text_print_multiple_item,type_check:()=>type_check});var generators_variables_namespaceObject={};__webpack_require__.r(generators_variables_namespaceObject),__webpack_require__.d(generators_variables_namespaceObject,{controls_type:()=>variables_controls_type,controls_typeLists:()=>variables_controls_typeLists,variables_change:()=>variables_variables_change,variables_get:()=>variables_variables_get,variables_global:()=>variables_variables_global,variables_set:()=>variables_variables_set});var generators_control_namespaceObject={};__webpack_require__.r(generators_control_namespaceObject),__webpack_require__.d(generators_control_namespaceObject,{Panic_with_status_code:()=>Panic_with_status_code,base_setup:()=>control_base_setup,controls_delay:()=>control_controls_delay,controls_flow_statements:()=>control_controls_flow_statements,controls_for:()=>control_controls_for,controls_forEach:()=>control_controls_forEach,controls_for_range:()=>control_controls_for_range,controls_if:()=>control_controls_if,controls_interrupts:()=>controls_interrupts,controls_lambda:()=>control_controls_lambda,controls_main:()=>control_controls_main,controls_millis:()=>controls_millis,controls_nointerrupts:()=>controls_nointerrupts,controls_pass:()=>control_controls_pass,controls_range:()=>control_controls_range,controls_repeat:()=>controls_repeat,controls_repeat_ext:()=>control_controls_repeat_ext,controls_thread:()=>control_controls_thread,controls_try_finally:()=>control_controls_try_finally,controls_whileUntil:()=>control_controls_whileUntil,do_while:()=>control_do_while,garbage_collection:()=>control_garbage_collection,get_mem_alloc:()=>control_get_mem_alloc,get_mem_free:()=>control_get_mem_free,reset:()=>control_reset,time_sleep:()=>time_sleep});var generators_math_namespaceObject={};__webpack_require__.r(generators_math_namespaceObject),__webpack_require__.d(generators_math_namespaceObject,{base_map:()=>math_base_map,math_arithmetic:()=>math_math_arithmetic,math_bit:()=>math_math_bit,math_constant:()=>math_math_constant,math_constant_mp:()=>math_math_constant_mp,math_constrain:()=>math_math_constrain,math_dec:()=>math_math_dec,math_indexer_number:()=>math_math_indexer_number,math_map:()=>math_math_map,math_max_min:()=>math_math_max_min,math_number:()=>math_math_number,math_number_base_conversion:()=>math_math_number_base_conversion,math_random:()=>math_math_random,math_random_seed:()=>math_math_random_seed,math_round:()=>math_math_round,math_selfcalcu:()=>math_math_selfcalcu,math_single:()=>math_single,math_to_int:()=>math_math_to_int,math_trig:()=>math_math_trig,text_to_number:()=>math_text_to_number,text_to_number_skulpt:()=>math_text_to_number_skulpt});var generators_text_namespaceObject={};__webpack_require__.r(generators_text_namespaceObject),__webpack_require__.d(generators_text_namespaceObject,{ascii_to_char:()=>text_ascii_to_char,char_to_ascii:()=>text_char_to_ascii,number_to_text:()=>text_number_to_text,os_system:()=>text_os_system,text:()=>generators_text_text,text_capital:()=>text_text_capital,text_center:()=>text_text_center,text_char:()=>text_text_char,text_char_at:()=>text_text_char_at,text_char_at2:()=>text_text_char_at2,text_char_at3:()=>text_text_char_at3,text_compareTo:()=>text_text_compareTo,text_compare_to:()=>text_text_compare_to,text_encode:()=>text_text_encode,text_equals_starts_ends:()=>text_text_equals_starts_ends,text_eval:()=>text_text_eval,text_find:()=>text_text_find,text_format:()=>text_text_format,text_format_noreturn:()=>text_text_format_noreturn,text_join:()=>text_text_join,text_join_seq:()=>text_text_join_seq,text_length:()=>text_text_length,text_random_char:()=>text_text_random_char,text_replace:()=>text_text_replace,text_split:()=>text_text_split,text_strip:()=>text_text_strip,text_substring:()=>text_text_substring,text_substring2:()=>text_text_substring2,text_substring3:()=>text_text_substring3,text_textarea:()=>text_text_textarea});var generators_lists_namespaceObject={};__webpack_require__.r(generators_lists_namespaceObject),__webpack_require__.d(generators_lists_namespaceObject,{list_many_input:()=>lists_list_many_input,list_tolist:()=>lists_list_tolist,list_tolist2:()=>lists_list_tolist2,list_trig:()=>lists_list_trig,lists_2d_get_col_row_data:()=>lists_lists_2d_get_col_row_data,lists_2d_get_data_with_col_row:()=>lists_lists_2d_get_data_with_col_row,lists_append_extend:()=>lists_lists_append_extend,lists_change_to:()=>lists_lists_change_to,lists_change_to_general:()=>lists_lists_change_to_general,lists_clear:()=>lists_lists_clear,lists_create_with:()=>lists_lists_create_with,lists_create_with2:()=>lists_lists_create_with2,lists_create_with_noreturn:()=>lists_lists_create_with_noreturn,lists_create_with_text:()=>lists_lists_create_with_text,lists_create_with_text2:()=>lists_lists_create_with_text2,lists_del_general:()=>lists_lists_del_general,lists_find:()=>lists_lists_find,lists_getIndex3:()=>lists_lists_getIndex3,lists_getSublist3:()=>lists_lists_getSublist3,lists_get_index:()=>lists_lists_get_index,lists_get_random_item:()=>lists_lists_get_random_item,lists_get_random_sublist:()=>lists_lists_get_random_sublist,lists_get_sublist:()=>lists_lists_get_sublist,lists_insert_value:()=>lists_lists_insert_value,lists_insert_value2:()=>lists_lists_insert_value2,lists_pop:()=>lists_lists_pop,lists_remove_at:()=>lists_lists_remove_at,lists_remove_at2:()=>lists_lists_remove_at2,lists_reverse:()=>lists_lists_reverse,lists_setIndex3:()=>lists_lists_setIndex3,lists_set_index:()=>lists_lists_set_index,lists_sort:()=>lists_lists_sort,lists_zip:()=>lists_lists_zip});var generators_dicts_namespaceObject={};__webpack_require__.r(generators_dicts_namespaceObject),__webpack_require__.d(generators_dicts_namespaceObject,{dicts_add_change_del:()=>dicts_dicts_add_change_del,dicts_add_or_change:()=>dicts_dicts_add_or_change,dicts_clear:()=>dicts_dicts_clear,dicts_create_with:()=>dicts_dicts_create_with,dicts_create_with_noreturn:()=>dicts_dicts_create_with_noreturn,dicts_deldict:()=>dicts_dicts_deldict,dicts_delete:()=>dicts_dicts_delete,dicts_get:()=>dicts_dicts_get,dicts_get_default:()=>dicts_dicts_get_default,dicts_items:()=>dicts_dicts_items,dicts_keys:()=>dicts_dicts_keys,dicts_length:()=>dicts_dicts_length,dicts_pop:()=>dicts_dicts_pop,dicts_setdefault:()=>dicts_dicts_setdefault,dicts_to_json:()=>dicts_dicts_to_json,dicts_todict:()=>dicts_dicts_todict,dicts_update:()=>dicts_dicts_update,dicts_values:()=>dicts_dicts_values,json_to_dicts:()=>dicts_json_to_dicts});var generators_logic_namespaceObject={};__webpack_require__.r(generators_logic_namespaceObject),__webpack_require__.d(generators_logic_namespaceObject,{logic_boolean:()=>logic_logic_boolean,logic_compare:()=>logic_logic_compare,logic_compare_continous:()=>logic_logic_compare_continous,logic_is:()=>logic_logic_is,logic_is_in:()=>logic_logic_is_in,logic_negate:()=>logic_logic_negate,logic_null:()=>logic_logic_null,logic_operation:()=>logic_logic_operation,logic_tobool:()=>logic_logic_tobool,logic_true_or_false:()=>logic_logic_true_or_false});var generators_storage_namespaceObject={};__webpack_require__.r(generators_storage_namespaceObject),__webpack_require__.d(generators_storage_namespaceObject,{sdcard_mount:()=>storage_sdcard_mount,sdcard_use_spi_init:()=>storage_sdcard_use_spi_init,storage_can_write_ornot:()=>storage_storage_can_write_ornot,storage_change_dir:()=>storage_storage_change_dir,storage_close_file:()=>storage_storage_close_file,storage_delete_file:()=>storage_storage_delete_file,storage_file_seek:()=>storage_storage_file_seek,storage_file_tell:()=>storage_storage_file_tell,storage_file_write:()=>storage_storage_file_write,storage_fileopen:()=>storage_storage_fileopen,storage_fileopen_new:()=>storage_storage_fileopen_new,storage_fileopen_new_encoding:()=>storage_storage_fileopen_new_encoding,storage_get_a_line:()=>storage_storage_get_a_line,storage_get_contents:()=>storage_storage_get_contents,storage_get_contents_without_para:()=>storage_storage_get_contents_without_para,storage_get_current_dir:()=>storage_storage_get_current_dir,storage_get_file_size:()=>storage_storage_get_file_size,storage_get_filename:()=>storage_storage_get_filename,storage_is_file:()=>storage_storage_is_file,storage_list_all_files:()=>storage_storage_list_all_files,storage_make_dir:()=>storage_storage_make_dir,storage_open_file_with_os:()=>storage_storage_open_file_with_os,storage_rename:()=>storage_storage_rename});var generators_procedures_namespaceObject={};__webpack_require__.r(generators_procedures_namespaceObject),__webpack_require__.d(generators_procedures_namespaceObject,{procedures_callnoreturn:()=>procedures_procedures_callnoreturn,procedures_callreturn:()=>procedures_procedures_callreturn,procedures_defnoreturn:()=>procedures_procedures_defnoreturn,procedures_defreturn:()=>procedures_procedures_defreturn,procedures_ifreturn:()=>procedures_procedures_ifreturn,procedures_return:()=>procedures_procedures_return});var generators_tuple_namespaceObject={};__webpack_require__.r(generators_tuple_namespaceObject),__webpack_require__.d(generators_tuple_namespaceObject,{tuple_change_to:()=>tuple_tuple_change_to,tuple_create_with:()=>tuple_tuple_create_with,tuple_create_with_noreturn:()=>tuple_tuple_create_with_noreturn,tuple_create_with_text2:()=>tuple_tuple_create_with_text2,tuple_create_with_text_return:()=>tuple_tuple_create_with_text_return,tuple_del:()=>tuple_tuple_del,tuple_find:()=>tuple_tuple_find,tuple_getIndex:()=>tuple_tuple_getIndex,tuple_getSublist:()=>tuple_tuple_getSublist,tuple_get_random_item:()=>tuple_tuple_get_random_item,tuple_get_sublist:()=>tuple_tuple_get_sublist,tuple_join:()=>tuple_tuple_join,tuple_length:()=>tuple_tuple_length,tuple_max:()=>tuple_tuple_max,tuple_totuple:()=>tuple_tuple_totuple,tuple_trig:()=>tuple_tuple_trig});var generators_set_namespaceObject={};__webpack_require__.r(generators_set_namespaceObject),__webpack_require__.d(generators_set_namespaceObject,{set_add_discard:()=>set_set_add_discard,set_clear:()=>set_set_clear,set_create_with:()=>set_set_create_with,set_create_with_text_return:()=>set_set_create_with_text_return,set_length:()=>set_set_length,set_operate:()=>set_set_operate,set_operate_update:()=>set_set_operate_update,set_pop:()=>set_set_pop,set_sub:()=>set_set_sub,set_toset:()=>set_set_toset,set_update:()=>set_set_update});var generators_html_namespaceObject={};__webpack_require__.r(generators_html_namespaceObject),__webpack_require__.d(generators_html_namespaceObject,{html_content:()=>html_html_content,html_content_more:()=>html_html_content_more,html_document:()=>html_html_document,html_form:()=>html_html_form,html_head_body:()=>html_html_head_body,html_style:()=>html_html_style,html_style_content:()=>html_html_style_content,html_text:()=>html_html_text,html_title:()=>html_html_title});var generators_utility_namespaceObject={};__webpack_require__.r(generators_utility_namespaceObject),__webpack_require__.d(generators_utility_namespaceObject,{attribute_access:()=>utility_attribute_access,function_call:()=>utility_function_call,raw_block:()=>utility_raw_block,raw_empty:()=>utility_raw_empty,raw_expression:()=>utility_raw_expression,raw_table:()=>utility_raw_table,type_check:()=>utility_type_check});var ai_namespaceObject={};__webpack_require__.r(ai_namespaceObject),__webpack_require__.d(ai_namespaceObject,{AI_ChooseAndGet:()=>AI_ChooseAndGet,AI_Face_match:()=>AI_Face_match,AI_ImageClassify:()=>AI_ImageClassify,AI_ImageClassify_Func:()=>AI_ImageClassify_Func,AI_Nlp:()=>AI_Nlp,AI_Nlp_Func:()=>AI_Nlp_Func,AI_Nlp_Func_sim:()=>AI_Nlp_Func_sim,AI_Nlp_Sim:()=>AI_Nlp_Sim,AI_Nlp_Topic:()=>AI_Nlp_Topic,AI_Nlp_newsSummary:()=>AI_Nlp_newsSummary,AI_Ocr:()=>AI_Ocr,AI_Ocr_Func:()=>AI_Ocr_Func,AI_Speech_asr:()=>AI_Speech_asr,AI_Speech_synthesis:()=>AI_Speech_synthesis,AI_audio:()=>AI_audio,AI_client:()=>AI_client,AI_photo:()=>AI_photo,AI_result:()=>AI_result});var algorithm_namespaceObject={};__webpack_require__.r(algorithm_namespaceObject),__webpack_require__.d(algorithm_namespaceObject,{algorithm_add_path:()=>algorithm_add_path,algorithm_add_school:()=>algorithm_add_school,algorithm_all_books:()=>algorithm_all_books,algorithm_all_books_sequence:()=>algorithm_all_books_sequence,algorithm_book_scale:()=>algorithm_book_scale,algorithm_check_feet:()=>algorithm_check_feet,algorithm_chick_calculate:()=>algorithm_chick_calculate,algorithm_color_seclet:()=>algorithm_color_seclet,algorithm_current_school:()=>algorithm_current_school,algorithm_del_path:()=>algorithm_del_path,algorithm_delete_book:()=>algorithm_delete_book,algorithm_delete_books:()=>algorithm_delete_books,algorithm_delete_books2:()=>algorithm_delete_books2,algorithm_divide_books:()=>algorithm_divide_books,algorithm_find_path:()=>algorithm_find_path,algorithm_first_book:()=>algorithm_first_book,algorithm_fz_calc:()=>algorithm_fz_calc,algorithm_fz_calc_first_min:()=>algorithm_fz_calc_first_min,algorithm_fz_compare:()=>algorithm_fz_compare,algorithm_fz_move:()=>algorithm_fz_move,algorithm_fz_set_min:()=>algorithm_fz_set_min,algorithm_get_book_num:()=>algorithm_get_book_num,algorithm_get_current_location:()=>algorithm_get_current_location,algorithm_get_half_books:()=>algorithm_get_half_books,algorithm_hxdb_add:()=>algorithm_hxdb_add,algorithm_hxdb_init_soldier:()=>algorithm_hxdb_init_soldier,algorithm_hxdb_last_line:()=>algorithm_hxdb_last_line,algorithm_hxdb_result:()=>algorithm_hxdb_result,algorithm_hxdb_stand_in_line:()=>algorithm_hxdb_stand_in_line,algorithm_init_fzsf:()=>algorithm_init_fzsf,algorithm_init_hxdb:()=>algorithm_init_hxdb,algorithm_init_jttl:()=>algorithm_init_jttl,algorithm_move_recent:()=>algorithm_move_recent,algorithm_new_path:()=>algorithm_new_path,algorithm_next_book:()=>algorithm_next_book,algorithm_no_left:()=>algorithm_no_left,algorithm_no_path:()=>algorithm_no_path,algorithm_no_ring2:()=>algorithm_no_ring2,algorithm_not_home:()=>algorithm_not_home,algorithm_not_school:()=>algorithm_not_school,algorithm_number_add:()=>algorithm_number_add,algorithm_number_zero:()=>algorithm_number_zero,algorithm_prepare:()=>algorithm_prepare,algorithm_prepare2:()=>algorithm_prepare2,algorithm_prepare_2_1:()=>algorithm_prepare_2_1,algorithm_prepare_2_2:()=>algorithm_prepare_2_2,algorithm_print_book2:()=>algorithm_print_book2,algorithm_print_divide:()=>algorithm_print_divide,algorithm_print_jttl_answer:()=>algorithm_print_jttl_answer,algorithm_print_number:()=>algorithm_print_number,algorithm_print_path:()=>algorithm_print_path,algorithm_print_path2:()=>algorithm_print_path2,algorithm_print_sequence:()=>algorithm_print_sequence,algorithm_rabbit_add:()=>algorithm_rabbit_add,algorithm_rabbit_number_in_range:()=>algorithm_rabbit_number_in_range,algorithm_rabbit_zero:()=>algorithm_rabbit_zero,algorithm_return_path:()=>algorithm_return_path,algorithm_set_path:()=>algorithm_set_path,algorithm_two_left:()=>algorithm_two_left,algorithm_void_path:()=>algorithm_void_path,algorithm_yes_ring2:()=>algorithm_yes_ring2,hanoi_init:()=>hanoi_init,hanoi_init_offline:()=>hanoi_init_offline,hanoi_move:()=>hanoi_move});var communicate_namespaceObject={};__webpack_require__.r(communicate_namespaceObject),__webpack_require__.d(communicate_namespaceObject,{requests_attribute:()=>requests_attribute,requests_get:()=>requests_get,requests_get_old:()=>requests_get_old,requests_method:()=>requests_method,requests_post:()=>requests_post});var cv_namespaceObject={};__webpack_require__.r(cv_namespaceObject),__webpack_require__.d(cv_namespaceObject,{cv_destroy_all:()=>cv_destroy_all,cv_face_classifier:()=>cv_face_classifier,cv_face_detect:()=>cv_face_detect,cv_face_detect_all:()=>cv_face_detect_all,cv_line_rect:()=>cv_line_rect,cv_read_image:()=>cv_read_image,cv_show_image:()=>cv_show_image,cv_text:()=>cv_text,cv_waitkey:()=>cv_waitkey,cv_write_image:()=>cv_write_image});var data_namespaceObject={};__webpack_require__.r(data_namespaceObject),__webpack_require__.d(data_namespaceObject,{array_create:()=>array_create,array_toarray:()=>array_toarray,dataframe_create:()=>dataframe_create,dataframe_create_from_index:()=>dataframe_create_from_index,dataframe_create_from_one_index:()=>dataframe_create_from_one_index,dataframe_fillna:()=>dataframe_fillna,dataframe_get:()=>dataframe_get,dataframe_info:()=>dataframe_info,dataframe_median:()=>dataframe_median,matrix_multiplication:()=>matrix_multiplication,matrix_transpose:()=>matrix_transpose,numpy_argmin_template_match:()=>numpy_argmin_template_match,numpy_astype:()=>numpy_astype,numpy_c_:()=>numpy_c_,numpy_dot:()=>numpy_dot,numpy_linalg_det:()=>numpy_linalg_det,numpy_linalg_inv:()=>numpy_linalg_inv,numpy_max:()=>numpy_max,numpy_mean:()=>numpy_mean,numpy_mean_digit:()=>numpy_mean_digit,numpy_min:()=>numpy_min,numpy_ones:()=>numpy_ones,numpy_random_random:()=>numpy_random_random,numpy_reshape:()=>numpy_reshape,numpy_shape:()=>numpy_shape,numpy_size:()=>numpy_size,numpy_square:()=>numpy_square,numpy_std:()=>numpy_std,numpy_sum:()=>numpy_sum,numpy_trig:()=>numpy_trig,pandas_drop_columns:()=>pandas_drop_columns,pandas_dropna:()=>pandas_dropna,pandas_readcsv:()=>pandas_readcsv,pl_axes:()=>pl_axes,pl_bar:()=>pl_bar,pl_hist:()=>pl_hist,pl_label:()=>pl_label,pl_legend:()=>pl_legend,pl_pie:()=>pl_pie,pl_plot:()=>pl_plot,pl_plot_bar:()=>pl_plot_bar,pl_plot_easy:()=>pl_plot_easy,pl_plot_scatter:()=>pl_plot_scatter,pl_plot_xy:()=>pl_plot_xy,pl_savefig:()=>pl_savefig,pl_show:()=>pl_show,pl_subplot:()=>pl_subplot,pl_text:()=>pl_text,pl_ticks:()=>pl_ticks,pl_title:()=>pl_title,plot_axes:()=>plot_axes,plot_bar:()=>plot_bar,plot_hist:()=>plot_hist,plot_label:()=>plot_label,plot_legend:()=>plot_legend,plot_pie:()=>plot_pie,plot_plot:()=>plot_plot,plot_plot_bar:()=>plot_plot_bar,plot_plot_easy:()=>plot_plot_easy,plot_plot_scatter:()=>plot_plot_scatter,plot_plot_xy:()=>plot_plot_xy,plot_savefig:()=>plot_savefig,plot_show:()=>plot_show,plot_subplot:()=>plot_subplot,plot_text:()=>plot_text,plot_ticks:()=>plot_ticks,plot_title:()=>plot_title,py_sum:()=>py_sum,pylab_imshow:()=>pylab_imshow,series_create:()=>series_create,series_create_from_index:()=>series_create_from_index,series_create_from_text:()=>series_create_from_text,series_get_num:()=>series_get_num,series_index_value:()=>series_index_value});var datastructure_namespaceObject={};__webpack_require__.r(datastructure_namespaceObject),__webpack_require__.d(datastructure_namespaceObject,{ds_add_node_by_attr:()=>ds_add_node_by_attr,ds_add_node_by_name:()=>ds_add_node_by_name,ds_create_linkedlist:()=>ds_create_linkedlist,ds_create_linkedlist_container:()=>ds_create_linkedlist_container,ds_create_linkedlist_item:()=>ds_create_linkedlist_item,ds_create_node:()=>ds_create_node,ds_del_node_by_attr:()=>ds_del_node_by_attr,ds_del_node_by_name:()=>ds_del_node_by_name,ds_get_node_attr:()=>ds_get_node_attr,ds_reverse_linkedlist:()=>ds_reverse_linkedlist,ds_set_node_attr:()=>ds_set_node_attr});var factory_namespaceObject={};__webpack_require__.r(factory_namespaceObject),__webpack_require__.d(factory_namespaceObject,{factory_block:()=>factory_block,factory_block_return:()=>factory_block_return,factory_block_return_with_textarea:()=>factory_block_return_with_textarea,factory_block_with_textarea:()=>factory_block_with_textarea,factory_callMethod_noreturn:()=>factory_callMethod_noreturn,factory_callMethod_return:()=>factory_callMethod_return,factory_create_with_container:()=>factory_create_with_container,factory_create_with_item:()=>factory_create_with_item,factory_declare:()=>factory_declare,factory_from_import:()=>factory_from_import,factory_function_noreturn:()=>factory_function_noreturn,factory_function_return:()=>factory_function_return,factory_import:()=>factory_import});var hardware_namespaceObject={};__webpack_require__.r(hardware_namespaceObject),__webpack_require__.d(hardware_namespaceObject,{hardware_arduino_analog_read:()=>hardware_arduino_analog_read,hardware_arduino_analog_write:()=>hardware_arduino_analog_write,hardware_arduino_digital_read:()=>hardware_arduino_digital_read,hardware_arduino_digital_write:()=>hardware_arduino_digital_write,hardware_arduino_start:()=>hardware_arduino_start,inout_highlow:()=>inout_highlow});var inout_namespaceObject={};__webpack_require__.r(inout_namespaceObject),__webpack_require__.d(inout_namespaceObject,{inout_input:()=>inout_input,inout_print:()=>inout_print,inout_print_container:()=>inout_print_container,inout_print_end:()=>inout_print_end,inout_print_inline:()=>inout_print_inline,inout_print_item:()=>inout_print_item,inout_print_many:()=>inout_print_many,inout_type_input:()=>inout_type_input,pyinout_type_input:()=>pyinout_type_input});var iot_namespaceObject={};__webpack_require__.r(iot_namespaceObject),__webpack_require__.d(iot_namespaceObject,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE,IOT_EMQX_PING:()=>IOT_EMQX_PING,IOT_FORMATTING:()=>IOT_FORMATTING,IOT_FORMAT_STRING:()=>IOT_FORMAT_STRING,IOT_MIXIO_NTP:()=>IOT_MIXIO_NTP,IOT_MIXIO_PUBLISH:()=>IOT_MIXIO_PUBLISH,IOT_MIXIO_SUBSCRIBE:()=>IOT_MIXIO_SUBSCRIBE,IOT_MIXIO_UNSUBSCRIBE:()=>IOT_MIXIO_UNSUBSCRIBE,iot_checkonenet:()=>iot_checkonenet,iot_client_onboard:()=>iot_client_onboard,iot_create_with_item:()=>iot_create_with_item,iot_http_client:()=>iot_http_client,iot_http_data:()=>iot_http_data,iot_mixio_check:()=>iot_mixio_check,iot_mixio_connect:()=>iot_mixio_connect,iot_mixio_connect_only:()=>iot_mixio_connect_only,iot_mixio_disconnect:()=>iot_mixio_disconnect,iot_mixio_format_msg:()=>iot_mixio_format_msg,iot_mixio_format_topic:()=>iot_mixio_format_topic,iot_mixly_key:()=>iot_mixly_key,iot_mixly_key_py:()=>iot_mixly_key_py,iot_mqtt_client:()=>iot_mqtt_client,iot_mqtt_data:()=>iot_mqtt_data,iot_onenet_check:()=>iot_onenet_check,iot_onenet_connect:()=>iot_onenet_connect,iot_onenet_disconnect:()=>iot_onenet_disconnect,iot_onenet_publish:()=>iot_onenet_publish,iot_onenet_publish_dict:()=>iot_onenet_publish_dict,iot_onenetconnect:()=>iot_onenetconnect,iot_onenetdisconnect:()=>iot_onenetdisconnect,iot_publish:()=>iot_publish,iot_publish_container:()=>iot_publish_container,iot_publish_item:()=>iot_publish_item});var pins_namespaceObject={};__webpack_require__.r(pins_namespaceObject),__webpack_require__.d(pins_namespaceObject,{pins_analog_read:()=>pins_analog_read,pins_analog_write:()=>pins_analog_write,pins_digital_read:()=>pins_digital_read,pins_digital_write:()=>pins_digital_write});var serial_namespaceObject={};__webpack_require__.r(serial_namespaceObject),__webpack_require__.d(serial_namespaceObject,{serial_close:()=>serial_close,serial_open:()=>serial_open,serial_read_b:()=>serial_read_b,serial_write:()=>serial_write});var sklearn_namespaceObject={};__webpack_require__.r(sklearn_namespaceObject),__webpack_require__.d(sklearn_namespaceObject,{sklearn_DecisionTreeClassifier_Regressor:()=>sklearn_DecisionTreeClassifier_Regressor,sklearn_GaussianNB:()=>sklearn_GaussianNB,sklearn_KMeans:()=>sklearn_KMeans,sklearn_KNeighborsClassifier_Regressor:()=>sklearn_KNeighborsClassifier_Regressor,sklearn_LinearRegression:()=>sklearn_LinearRegression,sklearn_RandomForestClassifier_Regressor:()=>sklearn_RandomForestClassifier_Regressor,sklearn_Ridge:()=>sklearn_Ridge,sklearn_cluster_centers_labels_inertia:()=>sklearn_cluster_centers_labels_inertia,sklearn_coef_intercept:()=>sklearn_coef_intercept,sklearn_data_target:()=>sklearn_data_target,sklearn_fit:()=>sklearn_fit,sklearn_fit_no_target:()=>sklearn_fit_no_target,sklearn_load:()=>sklearn_load,sklearn_make_blobs:()=>sklearn_make_blobs,sklearn_make_classification:()=>sklearn_make_classification,sklearn_make_regression:()=>sklearn_make_regression,sklearn_predict:()=>sklearn_predict,sklearn_save_load_model:()=>sklearn_save_load_model,sklearn_score:()=>sklearn_score,sklearn_score_no_target:()=>sklearn_score_no_target,sklearn_train_test_split:()=>sklearn_train_test_split,sklearn_train_test_split_no_target:()=>sklearn_train_test_split_no_target});var system_namespaceObject={};__webpack_require__.r(system_namespaceObject),__webpack_require__.d(system_namespaceObject,{Panic_with_status_code:()=>system_Panic_with_status_code,base_delay:()=>base_delay,controls_millis:()=>system_controls_millis,controls_mstimer2:()=>controls_mstimer2,controls_mstimer2_start:()=>controls_mstimer2_start,controls_mstimer2_stop:()=>controls_mstimer2_stop,reset:()=>system_reset,time_localtime:()=>time_localtime,time_sleep:()=>system_time_sleep});var turtle_namespaceObject={};__webpack_require__.r(turtle_namespaceObject),__webpack_require__.d(turtle_namespaceObject,{turtle_bgcolor:()=>turtle_bgcolor,turtle_bgcolor_hex:()=>turtle_bgcolor_hex,turtle_bgcolor_hex_new:()=>turtle_bgcolor_hex_new,turtle_circle:()=>turtle_circle,turtle_circle_advanced:()=>turtle_circle_advanced,turtle_clear:()=>turtle_clear,turtle_clone:()=>turtle_clone,turtle_color:()=>turtle_color,turtle_color_hex:()=>turtle_color_hex,turtle_color_seclet:()=>turtle_color_seclet,turtle_create:()=>turtle_create,turtle_done:()=>turtle_done,turtle_exitonclick:()=>turtle_exitonclick,turtle_fill:()=>turtle_fill,turtle_fillcolor:()=>turtle_fillcolor,turtle_fillcolor_hex:()=>turtle_fillcolor_hex,turtle_fillcolor_hex_new:()=>turtle_fillcolor_hex_new,turtle_getscreen:()=>turtle_getscreen,turtle_goto:()=>turtle_goto,turtle_listen:()=>turtle_listen,turtle_move:()=>turtle_move,turtle_numinput:()=>turtle_numinput,turtle_onclick:()=>turtle_onclick,turtle_onkey:()=>turtle_onkey,turtle_ontimer:()=>turtle_ontimer,turtle_pencolor:()=>turtle_pencolor,turtle_pencolor_hex:()=>turtle_pencolor_hex,turtle_pencolor_hex_new:()=>turtle_pencolor_hex_new,turtle_penup:()=>turtle_penup,turtle_pos_shape:()=>turtle_pos_shape,turtle_rotate:()=>turtle_rotate,turtle_screen_delay:()=>turtle_screen_delay,turtle_screen_savefig:()=>turtle_screen_savefig,turtle_setheading:()=>turtle_setheading,turtle_setxy:()=>turtle_setxy,turtle_shape:()=>turtle_shape,turtle_shapesize:()=>turtle_shapesize,turtle_size:()=>turtle_size,turtle_size_speed:()=>turtle_size_speed,turtle_speed:()=>turtle_speed,turtle_textinput:()=>turtle_textinput,turtle_visible:()=>turtle_visible,turtle_write:()=>turtle_write,turtle_write_format:()=>turtle_write_format,turtle_write_format_skulpt:()=>turtle_write_format_skulpt});var generators_ai_namespaceObject={};__webpack_require__.r(generators_ai_namespaceObject),__webpack_require__.d(generators_ai_namespaceObject,{AI_ChooseAndGet:()=>ai_AI_ChooseAndGet,AI_Face_match:()=>ai_AI_Face_match,AI_ImageClassify:()=>ai_AI_ImageClassify,AI_ImageClassify_Func:()=>ai_AI_ImageClassify_Func,AI_Nlp:()=>ai_AI_Nlp,AI_Nlp_Func:()=>ai_AI_Nlp_Func,AI_Nlp_Func_sim:()=>ai_AI_Nlp_Func_sim,AI_Nlp_Sim:()=>ai_AI_Nlp_Sim,AI_Nlp_Topic:()=>ai_AI_Nlp_Topic,AI_Nlp_newsSummary:()=>ai_AI_Nlp_newsSummary,AI_Ocr:()=>ai_AI_Ocr,AI_Ocr_Func:()=>ai_AI_Ocr_Func,AI_Speech_asr:()=>ai_AI_Speech_asr,AI_Speech_synthesis:()=>ai_AI_Speech_synthesis,AI_audio:()=>ai_AI_audio,AI_client:()=>ai_AI_client,AI_photo:()=>ai_AI_photo,AI_result:()=>ai_AI_result});var generators_algorithm_namespaceObject={};__webpack_require__.r(generators_algorithm_namespaceObject),__webpack_require__.d(generators_algorithm_namespaceObject,{algorithm_add_path:()=>algorithm_algorithm_add_path,algorithm_add_school:()=>algorithm_algorithm_add_school,algorithm_all_books:()=>algorithm_algorithm_all_books,algorithm_all_books_sequence:()=>algorithm_algorithm_all_books_sequence,algorithm_book_scale:()=>algorithm_algorithm_book_scale,algorithm_check_feet:()=>algorithm_algorithm_check_feet,algorithm_chick_calculate:()=>algorithm_algorithm_chick_calculate,algorithm_color_seclet:()=>algorithm_algorithm_color_seclet,algorithm_current_school:()=>algorithm_algorithm_current_school,algorithm_del_path:()=>algorithm_algorithm_del_path,algorithm_delete_book:()=>algorithm_algorithm_delete_book,algorithm_divide_books:()=>algorithm_algorithm_divide_books,algorithm_find_path:()=>algorithm_algorithm_find_path,algorithm_first_book:()=>algorithm_algorithm_first_book,algorithm_fz_calc:()=>algorithm_algorithm_fz_calc,algorithm_fz_compare:()=>algorithm_algorithm_fz_compare,algorithm_fz_move:()=>algorithm_algorithm_fz_move,algorithm_fz_set_min:()=>algorithm_algorithm_fz_set_min,algorithm_get_current_location:()=>algorithm_algorithm_get_current_location,algorithm_get_half_books:()=>algorithm_algorithm_get_half_books,algorithm_hxdb_add:()=>algorithm_algorithm_hxdb_add,algorithm_hxdb_init_soldier:()=>algorithm_algorithm_hxdb_init_soldier,algorithm_hxdb_last_line:()=>algorithm_algorithm_hxdb_last_line,algorithm_hxdb_result:()=>algorithm_algorithm_hxdb_result,algorithm_hxdb_stand_in_line:()=>algorithm_algorithm_hxdb_stand_in_line,algorithm_init_fzsf:()=>algorithm_algorithm_init_fzsf,algorithm_init_hxdb:()=>algorithm_algorithm_init_hxdb,algorithm_init_jttl:()=>algorithm_algorithm_init_jttl,algorithm_move_recent:()=>algorithm_algorithm_move_recent,algorithm_new_path:()=>algorithm_algorithm_new_path,algorithm_next_book:()=>algorithm_algorithm_next_book,algorithm_no_left:()=>algorithm_algorithm_no_left,algorithm_no_path:()=>algorithm_algorithm_no_path,algorithm_no_ring2:()=>algorithm_algorithm_no_ring2,algorithm_not_home:()=>algorithm_algorithm_not_home,algorithm_not_school:()=>algorithm_algorithm_not_school,algorithm_number_add:()=>algorithm_algorithm_number_add,algorithm_number_zero:()=>algorithm_algorithm_number_zero,algorithm_prepare:()=>algorithm_algorithm_prepare,algorithm_prepare2:()=>algorithm_algorithm_prepare2,algorithm_prepare_2_1:()=>algorithm_algorithm_prepare_2_1,algorithm_prepare_2_2:()=>algorithm_algorithm_prepare_2_2,algorithm_print_book2:()=>algorithm_algorithm_print_book2,algorithm_print_jttl_answer:()=>algorithm_algorithm_print_jttl_answer,algorithm_print_number:()=>algorithm_algorithm_print_number,algorithm_print_path:()=>algorithm_algorithm_print_path,algorithm_print_path2:()=>algorithm_algorithm_print_path2,algorithm_rabbit_add:()=>algorithm_algorithm_rabbit_add,algorithm_rabbit_number_in_range:()=>algorithm_algorithm_rabbit_number_in_range,algorithm_rabbit_zero:()=>algorithm_algorithm_rabbit_zero,algorithm_return_path:()=>algorithm_algorithm_return_path,algorithm_set_path:()=>algorithm_algorithm_set_path,algorithm_two_left:()=>algorithm_algorithm_two_left,algorithm_void_path:()=>algorithm_algorithm_void_path,algorithm_yes_ring2:()=>algorithm_algorithm_yes_ring2,hanoi_init:()=>algorithm_hanoi_init,hanoi_init_offline:()=>algorithm_hanoi_init_offline,hanoi_move:()=>algorithm_hanoi_move});var generators_communicate_namespaceObject={};__webpack_require__.r(generators_communicate_namespaceObject),__webpack_require__.d(generators_communicate_namespaceObject,{requests_attribute:()=>communicate_requests_attribute,requests_get:()=>communicate_requests_get,requests_get_old:()=>communicate_requests_get_old,requests_method:()=>communicate_requests_method,requests_post:()=>communicate_requests_post});var generators_data_namespaceObject={};__webpack_require__.r(generators_data_namespaceObject),__webpack_require__.d(generators_data_namespaceObject,{array_create:()=>data_array_create,array_toarray:()=>data_array_toarray,dataframe_create:()=>data_dataframe_create,dataframe_create_from_index:()=>data_dataframe_create_from_index,dataframe_create_from_one_index:()=>data_dataframe_create_from_one_index,dataframe_fillna:()=>data_dataframe_fillna,dataframe_get:()=>data_dataframe_get,dataframe_info:()=>data_dataframe_info,dataframe_median:()=>data_dataframe_median,matrix_multiplication:()=>data_matrix_multiplication,matrix_transpose:()=>data_matrix_transpose,numpy_argmin_template_match:()=>data_numpy_argmin_template_match,numpy_astype:()=>data_numpy_astype,numpy_c_:()=>data_numpy_c_,numpy_dot:()=>data_numpy_dot,numpy_linalg_det:()=>data_numpy_linalg_det,numpy_linalg_inv:()=>data_numpy_linalg_inv,numpy_max:()=>data_numpy_max,numpy_mean:()=>data_numpy_mean,numpy_mean_digit:()=>data_numpy_mean_digit,numpy_min:()=>data_numpy_min,numpy_ones:()=>data_numpy_ones,numpy_random_random:()=>data_numpy_random_random,numpy_reshape:()=>data_numpy_reshape,numpy_shape:()=>data_numpy_shape,numpy_size:()=>data_numpy_size,numpy_square:()=>data_numpy_square,numpy_std:()=>data_numpy_std,numpy_sum:()=>data_numpy_sum,numpy_trig:()=>data_numpy_trig,pandas_drop_columns:()=>data_pandas_drop_columns,pandas_dropna:()=>data_pandas_dropna,pandas_readcsv:()=>data_pandas_readcsv,pl_axes:()=>data_pl_axes,pl_bar:()=>data_pl_bar,pl_hist:()=>data_pl_hist,pl_label:()=>data_pl_label,pl_legend:()=>data_pl_legend,pl_pie:()=>data_pl_pie,pl_plot:()=>data_pl_plot,pl_plot_bar:()=>data_pl_plot_bar,pl_plot_easy:()=>data_pl_plot_easy,pl_plot_scatter:()=>data_pl_plot_scatter,pl_plot_xy:()=>data_pl_plot_xy,pl_savefig:()=>data_pl_savefig,pl_show:()=>data_pl_show,pl_subplot:()=>data_pl_subplot,pl_text:()=>data_pl_text,pl_ticks:()=>data_pl_ticks,pl_title:()=>data_pl_title,plot_axes:()=>data_plot_axes,plot_bar:()=>data_plot_bar,plot_hist:()=>data_plot_hist,plot_label:()=>data_plot_label,plot_legend:()=>data_plot_legend,plot_pie:()=>data_plot_pie,plot_plot:()=>data_plot_plot,plot_plot_bar:()=>data_plot_plot_bar,plot_plot_easy:()=>data_plot_plot_easy,plot_plot_scatter:()=>data_plot_plot_scatter,plot_plot_xy:()=>data_plot_plot_xy,plot_savefig:()=>data_plot_savefig,plot_show:()=>data_plot_show,plot_subplot:()=>data_plot_subplot,plot_text:()=>data_plot_text,plot_ticks:()=>data_plot_ticks,plot_title:()=>data_plot_title,py_sum:()=>data_py_sum,pylab_imshow:()=>data_pylab_imshow,series_create:()=>data_series_create,series_create_from_index:()=>data_series_create_from_index,series_create_from_text:()=>data_series_create_from_text,series_get_num:()=>data_series_get_num,series_index_value:()=>data_series_index_value});var generators_datastructure_namespaceObject={};__webpack_require__.r(generators_datastructure_namespaceObject),__webpack_require__.d(generators_datastructure_namespaceObject,{ds_add_node_by_attr:()=>datastructure_ds_add_node_by_attr,ds_add_node_by_name:()=>datastructure_ds_add_node_by_name,ds_create_linkedlist:()=>datastructure_ds_create_linkedlist,ds_create_node:()=>datastructure_ds_create_node,ds_del_node_by_attr:()=>datastructure_ds_del_node_by_attr,ds_del_node_by_name:()=>datastructure_ds_del_node_by_name,ds_get_node_attr:()=>datastructure_ds_get_node_attr,ds_reverse_linkedlist:()=>datastructure_ds_reverse_linkedlist,ds_set_node_attr:()=>datastructure_ds_set_node_attr});var generators_factory_namespaceObject={};__webpack_require__.r(generators_factory_namespaceObject),__webpack_require__.d(generators_factory_namespaceObject,{factory_block:()=>factory_factory_block,factory_block_return:()=>factory_factory_block_return,factory_block_return_with_textarea:()=>factory_factory_block_return_with_textarea,factory_block_with_textarea:()=>factory_factory_block_with_textarea,factory_callMethod_noreturn:()=>factory_factory_callMethod_noreturn,factory_callMethod_return:()=>factory_factory_callMethod_return,factory_declare:()=>factory_factory_declare,factory_from_import:()=>factory_factory_from_import,factory_function_noreturn:()=>factory_factory_function_noreturn,factory_function_return:()=>factory_factory_function_return,factory_import:()=>factory_factory_import});var generators_hardware_namespaceObject={};__webpack_require__.r(generators_hardware_namespaceObject),__webpack_require__.d(generators_hardware_namespaceObject,{hardware_arduino_analog_read:()=>hardware_hardware_arduino_analog_read,hardware_arduino_analog_write:()=>hardware_hardware_arduino_analog_write,hardware_arduino_digital_read:()=>hardware_hardware_arduino_digital_read,hardware_arduino_digital_write:()=>hardware_hardware_arduino_digital_write,hardware_arduino_start:()=>hardware_hardware_arduino_start,inout_highlow:()=>hardware_inout_highlow});var generators_inout_namespaceObject={};__webpack_require__.r(generators_inout_namespaceObject),__webpack_require__.d(generators_inout_namespaceObject,{inout_input:()=>inout_inout_input,inout_print:()=>inout_inout_print,inout_print_end:()=>inout_inout_print_end,inout_print_inline:()=>inout_inout_print_inline,inout_print_many:()=>inout_inout_print_many,inout_type_input:()=>inout_inout_type_input,pyinout_type_input:()=>inout_pyinout_type_input});var generators_iot_namespaceObject={};__webpack_require__.r(generators_iot_namespaceObject),__webpack_require__.d(generators_iot_namespaceObject,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>iot_IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>iot_IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE,IOT_EMQX_PING:()=>iot_IOT_EMQX_PING,IOT_FORMATTING:()=>iot_IOT_FORMATTING,IOT_FORMAT_STRING:()=>iot_IOT_FORMAT_STRING,IOT_MIXIO_NTP:()=>iot_IOT_MIXIO_NTP,IOT_MIXIO_PUBLISH:()=>iot_IOT_MIXIO_PUBLISH,IOT_MIXIO_SUBSCRIBE:()=>iot_IOT_MIXIO_SUBSCRIBE,IOT_MIXIO_UNSUBSCRIBE:()=>iot_IOT_MIXIO_UNSUBSCRIBE,iot_mixio_check:()=>iot_iot_mixio_check,iot_mixio_connect:()=>iot_iot_mixio_connect,iot_mixio_connect_only:()=>iot_iot_mixio_connect_only,iot_mixio_disconnect:()=>iot_iot_mixio_disconnect,iot_mixio_format_msg:()=>iot_iot_mixio_format_msg,iot_mixio_format_topic:()=>iot_iot_mixio_format_topic,iot_mixly_key:()=>iot_iot_mixly_key,iot_mixly_key_py:()=>iot_iot_mixly_key_py});var generators_pins_namespaceObject={};__webpack_require__.r(generators_pins_namespaceObject),__webpack_require__.d(generators_pins_namespaceObject,{pins_analog_read:()=>pins_pins_analog_read,pins_analog_write:()=>pins_pins_analog_write,pins_digital:()=>pins_digital,pins_digital_read:()=>pins_pins_digital_read,pins_digital_write:()=>pins_pins_digital_write});var generators_serial_namespaceObject={};__webpack_require__.r(generators_serial_namespaceObject),__webpack_require__.d(generators_serial_namespaceObject,{serial_close:()=>serial_serial_close,serial_open:()=>serial_serial_open,serial_read_b:()=>serial_serial_read_b,serial_write:()=>serial_serial_write});var generators_sklearn_namespaceObject={};__webpack_require__.r(generators_sklearn_namespaceObject),__webpack_require__.d(generators_sklearn_namespaceObject,{sklearn_DecisionTreeClassifier_Regressor:()=>sklearn_sklearn_DecisionTreeClassifier_Regressor,sklearn_GaussianNB:()=>sklearn_sklearn_GaussianNB,sklearn_KMeans:()=>sklearn_sklearn_KMeans,sklearn_KNeighborsClassifier_Regressor:()=>sklearn_sklearn_KNeighborsClassifier_Regressor,sklearn_LinearRegression:()=>sklearn_sklearn_LinearRegression,sklearn_RandomForestClassifier_Regressor:()=>sklearn_sklearn_RandomForestClassifier_Regressor,sklearn_Ridge:()=>sklearn_sklearn_Ridge,sklearn_cluster_centers_labels_inertia:()=>sklearn_sklearn_cluster_centers_labels_inertia,sklearn_coef_intercept:()=>sklearn_sklearn_coef_intercept,sklearn_data_target:()=>sklearn_sklearn_data_target,sklearn_fit:()=>sklearn_sklearn_fit,sklearn_fit_no_target:()=>sklearn_sklearn_fit_no_target,sklearn_load:()=>sklearn_sklearn_load,sklearn_make_blobs:()=>sklearn_sklearn_make_blobs,sklearn_make_classification:()=>sklearn_sklearn_make_classification,sklearn_make_regression:()=>sklearn_sklearn_make_regression,sklearn_predict:()=>sklearn_sklearn_predict,sklearn_save_load_model:()=>sklearn_sklearn_save_load_model,sklearn_score:()=>sklearn_sklearn_score,sklearn_score_no_target:()=>sklearn_sklearn_score_no_target,sklearn_train_test_split:()=>sklearn_sklearn_train_test_split,sklearn_train_test_split_no_target:()=>sklearn_sklearn_train_test_split_no_target});var generators_system_namespaceObject={};__webpack_require__.r(generators_system_namespaceObject),__webpack_require__.d(generators_system_namespaceObject,{controls_end_program:()=>system_controls_end_program,controls_millis:()=>generators_system_controls_millis,time_localtime:()=>system_time_localtime});var generators_turtle_namespaceObject={};__webpack_require__.r(generators_turtle_namespaceObject),__webpack_require__.d(generators_turtle_namespaceObject,{turtle_bgcolor:()=>turtle_turtle_bgcolor,turtle_bgcolor_hex:()=>turtle_turtle_bgcolor_hex,turtle_bgcolor_hex_new:()=>turtle_turtle_bgcolor_hex_new,turtle_circle:()=>turtle_turtle_circle,turtle_circle_advanced:()=>turtle_turtle_circle_advanced,turtle_clear:()=>turtle_turtle_clear,turtle_clone:()=>turtle_turtle_clone,turtle_color:()=>turtle_turtle_color,turtle_color_hex:()=>turtle_turtle_color_hex,turtle_color_seclet:()=>turtle_turtle_color_seclet,turtle_create:()=>turtle_turtle_create,turtle_done:()=>turtle_turtle_done,turtle_exitonclick:()=>turtle_turtle_exitonclick,turtle_fill:()=>turtle_turtle_fill,turtle_fillcolor:()=>turtle_turtle_fillcolor,turtle_fillcolor_hex:()=>turtle_turtle_fillcolor_hex,turtle_fillcolor_hex_new:()=>turtle_turtle_fillcolor_hex_new,turtle_getscreen:()=>turtle_turtle_getscreen,turtle_goto:()=>turtle_turtle_goto,turtle_listen:()=>turtle_turtle_listen,turtle_move:()=>turtle_turtle_move,turtle_numinput:()=>turtle_turtle_numinput,turtle_onclick:()=>turtle_turtle_onclick,turtle_onkey:()=>turtle_turtle_onkey,turtle_ontimer:()=>turtle_turtle_ontimer,turtle_pencolor:()=>turtle_turtle_pencolor,turtle_pencolor_hex:()=>turtle_turtle_pencolor_hex,turtle_pencolor_hex_new:()=>turtle_turtle_pencolor_hex_new,turtle_penup:()=>turtle_turtle_penup,turtle_pos_shape:()=>turtle_turtle_pos_shape,turtle_rotate:()=>turtle_turtle_rotate,turtle_screen_delay:()=>turtle_turtle_screen_delay,turtle_screen_savefig:()=>turtle_turtle_screen_savefig,turtle_setheading:()=>turtle_turtle_setheading,turtle_setxy:()=>turtle_turtle_setxy,turtle_shape:()=>turtle_turtle_shape,turtle_shapesize:()=>turtle_turtle_shapesize,turtle_size:()=>turtle_turtle_size,turtle_size_speed:()=>turtle_turtle_size_speed,turtle_speed:()=>turtle_turtle_speed,turtle_textinput:()=>turtle_turtle_textinput,turtle_visible:()=>turtle_turtle_visible,turtle_write:()=>turtle_turtle_write,turtle_write_format:()=>turtle_turtle_write_format,turtle_write_format_skulpt:()=>turtle_turtle_write_format_skulpt});const external_Blockly_namespaceObject=Blockly,external_Mixly_namespaceObject=Mixly,Variables={NAME_TYPE:"VARIABLE",allVariables:function(e){var t;if(e.getDescendants)t=e.getDescendants();else{if(!e.getAllBlocks)throw"Not Block or Workspace: "+e;t=e.getAllBlocks()}for(var n=Object.create(null),_=0;_1&&(s+=_)):n=s}else n="i";return n}},variables=Variables; /** * @license * Visual Blocks Editor @@ -18,4 +18,4 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -class ot{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 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(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")}},mt={init:function(){this.setColour(It),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)}},ct={init:function(){this.setColour(It),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")}},At={init:function(){this.setColour(It),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]}))}},gt={init:function(){this.setColour(It),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 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(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")}},Ct={init:function(){this.setColour(It);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)}}},Lt={init:function(){this.setColour(It),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")}},St={init:function(){this.setColour(It),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")}};At.OPERATORS=[[et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[et.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],Ct.OPERATORS=[[et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[et.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Dt={init:function(){this.setColour(It),this.appendDummyInput().appendField(et.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(et.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},Nt={init:function(){this.setColour(It),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}},ft={init:function(){this.setColour(It),this.appendDummyInput().appendField(et.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(et.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},Ft={init:function(){this.setColour(It),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Pt={init:function(){this.setColour(It),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)}},vt={init:function(){this.setColour(It),this.appendDummyInput().appendField(et.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(et.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Vt={init:function(){this.jsonInit({message0:et.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:It,tooltip:et.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:et.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Yt={init:function(){this.setColour(It),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(et.Msg.MIXLY_STAT),this.setOutput(!0)}},yt={init:function(){this.setColour(It),this.appendDummyInput().appendField(et.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},bt={init:function(){this.setColour(It),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)}},kt={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(It),this.setTooltip("do-while loop"),this.setHelpUrl("")}},Xt=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 xt={init:function(){this.setColour(Xt),this.appendDummyInput().appendField(new et.FieldTextInput("0",et.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(et.Msg.MATH_NUMBER_TOOLTIP)}},Ut={init:function(){this.setColour(Xt);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]}))}},Bt={init:function(){this.setColour(Xt);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]}))}},wt={init:function(){this.setColour(Xt),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]}))}},Gt={init:function(){this.setColour(Xt),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]}))}},Ht={init:function(){this.setColour(Xt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new et.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Wt={init:function(){this.setColour(Xt),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]}))}},Kt={init:function(){var t=[[et.Msg.MATH_BIN,"bin"],[et.Msg.MATH_OCT,"oct"],[et.Msg.MATH_HEX,"hex"]];this.setColour(Xt),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]}))}},qt={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(Xt),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]}))}},jt={init:function(){var t=[[et.Msg.MIXLY_MAX,"max"],[et.Msg.MIXLY_MIN,"min"]];this.setColour(Xt),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]}))}},Qt={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(Xt),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]}))}},zt={init:function(){var t=[[et.Msg.LANG_MATH_INT,"int"],[et.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Xt),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]}))}},Jt={init:function(){this.setColour(Xt),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)}},Zt={init:function(){this.setColour(Xt),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)}},$t={init:function(){this.setColour(Xt),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)}},te={init:function(){this.setColour(Xt),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)}},ee={init:function(){this.setColour(Xt),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)}},ie={init:function(){var t=[[et.Msg.MIXLY_TO_INT,"int"],[et.Msg.MIXLY_TO_FLOAT,"float"],[et.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Xt),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]}))}},ne={init:function(){var t=[[et.Msg.MIXLY_TO_INT,"int"],[et.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Xt),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]}))}},se=Zt,oe=160,pe={init:function(){this.setColour(oe),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,'"')}},_e={init:function(){this.setColour(oe),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 ae={init:function(){this.setColour(oe),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,'"')}},ue={init:function(){this.setColour(oe),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)}},le={init:function(){this.setColour(oe),this.appendValueInput("VAR").setCheck(Number).appendField(et.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(et.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},re={init:function(){this.setColour(oe),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(et.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Te={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(et.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},de={init:function(){this.setColour(oe),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(et.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},Ie={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(oe),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)}},he={init:function(){this.setHelpUrl(et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(oe),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)}},Ee={init:function(){this.setHelpUrl(et.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(oe),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(et.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(et.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},Oe={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(oe),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"))}},Me={init:function(){this.setHelpUrl(et.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(oe),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)}},Re={init:function(){var t=[[et.Msg.MIXLY_EQUALS,"==="],[et.Msg.MIXLY_STARTSWITH,"startswith"],[et.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(oe),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new et.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},me={init:function(){this.setColour(oe),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)}},ce={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(oe),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]}))}},Ae={init:function(){var t=[[et.Msg.TEXT_LJUST,"ljust"],[et.Msg.TEXT_CENTER,"center"],[et.Msg.TEXT_RJUST,"rjust"]];this.setColour(oe),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)}},ge={init:function(){this.setColour(oe),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)}},Ce={init:function(){this.setColour(oe),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)}},Le={init:function(){this.setColour(oe),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)}},Se={init:function(){this.setColour(oe),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)}},De={init:function(){var t=[[et.Msg.TEXT_TRIM_BOTH,"strip"],[et.Msg.TEXT_TRIM_LEFT,"lstrip"],[et.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(oe),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]}))}},Ne={init:function(){this.setColour(oe),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")}},Ci={init:function(){this.setColour(Ai),this.appendDummyInput().appendField(et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Li={init:function(){this.setColour(Ai),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}},Si={init:function(){this.setColour(Ai),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(et.Msg.DICT_KEYS),this.setTooltip(et.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Di={init:function(){this.setColour(Ai),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)}},Ni={init:function(){this.setColour(Ai),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)}},fi={init:function(){this.setColour(Ai),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)}},Fi={init:function(){this.setColour(Ai),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)}},Pi={init:function(){this.setColour(Ai),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)}},vi={init:function(){this.setColour(Ai),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)}},Vi={init:function(){this.setColour(Ai),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(et.Msg.DICT_ITEMS),this.setTooltip(et.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Yi={init:function(){this.setColour(Ai),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(et.Msg.DICT_VALUES),this.setTooltip(et.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},yi={init:function(){this.setColour(Ai),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(et.Msg.MIXLY_LENGTH),this.setTooltip(et.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},bi={init:function(){this.setColour(Ai),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)}},ki={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(Ai),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")}},Xi={init:function(){this.setColour(Ai),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)}},xi={init:function(){this.setColour(Ai),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)}},Ui={init:function(){this.setColour(Ai),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")}},Bi={init:function(){this.setColour(Ai),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(et.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},wi={init:function(){this.setColour(Ai),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)}},Gi={init:function(){this.setColour(Ai),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)}},Hi=210,Wi={init:function(){var t=et.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Hi),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]}},Ki={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(Hi),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)}},qi={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(Hi),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]}))}},ji={init:function(){this.setColour(Hi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(et.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(et.Msg.LOGIC_NEGATE_TOOLTIP)}},Qi={init:function(){var t=[[et.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[et.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Hi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new et.FieldDropdown(t),"BOOL"),this.setTooltip(et.Msg.LOGIC_BOOLEAN_TOOLTIP)}},zi={init:function(){this.setColour(Hi),this.setOutput(!0),this.appendDummyInput().appendField(et.Msg.LOGIC_NULL),this.setTooltip(et.Msg.LOGIC_NULL_TOOLTIP)}},Ji={init:function(){this.setColour(Hi),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)}},Zi={init:function(){var t=[[et.Msg.TEXT_APPEND_TO,"in"],[et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Hi),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)}},$i={init:function(){var t=[[et.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[et.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Hi),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)}},tn={init:function(){this.setColour(Hi),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(et.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},en={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)}},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.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,o=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]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},sn={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,o=et.Msg.MIXLY_BELONG,p=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]+o+n+s+p}))}},on={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,o=et.Msg.MIXLY_BELONG,p=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]+o+n+s+p}))}},pn={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)}},_n={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)}},an={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}))}},un={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)}},ln={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)}},rn={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)}},Tn={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)}},dn={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 In={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)}},hn={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)}},En={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)}},On={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}))}},Mn={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)}},Rn={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]}))}},mn={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)}},cn={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)}},An={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]}))}},gn={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)}},Cn={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()}},Ln={};Ln.NAME_TYPE=et.PROCEDURE_CATEGORY_NAME,Ln.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)}},ms={init:function(){this.setColour(Is),this.appendDummyInput().appendField(et.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},cs={init:function(){this.setColour(Is),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)}},As={init:function(){this.setColour(Is),this.appendDummyInput().appendField(new et.FieldTextInput("property"),"KEY").appendField(":").appendField(new et.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},gs={init:function(){this.setColour(Is),this.appendDummyInput().appendField(new et.FieldTextInput("property"),"KEY").appendField(":").appendField(new et.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cs={init:function(){this.setColour(Is),this.appendDummyInput().appendField(et.Msg.HTML_TEXT).appendField(new et.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ls=160,Ss={init:function(){this.setColour(Ls),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new et.FieldTable(""),"TEXT")}},Ds={init:function(){this.setColour(Ls),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new et.FieldMultilineInput(""),"TEXT")}},Ns={init:function(){this.setColour(Ls),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new et.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},fs={init:function(){this.setColour(Ls),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Fs={init:function(){this.setColour(Ls),this.appendDummyInput().appendTitle("Comment:").appendTitle(new et.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ps={init:function(){this.setColour(Ls),this.appendValueInput("VALUE").appendField(et.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},vs={init:function(){this.setColour(Ls),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(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 T_=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 p=s+" and "+o;else if("OR"==i)p=s+" or "+o;else if("NOR"==i)p="not("+s+"^"+o+")";else p=s+"^"+o;return[p,n]},d_=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},I_=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},h_=function(t,e){return["None",e.ORDER_ATOMIC]},E_=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]},O_=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]},M_=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]},R_=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},m_=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},c_=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},A_=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},g_=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},C_=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},L_=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},S_=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]},D_=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},N_=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},f_=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},F_=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]},v_=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},V_=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Y_=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},y_=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"},b_=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},k_=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},X_=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},x_=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"},U_=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]},B_=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"},w_=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"},G_=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=[],p=0;p\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},ga=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ca=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},La=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Sa=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Da=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Na=function(t,e){return'"},fa=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Fa=function(){return this.getFieldValue("TEXT")+"\n"},Pa=function(t){return t.getFieldValue("TEXT")+"\n"},va=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},Va=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Ya=function(){return""},ya=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},ba=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("")+p.join("\n"):e.join("\n")+"\n"+n.join("\n")+"\n"+s.join("")+"\n"+t+p.join("\n")},Xa.scrubNakedValue=function(t){return t+"\n"},Xa.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},Xa.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},Xa.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=et.utils.string.wrap(o,Xa.COMMENT_WRAP-3),n+=Xa.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+_+" + "+s+")":s<0?"int("+_+" - "+-s+")":"int("+_+")",n&&(_="-"+_)),_};const xa=205,Ua={init:function(){this.setColour(xa),this.appendDummyInput("").appendField(et.Msg.MIXLY_CHOOSE_AND_GET).appendField(new et.FieldDropdown([[et.Msg.MIXLY_CHOOSE_AND_GET_ONE_FILE_NAME,"getOneFile"],[et.Msg.MIXLY_CHOOSE_AND_GET_MANY_FILE_NAMES,"getManyFiles"],[et.Msg.MIXLY_CHOOSE_AND_GET_DIR,"getDirectory"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0)}},Ba={init:function(){this.setColour(xa),this.appendDummyInput("").appendField(et.Msg.MIXLY_SETUP).appendField(new et.FieldDropdown([[et.Msg.MIXLY_AipImageClassify,"AipImageClassify"],[et.Msg.MIXLY_AipSpeech,"AipSpeech"],[et.Msg.MIXLY_AipImageCensor,"AipImageCensor"],[et.Msg.MIXLY_AipFace,"AipFace"],[et.Msg.MIXLY_AipOcr,"AipOcr"],[et.Msg.MIXLY_AipNlp,"AipNlp"]]),"CTYPE"),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(et.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(et.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},wa={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipSpeech_synthesis).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(et.Msg.OLED_STRING).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipSpeech_synthesis_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Ga={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipSpeech_asr).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(et.Msg.MIXLY_AipSpeech_File).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipSpeech_ASR_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Ha={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipImageClassify).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(et.Msg.MIXLY_AIP_FUNC).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(et.Msg.MIXLY_AipImageClassify_Image).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipImageClassify_advancedGeneral_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Wa={init:function(){this.setColour(xa),this.appendDummyInput("").appendField(new et.FieldDropdown([[et.Msg.MIXLY_AipImageClassify_advancedGeneral,"advancedGeneral"],[et.Msg.MIXLY_AipImageClassify_dishDetect,"dishDetect"],[et.Msg.MIXLY_AipImageClassify_carDetect,"carDetect"],[et.Msg.MIXLY_AipImageClassify_animalDetect,"animalDetect"],[et.Msg.MIXLY_AipImageClassify_plantDetect,"plantDetect"],[et.Msg.MIXLY_AipImageClassify_logoSearch,"logoSearch"]]),"TYPE"),this.setOutput(!0)}},Ka={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipFace_match).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_AipImageClassify_Image+"1"+et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(et.Msg.MIXLY_AipImageClassify_Image+"2"+et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipFace_match_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},qa={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipOcr).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(et.Msg.MIXLY_AIP_FUNC).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(et.Msg.MIXLY_AipImageClassify_Image).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipOcr_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},ja={init:function(){this.setColour(xa),this.appendDummyInput("").appendField(new et.FieldDropdown([[et.Msg.MIXLY_AipOcr_basicGeneral,"basicGeneral"],[et.Msg.MIXLY_AipOcr_webImage,"webImage"],[et.Msg.MIXLY_AipOcr_idcard,"idcard"],[et.Msg.MIXLY_AipOcr_bankcard,"bankcard"],[et.Msg.MIXLY_AipOcr_drivingLicense,"drivingLicense"],[et.Msg.MIXLY_AipOcr_vehicleLicense,"vehicleLicense"],[et.Msg.MIXLY_AipOcr_licensePlate,"licensePlate"],[et.Msg.MIXLY_AipOcr_businessLicense,"businessLicense"],[et.Msg.MIXLY_AipOcr_receipt,"receipt"],[et.Msg.MIXLY_AipOcr_trainTicket,"trainTicket"],[et.Msg.MIXLY_AipOcr_taxiReceipt,"taxiReceipt"],[et.Msg.MIXLY_AipOcr_form,"tableRecognition"],[et.Msg.MIXLY_AipOcr_vatInvoice,"vatInvoice"],[et.Msg.MIXLY_AipOcr_passport,"passport"],[et.Msg.MIXLY_AipOcr_handwriting,"handwriting"]]),"TYPE"),this.setOutput(!0)}},Qa={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipNlp).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(et.Msg.MIXLY_AIP_FUNC).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(et.Msg.OLED_STRING).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipNlp_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},za={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipNlp_Sim).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(et.Msg.MIXLY_AIP_FUNC).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(et.Msg.OLED_STRING+"1").setAlign(et.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(et.Msg.OLED_STRING+"2").setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipNlp_Sim_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},Ja={init:function(){this.setColour(xa),this.appendDummyInput("").appendField(new et.FieldDropdown([[et.Msg.MIXLY_AipNlp_lexer,"lexer"],[et.Msg.MIXLY_AipNlp_depParser,"depParser"],[et.Msg.MIXLY_AipNlp_wordEmbedding,"wordEmbedding"],[et.Msg.MIXLY_AipNlp_dnnlm,"dnnlm"],[et.Msg.MIXLY_AipNlp_commentTag,"commentTag"],[et.Msg.MIXLY_AipNlp_sentimentClassify,"sentimentClassify"],[et.Msg.MIXLY_AipNlp_keyword,"keyword"],[et.Msg.MIXLY_AipNlp_topic,"topic"],[et.Msg.MIXLY_AipNlp_ecnet,"ecnet"],[et.Msg.MIXLY_AipNlp_emotion,"emotion"]]),"TYPE"),this.setOutput(!0)}},Za={init:function(){this.setColour(xa),this.appendDummyInput("").appendField(new et.FieldDropdown([[et.Msg.MIXLY_AipNlp_wordSimEmbedding,"wordSimEmbedding"],[et.Msg.MIXLY_AipNlp_simnet,"simnet"]]),"TYPE"),this.setOutput(!0)}},$a={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipNlp_topic).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(et.Msg.MIXLY_AipNlp_Topic_Title).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(et.Msg.MIXLY_AipNlp_Topic_Content).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipNlp_Topic_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},tu={init:function(){this.setColour(xa),this.appendValueInput("SUB").appendField(et.Msg.MIXLY_AipNlp_summary).appendField(et.Msg.MIXLY_Client).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(et.Msg.MIXLY_AipNlp_Topic_Content).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("LEN").appendField(et.Msg.MIXLY_LIST_LEN).setAlign(et.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(et.Msg.MIXLY_AIP_ATTR).setAlign(et.inputs.Align.RIGHT),this.setTooltip(et.Msg.MIXLY_AipNlp_Summary_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},eu={init:function(){this.setColour(xa),this.appendValueInput("VAR").appendField(et.Msg.MIXPY_AI_AUDIO),this.appendValueInput("TIME").appendField(et.Msg.MIXPY_AI_AUDIO_TIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXPY_AI_AUDIO_TOOLTIP)}},iu={init:function(){this.setColour(xa),this.appendValueInput("VAR").appendField(et.Msg.MIXPY_AI_PHOTO),this.appendValueInput("BUT").appendField(et.Msg.MIXPY_AI_PHOTO_BUTTON),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXPY_AI_PHOTO_TOOLTIP)}},nu={init:function(){this.setColour(xa),this.appendValueInput("AI").appendField(et.Msg.MIXPY_AI_RESULT).appendField(new et.FieldDropdown([[et.Msg.MIXLY_AipImageClassify,"Image"],[et.Msg.MIXLY_AipSpeech_asr,"Speech"],[et.Msg.MIXLY_AipFace_match,"Face"],[et.Msg.MIXLY_AipOcr,"Ocr"],[et.Msg.MIXLY_AipNlp_simnet,"OcrSimilarity"],[et.Msg.MIXLY_AipNlp_sentimentClassify,"Emotion"]]),"CTYPE"),this.setOutput(!0),this.setTooltip(et.Msg.LOGIC_NEGATE_TOOLTIP)}},su="#526FC3",ou={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},pu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_ADD_SCHOOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},_u={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_FIND_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},au={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NEW_PATH),this.setOutput(!0)}},uu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_SET_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},lu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_ADD_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ru={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_DEL_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Tu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_RETURN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},du={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NO_LEFT),this.setOutput(!0)}},Iu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Eu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_CURRENT_SCHOOL),this.setOutput(!0)}},Ou={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NO_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Mu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ru={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},mu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_MOVE_RECENT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},cu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NOT_HOME),this.setOutput(!0)}},Au={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NOT_SCHOOL),this.setOutput(!0)}},gu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Cu={init:function(){this.appendDummyInput().appendField("准备").appendField(new et.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},Lu={init:function(){this.appendDummyInput().appendField("移动圆盘从"),this.appendValueInput("FROM_NUM").setCheck(null).appendField("柱"),this.appendDummyInput().appendField("到"),this.appendValueInput("TO_NUM").setCheck(null).appendField("柱"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},Su={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Du={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Nu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_FIRST_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},fu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NO_RING),this.setOutput(!0)}},Fu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_YES_RING),this.setOutput(!0)}},Pu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NEXT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},vu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_TWO_LEFT),this.setOutput(!0)}},Vu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_DIVIDE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Yu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_GET_HALF_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},yu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},bu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},ku={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Xu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},xu={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("设置待查书总数 N=").appendField(new et.FieldDropdown([["5","5"],["10","10"],["20","20"],["50","50"]]),"NUM"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},Uu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ZERO),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Bu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ADD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},wu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Gu={init:function(){this.setColour(su),this.appendDummyInput().appendField("n"+et.Msg.MIXLY_VALUE2).appendField(new et.FieldTextInput("50"),"NUM"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Hu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_SEQUENCE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Wu={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_DIVIDE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Ku={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("初始化鸡兔同笼问题:"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("有若干只鸡、兔在同一个笼子里。"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("从上面数鸡兔有10个头,"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("从下面数鸡兔有32只脚。"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("问笼中有多少只鸡和多少只兔?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},qu={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("假设兔子的数量为0只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},ju={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("兔子的数量在范围之内"),this.setOutput(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},Qu={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("根据(头数-兔子数)计算出鸡的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},zu={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("计算得到脚的数量正确"),this.setOutput(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},Ju={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("输出鸡、兔的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},Zu={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("假设兔子数量要更多一只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},$u={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("加载路线图"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},tl={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("计算").appendField(new et.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("长度"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},el={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("设置S1为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},il={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField(new et.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("的长度比").appendField(new et.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME2").appendField("短"),this.setOutput(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},nl={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("设置").appendField(new et.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},sl={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("按照Smin移动"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},ol={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("初始化韩信点兵问题:"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("有未知数量的若干士兵。"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("若3人一排列队,多1人;"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("若5人一排列队,多2人;"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("若7人一排列队,多2人;"),this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("问士兵的数量最少是多少人?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},pl={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("初始化士兵为").appendField(new et.FieldTextInput("7"),"NUM").appendField("个"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},_l={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("使士兵").appendField(new et.FieldDropdown([["3","3"],["5","5"],["7","7"]]),"NUM").appendField("人一排列队"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},al={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("剩余").appendField(new et.FieldTextInput("1"),"NUM").appendField("个士兵"),this.setOutput(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},ul={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("增加1个士兵"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},ll={init:function(){this.appendDummyInput().setAlign(et.inputs.Align.LEFT).appendField("输出士兵数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setTooltip(""),this.setHelpUrl("")}},rl={init:function(){this.appendDummyInput().appendField("准备").appendField(new et.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(su),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},Tl={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_GET_CURRENT_LOCATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},dl={init:function(){this.setColour(su),this.appendDummyInput().appendField(et.Msg.MIXLY_MIXPY_ALGORITHM_VOID_PATH),this.setOutput(!0)}},Il={init:function(){this.setColour(su),this.appendDummyInput("").setAlign(et.inputs.Align.RIGHT).appendField(new et.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},hl="#3288dd",El={init:function(){this.setColour(hl),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")}},Ol={init:function(){this.setColour(hl),this.appendValueInput("URL").appendField(et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(et.Msg.blockpy_CONDUCT).appendField(new et.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(et.Msg.blockpy_REQUESTS).appendField(et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Ml={init:function(){this.setColour(hl),this.appendValueInput("URL").appendField(et.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(et.Msg.blockpy_CONDUCT).appendField(new et.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(et.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(et.Msg.blockpy_REQUESTS+et.Msg.OLED_STRING),this.appendDummyInput("").appendField(et.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},Rl={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"],[et.Msg.MIXPY_TEXT_ENCODE,"encoding"]];this.setColour(hl),this.appendDummyInput("").appendField(et.Msg.MIXLY_MICROBIT_JS_GET).appendField(new et.FieldDropdown(t),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)}},ml={init:function(){this.appendValueInput("VAR").appendField(et.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(hl),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]}))}},cl="f0a559",Al={init:function(){this.setColour(cl),this.appendValueInput("FILE").setCheck(String).appendField(et.Msg.MIXLY_CV_IMREAD),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},gl={init:function(){this.setColour(cl),this.appendValueInput("FILE").appendField(et.Msg.OLED_BITMAP),this.appendValueInput("data").setCheck(String).appendField(et.Msg.MIXLY_AipNlp_Topic_Title),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Cl={init:function(){this.setColour(cl),this.appendValueInput("FILE").appendField(et.Msg.MIXLY_CV_IMWRITE),this.appendValueInput("data").setCheck(String).appendField(et.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Ll={init:function(){this.setColour(cl),this.appendValueInput("data").setCheck(Number).appendField(et.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(et.Msg.MIXLY_MILLIS+et.Msg.MIXLY_CV_OR_PRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_CV_WAITKEY_TOOLTIP)}},Sl={init:function(){this.setColour(cl),this.appendDummyInput().appendField(et.Msg.MIXLY_CV_DESTROY_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Dl={init:function(){this.setColour(cl),this.appendValueInput("FILE").appendField(et.Msg.MIXLY_MICROBIT_IMAGE);var t=[[et.Msg.MIXLY_CV_RECT,"rectangle"],[et.Msg.MIXLY_CV_LINE,"line"]];this.appendValueInput("x1").setCheck(Number).appendField(et.Msg.MIXLY_DISPLAY_DRAW).appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendValueInput("x2").setCheck(Number).appendField(") "+et.Msg.MIXLY_CV_DRAWLINE_END+"(x2"),this.appendValueInput("y2").setCheck(Number).appendField(",y2"),this.appendDummyInput().appendField(") "+et.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new et.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(et.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},Nl={init:function(){this.setColour(cl),this.appendValueInput("FILE").appendField(et.Msg.MIXLY_MICROBIT_IMAGE);this.appendValueInput("data").setCheck(String).appendField(et.Msg.MIXLY_CV_DRAWTEXT),this.appendValueInput("x1").setCheck(Number).appendField(et.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendDummyInput().appendField(") "+et.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new et.FieldDropdown([["SIMPLEX","SIMPLEX"],["PLAIN","PLAIN"],["DUPLEX","DUPLEX"],["COMPLEX","COMPLEX"],["COMPLEX_SMALL","COMPLEX_SMALL"],["TRIPLEX","TRIPLEX"],["SCRIPT_SIMPLEX","SCRIPT_SIMPLEX"],["SCRIPT_COMPLEX","SCRIPT_COMPLEX"]]),"font"),this.appendValueInput("size").setCheck(Number).appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput().appendField(") "+et.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new et.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(et.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},fl={init:function(){this.setColour(cl),this.appendValueInput("FILE").setCheck(String).appendField(et.Msg.MIXLY_CV_FACE_CLASSIFIER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Fl={init:function(){this.setColour(cl),this.appendValueInput("FILE").appendField(et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(et.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(et.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(et.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},Pl={init:function(){this.setColour(cl),this.appendValueInput("FILE").appendField(et.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(et.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(et.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(et.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.appendValueInput("x1").setCheck(Number).appendField(et.Msg.MIXLY_CV_FACE_DETECT_RANGE).appendField(et.Msg.blockpy_TUPLE_MIN),this.appendValueInput("y1").setCheck(Number).appendField("×"),this.appendValueInput("x2").setCheck(Number).appendField(et.Msg.blockpy_TUPLE_MAX),this.appendValueInput("y2").setCheck(Number).appendField("×"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},vl=170,Vl={init:function(){this.setColour(vl),this.appendDummyInput("").appendField(et.Msg.blockpy_series_create).appendField(new et.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(et.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.blockpy_series_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Yl={init:function(){this.setColour(vl),this.appendDummyInput("").appendField(et.Msg.blockpy_series_create).appendField(new et.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(et.Msg.blockpy_series_via),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(et.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.blockpy_series_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},yl={init:function(){this.setColour(vl),this.appendDummyInput("").appendField(et.Msg.blockpy_dataframe_create).appendField(new et.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(et.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.blockpy_dataframe_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bl={init:function(){this.setColour(vl);var t=[[et.Msg.DATAFRAME_RAW,"index"],[et.Msg.DATAFRAME_COLUMN,"columns"]];this.appendDummyInput("").appendField(et.Msg.blockpy_dataframe_create).appendField(new et.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(et.Msg.blockpy_series_via),this.appendDummyInput("").appendField(new et.FieldDropdown(t),"COLUMN_RAW"),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(et.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},kl={init:function(){this.setColour(vl),this.appendDummyInput("").appendField(et.Msg.blockpy_dataframe_create).appendField(new et.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(et.Msg.blockpy_series_via),this.appendValueInput("INDEX_COLUMN").setCheck([String,"List"]).appendField(et.Msg.blockpy_dataframe_set_index_column),this.appendValueInput("INDEX_RAW").setCheck([String,"List"]).appendField(et.Msg.blockpy_dataframe_set_index_raw),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Xl={init:function(){this.setColour(vl),this.appendDummyInput("").appendField(new et.FieldTextInput("ser1"),"VAR").appendField(" = [").appendField(new et.FieldTextInput("1,2,3"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_TOOLTIP_SERIES_CREATE_FROM_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xl={init:function(){this.setColour(vl);var t=[[et.Msg.SERIES_INDEX,"index"],[et.Msg.HTML_VALUE,"value"]];this.appendValueInput("SERIES").setCheck("Series"),this.appendDummyInput("").appendField(et.Msg.SERIES_INDEX_VALUE).appendField(new et.FieldDropdown(t),"INDEX_VALUE"),this.setOutput(!0,"List");var e=this;this.setTooltip((function(){var t=e.getFieldValue("INDEX_VALUE");return{index:et.Msg.SERIES_INDEX_TOOLTIP,value:et.Msg.HTML_VALUE_TOOLTIP}[t]}))}},Ul={init:function(){this.setColour(vl),this.setOutput(!0),this.appendValueInput("SER").setCheck("Series"),this.appendValueInput("AT").setCheck(Number).appendField(et.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(et.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(et.Msg.TUPLE_GET_INDEX_TOOLTIP)}},Bl={init:function(){this.setColour(vl),this.appendValueInput("SER").setCheck("Series").appendField(et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wl={init:function(){this.setColour(vl);var t=[[et.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[et.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[et.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[et.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[et.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[et.Msg.COLOUR_RGB_BLUE,"b"],[et.Msg.COLOUR_RGB_GREEN,"g"],[et.Msg.COLOUR_RGB_RED,"r"],[et.Msg.COLOUR_CYAN,"c"],[et.Msg.COLOUR_MAGENTA,"m"],[et.Msg.COLOUR_YELLOW,"y"],[et.Msg.COLOUR_BLACK,"k"],[et.Msg.COLOUR_WHITE,"w"]],i=[[et.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[et.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[et.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[et.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[et.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[et.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[et.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new et.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new et.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gl={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Hl={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Wl={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Kl={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ql={init:function(){this.setColour(vl);var t=[[et.Msg.PYLAB_LABEL_X,"x"],[et.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_SET_LABEL).appendField(new et.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(et.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jl={init:function(){this.setColour(vl),this.appendValueInput("FROM").setCheck(Number).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MIXLY_SPLITBYDOU).appendField(et.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ql={init:function(){this.setColour(vl);var t=[[et.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[et.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(et.Msg.MIXLY_DISPLAY_DRAW).appendField(new et.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:et.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},zl={init:function(){this.setColour(vl);var t=[[et.Msg.COLOUR_RGB_BLUE,"b"],[et.Msg.COLOUR_RGB_GREEN,"g"],[et.Msg.COLOUR_RGB_RED,"r"],[et.Msg.COLOUR_CYAN,"c"],[et.Msg.COLOUR_MAGENTA,"m"],[et.Msg.COLOUR_YELLOW,"y"],[et.Msg.COLOUR_BLACK,"k"],[et.Msg.COLOUR_WHITE,"w"]],e=[[et.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[et.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[et.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[et.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[et.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[et.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[et.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_SCATTER).appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new et.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Jl={init:function(){this.setColour(vl);var t=[[et.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[et.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[et.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[et.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[et.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[et.Msg.COLOUR_RGB_BLUE,"b"],[et.Msg.COLOUR_RGB_GREEN,"g"],[et.Msg.COLOUR_RGB_RED,"r"],[et.Msg.COLOUR_CYAN,"c"],[et.Msg.COLOUR_MAGENTA,"m"],[et.Msg.COLOUR_YELLOW,"y"],[et.Msg.COLOUR_BLACK,"k"],[et.Msg.COLOUR_WHITE,"w"]],i=[[et.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[et.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[et.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[et.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[et.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[et.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[et.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_PLOT_XY).appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new et.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new et.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Zl={init:function(){this.setColour(vl);var t=[[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[et.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_BAR).appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(et.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(et.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new et.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},$l={init:function(){this.setColour(vl);var t=[[et.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[et.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[et.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[et.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[et.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[et.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_PIE).appendField(et.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(et.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(et.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new et.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(et.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new et.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},tr={init:function(){this.setColour(vl),this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_HIST).appendField(et.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},er={init:function(){this.setColour(vl);var t=[[et.Msg.PYLAB_LABEL_X,"x"],[et.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(et.Msg.MIXLY_SETTING).appendField(new et.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_TICKS).appendField(et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},ir={init:function(){var t=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[et.Msg.LANG_MATH_TO_ROUND,"round"],[et.Msg.LANG_MATH_TO_CEIL,"ceil"],[et.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(vl),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(et.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new et.FieldDropdown(t),"OP"),this.setTooltip(et.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},nr={init:function(){this.setColour(vl),this.appendValueInput("VET").setCheck(Number).appendField(et.Msg.mixpy_SUBPLOT).appendField(et.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(et.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(et.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},sr={init:function(){this.setColour(vl),this.appendValueInput("FILENAME").appendField(et.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new et.FieldDropdown([[et.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[et.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(et.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},or={init:function(){this.setColour(vl),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(et.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(et.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new et.FieldDropdown([[et.Msg.DATAFRAME_COLUMN,"column"],[et.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(et.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},pr={init:function(){this.setColour(vl),this.appendValueInput("FILE").setCheck(String).appendField(et.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(et.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},_r={init:function(){this.setColour(vl);var t=[[et.Msg.TEXT_TRIM_LEFT,"right"],[et.Msg.mixpy_PL_TEXT_CENTER,"center"],[et.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[et.Msg.mixpy_PL_TEXT_TOP,"bottom"],[et.Msg.mixpy_PL_TEXT_CENTER,"center"],[et.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(et.Msg.MIXLY_SETTING).appendField(et.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(et.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(et.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(et.Msg.mixpy_PL_TEXT_HOR).appendField(new et.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(et.Msg.mixpy_PL_TEXT_VER).appendField(new et.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PL_TEXT_TOOLTIP)}},ar={init:function(){this.setColour(vl),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(et.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},ur={init:function(){this.setColour(vl),this.appendValueInput("SER").setCheck("Series").appendField(et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},lr={init:function(){this.setColour(vl);var t=[[et.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[et.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[et.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[et.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[et.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[et.Msg.COLOUR_RGB_BLUE,"b"],[et.Msg.COLOUR_RGB_GREEN,"g"],[et.Msg.COLOUR_RGB_RED,"r"],[et.Msg.COLOUR_CYAN,"c"],[et.Msg.COLOUR_MAGENTA,"m"],[et.Msg.COLOUR_YELLOW,"y"],[et.Msg.COLOUR_BLACK,"k"],[et.Msg.COLOUR_WHITE,"w"]],i=[[et.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[et.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[et.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[et.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[et.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[et.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[et.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(et.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new et.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new et.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rr={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Tr={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dr={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ir={init:function(){this.setColour(vl),this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hr={init:function(){this.setColour(vl);var t=[[et.Msg.PYLAB_LABEL_X,"x"],[et.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(et.Msg.blockpy_PYLAB_SET_LABEL).appendField(new et.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(et.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Er={init:function(){this.setColour(vl);var t=[[et.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[et.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(et.Msg.MIXLY_DISPLAY_DRAW).appendField(new et.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:et.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},Or={init:function(){this.setColour(vl);var t=[[et.Msg.COLOUR_RGB_BLUE,"b"],[et.Msg.COLOUR_RGB_GREEN,"g"],[et.Msg.COLOUR_RGB_RED,"r"],[et.Msg.COLOUR_CYAN,"c"],[et.Msg.COLOUR_MAGENTA,"m"],[et.Msg.COLOUR_YELLOW,"y"],[et.Msg.COLOUR_BLACK,"k"],[et.Msg.COLOUR_WHITE,"w"]],e=[[et.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[et.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[et.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[et.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[et.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[et.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[et.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_SCATTER).appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(et.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new et.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Mr={init:function(){this.setColour(vl);var t=[[et.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[et.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[et.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[et.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[et.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[et.Msg.COLOUR_RGB_BLUE,"b"],[et.Msg.COLOUR_RGB_GREEN,"g"],[et.Msg.COLOUR_RGB_RED,"r"],[et.Msg.COLOUR_CYAN,"c"],[et.Msg.COLOUR_MAGENTA,"m"],[et.Msg.COLOUR_YELLOW,"y"],[et.Msg.COLOUR_BLACK,"k"],[et.Msg.COLOUR_WHITE,"w"]],i=[[et.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[et.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[et.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[et.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[et.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[et.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[et.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[et.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[et.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[et.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[et.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_PLOT_XY).appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new et.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(et.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new et.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Rr={init:function(){this.setColour(vl);var t=[[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[et.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_BAR).appendField(et.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(et.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(et.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new et.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(et.Msg.HTML_COLOUR).appendField(new et.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},mr={init:function(){this.setColour(vl);var t=[[et.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[et.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[et.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[et.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[et.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[et.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_PIE).appendField(et.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(et.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(et.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new et.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(et.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new et.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},cr={init:function(){this.setColour(vl),this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_HIST).appendField(et.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(et.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ar={init:function(){this.setColour(vl);var t=[[et.Msg.PYLAB_LABEL_X,"x"],[et.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(et.Msg.MIXLY_SETTING).appendField(new et.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(et.Msg.mixpy_PYLAB_TICKS).appendField(et.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(et.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},gr={init:function(){this.setColour(vl),this.appendValueInput("VET").setCheck(Number).appendField(et.Msg.mixpy_SUBPLOT).appendField(et.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(et.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(et.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Cr={init:function(){this.setColour(vl),this.appendDummyInput("").appendField(et.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(et.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Lr={init:function(){this.setColour(vl);var t=[[et.Msg.TEXT_TRIM_LEFT,"right"],[et.Msg.mixpy_PL_TEXT_CENTER,"center"],[et.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[et.Msg.mixpy_PL_TEXT_TOP,"bottom"],[et.Msg.mixpy_PL_TEXT_CENTER,"center"],[et.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(et.Msg.MIXLY_SETTING).appendField(et.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(et.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(et.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(et.Msg.mixpy_PL_TEXT_HOR).appendField(new et.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(et.Msg.mixpy_PL_TEXT_VER).appendField(new et.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.mixpy_PL_TEXT_TOOLTIP)}},Sr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取维度"),this.setOutput(!0),this.setTooltip("Returns the shape of the array.")}},Dr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("变形"),this.appendValueInput("DIMENSIONS").appendField("后维度为"),this.setOutput(!0),this.setTooltip("Reshapes the array to the specified dimensions.")}},Nr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("把"),this.appendDummyInput().appendField("转换为").appendField(new et.FieldDropdown([["uint8","numpy.uint8"],["int32","numpy.int32"],["float32","numpy.float32"],["float64","numpy.float64"]]),"TYPE"),this.setOutput(!0),this.setTooltip("Converts array to specified type.")}},fr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("展示图像"),this.appendDummyInput().appendField("颜色").appendField(new et.FieldDropdown([["gray","gray"],["viridis","viridis"],["plasma","plasma"],["inferno","inferno"],["magma","magma"],["cividis","cividis"],["hot","hot"],["cool","cool"],["spring","spring"],["summer","summer"],["autumn","autumn"],["winter","winter"],["jet","jet"]]),"COLORMAP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Displays an image with the specified colormap.")}},Fr={init:function(){this.setColour(vl),this.appendValueInput("X").appendField("从数据集"),this.appendValueInput("Y").appendField("获取平均图像,标签"),this.appendValueInput("DIGIT").appendField("为"),this.setOutput(!0),this.setTooltip("Computes the mean of X where y equals the specified digit.")}},Pr={init:function(){this.setColour(vl),this.appendValueInput("IMAGE").appendField("获取模板匹配结果,图片:"),this.appendValueInput("TEMPLATES").appendField("模板:"),this.setOutput(!0),this.setTooltip("Finds the index of the template that minimizes the sum of absolute differences with the image.")}},vr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取平均值"),this.appendDummyInput().appendField("沿着axis").appendField(new et.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the mean of the array along the specified axis.")}},Vr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取标准差"),this.appendDummyInput().appendField("沿着axis").appendField(new et.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the standard deviation of the array along the specified axis.")}},Yr={init:function(){this.setColour(vl),this.appendValueInput("DF").appendField("丢弃缺省值"),this.setOutput(!0),this.setTooltip("Drops rows with NaN values from the dataframe.")}},yr={init:function(){this.setColour(vl),this.appendValueInput("DATAFRAME").appendField("从数据集"),this.appendValueInput("COLUMNS").appendField("中删除列"),this.appendDummyInput().appendField("沿着axis").appendField(new et.FieldDropdown([["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Drops columns from dataframe.")}},br={init:function(){this.setColour(vl),this.appendValueInput("NUM").appendField("生成单位行向量"),this.setOutput(!0),this.setTooltip("Creates an array of ones with the specified length.")}},kr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY1").appendField("列拼接:数组1"),this.appendValueInput("ARRAY2").appendField("数组2"),this.setOutput(!0),this.setTooltip("Concatenates two arrays along the second axis using numpy.c_.")}},Xr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取行列式"),this.setOutput(!0),this.setTooltip("Computes the determinant of an array using numpy.linalg.det.")}},xr={init:function(){this.setColour(vl),this.appendValueInput("MATRIX").appendField("获取转置"),this.setOutput(!0),this.setTooltip("Computes the transpose of the given matrix.")}},Ur={init:function(){this.setColour(vl),this.appendValueInput("MATRIX1"),this.appendValueInput("MATRIX2").appendField("@"),this.setOutput(!0),this.setTooltip("Multiplies two matrices.")}},Br={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取逆矩阵"),this.setOutput(!0),this.setTooltip("Computes the inverse of the given matrix using numpy.linalg.inv.")}},wr={init:function(){this.setColour(vl),this.appendValueInput("DATAFRAME").appendField("获取中位数"),this.setOutput(!0),this.setTooltip("Computes the median of the given dataframe.")}},Gr={init:function(){this.setColour(vl),this.appendValueInput("DATAFRAME").appendField("填充缺失值"),this.appendValueInput("VALUE").appendField("填充值"),this.appendDummyInput().appendField("是否修改原数据").appendField(new et.FieldDropdown([["True","True"],["False","False"]]),"INPLACE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Fills NaN values in the dataframe with the specified value.")}},Hr={init:function(){this.setColour(vl),this.appendValueInput("DATAFRAME").appendField("获取DataFrame信息"),this.setOutput(!0),this.setTooltip("Displays information about the DataFrame.")}},Wr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取最小值"),this.appendDummyInput().appendField("沿着axis").appendField(new et.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the minimum value along the specified axis.")}},Kr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取最大值"),this.appendDummyInput().appendField("沿着axis").appendField(new et.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the maximum value along the specified axis.")}},qr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取数组大小"),this.setOutput(!0),this.setTooltip("Returns the size of the array.")}},jr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY1").appendField("点乘数组1"),this.appendValueInput("ARRAY2").appendField("点乘数组2"),this.setOutput(!0),this.setTooltip("Returns the dot product of two arrays.")}},Qr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取平方数组"),this.setOutput(!0),this.setTooltip("Returns the element-wise square of the array.")}},zr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("获取数组元素和"),this.setOutput(!0),this.setTooltip("Returns the sum of the array.")}},Jr={init:function(){this.setColour(vl),this.appendValueInput("SIZE").appendField("生成随机数组"),this.setOutput(!0),this.setTooltip("Returns a random array of the specified size.")}},Zr={init:function(){this.setColour(vl),this.appendValueInput("ARRAY").appendField("Python求和"),this.setOutput(!0),this.setTooltip("Returns the sum of the iterable.")}},$r=80,tT={init:function(){this.setColour($r),this.appendDummyInput("").appendField(new et.FieldLabel(et.Msg.DS_CREATE_LINKEDLIST_NEW)),this.appendDummyInput("").appendField(new et.FieldLabel(et.Msg.DS_CREATE_LINKEDLIST_HEAD)).appendField(new et.FieldTextInput("head"),"VAR"),this.appendDummyInput("").appendField(new et.FieldLabel(et.Msg.DS_CREATE_LINKEDLIST_TYPE)).appendField(new et.FieldTextInput("tag"),"TYPE"),this.appendDummyInput().appendField(et.Msg.DS_CREATE_LINKEDLIST_ATTRIBUTE),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new et.icons.MutatorIcon(["ds_create_linkedlist_item"],this)),this.setTooltip(et.Msg.DS_CREATE_LINKEDLIST_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("ds_create_linkedlist_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;ne?t[e]:"name"),"KEY"+e).appendField("=")},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},eT={init:function(){this.setColour($r),this.appendDummyInput().appendField(et.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(et.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TOOLTIP),this.contextMenu=!1}},iT={init:function(){this.setColour($r),this.appendDummyInput().appendField(et.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.DS_CREATE_LINKEDLIST_ITEM_TOOLTIP),this.contextMenu=!1}},nT={init:function(){this.setColour($r),this.appendDummyInput("").appendField(et.Msg.DS_CREATE_NODE_USE).appendField(new et.FieldTextInput("tag"),"TYPE"),this.appendDummyInput("").appendField(et.Msg.DS_CREATE_NODE_NEW),this.appendValueInput("NODE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_CREATE_NODE_TOOLTIP)}},sT={init:function(){this.setColour($r),this.appendDummyInput("").appendField(et.Msg.DS_GET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(et.Msg.MIXLY_AIP_ATTR).appendField(new et.FieldTextInput("name"),"TYPE"),this.appendDummyInput("").appendField(et.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_GET_NODE_ATTR_TOOLTIP)}},oT={init:function(){this.setColour($r),this.appendDummyInput("").appendField(et.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(et.Msg.MIXLY_AIP_ATTR).appendField(new et.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(et.Msg.DS_SET_NODE_ATTR_SET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_SET_NODE_ATTR_TOOLTIP)}},pT={init:function(){this.setColour($r),this.appendValueInput("NODE").appendField(et.Msg.DS_ADD_NODE_HEAD_NODE);var t=[[et.Msg.DS_ADD_NODE_BEFORE,"before"],[et.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(et.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(et.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE3").appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_ADD_NODE_TOOLTIP)}},_T={init:function(){this.setColour($r),this.appendValueInput("NODE").appendField(et.Msg.DS_ADD_NODE_HEAD_NODE);var t=[[et.Msg.DS_ADD_NODE_BEFORE,"before"],[et.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(et.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(et.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE).appendField(new et.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_AS),this.appendDummyInput("").appendField(et.Msg.DS_ADD_NODE_ATTR),this.appendValueInput("NODE3").appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_ADD_NODE_TOOLTIP)}},aT={init:function(){this.setColour($r),this.appendValueInput("NODE").appendField(et.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(et.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(et.Msg.DS_DEL_NODE_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_DEL_NODE_TOOLTIP)}},uT={init:function(){this.setColour($r),this.appendValueInput("NODE").appendField(et.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(et.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(et.Msg.DS_DEL_NODE_ATTR).appendField(new et.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_AS),this.appendDummyInput("").appendField(et.Msg.DS_ADD_NODE_ATTR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_DEL_NODE_TOOLTIP)}},lT={init:function(){this.setColour($r),this.appendValueInput("NODE").appendField(et.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(et.Msg.DS_REVERSE_LINKEDLIST),this.appendValueInput("NODE2").appendField(et.Msg.DS_REVERSE_LINKEDLIST_NEW_HEAD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.DS_DEL_NODE_TOOLTIP)}},rT="#777777",TT={init:function(){this.setColour(rT),this.appendDummyInput("").appendField("from ").appendField(new et.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new et.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dT={init:function(){this.setColour(rT),this.appendDummyInput("").appendField("import ").appendField(new et.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IT={init:function(){this.setColour(rT),this.appendDummyInput("").appendField(new et.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new et.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("items",this.itemCount_);for(var e=0;ee?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")}},qT={init:function(){this.setColour(BT),this.appendDummyInput().appendField(et.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(et.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},jT={init:function(){this.setColour(BT),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}},QT={init:function(){this.setColour(BT),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}},zT={init:function(){this.setColour(BT),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)}},JT={init:function(){this.setColour(BT),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)}},ZT={init:function(){this.setColour(BT),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)}},$T={init:function(){this.setColour(BT),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(et.Msg.MSG.stop+et.Msg.MIXLY_EMQX_SUBSCRIBE).appendField(et.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},td={init:function(){this.setColour(BT),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(et.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ed={init:function(){this.setColour(BT),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(et.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},id={init:function(){this.setColour(BT),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(et.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},nd={init:function(){this.setColour(BT),this.appendDummyInput().appendField(et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(et.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},sd={init:function(){this.setColour(BT),this.appendDummyInput().appendField(et.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(et.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},od={init:function(){this.setColour(BT),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},pd={init:function(){this.setColour(BT),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},_d={init:function(){this.setColour(BT),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)}},ad={init:function(){this.setColour(BT),this.appendDummyInput().appendField("MixIO").appendField(et.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(et.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},ud={init:function(){this.setColour(BT),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)}},ld={init:function(){this.setColour(BT),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)}},rd={init:function(){this.VISITOR_ID=it.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(BT),this.appendDummyInput("").appendField(this.newQuote_(!0)).appendField(new et.FieldTextInput(this.visitorId),"VISITOR_ID").appendField(this.newQuote_(!1)),this.setOutput(!0,null)},onchange:function(){const t=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==t&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")},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,'"')}},Td={init:function(){this.VISITOR_ID=it.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(BT),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")}},dd={init:function(){this.setColour(BT),this.appendDummyInput().appendField("MixIO").appendField(et.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},Id={init:function(){this.setColour(BT),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)}},hd={init:function(){this.setColour(BT),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)}},Ed={init:function(){this.setColour(BT),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.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)}},Od={init:function(){this.setColour(BT),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)}},Md=wT,Rd=GT,md=HT,cd=KT,Ad=230,gd={init:function(){this.setColour(Ad),this.appendDummyInput("").appendField(new et.FieldDropdown(it.Profile.default.digital_write),"PIN"),this.setOutput(!0)}},Cd={init:function(){this.setColour(Ad),this.appendDummyInput("").appendField(new et.FieldDropdown(it.Profile.default.digital_read),"PIN"),this.setOutput(!0)}},Ld={init:function(){this.setColour(Ad),this.appendDummyInput("").appendField(new et.FieldDropdown(it.Profile.default.analog_write),"PIN"),this.setOutput(!0)}},Sd={init:function(){this.setColour(Ad),this.appendDummyInput("").appendField(new et.FieldDropdown(it.Profile.default.analog_read),"PIN"),this.setOutput(!0)}},Dd={init:function(){this.setColour(40),this.appendDummyInput("").appendField(new et.FieldLabel(et.Msg.MIXPY_SERIAL_OPEN)).appendField(new et.FieldTextInput("ser"),"SER"),this.appendDummyInput().appendField(et.Msg.MIXLY_SERIAL_BEGIN).appendField(new et.FieldDropdown([["115200","115200"],["256000","256000"],["128000","128000"],["57600","57600"],["56000","56000"],["43000","43000"],["38400","38400"],["28800","28800"],["19200","19200"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["600","600"],["300","300"],["110","110"]]),"BPS"),this.appendValueInput("VAR").appendField(et.Msg.MIXPY_SERIAL_OPEN_TIMEOUT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(et.Msg.MIXPY_SERIAL_OPEN_TOOLTIP)}},Nd={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").appendField(et.Msg.MIXPY_SERIAL_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(et.Msg.MIXPY_SERIAL_WRITE_TOOLTIP)}},fd={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendValueInput("VAR").setCheck(Number).appendField(et.Msg.MIXPY_SERIAL_READ),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(et.Msg.MIXPY_SERIAL_READ_TOOLTIP)}},Fd={init:function(){this.setColour(40),this.appendValueInput("SER"),this.appendDummyInput().appendField(et.Msg.MIXPY_SERIAL_CLOSE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(et.Msg.MIXPY_SERIAL_CLOSE_TOOLTIP)}},Pd=80,vd={init:function(){this.appendDummyInput().appendField(et.Msg.SKLEARN_CLASSIFICATION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_redundant").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_REDUNDANT_FEATURES),this.appendValueInput("n_repeated").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_REPEATED_FEATURES),this.appendValueInput("n_classes").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_CLASSES),this.appendValueInput("n_clusters_per_class").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_CLUSTERS_PER_CLASSES),this.appendValueInput("random_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Vd={init:function(){this.appendDummyInput().appendField(et.Msg.SKLEARN_REGRESSION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_targets").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_LABELS),this.appendValueInput("bias").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.DEVIATION),this.appendValueInput("noise").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NOISE),this.appendValueInput("random_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Yd={init:function(){this.appendDummyInput().appendField(et.Msg.SKLEARN_CLUSTERING_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_FEATURES),this.appendValueInput("centers").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_CLUSTERS),this.appendValueInput("cluster_std").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.STANDARD_DEVIATION_OF_CLUSTER),this.appendValueInput("center_box").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.CLUSTER_BOUNDING_BOX),this.appendValueInput("shuffle").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SHUFFLE_SAMPLES),this.appendValueInput("random_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},yd={init:function(){var t=[[et.Msg.SKLEARN_LOAD_IRIS,"load_iris"],[et.Msg.SKLEARN_LOAD_BOSTON,"load_boston"],[et.Msg.SKLEARN_LOAD_DIABETES,"load_diabetes"],[et.Msg.SKLEARN_LOAD_BREAST_CANCER,"load_breast_cancer"],[et.Msg.SKLEARN_LOAD_LINNERUD,"load_linnerud"],[et.Msg.SKLEARN_LOAD_DIGITS,"load_digits"]];this.appendDummyInput().appendField("sklearn "+et.Msg.LOAD).appendField(new et.FieldDropdown(t),"type").appendField(new et.FieldTextInput("iris"),"name"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")},getVars:function(){return[this.getFieldValue("name")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("name"))&&this.setTitleValue(e,"name")}},bd={init:function(){this.appendValueInput("name").setCheck(null).appendField("sklearn "+et.Msg.DATA_SET),this.appendDummyInput().setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MIXLY_GET).appendField(new et.FieldDropdown([[et.Msg.EIGENVALUES,"data"],[et.Msg.LABEL_VALUE,"target"],[et.Msg.FEATURE,"feature_names"],[et.Msg.mixpy_PYLAB_TICKS_TAG,"target_names"]]),"type"),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},kd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.LABEL_VALUE),this.appendValueInput("test_size").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Xd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.EIGENVALUES),this.appendValueInput("test_size").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},xd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_LINEARREGRESSION_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("fit_intercept").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("n_jobs").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Ud={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_RIDGE_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("alpha").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_REGULA_INTENSITY),this.appendValueInput("fit_intercept").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("max_iter").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Bd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_DECISIONTREE_INIT).appendField(new et.FieldDropdown([[et.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"DecisionTreeClassifier"],[et.Msg.SKLEARN_REGRESSION_ALGORITHM,"DecisionTreeRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("max_depth").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("random_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},wd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_RANDOMFOREST_INIT).appendField(new et.FieldDropdown([[et.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"RandomForestClassifier"],[et.Msg.SKLEARN_REGRESSION_ALGORITHM,"RandomForestRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("n_estimators").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_TREES),this.appendValueInput("max_depth").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("n_jobs").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_THREADS),this.appendValueInput("random_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Gd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_KNN_INIT).appendField(new et.FieldDropdown([[et.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"KNeighborsClassifier"],[et.Msg.SKLEARN_REGRESSION_ALGORITHM,"KNeighborsRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("K").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField("K"),this.appendValueInput("n_jobs").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Hd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_GAUSSINNB_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Wd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_KMEANS_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("n_clusters").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.NUMBER_OF_CLUSTERS_JUST),this.appendValueInput("max_iter").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.RANDOM_SEED),this.appendValueInput("n_jobs").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Kd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},qd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},jd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.MODEL_PRODICTION),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Qd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},zd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Jd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_GENERALIZED_LINEAR_REGRESSION),this.appendValueInput("model_name").setAlign(et.inputs.Align.RIGHT).setCheck(null).appendField(et.Msg.MODEL_NAME),this.appendDummyInput().setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MIXLY_GET).appendField(new et.FieldDropdown([[et.Msg.SKLEARN_COEF,"coef_"],[et.Msg.SKLEARN_INTERCEPT,"intercept_"]]),"type"),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},Zd={init:function(){this.appendDummyInput().appendField("sklearn "+et.Msg.SKLEARN_CLUSTERING),this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MODEL_NAME),this.appendDummyInput().appendField(et.Msg.MIXLY_GET).appendField(new et.FieldDropdown([[et.Msg.SKLEARN_CLUSTER_CENTER,"cluster_centers_"],[et.Msg.SKLEARN_LABELS_AFTER_CLUSTERING,"labels_"],[et.Msg.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES,"inertia_"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},$d={init:function(){this.appendValueInput("model_name").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField("sklearn").appendField(new et.FieldDropdown([[et.Msg.SKLEARN_SAVE_MODEL,"dump"],[et.Msg.SKLEARN_LOAD_MODEL,"load"]]),"type").appendField(" "+et.Msg.MODEL_NAME),this.appendValueInput("address").setCheck(null).setAlign(et.inputs.Align.RIGHT).appendField(et.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(Pd),this.setTooltip(""),this.setHelpUrl("")}},tI=120,eI={init:function(){this.setColour(tI),this.appendValueInput("DELAY_TIME",Number).appendField(et.Msg.MIXLY_DELAY+"("+et.Msg.MIXLY_MILLIS+")").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},iI={init:function(){this.setColour(tI),this.appendDummyInput().appendField(et.Msg.blockpy_time_time),this.setOutput(!0,Number),this.setTooltip(et.Msg.MIXLY_TOOLTIP_CONTROL_MILLIS)}},nI={init:function(){this.setColour(tI),this.appendDummyInput("").appendField(et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME),this.appendDummyInput().appendField(new et.FieldDropdown([[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_ALL,"all"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_YEAR,"0"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MONTH,"1"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DATE,"2"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_HOUR,"3"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MINUTE,"4"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_SECOND,"5"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INWEEK,"6"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INYEAR,"7"],[et.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DST,"8"]]),"op"),this.setOutput(!0),this.setInputsInline(!0)}},sI={init:function(){this.setColour(tI),this.appendValueInput("STATUS_CODE",Number).appendField(et.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},oI={init:function(){this.setColour(tI),this.appendDummyInput().appendField(et.Msg.MIXLY_MICROBIT_Reset_micro),this.setPreviousStatement(!0)}},pI={init:function(){this.setColour(tI),this.appendValueInput("TIME").setCheck(Number).setAlign(et.inputs.Align.RIGHT).appendField("MsTimer2").appendField(et.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(et.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_I={init:function(){this.setColour(tI),this.appendDummyInput().appendField("MsTimer2").appendField(et.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0)}},aI={init:function(){this.setColour(tI),this.appendDummyInput().appendField("MsTimer2").appendField(et.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uI={init:function(){this.setColour(tI),this.appendValueInput("DELAY_TIME",Number).appendField(et.Msg.MIXLY_DELAY).setCheck(Number),this.appendDummyInput().appendField(et.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},lI=180,rI={init:function(){this.setColour(lI),this.appendDummyInput("").appendField(et.Msg.blockpy_turtle_create).appendField(new et.FieldTextInput("tina"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.blockpy_turtle_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},TI={init:function(){this.setColour(lI),this.appendDummyInput().appendField(et.Msg.blockpy_TURTLE_DONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dI={init:function(){this.setColour(lI),this.appendDummyInput().appendField(et.Msg.MIXLY_PYTHON_TURTLE_EXITONCLICK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},II={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.blockpy_forward,"forward"],[et.Msg.blockpy_backward,"backward"]];this.setColour(lI),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_MICROBIT_JS_MOVE_BY).appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.MIXLY_MICROBIT_JS_MOVE_BY_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:et.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:et.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))}},hI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.blockpy_left,"left"],[et.Msg.blockpy_right,"right"]];this.setColour(lI),this.appendValueInput("VAR").appendField(et.Msg.blockpy_turtle_rotate).appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{left:et.Msg.MIXLY_TOOLTIP_TURTEL_LEFT,right:et.Msg.MIXLY_TOOLTIP_TURTEL_RIGHT}[t]}))}},EI={init:function(){this.setColour(lI),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(et.Msg.blockpy_setheading),this.appendDummyInput().appendField(et.Msg.blockpy_setheading_degree),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},OI={init:function(){this.setColour(lI),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(et.Msg.MIXLY_TURTLE_SCREEN_DELAY),this.appendDummyInput().appendField(et.Msg.MIXLY_MILLIS),this.setTooltip(et.Msg.MIXLY_TOOLTIP_TURTEL_SCREEN_DELAY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},MI={init:function(){this.setColour(lI),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(et.Msg.blockpy_turtle_goto),this.appendValueInput("val").setCheck(Number).appendField(et.Msg.blockpy_turtle_goto_y),this.appendDummyInput().appendField(et.Msg.blockpy_turtle_goto_position),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},RI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.PYLAB_LABEL_X,"x"],[et.Msg.PYLAB_LABEL_Y,"y"]];this.setColour(lI),this.appendValueInput("VAR").appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.MIXLY_MIXPY_TURTLE_SETXY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_MIXPY_TURTLE_SETXY_TOOLTIP)}},mI={init:function(){this.setColour(lI);var t=[[et.Msg.TURTLE_POS,"pos"],[et.Msg.TURTLE_SHAPE,"shape"],[et.Msg.TURTLE_HEADING,"heading"],[et.Msg.MIXLY_MIXPY_TURTLE_WIDTH,"width"],[et.Msg.MIXLY_TURTEL_GET_SHAPESIZE,"shapesize"],[et.Msg.MIXLY_SPEED,"speed"]];this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(et.Msg.TURTLE_POS_SHAPE).appendField(new et.FieldDropdown(t),"DIR");var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{pos:et.Msg.MIXLY_TOOLTIP_TURTEL_POS,shape:et.Msg.MIXLY_TOOLTIP_TURTEL_SHAPE,heading:et.Msg.MIXLY_TOOLTIP_TURTEL_HEADING,width:et.Msg.MIXLY_TOOLTIP_TURTEL_WIDTH,speed:et.Msg.MIXLY_TOOLTIP_TURTEL_GET_SPEED,shapesize:et.Msg.MIXLY_TURTEL_GET_SHAPESIZE_TOOLTIP}[t]})),this.setOutput(!0),this.setInputsInline(!0)}},cI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[et.Msg.blockpy_turtle_reset,"reset"],[et.Msg.blockpy_turtle_home,"home"]];this.setColour(lI),this.appendDummyInput("").appendField(new et.FieldDropdown(t),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);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]}))}},AI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.blockpy_turtle_penup,"penup"],[et.Msg.blockpy_turtle_pendown,"pendown"]];this.setColour(lI),this.appendDummyInput("").appendField(new et.FieldDropdown(t),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{penup:et.Msg.MIXLY_TOOLTIP_TURTEL_PENUP,pendown:et.Msg.MIXLY_TOOLTIP_TURTEL_PENDOWN}[t]}))}},gI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.blockpy_turtle_beginfill,"begin"],[et.Msg.blockpy_turtle_endfill,"end"]];this.setColour(lI),this.appendDummyInput("").appendField(new et.FieldDropdown(t),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{begin:et.Msg.MIXLY_TOOLTIP_TURTEL_BEGINFILL,end:et.Msg.MIXLY_TOOLTIP_TURTEL_ENDFILL}[t]}))}},CI={init:function(){this.appendDummyInput("").appendField(new et.FieldTextInput("tina"),"TUR");var t=[[et.Msg.blockpy_turtle_size,"pensize"],[et.Msg.MIXLY_SPEED,"speed"]];this.setColour(lI),this.appendValueInput("VAR").appendField(et.Msg.blockpy_turtle_set).appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.blockpy_turtle_set_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{pensize:et.Msg.MIXLY_TOOLTIP_TURTEL_SIZE,speed:et.Msg.MIXLY_TOOLTIP_TURTEL_SPEED}[t]}))}},LI={init:function(){this.setColour(lI),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(et.Msg.blockpy_turtle_set_size),this.setTooltip(et.Msg.MIXLY_TOOLTIP_TURTEL_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},SI={init:function(){this.setColour(lI),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(et.Msg.blockpy_turtle_set_speed),this.setTooltip(et.Msg.MIXLY_TOOLTIP_TURTEL_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},DI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.blockpy_turtle_circle,"circle"],[et.Msg.blockpy_turtle_dot,"dot"]];this.setColour(lI),this.appendValueInput("VAR").appendField(et.Msg.blockpy_turtle_draw).appendField(new et.FieldDropdown(t),"DIR").appendField(et.Msg.blockpy_turtle_radius),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{circle:et.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE,dot:et.Msg.MIXLY_TOOLTIP_TURTEL_DOT}[t]}))}},NI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(et.Msg.blockpy_turtle_radius),this.appendValueInput("data").setCheck(Number).appendField(et.Msg.blockpy_turtle_angle),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE)}},fI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.blockpy_turtle_hide,"hideturtle"],[et.Msg.blockpy_turtle_show,"showturtle"]];this.setColour(lI),this.appendDummyInput("").appendField(new et.FieldDropdown(t),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{hideturtle:et.Msg.MIXLY_TOOLTIP_TURTEL_HIDE,showturtle:et.Msg.MIXLY_TOOLTIP_TURTEL_SHOW}[t]}))}},FI={init:function(){this.setColour(lI),this.appendDummyInput().appendField(et.Msg.blockpy_turtle_bgcolor).appendField(new et.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},PI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendDummyInput().appendField(et.Msg.blockpy_turtle_pencolor).appendField(new et.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendDummyInput().appendField(et.Msg.blockpy_turtle_fillcolor).appendField(new et.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},VI={init:function(){this.setColour(lI),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(et.Msg.TURTLE_CLONE),this.setTooltip(et.Msg.TURTLE_CLONE_TOOLTIP),this.setOutput(!0)}},YI={init:function(){this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_bgcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},yI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_pencolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},kI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendDummyInput().appendField(et.Msg.blockpy_turtle_pencolor).appendField(new et.FieldColour("#ff0000"),"FIELDNAME"),this.appendDummyInput().appendField(et.Msg.blockpy_turtle_fillcolor).appendField(new et.FieldColour("#ff0000"),"FIELDNAME2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},XI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR1").setCheck(String).appendField(et.Msg.blockpy_turtle_pencolor),this.appendValueInput("VAR2").setCheck(String).appendField(et.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xI={init:function(){this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_bgcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_pencolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},BI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_fillcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wI={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var t=[[et.Msg.blockpy_turtle_shape_arrow,"arrow"],[et.Msg.blockpy_turtle_shape_turtle,"turtle"],[et.Msg.blockpy_turtle_shape_circle,"circle"],[et.Msg.blockpy_turtle_shape_square,"square"],[et.Msg.blockpy_turtle_shape_triangle,"triangle"],[et.Msg.blockpy_turtle_shape_classic,"classic"]];this.setColour(lI),this.appendDummyInput("").appendField(et.Msg.blockpy_turtle_shape).appendField(new et.FieldDropdown(t),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.TURTLE_SHAPE_TOOLTIP)}},GI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTEL_SHAPESIZE),this.appendValueInput("WID").setCheck(Number).appendField(et.Msg.MIXLY_TURTEL_SHAPESIZE_WID),this.appendValueInput("LEN").setCheck(Number).appendField(et.Msg.MIXLY_TURTEL_SHAPESIZE_LEN),this.appendValueInput("OUTLINE").setCheck(Number).appendField(et.Msg.MIXLY_TURTEL_SHAPESIZE_OUTLINE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_TOOLTIP_SHAPESIZE)}},HI={init:function(){this.appendDummyInput("").appendField(et.Msg.MIXLY_MIXPY_TURTLE_NUMINPUT),this.setColour(lI),this.appendValueInput("TITLE").setCheck(String).appendField(et.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(et.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.appendValueInput("DEFAULT").setCheck(Number).appendField(et.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("MIN").setCheck(Number).appendField(et.Msg.MATH_ONLIST_OPERATOR_MIN),this.appendValueInput("MAX").setCheck(Number).appendField(et.Msg.MATH_ONLIST_OPERATOR_MAX),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(et.Msg.TURTLE_NUMINPUT_TOOLTIP)}},WI={init:function(){this.appendDummyInput("").appendField(et.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT),this.setColour(lI),this.appendValueInput("TITLE").setCheck(String).appendField(et.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(et.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(et.Msg.TURTLE_TEXTINPUT_TOOLTIP)}},KI={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_write),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.TURTLE_WRITE_TOOLTIP)}},qI={init:function(){var t=[[et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],e=[[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],i=[[et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"],[et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD_ITALIC,'bold","italic']];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new et.FieldDropdown(t),"MOVE"),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new et.FieldDropdown(e),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new et.FieldDropdown(i),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.TURTLE_WRITE_TOOLTIP)}},jI={init:function(){var t=[[et.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[et.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],e=[[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[et.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],i=[[et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"]];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(lI),this.appendValueInput("VAR").setCheck(String).appendField(et.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new et.FieldDropdown(t),"MOVE"),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new et.FieldDropdown(e),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new et.FieldDropdown(i),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.TURTLE_WRITE_TOOLTIP)}},QI={init:function(){this.setColour(lI),this.appendDummyInput("").setAlign(et.inputs.Align.RIGHT).appendField(new et.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},zI={init:function(){this.setColour(lI),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTEL_GETSCREEN).appendField(new et.FieldTextInput("screen"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(et.Msg.MIXLY_TURTEL_GETSCREEN_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){et.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},JI={init:function(){this.setColour(lI),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_TURTEL_EVENT_ONKEY),this.appendValueInput("callback").appendField(et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},ZI={init:function(){this.setColour(lI),this.appendValueInput("TUR"),this.appendDummyInput("").appendField(et.Msg.MIXLY_TURTEL_EVENT_ONCLICK),this.appendValueInput("callback").appendField(et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_TURTEL_EVENT_ONCLICK_TOOLTIP)}},$I={init:function(){this.setColour(lI),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(et.Msg.MIXLY_TURTEL_EVENT_ONTIMER),this.appendDummyInput("").appendField(et.Msg.MIXLY_mSecond),this.appendValueInput("callback").appendField(et.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(et.Msg.MIXLY_TURTEL_EVENT_ONTIMER_TOOLTIP)}},th={init:function(){this.setColour(lI),this.appendValueInput("TUR"),this.appendDummyInput().appendField(et.Msg.MIXLY_TURTEL_SCREEN_LISTEN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eh={init:function(){this.setColour(lI),this.appendValueInput("TUR"),this.appendValueInput("FILE").setCheck(String).appendField(et.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(et.Msg.mixpy_TURTLE_SAVEFIG_TOOLTIP)}},ih=function(t,e){var i=this.getFieldValue("TYPE");return e.definitions_.import_FileDialog="import FileDialog",["FileDialog."+i+"()",e.ORDER_ATOMIC]},nh=function(t,e){var i=this.getFieldValue("CTYPE");return e.definitions_.import_aip="import aip",e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+" = aip."+i+"("+e.valueToCode(this,"API_KEY",e.ORDER_ATOMIC)+", "+e.valueToCode(this,"SECRET_KEY",e.ORDER_ATOMIC)+")\n"},sh=function(t,e){return e.definitions_.import_aip="import aip",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".synthesis("+e.valueToCode(this,"STR",e.ORDER_ATOMIC)+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},oh=function(t,e){return e.definitions_.import_aip="import aip",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".asr("+(e.valueToCode(this,"FILE",e.ORDER_ATOMIC)||'""')+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},ph=function(t,e){e.definitions_.import_aip="import aip";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return[i+"."+e.valueToCode(this,"FUNC",e.ORDER_ATOMIC)+"("+n+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},_h=function(t,e){return e.definitions_.import_aip="import aip",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".match("+e.valueToCode(this,"VAR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"VAR2",e.ORDER_ATOMIC)+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},ah=function(t,e){e.definitions_.import_aip="import aip";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"ADDR",e.ORDER_ATOMIC);return[i+"."+e.valueToCode(this,"FUNC",e.ORDER_ATOMIC)+"("+n+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},uh=function(t,e){e.definitions_.import_aip="import aip";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"STR",e.ORDER_ATOMIC);return[i+"."+e.valueToCode(this,"FUNC",e.ORDER_ATOMIC)+"("+n+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},lh=function(t,e){e.definitions_.import_aip="import aip";var i=e.valueToCode(this,"SUB",e.ORDER_ATOMIC),n=e.valueToCode(this,"STR1",e.ORDER_ATOMIC),s=e.valueToCode(this,"STR2",e.ORDER_ATOMIC);return[i+"."+e.valueToCode(this,"FUNC",e.ORDER_ATOMIC)+"("+n+","+s+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},rh=function(t,e){return e.definitions_.import_aip="import aip",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".topic("+e.valueToCode(this,"STR1",e.ORDER_ATOMIC)+","+e.valueToCode(this,"STR2",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Th=function(t,e){return e.definitions_.import_aip="import aip",[e.valueToCode(this,"SUB",e.ORDER_ATOMIC)+".newsSummary("+e.valueToCode(this,"STR",e.ORDER_ATOMIC)+","+e.valueToCode(this,"LEN",e.ORDER_ATOMIC)+", options="+(e.valueToCode(this,"ATTR",e.ORDER_ATOMIC)||"{}")+")",e.ORDER_ATOMIC]},dh=function(t,e){return[this.getFieldValue("TYPE"),e.ORDER_ATOMIC]},Ih=function(t,e){return[this.getFieldValue("TYPE"),e.ORDER_ATOMIC]},hh=function(t,e){return[this.getFieldValue("TYPE"),e.ORDER_ATOMIC]},Eh=function(t,e){return[this.getFieldValue("TYPE"),e.ORDER_ATOMIC]},Oh=function(t,e){return e.definitions_.import_audio="import audio","audio.audio_record("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+","+(e.valueToCode(this,"TIME",e.ORDER_ATOMIC)||"0")+")\n"},Mh=function(t,e){return e.definitions_.import_audio="import cam","cam.photo_capture("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||'""')+","+(e.valueToCode(this,"BUT",e.ORDER_ATOMIC)||'""')+")\n"},Rh=function(t,e){var i=e.valueToCode(this,"AI",e.ORDER_ASSIGNMENT)||"0",n=this.getFieldValue("CTYPE");if("Image"==n)var s=i+'["result"][0]["keyword"]';if("Speech"==n)s=i+'["result"][0]';if("Face"==n||"OcrSimilarity"==n)s=i+'["score"]';if("Ocr"==n)s=i+'["words_result"]';return[s,e.ORDER_ATOMIC]},mh=function(t,e){e.definitions_.import_sprite="import sprite";return"position = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('map_xuexiao')\n\nhouse = [ sprite.Sprite('mark', 150, 380),\n sprite.Sprite('School', 115, 195),\n sprite.Sprite('House25', 264, 67),\n sprite.Sprite('House36', 320, 200),\n sprite.Sprite('House47', 290, 371),\n sprite.Sprite('House25', 479, 233),\n sprite.Sprite('House36', 674, 96),\n sprite.Sprite('House47', 642, 318)\n]\nfor i in house:\n i.hide()\n","g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,1,1,0,0], [0,0,1,0,0,1,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('map_xuexiao')\n\nhouse = [ sprite.Sprite('mark', 150, 380),\n sprite.Sprite('School', 115, 195),\n sprite.Sprite('House25', 264, 67),\n sprite.Sprite('House36', 320, 200),\n sprite.Sprite('House47', 290, 371),\n sprite.Sprite('House25', 479, 233),\n sprite.Sprite('House36', 674, 96),\n sprite.Sprite('House47', 642, 318)\n]\nfor i in house:\n i.hide()\n"},ch=function(){return"path = [1]\ncar = sprite.Sprite('car', position[1][0], position[1][1])\nhouse[1].show()\ncar.nowPos = 1\ndef drive(n):\n if g[car.nowPos][n]==1:\n car.slideTo(position[n][0], position[n][1], 1)\n car.nowPos = n\n else:\n print('移动失败!程序有误!')\n exit()\n"},Ah=function(t,e){e.definitions_.import_random="import random";return"f = path[(len(path) - 1)]\nflag = 0\nfor _my_variable in [6,5,4,3,2,1,0]:\n if vis[_my_variable+1] == 0 and g[f][_my_variable+1] == 1:\n if mark[f][_my_variable+1] == 0:\n flag = 1\n break\n"},gh=function(t,e){return["flag == 1",e.ORDER_ATOMIC]},Ch=function(){return"mark[f][_my_variable+1] = 1\nvis[_my_variable+1] = 1\n"},Lh=function(){return"drive(path[len(path) - 1])\nhouse[_my_variable+1].show()\n","path.append(_my_variable+1)\ndrive(path[len(path) - 1])\nhouse[_my_variable+1].show()\n"},Sh=function(t,e){e.definitions_.import_time="import time";return"house[0].show()\ntime.sleep(0.5)\nhouse[0].hide()\n","del path[len(path) - 1]\nhouse[0].show()\ntime.sleep(0.5)\nhouse[0].hide()\n"},Dh=function(){var t="for i in range(7):\n mark[f][i+1] = 0\n vis[f] = 0\n";return t="house[f].hide()\ndrive(path[len(path) - 1])\n"+t},Nh=function(t,e){return["len(path) == 7",e.ORDER_ATOMIC]},fh=function(){return'name = ["","学校","小智家","小欣家","小思家","小科家","贝贝家","乐乐家"]\nres = ""\nfor i in path:\n res = res + name[i] + "-"\nprint(res[:-1])\n'},Fh=function(t,e){e.definitions_.import_sprite="import sprite";return"position = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('map_xuexiao')\n\nhouse = [ sprite.Sprite('mark', 150, 380),\n sprite.Sprite('School', 115, 195),\n sprite.Sprite('House25', 264, 67),\n sprite.Sprite('House36', 320, 200),\n sprite.Sprite('House47', 290, 371),\n sprite.Sprite('House25', 479, 233),\n sprite.Sprite('House36', 674, 96),\n sprite.Sprite('House47', 642, 318)\n]\nbarricade = sprite.Sprite('barricade', 570, 170)\nbarricade.enlargeTo(100)\nfor i in house:\n i.hide()\n","g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,0,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('map_xuexiao')\n\nhouse = [ sprite.Sprite('mark', 150, 380),\n sprite.Sprite('School', 115, 195),\n sprite.Sprite('House25', 264, 67),\n sprite.Sprite('House36', 320, 200),\n sprite.Sprite('House47', 290, 371),\n sprite.Sprite('House25', 479, 233),\n sprite.Sprite('House36', 674, 96),\n sprite.Sprite('House47', 642, 318)\n]\nbarricade = sprite.Sprite('barricade', 570, 170)\nbarricade.enlargeTo(100)\nfor i in house:\n i.hide()\n"},Ph=function(t,e){return["f == 1",e.ORDER_ATOMIC]},vh=function(){return"print('没有符合条件的路线')\n"},Vh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return'name = ["","小思家","银行","邮局","餐厅","书店","医院","超市","小科家"]\nposition = [[0, 0], [60, 320], [510, 390], [240, 200], [750, 330], [410, 90], [540, 190], [550, 30], [720, 120]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_si_ke\')\nstu = sprite.Sprite(\'girl\', 60, 320)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n','g = [[10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000],[10000,10000,500,300,10000,10000,10000,10000,10000,10000,10000],[10000,500,10000,10000,100,10000,10000,10000,10000,10000,10000],[10000,300,10000,10000,400,300,10000,10000,10000,10000,10000],[10000,10000,100,400,10000,10000,200,10000,10000,10000,10000],[10000,10000,10000,300,10000,10000,100,200,10000,10000,10000],[10000,10000,10000,10000,200,100,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,200,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,10000,100,100,10000,10000,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小思家","银行","邮局","餐厅","书店","医院","超市","小科家"]\nposition = [[0, 0], [60, 320], [510, 390], [240, 200], [750, 330], [410, 90], [540, 190], [550, 30], [720, 120]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_si_ke\')\nstu = sprite.Sprite(\'girl\', 60, 320)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},Yh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return'name = ["","小智家","邮局","银行","书店","餐厅","学校"]\nposition = [[0, 0], [70, 340], [70, 90], [550, 310], [420, 70], [730, 250], [650, 130]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_zhi_xue\')\nstu = sprite.Sprite(\'boy\', 70, 340)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n','g =[[10000,10000,10000,10000,10000,10000,10000],[10000,10000,300,500,10000,10000,10000],[10000,300,10000,10000,300,700,10000],[10000,500,10000,10000,10000,100,10000],[10000,10000,300,10000,10000,10000,200],[10000,10000,700,100,10000,10000,100],[10000,10000,10000,10000,200,100,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小智家","邮局","银行","书店","餐厅","学校"]\nposition = [[0, 0], [70, 340], [70, 90], [550, 310], [420, 70], [730, 250], [650, 130]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_zhi_xue\')\nstu = sprite.Sprite(\'boy\', 70, 340)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},yh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return'tmp=10000\nfor i in range(0, len(g), 1):\n if g[now][i]6:\n print("路线错乱!程序有误!")\n exit()\n'},bh=function(t,e){return["name[now] != '小科家'",e.ORDER_ATOMIC]},kh=function(t,e){return["name[now] != '学校'",e.ORDER_ATOMIC]},Xh=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},xh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var i=this.getFieldValue("NUM");if(i>=7)var n="print('层数过高!不得高于6层!')\nexit()\n";else n="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+i+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return n},Uh=function(t,e){var i=e.valueToCode(this,"FROM_NUM",e.ORDER_ATOMIC)||"0",n=e.valueToCode(this,"TO_NUM",e.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${i}])>0 :\n _HanoiBlockMoved = _Hanoi[${i}].pop()\n if len(_Hanoi[${n}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${n}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${n}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${i}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${n}*200+200, 400-len(_Hanoi[${n}])*27, 0.2)\n _Hanoi[${n}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},Bh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},wh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},Gh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n","res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},Hh=function(t,e){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",e.ORDER_ATOMIC]},Wh=function(t,e){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",e.ORDER_ATOMIC]},Kh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var i="res+=1\nflag=ring[res]\n";return i="Books[res].filterGray()\ntime.sleep(0.3)\n"+(i+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},qh=function(t,e){return["len(list)>=2",e.ORDER_ATOMIC]},jh=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},Qh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},zh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},Jh=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},Zh=function(t,e){var i=this.getFieldValue("NUM");return e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${i}):\n ring.append(0)\nfor i in range(1, ${i}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[i]}))\ntime.sleep(1)\nmode=3\n`},$h=function(t,e){e.definitions_.import_sprite="import sprite";return"cntText = sprite.Text('计数器:0', 30, 200)\n","cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},tE=function(t,e){e.definitions_.import_sprite="import sprite";return"cntText.changeText('计数器:'+str(cnt))\n","cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},eE=function(t,e){e.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},iE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},nE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"time.sleep(1)\n","_rabbit = 0\ntime.sleep(1)\n"},sE=function(t,e){return["_rabbit < _head",e.ORDER_ATOMIC]},oE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"for i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n","_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},pE=function(t,e){return["_rabbit*4 + _chick*2 == _foot",e.ORDER_ATOMIC]},_E=function(t,e){e.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},aE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n","time.sleep(0.5)\n","_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},uE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n","sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},lE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var i=this.getFieldValue("PATHNAME");const n=[0,[1,3],[2,4],[5,7],[6]];var s="";return s+=`_S${i}.show()\ntime.sleep(1)\n`,s+=4!=i?`_Slen[${i}] = _Llen[${n[i][0]}] + _Llen[${n[i][1]}]\n_text_${i}.changeText('S${i}:'+str(_Slen[${i}])+'m')\ntime.sleep(1)\n_S${i}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},rE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var i="";return[i+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,e.ORDER_ATOMIC]},TE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var i=this.getFieldValue("PATHNAME"),n="";return n+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${i}\n_S${i}.show()\ntime.sleep(0.5)\n_S${i}.hide()\ntime.sleep(0.5)\n_S${i}.show()\ntime.sleep(1)\n`},dE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n","if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},IE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n","sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},hE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var i="";return i+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},EE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var i=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${i})*50 + (i//(4*${i}))*(${i}+1)*50 +(i%3-2), 80+(i//${i})*100-(i//(4*${i}))*4*100+(i%2), 0.05)\n_line = ${i}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},OE=function(t,e){return e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,e.ORDER_ATOMIC]},ME=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},RE=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},mE=function(t,e){e.definitions_.import_turtle="import turtle",e.definitions_.import_time="import time",e.definitions_.import_math="import math";var i=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),n=this.getFieldValue("NUM");return e.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",e.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",e.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if a0;a--)t.getInputTargetBlock("IF"+a)&&t.getInputTargetBlock("IF"+a).previousConnection?n[a]=t.getInputTargetBlock("IF"+a).previousConnection:n[a]=null,this.removeInput("IF"+a),t.getInputTargetBlock("DO"+a)&&t.getInputTargetBlock("DO"+a).previousConnection?_[a]=t.getInputTargetBlock("DO"+a).previousConnection:_[a]=null,this.removeInput("DO"+a);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(a=1;a<=this.elseifCount_;a++)this.appendValueInput("IF"+a).setCheck([Boolean,Number]).appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+a).appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_MSG_ELSE);for(a=n.length-2;a>0;a--)n[a]&&n[a].reconnect(this,"IF"+a);for(a=_.length-2;a>0;a--)_[a]&&_[a].reconnect(this,"DO"+a)},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var n=t.getInput("STACK").connection,_=1;_<=this.elseifCount_;_++){var a=e.newBlock("controls_if_elseif");a.initSvg(),n.connect(a.previousConnection),n=a.nextConnection}if(this.elseCount_){var l=e.newBlock("controls_if_else");l.initSvg(),n.connect(l.previousConnection)}return t},compose:function(e){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 n=e.getInputTargetBlock("STACK"),_=[null],a=[null],l=null;n;){switch(n.type){case"controls_if_elseif":this.elseifCount_++,_.push(n.valueConnection_),a.push(n.statementConnection_);break;case"controls_if_else":this.elseCount_++,l=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(_,a,l)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_if_elseif":var _=this.getInput("IF"+n),a=this.getInput("DO"+n);t.valueConnection_=_&&_.connection.targetConnection,t.statementConnection_=a&&a.connection.targetConnection,n++;break;case"controls_if_else":a=this.getInput("ELSE");t.statementConnection_=a&&a.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var _=1;this.getInput("IF"+_);){var a=this.getInput("IF"+_),l=this.getInput("DO"+_);console.log(a.connection.targetConnection),e.push(a.connection.targetConnection),t.push(l.connection.targetConnection),_++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+e).appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(e,t,n){for(var _=1;_<=this.elseifCount_;_++)e[_]&&e[_].reconnect(this,"IF"+_),t[_]&&t[_].reconnect(this,"DO"+_);n&&n.reconnect(this,"ELSE")}},controls_range={init:function(){this.setColour(LOOPS_HUE),this.appendValueInput("FROM").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.PYTHON_RANGE).appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},controls_forEach={init:function(){this.setColour(LOOPS_HUE),this.appendValueInput("LIST").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(external_Blockly_namespaceObject.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return external_Blockly_namespaceObject.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},controls_whileUntil={init:function(){this.setColour(LOOPS_HUE),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new external_Blockly_namespaceObject.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+external_Blockly_namespaceObject.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return{WHILE:external_Blockly_namespaceObject.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:external_Blockly_namespaceObject.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[t]}))}},controls_try_finally={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new external_Blockly_namespaceObject.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_CONTROL_TRY_TOOLTIP),this.elseifCount_=1,this.elseCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var e=document.createElement("mutation");return this.elseifCount_&&e.setAttribute("elseif",this.elseifCount_),this.elseCount_&&e.setAttribute("else",1),e},domToMutation:function(e){var t=this,n=[],_=[];this.elseCount_&&this.removeInput("ELSE");for(var a=this.elseifCount_;a>0;a--)t.getInputTargetBlock("IF"+a)&&t.getInputTargetBlock("IF"+a).previousConnection?n[a]=t.getInputTargetBlock("IF"+a).previousConnection:n[a]=null,this.removeInput("IF"+a),t.getInputTargetBlock("DO"+a)&&t.getInputTargetBlock("DO"+a).previousConnection?_[a]=t.getInputTargetBlock("DO"+a).previousConnection:_[a]=null,this.removeInput("DO"+a);this.elseifCount_=parseInt(e.getAttribute("elseif"),10),this.elseCount_=parseInt(e.getAttribute("else"),10);for(a=1;a<=this.elseifCount_;a++)this.appendValueInput("IF"+a).setCheck([Boolean,Number]).appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+a).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_FINALLY);for(a=n.length-2;a>0;a--)n[a]&&n[a].reconnect(this,"IF"+a);for(a=_.length-2;a>0;a--)_[a]&&_[a].reconnect(this,"DO"+a)},decompose:function(e){var t=e.newBlock("controls_try");t.initSvg();for(var n=t.getInput("STACK").connection,_=1;_<=this.elseifCount_;_++){var a=e.newBlock("controls_except");a.initSvg(),n.connect(a.previousConnection),n=a.nextConnection}if(this.elseCount_){var l=e.newBlock("controls_finally");l.initSvg(),n.connect(l.previousConnection)}return t},compose:function(e){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 n=e.getInputTargetBlock("STACK"),_=[null],a=[null],l=null;n;){switch(n.type){case"controls_except":this.elseifCount_++,_.push(n.valueConnection_),a.push(n.statementConnection_);break;case"controls_finally":this.elseCount_++,l=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(_,a,l)},saveConnections:function(e){for(var t=e.getInputTargetBlock("STACK"),n=1;t;){switch(t.type){case"controls_except":var _=this.getInput("IF"+n),a=this.getInput("DO"+n);t.valueConnection_=_&&_.connection.targetConnection,t.statementConnection_=a&&a.connection.targetConnection,n++;break;case"controls_finally":a=this.getInput("ELSE");t.statementConnection_=a&&a.connection.targetConnection;break;default:throw"Unknown block type."}t=t.nextConnection&&t.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var _=1;this.getInput("IF"+_);){var a=this.getInput("IF"+_),l=this.getInput("DO"+_);console.log(a.connection.targetConnection),e.push(a.connection.targetConnection),t.push(l.connection.targetConnection),_++}this.updateShape_(),this.reconnectChildBlocks_(e,t,n)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var e=1;this.getInput("IF"+e);)this.removeInput("IF"+e),this.removeInput("DO"+e),e++;for(e=1;e<=this.elseifCount_;e++)this.appendValueInput("IF"+e).setCheck([Number,Boolean]).appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+e).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(e,t,n){for(var _=1;_<=this.elseifCount_;_++)e[_]&&e[_].reconnect(this,"IF"+_),t[_]&&t[_].reconnect(this,"DO"+_);n&&n.reconnect(this,"ELSE")}},controls_flow_statements={init:function(){this.setColour(LOOPS_HUE);var e=new external_Blockly_namespaceObject.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(e,"FLOW").appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var t=this;this.setTooltip((function(){var e=t.getFieldValue("FLOW");return{BREAK:external_Blockly_namespaceObject.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:external_Blockly_namespaceObject.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[e]}))},onchange:function(){if(this.workspace){var e=!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){e=!0;break}t=t.getSurroundParent()}while(t);e?this.setWarningText(null):this.setWarningText(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},controls_for={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new external_Blockly_namespaceObject.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(external_Blockly_namespaceObject.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return external_Blockly_namespaceObject.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},controls_for_range={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new external_Blockly_namespaceObject.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(external_Blockly_namespaceObject.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){return external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",e.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}};controls_whileUntil.OPERATORS=[[external_Blockly_namespaceObject.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[external_Blockly_namespaceObject.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],controls_flow_statements.OPERATORS=[[external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const controls_if_if={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(external_Blockly_namespaceObject.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},controls_if_elseif={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},controls_if_else={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},controls_try={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},controls_except={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},controls_finally={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},controls_repeat_ext={init:function(){this.jsonInit({message0:external_Blockly_namespaceObject.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:LOOPS_HUE,tooltip:external_Blockly_namespaceObject.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:external_Blockly_namespaceObject.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},controls_lambda={init:function(){this.setColour(LOOPS_HUE),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(external_Blockly_namespaceObject.Msg.MIXLY_STAT),this.setOutput(!0)}},controls_pass={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},controls_thread={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},do_while={init:function(){this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.CONTROLS_REPEAT_TITLE_REPEAT+external_Blockly_namespaceObject.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(external_Blockly_namespaceObject.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[external_Blockly_namespaceObject.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(LOOPS_HUE),this.setTooltip("do-while loop"),this.setHelpUrl("")}},garbage_collection={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},get_mem_alloc={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},get_mem_free={init:function(){this.setColour(LOOPS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},MATH_HUE=230;external_Blockly_namespaceObject.FieldTextInput.math_number_validator=function(e){return String(e)},external_Blockly_namespaceObject.FieldTextInput.math_number_validator_include_blank=function(e){if(""===e)return"";return/^-?(0X|0x|0O|0o|0B|0b)?[a-fA-F0-9]{1,}(\.[a-fA-F0-9]+)?$/.test(e)?String(e):null};const math_number={init:function(){this.setColour(MATH_HUE),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldTextInput("0",external_Blockly_namespaceObject.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.MATH_NUMBER_TOOLTIP)}},math_constant={init:function(){this.setColour(MATH_HUE);this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new external_Blockly_namespaceObject.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[t]}))}},math_constant_mp={init:function(){this.setColour(MATH_HUE);this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new external_Blockly_namespaceObject.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CONSTANT");return{pi:external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[t]}))}},math_arithmetic={init:function(){this.setColour(MATH_HUE),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new external_Blockly_namespaceObject.FieldDropdown([["+","ADD"],["-","MINUS"],["×","MULTIPLY"],["÷","DIVIDE"],["%","QUYU"],["//","ZHENGCHU"],["**","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:external_Blockly_namespaceObject.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},math_selfcalcu={init:function(){this.setColour(MATH_HUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new external_Blockly_namespaceObject.FieldDropdown([["+=","ADD"],["-=","MINUS"],["×=","MULTIPLY"],["÷=","DIVIDE"],["%=","QUYU"],["//=","ZHENGCHU"],["**=","POWER"]]),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{ADD:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:external_Blockly_namespaceObject.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:external_Blockly_namespaceObject.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[t]}))}},math_bit={init:function(){this.setColour(MATH_HUE),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new external_Blockly_namespaceObject.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},math_trig={init:function(){this.setColour(MATH_HUE),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new external_Blockly_namespaceObject.FieldDropdown([["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"],["-","-"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{SIN:external_Blockly_namespaceObject.Msg.MATH_TRIG_TOOLTIP_SIN,COS:external_Blockly_namespaceObject.Msg.MATH_TRIG_TOOLTIP_COS,TAN:external_Blockly_namespaceObject.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:external_Blockly_namespaceObject.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:external_Blockly_namespaceObject.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:external_Blockly_namespaceObject.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:external_Blockly_namespaceObject.Msg.MATH_SINGLE_TOOLTIP_LN}[t]}))}},math_dec={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MATH_BIN,"bin"],[external_Blockly_namespaceObject.Msg.MATH_OCT,"oct"],[external_Blockly_namespaceObject.Msg.MATH_HEX,"hex"]];this.setColour(MATH_HUE),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP");var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{bin:external_Blockly_namespaceObject.Msg.MATH_DEC_TOOLTIP_BIN,oct:external_Blockly_namespaceObject.Msg.MATH_DEC_TOOLTIP_OCT,hex:external_Blockly_namespaceObject.Msg.MATH_DEC_TOOLTIP_HEX}[e]}))}},math_to_int={init:function(){var e=[[external_Blockly_namespaceObject.Msg.LANG_MATH_TO_ROUND,"round"],[external_Blockly_namespaceObject.Msg.LANG_MATH_TO_CEIL,"ceil"],[external_Blockly_namespaceObject.Msg.LANG_MATH_TO_FLOOR,"floor"],[external_Blockly_namespaceObject.Msg.MATH_ABS,"fabs"],[external_Blockly_namespaceObject.Msg.MATH_SQRT,"sqrt"]];this.setColour(MATH_HUE),this.appendValueInput("A").setCheck(Number).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{sqrt:external_Blockly_namespaceObject.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:external_Blockly_namespaceObject.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:external_Blockly_namespaceObject.Msg.MATH_SINGLE_TOOLTIP_SQ,round:external_Blockly_namespaceObject.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:external_Blockly_namespaceObject.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:external_Blockly_namespaceObject.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[e]}))}},math_max_min={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MIXLY_MAX,"max"],[external_Blockly_namespaceObject.Msg.MIXLY_MIN,"min"]];this.setColour(MATH_HUE),this.appendValueInput("A").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{max:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_MATH_MAX,min:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_MATH_MIN}[e]}))}},math_number_base_conversion={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MATH_TWO,"two"],[external_Blockly_namespaceObject.Msg.MATH_EIGHT,"eight"],[external_Blockly_namespaceObject.Msg.MATH_TEN,"ten"],[external_Blockly_namespaceObject.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(MATH_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP").appendField(external_Blockly_namespaceObject.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MATH_ZHW).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP2").appendField(external_Blockly_namespaceObject.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP"),n={two:external_Blockly_namespaceObject.Msg.MATH_Before_two,eight:external_Blockly_namespaceObject.Msg.MATH_Before_eight,ten:external_Blockly_namespaceObject.Msg.MATH_Before_ten,sixteen:external_Blockly_namespaceObject.Msg.MATH_Before_sixteen},_=t.getFieldValue("OP2"),a={two:external_Blockly_namespaceObject.Msg.MATH_Behind_two,eight:external_Blockly_namespaceObject.Msg.MATH_Behind_eight,ten:external_Blockly_namespaceObject.Msg.MATH_Behind_ten,sixteen:external_Blockly_namespaceObject.Msg.MATH_Behind_sixteen};return n[e]+a[_]}))}},math_random={init:function(){var e=[[external_Blockly_namespaceObject.Msg.LANG_MATH_INT,"int"],[external_Blockly_namespaceObject.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(MATH_HUE),this.setOutput(!0,Number),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_RANDOM).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TYPE"),n={int:external_Blockly_namespaceObject.Msg.LANG_MATH_INT,float:external_Blockly_namespaceObject.Msg.LANG_MATH_FLOAT_RANDOM};return external_Blockly_namespaceObject.Msg.MATH_RANDOM_INT_TOOLTIP+n[e]}))}},math_constrain={init:function(){this.setColour(MATH_HUE),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MATH_CONSTRAIN_TOOLTIP)}},math_map={init:function(){this.setColour(MATH_HUE),this.appendValueInput("NUM",Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_MATH_MAP)}},math_indexer_number={init:function(){this.setColour(MATH_HUE),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldTextInput("0",external_Blockly_namespaceObject.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MATH_NUMBER_TOOLTIP)}},math_random_seed={init:function(){this.setColour(MATH_HUE),this.appendValueInput("NUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},math_round={init:function(){this.setColour(MATH_HUE),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MATH_ROUND).appendField(external_Blockly_namespaceObject.Msg.TEXT_KEEP),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MATH_ROUND_NEW_TOOLTIP)}},text_to_number={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MIXLY_TO_INT,"int"],[external_Blockly_namespaceObject.Msg.MIXLY_TO_FLOAT,"float"],[external_Blockly_namespaceObject.Msg.MIXLY_TO_BITES,"b"]];this.setColour(MATH_HUE),this.appendValueInput("VAR").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[e]}))}},text_to_number_skulpt={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MIXLY_TO_INT,"int"],[external_Blockly_namespaceObject.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(MATH_HUE),this.appendValueInput("VAR").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"TOWHAT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{int:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[e]}))}},base_map=math_map,TEXTS_HUE=160,text_text={init:function(){this.setColour(TEXTS_HUE),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new external_Blockly_namespaceObject.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.TEXT_TEXT_TOOLTIP)},newQuote_:function(e){if(e==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 external_Blockly_namespaceObject.FieldImage(t,12,12,'"')}},text_textarea={init:function(){this.setColour(TEXTS_HUE),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new external_Blockly_namespaceObject.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.TEXT_LINES_TOOLTIP)},newQuote_:function(e){if(e==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 external_Blockly_namespaceObject.FieldImage(t,12,12,'"')}};external_Blockly_namespaceObject.FieldTextInput.char_validator=function(e){if(e.length>1&&"\\"===e.charAt(0)){var t=e.charAt(1);if("0"===t||"b"===t||"f"===t||"n"===t||"r"===t||"t"===t||"\\"===t||"'"===t)return String(e).substring(0,2);if("x"===t&&"0"===e.charAt(2)&&"B"===e.charAt(3))return String(e).substring(0,4)}return String(e).substring(0,1)};const text_char={init:function(){this.setColour(TEXTS_HUE),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new external_Blockly_namespaceObject.FieldTextInput("",external_Blockly_namespaceObject.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(e){if(1==e)var t="../../media/quote2.png";else t="../../media/quote3.png";return new external_Blockly_namespaceObject.FieldImage(t,7,12,'"')}},text_join={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ascii_to_char={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},char_to_ascii={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},number_to_text={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},text_length={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},text_char_at2={init:function(){this.WHERE_OPTIONS=[[external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[external_Blockly_namespaceObject.Msg.TEXT_GET_INDEX_RANDOM+1+external_Blockly_namespaceObject.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_GET,"MODE"),external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),n=e.getFieldValue("WHERE"),_="";switch(t+" "+n){case"GET FROM_START":case"GET FROM_END":_=external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":_=external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":_=external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":_=external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(_+=" "+external_Blockly_namespaceObject.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",external_Blockly_namespaceObject.Msg.ONE_BASED_INDEXING?"#1":"#0")),_}));var t=this;this.setTooltip((function(){var e=t.getFieldValue("WHERE"),n={FROM_START:external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:external_Blockly_namespaceObject.Msg.TEXT_GET_INDEX_RANDOM};return external_Blockly_namespaceObject.Msg.PROCEDURES_DEFRETURN_RETURN+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_TYPE_STRING+n[e]+"n"+external_Blockly_namespaceObject.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("statement",!this.outputConnection);var t=this.getInput("AT").type==external_Blockly_namespaceObject.INPUT_VALUE;return e.setAttribute("at",t),e},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(e){this.removeInput("AT"),this.removeInput("ORDINAL",!0),e?(this.appendValueInput("AT").setCheck(Number),external_Blockly_namespaceObject.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(external_Blockly_namespaceObject.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var t=new external_Blockly_namespaceObject.FieldDropdown(this.WHERE_OPTIONS,(function(t){var n="FROM_START"==t||"FROM_END"==t;if(n!=e){var _=this.sourceBlock_;return _.updateAt_(n),_.setFieldValue(t,"WHERE"),null}}));this.getInput("AT").appendField(t,"WHERE"),external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},text_char_at={init:function(){this.setHelpUrl(external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_GET+" "+external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.PROCEDURES_DEFRETURN_RETURN+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_TYPE_STRING+external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_START+"n"+external_Blockly_namespaceObject.Msg.TEXT_CHARAT2)}},text_random_char={init:function(){this.setHelpUrl(external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},text_substring2={init:function(){this.WHERE_OPTIONS_1=[[external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.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(external_Blockly_namespaceObject.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT1").type==external_Blockly_namespaceObject.INPUT_VALUE;e.setAttribute("at1",t);var n=this.getInput("AT2").type==external_Blockly_namespaceObject.INPUT_VALUE;return e.setAttribute("at2",n),e},domToMutation:function(e){var t="true"==e.getAttribute("at1"),n="true"==e.getAttribute("at2");this.updateAt_(1,t),this.updateAt_(2,n)},updateAt_:function(e,t){this.removeInput("AT"+e),this.removeInput("ORDINAL"+e,!0),t?(this.appendValueInput("AT"+e).setCheck(Number),external_Blockly_namespaceObject.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+e).appendField(external_Blockly_namespaceObject.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+e);var n=new external_Blockly_namespaceObject.FieldDropdown(this["WHERE_OPTIONS_"+e],(function(n){var _="FROM_START"==n||"FROM_END"==n;if(_!=t){var a=this.sourceBlock_;return a.updateAt_(e,_),a.setFieldValue(n,"WHERE"+e),null}}));this.getInput("AT"+e).appendField(n,"WHERE"+e),1==e&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},text_substring={init:function(){this.setHelpUrl(external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_GET+" "+external_Blockly_namespaceObject.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(external_Blockly_namespaceObject.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},text_equals_starts_ends={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MIXLY_EQUALS,"==="],[external_Blockly_namespaceObject.Msg.MIXLY_STARTSWITH,"startswith"],[external_Blockly_namespaceObject.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(TEXTS_HUE),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},text_compare_to={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(external_Blockly_namespaceObject.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_COMPARETO_HELP)}},text_capital={init:function(){var e=[[external_Blockly_namespaceObject.Msg.TEXT_UPPER,"upper"],[external_Blockly_namespaceObject.Msg.TEXT_TITLE,"title"],[external_Blockly_namespaceObject.Msg.TEXT_CAPITALIZE,"capitalize"],[external_Blockly_namespaceObject.Msg.TEXT_SWAPCASE,"swapcase"],[external_Blockly_namespaceObject.Msg.TEXT_LOWER,"lower"]];this.setColour(TEXTS_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"CAPITAL").setCheck(String),this.setOutput(!0,String);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CAPITAL");return{upper:external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[e]}))}},text_center={init:function(){var e=[[external_Blockly_namespaceObject.Msg.TEXT_LJUST,"ljust"],[external_Blockly_namespaceObject.Msg.TEXT_CENTER,"center"],[external_Blockly_namespaceObject.Msg.TEXT_RJUST,"rjust"]];this.setColour(TEXTS_HUE),this.appendValueInput("VAR").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(external_Blockly_namespaceObject.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(external_Blockly_namespaceObject.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},text_find={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MID+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},text_join_seq={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},text_replace={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(external_Blockly_namespaceObject.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},text_split={init:function(){this.setColour(TEXTS_HUE),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(external_Blockly_namespaceObject.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},text_strip={init:function(){var e=[[external_Blockly_namespaceObject.Msg.TEXT_TRIM_BOTH,"strip"],[external_Blockly_namespaceObject.Msg.TEXT_TRIM_LEFT,"lstrip"],[external_Blockly_namespaceObject.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(TEXTS_HUE),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"TOWHAT"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("TOWHAT");return{strip:external_Blockly_namespaceObject.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:external_Blockly_namespaceObject.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:external_Blockly_namespaceObject.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[e]}))}},text_format={init:function(){this.setColour(TEXTS_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new external_Blockly_namespaceObject.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TEXT_FORMAT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,_=0;_t?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},dicts_create_with_container={init:function(){this.setColour(DICTS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},dicts_create_with_item={init:function(){this.setColour(DICTS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},dicts_keys={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICT_KEYS),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},dicts_get={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_GET_TOOLTIP)}},dicts_get_default={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},dicts_add_or_change={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},dicts_delete={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_DELETE_TOOLTIP)}},dicts_update={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT2").setCheck("Dict").appendField(external_Blockly_namespaceObject.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(external_Blockly_namespaceObject.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MID),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dicts_clear={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICT_CLEAR),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dicts_items={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICT_ITEMS),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},dicts_values={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICT_VALUES),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},dicts_length={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_LENGTH),this.setTooltip(external_Blockly_namespaceObject.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},dicts_deldict={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICT_DELDICT),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},dicts_add_change_del={init:function(){this.MODE=[[external_Blockly_namespaceObject.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(external_Blockly_namespaceObject.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(external_Blockly_namespaceObject.Msg.DICTS_ADD_VALUE),this.updateAt_(!0),this.setInputsInline(!0),this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t="";switch(e.getFieldValue("WHERE")){case"INSERT":t=external_Blockly_namespaceObject.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":t=external_Blockly_namespaceObject.Msg.DICTS_DELETE_TOOLTIP}return t}))},mutationToDom:function(){var e=document.createElement("mutation"),t=this.getInput("AT2").type==external_Blockly_namespaceObject.INPUT_VALUE;return e.setAttribute("at2",t),e},domToMutation:function(e){var t="true"==e.getAttribute("at2");this.updateAt_(t)},updateAt_:function(e){this.removeInput("AT2"),this.removeInput("ORDINAL",!0),e?this.appendValueInput("AT2").setCheck(Number):this.appendDummyInput("AT2");var t=new external_Blockly_namespaceObject.FieldDropdown(this.MODE,(function(t){var n="INSERT"==t;if(n!=e){var _=this.sourceBlock_;return _.updateAt_(n),_.setFieldValue(t,"WHERE"),null}}));this.getInput("AT2").appendField(t,"WHERE")}},dicts_pop={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICTS_ADD_VALUE),this.setTooltip(external_Blockly_namespaceObject.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},dicts_setdefault={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_SETDEFAULT_TOOLTIP)}},dicts_create_with_noreturn={init:function(){this.setColour(DICTS_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldLabel(external_Blockly_namespaceObject.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 external_Blockly_namespaceObject.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("dicts_create_with_container");t.initSvg();for(var n=t.getInput("STACK").connection,_=0;_t?e[t]:0==t?'"key"':'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},dicts_todict={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},dicts_to_json={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TO_JSON),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},json_to_dicts={init:function(){this.setColour(DICTS_HUE),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},LOGIC_HUE=210,logic_compare={init:function(){var e=external_Blockly_namespaceObject.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(LOGIC_HUE),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{EQ:external_Blockly_namespaceObject.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:external_Blockly_namespaceObject.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:external_Blockly_namespaceObject.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:external_Blockly_namespaceObject.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:external_Blockly_namespaceObject.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:external_Blockly_namespaceObject.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[e]})),this.prevBlocks_=[null,null]}},logic_compare_continous={init:function(){var e=external_Blockly_namespaceObject.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],t=external_Blockly_namespaceObject.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(LOGIC_HUE),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP1"),this.appendValueInput("C").appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"OP2"),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},logic_operation={init:function(){var e=[[external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_AND,"AND"],[external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_OR,"OR"],[external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_NOR,"NOR"],[external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(LOGIC_HUE),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP"),this.setInputsInline(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("OP");return{AND:external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:external_Blockly_namespaceObject.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[e]}))}},logic_negate={init:function(){this.setColour(LOGIC_HUE),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(external_Blockly_namespaceObject.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(external_Blockly_namespaceObject.Msg.LOGIC_NEGATE_TOOLTIP)}},logic_boolean={init:function(){var e=[[external_Blockly_namespaceObject.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[external_Blockly_namespaceObject.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(LOGIC_HUE),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"BOOL"),this.setTooltip(external_Blockly_namespaceObject.Msg.LOGIC_BOOLEAN_TOOLTIP)}},logic_null={init:function(){this.setColour(LOGIC_HUE),this.setOutput(!0),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.LOGIC_NULL),this.setTooltip(external_Blockly_namespaceObject.Msg.LOGIC_NULL_TOOLTIP)}},logic_true_or_false={init:function(){this.setColour(LOGIC_HUE),this.appendValueInput("A"),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(external_Blockly_namespaceObject.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},logic_is_in={init:function(){var e=[[external_Blockly_namespaceObject.Msg.TEXT_APPEND_TO,"in"],[external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(LOGIC_HUE),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"BOOL"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.IN)}},logic_is={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(LOGIC_HUE),this.appendValueInput("A"),this.appendValueInput("B").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},logic_tobool={init:function(){this.setColour(LOGIC_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},STORAGE_HUE=0,storage_open_file_with_os={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("fn").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},storage_fileopen={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILENAME").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_AS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),n=external_Blockly_namespaceObject.Msg.MIXLY_USE,_=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,a=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,l=external_Blockly_namespaceObject.Msg.MIXLY_BELONG;return n+{r:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+l+_+a}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},storage_fileopen_new={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILENAME").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),n=external_Blockly_namespaceObject.Msg.MIXLY_USE,_=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,a=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,l=external_Blockly_namespaceObject.Msg.MIXLY_BELONG,s=external_Blockly_namespaceObject.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+l+_+a+s}))}},storage_fileopen_new_encoding={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILENAME").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXPY_TEXT_ENCODE).appendField(new external_Blockly_namespaceObject.FieldDropdown([["ANSI","ANSI"],["gbk","gbk"],["utf-8","utf-8"]]),"CODE"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),n=external_Blockly_namespaceObject.Msg.MIXLY_USE,_=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,a=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,l=external_Blockly_namespaceObject.Msg.MIXLY_BELONG,s=external_Blockly_namespaceObject.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[t]+l+_+a+s}))}},storage_file_write={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("data").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_TYPE_STRING+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},storage_get_contents_without_para={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck("Variable").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},storage_get_contents={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck("Variable").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),n=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,_=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return n+{read:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[t]+"x"+_}))}},storage_get_a_line={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MICROBIT_PYTHON_TYPE)}},storage_can_write_ornot={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.HTML_FILE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},storage_get_filename={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},storage_close_file={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},storage_list_all_files={init:function(){this.setColour(STORAGE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const storage_delete_file={init:function(){this.setColour(STORAGE_HUE),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[external_Blockly_namespaceObject.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(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},storage_get_file_size={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},storage_file_tell={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},storage_file_seek={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck("Variable").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE"),n=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,_=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,a=external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return n+" "+{start:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[t]+a+"x"+_}))}},storage_get_current_dir={init:function(){this.setColour(STORAGE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},storage_make_dir={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("PATH").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MAKEDIRS,"makedirs"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1);var e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+external_Blockly_namespaceObject.Msg.MIXLY_ESP32_SET+{mkdir:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},storage_rename={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},storage_change_dir={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},storage_is_file={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.HTML_FILE,"isfile"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_DIR,"isdir"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean);let e=this;this.setTooltip((function(){var t=e.getFieldValue("MODE");return external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[t]}))}},sdcard_use_spi_init={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("SPISUB").appendField(external_Blockly_namespaceObject.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_SETUP+external_Blockly_namespaceObject.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(external_Blockly_namespaceObject.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},sdcard_mount={init:function(){this.setColour(STORAGE_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},Procedures={};Procedures.NAME_TYPE=external_Blockly_namespaceObject.PROCEDURE_CATEGORY_NAME,Procedures.allProcedures=function(e){for(var t=e.getAllBlocks(!1),n=[],_=[],a=0;a"),this.appendValueInput("style").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},html_style={init:function(){this.setColour(HTML_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},html_form={init:function(){this.setColour(HTML_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.HTML_FORM_CONTENT).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.HTML_TEXT,"text"],[external_Blockly_namespaceObject.Msg.HTML_EMAIL,"email"],[external_Blockly_namespaceObject.Msg.HTML_NUMBER,"number"],[external_Blockly_namespaceObject.Msg.HTML_PASSWORD,"password"],[external_Blockly_namespaceObject.Msg.HTML_CHECKBOX,"checkbox"],[external_Blockly_namespaceObject.Msg.HTML_RADIOBUTTON,"radiobutton"],[external_Blockly_namespaceObject.Msg.HTML_BUTTON,"button"],[external_Blockly_namespaceObject.Msg.HTML_COLOUR,"colour"],[external_Blockly_namespaceObject.Msg.HTML_DATE,"date"],[external_Blockly_namespaceObject.Msg.HTML_LOCALTIME,"local time"],[external_Blockly_namespaceObject.Msg.HTML_FILE,"file"],[external_Blockly_namespaceObject.Msg.HTML_HIDDEN,"hidden"],[external_Blockly_namespaceObject.Msg.HTML_IMAGE,"image"],[external_Blockly_namespaceObject.Msg.HTML_MONTH,"month"],[external_Blockly_namespaceObject.Msg.HTML_RANGE,"range"],[external_Blockly_namespaceObject.Msg.HTML_RESET,"reset"],[external_Blockly_namespaceObject.Msg.HTML_SEARCH,"search"],[external_Blockly_namespaceObject.Msg.HTML_SUBMIT,"submit"],[external_Blockly_namespaceObject.Msg.HTML_TELEPHONENUMBER,"telephone number"],[external_Blockly_namespaceObject.Msg.HTML_TIME,"time"],[external_Blockly_namespaceObject.Msg.HTML_URL,"url"],[external_Blockly_namespaceObject.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.HTML_NAME).appendField(new external_Blockly_namespaceObject.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.HTML_VALUE).appendField(new external_Blockly_namespaceObject.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},html_style_content={init:function(){this.setColour(HTML_HUE),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldTextInput("property"),"KEY").appendField(":").appendField(new external_Blockly_namespaceObject.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},html_style_color={init:function(){this.setColour(HTML_HUE),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldTextInput("property"),"KEY").appendField(":").appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},html_text={init:function(){this.setColour(HTML_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.HTML_TEXT).appendField(new external_Blockly_namespaceObject.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},UTILITY_HUE=160,raw_table={init:function(){this.setColour(UTILITY_HUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldTable(""),"TEXT")}},raw_block={init:function(){this.setColour(UTILITY_HUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldMultilineInput(""),"TEXT")}},raw_expression={init:function(){this.setColour(UTILITY_HUE),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},raw_empty={init:function(){this.setColour(UTILITY_HUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},text_comment={init:function(){this.setColour(UTILITY_HUE),this.appendDummyInput().appendTitle("Comment:").appendTitle(new external_Blockly_namespaceObject.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},type_check={init:function(){this.setColour(UTILITY_HUE),this.appendValueInput("VALUE").appendField(external_Blockly_namespaceObject.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},text_print_multiple={init:function(){this.setColour(UTILITY_HUE),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new external_Blockly_namespaceObject.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(external_Blockly_namespaceObject.Msg.TEXT_PRINT_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=external_Blockly_namespaceObject.Block.obtain(e,"text_print_multiple_container");t.initSvg();for(var n=t.getInput("STACK").connection,_=0;_= stop:"," yield start"," start -= abs(step)"])};if(e=function(e,t,n){return"("+e+" <= "+t+") and "+o()+"("+e+", "+t+", "+n+") or "+p()+"("+e+", "+t+", "+n+")"},external_Blockly_namespaceObject.isNumber(_)&&external_Blockly_namespaceObject.isNumber(a)&&external_Blockly_namespaceObject.isNumber(l))_=parseFloat(_),a=parseFloat(a),l=Math.abs(parseFloat(l)),0==_%1&&0==a%1&&0==l%1?(_<=a?(a++,e=0==_&&1==l?a:_+", "+a,1!=l&&(e+=", "+l)):e=_+", "+--a+", -"+l,e="range("+e+")"):(e=_",GTE:">="};const logic_logic_operation=function(e,t){var n=this.getFieldValue("OP"),_="&&"==n?t.ORDER_LOGICAL_AND:t.ORDER_LOGICAL_OR,a=t.valueToCode(this,"A",_)||"False",l=t.valueToCode(this,"B",_)||"False";if("AND"==n)var s=a+" and "+l;else if("OR"==n)s=a+" or "+l;else if("NOR"==n)s="not("+a+"^"+l+")";else s=a+"^"+l;return[s,_]},logic_logic_negate=function(e,t){var n=t.ORDER_UNARY_PREFIX;return["not "+(t.valueToCode(this,"BOOL",n)||"False"),n]},logic_logic_boolean=function(e,t){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",t.ORDER_ATOMIC]},logic_logic_null=function(e,t){return["None",t.ORDER_ATOMIC]},logic_logic_true_or_false=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"False";return["("+(t.valueToCode(this,"B",t.ORDER_ATOMIC)||"False")+" if "+n+" else "+(t.valueToCode(this,"C",t.ORDER_ATOMIC)||"False")+")",t.ORDER_ATOMIC]},logic_logic_is_in=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",_=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+_,t.ORDER_ATOMIC]},logic_logic_is=function(e,t){var n=t.valueToCode(this,"A",t.ORDER_ATOMIC)||"''",_=t.valueToCode(this,"B",t.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+_,t.ORDER_ATOMIC]},logic_logic_tobool=function(e,t){return["bool("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||"0")+")",t.ORDER_ATOMIC]},storage_storage_open_file_with_os=function(e,t){return t.definitions_.import_os="import os","os.startfile("+t.valueToCode(this,"fn",t.ORDER_ATOMIC)+")\n"},storage_storage_fileopen=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+" = open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},storage_storage_fileopen_new=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",t.ORDER_ATOMIC]},storage_storage_fileopen_new_encoding=function(e,t){return["open("+t.valueToCode(this,"FILENAME",t.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',t.ORDER_ATOMIC]},storage_storage_file_write=function(e,t){var n=t.valueToCode(this,"data",t.ORDER_ATOMIC);return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".write("+n+")\n"},storage_storage_get_contents_without_para=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"()",t.ORDER_ATOMIC]},storage_storage_get_contents=function(e,t){var n=this.getFieldValue("MODE");return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+"."+n+"("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},storage_storage_get_a_line=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".readline("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},storage_storage_can_write_ornot=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".writable()",t.ORDER_ATOMIC]},storage_storage_get_filename=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".name()",t.ORDER_ATOMIC]},storage_storage_close_file=function(e,t){return t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".close()\n"},storage_storage_list_all_files=function(e,t){t.definitions_.import_os="import os";return["os.listdir()",t.ORDER_ATOMIC]},storage_storage_delete_file=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},storage_storage_get_file_size=function(e,t){return t.definitions_.import_os="import os",["os.path.getsize("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},storage_storage_file_tell=function(e,t){return[t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".tell()",t.ORDER_ATOMIC]},storage_storage_file_seek=function(e,t){var n=this.getFieldValue("MODE"),_=0;return _="start"==n?0:"current"==n?1:2,t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+".seek("+t.valueToCode(this,"SIZE",t.ORDER_ATOMIC)+","+_+")\n"},storage_storage_change_dir=function(e,t){return t.definitions_.import_os="import os","os.chdir("+t.valueToCode(this,"FILE",t.ORDER_ATOMIC)+")\n"},storage_storage_get_current_dir=function(e,t){t.definitions_.import_os="import os";return["os.getcwd()",t.ORDER_ATOMIC]},storage_storage_make_dir=function(e,t){return t.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+t.valueToCode(this,"PATH",t.ORDER_ATOMIC)+")\n"},storage_storage_rename=function(e,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"},storage_storage_is_file=function(e,t){t.definitions_.import_os="import os";var n=t.valueToCode(this,"FILE",t.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+n+")",t.ORDER_ATOMIC]},storage_sdcard_use_spi_init=function(e,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"},storage_sdcard_mount=function(e,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"},procedures_procedures_defreturn=function(e,t){var n=t.variableDB_.getName(this.getFieldValue("NAME"),external_Blockly_namespaceObject.Procedures.NAME_TYPE),_=t.statementToCode(this,"STACK")||" pass\n";t.INFINITE_LOOP_TRAP&&(_=t.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+_);var a=t.valueToCode(this,"RETURN",t.ORDER_NONE)||"";a&&(a=" return "+a+"\n");for(var l=[],s=0;s\n\n\n\t\n"+t.statementToCode(this,"HEAD")+"\n\n"+t.statementToCode(this,"BODY")+"\n\n'''",t.ORDER_ATOMIC]},html_html_title=function(e,t){var n=t.statementToCode(this,"DO"),_=this.getFieldValue("LEVEL");return"\n"+n+"\n"},html_html_head_body=function(e,t){var n=t.statementToCode(this,"DO"),_=this.getFieldValue("LEVEL");if("head"==_)var a="<"+_+'>\n\t\n'+n+"\n";else a="<"+_+">\n"+n+"\n";return a},html_html_content=function(e,t){var n=t.statementToCode(this,"DO"),_=this.getFieldValue("LEVEL");return"<"+_+">\n"+n+"\n"},html_html_content_more=function(e,t){var n=t.statementToCode(this,"DO"),_=t.valueToCode(this,"style"),a=this.getFieldValue("LEVEL");return"<"+a+" "+_+" >\n"+n+"\n"},html_html_style=function(e,t){return['style="'+t.statementToCode(this,"STYLE")+'"',t.ORDER_ATOMIC]},html_html_form=function(e,t){return'"},html_html_style_content=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},html_html_text=function(){return this.getFieldValue("TEXT")+"\n"},utility_raw_block=function(e){return e.getFieldValue("TEXT")+"\n"},utility_raw_expression=function(e,t){return[e.getFieldValue("TEXT"),t.ORDER_ATOMIC]},utility_raw_empty=function(e,t){return(t.valueToCode(e,"VALUE",t.ORDER_ATOMIC)||"")+"\n"},utility_raw_table=function(){return""},utility_type_check=function(e,t){return["type("+(t.valueToCode(e,"VALUE",t.ORDER_MEMBER)||"___")+")",t.ORDER_ATOMIC]},utility_function_call=function(e,t){for(var n=e.getFieldValue("NAME"),_=e.hasReturn_,a=new Array(e.itemCount_),l=0;l0?t.join("\n")+"\n"+_.join("\n")+"\n"+a.join("")+"\n"+e+"while True:\n"+l.join("")+s.join("\n"):t.join("\n")+"\n"+_.join("\n")+"\n"+a.join("")+"\n"+e+s.join("\n")},Python.scrubNakedValue=function(e){return e+"\n"},Python.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},Python.multiline_quote_=function(e){return"'''"+(e=e.replace(/'''/g,"\\'\\'\\'"))+"'''"},Python.scrub_=function(e,t,n){var _="";if(!e.outputConnection||!e.outputConnection.targetConnection){(l=e.getCommentText())&&(l=external_Blockly_namespaceObject.utils.string.wrap(l,Python.COMMENT_WRAP-3),_+=Python.prefixLines(l+"\n","# "));for(var a=0;a0?"int("+i+" + "+a+")":a<0?"int("+i+" - "+-a+")":"int("+i+")",_&&(i="-"+i)),i};const AI_HUE=205,AI_ChooseAndGet={init:function(){this.setColour(AI_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_CHOOSE_AND_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_CHOOSE_AND_GET_ONE_FILE_NAME,"getOneFile"],[external_Blockly_namespaceObject.Msg.MIXLY_CHOOSE_AND_GET_MANY_FILE_NAMES,"getManyFiles"],[external_Blockly_namespaceObject.Msg.MIXLY_CHOOSE_AND_GET_DIR,"getDirectory"]]),"TYPE"),this.setInputsInline(!0),this.setOutput(!0)}},AI_client={init:function(){this.setColour(AI_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_SETUP).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify,"AipImageClassify"],[external_Blockly_namespaceObject.Msg.MIXLY_AipSpeech,"AipSpeech"],[external_Blockly_namespaceObject.Msg.MIXLY_AipImageCensor,"AipImageCensor"],[external_Blockly_namespaceObject.Msg.MIXLY_AipFace,"AipFace"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr,"AipOcr"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp,"AipNlp"]]),"CTYPE"),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("API_KEY").appendField("API_KEY").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("SECRET_KEY").appendField("SECRET_KEY").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},AI_Speech_synthesis={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipSpeech_synthesis).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(external_Blockly_namespaceObject.Msg.OLED_STRING).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipSpeech_synthesis_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_Speech_asr={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipSpeech_asr).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipSpeech_File).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipSpeech_ASR_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_ImageClassify={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_FUNC).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_Image).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_advancedGeneral_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_ImageClassify_Func={init:function(){this.setColour(AI_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_advancedGeneral,"advancedGeneral"],[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_dishDetect,"dishDetect"],[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_carDetect,"carDetect"],[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_animalDetect,"animalDetect"],[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_plantDetect,"plantDetect"],[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_logoSearch,"logoSearch"]]),"TYPE"),this.setOutput(!0)}},AI_Face_match={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipFace_match).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_Image+"1"+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("VAR2").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_Image+"2"+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipFace_match_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_Ocr={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipOcr).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_FUNC).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ADDR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify_Image).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_Ocr_Func={init:function(){this.setColour(AI_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_basicGeneral,"basicGeneral"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_webImage,"webImage"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_idcard,"idcard"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_bankcard,"bankcard"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_drivingLicense,"drivingLicense"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_vehicleLicense,"vehicleLicense"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_licensePlate,"licensePlate"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_businessLicense,"businessLicense"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_receipt,"receipt"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_trainTicket,"trainTicket"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_taxiReceipt,"taxiReceipt"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_form,"tableRecognition"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_vatInvoice,"vatInvoice"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_passport,"passport"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr_handwriting,"handwriting"]]),"TYPE"),this.setOutput(!0)}},AI_Nlp={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_FUNC).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(external_Blockly_namespaceObject.Msg.OLED_STRING).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_Nlp_Sim={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Sim).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("FUNC").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_FUNC).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(external_Blockly_namespaceObject.Msg.OLED_STRING+"1").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(external_Blockly_namespaceObject.Msg.OLED_STRING+"2").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Sim_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_Nlp_Func={init:function(){this.setColour(AI_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_lexer,"lexer"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_depParser,"depParser"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_wordEmbedding,"wordEmbedding"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_dnnlm,"dnnlm"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_commentTag,"commentTag"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_sentimentClassify,"sentimentClassify"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_keyword,"keyword"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_topic,"topic"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_ecnet,"ecnet"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_emotion,"emotion"]]),"TYPE"),this.setOutput(!0)}},AI_Nlp_Func_sim={init:function(){this.setColour(AI_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_wordSimEmbedding,"wordSimEmbedding"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_simnet,"simnet"]]),"TYPE"),this.setOutput(!0)}},AI_Nlp_Topic={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_topic).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("STR1").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Topic_Title).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("STR2").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Topic_Content).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Topic_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_Nlp_newsSummary={init:function(){this.setColour(AI_HUE),this.appendValueInput("SUB").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_summary).appendField(external_Blockly_namespaceObject.Msg.MIXLY_Client).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("STR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Topic_Content).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("LEN").appendField(external_Blockly_namespaceObject.Msg.MIXLY_LIST_LEN).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("ATTR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Summary_TOOLTIP),this.setInputsInline(!1),this.setOutput(!0)}},AI_audio={init:function(){this.setColour(AI_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXPY_AI_AUDIO),this.appendValueInput("TIME").appendField(external_Blockly_namespaceObject.Msg.MIXPY_AI_AUDIO_TIME),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXPY_AI_AUDIO_TOOLTIP)}},AI_photo={init:function(){this.setColour(AI_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXPY_AI_PHOTO),this.appendValueInput("BUT").appendField(external_Blockly_namespaceObject.Msg.MIXPY_AI_PHOTO_BUTTON),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXPY_AI_PHOTO_TOOLTIP)}},AI_result={init:function(){this.setColour(AI_HUE),this.appendValueInput("AI").appendField(external_Blockly_namespaceObject.Msg.MIXPY_AI_RESULT).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_AipImageClassify,"Image"],[external_Blockly_namespaceObject.Msg.MIXLY_AipSpeech_asr,"Speech"],[external_Blockly_namespaceObject.Msg.MIXLY_AipFace_match,"Face"],[external_Blockly_namespaceObject.Msg.MIXLY_AipOcr,"Ocr"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_simnet,"OcrSimilarity"],[external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_sentimentClassify,"Emotion"]]),"CTYPE"),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.LOGIC_NEGATE_TOOLTIP)}},ALGORITHM_HUE="#526FC3",algorithm_prepare={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_add_school={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_ADD_SCHOOL),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_find_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_FIND_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_new_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NEW_PATH),this.setOutput(!0)}},algorithm_set_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_SET_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_add_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_ADD_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_del_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_DEL_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_return_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_RETURN_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_no_left={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NO_LEFT),this.setOutput(!0)}},algorithm_print_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_prepare2={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_current_school={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_CURRENT_SCHOOL),this.setOutput(!0)}},algorithm_no_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NO_PATH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_prepare_2_1={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_prepare_2_2={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PREPARE_2_2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_move_recent={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_MOVE_RECENT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_not_home={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NOT_HOME),this.setOutput(!0)}},algorithm_not_school={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NOT_SCHOOL),this.setOutput(!0)}},algorithm_print_path2={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_PATH2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},hanoi_init={init:function(){this.appendDummyInput().appendField("准备").appendField(new external_Blockly_namespaceObject.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},hanoi_move={init:function(){this.appendDummyInput().appendField("移动圆盘从"),this.appendValueInput("FROM_NUM").setCheck(null).appendField("柱"),this.appendDummyInput().appendField("到"),this.appendValueInput("TO_NUM").setCheck(null).appendField("柱"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_all_books={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_all_books_sequence={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_ALL_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_first_book={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_FIRST_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_no_ring2={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NO_RING),this.setOutput(!0)}},algorithm_yes_ring2={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_YES_RING),this.setOutput(!0)}},algorithm_next_book={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NEXT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_two_left={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_TWO_LEFT),this.setOutput(!0)}},algorithm_divide_books={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_DIVIDE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_get_half_books={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_GET_HALF_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_delete_book={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_delete_books={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_delete_books2={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_DELETE_BOOKS2),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_print_book2={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_BOOK),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_book_scale={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("设置待查书总数 N=").appendField(new external_Blockly_namespaceObject.FieldDropdown([["5","5"],["10","10"],["20","20"],["50","50"]]),"NUM"),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_number_zero={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ZERO),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_number_add={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_NUMBER_ADD),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_print_number={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_NUMBER),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_get_book_num={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField("n"+external_Blockly_namespaceObject.Msg.MIXLY_VALUE2).appendField(new external_Blockly_namespaceObject.FieldTextInput("50"),"NUM"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_print_sequence={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_SEQUENCE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_print_divide={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_PRINT_DIVIDE),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_init_jttl={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("初始化鸡兔同笼问题:"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("有若干只鸡、兔在同一个笼子里。"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("从上面数鸡兔有10个头,"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("从下面数鸡兔有32只脚。"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("问笼中有多少只鸡和多少只兔?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_rabbit_zero={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("假设兔子的数量为0只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_rabbit_number_in_range={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("兔子的数量在范围之内"),this.setOutput(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_chick_calculate={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("根据(头数-兔子数)计算出鸡的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_check_feet={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("计算得到脚的数量正确"),this.setOutput(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_print_jttl_answer={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("输出鸡、兔的数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_rabbit_add={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("假设兔子数量要更多一只"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_init_fzsf={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("加载路线图"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_fz_calc={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("计算").appendField(new external_Blockly_namespaceObject.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("长度"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_fz_calc_first_min={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("设置S1为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_fz_compare={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField(new external_Blockly_namespaceObject.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("的长度比").appendField(new external_Blockly_namespaceObject.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME2").appendField("短"),this.setOutput(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_fz_set_min={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("设置").appendField(new external_Blockly_namespaceObject.FieldDropdown([["S1","1"],["S2","2"],["S3","3"],["S4","4"]]),"PATHNAME").appendField("为Smin"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_fz_move={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("按照Smin移动"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_init_hxdb={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("初始化韩信点兵问题:"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("有未知数量的若干士兵。"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("若3人一排列队,多1人;"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("若5人一排列队,多2人;"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("若7人一排列队,多2人;"),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("问士兵的数量最少是多少人?"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_hxdb_init_soldier={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("初始化士兵为").appendField(new external_Blockly_namespaceObject.FieldTextInput("7"),"NUM").appendField("个"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_hxdb_stand_in_line={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("使士兵").appendField(new external_Blockly_namespaceObject.FieldDropdown([["3","3"],["5","5"],["7","7"]]),"NUM").appendField("人一排列队"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_hxdb_last_line={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("剩余").appendField(new external_Blockly_namespaceObject.FieldTextInput("1"),"NUM").appendField("个士兵"),this.setOutput(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_hxdb_add={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("增加1个士兵"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},algorithm_hxdb_result={init:function(){this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.LEFT).appendField("输出士兵数量"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setTooltip(""),this.setHelpUrl("")}},hanoi_init_offline={init:function(){this.appendDummyInput().appendField("准备").appendField(new external_Blockly_namespaceObject.FieldNumber(3,0,100,1),"NUM").appendField("层汉诺塔"),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ALGORITHM_HUE),this.setInputsInline(!0),this.setTooltip(""),this.setHelpUrl("")}},algorithm_get_current_location={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_GET_CURRENT_LOCATION),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},algorithm_void_path={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_ALGORITHM_VOID_PATH),this.setOutput(!0)}},algorithm_color_seclet={init:function(){this.setColour(ALGORITHM_HUE),this.appendDummyInput("").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(new external_Blockly_namespaceObject.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},COMMUNICATE_HUE="#3288dd",requests_get_old={init:function(){this.setColour(COMMUNICATE_HUE),this.appendValueInput("DOMAIN").appendField(external_Blockly_namespaceObject.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_REQUESTS_GET).appendField(new external_Blockly_namespaceObject.FieldTextInput("response"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.blockpy_REQUESTS_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},requests_get={init:function(){this.setColour(COMMUNICATE_HUE),this.appendValueInput("URL").appendField(external_Blockly_namespaceObject.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_CONDUCT).appendField(new external_Blockly_namespaceObject.FieldDropdown([["get","get"],["head","head"],["delete","delete"]]),"TYPE").appendField(external_Blockly_namespaceObject.Msg.blockpy_REQUESTS).appendField(external_Blockly_namespaceObject.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},requests_post={init:function(){this.setColour(COMMUNICATE_HUE),this.appendValueInput("URL").appendField(external_Blockly_namespaceObject.Msg.DISPLAY_IMAGE_LET2).setCheck(String),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_CONDUCT).appendField(new external_Blockly_namespaceObject.FieldDropdown([["post","post"],["put","put"],["patch","patch"]]),"TYPE").appendField(external_Blockly_namespaceObject.Msg.blockpy_REQUESTS),this.appendValueInput("data").appendField(external_Blockly_namespaceObject.Msg.blockpy_REQUESTS+external_Blockly_namespaceObject.Msg.OLED_STRING),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXPY_REQUESTS_GET_RESULT),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip("")}},requests_attribute={init:function(){this.appendValueInput("VAL");var e=[[external_Blockly_namespaceObject.Msg.blockpy_REQUESTS_GET_ATTR_STATUS_CODE,"status_code"],[external_Blockly_namespaceObject.Msg.blockpy_REQUESTS_GET_ATTR_TEXT,"text"],[external_Blockly_namespaceObject.Msg.blockpy_REQUESTS_GET_ATTR_COOKIES,"cookies"],[external_Blockly_namespaceObject.Msg.blockpy_REQUESTS_GET_ATTR_CONTENT,"content"],[external_Blockly_namespaceObject.Msg.MIXPY_TEXT_ENCODE,"encoding"]];this.setColour(COMMUNICATE_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"ATTR"),this.setInputsInline(!0),this.setOutput(!0,String)}},requests_method={init:function(){this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.DISPLAY_IMAGE_LET2).setCheck(String);this.setColour(COMMUNICATE_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_CONDUCT).appendField(new external_Blockly_namespaceObject.FieldDropdown([["post","post"],["put","put"],["delete","delete"],["head","head"],["option","option"]]),"DIR"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_REQUESTS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{forward:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[t]}))}},CV_HUE="f0a559",cv_read_image={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_IMREAD),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},cv_show_image={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.OLED_BITMAP),this.appendValueInput("data").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_AipNlp_Topic_Title),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cv_write_image={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_IMWRITE),this.appendValueInput("data").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.HTML_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cv_waitkey={init:function(){this.setColour(CV_HUE),this.appendValueInput("data").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_DELAY),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MILLIS+external_Blockly_namespaceObject.Msg.MIXLY_CV_OR_PRESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_CV_WAITKEY_TOOLTIP)}},cv_destroy_all={init:function(){this.setColour(CV_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_DESTROY_ALL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},cv_line_rect={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_IMAGE);var e=[[external_Blockly_namespaceObject.Msg.MIXLY_CV_RECT,"rectangle"],[external_Blockly_namespaceObject.Msg.MIXLY_CV_LINE,"line"]];this.appendValueInput("x1").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_DISPLAY_DRAW).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendValueInput("x2").setCheck(Number).appendField(") "+external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_END+"(x2"),this.appendValueInput("y2").setCheck(Number).appendField(",y2"),this.appendDummyInput().appendField(") "+external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},cv_text={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_IMAGE);this.appendValueInput("data").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWTEXT),this.appendValueInput("x1").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_BEGIN+"(x1"),this.appendValueInput("y1").setCheck(Number).appendField(",y1"),this.appendDummyInput().appendField(") "+external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NAME).appendField(new external_Blockly_namespaceObject.FieldDropdown([["SIMPLEX","SIMPLEX"],["PLAIN","PLAIN"],["DUPLEX","DUPLEX"],["COMPLEX","COMPLEX"],["COMPLEX_SMALL","COMPLEX_SMALL"],["TRIPLEX","TRIPLEX"],["SCRIPT_SIMPLEX","SCRIPT_SIMPLEX"],["SCRIPT_COMPLEX","SCRIPT_COMPLEX"]]),"font"),this.appendValueInput("size").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput().appendField(") "+external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_COLOR).appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"FIELDNAME"),this.appendValueInput("thick").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_THICKNESS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_CV_DRAWLINE_RECT_TOOLTIP)}},cv_face_classifier={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_CLASSIFIER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},cv_face_detect={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},cv_face_detect_all={init:function(){this.setColour(CV_HUE),this.appendValueInput("FILE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_IMAGE),this.appendValueInput("FACE").appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_DETECT),this.appendValueInput("SCALE").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_DETECT_SCALE),this.appendValueInput("NEIGHBOR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_DETECT_NEIGHBOR),this.appendValueInput("x1").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_CV_FACE_DETECT_RANGE).appendField(external_Blockly_namespaceObject.Msg.blockpy_TUPLE_MIN),this.appendValueInput("y1").setCheck(Number).appendField("×"),this.appendValueInput("x2").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.blockpy_TUPLE_MAX),this.appendValueInput("y2").setCheck(Number).appendField("×"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)}},DATA_HUE=170,series_create={init:function(){this.setColour(DATA_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_series_create).appendField(new external_Blockly_namespaceObject.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(external_Blockly_namespaceObject.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.blockpy_series_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},series_create_from_index={init:function(){this.setColour(DATA_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_series_create).appendField(new external_Blockly_namespaceObject.FieldTextInput("ser1"),"VAR"),this.appendValueInput("SER").appendField(external_Blockly_namespaceObject.Msg.blockpy_series_via),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(external_Blockly_namespaceObject.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.blockpy_series_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},dataframe_create={init:function(){this.setColour(DATA_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_dataframe_create).appendField(new external_Blockly_namespaceObject.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(external_Blockly_namespaceObject.Msg.blockpy_series_via),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.blockpy_dataframe_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},dataframe_create_from_one_index={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.DATAFRAME_RAW,"index"],[external_Blockly_namespaceObject.Msg.DATAFRAME_COLUMN,"columns"]];this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_dataframe_create).appendField(new external_Blockly_namespaceObject.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(external_Blockly_namespaceObject.Msg.blockpy_series_via),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"COLUMN_RAW"),this.appendValueInput("INDEX").setCheck([String,"List"]).appendField(external_Blockly_namespaceObject.Msg.blockpy_series_set_index),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},dataframe_create_from_index={init:function(){this.setColour(DATA_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_dataframe_create).appendField(new external_Blockly_namespaceObject.FieldTextInput("df1"),"VAR"),this.appendValueInput("SER").appendField(external_Blockly_namespaceObject.Msg.blockpy_series_via),this.appendValueInput("INDEX_COLUMN").setCheck([String,"List"]).appendField(external_Blockly_namespaceObject.Msg.blockpy_dataframe_set_index_column),this.appendValueInput("INDEX_RAW").setCheck([String,"List"]).appendField(external_Blockly_namespaceObject.Msg.blockpy_dataframe_set_index_raw),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.blockpy_dataframe_create_index_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},series_create_from_text={init:function(){this.setColour(DATA_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldTextInput("ser1"),"VAR").appendField(" = [").appendField(new external_Blockly_namespaceObject.FieldTextInput("1,2,3"),"TEXT").appendField("]"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_SERIES_CREATE_FROM_TEXT)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},series_index_value={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.SERIES_INDEX,"index"],[external_Blockly_namespaceObject.Msg.HTML_VALUE,"value"]];this.appendValueInput("SERIES").setCheck("Series"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.SERIES_INDEX_VALUE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"INDEX_VALUE"),this.setOutput(!0,"List");var t=this;this.setTooltip((function(){var e=t.getFieldValue("INDEX_VALUE");return{index:external_Blockly_namespaceObject.Msg.SERIES_INDEX_TOOLTIP,value:external_Blockly_namespaceObject.Msg.HTML_VALUE_TOOLTIP}[e]}))}},series_get_num={init:function(){this.setColour(DATA_HUE),this.setOutput(!0),this.appendValueInput("SER").setCheck("Series"),this.appendValueInput("AT").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.LANG_LISTS_GET_INDEX1),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.LANG_LISTS_GET_INDEX2),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.TUPLE_GET_INDEX_TOOLTIP)}},pl_plot_easy={init:function(){this.setColour(DATA_HUE),this.appendValueInput("SER").setCheck("Series").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pl_plot={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[external_Blockly_namespaceObject.Msg.COLOUR_RGB_BLUE,"b"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_GREEN,"g"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_RED,"r"],[external_Blockly_namespaceObject.Msg.COLOUR_CYAN,"c"],[external_Blockly_namespaceObject.Msg.COLOUR_MAGENTA,"m"],[external_Blockly_namespaceObject.Msg.COLOUR_YELLOW,"y"],[external_Blockly_namespaceObject.Msg.COLOUR_BLACK,"k"],[external_Blockly_namespaceObject.Msg.COLOUR_WHITE,"w"]],n=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new external_Blockly_namespaceObject.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pl_show={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pl_axes={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pl_legend={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pl_title={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pl_label={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_X,"x"],[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_SET_LABEL).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},array_create={init:function(){this.setColour(DATA_HUE),this.appendValueInput("FROM").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_SPLITBYDOU).appendField(external_Blockly_namespaceObject.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},pl_plot_bar={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_DISPLAY_DRAW).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{plot:external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]}))}},pl_plot_scatter={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.COLOUR_RGB_BLUE,"b"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_GREEN,"g"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_RED,"r"],[external_Blockly_namespaceObject.Msg.COLOUR_CYAN,"c"],[external_Blockly_namespaceObject.Msg.COLOUR_MAGENTA,"m"],[external_Blockly_namespaceObject.Msg.COLOUR_YELLOW,"y"],[external_Blockly_namespaceObject.Msg.COLOUR_BLACK,"k"],[external_Blockly_namespaceObject.Msg.COLOUR_WHITE,"w"]],t=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_SCATTER).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},pl_plot_xy={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[external_Blockly_namespaceObject.Msg.COLOUR_RGB_BLUE,"b"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_GREEN,"g"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_RED,"r"],[external_Blockly_namespaceObject.Msg.COLOUR_CYAN,"c"],[external_Blockly_namespaceObject.Msg.COLOUR_MAGENTA,"m"],[external_Blockly_namespaceObject.Msg.COLOUR_YELLOW,"y"],[external_Blockly_namespaceObject.Msg.COLOUR_BLACK,"k"],[external_Blockly_namespaceObject.Msg.COLOUR_WHITE,"w"]],n=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new external_Blockly_namespaceObject.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},pl_bar={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[external_Blockly_namespaceObject.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_BAR).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},pl_pie={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[external_Blockly_namespaceObject.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[external_Blockly_namespaceObject.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE).appendField(external_Blockly_namespaceObject.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},pl_hist={init:function(){this.setColour(DATA_HUE),this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_HIST).appendField(external_Blockly_namespaceObject.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},pl_ticks={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_X,"x"],[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_SETTING).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},numpy_trig={init:function(){var e=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[external_Blockly_namespaceObject.Msg.LANG_MATH_TO_ROUND,"round"],[external_Blockly_namespaceObject.Msg.LANG_MATH_TO_CEIL,"ceil"],[external_Blockly_namespaceObject.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(DATA_HUE),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"OP"),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},pl_subplot={init:function(){this.setColour(DATA_HUE),this.appendValueInput("VET").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},pandas_readcsv={init:function(){this.setColour(DATA_HUE),this.appendValueInput("FILENAME").appendField(external_Blockly_namespaceObject.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[external_Blockly_namespaceObject.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},dataframe_get={init:function(){this.setColour(DATA_HUE),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.DATAFRAME_COLUMN,"column"],[external_Blockly_namespaceObject.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},pl_savefig={init:function(){this.setColour(DATA_HUE),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},pl_text={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.TEXT_TRIM_LEFT,"right"],[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_CENTER,"center"],[external_Blockly_namespaceObject.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_TOP,"bottom"],[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_CENTER,"center"],[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_SETTING).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_HOR).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_VER).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_TOOLTIP)}},array_toarray={init:function(){this.setColour(DATA_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},plot_plot_easy={init:function(){this.setColour(DATA_HUE),this.appendValueInput("SER").setCheck("Series").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_plot={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[external_Blockly_namespaceObject.Msg.COLOUR_RGB_BLUE,"b"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_GREEN,"g"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_RED,"r"],[external_Blockly_namespaceObject.Msg.COLOUR_CYAN,"c"],[external_Blockly_namespaceObject.Msg.COLOUR_MAGENTA,"m"],[external_Blockly_namespaceObject.Msg.COLOUR_YELLOW,"y"],[external_Blockly_namespaceObject.Msg.COLOUR_BLACK,"k"],[external_Blockly_namespaceObject.Msg.COLOUR_WHITE,"w"]],n=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new external_Blockly_namespaceObject.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_show={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_axes={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_legend={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_title={init:function(){this.setColour(DATA_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_label={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_X,"x"],[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_SET_LABEL).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.appendValueInput("LABEL").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_plot_bar={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_DISPLAY_DRAW).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{plot:external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[e]}))}},plot_plot_scatter={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.COLOUR_RGB_BLUE,"b"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_GREEN,"g"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_RED,"r"],[external_Blockly_namespaceObject.Msg.COLOUR_CYAN,"c"],[external_Blockly_namespaceObject.Msg.COLOUR_MAGENTA,"m"],[external_Blockly_namespaceObject.Msg.COLOUR_YELLOW,"y"],[external_Blockly_namespaceObject.Msg.COLOUR_BLACK,"k"],[external_Blockly_namespaceObject.Msg.COLOUR_WHITE,"w"]],t=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_SCATTER).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"DOT"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},plot_plot_xy={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],t=[[external_Blockly_namespaceObject.Msg.COLOUR_RGB_BLUE,"b"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_GREEN,"g"],[external_Blockly_namespaceObject.Msg.COLOUR_RGB_RED,"r"],[external_Blockly_namespaceObject.Msg.COLOUR_CYAN,"c"],[external_Blockly_namespaceObject.Msg.COLOUR_MAGENTA,"m"],[external_Blockly_namespaceObject.Msg.COLOUR_YELLOW,"y"],[external_Blockly_namespaceObject.Msg.COLOUR_BLACK,"k"],[external_Blockly_namespaceObject.Msg.COLOUR_WHITE,"w"]],n=[[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new external_Blockly_namespaceObject.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"LINE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},plot_bar={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[external_Blockly_namespaceObject.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_BAR).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"ALIGN"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.HTML_COLOUR).appendField(new external_Blockly_namespaceObject.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},plot_pie={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[external_Blockly_namespaceObject.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],t=[[external_Blockly_namespaceObject.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE).appendField(external_Blockly_namespaceObject.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"autopct"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},plot_hist={init:function(){this.setColour(DATA_HUE),this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_HIST).appendField(external_Blockly_namespaceObject.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},plot_ticks={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_X,"x"],[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_SETTING).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.appendValueInput("A").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},plot_subplot={init:function(){this.setColour(DATA_HUE),this.appendValueInput("VET").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},plot_savefig={init:function(){this.setColour(DATA_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},plot_text={init:function(){this.setColour(DATA_HUE);var e=[[external_Blockly_namespaceObject.Msg.TEXT_TRIM_LEFT,"right"],[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_CENTER,"center"],[external_Blockly_namespaceObject.Msg.TEXT_TRIM_RIGHT,"left"]],t=[[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_TOP,"bottom"],[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_CENTER,"center"],[external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_SETTING).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_HOR).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"HALIGN"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_VER).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_PL_TEXT_TOOLTIP)}},numpy_shape={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取维度"),this.setOutput(!0),this.setTooltip("Returns the shape of the array.")}},numpy_reshape={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("变形"),this.appendValueInput("DIMENSIONS").appendField("后维度为"),this.setOutput(!0),this.setTooltip("Reshapes the array to the specified dimensions.")}},numpy_astype={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("把"),this.appendDummyInput().appendField("转换为").appendField(new external_Blockly_namespaceObject.FieldDropdown([["uint8","numpy.uint8"],["int32","numpy.int32"],["float32","numpy.float32"],["float64","numpy.float64"]]),"TYPE"),this.setOutput(!0),this.setTooltip("Converts array to specified type.")}},pylab_imshow={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("展示图像"),this.appendDummyInput().appendField("颜色").appendField(new external_Blockly_namespaceObject.FieldDropdown([["gray","gray"],["viridis","viridis"],["plasma","plasma"],["inferno","inferno"],["magma","magma"],["cividis","cividis"],["hot","hot"],["cool","cool"],["spring","spring"],["summer","summer"],["autumn","autumn"],["winter","winter"],["jet","jet"]]),"COLORMAP"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Displays an image with the specified colormap.")}},numpy_mean_digit={init:function(){this.setColour(DATA_HUE),this.appendValueInput("X").appendField("从数据集"),this.appendValueInput("Y").appendField("获取平均图像,标签"),this.appendValueInput("DIGIT").appendField("为"),this.setOutput(!0),this.setTooltip("Computes the mean of X where y equals the specified digit.")}},numpy_argmin_template_match={init:function(){this.setColour(DATA_HUE),this.appendValueInput("IMAGE").appendField("获取模板匹配结果,图片:"),this.appendValueInput("TEMPLATES").appendField("模板:"),this.setOutput(!0),this.setTooltip("Finds the index of the template that minimizes the sum of absolute differences with the image.")}},numpy_mean={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取平均值"),this.appendDummyInput().appendField("沿着axis").appendField(new external_Blockly_namespaceObject.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the mean of the array along the specified axis.")}},numpy_std={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取标准差"),this.appendDummyInput().appendField("沿着axis").appendField(new external_Blockly_namespaceObject.FieldDropdown([["None","NONE"],["0","0"],["1","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Computes the standard deviation of the array along the specified axis.")}},pandas_dropna={init:function(){this.setColour(DATA_HUE),this.appendValueInput("DF").appendField("丢弃缺省值"),this.setOutput(!0),this.setTooltip("Drops rows with NaN values from the dataframe.")}},pandas_drop_columns={init:function(){this.setColour(DATA_HUE),this.appendValueInput("DATAFRAME").appendField("从数据集"),this.appendValueInput("COLUMNS").appendField("中删除列"),this.appendDummyInput().appendField("沿着axis").appendField(new external_Blockly_namespaceObject.FieldDropdown([["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Drops columns from dataframe.")}},numpy_ones={init:function(){this.setColour(DATA_HUE),this.appendValueInput("NUM").appendField("生成单位行向量"),this.setOutput(!0),this.setTooltip("Creates an array of ones with the specified length.")}},numpy_c_={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY1").appendField("列拼接:数组1"),this.appendValueInput("ARRAY2").appendField("数组2"),this.setOutput(!0),this.setTooltip("Concatenates two arrays along the second axis using numpy.c_.")}},numpy_linalg_det={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取行列式"),this.setOutput(!0),this.setTooltip("Computes the determinant of an array using numpy.linalg.det.")}},matrix_transpose={init:function(){this.setColour(DATA_HUE),this.appendValueInput("MATRIX").appendField("获取转置"),this.setOutput(!0),this.setTooltip("Computes the transpose of the given matrix.")}},matrix_multiplication={init:function(){this.setColour(DATA_HUE),this.appendValueInput("MATRIX1"),this.appendValueInput("MATRIX2").appendField("@"),this.setOutput(!0),this.setTooltip("Multiplies two matrices.")}},numpy_linalg_inv={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取逆矩阵"),this.setOutput(!0),this.setTooltip("Computes the inverse of the given matrix using numpy.linalg.inv.")}},dataframe_median={init:function(){this.setColour(DATA_HUE),this.appendValueInput("DATAFRAME").appendField("获取中位数"),this.setOutput(!0),this.setTooltip("Computes the median of the given dataframe.")}},dataframe_fillna={init:function(){this.setColour(DATA_HUE),this.appendValueInput("DATAFRAME").appendField("填充缺失值"),this.appendValueInput("VALUE").appendField("填充值"),this.appendDummyInput().appendField("是否修改原数据").appendField(new external_Blockly_namespaceObject.FieldDropdown([["True","True"],["False","False"]]),"INPLACE"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip("Fills NaN values in the dataframe with the specified value.")}},dataframe_info={init:function(){this.setColour(DATA_HUE),this.appendValueInput("DATAFRAME").appendField("获取DataFrame信息"),this.setOutput(!0),this.setTooltip("Displays information about the DataFrame.")}},numpy_min={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取最小值"),this.appendDummyInput().appendField("沿着axis").appendField(new external_Blockly_namespaceObject.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the minimum value along the specified axis.")}},numpy_max={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取最大值"),this.appendDummyInput().appendField("沿着axis").appendField(new external_Blockly_namespaceObject.FieldDropdown([["None","None"],["行","0"],["列","1"]]),"AXIS"),this.setOutput(!0),this.setTooltip("Returns the maximum value along the specified axis.")}},numpy_size={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取数组大小"),this.setOutput(!0),this.setTooltip("Returns the size of the array.")}},numpy_dot={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY1").appendField("点乘数组1"),this.appendValueInput("ARRAY2").appendField("点乘数组2"),this.setOutput(!0),this.setTooltip("Returns the dot product of two arrays.")}},numpy_square={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取平方数组"),this.setOutput(!0),this.setTooltip("Returns the element-wise square of the array.")}},numpy_sum={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("获取数组元素和"),this.setOutput(!0),this.setTooltip("Returns the sum of the array.")}},numpy_random_random={init:function(){this.setColour(DATA_HUE),this.appendValueInput("SIZE").appendField("生成随机数组"),this.setOutput(!0),this.setTooltip("Returns a random array of the specified size.")}},py_sum={init:function(){this.setColour(DATA_HUE),this.appendValueInput("ARRAY").appendField("Python求和"),this.setOutput(!0),this.setTooltip("Returns the sum of the iterable.")}},DS_HUE=80,ds_create_linkedlist={init:function(){this.setColour(DS_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldLabel(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_NEW)),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldLabel(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_HEAD)).appendField(new external_Blockly_namespaceObject.FieldTextInput("head"),"VAR"),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldLabel(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_TYPE)).appendField(new external_Blockly_namespaceObject.FieldTextInput("tag"),"TYPE"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_ATTRIBUTE),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new external_Blockly_namespaceObject.icons.MutatorIcon(["ds_create_linkedlist_item"],this)),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_TOOLTIP)},mutationToDom:function(){var e=document.createElement("mutation");return e.setAttribute("items",this.itemCount_),e},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("ds_create_linkedlist_container");t.initSvg();for(var n=t.getInput("STACK").connection,_=0;_t?e[t]:"name"),"KEY"+t).appendField("=")},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},ds_create_linkedlist_container={init:function(){this.setColour(DS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TITLE),this.appendStatementInput("STACK"),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_CONTAINER_TOOLTIP),this.contextMenu=!1}},ds_create_linkedlist_item={init:function(){this.setColour(DS_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_ITEM_TOOLTIP),this.contextMenu=!1}},ds_create_node={init:function(){this.setColour(DS_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_CREATE_NODE_USE).appendField(new external_Blockly_namespaceObject.FieldTextInput("tag"),"TYPE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_CREATE_NODE_NEW),this.appendValueInput("NODE"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_CREATE_NODE_TOOLTIP)}},ds_get_node_attr={init:function(){this.setColour(DS_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_GET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).appendField(new external_Blockly_namespaceObject.FieldTextInput("name"),"TYPE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_GET_NODE_ATTR_TOOLTIP)}},ds_set_node_attr={init:function(){this.setColour(DS_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AIP_ATTR).appendField(new external_Blockly_namespaceObject.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.DS_SET_NODE_ATTR_SET),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_SET_NODE_ATTR_TOOLTIP)}},ds_add_node_by_name={init:function(){this.setColour(DS_HUE),this.appendValueInput("NODE").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[external_Blockly_namespaceObject.Msg.DS_ADD_NODE_BEFORE,"before"],[external_Blockly_namespaceObject.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(external_Blockly_namespaceObject.Msg.DS_SET_NODE_ATTR_NODE),this.appendValueInput("NODE3").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_TOOLTIP)}},ds_add_node_by_attr={init:function(){this.setColour(DS_HUE),this.appendValueInput("NODE").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_HEAD_NODE);var e=[[external_Blockly_namespaceObject.Msg.DS_ADD_NODE_BEFORE,"before"],[external_Blockly_namespaceObject.Msg.DS_ADD_NODE_AFTER,"after"]];this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_CREATE_LINKEDLIST_ITEM_TITLE).appendField(new external_Blockly_namespaceObject.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AS),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_ATTR),this.appendValueInput("NODE3").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_TOOLTIP)}},ds_del_node_by_name={init:function(){this.setColour(DS_HUE),this.appendValueInput("NODE").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_LINKEDLIST),this.appendValueInput("NODE2").appendField(external_Blockly_namespaceObject.Msg.DS_DEL_NODE_NAME),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_DEL_NODE_TOOLTIP)}},ds_del_node_by_attr={init:function(){this.setColour(DS_HUE),this.appendValueInput("NODE").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_LINKEDLIST),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_DEL_NODE_ATTR).appendField(new external_Blockly_namespaceObject.FieldTextInput("name"),"TYPE"),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_AS),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_ATTR),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_DEL_NODE_TOOLTIP)}},ds_reverse_linkedlist={init:function(){this.setColour(DS_HUE),this.appendValueInput("NODE").appendField(external_Blockly_namespaceObject.Msg.DS_ADD_NODE_HEAD_NODE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.DS_REVERSE_LINKEDLIST),this.appendValueInput("NODE2").appendField(external_Blockly_namespaceObject.Msg.DS_REVERSE_LINKEDLIST_NEW_HEAD),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DS_DEL_NODE_TOOLTIP)}},FACTORY_HUE="#777777",factory_from_import={init:function(){this.setColour(FACTORY_HUE),this.appendDummyInput("").appendField("from ").appendField(new external_Blockly_namespaceObject.FieldTextInput("ESP32"),"path").appendField(" import ").appendField(new external_Blockly_namespaceObject.FieldTextInput("*"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},factory_import={init:function(){this.setColour(FACTORY_HUE),this.appendDummyInput("").appendField("import ").appendField(new external_Blockly_namespaceObject.FieldTextInput("module"),"module"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},factory_function_noreturn={init:function(){this.setColour(FACTORY_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldTextInput("my_function"),"NAME"),this.itemCount_=1,this.arguments_=["x"],this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new external_Blockly_namespaceObject.icons.MutatorIcon(["factory_create_with_item"],this))},mutationToDom:function(){var e=document.createElement("mutation");e.setAttribute("items",this.itemCount_);for(var t=0;tt?e[t]:'"key'+(t+1)+'"'),"KEY"+t).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},iot_publish_container={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},iot_publish_item={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},iot_create_with_item={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},iot_mixio_connect={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_SERVER).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("USERNAME").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_WIFI_USERNAME).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("PASSWORD").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_IOT_PASSWORD).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("PROJECT").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_PROJECT).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IOT_MIXIO_PUBLISH={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_PUBLISH_NEW).appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("MSG").appendField(external_Blockly_namespaceObject.Msg.HTML_BODY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_IOT_EMQX_PUBLISH_TOOLTIP)}},IOT_MIXIO_SUBSCRIBE={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_SUBSCRIBE+external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_MSG).appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.appendValueInput("METHOD").appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_SET_METHOD),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},IOT_MIXIO_UNSUBSCRIBE={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO"),this.appendValueInput("TOPIC").appendField(external_Blockly_namespaceObject.Msg.MSG.stop+external_Blockly_namespaceObject.Msg.MIXLY_EMQX_SUBSCRIBE).appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_PUBLISH_TOPIC),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_IOT_EMQX_SUBSCRIBE_TOOLTIP)}},iot_mixio_disconnect={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_DISCONNECT_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iot_mixio_connect_only={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_CONNECT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iot_mixio_check={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_CHECK_ONENET),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iot_mixio_format_topic={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(external_Blockly_namespaceObject.MQTT_Topic),this.setInputsInline(!0),this.setOutput(!0)}},iot_mixio_format_msg={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_FORMAT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_PUBLISH_MSG),this.setInputsInline(!0),this.setOutput(!0)}},IOT_FORMATTING={init:function(){this.setColour(IOT_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_IOT_MAP_FORMATING),this.setOutput(!0)}},IOT_FORMAT_STRING={init:function(){this.setColour(IOT_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROPYTHON_FORMAT+"(Json)"),this.setOutput(!0)}},IOT_EMQX_PING={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_PING),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_ESP32_IOT_EMQX_PING_TOOLTIP)}},IOT_MIXIO_NTP={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO").appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET_NTP),this.appendValueInput("addr").appendField(external_Blockly_namespaceObject.blynk_SERVER_ADD),this.setInputsInline(!0),this.setOutput(!0)}},IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_SERVER).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.CONTROLS_FOR_INPUT_WITH+external_Blockly_namespaceObject.Msg.MIXLY_MIXIO_SHARE_KEY).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_CREATE_MQTT_CLIENT_AND_CONNECT),this.appendValueInput("SERVER").appendField(external_Blockly_namespaceObject.Msg.MIXLY_EMQX_SERVER).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.appendValueInput("KEY").appendField(external_Blockly_namespaceObject.Msg.CONTROLS_FOR_INPUT_WITH+"Mixly Key").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iot_mixly_key_py={init:function(){this.VISITOR_ID=external_Mixly_namespaceObject.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(IOT_HUE),this.appendDummyInput("").appendField(this.newQuote_(!0)).appendField(new external_Blockly_namespaceObject.FieldTextInput(this.visitorId),"VISITOR_ID").appendField(this.newQuote_(!1)),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")},newQuote_:function(e){if(e==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 external_Blockly_namespaceObject.FieldImage(t,12,12,'"')}},iot_mixly_key={init:function(){this.VISITOR_ID=external_Mixly_namespaceObject.Config.BOARD.visitorId.str32.substring(0,8).toUpperCase(),this.setColour(IOT_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldTextInput(this.visitorId),"VISITOR_ID"),this.setOutput(!0,null)},onchange:function(){const e=this.getFieldValue("VISITOR_ID");this.VISITOR_ID!==e&&this.setFieldValue(this.VISITOR_ID,"VISITOR_ID")}},iot_client_onboard={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MixIO").appendField(external_Blockly_namespaceObject.Msg.MSG.catEthernet_clinet),this.setOutput(!0),this.setInputsInline(!0)}},iot_http_client={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("HTTP"+external_Blockly_namespaceObject.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(external_Blockly_namespaceObject.Msg.DISPLAY_IMAGE_LET2),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_REQUESTS_GET).appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET_CURRENT_TIME).appendField(external_Blockly_namespaceObject.Msg.MIXLY_OPEN_DEBUG).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iot_http_data={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("HTTP"+external_Blockly_namespaceObject.Msg.MIXLY_Client).appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_REQUESTS_LEN,"client_len"],[external_Blockly_namespaceObject.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[external_Blockly_namespaceObject.Msg.MIXLY_REQUESTS_MESSAGE,"text"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},iot_mqtt_client={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MQTT"+external_Blockly_namespaceObject.Msg.MIXLY_Client),this.appendValueInput("addr").appendField(external_Blockly_namespaceObject.Msg.MIXLY_CONNECTTO),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_INIT_SUBSCRIBE).appendField(external_Blockly_namespaceObject.MQTT_Topic).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_GET_CURRENT_TIME,""]]),"key").appendField(external_Blockly_namespaceObject.Msg.MIXLY_OPEN_DEBUG).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"]]),"key2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},iot_mqtt_data={init:function(){this.setColour(IOT_HUE),this.appendDummyInput().appendField("MQTT"+external_Blockly_namespaceObject.Msg.MIXLY_Client).appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_REQUESTS_LEN,"client_len"],[external_Blockly_namespaceObject.Msg.MIXLY_REQUESTS_GET_LEN,"server_len"],[external_Blockly_namespaceObject.Msg.MIXLY_REQUESTS_MESSAGE,"time_msg()"]]),"key"),this.setOutput(!0),this.setInputsInline(!0)}},iot_onenetconnect=iot_onenet_connect,iot_onenetdisconnect=iot_onenet_disconnect,iot_checkonenet=iot_onenet_check,iot_publish=iot_onenet_publish,PINS_HUE=230,pins_digital_write={init:function(){this.setColour(PINS_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(external_Mixly_namespaceObject.Profile.default.digital_write),"PIN"),this.setOutput(!0)}},pins_digital_read={init:function(){this.setColour(PINS_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(external_Mixly_namespaceObject.Profile.default.digital_read),"PIN"),this.setOutput(!0)}},pins_analog_write={init:function(){this.setColour(PINS_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(external_Mixly_namespaceObject.Profile.default.analog_write),"PIN"),this.setOutput(!0)}},pins_analog_read={init:function(){this.setColour(PINS_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(external_Mixly_namespaceObject.Profile.default.analog_read),"PIN"),this.setOutput(!0)}},SERIAL_HUE=40,serial_open={init:function(){this.setColour(SERIAL_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldLabel(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_OPEN)).appendField(new external_Blockly_namespaceObject.FieldTextInput("ser"),"SER"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_SERIAL_BEGIN).appendField(new external_Blockly_namespaceObject.FieldDropdown([["115200","115200"],["256000","256000"],["128000","128000"],["57600","57600"],["56000","56000"],["43000","43000"],["38400","38400"],["28800","28800"],["19200","19200"],["9600","9600"],["4800","4800"],["2400","2400"],["1200","1200"],["600","600"],["300","300"],["110","110"]]),"BPS"),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_OPEN_TIMEOUT),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_OPEN_TOOLTIP)}},serial_write={init:function(){this.setColour(SERIAL_HUE),this.appendValueInput("SER"),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_WRITE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_WRITE_TOOLTIP)}},serial_read_b={init:function(){this.setColour(SERIAL_HUE),this.appendValueInput("SER"),this.appendValueInput("VAR").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_READ),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_READ_TOOLTIP)}},serial_close={init:function(){this.setColour(SERIAL_HUE),this.appendValueInput("SER"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_CLOSE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXPY_SERIAL_CLOSE_TOOLTIP)}},SKLEARN_HUE=80,sklearn_make_classification={init:function(){this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.SKLEARN_CLASSIFICATION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_redundant").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_REDUNDANT_FEATURES),this.appendValueInput("n_repeated").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_REPEATED_FEATURES),this.appendValueInput("n_classes").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_CLASSES),this.appendValueInput("n_clusters_per_class").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_CLUSTERS_PER_CLASSES),this.appendValueInput("random_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_make_regression={init:function(){this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.SKLEARN_REGRESSION_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_FEATURES),this.appendValueInput("n_informative").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_EFFECTIVE_FEATURES),this.appendValueInput("n_targets").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_LABELS),this.appendValueInput("bias").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.DEVIATION),this.appendValueInput("noise").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NOISE),this.appendValueInput("random_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_make_blobs={init:function(){this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.SKLEARN_CLUSTERING_GENERATION),this.appendValueInput("n_samples").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_SAMPLES),this.appendValueInput("n_features").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_FEATURES),this.appendValueInput("centers").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_CLUSTERS),this.appendValueInput("cluster_std").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.STANDARD_DEVIATION_OF_CLUSTER),this.appendValueInput("center_box").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.CLUSTER_BOUNDING_BOX),this.appendValueInput("shuffle").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SHUFFLE_SAMPLES),this.appendValueInput("random_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_load={init:function(){var e=[[external_Blockly_namespaceObject.Msg.SKLEARN_LOAD_IRIS,"load_iris"],[external_Blockly_namespaceObject.Msg.SKLEARN_LOAD_BOSTON,"load_boston"],[external_Blockly_namespaceObject.Msg.SKLEARN_LOAD_DIABETES,"load_diabetes"],[external_Blockly_namespaceObject.Msg.SKLEARN_LOAD_BREAST_CANCER,"load_breast_cancer"],[external_Blockly_namespaceObject.Msg.SKLEARN_LOAD_LINNERUD,"load_linnerud"],[external_Blockly_namespaceObject.Msg.SKLEARN_LOAD_DIGITS,"load_digits"]];this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.LOAD).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"type").appendField(new external_Blockly_namespaceObject.FieldTextInput("iris"),"name"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")},getVars:function(){return[this.getFieldValue("name")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("name"))&&this.setTitleValue(t,"name")}},sklearn_data_target={init:function(){this.appendValueInput("name").setCheck(null).appendField("sklearn "+external_Blockly_namespaceObject.Msg.DATA_SET),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.EIGENVALUES,"data"],[external_Blockly_namespaceObject.Msg.LABEL_VALUE,"target"],[external_Blockly_namespaceObject.Msg.FEATURE,"feature_names"],[external_Blockly_namespaceObject.Msg.mixpy_PYLAB_TICKS_TAG,"target_names"]]),"type"),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_train_test_split={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LABEL_VALUE),this.appendValueInput("test_size").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_train_test_split_no_target={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.DATA_SEGMENTATION),this.appendValueInput("train_data").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.EIGENVALUES),this.appendValueInput("test_size").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.TEST_SET_PROPORTION),this.appendValueInput("rondom_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_LinearRegression={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_LINEARREGRESSION_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("fit_intercept").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("n_jobs").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_Ridge={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_RIDGE_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("alpha").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_REGULA_INTENSITY),this.appendValueInput("fit_intercept").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_CALCULATE_MODEL_INTERRUPT),this.appendValueInput("normalize").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_REGRESSION_NORMIALIZATION),this.appendValueInput("max_iter").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_DecisionTreeClassifier_Regressor={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_DECISIONTREE_INIT).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"DecisionTreeClassifier"],[external_Blockly_namespaceObject.Msg.SKLEARN_REGRESSION_ALGORITHM,"DecisionTreeRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("max_depth").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("random_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_RandomForestClassifier_Regressor={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_RANDOMFOREST_INIT).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"RandomForestClassifier"],[external_Blockly_namespaceObject.Msg.SKLEARN_REGRESSION_ALGORITHM,"RandomForestRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("n_estimators").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_TREES),this.appendValueInput("max_depth").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_MAXIMUM_TREE_DEPTH),this.appendValueInput("n_jobs").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_THREADS),this.appendValueInput("random_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_KNeighborsClassifier_Regressor={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_KNN_INIT).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.SKLEARN_CLASSIFICATION_ALGORITHM,"KNeighborsClassifier"],[external_Blockly_namespaceObject.Msg.SKLEARN_REGRESSION_ALGORITHM,"KNeighborsRegressor"]]),"type"),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("K").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField("K"),this.appendValueInput("n_jobs").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_GaussianNB={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_GAUSSINNB_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_KMeans={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_KMEANS_INIT),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("n_clusters").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.NUMBER_OF_CLUSTERS_JUST),this.appendValueInput("max_iter").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_MAX_ITER),this.appendValueInput("random_state").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.RANDOM_SEED),this.appendValueInput("n_jobs").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.SKLEARN_THREADS),this.setInputsInline(!1),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_fit={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_fit_no_target={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.TRAINING_MODEL),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.EIGENVALUES),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_predict={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.MODEL_PRODICTION),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_score={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.EIGENVALUES),this.appendValueInput("train_target").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.LABEL_VALUE),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_score_no_target={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.CALCULATE_THE_SCORE),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("train_data").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.EIGENVALUES),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_coef_intercept={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_GENERALIZED_LINEAR_REGRESSION),this.appendValueInput("model_name").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).setCheck(null).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendDummyInput().setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.SKLEARN_COEF,"coef_"],[external_Blockly_namespaceObject.Msg.SKLEARN_INTERCEPT,"intercept_"]]),"type"),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_cluster_centers_labels_inertia={init:function(){this.appendDummyInput().appendField("sklearn "+external_Blockly_namespaceObject.Msg.SKLEARN_CLUSTERING),this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_GET).appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.SKLEARN_CLUSTER_CENTER,"cluster_centers_"],[external_Blockly_namespaceObject.Msg.SKLEARN_LABELS_AFTER_CLUSTERING,"labels_"],[external_Blockly_namespaceObject.Msg.SKLEARN_CLUSTERING_SUM_OF_SQUARED_DISTANCES,"inertia_"]]),"type"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},sklearn_save_load_model={init:function(){this.appendValueInput("model_name").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField("sklearn").appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.SKLEARN_SAVE_MODEL,"dump"],[external_Blockly_namespaceObject.Msg.SKLEARN_LOAD_MODEL,"load"]]),"type").appendField(" "+external_Blockly_namespaceObject.Msg.MODEL_NAME),this.appendValueInput("address").setCheck(null).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(SKLEARN_HUE),this.setTooltip(""),this.setHelpUrl("")}},SYSTEM_HUE=120,base_delay={init:function(){this.setColour(SYSTEM_HUE),this.appendValueInput("DELAY_TIME",Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_DELAY+"("+external_Blockly_namespaceObject.Msg.MIXLY_MILLIS+")").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},system_controls_millis={init:function(){this.setColour(SYSTEM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_time_time),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_CONTROL_MILLIS)}},time_localtime={init:function(){this.setColour(SYSTEM_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME),this.appendDummyInput().appendField(new external_Blockly_namespaceObject.FieldDropdown([[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_ALL,"all"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_YEAR,"0"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MONTH,"1"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DATE,"2"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_HOUR,"3"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_MINUTE,"4"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_SECOND,"5"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INWEEK,"6"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_INYEAR,"7"],[external_Blockly_namespaceObject.Msg.MIXLY_SYSTEM_TIME_LOCALTIME_DST,"8"]]),"op"),this.setOutput(!0),this.setInputsInline(!0)}},system_Panic_with_status_code={init:function(){this.setColour(SYSTEM_HUE),this.appendValueInput("STATUS_CODE",Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_Panic_with_status_code).setCheck(Number),this.setPreviousStatement(!0,null),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},system_reset={init:function(){this.setColour(SYSTEM_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_Reset_micro),this.setPreviousStatement(!0)}},controls_mstimer2={init:function(){this.setColour(SYSTEM_HUE),this.appendValueInput("TIME").setCheck(Number).setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField("MsTimer2").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MSTIMER2_EVERY),this.appendDummyInput().appendField("ms"),this.appendStatementInput("DO").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MSTIMER2_DO),this.setPreviousStatement(!0),this.setNextStatement(!0)}},controls_mstimer2_start={init:function(){this.setColour(SYSTEM_HUE),this.appendDummyInput().appendField("MsTimer2").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MSTIMER2_START),this.setPreviousStatement(!0),this.setNextStatement(!0)}},controls_mstimer2_stop={init:function(){this.setColour(SYSTEM_HUE),this.appendDummyInput().appendField("MsTimer2").appendField(external_Blockly_namespaceObject.Msg.MIXLY_STOP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},system_time_sleep={init:function(){this.setColour(SYSTEM_HUE),this.appendValueInput("DELAY_TIME",Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_DELAY).setCheck(Number),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_SECOND),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_CONTROL_DELAY)}},TURTLE_HUE=180,turtle_create={init:function(){this.setColour(TURTLE_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_create).appendField(new external_Blockly_namespaceObject.FieldTextInput("tina"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.blockpy_turtle_create_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},turtle_done={init:function(){this.setColour(TURTLE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_TURTLE_DONE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_exitonclick={init:function(){this.setColour(TURTLE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_TURTLE_EXITONCLICK),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_move={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.blockpy_forward,"forward"],[external_Blockly_namespaceObject.Msg.blockpy_backward,"backward"]];this.setColour(TURTLE_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_MOVE_BY).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_MOVE_BY_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{forward:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_FORWARD,backward:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_BACKWARD}[e]}))}},turtle_rotate={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.blockpy_left,"left"],[external_Blockly_namespaceObject.Msg.blockpy_right,"right"]];this.setColour(TURTLE_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_rotate).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MICROBIT_JS_BY_ANGLE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{left:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_LEFT,right:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_RIGHT}[e]}))}},turtle_setheading={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.blockpy_setheading),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_setheading_degree),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_screen_delay={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_SCREEN_DELAY),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_MILLIS),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_SCREEN_DELAY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_goto={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_goto),this.appendValueInput("val").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_goto_y),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_goto_position),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_setxy={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_X,"x"],[external_Blockly_namespaceObject.Msg.PYLAB_LABEL_Y,"y"]];this.setColour(TURTLE_HUE),this.appendValueInput("VAR").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_SETXY),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_SETXY_TOOLTIP)}},turtle_pos_shape={init:function(){this.setColour(TURTLE_HUE);var e=[[external_Blockly_namespaceObject.Msg.TURTLE_POS,"pos"],[external_Blockly_namespaceObject.Msg.TURTLE_SHAPE,"shape"],[external_Blockly_namespaceObject.Msg.TURTLE_HEADING,"heading"],[external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_WIDTH,"width"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_GET_SHAPESIZE,"shapesize"],[external_Blockly_namespaceObject.Msg.MIXLY_SPEED,"speed"]];this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.TURTLE_POS_SHAPE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR");var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{pos:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_POS,shape:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_SHAPE,heading:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_HEADING,width:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_WIDTH,speed:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_GET_SPEED,shapesize:external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_GET_SHAPESIZE_TOOLTIP}[e]})),this.setOutput(!0),this.setInputsInline(!0)}},turtle_clear={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.MIXLY_LCD_STAT_CLEAR,"clear"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_reset,"reset"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_home,"home"]];this.setColour(TURTLE_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{clear:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_CLEAR,reset:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_RESET,home:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_HOME}[e]}))}},turtle_penup={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.blockpy_turtle_penup,"penup"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_pendown,"pendown"]];this.setColour(TURTLE_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{penup:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_PENUP,pendown:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_PENDOWN}[e]}))}},turtle_fill={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.blockpy_turtle_beginfill,"begin"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_endfill,"end"]];this.setColour(TURTLE_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{begin:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_BEGINFILL,end:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_ENDFILL}[e]}))}},turtle_size_speed={init:function(){this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldTextInput("tina"),"TUR");var e=[[external_Blockly_namespaceObject.Msg.blockpy_turtle_size,"pensize"],[external_Blockly_namespaceObject.Msg.MIXLY_SPEED,"speed"]];this.setColour(TURTLE_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_set).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_set_num),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{pensize:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_SIZE,speed:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_SPEED}[e]}))}},turtle_size={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_set_size),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_speed={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR").setCheck("Turtle"),this.appendValueInput("data").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_set_speed),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_SPEED),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_circle={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.blockpy_turtle_circle,"circle"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_dot,"dot"]];this.setColour(TURTLE_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_draw).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR").appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_radius),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{circle:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE,dot:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_DOT}[e]}))}},turtle_circle_advanced={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_DRAW_CIRCLE).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_radius),this.appendValueInput("data").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_angle),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_CIRCLE)}},turtle_visible={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.blockpy_turtle_hide,"hideturtle"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_show,"showturtle"]];this.setColour(TURTLE_HUE),this.appendDummyInput("").appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("DIR");return{hideturtle:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_HIDE,showturtle:external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_TURTEL_SHOW}[e]}))}},turtle_bgcolor={init:function(){this.setColour(TURTLE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_bgcolor).appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_pencolor={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_pencolor).appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_fillcolor={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_fillcolor).appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"FIELDNAME"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_clone={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.TURTLE_CLONE),this.setTooltip(external_Blockly_namespaceObject.Msg.TURTLE_CLONE_TOOLTIP),this.setOutput(!0)}},turtle_bgcolor_hex_new={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_bgcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_pencolor_hex_new={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_pencolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_fillcolor_hex_new={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_color={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_pencolor).appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"FIELDNAME"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_fillcolor).appendField(new external_Blockly_namespaceObject.FieldColour("#ff0000"),"FIELDNAME2"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_color_hex={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR1").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_pencolor),this.appendValueInput("VAR2").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_fillcolor),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_bgcolor_hex={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_bgcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_pencolor_hex={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_pencolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_fillcolor_hex={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_fillcolor_hex),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_shape={init:function(){this.appendValueInput("TUR").setCheck("Turtle");var e=[[external_Blockly_namespaceObject.Msg.blockpy_turtle_shape_arrow,"arrow"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_shape_turtle,"turtle"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_shape_circle,"circle"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_shape_square,"square"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_shape_triangle,"triangle"],[external_Blockly_namespaceObject.Msg.blockpy_turtle_shape_classic,"classic"]];this.setColour(TURTLE_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_shape).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"DIR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.TURTLE_SHAPE_TOOLTIP)}},turtle_shapesize={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_SHAPESIZE),this.appendValueInput("WID").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_SHAPESIZE_WID),this.appendValueInput("LEN").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_SHAPESIZE_LEN),this.appendValueInput("OUTLINE").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_SHAPESIZE_OUTLINE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TOOLTIP_SHAPESIZE)}},turtle_numinput={init:function(){this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_NUMINPUT),this.setColour(TURTLE_HUE),this.appendValueInput("TITLE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.appendValueInput("DEFAULT").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("MIN").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MATH_ONLIST_OPERATOR_MIN),this.appendValueInput("MAX").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MATH_ONLIST_OPERATOR_MAX),this.setInputsInline(!0),this.setOutput(!0,Number),this.setTooltip(external_Blockly_namespaceObject.Msg.TURTLE_NUMINPUT_TOOLTIP)}},turtle_textinput={init:function(){this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT),this.setColour(TURTLE_HUE),this.appendValueInput("TITLE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_TITLE),this.appendValueInput("PROMPT").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_MIXPY_TURTLE_TEXTINPUT_PROMPT),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(external_Blockly_namespaceObject.Msg.TURTLE_TEXTINPUT_TOOLTIP)}},turtle_write={init:function(){this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_write),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.TURTLE_WRITE_TOOLTIP)}},turtle_write_format={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD_ITALIC,'bold","italic']];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new external_Blockly_namespaceObject.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.TURTLE_WRITE_TOOLTIP)}},turtle_write_format_skulpt={init:function(){var e=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_FALSE,"False"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE_TRUE,"True"]],t=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_LEFT,"left"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN_RIGHT,"right"]],n=[[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_NORMAL,"normal"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_BOLD,"bold"],[external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE_ITALIC,"italic"]];this.appendValueInput("TUR").setCheck("Turtle"),this.setColour(TURTLE_HUE),this.appendValueInput("VAR").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.blockpy_turtle_write),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_MOVE).appendField(new external_Blockly_namespaceObject.FieldDropdown(e),"MOVE"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_ALIGN).appendField(new external_Blockly_namespaceObject.FieldDropdown(t),"ALIGN"),this.appendValueInput("FONTNAME").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NAME),this.appendValueInput("FONTNUM").setCheck(Number).appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTLE_WRITE_FONT_TYPE).appendField(new external_Blockly_namespaceObject.FieldDropdown(n),"FONTTYPE"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.TURTLE_WRITE_TOOLTIP)}},turtle_color_seclet={init:function(){this.setColour(TURTLE_HUE),this.appendDummyInput("").setAlign(external_Blockly_namespaceObject.inputs.Align.RIGHT).appendField(new external_Blockly_namespaceObject.FieldColour("ff0000"),"COLOR"),this.setInputsInline(!0),this.setOutput(!0,String)}},turtle_getscreen={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR").setCheck("Turtle"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_GETSCREEN).appendField(new external_Blockly_namespaceObject.FieldTextInput("screen"),"VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_GETSCREEN_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(e,t){external_Blockly_namespaceObject.Names.equals(e,this.getFieldValue("VAR"))&&this.setTitleValue(t,"VAR")}},turtle_onkey={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_EVENT_ONKEY),this.appendValueInput("callback").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_EVENT_ONKEY_TOOLTIP)}},turtle_onclick={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR"),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_EVENT_ONCLICK),this.appendValueInput("callback").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_EVENT_ONCLICK_TOOLTIP)}},turtle_ontimer={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR"),this.appendValueInput("VAR").appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_EVENT_ONTIMER),this.appendDummyInput("").appendField(external_Blockly_namespaceObject.Msg.MIXLY_mSecond),this.appendValueInput("callback").appendField(external_Blockly_namespaceObject.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_EVENT_ONTIMER_TOOLTIP)}},turtle_listen={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR"),this.appendDummyInput().appendField(external_Blockly_namespaceObject.Msg.MIXLY_TURTEL_SCREEN_LISTEN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},turtle_screen_savefig={init:function(){this.setColour(TURTLE_HUE),this.appendValueInput("TUR"),this.appendValueInput("FILE").setCheck(String).appendField(external_Blockly_namespaceObject.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(external_Blockly_namespaceObject.Msg.mixpy_TURTLE_SAVEFIG_TOOLTIP)}},ai_AI_ChooseAndGet=function(e,t){var n=this.getFieldValue("TYPE");return t.definitions_.import_FileDialog="import FileDialog",["FileDialog."+n+"()",t.ORDER_ATOMIC]},ai_AI_client=function(e,t){var n=this.getFieldValue("CTYPE");return t.definitions_.import_aip="import aip",t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+" = aip."+n+"("+t.valueToCode(this,"API_KEY",t.ORDER_ATOMIC)+", "+t.valueToCode(this,"SECRET_KEY",t.ORDER_ATOMIC)+")\n"},ai_AI_Speech_synthesis=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".synthesis("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_Speech_asr=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".asr("+(t.valueToCode(this,"FILE",t.ORDER_ATOMIC)||'""')+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_ImageClassify=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+_+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_Face_match=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".match("+t.valueToCode(this,"VAR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"VAR2",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_Ocr=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"ADDR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+_+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_Nlp=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"STR",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+_+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_Nlp_Sim=function(e,t){t.definitions_.import_aip="import aip";var n=t.valueToCode(this,"SUB",t.ORDER_ATOMIC),_=t.valueToCode(this,"STR1",t.ORDER_ATOMIC),a=t.valueToCode(this,"STR2",t.ORDER_ATOMIC);return[n+"."+t.valueToCode(this,"FUNC",t.ORDER_ATOMIC)+"("+_+","+a+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_Nlp_Topic=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".topic("+t.valueToCode(this,"STR1",t.ORDER_ATOMIC)+","+t.valueToCode(this,"STR2",t.ORDER_ATOMIC)+")",t.ORDER_ATOMIC]},ai_AI_Nlp_newsSummary=function(e,t){return t.definitions_.import_aip="import aip",[t.valueToCode(this,"SUB",t.ORDER_ATOMIC)+".newsSummary("+t.valueToCode(this,"STR",t.ORDER_ATOMIC)+","+t.valueToCode(this,"LEN",t.ORDER_ATOMIC)+", options="+(t.valueToCode(this,"ATTR",t.ORDER_ATOMIC)||"{}")+")",t.ORDER_ATOMIC]},ai_AI_ImageClassify_Func=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},ai_AI_Ocr_Func=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},ai_AI_Nlp_Func=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},ai_AI_Nlp_Func_sim=function(e,t){return[this.getFieldValue("TYPE"),t.ORDER_ATOMIC]},ai_AI_audio=function(e,t){return t.definitions_.import_audio="import audio","audio.audio_record("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"TIME",t.ORDER_ATOMIC)||"0")+")\n"},ai_AI_photo=function(e,t){return t.definitions_.import_audio="import cam","cam.photo_capture("+(t.valueToCode(this,"VAR",t.ORDER_ATOMIC)||'""')+","+(t.valueToCode(this,"BUT",t.ORDER_ATOMIC)||'""')+")\n"},ai_AI_result=function(e,t){var n=t.valueToCode(this,"AI",t.ORDER_ASSIGNMENT)||"0",_=this.getFieldValue("CTYPE");if("Image"==_)var a=n+'["result"][0]["keyword"]';if("Speech"==_)a=n+'["result"][0]';if("Face"==_||"OcrSimilarity"==_)a=n+'["score"]';if("Ocr"==_)a=n+'["words_result"]';return[a,t.ORDER_ATOMIC]},algorithm_algorithm_prepare=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,1,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,1,1,0,0], [0,0,1,0,0,1,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('map_xuexiao')\n\nhouse = [ sprite.Sprite('mark', 150, 380),\n sprite.Sprite('School', 115, 195),\n sprite.Sprite('House25', 264, 67),\n sprite.Sprite('House36', 320, 200),\n sprite.Sprite('House47', 290, 371),\n sprite.Sprite('House25', 479, 233),\n sprite.Sprite('House36', 674, 96),\n sprite.Sprite('House47', 642, 318)\n]\nfor i in house:\n i.hide()\n"},algorithm_algorithm_add_school=function(){return"path = [1]\ncar = sprite.Sprite('car', position[1][0], position[1][1])\nhouse[1].show()\ncar.nowPos = 1\ndef drive(n):\n if g[car.nowPos][n]==1:\n car.slideTo(position[n][0], position[n][1], 1)\n car.nowPos = n\n else:\n print('移动失败!程序有误!')\n exit()\n"},algorithm_algorithm_find_path=function(e,t){t.definitions_.import_random="import random";return"f = path[(len(path) - 1)]\nflag = 0\nfor _my_variable in [6,5,4,3,2,1,0]:\n if vis[_my_variable+1] == 0 and g[f][_my_variable+1] == 1:\n if mark[f][_my_variable+1] == 0:\n flag = 1\n break\n"},algorithm_algorithm_new_path=function(e,t){return["flag == 1",t.ORDER_ATOMIC]},algorithm_algorithm_set_path=function(){return"mark[f][_my_variable+1] = 1\nvis[_my_variable+1] = 1\n"},algorithm_algorithm_add_path=function(){return"path.append(_my_variable+1)\ndrive(path[len(path) - 1])\nhouse[_my_variable+1].show()\n"},algorithm_algorithm_del_path=function(e,t){t.definitions_.import_time="import time";return"del path[len(path) - 1]\nhouse[0].show()\ntime.sleep(0.5)\nhouse[0].hide()\n"},algorithm_algorithm_return_path=function(){var e="for i in range(7):\n mark[f][i+1] = 0\n vis[f] = 0\n";return e="house[f].hide()\ndrive(path[len(path) - 1])\n"+e},algorithm_algorithm_no_left=function(e,t){return["len(path) == 7",t.ORDER_ATOMIC]},algorithm_algorithm_print_path=function(){return'name = ["","学校","小智家","小欣家","小思家","小科家","贝贝家","乐乐家"]\nres = ""\nfor i in path:\n res = res + name[i] + "-"\nprint(res[:-1])\n'},algorithm_algorithm_prepare2=function(e,t){t.definitions_.import_sprite="import sprite";return"g = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,1,0,0,0,0,0,0], [0,0,0,1,0,0,1,0,0,0], [0,1,1,0,1,0,0,0,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,0,1,0,0,0,1,0,0], [0,0,1,0,0,0,0,1,0,0], [0,0,0,0,1,1,1,0,0,0]]\nmark = [[0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0,0,0]]\nvis = [0,1,0,0,0,0,0,0,0]\nposition = [[0, 0], [200, 200], [250, 60], [320, 200], [280, 380], [470, 250], [670, 90], [650, 340]]\nsprite.clearAllSprites()\nsprite.createBackground('map_xuexiao')\n\nhouse = [ sprite.Sprite('mark', 150, 380),\n sprite.Sprite('School', 115, 195),\n sprite.Sprite('House25', 264, 67),\n sprite.Sprite('House36', 320, 200),\n sprite.Sprite('House47', 290, 371),\n sprite.Sprite('House25', 479, 233),\n sprite.Sprite('House36', 674, 96),\n sprite.Sprite('House47', 642, 318)\n]\nbarricade = sprite.Sprite('barricade', 570, 170)\nbarricade.enlargeTo(100)\nfor i in house:\n i.hide()\n"},algorithm_algorithm_current_school=function(e,t){return["f == 1",t.ORDER_ATOMIC]},algorithm_algorithm_no_path=function(){return"print('没有符合条件的路线')\n"},algorithm_algorithm_prepare_2_1=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g = [[10000,10000,10000,10000,10000,10000,10000,10000,10000,10000,10000],[10000,10000,500,300,10000,10000,10000,10000,10000,10000,10000],[10000,500,10000,10000,100,10000,10000,10000,10000,10000,10000],[10000,300,10000,10000,400,300,10000,10000,10000,10000,10000],[10000,10000,100,400,10000,10000,200,10000,10000,10000,10000],[10000,10000,10000,300,10000,10000,100,200,10000,10000,10000],[10000,10000,10000,10000,200,100,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,200,10000,10000,100,10000,10000],[10000,10000,10000,10000,10000,10000,100,100,10000,10000,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小思家","银行","邮局","餐厅","书店","医院","超市","小科家"]\nposition = [[0, 0], [60, 320], [510, 390], [240, 200], [750, 330], [410, 90], [540, 190], [550, 30], [720, 120]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_si_ke\')\nstu = sprite.Sprite(\'girl\', 60, 320)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},algorithm_algorithm_prepare_2_2=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'g =[[10000,10000,10000,10000,10000,10000,10000],[10000,10000,300,500,10000,10000,10000],[10000,300,10000,10000,300,700,10000],[10000,500,10000,10000,10000,100,10000],[10000,10000,300,10000,10000,10000,200],[10000,10000,700,100,10000,10000,100],[10000,10000,10000,10000,200,100,10000]]\nnow=1\nlast=1\npath=[]\npath.append(1)\nname = ["","小智家","邮局","银行","书店","餐厅","学校"]\nposition = [[0, 0], [70, 340], [70, 90], [550, 310], [420, 70], [730, 250], [650, 130]]\nsprite.clearAllSprites()\nsprite.createBackground(\'map_zhi_xue\')\nstu = sprite.Sprite(\'boy\', 70, 340)\nstu.enlargeTo(100)\ntime.sleep(1)\n\n'},algorithm_algorithm_move_recent=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return'tmp=10000\nfor i in range(0, len(g), 1):\n if g[now][i]6:\n print("路线错乱!程序有误!")\n exit()\n'},algorithm_algorithm_not_home=function(e,t){return["name[now] != '小科家'",t.ORDER_ATOMIC]},algorithm_algorithm_not_school=function(e,t){return["name[now] != '学校'",t.ORDER_ATOMIC]},algorithm_algorithm_print_path2=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},algorithm_hanoi_init=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");if(n>=7)var _="print('层数过高!不得高于6层!')\nexit()\n";else _="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+n+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return _},algorithm_hanoi_move=function(e,t){var n=t.valueToCode(this,"FROM_NUM",t.ORDER_ATOMIC)||"0",_=t.valueToCode(this,"TO_NUM",t.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${n}])>0 :\n _HanoiBlockMoved = _Hanoi[${n}].pop()\n if len(_Hanoi[${_}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${_}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${_}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${_}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${_}*200+200, 400-len(_Hanoi[${_}])*27, 0.2)\n _Hanoi[${_}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},algorithm_algorithm_all_books_sequence=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},algorithm_algorithm_all_books=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},algorithm_algorithm_first_book=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},algorithm_algorithm_no_ring2=function(e,t){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",t.ORDER_ATOMIC]},algorithm_algorithm_yes_ring2=function(e,t){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",t.ORDER_ATOMIC]},algorithm_algorithm_next_book=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="res+=1\nflag=ring[res]\n";return n="Books[res].filterGray()\ntime.sleep(0.3)\n"+(n+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},algorithm_algorithm_two_left=function(e,t){return["len(list)>=2",t.ORDER_ATOMIC]},algorithm_algorithm_divide_books=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},algorithm_algorithm_get_half_books=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},algorithm_algorithm_delete_book=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},algorithm_algorithm_print_book2=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},algorithm_algorithm_book_scale=function(e,t){var n=this.getFieldValue("NUM");return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${n}):\n ring.append(0)\nfor i in range(1, ${n}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[n]}))\ntime.sleep(1)\nmode=3\n`},algorithm_algorithm_number_zero=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},algorithm_algorithm_number_add=function(e,t){t.definitions_.import_sprite="import sprite";return"cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},algorithm_algorithm_print_number=function(e,t){t.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},algorithm_algorithm_init_jttl=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},algorithm_algorithm_rabbit_zero=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit = 0\ntime.sleep(1)\n"},algorithm_algorithm_rabbit_number_in_range=function(e,t){return["_rabbit < _head",t.ORDER_ATOMIC]},algorithm_algorithm_chick_calculate=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},algorithm_algorithm_check_feet=function(e,t){return["_rabbit*4 + _chick*2 == _foot",t.ORDER_ATOMIC]},algorithm_algorithm_print_jttl_answer=function(e,t){t.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},algorithm_algorithm_rabbit_add=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},algorithm_algorithm_init_fzsf=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},algorithm_algorithm_fz_calc=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME");const _=[0,[1,3],[2,4],[5,7],[6]];var a="";return a+=`_S${n}.show()\ntime.sleep(1)\n`,a+=4!=n?`_Slen[${n}] = _Llen[${_[n][0]}] + _Llen[${_[n][1]}]\n_text_${n}.changeText('S${n}:'+str(_Slen[${n}])+'m')\ntime.sleep(1)\n_S${n}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},algorithm_algorithm_fz_compare=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return[n+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,t.ORDER_ATOMIC]},algorithm_algorithm_fz_set_min=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME"),_="";return _+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${n}\n_S${n}.show()\ntime.sleep(0.5)\n_S${n}.hide()\ntime.sleep(0.5)\n_S${n}.show()\ntime.sleep(1)\n`},algorithm_algorithm_fz_move=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},algorithm_algorithm_init_hxdb=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},algorithm_algorithm_hxdb_init_soldier=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n="";return n+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},algorithm_algorithm_hxdb_stand_in_line=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${n})*50 + (i//(4*${n}))*(${n}+1)*50 +(i%3-2), 80+(i//${n})*100-(i//(4*${n}))*4*100+(i%2), 0.05)\n_line = ${n}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},algorithm_algorithm_hxdb_last_line=function(e,t){return t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,t.ORDER_ATOMIC]},algorithm_algorithm_hxdb_add=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},algorithm_algorithm_hxdb_result=function(e,t){t.definitions_.import_time="import time",t.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},algorithm_hanoi_init_offline=function(e,t){t.definitions_.import_turtle="import turtle",t.definitions_.import_time="import time",t.definitions_.import_math="import math";var n=t.valueToCode(this,"VAR",t.ORDER_ATOMIC),_=this.getFieldValue("NUM");return t.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",t.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",t.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if apromptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as ee90x151100a10.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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodtopicmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012tina20tina90tina0tina2020tina50tinatinatinatina5tinatina5tina50tina50360tinatinatinaMixly!tinaMixly!Arial8tina#ff0000#FF0000tina#ff0000#FF0000tinatinascreenkeyfuncUpkeyfunctina100tina90screenclickfuncclickfunctinax20y20screentimerfunc3000timerfunctina100tina90screenx1.55.50.50,1,2,3x1,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag11,21,31,41,51,61,71,81,910,20,40,60,80,100TitleaxisABABC \ No newline at end of file +promptHelloHelloHello,HelloMixly2100,1,2,3051iDIVIDE10Exception as ee90x151100a10.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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2xmixio.mixly.cnmixio.mixly.cnA1B2C3mixio.mixly.cnusernamepasswordMyProjecttopicmsgtopicmethodtopicmethodEQmsg1content"long""lat""message"012content"key1""key2""key3"012tina20tina90tina0tina2020tina50tinatinatinatina5tinatina5tina50tina50360tinatinatinaMixly!tinaMixly!Arial8tina#ff0000#FF0000tina#ff0000#FF0000tinatinascreenkeyfuncUpkeyfunctina100tina90screenclickfuncclickfunctinax20y20screentimerfunc3000timerfunctina100tina90screenx1.55.50.50,1,2,3x1,2,3,45,6,7,81,2,3,45,6,7,820,20,20,20tag1,2,3,45,6,7,8tag1,2,3,45,6,7,80.5tag11,21,31,41,51,61,71,81,910,20,40,60,80,100TitleaxisABABC \ No newline at end of file diff --git a/boards/default/python_skulpt/main.bundle.js b/boards/default/python_skulpt/main.bundle.js index c82a7aa8..362ea4cc 100644 --- a/boards/default/python_skulpt/main.bundle.js +++ b/boards/default/python_skulpt/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{var t={788:()=>{Sk.builtinFiles={files:{"src/builtin/this.py":'s = """Gur Mra bs Clguba, ol Gvz Crgref\n\nOrnhgvshy vf orggre guna htyl.\nRkcyvpvg vf orggre guna vzcyvpvg.\nFvzcyr vf orggre guna pbzcyrk.\nPbzcyrk vf orggre guna pbzcyvpngrq.\nSyng vf orggre guna arfgrq.\nFcnefr vf orggre guna qrafr.\nErnqnovyvgl pbhagf.\nFcrpvny pnfrf nera\'g fcrpvny rabhtu gb oernx gur ehyrf.\nNygubhtu cenpgvpnyvgl orngf chevgl.\nReebef fubhyq arire cnff fvyragyl.\nHayrff rkcyvpvgyl fvyraprq.\nVa gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.\nGurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.\nNygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh\'er Qhgpu.\nAbj vf orggre guna arire.\nNygubhtu arire vf bsgra orggre guna *evtug* abj.\nVs gur vzcyrzragngvba vf uneq gb rkcynva, vg\'f n onq vqrn.\nVs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.\nAnzrfcnprf ner bar ubaxvat terng vqrn -- yrg\'f qb zber bs gubfr!"""\n\nd = {}\nfor c in (65, 97):\n for i in range(26):\n d[chr(i+c)] = chr((i+13) % 26 + c)\n\nprint("".join([d.get(c, c) for c in s]))\n',"src/lib/abc.py":'import _sk_fail; _sk_fail._("abc")\n',"src/lib/aifc.py":'import _sk_fail; _sk_fail._("aifc")\n',"src/lib/antigravity.py":'import webbrowser\n\nwebbrowser.open("https://xkcd.com/353/")\n',"src/lib/anydbm.py":'import _sk_fail; _sk_fail._("anydbm")\n',"src/lib/ast.py":'import _sk_fail; _sk_fail._("ast")\n',"src/lib/asynchat.py":'import _sk_fail; _sk_fail._("asynchat")\n',"src/lib/asyncore.py":'import _sk_fail; _sk_fail._("asyncore")\n',"src/lib/atexit.py":'import _sk_fail; _sk_fail._("atexit")\n',"src/lib/audiodev.py":'import _sk_fail; _sk_fail._("audiodev")\n',"src/lib/base64.py":'import _sk_fail; _sk_fail._("base64")\n',"src/lib/BaseHTTPServer.py":'import _sk_fail; _sk_fail._("BaseHTTPServer")\n',"src/lib/Bastion.py":'import _sk_fail; _sk_fail._("Bastion")\n',"src/lib/bdb.py":'import _sk_fail; _sk_fail._("bdb")\n',"src/lib/binhex.py":'import _sk_fail; _sk_fail._("binhex")\n',"src/lib/bisect.py":'"""Bisection algorithms."""\n\ndef insort_right(a, x, lo=0, hi=None):\n """Insert item x in list a, and keep it sorted assuming a is sorted.\n\n If x is already in a, insert it to the right of the rightmost x.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if x < a[mid]: hi = mid\n else: lo = mid+1\n a.insert(lo, x)\n\ndef bisect_right(a, x, lo=0, hi=None):\n """Return the index where to insert item x in list a, assuming a is sorted.\n\n The return value i is such that all e in a[:i] have e <= x, and all e in\n a[i:] have e > x. So if x already appears in the list, a.insert(x) will\n insert just after the rightmost x already there.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if x < a[mid]: hi = mid\n else: lo = mid+1\n return lo\n\ndef insort_left(a, x, lo=0, hi=None):\n """Insert item x in list a, and keep it sorted assuming a is sorted.\n\n If x is already in a, insert it to the left of the leftmost x.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if a[mid] < x: lo = mid+1\n else: hi = mid\n a.insert(lo, x)\n\n\ndef bisect_left(a, x, lo=0, hi=None):\n """Return the index where to insert item x in list a, assuming a is sorted.\n\n The return value i is such that all e in a[:i] have e < x, and all e in\n a[i:] have e >= x. So if x already appears in the list, a.insert(x) will\n insert just before the leftmost x already there.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if a[mid] < x: lo = mid+1\n else: hi = mid\n return lo\n\n# Overwrite above definitions with a fast C implementation\ntry:\n from _bisect import *\nexcept ImportError:\n pass\n\n# Create aliases\nbisect = bisect_right\ninsort = insort_right\n',"src/lib/bsddb/__init__.py":'import _sk_fail; _sk_fail._("bsddb")\n',"src/lib/cgi.py":'import _sk_fail; _sk_fail._("cgi")\n',"src/lib/CGIHTTPServer.py":'import _sk_fail; _sk_fail._("CGIHTTPServer")\n',"src/lib/cgitb.py":'import _sk_fail; _sk_fail._("cgitb")\n',"src/lib/chunk.py":'import _sk_fail; _sk_fail._("chunk")\n',"src/lib/cmd.py":'import _sk_fail; _sk_fail._("cmd")\n',"src/lib/code.py":'import _sk_fail; _sk_fail._("code")\n',"src/lib/codecs.py":'import _sk_fail; _sk_fail._("codecs")\n',"src/lib/codeop.py":'import _sk_fail; _sk_fail._("codeop")\n',"src/lib/colorsys.py":'import _sk_fail; _sk_fail._("colorsys")\n',"src/lib/commands.py":'import _sk_fail; _sk_fail._("commands")\n',"src/lib/compileall.py":'import _sk_fail; _sk_fail._("compileall")\n',"src/lib/compiler/__init__.py":'import _sk_fail; _sk_fail._("compiler")\n',"src/lib/config/__init__.py":'import _sk_fail; _sk_fail._("config")\n',"src/lib/ConfigParser.py":'import _sk_fail; _sk_fail._("ConfigParser")\n',"src/lib/contextlib.py":'import _sk_fail; _sk_fail._("contextlib")\n',"src/lib/Cookie.py":'import _sk_fail; _sk_fail._("Cookie")\n',"src/lib/cookielib.py":'import _sk_fail; _sk_fail._("cookielib")\n',"src/lib/copy.py":'"""\nThis file was modified from CPython.\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,\n2011, 2012, 2013, 2014, 2015 Python Software Foundation; All Rights Reserved\n"""\nimport types\nclass Error(Exception):\n pass\nerror = Error \nclass _EmptyClass:\n pass\ntry:\n long\nexcept NameError:\n long = int\ntry:\n bytes\nexcept NameError:\n bytes = str\n\ndef check_notimplemented_state(x):\n getstate = getattr(x, "__getstate__", None)\n setstate = getattr(x, "__setstate__", None)\n initargs = getattr(x, "__getinitargs__", None)\n if getstate or setstate or initargs:\n raise NotImplementedError("Skulpt does not yet support copying with user-defined __getstate__, __setstate__ or __getinitargs__()")\n\n\ndef copy(x):\n cls = type(x)\n if callable(x):\n return x\n copier = getattr(cls, "__copy__", None)\n if copier:\n return copier(x)\n if cls in (type(None), int, float, bool, str, bytes, tuple, type, frozenset, long):\n return x\n if (cls == list) or (cls == dict) or (cls == set) or (cls == slice):\n return cls(x)\n reductor = getattr(x, "__reduce_ex__", None)\n if reductor:\n rv = reductor(4)\n else:\n reductor = getattr(x, "__reduce__", None)\n if reductor:\n rv = reductor()\n elif str(cls)[1:6] == "class":\n check_notimplemented_state(x)\n copier = _copy_inst\n return copier(x)\n else:\n raise Error("un(shallow)copyable object of type %s" % cls)\n if isinstance(rv, str):\n return x\n return _reconstruct(x, rv, 0)\n\ndef _copy_inst(x):\n if hasattr(x, \'__copy__\'):\n return x.__copy__()\n if hasattr(x, \'__getinitargs__\'):\n args = x.__getinitargs__()\n y = x.__class__(*args)\n else:\n y = _EmptyClass()\n y.__class__ = x.__class__\n if hasattr(x, \'__getstate__\'):\n state = x.__getstate__()\n else:\n state = x.__dict__\n if hasattr(y, \'__setstate__\'):\n y.__setstate__(state)\n else:\n y.__dict__.update(state)\n return y\n\nd = _deepcopy_dispatch = {}\n\ndef deepcopy(x, memo=None, _nil=[]):\n """Deep copy operation on arbitrary Python objects.\n See the module\'s __doc__ string for more info.\n """\n if memo is None:\n memo = {}\n idx = id(x)\n y = memo.get(idx, _nil)\n if y is not _nil:\n return y\n cls = type(x)\n copier = _deepcopy_dispatch.get(cls)\n if copier:\n y = copier(x, memo)\n else:\n try:\n issc = issubclass(cls, type)\n except TypeError: # cls is not a class (old Boost; see SF #502085)\n issc = 0\n if issc:\n y = _deepcopy_atomic(x, memo)\n else:\n copier = getattr(x, "__deepcopy__", None)\n if copier:\n y = copier(memo)\n else:\n reductor = getattr(x, "__reduce_ex__", None)\n if reductor:\n rv = reductor(2)\n else:\n rv = None\n reductor = getattr(x, "__reduce__", None)\n if reductor:\n rv = reductor()\n elif str(cls)[1:6] == "class":\n check_notimplemented_state(x)\n copier = _deepcopy_dispatch["InstanceType"]\n y = copier(x, memo)\n else:\n raise Error(\n "un(deep)copyable object of type %s" % cls)\n if rv is not None:\n y = _reconstruct(x, rv, 1, memo)\n memo[idx] = y\n _keep_alive(x, memo) # Make sure x lives at least as long as d\n return y\n\ndef _deepcopy_atomic(x, memo):\n return x\nd[type(None)] = _deepcopy_atomic\n# d[type(Ellipsis)] = _deepcopy_atomic\nd[type(NotImplemented)] = _deepcopy_atomic\nd[int] = _deepcopy_atomic\nd[float] = _deepcopy_atomic\nd[bool] = _deepcopy_atomic\nd[complex] = _deepcopy_atomic\nd[bytes] = _deepcopy_atomic\nd[str] = _deepcopy_atomic\n# try:\n# d[types.CodeType] = _deepcopy_atomic\n# except AttributeError:\n# pass\nd[type] = _deepcopy_atomic\n# d[types.BuiltinFunctionType] = _deepcopy_atomic\nd[types.FunctionType] = _deepcopy_atomic\n# d[weakref.ref] = _deepcopy_atomic\n\ndef _deepcopy_list(x, memo):\n y = []\n memo[id(x)] = y\n for a in x:\n y.append(deepcopy(a, memo))\n return y\nd[list] = _deepcopy_list\n\ndef _deepcopy_set(x, memo):\n result = set([]) # make empty set\n memo[id(x)] = result # register this set in the memo for loop checking\n for a in x: # go through elements of set\n result.add(deepcopy(a, memo)) # add the copied elements into the new set\n return result # return the new set\nd[set] = _deepcopy_set\n\ndef _deepcopy_frozenset(x, memo):\n result = frozenset(_deepcopy_set(x,memo)) \n memo[id(x)] = result \n return result\nd[frozenset] = _deepcopy_frozenset\n\ndef _deepcopy_tuple(x, memo):\n y = [deepcopy(a, memo) for a in x]\n # We\'re not going to put the tuple in the memo, but it\'s still important we\n # check for it, in case the tuple contains recursive mutable structures.\n try:\n return memo[id(x)]\n except KeyError:\n pass\n for k, j in zip(x, y):\n if k is not j:\n y = tuple(y)\n break\n else:\n y = x\n return y\nd[tuple] = _deepcopy_tuple\n\ndef _deepcopy_dict(x, memo):\n y = {}\n memo[id(x)] = y\n for key, value in x.items():\n y[deepcopy(key, memo)] = deepcopy(value, memo)\n return y\nd[dict] = _deepcopy_dict\n\n# def _deepcopy_method(x, memo): # Copy instance methods\n# y = type(x)(x.im_func, deepcopy(x.im_self, memo), x.im_class);\n# return y\nd[types.MethodType] = _deepcopy_atomic\n\ndef _deepcopy_inst(x, memo):\n if hasattr(x, \'__deepcopy__\'):\n return x.__deepcopy__(memo)\n if hasattr(x, \'__getinitargs__\'):\n args = x.__getinitargs__()\n args = deepcopy(args, memo)\n y = x.__class__(*args)\n else:\n y = _EmptyClass()\n y.__class__ = x.__class__\n memo[id(x)] = y\n if hasattr(x, \'__getstate__\'):\n state = x.__getstate__()\n else:\n state = x.__dict__\n state = deepcopy(state, memo)\n if hasattr(y, \'__setstate__\'):\n y.__setstate__(state)\n else:\n y.__dict__.update(state)\n return y\nd["InstanceType"] = _deepcopy_inst\n\ndef _keep_alive(x, memo):\n """Keeps a reference to the object x in the memo.\n Because we remember objects by their id, we have\n to assure that possibly temporary objects are kept\n alive by referencing them.\n We store a reference at the id of the memo, which should\n normally not be used unless someone tries to deepcopy\n the memo itself...\n """\n try:\n memo[id(memo)].append(x)\n except KeyError:\n # aha, this is the first one :-)\n memo[id(memo)]=[x]\n\ndef _reconstruct(x, info, deep, memo=None):\n if isinstance(info, str):\n return x\n assert isinstance(info, tuple)\n if memo is None:\n memo = {}\n n = len(info)\n assert n in (2, 3, 4, 5)\n callable, args = info[:2]\n if n > 2:\n state = info[2]\n else:\n state = None\n if n > 3:\n listiter = info[3]\n else:\n listiter = None\n if n > 4:\n dictiter = info[4]\n else:\n dictiter = None\n if deep:\n args = deepcopy(args, memo)\n y = callable(*args)\n memo[id(x)] = y\n\n if state is not None:\n if deep:\n state = deepcopy(state, memo)\n if hasattr(y, \'__setstate__\'):\n y.__setstate__(state)\n else:\n if isinstance(state, tuple) and len(state) == 2:\n state, slotstate = state\n else:\n slotstate = None\n if state is not None:\n y.__dict__.update(state)\n if slotstate is not None:\n for key, value in slotstate.items():\n setattr(y, key, value)\n\n if listiter is not None:\n for item in listiter:\n if deep:\n item = deepcopy(item, memo)\n y.append(item)\n if dictiter is not None:\n for key, value in dictiter:\n if deep:\n key = deepcopy(key, memo)\n value = deepcopy(value, memo)\n y[key] = value\n return y\n\ndel d\n\ndel types\n\n# Helper for instance creation without calling __init__\nclass _EmptyClass:\n pass',"src/lib/copy_reg.py":'import _sk_fail; _sk_fail._("copy_reg")\n',"src/lib/cProfile.py":'import _sk_fail; _sk_fail._("cProfile")\n',"src/lib/csv.py":'import _sk_fail; _sk_fail._("csv")\n',"src/lib/ctypes/macholib/__init__.py":'import _sk_fail; _sk_fail._("macholib")\n',"src/lib/ctypes/__init__.py":'import _sk_fail; _sk_fail._("ctypes")\n',"src/lib/curses/__init__.py":'import _sk_fail; _sk_fail._("curses")\n',"src/lib/dbhash.py":'import _sk_fail; _sk_fail._("dbhash")\n',"src/lib/decimal.py":'import _sk_fail; _sk_fail._("decimal")\n',"src/lib/difflib.py":'import _sk_fail; _sk_fail._("difflib")\n',"src/lib/dircache.py":'import _sk_fail; _sk_fail._("dircache")\n',"src/lib/dis.py":'import _sk_fail; _sk_fail._("dis")\n',"src/lib/distutils/command/__init__.py":'import _sk_fail; _sk_fail._("command")\n',"src/lib/distutils/tests/__init__.py":'import _sk_fail; _sk_fail._("tests")\n',"src/lib/distutils/__init__.py":'import _sk_fail; _sk_fail._("distutils")\n',"src/lib/doctest.py":'import _sk_fail; _sk_fail._("doctest")\n',"src/lib/DocXMLRPCServer.py":'import _sk_fail; _sk_fail._("DocXMLRPCServer")\n',"src/lib/dumbdbm.py":'import _sk_fail; _sk_fail._("dumbdbm")\n',"src/lib/dummy_thread.py":'import _sk_fail; _sk_fail._("dummy_thread")\n',"src/lib/dummy_threading.py":'import _sk_fail; _sk_fail._("dummy_threading")\n',"src/lib/email/mime/__init__.py":'import _sk_fail; _sk_fail._("mime")\n',"src/lib/email/test/data/__init__.py":'import _sk_fail; _sk_fail._("data")\n',"src/lib/email/__init__.py":'import _sk_fail; _sk_fail._("email")\n',"src/lib/encodings/__init__.py":'import _sk_fail; _sk_fail._("encodings")\n',"src/lib/filecmp.py":'import _sk_fail; _sk_fail._("filecmp")\n',"src/lib/fileinput.py":'import _sk_fail; _sk_fail._("fileinput")\n',"src/lib/fnmatch.py":'import _sk_fail; _sk_fail._("fnmatch")\n',"src/lib/formatter.py":'import _sk_fail; _sk_fail._("formatter")\n',"src/lib/fpformat.py":'import _sk_fail; _sk_fail._("fpformat")\n',"src/lib/fractions.py":'import _sk_fail; _sk_fail._("fractions")\n',"src/lib/ftplib.py":'import _sk_fail; _sk_fail._("ftplib")\n',"src/lib/genericpath.py":'import _sk_fail; _sk_fail._("genericpath")\n',"src/lib/getopt.py":'import _sk_fail; _sk_fail._("getopt")\n',"src/lib/getpass.py":'import _sk_fail; _sk_fail._("getpass")\n',"src/lib/gettext.py":'import _sk_fail; _sk_fail._("gettext")\n',"src/lib/glob.py":'import _sk_fail; _sk_fail._("glob")\n',"src/lib/gzip.py":'import _sk_fail; _sk_fail._("gzip")\n',"src/lib/hashlib.py":'import _sk_fail; _sk_fail._("hashlib")\n',"src/lib/heapq.py":'import _sk_fail; _sk_fail._("heapq")\n',"src/lib/hmac.py":'import _sk_fail; _sk_fail._("hmac")\n',"src/lib/hotshot/__init__.py":'import _sk_fail; _sk_fail._("hotshot")\n',"src/lib/htmlentitydefs.py":'import _sk_fail; _sk_fail._("htmlentitydefs")\n',"src/lib/htmllib.py":'import _sk_fail; _sk_fail._("htmllib")\n',"src/lib/HTMLParser.py":'import _sk_fail; _sk_fail._("HTMLParser")\n',"src/lib/httplib.py":'import _sk_fail; _sk_fail._("httplib")\n',"src/lib/idlelib/Icons/__init__.py":'import _sk_fail; _sk_fail._("Icons")\n',"src/lib/idlelib/__init__.py":'import _sk_fail; _sk_fail._("idlelib")\n',"src/lib/ihooks.py":'import _sk_fail; _sk_fail._("ihooks")\n',"src/lib/imaplib.py":'import _sk_fail; _sk_fail._("imaplib")\n',"src/lib/imghdr.py":'import _sk_fail; _sk_fail._("imghdr")\n',"src/lib/imputil.py":'import _sk_fail; _sk_fail._("imputil")\n',"src/lib/io.py":'import _sk_fail; _sk_fail._("io")\n',"src/lib/lib-dynload/__init__.py":'import _sk_fail; _sk_fail._("lib-dynload")\n',"src/lib/lib-tk/__init__.py":'import _sk_fail; _sk_fail._("lib-tk")\n',"src/lib/lib2to3/fixes/__init__.py":'import _sk_fail; _sk_fail._("fixes")\n',"src/lib/lib2to3/pgen2/__init__.py":'import _sk_fail; _sk_fail._("pgen2")\n',"src/lib/lib2to3/tests/__init__.py":'import _sk_fail; _sk_fail._("tests")\n',"src/lib/lib2to3/__init__.py":'import _sk_fail; _sk_fail._("lib2to3")\n',"src/lib/linecache.py":'import _sk_fail; _sk_fail._("linecache")\n',"src/lib/locale.py":'import _sk_fail; _sk_fail._("locale")\n',"src/lib/logging/__init__.py":'import _sk_fail; _sk_fail._("logging")\n',"src/lib/macpath.py":'import _sk_fail; _sk_fail._("macpath")\n',"src/lib/macurl2path.py":'import _sk_fail; _sk_fail._("macurl2path")\n',"src/lib/mailbox.py":'import _sk_fail; _sk_fail._("mailbox")\n',"src/lib/mailcap.py":'import _sk_fail; _sk_fail._("mailcap")\n',"src/lib/markupbase.py":'import _sk_fail; _sk_fail._("markupbase")\n',"src/lib/md5.py":'import _sk_fail; _sk_fail._("md5")\n',"src/lib/mhlib.py":'import _sk_fail; _sk_fail._("mhlib")\n',"src/lib/mimetools.py":'import _sk_fail; _sk_fail._("mimetools")\n',"src/lib/mimetypes.py":'import _sk_fail; _sk_fail._("mimetypes")\n',"src/lib/MimeWriter.py":'import _sk_fail; _sk_fail._("MimeWriter")\n',"src/lib/mimify.py":'import _sk_fail; _sk_fail._("mimify")\n',"src/lib/modulefinder.py":'import _sk_fail; _sk_fail._("modulefinder")\n',"src/lib/multifile.py":'import _sk_fail; _sk_fail._("multifile")\n',"src/lib/multiprocessing/dummy/__init__.py":'import _sk_fail; _sk_fail._("dummy")\n',"src/lib/multiprocessing/__init__.py":'import _sk_fail; _sk_fail._("multiprocessing")\n',"src/lib/mutex.py":'import _sk_fail; _sk_fail._("mutex")\n',"src/lib/netrc.py":'import _sk_fail; _sk_fail._("netrc")\n',"src/lib/new.py":'import _sk_fail; _sk_fail._("new")\n',"src/lib/nntplib.py":'import _sk_fail; _sk_fail._("nntplib")\n',"src/lib/ntpath.py":'import _sk_fail; _sk_fail._("ntpath")\n',"src/lib/nturl2path.py":'import _sk_fail; _sk_fail._("nturl2path")\n',"src/lib/numbers.py":"Number = (int, float, complex)\nIntegral = int\nComplex = complex\n","src/lib/opcode.py":'import _sk_fail; _sk_fail._("opcode")\n',"src/lib/optparse.py":'import _sk_fail; _sk_fail._("optparse")\n',"src/lib/os.py":'import _sk_fail; _sk_fail._("os")\n',"src/lib/os2emxpath.py":'import _sk_fail; _sk_fail._("os2emxpath")\n',"src/lib/pdb.py":'import _sk_fail; _sk_fail._("pdb")\n',"src/lib/pickle.py":'import _sk_fail; _sk_fail._("pickle")\n',"src/lib/pickletools.py":'import _sk_fail; _sk_fail._("pickletools")\n',"src/lib/pipes.py":'import _sk_fail; _sk_fail._("pipes")\n',"src/lib/pkgutil.py":'import _sk_fail; _sk_fail._("pkgutil")\n',"src/lib/platform.py":'import _sk_fail; _sk_fail._("platform")\n',"src/lib/plistlib.py":'import _sk_fail; _sk_fail._("plistlib")\n',"src/lib/popen2.py":'import _sk_fail; _sk_fail._("popen2")\n',"src/lib/poplib.py":'import _sk_fail; _sk_fail._("poplib")\n',"src/lib/posixfile.py":'import _sk_fail; _sk_fail._("posixfile")\n',"src/lib/posixpath.py":'import _sk_fail; _sk_fail._("posixpath")\n',"src/lib/pprint.py":'import _sk_fail; _sk_fail._("pprint")\n',"src/lib/profile.py":'import _sk_fail; _sk_fail._("profile")\n',"src/lib/pstats.py":'import _sk_fail; _sk_fail._("pstats")\n',"src/lib/pty.py":'import _sk_fail; _sk_fail._("pty")\n',"src/lib/pyclbr.py":'import _sk_fail; _sk_fail._("pyclbr")\n',"src/lib/pydoc.py":'import _sk_fail; _sk_fail._("pydoc")\n',"src/lib/pydoc_topics.py":'import _sk_fail; _sk_fail._("pydoc_topics")\n',"src/lib/pythonds/basic/deque.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n#deque.py\n\n\nclass Deque:\n def __init__(self):\n self.items = []\n\n def isEmpty(self):\n return self.items == []\n\n def addFront(self, item):\n self.items.append(item)\n\n def addRear(self, item):\n self.items.insert(0,item)\n\n def removeFront(self):\n return self.items.pop()\n\n def removeRear(self):\n return self.items.pop(0)\n\n def size(self):\n return len(self.items)\n","src/lib/pythonds/basic/queue.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n#queue.py\n\nclass Queue:\n def __init__(self):\n self.items = []\n\n def isEmpty(self):\n return self.items == []\n\n def enqueue(self, item):\n self.items.insert(0,item)\n\n def dequeue(self):\n return self.items.pop()\n\n def size(self):\n return len(self.items)\n","src/lib/pythonds/basic/stack.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n#stack.py\n\nclass Stack:\n def __init__(self):\n self.items = []\n\n def isEmpty(self):\n return self.items == []\n\n def push(self, item):\n self.items.append(item)\n\n def pop(self):\n return self.items.pop()\n\n def peek(self):\n return self.items[len(self.items)-1]\n\n def size(self):\n return len(self.items)\n\n","src/lib/pythonds/basic/__init__.py":'\n#__all__ = ["stack"]\n\n\n#from .stack import Stack\n#from .queue import Queue\n\n\n\n',"src/lib/pythonds/graphs/adjGraph.py":'#\n# adjGraph\n#\n# Created by Brad Miller on 2005-02-24.\n# Copyright (c) 2005 Brad Miller, David Ranum, Luther College. All rights reserved.\n#\n\nimport sys\nimport os\nimport unittest\n\nclass Graph:\n def __init__(self):\n self.vertices = {}\n self.numVertices = 0\n \n def addVertex(self,key):\n self.numVertices = self.numVertices + 1\n newVertex = Vertex(key)\n self.vertices[key] = newVertex\n return newVertex\n \n def getVertex(self,n):\n if n in self.vertices:\n return self.vertices[n]\n else:\n return None\n\n def __contains__(self,n):\n return n in self.vertices\n \n def addEdge(self,f,t,cost=0):\n if f not in self.vertices:\n nv = self.addVertex(f)\n if t not in self.vertices:\n nv = self.addVertex(t)\n self.vertices[f].addNeighbor(self.vertices[t],cost)\n \n def getVertices(self):\n return list(self.vertices.keys())\n \n def __iter__(self):\n return iter(self.vertices.values())\n \nclass Vertex:\n def __init__(self,num):\n self.id = num\n self.connectedTo = {}\n self.color = \'white\'\n self.dist = sys.maxsize\n self.pred = None\n self.disc = 0\n self.fin = 0\n\n # def __lt__(self,o):\n # return self.id < o.id\n \n def addNeighbor(self,nbr,weight=0):\n self.connectedTo[nbr] = weight\n \n def setColor(self,color):\n self.color = color\n \n def setDistance(self,d):\n self.dist = d\n\n def setPred(self,p):\n self.pred = p\n\n def setDiscovery(self,dtime):\n self.disc = dtime\n \n def setFinish(self,ftime):\n self.fin = ftime\n \n def getFinish(self):\n return self.fin\n \n def getDiscovery(self):\n return self.disc\n \n def getPred(self):\n return self.pred\n \n def getDistance(self):\n return self.dist\n \n def getColor(self):\n return self.color\n \n def getConnections(self):\n return self.connectedTo.keys()\n \n def getWeight(self,nbr):\n return self.connectedTo[nbr]\n \n def __str__(self):\n return str(self.id) + ":color " + self.color + ":disc " + str(self.disc) + ":fin " + str(self.fin) + ":dist " + str(self.dist) + ":pred \\n\\t[" + str(self.pred)+ "]\\n"\n \n def getId(self):\n return self.id\n\nclass adjGraphTests(unittest.TestCase):\n def setUp(self):\n self.tGraph = Graph()\n \n def testMakeGraph(self):\n gFile = open("test.dat")\n for line in gFile:\n fVertex, tVertex = line.split(\'|\')\n fVertex = int(fVertex)\n tVertex = int(tVertex)\n self.tGraph.addEdge(fVertex,tVertex)\n for i in self.tGraph:\n adj = i.getAdj()\n for k in adj:\n print(i, k)\n\n \nif __name__ == \'__main__\':\n unittest.main()\n \n',"src/lib/pythonds/graphs/priorityQueue.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \nimport unittest\n\n# this implementation of binary heap takes key value pairs,\n# we will assume that the keys are all comparable\n\nclass PriorityQueue:\n def __init__(self):\n self.heapArray = [(0,0)]\n self.currentSize = 0\n\n def buildHeap(self,alist):\n self.currentSize = len(alist)\n self.heapArray = [(0,0)]\n for i in alist:\n self.heapArray.append(i)\n i = len(alist) // 2 \n while (i > 0):\n self.percDown(i)\n i = i - 1\n \n def percDown(self,i):\n while (i * 2) <= self.currentSize:\n mc = self.minChild(i)\n if self.heapArray[i][0] > self.heapArray[mc][0]:\n tmp = self.heapArray[i]\n self.heapArray[i] = self.heapArray[mc]\n self.heapArray[mc] = tmp\n i = mc\n \n def minChild(self,i):\n if i*2 > self.currentSize:\n return -1\n else:\n if i*2 + 1 > self.currentSize:\n return i*2\n else:\n if self.heapArray[i*2][0] < self.heapArray[i*2+1][0]:\n return i*2\n else:\n return i*2+1\n\n def percUp(self,i):\n while i // 2 > 0:\n if self.heapArray[i][0] < self.heapArray[i//2][0]:\n tmp = self.heapArray[i//2]\n self.heapArray[i//2] = self.heapArray[i]\n self.heapArray[i] = tmp\n i = i//2\n \n def add(self,k):\n self.heapArray.append(k)\n self.currentSize = self.currentSize + 1\n self.percUp(self.currentSize)\n\n def delMin(self):\n retval = self.heapArray[1][1]\n self.heapArray[1] = self.heapArray[self.currentSize]\n self.currentSize = self.currentSize - 1\n self.heapArray.pop()\n self.percDown(1)\n return retval\n \n def isEmpty(self):\n if self.currentSize == 0:\n return True\n else:\n return False\n\n def decreaseKey(self,val,amt):\n # this is a little wierd, but we need to find the heap thing to decrease by\n # looking at its value\n done = False\n i = 1\n myKey = 0\n while not done and i <= self.currentSize:\n if self.heapArray[i][1] == val:\n done = True\n myKey = i\n else:\n i = i + 1\n if myKey > 0:\n self.heapArray[myKey] = (amt,self.heapArray[myKey][1])\n self.percUp(myKey)\n \n def __contains__(self,vtx):\n for pair in self.heapArray:\n if pair[1] == vtx:\n return True\n return False\n \nclass TestBinHeap(unittest.TestCase):\n def setUp(self):\n self.theHeap = PriorityQueue()\n self.theHeap.add((2,'x'))\n self.theHeap.add((3,'y'))\n self.theHeap.add((5,'z'))\n self.theHeap.add((6,'a'))\n self.theHeap.add((4,'d'))\n\n\n def testInsert(self):\n assert self.theHeap.currentSize == 5\n\n def testDelmin(self):\n assert self.theHeap.delMin() == 'x'\n assert self.theHeap.delMin() == 'y'\n \n def testDecKey(self):\n self.theHeap.decreaseKey('d',1)\n assert self.theHeap.delMin() == 'd'\n \nif __name__ == '__main__':\n unittest.main()\n","src/lib/pythonds/graphs/__init__.py":"\n\nfrom .adjGraph import Graph\nfrom .adjGraph import Vertex\nfrom .priorityQueue import PriorityQueue\n","src/lib/pythonds/trees/balance.py":"#!/bin/env python3.1\n# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005, 2010\n# \n\nfrom .bst import BinarySearchTree, TreeNode\n\nclass AVLTree(BinarySearchTree):\n '''\n Author: Brad Miller\n Date: 1/15/2005\n Description: Imlement a binary search tree with the following interface\n functions: \n __contains__(y) <==> y in x\n __getitem__(y) <==> x[y]\n __init__()\n __len__() <==> len(x)\n __setitem__(k,v) <==> x[k] = v\n clear()\n get(k)\n has_key(k)\n items() \n keys() \n values()\n put(k,v)\n '''\n\n\n def _put(self,key,val,currentNode):\n if key < currentNode.key:\n if currentNode.hasLeftChild():\n self._put(key,val,currentNode.leftChild)\n else:\n currentNode.leftChild = TreeNode(key,val,parent=currentNode)\n self.updateBalance(currentNode.leftChild)\n else:\n if currentNode.hasRightChild():\n self._put(key,val,currentNode.rightChild)\n else:\n currentNode.rightChild = TreeNode(key,val,parent=currentNode)\n self.updateBalance(currentNode.rightChild) \n\n def updateBalance(self,node):\n if node.balanceFactor > 1 or node.balanceFactor < -1:\n self.rebalance(node)\n return\n if node.parent != None:\n if node.isLeftChild():\n node.parent.balanceFactor += 1\n elif node.isRightChild():\n node.parent.balanceFactor -= 1\n\n if node.parent.balanceFactor != 0:\n self.updateBalance(node.parent)\n\n def rebalance(self,node):\n if node.balanceFactor < 0:\n if node.rightChild.balanceFactor > 0:\n # Do an LR Rotation\n self.rotateRight(node.rightChild)\n self.rotateLeft(node)\n else:\n # single left\n self.rotateLeft(node)\n elif node.balanceFactor > 0:\n if node.leftChild.balanceFactor < 0:\n # Do an RL Rotation\n self.rotateLeft(node.leftChild)\n self.rotateRight(node)\n else:\n # single right\n self.rotateRight(node)\n\n def rotateLeft(self,rotRoot):\n newRoot = rotRoot.rightChild\n rotRoot.rightChild = newRoot.leftChild\n if newRoot.leftChild != None:\n newRoot.leftChild.parent = rotRoot\n newRoot.parent = rotRoot.parent\n if rotRoot.isRoot():\n self.root = newRoot\n else:\n if rotRoot.isLeftChild():\n rotRoot.parent.leftChild = newRoot\n else:\n rotRoot.parent.rightChild = newRoot\n newRoot.leftChild = rotRoot\n rotRoot.parent = newRoot\n rotRoot.balanceFactor = rotRoot.balanceFactor + 1 - min(newRoot.balanceFactor, 0)\n newRoot.balanceFactor = newRoot.balanceFactor + 1 + max(rotRoot.balanceFactor, 0)\n\n\n def rotateRight(self,rotRoot):\n newRoot = rotRoot.leftChild\n rotRoot.leftChild = newRoot.rightChild\n if newRoot.rightChild != None:\n newRoot.rightChild.parent = rotRoot\n newRoot.parent = rotRoot.parent\n if rotRoot.isRoot():\n self.root = newRoot\n else:\n if rotRoot.isRightChild():\n rotRoot.parent.rightChild = newRoot\n else:\n rotRoot.parent.leftChild = newRoot\n newRoot.rightChild = rotRoot\n rotRoot.parent = newRoot\n rotRoot.balanceFactor = rotRoot.balanceFactor - 1 - max(newRoot.balanceFactor, 0)\n newRoot.balanceFactor = newRoot.balanceFactor - 1 + min(rotRoot.balanceFactor, 0)\n \n","src/lib/pythonds/trees/binaryTree.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n\nclass BinaryTree:\n \"\"\"\n A recursive implementation of Binary Tree\n Using links and Nodes approach.\n \"\"\" \n def __init__(self,rootObj):\n self.key = rootObj\n self.leftChild = None\n self.rightChild = None\n\n def insertLeft(self,newNode):\n if self.leftChild == None:\n self.leftChild = BinaryTree(newNode)\n else:\n t = BinaryTree(newNode)\n t.left = self.leftChild\n self.leftChild = t\n \n def insertRight(self,newNode):\n if self.rightChild == None:\n self.rightChild = BinaryTree(newNode)\n else:\n t = BinaryTree(newNode)\n t.right = self.rightChild\n self.rightChild = t\n\n def isLeaf(self):\n return ((not self.leftChild) and (not self.rightChild))\n\n def getRightChild(self):\n return self.rightChild\n\n def getLeftChild(self):\n return self.leftChild\n\n def setRootVal(self,obj):\n self.key = obj\n\n def getRootVal(self,):\n return self.key\n\n def inorder(self):\n if self.leftChild:\n self.leftChild.inorder()\n print(self.key)\n if self.rightChild:\n self.rightChild.inorder()\n\n def postorder(self):\n if self.leftChild:\n self.leftChild.postorder()\n if self.rightChild:\n self.rightChild.postorder()\n print(self.key)\n\n\n def preorder(self):\n print(self.key)\n if self.leftChild:\n self.leftChild.preorder()\n if self.rightChild:\n self.rightChild.preorder()\n\n def printexp(self):\n if self.leftChild:\n print('(')\n self.leftChild.printexp()\n print(self.key)\n if self.rightChild:\n self.rightChild.printexp()\n print(')')\n\n def postordereval(self):\n opers = {'+':operator.add, '-':operator.sub, '*':operator.mul, '/':operator.truediv}\n res1 = None\n res2 = None\n if self.leftChild:\n res1 = self.leftChild.postordereval() #// \\label{peleft}\n if self.rightChild:\n res2 = self.rightChild.postordereval() #// \\label{peright}\n if res1 and res2:\n return opers[self.key](res1,res2) #// \\label{peeval}\n else:\n return self.key\n\ndef inorder(tree):\n if tree != None:\n inorder(tree.getLeftChild())\n print(tree.getRootVal())\n inorder(tree.getRightChild())\n\ndef printexp(tree):\n if tree.leftChild:\n print('(')\n printexp(tree.getLeftChild())\n print(tree.getRootVal())\n if tree.rightChild:\n printexp(tree.getRightChild())\n print(')') \n\ndef printexp(tree):\n sVal = \"\"\n if tree:\n sVal = '(' + printexp(tree.getLeftChild())\n sVal = sVal + str(tree.getRootVal())\n sVal = sVal + printexp(tree.getRightChild()) + ')'\n return sVal\n\ndef postordereval(tree):\n opers = {'+':operator.add, '-':operator.sub, '*':operator.mul, '/':operator.truediv}\n res1 = None\n res2 = None\n if tree:\n res1 = postordereval(tree.getLeftChild()) #// \\label{peleft}\n res2 = postordereval(tree.getRightChild()) #// \\label{peright}\n if res1 and res2:\n return opers[tree.getRootVal()](res1,res2) #// \\label{peeval}\n else:\n return tree.getRootVal()\n\ndef height(tree):\n if tree == None:\n return -1\n else:\n return 1 + max(height(tree.leftChild),height(tree.rightChild))\n\n# t = BinaryTree(7)\n# t.insertLeft(3)\n# t.insertRight(9)\n# inorder(t)\n# import operator\n# x = BinaryTree('*')\n# x.insertLeft('+')\n# l = x.getLeftChild()\n# l.insertLeft(4)\n# l.insertRight(5)\n# x.insertRight(7)\n# print(printexp(x))\n# print(postordereval(x))\n# print(height(x))\n","src/lib/pythonds/trees/binheap.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n\n# this heap takes key value pairs, we will assume that the keys are integers\nclass BinHeap:\n def __init__(self):\n self.heapList = [0]\n self.currentSize = 0\n\n\n def buildHeap(self,alist):\n i = len(alist) // 2\n self.currentSize = len(alist)\n self.heapList = [0] + alist[:]\n print(len(self.heapList), i)\n while (i > 0):\n print(self.heapList, i)\n self.percDown(i)\n i = i - 1\n print(self.heapList,i)\n \n def percDown(self,i):\n while (i * 2) <= self.currentSize:\n mc = self.minChild(i)\n if self.heapList[i] > self.heapList[mc]:\n tmp = self.heapList[i]\n self.heapList[i] = self.heapList[mc]\n self.heapList[mc] = tmp\n i = mc\n \n def minChild(self,i):\n if i * 2 + 1 > self.currentSize:\n return i * 2\n else:\n if self.heapList[i * 2] < self.heapList[i * 2 + 1]:\n return i * 2\n else:\n return i * 2 + 1\n\n def percUp(self,i):\n while i // 2 > 0:\n if self.heapList[i] < self.heapList[i//2]:\n tmp = self.heapList[i // 2]\n self.heapList[i // 2] = self.heapList[i]\n self.heapList[i] = tmp\n i = i // 2\n \n def insert(self,k):\n self.heapList.append(k)\n self.currentSize = self.currentSize + 1\n self.percUp(self.currentSize)\n\n def delMin(self):\n retval = self.heapList[1]\n self.heapList[1] = self.heapList[self.currentSize]\n self.currentSize = self.currentSize - 1\n self.heapList.pop()\n self.percDown(1)\n return retval\n \n def isEmpty(self):\n if currentSize == 0:\n return True\n else:\n return False\n","src/lib/pythonds/trees/bst.py":"#!/bin/env python3.1\n# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005, 2010\n# \n\nclass BinarySearchTree:\n '''\n Author: Brad Miller\n Date: 1/15/2005\n Description: Imlement a binary search tree with the following interface\n functions: \n __contains__(y) <==> y in x\n __getitem__(y) <==> x[y]\n __init__()\n __len__() <==> len(x)\n __setitem__(k,v) <==> x[k] = v\n clear()\n get(k)\n items() \n keys() \n values()\n put(k,v)\n in\n del <==> \n '''\n\n def __init__(self):\n self.root = None\n self.size = 0\n \n def put(self,key,val):\n if self.root:\n self._put(key,val,self.root)\n else:\n self.root = TreeNode(key,val)\n self.size = self.size + 1\n\n def _put(self,key,val,currentNode):\n if key < currentNode.key:\n if currentNode.hasLeftChild():\n self._put(key,val,currentNode.leftChild)\n else:\n currentNode.leftChild = TreeNode(key,val,parent=currentNode)\n else:\n if currentNode.hasRightChild():\n self._put(key,val,currentNode.rightChild)\n else:\n currentNode.rightChild = TreeNode(key,val,parent=currentNode)\n \n def __setitem__(self,k,v):\n self.put(k,v)\n\n def get(self,key):\n if self.root:\n res = self._get(key,self.root)\n if res:\n return res.payload\n else:\n return None\n else:\n return None\n \n def _get(self,key,currentNode):\n if not currentNode:\n return None\n elif currentNode.key == key:\n return currentNode\n elif key < currentNode.key:\n return self._get(key,currentNode.leftChild)\n else:\n return self._get(key,currentNode.rightChild)\n \n \n def __getitem__(self,key):\n res = self.get(key)\n if res:\n return res\n else:\n raise KeyError('Error, key not in tree')\n \n\n def __contains__(self,key):\n if self._get(key,self.root):\n return True\n else:\n return False\n \n def length(self):\n return self.size\n\n def __len__(self):\n return self.size\n\n def __iter__(self):\n return self.root.__iter__()\n \n def delete(self,key):\n if self.size > 1:\n nodeToRemove = self._get(key,self.root)\n if nodeToRemove:\n self.remove(nodeToRemove)\n self.size = self.size-1\n else:\n raise KeyError('Error, key not in tree')\n elif self.size == 1 and self.root.key == key:\n self.root = None\n self.size = self.size - 1\n else:\n raise KeyError('Error, key not in tree')\n\n def __delitem__(self,key):\n self.delete(key)\n \n def remove(self,currentNode):\n if currentNode.isLeaf(): #leaf\n if currentNode == currentNode.parent.leftChild:\n currentNode.parent.leftChild = None\n else:\n currentNode.parent.rightChild = None\n elif currentNode.hasBothChildren(): #interior\n succ = currentNode.findSuccessor()\n succ.spliceOut()\n currentNode.key = succ.key\n currentNode.payload = succ.payload\n else: # this node has one child\n if currentNode.hasLeftChild():\n if currentNode.isLeftChild():\n currentNode.leftChild.parent = currentNode.parent\n currentNode.parent.leftChild = currentNode.leftChild\n elif currentNode.isRightChild():\n currentNode.leftChild.parent = currentNode.parent\n currentNode.parent.rightChild = currentNode.leftChild\n else:\n currentNode.replaceNodeData(currentNode.leftChild.key,\n currentNode.leftChild.payload,\n currentNode.leftChild.leftChild,\n currentNode.leftChild.rightChild)\n else:\n if currentNode.isLeftChild():\n currentNode.rightChild.parent = currentNode.parent\n currentNode.parent.leftChild = currentNode.rightChild\n elif currentNode.isRightChild():\n currentNode.rightChild.parent = currentNode.parent\n currentNode.parent.rightChild = currentNode.rightChild\n else:\n currentNode.replaceNodeData(currentNode.rightChild.key,\n currentNode.rightChild.payload,\n currentNode.rightChild.leftChild,\n currentNode.rightChild.rightChild)\n\n def inorder(self):\n self._inorder(self.root)\n\n def _inorder(self,tree):\n if tree != None:\n self._inorder(tree.leftChild)\n print(tree.key)\n self._inorder(tree.rightChild)\n\n def postorder(self):\n self._postorder(self.root)\n\n def _postorder(self, tree):\n if tree:\n self._postorder(tree.rightChild)\n self._postorder(tree.leftChild)\n print(tree.key) \n\n def preorder(self):\n self._preorder(self,self.root)\n\n def _preorder(self,tree):\n if tree:\n print(tree.key) \n self._preorder(tree.leftChild)\n self._preorder(tree.rightChild)\n\n \nclass TreeNode:\n def __init__(self,key,val,left=None,right=None,parent=None):\n self.key = key\n self.payload = val\n self.leftChild = left\n self.rightChild = right\n self.parent = parent\n self.balanceFactor = 0\n \n def hasLeftChild(self):\n return self.leftChild\n\n def hasRightChild(self):\n return self.rightChild\n \n def isLeftChild(self):\n return self.parent and self.parent.leftChild == self\n\n def isRightChild(self):\n return self.parent and self.parent.rightChild == self\n\n def isRoot(self):\n return not self.parent\n\n def isLeaf(self):\n return not (self.rightChild or self.leftChild)\n\n def hasAnyChildren(self):\n return self.rightChild or self.leftChild\n\n def hasBothChildren(self):\n return self.rightChild and self.leftChild\n \n def replaceNodeData(self,key,value,lc,rc):\n self.key = key\n self.payload = value\n self.leftChild = lc\n self.rightChild = rc\n if self.hasLeftChild():\n self.leftChild.parent = self\n if self.hasRightChild():\n self.rightChild.parent = self\n \n def findSuccessor(self):\n succ = None\n if self.hasRightChild():\n succ = self.rightChild.findMin()\n else:\n if self.parent:\n if self.isLeftChild():\n succ = self.parent\n else:\n self.parent.rightChild = None\n succ = self.parent.findSuccessor()\n self.parent.rightChild = self\n return succ\n\n\n def spliceOut(self):\n if self.isLeaf():\n if self.isLeftChild():\n self.parent.leftChild = None\n else:\n self.parent.rightChild = None\n elif self.hasAnyChildren():\n if self.hasLeftChild():\n if self.isLeftChild():\n self.parent.leftChild = self.leftChild\n else:\n self.parent.rightChild = self.leftChild\n self.leftChild.parent = self.parent\n else:\n if self.isLeftChild():\n self.parent.leftChild = self.rightChild\n else:\n self.parent.rightChild = self.rightChild\n self.rightChild.parent = self.parent\n\n def findMin(self):\n current = self\n while current.hasLeftChild():\n current = current.leftChild\n return current\n\n def __iter__(self):\n \"\"\"The standard inorder traversal of a binary tree.\"\"\"\n if self:\n if self.hasLeftChild():\n for elem in self.leftChild:\n yield elem\n yield self.key\n if self.hasRightChild():\n for elem in self.rightChild:\n yield elem\n\n \n","src/lib/pythonds/trees/__init__.py":"\n# from .binaryTree import BinaryTree\n# from .balance import AVLTree\n# from .bst import BinarySearchTree\n# from .binheap import BinHeap\n\n\n","src/lib/pythonds/__init__.py":"","src/lib/py_compile.py":'import _sk_fail; _sk_fail._("py_compile")\n',"src/lib/Queue.py":'import _sk_fail; _sk_fail._("Queue")\n',"src/lib/quopri.py":'import _sk_fail; _sk_fail._("quopri")\n',"src/lib/repr.py":'import _sk_fail; _sk_fail._("repr")\n',"src/lib/rexec.py":'import _sk_fail; _sk_fail._("rexec")\n',"src/lib/rfc822.py":'import _sk_fail; _sk_fail._("rfc822")\n',"src/lib/rlcompleter.py":'import _sk_fail; _sk_fail._("rlcompleter")\n',"src/lib/robotparser.py":'import _sk_fail; _sk_fail._("robotparser")\n',"src/lib/runpy.py":'import _sk_fail; _sk_fail._("runpy")\n',"src/lib/sched.py":'import _sk_fail; _sk_fail._("sched")\n',"src/lib/sets.py":'import _sk_fail; _sk_fail._("sets")\n',"src/lib/sgmllib.py":'import _sk_fail; _sk_fail._("sgmllib")\n',"src/lib/sha.py":'import _sk_fail; _sk_fail._("sha")\n',"src/lib/shelve.py":'import _sk_fail; _sk_fail._("shelve")\n',"src/lib/shlex.py":'import _sk_fail; _sk_fail._("shlex")\n',"src/lib/shutil.py":'import _sk_fail; _sk_fail._("shutil")\n',"src/lib/SimpleHTTPServer.py":'import _sk_fail; _sk_fail._("SimpleHTTPServer")\n',"src/lib/SimpleXMLRPCServer.py":'import _sk_fail; _sk_fail._("SimpleXMLRPCServer")\n',"src/lib/site.py":'import _sk_fail; _sk_fail._("site")\n',"src/lib/smtpd.py":'import _sk_fail; _sk_fail._("smtpd")\n',"src/lib/smtplib.py":'import _sk_fail; _sk_fail._("smtplib")\n',"src/lib/sndhdr.py":'import _sk_fail; _sk_fail._("sndhdr")\n',"src/lib/socket.py":'import _sk_fail; _sk_fail._("socket")\n',"src/lib/SocketServer.py":'import _sk_fail; _sk_fail._("SocketServer")\n',"src/lib/sqlite3/__init__.py":'import _sk_fail; _sk_fail._("sqlite3")\n',"src/lib/sre.py":'import _sk_fail; _sk_fail._("sre")\n',"src/lib/sre_compile.py":'import _sk_fail; _sk_fail._("sre_compile")\n',"src/lib/sre_constants.py":'import _sk_fail; _sk_fail._("sre_constants")\n',"src/lib/sre_parse.py":'import _sk_fail; _sk_fail._("sre_parse")\n',"src/lib/ssl.py":'import _sk_fail; _sk_fail._("ssl")\n',"src/lib/stat.py":'import _sk_fail; _sk_fail._("stat")\n',"src/lib/statvfs.py":'import _sk_fail; _sk_fail._("statvfs")\n',"src/lib/StringIO.py":'r"""File-like objects that read from or write to a string buffer.\n\nThis implements (nearly) all stdio methods.\n\nf = StringIO() # ready for writing\nf = StringIO(buf) # ready for reading\nf.close() # explicitly release resources held\nflag = f.isatty() # always false\npos = f.tell() # get current position\nf.seek(pos) # set current position\nf.seek(pos, mode) # mode 0: absolute; 1: relative; 2: relative to EOF\nbuf = f.read() # read until EOF\nbuf = f.read(n) # read up to n bytes\nbuf = f.readline() # read until end of line (\'\\n\') or EOF\nlist = f.readlines()# list of f.readline() results until EOF\nf.truncate([size]) # truncate file at to at most size (default: current pos)\nf.write(buf) # write at current position\nf.writelines(list) # for line in list: f.write(line)\nf.getvalue() # return whole file\'s contents as a string\n\nNotes:\n- Using a real file is often faster (but less convenient).\n- There\'s also a much faster implementation in C, called cStringIO, but\n it\'s not subclassable.\n- fileno() is left unimplemented so that code which uses it triggers\n an exception early.\n- Seeking far beyond EOF and then writing will insert real null\n bytes that occupy space in the buffer.\n- There\'s a simple test set (see end of this file).\n"""\n\n__all__ = ["StringIO"]\n\ndef _complain_ifclosed(closed):\n if closed:\n raise ValueError("I/O operation on closed file")\n\nclass StringIO:\n """class StringIO([buffer])\n\n When a StringIO object is created, it can be initialized to an existing\n string by passing the string to the constructor. If no string is given,\n the StringIO will start empty.\n\n The StringIO object can accept either Unicode or 8-bit strings, but\n mixing the two may take some care. If both are used, 8-bit strings that\n cannot be interpreted as 7-bit ASCII (that use the 8th bit) will cause\n a UnicodeError to be raised when getvalue() is called.\n """\n def __init__(self, buf = \'\'):\n # Force self.buf to be a string or unicode\n if not isinstance(buf, str):\n buf = str(buf)\n self.buf = buf\n self.len = len(buf)\n self.buflist = []\n self.pos = 0\n self.closed = False\n self.softspace = 0\n\n def __iter__(self):\n return self\n\n def next(self):\n """A file object is its own iterator, for example iter(f) returns f\n (unless f is closed). When a file is used as an iterator, typically\n in a for loop (for example, for line in f: print line), the next()\n method is called repeatedly. This method returns the next input line,\n or raises StopIteration when EOF is hit.\n """\n _complain_ifclosed(self.closed)\n r = self.readline()\n if not r:\n raise StopIteration\n return r\n\n def close(self):\n """Free the memory buffer.\n """\n if not self.closed:\n self.closed = True\n self.buf = None\n self.pos = None\n\n def isatty(self):\n """Returns False because StringIO objects are not connected to a\n tty-like device.\n """\n _complain_ifclosed(self.closed)\n return False\n\n def seek(self, pos, mode = 0):\n """Set the file\'s current position.\n\n The mode argument is optional and defaults to 0 (absolute file\n positioning); other values are 1 (seek relative to the current\n position) and 2 (seek relative to the file\'s end).\n\n There is no return value.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n if mode == 1:\n pos += self.pos\n elif mode == 2:\n pos += self.len\n self.pos = max(0, pos)\n\n def tell(self):\n """Return the file\'s current position."""\n _complain_ifclosed(self.closed)\n return self.pos\n\n def read(self, n = -1):\n """Read at most size bytes from the file\n (less if the read hits EOF before obtaining size bytes).\n\n If the size argument is negative or omitted, read all data until EOF\n is reached. The bytes are returned as a string object. An empty\n string is returned when EOF is encountered immediately.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n if n is None or n < 0:\n newpos = self.len\n else:\n newpos = min(self.pos+n, self.len)\n r = self.buf[self.pos:newpos]\n self.pos = newpos\n return r\n\n def readline(self, length=None):\n r"""Read one entire line from the file.\n\n A trailing newline character is kept in the string (but may be absent\n when a file ends with an incomplete line). If the size argument is\n present and non-negative, it is a maximum byte count (including the\n trailing newline) and an incomplete line may be returned.\n\n An empty string is returned only when EOF is encountered immediately.\n\n Note: Unlike stdio\'s fgets(), the returned string contains null\n characters (\'\\0\') if they occurred in the input.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n i = self.buf.find(\'\\n\', self.pos)\n if i < 0:\n newpos = self.len\n else:\n newpos = i+1\n if length is not None and length >= 0:\n if self.pos + length < newpos:\n newpos = self.pos + length\n r = self.buf[self.pos:newpos]\n self.pos = newpos\n return r\n\n def readlines(self, sizehint = 0):\n """Read until EOF using readline() and return a list containing the\n lines thus read.\n\n If the optional sizehint argument is present, instead of reading up\n to EOF, whole lines totalling approximately sizehint bytes (or more\n to accommodate a final whole line).\n """\n total = 0\n lines = []\n line = self.readline()\n while line:\n lines.append(line)\n total += len(line)\n if 0 < sizehint <= total:\n break\n line = self.readline()\n return lines\n\n def truncate(self, size=None):\n """Truncate the file\'s size.\n\n If the optional size argument is present, the file is truncated to\n (at most) that size. The size defaults to the current position.\n The current file position is not changed unless the position\n is beyond the new file size.\n\n If the specified size exceeds the file\'s current size, the\n file remains unchanged.\n """\n _complain_ifclosed(self.closed)\n if size is None:\n size = self.pos\n elif size < 0:\n raise IOError(22, "Negative size not allowed")\n elif size < self.pos:\n self.pos = size\n self.buf = self.getvalue()[:size]\n self.len = size\n\n def write(self, s):\n """Write a string to the file.\n\n There is no return value.\n """\n _complain_ifclosed(self.closed)\n if not s: return\n # Force s to be a string or unicode\n if not isinstance(s, str):\n s = str(s)\n spos = self.pos\n slen = self.len\n if spos == slen:\n self.buflist.append(s)\n self.len = self.pos = spos + len(s)\n return\n if spos > slen:\n self.buflist.append(\'\\0\'*(spos - slen))\n slen = spos\n newpos = spos + len(s)\n if spos < slen:\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = [self.buf[:spos], s, self.buf[newpos:]]\n self.buf = \'\'\n if newpos > slen:\n slen = newpos\n else:\n self.buflist.append(s)\n slen = newpos\n self.len = slen\n self.pos = newpos\n\n def writelines(self, iterable):\n """Write a sequence of strings to the file. The sequence can be any\n iterable object producing strings, typically a list of strings. There\n is no return value.\n\n (The name is intended to match readlines(); writelines() does not add\n line separators.)\n """\n write = self.write\n for line in iterable:\n write(line)\n\n def flush(self):\n """Flush the internal buffer\n """\n _complain_ifclosed(self.closed)\n\n def getvalue(self):\n """\n Retrieve the entire contents of the "file" at any time before\n the StringIO object\'s close() method is called.\n\n The StringIO object can accept either Unicode or 8-bit strings,\n but mixing the two may take some care. If both are used, 8-bit\n strings that cannot be interpreted as 7-bit ASCII (that use the\n 8th bit) will cause a UnicodeError to be raised when getvalue()\n is called.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n return self.buf\n',"src/lib/stringold.py":'import _sk_fail; _sk_fail._("stringold")\n',"src/lib/stringprep.py":'import _sk_fail; _sk_fail._("stringprep")\n',"src/lib/struct.py":'import _sk_fail; _sk_fail._("struct")\n',"src/lib/subprocess.py":'import _sk_fail; _sk_fail._("subprocess")\n',"src/lib/sunau.py":'import _sk_fail; _sk_fail._("sunau")\n',"src/lib/sunaudio.py":'import _sk_fail; _sk_fail._("sunaudio")\n',"src/lib/symbol.py":'import _sk_fail; _sk_fail._("symbol")\n',"src/lib/symtable.py":'import _sk_fail; _sk_fail._("symtable")\n',"src/lib/tabnanny.py":'import _sk_fail; _sk_fail._("tabnanny")\n',"src/lib/tarfile.py":'import _sk_fail; _sk_fail._("tarfile")\n',"src/lib/telnetlib.py":'import _sk_fail; _sk_fail._("telnetlib")\n',"src/lib/tempfile.py":'import _sk_fail; _sk_fail._("tempfile")\n',"src/lib/test/ann_module.py":"\n\n\"\"\"\nThe module for testing variable annotations.\nEmpty lines above are for good reason (testing for correct line numbers)\n\"\"\"\n\n# from typing import Optional\n# from functools import wraps\n\n__annotations__[1] = 2\n\nclass C:\n\n x = 5; #y: Optional['C'] = None\n\n# from typing import Tuple\nx: int = 5; y: str = x;# f: Tuple[int, int]\n\nclass M(type):\n\n __annotations__['123'] = 123\n o: type = object\n\n(pars): bool = True\n\nclass D(C):\n j: str = 'hi'; k: str= 'bye'\n\n# from types import new_class\n# h_class = new_class('H', (C,))\n# j_class = new_class('J')\n\nclass F():\n z: int = 5\n def __init__(self, x):\n pass\n\nclass Y(F):\n def __init__(self):\n super(F, self).__init__(123)\n\nclass Meta(type):\n def __new__(meta, name, bases, namespace):\n return super().__new__(meta, name, bases, namespace)\n\nclass S(metaclass = Meta):\n x: str = 'something'\n y: str = 'something else'\n\n# def foo(x: int = 10):\n# def bar(y: List[str]):\n# x: str = 'yes'\n# bar()\n\n# def dec(func):\n# @wraps(func)\n# def wrapper(*args, **kwargs):\n# return func(*args, **kwargs)\n# return wrapper\n","src/lib/test/ann_module2.py":'"""\nSome correct syntax for variable annotation here.\nMore examples are in test_grammar and test_parser.\n"""\n\n# from typing import no_type_check, ClassVar\n\ni: int = 1\nj: int\nx: float = i/10\n\ndef f():\n # class C: ...\n class C: pass\n return C()\n\nf().new_attr: object = object()\n\nclass C:\n def __init__(self, x: int) -> None:\n self.x = x\n\nc = C(5)\nc.new_attr: int = 10\n\n__annotations__ = {}\n\n\n# @no_type_check\n# class NTC:\n# def meth(self, param: complex) -> None:\n# ...\n\n# class CV:\n# var: ClassVar[\'CV\']\n\n# CV.var = CV()\n',"src/lib/test/ann_module3.py":'"""\nCorrect syntax for variable annotation that should fail at runtime\nin a certain manner. More examples are in test_grammar and test_parser.\n"""\n\ndef f_bad_ann():\n __annotations__[1] = 2\n\nclass C_OK:\n def __init__(self, x: int) -> None:\n self.x: no_such_name = x # This one is OK as proposed by Guido\n\nclass D_bad_ann:\n def __init__(self, x: int) -> None:\n sfel.y: int = 0\n\ndef g_bad_ann():\n no_such_name.attr: int = 0\n',"src/lib/test/bad_getattr.py":'x = 1\n\n__getattr__ = "Surprise!"\n__dir__ = "Surprise again!"\n',"src/lib/test/bad_getattr2.py":'def __getattr__():\n "Bad one"\n\nx = 1\n\ndef __dir__(bad_sig):\n return []\n',"src/lib/test/bad_getattr3.py":"def __getattr__(name):\n global __getattr__\n if name != 'delgetattr':\n raise AttributeError\n del __getattr__\n raise AttributeError\n","src/lib/test/decimaltestdata/__init__.py":'import _sk_fail; _sk_fail._("decimaltestdata")\n',"src/lib/test/good_getattr.py":"x = 1\n\ndef __dir__():\n return ['a', 'b', 'c']\n\ndef __getattr__(name):\n if name == \"yolo\":\n raise AttributeError(\"Deprecated, use whatever instead\")\n return f\"There is {name}\"\n\ny = 2\n","src/lib/test/test_support.py":'"""Supporting definitions for the Python regression tests."""\n\nif __name__ != \'test.test_support\':\n raise ImportError(\'test_support must be imported from the test package\')\n\nimport unittest\n\n\n# def run_unittest(*classes):\n# """Run tests from unittest.TestCase-derived classes."""\n# valid_types = (unittest.TestSuite, unittest.TestCase)\n# suite = unittest.TestSuite()\n# for cls in classes:\n# if isinstance(cls, str):\n# if cls in sys.modules:\n# suite.addTest(unittest.findTestCases(sys.modules[cls]))\n# else:\n# raise ValueError("str arguments must be keys in sys.modules")\n# elif isinstance(cls, valid_types):\n# suite.addTest(cls)\n# else:\n# suite.addTest(unittest.makeSuite(cls))\n# _run_suite(suite)\n\ndef run_unittest(*classes):\n """Run tests from unittest.TestCase-derived classes."""\n for cls in classes:\n print cls\n if issubclass(cls, unittest.TestCase):\n cls().main()\n else:\n print "Don\'t know what to do with ", cls\n',"src/lib/test/__init__.py":"__author__ = 'bmiller'\n\ndef testEqual(actual, expected):\n if type(expected) == type(1):\n if actual == expected:\n print('Pass')\n return True\n elif type(expected) == type(1.11):\n if abs(actual-expected) < 0.00001:\n print('Pass')\n return True\n else:\n if actual == expected:\n print('Pass')\n return True\n print('Test Failed: expected ' + str(expected) + ' but got ' + str(actual))\n return False\n\ndef testNotEqual(actual, expected):\n pass\n\n","src/lib/textwrap.py":"\"\"\"Text wrapping and filling.\n\"\"\"\n\n# Copyright (C) 1999-2001 Gregory P. Ward.\n# Copyright (C) 2002, 2003 Python Software Foundation.\n# Written by Greg Ward \n\nimport re, string\n\n__all__ = ['TextWrapper', 'wrap', 'fill', 'dedent', 'indent', 'shorten']\n\n# Hardcode the recognized whitespace characters to the US-ASCII\n# whitespace characters. The main reason for doing this is that\n# some Unicode spaces (like \\u00a0) are non-breaking whitespaces.\n_whitespace = '\\t\\n\\x0b\\x0c\\r '\n\nclass TextWrapper:\n \"\"\"\n Object for wrapping/filling text. The public interface consists of\n the wrap() and fill() methods; the other methods are just there for\n subclasses to override in order to tweak the default behaviour.\n If you want to completely replace the main wrapping algorithm,\n you'll probably have to override _wrap_chunks().\n Several instance attributes control various aspects of wrapping:\n width (default: 70)\n the maximum width of wrapped lines (unless break_long_words\n is false)\n initial_indent (default: \"\")\n string that will be prepended to the first line of wrapped\n output. Counts towards the line's width.\n subsequent_indent (default: \"\")\n string that will be prepended to all lines save the first\n of wrapped output; also counts towards each line's width.\n expand_tabs (default: true)\n Expand tabs in input text to spaces before further processing.\n Each tab will become 0 .. 'tabsize' spaces, depending on its position\n in its line. If false, each tab is treated as a single character.\n tabsize (default: 8)\n Expand tabs in input text to 0 .. 'tabsize' spaces, unless\n 'expand_tabs' is false.\n replace_whitespace (default: true)\n Replace all whitespace characters in the input text by spaces\n after tab expansion. Note that if expand_tabs is false and\n replace_whitespace is true, every tab will be converted to a\n single space!\n fix_sentence_endings (default: false)\n Ensure that sentence-ending punctuation is always followed\n by two spaces. Off by default because the algorithm is\n (unavoidably) imperfect.\n break_long_words (default: true)\n Break words longer than 'width'. If false, those words will not\n be broken, and some lines might be longer than 'width'.\n break_on_hyphens (default: true)\n Allow breaking hyphenated words. If true, wrapping will occur\n preferably on whitespaces and right after hyphens part of\n compound words.\n drop_whitespace (default: true)\n Drop leading and trailing whitespace from lines.\n max_lines (default: None)\n Truncate wrapped lines.\n placeholder (default: ' [...]')\n Append to the last line of truncated text.\n \"\"\"\n\n unicode_whitespace_trans = {}\n # uspace = ord(' ')\n uspace = ' '\n for x in _whitespace:\n # unicode_whitespace_trans[ord(x)] = uspace\n unicode_whitespace_trans[x] = uspace\n\n # This funky little regex is just the trick for splitting\n # text up into word-wrappable chunks. E.g.\n # \"Hello there -- you goof-ball, use the -b option!\"\n # splits into\n # Hello/ /there/ /--/ /you/ /goof-/ball,/ /use/ /the/ /-b/ /option!\n # (after stripping out empty strings).\n wordsep_re = re.compile(\n r'(\\s+|' # any whitespace\n r'[^\\s\\w]*\\w+[^0-9\\W]-(?=\\w+[^0-9\\W]))') # hyphenated words\n em_dash = re.compile(r'(\\s+|' # any whitespace\n r'[^\\s\\w]*\\w+[^0-9\\W]-(?=\\w+[^0-9\\W])|' # hyphenated words\n r'(?!^)-{2,}(?=\\w))') # em-dash\n\n \n # This less funky little regex just split on recognized spaces. E.g.\n # \"Hello there -- you goof-ball, use the -b option!\"\n # splits into\n # Hello/ /there/ /--/ /you/ /goof-ball,/ /use/ /the/ /-b/ /option!/\n wordsep_simple_re = re.compile(r'(\\s+)')\n\n\n # XXX this is not locale- or charset-aware -- string.lowercase\n # is US-ASCII only (and therefore English-only)\n sentence_end_re = re.compile(r'[a-z]' # lowercase letter\n r'[\\.\\!\\?]' # sentence-ending punct.\n r'[\\\"\\']?' # optional end-of-quote\n r'\\Z') # end of chunk\n sentence_end_re = r'[a-z][\\.\\!\\?][\\\"\\']?'\n\n def __init__(self,\n width=70,\n initial_indent=\"\",\n subsequent_indent=\"\",\n expand_tabs=True,\n replace_whitespace=True,\n fix_sentence_endings=False,\n break_long_words=True,\n drop_whitespace=True,\n break_on_hyphens=True,\n tabsize=8,\n max_lines=None,\n placeholder=' [...]'):\n self.width = width\n self.initial_indent = initial_indent\n self.subsequent_indent = subsequent_indent\n self.expand_tabs = expand_tabs\n self.replace_whitespace = replace_whitespace\n self.fix_sentence_endings = fix_sentence_endings\n self.break_long_words = break_long_words\n self.drop_whitespace = drop_whitespace\n self.break_on_hyphens = break_on_hyphens\n self.tabsize = tabsize\n self.max_lines = max_lines\n self.placeholder = placeholder\n\n\n # -- Private methods -----------------------------------------------\n # (possibly useful for subclasses to override)\n\n def _munge_whitespace(self, text):\n \"\"\"_munge_whitespace(text : string) -> string\n Munge whitespace in text: expand tabs and convert all other\n whitespace characters to spaces. Eg. \" foo\\\\tbar\\\\n\\\\nbaz\"\n becomes \" foo bar baz\".\n \"\"\"\n if self.expand_tabs:\n text = text.expandtabs(self.tabsize)\n if self.replace_whitespace:\n for key, val in self.unicode_whitespace_trans.items():\n text = text.replace(key, val)\n return text\n\n\n def _split(self, text):\n \"\"\"_split(text : string) -> [string]\n Split the text to wrap into indivisible chunks. Chunks are\n not quite the same as words; see _wrap_chunks() for full\n details. As an example, the text\n Look, goof-ball -- use the -b option!\n breaks into the following chunks:\n 'Look,', ' ', 'goof-', 'ball', ' ', '--', ' ',\n 'use', ' ', 'the', ' ', '-b', ' ', 'option!'\n if break_on_hyphens is True, or in:\n 'Look,', ' ', 'goof-ball', ' ', '--', ' ',\n 'use', ' ', 'the', ' ', '-b', ' ', option!'\n otherwise.\n \"\"\"\n if self.break_on_hyphens is True:\n chunks = self.wordsep_re.split(text)\n if \"--\" in text:\n chunks = [item \n for sublist in [self.em_dash.split(chunk) for chunk in chunks] \n for item in sublist]\n else:\n chunks = self.wordsep_simple_re.split(text)\n chunks = [c for c in chunks if c]\n return chunks\n\n def _fix_sentence_endings(self, chunks):\n \"\"\"_fix_sentence_endings(chunks : [string])\n Correct for sentence endings buried in 'chunks'. Eg. when the\n original text contains \"... foo.\\\\nBar ...\", munge_whitespace()\n and split() will convert that to [..., \"foo.\", \" \", \"Bar\", ...]\n which has one too few spaces; this method simply changes the one\n space to two.\n \"\"\"\n i = 0\n # patsearch = self.sentence_end_re.search\n while i < len(chunks)-1:\n if chunks[i+1] == \" \" and re.search(self.sentence_end_re, chunks[i]) and chunks[i][-1] in \".!?\\\"\\'\":\n chunks[i+1] = \" \"\n i += 2\n else:\n i += 1\n\n def _handle_long_word(self, reversed_chunks, cur_line, cur_len, width):\n \"\"\"_handle_long_word(chunks : [string],\n cur_line : [string],\n cur_len : int, width : int)\n Handle a chunk of text (most likely a word, not whitespace) that\n is too long to fit in any line.\n \"\"\"\n # Figure out when indent is larger than the specified width, and make\n # sure at least one character is stripped off on every pass\n if width < 1:\n space_left = 1\n else:\n space_left = width - cur_len\n\n # If we're allowed to break long words, then do so: put as much\n # of the next chunk onto the current line as will fit.\n if self.break_long_words:\n cur_line.append(reversed_chunks[-1][:space_left])\n reversed_chunks[-1] = reversed_chunks[-1][space_left:]\n\n # Otherwise, we have to preserve the long word intact. Only add\n # it to the current line if there's nothing already there --\n # that minimizes how much we violate the width constraint.\n elif not cur_line:\n cur_line.append(reversed_chunks.pop())\n\n # If we're not allowed to break long words, and there's already\n # text on the current line, do nothing. Next time through the\n # main loop of _wrap_chunks(), we'll wind up here again, but\n # cur_len will be zero, so the next line will be entirely\n # devoted to the long word that we can't handle right now.\n\n def _wrap_chunks(self, chunks):\n \"\"\"_wrap_chunks(chunks : [string]) -> [string]\n Wrap a sequence of text chunks and return a list of lines of\n length 'self.width' or less. (If 'break_long_words' is false,\n some lines may be longer than this.) Chunks correspond roughly\n to words and the whitespace between them: each chunk is\n indivisible (modulo 'break_long_words'), but a line break can\n come between any two chunks. Chunks should not have internal\n whitespace; ie. a chunk is either all whitespace or a \"word\".\n Whitespace chunks will be removed from the beginning and end of\n lines, but apart from that whitespace is preserved.\n \"\"\"\n lines = []\n if self.width <= 0:\n raise ValueError(\"invalid width %r (must be > 0)\" % self.width)\n if self.max_lines is not None:\n if self.max_lines > 1:\n indent = self.subsequent_indent\n else:\n indent = self.initial_indent\n if len(indent) + len(self.placeholder.lstrip()) > self.width:\n raise ValueError(\"placeholder too large for max width\")\n\n # Arrange in reverse order so items can be efficiently popped\n # from a stack of chucks.\n chunks.reverse()\n\n while chunks:\n\n # Start the list of chunks that will make up the current line.\n # cur_len is just the length of all the chunks in cur_line.\n cur_line = []\n cur_len = 0\n\n # Figure out which static string will prefix this line.\n if lines:\n indent = self.subsequent_indent\n else:\n indent = self.initial_indent\n\n # Maximum width for this line.\n width = self.width - len(indent)\n\n # First chunk on line is whitespace -- drop it, unless this\n # is the very beginning of the text (ie. no lines started yet).\n if self.drop_whitespace and chunks[-1].strip() == '' and lines:\n del chunks[-1]\n\n while chunks:\n l = len(chunks[-1])\n\n # Can at least squeeze this chunk onto the current line.\n if cur_len + l <= width:\n cur_line.append(chunks.pop())\n cur_len += l\n\n # Nope, this line is full.\n else:\n break\n\n # The current line is full, and the next chunk is too big to\n # fit on *any* line (not just this one).\n if chunks and len(chunks[-1]) > width:\n self._handle_long_word(chunks, cur_line, cur_len, width)\n cur_len = sum(map(len, cur_line))\n\n # If the last chunk on this line is all whitespace, drop it.\n if self.drop_whitespace and cur_line and cur_line[-1].strip() == '':\n cur_len -= len(cur_line[-1])\n del cur_line[-1]\n\n if cur_line:\n if (self.max_lines is None or\n len(lines) + 1 < self.max_lines or\n (not chunks or\n self.drop_whitespace and\n len(chunks) == 1 and\n not chunks[0].strip()) and cur_len <= width):\n # Convert current line back to a string and store it in\n # list of all lines (return value).\n lines.append(indent + ''.join(cur_line))\n else:\n while cur_line:\n if (cur_line[-1].strip() and\n cur_len + len(self.placeholder) <= width):\n cur_line.append(self.placeholder)\n lines.append(indent + ''.join(cur_line))\n break\n cur_len -= len(cur_line[-1])\n del cur_line[-1]\n else:\n if lines:\n prev_line = lines[-1].rstrip()\n if (len(prev_line) + len(self.placeholder) <=\n self.width):\n lines[-1] = prev_line + self.placeholder\n break\n lines.append(indent + self.placeholder.lstrip())\n break\n\n return lines\n\n def _split_chunks(self, text):\n text = self._munge_whitespace(text)\n return self._split(text)\n\n # -- Public interface ----------------------------------------------\n\n def wrap(self, text):\n \"\"\"wrap(text : string) -> [string]\n Reformat the single paragraph in 'text' so it fits in lines of\n no more than 'self.width' columns, and return a list of wrapped\n lines. Tabs in 'text' are expanded with string.expandtabs(),\n and all other whitespace characters (including newline) are\n converted to space.\n \"\"\"\n chunks = self._split_chunks(text)\n if self.fix_sentence_endings:\n self._fix_sentence_endings(chunks)\n return self._wrap_chunks(chunks)\n\n def fill(self, text):\n \"\"\"fill(text : string) -> string\n Reformat the single paragraph in 'text' to fit in lines of no\n more than 'self.width' columns, and return a new string\n containing the entire wrapped paragraph.\n \"\"\"\n return \"\\n\".join(self.wrap(text))\n\n\n# -- Convenience interface ---------------------------------------------\n\ndef wrap(text, width=70, **kwargs):\n \"\"\"Wrap a single paragraph of text, returning a list of wrapped lines.\n Reformat the single paragraph in 'text' so it fits in lines of no\n more than 'width' columns, and return a list of wrapped lines. By\n default, tabs in 'text' are expanded with string.expandtabs(), and\n all other whitespace characters (including newline) are converted to\n space. See TextWrapper class for available keyword args to customize\n wrapping behaviour.\n \"\"\"\n w = TextWrapper(width=width, **kwargs)\n return w.wrap(text)\n\ndef fill(text, width=70, **kwargs):\n \"\"\"Fill a single paragraph of text, returning a new string.\n Reformat the single paragraph in 'text' to fit in lines of no more\n than 'width' columns, and return a new string containing the entire\n wrapped paragraph. As with wrap(), tabs are expanded and other\n whitespace characters converted to space. See TextWrapper class for\n available keyword args to customize wrapping behaviour.\n \"\"\"\n w = TextWrapper(width=width, **kwargs)\n return w.fill(text)\n\ndef shorten(text, width, **kwargs):\n \"\"\"Collapse and truncate the given text to fit in the given width.\n The text first has its whitespace collapsed. If it then fits in\n the *width*, it is returned as is. Otherwise, as many words\n as possible are joined and then the placeholder is appended::\n >>> textwrap.shorten(\"Hello world!\", width=12)\n 'Hello world!'\n >>> textwrap.shorten(\"Hello world!\", width=11)\n 'Hello [...]'\n \"\"\"\n w = TextWrapper(width=width, max_lines=1, **kwargs)\n return w.fill(' '.join(text.strip().split()))\n\n\n# -- Loosely related functionality -------------------------------------\n\n# _whitespace_only_re = re.compile('^[ \\t]+$', re.MULTILINE)\n# _leading_whitespace_re = re.compile('(^[ \\t]*)(?:[^ \\t\\n])', re.MULTILINE)\n\ndef dedent(text):\n \"\"\"Remove any common leading whitespace from every line in `text`.\n This can be used to make triple-quoted strings line up with the left\n edge of the display, while still presenting them in the source code\n in indented form.\n Note that tabs and spaces are both treated as whitespace, but they\n are not equal: the lines \" hello\" and \"\\\\thello\" are\n considered to have no common leading whitespace.\n Entirely blank lines are normalized to a newline character.\n \"\"\"\n # Look for the longest leading string of spaces and tabs common to\n # all lines.\n margin = None\n\n indents = re.findall(r'(^[ \\t]*)(?:[^ \\t\\n])',text, re.MULTILINE)\n for indent in indents:\n if margin is None:\n margin = indent\n\n # Current line more deeply indented than previous winner:\n # no change (previous winner is still on top).\n elif indent.startswith(margin):\n pass\n\n # Current line consistent with and no deeper than previous winner:\n # it's the new winner.\n elif margin.startswith(indent):\n margin = indent\n\n # Find the largest common whitespace between current line and previous\n # winner.\n else:\n for i, (x, y) in enumerate(zip(margin, indent)):\n if x != y:\n margin = margin[:i]\n break\n # sanity check (testing/debugging only)\n if 0 and margin:\n for line in text.split(\"\\n\"):\n assert not line or line.startswith(margin), \\\n \"line = %r, margin = %r\" % (line, margin)\n\n if margin:\n lines = [line[len(margin):] \n if line.strip()\n else line.strip() \n for line in text.split(\"\\n\")]\n text = \"\\n\".join(lines)\n return text\n\n\ndef indent(text, prefix, predicate=None):\n \"\"\"Adds 'prefix' to the beginning of selected lines in 'text'.\n If 'predicate' is provided, 'prefix' will only be added to the lines\n where 'predicate(line)' is True. If 'predicate' is not provided,\n it will default to adding 'prefix' to all non-empty lines that do not\n consist solely of whitespace characters.\n \"\"\"\n if predicate is None:\n def predicate(line):\n return line.strip()\n\n def prefixed_lines():\n for line in text.splitlines(True):\n yield (prefix + line if predicate(line) else line)\n return ''.join(prefixed_lines())\n\n\nif __name__ == \"__main__\":\n #print dedent(\"\\tfoo\\n\\tbar\")\n #print dedent(\" \\thello there\\n \\t how are you?\")\n print(dedent(\"Hello there.\\n This is indented.\"))","src/lib/this.py":'import _sk_fail; _sk_fail._("this")\n',"src/lib/threading.py":'import _sk_fail; _sk_fail._("threading")\n',"src/lib/timeit.py":'import _sk_fail; _sk_fail._("timeit")\n',"src/lib/toaiff.py":'import _sk_fail; _sk_fail._("toaiff")\n',"src/lib/trace.py":'import _sk_fail; _sk_fail._("trace")\n',"src/lib/traceback.py":'import _sk_fail; _sk_fail._("traceback")\n',"src/lib/tty.py":'import _sk_fail; _sk_fail._("tty")\n',"src/lib/types.py":'"""\nThis file was modified from CPython.\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,\n2011, 2012, 2013, 2014, 2015 Python Software Foundation; All Rights Reserved\n"""\n"""Define names for all type symbols known in the standard interpreter.\nTypes that are part of optional modules (e.g. array) are not listed.\n"""\nimport sys\n\n# Iterators in Python aren\'t a matter of type but of protocol. A large\n# and changing number of builtin types implement *some* flavor of\n# iterator. Don\'t check the type! Use hasattr to check for both\n# "__iter__" and "next" attributes instead.\nMappingProxyType = type(type.__dict__)\nWrapperDescriptorType = type(object.__init__)\nMethodWrapperType = type(object().__str__)\nMethodDescriptorType = type(str.join)\nClassMethodDescriptorType = type(dict.__dict__[\'fromkeys\'])\n\nNoneType = type(None)\nTypeType = type\nObjectType = object\nIntType = int\ntry:\n LongType = long\nexcept: pass\nFloatType = float\nBooleanType = bool\ntry:\n ComplexType = complex\nexcept NameError:\n pass\nStringType = str\n\n# StringTypes is already outdated. Instead of writing "type(x) in\n# types.StringTypes", you should use "isinstance(x, basestring)". But\n# we keep around for compatibility with Python 2.2.\ntry:\n UnicodeType = unicode\n StringTypes = (StringType, UnicodeType)\nexcept NameError:\n StringTypes = (StringType,)\n\nBufferType = buffer\n\nTupleType = tuple\nListType = list\nDictType = DictionaryType = dict\n\ndef _f(): pass\nFunctionType = type(_f)\nLambdaType = type(lambda: None) # Same as FunctionType\n#CodeType = type(_f.func_code)\n\ndef _g():\n yield 1\nGeneratorType = type(_g())\n\nclass _C:\n def _m(self): pass\nClassType = type(_C)\nUnboundMethodType = type(_C._m) # Same as MethodType\n_x = _C()\nInstanceType = type(_x)\nMethodType = type(_x._m)\nBuiltinFunctionType = type(len)\nBuiltinMethodType = type([].append) # Same as BuiltinFunctionType\n\nModuleType = type(sys)\nFileType = file\ntry:\n XRangeType = xrange\nexcept NameError:\n pass\n\n# try:\n# raise TypeError\n# except TypeError:\n# tb = sys.exc_info()[2]\n# TracebackType = type(tb)\n# FrameType = type(tb.tb_frame)\n# del tb\n\nSliceType = slice\nEllipsisType = type(Ellipsis)\n\n# DictProxyType = type(TypeType.__dict__)\nNotImplementedType = type(NotImplemented)\n\n# For Jython, the following two types are identical\n# GetSetDescriptorType = type(FunctionType.func_code)\n# MemberDescriptorType = type(FunctionType.func_globals)\n\ndel sys, _f, _g, _C, _x # Not for export\n__all__ = list(n for n in globals() if n[:1] != \'_\')\n\nGenericAlias = type(type[int])',"src/lib/unittest/gui.py":"import document\nfrom unittest import TestCase\n\nclass TestCaseGui(TestCase):\n def __init__(self):\n TestCase.__init__(self)\n self.divid = document.currentDiv()\n self.mydiv = document.getElementById(self.divid)\n res = document.getElementById(self.divid+'_unit_results')\n if res:\n self.resdiv = res\n res.innerHTML = ''\n else:\n self.resdiv = document.createElement('div')\n self.resdiv.setAttribute('id',self.divid+'_unit_results')\n self.resdiv.setAttribute('class','unittest-results')\n self.mydiv.appendChild(self.resdiv)\n\n\n def main(self):\n t = document.createElement('table')\n self.resTable = t\n self.resdiv.appendChild(self.resTable)\n\n headers = ['Result','Actual Value','Expected Value','Notes']\n row = document.createElement('tr')\n for item in headers:\n head = document.createElement('th')\n head.setAttribute('class','ac-feedback')\n head.innerHTML = item\n head.setCSS('text-align','center')\n row.appendChild(head)\n self.resTable.appendChild(row)\n\n for func in self.tlist:\n try:\n self.setUp()\n func()\n self.tearDown()\n except Exception as e:\n self.appendResult('Error', None, None, e)\n self.numFailed += 1\n self.showSummary()\n\n def appendResult(self,res,actual,expected,param):\n trimActual = False\n if len(str(actual)) > 15:\n trimActual = True\n actualType = type(actual)\n trimExpected = False\n if len(str(expected)) > 15:\n trimExpected = True\n expectedType = type(expected)\n row = document.createElement('tr')\n err = False\n if res == 'Error':\n err = True\n msg = 'Error: %s' % param\n errorData = document.createElement('td')\n errorData.setAttribute('class','ac-feedback')\n errorData.innerHTML = 'ERROR'\n errorData.setCSS('background-color','#de8e96')\n errorData.setCSS('text-align','center')\n row.appendChild(errorData)\n elif res:\n passed = document.createElement('td')\n passed.setAttribute('class','ac-feedback')\n passed.innerHTML = 'Pass'\n passed.setCSS('background-color','#83d382')\n passed.setCSS('text-align','center')\n row.appendChild(passed)\n self.numPassed += 1\n else:\n fail = document.createElement('td')\n fail.setAttribute('class','ac-feedback')\n fail.innerHTML = 'Fail'\n fail.setCSS('background-color','#de8e96')\n fail.setCSS('text-align','center')\n row.appendChild(fail)\n self.numFailed += 1\n\n\n act = document.createElement('td')\n act.setAttribute('class','ac-feedback')\n if trimActual:\n actHTML = str(actual)[:5] + \"...\" + str(actual)[-5:]\n if actualType == str:\n actHTML = repr(actHTML)\n act.innerHTML = actHTML\n else:\n act.innerHTML = repr(actual)\n act.setCSS('text-align','center')\n row.appendChild(act)\n\n expect = document.createElement('td')\n expect.setAttribute('class','ac-feedback')\n\n if trimExpected:\n expectedHTML = str(expected)[:5] + \"...\" + str(expected)[-5:]\n if expectedType == str:\n expectedHTML = repr(expectedHTML)\n expect.innerHTML = expectedHTML\n else:\n expect.innerHTML = repr(expected)\n expect.setCSS('text-align','center')\n row.appendChild(expect)\n inp = document.createElement('td')\n inp.setAttribute('class','ac-feedback')\n\n if err:\n inp.innerHTML = msg\n else:\n inp.innerHTML = param\n inp.setCSS('text-align','center')\n row.appendChild(inp)\n self.resTable.appendChild(row)\n\n\n def showSummary(self):\n pct = self.numPassed / (self.numPassed+self.numFailed) * 100\n pTag = document.createElement('p')\n pTag.innerHTML = \"You passed: \" + str(pct) + \"% of the tests\"\n self.resdiv.appendChild(pTag)\n","src/lib/unittest/__init__.py":'__author__ = \'bmiller\'\n\'\'\'\nThis is the start of something that behaves like\nthe unittest module from cpython.\n\n\'\'\'\nimport re\n\nclass _AssertRaisesContext(object):\n """A context manager used to implement TestCase.assertRaises* methods."""\n def __init__(self, expected, test_case):\n self.test_case = test_case\n self.expected = expected\n self.exception = None\n\n def _is_subtype(self, expected, basetype):\n if isinstance(expected, tuple):\n return all(self._is_subtype(e, basetype) for e in expected)\n return isinstance(expected, type) and issubclass(expected, basetype)\n\n def handle(self, args, kwargs):\n """\n If args is empty, assertRaises is being used as a\n context manager, so return self.\n If args is not empty, call a callable passing positional and keyword\n arguments.\n """\n try:\n if not self._is_subtype(self.expected, BaseException):\n raise TypeError(\'assertRaises() arg 1 must be an exception type or tuple of exception types\')\n if not args:\n return self\n\n callable_obj = args[0]\n args = args[1:]\n with self:\n callable_obj(*args, **kwargs) \n\n finally:\n # bpo-23890: manually break a reference cycle\n self = None\n\n def __enter__(self):\n return self\n\n def __exit__(self, exc_type, exc_value, tb):\n res = True\n feedback = ""\n self.exception = exc_value\n try:\n act_exc = exc_type.__name__\n except AttributeError:\n act_exc = str(exc_type)\n try:\n exp_exc = self.expected.__name__\n except AttributeError:\n exp_exc = str(self.expected)\n\n if exc_type is None:\n res = False\n feedback = "{} not raised".format(exp_exc)\n elif not issubclass(exc_type, self.expected):\n res = False\n feedback = "Expected {} but got {}".format(exp_exc, act_exc)\n\n self.test_case.appendResult(res, act_exc, exp_exc, feedback)\n return True\n\n\nclass TestCase(object):\n def __init__(self):\n self.numPassed = 0\n self.numFailed = 0\n self.assertPassed = 0\n self.assertFailed = 0\n self.verbosity = 1\n self.tlist = []\n testNames = {}\n for name in dir(self):\n if name[:4] == \'test\' and name not in testNames:\n self.tlist.append(getattr(self,name))\n testNames[name]=True\n\n def setUp(self):\n pass\n\n def tearDown(self):\n pass\n \n def cleanName(self,funcName):\n return funcName.__func__.__name__\n\n def main(self):\n\n for func in self.tlist:\n if self.verbosity > 1:\n print(\'Running %s\' % self.cleanName(func))\n try:\n self.setUp()\n self.assertPassed = 0\n self.assertFailed = 0\n func()\n self.tearDown()\n if self.assertFailed == 0:\n self.numPassed += 1\n else:\n self.numFailed += 1\n print(\'Tests failed in %s \' % self.cleanName(func))\n except Exception as e:\n self.assertFailed += 1\n self.numFailed += 1\n print(\'Test threw exception in %s (%s)\' % (self.cleanName(func), e))\n self.showSummary()\n\n def assertEqual(self, actual, expected, feedback=""):\n res = actual==expected\n if not res and feedback == "":\n feedback = "Expected %s to equal %s" % (str(actual),str(expected))\n self.appendResult(res, actual ,expected, feedback)\n\n def assertNotEqual(self, actual, expected, feedback=""):\n res = actual != expected\n if not res and feedback == "":\n feedback = "Expected %s to not equal %s" % (str(actual),str(expected))\n self.appendResult(res, actual, expected, feedback)\n\n def assertTrue(self,x, feedback=""):\n res = bool(x) is True\n if not res and feedback == "":\n feedback = "Expected %s to be True" % (str(x))\n self.appendResult(res, x, True, feedback)\n\n def assertFalse(self,x, feedback=""):\n res = not bool(x)\n if not res and feedback == "":\n feedback = "Expected %s to be False" % (str(x))\n self.appendResult(res, x, False, feedback)\n\n def assertIs(self,a,b, feedback=""):\n res = a is b\n if not res and feedback == "":\n feedback = "Expected %s to be the same object as %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertIsNot(self,a,b, feedback=""):\n res = a is not b\n if not res and feedback == "":\n feedback = "Expected %s to not be the same object as %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertIsNone(self,x, feedback=""):\n res = x is None\n if not res and feedback == "":\n feedback = "Expected %s to be None" % (str(x))\n self.appendResult(res, x, None, feedback)\n\n def assertIsNotNone(self,x, feedback=""):\n res = x is not None\n if not res and feedback == "":\n feedback = "Expected %s to not be None" % (str(x))\n self.appendResult(res, x, None, feedback)\n\n def assertIn(self, a, b, feedback=""):\n res = a in b\n if not res and feedback == "":\n feedback = "Expected %s to be in %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertNotIn(self, a, b, feedback=""):\n res = a not in b\n if not res and feedback == "":\n feedback = "Expected %s to not be in %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertIsInstance(self,a,b, feedback=""):\n res = isinstance(a,b)\n if not res and feedback == "":\n feedback = "Expected %s to be an instance of %s" % (str(a), str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertNotIsInstance(self,a,b, feedback=""):\n res = not isinstance(a,b)\n if not res and feedback == "":\n feedback = "Expected %s to not be an instance of %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertRegex(self, text, expected_regex, feedback=""):\n """Fail the test unless the text matches the regular expression."""\n if isinstance(expected_regex, (str, )): #bytes\n assert expected_regex, "expected_regex must not be empty."\n expected_regex = re.compile(expected_regex)\n if not expected_regex.search(text):\n res = False\n if feedback == "":\n feedback = "Regex didn\'t match: %r not found in %r" % (\n repr(expected_regex), text)\n else:\n res = True\n self.appendResult(res, text, expected_regex, feedback)\n\n def assertNotRegex(self, text, unexpected_regex, feedback=""):\n """Fail the test if the text matches the regular expression."""\n if isinstance(unexpected_regex, (str, )): # bytes\n unexpected_regex = re.compile(unexpected_regex)\n match = unexpected_regex.search(text)\n if match:\n feedback = \'Regex matched: %r matches %r in %r\' % (\n text[match.start() : match.end()],\n repr(unexpected_regex),\n text)\n # _formatMessage ensures the longMessage option is respected\n self.appendResult(not bool(match), text, unexpected_regex, feedback)\n\n def assertAlmostEqual(self, a, b, places=7, feedback="", delta=None):\n\n if delta is not None:\n res = abs(a-b) <= delta\n else:\n if places is None:\n places = 7\n res = round(a-b, places) == 0\n \n if not res and feedback == "":\n feedback = "Expected %s to equal %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertNotAlmostEqual(self, a, b, places=7, feedback="", delta=None):\n\n if delta is not None:\n res = not (a == b) and abs(a - b) > delta\n else:\n if places is None:\n places = 7\n\n res = round(a-b, places) != 0\n\n if not res and feedback == "":\n feedback = "Expected %s to not equal %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertGreater(self,a,b, feedback=""):\n res = a > b\n if not res and feedback == "":\n feedback = "Expected %s to be greater than %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertGreaterEqual(self,a,b, feedback=""):\n res = a >= b\n if not res and feedback == "":\n feedback = "Expected %s to be >= %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertLess(self, a, b, feedback=""):\n res = a < b\n if not res and feedback == "":\n feedback = "Expected %s to be less than %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertLessEqual(self,a,b, feedback=""):\n res = a <= b\n if not res and feedback == "":\n feedback = "Expected %s to be <= %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def appendResult(self,res,actual,expected,feedback):\n if res:\n msg = \'Pass\'\n self.assertPassed += 1\n else:\n msg = \'Fail: \' + feedback\n print(msg)\n self.assertFailed += 1\n\n def assertRaises(self, expected_exception, *args, **kwargs):\n context = _AssertRaisesContext(expected_exception, self)\n try:\n return context.handle(args, kwargs)\n finally:\n # bpo-23890: manually break a reference cycle\n context = None\n\n def fail(self, msg=None):\n if msg is None:\n msg = \'Fail\'\n else:\n msg = \'Fail: \' + msg\n print(msg)\n self.assertFailed += 1\n\n def showSummary(self):\n # don\'t divde by zero\n # pct = self.numPassed / (self.numPassed+self.numFailed) * 100\n print("Ran %d tests, passed: %d failed: %d\\n" % (self.numPassed+self.numFailed,\n self.numPassed, self.numFailed))\n\n\n\ndef main(verbosity=1):\n glob = globals() # globals() still needs work\n for name in glob:\n if type(glob[name]) == type and issubclass(glob[name], TestCase):\n try:\n tc = glob[name]()\n tc.verbosity = verbosity\n tc.main()\n except:\n print("Uncaught Error in: ", name)\n',"src/lib/urllib2.py":'import _sk_fail; _sk_fail._("urllib2")\n',"src/lib/urlparse.py":'import _sk_fail; _sk_fail._("urlparse")\n',"src/lib/user.py":'import _sk_fail; _sk_fail._("user")\n',"src/lib/UserDict.py":'import _sk_fail; _sk_fail._("UserDict")\n',"src/lib/UserList.py":'import _sk_fail; _sk_fail._("UserList")\n',"src/lib/UserString.py":'import _sk_fail; _sk_fail._("UserString")\n',"src/lib/uu.py":'import _sk_fail; _sk_fail._("uu")\n',"src/lib/warnings.py":'import _sk_fail; _sk_fail._("warnings")\n',"src/lib/wave.py":'import _sk_fail; _sk_fail._("wave")\n',"src/lib/weakref.py":'import _sk_fail; _sk_fail._("weakref")\n',"src/lib/whichdb.py":'import _sk_fail; _sk_fail._("whichdb")\n',"src/lib/wsgiref/__init__.py":'import _sk_fail; _sk_fail._("wsgiref")\n',"src/lib/xdrlib.py":'import _sk_fail; _sk_fail._("xdrlib")\n',"src/lib/xml/dom/__init__.py":'import _sk_fail; _sk_fail._("dom")\n',"src/lib/xml/etree/__init__.py":'import _sk_fail; _sk_fail._("etree")\n',"src/lib/xml/parsers/__init__.py":'import _sk_fail; _sk_fail._("parsers")\n',"src/lib/xml/sax/__init__.py":'import _sk_fail; _sk_fail._("sax")\n',"src/lib/xml/__init__.py":'import _sk_fail; _sk_fail._("xml")\n',"src/lib/xmllib.py":'import _sk_fail; _sk_fail._("xmllib")\n',"src/lib/xmlrpclib.py":'import _sk_fail; _sk_fail._("xmlrpclib")\n',"src/lib/zipfile.py":'import _sk_fail; _sk_fail._("zipfile")\n',"src/lib/_abcoll.py":'import _sk_fail; _sk_fail._("_abcoll")\n',"src/lib/_LWPCookieJar.py":'import _sk_fail; _sk_fail._("_LWPCookieJar")\n',"src/lib/_MozillaCookieJar.py":'import _sk_fail; _sk_fail._("_MozillaCookieJar")\n',"src/lib/_sk_fail.py":'class NotImplementedImportError(ImportError, NotImplementedError): pass\n\ndef _(name):\n msg = "{} is not yet implemented in Skulpt".format(name)\n raise NotImplementedImportError(msg, name=name)\n',"src/lib/_threading_local.py":'import _sk_fail; _sk_fail._("_threading_local")\n',"src/lib/__future__.py":'import _sk_fail;_sk_fail._("__future__")\n',"src/lib/__phello__.foo.py":'import _sk_fail; _sk_fail._("__phello__.foo")\n',"src/builtin/sys.js":'var $builtinmodule=function(i){var t,n={},e=[],u=Sk.getSysArgv();for(t=0;tnew Sk.builtin.str("utf-8"))),n.getExecutionLimit=new Sk.builtin.func((function(){return null===Sk.execLimit?Sk.builtin.none.none$:new Sk.builtin.int_(Sk.execLimit)})),n.setExecutionLimit=new Sk.builtin.func((function(i){if(null===Sk.execLimit)throw new Sk.builtin.NotImplementedError("Execution limiting is not enabled");void 0!==i&&(Sk.execLimit=Sk.builtin.asnum$(i))})),n.resetTimeout=new Sk.builtin.func((function(){Sk.execStart=new Date})),n.getYieldLimit=new Sk.builtin.func((function(){return null===Sk.yieldLimit?Sk.builtin.none.none$:new Sk.builtin.int_(Sk.yieldLimit)})),n.setYieldLimit=new Sk.builtin.func((function(i){if(null===Sk.yieldLimit)throw new Sk.builtin.NotImplementedError("Yielding is not enabled");void 0!==i&&(Sk.yieldLimit=Sk.builtin.asnum$(i))})),n.debug=new Sk.builtin.func((function(){return Sk.builtin.none.none$}));const o=Sk.builtin.make_structseq("sys","float_info",{max:"DBL_MAX -- maximum representable finite float",max_exp:"DBL_MAX_EXP -- maximum int e such that radix**(e-1) is representable",max_10_exp:"DBL_MAX_10_EXP -- maximum int e such that 10**e is representable",min:"DBL_MIN -- Minimum positive normalized float",min_exp:"DBL_MIN_EXP -- minimum int e such that radix**(e-1) is a normalized float",min_10_exp:"DBL_MIN_10_EXP -- minimum int e such that 10**e is a normalized",dig:"DBL_DIG -- digits",mant_dig:"DBL_MANT_DIG -- mantissa digits",epsilon:"DBL_EPSILON -- Difference between 1 and the next representable float",radix:"FLT_RADIX -- radix of exponent",rounds:"FLT_ROUNDS -- rounding mode"});n.float_info=new o([Number.MAX_VALUE,Math.floor(Math.log2(Number.MAX_VALUE)),Math.floor(Math.log10(Number.MAX_VALUE)),Number.MIN_VALUE,Math.ceil(Math.log2(Number.MIN_VALUE)),Math.ceil(Math.log10(Number.MIN_VALUE)),15,Math.log2(Number.MAX_SAFE_INTEGER),Number.EPSILON,2,1].map((i=>Sk.ffi.remapToPy(i))));const s=Sk.builtin.make_structseq("sys","int_info",{bits_per_digit:"size of a digit in bits",sizeof_digit:"size in bytes of the C type used to represent a digit"});n.int_info=new s([30,4].map((i=>Sk.ffi.remapToPy(i))));const l=Sk.builtin.make_structseq("sys","hash_info",{width:"width of the type used for hashing, in bits",modulus:"prime number giving the modulus on which the hash function is based",inf:"value to be used for hash of a positive infinity",nan:"value to be used for hash of a nan",imag:"multiplier used for the imaginary part of a complex number",algorithm:"name of the algorithm for hashing of str, bytes and memoryviews",hash_bits:"internal output size of hash algorithm",seed_bits:"seed size of hash algorithm",cutoff:"small string optimization cutoff"});return n.hash_info=new l([32,536870911,314159,0,1000003,"siphash24",32,128,0].map((i=>Sk.ffi.remapToPy(i)))),n.__stdout__=new Sk.builtin.file(new Sk.builtin.str("/dev/stdout"),new Sk.builtin.str("w")),n.__stdin__=new Sk.builtin.file(new Sk.builtin.str("/dev/stdin"),new Sk.builtin.str("r")),n.stdout=n.__stdout__,n.stdin=n.__stdin__,n};',"src/lib/array.js":'function $builtinmodule(e){var n={},t=["c","b","B","u","h","H","i","I","l","L","f","d"];return n.__name__=new Sk.builtin.str("array"),n.array=Sk.misceval.buildClass(n,(function(e,n){n.__init__=new Sk.builtin.func((function(e,n,i){if(Sk.builtin.pyCheckArgsLen("__init__",arguments.length,2,3),-1==t.indexOf(Sk.ffi.remapToJs(n)))throw new Sk.builtin.ValueError("bad typecode (must be c, b, B, u, h, H, i, I, l, L, f or d)");if(i&&!Sk.builtin.checkIterable(i))throw new Sk.builtin.TypeError("iteration over non-sequence");if(e.$d.mp$ass_subscript(new Sk.builtin.str("typecode"),n),e.$d.mp$ass_subscript(new Sk.builtin.str("__module__"),new Sk.builtin.str("array")),e.typecode=n,void 0===i)e.internalIterable=new Sk.builtin.list;else if(i instanceof Sk.builtin.list)e.internalIterable=i;else{e.internalIterable=new Sk.builtin.list;for(let n=Sk.abstr.iter(i),t=n.tp$iternext();void 0!==t;t=n.tp$iternext())Sk.misceval.callsimArray(e.internalIterable.append,[e.internalIterable,t])}})),n.__repr__=new Sk.builtin.func((function(e){var n=Sk.ffi.remapToJs(e.typecode),t="";return Sk.ffi.remapToJs(e.internalIterable).length&&(t="c"==Sk.ffi.remapToJs(e.typecode)?", \'"+Sk.ffi.remapToJs(e.internalIterable).join("")+"\'":", "+Sk.ffi.remapToJs(Sk.misceval.callsimArray(e.internalIterable.__repr__,[e.internalIterable]))),new Sk.builtin.str("array(\'"+n+"\'"+t+")")})),n.__str__=n.__repr__,n.__getattribute__=new Sk.builtin.func((function(e,n){return e.tp$getattr(n)})),n.append=new Sk.builtin.func((function(e,n){return Sk.misceval.callsimArray(e.internalIterable.append,[e.internalIterable,n]),Sk.builtin.none.none$})),n.extend=new Sk.builtin.func((function(e,n){if(Sk.builtin.pyCheckArgsLen("__init__",arguments.length,2,2),!Sk.builtin.checkIterable(n))throw new Sk.builtin.TypeError("iteration over non-sequence");for(let t=Sk.abstr.iter(n),i=t.tp$iternext();void 0!==i;i=t.tp$iternext())Sk.misceval.callsimArray(e.internalIterable.append,[e.internalIterable,i])}))}),"array",[]),n}',"src/lib/calendar.js":'function $builtinmodule(e){const t={},{misceval:{chain:n},importModule:r}=Sk,importOrSuspend=e=>r(e,!1,!0);return n(importOrSuspend("datetime"),(e=>(t.datetime=e,importOrSuspend("itertools"))),(e=>(t.iterRepeat=e.$d.repeat,t.iterChain=e.$d.chain,calendarModule(t))))}function calendarModule(e){const{abstr:{setUpModuleMethods:t,numberBinOp:n,iter:r,objectGetItem:o},builtin:{bool:s,bool:{true$:m,false$:d},func:l,int_:i,list:c,none:{none$:f},str:h,slice:w,tuple:y,range:u,max:_,min:g,property:k,print:p,enumerate:$,ValueError:b},ffi:{remapToPy:M},misceval:{isTrue:T,iterator:C,arrayFromIterable:O,buildClass:L,richCompareBool:x,asIndexOrThrow:F,objectRepr:I,callsimArray:A},global:v,global:{strftime:E}}=Sk,S=new i(0),H=new i(1),D=new i(2),N=new i(3),R=new i(6),j=new i(7),J=new i(9),P=new i(12),Y=new i(13),U=new i(24),z=new i(60),le=(e,t)=>x(e,t,"LtE"),eq=(e,t)=>x(e,t,"Eq"),mod=(e,t)=>n(e,t,"Mod"),add=(e,t)=>n(e,t,"Add"),sub=(e,t)=>n(e,t,"Sub"),mul=(e,t)=>n(e,t,"Mult"),inc=e=>add(e,H),dec=e=>sub(e,H),mod7=e=>mod(e,j),getA=(e,t)=>e.tp$getattr(new h(t)),callA=(e,t,...n)=>A(e.tp$getattr(new h(t)),n);function*iterJs(e){const t=r(e);let n;for(;n=t.tp$iternext();)yield n}function iterFn(e,t){return e=r(e),new C((()=>{const n=e.tp$iternext();return n&&t(n)}),!0)}function makePyMethod(e,t,{args:n,name:r,doc:o,defaults:s}){t.co_varnames=["self",...n||[]],t.co_docstring=o?new h(o):f,s&&(t.$defaults=s),t.co_name=new h(r),t.co_qualname=new h(e+"."+r);const m=new l(t);return m.$module=Q.__name__,m}const{datetime:B,iterRepeat:W,iterChain:q}=e;let{MINYEAR:G,MAXYEAR:X,date:V}=B.$d;const K=getA(h,"center"),pyCenter=(e,t)=>A(K,[e,t]),pyRStrip=e=>new h(e.toString().trimRight());G=G.valueOf(),X=X.valueOf();const Q={__name__:new h("calendar"),__all__:M(["IllegalMonthError","IllegalWeekdayError","setfirstweekday","firstweekday","isleap","leapdays","weekday","monthrange","monthcalendar","prmonth","month","prcal","calendar","timegm","month_name","month_abbr","day_name","day_abbr","Calendar","TextCalendar","HTMLCalendar","LocaleTextCalendar","LocaleHTMLCalendar","weekheader"])};function makeErr(e,t){return L(Q,((e,n)=>{n.__init__=new l((function __init__(e,t){e.$attr=t})),n.__str__=new l((function __str__(e){return new h(t.replace("$",I(e.$attr)))}))}),e,[b])}const Z=makeErr("IllegalMonthError","bad month $; must be 1-12"),ee=makeErr("IllegalWeekdayError","bad weekday number $; must be 0 (Monday) to 6 (Sunday)"),te=1,ae=2,ne=[0,31,28,31,30,31,30,31,31,30,31,30,31];function mkLocalizedCls(e,t){t.__init__=new l((function __init__(e,t){e.format=t})),t.__getitem__=new l((function __getitem__(t,n){const r=o(e,n);if(n instanceof w){const e=[];for(const n of r.valueOf())e.push(A(n,[t.format]));return new c(e)}return A(r,[t.format])}));const n=new i(e.valueOf().length);t.__len__=new l((function __len__(e){return n}))}const re=new h("strftime"),oe=L(Q,((e,t)=>{let n=[new l((e=>h.$empty))];for(let r=0;r<12;r++){const e=new V(2001,r+1,1);n.push(e.tp$getattr(re))}n=new c(n),t._months=n,mkLocalizedCls(n,t)}),"_localized_month"),se=L(Q,((e,t)=>{let n=[];for(let r=0;r<7;r++){const e=new V(2001,1,r+1);n.push(e.tp$getattr(re))}n=new c(n),t._days=n,mkLocalizedCls(n,t)}),"_localized_day"),me=A(se,[new h("%A")]),de=A(se,[new h("%a")]),ie=A(oe,[new h("%B")]),ce=A(oe,[new h("%b")]),[fe,he,we,ye,ue,_e,ge]=[0,1,2,3,4,5,6];function isleap(e){return(e=F(e))%4==0&&(e%100!=0||e%400==0)}function weekday(e,t,n){e=F(e),G<=e&&e<=X||(e=2e3+e%400);const r=A(V,[new i(e),t,n]);return callA(V,"weekday",r)}function monthrange(e,t){if(!le(H,t)||!le(t,P))throw A(Z,[t]);const n=weekday(e,t,H);t=F(t);const r=ne[t]+Number(t===ae&&isleap(e));return[n,new i(r)]}function iterweekdays(e){return iterFn(A(u,[e.fwd,add(e.fwd,j)]),mod7)}function itermonthdates(e,t,n){return iterFn(itermonthdays3(e,t,n),(e=>A(V,e.valueOf())))}function itermonthdays(e,t,n){const[r,o]=monthrange(t,n),s=mod7(sub(r,e.fwd)),m=A(W,[S,s]),d=A(u,[H,inc(o)]),l=mod7(sub(e.fwd,add(r,o))),i=A(W,[S,l]);return A(q,[m,d,i])}function itermonthdays2(e,t,n){return iterFn(A($,[itermonthdays(e,t,n),e.fwd]),(e=>{const[t,n]=e.valueOf();return new y([n,mod7(t)])}))}function itermonthdays3(e,t,n){const ymdIter=(e,t,n)=>iterFn(n,(n=>new y([e,t,n]))),[r,o]=monthrange(t,n),s=mod7(sub(r,e.fwd)),m=mod7(sub(e.fwd,add(r,o))),[d,l]=function _prevmonth(e,t){return eq(t,H)?[dec(e),P]:[e,dec(t)]}(t,n),c=inc(function _monthlen(e,t){return t=F(t),new i(ne[t]+Number(t===ae&&isleap(e)))}(d,l)),f=A(u,[sub(c,s),c]),h=A(u,[H,inc(o)]),[w,_]=function _nextmonth(e,t){return eq(t,P)?[inc(e),H]:[e,inc(t)]}(t,n),g=A(u,[H,inc(m)]);return A(q,[ymdIter(d,l,f),ymdIter(t,n,h),ymdIter(w,_,g)])}function itermonthdays4(e,t,n){const r=itermonthdays3(e,t,n);let o=0;return iterFn(r,(t=>new y([...t.valueOf(),mod7(add(e.fwd,new i(o++)))])))}function _monthIter(e,t,n,r){const o=O(e(t,n,r)),s=[];for(let m=0;m{const n=makePyMethod.bind(null,"Calendar"),r=["firstweekday"],o=["year","month"],s=["year","width"],m={__init__:n((function __init__(e,t){return Object.defineProperty(e,"fwd",{get(){return mod7(this._fwd)},set(e){return this._fwd=e,!0}}),e.fwd=t,f}),{name:"__init__",args:r,defaults:[S]}),getfirstweekday:n((function getfirstweekday(e){return e.fwd}),{name:"getfirstweekday"}),setfirstweekday:n((function setfirstweekday(e,t){return e.fwd=t,f}),{name:"setfirstweekday",args:r}),iterweekdays:n(iterweekdays,{name:"iterweekdays"}),itermonthdates:n(itermonthdates,{name:"itermonthdates",args:o}),itermonthdays:n(itermonthdays,{name:"itermonthdays",args:o}),itermonthdays2:n(itermonthdays2,{name:"itermonthdays2",args:o}),itermonthdays3:n(itermonthdays3,{name:"itermonthdays3",args:o}),itermonthdays4:n(itermonthdays4,{name:"itermonthdays4",args:o}),monthdatescalendar:n(monthdatescalendar,{name:"monthdatescalendar",args:o}),monthdays2calendar:n(monthdays2calendar,{name:"monthdays2calendar",args:o}),monthdayscalendar:n(monthdayscalendar,{name:"monthdayscalendar",args:o}),yeardatescalendar:n(yeardatescalendar,{name:"yeardatescalendar",args:s,defaults:[N]}),yeardays2calendar:n(yeardays2calendar,{name:"yeardays2calendar",args:s,defaults:[N]}),yeardayscalendar:n(yeardayscalendar,{name:"yeardayscalendar",args:s,defaults:[N]})};m.firstweekday=new k(m.getfirstweekday,m.setfirstweekday),Object.assign(t,m)}),"Calendar");function doTextFormatweekday(e,t,n){let r;return r=x(n,J,"GtE")?me:de,pyCenter(o(o(r,t),new w(f,n)),n)}function doTextFormatmonthname(e,t,n,r,s=!0){let m=o(ie,n);return T(s)&&(m=mod(new h("%s %r"),new y([m,t]))),pyCenter(m,r)}const pe=L(Q,((e,t)=>{const txtPrint=e=>p([e],["end",h.$empty]);const n=doTextFormatweekday;function formatweekheader(e,t){const n=[];for(const r of iterJs(iterweekdays(e)))n.push(callA(e,"formatweekday",r,t).toString());return new h(n.join(" "))}const r=doTextFormatmonthname;const o=makePyMethod.bind(null,"TextCalendar"),s={prweek:o((function prweek(e,t,n){txtPrint(callA(e,"formatweek",t,n))}),{name:"prweek",args:["theweek","width"]}),formatday:o((function formatday(e,t,n,r){let o;return o=eq(t,S)?h.$empty:mod(new h("%2i"),t),pyCenter(o,r)}),{name:"formatday",args:["day","weekday","width"]}),formatweek:o((function formatweek(e,t,n){const r=[];for(const o of iterJs(t)){const[t,s]=o.valueOf();r.push(callA(e,"formatday",t,s,n).toString())}return new h(r.join(" "))}),{name:"formatweek",args:["theweek","width"]}),formatweekday:o(n,{name:"formatweekday",args:["day","width"]}),formatweekheader:o(formatweekheader,{name:"formatweekheader",args:["width"]}),formatmonthname:o(r,{name:"formatmonthname",args:["theyear","themonth","width","withyear"],defaults:[m]}),prmonth:o((function prmonth(e,t,n,r,o){txtPrint(callA(e,"formatmonth",t,n,r,o))}),{name:"prmonth",args:["theyear","themonth","w","l"],defaults:[S,S]}),formatmonth:o((function formatmonth(e,t,n,r,o){const addNewLines=e=>new h(e+"\\n".repeat(o.valueOf()));r=_([D,r]),o=_([H,o]);let s=callA(e,"formatmonthname",t,n,dec(mul(j,inc(r))),!0);s=pyRStrip(s),s=addNewLines(s),s=add(s,pyRStrip(callA(e,"formatweekheader",r))),s=addNewLines(s);for(const m of iterJs(monthdays2calendar(e,t,n)))s=add(s,pyRStrip(callA(e,"formatweek",m,r))),s=addNewLines(s);return s}),{name:"formatmonth",args:["thyear","themonth","w","l"],defaults:[S,S]}),formatyear:o((function formatyear(e,t,n,r,o,s){n=_([D,n]),r=_([H,r]),o=_([D,o]);const m=dec(mul(inc(n),j));let d="";const a=e=>d+=e;a(pyRStrip(pyCenter(t.$r(),add(mul(m,s),mul(o,dec(s)))))),a("\\n".repeat(r));const l=formatweekheader(e,n);let f=0;for(const w of iterJs(yeardays2calendar(e,t,s))){const d=new i(f),y=inc(mul(s,d)),_=g([inc(mul(s,inc(d))),Y]),k=A(u,[y,_]);a("\\n".repeat(r));const p=iterFn(k,(n=>callA(e,"formatmonthname",t,n,m,!1)));a(pyRStrip(formatstring(p,m,o))),a("\\n".repeat(r));const $=iterFn(k,(e=>l));a(pyRStrip(formatstring($,m,o))),a("\\n".repeat(r));const b=Math.max(...w.valueOf().map((e=>e.valueOf().length)));for(let t=0;t=r.length?s.push(h.$empty):s.push(callA(e,"formatweek",r[t],n));a(pyRStrip(formatstring(new c(s),m,o))),a("\\n".repeat(r))}f++}return new h(d)}),{name:"formatyear",args:["theyear","w","l","c","m"],defaults:[D,H,R,N]}),pryear:o((function pryear(e,t,n,r,o,s){txtPrint(callA(e,"formatyear",t,n,r,o,s))}),{name:"pryear",args:["theyear","w","l","c","m"],defaults:[S,S,R,N]})};Object.assign(t,s)}),"TextCalendar",[ke]);function doHtmlFormatweekday(e,t){return new h(`${o(de,t)}`)}function doHtmlFormatmonthname(e,t,n,r=!0){let s=""+o(ie,n);return T(r)&&(s+=" "+t),new h(`${s}`)}const $e=L(Q,((e,t)=>{const n=M(["mon","tue","wed","thu","fri","sat","sun"]),r=n,s=new h("noday"),d=new h("month"),l=d,c=new h("year"),w=c,u=new h(\' \'),g=new h(\'%d\');const k=doHtmlFormatweekday;function formatweekheader(e){let t="";for(const n of iterJs(iterweekdays(e)))t+=callA(e,"formatweekday",n);return new h(`${t}`)}const p=doHtmlFormatmonthname;const $=makePyMethod.bind(null,"HTMLCalendar"),b={formatday:$((function formatday(e,t,n){return eq(t,S)?mod(u,getA(e,"cssclass_noday")):mod(g,new y([o(getA(e,"cssclasses"),n),t]))}),{name:"formatday",args:["day","weekday"]}),formatweek:$((function formatweek(e,t){let n="";for(const r of iterJs(t)){const[t,o]=r.valueOf();n+=callA(e,"formatday",t,o)}return new h(`${n}`)}),{name:"formatweek",args:["theweek"]}),formatweekday:$(k,{name:"formatweekday",args:["day"]}),formatweekheader:$(formatweekheader,{name:"formatweekheader"}),formatmonthname:$(p,{name:"formatmonthname",args:["theyear","themonth","withyear"],defaults:[m]}),formatmonth:$((function formatmonth(e,t,n,r=!0){let o="";const a=e=>o+=e+"\\n";a(``),a(callA(e,"formatmonthname",t,n,r)),a(formatweekheader(e));for(const s of iterJs(monthdays2calendar(e,t,n)))a(callA(e,"formatweek",s));return a("
"),new h(o)}),{name:"formatmonth",args:["thyear","themonth","withyear"],defaults:[m]}),formatyear:$((function formatyear(e,t,n){let r="";const a=e=>r+=e;n=_([n,H]).valueOf(),a(``),a("\\n"),a(``);for(let o=te;o");const r=Math.min(o+n,13);for(let n=o;n"),a(callA(e,"formatmonth",t,new i(n),!1)),a("");a("")}return a("
${t}
"),new h(r)}),{name:"formatyear",args:["theyear","width"],defaults:[N]}),formatyearpage:$((function formatyearpage(e,t,n=3,r="calendar.css",o=null){null!==o&&o!==f||(o=new h("utf-8"));let s="";const a=e=>s+=e;return a(`\\n`),a(\'\\n\'),a("\\n"),a("\\n"),a(`\\n`),r!==f&&a(`\\n`),a(`Calendar for ${t}\\n`),a("\\n"),a("\\n"),a(callA(e,"formatyear",t,n)),a("\\n"),a("\\n"),callA(h,"encode",new h(s),o,new h("ignore"))}),{name:"formatyearpage",args:["theyear","width","css","encoding"],defaults:[N,new h("calendar.css"),new h("utf-8")]}),cssclasses:n,cssclasses_weekday_head:r,cssclass_noday:s,cssclass_month_head:d,cssclass_month:l,cssclass_year_head:c,cssclass_year:w};Object.assign(t,b)}),"HTMLCalendar",[ke]);function withLocale(e,t){const n=E.localizeByIdentifier(e.toString());v.strftime=n;try{return t()}finally{v.strftime=E}}function localInit(e,t){T(t)||(t=new h("en_US")),e.locale=t}const be=L(Q,((e,t)=>{const n=makePyMethod.bind(null,"LocaleTextCalendar"),r={__init__:n((function __init__(e,t,n){return callA(pe,"__init__",e,t),localInit(e,n),f}),{name:"__init__",args:["firstweekday","locale"],defaults:[S,f]}),formatweekday:n((function formatweekday(e,t,n){return withLocale(e.locale,(()=>doTextFormatweekday(0,t,n)))}),{name:"formatweekday",args:["day","width"]}),formatmonthname:n((function formatmonthname(e,t,n,r,o){return withLocale(e.locale,(()=>doTextFormatmonthname(0,t,n,r,o)))}),{name:"formatmonthname",args:["theyear","themonth","width","withyear"],defaults:[m]})};Object.assign(t,r)}),"LocaleTextCalendar",[pe]),Me=L(Q,((e,t)=>{const n=makePyMethod.bind(null,"LocaleHTMLCalendar"),r={__init__:n((function __init__(e,t,n){return callA($e,"__init__",e,t),localInit(e,n),f}),{name:"__init__",args:["firstweekday","locale"],defaults:[S,f]}),formatweekday:n((function formatweekday(e,t){return withLocale(e.locale,(()=>doHtmlFormatweekday(e,t)))}),{name:"formatweekday",args:["day"]}),formatmonthname:n((function formatmonthname(e,t,n,r){return withLocale(e.locale,(()=>doHtmlFormatmonthname(e,t,n,r)))}),{name:"formatmonthname",args:["theyear","themonth","withyear"],defaults:[m]})};Object.assign(t,r)}),"LocaleHTMLCalendar",[$e]),Te=A(pe,[]);Object.assign(Q,{IllegalMonthError:Z,IllegalWeekdayError:ee,day_name:me,month_name:ie,day_abbr:de,month_abbr:ce,January:new i(te),February:new i(ae),mdays:M(ne),MONDAY:new i(fe),TUESDAY:new i(he),WEDNESDAY:new i(we),THURSDAY:new i(ye),FRIDAY:new i(ue),SATURDAY:new i(_e),SUNDAY:new i(ge),Calendar:ke,TextCalendar:pe,HTMLCalendar:$e,LocaleTextCalendar:be,LocaleHTMLCalendar:Me,c:Te,firstweekday:getA(Te,"getfirstweekday"),monthcalendar:getA(Te,"monthdayscalendar"),prweek:getA(Te,"prweek"),week:getA(Te,"formatweek"),weekheader:getA(Te,"formatweekheader"),prmonth:getA(Te,"prmonth"),month:getA(Te,"formatmonth"),calendar:getA(Te,"formatyear"),prcal:getA(Te,"pryear")});const Ce=new i(20),Oe=R;function formatstring(e,t,n){t||(t=Ce),n||(n=Oe),n=mul(n,new h(" "));const r=[];for(const o of iterJs(e))r.push(pyCenter(o,t).toString());return new h(r.join(n.toString()))}const Le=getA(V,"toordinal"),xe=A(Le,[new V(1970,1,1)]);return t("calendar",Q,{isleap:{$meth:e=>s(isleap(e)),$flags:{NamedArgs:["year"]},$doc:"Return True for leap years, False for non-leap years"},leapdays:{$meth(e,t){e=F(e)-1,t=F(t)-1;const n=Math.floor;return new i(n(t/4)-n(e/4)-(n(t/100)-n(e/100))+(n(t/400)-n(e/400)))},$flags:{MinArgs:2,MaxArgs:2}},weekday:{$meth:weekday,$flags:{NamedArgs:["year","month","day"]},$doc:"Return weekday (0-6 ~ Mon-Sun) for year, month (1-12), day (1-31)."},monthrange:{$meth:(e,t)=>new y(monthrange(e,t)),$flags:{NamedArgs:["year","month"]},$doc:"Return weekday (0-6 ~ Mon-Sun) and number of days (28-31) for year, month."},setfirstweekday:{$meth(e){const t=F(e);if(!(fe<=t&&t<=ge))throw A(ee,[e]);Te.fwd=e},$flags:{NamedArgs:["firstweekday"]}},format:{$meth:function format(e,t,n){return p([formatstring(e,t,n)]),f},$flags:{NamedArgs:["cols","colwidth","spacing"],Defaults:[Ce,Oe]}},formatstring:{$meth:formatstring,$flags:{NamedArgs:["cols","colwidth","spacing"],Defaults:[Ce,Oe]}},timegm:{$meth(e){const[t,n,r,o,s,m]=e.valueOf(),d=A(V,[t,n,H]),l=A(Le,[d]),i=add(sub(l,xe),dec(r)),c=add(mul(i,U),o),f=add(mul(c,z),s);return add(mul(f,z),m)},$flags:{OneArg:!0}}}),Q}',"src/lib/collections.js":'function $builtinmodule(t){const e={};return Sk.misceval.chain(Sk.importModule("keyword",!1,!0),(t=>(e._iskeyword=t.$d.iskeyword,Sk.importModule("itertools",!1,!0))),(t=>(e._chain=t.$d.chain,e._starmap=t.$d.starmap,e._repeat=t.$d.repeat,Sk.importModule("operator",!1,!0))),(t=>{e._itemgetter=t.$d.itemgetter}),(()=>collections_mod(e)))}function collections_mod(t){function counterNumberSlot(e){return function(i){if(void 0!==i&&!(i instanceof t.Counter))return Sk.builtin.NotImplemented.NotImplemented$;const s=new t.Counter;return e.call(this,s,i),s}}function counterInplaceSlot(t,e){return function(i){if(!(i instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError("Counter "+t+"= "+Sk.abstr.typeName(i)+" is not supported");return e.call(this,i),this.keep$positive()}}t.__all__=new Sk.builtin.list(["deque","defaultdict","namedtuple","Counter","OrderedDict"].map((t=>new Sk.builtin.str(t)))),t.defaultdict=Sk.abstr.buildNativeClass("collections.defaultdict",{constructor:function defaultdict(t,e){this.default_factory=t,Sk.builtin.dict.call(this,e)},base:Sk.builtin.dict,methods:{copy:{$meth(){return this.$copy()},$flags:{NoArgs:!0}},__copy__:{$meth(){return this.$copy()},$flags:{NoArgs:!0}},__missing__:{$meth(t){if(Sk.builtin.checkNone(this.default_factory))throw new Sk.builtin.KeyError(Sk.misceval.objectRepr(t));{const e=Sk.misceval.callsimArray(this.default_factory,[]);return this.mp$ass_subscript(t,e),e}},$flags:{OneArg:!0}}},getsets:{default_factory:{$get(){return this.default_factory},$set(t){t=t||Sk.builtin.none.none$,this.default_factory=t}}},slots:{tp$doc:"defaultdict(default_factory[, ...]) --\\x3e dict with default factory\\n\\nThe default factory is called without arguments to produce\\na new value when a key is not present, in __getitem__ only.\\nA defaultdict compares equal to a dict with the same items.\\nAll remaining arguments are treated the same as if they were\\npassed to the dict constructor, including keyword arguments.\\n",tp$init(t,e){const i=t.shift();if(void 0===i)this.default_factory=Sk.builtin.none.none$;else{if(!Sk.builtin.checkCallable(i)&&!Sk.builtin.checkNone(i))throw new Sk.builtin.TypeError("first argument must be callable");this.default_factory=i}return Sk.builtin.dict.prototype.tp$init.call(this,t,e)},$r(){const t=Sk.misceval.objectRepr(this.default_factory),e=Sk.builtin.dict.prototype.$r.call(this).v;return new Sk.builtin.str("defaultdict("+t+", "+e+")")}},proto:{$copy(){const e=[];return Sk.misceval.iterFor(Sk.abstr.iter(this),(t=>{e.push(t),e.push(this.mp$subscript(t))})),new t.defaultdict(this.default_factory,e)}}}),t.Counter=Sk.abstr.buildNativeClass("Counter",{constructor:function Counter(){this.$d=new Sk.builtin.dict,Sk.builtin.dict.apply(this)},base:Sk.builtin.dict,methods:{elements:{$flags:{NoArgs:!0},$meth(){const e=t._chain.tp$getattr(new Sk.builtin.str("from_iterable")),i=t._starmap,s=t._repeat,n=Sk.misceval.callsimArray;return n(e,[n(i,[s,n(this.tp$getattr(this.str$items))])])}},most_common:{$flags:{NamedArgs:["n"],Defaults:[Sk.builtin.none.none$]},$meth(t){const e=this.sq$length();t=Sk.builtin.checkNone(t)||(t=Sk.misceval.asIndexOrThrow(t))>e?e:t<0?0:t;const i=this.$items().sort(((t,e)=>Sk.misceval.richCompareBool(t[1],e[1],"Lt")?1:Sk.misceval.richCompareBool(t[1],e[1],"Gt")?-1:0));return new Sk.builtin.list(i.slice(0,t).map((t=>new Sk.builtin.tuple(t))))}},update:{$flags:{FastCall:!0},$meth(t,e){return Sk.abstr.checkArgsLen("update",t,0,1),this.counter$update(t,e)}},subtract:{$flags:{FastCall:!0},$meth(t,e){Sk.abstr.checkArgsLen("subtract",t,0,1);const i=t[0];if(void 0!==i)if(i instanceof Sk.builtin.dict)for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,i.mp$subscript(n),"Sub"))}else for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,this.$one,"Sub"))}e=e||[];for(let s=0;s>> c = Counter(\'abcdeabcdabcaba\') # count elements from a string\\n\\n >>> c.most_common(3) # three most common elements\\n [(\'a\', 5), (\'b\', 4), (\'c\', 3)]\\n >>> sorted(c) # list all unique elements\\n [\'a\', \'b\', \'c\', \'d\', \'e\']\\n >>> \'\'.join(sorted(c.elements())) # list elements with repetitions\\n \'aaaaabbbbcccdde\'\\n >>> sum(c.values()) # total of all counts\\n 15\\n\\n >>> c[\'a\'] # count of letter \'a\'\\n 5\\n >>> for elem in \'shazam\': # update counts from an iterable\\n ... c[elem] += 1 # by adding 1 to each element\'s count\\n >>> c[\'a\'] # now there are seven \'a\'\\n 7\\n >>> del c[\'b\'] # remove all \'b\'\\n >>> c[\'b\'] # now there are zero \'b\'\\n 0\\n\\n >>> d = Counter(\'simsalabim\') # make another counter\\n >>> c.update(d) # add in the second counter\\n >>> c[\'a\'] # now there are nine \'a\'\\n 9\\n\\n >>> c.clear() # empty the counter\\n >>> c\\n Counter()\\n\\n Note: If a count is set to zero or reduced to zero, it will remain\\n in the counter until the entry is deleted or the counter is cleared:\\n\\n >>> c = Counter(\'aaabbc\')\\n >>> c[\'b\'] -= 2 # reduce the count of \'b\' by two\\n >>> c.most_common() # \'b\' is still in, but its count is zero\\n [(\'a\', 3), (\'c\', 1), (\'b\', 0)]\\n\\n",tp$init(t,e){return Sk.abstr.checkArgsLen(this.tpjs_name,t,0,1),this.counter$update(t,e)},$r(){const t=this.size>0?Sk.builtin.dict.prototype.$r.call(this).v:"";return new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+")")},tp$as_sequence_or_mapping:!0,mp$ass_subscript(t,e){return void 0===e?this.mp$lookup(t)&&Sk.builtin.dict.prototype.mp$ass_subscript.call(this,t,e):Sk.builtin.dict.prototype.mp$ass_subscript.call(this,t,e)},tp$as_number:!0,nb$positive:counterNumberSlot((function(t){this.$items().forEach((([e,i])=>{Sk.misceval.richCompareBool(i,this.$zero,"Gt")&&t.mp$ass_subscript(e,i)}))})),nb$negative:counterNumberSlot((function(t){this.$items().forEach((([e,i])=>{Sk.misceval.richCompareBool(i,this.$zero,"Lt")&&t.mp$ass_subscript(e,Sk.abstr.numberBinOp(this.$zero,i,"Sub"))}))})),nb$subtract:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=Sk.abstr.numberBinOp(s,e.mp$subscript(i),"Sub");Sk.misceval.richCompareBool(n,this.$zero,"Gt")&&t.mp$ass_subscript(i,n)})),e.$items().forEach((([e,i])=>{void 0===this.mp$lookup(e)&&Sk.misceval.richCompareBool(i,this.$zero,"Lt")&&t.mp$ass_subscript(e,Sk.abstr.numberBinOp(this.$zero,i,"Sub"))}))})),nb$add:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=Sk.abstr.numberBinOp(s,e.mp$subscript(i),"Add");Sk.misceval.richCompareBool(n,this.$zero,"Gt")&&t.mp$ass_subscript(i,n)})),e.$items().forEach((([e,i])=>{void 0===this.mp$lookup(e)&&Sk.misceval.richCompareBool(i,this.$zero,"Gt")&&t.mp$ass_subscript(e,i)}))})),nb$inplace_add:counterInplaceSlot("+",(function(t){t.$items().forEach((([t,e])=>{const i=Sk.abstr.numberInplaceBinOp(this.mp$subscript(t),e,"Add");this.mp$ass_subscript(t,i)}))})),nb$inplace_subtract:counterInplaceSlot("-",(function(t){t.$items().forEach((([t,e])=>{const i=Sk.abstr.numberInplaceBinOp(this.mp$subscript(t),e,"Sub");this.mp$ass_subscript(t,i)}))})),nb$or:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=e.mp$subscript(i),r=Sk.misceval.richCompareBool(s,n,"Lt")?n:s;Sk.misceval.richCompareBool(r,this.$zero,"Gt")&&t.mp$ass_subscript(i,r)})),e.$items().forEach((([e,i])=>{void 0===this.mp$lookup(e)&&Sk.misceval.richCompareBool(i,this.$zero,"Gt")&&t.mp$ass_subscript(e,i)}))})),nb$and:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=e.mp$subscript(i),r=Sk.misceval.richCompareBool(s,n,"Lt")?s:n;Sk.misceval.richCompareBool(r,this.$zero,"Gt")&&t.mp$ass_subscript(i,r)}))})),nb$inplace_and:counterInplaceSlot("&",(function(t){this.$items().forEach((([e,i])=>{const s=t.mp$subscript(e);Sk.misceval.richCompareBool(s,i,"Lt")&&this.mp$ass_subscript(e,s)}))})),nb$inplace_or:counterInplaceSlot("|",(function(t){t.$items().forEach((([t,e])=>{Sk.misceval.richCompareBool(e,this.mp$subscript(t),"Gt")&&this.mp$ass_subscript(t,e)}))})),nb$reflected_and:null,nb$reflected_or:null,nb$reflected_add:null,nb$reflected_subtract:null},proto:{keep$positive(){return this.$items().forEach((([t,e])=>{Sk.misceval.richCompareBool(e,this.$zero,"LtE")&&this.mp$ass_subscript(t)})),this},$zero:new Sk.builtin.int_(0),$one:new Sk.builtin.int_(1),str$items:new Sk.builtin.str("items"),counter$update(t,e){const i=t[0];if(void 0!==i)if(Sk.builtin.checkMapping(i))if(this.sq$length())for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,i.mp$subscript(n),"Add"))}else this.update$common(t,void 0,"update");else for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,this.$one,"Add"))}if(e&&e.length)if(this.sq$length())for(let s=0;s`(${Sk.misceval.objectRepr(t)}, ${Sk.misceval.objectRepr(e)})`));return t=0===t.length?"":"["+t.join(", ")+"]",this.in$repr=!1,new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+")")},tp$richcompare(e,i){if("Eq"!==i&&"Ne"!==i)return Sk.builtin.NotImplemented.NotImplemented$;if(!(e instanceof t.OrderedDict))return Sk.builtin.dict.prototype.tp$richcompare.call(this,e,i);const s="Eq"==i,n=this.size;if(n!==e.size)return!s;const r=e.$items(),a=this.$items();for(let t=0;t=r||l>=a)switch(i){case"Lt":return ra;case"GtE":return r>=a}return"Eq"!==i&&("NotEq"===i||Sk.misceval.richCompareBool(n[this.head+l&this.mask],e[s.head+l&s.mask],i))},tp$iter(){return new e(this)},$r(){const t=[],e=this.tail-this.head&this.mask;if(this.$entered_repr)return new Sk.builtin.str("[...]");this.$entered_repr=!0;for(let s=0;s=e||t<-e)throw new Sk.builtin.IndexError("deque index out of range");const i=(t>=0?this.head:this.tail)+t&this.mask;return this.v[i]},mp$ass_subscript(t,e){t=Sk.misceval.asIndexOrThrow(t);const i=this.tail-this.head&this.mask;if(t>=i||t<-i)throw new Sk.builtin.IndexError("deque index out of range");void 0===e?this.del$item(t):this.set$item(t,e)},nb$inplace_add(t){this.maxlen=void 0;for(let e=Sk.abstr.iter(t),i=e.tp$iternext();void 0!==i;i=e.tp$iternext())this.$push(i);return this},nb$inplace_multiply(t){(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError,"can\'t multiply sequence by non-int of type \'{tp$name}\'"))<=0&&this.$clear();const e=this.$copy(),i=this.tail-this.head&this.mask;for(let s=1;s integer -- return number of occurrences of value"},extend:{$meth(t){return this.$extend(t),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Extend the right side of the deque with elements from the iterable"},extendleft:{$meth(t){for(let e=Sk.abstr.iter(t),i=e.tp$iternext();void 0!==i;i=e.tp$iternext())this.$pushLeft(i);return Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Extend the left side of the deque with elements from the iterable"},index:{$meth(t,e,i){const s=this.$index(t,e,i);if(void 0!==s)return new Sk.builtin.int_(s);throw new Sk.builtin.ValueError(Sk.misceval.objectRepr(t)+" is not in deque")},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"D.index(value, [start, [stop]]) -> integer -- return first index of value.\\nRaises ValueError if the value is not present."},insert:{$meth(t,e){t=Sk.misceval.asIndexOrThrow(t,"integer argument expected, got {tp$name}");const i=this.tail-this.head&this.mask;if(void 0!==this.maxlen&&i>=this.maxlen)throw new Sk.builtin.IndexError("deque already at its maximum size");t>i&&(t=i),t<=-i&&(t=0);const s=(t>=0?this.head:this.tail)+t&this.mask;let n=this.tail;for(this.tail=this.tail+1&this.mask;n!==s;){const t=n-1&this.mask;this.v[n]=this.v[t],n=t}return this.v[s]=e,this.head===this.tail&&this.$resize(this.v.length,this.v.length<<1),Sk.builtin.none.none$},$flags:{MinArgs:2,MaxArgs:2},$textsig:null,$doc:"D.insert(index, object) -- insert object before index"},pop:{$meth(){return this.$pop()},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove and return the rightmost element."},popleft:{$meth(){return this.$popLeft()},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove and return the leftmost element."},remove:{$meth(t){const e=this.$index(t);if(void 0===e)throw new Sk.builtin.ValueError(Sk.misceval.objectRepr(t)+" is not in deque");let i=this.head+e&this.mask;for(;i!==this.tail;){const t=i+1&this.mask;this.v[i]=this.v[t],i=t}this.tail=this.tail-1&this.mask;var s=this.tail-this.head&this.mask;s>>1&&this.$resize(s,this.v.length>>>1)},$flags:{OneArg:!0},$textsig:null,$doc:"D.remove(value) -- remove first occurrence of value."},__reversed__:{$meth(){return new i(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.__reversed__() -- return a reverse iterator over the deque"},reverse:{$meth(){const t=this.head,e=this.tail,i=this.mask,s=this.tail-this.head&this.mask;for(let n=0;n<~~(s/2);n++){const s=e-n-1&i,r=t+n&i,a=this.v[s];this.v[s]=this.v[r],this.v[r]=a}return Sk.builtin.none.none$},$flags:{NoArgs:!0},$textsig:null,$doc:"D.reverse() -- reverse *IN PLACE*"},rotate:{$meth(t){t=void 0===t?1:Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError);const e=this.head,i=this.tail;if(0===t||e===i)return this;if(this.head=e-t&this.mask,this.tail=i-t&this.mask,t>0)for(let s=1;s<=t;s++){const t=e-s&this.mask,n=i-s&this.mask;this.v[t]=this.v[n],this.v[n]=void 0}else for(let s=0;s>t;s--){const t=i-s&this.mask,n=e-s&this.mask;this.v[t]=this.v[n],this.v[n]=void 0}return Sk.builtin.none.none$},$flags:{MinArgs:0,MaxArgs:1},$textsig:null,$doc:"Rotate the deque n steps to the right (default n=1). If n is negative, rotates left."}},classmethods:Sk.generic.classGetItem,getsets:{maxlen:{$get(){return void 0===this.maxlen?Sk.builtin.none.none$:new Sk.builtin.int_(this.maxlen)},$doc:"maximum size of a deque or None if unbounded"}},proto:{$clear(){this.head=0,this.tail=0,this.mask=1,this.v=new Array(2)},$copy(){return new t.deque(this.v.slice(0),this.maxlen,this.head,this.tail,this.mask)},$extend(t){for(let e=Sk.abstr.iter(t),i=e.tp$iternext();void 0!==i;i=e.tp$iternext())this.$push(i)},set$item(t,e){const i=(t>=0?this.head:this.tail)+t&this.mask;this.v[i]=e},del$item(t){let e=(t>=0?this.head:this.tail)+t&this.mask;for(;e!==this.tail;){const t=e+1&this.mask;this.v[e]=this.v[t],e=t}const i=this.tail-this.head&this.mask;this.tail=this.tail-1&this.mask,i>>1&&this.$resize(i,this.v.length>>>1)},$push(t){this.v[this.tail]=t,this.tail=this.tail+1&this.mask,this.head===this.tail&&this.$resize(this.v.length,this.v.length<<1);const e=this.tail-this.head&this.mask;return void 0!==this.maxlen&&e>this.maxlen&&this.$popLeft(),this},$pushLeft(t){this.head=this.head-1&this.mask,this.v[this.head]=t,this.head===this.tail&&this.$resize(this.v.length,this.v.length<<1);const e=this.tail-this.head&this.mask;return void 0!==this.maxlen&&e>this.maxlen&&this.$pop(),this},$pop(){if(this.head===this.tail)throw new Sk.builtin.IndexError("pop from an empty deque");this.tail=this.tail-1&this.mask;const t=this.v[this.tail];this.v[this.tail]=void 0;const e=this.tail-this.head&this.mask;return e>>1&&this.$resize(e,this.v.length>>>1),t},$popLeft(){if(this.head===this.tail)throw new Sk.builtin.IndexError("pop from an empty deque");const t=this.v[this.head];this.v[this.head]=void 0,this.head=this.head+1&this.mask;const e=this.tail-this.head&this.mask;return e>>1&&this.$resize(e,this.v.length>>>1),t},$resize(t,e){const i=this.head,s=this.mask;if(this.head=0,this.tail=t,this.mask=e-1,0===i)return void(this.v.length=e);const n=new Array(e);for(let r=0;r=0?i:i<-s?0:s+i;for(let o=e>=0?e:e<-s?0:s+e;o=this.$length)return;const t=(this.$index>=0?this.$head:this.$tail)+this.$index&this.$mask;return this.$index++,this.dq[t]},methods:{__length_hint__:{$meth:function __length_hint__(){return new Sk.builtin.int_(this.$length-this.$index)},$flags:{NoArgs:!0}}}}),i=Sk.abstr.buildIteratorClass("_collections._deque_reverse_iterator",{constructor:function _deque_reverse_iterator(t){this.$index=(t.tail-t.head&t.mask)-1,this.dq=t.v,this.$head=t.head,this.$mask=t.mask},iternext(){if(this.$index<0)return;const t=this.$head+this.$index&this.$mask;return this.$index--,this.dq[t]},methods:{__length_hint__:Sk.generic.iterReverseLengthHintMethodDef}}),s=new RegExp(/^[0-9].*/),n=new RegExp(/^[0-9_].*/),r=new RegExp(/^\\w*$/),a=/,/g,o=/\\s+/;function namedtuple(e,i,l,h,c){if(e=e.tp$str(),Sk.misceval.isTrue(Sk.misceval.callsimArray(t._iskeyword,[e])))throw new Sk.builtin.ValueError("Type names and field names cannot be a keyword: \'"+Sk.misceval.objectRepr(e)+"\'");const u=e.$jsstr();if(s.test(u)||!r.test(u)||!u)throw new Sk.builtin.ValueError("Type names and field names must be valid identifiers: \'"+u+"\'");let m,d;if(Sk.builtin.checkString(i))m=i.$jsstr().replace(a," ").split(o),1==m.length&&""===m[0]&&(m=[]),d=m.map((t=>new Sk.builtin.str(t)));else{m=[],d=[];for(let t=Sk.abstr.iter(i),e=t.tp$iternext();void 0!==e;e=t.tp$iternext())e=e.tp$str(),d.push(e),m.push(e.$jsstr())}let p=new Set;if(Sk.misceval.isTrue(l))for(let s=0;sm.length)throw new Sk.builtin.TypeError("Got more default values than field names");for(let t=0,e=d.length-b.length;e"\'"+t.$jsstr()+"\'"))+"]")}return r}_make.co_varnames=["_cls","iterable"],_asdict.co_varnames=["self"],_replace.co_kwargs=1,_replace.co_varnames=["_self"];const S={};for(let s=0;sm[e]+"="+Sk.misceval.objectRepr(t)));return new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t.join(", ")+")")}},flags:{sk$klass:!0},proto:Object.assign({__module__:Sk.builtin.checkNone(c)?Sk.globals.__name__:c,__slots__:new Sk.builtin.tuple,_fields:$,_field_defaults:f,_make:new Sk.builtin.classmethod(new Sk.builtin.func(_make)),_asdict:new Sk.builtin.func(_asdict),_replace:new Sk.builtin.func(_replace)},S)})}return namedtuple.co_argcount=2,namedtuple.co_kwonlyargcount=3,namedtuple.$kwdefs=[Sk.builtin.bool.false$,Sk.builtin.none.none$,Sk.builtin.none.none$],namedtuple.co_varnames=["typename","field_names","rename","defaults","module"],t.namedtuple=new Sk.builtin.func(namedtuple),t}',"src/lib/datetime.js":'function $builtinmodule(){const{isTrue:t,richCompareBool:e,asIndexOrThrow:n,asIndexSized:i,objectRepr:s,opAllowsEquality:o,callsimArray:r,callsimOrSuspendArray:a}=Sk.misceval,{numberBinOp:$,typeName:c,buildNativeClass:h,checkArgsLen:m,objectHash:u,copyKeywordsToNamedArgs:l}=Sk.abstr,{int_:f,float_:d,str:w,bytes:_,tuple:p,bool:{true$:g},none:{none$:y},NotImplemented:{NotImplemented$:b},TypeError:z,ValueError:v,OverflowError:M,ZeroDivisionError:A,NotImplementedError:x,checkNumber:N,checkFloat:S,checkString:k,checkInt:O,asnum$:I,round:E,getattr:T}=Sk.builtin,{remapToPy:D,remapToJs:R}=Sk.ffi,intRound=t=>E(t).nb$int(),q=$,C=new w("auto"),U=new w("utcoffset"),Y=new w("tzname"),j=new w("as_integer_ratio"),F=new w("dst"),H=new w("isoformat"),J=new w("replace"),B=new w("fromtimestamp"),G=new w("fromordinal"),L=new w("utcfromtimestamp"),X=new w("strftime"),P=new w("fromutc"),W=new f(0),Z=new d(0),K=new f(7),V=new f(60),Q=new f(3600),tt=new f(1e3),et=new f(1e6),nt=new d(1e6),it=new f(86400),st=new d(86400);let ot=null;function pyDivMod(t,e){return q(t,e,"DivMod").v}function $divMod(t,e){if("number"!=typeof t||"number"!=typeof e)return t=JSBI.BigInt(t),e=JSBI.BigInt(e),[JSBI.toNumber(JSBI.divide(t,e)),JSBI.toNumber(JSBI.remainder(t,e))];if(0===e)throw new A("integer division or modulo by zero");return[Math.floor(t/e),t-Math.floor(t/e)*e]}function modf(t){const e=(t=I(t))<0?-1:1;return t=Math.abs(t),[new d(e*(t-Math.floor(t))),new d(e*Math.floor(t))]}function _d(t,e="0",n=2){return t.toString().padStart(n,e)}const rt=/^[0-9]+$/;function _as_integer(t){if(!rt.test(t))throw new Error;return parseInt(t)}function _as_int_ratio(t){let e=r(t.tp$getattr(j));if(!(e instanceof p))throw new z("unexpected return type from as_integer_ratio(): expected tuple, got \'"+c(e)+"\'");if(e=e.v,2!==e.length)throw new v("as_integer_ratio() must return a 2-tuple");return e}return Sk.misceval.chain(Sk.importModule("time",!1,!0),(a=>{const $=a.$d,E={__name__:new w("datetime"),__all__:new Sk.builtin.list(["date","datetime","time","timedelta","timezone","tzinfo","MINYEAR","MAXYEAR"].map((t=>new w(t))))};function _cmp(t,e){for(let n=0;ne[n]?1:-1;return 0}function _do_compare(t,e,n){const i=t.$cmp(e,n);switch(n){case"Lt":return i<0;case"LtE":return i<=0;case"Eq":return 0===i;case"NotEq":return 0!==i;case"Gt":return i>0;case"GtE":return i>=0}}const j=9999;E.MINYEAR=new f(1),E.MAXYEAR=new f(j);const rt=3652059,at=[-1,31,28,31,30,31,30,31,31,30,31,30,31],$t=[-1];let ct=0;function _is_leap(t){return t%4==0&&(t%100!=0||t%400==0)}function _days_before_year(t){const e=t-1;return 365*e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400)}function _days_before_month(t,e){return $t[e]+(e>2&&_is_leap(t))}function _ymd2ord(t,e,n){return _days_before_year(t)+_days_before_month(t,e)+n}at.slice(1).forEach((t=>{$t.push(ct),ct+=t}));const ht=_days_before_year(401),mt=_days_before_year(101),ut=_days_before_year(5);function _ord2ymd(t){if((t=n(t))>Number.MAX_SAFE_INTEGER)throw new M("Python int too large to convert to js number");if(t<1)throw new v("ordinal must be >= 1");let e,i,s,o;t-=1,[e,t]=$divMod(t,ht);let r=400*e+1;if([i,t]=$divMod(t,mt),[s,t]=$divMod(t,ut),[o,t]=$divMod(t,365),r+=100*i+4*s+o,4===o||4===i)return[r-1,12,31].map((t=>new f(t)));const a=3===o&&(24!==s||3===i);let $=t+50>>5,c=$t[$]+($>2&&a);return c>t&&($-=1,c-=at[$]+(2===$&&a)),[r,$,(t-=c)+1].map((t=>new f(t)))}const lt=[null,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ft=[null,"Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function _build_struct_time(t,e,n,i,s,o,r){const a=(_ymd2ord(t,e,n)+6)%7,c=_days_before_month(t,e)+n;return $.struct_time.tp$call([new p([t,e,n,i,s,o,a,c,r].map((t=>new f(t))))])}const dt={hours:t=>_d(t),minutes:(t,e)=>_d(t)+":"+_d(e),seconds:(t,e,n)=>_d(t)+":"+_d(e)+":"+_d(n),milliseconds:(t,e,n,i)=>_d(t)+":"+_d(e)+":"+_d(n)+"."+_d(i,"0",3),microseconds:(t,e,n,i)=>_d(t)+":"+_d(e)+":"+_d(n)+"."+_d(i,"0",6)};function _format_time(t,e,n,i,s="auto"){if("string"!=typeof s&&!k(s))throw new z("must be str, not "+c(s));"auto"===(s=s.toString())?s=i?"microseconds":"seconds":"milliseconds"===s&&(i=Math.floor(i/1e3));let o=dt[s];if(void 0===o)throw new v("Unknown timespec value");return o(t,e,n,i)}function _format_offset(t){let e,n="";if(t!==y){let i,s,o;return t.$days<0?(e="-",t=new wt(-t.$days,-t.$secs,-t.$micro)):e="+",[i,s]=pyDivMod(t,pt),[s,o]=pyDivMod(s,gt),n+=e+`${_d(i)}:${_d(s)}`,(o.$secs||o.$micro)&&(n+=":"+_d(o.$secs,"0",2),o.$micro&&(n+="."+_d(o.$micro,"0",6))),n}}function _wrap_strftime(t,e,n){let i=null,s=null,o=null,a=[],c=0;const h=e.length;for(;cnew f(t)))}function _parse_hh_mm_ss_ff(t){const e=t.length,n=[0,0,0,0];let i=0;for(let s=0;s<3;s++){if(e-i<2)throw new v("Incomplete time component");n[s]=_as_integer(t.slice(i,i+2)),i+=2;const o=t.substr(i,1);if(!o||s>=2)break;if(":"!==o)throw new v("Invalid time separator: "+o);i+=1}if(i0?t.slice(0,e-1):t),s=y;if(e>0){if(n=t.slice(e),![5,8,15].includes(n.length))throw new v("Malformed time zone string");const i=_parse_hh_mm_ss_ff(n);if(i.every((t=>0===t)))s=St.prototype.utc;else{const n="-"===t[e-1]?-1:1,o=new wt(0,n*(3600*i[0]+60*i[1]+i[2]),n*i[3]);s=new St(o)}}return i=i.map((t=>new f(t))),i.push(s),i}function _check_tzname(t){if(t!==y&&!k(t))throw new z("tzinfo.tzname() must return None or string, not \'"+c(t)+"\'")}function _check_utc_offset(t,n){if(n!==y){if(!(n instanceof wt))throw new z(`tzinfo.${t}() must return None or timedelta, not \'${c(n)}\'`);if(!e(zt,n,"Lt")||!e(n,_t,"Lt"))throw new v(`${t}()=${n.toString()}, must be strictly between -timedelta(hours=24) and timedelta(hours=24)`)}}function _check_date_fields(t,e=null,i=null){if(null===e||null===i){throw new z(`function missing required argument \'${null===i?"day":"month"}\' (pos ${null===i?"3":"2"})`)}if(t=n(t),e=n(e),i=n(i),!(1<=t&&t<=j))throw new v("year must be in 1.."+j,new f(t));if(!(1<=e&&e<=12))throw new v("month must be in 1..12",new f(e));const s=function _days_in_month(t,e){return 2===e&&_is_leap(t)?29:at[e]}(t,e);if(!(1<=i&&i<=s))throw new v("day must be in 1.."+s,new f(i));return[t,e,i]}function _check_time_fields(t,e,i,s,o){if(t=n(t),e=n(e),i=n(i),s=n(s),o=n(o),!(0<=t&&t<=23))throw new v("hour must be in 0..23",new f(t));if(!(0<=e&&e<=59))throw new v("minute must be in 0..59",new f(e));if(!(0<=i&&i<=59))throw new v("second must be in 0..59",new f(i));if(!(0<=s&&s<=999999))throw new v("microsecond must be in 0..999999",new f(s));if(0!==o&&1!==o)throw new v("fold must be either 0 or 1",new f(o));return[t,e,i,s,o]}function _check_tzinfo_arg(t){if(t!==y&&!(t instanceof Mt))throw new z("tzinfo argument must be None or of a tzinfo subclass")}function _divide_and_round(t,e){let[n,i]=$divMod(t,e);return i*=2,((e>0?i>e:i999999999)throw new M(`days=${t}; must have magnitude <= 999999999`)},slots:{tp$new(t,e){let i,s,o,r,a,$,c,[h,m,u,d,w,_,p]=l("timedelta",["days","seconds","microseconds","milliseconds","minutes","hours","weeks"],t,e,new Array(7).fill(W));i=s=o=W,h=q(h,q(p,K,"Mult"),"Add"),m=q(m,q(q(w,V,"Mult"),q(_,Q,"Mult"),"Add"),"Add"),u=q(u,q(d,tt,"Mult"),"Add"),S(h)?([r,h]=modf(h),[a,$]=modf(q(r,st,"Mult")),s=new f($),i=new f(h)):(a=Z,i=h),S(m)?([c,m]=modf(m),m=new f(m),c=q(c,a,"Add")):c=a,[h,m]=pyDivMod(m,it),i=q(i,h,"Add"),s=q(s,new f(m),"Add");const g=q(c,nt,"Mult");if(S(u)?(u=intRound(q(u,g,"Add")),[m,u]=pyDivMod(u,et),[h,m]=pyDivMod(m,it),i=q(i,h,"Add"),s=q(s,m,"Add")):(u=new f(u),[m,u]=pyDivMod(u,et),[h,m]=pyDivMod(m,it),i=q(i,h,"Add"),s=q(s,m,"Add"),u=intRound(q(u,g,"Add"))),[m,o]=pyDivMod(u,et),s=q(s,m,"Add"),[h,s]=pyDivMod(s,it),i=q(i,h,"Add"),i=n(i),s=n(s),o=n(o),Math.abs(i)>999999999)throw new M("timedelta # of days is too large: "+h.toString());if(this===wt.prototype)return new wt(i,s,o);{const t=new this.constructor;return wt.call(t,i,s,o),t}},$r(){const t=[];return this.$days&&t.push(`days=${this.$days}`),this.$secs&&t.push(`seconds=${this.$secs}`),this.$micro&&t.push(`microseconds=${this.$micro}`),t.length||t.push("0"),new w(`${this.tp$name}(${t.join(", ")})`)},tp$str(){const t=this.$secs%60;let e=Math.floor(this.$secs/60);const n=Math.floor(e/60);e%=60;let i=`${n}:${_d(e)}:${_d(t)}`;if(this.$days){i=`${this.$days} day${function plural(t){return 1!==Math.abs(t)?"s":""}(this.$days)}, `+i}return this.$micro&&(i+=`.${_d(this.$micro,"0",6)}`),new w(i)},tp$as_number:!0,nb$add(t){return t instanceof wt?new wt(this.$days+t.$days,this.$secs+t.$secs,this.$micro+t.$micro):b},nb$subtract(t){return t instanceof wt?new wt(this.$days-t.$days,this.$secs-t.$secs,this.$micro-t.$micro):b},nb$positive(){return this},nb$negative(){return new wt(-this.$days,-this.$secs,-this.$micro)},nb$abs(){return this.$days<0?this.nb$negative():this},nb$multiply(t){if(O(t))return t=i(t,M),new wt(this.$days*t,this.$secs*t,this.$micro*t);if(S(t)){const e=this.$toMicrosecs();let[s,o]=_as_int_ratio(t);return s=i(s,M),o=n(o),new wt(0,0,_divide_and_round(e*s,o))}return b},nb$floor_divide(t){const e=this.$toMicrosecs();if(t instanceof wt){const n=t.$toMicrosecs();if(0===n)throw new A("integer division or modulo by zero");return new f(Math.floor(e/n))}if(O(t)){if(0===(t=i(t,M)))throw new A("integer division or modulo by zero");return new wt(0,0,Math.floor(e/t))}return b},nb$divide(t){const e=this.$toMicrosecs();if(t instanceof wt){if(0===t.$toMicrosecs())throw new A("integer division or modulo by zero");return new d(e/t.$toMicrosecs())}if(O(t))return t=n(t),new wt(0,0,_divide_and_round(e,t));if(S(t)){let[s,o]=_as_int_ratio(t);return s=n(s),o=i(o,M),new wt(0,0,_divide_and_round(o*e,s))}return b},nb$remainder(t){if(!(t instanceof wt))return b;const e=this.$toMicrosecs(),n=t.$toMicrosecs();if(0===n)throw new A("integer division or modulo by zero");const i=e-Math.floor(e/n)*n;return new wt(0,0,i)},nb$divmod(t){if(!(t instanceof wt))return b;const e=this.$toMicrosecs(),n=t.$toMicrosecs(),[i,s]=$divMod(e,n);return new p([new f(i),new wt(0,0,s)])},tp$richcompare(t,e){return t instanceof wt?_do_compare(this,t,e):b},tp$hash(){return-1===this.$hashcode&&(this.$hashcode=u(new p(this.$getState().map((t=>new f(t)))))),this.$hashcode},nb$bool(){return 0!==this.$days||0!==this.$secs||0!==this.$micro}},methods:{total_seconds:{$meth(){return new d(((86400*this.$days+this.$secs)*10**6+this.$micro)/10**6)},$flags:{NoArgs:!0},$doc:"Total seconds in the duration."},__reduce__:{$meth(){return new p([this.ob$type,new p(this.$getState().map((t=>D(t))))])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},getsets:{days:{$get(){return new f(this.$days)},$doc:"Number of days."},seconds:{$get(){return new f(this.$secs)},$doc:"Number of seconds (>= 0 and less than 1 day)."},microseconds:{$get(){return new f(this.$micro)},$doc:"Number of microseconds (>= 0 and less than 1 second)."}},proto:{$toMicrosecs(){return 1e6*(86400*this.$days+this.$secs)+this.$micro},$cmp(t){return _cmp(this.$getState(),t.$getState())},$getState(){return[this.$days,this.$secs,this.$micro]}}});wt.prototype.min=new wt(-999999999),wt.prototype.max=new wt(999999999,86399,999999),wt.prototype.resolution=new wt(0,0,1);const _t=new wt(1),pt=new wt(0,3600),gt=new wt(0,60),yt=new wt(0,1),bt=new wt(0),zt=new wt(-1),vt=E.date=h("datetime.date",{constructor:function date(t,e,n){this.$year=t,this.$month=e,this.$day=n,this.$hashcode=-1},slots:{tp$new(t,e){let n,[i,s,o]=l("date",["year","month","day"],t,e,[null,null]);if(null===s&&i instanceof _&&4===(n=i.valueOf()).length&&1<=n[2]&&n[2]<=12){const t=new this.constructor;return t.$setState(n),t}if([i,s,o]=_check_date_fields(i,s,o),this===vt.prototype)return new vt(i,s,o);{const t=new this.constructor;return vt.call(t,i,s,o),t}},$r(){return new w(`${this.tp$name}(${this.$year}, ${this.$month}, ${this.$day})`)},tp$str(){return this.tp$getattr(H).tp$call([])},tp$richcompare(t,e){return t instanceof vt?_do_compare(this,t,e):b},tp$hash(){return-1===this.$hashcode&&(this.$hashcode=u(this.$getState())),this.$hashcode},tp$as_number:!0,nb$add(t){if(t instanceof wt){const e=this.$toOrdinal()+t.$days;if(0 local date from a POSIX timestamp (like time.time())."},fromordinal:{$meth:function fromordinal(t){return this.tp$call(_ord2ymd(t))},$flags:{OneArg:!0},$textsig:null,$doc:"int -> date corresponding to a proleptic Gregorian ordinal."},fromisocalendar:{$meth:function fromisocalendar(t,e,i){if(t=n(t),e=n(e),i=n(i),!(1<=t&&t<=j))throw new v(`Year is out of range: ${t}`);let s,o;if(!(0 date corresponding to a proleptic Gregorian ordinal."},fromisoformat:{$meth:function fromisoformat(t){if(!k(t))throw new z("fromisoformat: argument must be str");t=t.toString();try{if(10!==t.length)throw new Error;return this.tp$call(_parse_isoformat_date(t))}catch(e){throw new v("Invalid isoformat string: \'"+t+"\'")}},$flags:{OneArg:!0},$textsig:null,$doc:"str -> Construct a date from the output of date.isoformat()"},today:{$meth:function today(){const t=$.time.tp$call([]);return this.tp$getattr(B).tp$call([t])},$flags:{NoArgs:!0},$textsig:null,$doc:"Current date or datetime: same as self.__class__.fromtimestamp(time.time())."}},methods:{ctime:{$meth:function ctime(){const t=this.$toOrdinal()%7||7,e=ft[t],n=lt[this.$month];return new w(`${e} ${n} ${_d(this.$day," ",2)} 00:00:00 ${_d(this.$year,"0",4)}`)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return ctime() style string."},strftime:{$meth:function strftime(t){if(!k(t))throw new z("must be str, not "+c(t));return _wrap_strftime(this,t=t.toString(),this.$timetuple())},$flags:{OneArg:!0},$textsig:null,$doc:"format -> strftime() style string."},__format__:{$meth:function __format__(t){if(!k(t))throw new z("must be str, not "+c(t));return t!==w.$empty?this.tp$getattr(X).tp$call([t]):this.tp$str()},$flags:{OneArg:!0},$textsig:null,$doc:"Formats self with strftime."},timetuple:{$meth:function timetuple(){return this.$timetuple()},$flags:{NoArgs:!0},$textsig:null,$doc:"Return time tuple, compatible with time.localtime()."},isocalendar:{$meth:function isocalendar(){let t=this.$year,e=_isoweek1monday(t);const n=_ymd2ord(this.$year,this.$month,this.$day);let[i,s]=$divMod(n-e,7);return i<0?(t-=1,e=_isoweek1monday(t),[i,s]=$divMod(n-e,7)):i>=52&&n>=_isoweek1monday(t+1)&&(t+=1,i=0),new At(new f(t),new f(i+1),new f(s+1))},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a 3-tuple containing ISO year, week number, and weekday."},isoformat:{$meth:function isoformat(){return this.$isoformat()},$flags:{NoArgs:!0},$textsig:null,$doc:"Return string in ISO 8601 format, YYYY-MM-DD."},isoweekday:{$meth:function isoweekday(){return new f(this.$toOrdinal()%7||7)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return the day of the week represented by the date.\\nMonday == 1 ... Sunday == 7"},toordinal:{$meth:function toordinal(){return new f(this.$toOrdinal())},$flags:{NoArgs:!0},$textsig:null,$doc:"Return proleptic Gregorian ordinal. January 1 of year 1 is day 1."},weekday:{$meth:function weekday(){return new f((this.$toOrdinal()+6)%7)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return the day of the week represented by the date.\\nMonday == 0 ... Sunday == 6"},replace:{$meth:function replace(t,e,n){return t===y&&(t=new f(this.$year)),e===y&&(e=new f(this.$month)),n===y&&(n=new f(this.$day)),this.ob$type.tp$call([t,e,n])},$flags:{NamedArgs:["year","month","day"],Defaults:[y,y,y]},$textsig:null,$doc:"Return date with new specified fields."},__reduce__:{$meth(){return new p([this.ob$type,new p([this.$getState()])])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},getsets:{year:{$get(){return new f(this.$year)},$doc:"year (1-9999)"},month:{$get(){return new f(this.$month)},$doc:"month (1-12)"},day:{$get(){return new f(this.$day)},$doc:"day (1-31)"}},proto:{$cmp(t){return _cmp([this.$year,this.$month,this.$day],[t.$year,t.$month,t.$day])},$getState(){const[t,e]=$divMod(this.$year,256);return new _([t,e,this.$month,this.$day])},$setState(t){const[e,n,i,s]=t,o=256*e+n;this.$year=o,this.$month=i,this.$day=s},$toOrdinal(){return _ymd2ord(this.$year,this.$month,this.$day)},$isoformat(){return new w(`${_d(this.$year,"0",4)}-${_d(this.$month,"0",2)}-${_d(this.$day,"0",2)}`)},$timetuple(){return _build_struct_time(this.$year,this.$month,this.$day,this.$hour||0,this.$min||0,this.$sec||0,-1)},$strftime(t=""){return _wrap_strftime(this,t.toString(),this.$timetuple())}}});vt.prototype.min=new vt(1,1,1),vt.prototype.max=new vt(9999,12,31),vt.prototype.resolution=new wt(1);const Mt=E.tzinfo=h("datetime.tzinfo",{constructor:function tzinfo(){},methods:{tzname:{$meth:function tzname(t){throw new x("tzinfo subclass must override tzname()")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime -> string name of time zone."},utcoffset:{$meth:function utcoffset(t){throw new x("tzinfo subclass must override utcoffset()")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime -> timedelta showing offset from UTC, negative values indicating West of UTC"},dst:{$meth:function dst(t){throw new x("tzinfo subclass must override dst()")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime -> DST offset as timedelta positive east of UTC."},fromutc:{$meth:function fromutc(e){if(!(e instanceof Nt))throw new z("fromutc() requires a datetime argument");if(e.$tzinfo!==this)throw new v("dt.tzinfo is not self");const n=r(e.tp$getattr(U));if(n===y)throw new v("fromutc() requires a non-None utcoffset() result");let i=r(e.tp$getattr(F));if(i===y)throw new v("fromutc() requires a non-None dst() result");const s=q(n,i,"Sub");if(t(s)&&(e=q(e,s,"Add"),i=r(e.tp$getattr(F)),i===y))throw new v("fromutc(): dt.dst gave inconsistent results; cannot convert");return q(e,i,"Add")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime in UTC -> datetime in local time."},__reduce__:{$meth(){let e,n;const i=T(this,new w("__getinitargs__"),y);e=i!==y?r(i,[]):new p;const s=T(this,new w("__getstate__"),y);return s!==y?n=r(s,[]):(n=T(this,new w("__dict__"),y),n=t(n)?n:y),new p(n===y?[this.ob$type,e]:[this.ob$type,e,n])},$flags:{NoArgs:!0},$textsig:null,$doc:"-> (cls, state)"}}}),At=h("datetime.IsoCalendarDate",{base:p,constructor:function IsoCalendarDate(t,e,n){this.y=t,this.w=e,this.wd=n,p.call(this,[t,e,n])},slots:{tp$new(t,e){const[n,i,s]=l("IsoCalendarDate",["year","week","weekday"],t,e);return new this.constructor(n,i,s)},$r(){return new w(`${this.tp$name}(year=${this.y}, week=${this.w}, weekday=${this.wd})`)}},getsets:{year:{$get(){return this.y}},week:{$get(){return this.w}},weekday:{$get(){return this.wd}}}}),xt=E.time=h("datetime.time",{constructor:function time(t=0,e=0,n=0,i=0,s=null,o=0){this.$hour=t,this.$min=e,this.$sec=n,this.$micro=i,this.$tzinfo=s||y,this.$fold=o,this.$hashcode=-1},slots:{tp$new(t,e){m("time",t,0,5);let n,[i,s,o,r,a,$]=l("time",["hour","minute","second","microsecond","tzinfo","fold"],t,e,[W,W,W,W,y,W]);if(i instanceof _&&6===(n=i.valueOf()).length&&(127&n[0])<24){const t=new this.constructor;return t.$setState(n,s===W?y:s),t}if([i,s,o,r,$]=_check_time_fields(i,s,o,r,$),_check_tzinfo_arg(a),this===xt.prototype)return new xt(i,s,o,r,a,$);{const t=new this.constructor;return xt.call(t,i,s,o,r,a,$),t}},tp$richcompare(t,e){return t instanceof xt?_do_compare(this,t,e):b},tp$hash(){if(-1===this.$hashcode){const e=this.$fold?r(this.tp$getattr(J),[],["fold",W]):this,n=r(e.tp$getattr(U));if(t(n)){let[t,e]=pyDivMod(new wt(0,3600*this.$hour+60*this.$min).nb$subtract(n),pt);e=e.nb$floor_divide(gt),0<=t&&t<=24?(t=I(t),e=I(e),this.$hashcode=u(new xt(t,e,this.$sec,this.$micro))):this.$hashcode=u(new p([t,e,new f(this.$sec),new f(this.$micro)]))}else this.$hashcode=u(e.$getState()[0])}return this.$hashcode},$r(){let t;return t=0!==this.$micro?`, ${this.$sec}, ${this.$micro}`:0!==this.$sec?`, ${this.$sec}`:"",t=`${this.tp$name}(${this.$hour}, ${this.$min}${t})`,this.$tzinfo!==y&&(t=t.slice(0,-1)+", tzinfo="+s(this.$tzinfo)+")"),this.$fold&&(t=t.slice(0,-1)+", fold=1)"),new w(t)},tp$str(){return this.tp$getattr(H).tp$call([])}},methods:{isoformat:{$meth:function isoformat(t){let e=_format_time(this.$hour,this.$min,this.$sec,this.$micro,t);const n=this.$tzstr();return n&&(e+=n),new w(e)},$flags:{NamedArgs:["timespec"],Defaults:[C]},$textsig:null,$doc:"Return string in ISO 8601 format, [HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].\\n\\ntimespec specifies what components of the time to include.\\n"},strftime:{$meth:function strftime(t){if(!k(t))throw new z("must be str, not "+c(t));return _wrap_strftime(this,t=t.toString(),new p([1900,1,1,this.$hour,this.$min,this.$sec,0,1,-1].map((t=>new f(t)))))},$flags:{OneArg:!0},$textsig:null,$doc:"format -> strftime() style string."},__format__:{$meth:function __format__(t){if(!k(t))throw new z("must be str, not "+c(t));return t!==w.$empty?this.tp$getattr(X).tp$call([t]):this.tp$str()},$flags:{OneArg:!0},$textsig:null,$doc:"Formats self with strftime."},utcoffset:{$meth:function utcoffset(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(U),e=r(t,[y]);return _check_utc_offset("utcoffset",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.utcoffset(self)."},tzname:{$meth:function tzname(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(Y),e=r(t,[y]);return _check_tzname(e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.tzname(self)."},dst:{$meth:function dst(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(F),e=r(t,[y]);return _check_utc_offset("dst",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.dst(self)."},replace:{$meth:function replace(t,e){m("replace",t,0,5);let[n,i,s,o,r,a]=l("replace",["hour","minute","second","microsecond","tzinfo","fold"],t,e,[y,y,y,y,g,y]);return n===y&&(n=new f(this.$hour)),i===y&&(i=new f(this.$min)),s===y&&(s=new f(this.$sec)),o===y&&(o=new f(this.$micro)),r===g&&(r=this.$tzinfo),a===y&&(a=new f(this.$fold)),this.ob$type.tp$call([n,i,s,o,r],["fold",a])},$flags:{FastCall:!0},$textsig:null,$doc:"Return time with new specified fields."},__reduce_ex__:{$meth(t){return new p([this.ob$type,new p(this.$getState(R(t)))])},$flags:{OneArg:!0},$textsig:null,$doc:"__reduce_ex__(proto) -> (cls, state)"},__reduce__:{$meth(){return this.tp$getattr(new w("__reduce_ex__")).tp$call([new f(2)])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},classmethods:{fromisoformat:{$meth:function fromisoformat(t){if(!k(t))throw new z("fromisoformat: argument must be str");t=t.toString();try{return this.tp$call(_parse_isoformat_time(t))}catch{throw new v("Invalid isofrmat string: \'"+t+"\'")}},$flags:{OneArg:!0},$textsig:null,$doc:"string -> time from time.isoformat() output"}},getsets:{hour:{$get(){return new f(this.$hour)}},minute:{$get(){return new f(this.$min)}},second:{$get(){return new f(this.$sec)}},microsecond:{$get(){return new f(this.$micro)}},tzinfo:{$get(){return this.$tzinfo}},fold:{$get(){return new f(this.$fold)}}},proto:{$cmp(t,n){const s=this.$tzinfo,o=t.$tzinfo;let a,$,c;if(a=$=y,s===o?c=!0:(a=r(this.tp$getattr(U)),$=r(t.tp$getattr(U)),c=e(a,$,"Eq")),c)return _cmp([this.$hour,this.$min,this.$sec,this.$micro],[t.$hour,t.$min,t.$sec,t.$micro]);if(a===y||$===y){if("Eq"===n||"NotEq"===n)return 2;throw new z("cannot compare naive and aware times")}const h=60*this.$hour+this.$min-i(a.nb$floor_divide(gt)),m=60*t.$hour+t.$min-i($.nb$floor_divide(gt));return _cmp([h,this.$sec,this.$micro],[m,t.$sec,t.$micro])},$tzstr(){return _format_offset(r(this.tp$getattr(U)))},$getState(t=3){let[e,n]=$divMod(this.$micro,256),[i,s]=$divMod(e,256),o=this.$hour;this.$fold&&t>3&&(o+=128);const r=new _([o,this.$min,this.$sec,i,s,n]);return this.$tzinfo===y?[r]:[r,this.$tzinfo]},$setState(t,e){const[n,i,s,o,r,a]=t;n>127?(this.$fold=1,this.$hour=n-128):(this.$fold=0,this.$hour=n),this.$min=i,this.$sec=s,this.$micro=(o<<8|r)<<8|a,this.$tzinfo=e}}});xt.prototype.min=new xt(0,0,0),xt.prototype.max=new xt(23,59,59,999999),xt.prototype.resolution=new wt;const Nt=E.datetime=h("datetime.datetime",{base:vt,constructor:function datetime(t,e,n,i=0,s=0,o=0,r=0,a=null,$=0){this.$year=t,this.$month=e,this.$day=n,this.$hour=i,this.$min=s,this.$sec=o,this.$micro=r,this.$tzinfo=a||y,this.$fold=$,this.$hashcode=-1},slots:{tp$new(t,e){m("datetime",t,0,9);let n,[i,s,o,r,a,$,c,h,u]=l("time",["year","month","day","hour","minute","second","microsecond","tzinfo","fold"],t,e,[null,null,W,W,W,W,y,W]);if(i instanceof _&&10===(n=i.valueOf()).length&&(127&n[2])<=12){const t=new this.constructor;return t.$setState(n,null===s?y:s),t}if([i,s,o]=_check_date_fields(i,s,o),[r,a,$,c,u]=_check_time_fields(r,a,$,c,u),_check_tzinfo_arg(h),this===Nt.prototype)return new Nt(i,s,o,r,a,$,c,h,u);{const t=new this.constructor;return Nt.call(t,i,s,o,r,a,$,c,h,u),t}},$r(){const t=[this.$year,this.$month,this.$day,this.$hour,this.$min,this.$sec,this.$micro];0===t[t.length-1]&&t.pop(),0===t[t.length-1]&&t.pop();let e=`${this.tp$name}(${t.join(", ")})`;return this.$tzinfo!==y&&(e=e.slice(0,-1)+", tzinfo="+s(this.$tzinfo)+")"),this.$fold&&(e=e.slice(0,-1)+", fold=1)"),new w(e)},tp$str(){return this.tp$getattr(H).tp$call([],["sep",new w(" ")])},tp$richcompare(t,e){if(t instanceof Nt)return _do_compare(this,t,e);if(!(t instanceof vt))return b;if("Eq"===e||"NotEq"===e)return"NotEq"===e;throw new z(`can\'t compare \'${c(this)}\' to \'${c(t)}\'`)},tp$as_number:!0,nb$add(t){if(!(t instanceof wt))return b;let e=new wt(this.$toOrdinal(),3600*this.$hour+60*this.$min+this.$sec,this.$micro);e=q(e,t,"Add");let[n,i]=$divMod(e.$secs,3600),[s,o]=$divMod(i,60);if(0 string in ISO 8601 format, YYYY-MM-DDT[HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].\\nsep is used to separate the year from the time, and defaults to \'T\'.\\ntimespec specifies what components of the time to include (allowed values are \'auto\', \'hours\', \'minutes\', \'seconds\', \'milliseconds\', and \'microseconds\').\\n"},utcoffset:{$meth:function utcoffset(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(U),e=r(t,[this]);return _check_utc_offset("utcoffset",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.utcoffset(self)."},tzname:{$meth:function tzname(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(Y),e=r(t,[this]);return _check_tzname(e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.tzname(self)."},dst:{$meth:function dst(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(F),e=r(t,[this]);return _check_utc_offset("dst",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.dst(self)."},replace:{$meth:function replace(t,e){m("replace",t,0,8);let[n,i,s,o,r,a,$,c,h]=l("replace",["year","month","day","hour","minute","second","microsecond","tzinfo","fold"],t,e,[y,y,y,y,y,y,y,g,y]);return n===y&&(n=new f(this.$year)),i===y&&(i=new f(this.$month)),s===y&&(s=new f(this.$day)),o===y&&(o=new f(this.$hour)),r===y&&(r=new f(this.$min)),a===y&&(a=new f(this.$sec)),$===y&&($=new f(this.$micro)),c===g&&(c=this.$tzinfo),h===y&&(h=new f(this.$fold)),this.ob$type.tp$call([n,i,s,o,r,a,$,c],["fold",h])},$flags:{FastCall:!0},$textsig:null,$doc:"Return datetime with new specified fields."},astimezone:{$meth:function astimezone(t){if(t===y)t=this.$localTimezone();else if(!(t instanceof Mt))throw new z("tz argument must be an instance of tzinfo");let e,n=this.$tzinfo;if(n===y?(n=this.$localTimezone(),e=r(n.tp$getattr(U),[this])):(e=r(n.tp$getattr(U),[this]),e===y&&(n=r(this.tp$getattr(J),[],["tzinfo",y]).$localTimezone(),e=r(n.tp$getattr(U),[this]))),t===n)return this;const i=r(this.nb$subtract(e).tp$getattr(J),[],["tzinfo",t]);return t.tp$getattr(P).tp$call([i])},$flags:{NamedArgs:["tz"],Defaults:[y]},$textsig:null,$doc:"tz -> convert to local time in new timezone tz\\n"},__reduce_ex__:{$meth(t){return new p([this.ob$type,new p(this.$getState(R(t)))])},$flags:{OneArg:!0},$textsig:null,$doc:"__reduce_ex__(proto) -> (cls, state)"},__reduce__:{$meth(){return this.tp$getattr(new w("__reduce_ex__")).tp$call([new f(2)])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},classmethods:{now:{$meth:function now(t){const e=$.time.tp$call([]);return this.tp$getattr(B).tp$call([e,t])},$flags:{NamedArgs:["tz"],Defaults:[y]},$textsig:"($type, /, tz=None)",$doc:"Returns new datetime object representing current time local to tz.\\n\\n tz\\n Timezone object.\\n\\nIf no tz is specified, uses local timezone."},utcnow:{$meth:function utcnow(){const t=$.time.tp$call([]);return this.tp$getattr(L).tp$call([t])},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a new datetime representing UTC day and time."},fromtimestamp:{$meth:function fromtimestamp(t,e){return _check_tzinfo_arg(e),this.prototype.$fromtimestamp.call(this,t,e!==y,e)},$flags:{NamedArgs:["timestamp","tz"],Defaults:[y]},$textsig:null,$doc:"timestamp[, tz] -> tz\'s local time from POSIX timestamp."},utcfromtimestamp:{$meth:function utcfromtimestamp(t){return this.prototype.$fromtimestamp.call(this,t,!0,y)},$flags:{OneArg:!0},$textsig:null,$doc:"Construct a naive UTC datetime from a POSIX timestamp."},strptime:{$meth:function strptime(t,e){return null===ot?Sk.misceval.chain(Sk.importModule("_strptime",!1,!0),(n=>(ot=n.tp$getattr(new w("_strptime_datetime")),ot.tp$call([this,t,e])))):ot.tp$call([this,t,e])},$flags:{MinArgs:2,MaxArgs:2},$textsig:null,$doc:"string, format -> new datetime parsed from a string (like time.strptime())."},combine:{$meth:function combine(t,e,n){if(!(t instanceof vt))throw new z("date argument must be a date instance");if(!(e instanceof xt))throw new z("time argument must be a time instance");n===g&&(n=e.$tzinfo);const i=[t.$year,t.$month,t.$day,e.$hour,e.$min,e.$sec,e.$micro].map((t=>new f(t)));return i.push(n),this.tp$call(i,["fold",new f(e.$fold)])},$flags:{NamedArgs:["date","time","tzinfo"],Defaults:[g]},$textsig:null,$doc:"date, time -> datetime with same date and time fields"},fromisoformat:{$meth:function fromisoformat(t){if(!k(t))throw new z("fromisoformat: argument must be str");const e=(t=t.toString()).slice(0,10),n=t.slice(11);let i,s;try{i=_parse_isoformat_date(e)}catch(o){throw new v("Invalid isoformat string: \'"+t+"\'")}if(n)try{s=_parse_isoformat_time(n)}catch(o){throw new v("Invalid isoformat string: \'"+t+"\'")}else s=[W,W,W,W,y];return this.tp$call(i.concat(s))},$flags:{OneArg:!0},$textsig:null,$doc:"string -> datetime from datetime.isoformat() output"}},getsets:{hour:{$get(){return new f(this.$hour)}},minute:{$get(){return new f(this.$min)}},second:{$get(){return new f(this.$sec)}},microsecond:{$get(){return new f(this.$micro)}},tzinfo:{$get(){return this.$tzinfo}},fold:{$get(){return new f(this.$fold)}}},proto:{$cmp(n,i){const s=this.$tzinfo,o=n.$tzinfo;let a,$,c;if(a=$=y,s===o)c=!0;else{if(a=r(this.tp$getattr(U)),$=r(n.tp$getattr(U)),"Eq"===i||"NotEq"===i){const t=r(this.tp$getattr(J),[],["fold",new f(Number(!this.$fold))]);if(e(a,r(t.tp$getattr(U)),"NotEq"))return 2;const i=r(n.tp$getattr(J),[],["fold",new f(Number(!n.$fold))]);if(e($,r(i.tp$getattr(U)),"NotEq"))return 2}c=e(a,$,"Eq")}if(c)return _cmp([this.$year,this.$month,this.$day,this.$hour,this.$min,this.$sec,this.$micro],[n.$year,n.$month,n.$day,n.$hour,n.$min,n.$sec,n.$micro]);if(a===y||$===y){if("Eq"===i||"NotEq"===i)return 2;throw new z("cannot compare naive and aware datetimes")}const h=this.nb$subtract(n);return h.$days<0?-1:t(h)?1:0},$mkTime(){const t=new Nt(1970,1,1),e=this.nb$subtract(t).nb$floor_divide(yt);function local(e){const[n,i,s,o,r,a]=$.localtime.tp$call([e]).v;return Nt.tp$call([n,i,s,o,r,a]).nb$subtract(t).nb$floor_divide(yt)}let n,i,s=local(e).nb$subtract(e),o=e.nb$subtract(s),r=local(o);if(r.ob$eq(e)){if(n=o.nb$add([new f(-86400),new f(86400)][this.$fold]),i=local(n).nb$subtract(n),s.ob$eq(i))return o}else i=r.nb$subtract(o);n=e.nb$subtract(i);if(local(n).ob$eq(e))return n;if(r.ob$eq(e))return o;const a=o.ob$ge(n)?o:n;return[a,o===a?n:o][this.$fold]},$fromtimestamp(t,n,s){let o;if(!N(t))throw new z("a number is required, (got \'"+c(t)+"\'");[o,t]=modf(t);let a=intRound(q(o,nt,"Mult"));a=a.v,t=t.v,a>=1e6?(t+=1,a-=1e6):a<0&&(t-=1,a+=1e6),t=new f(t),Number.isInteger(a)||(a=Math.trunc(a)),a=new f(a);const h=n?$.gmtime:$.localtime;function converter(t){return h.tp$call([t]).v}let[m,u,l,d,_,p]=converter(t);p=new f(Math.min(i(p),59));let g=r(this,[m,u,l,d,_,p,a,s]);if(s===y){const n=86400;[m,u,l,d,_,p]=converter(q(t,new f(n),"Sub"));const i=r(this,[m,u,l,d,_,p,a,s]),o=q(q(g,i,"Sub"),new wt(0,n),"Sub");if(o.$days<0){[m,u,l,d,_,p]=converter(q(t,q(o,yt,"FloorDiv"),"Add"));const n=r(this,[m,u,l,d,_,p,a,s]);e(n,g,"Eq")&&(g.$fold=1)}}else g=r(s.tp$getattr(new w("fromutc")),[g]);return g},$localTimezone(){let t;t=this.$tzinfo===y?this.$mkTime():this.nb$subtract(kt).nb$floor_divide(yt);const e=$.localtime.tp$call([t]),n=(Nt.tp$call(e.v.slice(0,6)),e.tp$getattr(new w("tm_gmtoff"))),i=e.tp$getattr(new w("tm_zone"));return new St(wt.tp$call([W,n]),i)},$getState(t=3){let[e,n]=$divMod(this.$year,256),[i,s]=$divMod(this.$micro,256),[o,r]=$divMod(i,256),a=this.$month;this.$fold&&t>3&&(a+=128);const $=new _([e,n,a,this.$day,this.$hour,this.$min,this.$sec,o,r,s]);return this.$tzinfo===y?[$]:[$,this.$tzinfo]},$setState(t,e){const[n,i,s,o,r,a,$,c,h,m]=t;s>127?(this.$fold=1,this.$month=s-128):(this.$fold=0,this.$month=s),this.$year=256*n+i,this.$day=o,this.$hour=r,this.$min=a,this.$sec=$,this.$micro=(c<<8|h)<<8|m,this.$tzinfo=e}}});function _isoweek1monday(t){const e=_ymd2ord(t,1,1),n=(e+6)%7;let i=e-n;return n>3&&(i+=7),i}Nt.prototype.min=new Nt(1,1,1),Nt.prototype.max=new Nt(9999,12,31,23,59,59,999999),Nt.prototype.resolution=new wt(0,0,1);const St=E.timezone=h("datetime.timezone",{base:Mt,constructor:function timezone(t,n){if(this.$offset=t,this.$name=n||y,!e(this.$minoffset,t,"LtE")||!e(this.$maxoffset,t,"GtE"))throw new v("offset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24).")},slots:{tp$new(e,n){let[i,s]=l("timezone",["offset","name"],e,n,[null]);if(!(i instanceof wt))throw new z("offset must be a timedelta");if(null===s){if(!t(i))return this.utc;s=y}else if(!k(s))throw new z("name must be a string");if(this===St.prototype)return new St(i,s);{const t=new this.constructor;return St.call(t,i,s),t}},tp$richcompare(t,n){if(!(t instanceof St))return b;const i=e(this.$offset,t.$offset,"Eq");return"NotEq"===n?!i:"Eq"===n||i&&o(n)?i:b},$r(){return this===this.utc?new w("datetime.timezone.utc"):this.$name===y?new w(`${this.tp$name}(${s(this.$offset)})`):new w(`${this.tp$name}(${s(this.$offset)}, ${s(this.$name)})`)},tp$str(){return this.tp$getattr(Y).tp$call([y])},tp$hash(){return u(this.$offset)}},methods:{tzname:{$meth:function tzname(t){if(t instanceof Nt||t===y)return this.$name===y?this.$nameFromOff(this.$offset):this.$name;throw new z("tzname() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"If name is specified when timezone is created, returns the name. Otherwise returns offset as \'UTC(+|-)HH:MM\'."},utcoffset:{$meth:function utcoffset(t){if(t instanceof Nt||t===y)return this.$offset;throw new z("utcoffset() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"Return fixed offset."},dst:{$meth:function dst(t){if(t instanceof Nt||t===y)return y;throw new z("dst() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"Return None."},fromutc:{$meth:function fromutc(t){if(t instanceof Nt){if(t.$tzinfo!==this)throw new v("fromutc: dt.tzinfo is not self");return q(t,this.$offset,"Add")}throw new z("fromutc() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime in UTC -> datetime in local time."},__getinitargs__:{$meth(){return this.$name===y?new p([this.$offset]):new p([this.$offset,this.$name])},$flags:{NoArgs:!0}}},proto:{$maxoffset:new wt(0,86399,999999),$minoffset:new wt(-1,0,1),$nameFromOff(n){if(!t(n))return new w("UTC");let i,s,o,r,a,$;return e(n,bt,"Lt")?(i="-",n=n.nb$negative()):i="+",[s,o]=pyDivMod(n,pt),[r,o]=pyDivMod(o,gt),a=o.$secs,$=o.$micro,new w($?`UTC${i}${_d(s)}:${_d(r)}:${_d(a)}.${_d($,"0",6)}`:a?`UTC${i}${_d(s)}:${_d(r)}:${_d(a)}`:`UTC${i}${_d(s)}:${_d(r)}`)}}});St.prototype.utc=new St(new wt(0)),St.prototype.min=new St(new wt(0,-86340,0)),St.prototype.max=new St(new wt(0,86340,0));const kt=new Nt(1970,1,1,0,0,0,0,St.prototype.utc);return E}))}',"src/lib/document.js":'function $builtinmodule(){const{builtin:{str:t},misceval:{callsimArray:e},ffi:{toPy:r},abstr:{gattr:a}}=Sk,n={__name__:new t("document")},_=r(Sk.global.document);return Sk.abstr.setUpModuleMethods("document",n,{__getattr__:{$meth:t=>a(_,t,!0),$flags:{OneArg:!0}},__dir__:{$meth:()=>e(_.tp$getattr(t.$dir)),$flags:{NoArgs:!0}}}),n}',"src/lib/fractions.js":'function $builtinmodule(t){const e={};return Sk.misceval.chain(Sk.importModule("math",!1,!0),(t=>(e.math=t,Sk.importModule("sys",!1,!0))),(t=>(e.sys=t,fractionsMod(e))))}function fractionsMod({math:t,sys:e}){const{builtin:{int_:n,bool:{true$:i,false$:r},none:{none$:s},NotImplemented:{NotImplemented$:o},tuple:a,float_:$,complex:u,str:h,isinstance:l,TypeError:m,ZeroDivisionError:d,ValueError:f,NotImplementedError:c,abs:_,round:b,pow:p},ffi:{remapToPy:g},abstr:{buildNativeClass:w,copyKeywordsToNamedArgs:v,numberBinOp:y,typeName:k,lookupSpecial:E,checkArgsLen:N},misceval:{isTrue:F,richCompareBool:A,callsimArray:S,objectRepr:M}}=Sk,O={__name__:new h("fractions"),__all__:g(["Fraction"])},D=/^\\s*(?[-+]?)(?=\\d|\\.\\d)(?\\d*)(?:(?:\\/(?\\d+))?|(?:\\.(?\\d*))?(?:E(?[-+]?\\d+))?)\\s*$/i,q=new n(0),x=new n(1),z=new n(2),I=new n(10),T=new h("numerator"),R=new h("denominator"),B=new h("as_integer_ratio"),C=new h("from_float"),getNumer=t=>t.tp$getattr(T),getDenom=t=>t.tp$getattr(R),mul=(t,e)=>y(t,e,"Mult"),div=(t,e)=>y(t,e,"Div"),pow=(t,e)=>y(t,e,"Pow"),add=(t,e)=>y(t,e,"Add"),sub=(t,e)=>y(t,e,"Sub"),floorDiv=(t,e)=>y(t,e,"FloorDiv"),divmod=(t,e)=>y(t,e,"DivMod"),mod=(t,e)=>y(t,e,"Mod"),K=t.tp$getattr(new h("gcd")),eq=(t,e)=>A(t,e,"Eq"),lt=(t,e)=>A(t,e,"Lt"),ge=(t,e)=>A(t,e,"GtE"),L={NoArgs:!0},P={OneArg:!0},j=e.tp$getattr(new h("hash_info")),G=j.tp$getattr(new h("modulus")),V=j.tp$getattr(new h("inf"));function _operator_fallbacks(t,e){return[function(n){return isRational(n)?t(this,n):n instanceof $?e(this.nb$float(),n):n instanceof u?e(S(u,[this]),n):o},function(n){return isRational(n)?t(n,this):n instanceof $?e(n,this.nb$float()):n instanceof u?e(n,S(u,[this])):o}]}const[Z,H]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e);return S(ot,[add(mul(getNumer(t),i),mul(getNumer(e),n)),mul(n,i)])}),add),[J,Q]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e);return S(ot,[sub(mul(getNumer(t),i),mul(getNumer(e),n)),mul(n,i)])}),sub),[U,W]=_operator_fallbacks(((t,e)=>S(ot,[mul(getNumer(t),getNumer(e)),mul(getDenom(t),getDenom(e))])),mul),[X,Y]=_operator_fallbacks(((t,e)=>S(ot,[mul(getNumer(t),getDenom(e)),mul(getDenom(t),getNumer(e))])),div),[tt,et]=_operator_fallbacks(((t,e)=>floorDiv(mul(getNumer(t),getDenom(e)),mul(getDenom(t),getNumer(e)))),floorDiv),[nt,it]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e),[r,s]=divmod(mul(getNumer(t),i),mul(n,getNumer(e))).valueOf();return new a([r,S(ot,[s,mul(n,i)])])}),divmod),[rt,st]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e),r=mod(mul(getNumer(t),i),mul(getNumer(e),n));return S(ot,[r,mul(n,i)])}),mod),ot=O.Fraction=w("fractions.Fraction",{constructor:function(t,e){this.$num=t||q,this.$den=e||x},slots:{tp$new(t,e){N("Fraction",t,0,2);let[r,o,a]=v("Fraction",["numerator","denominator","_normalize"],t,e,[q,s,i]);const u=new this.constructor;if(o===s){if(r.ob$type===n)return u.$num=r,u.$den=x,u;if(isRational(r))return u.$num=getNumer(r),u.$den=getDenom(r),u;if(r instanceof $)return[u.$num,u.$den]=S(r.tp$getattr(B)).valueOf(),u;if(!(r instanceof h))throw new m("argument should be a string or a Rational instance");{const t=r.toString().match(D);if(null===t)throw new f("Invalid literal for Fraction: "+M(r));r=new n(t.groups.num||"0");const e=t.groups.denom;if(e)o=new n(e);else{o=x;const e=t.groups.decimal;if(e){const t=new n(""+10**e.length);r=add(mul(r,t),new n(e)),o=mul(o,t)}let i=t.groups.exp;i&&(i=new n(i),lt(i,q)?o=mul(o,pow(I,i.nb$negative())):r=mul(r,pow(I,i)))}"-"==t.groups.sign&&(r=r.nb$negative())}}else if(r.ob$type===n&&o.ob$type===n);else{if(!isRational(r)||!isRational(o))throw new m("both arguments should be Rational instances");[r,o]=[mul(getNumer(r),getDenom(o)),mul(getNumer(o),getDenom(r))]}if(eq(o,q))throw new d(`Fraction(${r}, 0)`);if(F(a)){let t=S(K,[r,o]);lt(o,q)&&(t=t.nb$negative()),r=floorDiv(r,t),o=floorDiv(o,t)}return u.$num=r,u.$den=o,u},$r(){const t=E(this.ob$type,h.$name);return new h(`${t}(${this.$num}, ${this.$den})`)},tp$str(){return eq(this.$den,x)?new h(this.$num):new h(`${this.$num}/${this.$den}`)},tp$hash(){const t=p(this.$den,sub(G,z),G);let e;e=F(t)?mod(mul(_(this.$num),t),G):V;let n=ge(this,q)?e:e.nb$negative();return n=n.tp$hash(),-1===n?-2:n},tp$richcompare(t,e){const op=(t,n)=>A(t,n,e);if("Eq"===e||"NotEq"==e){if(t.ob$type===n){const n=eq(this.$num,t)&&eq(this.$den,x);return"Eq"===e?n:!n}if(t instanceof ot||t instanceof n){const n=eq(this.$num,getNumer(t))&&eq(this.$den,getDenom(t));return"Eq"===e?n:!n}t instanceof u&&eq(t.tp$getattr(new h("imag")),q)&&(t=t.tp$getattr(new h("real")))}return isRational(t)?op(mul(getNumer(this),getDenom(t)),mul(getDenom(this),getNumer(t))):t instanceof $?Number.isFinite(t.valueOf())?op(this,S(this.tp$getattr(C),[t])):op(new $(0),t):o},tp$as_number:!0,nb$add:Z,nb$reflected_add:H,nb$subtract:J,nb$reflected_subtract:Q,nb$multiply:U,nb$reflected_multiply:W,nb$divide:X,nb$reflected_divide:Y,nb$floor_divide:tt,nb$reflected_floor_divide:et,nb$divmod:nt,nb$reflected_divmod:it,nb$remainder:rt,nb$reflected_remainder:st,nb$power(t){if(isRational(t)){if(eq(getDenom(t),x)){let e=getNumer(t);return ge(e,q)?S(ot,[pow(this.$num,e),pow(this.$den,e)],["_normalize",r]):ge(this.$num,q)?(e=e.nb$negative(),S(ot,[pow(this.$den,e),pow(this.$num,e)],["_normalize",r])):(e=e.nb$negative(),S(ot,[pow(this.$den.nb$negative(),e),pow(this.$num.nb$negative(),e)],["_normalize",r]))}return pow(this.nb$float(),S($,[t]))}return pow(this.nb$float(),t)},nb$reflected_power(t){return eq(this.$den,x)&&ge(this.$num,q)?pow(t,this.$num):isRational(t)?pow(new ot(getNumer(t),getDenom(t)),this):eq(this.$den,x)?pow(t,this.$num):pow(t,this.nb$float())},nb$positive(){return new ot(this.$num,this.$den)},nb$negative(){return new ot(this.$num.nb$negative(),this.$den)},nb$abs(){return new ot(this.$num.nb$abs(),this.$den)},nb$bool(){return this.$num.nb$bool()},nb$float(){return div(this.$num,this.$den)}},methods:{as_integer_ratio:{$meth(){return new a([this.$num,this.$den])},$flags:L},limit_denominator:{$meth(t){if(lt(t,x))throw new f("max_denominator should be at least 1");if(ge(t,this.$den))return S(ot,[this]);let[e,n,i,r]=[q,x,x,q],s=this.$num,o=this.$den;for(;;){const a=floorDiv(s,o),$=add(n,mul(a,r));if(lt(t,$))break;[e,n,i,r]=[i,r,add(e,mul(a,i)),$],[s,o]=[o,sub(s,mul(a,o))]}const a=floorDiv(sub(t,n),r),$=S(ot,[add(e,mul(a,i)),add(n,mul(a,r))]),u=S(ot,[i,r]);return ge(_(sub($,this)),_(sub(u,this)))?u:$},$flags:{NamedArgs:["max_denominator"],Defaults:[new n(1e6)]}},__trunc__:{$meth(){return lt(this.$num,q)?floorDiv(this.$num.nb$negative(),this.$den).nb$negative():floorDiv(this.$num,this.$den)},$flags:L},__floor__:{$meth(){return floorDiv(this.$num,this.$den)},$flags:L},__ceil__:{$meth(){return floorDiv(this.$num.nb$negative(),this.$den).nb$negative()},$flags:L},__round__:{$meth(t){if(t===s){const[t,e]=divmod(this.$num,this.$den).valueOf(),n=mul(e,z);return lt(n,this.$den)?t:lt(this.$den,n)?add(t,x):eq(mod(t,z),q)?t:add(t,x)}const e=pow(I,_(t));return lt(q,t)?S(ot,[b(mul(this,e)),e]):S(ot,[mul(b(div(this,e)),e)])},$flags:{NamedArgs:["ndigits"],Defaults:[s]}},__reduce__:{$meth(){return new a([this.ob$type,new a([new h(this)])])},$flags:L},__copy__:{$meth(){return this.ob$type===ot?this:S(this.ob$type,[this.$num,this.$den])},$flags:L},__deepcopy__:{$meth(t){return this.ob$type===ot?this:S(this.ob$type,[this.$num,this.$den])},$flags:P}},classmethods:{from_float:{$meth(t){if(t instanceof n)return S(this,[t]);if(t instanceof $){const[e,n]=S(t.tp$getattr(B)).valueOf();return S(this,[e,n])}throw new m(`${k(this)}.from_float() only takes floats, not ${M(t)}, (${k(t)})`)},$flags:P},from_decimal:{$meth(){throw c("from_decimal not yet implemented in SKulpt")},$flags:P}},getsets:{numerator:{$get(){return this.$num}},denominator:{$get(){return this.$den}},_numerator:{$get(){return this.$num},$set(t){this.$num=t}},_denominator:{$get(){return this.$den},$set(t){this.$den=t}}}}),at=new a([n,ot]),isRational=t=>F(l(t,at));return O}',"src/lib/functools.js":'function $builtinmodule(){const t={};return Sk.misceval.chain(Sk.importModule("collections",!1,!0),(e=>(t._namedtuple=e.$d.namedtuple,functools_mod(t))))}function functools_mod(t){const{object:e,int_:n,str:r,list:s,tuple:a,dict:i,none:{none$:o},bool:{false$:c},NotImplemented:{NotImplemented$:_},bool:l,func:p,method:u,TypeError:h,RuntimeError:d,ValueError:f,NotImplementedError:m,AttributeErrror:w,OverflowError:g,checkNone:$,checkBool:y,checkCallable:k,checkClass:b}=Sk.builtin,{callsimArray:x,callsimOrSuspendArray:A,iterFor:S,chain:E,isIndex:v,asIndexSized:N,isTrue:P,richCompareBool:j,objectRepr:R}=Sk.misceval,{remapToPy:z}=Sk.ffi,{buildNativeClass:q,setUpModuleMethods:T,keywordArrayFromPyDict:I,keywordArrayToPyDict:D,objectHash:C,lookupSpecial:M,copyKeywordsToNamedArgs:W,typeName:F,iter:U,gattr:O}=Sk.abstr,{getSetDict:G,getAttr:B,setAttr:K}=Sk.generic;function proxyFail(t){return new p((()=>{throw new m(t+" is not yet implemented in skulpt")}))}Object.assign(t,{__name__:new r("functools"),__doc__:new r("Tools for working with functions and callable objects"),__all__:new s(["update_wrapper","wraps","WRAPPER_ASSIGNMENTS","WRAPPER_UPDATES","total_ordering","cmp_to_key","cache","lru_cache","reduce","partial","partialmethod","singledispatch","singledispatchmethod","cached_property"].map((t=>new r(t)))),WRAPPER_ASSIGNMENTS:new a(["__module__","__name__","__qualname__","__doc__","__annotations__"].map((t=>new r(t)))),WRAPPER_UPDATES:new a([new r("__dict__")]),singledispatch:proxyFail("singledispatch"),singledispatchmethod:proxyFail("singledispatchmethod"),cached_property:proxyFail("cached_property")});const L=new r("cache_parameters");function _lru_cache(e,n){if(n||(n=c),v(e))(e=N(e,g))<0&&(e=0);else{if(k(e)&&y(n)){const r=e,s=new V(r,e=128,n);return s.tp$setattr(L,new p((()=>z({maxsize:e,typed:n})))),A(t.update_wrapper,[s,r])}if(!$(e))throw new h("Expected first argument to be an integer, a callable, or None")}return new p((r=>{const s=new V(r,e,n);return s.tp$setattr(L,new p((()=>z({maxsize:e,typed:n})))),A(t.update_wrapper,[s,r])}))}const H=t._CacheInfo=x(t._namedtuple,["CacheInfo",["hits","misses","maxsize","currsize"]].map((t=>z(t))),["module",new r("functools")]),V=q("functools._lru_cache_wrapper",{constructor:function _lru_cache_wrapper(t,e,n,r){if(!k(t))throw new h("the first argument must be callable");let s;if($(e))s=infinite_lru_cache_wrapper,e=-1;else{if(!v(e))throw new h("maxsize should be integer or None");(e=N(e,g))<0&&(e=0),s=0===e?uncached_lru_cache_wrapper:bounded_lru_cache_wrapper}this.root={},this.root.prev=this.root.next=this.root,this.wrapper=s,this.maxsize=e,this.typed=n,this.cache=new i([]),this.func=t,this.misses=this.hits=0,this.$d=new i([])},slots:{tp$new(t,e){const[n,r,s,a]=W("_lru_cache_wrapper",["user_function","maxsize","typed","cache_info_type"],t,e);return new V(n,r,s,a)},tp$call(t,e){return this.wrapper(t,e)},tp$descr_get(t,e){return null===t?this:new u(this,t)},tp$doc:"Create a cached callable that wraps another function.\\n\\nuser_function: the function being cached\\n\\nmaxsize: 0 for no caching\\n None for unlimited cache size\\n n for a bounded cache\\n\\ntyped: False cache f(3) and f(3.0) as identical calls\\n True cache f(3) and f(3.0) as distinct calls\\n\\ncache_info_type: namedtuple class with the fields:\\n hits misses currsize maxsize\\n"},methods:{cache_info:{$meth(){return A(H,[this.hits,this.misses,-1===this.maxsize?o:this.maxsize,this.cache.get$size()].map((t=>z(t))))},$flags:{NoArgs:!0},$doc:"Report cache statistics"},cache_clear:{$meth(){return this.hits=this.misses=0,this.root={},this.root.next=this.root.prev=this.root,A(this.cache.tp$getattr(new r("clear"),!0))},$flags:{NoArgs:!0},$doc:"Clear the cache and cache statistics"},__deepcopy__:{$meth(t){return this},$flags:{OneArg:!0}},__copy__:{$meth(){return this},$flags:{NoArgs:!0}}},getsets:{__dict__:G}});function infinite_lru_cache_wrapper(t,e){const n=_make_key(t,e,this.typed),r=this.cache.mp$lookup(n);return void 0!==r?(this.hits++,r):(this.misses++,E(A(this.func,t,e),(t=>(this.cache.mp$ass_subscript(n,t),t))))}function uncached_lru_cache_wrapper(t,e){return this.misses++,A(this.func,t,e)}function bounded_lru_cache_wrapper(t,e){const n=_make_key(t,e,this.typed),r=this.cache.mp$lookup(n);if(void 0!==r){const{result:t}=r;return lru_cache_extract_link(r),lru_cache_append_link(this,r),this.hits++,t}return this.misses++,E(A(this.func,t,e),(t=>{if(void 0!==this.cache.mp$lookup(n))return t;if(this.cache.get$size()t.ob$type)),...i.map((t=>t.ob$type)));else if(1===s.length&&X.has(s[0].ob$type))return s[0];return new J(s)}function partial_adjust_args_kwargs(t,e){if(t=this.arg_arr.concat(t),e){e=D(e);const t=this.kwdict.dict$copy();t.dict$merge(e),e=I(t)}else e=I(this.kwdict);return{args:t,kwargs:e}}function partial_new(t,e){if(t.length<1)throw new h("type \'partial\' takes at least 1 argument");let n,r,s=t.shift();if(s instanceof this.sk$builtinBase){const t=s;s=t.fn,n=t.arg_arr,r=t.kwdict}this.check$func(s),n&&(t=n.concat(t));let a=D(e=e||[]);if(r){const t=r.dict$copy();t.dict$merge(a),a=t}if(this.sk$builtinBase===this.constructor)return new this.constructor(s,t,a);{const e=new this.constructor;return this.sk$builtinBase.call(e,s,t,a),e}}function partial_repr(){if(this.in$repr)return new r("...");this.in$repr=!0;const t=[R(this.fn)];return this.arg_arr.forEach((e=>{t.push(R(e))})),this.kwdict.$items().forEach((([e,n])=>{t.push(e.toString()+"="+R(n))})),this.in$repr=!1,new r(this.tp$name+"("+t.join(", ")+")")}t.partial=q("functools.partial",{constructor:function partial(t,e,n){this.fn=t,this.arg_arr=e,this.arg_tup=new a(e),this.kwdict=n,this.in$repr=!1,this.$d=new i([])},slots:{tp$new:partial_new,tp$call(t,e){return({args:t,kwargs:e}=this.adj$args_kws(t,e)),this.fn.tp$call(t,e)},tp$doc:"partial(func, *args, **keywords) - new function with partial application\\n of the given arguments and keywords.\\n",$r:partial_repr,tp$getattr:B,tp$setattr:K},getsets:{func:{$get(){return this.fn},$doc:"function object to use in future partial calls"},args:{$get(){return this.arg_tup},$doc:"tuple of arguments to future partial calls"},keywords:{$get(){return this.kwdict},$doc:"dictionary of keyword arguments to future partial calls"},__dict__:G},methods:{},classmethods:Sk.generic.classGetItem,proto:{adj$args_kws:partial_adjust_args_kwargs,check$func(t){if(!k(t))throw new h("the first argument must be callable")}}}),t.partialmethod=q("functools.partialmethod",{constructor:function partialmethod(t,e,n){this.fn=t,this.arg_arr=e,this.arg_tup=new a(e),this.kwdict=n},slots:{tp$new:partial_new,tp$doc:"Method descriptor with partial application of the given arguments\\n and keywords.\\n\\n Supports wrapping existing descriptors and handles non-descriptor\\n callables as instance methods.\\n ",$r:partial_repr,tp$descr_get(e,n){let r;if(this.fn.tp$descr_get){const s=this.fn.tp$descr_get(e,n);if(s!==this.fn){if(!k(s))throw new h("type \'partial\' requires a callable");r=new t.partial(s,this.arg_arr.slice(0),this.kwdict.dict$copy());const e=M(s,this.str$self);void 0!==e&&r.tp$setattr(this.str$self,e)}}return void 0===r&&(r=this.make$unbound().tp$descr_get(e,n)),r}},methods:{_make_unbound_method:{$meth(){return this.make$unbound()},$flags:{NoArgs:!0}}},classmethods:Sk.generic.classGetItem,getsets:{func:{$get(){return this.fn},$doc:"function object to use in future partial calls"},args:{$get(){return this.arg_tup},$doc:"tuple of arguments to future partial calls"},keywords:{$get(){return this.kwdict},$doc:"dictionary of keyword arguments to future partial calls"},__dict__:G},proto:{str$self:new r("__self__"),make$unbound(){const t=this;function _method(e,n){const r=e.shift();return({args:e,kwargs:n}=t.adj$args_kws(e,n)),e.unshift(r),A(t.fn,e,n)}return _method.co_fastcall=!0,new p(_method)},adj$args_kws:partial_adjust_args_kwargs,check$func(t){if(!k(t)&&void 0===t.tp$descr_get)throw new h(R(t)+" is not callable or a descriptor")}}});const Y={__lt__:r.$lt,__le__:r.$le,__gt__:r.$gt,__ge__:r.$ge};function from_slot(t,e){const n=Y[t];function compare_slot(t,r){let s=x(t.tp$getattr(n),[r]);return s===_?s:(s=P(s),new l(e(s,t,r)))}return compare_slot.co_name=n,compare_slot}const Z=from_slot("__lt__",((t,e,n)=>!t&&j(e,n,"NotEq"))),tt=from_slot("__lt__",((t,e,n)=>t||j(e,n,"Eq"))),et=from_slot("__lt__",(t=>!t)),nt=from_slot("__le__",((t,e,n)=>!t||j(e,n,"Eq"))),rt=from_slot("__le__",((t,e,n)=>t&&j(e,n,"NotEq"))),st=from_slot("__le__",(t=>!t)),at=from_slot("__gt__",((t,e,n)=>!t&&j(e,n,"NotEq"))),it=from_slot("__gt__",((t,e,n)=>t||j(e,n,"Eq"))),ot=from_slot("__gt__",(t=>!t)),ct=from_slot("__ge__",((t,e,n)=>!t||j(e,n,"Eq"))),_t=from_slot("__ge__",((t,e,n)=>t&&j(e,n,"NotEq"))),lt=from_slot("__ge__",(t=>!t)),pt={__lt__:{__gt__:new p(Z),__le__:new p(tt),__ge__:new p(et)},__le__:{__ge__:new p(nt),__lt__:new p(rt),__gt__:new p(st)},__gt__:{__lt__:new p(at),__ge__:new p(it),__le__:new p(ot)},__ge__:{__le__:new p(ct),__gt__:new p(_t),__lt__:new p(lt)}},ut={__lt__:"ob$lt",__le__:"ob$le",__gt__:"ob$gt",__ge__:"ob$ge"};const ht=new n(0),dt=q("functools.KeyWrapper",{constructor:function(t,e){this.cmp=t,this.obj=e},slots:{tp$call(t,e){const[n]=W("K",["obj"],t,e,[]);return new dt(this.cmp,n)},tp$richcompare(t,e){if(!(t instanceof dt))throw new h("other argument must be K instance");const n=this.obj,r=t.obj;if(!n||!r)throw new w("object");const s=A(this.cmp,[n,r]);return E(s,(t=>j(t,ht,e)))},tp$getattr:B,tp$hash:o},getsets:{obj:{$get(){return this.obj||o},$set(t){this.obj=t},$doc:"Value wrapped by a key function."}}}),ft=new r("update"),mt=new r("__wrapped__");return T("functools",t,{cache:{$meth:function cache(t){return A(_lru_cache(o),[t])},$flags:{OneArg:!0},$doc:\'Simple lightweight unbounded cache. Sometimes called "memoize".\',$textsig:"($module, user_function, /)"},lru_cache:{$meth:_lru_cache,$flags:{NamedArgs:["maxsize","typed"],Defaults:[new n(128),c]},$doc:"Least-recently-used cache decorator.\\n\\nIf *maxsize* is set to None, the LRU features are disabled and the cache\\ncan grow without bound.\\n\\nIf *typed* is True, arguments of different types will be cached separately.\\nFor example, f(3.0) and f(3) will be treated as distinct calls with\\ndistinct results.\\n\\nArguments to the cached function must be hashable.\\n\\nView the cache statistics named tuple (hits, misses, maxsize, currsize)\\nwith f.cache_info(). Clear the cache and statistics with f.cache_clear().\\nAccess the underlying function with f.__wrapped__.\\n\\nSee: http://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU)"},cmp_to_key:{$meth:function cmp_to_key(t){return new dt(t)},$flags:{NamedArgs:["mycmp"],Defaults:[]},$doc:"Convert a cmp= function into a key= function.",$textsig:"($module, cmp, /)"},reduce:{$meth:function reduce(t,e,n){const r=U(e);let s;return n=n||r.tp$iternext(!0),E(n,(e=>{if(void 0===e)throw new h("reduce() of empty sequence with no initial value");return s=e,S(r,(e=>E(A(t,[s,e]),(t=>{s=t}))))}),(()=>s))},$flags:{MinArgs:2,MaxArgs:3},$doc:"reduce(function, sequence[, initial]) -> value\\n\\nApply a function of two arguments cumulatively to the items of a sequence,\\nfrom left to right, so as to reduce the sequence to a single value.\\nFor example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates\\n((((1+2)+3)+4)+5). If initial is present, it is placed before the items\\nof the sequence in the calculation, and serves as a default when the\\nsequence is empty.",$textsig:"($module, function, sequence[, initial], /)"},total_ordering:{$meth:function total_ordering(t){const n=[];if(!b(t))throw new h("total ordering only supported for type objects not \'"+F(t)+"\'");if(Object.keys(pt).forEach((r=>{const s=ut[r];t.prototype[s]!==e.prototype[s]&&n.push(r)})),!n.length)throw new f("must define atleast one ordering operation: <, >, <=, >=");const r=n[0];return Object.entries(pt[r]).forEach((([e,r])=>{n.includes(e)||t.tp$setattr(Y[e],r)})),t},$flags:{OneArg:!0},$doc:"Class decorator that fills in missing ordering methods"},update_wrapper:{$meth:function update_wrapper(t,e,n,r){let s,a=U(n);for(let i=a.tp$iternext();void 0!==i;i=a.tp$iternext())void 0!==(s=e.tp$getattr(i))&&t.tp$setattr(i,s);a=U(r);for(let o=a.tp$iternext();void 0!==o;o=a.tp$iternext()){s=e.tp$getattr(o)||new i([]);const n=O(t,o),r=O(n,ft);x(r,[s])}return t.tp$setattr(mt,e),t},$flags:{NamedArgs:["wrapper","wrapped","assigned","updated"],Defaults:[t.WRAPPER_ASSIGNMENTS,t.WRAPPER_UPDATES]},$doc:"Update a wrapper function to look like the wrapped function\\n\\n wrapper is the function to be updated\\n wrapped is the original function\\n assigned is a tuple naming the attributes assigned directly\\n from the wrapped function to the wrapper function (defaults to\\n functools.WRAPPER_ASSIGNMENTS)\\n updated is a tuple naming the attributes of the wrapper that\\n are updated with the corresponding attribute from the wrapped\\n function (defaults to functools.WRAPPER_UPDATES)\\n ",$textsig:"($module, /, wrapper, wrapped, assigned=(\'__module__\', \'__name__\', \'__qualname__\', \'__doc__\', \'__annotations__\'), updated=(\'__dict__\',))"},wraps:{$meth:function wraps(e,n,r){const s=["wrapped",e,"assigned",n,"updated",r];return A(t.partial,[t.update_wrapper],s)},$flags:{NamedArgs:["wrapped","assigned","updated"],Defaults:[t.WRAPPER_ASSIGNMENTS,t.WRAPPER_UPDATES]},$doc:"Decorator factory to apply update_wrapper() to a wrapper function\\n\\n Returns a decorator that invokes update_wrapper() with the decorated\\n function as the wrapper argument and the arguments to wraps() as the\\n remaining arguments. Default arguments are as for update_wrapper().\\n This is a convenience function to simplify applying partial() to\\n update_wrapper().\\n ",$textsig:"($module, /, wrapped, assigned=(\'__module__\', \'__name__\', \'__qualname__\', \'__doc__\', \'__annotations__\'), updated=(\'__dict__\',))"}}),t}',"src/lib/image.js":'var ImageMod,$builtinmodule;ImageMod||((ImageMod={}).canvasLib=[]),$builtinmodule=function(e){var n,t,i,a,u,l,r,s={__name__:new Sk.builtin.str("image")};return s.Image=Sk.misceval.buildClass(s,(function(e,n){u=function(e){e.width=e.image.width,e.height=e.image.height,e.delay=0,e.updateCount=0,e.updateInterval=1,e.lastx=0,e.lasty=0,e.canvas=document.createElement("canvas"),e.canvas.height=e.height,e.canvas.width=e.width,e.ctx=e.canvas.getContext("2d"),e.ctx.drawImage(e.image,0,0),e.imagedata=e.ctx.getImageData(0,0,e.width,e.height)},n.__init__=new Sk.builtin.func((function(e,n){var t;Sk.builtin.pyCheckArgsLen("__init__",arguments.length,2,2);try{e.image=document.getElementById(Sk.ffi.remapToJs(n)),u(e)}catch(i){e.image=null}if(null==e.image)return(t=new Sk.misceval.Suspension).resume=function(){if(t.data.error)throw new Sk.builtin.IOError(t.data.error.message)},t.data={type:"Sk.promise",promise:new Promise((function(t,i){var a=new Image;a.crossOrigin="",a.onerror=function(){i(Error("Failed to load URL: "+a.src))},a.onload=function(){e.image=this,u(e),t()},a.src=r(n)}))},t})),r=function(e){var n,t,i="function"==typeof Sk.imageProxy?Sk.imageProxy:function(e){return(n=document.createElement("a")).href=t,window.location.host!==n.host?Sk.imageProxy+"/"+e:e};return t=i(t=Sk.ffi.remapToJs(e))},l=function(e,n,t){if(n<0||t<0||n>=e.width||t>=e.height)throw new Sk.builtin.ValueError("Pixel index out of range.")};var setdelay=function(e,n,t){var i;Sk.builtin.pyCheckArgsLen("setdelay",arguments.length,2,3),e.delay=Sk.ffi.remapToJs(n),i=Sk.builtin.asnum$(t),e.updateInterval=i||1};n.set_delay=new Sk.builtin.func(setdelay),n.setDelay=new Sk.builtin.func(setdelay);var getpixels=function(e){var n,t=[];for(Sk.builtin.pyCheckArgsLen("getpixels",arguments.length,1,1),n=0;n=e.width?e.lastCtx.putImageData(e.imagedata,e.lastUlx,e.lastUly,0,e.lasty,e.width,2):e.lasty+e.updateInterval>=e.height?e.lastCtx.putImageData(e.imagedata,e.lastUlx,e.lastUly,e.lastx,0,2,e.height):e.lastCtx.putImageData(e.imagedata,e.lastUlx,e.lastUly,Math.min(n,e.lastx),Math.min(t,e.lasty),Math.max(Math.abs(n-e.lastx),1),Math.max(Math.abs(t-e.lasty),1)),e.lastx=n,e.lasty=t,e.delay>0?window.setTimeout(i,e.delay):i()):i()}))},i};var setpixel=function(e,n,t,i){var u;return Sk.builtin.pyCheckArgsLen("setpixel",arguments.length,4,4),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),l(e,n,t),u=4*t*e.width+4*n,e.imagedata.data[u]=Sk.builtin.asnum$(Sk.misceval.callsimArray(i.getRed,[i])),e.imagedata.data[u+1]=Sk.builtin.asnum$(Sk.misceval.callsimArray(i.getGreen,[i])),e.imagedata.data[u+2]=Sk.builtin.asnum$(Sk.misceval.callsimArray(i.getBlue,[i])),e.imagedata.data[u+3]=255,a(e,n,t)};n.set_pixel=new Sk.builtin.func(setpixel),n.setPixel=new Sk.builtin.func(setpixel);var setpixelat=function(e,n,t){var i,u,r;return Sk.builtin.pyCheckArgsLen("setpixelat",arguments.length,3,3),i=(n=Sk.builtin.asnum$(n))%e.image.width,u=Math.floor(n/e.image.width),l(e,i,u),r=4*u*e.width+4*i,e.imagedata.data[r]=Sk.builtin.asnum$(Sk.misceval.callsimArray(t.getRed,[t])),e.imagedata.data[r+1]=Sk.builtin.asnum$(Sk.misceval.callsimArray(t.getGreen,[t])),e.imagedata.data[r+2]=Sk.builtin.asnum$(Sk.misceval.callsimArray(t.getBlue,[t])),e.imagedata.data[r+3]=255,a(e,i,u)};n.set_pixel_at=new Sk.builtin.func(setpixelat),n.setPixelAt=new Sk.builtin.func(setpixelat);var updatepixel=function(e,n){var t,i,u;return Sk.builtin.pyCheckArgsLen("updatepixel",arguments.length,2,2),t=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getX,[n])),i=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getY,[n])),l(e,t,i),u=4*i*e.width+4*t,e.imagedata.data[u]=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getRed,[n])),e.imagedata.data[u+1]=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getGreen,[n])),e.imagedata.data[u+2]=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getBlue,[n])),e.imagedata.data[u+3]=255,a(e,t,i)};n.update_pixel=new Sk.builtin.func(updatepixel),n.updatePixel=new Sk.builtin.func(updatepixel);var getheight=function(e){return Sk.builtin.pyCheckArgsLen("getheight",arguments.length,1,1),new Sk.builtin.int_(e.height)};n.get_height=new Sk.builtin.func(getheight),n.getHeight=new Sk.builtin.func(getheight);var getwidth=function(e,n){return Sk.builtin.pyCheckArgsLen("getwidth",arguments.length,1,1),new Sk.builtin.int_(e.width)};n.get_width=new Sk.builtin.func(getwidth),n.getWidth=new Sk.builtin.func(getwidth),n.__getattr__=new Sk.builtin.func((function(e,n){return"height"===(n=Sk.ffi.remapToJs(n))?Sk.builtin.assk$(e.height):"width"===n?Sk.builtin.assk$(e.width):void 0})),n.__setattr__=new Sk.builtin.func((function(e,n,t){throw"height"===(n=Sk.ffi.remapToJs(n))||"width"===n?new Sk.builtin.Exception("Cannot change height or width they can only be set on creation"):new Sk.builtin.Exception("Unknown attribute: "+n)})),n.draw=new Sk.builtin.func((function(e,n,t,i){var a;return Sk.builtin.pyCheckArgsLen("draw",arguments.length,2,4),(a=new Sk.misceval.Suspension).resume=function(){return Sk.builtin.none.none$},a.data={type:"Sk.promise",promise:new Promise((function(a,u){var l;n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),i=Sk.builtin.asnum$(i),l=Sk.misceval.callsimArray(n.getWin,[n]).getContext("2d"),void 0===t&&(t=0,i=0),e.lastUlx=t,e.lastUly=i,e.lastCtx=l,l.putImageData(e.imagedata,t,i),e.delay>0?window.setTimeout(a,e.delay):window.setTimeout(a,200)}))},a}))}),"Image",[]),i=function(e,n){n.__init__=new Sk.builtin.func((function(e,n,t){Sk.builtin.pyCheckArgsLen("__init__",arguments.length,3,3),e.width=Sk.builtin.asnum$(n),e.height=Sk.builtin.asnum$(t),e.canvas=document.createElement("canvas"),e.ctx=e.canvas.getContext("2d"),e.canvas.height=e.height,e.canvas.width=e.width,e.imagedata=e.ctx.getImageData(0,0,e.width,e.height)}))},s.EmptyImage=Sk.misceval.buildClass(s,i,"EmptyImage",[s.Image]),t=function(e,n){n.__init__=new Sk.builtin.func((function(e,n,t,i,a,u){Sk.builtin.pyCheckArgsLen("__init__",arguments.length,4,6),e.red=Sk.builtin.asnum$(n),e.green=Sk.builtin.asnum$(t),e.blue=Sk.builtin.asnum$(i),e.x=Sk.builtin.asnum$(a),e.y=Sk.builtin.asnum$(u)}));var getred=function(e){return Sk.builtin.pyCheckArgsLen("getred",arguments.length,1,1),Sk.builtin.assk$(e.red)};n.get_red=new Sk.builtin.func(getred),n.getRed=new Sk.builtin.func(getred);var getgreen=function(e){return Sk.builtin.pyCheckArgsLen("getgreen",arguments.length,1,1),Sk.builtin.assk$(e.green)};n.get_green=new Sk.builtin.func(getgreen),n.getGreen=new Sk.builtin.func(getgreen);var getblue=function(e){return Sk.builtin.pyCheckArgsLen("getblue",arguments.length,1,1),Sk.builtin.assk$(e.blue)};n.get_blue=new Sk.builtin.func(getblue),n.getBlue=new Sk.builtin.func(getblue);var getx=function(e){return Sk.builtin.pyCheckArgsLen("getx",arguments.length,1,1),Sk.builtin.assk$(e.x)};n.get_x=new Sk.builtin.func(getx),n.getX=new Sk.builtin.func(getx);var gety=function(e){return Sk.builtin.pyCheckArgsLen("gety",arguments.length,1,1),Sk.builtin.assk$(e.y)};n.get_y=new Sk.builtin.func(gety),n.getY=new Sk.builtin.func(gety);var setred=function(e,n){Sk.builtin.pyCheckArgsLen("setred",arguments.length,2,2),e.red=Sk.builtin.asnum$(n)};n.set_red=new Sk.builtin.func(setred),n.setRed=new Sk.builtin.func(setred);var setgreen=function(e,n){Sk.builtin.pyCheckArgsLen("setgreen",arguments.length,2,2),e.green=Sk.builtin.asnum$(n)};n.set_green=new Sk.builtin.func(setgreen),n.setGreen=new Sk.builtin.func(setgreen);var setblue=function(e,n){Sk.builtin.pyCheckArgsLen("setblue",arguments.length,2,2),e.blue=Sk.builtin.asnum$(n)};n.set_blue=new Sk.builtin.func(setblue),n.setBlue=new Sk.builtin.func(setblue),n.__getattr__=new Sk.builtin.func((function(e,n){return"red"===(n=Sk.ffi.remapToJs(n))?Sk.builtin.assk$(e.red):"green"===n?Sk.builtin.assk$(e.green):"blue"===n?Sk.builtin.assk$(e.blue):void 0})),n.__setattr__=new Sk.builtin.func((function(e,n,t){"red"!==(n=Sk.ffi.remapToJs(n))&&"green"!==n&&"blue"!==n||(e[n]=Sk.builtin.asnum$(t))}));var setx=function(e,n){Sk.builtin.pyCheckArgsLen("setx",arguments.length,2,2),e.x=Sk.builtin.asnum$(n)};n.set_x=new Sk.builtin.func(setx),n.setX=new Sk.builtin.func(setx);var sety=function(e,n){Sk.builtin.pyCheckArgsLen("sety",arguments.length,2,2),e.y=Sk.builtin.asnum$(n)};n.set_y=new Sk.builtin.func(sety),n.setY=new Sk.builtin.func(sety),n.__getitem__=new Sk.builtin.func((function(e,n){return 0===(n=Sk.builtin.asnum$(n))?e.red:1==n?e.green:2==n?e.blue:void 0})),n.__str__=new Sk.builtin.func((function(e){return Sk.ffi.remapToPy("["+e.red+","+e.green+","+e.blue+"]")})),n.getColorTuple=new Sk.builtin.func((function(e,n,t){})),n.setRange=new Sk.builtin.func((function(e,n){e.max=Sk.builtin.asnum$(n)}))},s.Pixel=Sk.misceval.buildClass(s,t,"Pixel",[]),n=function(e,n){n.__init__=new Sk.builtin.func((function(e,n,t){var i,a,u;Sk.builtin.pyCheckArgsLen("__init__",arguments.length,1,3),void 0===(i=ImageMod.canvasLib[Sk.canvas])?(a=document.createElement("canvas"),u=document.getElementById(Sk.canvas),e.theScreen=a,u.appendChild(a),ImageMod.canvasLib[Sk.canvas]=a,ImageMod.canvasLib[Sk.canvas]=e.theScreen):(e.theScreen=i,e.theScreen.height=e.theScreen.height),void 0!==n?(e.theScreen.height=t.v,e.theScreen.width=n.v):(Sk.availableHeight&&(e.theScreen.height=Sk.availableHeight),Sk.availableWidth&&(e.theScreen.width=Sk.availableWidth)),e.theScreen.style.display="block"})),n.getWin=new Sk.builtin.func((function(e){return e.theScreen})),n.exitonclick=new Sk.builtin.func((function(e){var n=e.theScreen.id;e.theScreen.onclick=function(){document.getElementById(n).style.display="none",document.getElementById(n).onclick=null,delete ImageMod.canvasLib[n]}}))},s.ImageWin=Sk.misceval.buildClass(s,n,"ImageWin",[]),s};',"src/lib/itertools.js":'var $builtinmodule=function(t){var e={};function combinationsNew(t,e,i){let r,s;[r,s]=Sk.abstr.copyKeywordsToNamedArgs(t.tp$name,["iterable","r"],e,i,[]);const n=Sk.misceval.arrayFromIterable(r);if(s=Sk.misceval.asIndexSized(s,Sk.builtin.OverFlowError),s<0)throw new Sk.builtin.ValueError("r must be non-negative");if(this===t)return new t.constructor(n,s);{const e=new this.constructor;return t.constructor.call(e,n,s),e}}return e.accumulate=Sk.abstr.buildIteratorClass("itertools.accumulate",{constructor:function accumulate(t,e,i){this.iter=t,this.func=e,this.total=i,this.tp$iternext=()=>(this.total=Sk.builtin.checkNone(this.total)?this.iter.tp$iternext():this.total,this.tp$iternext=this.constructor.prototype.tp$iternext,this.total)},iternext(t){let e=this.iter.tp$iternext();if(void 0!==e)return this.total=Sk.misceval.callsimArray(this.func,[this.total,e]),this.total},slots:{tp$doc:"accumulate(iterable[, func, initial]) --\\x3e accumulate object\\n\\nReturn series of accumulated sums (or other binary function results).",tp$new(t,i){Sk.abstr.checkArgsLen("accumulate",t,0,2);let[r,s,n]=Sk.abstr.copyKeywordsToNamedArgs("accumulate",["iterable","func","initial"],t,i,[Sk.builtin.none.none$,Sk.builtin.none.none$]);if(r=Sk.abstr.iter(r),s=Sk.builtin.checkNone(s)?new Sk.builtin.func(((t,e)=>Sk.abstr.numberBinOp(t,e,"Add"))):s,this===e.accumulate.prototype)return new e.accumulate(r,s,n);{const t=new this.constructor;return e.accumulate.call(t,r,s,n),t}}}}),e.chain=Sk.abstr.buildIteratorClass("itertools.chain",{constructor:function chain(t){this.iterables=t,this.current_it=null,this.tp$iternext=()=>{if(this.tp$iternext=this.constructor.prototype.tp$iternext,this.current_it=this.iterables.tp$iternext(),void 0!==this.current_it)return this.current_it=Sk.abstr.iter(this.current_it),this.tp$iternext();this.tp$iternext=()=>{}}},iternext(t){let e;for(;void 0===e;){if(e=this.current_it.tp$iternext(),void 0!==e)return e;if(this.current_it=this.iterables.tp$iternext(),void 0===this.current_it)return void(this.tp$iternext=()=>{});this.current_it=Sk.abstr.iter(this.current_it)}},slots:{tp$doc:"chain(*iterables) --\\x3e chain object\\n\\nReturn a chain object whose .__next__() method returns elements from the\\nfirst iterable until it is exhausted, then elements from the next\\niterable, until all of the iterables are exhausted.",tp$new(t,i){if(Sk.abstr.checkNoKwargs("chain",i),t=new Sk.builtin.tuple(t.slice(0)).tp$iter(),this===e.chain.prototype)return new e.chain(t);{const i=new this.constructor;return e.chain.call(i,t),i}}},classmethods:Object.assign({from_iterable:{$meth(t){const i=Sk.abstr.iter(t);return new e.chain(i)},$flags:{OneArg:!0},$doc:"chain.from_iterable(iterable) --\\x3e chain object\\n\\nAlternate chain() constructor taking a single iterable argument\\nthat evaluates lazily.",$textsig:null}},Sk.generic.classGetItem)}),e.combinations=Sk.abstr.buildIteratorClass("itertools.combinations",{constructor:function combinations(t,e){this.pool=t,this.r=e,this.indices=new Array(e).fill().map(((t,e)=>e)),this.n=t.length,this.tp$iternext=()=>{if(!(this.r>this.n))return this.tp$iternext=this.constructor.prototype.tp$iternext,new Sk.builtin.tuple(this.pool.slice(0,this.r))}},iternext(t){let e,i=!1;for(e=this.r-1;e>=0;e--)if(this.indices[e]!=e+this.n-this.r){i=!0;break}if(!i)return void(this.r=0);this.indices[e]++;for(let s=e+1;sthis.pool[t]));return new Sk.builtin.tuple(r)},slots:{tp$doc:"combinations(iterable, r) --\\x3e combinations object\\n\\nReturn successive r-length combinations of elements in the iterable.\\n\\ncombinations(range(4), 3) --\\x3e (0,1,2), (0,1,3), (0,2,3), (1,2,3)",tp$new(t,i){return combinationsNew.call(this,e.combinations.prototype,t,i)}}}),e.combinations_with_replacement=Sk.abstr.buildIteratorClass("itertools.combinations_with_replacement",{constructor:function combinations_with_replacement(t,e){this.pool=t,this.r=e,this.indices=new Array(e).fill(0),this.n=t.length,this.tp$iternext=()=>{if(this.r&&!this.n)return;this.tp$iternext=this.constructor.prototype.tp$iternext;const t=this.indices.map((t=>this.pool[t]));return new Sk.builtin.tuple(t)}},iternext(t){let e,i=!1;for(e=this.r-1;e>=0;e--)if(this.indices[e]!=this.n-1){i=!0;break}if(!i)return void(this.r=0);const r=this.indices[e]+1;for(let n=e;nthis.pool[t]));return new Sk.builtin.tuple(s)},slots:{tp$doc:"combinations_with_replacement(iterable, r) --\\x3e combinations_with_replacement object\\n\\nReturn successive r-length combinations of elements in the iterable\\nallowing individual elements to have successive repeats.\\ncombinations_with_replacement(\'ABC\', 2) --\\x3e AA AB AC BB BC CC",tp$new(t,i){return combinationsNew.call(this,e.combinations_with_replacement.prototype,t,i)}}}),e.compress=Sk.abstr.buildIteratorClass("itertools.compress",{constructor:function compress(t,e){this.data=t,this.selectors=e},iternext(){let t=this.data.tp$iternext(),e=this.selectors.tp$iternext();for(;void 0!==t&&void 0!==e;){if(Sk.misceval.isTrue(e))return t;t=this.data.tp$iternext(),e=this.selectors.tp$iternext()}},slots:{tp$doc:"compress(data, selectors) --\\x3e iterator over selected data\\n\\nReturn data elements corresponding to true selector elements.\\nForms a shorter iterator from selected data elements using the\\nselectors to choose the data elements.",tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("compress",["data","selectors"],t,i,[]),r=Sk.abstr.iter(r),s=Sk.abstr.iter(s),this===e.count.prototype)return new e.compress(r,s);{const t=new this.constructor;return e.compress.call(t,r,s),t}}}}),e.count=Sk.abstr.buildIteratorClass("itertools.count",{constructor:function count(t,e){this.start=t,this.step=e},iternext(){const t=this.start;return this.start=Sk.abstr.numberBinOp(this.start,this.step,"Add"),t},slots:{tp$doc:"count(start=0, step=1) --\\x3e count object\\n\\nReturn a count object whose .__next__() method returns consecutive values.\\nEquivalent to:\\n\\n def count(firstval=0, step=1):\\n x = firstval\\n while 1:\\n yield x\\n x += step\\n",tp$new(t,i){const[r,s]=Sk.abstr.copyKeywordsToNamedArgs("count",["start","step"],t,i,[new Sk.builtin.int_(0),new Sk.builtin.int_(1)]);if(!Sk.builtin.checkNumber(r)&&!Sk.builtin.checkComplex(r))throw new Sk.builtin.TypeError("a number is required");if(!Sk.builtin.checkNumber(s)&&!Sk.builtin.checkComplex(s))throw new Sk.builtin.TypeError("a number is required");if(this===e.count.prototype)return new e.count(r,s);{const t=new this.constructor;return e.count.call(t,r,s),t}},$r(){const t=Sk.misceval.objectRepr(this.start);let e=Sk.misceval.objectRepr(this.step);return e="1"===e?"":", "+e,new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+e+")")}}}),e.cycle=Sk.abstr.buildIteratorClass("itertools.cycle",{constructor:function cycle(t){this.iter=t,this.saved=[],this.consumed=!1,this.i=0,this.length},iternext(){let t;if(!this.consumed){if(t=this.iter.tp$iternext(),void 0!==t)return this.saved.push(t),t;if(this.consumed=!0,this.length=this.saved.length,!this.length)return}return t=this.saved[this.i],this.i=(this.i+1)%this.length,t},slots:{tp$doc:"cycle(iterable) --\\x3e cycle object\\n\\nReturn elements from the iterable until it is exhausted.\\nThen repeat the sequence indefinitely.",tp$new(t,i){Sk.abstr.checkOneArg("cycle",t,i);const r=Sk.abstr.iter(t[0]);if(this===e.cycle.prototype)return new e.cycle(r);{const t=new this.constructor;return e.cycle.call(t,r),t}}}}),e.dropwhile=Sk.abstr.buildIteratorClass("itertools.dropwhile",{constructor:function dropwhile(t,e){this.predicate=t,this.iter=e,this.passed},iternext(){let t=this.iter.tp$iternext();for(;void 0===this.passed&&void 0!==t;){const e=Sk.misceval.callsimArray(this.predicate,[t]);if(!Sk.misceval.isTrue(e))return this.passed=!0,t;t=this.iter.tp$iternext()}return t},slots:{tp$doc:"dropwhile(predicate, iterable) --\\x3e dropwhile object\\n\\nDrop items from the iterable while predicate(item) is true.\\nAfterwards, return every element until the iterable is exhausted.",tp$new(t,i){Sk.abstr.checkNoKwargs("dropwhile",i),Sk.abstr.checkArgsLen("dropwhile",t,2,2);const r=t[0],s=Sk.abstr.iter(t[1]);if(this===e.dropwhile.prototype)return new e.dropwhile(r,s);{const t=new this.constructor;return e.dropwhile.call(t,r,s),t}}}}),e.filterfalse=Sk.abstr.buildIteratorClass("itertools.filterfalse",{constructor:function filterfalse(t,e){this.predicate=t,this.iter=e},iternext(t){let e=this.iter.tp$iternext();if(void 0===e)return;let i=Sk.misceval.callsimArray(this.predicate,[e]);for(;Sk.misceval.isTrue(i);){if(e=this.iter.tp$iternext(),void 0===e)return;i=Sk.misceval.callsimArray(this.predicate,[e])}return e},slots:{tp$doc:"filterfalse(function or None, sequence) --\\x3e filterfalse object\\n\\nReturn those items of sequence for which function(item) is false.\\nIf function is None, return the items that are false.",tp$new(t,i){Sk.abstr.checkNoKwargs("filterfalse",i),Sk.abstr.checkArgsLen("filterfalse",t,2,2);const r=Sk.builtin.checkNone(t[0])?Sk.builtin.bool:t[0],s=Sk.abstr.iter(t[1]);if(this===e.filterfalse.prototype)return new e.filterfalse(r,s);{const t=new this.constructor;return e.filterfalse.call(t,r,s),t}}}}),e._grouper=Sk.abstr.buildIteratorClass("itertools._grouper",{constructor:function _grouper(t,e){this.groupby=t,this.tgtkey=t.tgtkey,this.id=t.id},iternext(t){const e=Sk.misceval.richCompareBool(this.groupby.currkey,this.tgtkey,"Eq");if(this.groupby.id===this.id&&e){let t=this.groupby.currval;return this.groupby.currval=this.groupby.iter.tp$iternext(),void 0!==this.groupby.currval&&(this.groupby.currkey=Sk.misceval.callsimArray(this.groupby.keyf,[this.groupby.currval])),t}}}),e.groupby=Sk.abstr.buildIteratorClass("itertools.groupby",{constructor:function groupby(t,e){this.iter=t,this.keyf=e,this.currval,this.currkey=this.tgtkey=new Sk.builtin.object,this.id},iternext(t){this.id=new Object;let i=Sk.misceval.richCompareBool(this.currkey,this.tgtkey,"Eq");for(;i;){if(this.currval=this.iter.tp$iternext(),void 0===this.currval)return;this.currkey=Sk.misceval.callsimArray(this.keyf,[this.currval]),i=Sk.misceval.richCompareBool(this.currkey,this.tgtkey,"Eq")}this.tgtkey=this.currkey;const r=new e._grouper(this);return new Sk.builtin.tuple([this.currkey,r])},slots:{tp$doc:"groupby(iterable, key=None) -> make an iterator that returns consecutive\\nkeys and groups from the iterable. If the key function is not specified or\\nis None, the element itself is used for grouping.\\n",tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("groupby",["iterable","key"],t,i,[Sk.builtin.none.none$]),r=Sk.abstr.iter(r),s=Sk.builtin.checkNone(s)?new Sk.builtin.func((t=>t)):s,this===e.groupby.prototype)return new e.groupby(r,s);{const t=new this.constructor;return e.groupby.call(t,r,s),t}}}}),e.islice=Sk.abstr.buildIteratorClass("itertools.islice",{constructor:function islice(t,e,i,r){this.iter=t,this.previt=e,this.stop=i,this.step=r,this.tp$iternext=()=>{if(this.tp$iternext=this.constructor.prototype.tp$iternext,!(this.previt>=this.stop)){for(let t=0;t=this.stop)){for(let t=this.previt+1;tNumber.MAX_SAFE_INTEGER)throw new Sk.builtin.ValueError("Stop for islice() must be None or an integer: 0 <= x <= sys.maxsize.");if(!Sk.builtin.checkNone(s)&&!Sk.misceval.isIndex(s))throw new Sk.builtin.ValueError("Indices for islice() must be None or an integer: 0 <= x <= sys.maxsize.");if(s=Sk.builtin.checkNone(s)?0:Sk.misceval.asIndexSized(s),s<0||s>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.ValueError("Indices for islice() must be None or an integer: 0 <= x <= sys.maxsize.");if(!Sk.builtin.checkNone(o)&&!Sk.misceval.isIndex(o))throw new Sk.builtin.ValueError("Step for islice() must be a positive integer or None");if(o=Sk.builtin.checkNone(o)?1:Sk.misceval.asIndexSized(o),o<=0||o>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.ValueError("Step for islice() must be a positive integer or None.");if(this===e.islice.prototype)return new e.islice(r,s,n,o);{const t=new this.constructor;return e.islice.call(t,r,s,n,o),t}}}}),e.permutations=Sk.abstr.buildIteratorClass("itertools.permutations",{constructor:function permutations(t,e){this.pool=t,this.r=e;const i=t.length;this.indices=new Array(i).fill().map(((t,e)=>e)),this.cycles=new Array(e).fill().map(((t,e)=>i-e)),this.n=i,this.tp$iternext=()=>{if(!(this.r>this.n))return this.tp$iternext=this.constructor.prototype.tp$iternext,new Sk.builtin.tuple(this.pool.slice(0,this.r))}},iternext(t){for(let e=this.r-1;e>=0;e--){if(this.cycles[e]--,0!=this.cycles[e]){const t=this.cycles[e];[this.indices[e],this.indices[this.n-t]]=[this.indices[this.n-t],this.indices[e]];const i=this.indices.map((t=>this.pool[t])).slice(0,this.r);return new Sk.builtin.tuple(i)}this.indices.push(this.indices.splice(e,1)[0]),this.cycles[e]=this.n-e}this.r=0},slots:{tp$doc:"permutations(iterable[, r]) --\\x3e permutations object\\n\\nReturn successive r-length permutations of elements in the iterable.\\n\\npermutations(range(3), 2) --\\x3e (0,1), (0,2), (1,0), (1,2), (2,0), (2,1)",tp$new(t,i){let r,s;[r,s]=Sk.abstr.copyKeywordsToNamedArgs("permutations",["iterable","r"],t,i,[Sk.builtin.none.none$]);const n=Sk.misceval.arrayFromIterable(r);if(s=Sk.builtin.checkNone(s)?n.length:Sk.misceval.asIndexSized(s,Sk.builtin.OverFlowError),s<0)throw new Sk.builtin.ValueError("r must be non-negative");if(this===e.permutations.prototype)return new e.permutations(n,s);{const t=new this.constructor;return e.permutations.call(t,n,s),t}}}}),e.product=Sk.abstr.buildIteratorClass("itertools.product",{constructor:function product(t){this.pools=t,this.n=t.length,this.indices=Array(t.length).fill(0),this.pool_sizes=t.map((t=>t.length)),this.tp$iternext=()=>{this.tp$iternext=this.constructor.prototype.tp$iternext;const t=this.indices.map(((t,e)=>this.pools[e][this.indices[e]]));if(!t.some((t=>void 0===t)))return new Sk.builtin.tuple(t);this.n=0}},iternext(t){let e=this.n-1;for(;e>=0&&e=this.pool_sizes[e]?(this.indices[e]=-1,e--):e++;if(this.n&&!this.indices.every((t=>-1===t))){const t=this.indices.map(((t,e)=>this.pools[e][this.indices[e]]));return new Sk.builtin.tuple(t)}this.n=0},slots:{tp$doc:"product(*iterables, repeat=1) --\\x3e product object\\n\\nCartesian product of input iterables. Equivalent to nested for-loops.\\n\\nFor example, product(A, B) returns the same as: ((x,y) for x in A for y in B).\\nThe leftmost iterators are in the outermost for-loop, so the output tuples\\ncycle in a manner similar to an odometer (with the rightmost element changing\\non every iteration).\\n\\nTo compute the product of an iterable with itself, specify the number\\nof repetitions with the optional repeat keyword argument. For example,\\nproduct(A, repeat=4) means the same as product(A, A, A, A).\\n\\nproduct(\'ab\', range(3)) --\\x3e (\'a\',0) (\'a\',1) (\'a\',2) (\'b\',0) (\'b\',1) (\'b\',2)\\nproduct((0,1), (0,1), (0,1)) --\\x3e (0,0,0) (0,0,1) (0,1,0) (0,1,1) (1,0,0) ...",tp$new(t,i){let[r]=Sk.abstr.copyKeywordsToNamedArgs("product",["repeat"],[],i,[new Sk.builtin.int_(1)]);if(r=Sk.misceval.asIndexSized(r,Sk.builtin.OverFlowError),r<0)throw new Sk.builtin.ValueError("repeat argument cannot be negative");const s=[];for(let e=0;ethis.object)},iternext(t){return this.times-- >0?this.object:void 0},slots:{tp$doc:"repeat(object [,times]) -> create an iterator which returns the object\\nfor the specified number of times. If not specified, returns the object\\nendlessly.",tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("repeat",["object","times"],t,i,[null]),s=null!==s?Sk.misceval.asIndexSized(s,Sk.builtin.OverFlowError):void 0,this===e.repeat.prototype)return new e.repeat(r,s);{const t=new this.constructor;return e.repeat.call(t,r,s),t}},$r(){const t=Sk.misceval.objectRepr(this.object),e=void 0===this.times?"":", "+(this.times>=0?this.times:0);return new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+e+")")}},methods:{__lenght_hint__:{$meth(){if(void 0===this.times)throw new Sk.builtin.TypeError("len() of unsized object");return new Sk.builtin.int_(this.times)},$flags:{NoArgs:!0},$textsig:null}}}),e.starmap=Sk.abstr.buildIteratorClass("itertools.starmap",{constructor:function starmap(t,e){this.func=t,this.iter=e},iternext(t){const e=this.iter.tp$iternext();if(void 0===e)return;const i=Sk.misceval.arrayFromIterable(e);return Sk.misceval.callsimArray(this.func,i)},slots:{tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("starmap",["func","iterable"],t,i,[]),s=Sk.abstr.iter(s),r=Sk.builtin.checkNone(r)?Sk.builtin.bool:r,this===e.starmap.prototype)return new e.starmap(r,s);{const t=new this.constructor;return e.starmap.call(t,r,s),t}}}}),e.takewhile=Sk.abstr.buildIteratorClass("itertools.takewhile",{constructor:function takewhile(t,e){this.predicate=t,this.iter=e},iternext(){const t=this.iter.tp$iternext();if(void 0!==t){const e=Sk.misceval.callsimArray(this.predicate,[t]);if(Sk.misceval.isTrue(e))return t;this.tp$iternext=()=>{}}},slots:{tp$doc:"takewhile(predicate, iterable) --\\x3e takewhile object\\n\\nReturn successive entries from an iterable as long as the \\npredicate evaluates to true for each entry.",tp$new(t,i){Sk.abstr.checkNoKwargs("takewhile",i),Sk.abstr.checkArgsLen("takewhile",t,2,2);const r=t[0],s=Sk.abstr.iter(t[1]);if(this===e.takewhile.prototype)return new e.takewhile(r,s);{const t=new this.constructor;return e.takewhile.call(t,r,s),t}}}}),e.tee=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("tee is not yet implemented in Skulpt")})),e.zip_longest=Sk.abstr.buildIteratorClass("itertools.zip_longest",{constructor:function zip_longest(t,e){this.iters=t,this.fillvalue=e,this.active=this.iters.length},iternext(t){if(!this.active)return;let i;const r=[];for(let s=0;s{throw new a(e+" is not yet implemented in skulpt")}))}const j=E.JSONDecodeError=N("json.JSONDecodeError",{base:l,constructor:function JSONDecodeError(e,t,n){const r=t.slice(0,n),o=r.split("\\n").length,s=n-r.lastIndexOf("\\n"),i=`${e}: line ${o} column ${s} (char ${n})`;l.call(this,i),this.$msg=e,this.$doc=t,this.$pos=n,this.$lineno=o,this.$colno=s},getsets:Object.fromEntries(["msg","doc","pos","lineno","colno"].map((e=>[e,{$get(){return g(this["$"+e])}}])))});class JSONEncoder{constructor(e,t,n,r,o,s,i,l){this.skipkeys=e,this.ensure_ascii=t,this.check_circular=n,this.allow_nan=r,this.indent=o,this.separators=s,this.sort_keys=l,this.item_separator=", ",this.key_separator=": ",null!==this.separators?[this.item_separator,this.key_separator]=this.separators:null!==this.indent&&(this.item_separator=","),null!==i&&(this.default=i),this.encoder=this.make_encoder()}default(e){throw new i(`Object of type ${y(e)} is not JSON serializable`)}encode(t){return new e(this.encoder(t))}make_encoder(){let e,t;e=this.check_circular?new Set:null,t=(this.ensure_ascii,JSON.stringify);return function _make_iterencode(e,t,n,r,s,a,u,h,d){null!==r&&"string"!=typeof r&&(r=" ".repeat(r));let f,p,g,w;null!==e?(f=t=>{if(e.has(t))throw new l("Circular reference detected");e.add(t)},p=t=>e.delete(t)):(f=e=>{},p=e=>{});null!==r?(g=(e,t)=>{t+=1;const n="\\n"+r.repeat(t);return[e+=n,t,u+n]},w=(e,t,n)=>(n-=1,e+="\\n"+r.repeat(n)+t)):(g=(e,t)=>[e,t,u],w=(e,t,n)=>e+t);const _unhandled=(e,n)=>{f(e);const r=_iterencode(t(e),n);return p(e),r},_iterencode_list=(e,t)=>{if(!e.length)return"[]";let n,r;f(e),[n,t,r]=g("[",t);let o=!0;for(let s of e)o?o=!1:n+=r,n+=_iterencode(s,t);return p(e),w(n,"]",t)},_iterencode_dict=(e,t)=>{if(!e.sq$length())return"{}";let r,l;f(e),[r,t,l]=g("{",t);let u=!0;if(h){const t=$(e.tp$getattr(v)),n=c(t);e=$(o,[n])}for(let[o,c]of e.$items()){const e=o.valueOf(),h=typeof e;if("string"===h)o=e;else if("number"===h)o=s(o);else if("boolean"===h||null===e)o=String(e);else{if(!JSBI.__isBigInt(e)){if(d)continue;throw new i("keys must be str, int, float, bool or None, not "+y(o))}o=e.toString()}u?u=!1:r+=l,r+=n(o),r+=a,r+=_iterencode(c,t)}return p(e),w(r,"}",t)},_iterencode=(e,t=0)=>String(m(e,{stringHook:e=>n(e),numberHook:(e,t)=>s(t),bigintHook:e=>e.toString(),dictHook:e=>_iterencode_dict(e,t),arrayHook:e=>_iterencode_list(e,t),setHook:e=>_unhandled(e,t),funcHook:(e,n)=>_unhandled(n,t),objecthook:(e,n)=>_unhandled(n,t),unhandledHook:e=>_unhandled(e,t)}));return _iterencode}(e,this.default,t,this.indent,((e,t=this.allow_nan)=>{const n=e.valueOf();let r;if(Number.isFinite(n))return J(e);if(r=n.toString(),!t)throw new l("Out of range float values are not JSON compliant: "+J(e));return r}),this.key_separator,this.item_separator,this.sort_keys,this.skipkeys)}}const v=new e("items");const x=[!1,!0,!0,!0,null,null,null,!1],D=new JSONEncoder(...x),F=/(-?(?:0|[1-9]\\d*))(\\.\\d+)?([eE][-+]?\\d+)?/;const I=/"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"/m;function scanstring(t,n){const r=t.substring(n-1).match(I);if(null===r)throw new j("Unterminated string starting at",t,n-1);try{return[new e(JSON.parse(r[0])),n+r[0].length-1]}catch(o){let e=o.message.match(/(?:column|position) (\\d+)/);e=e&&Number(e[1]);n=n+(e||0)-(void 0===o.columnNumber?1:2);const r=o.message.replace("JSON.parse: ","").replace(/ at line \\d+ column \\d+ of the JSON data/,"").replace(/ in JSON at position \\d+$/,"");throw new j(r,t,n)}}const A=/[ \\t\\n\\r]*/;function JSONArray(e,t,r){const o=[];let s=e[t];const adjust_white_space=()=>{if(" "===s||"\\t"===s||"\\n"===s||"\\r"===s){const n=e.substring(t).match(A);t+=n[0].length,s=e[t]}};if(adjust_white_space(),"]"===s)return[new n([]),t+1];for(;;){let n;if([n,t]=r(e,t),void 0===n)throw new j("Expecting value",e,t);if(o.push(n),s=e[t],adjust_white_space(),t++,"]"===s)break;if(","!==s)throw new j("Expecting \',\' delimiter",e,t-1);s=e[t],adjust_white_space()}return[new n(o),t]}function JSONObject(e,t,s,i,l){let a=[],c=e[t];const adjust_white_space=()=>{if(" "===c||"\\t"===c||"\\n"===c||"\\r"===c){const n=e.substring(t).match(A);t+=n[0].length,c=e[t]}};if(\'"\'!==c){if(adjust_white_space(),"}"===c){if(null!==l){return[l(new n([])),t+1]}return a=new o([]),null!==i&&(a=i(a)),[a,t+1]}if(\'"\'!==c)throw new j("Expecting property name enclosed in double quotes",e,t)}let u,h;for(t+=1;;){if([u,t]=scanstring(e,t),":"!==(c=e[t])&&(adjust_white_space(),":"!==e[t]))throw new j("Expecting \':\' delimiter",e,t);if(c=e[++t],adjust_white_space(),[h,t]=s(e,t),void 0===h)throw new j("Expecting value",e,t);if(c=e[t],a.push([u,h]),adjust_white_space(),t++,"}"===c)break;if(","!==c)throw new j("Expecting \',\' delimiter",e,t-1);if(c=e[t],adjust_white_space(),t++,\'"\'!==c)throw new j("Expecting property name enclosed in double quotes",e,t-1)}if(null!==l){return[l(new n(a.map((e=>new r(e))))),t]}return a=new o(a.flat()),null!==i&&(a=i(a)),[a,t]}const H={NaN:new t(NaN),Infinity:new t(1/0),"-Infinity":new t(-1/0)};class JSONDecoder{constructor(e,t,n,r,o){this.object_hook=e,this.parse_float=t||w,this.parse_int=n||_,this.parse_constant=r||(e=>H[e]),this.object_pairs_hook=o,this.parse_object=JSONObject,this.parse_array=JSONArray,this.parse_string=scanstring,this.scan_once=function make_scanner(e){const{parse_object:t,parse_array:n,parse_string:r,parse_float:o,parse_int:s,parse_constant:i,object_hook:l,object_pairs_hook:a}=e,scan_once=(e,c)=>{const f=e[c];if(void 0===f)return[f,c];if(\'"\'===f)return r(e,c+1);if("{"===f)return t(e,c+1,scan_once,l,a);if("["===f)return n(e,c+1,scan_once);if("n"===f&&"null"===e.substring(c,c+4))return[u,c+4];if("t"===f&&"true"===e.substring(c,c+4))return[h,c+4];if("f"===f&&"false"===e.substring(c,c+5))return[d,c+5];const p=e.substring(c).match(F);if(null!==p){let e;const[t,n,r,i]=p;return e=r||i?o(n+(r||"")+(i||"")):s(n),[e,c+t.length]}return"N"===f&&"NaN"===e.substring(c,c+3)?[i("NaN"),c+3]:"I"==f&&"Infinity"===e.substring(c,c+8)?[i("Infinity"),c+8]:"-"==f&&"-Infinity"===e.substring(c,c+9)?[i("-Infinity"),c+9]:[void 0,c]};return scan_once}(this)}white(e,t){const n=(0===t?e:e.substring(t)).match(A);return null!==n&&(t+=n[0].length),t}decode(e){e=e.toString();let[t,n]=this.scan_once(e,this.white(e,0));if(void 0===t)throw new j("Expecting value",e,n);if(n=this.white(e,n),n!==e.length)throw new j("Extra data",e,n);return t}}const T=Array(5).fill(null),C=new JSONDecoder(...T);function convertToNullOrFunc(e){return null===e||e===u?null:t=>$(e,[g(t)])}return k("json",E,{loads:{$meth(e,t){O("dumps",e);let n=e[0];if(f(n));else{if(!p(n))throw new i(`the JSON object must be str or bytes, not ${y(n)}`);n=(new TextDecoder).decode(n.valueOf())}const r=S("dumps",["object_hook","parse_float","parse_int","parse_constant","object_pairs_hook"],[],t,T).map(convertToNullOrFunc);return r.every((e=>null===e))?C.decode(n):new JSONDecoder(...r).decode(n)},$doc:"Deserialize ``s`` (a ``str`` or ``bytes`` instance containing a JSON document) to a Python object.",$flags:{FastCall:!0}},dumps:{$meth(e,t){O("dumps",e);const n=e[0];let[r,o,s,l,a,c,u,h]=S("loads",["skipkeys","ensure_ascii","check_circular","allow_nan","indent","separators","default","sort_keys"],[],t,x);if(r=b(r),o=b(o),s=b(s),l=b(l),a=m(a),c=m(c),u=convertToNullOrFunc(u),h=b(h),!r&&o&&s&&l&&null===a&&null===c&&null===u&&!h)return D.encode(n);if(null===c);else if(!Array.isArray(c)||2!==c.length||"string"!=typeof c[0]||"string"!=typeof c[1])throw new i("separators shuld be a list or tuple of strings of length 2");return new JSONEncoder(r,o,s,l,a,c,u,h).encode(n)},$doc:"Serialize ``obj`` to a JSON formatted ``str``",$flags:{FastCall:!0}}}),E}',"src/lib/keyword.js":'function $builtinmodule(){const{ffi:{remapToPy:t},builtin:{frozenset:e,str:s}}=Sk,i=new s("keyword"),n=t(["iskeyword","issoftkeyword","kwlist","softkwlist"]),o=t(["False","None","True","and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield"]),a=t(["_","case","match"]);return{__name__:i,__all__:n,kwlist:o,softkwlist:a,iskeyword:new e(o).tp$getattr(s.$contains),issoftkeyword:new e(a).tp$getattr(s.$contains)}}',"src/lib/math.js":'const $builtinmodule=function(e){const{builtin:{str:t,int_:n,float_:i,TypeError:r,pyCheckType:u,checkNumber:l},abstr:{lookupSpecial:o},misceval:{callsimOrSuspendArray:a}}=Sk,s={pi:new Sk.builtin.float_(Math.PI),e:new Sk.builtin.float_(Math.E),tau:new Sk.builtin.float_(2*Math.PI),nan:new Sk.builtin.float_(NaN),inf:new Sk.builtin.float_(1/0)},b=new t("__ceil__");const get_sign=function(e){return e=e?e<0?-1:1:1/e<0?-1:1};const c=18;function factorial(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let t=Sk.builtin.asnum$(e);if((e=Math.floor(t))!=t)throw new Sk.builtin.ValueError("factorial() only accepts integral values");if(e<0)throw new Sk.builtin.ValueError("factorial() not defined for negative numbers");let n=1;for(let i=2;i<=e&&i<=c;i++)n*=i;if(e<=c)return new Sk.builtin.int_(n);n=JSBI.BigInt(n);for(let i=c+1;i<=e;i++)n=JSBI.multiply(n,JSBI.BigInt(i));return new Sk.builtin.int_(n)}const m=new t("__floor__");function _gcd_internal(e,t){let n;return"number"==typeof e&&"number"==typeof t?(n=function _gcd(e,t){return 0==t?e:_gcd(t,e%t)}(e=Math.abs(e),t=Math.abs(t)),n=n<0?-n:n):(n=function _biggcd(e,t){return JSBI.equal(t,JSBI.__ZERO)?e:_biggcd(t,JSBI.remainder(e,t))}(e=JSBI.BigInt(e),t=JSBI.BigInt(t)),JSBI.lessThan(n,JSBI.__ZERO)&&(n=JSBI.multiply(n,JSBI.BigInt(-1)))),n}return Sk.abstr.setUpModuleMethods("math",s,{acos:{$meth:function acos(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.acos(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the arc cosine (measured in radians) of x."},acosh:{$meth:function acosh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=(e=Sk.builtin.asnum$(e))+Math.sqrt(e*e-1);return new Sk.builtin.float_(Math.log(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the inverse hyperbolic cosine of x."},asin:{$meth:function asin(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.asin(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the arc sine (measured in radians) of x."},asinh:{$meth:function asinh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=(e=Sk.builtin.asnum$(e))+Math.sqrt(e*e+1);return new Sk.builtin.float_(Math.log(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the inverse hyperbolic sine of x."},atan:{$meth:function atan(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.atan(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the arc tangent (measured in radians) of x."},atan2:{$meth:function atan2(e,t){return Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(t)),new Sk.builtin.float_(Math.atan2(Sk.builtin.asnum$(e),Sk.builtin.asnum$(t)))},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, y, x, /)",$doc:"Return the arc tangent (measured in radians) of y/x.\\n\\nUnlike atan(y/x), the signs of both x and y are considered."},atanh:{$meth:function atanh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=(1+(e=Sk.builtin.asnum$(e)))/(1-e);return new Sk.builtin.float_(Math.log(t)/2)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the inverse hyperbolic tangent of x."},ceil:{$meth:function ceil(e){let t;if(e.ob$type!==i){const n=o(e,b);if(void 0!==n)return a(n);u("","real number",l(e)),t=Sk.builtin.asnum$(e)}else t=e.v;return new n(Math.ceil(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the ceiling of x as an Integral.\\n\\nThis is the smallest integer >= x."},comb:{$meth:function comb(e,t){let n=Sk.misceval.asIndexOrThrow(e),i=Sk.misceval.asIndexOrThrow(t);if(n<0)throw new Sk.builtin.ValueError("n must be an non-negative integer");if(i<0)throw new Sk.builtin.ValueError("k must be a non-negative integer");if(i>e)return new Sk.builtin.int_(0);e=new Sk.builtin.int_(n),t=new Sk.builtin.int_(i);let r=Sk.ffi.remapToJs(e.nb$subtract(t));if(rNumber.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError("min(n - k, k) must not exceed "+Number.MAX_SAFE_INTEGER);const u=new Sk.builtin.int_(1);let l=e;for(let o=1;o n.\\n\\nIf k is not specified or is None, then k defaults to n\\nand the function returns n!.\\n\\nRaises TypeError if either of the arguments are not integers.\\nRaises ValueError if either of the arguments are negative."},copysign:{$meth:function copysign(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));const n=Sk.builtin.asnum$(t),i=Sk.builtin.asnum$(e),r=get_sign(i)*get_sign(n);return new Sk.builtin.float_(i*r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return a float with the magnitude (absolute value) of x but the sign of y.\\n\\nOn platforms that support signed zeros, copysign(1.0, -0.0)\\nreturns -1.0.\\n"},cos:{$meth:function cos(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.cos(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the cosine of x (measured in radians)."},cosh:{$meth:function cosh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),e=Sk.builtin.asnum$(e);const t=Math.E,n=Math.pow(t,e),i=(n+1/n)/2;return new Sk.builtin.float_(i)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the hyperbolic cosine of x."},degrees:{$meth:function degrees(e){Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e));const t=180/Math.PI*Sk.builtin.asnum$(e);return new Sk.builtin.float_(t)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Convert angle x from radians to degrees."},erf:{$meth:function erf(e){throw new Sk.builtin.NotImplementedError("math.erf() is not yet implemented in Skulpt")},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Error function at x."},erfc:{$meth:function erfc(e){throw new Sk.builtin.NotImplementedError("math.erfc() is not yet implemented in Skulpt")},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Complementary error function at x."},exp:{$meth:function exp(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let t=e.v;if("number"!=typeof t&&(t=e.nb$float().v),t==1/0||t==-1/0||isNaN(t))return new Sk.builtin.float_(Math.exp(t));const n=Math.exp(t);if(!isFinite(n))throw new Sk.builtin.OverflowError("math range error");return new Sk.builtin.float_(n)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return e raised to the power of x."},expm1:{$meth:function expm1(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e);if(Math.abs(t)<.7){const e=Math.exp(t);if(1==e)return new Sk.builtin.float_(t);{const n=(e-1)*t/Math.log(e);return new Sk.builtin.float_(n)}}{const e=Math.exp(t)-1;return new Sk.builtin.float_(e)}},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return exp(x)-1.\\n\\nThis function avoids the loss of precision involved in the direct evaluation of exp(x)-1 for small x."},fabs:{$meth:function fabs(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let t=e.v;return JSBI.__isBigInt(t)&&(t=e.nb$float().v),t=Math.abs(t),new Sk.builtin.float_(t)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the absolute value of the float x."},factorial:{$meth:factorial,$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Find x!.\\n\\nRaise a ValueError if x is negative or non-integral."},floor:{$meth:function floor(e){let t;if(e.ob$type===i)t=e.v;else{const n=o(e,m);if(void 0!==n)return a(n);u("x","number",l(e)),t=Sk.builtin.asnum$(e)}return new n(Math.floor(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the floor of x as an Integral.\\n\\nThis is the largest integer <= x."},fmod:{$meth:function fmod(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));let n=e.v,i=t.v;if("number"!=typeof n&&(n=e.nb$float().v),"number"!=typeof i&&(i=t.nb$float().v),(i==1/0||i==-1/0)&&isFinite(n))return new Sk.builtin.float_(n);const r=n%i;if(isNaN(r)&&!isNaN(n)&&!isNaN(i))throw new Sk.builtin.ValueError("math domain error");return new Sk.builtin.float_(r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return fmod(x, y), according to platform C.\\n\\nx % y may differ."},frexp:{$meth:function frexp(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e),n=[t,0];if(0!==t&&Number.isFinite(t)){const e=Math.abs(t);let i=Math.max(-1023,Math.floor(Math.log2(e))+1),r=e*Math.pow(2,-i);for(;r<.5;)r*=2,i--;for(;r>=1;)r*=.5,i++;t<0&&(r=-r),n[0]=r,n[1]=i}return n[0]=new Sk.builtin.float_(n[0]),n[1]=new Sk.builtin.int_(n[1]),new Sk.builtin.tuple(n)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the mantissa and exponent of x, as pair (m, e).\\n\\nm is a float and e is an int, such that x = m * 2.**e.\\nIf x is 0, m and e are both 0. Else 0.5 <= abs(m) < 1.0."},fsum:{$meth:function fsum(e){if(!Sk.builtin.checkIterable(e))throw new Sk.builtin.TypeError("\'"+Sk.abstr.typeName(e)+"\' object is not iterable");let t,n,i,r=[];for(let l=(e=Sk.abstr.iter(e)).tp$iternext();void 0!==l;l=e.tp$iternext()){Sk.builtin.pyCheckType("","real number",Sk.builtin.checkNumber(l)),t=0;let e=l.v;"number"!=typeof e&&(e=l.nb$float().v),l=e;for(let u=0,o=r.length;u0;){n--;let t=a;a=JSBI.signedRightShift(u,JSBI.BigInt(n));const r=JSBI.subtract(JSBI.subtract(a,t),i),s=JSBI.leftShift(o,r),b=JSBI.add(JSBI.subtract(JSBI.subtract(l,t),a),i),c=JSBI.signedRightShift(e,b);o=JSBI.add(s,JSBI.divide(c,o))}let s=o;return JSBI.greaterThan(JSBI.multiply(s,s),e)&&(s=JSBI.subtract(s,i)),JSBI.lessThanOrEqual(s,JSBI.BigInt(Number.MAX_SAFE_INTEGER))&&(s=Number(s)),new Sk.builtin.int_(s)}(t)},$flags:{OneArg:!0},$textsig:"($module, n, /)",$doc:"Return the integer part of the square root of the input."},lcm:{$meth:function lcm(...e){function abs(e){return"number"==typeof e?new Sk.builtin.int_(Math.abs(e)):JSBI.lessThan(e,JSBI.__ZERO)?new Sk.builtin.int_(JSBI.unaryMinus(e)):new Sk.builtin.int_(e)}const t=e.length;if(0===t)return new Sk.builtin.int_(1);let n;for(n=0;nNumber.MAX_SAFE_INTEGER?JSBI.BigInt(r):e}else r=JSBI.BigInt(r);"number"!=typeof r&&(i=JSBI.BigInt(i),r=JSBI.multiply(JSBI.divide(r,_gcd_internal(r,i)),i))}return abs(r)},$flags:{MinArgs:0},$textsig:"($module, *integers, /)",$doc:"Return the least common multiple of the specified integer arguments. If all arguments are nonzero, then the returned value is the smallest positive integer that is a multiple of all arguments. If any of the arguments is zero, then the returned value is 0. lcm() without arguments returns 1."},ldexp:{$meth:function ldexp(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("i","integer",Sk.builtin.checkInt(t));let n=e.v;"number"!=typeof n&&(n=e.nb$float().v);const i=Sk.builtin.asnum$(t);if(n==1/0||n==-1/0||0==n||isNaN(n))return new Sk.builtin.float_(n);const r=n*Math.pow(2,i);if(!isFinite(r))throw new Sk.builtin.OverflowError("math range error");return new Sk.builtin.float_(r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, i, /)",$doc:"Return x * (2**i).\\n\\nThis is essentially the inverse of frexp()."},lgamma:{$meth:function lgamma(e){throw new Sk.builtin.NotImplementedError("math.lgamma() is not yet implemented in Skulpt")},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Natural logarithm of absolute value of Gamma function at x."},log:{$meth:function log(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let n,i,r=Sk.builtin.asnum$(e);if(r<=0)throw new Sk.builtin.ValueError("math domain error");if(void 0===t?n=Math.E:(Sk.builtin.pyCheckType("base","number",Sk.builtin.checkNumber(t)),n=Sk.builtin.asnum$(t)),n<=0)throw new Sk.builtin.ValueError("math domain error");if(Sk.builtin.checkFloat(e)||re)return new Sk.builtin.int_(0);if(0===t)return new Sk.builtin.int_(1);if(t>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError("k must not exceed "+Number.MAX_SAFE_INTEGER);const n=new Sk.builtin.int_(1);let i=e=new Sk.builtin.int_(e);for(let r=1;r n.\\n\\nIf k is not specified or is None, then k defaults to n\\nand the function returns n!.\\n\\nRaises TypeError if either of the arguments are not integers.\\nRaises ValueError if either of the arguments are negative.\'"},prod:{$meth:function prod(e,t){Sk.abstr.checkArgsLen("prod",e,1,1),e=Sk.abstr.copyKeywordsToNamedArgs("prod",[null,"start"],e,t,[new Sk.builtin.int_(1)]);const n=Sk.abstr.iter(e[0]);let i,r=e[1];return i=r.constructor===Sk.builtin.int_?function fastProdInt(){return Sk.misceval.iterFor(n,(e=>{if(e.constructor!==Sk.builtin.int_)return e.constructor===Sk.builtin.float_?(r=r.nb$float().nb$multiply(e),new Sk.misceval.Break("float")):(r=Sk.abstr.numberBinOp(r,e,"Mult"),new Sk.misceval.Break("slow"));r=r.nb$multiply(e)}))}():r.constructor===Sk.builtin.float_?"float":"slow",Sk.misceval.chain(i,(e=>"float"===e?function fastProdFloat(){return Sk.misceval.iterFor(n,(e=>{if(e.constructor!==Sk.builtin.float_&&e.constructor!==Sk.builtin.int_)return r=Sk.abstr.numberBinOp(r,e,"Mult"),new Sk.misceval.Break("slow");r=r.nb$multiply(e)}))}():e),(e=>{if("slow"===e)return function slowProd(){return Sk.misceval.iterFor(n,(e=>{r=Sk.abstr.numberBinOp(r,e,"Mult")}))}()}),(()=>r))},$flags:{FastCall:!0},$textsig:"($module, iterable, /, *, start=1)",$doc:"Calculate the product of all the elements in the input iterable. The default start value for the product is 1.\\n\\nWhen the iterable is empty, return the start value. This function is intended specifically for use with numeric values and may reject non-numeric types."},pow:{$meth:function pow(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));let n=e.v,i=t.v;if("number"!=typeof n&&(n=e.nb$float().v),"number"!=typeof i&&(i=t.nb$float().v),0==n&&i<0)throw new Sk.builtin.ValueError("math domain error");if(1==n)return new Sk.builtin.float_(1);if(Number.isFinite(n)&&Number.isFinite(i)&&n<0&&!Number.isInteger(i))throw new Sk.builtin.ValueError("math domain error");if(-1==n&&(i==-1/0||i==1/0))return new Sk.builtin.float_(1);const r=Math.pow(n,i);if(!Number.isFinite(n)||!Number.isFinite(i))return new Sk.builtin.float_(r);if(r==1/0||r==-1/0)throw new Sk.builtin.OverflowError("math range error");return new Sk.builtin.float_(r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return x**y (x to the power of y)."},radians:{$meth:function radians(e){Sk.builtin.pyCheckType("deg","number",Sk.builtin.checkNumber(e));const t=Math.PI/180*Sk.builtin.asnum$(e);return new Sk.builtin.float_(t)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Convert angle x from degrees to radians."},remainder:{$meth:function remainder(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));let n=e.v,i=t.v;if("number"!=typeof n&&(n=e.nb$float().v),"number"!=typeof i&&(i=t.nb$float().v),isFinite(n)&&isFinite(i)){let e,t,r,u,l;if(0==i)throw new Sk.builtin.ValueError("math domain error");if(e=Math.abs(n),t=Math.abs(i),u=e%t,r=t-u,ur)l=-r;else{if(u!=r)throw new Sk.builtin.AssertionError;l=u-.5*(e-u)%t*2}return new Sk.builtin.float_(get_sign(n)*l)}if(isNaN(n))return e;if(isNaN(i))return t;if(n==1/0||n==-1/0)throw new Sk.builtin.ValueError("math domain error");if(i!=1/0&&i!=-1/0)throw new Sk.builtin.AssertionError;return new Sk.builtin.float_(n)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Difference between x and the closest integer multiple of y.\\n\\nReturn x - n*y where n*y is the closest integer multiple of y.\\nIn the case where x is exactly halfway between two multiples of\\ny, the nearest even value of n is used. The result is always exact."},sin:{$meth:function sin(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.sin(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the sine of x (measured in radians)."},sinh:{$meth:function sinh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),e=Sk.builtin.asnum$(e);const t=Math.E,n=Math.pow(t,e),i=(n-1/n)/2;return new Sk.builtin.float_(i)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the hyperbolic sine of x."},sqrt:{$meth:function sqrt(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e);if(t<0)throw new Sk.builtin.ValueError("math domain error");return new Sk.builtin.float_(Math.sqrt(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the square root of x."},tan:{$meth:function tan(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.tan(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the tangent of x (measured in radians)."},tanh:{$meth:function tanh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e);if(0===t)return new Sk.builtin.float_(t);const n=Math.E,i=Math.pow(n,t),r=1/i,u=(i-r)/2/((i+r)/2);return new Sk.builtin.float_(u)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the hyperbolic tangent of x."},trunc:{$meth:function trunc(e){if(e.ob$type===i)return e.nb$int();const n=o(e,t.$trunc);if(void 0===n)throw new r(`type ${e.tp$name} doesn\'t define __trunc__ method`);return a(n)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Truncates the Real x to the nearest Integral toward 0.\\n\\nUses the __trunc__ magic method."}}),s};',"src/lib/mixiot/__init__.js":'var $builtinmodule=function(i){var n={__name__:new Sk.builtin.str("mixiot")};n.MixIO=Sk.misceval.buildClass(n,(function(i,n){n.__init__=new Sk.builtin.func((function(i,n,e,o,t,c,f){n=Sk.ffi.remapToJs(n),e=Sk.ffi.remapToJs(e),o=Sk.ffi.remapToJs(o),t=Sk.ffi.remapToJs(t),c=Sk.ffi.remapToJs(c),f=Sk.ffi.remapToJs(f),mixio_client=new MixIO(n,e,o,t,c,f)})),n.publish=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n),t=Sk.ffi.remapToJs(e);mixio_client.publish(o,t)})),n.subscribe=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n);if(!(e instanceof Sk.builtin.func))throw new Sk.builtin.TypeError("Callback given is not a function");var t=function pythonToJavascriptFunction(i,n){return function(){var e=Array.prototype.slice.call(arguments).map((function(i){return Sk.ffi.remapToPy(i)}));return"undefined"!=typeof n&&e.unshift(n),Sk.misceval.applyAsync(void 0,i,void 0,void 0,void 0,e).catch(Sk.uncaughtException)}}(e);mixio_client.subscribeAndSetCallback(o,t)})),n.unsubscribe=new Sk.builtin.func((function(i,n){var e=Sk.ffi.remapToJs(n);mixio_client.unsubscribe(e)})),n.disconnect=new Sk.builtin.func((function(i){mixio_client.disconnect()}))}),"MixIO",[]);n.MixIO_init_by_mixly_key=Sk.misceval.buildClass(n,(function(i,n){n.__init__=new Sk.builtin.func((function(i,n,e,o,t){n=Sk.ffi.remapToJs(n),e=Sk.ffi.remapToJs(e),mixiomixlyKey=Sk.ffi.remapToJs(o),t=Sk.ffi.remapToJs(t),mixio_client=MixIO.fromMixlyKey(n,e,o,t)})),n.publish=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n),t=Sk.ffi.remapToJs(e);mixio_client.publish(o,t)})),n.subscribe=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n);if(!(e instanceof Sk.builtin.func))throw new Sk.builtin.TypeError("Callback given is not a function");var t=function pythonToJavascriptFunction(i,n){return function(){var e=Array.prototype.slice.call(arguments).map((function(i){return Sk.ffi.remapToPy(i)}));return"undefined"!=typeof n&&e.unshift(n),Sk.misceval.applyAsync(void 0,i,void 0,void 0,void 0,e).catch(Sk.uncaughtException)}}(e);mixio_client.subscribeAndSetCallback(o,t)})),n.unsubscribe=new Sk.builtin.func((function(i,n){var e=Sk.ffi.remapToJs(n);mixio_client.unsubscribe(e)})),n.disconnect=new Sk.builtin.func((function(i){mixio_client.disconnect()}))}),"MixIO_init_by_mixly_key",[]);return n.MixIO_init_by_share_key=Sk.misceval.buildClass(n,(function(i,n){n.__init__=new Sk.builtin.func((function(i,n,e,o,t){n=Sk.ffi.remapToJs(n),e=Sk.ffi.remapToJs(e),mixiomixlyKey=Sk.ffi.remapToJs(o),t=Sk.ffi.remapToJs(t),mixio_client=MixIO.fromShareKey(n,e,o,t).then((i=>{console.log(i),mixio_client_sharekey=i})).catch((i=>{console.error("Failed to create MixIO from share key: ",i),sleep(1)}))})),n.publish=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n),t=Sk.ffi.remapToJs(e);mixio_client_sharekey.publish(o,t)})),n.subscribe=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n);if(!(e instanceof Sk.builtin.func))throw new Sk.builtin.TypeError("Callback given is not a function");var t=function pythonToJavascriptFunction(i,n){return function(){var e=Array.prototype.slice.call(arguments).map((function(i){return Sk.ffi.remapToPy(i)}));return"undefined"!=typeof n&&e.unshift(n),Sk.misceval.applyAsync(void 0,i,void 0,void 0,void 0,e).catch(Sk.uncaughtException)}}(e);mixio_client_sharekey.subscribeAndSetCallback(o,t)})),n.unsubscribe=new Sk.builtin.func((function(i,n){var e=Sk.ffi.remapToJs(n);mixio_client_sharekey.unsubscribe(e)})),n.disconnect=new Sk.builtin.func((function(i){mixio_client_sharekey.disconnect()}))}),"MixIO_init_by_share_key",[]),n};',"src/lib/operator.js":'function $builtinmodule(e){const{builtin:{str:t,tuple:a,list:r,int_:o,bool:n,TypeError:s,ValueError:i,none:{none$:m},NotImplemented:{NotImplemented$:d},abs:l,len:h,checkString:u,checkInt:c},abstr:{buildNativeClass:M,checkNoKwargs:b,checkArgsLen:g,checkOneArg:f,numberUnaryOp:p,numberBinOp:A,numberInplaceBinOp:k,objectGetItem:$,objectDelItem:_,objectSetItem:w,sequenceConcat:v,sequenceContains:x,sequenceGetCountOf:j,sequenceGetIndexOf:O,sequenceInPlaceConcat:I,typeName:S,lookupSpecial:y,gattr:q,setUpModuleMethods:R},misceval:{richCompareBool:B,asIndexOrThrow:N,chain:E,callsimArray:T,callsimOrSuspendArray:C,objectRepr:D},generic:{getAttr:G}}=Sk,L=["abs","add","and_","concat","contains","delitem","eq","floordiv","ge","getitem","gt","iadd","iand","iconcat","ifloordiv","ilshift","imatmul","imod","imul","index","inv","invert","ior","ipow","irshift","isub","itruediv","ixor","le","lshift","lt","matmul","mod","mul","ne","neg","not_","or_","pos","pow","rshift","setitem","sub","truediv","xor"],F=["attrgetter","countOf","indexOf","is_","is_not","itemgetter","length_hint","methodcaller","truth",...L].sort(),P={__name__:new t("operator"),__doc__:new t("Operator interface.\\n\\nThis module exports a set of functions implemented in javascript corresponding\\nto the intrinsic operators of Python. For example, operator.add(x, y)\\nis equivalent to the expression x+y. The function names are those\\nused for special methods; variants without leading and trailing\\n\'__\' are also provided for convenience."),__all__:new r(F.map((e=>new t(e))))};P.itemgetter=M("operator.itemgetter",{constructor:function itemgetter(e){this.items=e,this.oneitem=1===e.length,this.item=e[0],this.in$repr=!1},slots:{tp$getattr:G,tp$new:(e,t)=>(b("itemgetter",t),g("itemgetter",e,1),new P.itemgetter(e)),tp$call(e,t){f("itemgetter",e,t);const r=e[0];return this.oneitem?$(r,this.item,!0):new a(this.items.map((e=>$(r,e))))},tp$doc:"Return a callable object that fetches the given item(s) from its operand.\\n After f = itemgetter(2), the call f(r) returns r[2].\\n After g = itemgetter(2, 5, 3), the call g(r) returns (r[2], r[5], r[3])",$r(){if(this.in$repr)return new t(this.tp$name+"(...)");this.in$repr=!0;const e=this.tp$name+"("+this.items.map((e=>D(e))).join(", ")+")";return this.in$repr=!1,e}}}),P.attrgetter=M("operator.attrgetter",{constructor:function attrgetter(e){this.attrs=e,this.oneattr=1===e.length,this.attr=e[0],this.in$repr=!1},slots:{tp$getattr:G,tp$new(e,a){b("attrgetter",a),g("attrgetter",e,1);const r=[];for(let o=0;onew t(e)))):r.push([a])}return new P.attrgetter(r)},tp$call(e,t){f("attrgetter",e,t);const r=e[0];if(this.oneattr)return this.attr.reduce(((e,t)=>q(e,t)),r);const o=this.attrs.map((e=>e.reduce(((e,t)=>q(e,t)),r)));return new a(o)},tp$doc:"attrgetter(attr, ...) --\\x3e attrgetter object\\n\\nReturn a callable object that fetches the given attribute(s) from its operand.\\nAfter f = attrgetter(\'name\'), the call f(r) returns r.name.\\nAfter g = attrgetter(\'name\', \'date\'), the call g(r) returns (r.name, r.date).\\nAfter h = attrgetter(\'name.first\', \'name.last\'), the call h(r) returns\\n(r.name.first, r.name.last).",$r(){if(this.in$repr)return new t(this.tp$name+"(...)");this.in$repr=!0;const e=this.tp$name+"("+this.items.map((e=>D(e))).join(", ")+")";return this.in$repr=!1,e}}}),P.methodcaller=M("operator.methodcaller",{constructor:function methodcaller(e,t,a){this.$name=e,this.args=t,this.kwargs=a||[],this.in$repr=!1},slots:{tp$getattr:G,tp$new(e,t){g("methodcaller",e,1);const a=e[0];if(!u(a))throw new s("method name must be a string");return new P.methodcaller(a,e.slice(1),t)},tp$call(e,t){f("methodcaller",e,t);const a=e[0];return E(q(a,this.$name,!0),(e=>C(e,this.args,this.kwargs)))},tp$doc:"methodcaller(name, ...) --\\x3e methodcaller object\\n\\nReturn a callable object that calls the given method on its operand.\\nAfter f = methodcaller(\'name\'), the call f(r) returns r.name().\\nAfter g = methodcaller(\'name\', \'date\', foo=1), the call g(r) returns\\nr.name(\'date\', foo=1).",$r(){if(this.in$repr)return new t(this.tp$name+"(...)");this.in$repr=!0;let e=[D(this.$name)];e.push(...this.args.map((e=>D(e))));for(let t=0;tn(B(e,t,"Lt"))),sameAs("a < b")),le:makeModuleMethod(((e,t)=>n(B(e,t,"LtE"))),sameAs("a <= b")),eq:makeModuleMethod(((e,t)=>n(B(e,t,"Eq"))),sameAs("a == b")),ne:makeModuleMethod(((e,t)=>n(B(e,t,"NotEq"))),sameAs("a != b")),ge:makeModuleMethod(((e,t)=>n(B(e,t,"GtE"))),sameAs("a >= b")),gt:makeModuleMethod(((e,t)=>n(B(e,t,"Gt"))),sameAs("a > b")),not_:makeModuleMethod((e=>p(e,"Not")),sameAs("not a")),truth:makeModuleMethod((e=>n(e)),"Return True if a is true, False otherwise."),is_:makeModuleMethod(((e,t)=>n(B(e,t,"Is"))),sameAs("a is b")),is_not:makeModuleMethod(((e,t)=>n(B(e,t,"IsNot"))),sameAs("a is not b")),abs:makeModuleMethod((e=>l(e)),sameAs("abs(a)")),add:makeModuleMethod(((e,t)=>A(e,t,"Add")),sameAs("a + b")),and_:makeModuleMethod(((e,t)=>A(e,t,"BitAnd")),sameAs("a & b")),floordiv:makeModuleMethod(((e,t)=>A(e,t,"FloorDiv")),sameAs("a // b")),index:makeModuleMethod((e=>new o(N(e))),sameAs("a.__index__()")),inv:makeModuleMethod((e=>p(e,"Invert")),sameAs("~a")),invert:makeModuleMethod((e=>p(e,"Invert")),sameAs("~a")),lshift:makeModuleMethod(((e,t)=>A(e,t,"LShift")),sameAs("a << b")),mod:makeModuleMethod(((e,t)=>A(e,t,"Mod")),sameAs("a % b")),mul:makeModuleMethod(((e,t)=>A(e,t,"Mult")),sameAs("a * b")),matmul:makeModuleMethod(((e,t)=>A(e,t,"MatMult")),sameAs("a @ b")),neg:makeModuleMethod((e=>p(e,"USub")),sameAs("-a")),or_:makeModuleMethod(((e,t)=>A(e,t,"BitOr")),sameAs("a | b")),pos:makeModuleMethod((e=>p(e,"UAdd")),sameAs("+a")),pow:makeModuleMethod(((e,t)=>A(e,t,"Pow")),sameAs("a ** b")),rshift:makeModuleMethod(((e,t)=>A(e,t,"RShift")),sameAs("a >> b")),sub:makeModuleMethod(((e,t)=>A(e,t,"Sub")),sameAs("a - b")),truediv:makeModuleMethod(((e,t)=>A(e,t,"Div")),sameAs("a / b")),xor:makeModuleMethod(((e,t)=>A(e,t,"BitXor")),sameAs("a ^ b")),concat:makeModuleMethod(((e,t)=>v(e,t)),sameAs("a + b, for a and b sequences")),contains:makeModuleMethod(((e,t)=>E(x(e,t),n)),sameAs("b in a (note reversed operands)")),countOf:makeModuleMethod(((e,t)=>j(e,t)),"Return thenumber of times b occurs in a."),delitem:makeModuleMethod(((e,t)=>E(_(e,t,!0),(()=>m))),sameAs("del a[b]")),getitem:makeModuleMethod(((e,t)=>$(e,t,!0)),sameAs("a[b]")),indexOf:makeModuleMethod(((e,t)=>O(e,t)),"Return the first index of b in a"),setitem:makeModuleMethod(((e,t,a)=>E(w(e,t,a,!0),(()=>m))),sameAs("a[b] = c")),length_hint:{$meth:function length_hint(e,a){if(void 0===a)a=new o(0);else if(!c(a))throw new s("\'"+S(a)+"\' object cannot be interpreted as an integer");try{return h(e)}catch(m){if(!(m instanceof s))throw m}const r=y(e,t.$length_hint);if(void 0===r)return a;let n;try{n=T(r,[])}catch(m){if(!(m instanceof s))throw m;return a}if(n===d)return a;if(!c(n))throw new s("__length_hint__ must be an integer, not "+S(n));if(n.nb$isnegative())throw new i("__length_hint__() should return >= 0");return n},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($module, obj, default=0, /)",$doc:"Return an estimate of the number of items in obj.\\n\\nThis is useful for presizing containers when building from an iterable.\\n\\nIf the object supports len(), the result will be exact.\\nOtherwise, it may over- or under-estimate by an arbitrary amount.\\nThe result will be an integer >= 0."},iadd:makeModuleMethod(((e,t)=>k(e,t,"Add")),sameAs("a += b")),iand:makeModuleMethod(((e,t)=>k(e,t,"BitAnd")),sameAs("a &= b")),iconcat:makeModuleMethod(((e,t)=>I(e,t)),sameAs("a += b, for a and b sequences")),ifloordiv:makeModuleMethod(((e,t)=>k(e,t,"FloorDiv")),sameAs("a //= b")),ilshift:makeModuleMethod(((e,t)=>k(e,t,"LShift")),sameAs("a <<= b")),imod:makeModuleMethod(((e,t)=>k(e,t,"Mod")),sameAs("a %= b")),imul:makeModuleMethod(((e,t)=>k(e,t,"Mult")),sameAs("a *= b")),imatmul:makeModuleMethod(((e,t)=>k(e,t,"MatMult")),sameAs("a @= b")),ior:makeModuleMethod(((e,t)=>k(e,t,"BitOr")),sameAs("a |= b")),ipow:makeModuleMethod(((e,t)=>k(e,t,"Pow")),sameAs("a **= b")),irshift:makeModuleMethod(((e,t)=>k(e,t,"RShift")),sameAs("a >>= b")),isub:makeModuleMethod(((e,t)=>k(e,t,"Sub")),sameAs("a -= b")),itruediv:makeModuleMethod(((e,t)=>k(e,t,"Div")),sameAs("a /= b")),ixor:makeModuleMethod(((e,t)=>k(e,t,"BitXor")),sameAs("a ^= b"))}),L.forEach((e=>{P[`__${e.replace("_","")}__`]=P[e]})),P.div=P.truediv,P.__div__=P.div,P}',"src/lib/platform.js":'var $builtinmodule=function(n){var e={},i="undefined"!=typeof window&&"undefined"!=typeof window.navigator;return e.python_implementation=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("python_implementation",arguments.length,0,0),new Sk.builtin.str("Skulpt")})),e.node=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("node",arguments.length,0,0),new Sk.builtin.str("")})),e.version=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("version",arguments.length,0,0),new Sk.builtin.str("")})),e.python_version=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("python_version",arguments.length,0,0),n=Sk.__future__.python_version?"3.2.0":"2.7.0",new Sk.builtin.str(n)})),e.system=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("system",arguments.length,0,0),n=i?window.navigator.appCodeName:"",new Sk.builtin.str(n)})),e.machine=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("machine",arguments.length,0,0),n=i?window.navigator.platform:"",new Sk.builtin.str(n)})),e.release=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("release",arguments.length,0,0),n=i?window.navigator.appVersion:"",new Sk.builtin.str(n)})),e.architecture=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("architecture",arguments.length,0,0),new Sk.builtin.tuple([new Sk.builtin.str("64bit"),new Sk.builtin.str("")])})),e.processor=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("processor",arguments.length,0,0),new Sk.builtin.str("")})),e};',"src/lib/processing.js":'var $builtinmodule=function(n){var i,e,t,u,o,s,l,c={__name__:new Sk.builtin.str("processing")},r=[],v=!0,f=null;c.processing=null,c.p=null,c.X=new Sk.builtin.int_(0),c.Y=new Sk.builtin.int_(1),c.Z=new Sk.builtin.int_(2),c.R=new Sk.builtin.int_(3),c.G=new Sk.builtin.int_(4),c.B=new Sk.builtin.int_(5),c.A=new Sk.builtin.int_(6),c.U=new Sk.builtin.int_(7),c.V=new Sk.builtin.int_(8),c.NX=new Sk.builtin.int_(9),c.NY=new Sk.builtin.int_(10),c.NZ=new Sk.builtin.int_(11),c.EDGE=new Sk.builtin.int_(12),c.SR=new Sk.builtin.int_(13),c.SG=new Sk.builtin.int_(14),c.SB=new Sk.builtin.int_(15),c.SA=new Sk.builtin.int_(16),c.SW=new Sk.builtin.int_(17),c.TX=new Sk.builtin.int_(18),c.TY=new Sk.builtin.int_(19),c.TZ=new Sk.builtin.int_(20),c.VX=new Sk.builtin.int_(21),c.VY=new Sk.builtin.int_(22),c.VZ=new Sk.builtin.int_(23),c.VW=new Sk.builtin.int_(24),c.AR=new Sk.builtin.int_(25),c.AG=new Sk.builtin.int_(26),c.AB=new Sk.builtin.int_(27),c.DR=new Sk.builtin.int_(3),c.DG=new Sk.builtin.int_(4),c.DB=new Sk.builtin.int_(5),c.DA=new Sk.builtin.int_(6),c.SPR=new Sk.builtin.int_(28),c.SPG=new Sk.builtin.int_(29),c.SPB=new Sk.builtin.int_(30),c.SHINE=new Sk.builtin.int_(31),c.ER=new Sk.builtin.int_(32),c.EG=new Sk.builtin.int_(33),c.EB=new Sk.builtin.int_(34),c.BEEN_LIT=new Sk.builtin.int_(35),c.VERTEX_FIELD_COUNT=new Sk.builtin.int_(36),c.CENTER=new Sk.builtin.int_(3),c.RADIUS=new Sk.builtin.int_(2),c.CORNERS=new Sk.builtin.int_(1),c.CORNER=new Sk.builtin.int_(0),c.DIAMETER=new Sk.builtin.int_(3),c.BASELINE=new Sk.builtin.int_(0),c.TOP=new Sk.builtin.int_(101),c.BOTTOM=new Sk.builtin.int_(102),c.NORMAL=new Sk.builtin.int_(1),c.NORMALIZED=new Sk.builtin.int_(1),c.IMAGE=new Sk.builtin.int_(2),c.MODEL=new Sk.builtin.int_(4),c.SHAPE=new Sk.builtin.int_(5),c.AMBIENT=new Sk.builtin.int_(0),c.DIRECTIONAL=new Sk.builtin.int_(1),c.SPOT=new Sk.builtin.int_(3),c.RGB=new Sk.builtin.int_(1),c.ARGB=new Sk.builtin.int_(2),c.HSB=new Sk.builtin.int_(3),c.ALPHA=new Sk.builtin.int_(4),c.CMYK=new Sk.builtin.int_(5),c.TIFF=new Sk.builtin.int_(0),c.TARGA=new Sk.builtin.int_(1),c.JPEG=new Sk.builtin.int_(2),c.GIF=new Sk.builtin.int_(3),c.MITER=new Sk.builtin.str("miter"),c.BEVEL=new Sk.builtin.str("bevel"),c.ROUND=new Sk.builtin.str("round"),c.SQUARE=new Sk.builtin.str("butt"),c.PROJECT=new Sk.builtin.str("square"),c.P2D=new Sk.builtin.int_(1),c.JAVA2D=new Sk.builtin.int_(1),c.WEBGL=new Sk.builtin.int_(2),c.P3D=new Sk.builtin.int_(2),c.OPENGL=new Sk.builtin.int_(2),c.PDF=new Sk.builtin.int_(0),c.DXF=new Sk.builtin.int_(0),c.OTHER=new Sk.builtin.int_(0),c.WINDOWS=new Sk.builtin.int_(1),c.MAXOSX=new Sk.builtin.int_(2),c.LINUX=new Sk.builtin.int_(3),c.EPSILON=new Sk.builtin.float_(1e-4),c.MAX_FLOAT=new Sk.builtin.float_(34028235e31),c.MIN_FLOAT=new Sk.builtin.float_(-34028235e31),c.MAX_INT=new Sk.builtin.int_(2147483647),c.MIN_INT=new Sk.builtin.int_(-2147483648),c.HALF_PI=new Sk.builtin.float_(Math.PI/2),c.THIRD_PI=new Sk.builtin.float_(Math.PI/3),c.PI=new Sk.builtin.float_(Math.PI),c.TWO_PI=new Sk.builtin.float_(2*Math.PI),c.TAU=new Sk.builtin.float_(2*Math.PI),c.QUARTER_PI=new Sk.builtin.float_(Math.PI/4),c.DEG_TO_RAD=new Sk.builtin.float_(Math.PI/180),c.RAD_TO_DEG=new Sk.builtin.float_(180/Math.PI),c.WHITESPACE=new Sk.builtin.str(" \\t\\n\\r\\f "),c.POINT=new Sk.builtin.int_(2),c.POINTS=new Sk.builtin.int_(2),c.LINE=new Sk.builtin.int_(4),c.LINES=new Sk.builtin.int_(4),c.TRIANGLE=new Sk.builtin.int_(8),c.TRIANGLES=new Sk.builtin.int_(9),c.TRIANGLE_FAN=new Sk.builtin.int_(11),c.TRIANGLE_STRIP=new Sk.builtin.int_(10),c.QUAD=new Sk.builtin.int_(16),c.QUADS=new Sk.builtin.int_(16),c.QUAD_STRIP=new Sk.builtin.int_(17),c.POLYGON=new Sk.builtin.int_(20),c.PATH=new Sk.builtin.int_(21),c.RECT=new Sk.builtin.int_(30),c.ELLIPSE=new Sk.builtin.int_(31),c.ARC=new Sk.builtin.int_(32),c.SPHERE=new Sk.builtin.int_(40),c.BOX=new Sk.builtin.int_(41),c.GROUP=new Sk.builtin.int_(0),c.PRIMITIVE=new Sk.builtin.int_(1),c.GEOMETRY=new Sk.builtin.int_(3),c.VERTEX=new Sk.builtin.int_(0),c.BEZIER_VERTEX=new Sk.builtin.int_(1),c.CURVE_VERTEX=new Sk.builtin.int_(2),c.BREAK=new Sk.builtin.int_(3),c.CLOSESHAPE=new Sk.builtin.int_(4),c.REPLACE=new Sk.builtin.int_(0),c.BLEND=new Sk.builtin.int_(1),c.ADD=new Sk.builtin.int_(2),c.SUBTRACT=new Sk.builtin.int_(4),c.LIGHTEST=new Sk.builtin.int_(8),c.DARKEST=new Sk.builtin.int_(16),c.DIFFERENCE=new Sk.builtin.int_(32),c.EXCLUSION=new Sk.builtin.int_(64),c.MULTIPLY=new Sk.builtin.int_(128),c.SCREEN=new Sk.builtin.int_(256),c.OVERLAY=new Sk.builtin.int_(512),c.HARD_LIGHT=new Sk.builtin.int_(1024),c.SOFT_LIGHT=new Sk.builtin.int_(2048),c.DODGE=new Sk.builtin.int_(4096),c.BURN=new Sk.builtin.int_(8192),c.ALPHA_MASK=new Sk.builtin.int_(4278190080),c.RED_MASK=new Sk.builtin.int_(16711680),c.GREEN_MASK=new Sk.builtin.int_(65280),c.BLUE_MASK=new Sk.builtin.int_(255),c.CUSTOM=new Sk.builtin.int_(0),c.ORTHOGRAPHIC=new Sk.builtin.int_(2),c.PERSPECTIVE=new Sk.builtin.int_(3),c.ARROW=new Sk.builtin.str("default"),c.CROSS=new Sk.builtin.str("crosshair"),c.HAND=new Sk.builtin.str("pointer"),c.MOVE=new Sk.builtin.str("move"),c.TEXT=new Sk.builtin.str("text"),c.WAIT=new Sk.builtin.str("wait"),c.NOCURSOR=Sk.builtin.assk$("url(\'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\'), auto"),c.DISABLE_OPENGL_2X_SMOOTH=new Sk.builtin.int_(1),c.ENABLE_OPENGL_2X_SMOOTH=new Sk.builtin.int_(-1),c.ENABLE_OPENGL_4X_SMOOTH=new Sk.builtin.int_(2),c.ENABLE_NATIVE_FONTS=new Sk.builtin.int_(3),c.DISABLE_DEPTH_TEST=new Sk.builtin.int_(4),c.ENABLE_DEPTH_TEST=new Sk.builtin.int_(-4),c.ENABLE_DEPTH_SORT=new Sk.builtin.int_(5),c.DISABLE_DEPTH_SORT=new Sk.builtin.int_(-5),c.DISABLE_OPENGL_ERROR_REPORT=new Sk.builtin.int_(6),c.ENABLE_OPENGL_ERROR_REPORT=new Sk.builtin.int_(-6),c.ENABLE_ACCURATE_TEXTURES=new Sk.builtin.int_(7),c.DISABLE_ACCURATE_TEXTURES=new Sk.builtin.int_(-7),c.HINT_COUNT=new Sk.builtin.int_(10),c.OPEN=new Sk.builtin.int_(1),c.CLOSE=new Sk.builtin.int_(2),c.BLUR=new Sk.builtin.int_(11),c.GRAY=new Sk.builtin.int_(12),c.INVERT=new Sk.builtin.int_(13),c.OPAQUE=new Sk.builtin.int_(14),c.POSTERIZE=new Sk.builtin.int_(15),c.THRESHOLD=new Sk.builtin.int_(16),c.ERODE=new Sk.builtin.int_(17),c.DILATE=new Sk.builtin.int_(18),c.BACKSPACE=new Sk.builtin.int_(8),c.TAB=new Sk.builtin.int_(9),c.ENTER=new Sk.builtin.int_(10),c.RETURN=new Sk.builtin.int_(13),c.ESC=new Sk.builtin.int_(27),c.DELETE=new Sk.builtin.int_(127),c.CODED=new Sk.builtin.int_(65535),c.SHIFT=new Sk.builtin.int_(16),c.CONTROL=new Sk.builtin.int_(17),c.ALT=new Sk.builtin.int_(18),c.CAPSLK=new Sk.builtin.int_(20),c.PGUP=new Sk.builtin.int_(33),c.PGDN=new Sk.builtin.int_(34),c.END=new Sk.builtin.int_(35),c.HOME=new Sk.builtin.int_(36),c.LEFT=new Sk.builtin.int_(37),c.UP=new Sk.builtin.int_(38),c.RIGHT=new Sk.builtin.int_(39),c.DOWN=new Sk.builtin.int_(40),c.F1=new Sk.builtin.int_(112),c.F2=new Sk.builtin.int_(113),c.F3=new Sk.builtin.int_(114),c.F4=new Sk.builtin.int_(115),c.F5=new Sk.builtin.int_(116),c.F6=new Sk.builtin.int_(117),c.F7=new Sk.builtin.int_(118),c.F8=new Sk.builtin.int_(119),c.F9=new Sk.builtin.int_(120),c.F10=new Sk.builtin.int_(121),c.F11=new Sk.builtin.int_(122),c.F12=new Sk.builtin.int_(123),c.NUMLK=new Sk.builtin.int_(144),c.META=new Sk.builtin.int_(157),c.INSERT=new Sk.builtin.int_(155),c.SINCOS_LENGTH=new Sk.builtin.int_(720),c.PRECISIONB=new Sk.builtin.int_(15),c.PRECISIONF=new Sk.builtin.int_(32768),c.PREC_MAXVAL=new Sk.builtin.int_(32767),c.PREC_ALPHA_SHIFT=new Sk.builtin.int_(9),c.PREC_RED_SHIFT=new Sk.builtin.int_(1),c.NORMAL_MODE_AUTO=new Sk.builtin.int_(0),c.NORMAL_MODE_SHAPE=new Sk.builtin.int_(1),c.NORMAL_MODE_VERTEX=new Sk.builtin.int_(2),c.MAX_LIGHTS=new Sk.builtin.int_(8),c.line=new Sk.builtin.func((function(n,i,e,t){c.processing.line(n.v,i.v,e.v,t.v)})),c.ellipse=new Sk.builtin.func((function(n,i,e,t){c.processing.ellipse(n.v,i.v,e.v,t.v)})),c.circle=new Sk.builtin.func((function(n,i,e){c.processing.ellipse(n.v,i.v,e.v,e.v)})),c.text=new Sk.builtin.func((function(n,i,e){c.processing.text(n.v,i.v,e.v)})),c.point=new Sk.builtin.func((function(n,i){c.processing.point(n.v,i.v)})),c.arc=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.arc(n.v,i.v,e.v,t.v,u.v,o.v)})),c.quad=new Sk.builtin.func((function(n,i,e,t,u,o,s,l){c.processing.quad(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v)})),c.rect=new Sk.builtin.func((function(n,i,e,t,u){"undefined"==typeof u?c.processing.rect(n.v,i.v,e.v,t.v):c.processing.rect(n.v,i.v,e.v,t.v,u.v)})),c.triangle=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.triangle(n.v,i.v,e.v,t.v,u.v,o.v)})),c.bezier=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r,v,f,S){"undefined"==typeof r?c.processing.bezier(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):c.processing.bezier(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v,f.v,S.v)})),c.alpha=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof i?new Sk.builtin.float_(c.processing.alpha(n.v)):"undefined"==typeof e?new Sk.builtin.float_(c.processing.alpha(n.v,i.v)):new Sk.builtin.float_(c.processing.alpha(n.v,i.v,e.v))})),c.ambient=new Sk.builtin.func((function(n,i,e){"undefined"==typeof i?c.processing.ambient(n.v):"undefined"==typeof e?c.processing.ambient(n.v,i.v):c.processing.ambient(n.v,i.v,e.v)})),c.ambientLight=new Sk.builtin.func((function(n,i,e,t,u,o){"undefined"==typeof t?c.processing.ambientLight(n.v,i.v,e.v):"undefined"==typeof u?c.processing.ambientLight(n.v,i.v,e.v,t.v):"undefined"==typeof o?c.processing.ambientLight(n.v,i.v,e.v,t.v,u.v):c.processing.ambientLight(n.v,i.v,e.v,t.v,u.v,o.v)})),c.beginCamera=new Sk.builtin.func((function(){c.processing.beginCamera()})),c.beginShape=new Sk.builtin.func((function(n){"undefined"==typeof n&&(n=c.POLYGON),c.processing.beginShape(n.v)})),c.bezierDetail=new Sk.builtin.func((function(n){n="undefined"!=typeof n?n.v:20,c.processing.bezierDetail(n)})),c.bezierPoint=new Sk.builtin.func((function(n,i,e,t,u){c.processing.bezierPoint(n.v,i.v,e.v,t.v,u.v)})),c.bezierTangent=new Sk.builtin.func((function(n,i,e,t,u){c.processing.bezierTangent(n.v,i.v,e.v,t.v,u.v)})),c.bezierVertex=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r){"undefined"==typeof s?c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v):"undefined"==typeof l?c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v,s.v):"undefined"==typeof r?c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v)})),c.blend=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r,v){n instanceof Sk.builtin.int_||n instanceof Sk.builtin.float_?c.processing.blend(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v):c.processing.blend(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v)})),c.blendColor=new Sk.builtin.func((function(n,i,e){var t=Sk.misceval.callsimArray(c.color,[new Sk.builtin.int_(0),new Sk.builtin.int_(0),new Sk.builtin.int_(0)]);return t.v=c.processing.blendColor(n.v,i.v,e.v),t})),c.brightness=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof i?new Sk.builtin.float_(c.processing.brightness(n.v)):"undefined"==typeof e?new Sk.builtin.float_(c.processing.brightness(n.v,i.v)):new Sk.builtin.float_(c.processing.brightness(n.v,i.v,e.v))})),c.camera=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r){"undefined"==typeof n?c.processing.camera():c.processing.camera(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v)})),c.constrain=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.constrain(n.v,i.v,e.v))})),c.copy=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r){n instanceof Sk.builtin.int_||n instanceof Sk.builtin.float_?c.processing.copy(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):c.processing.copy(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v)})),c.createFont=new Sk.builtin.func((function(n,i,e,t){var u=Sk.misceval.callsimArray(c.PFont);return u.v="undefined"==typeof e?c.processing.createFont(n.v,i.v):"undefined"==typeof t?c.processing.createFont(n.v,i.v,e.v):c.processing.createFont(n.v,i.v,e.v,t.v),u})),c.createGraphics=new Sk.builtin.func((function(n,i,e,t){var u=Sk.misceval.callsimArray(c.PGraphics);return u.v="undefined"==typeof t?c.processing.createGraphics(n.v,i.v,e.v):c.processing.createGraphics(n.v,i.v,e.v,t.v),u})),c.createImage=new Sk.builtin.func((function(n,i,e){var t=Sk.misceval.callsimArray(c.PImage);return t.v=c.processing.createImage(n.v,i.v,e.v),t})),c.cursor=new Sk.builtin.func((function(n,i,e){"undefined"==typeof n?c.processing.cursor():"undefined"==typeof i?c.processing.cursor(n.v):"undefined"==typeof e?c.processing.cursor(n.v,i.v):c.processing.cursor(n.v,i.v,e.v)})),c.curve=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r,v,f,S){"undefined"==typeof r?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):"undefined"==typeof v?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v):"undefined"==typeof f?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v):"undefined"==typeof S?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v,f.v):c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v,f.v,S.v)})),c.curveDetail=new Sk.builtin.func((function(n){c.processing.curveDetail(n.v)})),c.curvePoint=new Sk.builtin.func((function(n,i,e,t,u){c.processing.curvePoint(n.v,i.v,e.v,t.v,u.v)})),c.curveTangent=new Sk.builtin.func((function(n,i,e,t,u){c.processing.curveTangent(n.v,i.v,e.v,t.v,u.v)})),c.curveTightness=new Sk.builtin.func((function(n){c.processing.curveTightness(n.v)})),c.curveVertex=new Sk.builtin.func((function(n,i,e){"undefined"==typeof e?c.processing.curveVertex(n.v,i.v):c.processing.curveVertex(n.v,i.v,e.v)})),c.day=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.day())})),c.degrees=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.degrees(n.v))})),c.directionalLight=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.directionalLight(n.v,i.v,e.v,t.v,u.v,o.v)})),c.dist=new Sk.builtin.func((function(n,i,e,t,u,o){return"undefined"==typeof u?new Sk.builtin.float_(c.processing.dist(n.v,i.v,e.v,t.v)):"undefined"==typeof o?new Sk.builtin.float_(c.processing.dist(n.v,i.v,e.v,t.v,u.v)):new Sk.builtin.float_(c.processing.dist(n.v,i.v,e.v,t.v,u.v,o.v))})),c.emissive=new Sk.builtin.func((function(n,i,e){"undefined"==typeof i?c.processing.emissive(n.v):"undefined"==typeof e?c.processing.emissive(n.v,i.v):c.processing.emissive(n.v,i.v,e.v)})),c.endCamera=new Sk.builtin.func((function(){c.processing.endCamera()})),c.endShape=new Sk.builtin.func((function(n){"undefined"==typeof n?c.processing.endShape():c.processing.endShape(n.v)})),c.filter=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.filter(n.v):c.processing.filter(n.v,i.v)})),c.frustum=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.frustum(n,i,e,t,u,o)})),c.hint=new Sk.builtin.func((function(n){c.processing.hint(n)})),c.hour=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.hour())})),c.hue=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.hue(n.v))})),c.imageMode=new Sk.builtin.func((function(n){c.processing.imageMode(n.v)})),c.lerp=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.lerp(n.v,i.v,e.v))})),c.lerpColor=new Sk.builtin.func((function(n,i,e){var t=Sk.misceval.callsimArray(c.color,[new Sk.builtin.int_(0),new Sk.builtin.int_(0),new Sk.builtin.int_(0)]);return t.v=c.processing.lerpColor(n.v,i.v,e.v),t})),c.lightFalloff=new Sk.builtin.func((function(n,i,e){c.processing.lightFalloff(n.v,i.v,e.v)})),c.lights=new Sk.builtin.func((function(){c.processing.lights()})),c.lightSpecular=new Sk.builtin.func((function(n,i,e){c.processing.lightSpecular(n.v,i.v,e.v)})),c.loadBytes=new Sk.builtin.func((function(n){return new Sk.builtin.list(c.processing.loadBytes(n.v))})),c.loadFont=new Sk.builtin.func((function(n){var i=Sk.misceval.callsimArray(c.PFont);return i.v=c.processing.loadFont(n.v),i})),c.loadShape=new Sk.builtin.func((function(n){return Sk.misceval.callsimArray(c.PShapeSVG,[new Sk.builtin.str("string"),n])})),c.loadStrings=new Sk.builtin.func((function(n){return new Sk.builtin.list(c.processing.loadStrings(n.v))})),c.mag=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof e?new Sk.builtin.float_(c.processing.mag(n.v,i.v)):new Sk.builtin.float_(c.processing.mag(n.v,i.v,e.v))})),c.map=new Sk.builtin.func((function(n,i,e,t,u){return new Sk.builtin.float_(c.processing.map(n.v,i.v,e.v,t.v,u.v))})),c.millis=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.millis())})),c.minute=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.minute())})),c.modelX=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.modelX(n.v,i.v,e.v))})),c.modelY=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.modelY(n.v,i.v,e.v))})),c.modelZ=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.modelZ(n.v,i.v,e.v))})),c.month=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.month())})),c.noCursor=new Sk.builtin.func((function(){c.processing.noCursor()})),c.noise=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof i?new Sk.builtin.float_(c.processing.noise(n.v)):"undefined"==typeof e?new Sk.builtin.float_(c.processing.noise(n.v,i.v)):new Sk.builtin.float_(c.processing.noise(n.v,i.v,e.v))})),c.noiseDetail=new Sk.builtin.func((function(n,i){c.processing.noiseDetail(n.v,i.v)})),c.noiseSeed=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.noiseSeed(n.v))})),c.noLights=new Sk.builtin.func((function(){c.processing.noLights()})),c.norm=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.norm(n.v,i.v,e.v))})),c.normal=new Sk.builtin.func((function(n,i,e){c.processing.normal(n.v,i.v,e.v)})),c.noTint=new Sk.builtin.func((function(){c.processing.noTint()})),c.ortho=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.ortho(n.v,i.v,e.v,t.v,u.v,o.v)})),c.perspective=new Sk.builtin.func((function(n,i,e,t){"undefined"==typeof n?c.processing.perspective():"undefined"==typeof i?c.processing.perspective(n.v):"undefined"==typeof e?c.processing.perspective(n.v,i.v):"undefined"==typeof t?c.processing.perspective(n.v,i.v,e.v):c.processing.perspective(n.v,i.v,e.v,t.v)})),c.pointLight=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.pointLight(n.v,i.v,e.v,t.v,u.v,o.v)})),c.printCamera=new Sk.builtin.func((function(){c.processing.printCamera()})),c.println=new Sk.builtin.func((function(n){c.processing.println(n.v)})),c.printProjection=new Sk.builtin.func((function(){c.processing.printProjection()})),c.radians=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.radians(n.v))})),c.randomSeed=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.randomSeed(n.v))})),c.random=new Sk.builtin.func((function(n,i){return"undefined"==typeof n?new Sk.builtin.float_(c.processing.random()):"undefined"==typeof i?new Sk.builtin.float_(c.processing.random(n.v)):new Sk.builtin.float_(c.processing.random(n.v,i.v))})),c.requestImage=new Sk.builtin.func((function(n,i){var e=Sk.misceval.callsimArray(c.PImage);return e.v="undefined"==typeof i?c.processing.requestImage(n.v):c.processing.requestImage(n.v,i.v),e})),c.saturation=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.saturation(n.v))})),c.save=new Sk.builtin.func((function(n){c.processing.save(n.v)})),c.saveFrame=new Sk.builtin.func((function(n){"undefined"==typeof n?c.processing.saveFrame():c.processing.saveFrame(n.v)})),c.saveStrings=new Sk.builtin.func((function(n,i){c.processing.saveStrings(n.v,i.v)})),c.screenX=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.screenX(n.v,i.v,e.v))})),c.screenY=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.screenY(n.v,i.v,e.v))})),c.screenZ=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.screenZ(n.v,i.v,e.v))})),c.second=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.second())})),c.shape=new Sk.builtin.func((function(n,i,e,t,u){"undefined"==typeof i?c.processing.shape(n.v):"undefined"==typeof e?c.processing.shape(n.v,i.v):"undefined"==typeof t?c.processing.shape(n.v,i.v,e.v):"undefined"==typeof u?c.processing.shape(n.v,i.v,e.v,t.v):c.processing.shape(n.v,i.v,e.v,t.v,u.v)})),c.shapeMode=new Sk.builtin.func((function(n){c.processing.shapeMode(n.v)})),c.shininess=new Sk.builtin.func((function(n){c.processing.shininess(n.v)})),c.specular=new Sk.builtin.func((function(n,i,e){"undefined"==typeof i?c.processing.specular(n.v):"undefined"==typeof e?c.processing.specular(n.v,i.v):c.processing.specular(n.v,i.v,e.v)})),c.spotLight=new Sk.builtin.func((function(n,i,e,t,u,o,s,l){c.processing.spotLight(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v)})),c.sq=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.sq(n))})),c.status=new Sk.builtin.func((function(n){c.processing.status(n.v)})),c.textAlign=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.textAlign(n.v):c.processing.textAlign(n.v,i.v)})),c.textAscent=new Sk.builtin.func((function(){return new Sk.builtin.float_(c.processing.textAscent())})),c.textDescent=new Sk.builtin.func((function(){return new Sk.builtin.float_(c.processing.textDescent())})),c.textFont=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.textFont(n.v):c.processing.textFont(n.v,i.v)})),c.textLeading=new Sk.builtin.func((function(n){c.processing.textLeading(n.v)})),c.textMode=new Sk.builtin.func((function(n){c.processing.textMode(n.v)})),c.textSize=new Sk.builtin.func((function(n){c.processing.textSize(n.v)})),c.texture=new Sk.builtin.func((function(n){c.processing.texture(n.v)})),c.textureMode=new Sk.builtin.func((function(n){c.processing.textureMode(n.v)})),c.textWidth=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.textWidth(n.v))})),c.tint=new Sk.builtin.func((function(n,i,e,t){"undefined"==typeof i?c.processing.tint(n.v):"undefined"==typeof e?c.processing.tint(n.v,i.v):"undefined"==typeof t?c.processing.tint(n.v,i.v,e.v):c.processing.tint(n.v,i.v,e.v,t.v)})),c.updatePixels=new Sk.builtin.func((function(){c.processing.updatePixels()})),c.vertex=new Sk.builtin.func((function(n,i,e,t,u){"undefined"==typeof e?c.processing.vertex(n.v,i.v):"undefined"==typeof t?c.processing.vertex(n.v,i.v,e.v):"undefined"==typeof u?c.processing.vertex(n.v,i.v,e.v,t.v):c.processing.vertex(n.v,i.v,e.v,t.v,u.v)})),c.year=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.year())})),c.box=new Sk.builtin.func((function(n){c.processing.box(n.v)})),c.sphere=new Sk.builtin.func((function(n){c.processing.sphere(n.v)})),c.sphereDetail=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.sphereDetail(n.v):c.processing.sphereDetail(n.v,i.v)})),c.background=new Sk.builtin.func((function(n,i,e){"undefined"!=typeof i&&(i=i.v),"undefined"!=typeof e&&(e=e.v),c.processing.background(n.v,i,e)})),c.fill=new Sk.builtin.func((function(n,i,e,t){"undefined"!=typeof i&&(i=i.v),"undefined"!=typeof e&&(e=e.v),"undefined"!=typeof t&&(t=t.v),c.processing.fill(n.v,i,e,t)})),c.stroke=new Sk.builtin.func((function(n,i,e,t){"undefined"!=typeof i&&(i=i.v),"undefined"!=typeof e&&(e=e.v),"undefined"!=typeof t&&(t=t.v),c.processing.stroke(n.v,i,e,t)})),c.noStroke=new Sk.builtin.func((function(){c.processing.noStroke()})),c.colorMode=new Sk.builtin.func((function(n,i,e,t,u){i="undefined"==typeof i?255:i.v,"undefined"!=typeof e&&(e=e.v),"undefined"!=typeof t&&(t=t.v),"undefined"!=typeof u&&(u=u.v),c.processing.colorMode(n.v,i,e,t,u)})),c.noFill=new Sk.builtin.func((function(){c.processing.noFill()})),c.loop=new Sk.builtin.func((function(){if(null===c.processing)throw new Sk.builtin.Exception("loop() should be called after run()");v=!0,c.processing.loop()})),c.noLoop=new Sk.builtin.func((function(){if(null===c.processing)throw new Sk.builtin.Exception("noLoop() should be called after run()");v=!1,c.processing.noLoop()})),c.frameRate=new Sk.builtin.func((function(n){c.processing.frameRate(n.v)})),c.width=new Sk.builtin.int_(0),c.height=new Sk.builtin.int_(0),c.renderMode=c.P2D,c.size=new Sk.builtin.func((function(n,i,e){"undefined"==typeof e&&(e=c.P2D),c.processing.size(n.v,i.v,e.v),c.width=new Sk.builtin.int_(c.processing.width),c.height=new Sk.builtin.int_(c.processing.height),c.renderMode=e})),c.exitp=new Sk.builtin.func((function(){c.processing.exit()})),c.mouseX=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.mouseX)})),c.mouseY=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.mouseY)})),c.pmouseX=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.pmouseX)})),c.pmouseY=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.pmouseY)})),c.rectMode=new Sk.builtin.func((function(n){c.processing.rectMode(n.v)})),c.strokeWeight=new Sk.builtin.func((function(n){c.processing.strokeWeight(n.v)})),c.smooth=new Sk.builtin.func((function(){c.processing.smooth()})),c.noSmooth=new Sk.builtin.func((function(){c.processing.noSmooth()})),c.ellipseMode=new Sk.builtin.func((function(n){c.processing.ellipseMode(n.v)})),c.strokeCap=new Sk.builtin.func((function(n){c.processing.strokeCap(n.v)})),c.strokeJoin=new Sk.builtin.func((function(n){c.processing.strokeJoin(n.v)})),c.rotate=new Sk.builtin.func((function(n){c.processing.rotate(n.v)})),c.rotateX=new Sk.builtin.func((function(n){c.processing.rotateX(n.v)})),c.rotateY=new Sk.builtin.func((function(n){c.processing.rotateY(n.v)})),c.rotateZ=new Sk.builtin.func((function(n){c.processing.rotateZ(n.v)})),c.scale=new Sk.builtin.func((function(n,i,e){i="undefined"==typeof i?1:i.v,e="undefined"==typeof e?1:e.v,c.processing.scale(n.v,i,e)})),c.translate=new Sk.builtin.func((function(n,i,e){i="undefined"==typeof i?1:i.v,e="undefined"==typeof e?1:e.v,c.processing.translate(n.v,i,e)})),c.popMatrix=new Sk.builtin.func((function(){c.processing.popMatrix()})),c.pushMatrix=new Sk.builtin.func((function(){c.processing.pushMatrix()})),c.applyMatrix=new Sk.builtin.func((function(){var n,i=Array.prototype.slice.call(arguments,0,16);for(n=0;n>>0,this.mti=1;this.mti>>30,this.mt[this.mti]=(1812433253*((4294901760&n)>>>16)<<16)+1812433253*(65535&n)+this.mti,this.mt[this.mti]>>>=0},MersenneTwister.prototype.init_by_array=function(n,t){var i,e,r;for(this.init_genrand(19650218),i=1,e=0,r=this.N>t?this.N:t;r;r--){var u=this.mt[i-1]^this.mt[i-1]>>>30;this.mt[i]=(this.mt[i]^(1664525*((4294901760&u)>>>16)<<16)+1664525*(65535&u))+n[e]+e,this.mt[i]>>>=0,e++,++i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1),e>=t&&(e=0)}for(r=this.N-1;r;r--){u=this.mt[i-1]^this.mt[i-1]>>>30;this.mt[i]=(this.mt[i]^(1566083941*((4294901760&u)>>>16)<<16)+1566083941*(65535&u))-i,this.mt[i]>>>=0,++i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1)}this.mt[0]=2147483648},MersenneTwister.prototype.genrand_int32=function(){var n,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var i;for(this.mti==this.N+1&&this.init_genrand(5489),i=0;i>>1^t[1&n];for(;i>>1^t[1&n];n=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^n>>>1^t[1&n],this.mti=0}return n=this.mt[this.mti++],n^=n>>>11,n^=n<<7&2636928640,n^=n<<15&4022730752,(n^=n>>>18)>>>0},MersenneTwister.prototype.genrand_int31=function(){return this.genrand_int32()>>>1},MersenneTwister.prototype.genrand_real1=function(){return this.genrand_int32()*(1/4294967295)},MersenneTwister.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},MersenneTwister.prototype.genrand_real3=function(){return(this.genrand_int32()+.5)*(1/4294967296)},MersenneTwister.prototype.genrand_res53=function(){return(67108864*(this.genrand_int32()>>>5)+(this.genrand_int32()>>>6))*(1/9007199254740992)};var $builtinmodule=function(n){var t={},i=new MersenneTwister,e=void 0;t.seed=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("seed",arguments.length,0,1),n=Sk.builtin.asnum$(n),i=arguments.length>0?new MersenneTwister(n):new MersenneTwister,Sk.builtin.none.none$})),t.random=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("random",arguments.length,0,0),new Sk.builtin.float_(i.genrand_res53())}));var toInt=function(n){return 0|n},randrange=function(n,t,e){var r,u,s;if(!Sk.builtin.checkInt(n))throw new Sk.builtin.ValueError("non-integer first argument for randrange()");if(void 0===t)return s=toInt(i.genrand_res53()*n),new Sk.builtin.int_(s);if(!Sk.builtin.checkInt(t))throw new Sk.builtin.ValueError("non-integer stop for randrange()");if(void 0===e&&(e=1),r=t-n,1==e&&r>0)return s=n+toInt(i.genrand_res53()*r),new Sk.builtin.int_(s);if(1==e)throw new Sk.builtin.ValueError("empty range for randrange() ("+n+", "+t+", "+r+")");if(!Sk.builtin.checkInt(e))throw new Sk.builtin.ValueError("non-integer step for randrange()");if(e>0)u=toInt((r+e-1)/e);else{if(!(e<0))throw new Sk.builtin.ValueError("zero step for randrange()");u=toInt((r+e+1)/e)}if(u<=0)throw new Sk.builtin.ValueError("empty range for randrange()");return s=n+e*toInt(i.genrand_res53()*u),new Sk.builtin.int_(s)};t.randint=new Sk.builtin.func((function(n,t){return Sk.builtin.pyCheckArgsLen("randint",arguments.length,2,2),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),randrange(n,t+1)})),t.randrange=new Sk.builtin.func((function(n,t,i){return Sk.builtin.pyCheckArgsLen("randrange",arguments.length,1,3),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),i=Sk.builtin.asnum$(i),randrange(n,t,i)})),t.uniform=new Sk.builtin.func((function(n,t){Sk.builtin.pyCheckArgsLen("uniform",arguments.length,2,2),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t);const e=n+i.genrand_res53()*(t-n);return new Sk.builtin.float_(e)})),t.triangular=new Sk.builtin.func((function(n,t,e){var r,u,s;return Sk.builtin.pyCheckArgsLen("triangular",arguments.length,2,3),Sk.builtin.pyCheckType("low","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("high","number",Sk.builtin.checkNumber(t)),(n=Sk.builtin.asnum$(n))>(t=Sk.builtin.asnum$(t))&&(s=n,n=t,t=s),void 0===e||e===Sk.builtin.none.none$?e=(t-n)/2:(Sk.builtin.pyCheckType("mode","number",Sk.builtin.checkNumber(e)),e=Sk.builtin.asnum$(e)),u=(r=i.genrand_res53())<(e-n)/(t-n)?n+Math.sqrt(r*(t-n)*(e-n)):t-Math.sqrt((1-r)*(t-n)*(t-e)),new Sk.builtin.float_(u)}));var normalSample=function(n,t){var r,u,s,h,l;return void 0!==e?(l=e,e=void 0):(r=i.genrand_res53(),u=i.genrand_res53(),s=Math.sqrt(-2*Math.log(r)),h=2*Math.PI*u,l=s*Math.cos(h),e=s*Math.sin(h)),n+t*l};return t.gauss=new Sk.builtin.func((function(n,t){return Sk.builtin.pyCheckArgsLen("gauss",arguments.length,2,2),Sk.builtin.pyCheckType("mu","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("sigma","number",Sk.builtin.checkNumber(t)),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),new Sk.builtin.float_(normalSample(n,t))})),t.normalvariate=t.gauss,t.lognormvariate=new Sk.builtin.func((function(n,t){return Sk.builtin.pyCheckArgsLen("lognormvariate",arguments.length,2,2),Sk.builtin.pyCheckType("mu","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("sigma","number",Sk.builtin.checkNumber(t)),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),new Sk.builtin.float_(Math.exp(normalSample(n,t)))})),t.expovariate=new Sk.builtin.func((function(n){Sk.builtin.pyCheckArgsLen("expovariate",arguments.length,1,1),Sk.builtin.pyCheckType("lambd","number",Sk.builtin.checkNumber(n)),n=Sk.builtin.asnum$(n);var t=i.genrand_res53();return new Sk.builtin.float_(-Math.log(t)/n)})),t.choice=new Sk.builtin.func((function(n){if(Sk.builtin.pyCheckArgsLen("choice",arguments.length,1,1),Sk.builtin.pyCheckType("seq","sequence",Sk.builtin.checkSequence(n)),void 0!==n.sq$length){var t=new Sk.builtin.int_(toInt(i.genrand_res53()*n.sq$length()));return n.mp$subscript(t)}throw new Sk.builtin.TypeError("object has no length")})),t.shuffle=new Sk.builtin.func((function(n){if(Sk.builtin.pyCheckArgsLen("shuffle",arguments.length,1,1),Sk.builtin.pyCheckType("x","sequence",Sk.builtin.checkSequence(n)),n.constructor===Sk.builtin.list){const u=n.v;for(var t=u.length-1;t>0;t-=1){var e=u[r=toInt(i.genrand_res53()*(t+1))];u[r]=u[t],u[t]=e}}else{if(void 0===n.sq$length)throw new Sk.builtin.TypeError("object has no length");if(void 0===n.mp$ass_subscript)throw new Sk.builtin.TypeError("object is immutable");for(t=n.sq$length()-1;t>0;t-=1){var r=new Sk.builtin.int_(toInt(i.genrand_res53()*(t+1)));t=new Sk.builtin.int_(t);e=n.mp$subscript(r);n.mp$ass_subscript(r,n.mp$subscript(t)),n.mp$ass_subscript(t,e)}}return Sk.builtin.none.none$})),t.sample=new Sk.builtin.func((function(n,t){var e,r,u,s,h;for(Sk.builtin.pyCheckArgsLen("sample",arguments.length,2,2),Sk.builtin.pyCheckType("population","iterable",Sk.builtin.checkIterable(n)),Sk.builtin.pyCheckType("k","integer",Sk.builtin.checkInt(t)),t=Sk.builtin.asnum$(t),h=[],e=0,s=(u=Sk.abstr.iter(n)).tp$iternext();void 0!==s;e++,s=u.tp$iternext())r=Math.floor(i.genrand_res53()*(e+1)),enew pyStr(e))))},_value2member={},RegexFlagMeta=buildNativeClass("RegexFlagMeta",{constructor:function RegexFlagMeta(){},base:pyType,slots:{tp$iter(){const e=Object.values(_members)[Symbol.iterator]();return new pyIterator((()=>e.next().value))},sq$contains(e){if(!(e instanceof this))throw new TypeError("unsupported operand type(s) for \'in\': \'"+typeName(e)+"\' and \'"+typeName(this)+"\'");return Object.values(_members).includes(e)}}});re.RegexFlag=buildNativeClass("RegexFlag",{meta:RegexFlagMeta,base:pyInt,constructor:function RegexFlag(e){const t=_value2member[e];if(t)return t;this.v=e,_value2member[e]=this},slots:{tp$new(e,t){checkOneArg("RegexFlag",e,t);const r=e[0].valueOf();if(!checkInt(r))throw new ValueError(objectRepr(r)+" is not a valid RegexFlag");return new re.RegexFlag(r)},$r(){let e=this.valueOf();const t=e<0;e=t?~e:e;const r=[];Object.entries(_members).forEach((([t,n])=>{const s=n.valueOf();e&s&&(e&=~s,r.push("re."+t))})),e&&r.push(hex(e).toString());let n=r.join("|");return t&&(n=r.length>1?"~("+n+")":"~"+n),new pyStr(n)},sq$contains(e){if(!(e instanceof re.RegexFlag))throw new TypeError("\'in\' requires a RegexFlag not "+typeName(e));return this.nb$and(e)===e},nb$and:flagBitSlot(((e,t)=>e&t),JSBI.bitwiseAnd),nb$or:flagBitSlot(((e,t)=>e|t),JSBI.bitwiseOr),nb$xor:flagBitSlot(((e,t)=>e^t),JSBI.bitwiseXor),nb$invert:function(){const e=this.v;return"number"==typeof e?new re.RegexFlag(~e):new re.RegexFlag(JSBI.bitwiseNot(e))}},proto:{valueOf(){return this.v}},flags:{sk$acceptable_as_base_class:!1}}),re.TEMPLATE=re.T=new re.RegexFlag(1),re.IGNORECASE=re.I=new re.RegexFlag(2),re.LOCALE=re.L=new re.RegexFlag(4),re.MULTILINE=re.M=new re.RegexFlag(8),re.DOTALL=re.S=new re.RegexFlag(16),re.UNICODE=re.U=new re.RegexFlag(32),re.VERBOSE=re.X=new re.RegexFlag(64),re.DEBUG=new re.RegexFlag(128),re.ASCII=re.A=new re.RegexFlag(256);const _members={ASCII:re.A,IGNORECASE:re.I,LOCALE:re.L,UNICODE:re.U,MULTILINE:re.M,DOTALL:re.S,VERBOSE:re.X,TEMPLATE:re.T,DEBUG:re.DEBUG};function flagBitSlot(e,t){return function(r){if(r instanceof re.RegexFlag||r instanceof pyInt){let n=this.v,s=r.v;if("number"==typeof n&&"number"==typeof s){let t=e(n,s);return t<0&&(t+=4294967296),new re.RegexFlag(t)}return n=JSBI.BigUp(n),s=JSBI.BigUp(s),new re.RegexFlag(JSBI.numberIfSafe(t(n,s)))}return pyNotImplemented}}const jsFlags={i:re.I,m:re.M,s:re.S,u:re.U},jsInlineFlags={i:re.I,a:re.A,s:re.S,L:re.L,m:re.M,u:re.U,x:re.X};RegExp.prototype.hasOwnProperty("sticky")||delete jsFlags.s,RegExp.prototype.hasOwnProperty("unicode")||delete jsFlags.u;const flagFails=Object.entries({"cannot use LOCALE flag with a str pattern":re.L,"ASCII and UNICODE flags are incompatible":new re.RegexFlag(re.A.valueOf()|re.U.valueOf())}),inline_regex=/\\(\\?([isamux]+)\\)/g;function adjustFlags(e,t){let r=e.toString(),n="g",s=0;return r=r.replace(inline_regex,((e,t)=>{for(let r of t){const e=jsInlineFlags[r];s|=e.valueOf()}return""})),flagFails.forEach((([e,t])=>{if((t.valueOf()&s)===t.valueOf())throw new re.error("bad bad inline flags: "+e)})),t=numberBinOp(new re.RegexFlag(s),t,"BitOr"),flagFails.forEach((([e,r])=>{if(numberBinOp(r,t,"BitAnd")===r)throw new ValueError(e)})),numberBinOp(re.A,t,"BitAnd")!==re.A&&(t=numberBinOp(re.U,t,"BitOr")),Object.entries(jsFlags).forEach((([e,r])=>{numberBinOp(r,t,"BitAnd")===r&&(n+=e)})),t=new re.RegexFlag(t.valueOf()),[r,n,t]}let neg_lookbehind_A="(?)(?!(?:\\]|[^\\[]*[^\\\\]\\]))/g,py_to_js_unicode_escape=/\\\\[\\t\\r\\n \\v\\f#&~"\'!:,;`<>]|\\\\-(?!(?:\\]|[^\\[]*[^\\\\]\\]))/g,quantifierErrors=/Incomplete quantifier|Lone quantifier/g,_compiled_patterns=Object.create(null);function compile_pattern(e,t){let r,n;[r,n,t]=adjustFlags(e,t);const s=_compiled_patterns[e.toString()];if(s&&s.$flags===t)return s;const i={};let o,a;r="_"+r,r=r.replace(initialUnescapedBracket,"$1$2\\\\]$3"),r=r.replace(py_to_js_regex,((t,r,n,s,o,a)=>{switch(n){case"\\\\A":return r+neg_lookbehind_A+"^";case"\\\\Z":return r+"$(?!\\\\n)";case"{,":return r+"{0,";case"$":return r+"(?:(?=\\\\n$)|$)";default:if(n.endsWith(">"))return i[o]=!0,r+"(?<"+o+">";if(!i[s])throw new re.error("unknown group name "+s+" at position "+a+1,e,new pyInt(a+1));return r+"\\\\k<"+s+">"}})),r=r.slice(1);let l=r;n.includes("u")&&(l=r.replace(py_to_js_unicode_escape,(e=>{switch(e){case"\\\\ ":return" ";case"\\\\\\t":return"\\\\t";case"\\\\\\n":return"\\\\n";case"\\\\\\v":return"\\\\v";case"\\\\\\f":return"\\\\f";case"\\\\r":return"\\\\r";default:return e.slice(1)}})));try{o=new RegExp(l,n)}catch(g){if(!quantifierErrors.test(g.message))throw a=g.message.substring(g.message.lastIndexOf(":")+2)+" in pattern: "+e.toString(),new re.error(a,e);try{o=new RegExp(r,n.replace("u",""))}catch(g){throw a=g.message.substring(g.message.lastIndexOf(":")+2)+" in pattern: "+e.toString(),new re.error(a,e)}}const p=new re.Pattern(o,e,t);return _compiled_patterns[e.toString()]=p,p}function _compile(e,t){if(e instanceof re.Pattern){if(t!==zero||t.valueOf())throw new ValueError("cannot process flags argument with compiled pattern");return e}if(!checkString(e))throw new TypeError("first argument must be string or compiled pattern");return compile_pattern(e,t)}re.error=buildNativeClass("re.error",{base:Exception,constructor:function error(e,t,r){this.$pattern=t,this.$msg=e,this.$pos=r||pyNone,Exception.call(this,e)},slots:{tp$doc:"Exception raised for invalid regular expressions.\\n\\n Attributes:\\n\\n msg: The unformatted error message\\n pattern: The regular expression pattern\\n",tp$init(e,t){const[r,n,s]=copyKeywordToNamedArgs("re.error",["msg","pattern","pos"],e,t,[pyNone,pyNone]);this.$pattern=n,this.$pos=s,this.$msg=r}},getsets:{msg:{$get(){return this.$msg}},pattern:{$get(){return this.$pattern}},pos:{$get(){return this.$pos}}}});const zero=new pyInt(0),maxsize=Number.MAX_SAFE_INTEGER;re.Pattern=buildNativeClass("re.Pattern",{constructor:function(e,t,r){this.v=e,this.str=t,this.$flags=r,this.$groups=null,this.$groupindex=null},slots:{$r(){const e=objectRepr(this.str).slice(0,200),t=objectRepr(this.$flags.nb$and(re.U.nb$invert()));return new pyStr("re.compile("+e+(t?", "+t:"")+")")},tp$richcompare(e,t){if("Eq"!==t&&"NotEq"!==t||!(e instanceof re.Pattern))return pyNotImplemented;const r=this.str===e.str&&this.$flags===e.$flags;return"Eq"===t?r:!r},tp$hash(){},tp$doc:"Compiled regular expression object."},methods:{match:{$meth:function match(e,t,r){return this.$match(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Matches zero or more characters at the beginning of the string."},fullmatch:{$meth:function fullmatch(e,t,r){return this.full$match(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Matches against all of the string."},search:{$meth:function search(e,t,r){return this.$search(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Scan through string looking for a match, and return a corresponding match object instance.\\n\\nReturn None if no position in the string matches."},sub:{$meth:function sub(e,t,r){return this.$sub(e,t,r)},$flags:{NamedArgs:["repl","string","count"],Defaults:[zero]},$textsig:"($self, /, repl, string, count=0)",$doc:"Return the string obtained by replacing the leftmost non-overlapping occurrences of pattern in string by the replacement repl."},subn:{$meth:function(e,t,r){return this.$subn(e,t,r)},$flags:{NamedArgs:["repl","string","count"],Defaults:[zero]},$textsig:"($self, /, repl, string, count=0)",$doc:"Return the tuple (new_string, number_of_subs_made) found by replacing the leftmost non-overlapping occurrences of pattern with the replacement repl."},findall:{$meth:function findall(e,t,r){return this.find$all(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Return a list of all non-overlapping matches of pattern in string."},split:{$meth:function split(e,t){return this.$split(e,t)},$flags:{NamedArgs:["string","maxsplit"],Defaults:[zero]},$textsig:"($self, /, string, maxsplit=0)",$doc:"Split string by the occurrences of pattern."},finditer:{$meth:function finditer(e,t,r){return this.find$iter(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Return an iterator over all non-overlapping matches for the RE pattern in string.\\n\\nFor each match, the iterator returns a match object."},scanner:{$meth:function scanner(e,t,r){return this.$scanner(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:null},__copy__:{$meth:function copy(){return this},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:null},__deepcopy__:{$meth:function(){return this},$flags:{OneArg:!0},$textsig:"($self, memo, /)",$doc:null}},getsets:{pattern:{$get(){return this.str},$doc:"The pattern string from which the RE object was compiled."},flags:{$get(){return this.$flags},$doc:"The regex matching flags."},groups:{$get(){if(null===this.$groups){const e=(this.str.v.match(this.group$regex)||[]).length;this.$groups=new pyInt(e)}return this.$groups},$doc:"The number of capturing groups in the pattern."},groupindex:{$get(){if(null===this.$groupindex){const e=this.str.v.matchAll(this.group$regex),t=[];let r=1;for(const n of e)n[1]&&(t.push(new pyStr(n[1])),t.push(new pyInt(r))),r++;this.$groupindex=new pyMappingProxy(new pyDict(t))}return this.$groupindex},$doc:"A dictionary mapping group names to group numbers."}},proto:{group$regex:/\\((?!\\?(?!P<).*)(?:\\?P<([^\\d\\W]\\w*)>)?(?![^\\[]*\\])/g,get$count:e=>(e=asIndexSized(e,OverflowError))||Number.POSITIVE_INFINITY,get$jsstr(e,t,r){if(!checkString(e))throw new TypeError("expected string or bytes-like object");if(t===zero&&r===maxsize||void 0===t&&void 0===r)return{jsstr:e.toString(),pos:zero.valueOf(),endpos:e.sq$length()};const{start:n,end:s}=pySlice.startEnd$wrt(e,t,r);return{jsstr:e.toString().slice(n,s),pos:n,endpos:s}},find$all(e,t,r){let{jsstr:n}=this.get$jsstr(e,t,r);const s=this.v,i=n.matchAll(s),o=[];for(let a of i)o.push(1===a.length?new pyStr(a[0]):2===a.length?new pyStr(a[1]):new pyTuple(a.slice(1).map((e=>new pyStr(e)))));return new pyList(o)},$split(e,t){t=(t=asIndexSized(t))||Number.POSITIVE_INFINITY;let{jsstr:r}=this.get$jsstr(e);const n=this.v,s=[];let i,o=0,a=0;for(;null!==(i=n.exec(r))&&o1&&s.push(...i.slice(1).map((e=>void 0===e?pyNone:new pyStr(e)))),o++,a=n.lastIndex,i.index===n.lastIndex){if(!r)break;r=r.slice(i.index),a=0,n.lastIndex=1}return n.lastIndex=0,s.push(new pyStr(r.slice(a))),new pyList(s)},match$from_repl(e,t,r,n){let s;const i=e[e.length-1];return"object"==typeof i?(s=e.slice(0,e.length-3),Object.assign(s,{groups:i}),s.index=e[e.length-3]):(s=e.slice(0,e.length-2),s.groups=void 0,s.index=e[e.length-2]),new re.Match(s,this.str,t,r,n)},do$sub(e,t,r){const{jsstr:n,pos:s,endpos:i}=this.get$jsstr(t);let o;checkCallable(e)?o=t=>{const r=pyCall(e,[t]);if(!checkString(r))throw new TypeError("expected str instance, "+typeName(r)+" found");return r.toString()}:(e=this.get$jsstr(e).jsstr,o=t=>t.template$repl(e)),r=this.get$count(r);let a=0;const l=n.replace(this.v,((...e)=>{if(a>=r)return e[0];a++;const n=this.match$from_repl(e,t,s,i);return o(n)}));return[new pyStr(l),new pyInt(a)]},$sub(e,t,r){const[n]=this.do$sub(e,t,r);return n},$subn(e,t,r){return new pyTuple(this.do$sub(e,t,r))},do$match(e,t,r,n){let s;({jsstr:s,pos:r,endpos:n}=this.get$jsstr(t,r,n));const i=s.match(e);return null===i?pyNone:new re.Match(i,this,t,r,n)},$search(e,t,r){var n=new RegExp(this.v.source,this.v.flags.replace("g",""));return this.do$match(n,e,t,r)},$match(e,t,r){let n=this.v.source,s=this.v.flags.replace("g","").replace("m","");n="^"+n;var i=new RegExp(n,s);return this.do$match(i,e,t,r)},full$match(e,t,r){let n=this.v.source,s=this.v.flags.replace("g","").replace("m","");n="^(?:"+n+")$";var i=new RegExp(n,s);return this.do$match(i,e,t,r)},find$iter(e,t,r){let n;({jsstr:n,pos:t,endpos:r}=this.get$jsstr(e,t,r));const s=n.matchAll(this.v);return new pyIterator((()=>{const n=s.next().value;if(void 0!==n)return new re.Match(n,this,e,t,r)}))}},flags:{sk$acceptable_as_base_class:!1}}),re.Match=buildNativeClass("re.Match",{constructor:function(e,t,r,n,s){this.v=e,this.$match=new pyStr(this.v[0]),this.str=r,this.$re=t,this.$pos=n,this.$endpos=s,this.$groupdict=null,this.$groups=null,this.$lastindex=null,this.$lastgroup=null,this.$regs=null},slots:{tp$doc:"The result of re.match() and re.search().\\nMatch objects always have a boolean value of True.",$r(){let e="",new pyStr(e)},tp$as_squence_or_mapping:!0,mp$subscript(e){const t=this.get$group(e);return void 0===t?pyNone:new pyStr(t)}},methods:{group:{$meth:function group(...e){let t;return e.length<=1?(t=this.get$group(e[0]),void 0===t?pyNone:new pyStr(t)):(t=[],e.forEach((e=>{e=this.get$group(e),t.push(void 0===e?pyNone:new pyStr(e))})),new pyTuple(t))},$flags:{MinArgs:0},$textsig:null,$doc:"group([group1, ...]) -> str or tuple.\\n Return subgroup(s) of the match by indices or names.\\n For 0 returns the entire match."},start:{$meth:function start(e){const t=this.get$group(e);return new pyInt(void 0===t?-1:this.str.v.indexOf(t,this.v.index+this.$pos))},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, group=0, /)",$doc:"Return index of the start of the substring matched by group."},end:{$meth:function end(e){const t=this.get$group(e);return new pyInt(void 0===t?-1:this.str.v.indexOf(t,this.v.index+this.$pos)+[...t].length)},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, group=0, /)",$doc:"Return index of the end of the substring matched by group."},span:{$meth:function span(e){return this.$span(e)},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, group=0, /)",$doc:"For match object m, return the 2-tuple (m.start(group), m.end(group))."},groups:{$meth:function groups(e){return null!==this.$groups||(this.$groups=Array.from(this.v.slice(1),(t=>void 0===t?e:new pyStr(t))),this.$groups=new pyTuple(this.$groups)),this.$groups},$flags:{NamedArgs:["default"],Defaults:[pyNone]},$textsig:"($self, /, default=None)",$doc:"Return a tuple containing all the subgroups of the match, from 1.\\n\\n default\\n Is used for groups that did not participate in the match."},groupdict:{$meth:function groupdict(e){if(null!==this.$groupdict)return this.$groupdict;if(void 0===this.v.groups)this.$groupdict=new pyDict;else{const t=[];Object.entries(this.v.groups).forEach((([r,n])=>{t.push(new pyStr(r)),t.push(void 0===n?e:new pyStr(n))})),this.$groupdict=new pyDict(t)}return this.$groupdict},$flags:{NamedArgs:["default"],Defaults:[pyNone]},$textsig:"($self, /, default=None)",$doc:"Return a dictionary containing all the named subgroups of the match, keyed by the subgroup name.\\n\\n default\\n Is used for groups that did not participate in the match."},expand:{$meth:function expand(e){if(!checkString(e))throw new TypeError("expected str instance got "+typeName(e));return e=e.toString(),e=this.template$repl(e),new pyStr(e)},$flags:{OneArg:!0},$textsig:"($self, /, template)",$doc:"Return the string obtained by doing backslash substitution on the string template, as done by the sub() method."},__copy__:{$meth:function __copy__(){return this},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:null},__deepcopy__:{$meth:function __deepcopy__(){return this},$flags:{OneArg:!0},$textsig:"($self, memo, /)",$doc:null}},getsets:{lastindex:{$get(){if(null!==this.$lastindex)return this.$lastindex;let e,t=0;return this.v.forEach(((r,n)=>{n&&void 0!==r&&e!==r&&(t=n,e=r)})),this.$lastindex=t?new pyInt(t):pyNone,this.$lastindex},$doc:"The integer index of the last matched capturing group."},lastgroup:{$get(){if(null!==this.$lastgroup)return this.$lastgroup;if(void 0===this.v.groups)this.$lastgroup=pyNone;else{let e;Object.entries(this.v.groups).forEach((([t,r])=>{void 0!==r&&(e=t)})),this.$lastgroup=void 0===e?pyNone:new pyStr(e)}return this.$lastgroup},$doc:"The name of the last matched capturing group."},regs:{$get(){if(null!==this.$regs)return this.$regs;const e=[];return this.v.forEach(((t,r)=>{e.push(this.$span(r))})),this.$regs=new pyTuple(e),this.$regs}},string:{$get(){return this.str},$doc:"The string passed to match() or search()."},re:{$get(){return this.$re},$doc:"The regular expression object."},pos:{$get(){return new pyInt(this.$pos)},$doc:"The index into the string at which the RE engine started looking for a match."},endpos:{$get(){return new pyInt(this.$endpos)},$doc:"The index into the string beyond which the RE engine will not go."}},proto:{get$group(e){if(void 0===e)return this.v[0];if(checkString(e)){if(e=e.toString(),this.v.groups&&Object.prototype.hasOwnProperty.call(this.v.groups,e))return this.v.groups[e]}else if(isIndex(e)&&(e=asIndexSized(e))>=0&&e|\\\\g<([^\\d\\W]\\w*)>|\\\\g?/g,template$repl(e){return e.replace(this.template$regex,((e,t,r,n,s,i)=>{let o;if(void 0!==(t=t||r)?o=t{delete _compiled_patterns[e]})),pyNone},$flags:{NoArgs:!0},$textsig:"($module, / )",$doc:"Clear the regular expression caches"},template:{$meth:function template(e,t){return _compile(e,numberBinOp(re.T,t,"BitOr"))},$flags:{NamedArgs:["pattern","flags"],Defaults:[zero]},$textsig:"($module, / , pattern, flags=0)",$doc:"Compile a template pattern, returning a Pattern object"},escape:{$meth:function(e){if(!checkString(e))throw new TypeError("expected a str instances, got "+typeName(e));return e=(e=e.toString()).replace(escape_chrs,"\\\\$&"),new pyStr(e)},$flags:{NamedArgs:["pattern"],Defaults:[]},$textsig:"($module, / , pattern)",$doc:"\\n Escape special characters in a string.\\n "}});const escape_chrs=/[\\&\\~\\#.*+\\-?^${}()|[\\]\\\\\\t\\r\\v\\f\\n ]/g;return re}',"src/lib/requests/__init__.js":'var $builtinmodule=function(e){var n={__name__:new Sk.builtin.str("requests")};n.Response=Sk.misceval.buildClass(n,(function(e,n){n.__init__=new Sk.builtin.func((function(e,n){e.data$=n,e.lineList=e.data$.split("\\n"),e.lineList=e.lineList.slice(0,-1);for(var t=0;t")})),n.__repr__=n.__str__,n.__iter__=new Sk.builtin.func((function(e){var n=e.lineList;return Sk.builtin.makeGenerator((function(){if(!(this.$index>=this.$lines.length))return new Sk.builtin.str(this.$lines[this.$index++])}),{$obj:e,$index:0,$lines:n})})),n.read=new Sk.builtin.func((function(e,n){if(e.closed)throw new Sk.builtin.ValueError("I/O operation on closed file");var t=e.data$.length;void 0===n&&(n=t);var i=new Sk.builtin.str(e.data$.substr(e.pos$,n));return e.pos$+=n,e.pos$>=t&&(e.pos$=t),i})),n.readline=new Sk.builtin.func((function(e,n){var t="";return e.currentLine{var t="";if(e instanceof String||e instanceof Number||e instanceof Boolean)try{var i=n.toString().replaceAll("=","@");i=i.replaceAll("&","$");var r=e.toString().replaceAll("=","@");r=r.replaceAll("&","$"),t+="&"+i+"="+encodeURIComponent(r)}catch(s){t+="&"+n+"="+encodeURIComponent(e)}else $.each(e,(function(i){t+="&"+jsonToUrl(this,null==n?i:n+(e instanceof Array?"["+i+"]":"."+i))}));return t.substr(1)},requestFunc=function(e,t){e=Sk.ffi.remapToJs(e),t=Sk.ffi.remapToJs(t);const i=["method","url","params","data","headers","cookies","files","auth","timeout","allow_redirects","proxies","hooks","stream","verify","cert","json"];let r={method:"GET",url:"",params:null,data:"",headers:{"Content-type":"application/x-www-form-urlencoded"},cookies:null,files:null,auth:null,timeout:1e3,allow_redirects:null,proxies:null,hooks:null,stream:null,verify:null,cert:null,json:null};for(let n in e)r[i[n]]=e[n];for(let n=0;n=n){r=t.decoder.decode(new Uint8Array(e));break}}else{switch(224&o){case 252:n=6;break;case 248:n=5;break;case 240:n=4;break;case 224:n=3;break;default:n=2}e.push(o)}}return r},t.startReadLine=function(){t.readLineTimer=window.setTimeout((()=>{if(!t.keepReading)return void window.clearTimeout(t.readLineTimer);let e=!1;do{const n=t.readLine();e=n.endWithLF;const{text:r}=n;if(r&&t.output.push((t.output.length?t.output.pop():"")+r),e){t.output.length&&console.log(t.output),t.output.push("")}}while(e);for(;t.output.length>500;)t.output.shift();t.keepReading&&t.startReadLine()}),100)},t.addReadEvent=async function(){for(t.output=[],t.inputBuffer=[],t.outputBuffer=[],t.refreshInputBuffer=!1,t.refreshOutputBuffer=!0,t.startReadLine();t.obj.readable&&t.keepReading;){t.reader=t.obj.readable.getReader();try{for(;;){const{value:e,done:n}=await t.reader.read();if(t.refreshOutputBuffer&&e&&(t.outputBuffer=[...t.outputBuffer,...e]),t.refreshInputBuffer&&e&&(t.inputBuffer=[...t.inputBuffer,...e]),n)break}}catch(e){console.log(e)}finally{t.reader.releaseLock()}}},t.writeString=async function(e){const n=t.encoder.encode(e);await t.writeByteArr(n)},t.writeByteArr=async function(e){const n=t.obj.writable.getWriter();await n.write(new Int8Array(e).buffer),n.releaseLock(),await t.sleep(200)},t.setBaudRate=async function(e){t.keepReading=!1;const n=t.obj;await t.close(),await n.open({baudRate:e-0}),t.obj=n,t.keepReading=!0,t.addReadEvent()},t.setDTR=async function(e){t.dtr=e,await t.obj.setSignals({dataTerminalReady:e})},t.setRTS=async function(e){t.rts=e,await t.obj.setSignals({requestToSend:e})},t.setSignals=async function(e,n){t.dtr=e,t.rts=n,await t.obj.setSignals({dataTerminalReady:e,requestToSend:n})};let n={__name__:new Sk.builtin.str("serial")},r={baudrate:115200,bytesize:8,parity:"N",stopbits:1,timeout:1e3,xonxoff:!1,rtscts:!1,dsrdtr:!1};const serialInitFunc=function(e,n){e=Sk.ffi.remapToJs(e),n=Sk.ffi.remapToJs(n);const o=["baudrate","bytesize","parity","stopbits","timeout","xonxoff","rtscts","dsrdtr"];for(let t in e)e[t]&&(r[o[t]]=e[t]);const i=new Promise(((e,n)=>{t.isConnected()?e(t.obj):navigator.serial.requestPort().then((function(t){e(t)})).catch((function(e){t.obj=null,n(e)}))}));let u,a=new Sk.misceval.Suspension;return a.resume=function(){if(a.data.error)throw a.data.error;return Sk.builtin.none.none$},a.data={type:"Sk.promise",promise:i.then((function(e){return t.obj=e,Sk.builtin.none.none$}),(function(e){return console.log("err3",e),u="",Promise.reject(e)}))},a};serialInitFunc.co_fastcall=1;const serialOpenFunc=function(e,n){const o=new Promise(((e,n)=>{t.isConnected()?t.isOpend()?e():t.obj.open({baudRate:r.baudrate}).then((async function(){t.keepReading=!0,t.addReadEvent(),e()})).catch((function(e){t.obj=null,n(e)})):n("No serial found")}));let i=new Sk.misceval.Suspension;return i.resume=function(){if(i.data.error)throw i.data.error;return Sk.builtin.none.none$},i.data={type:"Sk.promise",promise:o.then((function(e){return Sk.builtin.none.none$}),(function(e){return console.log("err3",e),Promise.reject(e)}))},i},serialReadlineFunc=function(e,n){if(!t.isConnected())return new Sk.builtin.str("");if(console.log("length:",t.output.length),!t.isOpend()||t.output.length<2)return new Sk.builtin.str("");let r=t.output.shift();return console.log(r),new Sk.builtin.str(r)};return n.Serial=Sk.misceval.buildClass(n,(function(e,t){t.__init__=new Sk.builtin.func(serialInitFunc),t.__str__=new Sk.builtin.func((function(e){return Sk.ffi.remapToPy("")})),t.open=new Sk.builtin.func(serialOpenFunc),t.readline=new Sk.builtin.func(serialReadlineFunc)}),"Serial",[]),n};',"src/lib/signal.js":'var $builtinmodule=function(n){var i={};return i.SIG_DFL=new Sk.builtin.int_(0),i.SIG_IGN=new Sk.builtin.int_(1),i.CTRL_C_EVENT=new Sk.builtin.int_(0),i.CTRL_BREAK_EVENT=new Sk.builtin.int_(0),i.NSIG=new Sk.builtin.int_(23),i.SIGHUP=new Sk.builtin.int_(1),i.SIGNINT=new Sk.builtin.int_(2),i.SIGILL=new Sk.builtin.int_(4),i.SIGFPE=new Sk.builtin.int_(8),i.SIGKILL=new Sk.builtin.int_(9),i.SIGSEGV=new Sk.builtin.int_(11),i.SIGTERM=new Sk.builtin.int_(15),i.SIGBREAK=new Sk.builtin.int_(21),i.SIGABRT=new Sk.builtin.int_(22),i.pause=new Sk.builtin.func((function(){Sk.builtin.pyCheckArgsLen("pause",arguments.length,0,0);var n=new Sk.misceval.Suspension;return n.resume=function(){return Sk.builtin.none.none$},n.data={type:"Sk.promise",promise:new Promise((function(n,i){if(null!=Sk.signals&&Sk.signals.addEventListener){Sk.signals.addEventListener((function handleSignal(i){Sk.signals.removeEventListener(handleSignal),n()}))}else console.warn("signal.pause() not supported"),Sk.misceval.print_("signal.pause() not supported"),n()}))},n})),i.signal=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("signal.signal is not supported.")})),i};',"src/lib/string.js":'var $builtinmodule=function(i){var t={};return t.ascii_lowercase=new Sk.builtin.str("abcdefghijklmnopqrstuvwxyz"),t.ascii_uppercase=new Sk.builtin.str("ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t.ascii_letters=new Sk.builtin.str(t.ascii_lowercase.v+t.ascii_uppercase.v),t.lowercase=new Sk.builtin.str("abcdefghijklmnopqrstuvwxyz"),t.uppercase=new Sk.builtin.str("ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t.letters=new Sk.builtin.str(t.lowercase.v+t.uppercase.v),t.digits=new Sk.builtin.str("0123456789"),t.hexdigits=new Sk.builtin.str("0123456789abcdefABCDEF"),t.octdigits=new Sk.builtin.str("01234567"),t.punctuation=new Sk.builtin.str("!\\"#$%&\'()*+,-./:;<=>?@[\\\\]^_`{|}~"),t.whitespace=new Sk.builtin.str("\\t\\n\\v\\f\\r "),t.printable=new Sk.builtin.str(t.digits.v+t.letters.v+t.punctuation.v+" \\t\\n\\r\\v\\f"),t.split=new Sk.builtin.func((function(...i){return Sk.misceval.callsimArray(Sk.builtin.str.prototype.split,i)})),t.capitalize=new Sk.builtin.func((function(i){return Sk.misceval.callsimArray(Sk.builtin.str.prototype.capitalize,[i])})),t.join=new Sk.builtin.func((function(i,t){return void 0===t&&(t=new Sk.builtin.str(" ")),Sk.misceval.callsimArray(Sk.builtin.str.prototype.join,[t,i])})),t.capwords=new Sk.builtin.func((function(i,n){if(Sk.builtin.pyCheckArgsLen("capwords",arguments.length,1,2),!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("s must be a string");if(void 0===n&&(n=new Sk.builtin.str(" ")),!Sk.builtin.checkString(n))throw new Sk.builtin.TypeError("sep must be a string");for(var e=Sk.misceval.callsimArray(t.split,[i,n]).v,r=[],l=0;l1&&function isLeapYear(t){return 0==(3&t)&&(t%100!=0||t%400==0)}(e?t.getUTCFullYear():t.getFullYear())&&u++,u}function stdTimezoneOffset(){var t=new Date(2002,0,1),e=new Date(2002,6,1);return Math.max(t.getTimezoneOffset(),e.getTimezoneOffset())}function dst(t){return t.getTimezoneOffset()1)return n[1];if(void 0===e)return null;try{return(n=t.toLocaleString(e,{timeZoneName:"short"}).split(" "))[n.length-1]}catch(i){return null}}function from_seconds(t,e){var i=new Date;if(t){Sk.builtin.pyCheckType("secs","number",Sk.builtin.checkNumber(t));var u=Sk.builtin.asnum$(t);i.setTime(1e3*u)}return function date_to_struct_time(t,e){let i;if(e=e||!1)i=[new Sk.builtin.str("UTC"),new Sk.builtin.int_(0)];else{var u=-t.getTimezoneOffset()/60,r=(u<0?"-":"+")+(""+Math.abs(u)).padStart(2,"0");i=[new Sk.builtin.str(r),new Sk.builtin.int_(3600*u)]}return new n([Sk.builtin.assk$(e?t.getUTCFullYear():t.getFullYear()),Sk.builtin.assk$((e?t.getUTCMonth():t.getMonth())+1),Sk.builtin.assk$(e?t.getUTCDate():t.getDate()),Sk.builtin.assk$(e?t.getUTCHours():t.getHours()),Sk.builtin.assk$(e?t.getUTCMinutes():t.getMinutes()),Sk.builtin.assk$(e?t.getUTCSeconds():t.getSeconds()),Sk.builtin.assk$(((e?t.getUTCDay():t.getDay())+6)%7),Sk.builtin.assk$(getDayOfYear(t,e)),Sk.builtin.assk$(e?0:dst(t)?1:0)],i)}(i,e)}e.struct_time=n,e.time=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("time",arguments.length,0,0),new Sk.builtin.float_(Date.now()/1e3)})),e.sleep=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("sleep",arguments.length,1,1),Sk.builtin.pyCheckType("delay","float",Sk.builtin.checkNumber(t)),new Sk.misceval.promiseToSuspension(new Promise((function(e){Sk.setTimeout((function(){e(Sk.builtin.none.none$)}),1e3*Sk.ffi.remapToJs(t))})))})),e.localtime=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("localtime",arguments.length,0,1),from_seconds(t,!1)})),e.gmtime=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("gmtime",arguments.length,0,1),from_seconds(t,!0)}));var i=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function asctime_f(t){if(Sk.builtin.pyCheckArgsLen("asctime",arguments.length,0,1),!t||Sk.builtin.checkNone(t)?t=from_seconds():t instanceof n||(t=new n(t)),t instanceof Sk.builtin.tuple&&9==t.v.length){var e=[];return e.push(u[Sk.builtin.asnum$(t.v[6])]),e.push(i[Sk.builtin.asnum$(t.v[1])-1]),e.push(padLeft(Sk.builtin.asnum$(t.v[2]).toString(),2,"0")),e.push(padLeft(Sk.builtin.asnum$(t.v[3]).toString(),2,"0")+":"+padLeft(Sk.builtin.asnum$(t.v[4]).toString(),2,"0")+":"+padLeft(Sk.builtin.asnum$(t.v[5]).toString(),2,"0")),e.push(padLeft(Sk.builtin.asnum$(t.v[0]).toString(),4,"0")),new Sk.builtin.str(e.join(" "))}}function mktime_f(t){if(Sk.builtin.pyCheckArgsLen("mktime",arguments.length,1,1),t instanceof Sk.builtin.tuple&&9==t.v.length){var e=new Date(Sk.builtin.asnum$(t.v[0]),Sk.builtin.asnum$(t.v[1])-1,Sk.builtin.asnum$(t.v[2]),Sk.builtin.asnum$(t.v[3]),Sk.builtin.asnum$(t.v[4]),Sk.builtin.asnum$(t.v[5]));return Sk.builtin.assk$(e.getTime()/1e3,void 0)}throw new Sk.builtin.TypeError("mktime() requires a struct_time or 9-tuple")}e.asctime=new Sk.builtin.func(asctime_f),e.ctime=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("ctime",arguments.length,0,1),asctime_f(from_seconds(t))})),e.mktime=new Sk.builtin.func(mktime_f),e.timezone=new Sk.builtin.int_(60*stdTimezoneOffset()),e.altzone=new Sk.builtin.int_(60*function altTimezoneOffset(){var t=new Date(2002,0,1),e=new Date(2002,6,1);return Math.min(t.getTimezoneOffset(),e.getTimezoneOffset())}()),e.daylight=new Sk.builtin.int_(function daylight_check(){const t=new Date(2002,0,1),e=new Date(2002,6,1);return t.getTimezoneOffset()!=e.getTimezoneOffset()}()?1:0),e.tzname=new Sk.builtin.tuple(function timeZoneNames(){var t=new Date(2002,0,1),e=new Date(2002,6,1);return dst(t)?[new Sk.builtin.str(timeZoneName(e)),new Sk.builtin.str(timeZoneName(t))]:[new Sk.builtin.str(timeZoneName(t)),new Sk.builtin.str(timeZoneName(e))]}()),e.accept2dyear=Sk.builtin.assk$(1),e.clock=new Sk.builtin.func((function(){var t=0;return t=Sk.global.performance&&Sk.global.performance.now?performance.now()/1e3:(new Date).getTime()/1e3,new Sk.builtin.float_(t)})),e.strftime=new Sk.builtin.func((function strftime_f(t,e){var i;if(Sk.builtin.pyCheckArgsLen("strftime",arguments.length,1,2),!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("format must be a string");return e?e instanceof n||(e=new n(e)):e=from_seconds(),function check_struct_time(t){if(!(t instanceof n))throw new Sk.builtin.TypeError("Required argument \'struct_time\' must be of type: \'struct_time\'");var e,i=t.v.length,u=t.v;for(e=0;e(r=e.tp$getattr(new Sk.builtin.str("_strptime_time")),r.tp$call(t)))):r.tp$call(t)})),e};',"src/lib/token.js":'var $builtinmodule=function(n){var e={};e.__file__=new Sk.builtin.str("/src/lib/token.py");const t=[];for(let i in Sk.token.tok_name){const n=Sk.token.tok_name[i].slice(2),k=parseInt(i,10);t.push(Sk.ffi.remapToPy(k)),t.push(Sk.ffi.remapToPy(n)),e[n]=Sk.ffi.remapToPy(k)}return e.tok_name=new Sk.builtin.dict(t),e.ISTERMINAL=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("ISTERMINAL",arguments.length,1,1),Sk.token.ISTERMINAL(Sk.ffi.remapToJs(n))})),e.ISNONTERMINAL=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("ISNONTERMINAL",arguments.length,1,1),Sk.token.ISNONTERMINAL(Sk.ffi.remapToJs(n))})),e.ISEOF=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("ISEOF",arguments.length,1,1),Sk.token.ISEOF(Sk.ffi.remapToJs(n))})),e};',"src/lib/tokenize.js":'var $builtinmodule=function(e){var i={};return i.tokenize=new Sk.builtin.func((function(e){Sk.builtin.pyCheckArgsLen("tokenize",1,1),Sk.builtin.checkFunction(e);const i=[];return Sk._tokenize("",(function jsReadline(){const i=Sk.misceval.callsimArray(e);return Sk.ffi.remapToJs(i)}),"UTF-8",(function receiveToken(e){i.push(new Sk.builtin.tuple([Sk.ffi.remapToPy(e.type),Sk.ffi.remapToPy(e.string),new Sk.builtin.tuple([Sk.ffi.remapToPy(e.start[0]),Sk.ffi.remapToPy(e.start[1])]),new Sk.builtin.tuple([Sk.ffi.remapToPy(e.end[0]),Sk.ffi.remapToPy(e.end[1])]),Sk.ffi.remapToPy(e.line)]))})),new Sk.builtin.list(i)})),i};',"src/lib/turtle.js":'var $builtinmodule=function(e){"use strict";var t=function getConfiguredTarget(){var e,t;for(t="string"==typeof(e=Sk.TurtleGraphics&&Sk.TurtleGraphics.target||"turtle")?document.getElementById(e):e;t.firstChild;)t.removeChild(t.firstChild);return t}();return t.turtleInstance?t.turtleInstance.reset():t.turtleInstance=function generateTurtleModule(e){var t,n,r,i,s,a,o,l,u={__name__:new Sk.builtin.str("turtle")},c=!0,h=1e3/30,d={},f={},_={target:"turtle",width:400,height:400,worldWidth:0,worldHeight:0,animate:!0,bufferSize:0,allowUndo:!0,assets:{}};function getAsset(e){var t=i.assets,n="function"==typeof t?t(e):t[e];return"string"==typeof n?new Promise((function(t,r){var s=new Image;s.onload=function(){i.assets[e]=this,t(s)},s.onerror=function(){r(new Error("Missing asset: "+n))},s.src=n})):new InstantPromise(void 0,n)}function InstantPromise(e,t){this.lastResult=t,this.lastError=e}function FrameManager(){this.reset()}function getFrameManager(){return o||(o=new FrameManager),o}function MouseHandler(){var e=this;for(var t in this._target=getTarget(),this._managers={},this._handlers={mousedown:function(t){e.onEvent("mousedown",t)},mouseup:function(t){e.onEvent("mouseup",t)},mousemove:function(t){e.onEvent("mousemove",t)}},this._handlers)this._target.addEventListener(t,this._handlers[t])}function EventManager(e,t){this._type=e,this._target=t,this._handlers=void 0,function getMouseHandler(){return a||(a=new MouseHandler),a}().addManager(e,this)}function Turtle(e){if(getFrameManager().addTurtle(this),this._screen=getScreen(),this._managers={},this._shape=e.v,!d.hasOwnProperty(this._shape))throw new Sk.builtin.ValueError("Shape:\'"+this._shape+"\' not in default shape, please check shape again!");this.reset()}function Screen(){var e,t;this._frames=1,this._delay=void 0,this._bgcolor="none",this._mode="standard",this._managers={},this._keyLogger={},e=(i.worldWidth||i.width||getWidth())/2,t=(i.worldHeight||i.height||getHeight())/2,this.setUpWorld(-e,-t,e,t)}function ensureAnonymous(){return s||(s=Sk.misceval.callsimArray(u.Turtle)),s.instance}function getTarget(){return e}function getScreen(){return r||(r=new Screen),r}function getWidth(){return 0|(r&&r._width||i.width||getTarget().clientWidth||_.width)}function getHeight(){return 0|(r&&r._height||i.height||getTarget().clientHeight||_.height)}function createLayer(e,t){var n,r=document.createElement("canvas"),i=getWidth(),s=getHeight(),a=getTarget().firstChild?-s+"px":"0";return r.width=i,r.height=s,r.style.position="relative",r.style.display="block",r.style.setProperty("margin-top",a),r.style.setProperty("z-index",e),t&&(r.style.display="none"),getTarget().appendChild(r),(n=r.getContext("2d")).lineCap="round",n.lineJoin="round",applyWorld(getScreen(),n),n}function cancelAnimationFrame(){t&&((window.cancelAnimationFrame||window.mozCancelAnimationFrame)(t),t=void 0),n&&(window.clearTimeout(n),n=void 0)}function applyWorld(e,t){var n=e.llx,r=(e.lly,e.urx,e.ury),i=e.xScale,s=e.yScale;t&&(clearLayer(t),t.restore(),t.save(),t.scale(1/i,1/s),t.translate(-n,-r))}function pushUndo(e){var t,n,r;if(i.allowUndo&&e._bufferSize){for(e._undoBuffer||(e._undoBuffer=[]);e._undoBuffer.length>e._bufferSize;)e._undoBuffer.shift();for(n={},t="x y angle radians color fill down filling shown shape size".split(" "),r=0;r=0;)this._turtles[e].reset();this._turtles=[],this._frames=[],this._frameCount=0,this._buffer=1,this._rate=0,this._animationFrame=animationFrame()},e.addFrame=function(e,t){return t&&(this._frameCount+=1),this.frames().push(e),!i.animate||this._buffer&&this._frameCount===this.frameBuffer()?this.update():new InstantPromise},e.frames=function(){return this._frames},e.frameBuffer=function(e){return"number"==typeof e&&(this._buffer=0|e,e&&e<=this._frameCount)?this.update():this._buffer},e.refreshInterval=function(e){return"number"==typeof e&&(this._rate=0|e,this._animationFrame=animationFrame(e)),this._rate},e.update=function(){return this._frames&&this._frames.length?this.requestAnimationFrame():new InstantPromise},e.requestAnimationFrame=function(){var e,t,n=this._frames,r=this._animationFrame,i=this._turtles,s=getScreen().spriteLayer();return this._frames=[],this._frameCount=0,new Promise((function(a){r((function paint(){for(t=0;t=0;)l[a].test(n,r,i,s)&&l[a].canMove("mousedown"===e);if(o&&o.length)for(computeCoordinates(),a=o.length;--a>=0;)("mousemove"===e&&o[a].canMove()&&o[a].test(n,r,i,s)||"mousedown"===e&&o[a].test(n,r,i,s))&&o[a].trigger([i,s])},l.reset=function(){this._managers={}},l.addManager=function(e,t){this._managers[e]||(this._managers[e]=[]),this._managers[e].push(t)},function(e){e.reset=function(){this._handlers=void 0},e.canMove=function(e){return!(!this._target||!this._target.hitTest)&&(void 0!==e&&(this._target.hitTest.hit=e),this._target.hitTest.hit)},e.test=function(e,t,n,r){return this._target&&this._target.hitTest?this._target.hitTest(e,t,n,r):!!this._target},e.trigger=function(e){var t,n=this._handlers;if(n&&n.length)for(t=0;t.5&&e<10.5?Sk.builtin.asnum$(Sk.builtin.round(Sk.builtin.assk$(e))):0,this._speed=e,this._computed_speed=2*e,this.addUpdate(void 0,!1,{speed:this._computed_speed})},e.$speed.minArgs=0,e.$speed.co_varnames=["speed"],e.$pencolor=function(e,t,n,r){return void 0!==e?(this._color=createColor(this._colorMode,e,t,n,r),this.addUpdate(void 0,this._shown,{color:this._color})):hexToRGB(this._color)},e.$pencolor.co_varnames=["r","g","b","a"],e.$pencolor.minArgs=0,e.$pencolor.returnType=f.COLOR,e.$fillcolor=function(e,t,n,r){return void 0!==e?(this._fill=createColor(this._colorMode,e,t,n,r),this.addUpdate(void 0,this._shown,{fill:this._fill})):hexToRGB(this._fill)},e.$fillcolor.co_varnames=["r","g","b","a"],e.$fillcolor.minArgs=0,e.$fillcolor.returnType=f.COLOR,e.$color=function(e,t,n,r){return void 0!==e?(void 0===t||void 0!==n?(this._color=createColor(this._colorMode,e,t,n,r),this._fill=this._color):(this._color=createColor(this._colorMode,e),this._fill=createColor(this._colorMode,t)),this.addUpdate(void 0,this._shown,{color:this._color,fill:this._fill})):[this.$pencolor(),this.$fillcolor()]},e.$color.minArgs=0,e.$color.co_varnames=["color","fill","b","a"],e.$color.returnType=function(e){return new Sk.builtin.tuple([f.COLOR(e[0]),f.COLOR(e[1])])},e.$fill=function(e){if(void 0!==e){if((e=!!e)===this._filling)return;return this._filling=e,e?(pushUndo(this),this.addUpdate(void 0,!1,{filling:!0,fillBuffer:[{x:this._x,y:this._y}]})):(pushUndo(this),this.addUpdate((function(){this.fillBuffer.push(this),drawFill.call(this)}),!0,{filling:!1,fillBuffer:void 0}))}return this._filling},e.$fill.co_varnames=["flag"],e.$fill.minArgs=0,e.$begin_fill=function(){return this.$fill(!0)},e.$end_fill=function(){return this.$fill(!1)},e.$stamp=function(){return pushUndo(this),this.addUpdate((function(){drawTurtle(this,this.context())}),!0)},e.$dot=function(e,t,n,r,i){return pushUndo(this),e="number"==typeof(e=Sk.builtin.asnum$(e))?Math.max(1,0|Math.abs(e)):Math.max(this._size+4,2*this._size),t=void 0!==t?createColor(this._colorMode,t,n,r,i):this._color,this.addUpdate(drawDot,!0,void 0,e,t)},e.$dot.co_varnames=["size","color","g","b","a"],e.$write=function(e,t,n,r){var i,s,a,o,l,u=this;return pushUndo(this),e=String(e),r&&r.constructor===Array&&(s="string"==typeof r[0]?r[0]:"Arial",a=String(r[1]||"12pt"),o="string"==typeof r[2]?r[2]:"normal",/^\\d+$/.test(a)&&(a+="pt"),r=[o,a,s].join(" ")),n||(n="left"),i=this.addUpdate(drawText,!0,void 0,e,n,r),!t||"left"!==n&&"center"!==n||(l=function measureText(e,t){return t&&(p.font=t),p.measureText(e).width}(e,r),"center"===n&&(l/=2),i=i.then((function(){var e=u.getState();return u.translate(e.x,e.y,l,0,!0)}))),i},e.$write.co_varnames=["message","move","align","font"],e.$write.minArgs=1,e.$pensize=e.$width=function(e){return void 0!==e?(this._size=e,this.addUpdate(void 0,this._shown,{size:e})):this._size},e.$pensize.minArgs=e.$width.minArgs=0,e.$pensize.co_varnames=e.$width.co_varnames=["width"],e.$showturtle=e.$st=function(){return this._shown=!0,this.addUpdate(void 0,!0,{shown:!0})},e.$hideturtle=e.$ht=function(){return this._shown=!1,this.addUpdate(void 0,!0,{shown:!1})},e.$isvisible=function(){return this._shown},e.$shape=function(e){return e&&d[e]?(this._shape=e,this.addUpdate(void 0,this._shown,{shape:e})):this._shape},e.$shape.minArgs=0,e.$shape.co_varnames=["name"],e.$window_width=function(){return this._screen.$window_width()},e.$window_height=function(){return this._screen.$window_height()},e.$tracer=function(e,t){return this._screen.$tracer(e,t)},e.$tracer.minArgs=0,e.$tracer.co_varnames=["n","delay"],e.$update=function(){return this._screen.$update()},e.$delay=function(e){return this._screen.$delay(e)},e.$delay.minArgs=0,e.$delay.co_varnames=["delay"],e.$reset=function(){return this.reset(),this.$clear()},e.$mainloop=e.$done=function(){return this._screen.$mainloop()},e.$clear=function(){return this.addUpdate((function(){clearLayer(this.context())}),!0)},e.$dot.minArgs=0,e.$onclick=function(e,t,n){this.getManager("mousedown").addHandler(e,n)},e.$onclick.minArgs=1,e.$onclick.co_varnames=["method","btn","add"],e.$onrelease=function(e,t,n){this.getManager("mouseup").addHandler(e,n)},e.$onrelease.minArgs=1,e.$onrelease.co_varnames=["method","btn","add"],e.$ondrag=function(e,t,n){this.getManager("mousemove").addHandler(e,n)},e.$ondrag.minArgs=1,e.$ondrag.co_varnames=["method","btn","add"],e.$getscreen=function(){return Sk.misceval.callsimArray(u.Screen)},e.$getscreen.isSk=!0,e.$clone=function(){var e=Sk.misceval.callsimOrSuspendArray(u.Turtle);return e.instance._x=this._x,e.instance._y=this._y,e.instance._angle=this._angle,e.instance._radians=this._radians,e.instance._shape=this._shape,e.instance._color=this._color,e.instance._fill=this._fill,e.instance._filling=this._filling,e.instance._size=this._size,e.instance._computed_speed=this._computed_speed,e.instance._down=this._down,e.instance._shown=this._shown,e.instance._colorMode=this._colorMode,e.instance._isRadians=this._isRadians,e.instance._fullCircle=this._fullCircle,e.instance._bufferSize=this._bufferSize,e.instance._undoBuffer=this._undoBuffer,e._clonedFrom=this,e},e.$clone.returnType=function(e){return e},e.$getturtle=e.$getpen=function(){return this.skInstance},e.$getturtle.isSk=!0}(Turtle.prototype),function(e){e.spriteLayer=function(){return this._sprites||(this._sprites=createLayer(3))},e.bgLayer=function(){return this._background||(this._background=createLayer(1))},e.hitTestLayer=function(){return this._hitTest||(this._hitTest=createLayer(0,!0))},e.getManager=function(e){return this._managers[e]||(this._managers[e]=new EventManager(e,this)),this._managers[e]},e.reset=function(){var e;for(e in this._keyListeners=void 0,this._keyLogger)window.clearInterval(this._keyLogger[e]),window.clearTimeout(this._keyLogger[e]),delete this._keyLogger[e];for(e in this._keyDownListener&&(getTarget().removeEventListener("keydown",this._keyDownListener),this._keyDownListener=void 0),this._keyUpListener&&(getTarget().removeEventListener("keyup",this._keyUpListener),this._keyUpListener=void 0),this._timer&&(window.clearTimeout(this._timer),this._timer=void 0),this._managers)this._managers[e].reset();this._mode="standard",removeLayer(this._sprites),this._sprites=void 0,removeLayer(this._background),this._background=void 0},e.setUpWorld=function(e,t,n,r){var i=this;i.llx=e,i.lly=t,i.urx=n,i.ury=r,i.xScale=(n-e)/getWidth(),i.yScale=-1*(r-t)/getHeight(),i.lineScale=Math.min(Math.abs(i.xScale),Math.abs(i.yScale))},e.$setup=function(e,t,n,r){return isNaN(parseFloat(e))&&(e=getWidth()),isNaN(parseFloat(t))&&(t=getHeight()),e<=1&&(e=getWidth()*e),t<=1&&(t=getHeight()*t),this._width=e,this._height=t,this._xOffset=void 0===n||isNaN(parseInt(n))?0:parseInt(n),this._yOffset=void 0===r||isNaN(parseInt(r))?0:parseInt(r),"world"===this._mode?this._setworldcoordinates(this.llx,this.lly,this.urx,this.ury):this._setworldcoordinates(-e/2,-t/2,e/2,t/2)},e.$setup.minArgs=0,e.$setup.co_varnames=["width","height","startx","starty"],e.$register_shape=e.$addshape=function(e,t){if(!t)return getAsset(e).then((function(t){d[e]=t}));d[e]=t},e.$register_shape.minArgs=1,e.$register_shape.co_varnames=["name","shape"],e.$getshapes=function(){return Object.keys(d)},e.$tracer=function(e,t){return void 0!==e||void 0!==t?("number"==typeof t&&(this._delay=t,getFrameManager().refreshInterval(t)),"number"==typeof e?(this._frames=e,getFrameManager().frameBuffer(e)):void 0):this._frames},e.$tracer.co_varnames=["frames","delay"],e.$tracer.minArgs=0,e.$delay=function(e){return void 0!==e?this.$tracer(void 0,e):void 0===this._delay?h:this._delay},e.$delay.co_varnames=["delay"],e._setworldcoordinates=function(e,t,n,r){return getFrameManager().turtles(),this.setUpWorld(e,t,n,r),this._sprites&&applyWorld(this,this._sprites),this._background&&applyWorld(this,this._background),this.$clear()},e.$setworldcoordinates=function(e,t,n,r){return this._mode="world",this._setworldcoordinates(e,t,n,r)},e.$setworldcoordinates.co_varnames=["llx","lly","urx","ury"],e.minArgs=4,e.$clear=e.$clearscreen=function(){return this.reset(),this.$reset()},e.$update=function(){return getFrameManager().update()},e.$reset=e.$resetscreen=function(){var e=this,t=getFrameManager().turtles();return getFrameManager().addFrame((function(){applyWorld(e,e._sprites),applyWorld(e,e._background);for(var n=0;n1&&t[s]&&t[s].test(r),r===a||i){e._keyListeners[r](),e._createKeyRepeater(r,s),n.preventDefault();break}}},getTarget().addEventListener("keydown",this._keyDownListener))},e._createKeyUpListener=function(){var e=this;this._keyUpListener||(this._keyUpListener=function(t){var n=e._keyLogger[t.charCode||t.keyCode];void 0!==n&&(t.preventDefault(),window.clearInterval(n),window.clearTimeout(n),delete e._keyLogger[t.charCode||t.keyCode])},getTarget().addEventListener("keyup",this._keyUpListener))},e.$title=function(e){document.title=e},e.$title.minArgs=1,e.$title.co_varnames=["title"],e.$listen=function(){this._createKeyUpListener(),this._createKeyDownListener()},e.$onkey=function(e,t){if("function"==typeof t){var n=e;e=t,t=n}t=String(t).toLowerCase(),e&&"function"==typeof e?(this._keyListeners||(this._keyListeners={}),this._keyListeners[t]=e):delete this._keyListeners[t]},e.$onkey.minArgs=2,e.$onkey.co_varnames=["method","keyValue"],e.$onscreenclick=function(e,t,n){this.getManager("mousedown").addHandler(e,n)},e.$onscreenclick.minArgs=1,e.$onscreenclick.co_varnames=["method","btn","add"],e.$ontimer=function(e,t){this._timer&&(window.clearTimeout(this._timer),this._timer=void 0),e&&"number"==typeof t&&(this._timer=window.setTimeout(e,Math.max(0,0|t)))},e.$ontimer.minArgs=0,e.$ontimer.co_varnames=["method","interval"]}(Screen.prototype);var g=new Image;function removeLayer(e){e&&e.canvas&&e.canvas.parentNode&&e.canvas.parentNode.removeChild(e.canvas)}function clearLayer(e,t,n){e&&(e.save(),e.setTransform(1,0,0,1,0,0),t?(e.fillStyle=t,e.fillRect(0,0,e.canvas.width,e.canvas.height)):e.clearRect(0,0,e.canvas.width,e.canvas.height),n&&e.drawImage(n,0,0),e.restore())}function drawTurtle(e,t){var n,r,i,s=d[e.shape],a=getScreen(),o=(getWidth(),getHeight(),a.xScale),l=a.yScale;if(t){if(n=Math.cos(e.radians)/o,r=Math.sin(e.radians)/l,i=Math.atan2(r,n)-Math.PI/2,t.save(),t.translate(e.x,e.y),t.scale(o,l),s.nodeName){var u=s.naturalWidth,c=s.naturalHeight;t.drawImage(s,0,0,u,c,-u/2,-c/2,u,c)}else{t.rotate(i),t.beginPath(),t.lineWidth=1,t.strokeStyle=e.color,t.fillStyle=e.fill,t.moveTo(-s[0][0],s[0][1]);for(var h=1;ho)throw u=l===o?"exactly "+o:"between "+l+" and "+o,new Sk.builtin.TypeError(a+"() takes "+u+" positional argument(s) ("+d.length+" given)");for(e=d.length;--e>=0;)void 0!==d[e]&&(d[e]instanceof Sk.builtin.func?d[e]=pythonToJavascriptFunction(d[e]):d[e]instanceof Sk.builtin.method?d[e]=pythonToJavascriptFunction(d[e].im_func,d[e].im_self):d[e]&&d[e].$d instanceof Sk.builtin.dict&&d[e].instance?d[e]=d[e].instance:d[e]=Sk.ffi.remapToJs(d[e]));var _=d.slice(0);for(d=[],e=_.length;e>=0;--e)null!==_[e]&&(d[e]=_[e]);try{t=f[n].apply(f,d)}catch(g){throw window&&window.console&&(window.console.log("wrapped method failed"),window.console.log(g.stack)),g}return t instanceof InstantPromise&&(t=t.lastResult),t instanceof Promise?(t=t.catch((function(e){throw window&&window.console&&(window.console.log("promise failed"),window.console.log(e.stack)),e})),(i=new Sk.misceval.Suspension).resume=function(){return void 0===s?Sk.builtin.none.none$:Sk.ffi.remapToPy(s)},i.data={type:"Sk.promise",promise:t.then((function(e){return s=e,e}))},i):void 0===t?Sk.builtin.none.none$:h?t:"function"==typeof c?c(t):Sk.ffi.remapToPy(t)},i.co_name=new Sk.builtin.str(a),i.co_varnames=u.slice(),i.$defaults=[];for(var d=l;d")})),e.__iter__=new Sk.builtin.func((function(n){var e=n.lineList;return Sk.builtin.makeGenerator((function(){if(!(this.$index>=this.$lines.length))return new Sk.builtin.str(this.$lines[this.$index++])}),{$obj:n,$index:0,$lines:e})})),e.read=new Sk.builtin.func((function(n,e){if(n.closed)throw new Sk.builtin.ValueError("I/O operation on closed file");var i=n.data$.length;void 0===e&&(e=i);var t=new Sk.builtin.str(n.data$.substr(n.pos$,e));return n.pos$+=e,n.pos$>=i&&(n.pos$=i),t})),e.readline=new Sk.builtin.func((function(n,e){var i="";return n.currentLinee===o)).length)throw new i("one of the hex, bytes, bytes_le, fields, or int arguments must be given");if(u!==o){u=u.toString().replace("urn:","").replace("uuid:","");let e=0,i=u.length-1;for(;"{}".indexOf(u[e])>=0;)e++;for(;"{}".indexOf(u[i])>=0;)i--;if(u=u.slice(e,i+1),u=u.replace(S,""),32!==u.length)throw new s("badly formed hexadecimal UUID string");f=d(n,[new t(u),U])}if(c!==o){if(!(c instanceof e))throw new i("bytes_le should be a bytes instance");if(c=c.valueOf(),16!==c.length)throw new s("bytes_le is not a 16-char string");h=switchBytesBytesLe(c),h=new e(h)}if(h!==o){if(!(h instanceof e))throw new i("bytes_le should be a bytes instance");if(16!==h.valueOf().length)throw new s("bytes is not a 16-char string");f=d(w,[h],["byteorder",v])}if(p!==o)throw new r("fields argument is not yet supported");if(f!==o&&(g(f,_,"Lt")||((e,t)=>g(e,t,"GtE"))(f,y)))throw new s("int is out of range (need a 128-bit value)");this.$int=f,this.$isSafe=I},tp$str(){const e=E.nb$remainder(this.$int).toString();return new t(`${e.slice(0,8)}-${e.slice(8,12)}-${e.slice(12,16)}-${e.slice(16,20)}-${e.slice(20)}`)},$r(){const e=u(this.ob$type,t.$name),n=c(this.tp$str());return new t(`${e}(${n})`)},tp$hash(){return this.$int.tp$hash()},tp$richcompare(e,t){return e instanceof R?this.$int.tp$richcompare(e.$int,t):l},tp$as_number:!0,nb$int(){return this.$int}},getsets:{int:{$get(){return this.$int}},is_safe:{$get(){return this.$isSafe}},bytes:{$get(){return d(b,[this.$int,U,v])}},bytes_le:{$get(){const n=this.tp$getattr(new t("bytes")).valueOf();return new e(switchBytesBytesLe(n))}},fields:{$get:()=>notImplemented()},time_low:{$get:()=>notImplemented()},time_mid:{$get:()=>notImplemented()},time_hi_version:{$get:()=>notImplemented()},clock_seq_hi_variant:{$get:()=>notImplemented()},clock_seq_low:{$get:()=>notImplemented()},time:{$get:()=>notImplemented()},clock_seq:{$get:()=>notImplemented()},node:{$get:()=>notImplemented()},hex:{$get(){return E.nb$remainder(this.$int)}},urn:{$get(){return new t(`urn:uuid:${this}`)}},variant:{$get:()=>notImplemented()},version:{$get:()=>notImplemented()}}});return h("uuid",p,{uuid1:{$meth(){notImplemented()},$flags:{FastCall:!0}},uuid2:{$meth(){notImplemented()},$flags:{FastCall:!0}},uuid3:{$meth(){notImplemented()},$flags:{FastCall:!0}},uuid4:{$meth(){const t=new e(f.getRandomValues(new Uint8Array(16)));return d(R,[],["bytes",t,"version",I])},$flags:{NoArgs:!0}},uuid5:{$meth(){notImplemented()},$flags:{FastCall:!0}}}),p}',"src/lib/webbrowser.js":'var $builtinmodule=function(n){var e={},t="undefined"!=typeof window&&"undefined"!=typeof window.navigator;function open_tab(n){return Sk.builtin.pyCheckType("url","string",Sk.builtin.checkString(n)),t?(n=n.$jsstr(),window.open(n,"_blank"),Sk.builtin.bool.true$):Sk.builtin.bool.false$}return e.__name__=new Sk.builtin.str("webbrowser"),e.open=new Sk.builtin.func((function open(n){return Sk.builtin.pyCheckArgsLen("open",arguments.length+1,1,3),open_tab(n)})),e.open_new=new Sk.builtin.func((function open_new(n){return Sk.builtin.pyCheckArgsLen("open_new",arguments.length,1,1),open_tab(n)})),e.open_new_tab=new Sk.builtin.func((function open_new_tab(n){return Sk.builtin.pyCheckArgsLen("open_new_tab",arguments.length,1,1),open_tab(n)})),e.DefaultBrowser=Sk.misceval.buildClass(e,(function dflbrowser(n,e){e.__init__=new Sk.builtin.func((function __init__(n){return Sk.builtin.none.none$})),e.open=new Sk.builtin.func((function open(n,e){return Sk.builtin.pyCheckArgsLen("open",arguments.length,2,4),open_tab(e)})),e.open_new=new Sk.builtin.func((function open_new(n,e){return Sk.builtin.pyCheckArgsLen("open_new",arguments.length,2,2),open_tab(e)})),e.open_new_tab=new Sk.builtin.func((function open_new_tab(n,e){return Sk.builtin.pyCheckArgsLen("open_new_tab",arguments.length,2,2),open_tab(e)}))}),"DefaultBrowser",[]),e.get=new Sk.builtin.func((function get(){return Sk.builtin.pyCheckArgsLen("get",arguments.length,0,1),Sk.misceval.callsimArray(e.DefaultBrowser,[])})),e};',"src/lib/webgl/math.js":'var $builtinmodule=function(e){var n={};return n.Mat44=Sk.misceval.buildClass(n,(function(e,t){t.__init__=new Sk.builtin.func((function(e){Sk.misceval.callsimArray(t.loadIdentity,[e]),e.stack=[]})),t.push=new Sk.builtin.func((function(e){e.stack.push(e.elements.slice(0))})),t.pop=new Sk.builtin.func((function(e){e.elements=e.stack.pop()})),t.loadIdentity=new Sk.builtin.func((function(e){e.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]})),t.transform3=new Sk.builtin.func((function(e,t){var l=e.elements;return Sk.misceval.callsimArray(n.Vec3,[l[0]*t.x+l[4]*t.y+l[8]*t.z,l[1]*t.x+l[5]*t.y+l[9]*t.z,l[2]*t.x+l[6]*t.y+l[10]*t.z])})),t.scale=new Sk.builtin.func((function(e,n,t,l){return e.elements[0]*=n,e.elements[1]*=n,e.elements[2]*=n,e.elements[3]*=n,e.elements[4]*=t,e.elements[5]*=t,e.elements[6]*=t,e.elements[7]*=t,e.elements[8]*=l,e.elements[9]*=l,e.elements[10]*=l,e.elements[11]*=l,e})),t.translate=new Sk.builtin.func((function(e,n,t,l){return e.elements[12]+=e.elements[0]*n+e.elements[4]*t+e.elements[8]*l,e.elements[13]+=e.elements[1]*n+e.elements[5]*t+e.elements[9]*l,e.elements[14]+=e.elements[2]*n+e.elements[6]*t+e.elements[10]*l,e.elements[15]+=e.elements[3]*n+e.elements[7]*t+e.elements[11]*l,e})),t.rotate=new Sk.builtin.func((function(e,t,l,s,m){var i,a,c,u,r,f,o,k,S,y,b,v=Math.sqrt(l*l+s*s+m*m),_=Math.sin(t*Math.PI/180),w=Math.cos(t*Math.PI/180);v>0&&(i=(l/=v)*l,a=(s/=v)*s,c=(m/=v)*m,u=l*s,r=s*m,f=m*l,o=l*_,k=s*_,S=m*_,y=1-w,(b=Sk.misceval.callsimArray(n.Mat44)).elements[0]=y*i+w,b.elements[1]=y*u-S,b.elements[2]=y*f+k,b.elements[3]=0,b.elements[4]=y*u+S,b.elements[5]=y*a+w,b.elements[6]=y*r-o,b.elements[7]=0,b.elements[8]=y*f-k,b.elements[9]=y*r+o,b.elements[10]=y*c+w,b.elements[11]=0,b.elements[12]=0,b.elements[13]=0,b.elements[14]=0,b.elements[15]=1,b=b.multiply(e),e.elements=b.elements);return e})),t.multiply=new Sk.builtin.func((function(e,t){for(var l=Sk.misceval.callsimArray(n.Mat44),s=0;s<4;s++)l.elements[4*s+0]=e.elements[4*s+0]*t.elements[0]+e.elements[4*s+1]*t.elements[4]+e.elements[4*s+2]*t.elements[8]+e.elements[4*s+3]*t.elements[12],l.elements[4*s+1]=e.elements[4*s+0]*t.elements[1]+e.elements[4*s+1]*t.elements[5]+e.elements[4*s+2]*t.elements[9]+e.elements[4*s+3]*t.elements[13],l.elements[4*s+2]=e.elements[4*s+0]*t.elements[2]+e.elements[4*s+1]*t.elements[6]+e.elements[4*s+2]*t.elements[10]+e.elements[4*s+3]*t.elements[14],l.elements[4*s+3]=e.elements[4*s+0]*t.elements[3]+e.elements[4*s+1]*t.elements[7]+e.elements[4*s+2]*t.elements[11]+e.elements[4*s+3]*t.elements[15];return e.elements=l.elements,e})),t.lookAt=new Sk.builtin.func((function(e,t,l,s,m,i,a,c,u,r){var f=[t-m,l-i,s-a],o=Math.sqrt(f[0]*f[0]+f[1]*f[1]+f[2]*f[2]);o&&(f[0]/=o,f[1]/=o,f[2]/=o);var k=[c,u,r],S=[];S[0]=k[1]*f[2]-k[2]*f[1],S[1]=-k[0]*f[2]+k[2]*f[0],S[2]=k[0]*f[1]-k[1]*f[0],k[0]=f[1]*S[2]-f[2]*S[1],k[1]=-f[0]*S[2]+f[2]*S[0],k[2]=f[0]*S[1]-f[1]*S[0],(o=Math.sqrt(S[0]*S[0]+S[1]*S[1]+S[2]*S[2]))&&(S[0]/=o,S[1]/=o,S[2]/=o),(o=Math.sqrt(k[0]*k[0]+k[1]*k[1]+k[2]*k[2]))&&(k[0]/=o,k[1]/=o,k[2]/=o);var y=Sk.misceval.callsimArray(n.Mat44);return y.elements[0]=S[0],y.elements[4]=S[1],y.elements[8]=S[2],y.elements[12]=0,y.elements[1]=k[0],y.elements[5]=k[1],y.elements[9]=k[2],y.elements[13]=0,y.elements[2]=f[0],y.elements[6]=f[1],y.elements[10]=f[2],y.elements[14]=0,y.elements[3]=0,y.elements[7]=0,y.elements[11]=0,y.elements[15]=1,y=y.multiply(e),e.elements=y.elements,e.translate(-t,-l,-s),e}))}),"Mat44",[]),n.Mat33=Sk.misceval.buildClass(n,(function(e,n){n.__init__=new Sk.builtin.func((function(e){Sk.misceval.callsimArray(n.loadIdentity,[e])})),n.loadIdentity=new Sk.builtin.func((function(e){e.elements=[1,0,0,0,1,0,0,0,1]}))}),"Mat33",[]),n.Vec3=Sk.misceval.buildClass(n,(function(e,t){t.__init__=new Sk.builtin.func((function(e,n,t,l){e.x=n,e.y=t,e.z=l})),t.__sub__=new Sk.builtin.func((function(e,t){return Sk.misceval.callsimArray(n.Vec3,[e.x-t.x,e.y-t.y,e.z-t.z])}))}),"Vec3",[]),n.cross=new Sk.builtin.func((function(e,t){return Sk.asserts.assert(e instanceof n.Vec3&&t instanceof n.Vec3),Sk.misceval.callsimArray(n.Vec3,[e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x])})),n};',"src/lib/webgl/matrix4.js":"var $builtinmodule=function(n){var r={},t=new Float32Array(3),a=new Float32Array(3),u=new Float32Array(3),e=(new Float32Array(4),new Float32Array(4),new Float32Array(4),new Float32Array(16),new Float32Array(16),new Float32Array(16),function(n,r){for(var t=0,a=r.length,u=0;u1e-5)for(u=0;u{const n=e.$d;var r={},Buffer=function(t,e){var r=e||n.ARRAY_BUFFER,i=n.createBuffer();if(this.target=r,this.buf=i,this.set(t),this.numComponents_=t.numComponents,this.numElements_=t.numElements,this.totalComponents_=this.numComponents_*this.numElements_,t.buffer instanceof Float32Array)this.type_=n.FLOAT;else if(t.buffer instanceof Uint8Array)this.type_=n.UNSIGNED_BYTE;else if(t.buffer instanceof Int8Array)this.type_=n._BYTE;else if(t.buffer instanceof Uint16Array)this.type_=n.UNSIGNED_SHORT;else{if(!(t.buffer instanceof Int16Array))throw"unhandled type:"+typeof t.buffer;this.type_=n.SHORT}};return Buffer.prototype.set=function(t){n.bindBuffer(this.target,this.buf),n.bufferData(this.target,t.buffer,n.STATIC_DRAW)},Buffer.prototype.type=function(){return this.type_},Buffer.prototype.numComponents=function(){return this.numComponents_},Buffer.prototype.numElements=function(){return this.numElements_},Buffer.prototype.totalComponents=function(){return this.totalComponents_},Buffer.prototype.buffer=function(){return this.buf},Buffer.prototype.stride=function(){return 0},Buffer.prototype.offset=function(){return 0},r.Model=Sk.misceval.buildClass(r,(function(e,r){r.__init__=new Sk.builtin.func((function(e,r,i,f){e.buffers={};var setBuffer=function(t,r){var i="indices"==t?n.ELEMENT_ARRAY_BUFFER:n.ARRAY_BUFFER;let f=e.buffers[t];f?f.set(r):f=new Buffer(r,i),e.buffers[t]=f};for(t in i)setBuffer(t,i[t]);var o={},s=0;for(var u in f)o[u]=s++;e.mode=n.TRIANGLES,e.textures=f.v,e.textureUnits=o,e.shader=r})),r.drawPrep=new Sk.builtin.func((function(t,e){var r=t.shader,i=t.buffers,f=t.textures;for(var o in e=Sk.ffi.remapToJs(e),Sk.misceval.callsimArray(r.use,[r]),i){var s=i[o];if("indices"==o)n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,s.buffer());else{var u=r.attrib[o];u&&u(s)}}for(var a in f){var m=t.textureUnits[a];r.setUniform$impl(r,f,m),f[a].bindToUnit(m)}for(var p in e)r.setUniform$impl(r,p,e[p])})),r.draw=new Sk.builtin.func((function(t,e,r){var i=t.shader;e=Sk.ffi.remapToJs(e);for(let n in e)i.setUniform$impl(i,n,e[n]);if(r)for(var f in r){var o=t.textureUnits[f];i.setUniform$impl(i,f,o),r[f].bindToUnit(o)}var s=t.buffers;n.drawElements(t.mode,s.indices.totalComponents(),n.UNSIGNED_SHORT,0)}))}),"Model",[]),r}))};',"src/lib/webgl/primitives.js":'var $builtinmodule=function(t){var n={},AttribBuffer=function(t,n,e){e=e||"Float32Array";var r=window[e];n.length?(this.buffer=new r(n),n=this.buffer.length/t,this.cursor=n):(this.buffer=new r(t*n),this.cursor=0),this.numComponents=t,this.numElements=n,this.type=e};return AttribBuffer.prototype.stride=function(){return 0},AttribBuffer.prototype.offset=function(){return 0},AttribBuffer.prototype.getElement=function(t){for(var n=t*this.numComponents,e=[],r=0;r
\'+n+"
"},e=\'This page requires a browser that supports WebGL.
Click here to upgrade your browser.\';return t.Context=Sk.misceval.buildClass(t,(function(n,t){t.__init__=new Sk.builtin.func((function(n,t){var i=document.getElementById(t.v),r=function(n,t){var i=document.getElementById(n);if(t||(t=i.getElementsByTagName("canvas")[0]),t){var r=function(n){for(var t=["webgl","experimental-webgl","webkit-3d","moz-webgl"],e=null,i=0;i7||7==a.Chrome[0]&&a.Chrome[1]>0||7==a.Chrome[0]&&0==a.Chrome[1]&&a.Chrome[2]>=521)?i.innerHTML=makeFailHTML(\'It doesn\\\'t appear your computer can support WebGL.
Click here for more information.\'):i.innerHTML=makeFailHTML(e)}return r}i.innerHTML=makeFailHTML(e)}(t.v,i);if(!r)throw new Error("Your browser does not appear to support WebGL.");for(var u in n.gl=r,r.__proto__)if("number"==typeof r.__proto__[u])Sk.abstr.objectSetItem(n.$d,new Sk.builtin.str(u),r.__proto__[u]);else if("function"==typeof r.__proto__[u])switch(u){case"bufferData":case"clearColor":case"drawArrays":case"getAttribLocation":case"getUniformLocation":case"shaderSource":case"uniformMatrix4fv":case"vertexAttribPointer":case"viewport":break;default:!function(t){Sk.abstr.objectSetItem(n.$d,new Sk.builtin.str(u),new Sk.builtin.func((function(){return r.__proto__[t].apply(r,arguments)})))}(u)}r.clearColor(100/255,149/255,237/255,1),r.clear(r.COLOR_BUFFER_BIT)})),t.tp$getattr=Sk.generic.getAttr,t.bufferData=new Sk.builtin.func((function(n,t,e,i){n.gl.bufferData(t,e.v,i)})),t.clearColor=new Sk.builtin.func((function(n,t,e,i,r){n.gl.clearColor(Sk.builtin.asnum$(t),Sk.builtin.asnum$(e),Sk.builtin.asnum$(i),Sk.builtin.asnum$(r))})),t.getAttribLocation=new Sk.builtin.func((function(n,t,e){return n.gl.getAttribLocation(t,e.v)})),t.getUniformLocation=new Sk.builtin.func((function(n,t,e){return n.gl.getUniformLocation(t,e.v)})),t.shaderSource=new Sk.builtin.func((function(n,t,e){n.gl.shaderSource(t,e.v)})),t.drawArrays=new Sk.builtin.func((function(n,t,e,i){n.gl.drawArrays(Sk.builtin.asnum$(t),Sk.builtin.asnum$(e),Sk.builtin.asnum$(i))})),t.vertexAttribPointer=new Sk.builtin.func((function(n,t,e,i,r,u,a){n.gl.vertexAttribPointer(t,Sk.builtin.asnum$(e),Sk.builtin.asnum$(i),r,Sk.builtin.asnum$(u),Sk.builtin.asnum$(a))})),t.viewport=new Sk.builtin.func((function(n,t,e,i,r){n.gl.viewport(Sk.builtin.asnum$(t),Sk.builtin.asnum$(e),Sk.builtin.asnum$(i),Sk.builtin.asnum$(r))})),t.uniformMatrix4fv=new Sk.builtin.func((function(n,t,e,i){n.gl.uniformMatrix4fv(Sk.builtin.asnum$(t),e,i.v)})),t.setDrawFunc=new Sk.builtin.func((function(n,t){var e=(new Date).getTime();setInterval((function(){Sk.misceval.callsimArray(t,[n,(new Date).getTime()-e])}),1e3/60)}))}),"Context",[]),t.Float32Array=Sk.misceval.buildClass(t,(function(n,t){t.__init__=new Sk.builtin.func((function(n,t){n.v="number"==typeof t?new Float32Array(t):new Float32Array(Sk.ffi.remapToJs(t))})),t.__repr__=new Sk.builtin.func((function(n){for(var t=[],e=0;e(z=e.$d,O)),(e=>{O=e.$d}));return S(L,(()=>{function _strftime(e){return t=>e.$strftime(t).toString().toLowerCase()}function _strftime_timetuple(e,t){return O.strftime.tp$call([new i(e),t]).toString().toLowerCase()}const l=new i("fromordinal");function _struct_time(t){return O.struct_time.tp$call([new s(t.map((t=>new e(t))))])}function _localized_month(){const e=[()=>""];for(let t=0;t<12;t++){const i=new k(2001,t+1,1);e.push(_strftime(i))}return e}function _localized_day(){const e=[];for(let t=0;t<7;t++){const i=new k(2001,1,t+1);e.push(_strftime(i))}return e}const S={__name__:new i("_strptime")},k=z.date,L=z.timedelta,E=z.timezone;function _getlang(){return[t,t]}class LocaleTime{constructor(){this.lang=_getlang(),this.__calc_weekday(),this.__calc_month(),this.__calc_am_pm(),this.__calc_timezone(),this.__calc_date_time()}__calc_weekday(){this.a_weekday=_localized_day().map((e=>e("%a"))),this.f_weekday=_localized_day().map((e=>e("%A")))}__calc_month(){this.a_month=_localized_month().map((e=>e("%b"))),this.f_month=_localized_month().map((e=>e("%B")))}__calc_am_pm(){const e=[];[1,22].forEach((t=>{const i=_strftime_timetuple("%p",_struct_time([1999,3,17,t,44,55,2,76,0]));e.push(i)})),this.am_pm=e}__calc_date_time(){const e=_struct_time([1999,3,17,22,44,55,2,76,0]),i=[t,t,t];i[0]=_strftime_timetuple("%c",e),i[1]=_strftime_timetuple("%x",e),i[2]=_strftime_timetuple("%X",e);const s=[["%","%%"],[this.f_weekday[2],"%A"],[this.f_month[3],"%B"],[this.a_weekday[2],"%a"],[this.a_month[3],"%b"],[this.am_pm[1],"%p"],["1999","%Y"],["99","%y"],["22","%H"],["44","%M"],["55","%S"],["76","%j"],["17","%d"],["03","%m"],["3","%m"],["2","%w"],["10","%I"]];s.push(...this.timezone.flat().map((e=>[e,"%Z"]))),[[0,"%c"],[1,"%x"],[2,"%X"]].forEach((([e,t])=>{let n=i[e];s.forEach((([e,t])=>{e&&(n=n.replace(e,t))}));let a;a=_strftime_timetuple(t,_struct_time([1999,1,3,1,1,1,6,3,0])).includes("00")?"%W":"%U",i[e]=n.replace("11",a)})),this.LC_date_time=i[0],this.LC_date=i[1],this.LC_time=i[2]}__calc_timezone(){try{O.tzset.tp$call([])}catch{}this.tzname=O.tzname.v.map((e=>e.toString())),this.daylight=w(O.daylight);const e=[this.tzname[0].toLowerCase(),"utc","gmt"];let t;t=this.daylight?[this.tzname[1].toLowerCase()]:[],this.timezone=[e,t]}}class TimeRE{constructor(e=null){this.locale_time=e||new LocaleTime,Object.assign(this,{d:"(?3[0-1]|[1-2]\\\\d|0[1-9]|[1-9]| [1-9])",f:"(?[0-9]{1,6})",H:"(?2[0-3]|[0-1]\\\\d|\\\\d)",I:"(?1[0-2]|0[1-9]|[1-9])",G:"(?\\\\d\\\\d\\\\d\\\\d)",j:"(?36[0-6]|3[0-5]\\\\d|[1-2]\\\\d\\\\d|0[1-9]\\\\d|00[1-9]|[1-9]\\\\d|0[1-9]|[1-9])",m:"(?1[0-2]|0[1-9]|[1-9])",M:"(?[0-5]\\\\d|\\\\d)",S:"(?6[0-1]|[0-5]\\\\d|\\\\d)",U:"(?5[0-3]|[0-4]\\\\d|\\\\d)",w:"(?[0-6])",u:"(?[1-7])",V:"(?5[0-3]|0[1-9]|[1-4]\\\\d|\\\\d)",y:"(?\\\\d\\\\d)",Y:"(?\\\\d\\\\d\\\\d\\\\d)",z:"(?[+-]\\\\d\\\\d:?[0-5]\\\\d(:?[0-5]\\\\d(\\\\.\\\\d{1,6})?)?|Z)",A:this.__seqToRE(this.locale_time.f_weekday,"A"),a:this.__seqToRE(this.locale_time.a_weekday,"a"),B:this.__seqToRE(this.locale_time.f_month.slice(1),"B"),b:this.__seqToRE(this.locale_time.a_month.slice(1),"b"),p:this.__seqToRE(this.locale_time.am_pm,"p"),Z:this.__seqToRE(this.locale_time.timezone.flat(),"Z"),"%":"%"}),this.W=this.U.replace("U","W"),this.x=this.pattern(this.locale_time.LC_date),this.X=this.pattern(this.locale_time.LC_time),this.c=this.pattern(this.locale_time.LC_date_time)}__seqToRE(e,t){if((e=e.slice(0).sort(((e,t)=>t.length-e.length))).every((e=>""===e)))return"";return`(?<${t}>${e.map((e=>e)).join("|")})`}pattern(e){let t="";for(e=(e=e.replace(b,"\\\\$1")).replace(v,"\\\\s+");e.includes("%");){const i=e.indexOf("%")+1,s=this[e[i]];if(void 0===s)throw new h(e[i]);t=`${t}${e.slice(0,i-1)}${s}`,e=e.slice(i+1)}return t+e}compile(e){return new RegExp("^"+this.pattern(e),"i")}}let C=new TimeRE;const T=5;let A={};function _strptime(i,s="%a %b %d %H:%M:%S %Y"){function _checkString(e,t){if("string"!=typeof e&&!u(e))throw new m(`strptime() argument ${t} must be a str, not \'${o(e)}\'`)}_checkString(i,0),_checkString(s,1),i=i.toString(),s=s.toString();let n,_=C.locale_time;if(Object.keys(A).length>T&&(A={}),n=A[s],void 0===n)try{n=C.compile(s)}catch(V){if(V instanceof h){let e=V.args.v[0];throw"\\\\"==e&&(e="%"),new d(`\'${e}\' is a bad directive in format \'${s}\'`)}if(V instanceof f)throw new d("stray %% in format \'"+s+"\'");throw V}const c=i.match(n);if(null===c)throw new d(`time data \'${i}\' does not match format \'${s}\'`);if(i.length!==c[0].length)throw new d(`unconverted data remains: ${i.slice(c[0].length)}`);let w=t,p=t,g=1,$=1,y=0,S=0,b=0,v=0,z=-1,L=t,E=0,I=t,M=t,H=t,Y=t,j=t,U=c.groups||{};if(Object.keys(U).forEach((e=>{if(void 0!==U[e])if("y"===e)p=_as_integer(U.y),p+=p<=68?2e3:1900;else if("Y"===e)p=_as_integer(U.Y);else if("G"===e)w=_as_integer(U.G);else if("m"===e)g=_as_integer(U.m);else if("B"===e)g=_.f_month.indexOf(U.B.toLowerCase());else if("b"===e)g=_.a_month.indexOf(U.b.toLowerCase());else if("d"===e)$=_as_integer(U.d);else if("H"===e)y=_as_integer(U.H);else if("H"===e)y=_as_integer(U.H);else if("I"===e){y=_as_integer(U.I);const e=(U.p||"").toLowerCase();["",_.am_pm[0]].includes(e)?12===y&&(y=0):e===_.am_pm[1]&&12!==y&&(y+=12)}else if("M"===e)S=_as_integer(U.M);else if("S"===e)b=_as_integer(U.S);else if("f"===e){let e=U.f;e+="0".repeat(6-e.length),v=_as_integer(e)}else if("A"===e)Y=_.f_weekday.indexOf(U.A.toLowerCase());else if("a"===e)Y=_.a_weekday.indexOf(U.a.toLowerCase());else if("w"===e)Y=_as_integer(U.w),0===Y?Y=6:Y-=1;else if("u"===e)Y=_as_integer(U.u),Y-=1;else if("j"===e)j=_as_integer(U.j);else if(["U","W"].includes(e))M=_as_integer(U[e]),H="U"===e?6:0;else if("V"===e)I=_as_integer(U.V);else if("z"===e){let e=U.z;if("Z"===e)L=0;else{if(":"===e[3]&&(e=e.slice(0,3)+e.slice(4),e.length>5)){if(":"!==e[5]){const e=`Inconsistent use of : in ${U.z}`;throw new d(e)}e=e.slice(0,5)+e.slice(6)}const t=_as_integer(e.slice(1,3)),i=_as_integer(e.slice(3,5)),s=_as_integer(e.slice(5,7)||0);L=3600*t+60*i+s;const n=e.slice(8),a="0".repeat(6-n.length);E=_as_integer(n+a),e.startsWith("-")&&(L=-L,E=-E)}}else if("Z"===e){let e=U.Z.toLowerCase(),t=0;for(let i of _.timezone){if(i.includes(e)){const i=O.tzname.v;if(r(i[0],i[1],"Eq")&&a(O.daylight)&&!["utc","gmt"].includes(e))break;z=t}t++}}})),p===t&&w!==t){if(I===t||Y===t)throw new d("ISO year directive \'%G\' must be used with the ISO week directive \'%V\' and a weekday directive (\'%A\',\'%a\', \'%w\', or \'%u\').");if(j!==t)throw new d("Day of the year directive \'%j\' is not compatible with ISO year directive \'%G\'.Use \'%Y\' instead.")}else if(M===t&&I!==t)throw new d(Y===t?"ISO week directive \'%V\' must be used with the ISO year directive \'%G\' and a weekday directive (\'%A\', \'%a\', \'%w\', or \'%u\').":"ISO week directive \'%V\' is incompatible with the year directive \'%Y\'. Use the ISO year \'%G\' instead.");let x=!1;if(p===t&&2===g&&29===$?(p=1904,x=!0):p===t&&(p=1900),j===t&&Y!==t){if(M!==t){j=function _calc_julian_from_U_or_W(e,t,i,s){let n=(new k(e,1,1).$toOrdinal()+6)%7;return s||(n=(n+1)%7,i=(i+1)%7),0===t?1+i-n:(7-n)%7+7*(t-1)+1+i}(p,M,Y,0===H)}else w!==t&&I!==t&&([p,j]=function _calc_julian_from_V(e,t,i){let s=7*t+i-((new k(e,1,4).$toOrdinal()%7||7)+3);return s<1&&(s+=new k(e,1,1).$toOrdinal(),s-=new k(e-=1,1,1).$toOrdinal()),[e,s]}(w,I,Y+1));if(j!==t&&j<=0){p-=1;const e=function _is_leap(e){return e%4==0&&(e%100!=0||e%400==0)}(p)?366:365;j+=e}}if(j===t)j=new k(p,g,$).$toOrdinal()-new k(p,1,1).$toOrdinal()+1;else{const t=function _fromordinal(t){return k.tp$getattr(l).tp$call([new e(t)])}(j-1+new k(p,1,1).$toOrdinal());p=t.$year,g=t.$month,$=t.$day}Y===t&&(Y=(new k(p,g,$).$toOrdinal()+6)%7);const R=U.Z||t;return x&&(p=1900),[[p,g,$,y,S,b,Y,j,z,R,L],v,E]}return _("_strptime",S,{_strptime_time:{$meth:function _strptime_time(t,i="%a %b %d %H:%M:%S %Y"){let n=_strptime(t,i)[0].slice(0,11);return n=n.map(((t,i)=>i<9?new e(t):p(t))),O.struct_time.tp$call([new s(n)])},$flags:{NamedArgs:["data_string","format"],Defaults:["%a %b %d %H:%M:%S %Y"]}},_strptime_datetime:{$meth:function _strptime_datetime(s,r,l="%a %b %d %H:%M:%S %Y"){const[o,_,c]=_strptime(r,l),[m,d]=o.slice(-2),h=o.slice(0,6);let f,u;return h.push(_),h.map((t=>new e(t))),d!==t&&(f=new L(0,d,c),u=a(m)?new E(f,new i(m)):new E(f),h.push(u)),n(s,h)},$flags:{NamedArgs:["cls","data_string","format"],Defaults:["%a %b %d %H:%M:%S %Y"]}},_strptime:{$meth(i,n){const a=_strptime(i,n);return a[0]=new s(a[0].map((i=>i===t?i:new e(i)))),a[1]=new e(a[1]),a[2]=new e(a[2]),new s(a)},$flags:{NamedArgs:["data_string","format"],Defaults:["%a %b %d %H:%M:%S %Y"]}},_getlang:{$meth:()=>p(_getlang()),$flags:{NoArgs:!0}}}),S.LocaleTime=c("_strptime.LocaleTime",{constructor:function(){this.v=new LocaleTime},slots:{tp$getattr(e,t){return this.v.hasOwnProperty(e.toString())?p(this.v[e.toString()]):$.call(this,e,t)},tp$setattr(e,t){if(!this.v.hasOwnProperty(e.toString()))return y.call(this,e,t);this.v[e.toString()]=g(t)}}}),S}))}'}}},959:function(t,e,n){(function(){"use strict";var t=t||{};t.scope={},t.ASSUME_ES5=!1,t.ASSUME_NO_NATIVE_MAP=!1,t.ASSUME_NO_NATIVE_SET=!1,t.SIMPLE_FROUND_POLYFILL=!1,t.ISOLATE_POLYFILLS=!1,t.FORCE_POLYFILL_PROMISE=!1,t.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,t.defineProperty=t.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,n){return t==Array.prototype||t==Object.prototype||(t[e]=n.value),t},t.getGlobal=function(t){t=["object"==typeof globalThis&&globalThis,t,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var e=0;e(e=e||0)&&(e=Math.max(e+i,0));e{Sk.abstr.setUpSlots(t),Sk.abstr.setUpMethods(t),Sk.abstr.setUpGetSets(t),Sk.abstr.setUpClassMethods(t)})),n(19),n(20),n(21),[Sk.builtin.str,Sk.builtin.none,Sk.builtin.NotImplemented,Sk.builtin.object].forEach((t=>{(t=t.prototype).__doc__=t.hasOwnProperty("tp$doc")?new Sk.builtin.str(t.tp$doc):Sk.builtin.none.none$})),n(22),n(23),n(24),n(25),n(26),n(27),n(28),n(29),n(31),n(32),n(33),n(34),n(35),n(36),n(37),n(38),n(39),n(40),n(41),n(42),n(43),n(44),n(45),n(46),n(47),n(48),n(49),n(50),n(51),n(52),n(53),n(66),n(54),n(55),n(56),n(57),n(58),n(59),n(60),n(61),n(62),n(63),n(64),n(65)},function(t,e,n){(function(t){var e={build:{githash:"1d6da87991edd93117a53858367c32f27d77b396",date:"2023-09-01T06:58:47.589Z"}};e.global=void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e.exportSymbol=function(t,n){t=t.split(".");var i,s=e.global;for(i=0;i=t||0===e||4<=e)return"th";switch(e){case 1:return"st";case 2:return"nd";case 3:return"rd"}}function o(t){"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(t)}var a={de_DE:{identifier:"de-DE",days:"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),shortDays:"So Mo Di Mi Do Fr Sa".split(" "),months:"Januar Februar März April Mai Juni Juli August September Oktober November Dezember".split(" "),shortMonths:"Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d.%m.%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},en_CA:{identifier:"en-CA",days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat".split(" "),months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),ordinalSuffixes:"st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%r",x:"%D"}},en_US:{identifier:"en-US",days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat".split(" "),months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),ordinalSuffixes:"st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%m/%d/%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%r",x:"%D"}},es_MX:{identifier:"es-MX",days:"domingo lunes martes miércoles jueves viernes sábado".split(" "),shortDays:"dom lun mar mié jue vie sáb".split(" "),months:"enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre".split(" "),shortMonths:"ene feb mar abr may jun jul ago sep oct nov dic".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},fr_FR:{identifier:"fr-FR",days:"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),shortDays:"dim. lun. mar. mer. jeu. ven. sam.".split(" "),months:"janvier février mars avril mai juin juillet août septembre octobre novembre décembre".split(" "),shortMonths:"janv. févr. mars avril mai juin juil. août sept. oct. nov. déc.".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},it_IT:{identifier:"it-IT",days:"domenica lunedì martedì mercoledì giovedì venerdì sabato".split(" "),shortDays:"dom lun mar mer gio ven sab".split(" "),months:"gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre".split(" "),shortMonths:"gen feb mar apr mag giu lug ago set ott nov dic".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},nl_NL:{identifier:"nl-NL",days:"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag".split(" "),shortDays:"zo ma di wo do vr za".split(" "),months:"januari februari maart april mei juni juli augustus september oktober november december".split(" "),shortMonths:"jan feb mrt apr mei jun jul aug sep okt nov dec".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d-%m-%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},pt_BR:{identifier:"pt-BR",days:"domingo segunda terça quarta quinta sexta sábado".split(" "),shortDays:"Dom Seg Ter Qua Qui Sex Sáb".split(" "),months:"janeiro fevereiro março abril maio junho julho agosto setembro outubro novembro dezembro".split(" "),shortMonths:"Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d-%m-%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},ru_RU:{identifier:"ru-RU",days:"Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота".split(" "),shortDays:"Вс Пн Вт Ср Чт Пт Сб".split(" "),months:"Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь".split(" "),shortMonths:"янв фев мар апр май июн июл авг сен окт ноя дек".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X",D:"%d.%m.%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},tr_TR:{identifier:"tr-TR",days:"Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi".split(" "),shortDays:"Paz Pzt Sal Çrş Prş Cum Cts".split(" "),months:"Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık".split(" "),shortMonths:"Oca Şub Mar Nis May Haz Tem Ağu Eyl Eki Kas Ara".split(" "),AM:"ÖÖ",PM:"ÖS",am:"ÖÖ",pm:"ÖS",formats:{c:"%a %d %b %Y %X %Z",D:"%d-%m-%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},zh_CN:{identifier:"zh-CN",days:"星期日 星期一 星期二 星期三 星期四 星期五 星期六".split(" "),shortDays:"日一二三四五六".split(""),months:"一月份 二月份 三月份 四月份 五月份 六月份 七月份 八月份 九月份 十月份 十一月份 十二月份".split(" "),shortMonths:"一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月".split(" "),AM:"上午",PM:"下午",am:"上午",pm:"下午",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%r",x:"%D"}}},l=a.en_US,u=new function t(u,c,p){function h(t,a,l,u){for(var c="",p=null,_=!1,d=t.length,g=!1,b=0;ba.getHours()?l.am:l.pm;break;case 82:c+=h(l.formats.R,a,l,u);break;case 83:c+=e(a.getSeconds(),p);break;case 84:c+=h(l.formats.T,a,l,u);break;case 85:c+=e(s(a,"sunday"),p);break;case 87:c+=e(s(a,"monday"),p);break;case 88:c+=h(l.formats.X,a,l,u);break;case 89:c+=a.getFullYear();break;case 90:m&&0===f?c+="GMT":c+=(p=(p=(p=a).toString().match(/\(([\w\s]+)\)/))&&p[1])||"";break;case 97:c+=l.shortDays[a.getDay()];break;case 98:case 104:c+=l.shortMonths[a.getMonth()];break;case 99:c+=h(l.formats.c,a,l,u);break;case 100:c+=e(a.getDate(),p);break;case 101:c+=e(a.getDate(),null==p?" ":p);break;case 106:p=new Date(a.getFullYear(),0,1),c+=n(p=Math.ceil((a.getTime()-p.getTime())/864e5));break;case 107:c+=e(a.getHours(),null==p?" ":p);break;case 108:c+=e(i(a.getHours()),null==p?" ":p);break;case 109:c+=e(a.getMonth()+1,p);break;case 110:c+="\n";break;case 111:p=a.getDate(),c=l.ordinalSuffixes?c+(String(p)+(l.ordinalSuffixes[p-1]||r(p))):c+(String(p)+r(p));break;case 112:c+=12>a.getHours()?l.AM:l.PM;break;case 114:c+=h(l.formats.r,a,l,u);break;case 115:c+=Math.floor(u/1e3);break;case 116:c+="\t";break;case 117:c+=0===(p=a.getDay())?7:p;break;case 118:c+=h(l.formats.v,a,l,u);break;case 119:c+=a.getDay();break;case 120:c+=h(l.formats.x,a,l,u);break;case 121:c+=e(_=a.getFullYear()%100,p);break;case 122:m&&0===f?c+=g?"+00:00":"+0000":(p=0!==f?f/6e4:-a.getTimezoneOffset(),_=g?":":"",S=Math.abs(p%60),c+=(0>p?"-":"+")+e(Math.floor(Math.abs(p/60)))+_+e(S));break;default:_&&(c+="%"),c+=t[b]}p=null,_=!1}else 37===S?_=!0:c+=t[b]}return c}var _,d=u||l,f=c||0,m=p||!1,g=0,b=function(t,e){if(e){var n=e.getTime();if(m){var i=6e4*(e.getTimezoneOffset()||0);6e4*((e=new Date(n+i+f)).getTimezoneOffset()||0)!==i&&(e=6e4*(e.getTimezoneOffset()||0),e=new Date(n+e+f))}}else(n=Date.now())>g?(g=n,_=new Date(g),n=g,m&&(_=new Date(g+6e4*(_.getTimezoneOffset()||0)+f))):n=g,e=_;return h(t,e,d,n)};return b.localize=function(e){return new t(e||d,f,m)},b.localizeByIdentifier=function(t){var e=a[t];return e?b.localize(e):(o('[WARNING] No locale found with identifier "'+t+'".'),b)},b.timezone=function(e){var n=f,i=m,s=typeof e;return"number"!==s&&"string"!==s||(i=!0,"string"===s?n=(n="-"===e[0]?-1:1)*(60*(s=parseInt(e.slice(1,3),10))+(e=parseInt(e.slice(3,5),10)))*6e4:"number"===s&&(n=6e4*e)),new t(d,n,i)},b.utc=function(){return new t(d,f,!0)},b}(l,0,!1);if(void 0!==t)t.exports=u;else(function(){return this||(0,eval)("this")}()).strftime=u;"function"!=typeof Date.now&&(Date.now=function(){return+new Date})}()},function(t,e,n){t=n(5);const i=Sk.global.JSBI=void 0!==Sk.global.BigInt?{}:t;void 0===Sk.global.BigInt?(i.__isBigInt||(i.__isBigInt=t=>t instanceof i),i.powermod=(t,e,n)=>{const s=i.BigInt(1);let r=s;for(e=i.greaterThan(e,i.__ZERO)?e:i.unaryMinus(e);i.greaterThan(e,i.__ZERO);)i.bitwiseAnd(e,s)&&(r=i.remainder(i.multiply(r,t),n)),e=i.signedRightShift(e,s),t=i.remainder(i.multiply(t,t),n);return r}):Object.assign(i,{BigInt:Sk.global.BigInt,toNumber:t=>Number(t),toString:t=>t.toString(),__isBigInt:t=>"bigint"==typeof t,unaryMinus:t=>-t,bitwiseNot:t=>~t,bitwiseAnd:(t,e)=>t&e,bitwiseOr:(t,e)=>t|e,bitwiseXor:(t,e)=>t^e,exponentiate:(t,e)=>{const n=i.BigInt(1);let s=n;for(e=e>i.__ZERO?e:-e;e>i.__ZERO;)e&n&&(s*=t),e>>=n,t*=t;return s},powermod:(t,e,n)=>{const s=i.BigInt(1);let r=s;for(e=e>i.__ZERO?e:-e;e>i.__ZERO;)e&s&&(r=r*t%n),e>>=s,t=t*t%n;return r},multiply:(t,e)=>t*e,divide:(t,e)=>t/e,remainder:(t,e)=>t%e,add:(t,e)=>t+e,subtract:(t,e)=>t-e,leftShift:(t,e)=>t<t>>e,unsignedRightShift:(t,e)=>t>>>e,lessThan:(t,e)=>tt<=e,greaterThan:(t,e)=>t>e,greaterThanOrEqual:(t,e)=>t>=e,equal:(t,e)=>t===e,notEqual:(t,e)=>t!==e}),i.__ZERO=i.BigInt(0),i.__MAX_SAFE=i.BigInt(Number.MAX_SAFE_INTEGER),i.__MIN_SAFE=i.BigInt(-Number.MAX_SAFE_INTEGER),i.numberIfSafe=t=>i.lessThan(t,i.__MAX_SAFE)&&i.greaterThan(t,i.__MIN_SAFE)?i.toNumber(t):t,i.BigUp=t=>i.__isBigInt(t)?t:i.BigInt(t)},function(t,e,n){t.exports=function(){var t=Math.imul,e=Math.clz32,n=Math.abs,i=Math.max,s=Math.floor;class r extends Array{constructor(t,e){if(super(t),this.sign=e,t>r.__kMaxLength)throw new RangeError("Maximum BigInt size exceeded")}static BigInt(t){var e=Number.isFinite;if("number"==typeof t){if(0===t)return r.__zero();if(r.__isOneDigitInt(t))return 0>t?r.__oneDigit(-t,!0):r.__oneDigit(t,!1);if(!e(t)||s(t)!==t)throw new RangeError("The number "+t+" cannot be converted to BigInt because it is not an integer");return r.__fromDouble(t)}if("string"==typeof t){if(null===(e=r.__fromString(t)))throw new SyntaxError("Cannot convert "+t+" to a BigInt");return e}if("boolean"==typeof t)return!0===t?r.__oneDigit(1,!1):r.__zero();if("object"==typeof t)return t.constructor===r?t:(t=r.__toPrimitive(t),r.BigInt(t));throw new TypeError("Cannot convert "+t+" to a BigInt")}toDebugString(){const t=["BigInt["];for(const e of this)t.push((e?(e>>>0).toString(16):e)+", ");return t.push("]"),t.join("")}toString(t){if(2>(t=void 0===t?10:t)||36>>12;const l=a-12;for(e=12<=a?0:i<<20+a,a=20+a,0>>30-l,e=i<>>30-a,a-=30;return(1===(i=r.__decideRounding(t,a,o,i))||0===i&&1==(1&e))&&0==(e=e+1>>>0)&&0!=++s>>>20&&(s=0,1023<++n)?t.sign?-1/0:1/0:(t=t.sign?-2147483648:0,n=n+1023<<20,r.__kBitConversionInts[1]=t|n|s,r.__kBitConversionInts[0]=e,r.__kBitConversionDouble[0])}static unaryMinus(t){if(0===t.length)return t;const e=t.__copy();return e.sign=!t.sign,e}static bitwiseNot(t){return t.sign?r.__absoluteSubOne(t).__trim():r.__absoluteAddOne(t,!0)}static exponentiate(t,e){if(e.sign)throw new RangeError("Exponent must be positive");if(0===e.length)return r.__oneDigit(1,!1);if(0===t.length)return t;if(1===t.length&&1===t.__digit(0))return t.sign&&0==(1&e.__digit(0))?r.unaryMinus(t):t;if(1=r.__kMaxLengthBits)throw new RangeError("BigInt too big");if(1===t.length&&2===t.__digit(0)){var n=1+(0|e/30);return(t=new r(n,t.sign&&0!=(1&e))).__initializeDigits(),t.__setDigit(n-1,1<>=1;0!==e;e>>=1)i=r.multiply(i,i),0!=(1&e)&&(n=null===n?i:r.multiply(n,i));return n}static multiply(t,e){if(0===t.length)return t;if(0===e.length)return e;var n=t.length+e.length;30<=t.__clzmsd()+e.__clzmsd()&&n--,(n=new r(n,t.sign!==e.sign)).__initializeDigits();for(let i=0;ir.__absoluteCompare(t,e))return r.__zero();const n=t.sign!==e.sign,i=e.__unsignedDigit(0);if(1===e.length&&32767>=i){if(1===i)return n===t.sign?t:r.unaryMinus(t);t=r.__absoluteDivSmall(t,i,null)}else t=r.__absoluteDivLarge(t,e,!0,!1);return t.sign=n,t.__trim()}static remainder(t,e){if(0===e.length)throw new RangeError("Division by zero");if(0>r.__absoluteCompare(t,e))return t;const n=e.__unsignedDigit(0);return 1===e.length&&32767>=n?1===n||0===(e=r.__absoluteModSmall(t,n))?r.__zero():r.__oneDigit(e,t.sign):((e=r.__absoluteDivLarge(t,e,!1,!0)).sign=t.sign,e.__trim())}static add(t,e){const n=t.sign;return n===e.sign?r.__absoluteAdd(t,e,n):0<=r.__absoluteCompare(t,e)?r.__absoluteSub(t,e,n):r.__absoluteSub(e,t,!n)}static subtract(t,e){const n=t.sign;return n===e.sign?0<=r.__absoluteCompare(t,e)?r.__absoluteSub(t,e,n):r.__absoluteSub(e,t,!n):r.__absoluteAdd(t,e,n)}static leftShift(t,e){return 0===e.length||0===t.length?t:e.sign?r.__rightShiftByAbsolute(t,e):r.__leftShiftByAbsolute(t,e)}static signedRightShift(t,e){return 0===e.length||0===t.length?t:e.sign?r.__leftShiftByAbsolute(t,e):r.__rightShiftByAbsolute(t,e)}static unsignedRightShift(){throw new TypeError("BigInts have no unsigned right shift; use >> instead")}static lessThan(t,e){return 0>r.__compareToBigInt(t,e)}static lessThanOrEqual(t,e){return 0>=r.__compareToBigInt(t,e)}static greaterThan(t,e){return 0(t=s(t)))throw new RangeError("Invalid value: not (convertible to) a safe integer");if(0===t)return r.__zero();if(t>=r.__kMaxLengthBits)return e;const n=0|(t+29)/30;if(e.length(t=s(t)))throw new RangeError("Invalid value: not (convertible to) a safe integer");if(0===t)return r.__zero();if(e.sign){if(t>r.__kMaxLengthBits)throw new RangeError("BigInt too big");return r.__truncateAndSubFromPowerOfTwo(t,e,!1)}if(t>=r.__kMaxLengthBits)return e;const n=0|(t+29)/30;if(e.length>>i?r.__truncateToNBits(t,e):e}static ADD(t,e){if(t=r.__toPrimitive(t),e=r.__toPrimitive(e),"string"==typeof t)return"string"!=typeof e&&(e=e.toString()),t+e;if("string"==typeof e)return t.toString()+e;if(t=r.__toNumeric(t),e=r.__toNumeric(e),r.__isBigInt(t)&&r.__isBigInt(e))return r.add(t,e);if("number"==typeof t&&"number"==typeof e)return t+e;throw new TypeError("Cannot mix BigInt and other types, use explicit conversions")}static LT(t,e){return r.__compare(t,e,0)}static LE(t,e){return r.__compare(t,e,1)}static GT(t,e){return r.__compare(t,e,2)}static GE(t,e){return r.__compare(t,e,3)}static EQ(t,e){for(;;){if(r.__isBigInt(t))return r.__isBigInt(e)?r.equal(t,e):r.EQ(e,t);if("number"==typeof t){if(r.__isBigInt(e))return r.__equalToNumber(e,t);if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else if("string"==typeof t){if(r.__isBigInt(e))return null!==(t=r.__fromString(t))&&r.equal(t,e);if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else if("boolean"==typeof t){if(r.__isBigInt(e))return r.__equalToNumber(e,+t);if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else if("symbol"==typeof t){if(r.__isBigInt(e))return!1;if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else{if("object"!=typeof t)return t==e;if("object"==typeof e&&e.constructor!==r)return t==e;t=r.__toPrimitive(t)}}}static NE(t,e){return!r.EQ(t,e)}static __zero(){return new r(0,!1)}static __oneDigit(t,e){return(e=new r(1,e)).__setDigit(0,t),e}__copy(){const t=new r(this.length,this.sign);for(let e=0;ee)e=-e-1;else{if(0===n)return-1;n--,i=t.__digit(n),e=29}if(0==(i&(e=1<>>20)-1023,n=1+(0|e/30);t=new r(n,0>t);let i,s=1048575&r.__kBitConversionInts[1]|1048576,o=r.__kBitConversionInts[0];if(20>(e%=30)){var a=20-e;i=a+32,e=s>>>a,s=s<<32-a|o>>>a,o<<=32-a}else 20===e?(i=32,e=s,s=o):(i=32-(a=e-20),e=s<>>32-a,s=o<>>2,s=s<<30|o>>>2,o<<=30):e=0,t.__setDigit(n,e);return t.__trim()}static __isWhitespace(t){return!!(13>=t&&9<=t)||(159>=t?32==t:131071>=t?160==t||5760==t:196607>=t?10>=(t&=131071)||40==t||41==t||47==t||95==t||4096==t:65279==t)}static __fromString(t,e){e=void 0===e?0:e;let n=0;const i=t.length;let s=0;if(s===i)return r.__zero();let o=t.charCodeAt(s);for(;r.__isWhitespace(o);){if(++s===i)return r.__zero();o=t.charCodeAt(s)}if(43===o){if(++s===i)return null;o=t.charCodeAt(s),n=1}else if(45===o){if(++s===i)return null;o=t.charCodeAt(s),n=-1}if(0===e){if(e=10,48===o){if(++s===i)return r.__zero();if(o=t.charCodeAt(s),88===o||120===o){if(e=16,++s===i)return null;o=t.charCodeAt(s)}else if(79===o||111===o){if(e=8,++s===i)return null;o=t.charCodeAt(s)}else if(66===o||98===o){if(e=2,++s===i)return null;o=t.charCodeAt(s)}}}else if(16===e&&48===o){if(++s===i)return r.__zero();if(o=t.charCodeAt(s),88===o||120===o){if(++s===i)return null;o=t.charCodeAt(s)}}if(0!=n&&10!==e)return null;for(;48===o;){if(++s===i)return r.__zero();o=t.charCodeAt(s)}var a=i-s;let l=r.__kMaxBitsPerChar[e];var u=r.__kBitsPerCharTableMultiplier-1;if(a>1073741824/l)return null;a=new r(0|(29+(l*a+u>>>r.__kBitsPerCharTableShift))/30,!1);const c=10>e?e:10,p=10>=r.__kBitsPerCharTableShift,e=[];var h=[],_=!1;do{for(var d=0,f=0;;){if(o-48>>>0>>0>>0>>0>>r.__kBitsPerCharTableShift)/30)}while(!h)}if(s!==i){if(!r.__isWhitespace(o))return null;for(s++;s>>l-r)}if(0!==s){if(i>=t.length)throw Error("implementation bug");t.__setDigit(i++,s)}for(;i>>1)+(85&i))>>>2)+(51&i))>>>4)+(15&i),--e;const s=t.__digit(n-1);var o=r.__clz30(s),a=0|(30*n-o+i-1)/i;if(t.sign&&a++,268435456>>(u=i-u),u=30-u;u>=i;)o[a--]=r.__kConversionChars[l&e],l>>>=i,u-=i}for(o[a--]=r.__kConversionChars[(l|s<>>i-u;0!==l;)o[a--]=r.__kConversionChars[l&e],l>>>=i;if(t.sign&&(o[a--]="-"),-1!=a)throw Error("implementation bug");return o.join("")}static __toStringGeneric(t,e,n){var i=t.length;if(0===i)return"";if(1===i)return e=t.__unsignedDigit(0).toString(e),!1===n&&t.sign&&(e="-"+e),e;var s=30*i-r.__clz30(t.__digit(i-1));i=r.__kMaxBitsPerChar[e]-1,i=1+(0|((s*=r.__kBitsPerCharTableMultiplier)+(i-1))/i)>>1;var o=(s=r.exponentiate(r.__oneDigit(e,!1),r.__oneDigit(i,!1))).__unsignedDigit(0);if(1===s.length&&32767>=o){(s=new r(t.length,!1)).__initializeDigits();var a=0;for(let e=2*t.length-1;0<=e;e--)a=a<<15|t.__halfDigit(e),s.__setHalfDigit(e,0|a/o),a=0|a%o;o=a.toString(e)}else s=(o=r.__absoluteDivLarge(t,s,!0,!0)).quotient,o=o.remainder.__trim(),o=r.__toStringGeneric(o,e,!0);for(s.__trim(),e=r.__toStringGeneric(s,e,!0);o.lengtht?r.__absoluteLess(n):0}static __compareToNumber(t,e){if(r.__isOneDigitInt(e)){const i=t.sign,s=0>e;if(i!==s)return r.__unequalSign(i);if(0===t.length){if(s)throw Error("implementation bug");return 0===e?0:-1}return 1e?r.__absoluteGreater(i):te)return r.__unequalSign(n);if(0===e)throw Error("implementation bug: should be handled elsewhere");if(0===t.length)return-1;if(r.__kBitConversionDouble[0]=e,2047==(e=2047&r.__kBitConversionInts[1]>>>20))throw Error("implementation bug: handled elsewhere");var i=e-1023;if(0>i)return r.__absoluteGreater(n);e=t.length;var s=t.__digit(e-1),o=r.__clz30(s),a=30*e-o;if(a<(i+=1))return r.__absoluteLess(n);if(a>i)return r.__absoluteGreater(n);i=1048576|1048575&r.__kBitConversionInts[1];let l=r.__kBitConversionInts[0];if((o=29-o)!=(0|(a-1)%30))throw Error("implementation bug");if(20>o){var u=20-o;o=u+32,a=i>>>u,i=i<<32-u|l>>>u,l<<=32-u}else 20===o?(o=32,a=i,i=l):(o=32-(u=o-20),a=i<>>32-u,i=l<>>=0)>(a>>>=0))return r.__absoluteGreater(n);if(s>>2,i=i<<30|l>>>2,l<<=30):a=0,(s=t.__unsignedDigit(e))>a)return r.__absoluteGreater(n);if(se&&t.__unsignedDigit(0)===n(e):0===r.__compareToDouble(t,e)}static __comparisonResultToBool(t,e){return 0===e?0>t:1===e?0>=t:2===e?0e;case 3:return t>=e}if(r.__isBigInt(t)&&"string"==typeof e)return null!==(e=r.__fromString(e))&&r.__comparisonResultToBool(r.__compareToBigInt(t,e),n);if("string"==typeof t&&r.__isBigInt(e))return null!==(t=r.__fromString(t))&&r.__comparisonResultToBool(r.__compareToBigInt(t,e),n);if(t=r.__toNumeric(t),e=r.__toNumeric(e),r.__isBigInt(t)){if(r.__isBigInt(e))return r.__comparisonResultToBool(r.__compareToBigInt(t,e),n);if("number"!=typeof e)throw Error("implementation bug");return r.__comparisonResultToBool(r.__compareToNumber(t,e),n)}if("number"!=typeof t)throw Error("implementation bug");if(r.__isBigInt(e))return r.__comparisonResultToBool(r.__compareToNumber(e,t),2^n);if("number"!=typeof e)throw Error("implementation bug");return 0===n?te:3===n?t>=e:void 0}__clzmsd(){return r.__clz30(this.__digit(this.length-1))}static __absoluteAdd(t,e,n){if(t.length>>30,n.__setDigit(s,1073741823&r)}for(;s>>30,n.__setDigit(s,1073741823&e);return s>>30,n.__setDigit(s,1073741823&r)}for(;s>>30,n.__setDigit(s,1073741823&e);return n.__trim()}static __absoluteAddOne(t,e,n){n=void 0===n?null:n;const i=t.length;null===n?n=new r(i,e):n.sign=e,e=1;for(let s=0;s>>30,n.__setDigit(s,1073741823&i)}return 0!=e&&n.__setDigitGrow(i,1),n}static __absoluteSubOne(t,e){const n=t.length,i=new r(e=e||n,!1);let s=1;for(let e=0;e>>30,i.__setDigit(e,1073741823&n)}if(0!=s)throw Error("implementation bug");for(t=n;tn?0:t.__unsignedDigit(n)>e.__unsignedDigit(n)?1:-1}static __multiplyAccumulate(t,e,n,i){if(0!==e){var s=32767&e,o=e>>>15,a=e=0;for(let p,h=0;h>>15;l=r.__imul(u,s),u=r.__imul(u,o);const _=r.__imul(c,s);p+=a+l+e,e=p>>>30,p&=1073741823,p+=((32767&u)<<15)+((32767&_)<<15),e+=p>>>30,a=(c=r.__imul(c,o))+(u>>>15)+(_>>>15),n.__setDigit(i,1073741823&p)}for(;0!=e||0!==a;i++)t=n.__digit(i),t+=e+a,a=0,e=t>>>30,n.__setDigit(i,1073741823&t)}}static __internalMultiplyAdd(t,e,n,i,s){let o=0;for(let u=0;u>>15,e)))<<15)+o+n)>>>30,o=a>>>15,s.__setDigit(u,1073741823&l)}if(s.length>i)for(s.__setDigit(i++,n+o);ithis.length&&(n=this.length);const i=32767&t;t>>>=15;let s=0;for(let u=0;u>>15;o=r.__imul(a,i),a=r.__imul(a,t);const n=r.__imul(l,i);s=(o=e+o+s)>>>30,o&=1073741823,s+=(o+=((32767&a)<<15)+((32767&n)<<15))>>>30,e=(l=r.__imul(l,t))+(a>>>15)+(n>>>15),this.__setDigit(u,1073741823&o)}if(0!=s||0!==e)throw Error("implementation bug")}static __absoluteDivSmall(t,e,n){null===(n=void 0===n?null:n)&&(n=new r(t.length,!1));let i=0;for(let s,r=2*t.length-1;0<=r;r-=2){s=(i<<15|t.__halfDigit(r))>>>0;const o=0|s/e;i=0|s%e,s=(i<<15|t.__halfDigit(r-1))>>>0;const a=0|s/e;i=0|s%e,n.__setDigit(r>>>1,o<<15|a)}return n}static __absoluteModSmall(t,e){let n=0;for(let i=2*t.length-1;0<=i;i--)n=0|((n<<15|t.__halfDigit(i))>>>0)%e;return n}static __absoluteDivLarge(t,e,n,i){const s=e.__halfDigitLength(),o=e.length;var a=t.__halfDigitLength()-s;let l=null;n&&(l=new r(a+2>>>1,!1),l.__initializeDigits());const u=new r(s+2>>>1,!1);u.__initializeDigits();const c=r.__clz15(e.__halfDigit(s-1));0>>0)/p,a=0|a%p;const n=e.__halfDigit(s-2),o=t.__halfDigit(c+s-2);for(;r.__imul(i,n)>>>0>(a<<16|o)>>>0&&(i--,!(32767<(a+=p))););}r.__internalMultiplyAdd(e,i,0,o,u),0!==(a=t.__inplaceSub(u,c,s+1))&&(a=t.__inplaceAdd(e,c,s),t.__setHalfDigit(c+s,32767&t.__halfDigit(c+s)+a),i--),n&&(1&c?h=i<<15:l.__setDigit(c>>>1,h|i))}if(i)return t.__inplaceRightShift(c),n?{quotient:l,remainder:t}:t;if(n)return l;throw Error("unreachable")}static __clz15(t){return r.__clz30(t)-15}__inplaceAdd(t,e,n){let i=0;for(let s=0;s>>15,this.__setHalfDigit(e+s,32767&n)}return i}__inplaceSub(t,e,n){let i=0;if(1&e){e>>=1;for(var s=this.__digit(e),r=32767&s,o=0;o>>1;o++){var a=t.__digit(o);i=1&(s=(s>>>15)-(32767&a)-i)>>>15,this.__setDigit(e+o,(32767&s)<<15|32767&r),i=1&(r=(32767&(s=this.__digit(e+o+1)))-(a>>>15)-i)>>>15}const l=(s>>>15)-(32767&(a=t.__digit(o)))-i;if(i=1&l>>>15,this.__setDigit(e+o,(32767&l)<<15|32767&r),e+o+1>=this.length)throw new RangeError("out of bounds");0==(1&n)&&(i=1&(r=(32767&(s=this.__digit(e+o+1)))-(a>>>15)-i)>>>15,this.__setDigit(e+t.length,1073709056&s|32767&r))}else{for(e>>=1,r=0;r>>15,i=1&(s=(s>>>15)-(a>>>15)-i)>>>15,this.__setDigit(e+r,(32767&s)<<15|32767&o);i=1&(s=(32767&(o=this.__digit(e+r)))-(32767&(t=t.__digit(r)))-i)>>>15,a=0,0==(1&n)&&(i=1&(a=(o>>>15)-(t>>>15)-i)>>>15),this.__setDigit(e+r,(32767&a)<<15|32767&s)}return i}__inplaceRightShift(t){if(0!==t){var e=this.__digit(0)>>>t,n=this.length-1;for(let i=0;i>>t}this.__setDigit(n,e)}}static __specialLeftShift(t,e,n){const i=t.length,s=new r(i+n,!1);if(0===e){for(e=0;e>>30-e}return 0n)throw new RangeError("BigInt too big");e=0|n/30;var i=n%30;const s=t.length,o=0!==i&&0!=t.__digit(s-1)>>>30-i;var a=s+e+(o?1:0);if(n=new r(a,t.sign),0===i){for(i=0;i>>30-i}if(o)n.__setDigit(s+e,a);else if(0!==a)throw Error("implementation bug")}return n.__trim()}static __rightShiftByAbsolute(t,e){var n=t.length,i=t.sign,s=r.__toShiftAmount(e);if(0>s)return r.__rightShiftByMaximum(i);var o=s%30,a=n-(e=0|s/30);if(0>=a)return r.__rightShiftByMaximum(i);if(s=!1,i)if(0!=(t.__digit(e)&(1<>>o,n=n-e-1,l=0;l>>o}i.__setDigit(n,a)}return s&&(i=r.__absoluteAddOne(i,!0,i)),i.__trim()}static __rightShiftByMaximum(t){return t?r.__oneDigit(1,!0):r.__zero()}static __toShiftAmount(t){return 1r.__kMaxLengthBits?-1:t}static __toPrimitive(t,e){if(e=void 0===e?"default":e,"object"!=typeof t||t.constructor===r)return t;if("undefined"!=typeof Symbol&&"symbol"==typeof Symbol.toPrimitive){const n=t[Symbol.toPrimitive];if(n){if("object"!=typeof(t=n(e)))return t;throw new TypeError("Cannot convert object to primitive value")}}if((e=t.valueOf)&&"object"!=typeof(e=e.call(t)))return e;if((e=t.toString)&&"object"!=typeof(t=e.call(t)))return t;throw new TypeError("Cannot convert object to primitive value")}static __toNumeric(t){return r.__isBigInt(t)?t:+t}static __isBigInt(t){return"object"==typeof t&&null!==t&&t.constructor===r}static __truncateToNBits(t,e){var n=0|(t+29)/30;const i=new r(n,e.sign);--n;for(let t=0;t>>t),i.__setDigit(n,e),i.__trim()}static __truncateAndSubFromPowerOfTwo(t,e,n){var i=Math.min,s=0|(t+29)/30;n=new r(s,n);let o=0;var a=0;for(i=i(--s,e.length);o>>30,n.__setDigit(o,1073741823&t)}for(;o>>t,a=(t=1<<32-t)-e-a,a&=t-1),n.__setDigit(s,a),n.__trim()}__digit(t){return this[t]}__unsignedDigit(t){return this[t]>>>0}__setDigit(t,e){this[t]=0|e}__setDigitGrow(t,e){this[t]=0|e}__halfDigitLength(){const t=this.length;return 32767>=this.__unsignedDigit(t-1)?2*t-1:2*t}__halfDigit(t){return 32767&this[t>>>1]>>>15*(1&t)}__setHalfDigit(t,e){const n=t>>>1,i=this.__digit(n);this.__setDigit(n,1&t?32767&i|e<<15:1073709056&i|32767&e)}static __digitPow(t,e){let n=1;for(;0>>=1,t*=t;return n}static __isOneDigitInt(t){return(1073741823&t)===t}}return r.__kMaxLength=33554432,r.__kMaxLengthBits=r.__kMaxLength<<5,r.__kMaxBitsPerChar=[0,0,32,51,64,75,83,90,96,102,107,111,115,119,122,126,128,131,134,136,139,141,143,145,147,149,151,153,154,156,158,159,160,162,163,165,166],r.__kBitsPerCharTableShift=5,r.__kBitsPerCharTableMultiplier=1<>>0)/e)},r.__imul=t||function(t,e){return 0|t*e},r}()},function(t,e){[..."abc"].flat(),"a".matchAll(/a/g)},function(t,e,n){(function(t,e){!function(t,n){function i(t){delete a[t]}function s(t){if(l)setTimeout(s,0,t);else{var e=a[t];if(e){l=!0;try{var r=e.callback,o=e.args;switch(o.length){case 0:r();break;case 1:r(o[0]);break;case 2:r(o[0],o[1]);break;case 3:r(o[0],o[1],o[2]);break;default:r.apply(n,o)}}finally{i(t),l=!1}}}}if(!t.setImmediate){var r,o=1,a={},l=!1,u=t.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(t);c=c&&c.setTimeout?c:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick((function(){s(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(p="setImmediate$"+Math.random()+"$",h=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(p)&&s(+e.data.slice(p.length))},t.addEventListener?t.addEventListener("message",h,!1):t.attachEvent("onmessage",h),r=function(e){t.postMessage(p+e,"*")}):t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){s(t.data)},r=function(e){t.port2.postMessage(e)}}():u&&"onreadystatechange"in u.createElement("script")?function(){var t=u.documentElement;r=function(e){var n=u.createElement("script");n.onreadystatechange=function(){s(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():r=function(t){setTimeout(s,0,t)},c.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=Array(arguments.length-1),n=0;n the object's type\ntype(name, bases, dict) -> a new type",tp$call:function(t,e){if(this===Sk.builtin.type){if(1===t.length&&(void 0===e||!e.length))return t[0].ob$type;if(3!==t.length)throw new Sk.builtin.TypeError("type() takes 1 or 3 arguments")}let n=this.prototype.tp$new(t,e);if(n.$isSuspension)return Sk.misceval.chain(n,(i=>{if(n=i,n.ob$type.$isSubType(this))return n.tp$init(t,e)}),(()=>n));if(n.ob$type.$isSubType(this)){const i=n.tp$init(t,e);return void 0!==i&&i.$isSuspension?Sk.misceval.chain(i,(()=>n)):n}return n},tp$new:function(t,e){if(3!==t.length){if(1===t.length&&(void 0===e||!e.length))return t[0].ob$type;throw new Sk.builtin.TypeError("type() takes 1 or 3 arguments")}const i=t[0];var s=t[1];const o=t[2];if("dict"!==o.tp$name)throw new Sk.builtin.TypeError("type() argument 3 must be dict, not "+Sk.abstr.typeName(o));if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("type() argument 1 must be str, not "+Sk.abstr.typeName(i));const a=i.$jsstr();if("tuple"!==s.tp$name)throw new Sk.builtin.TypeError("type() argument 2 must be tuple, not "+Sk.abstr.typeName(s));r(a,t=function(){this.sk$hasDict&&(this.$d=new Sk.builtin.dict),this.$s=[]},s=s.sk$asarray(),this.constructor);const u=t.prototype;Sk.globals&&(u.__module__=Sk.globals.__name__),u.__doc__=Sk.builtin.none.none$;let c,p=void 0===(s=o.quick$lookup(Sk.builtin.str.$slots)),h=void 0!==t.$typeLookup(Sk.builtin.str.$dict);if(void 0!==s&&(c=new Set,(s=Sk.builtin.checkString(s)?[s]:Sk.misceval.arrayFromIterable(s)).forEach((t=>{if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__slots__ items must be strings, not '"+Sk.abstr.typeName(t)+"'");if(!t.$isIdentifier())throw new Sk.builtin.TypeError("__slots__ must be identifiers");if(t===Sk.builtin.str.$dict){if(h)throw new Sk.builtin.TypeError("__dict__ slot disallowed: we already got one");p=!0}else c.add(Sk.mangleName(i,t))})),function(t,e){const n=e.prototype,i=n.sk$nslots||0;Object.defineProperty(n,"sk$nslots",{value:i+t.length,writable:!0}),t.length&&Object.defineProperty(e,"sk$solidSlotBase",{value:!0,writable:!0}),t.forEach(((t,s)=>{s+=i,n[t.$mangled]=new Sk.builtin.getset_descriptor(e,{$get(){const e=this.$s[s];if(void 0===e)throw new Sk.builtin.AttributeError(t);return e},$set(t){this.$s[s]=t}})}))}(s=[...c].sort(((t,e)=>t.toString().localeCompare(e.toString()))),t)),p&&!h&&(u.__dict__=new Sk.builtin.getset_descriptor(t,l),h=!0),Object.defineProperties(u,{ht$slots:{value:s||null,writable:!0},sk$hasDict:{value:h,writable:!0}}),o.$items().forEach((t=>{var[e,n]=t;if(c&&c.has(e))throw new Sk.builtin.ValueError("'"+e.toString()+"' in __slots__ conflicts with class variable");u[e.$mangled]=n})),u.hasOwnProperty("__qualname__")){if(s=u.__qualname__,!Sk.builtin.checkString(s))throw new Sk.builtin.TypeError("type __qualname__ must be a str, not '"+Sk.abstr.typeName(s)+"'");u.ht$qualname=s}return n(s=t.prototype,"__init_subclass__","classmethod"),n(s,"__new__","staticmethod"),n(s,"__class_getitem__","classmethod"),t.$allocateSlots(),function(t){const e=t.prototype;Object.keys(e).forEach((n=>{const i=Sk.abstr.lookupSpecial(e[n],Sk.builtin.str.$setname);if(void 0!==i)try{Sk.misceval.callsimArray(i,[t,new Sk.builtin.str(n)])}catch(i){throw(n=new Sk.builtin.RuntimeError("Error calling __set_name__ on '"+Sk.abstr.typeName(e[n])+"' instance '"+n+"' in '"+t.prototype.tp$name+"'")).$cause=i,n}}))}(t),function(t,e){t=new Sk.builtin.super_(t,t).tp$getattr(Sk.builtin.str.$initsubclass),Sk.misceval.callsimArray(t,[],e)}(t,e),t},tp$init:function(t,e){if(t&&1==t.length&&e&&e.length)throw new Sk.builtin.TypeError("type.__init__() takes no keyword arguments");if(3!=t.length&&1!=t.length)throw new Sk.builtin.TypeError("type.__init__() takes 1 or 3 arguments");return Sk.builtin.object.prototype.tp$init.call(this,[])},tp$getattr:function(t,e){var n=this.ob$type;const i=n.$typeLookup(t);let s;return void 0!==i&&(s=i.tp$descr_get,void 0!==s&&void 0!==i.tp$descr_set)?s.call(i,this,n,e):void 0!==(t=this.$typeLookup(t))?void 0!==(n=t.tp$descr_get)?e=n.call(t,null,this,e):t:void 0!==s?s.call(i,this,n,e):void 0!==i?i:void 0},tp$setattr:function(t,e,n){if(!this.sk$klass){if(void 0!==e)throw new Sk.builtin.TypeError("can't set attributes of built-in/extension type '"+this.prototype.tp$name+"'");throw new Sk.builtin.TypeError("can't delete attributes on type object '"+this.prototype.tp$name+"'")}const i=this.ob$type.$typeLookup(t);if(void 0!==i){const t=i.tp$descr_set;if(t)return t.call(i,this,e,n)}if(n=t.$mangled,void 0===e){if(!(e=this.prototype).hasOwnProperty(n))throw new Sk.builtin.AttributeError("type object '"+this.prototype.tp$name+"' has no attribute '"+t.$jsstr()+"'");delete e[n],void 0!==(t=Sk.dunderToSkulpt[n])&&(delete this.prototype[t],e.sk$prototypical||this.$allocateGetterSlot(n))}else this.prototype[n]=e,n in Sk.dunderToSkulpt&&this.$allocateSlot(n,e)},$r:function(){let t=this.prototype.__module__,e="",n="class";return t&&Sk.builtin.checkString(t)?e=t.v+".":t=null,t||this.sk$klass||Sk.__future__.class_repr||(n="type"),new Sk.builtin.str("<"+n+" '"+e+this.prototype.tp$name+"'>")}},writable:!0},tp$methods:{value:null,writable:!0},tp$classmethods:{value:null,writable:!0},tp$getsets:{value:null,writable:!0},sk$type:{value:!0},$isSubType:{value:function(t){return this===t||this.prototype instanceof t||!this.prototype.sk$prototypical&&this.prototype.tp$mro.includes(t)}},$allocateSlot:{value:function(t,e){const n=(t=Sk.slots[t]).$slot_name,i=this.prototype;i.hasOwnProperty(n)&&delete i[n],Object.defineProperty(i,n,{value:t.$slot_func(e),writable:!0,configurable:!0})}},$allocateSlots:{value:function(){const t=this.prototype;this.prototype.sk$prototypical?Object.keys(t).forEach((e=>{e in Sk.slots&&this.$allocateSlot(e,t[e])})):Object.keys(Sk.slots).forEach((e=>{t.hasOwnProperty(e)?this.$allocateSlot(e,t[e]):this.$allocateGetterSlot(e)})),t.hasOwnProperty("__eq__")&&!t.hasOwnProperty("__hash__")&&(t.tp$hash=t.__hash__=Sk.builtin.none.none$)}},$allocateGetterSlot:{value:function(t){const e=Sk.slots[t].$slot_name,n=this.prototype;n.hasOwnProperty(e)||Object.defineProperty(n,e,{configurable:!0,get(){const t=n.tp$mro;for(let n=1;nnew Sk.builtin.dict([]),$flags:{FastCall:!0}}};const l={$get(){const t=o(this.ob$type);return void 0!==t?t.tp$descr_get(this,this.ob$type):Sk.generic.getSetDict.$get.call(this)},$set(t){const e=o(this.ob$type);return void 0!==e?e.tp$descr_set(this,t):void 0!==t?Sk.generic.getSetDict.$set.call(this,t):void(this.$d=new Sk.builtin.dict([]))},$doc:"dictionary for instance variables (if defined)",$name:"__dict__"}},function(t,e){Sk.generic={},Sk.generic.getAttr=function(t,e){let n;const i=this.ob$type,s=i.$typeLookup(t);if(void 0!==s&&(n=s.tp$descr_get,void 0!==n&&void 0!==s.tp$descr_set))return n.call(s,this,i,e);const r=this.$d;return void 0!==r&&void 0!==(t=r.quick$lookup(t))?t:void 0!==n?n.call(s,this,i,e):void 0!==s?s:void 0},Sk.exportSymbol("Sk.generic.getAttr",Sk.generic.getAttr),Sk.generic.setAttr=function(t,e,n){var i=this.ob$type.$typeLookup(t);if(null!=i){const t=i.tp$descr_set;if(t)return t.call(i,this,e,n)}if(void 0!==(n=this.$d))if(n.mp$ass_subscript){if(void 0!==e)return n.mp$ass_subscript(t,e);try{return n.mp$ass_subscript(t)}catch(e){if(e instanceof Sk.builtin.KeyError)throw new Sk.builtin.AttributeError("'"+Sk.abstr.typeName(this)+"' object has no attribute '"+t.$jsstr()+"'");throw e}}else if("object"==typeof n){if(i=t.$mangled,void 0!==e)return void(n[i]=e);if(void 0!==n[i])return void delete n[i]}throw new Sk.builtin.AttributeError(this.sk$attrError()+" has no attribute '"+t.$jsstr()+"'")},Sk.exportSymbol("Sk.generic.setAttr",Sk.generic.setAttr),Sk.generic.new=function(t){return function(e,n){return this.constructor===t?new this.constructor:(e=new this.constructor,t.call(e),e)}},Sk.generic.newMethodDef={$meth(t,e){const n=this.prototype;if(1>t.length)throw t=n.tp$name,new Sk.builtin.TypeError(t+".__new__(): not enough arguments");var i=t.shift();if(void 0===i.sk$type)throw t=n.tp$name,new Sk.builtin.TypeError(t+"__new__(X): X is not a type object ("+Sk.abstr.typeName(i)+")");if(!i.$isSubType(this))throw t=n.tp$name,i=i.prototype.tp$name,new Sk.builtin.TypeError(t+".__new__("+i+"): "+i+" is not a subtype of "+t);const s=i.prototype.sk$staticNew.prototype;if(s.tp$new!==n.tp$new)throw t=n.tp$name,i=i.prototype.tp$name,new Sk.builtin.TypeError(t+".__new__("+i+") is not safe, use "+s.tp$name+".__new__()");return n.tp$new.call(i.prototype,t,e)},$flags:{FastCall:!0},$textsig:"($type, *args, **kwargs)",$name:"__new__"},Sk.generic.selfIter=function(){return this},Sk.generic.iterNextWithArrayCheckSize=function(){if(this.$seq.length!==this.$orig.get$size()){const t=this.tp$name.split("_")[0];throw new Sk.builtin.RuntimeError(t+" changed size during iteration")}if(!(this.$index>=this.$seq.length))return this.$seq[this.$index++]},Sk.generic.iterNextWithArray=function(){const t=this.$seq[this.$index++];return void 0===t&&(this.tp$iternext=()=>{}),t},Sk.generic.iterLengthHintWithArrayMethodDef={$meth:function(){return new Sk.builtin.int_(this.$seq.length-this.$index)},$flags:{NoArgs:!0}},Sk.generic.iterReverseLengthHintMethodDef={$meth:function(){return new Sk.builtin.int_(this.$index)},$flags:{NoArgs:!0}},Sk.generic.getSetDict={$get(){return this.$d},$set(t){if(void 0===t)throw new Sk.builtin.TypeError("cannot delete __dict__");if(!(t instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError("__dict__ must be set to a dictionary, not a '"+Sk.abstr.typeName(t)+"'");this.$d=t},$doc:"dictionary for instance variables (if defined)",$name:"__dict__"},Sk.generic.seqCompare=function(t,e){if(this===t&&Sk.misceval.opAllowsEquality(e))return!0;if(!(t instanceof this.sk$builtinBase))return Sk.builtin.NotImplemented.NotImplemented$;const n=this.v;let i;if(t=t.v,n.length!==t.length&&("Eq"===e||"NotEq"===e))return"Eq"!==e;for(i=0;i=s||i>=r)switch(e){case"Lt":return sr;case"GtE":return s>=r;default:Sk.asserts.fail()}return"Eq"!==e&&("NotEq"===e||Sk.misceval.richCompareBool(n[i],t[i],e))},Sk.generic.classGetItem={__class_getitem__:{$meth(t){return new Sk.builtin.GenericAlias(this,t)},$flags:{OneArg:!0}}}},function(t,e){Sk.builtin.pyCheckArgs=function(t,e,n,i,s,r){if(e=e.length,void 0===i&&(i=1/0),s&&--e,r&&--e,ei)throw new Sk.builtin.TypeError((n===i?t+"() takes exactly "+n+" arguments":ei)throw new Sk.builtin.TypeError((n===i?t+"() takes exactly "+n+" arguments":e"};const r={Add:"+",Sub:"-",Mult:"*",MatMult:"@",Div:"/",FloorDiv:"//",Mod:"%",DivMod:"divmod()",Pow:"** or pow()",LShift:"<<",RShift:">>",BitAnd:"&",BitXor:"^",BitOr:"|"},o={UAdd:"+",USub:"-",Invert:"~"};Sk.abstr.numberBinOp=function(t,e,n){var s;if(!(s=i(t,e,n)))throw t=Sk.abstr.typeName(t),e=Sk.abstr.typeName(e),new Sk.builtin.TypeError("unsupported operand type(s) for "+r[n]+": '"+t+"' and '"+e+"'");return s},Sk.exportSymbol("Sk.abstr.numberBinOp",Sk.abstr.numberBinOp),Sk.abstr.numberInplaceBinOp=function(t,e,n){var i;if(!(i=s(t,e,n)))throw t=Sk.abstr.typeName(t),e=Sk.abstr.typeName(e),new Sk.builtin.TypeError("unsupported operand type(s) for "+r[n]+"=: '"+t+"' and '"+e+"'");return i},Sk.exportSymbol("Sk.abstr.numberInplaceBinOp",Sk.abstr.numberInplaceBinOp),Sk.abstr.numberUnaryOp=function(t,e){if("Not"===e)return Sk.misceval.isTrue(t)?Sk.builtin.bool.false$:Sk.builtin.bool.true$;t:{switch(e){case"USub":var n=t.nb$negative;break t;case"UAdd":n=t.nb$positive;break t;case"Invert":n=t.nb$invert;break t}n=void 0}if(!(n=void 0!==n?n.call(t):void 0))throw t=Sk.abstr.typeName(t),new Sk.builtin.TypeError("bad operand type for unary "+o[e]+": '"+t+"'");return n},Sk.exportSymbol("Sk.abstr.numberUnaryOp",Sk.abstr.numberUnaryOp),Sk.abstr.fixSeqIndex_=function(t,e){return 0>(e=Sk.builtin.asnum$(e))&&t.sq$length&&(e+=t.sq$length()),e},Sk.abstr.sequenceContains=function(t,e,n){return t.sq$contains?t.sq$contains(e,n):(t=Sk.misceval.iterFor(Sk.abstr.iter(t),(function(t){return!(t!==e&&!Sk.misceval.richCompareBool(t,e,"Eq"))&&new Sk.misceval.Break(!0)}),!1),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t))},Sk.abstr.sequenceConcat=function(t,e){if(t.sq$concat)return t.sq$concat(e);if(Sk.builtin.checkSequence(t)&&Sk.builtin.checkSequence(e)&&void 0!==(e=i(t,e,"Add")))return e;throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object can't be concatenated")},Sk.abstr.sequenceInPlaceConcat=function(t,e){if(t.sq$inplace_concat)return t.sq$inplace_concat(e);if(t.sq$concat)return t.sq$concat(e);if(Sk.builtin.checkSequence(t)&&Sk.builtin.checkSequence(e)&&void 0!==(e=s(t,e,"Add")))return e;throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object can't be concatenated")},Sk.abstr.sequenceGetIndexOf=function(t,e){if(t.index)return Sk.misceval.callsimArray(t.index,[t,e]);let n=0;for(let i=Sk.abstr.iter(t),s=i.tp$iternext();void 0!==s;s=i.tp$iternext()){if(Sk.misceval.richCompareBool(e,s,"Eq"))return new Sk.builtin.int_(n);n+=1}throw new Sk.builtin.ValueError("sequence.index(x): x not in sequence")},Sk.abstr.sequenceGetCountOf=function(t,e){if(t.count)return Sk.misceval.callsimArray(t.count,[t,e]);let n=0;for(let i=Sk.abstr.iter(t),s=i.tp$iternext();void 0!==s;s=i.tp$iternext())Sk.misceval.richCompareBool(e,s,"Eq")&&(n+=1);return new Sk.builtin.int_(n)},Sk.abstr.sequenceGetItem=function(t,e,n){return"number"==typeof e&&(e=new Sk.builtin.int_(e)),Sk.abstr.objectGetItem(t,e,n)},Sk.abstr.sequenceSetItem=function(t,e,n,i){return"number"==typeof e&&(e=new Sk.builtin.int_(e)),Sk.abstr.objectSetItem(t,e,n,i)},Sk.abstr.sequenceDelItem=function(t,e,n){return Sk.abstr.objectDelItem(t,e,n)},Sk.abstr.sequenceGetSlice=function(t,e,n){return Sk.abstr.objectGetItem(t,new Sk.builtin.slice(e,n))},Sk.abstr.sequenceDelSlice=function(t,e,n){return Sk.abstr.objectDelItem(t,new Sk.builtin.slice(e,n))},Sk.abstr.sequenceSetSlice=function(t,e,n,i){return Sk.abstr.objectSetItem(t,new Sk.builtin.slice(e,n))},Sk.abstr.sequenceUnpack=function(t,e,n,i){if(!Sk.builtin.checkIterable(t))throw new Sk.builtin.TypeError("cannot unpack non-iterable "+Sk.abstr.typeName(t)+" object");const s=Sk.abstr.iter(t),r=[];let o,a=0;return 0{if(r.push(t),++a===e)return new Sk.misceval.Break}))),Sk.misceval.chain(o,(()=>{if(r.length{if(void 0!==t)throw new Sk.builtin.ValueError("too many values to unpack (expected "+e+")");return r}));const t=[];return Sk.misceval.chain(Sk.misceval.iterFor(s,(e=>{t.push(e)})),(()=>{const i=t.length+e-n;if(0>i)throw new Sk.builtin.ValueError("not enough values to unpack (expected at least "+n+", got "+(n+i)+")");return r.push(new Sk.builtin.list(t.slice(0,i))),r.push(...t.slice(i)),r}))}))},Sk.abstr.mappingUnpackIntoKeywordArray=function(t,e,n){if(!(e instanceof Sk.builtin.dict)){var i=Sk.abstr.lookupSpecial(e,Sk.builtin.str.$keys);if(void 0===i)throw new Sk.builtin.TypeError("Object is not a mapping");return Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(i),(i=>Sk.misceval.iterFor(Sk.abstr.iter(i),(i=>{if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError((n.$qualname?n.$qualname+"() ":"")+"keywords must be strings");return Sk.misceval.chain(e.mp$subscript(i,!0),(e=>{t.push(i.v),t.push(e)}))}))))}e.$items().forEach((e=>{var[i,s]=e;if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError((n.$qualname?n.$qualname+"() ":"")+"keywords must be strings");t.push(i.v),t.push(s)}))},Sk.abstr.keywordArrayFromPyDict=function(t){const e=[];return t.$items().forEach((t=>{var[n,i]=t;if(!Sk.builtin.checkString(n))throw new Sk.builtin.TypeError("keywords must be strings");e.push(n.toString()),e.push(i)})),e},Sk.abstr.keywordArrayToPyDict=function(t){const e=new Sk.builtin.dict;for(let n=0;ne.length)throw new Sk.builtin.TypeError(t+"() expected at most "+e.length+" arguments ("+r+" given)");if(!i.length&&void 0===s)return n;if(r===e.length&&!i.length)return n;if(0===r&&e.length===(s&&s.length))return s;for(n=n.slice(0),r=0;rvoid 0===n[e]))).length)throw new Sk.builtin.TypeError(t+"() missing "+e.length+" required positional arguments: "+e.join(", "))}return n},Sk.exportSymbol("Sk.abstr.copyKeywordsToNamedArgs",Sk.abstr.copyKeywordsToNamedArgs),Sk.abstr.checkNoKwargs=function(t,e){if(e&&e.length)throw new Sk.builtin.TypeError(t+"() takes no keyword arguments")},Sk.exportSymbol("Sk.abstr.checkNoKwargs",Sk.abstr.checkNoKwargs),Sk.abstr.checkNoArgs=function(t,e,n){if(e=e.length+(n?n.length:0))throw new Sk.builtin.TypeError(t+"() takes no arguments ("+e+" given)")},Sk.exportSymbol("Sk.abstr.checkNoArgs",Sk.abstr.checkNoArgs),Sk.abstr.checkOneArg=function(t,e,n){if(Sk.abstr.checkNoKwargs(t,n),1!==e.length)throw new Sk.builtin.TypeError(t+"() takes exactly one argument ("+e.length+" given)")},Sk.exportSymbol("Sk.abstr.checkOneArg",Sk.abstr.checkOneArg),Sk.abstr.checkArgsLen=function(t,e,n,i){if(void 0===i&&(i=1/0),(e=e.length)i)throw new Sk.builtin.TypeError((n===i?t+"() takes exactly "+n+" arguments":eSk.builtin.str&&Sk.builtin.str.$fixReserved?(a=Sk.builtin.str.$fixReserved,Sk.builtin.str.$fixReserved(t)):t;Sk.abstr.setUpGetSets=function(t,e){if(void 0!==Sk.builtin.getset_descriptor){var n=t.prototype;e=e||n.tp$getsets||{},Object.entries(e).forEach((e=>{var[i,s]=e;s.$name=i,n[a(i)]=new Sk.builtin.getset_descriptor(t,s)})),Object.defineProperty(n,"tp$getsets",{value:null,writable:!0})}},Sk.abstr.setUpMethods=function(t,e){if(void 0!==Sk.builtin.method_descriptor){var n=t.prototype;e=e||n.tp$methods||{},Object.entries(e).forEach((e=>{var[i,s]=e;s.$name=i,n[a(i)]=new Sk.builtin.method_descriptor(t,s)})),Object.defineProperty(n,"tp$methods",{value:null,writable:!0})}},Sk.abstr.setUpClassMethods=function(t,e){if(void 0!==Sk.builtin.classmethod_descriptor){var n=t.prototype;e=e||n.tp$classmethods||{},Object.entries(e).forEach((e=>{var[i,s]=e;s.$name=i,n[a(i)]=new Sk.builtin.classmethod_descriptor(t,s)})),Object.defineProperty(n,"tp$classmethods",{value:null,writable:!0})}};const l={Eq:"ob$eq",NotEq:"ob$ne",Gt:"ob$gt",GtE:"ob$ge",Lt:"ob$lt",LtE:"ob$le"},u=Object.entries(l);Sk.abstr.setUpSlots=function(t,e){function n(e,n){s[e]=new Sk.builtin.wrapper_descriptor(t,Sk.slots[e],n)}function i(t,e){"string"==typeof t?n(t,e):t.forEach((t=>{n(t,e)}))}if(void 0!==Sk.builtin.wrapper_descriptor){var s=t.prototype;(e=e||s.tp$slots||{}).tp$new===Sk.generic.new&&(e.tp$new=Sk.generic.new(t)),e.tp$richcompare?function(t){u.forEach((e=>{var[n,i]=e;t[i]=function(t){return this.tp$richcompare(t,n)}}))}(e):e.ob$eq&&(e.tp$richcompare=function(t,e){return this[l[e]].call(this,t)}),e.tp$as_number&&function(t){const e=Sk.reflectedNumberSlots;Object.keys(e).forEach((n=>{if(void 0!==t[n]){const i=e[n],s=i.reflected,r=t[s];void 0!==r?null===r&&delete t[s]:t[s]=i.slot||t[n]}}))}(e),e.tp$as_sequence_or_mapping&&function(t){const e=Sk.sequenceAndMappingSlots;Object.keys(e).forEach((n=>{void 0!==t[n]&&e[n].forEach((e=>{t[e]=t[n]}))}))}(e),Object.entries(e).forEach((t=>{var[e,n]=t;Object.defineProperty(s,e,{value:n,writable:!0})})),e.tp$new&&(s.__new__=new Sk.builtin.sk_method(Sk.generic.newMethodDef,t),Object.defineProperty(s,"sk$staticNew",{value:t,writable:!0})),Sk.subSlots.main_slots.forEach((t=>{var[n,s]=t;void 0!==(t=e[n])&&i(s,t)}));var r=e.tp$hash;void 0!==r&&("function"==typeof r?n("__hash__",r):r===Sk.builtin.none.none$?s.__hash__=r:Sk.asserts.fail("invalid tp$hash")),e.tp$as_number&&Sk.subSlots.number_slots.forEach((t=>{var[n,s]=t;void 0!==(t=e[n])&&i(s,t)})),e.tp$as_sequence_or_mapping&&Sk.subSlots.sequence_and_mapping_slots.forEach((t=>{var[n,s]=t;void 0!==(t=e[n])&&i(s,t)})),Object.defineProperty(s,"tp$slots",{value:null,writable:!0})}},Sk.abstr.buildNativeClass=function(t,e){e=e||{},Sk.asserts.assert(e.hasOwnProperty("constructor"),"A constructor is required to build a native class");let n=e.constructor;Sk.abstr.setUpInheritance(t,n,e.base,e.meta),Sk.abstr.setUpBuiltinMro(n);const i=n.prototype;return Object.defineProperties(i,{tp$slots:{value:e.slots,writable:!0},tp$getsets:{value:e.getsets,writable:!0},tp$methods:{value:e.methods,writable:!0},tp$classmethods:{value:e.classmethods,writable:!0}}),Sk.abstr.setUpSlots(n,e.slots||{}),Sk.abstr.setUpMethods(n,e.methods),Sk.abstr.setUpGetSets(n,e.getsets),Sk.abstr.setUpClassMethods(n,e.classmethods),Object.entries(e.proto||{}).forEach((t=>{var[e,n]=t;Object.defineProperty(i,e,{value:n,writable:!0,enumerable:!(e.includes("$")||e in Object.prototype)})})),Object.entries(e.flags||{}).forEach((t=>{var[e,i]=t;Object.defineProperty(n,e,{value:i,writable:!0})})),i.hasOwnProperty("tp$iter")&&(i[Symbol.iterator]=function(){return this.tp$iter()[Symbol.iterator]()}),void 0!==Sk.builtin.str&&i.hasOwnProperty("tp$doc")&&!i.hasOwnProperty("__doc__")&&(t=i.tp$doc||null,i.__doc__="string"==typeof t?new Sk.builtin.str(t):Sk.builtin.none.none$),n},Sk.abstr.buildIteratorClass=function(t,e){return Sk.asserts.assert(e.hasOwnProperty("constructor"),"must provide a constructor"),e.slots=e.slots||{},e.slots.tp$iter=Sk.generic.selfIter,e.slots.tp$iternext=e.slots.tp$iternext||e.iternext,e.slots.tp$getattr=e.slots.tp$getattr||Sk.generic.getAttr,t=Sk.abstr.buildNativeClass(t,e),Sk.abstr.built$iterators.push(t),t.prototype[Symbol.iterator]=function(){return{next:()=>{const t=this.tp$iternext();return{value:t,done:void 0===t}}}},t},Sk.abstr.built$iterators=[],Sk.abstr.setUpModuleMethods=function(t,e,n){return Object.entries(n).forEach((n=>{var[i,s]=n;s.$name=s.$name||i,e[i]=new Sk.builtin.sk_method(s,null,t)})),e},Sk.abstr.superConstructor=function(t,e,n){var i=Array.prototype.slice.call(arguments,2);t.prototype.tp$base.apply(e,i)}},function(t,e){function n(t){const e=t.prototype,n=e.tp$base;if(null==n)return!1;const i=n.prototype;return!(n.sk$solidSlotBase||t.sk$solidSlotBase||i.sk$hasDict!==e.sk$hasDict||n.sk$solidBase&&n!==Sk.builtin.module)}const i=new WeakMap;Sk.builtin.object=Sk.abstr.buildNativeClass("object",{constructor:function(){Sk.asserts.assert(this instanceof Sk.builtin.object,"bad call to object, use 'new'")},base:null,slots:{tp$new(t,e){if(t.length||e&&e.length){if(this.tp$new!==Sk.builtin.object.prototype.tp$new)throw new Sk.builtin.TypeError("object.__new__() takes exactly one argument (the type to instantiate)");if(this.tp$init===Sk.builtin.object.prototype.tp$init)throw new Sk.builtin.TypeError(Sk.abstr.typeName(this)+"() takes no arguments")}return new this.constructor},tp$init(t,e){if(t.length||e&&e.length){if(this.tp$init!==Sk.builtin.object.prototype.tp$init)throw new Sk.builtin.TypeError("object.__init__() takes exactly one argument (the instance to initialize)");if(this.tp$new===Sk.builtin.object.prototype.tp$new)throw new Sk.builtin.TypeError(Sk.abstr.typeName(this)+".__init__() takes exactly one argument (the instance to initialize)")}},tp$getattr:Sk.generic.getAttr,tp$setattr:Sk.generic.setAttr,$r(){const t=Sk.abstr.lookupSpecial(this,Sk.builtin.str.$module);let e="";return t&&Sk.builtin.checkString(t)&&(e=t.v+"."),new Sk.builtin.str("<"+e+Sk.abstr.typeName(this)+" object>")},tp$str(){return this.$r()},tp$hash(){let t=i.get(this);return void 0!==t||(t=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER-Number.MAX_SAFE_INTEGER/2),i.set(this,t)),t},tp$richcompare(t,e){switch(e){case"Eq":t=this===t||Sk.builtin.NotImplemented.NotImplemented$;break;case"NotEq":(t=this.ob$eq(t,"Eq"))!==Sk.builtin.NotImplemented.NotImplemented$&&(t=!Sk.misceval.isTrue(t));break;default:t=Sk.builtin.NotImplemented.NotImplemented$}return t},tp$doc:"The most base type"},getsets:{__class__:{$get(){return this.ob$type},$set(t){if(void 0===t)throw new Sk.builtin.TypeError("can't delete __class__ attribute");if(!Sk.builtin.checkClass(t))throw new Sk.builtin.TypeError("__class__ must be set to a class, not '"+Sk.abstr.typeName(t)+"' object");const e=this.ob$type;if(!(e.$isSubType(Sk.builtin.module)&&t.$isSubType(Sk.builtin.module)||void 0!==e.prototype.ht$type&&void 0!==t.prototype.ht$type))throw new Sk.builtin.TypeError(" __class__ assignment only supported for heap types or ModuleType subclasses");{let i=e,s=t;for(;n(i);)i=i.prototype.tp$base;for(;n(s);)s=s.prototype.tp$base;if(i!==s&&(i.prototype.tp$base!==s.prototype.tp$base||!function(t,e){t=t.prototype,e=e.prototype;const n=t.ht$slots,i=e.ht$slots;return t.sk$hasDict===e.sk$hasDict&&(n===i||(n&&i?n.length===i.length&&n.every(((t,e)=>t===i[e])):(n&&(n.length||null))===(i&&(i.length||null))))}(i,s)))throw new Sk.builtin.TypeError("__class__ assignment: '"+t.prototype.tp$name+"' object layout differs from '"+e.prototype.tp$name+"'")}Object.setPrototypeOf(this,t.prototype)},$doc:"the object's class"}},methods:{__dir__:{$meth:function(){let t=Sk.abstr.lookupAttr(this,Sk.builtin.str.$dict);t=void 0===t?new Sk.builtin.dict([]):t instanceof Sk.builtin.dict?t.dict$copy():new Sk.builtin.dict([]);const e=Sk.abstr.lookupAttr(this,Sk.builtin.str.$class);return void 0!==e&&e.$mergeClassDict(t),new Sk.builtin.list(t.sk$asarray())},$flags:{NoArgs:!0},$doc:"Default dir() implementation."},__format__:{$meth(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__format__() argument must be str, not "+Sk.abstr.typeName(t));if(t!==Sk.builtin.str.$empty)throw new Sk.builtin.TypeError(`unsupported format string passed to ${Sk.abstr.typeName(this)}.__format__`);return this.tp$str()},$flags:{OneArg:!0},$doc:"Default object formatter."}},classmethods:{__init_subclass__:{$meth:t=>Sk.builtin.none.none$,$flags:{FastCall:!0,NoKwargs:!0}}},proto:{valueOf:Object.prototype.valueOf,toString(){return this.tp$str().v},hasOwnProperty:Object.prototype.hasOwnProperty,ht$type:void 0,sk$attrError(){return"'"+this.tp$name+"' object"},$mergeClassDict(t){var e=Sk.abstr.lookupAttr(this,Sk.builtin.str.$dict);if(void 0!==e&&t.dict$merge(e),void 0!==(e=Sk.abstr.lookupAttr(this,Sk.builtin.str.$bases))){var n=Sk.builtin.len(e).valueOf();for(let i=0;ivoid 0===t?Sk.builtin.none.none$:t))}function r(t,e,n){return Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,1,2),void 0===(t=this.call(t,...e))?Sk.builtin.none.none$:t}function o(t,e,n){return Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,2,2),Sk.misceval.chain(this.call(t,e[0],e[1],!0),(()=>Sk.builtin.none.none$))}function a(t,e,n){return Sk.abstr.checkOneArg(this.$name,e,n),t=this.call(t,e[0],void 0,!0),Sk.misceval.chain(t,(t=>void 0===t?Sk.builtin.none.none$:t))}function l(t,e,n){return(t=i.call(this,t,e,n))===Sk.builtin.NotImplemented.NotImplemented$?t:new Sk.builtin.bool(t)}function u(t,e,n){return function(i,s,r){return i=t.call(this,i,s,r),n?Sk.misceval.chain(i,e):e(Sk.misceval.retryOptionalSuspensionOrThrow(i))}}function c(t){return function(){const e=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return Sk.misceval.callsimArray(e,[])}}function p(t,e,n,i){return function(s){return function(){var r=s.tp$descr_get?s.tp$descr_get(this,this.ob$type):s;if(r=Sk.misceval.callsimArray(r,[]),!e(r))throw new Sk.builtin.TypeError(t+" should return "+n+" (returned "+Sk.abstr.typeName(r)+")");return void 0!==i?i(r):r}}}function h(t){return function(e){const n=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return Sk.misceval.callsimArray(n,[e])}}function _(t,e){let n=this.ob$type.$typeLookup(Sk.builtin.str.$getattribute);if(n instanceof Sk.builtin.wrapper_descriptor)return n.d$wrapped.call(this,t,e);n.tp$descr_get&&(n=n.tp$descr_get(this,this.ob$type));const i=Sk.misceval.tryCatch((()=>Sk.misceval.callsimOrSuspendArray(n,[t])),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t}));return e?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}function d(t,e,n){return function(i){return function(i,s,r){let o;void 0===s?(o=e,n=null):o=t;let a=this.ob$type.$typeLookup(new Sk.builtin.str(o));if(a instanceof Sk.builtin.wrapper_descriptor)return a.d$wrapped.call(this,i,s);if(a.tp$descr_get&&(a=a.tp$descr_get(this,this.ob$type,r)),void 0===a){if(n)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(this)+"' object "+n);throw new Sk.builtin.AttributeError(o)}return i=Sk.misceval.callsimOrSuspendArray(a,void 0===s?[i]:[i,s]),r?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}}}function f(t,e){let n=t.ob$type;for(;n&&void 0!==n.sk$klass;)n=n.prototype.tp$base;if(n&&n.prototype.tp$setattr!==e)throw new Sk.builtin.TypeError("can't apply this "+e.$name+" to "+Sk.abstr.typeName(t)+" object")}Sk.slots=Object.create(null),t=Sk.slots,Sk.slots.__init__={$name:"__init__",$slot_name:"tp$init",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(i,e,n),Sk.misceval.chain(e,(t=>{if(!Sk.builtin.checkNone(t)&&void 0!==t)throw new Sk.builtin.TypeError("__init__() should return None, not "+Sk.abstr.typeName(t))}))}},$wrapper:function(t,e,n){return this.call(t,e,n),Sk.builtin.none.none$},$textsig:"($self, /, *args, **kwargs)",$flags:{FastCall:!0},$doc:"Initialize self. See help(type(self)) for accurate signature."},t.__new__={$name:"__new__",$slot_name:"tp$new",$slot_func:function(t){const e=function(e,n){let i=t;return t.tp$descr_get&&(i=t.tp$descr_get(null,this.constructor)),Sk.misceval.callsimOrSuspendArray(i,[this.constructor,...e],n)};return e.sk$static_new=!1,e},$wrapper:null,$textsig:"($self, /, *args, **kwargs)",$flags:{FastCall:!0},$doc:"Create and return a new object."},t.__call__={$name:"__call__",$slot_name:"tp$call",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return Sk.misceval.callsimOrSuspendArray(i,e,n)}},$wrapper:function(t,e,n){return void 0===(t=t.tp$call(e,n))?Sk.builtin.none.none$:t},$textsig:"($self, /, *args, **kwargs)",$flags:{FastCall:!0},$doc:"Call self as a function."},t.__repr__={$name:"__repr__",$slot_name:"$r",$slot_func:p("__repr__",Sk.builtin.checkString,"str"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return repr(self)."},t.__str__={$name:"__str__",$slot_name:"tp$str",$slot_func:p("__str__",Sk.builtin.checkString,"str"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return str(self)."};var m=p("__hash__",Sk.builtin.checkInt,"int",(t=>"number"==typeof t.v?t.v:t.tp$hash()));t.__hash__={$name:"__hash__",$slot_name:"tp$hash",$slot_func:function(t){return t===Sk.builtin.none.none$?Sk.builtin.none.none$:m(t)},$wrapper:u(n,(t=>new Sk.builtin.int_(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return hash(self)."},t.__getattribute__={$name:"__getattribute__",$slot_name:"tp$getattr",$slot_func:function(t){return function(t,e){let n=this.ob$type.$typeLookup(Sk.builtin.str.$getattr);if(void 0===n)return _.call(this,t,e);const i=Sk.misceval.chain(_.call(this,t,e),(e=>Sk.misceval.tryCatch((()=>void 0!==e?e:(n.tp$descr_get&&(n=n.tp$descr_get(this,this.ob$type)),Sk.misceval.callsimOrSuspendArray(n,[t]))),(function(t){if(!(t instanceof Sk.builtin.AttributeError))throw t}))));return e?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}},$wrapper:function(t,e,n){Sk.abstr.checkOneArg(this.$name,e,n);const i=e[0];if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("attribute name must be string, not '"+Sk.abstr.typeName(i)+"'");return e=this.call(t,i,!0),Sk.misceval.chain(e,(e=>{if(void 0===e)throw new Sk.builtin.AttributeError(Sk.abstr.typeName(t)+" has no attribute "+i.$jsstr());return e}))},$textsig:"($self, name, /)",$flags:{OneArg:!0},$doc:"Return getattr(self, name)."},t.__getattr__={$name:"__getattr__",$slot_name:"tp$getattr",$slot_func:t.__getattribute__.$slot_func,$wrapper:null,$textsig:"($self, name, /)",$flags:{OneArg:!0},$doc:"Return getattr(self, name)."},t.__setattr__={$name:"__setattr__",$slot_name:"tp$setattr",$slot_func:d("__setattr__","__delattr__"),$wrapper:function(t,e,n){return Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,2,2),f(t,this),Sk.misceval.chain(this.call(t,e[0],e[1],!0),(()=>Sk.builtin.none.none$))},$textsig:"($self, name, value, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Implement setattr(self, name, value)."},t.__delattr__={$name:"__delattr__",$slot_name:"tp$setattr",$slot_func:t.__setattr__.$slot_func,$wrapper:function(t,e,n){return Sk.abstr.checkOneArg(this.$name,e,n),f(t,this),this.call(t,e[0]),Sk.builtin.none.none$},$textsig:"($self, name, /)",$flags:{OneArg:!0},$doc:"Implement delattr(self, name)."},t.__get__={$name:"__get__",$slot_name:"tp$descr_get",$slot_func:function(t){return function(e,n,i){null===e&&(e=Sk.builtin.none.none$),null==n&&(n=Sk.builtin.none.none$);const s=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(s,[e,n]),i?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)}},$wrapper:function(t,e,n){if(Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,1,2),n=e[0],e=e[1],n===Sk.builtin.none.none$&&(n=null),e===Sk.builtin.none.none$&&(e=null),null===e&&null===n)throw new Sk.builtin.TypeError("__get__(None, None) is invalid");return this.call(t,n,e,!0)},$textsig:"($self, instance, owner, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Return an attribute of instance, which is of type owner."},t.__set__={$name:"__set__",$slot_name:"tp$descr_set",$slot_func:d("__set__","__delete__"),$wrapper:o,$textsig:"($self, instance, value, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Set an attribute of instance to value."},t.__delete__={$name:"__delete__",$slot_name:"tp$descr_set",$slot_func:t.__set__.$slot_func,$wrapper:a,$textsig:"($self, instance, /)",$flags:{OneArg:!0},$doc:"Delete an attribute of instance."},t.__eq__={$name:"__eq__",$slot_name:"ob$eq",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self==value."},t.__ge__={$name:"__ge__",$slot_name:"ob$ge",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self>=value."},t.__gt__={$name:"__gt__",$slot_name:"ob$gt",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self>value."},t.__le__={$name:"__le__",$slot_name:"ob$le",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self<=value."},t.__lt__={$name:"__lt__",$slot_name:"ob$lt",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return selfSk.misceval.callsimOrSuspendArray(n,[])),(t=>{if(!(t instanceof Sk.builtin.StopIteration))throw t;this.gi$ret=t.$value}));return e?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}},$wrapper:function(t,e,n){return Sk.abstr.checkNoArgs(this.$name,e,n),Sk.misceval.chain(t.tp$iternext(!0),(t=>{if(void 0===t)throw new Sk.builtin.StopIteration;return t}))},$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Implement next(self)."},t.__len__={$name:"__len__",$slot_name:"sq$length",$slot_func:function(t){return function(e){const n=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e?(e=Sk.misceval.callsimOrSuspendArray(n,[]),Sk.misceval.chain(e,(t=>Sk.misceval.asIndexOrThrow(t)))):(e=Sk.misceval.callsimArray(n,[]),Sk.misceval.asIndexOrThrow(e))}},$wrapper:u((function(t,e,n){return Sk.abstr.checkNoArgs(this.$name,e,n),t=this.call(t,!0),Sk.misceval.chain(t,(t=>void 0===t?Sk.builtin.none.none$:t))}),(t=>new Sk.builtin.int_(t)),!0),$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return len(self)."},t.__contains__={$name:"__contains__",$slot_name:"sq$contains",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(i,[e]),(e=Sk.misceval.chain(e,(t=>Sk.misceval.isTrue(t)))).$isSuspension?n?e:Sk.misceval.retryOptionalSuspensionOrThrow(e):e}},$wrapper:u(s,(t=>new Sk.builtin.bool(t)),!0),$textsig:"($self, key, /)",$flags:{OneArg:!0},$doc:"Return key in self."},t.__getitem__={$name:"__getitem__",$slot_name:"mp$subscript",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(i,[e]),n?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)}},$wrapper:s,$textsig:"($self, key, /)",$flags:{OneArg:!0},$doc:"Return self[key]."},t.__setitem__={$name:"__setitem__",$slot_name:"mp$ass_subscript",$slot_func:d("__setitem__","__delitem__","does not support item assignment"),$wrapper:o,$textsig:"($self, key, value, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Set self[key] to value."},t.__delitem__={$name:"__delitem__",$slot_name:"mp$ass_subscript",$slot_func:t.__setitem__.$slot_func,$wrapper:a,$textsig:"($self, key, /)",$flags:{OneArg:!0},$doc:"Delete self[key]."},t.__add__={$name:"__add__",$slot_name:"nb$add",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self+value."},t.__radd__={$name:"__radd__",$slot_name:"nb$reflected_add",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value+self."},t.__iadd__={$name:"__iadd__",$slot_name:"nb$inplace_add",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self+=value."},t.__sub__={$name:"__sub__",$slot_name:"nb$subtract",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self-value."},t.__rsub__={$name:"__rsub__",$slot_name:"nb$reflected_subtract",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value-self."},t.__imul__={$name:"__imul__",$slot_name:"nb$inplace_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self*=value."},t.__mul__={$name:"__mul__",$slot_name:"nb$multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self*value."},t.__rmul__={$name:"__rmul__",$slot_name:"nb$reflected_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value*self."},t.__isub__={$name:"__isub__",$slot_name:"nb$inplace_subtract",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self-=value."},t.__mod__={$name:"__mod__",$slot_name:"nb$remainder",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self%value."},t.__rmod__={$name:"__rmod__",$slot_name:"nb$reflected_remainder",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value%self."},t.__imod__={$name:"__imod__",$slot_name:"nb$inplace_remainder",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement value%=self."},t.__divmod__={$name:"__divmod__",$slot_name:"nb$divmod",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return divmod(self, value)."},t.__rdivmod__={$name:"__rdivmod__",$slot_name:"nb$reflected_divmod",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return divmod(value, self)"},t.__pos__={$name:"__pos__",$slot_name:"nb$positive",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"+self"},t.__neg__={$name:"__neg__",$slot_name:"nb$negative",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"-self"},t.__abs__={$name:"__abs__",$slot_name:"nb$abs",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"abs(self)"},t.__bool__={$name:"__bool__",$slot_name:"nb$bool",$slot_func:p("__bool__",Sk.builtin.checkBool,"bool",(t=>0!==t.v)),$wrapper:u(n,(t=>new Sk.builtin.bool(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"self != 0"},t.__invert__={$name:"__invert__",$slot_name:"nb$invert",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"~self"},t.__lshift__={$name:"__lshift__",$slot_name:"nb$lshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self<>value."},t.__rrshift__={$name:"__rrshift__",$slot_name:"nb$reflected_rshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value>>self."},t.__ilshift__={$name:"__ilshift__",$slot_name:"nb$inplace_lshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self<<=value."},t.__irshift__={$name:"__irshift__",$slot_name:"nb$inplace_rshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self=>>value."},t.__and__={$name:"__and__",$slot_name:"nb$and",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self&value."},t.__rand__={$name:"__rand__",$slot_name:"nb$refelcted_and",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value&self."},t.__iand__={$name:"__iand__",$slot_name:"nb$and",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self&=value."},t.__xor__={$name:"__xor__",$slot_name:"nb$xor",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self^value."},t.__rxor__={$name:"__rxor__",$slot_name:"nb$reflected_xor",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value^self."},t.__ixor__={$name:"__ixor__",$slot_name:"nb$inplace_xor",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self^=value."},t.__or__={$name:"__or__",$slot_name:"nb$or",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self|value."},t.__ror__={$name:"__ror__",$slot_name:"nb$reflected_or",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value|self."},t.__ior__={$name:"__ior__",$slot_name:"nb$inplace_or",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self|=value."},t.__int__={$name:"__int__",$slot_name:"nb$int",$slot_func:p("__int__",Sk.builtin.checkInt,"int"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"int(self)"},t.__float__={$name:"__float__",$slot_name:"nb$float",$slot_func:p("__float__",Sk.builtin.checkFloat,"float"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"float(self)"},t.__floordiv__={$name:"__floordiv__",$slot_name:"nb$floor_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self//value."},t.__rfloordiv__={$name:"__rfloordiv__",$slot_name:"nb$reflected_floor_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value//self."},t.__ifloordiv__={$name:"__ifloordiv__",$slot_name:"nb$inplace_floor_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self//=value."},t.__truediv__={$name:"__truediv__",$slot_name:"nb$divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self/value."},t.__rtruediv__={$name:"__rtruediv__",$slot_name:"nb$reflected_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value/self."},t.__itruediv__={$name:"__itruediv__",$slot_name:"nb$inplace_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self/=value."},t.__index__={$name:"__index__",$slot_name:"nb$index",$slot_func:p("__index__",Sk.builtin.checkInt,"int",(t=>t.v)),$wrapper:u(n,(t=>new Sk.builtin.int_(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return self converted to an integer, if self is suitable for use as an index into a list."},t.__pow__={$name:"__pow__",$slot_name:"nb$power",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return null==n?Sk.misceval.callsimArray(i,[e]):Sk.misceval.callsimArray(i,[e,n])}},$wrapper:r,$textsig:"($self, value, mod=None, /)",$flags:{MinArgs:1,MaxArgs:2},$doc:"Return pow(self, value, mod)."},t.__rpow__={$name:"__rpow__",$slot_name:"nb$reflected_power",$slot_func:t.__pow__.$slot_func,$wrapper:r,$textsig:"($self, value, mod=None, /)",$flags:{MinArgs:1,MaxArgs:2},$doc:"Return pow(value, self, mod)."},t.__ipow__={$name:"__ipow__",$slot_name:"nb$inplace_power",$slot_func:t.__pow__.$slot_func,$wrapper:r,$textsig:"($self, value, mod=None, /)",$flags:{MinArgs:1,MaxArgs:2},$doc:"Implement **="},t.__matmul__={$name:"__matmul__",$slot_name:"nb$matrix_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self@value."},t.__rmatmul__={$name:"__rmatmul__",$slot_name:"nb$reflected_matrix_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value@self."},t.__imatmul__={$name:"__imatmul__",$slot_name:"nb$inplace_matrix_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self@=value."},t.__long__={$name:"__long__",$slot_name:"nb$long",$slot_func:p("__long__",Sk.builtin.checkInt,"int"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"int(self)"};var g,b={next:{$name:"next",$slot_name:"tp$iternext",$slot_func:t.__next__.$slot_func,$wrapper:t.__next__.$wrapper,$textsig:t.__next__.$textsig,$flags:t.__next__.$flags},__nonzero__:{$name:"__nonzero__",$slot_name:"nb$bool",$slot_func:p("__nonzero__",Sk.builtin.checkInt,"int",(t=>0!==t.v)),$wrapper:u(n,(t=>new Sk.builtin.bool(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"x.__nonzero__() <==> x != 0"},__div__:{$name:"__div__",$slot_name:"nb$divide",$slot_func:h,$wrapper:i,$textsig:"($self, other/)",$flags:{OneArg:!0},$doc:"x.__div__(y) <==> x/y"},__rdiv__:{$name:"__rdiv__",$slot_name:"nb$reflected_divide",$slot_func:h,$wrapper:i,$textsig:"($self, other/)",$flags:{OneArg:!0},$doc:"x.__rdiv__(y) <==> x/y"},__idiv__:{$name:"__idiv__",$slot_name:"nb$inplace_divide",$slot_func:h,$wrapper:i,$textsig:"($self, other/)",$flags:{OneArg:!0},$doc:"implement self /= other"}};Sk.subSlots={main_slots:Object.entries({tp$init:"__init__",tp$call:"__call__",$r:"__repr__",tp$str:"__str__",tp$getattr:"__getattribute__",tp$setattr:["__setattr__","__delattr__"],ob$eq:"__eq__",ob$ne:"__ne__",ob$lt:"__lt__",ob$le:"__le__",ob$gt:"__gt__",ob$ge:"__ge__",tp$descr_get:"__get__",tp$descr_set:["__set__","__delete__"],tp$iter:"__iter__",tp$iternext:"__next__"}),number_slots:Object.entries({nb$abs:"__abs__",nb$negative:"__neg__",nb$positive:"__pos__",nb$int:"__int__",nb$long:"__long__",nb$float:"__float__",nb$index:"__index__",nb$add:"__add__",nb$reflected_add:"__radd__",nb$inplace_add:"__iadd__",nb$subtract:"__sub__",nb$reflected_subtract:"__rsub__",nb$inplace_subtract:"__isub__",nb$multiply:"__mul__",nb$reflected_multiply:"__rmul__",nb$inplace_multiply:"__imul__",nb$floor_divide:"__floordiv__",nb$reflected_floor_divide:"__rfloordiv__",nb$inplace_floor_divide:"__ifloordiv__",nb$invert:"__invert__",nb$remainder:"__mod__",nb$reflected_remainder:"__rmod__",nb$inplace_remainder:"__imod__",nb$divmod:"__divmod__",nb$reflected_divmod:"__rdivmod__",nb$power:"__pow__",nb$reflected_power:"__rpow__",nb$inplace_power:"__ipow__",nb$divide:"__truediv__",nb$reflected_divide:"__rtruediv__",nb$inplace_divide:"__itruediv__",nb$bool:"__bool__",nb$and:"__and__",nb$reflected_and:"__rand__",nb$inplace_and:"__iand__",nb$or:"__or__",nb$reflected_or:"__ror__",nb$inplace_or:"__ior__",nb$xor:"__xor__",nb$reflected_xor:"__rxor__",nb$inplace_xor:"__ixor__",nb$lshift:"__lshift__",nb$reflected_lshift:"__rlshift__",nb$rshift:"__rshift__",nb$reflected_rshift:"__rrshift__",nb$inplace_lshift:"__ilshift__",nb$inplace_rshift:"__irshift__",nb$matrix_multiply:"__matmul__",nb$reflected_matrix_multiply:"__rmatmul__",nb$inplace_matrix_multiply:"__imatmul__"}),sequence_and_mapping_slots:Object.entries({sq$length:"__len__",sq$contains:"__contains__",mp$subscript:"__getitem__",mp$ass_subscript:["__setitem__","__delitem__"],nb$add:"__add__",nb$multiply:"__mul__",nb$reflected_multiply:"__rmul__",nb$inplace_add:"__iadd__",nb$inplace_multiply:"__imul__"})},Sk.reflectedNumberSlots={nb$add:{reflected:"nb$reflected_add"},nb$subtract:{reflected:"nb$reflected_subtract",slot:function(t){return t instanceof this.constructor?t.nb$subtract(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$multiply:{reflected:"nb$reflected_multiply"},nb$divide:{reflected:"nb$reflected_divide",slot:function(t){return t instanceof this.constructor?t.nb$divide(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$floor_divide:{reflected:"nb$reflected_floor_divide",slot:function(t){return t instanceof this.constructor?t.nb$floor_divide(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$remainder:{reflected:"nb$reflected_remainder",slot:function(t){return t instanceof this.constructor?t.nb$remainder(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$divmod:{reflected:"nb$reflected_divmod",slot:function(t){return t instanceof this.constructor?t.nb$divmod(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$power:{reflected:"nb$reflected_power",slot:function(t,e){return t instanceof this.constructor?t.nb$power(this,e):Sk.builtin.NotImplemented.NotImplemented$}},nb$and:{reflected:"nb$reflected_and"},nb$or:{reflected:"nb$reflected_or"},nb$xor:{reflected:"nb$reflected_xor"},nb$lshift:{reflected:"nb$reflected_lshift",slot:function(t){return t instanceof this.constructor?t.nb$lshift(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$rshift:{reflected:"nb$reflected_rshift",slot:function(t){return t instanceof this.constructor?t.nb$rshift(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$matrix_multiply:{reflected:"nb$reflexted_matrix_multiply",slot:function(t){return t instanceof this.constructor?t.nb$matrix_multiply(this):Sk.builtin.NotImplemented.NotImplemented$}}},Sk.sequenceAndMappingSlots={sq$concat:["nb$add"],sq$repeat:["nb$multiply","nb$reflected_multiply"],mp$length:["sq$length"],sq$inplace_repeat:["nb$inplace_multiply"],sq$inplace_concat:["nb$inplace_add"]},Sk.dunderToSkulpt={__repr__:"$r",__str__:"tp$str",__init__:"tp$init",__new__:"tp$new",__hash__:"tp$hash",__call__:"tp$call",__iter__:"tp$iter",__next__:"tp$iternext",__eq__:"ob$eq",__ne__:"ob$ne",__lt__:"ob$lt",__le__:"ob$le",__gt__:"ob$gt",__ge__:"ob$ge",__abs__:"nb$abs",__neg__:"nb$negative",__pos__:"nb$positive",__int__:"nb$int",__float__:"nb$float",__index__:"nb$index",__add__:"nb$add",__radd__:"nb$reflected_add",__iadd__:"nb$inplace_add",__sub__:"nb$subtract",__rsub__:"nb$reflected_subtract",__isub__:"nb$inplace_subtract",__mul__:"nb$multiply",__rmul__:"nb$reflected_multiply",__imul__:"nb$inplace_multiply",__truediv__:"nb$divide",__rtruediv__:"nb$reflected_divide",__itruediv__:"nb$inplace_divide",__floordiv__:"nb$floor_divide",__rfloordiv__:"nb$reflected_floor_divide",__ifloordiv__:"nb$inplace_floor_divide",__invert__:"nb$invert",__mod__:"nb$remainder",__rmod__:"nb$reflected_remainder",__imod__:"nb$inplace_remainder",__divmod__:"nb$divmod",__rdivmod__:"nb$reflected_divmod",__pow__:"nb$power",__rpow__:"nb$reflected_power",__ipow__:"nb$inplace_power",__bool__:"nb$bool",__long__:"nb$long",__lshift__:"nb$lshift",__rlshift__:"nb$reflected_lshift",__ilshift__:"nb$inplace_lshift",__rshift__:"nb$rshift",__rrshift__:"nb$reflected_rshift",__irshift__:"nb$inplace_rshift",__and__:"nb$and",__rand__:"nb$reflected_and",__iand__:"nb$inplace_and",__or__:"nb$or",__ror__:"nb$reflected_or",__ior__:"nb$inplace_or",__xor__:"nb$xor",__rxor__:"nb$reflected_xor",__ixor__:"nb$inplace_xor",__matmul__:"nb$matrix_multiply",__rmatmul__:"nb$reflected_matrix_multiply",__imatmul__:"nb$inplace_matrix_multiply",__get__:"tp$descr_get",__set__:"tp$descr_set",__delete__:"tp$descr_set",__getattribute__:"tp$getattr",__getattr__:"tp$getattr",__setattr__:"tp$setattr",__delattr__:"tp$setattr",__len__:"sq$length",__contains__:"sq$contains",__getitem__:"mp$subscript",__setitem__:"mp$ass_subscript",__delitem__:"mp$ass_subscript"},Sk.exportSymbol("Sk.setupDunderMethods",Sk.setupDunderMethods),Sk.setupDunderMethods=function(t){function e(t,e,n){for(let i=0;i"tp$iternext"===t[0])),l=r.findIndex((t=>"nb$bool"===t[0])),u=Sk.dunderToSkulpt;if(t){u.__bool__="nb$bool",u.__next__="tp$iternext",delete u.__nonzero__,delete u.__div__,delete u.__rdiv__,delete u.__idiv__,delete u.next;for(let t in g)n[t]=g[t];for(let t in b)delete n[t];for(t=0;t")}const o={__doc__:{$get(){return this.d$def.$doc?new Sk.builtin.str(this.d$def.$doc):Sk.builtin.none.none$}},__objclass__:{$get(){return this.d$type}},__name__:{$get(){return new Sk.builtin.str(this.d$name)}}};t={__text_signature__:{$get(){return this.d$def.$textsig?new Sk.builtin.str(this.d$def.$textsig):Sk.builtin.none.none$}}},Sk.builtin.getset_descriptor=n("getset_descriptor",void 0,{constructor:function(t,e){this.d$def=e,this.$get=e.$get,this.$set=e.$set,this.d$type=t,this.d$name=e.$name},slots:{tp$descr_get(t,e,n){if(e=this.d$check(t))return e;if(void 0!==this.$get)return t=this.$get.call(t),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t);throw new Sk.builtin.AttributeError("getset_descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' objects is not readable")},tp$descr_set(t,e,n){if(this.d$set_check(t),void 0!==this.$set)return t=this.$set.call(t,e),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t);throw new Sk.builtin.AttributeError("attribute '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' objects is readonly")}}}),Sk.builtin.method_descriptor=n("method_descriptor","method",{constructor:function(t,e){this.d$def=e,this.$meth=e.$meth,this.d$type=t,this.d$name=e.$name||"",this.$flags=t=e.$flags||{},t.FastCall&&t.NoKwargs?this.tp$call=this.$methodFastCallNoKwargs:t.FastCall?this.tp$call=this.$methodFastCall:t.NoArgs?this.tp$call=this.$methodCallNoArgs:t.OneArg?this.tp$call=this.$methodCallOneArg:t.NamedArgs?this.tp$call=this.$methodCallNamedArgs:void 0!==t.MinArgs?this.tp$call=this.$methodCallMinArgs:(this.func_code=e.$meth,this.tp$call=this.$defaultCall,this.$memoiseFlags=Sk.builtin.func.prototype.$memoiseFlags,this.$resolveArgs=Sk.builtin.func.prototype.$resolveArgs)},slots:{tp$call(t,e){return this.tp$call(t,e)},tp$descr_get(t,e){let n;return(n=this.d$check(t))?n:new Sk.builtin.sk_method(this.d$def,t)}},getsets:t,proto:{$methodFastCall(t,e){const n=t.shift();return this.m$checkself(n),this.$meth.call(n,t,e)},$methodFastCallNoKwargs(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkNoKwargs(this.d$name,e),this.$meth.call(n,t)},$methodCallNoArgs(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkNoArgs(this.d$name,t,e),this.$meth.call(n)},$methodCallOneArg(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkOneArg(this.d$name,t,e),this.$meth.call(n,t[0])},$methodCallNamedArgs(t,e){const n=t.shift();return this.m$checkself(n),t=Sk.abstr.copyKeywordsToNamedArgs(this.d$name,this.$flags.NamedArgs,t,e,this.$flags.Defaults),this.$meth.call(n,...t)},$methodCallMinArgs(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkNoKwargs(this.d$name,e),Sk.abstr.checkArgsLen(this.d$name,t,this.$flags.MinArgs,this.$flags.MaxArgs),this.$meth.call(n,...t)},$defaultCall(t,e){return this.m$checkself(t[0]),Sk.builtin.func.prototype.tp$call.call(this,t,e)},m$checkself(t){if(void 0===t)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' object needs an argument");this.d$check(t)}}}),Sk.builtin.wrapper_descriptor=n("wrapper_descriptor","slot wrapper",{constructor:function(t,e,n){this.d$def=e,this.d$type=t,this.d$name=n.$name=e.$name,this.d$wrapped=n},slots:{tp$descr_get(t,e){let n;return(n=this.d$check(t))?n:new Sk.builtin.method_wrapper(this,t)},tp$call(t,e){if(1>t.length)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' object needs an argument");const n=t.shift();if(!n.ob$type.$isSubType(this.d$type))throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' requires a '"+this.d$type.prototype.tp$name+"' object but received a '"+Sk.abstr.typeName(n)+"'");return this.raw$call(n,t,e)}},proto:{raw$call(t,e,n){return this.d$wrapped.$name=this.d$name,this.d$def.$wrapper.call(this.d$wrapped,t,e,n)}}}),Sk.builtin.method_wrapper=n("method_wrapper",void 0,{constructor:function(t,e){this.m$descr=t,this.m$self=e,this.d$def=t.d$def,this.d$name=t.d$name,this.d$type=t.d$type},slots:{tp$call(t,e){return this.m$descr.raw$call(this.m$self,t,e)},tp$richcompare(t,e){return("Eq"===e||"NotEq"===e)&&t instanceof Sk.builtin.method_wrapper?(t=this.m$self===t.m$self&&this.m$descr===t.m$descr,"Eq"===e?t:!t):Sk.builtin.NotImplemented.NotImplemented$},$r(){return new Sk.builtin.str("")}},getsets:{__self__:{$get(){return this.m$self}}}}),Sk.builtin.classmethod_descriptor=n("classmethod_descriptor","method",{constructor:function(t,e){this.d$def=e,this.$meth=e.$meth,this.d$type=t,this.d$name=e.$name||""},slots:{tp$call(t,e){if(1>t.length)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' object needs an argument");const n=t.shift();return this.tp$descr_get(null,n).tp$call(t,e)},tp$descr_get(t,e,n){if(void 0===e){if(null===t)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' for type '"+this.d$type.prototype.tp$name+"' needs an object or a type");e=e||t.ob$type}if(!e.ob$type.$isSubType(Sk.builtin.type))throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' for type '"+this.d$type.prototype.tp$name+"' needs a type not a '"+Sk.abstr.typeName(e)+"' as arg 2");if(!e.$isSubType(this.d$type))throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' requires a '"+this.d$type.prototype.tp$name+"' object but received a '"+Sk.abstr.typeName(e)+"' object");return new Sk.builtin.sk_method(this.d$def,e)}},getsets:t}),[Sk.builtin.method_descriptor,Sk.builtin.getset_descriptor,Sk.builtin.wrapper_descriptor,Sk.builtin.method_wrapper,Sk.builtin.classmethod_descriptor].forEach((t=>{Sk.abstr.setUpSlots(t),Sk.abstr.setUpMethods(t),Sk.abstr.setUpGetSets(t)}))},function(t,e){Sk.builtin.sk_method=Sk.abstr.buildNativeClass("builtin_function_or_method",{constructor:function(t,e,n){this.$meth=t.$meth.bind(e),this.$doc=t.$doc,this.$self=e||null,this.$module=n?new Sk.builtin.str(n):null,this.$name=t.$name||t.$meth.name||"",this.m$def=t,this.$textsig=t.$textsig,this.$flags=t=t.$flags||{},t.FastCall&&t.NoKwargs?this.tp$call=this.$fastCallNoKwargs:t.FastCall?this.tp$call=this.$meth:t.NoArgs?this.tp$call=this.$callNoArgs:t.OneArg?this.tp$call=this.$callOneArg:t.NamedArgs?this.tp$call=this.$callNamedArgs:void 0!==t.MinArgs?this.tp$call=this.$callMinArgs:(this.func_code=this.$meth,this.tp$call=this.$defaultCallMethod)},proto:{$fastCallNoKwargs(t,e){return Sk.abstr.checkNoKwargs(this.$name,e),this.$meth(t)},$callNoArgs(t,e){return Sk.abstr.checkNoArgs(this.$name,t,e),this.$meth()},$callOneArg(t,e){return Sk.abstr.checkOneArg(this.$name,t,e),this.$meth(t[0])},$callNamedArgs(t,e){return t=Sk.abstr.copyKeywordsToNamedArgs(this.$name,this.$flags.NamedArgs,t,e,this.$flags.Defaults),this.$meth(...t)},$callMinArgs(t,e){return Sk.abstr.checkNoKwargs(this.$name,e),Sk.abstr.checkArgsLen(this.$name,t,this.$flags.MinArgs,this.$flags.MaxArgs),this.$meth(...t)},$defaultCallMethod(t,e){return null!==this.$self?Sk.builtin.func.prototype.tp$call.call(this,[this.$self,...t],e):Sk.builtin.func.prototype.tp$call.call(this,t,e)},$memoiseFlags(){return Sk.builtin.func.prototype.$memoiseFlags.call(this)},$resolveArgs(){return Sk.builtin.func.prototype.$resolveArgs.call(this)}},flags:{sk$unacceptableBase:!0},slots:{tp$getattr:Sk.generic.getAttr,$r(){return null===this.$self?new Sk.builtin.str(""):new Sk.builtin.str("")},tp$call(t,e){return this.tp$call(t,e)},tp$richcompare(t,e){return("Eq"===e||"NotEq"===e)&&t instanceof Sk.builtin.sk_method?(t=this.$self===t.$self&&this.m$def.$meth===t.m$def.$meth,"Eq"===e?t:!t):Sk.builtin.NotImplemented.NotImplemented$}},getsets:{__module__:{$get(){return this.$module||Sk.builtin.none.none$},$set(t){this.$module=t=t||Sk.builtin.none.none$}},__doc__:{$get(){return this.$doc?new Sk.builtin.str(this.$doc):Sk.builtin.none.none$}},__name__:{$get(){return new Sk.builtin.str(this.$name)}},__text_signature__:{$get(){return new Sk.builtin.str(this.$textsig)}},__self__:{$get(){return this.$self||Sk.sysModules.mp$lookup(this.$module)||Sk.builtin.none.none$}}}})},function(t,e){Sk.builtin.none=Sk.abstr.buildNativeClass("NoneType",{constructor:function(){return Sk.builtin.none.none$},slots:{tp$new:(t,e)=>(Sk.abstr.checkNoArgs("NoneType",t,e),Sk.builtin.none.none$),$r:()=>new Sk.builtin.str("None"),tp$as_number:!0,nb$bool:()=>!1},proto:{valueOf:()=>null},flags:{sk$unacceptableBase:!0}}),Sk.builtin.none.none$=Object.create(Sk.builtin.none.prototype,{v:{value:null,enumerable:!0}}),Sk.builtin.NotImplemented=Sk.abstr.buildNativeClass("NotImplementedType",{constructor:function(){return Sk.builtin.NotImplemented.NotImplemented$},slots:{$r:()=>new Sk.builtin.str("NotImplemented"),tp$new:(t,e)=>(Sk.abstr.checkNoArgs("NotImplementedType",t,e),Sk.builtin.NotImplemented.NotImplemented$)},flags:{sk$unacceptableBase:!0}}),Sk.builtin.NotImplemented.NotImplemented$=Object.create(Sk.builtin.NotImplemented.prototype,{v:{value:null,enumerable:!0}}),t=Sk.abstr.buildNativeClass("ellipsis",{constructor:function(){return Sk.builtin.Ellipsis},slots:{tp$new:(t,e)=>(Sk.abstr.checkNoArgs("ellipsis",t,e),Sk.builtin.Ellipsis),$r:()=>new Sk.builtin.str("Ellipsis")},flags:{sk$unacceptableBase:!0}}),Sk.builtin.Ellipsis=Object.create(t.prototype,{v:{value:"..."}})},function(t,e){const n=/^(?:(.)?([<>=\^]))?([\+\-\s])?(#)?(0)?(\d+)?(,|_)?(?:\.(\d+))?([bcdeEfFgGnosxX%])?$/;Sk.formatting={};let i=function(t,e,n,i){if(Sk.asserts.assert("string"==typeof e),t[6]){var s=parseInt(t[6],10);i=t[2]||(t[5]?"=":i?">":"<");let r=s-(e.length+(n?n.length:0));if(0>=r)return n+e;switch(s=(t[1]||(t[5]?"0":" ")).repeat(r),i){case"=":if("s"===t[9])throw new Sk.builtin.ValueError("'=' alignment not allowed in string format specifier");return n+s+e;case">":return s+n+e;case"<":return n+e+s;case"^":return t=Math.floor(r/2),s.substring(0,t)+n+e+s.substring(t)}}return n+e},s=function(t,e){return e?"-":"+"===t[3]?"+":" "===t[3]?" ":""};const r=/\B(?=(\d{3})+(?!\d))/g,o=/\B(?=([A-Za-z0-9]{4})+(?![A-Za-z0-9]))/g;let a=function(t,e,n){if(Sk.asserts.assert(e instanceof Sk.builtin.int_||e instanceof Sk.builtin.lng),t[8])throw new Sk.builtin.ValueError("Precision not allowed in integer format");var a=e.str$(n,!1);e=e.nb$isnegative(),e=s(t,e),t[4]&&(16===n?e+="0x":8===n?e+="0o":2===n&&(e+="0b"));const l=t[9];if("X"===l&&(a=a.toUpperCase()),"n"===t[9])a=(+a).toLocaleString();else if(t[7]){a=a.split(".");const e=t[7];if(","===e&&10!==n)throw new Sk.builtin.ValueError(`Cannot specify ',' with '${l}'`);a[0]=a[0].replace(10===n?r:o,e),a=a.join(".")}return i(t,a,e,!0)};Sk.formatting.mkNumber__format__=t=>function(e){if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("format() argument 2 must be str, not "+Sk.abstr.typeName(e));return new Sk.builtin.str(function(t,e,r){if(!e)return t.str$(10,!0);if(!(e=e.match(n)))throw new Sk.builtin.ValueError("Invalid format specifier");var o=e[9];if(o||(o=r?"g":"d"),-1==(r?"fFeEgG%":"bcdoxXnfFeEgG%").indexOf(o))throw new Sk.builtin.ValueError("Unknown format code '"+e[9]+"' for object of type '"+Sk.abstr.typeName(t)+"'");switch(o){case"d":case"n":return a(e,t,10);case"x":case"X":return a(e,t,16);case"o":return a(e,t,8);case"b":return a(e,t,2);case"c":if(e[3])throw new Sk.builtin.ValueError("Sign not allowed with integer format specifier 'c'");if(e[4])throw new Sk.builtin.ValueError("Alternate form not allowed with integer format specifier 'c'");if(e[7])throw new Sk.builtin.ValueError("Cannot specify ',' with 'c'");if(e[8])throw new Sk.builtin.ValueError("Cannot specify ',' with 'c'");return i(e,String.fromCodePoint(Sk.builtin.asnum$(t)),"",!0);case"f":case"F":case"e":case"E":case"g":case"G":{if(e[4])throw new Sk.builtin.ValueError("Alternate form (#) not allowed in float format specifier");if("string"==typeof(r=Sk.builtin.asnum$(t))&&(r=Number(r)),1/0===r)return i(e,"inf","",!0);if(-1/0===r)return i(e,"inf","-",!0);if(isNaN(r))return i(e,"nan","",!0);t=!1,0>r&&(r=-r,t=!0);var l=["toExponential","toFixed","toPrecision"]["efg".indexOf(o.toLowerCase())];let n=e[8]?parseInt(e[8],10):6;if(r=r[l](n),-1!=="EFG".indexOf(o)&&(r=r.toUpperCase()),"g"===o.toLowerCase()||!e[9]){if(l=r.match(/\.(\d*[1-9])?(0+)$/)){let[,t,e]=l;r=r.slice(0,t?-e.length:-(e.length+1))}-1!=r.indexOf(".")||e[9]||(r+=".0")}return"e"===o.toLowerCase()&&(r=r.replace(/^([-+]?[0-9]*\.?[0-9]+[eE][-+]?)([0-9])?$/,"$10$2")),e[7]&&((o=r.toString().split("."))[0]=o[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),r=o.join(".")),i(e,r,s(e,t),!0)}case"%":if(e[4])throw new Sk.builtin.ValueError("Alternate form (#) not allowed with format specifier '%'");return"string"==typeof(t=Sk.builtin.asnum$(t))&&(t=Number(t)),1/0===t?i(e,"inf%","",!0):-1/0===t?i(e,"inf%","-",!0):isNaN(t)?i(e,"nan%","",!0):(o=!1,0>t&&(t=-t,o=!0),r=e[8]?parseInt(e[8],10):6,t=(100*t).toFixed(r)+"%",i(e,t,s(e,o),!0));default:throw new Sk.builtin.ValueError("Unknown format code '"+e[9]+"'")}}(this,e.$jsstr(),t))},Sk.formatting.format=function(t,e){e=e||[];const n={};for(let t=0;tn?1/0:n;null!=(o=s.exec(t))&&li)return new Sk.builtin.tuple([new Sk.builtin.str(""),new Sk.builtin.str(""),new Sk.builtin.str(n)])}else if(i=n.indexOf(e),0>i)return new Sk.builtin.tuple([new Sk.builtin.str(n),new Sk.builtin.str(""),new Sk.builtin.str("")]);return new Sk.builtin.tuple([new Sk.builtin.str(n.substring(0,i)),new Sk.builtin.str(e),new Sk.builtin.str(n.substring(i+e.length))])}}function o(t,e){return function(n,i){if(n=Sk.misceval.asIndexSized(n,Sk.builtin.OverflowError),void 0===i)i=" ";else{if(!(i instanceof Sk.builtin.str&&1===i.sq$length()))throw new Sk.builtin.TypeError("the fill character must be a str of length 1");i=i.v}var s=this.sq$length();return s>=n?new Sk.builtin.str(this.v):e?(s=n-s,n=Math.floor(s/2)+(s&n&1),i=i.repeat(n)+this.v+i.repeat(s-n),new Sk.builtin.str(i)):(i=i.repeat(n-s),new Sk.builtin.str(t?i+this.v:this.v+i))}}function a(t,e,n){if(({start:e,end:n}=Sk.builtin.slice.startEnd$wrt(t,e,n)),t.$hasAstralCodePoints()){const i=t.codepoints[e];e=void 0===i?e+t.v.length-t.codepoints.length:i,n=void 0===(n=t.codepoints[n])?t.v.length:n}return{start:e,end:n}}function l(t){return function(e,n,i){if(e=this.get$tgt(e),({start:n,end:i}=a(this,n,i)),i=n&&e<=i?e:-1,this.codepoints){i=this.sq$length(),n=-1;for(let t=0;ts)return Sk.builtin.bool.false$;if(i=this.v.slice(i,s),n instanceof Sk.builtin.tuple){for(let s=Sk.abstr.iter(n),r=s.tp$iternext();void 0!==r;r=s.tp$iternext()){if(!(r instanceof Sk.builtin.str))throw new Sk.builtin.TypeError("tuple for "+t+" must only contain str, not "+Sk.abstr.typeName(r));if(e(i,r.v))return Sk.builtin.bool.true$}return Sk.builtin.bool.false$}return new Sk.builtin.bool(e(i,n.v))}}function c(t){return void 0===g[t]?t:t+"_$rw$"}var p=/^[0-9!#_]/,h=Object.create(null);Sk.builtin.str=Sk.abstr.buildNativeClass("str",{constructor:function(t){if(Sk.asserts.assert(this instanceof Sk.builtin.str,"bad call to str - use 'new'"),"string"!=typeof t)if(void 0===t)t="";else if(null===t)t="None";else{if(void 0!==t.tp$str)return t.tp$str();if("number"!=typeof t)throw new Sk.builtin.TypeError("could not convert object of type '"+Sk.abstr.typeName(t)+"' to str");t=Number.isFinite(t)?String(t):String(t).replace("Infinity","inf").replace("NaN","nan")}const e=h[t];if(void 0!==e)return e;h[t]=this,this.$mangled=c(t),this.$savedKeyHash=t.replace(p,"!$&"),this.v=t},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$doc:"str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to sys.getdefaultencoding().\nerrors defaults to 'strict'.",tp$new(t,e){if(e=e||[],this!==Sk.builtin.str.prototype)return this.$subtype_new(t,e);if(1>=t.length&&!e.length)return new Sk.builtin.str(t[0]);if(Sk.__future__.python3){const[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("str",["object","encoding","errors"],t,e);if(void 0===n||void 0===i&&void 0===s)return new Sk.builtin.str(n);if(Sk.builtin.bytes.check$encodeArgs("str",i,s),!Sk.builtin.checkBytes(n))throw new Sk.builtin.TypeError("decoding to str: need a bytes-like object, "+Sk.abstr.typeName(n)+" found");return Sk.builtin.bytes.$decode.call(n,i,s)}throw new Sk.builtin.TypeError("str takes at most one argument ("+(t.length+e.length)+" given)")},$r(){let t="'";-1!==this.v.indexOf("'")&&-1===this.v.indexOf('"')&&(t='"');const e=this.v.length;let n=t;for(let r=0;rs||57344<=s)&&!Sk.__future__.python3?n+="\\u"+("000"+s.toString(16)).slice(-4):55296<=s&&!Sk.__future__.python3?(i=this.v.codePointAt(r),r++,s="0000000"+(i=i.toString(16)).toString(16),n=4i||127<=s&&!Sk.__future__.python3?(2>(i=i.charCodeAt(0).toString(16)).length&&(i="0"+i),n+="\\x"+i):n+=i}return new Sk.builtin.str(n+t)},tp$str(){return this.constructor===Sk.builtin.str?this:new Sk.builtin.str(this.v)},tp$iter(){return new m(this)},tp$richcompare(t,e){if(!(t instanceof Sk.builtin.str))return Sk.builtin.NotImplemented.NotImplemented$;switch(e){case"Lt":return this.vt.v;case"GtE":return this.v>=t.v}},mp$subscript(t){let e;if(Sk.misceval.isIndex(t)){if(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError),e=this.sq$length(),0>t&&(t+=e),0>t||t>=e)throw new Sk.builtin.IndexError("string index out of range");return this.codepoints?new Sk.builtin.str(this.v.substring(this.codepoints[t],this.codepoints[t+1])):new Sk.builtin.str(this.v.charAt(t))}if(t instanceof Sk.builtin.slice){let n="";return e=this.sq$length(),this.codepoints?t.sssiter$(e,(t=>{n+=this.v.substring(this.codepoints[t],this.codepoints[t+1])})):t.sssiter$(e,(t=>{n+=this.v.charAt(t)})),new Sk.builtin.str(n)}throw new Sk.builtin.TypeError("string indices must be integers, not "+Sk.abstr.typeName(t))},sq$length(){return this.$hasAstralCodePoints()?this.codepoints.length:this.v.length},sq$concat(t){if(!(t instanceof Sk.builtin.str))throw new Sk.builtin.TypeError("cannot concatenate 'str' and '"+Sk.abstr.typeName(t)+"' objects");return new Sk.builtin.str(this.v+t.v)},sq$repeat(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("can't multiply sequence by non-int of type '"+Sk.abstr.typeName(t)+"'");if((t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError))*this.v.length>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;let e="";for(let n=0;n' requires string as left operand not "+Sk.abstr.typeName(t));return-1!==this.v.indexOf(t.v)},tp$as_number:!0,nb$remainder:function(t){const e=this.sk$builtinBase;t.constructor===Sk.builtin.tuple||t instanceof Sk.builtin.dict||t instanceof Sk.builtin.mappingproxy||(t=new Sk.builtin.tuple([t]));var n=0,i=this.$jsstr().replace(/%(\([a-zA-Z0-9]+\))?([#0 +\-]+)?(\*|[0-9]+)?(\.(\*|[0-9]+))?[hlL]?([diouxXeEfFgGcrsb%])/g,(function(i,s,r,o,a,l,u){var c,p,h,_,d;o=Sk.builtin.asnum$(o),a=Sk.builtin.asnum$(a),void 0!==s&&""!==s||"%"==u||(c=n++),""===a&&(a=void 0);var f=p=h=_=d=!1;if(r&&(-1!==r.indexOf("-")?_=!0:-1!==r.indexOf("0")&&(d=!0),-1!==r.indexOf("+")?p=!0:-1!==r.indexOf(" ")&&(h=!0),f=-1!==r.indexOf("#")),a&&(a=parseInt(a.substr(1),10)),r=function(t,e){var n;e=Sk.builtin.asnum$(e);var i=!1;if("number"==typeof t){0>t&&(t=-t,i=!0);var s=t.toString(e)}else t instanceof Sk.builtin.float_?(2<(s=t.str$(e,!1)).length&&".0"===s.substr(-2)&&(s=s.substr(0,s.length-2)),i=t.nb$isnegative()):(t instanceof Sk.builtin.int_||t instanceof Sk.builtin.lng)&&(s=t.str$(e,!1),i=t.nb$isnegative());if(Sk.asserts.assert(void 0!==s,"unhandled number format"),t=!1,a)for(n=s.length;ne){for(this.codepoints=[],t=0;te&&t++;return!0}}return this.codepoints=null,!1},sk$asarray(){const t=[];if(this.$hasAstralCodePoints()){var e=this.codepoints;for(let n=0;ni)return new Sk.builtin.str(this.v.replace(t,e));let s=0;return t=this.v.replace(t,(t=>s++e?0:2*(t.length/2-e);for(e=[],0>=n?n=0:e.push(new Sk.builtin.str(this.v.slice(0,t[n-1])));n{if(!(t instanceof Sk.builtin.str))throw new Sk.builtin.TypeError("sequence item "+e.length+": expected str, "+Sk.abstr.typeName(t)+" found");e.push(t.v)})),(()=>new Sk.builtin.str(e.join(this.v))))},$flags:{OneArg:!0},$textsig:"($self, iterable, /)",$doc:"Concatenate any number of strings.\n\nThe string whose method is called is inserted in between each given string.\nThe result is returned as a new string.\n\nExample: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'"},capitalize:{$meth:function(){return new Sk.builtin.str(this.v.charAt(0).toUpperCase()+this.v.slice(1).toLowerCase())},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a capitalized version of the string.\n\nMore specifically, make the first character have upper case and the rest lower\ncase."},title:{$meth:function(){const t=this.v.replace(/[a-z][a-z]*/gi,(t=>t[0].toUpperCase()+t.substr(1).toLowerCase()));return new Sk.builtin.str(t)},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a version of the string where each word is titlecased.\n\nMore specifically, words start with uppercased characters and all remaining\ncased characters have lower case."},center:{$meth:o(!1,!0),$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, width, fillchar=' ', /)",$doc:"Return a centered string of length width.\n\nPadding is done using the specified fill character (default is a space)."},count:{$meth:function(t,e,n){return t=this.get$tgt(t),({start:e,end:n}=a(this,e,n)),n int\n\nReturn the number of non-overlapping occurrences of substring sub in\nstring S[start:end]. Optional arguments start and end are\ninterpreted as in slice notation."},expandtabs:{$meth:function(t){if(!Sk.builtin.checkInt(t))throw new Sk.builtin.TypeError("an integer is required, got type"+Sk.abstr.typeName(t));t=Sk.builtin.asnum$(t);const e=Array(t+1).join(" "),n=this.v.replace(/([^\r\n\t]*)\t/g,((n,i)=>i+e.slice(i.length%t)));return new Sk.builtin.str(n)},$flags:{NamedArgs:["tabsize"],Defaults:[8]},$textsig:"($self, /, tabsize=8)",$doc:"Return a copy where all tab characters are expanded using spaces.\n\nIf tabsize is not given, a tab size of 8 characters is assumed."},find:{$meth:function(t,e,n){return new Sk.builtin.int_(this.find$left(t,e,n))},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.find(sub[, start[, end]]) -> int\n\nReturn the lowest index in S where substring sub is found,\nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},partition:{$meth:r(!1),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the string into three parts using the given separator.\n\nThis will search for the separator in the string. If the separator is found,\nreturns a 3-tuple containing the part before the separator, the separator\nitself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing the original string\nand two empty strings."},index:{$meth:function(t,e,n){if(-1===(t=this.find$left(t,e,n)))throw new Sk.builtin.ValueError("substring not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.index(sub[, start[, end]]) -> int\n\nReturn the lowest index in S where substring sub is found, \nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaises ValueError when the substring is not found."},ljust:{$meth:o(!1,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, width, fillchar=' ', /)",$doc:"Return a left-justified string of length width.\n\nPadding is done using the specified fill character (default is a space)."},lower:{$meth(){return new Sk.builtin.str(this.v.toLowerCase())},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a copy of the string converted to lowercase."},lstrip:{$meth:s(/^\s+/g,(t=>"^["+t+"]+")),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, chars=None, /)",$doc:"Return a copy of the string with leading whitespace removed.\n\nIf chars is given and not None, remove characters in chars instead."},rfind:{$meth(t,e,n){return new Sk.builtin.int_(this.find$right(t,e,n))},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.rfind(sub[, start[, end]]) -> int\n\nReturn the highest index in S where substring sub is found,\nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},rindex:{$meth:function(t,e,n){if(-1===(t=this.find$right(t,e,n)))throw new Sk.builtin.ValueError("substring not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.rindex(sub[, start[, end]]) -> int\n\nReturn the highest index in S where substring sub is found,\nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaises ValueError when the substring is not found."},rjust:{$meth:o(!0,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, width, fillchar=' ', /)",$doc:"Return a right-justified string of length width.\n\nPadding is done using the specified fill character (default is a space)."},rstrip:{$meth:s(/\s+$/g,(t=>"["+t+"]+$")),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, chars=None, /)",$doc:"Return a copy of the string with trailing whitespace removed.\n\nIf chars is given and not None, remove characters in chars instead."},rpartition:{$meth:r(!0),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the string into three parts using the given separator.\n\nThis will search for the separator in the string, starting at the end. If\nthe separator is found, returns a 3-tuple containing the part before the\nseparator, the separator itself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing two empty strings\nand the original string."},splitlines:{$meth:function(t){t=Sk.misceval.isTrue(t);const e=this.v,n=[],i=e.length;var s=0;for(let o=0;o"^["+t+"]+|["+t+"]+$")),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, chars=None, /)",$doc:"Return a copy of the string with leading and trailing whitespace remove.\n\nIf chars is given and not None, remove characters in chars instead."},swapcase:{$meth(){const t=this.v.replace(/[a-z]/gi,(t=>{const e=t.toLowerCase();return e===t?t.toUpperCase():e}));return new Sk.builtin.str(t)},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Convert uppercase characters to lowercase and lowercase characters to uppercase."},upper:{$meth(){return new Sk.builtin.str(this.v.toUpperCase())},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a copy of the string converted to uppercase."},startswith:{$meth:u("startswith",((t,e)=>0===t.indexOf(e))),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.startswith(prefix[, start[, end]]) -> bool\n\nReturn True if S starts with the specified prefix, False otherwise.\nWith optional start, test S beginning at that position.\nWith optional end, stop comparing S at that position.\nprefix can also be a tuple of strings to try."},endswith:{$meth:u("endswith",((t,e)=>-1!==t.indexOf(e,t.length-e.length))),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.endswith(suffix[, start[, end]]) -> bool\n\nReturn True if S ends with the specified suffix, False otherwise.\nWith optional start, test S beginning at that position.\nWith optional end, stop comparing S at that position.\nsuffix can also be a tuple of strings to try."},isascii:{$meth(){return new Sk.builtin.bool(/^[\x00-\x7F]*$/.test(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if all characters in the string are ASCII, False otherwise.\n\nASCII characters have code points in the range U+0000-U+007F.\nEmpty string is ASCII too."},islower:{$meth:function(){return new Sk.builtin.bool(this.v.length&&/[a-z]/.test(this.v)&&!/[A-Z]/.test(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if the string is a lowercase string, False otherwise.\n\nA string is lowercase if all cased characters in the string are lowercase and\nthere is at least one cased character in the string."},isupper:{$meth:function(){return new Sk.builtin.bool(this.v.length&&!/[a-z]/.test(this.v)&&/[A-Z]/.test(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if the string is an uppercase string, False otherwise.\n\nA string is uppercase if all cased characters in the string are uppercase and\nthere is at least one cased character in the string."},istitle:{$meth:function(){const t=this.v;let e,n=!1,i=!1;for(let s=0;s str\n\nReturn a formatted version of S, using substitutions from args and kwargs.\nThe substitutions are identified by braces ('{' and '}')."},__format__:{$meth:Sk.formatting.formatString,$flags:{OneArg:!0},$textsig:"($self, format_spec, /)",$doc:"Return a formatted version of the string as described by format_spec."},__getnewargs__:{$meth(){return new Sk.builtin.tuple(new Sk.builtin.str(this.v))},$flags:{NoArgs:!0},$textsig:null,$doc:null}}}),Sk.exportSymbol("Sk.builtin.str",Sk.builtin.str);var _=/^[A-Za-z0-9]+$/,d=/([.*+?=|\\\/()\[\]\{\}^$])/g,f=/^[\s\xa0]+/;Sk.builtin.str.$py2decode=new Sk.builtin.method_descriptor(Sk.builtin.str,{$name:"decode",$meth(t,e){const n=new Sk.builtin.bytes(this.v);return Sk.builtin.bytes.$decode.call(n,t,e)},$flags:{NamedArgs:["encoding","errors"]}});var m=Sk.abstr.buildIteratorClass("str_iterator",{constructor:function(t){this.$index=0,t.$hasAstralCodePoints()?(this.$seq=t.codepoints,this.tp$iternext=()=>{const e=this.$seq[this.$index];if(void 0!==e)return new Sk.builtin.str(t.v.substring(e,this.$seq[++this.$index]))}):(this.$seq=t.v,this.tp$iternext=()=>{const t=this.$seq[this.$index++];if(void 0!==t)return new Sk.builtin.str(t)})},iternext(){return this.tp$iternext()},methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}}),g={abstract:!0,as:!0,boolean:!0,break:!0,byte:!0,case:!0,catch:!0,char:!0,class:!0,continue:!0,const:!0,debugger:!0,default:!0,delete:!0,do:!0,double:!0,else:!0,enum:!0,export:!0,extends:!0,false:!0,final:!0,finally:!0,float:!0,for:!0,function:!0,goto:!0,if:!0,implements:!0,import:!0,in:!0,instanceof:!0,int:!0,interface:!0,is:!0,long:!0,namespace:!0,native:!0,new:!0,null:!0,package:!0,private:!0,protected:!0,public:!0,return:!0,short:!0,static:!0,super:!0,switch:!0,synchronized:!0,this:!0,throw:!0,throws:!0,transient:!0,true:!0,try:!0,typeof:!0,use:!0,var:!0,void:!0,volatile:!0,while:!0,with:!0,constructor:!0,__defineGetter__:!0,__defineSetter__:!0,apply:!0,arguments:!0,call:!0,caller:!0,eval:!0,hasOwnProperty:!0,isPrototypeOf:!0,__lookupGetter__:!0,__lookupSetter__:!0,__noSuchMethod__:!0,propertyIsEnumerable:!0,prototype:!0,toSource:!0,toLocaleString:!0,toString:!0,unwatch:!0,valueOf:!0,watch:!0,length:!0,name:!0};Sk.builtin.str.reservedWords_=g,Sk.builtin.str.$fixReserved=c},function(t,e){Sk.builtin.func=Sk.abstr.buildNativeClass("function",{constructor:function(t,e,n,i){if(Sk.asserts.assert(this instanceof Sk.builtin.func,"builtin func should be called as a class with `new`"),this.func_code=t,this.func_globals=e||null,this.$name=t.co_name&&t.co_name.v||t.name||"",this.$d=Sk.builtin.dict?new Sk.builtin.dict:void 0,this.$doc=t.co_docstring||Sk.builtin.none.none$,this.$module=Sk.globals&&Sk.globals.__name__||Sk.builtin.none.none$,this.$qualname=t.co_qualname&&t.co_qualname.v||this.$name,void 0!==i)for(let t in i)n[t]=i[t];this.func_closure=n,this.func_annotations=null,this.$memoiseFlags(),this.memoised=t.co_fastcall||null,this.tp$call=t.co_fastcall?t.bind(this):Sk.builtin.func.prototype.tp$call.bind(this)},slots:{tp$getattr:Sk.generic.getAttr,tp$descr_get(t,e){return null===t?this:new Sk.builtin.method(this,t)},$r(){return new Sk.builtin.str("")},tp$call(t,e){if(this.memoised||(this.$memoiseFlags(),this.memoised=!0),void 0===this.co_argcount&&void 0===this.co_varnames&&!this.co_kwargs&&!this.func_closure){if(e&&0!==e.length)throw new Sk.builtin.TypeError(this.$name+"() takes no keyword arguments");return this.func_code.apply(this.func_globals,t)}return t=this.$resolveArgs(t,e),this.func_closure&&t.push(this.func_closure),this.func_code.apply(this.func_globals,t)}},getsets:{__name__:{$get(){return new Sk.builtin.str(this.$name)},$set(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__name__ must be set to a string object");this.$name=t.$jsstr()}},__qualname__:{$get(){return new Sk.builtin.str(this.$qualname)},$set(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__qualname__ must be set to a string object");this.$qualname=t.$jsstr()}},__dict__:Sk.generic.getSetDict,__annotations__:{$get(){return null===this.func_annotations?this.func_annotations=new Sk.builtin.dict([]):Array.isArray(this.func_annotations)&&(this.func_annotations=Sk.abstr.keywordArrayToPyDict(this.func_annotations)),this.func_annotations},$set(t){if(void 0===t||Sk.builtin.checkNone(t))this.func_annotations=new Sk.builtin.dict([]);else{if(!(t instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError("__annotations__ must be set to a dict object");this.func_annotations=t}}},__defaults__:{$get(){return null==this.$defaults?Sk.builtin.none.none$:new Sk.builtin.tuple(this.$defaults)},$set(t){if(void 0===t||Sk.builtin.checkNone(t))this.$defaults=null;else{if(!(t instanceof Sk.builtin.tuple))throw new Sk.builtin.TypeError("__defaults__ must be set to a tuple object");this.$defaults=t.valueOf()}}},__doc__:{$get(){return this.$doc},$set(t){this.$doc=t||Sk.builtin.none.none$}},__module__:{$get(){return this.$module},$set(t){this.$module=t||Sk.builtin.none.none$}}},proto:{$memoiseFlags(){this.co_varnames=this.func_code.co_varnames,this.co_argcount=this.func_code.co_argcount,void 0===this.co_argcount&&this.co_varnames&&(this.co_argcount=this.co_varnames.length),this.co_kwonlyargcount=this.func_code.co_kwonlyargcount||0,this.co_varargs=this.func_code.co_varargs,this.co_kwargs=this.func_code.co_kwargs,this.$defaults=this.func_code.$defaults,this.$kwdefs=this.func_code.$kwdefs||[]},$resolveArgs:function(t,e){var n=this.co_argcount;void 0===n&&(n=this.co_varnames?this.co_varnames.length:t.length);var i=this.co_varnames||[],s=this.co_kwonlyargcount||0;let r,o=n+s;if(!(0!==s||this.co_kwargs||e&&0!==e.length||this.co_varargs)){if(t.length==n)return t;if(0===t.length&&this.$defaults&&this.$defaults.length===n){for(i=0;i!=this.$defaults.length;i++)t[i]=this.$defaults[i];return t}}this.co_kwargs&&(r=[]);var a=t.length;let l=t.length<=n?t:t.slice(0,n);if(this.co_varargs)t=t.length>l.length?t.slice(l.length):[],l[o]=new Sk.builtin.tuple(t);else if(a>n)throw new Sk.builtin.TypeError(`${this.$name}"() takes ${n} positional ${1==n?"argument":"arguments"} but ${a} ${1==a?"was":"were"} given`);if(e){if(this.func_code.no_kw)throw new Sk.builtin.TypeError(this.$name+"() takes no keyword arguments");for(t=0;t"'"+t+"'")).join(", ")));for(;tt.indexOf(".")&&0>t.indexOf("e")&&0>t.indexOf("E"))return t;var e=0;if(0<=t.indexOf("e")){var n=t.substr(0,t.indexOf("e"));e=t.substr(t.indexOf("e")+1)}else 0<=t.indexOf("E")?(n=t.substr(0,t.indexOf("e")),e=t.substr(t.indexOf("E")+1)):n=t;if(e=parseInt(e,10),0>(t=n.indexOf("."))){if(0<=e){for(;0-e?n.substr(0,n.length+e):0}for(n=0===t?n.substr(1):tn.length;)n+="0";return 0>=t?0:n.substr(0,t)},Sk.exportSymbol("Sk.builtin.asnum$nofloat",Sk.builtin.asnum$nofloat),Sk.builtin.round=function(t,e){if(void 0===t)throw new Sk.builtin.TypeError("a float is required");if(!Sk.__future__.dunder_round){if(!Sk.builtin.checkNumber(t))throw new Sk.builtin.TypeError("a float is required");if(t.round$)return t.round$(e);throw new Sk.builtin.AttributeError(Sk.abstr.typeName(t)+" instance has no attribute '__float__'")}if(void 0!==e&&!Sk.builtin.checkNone(e)&&!Sk.misceval.isIndex(e))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(e)+"' object cannot be interpreted as an index");if(void 0!==(t=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$round)))return void 0!==e?Sk.misceval.callsimArray(t,[e]):Sk.misceval.callsimArray(t,[]);throw new Sk.builtin.TypeError("a float is required")},Sk.builtin.len=function(t){if(!t.sq$length)throw new Sk.builtin.TypeError("object of type '"+Sk.abstr.typeName(t)+"' has no len()");return t=t.sq$length(!0),Sk.misceval.chain(t,(t=>new Sk.builtin.int_(t)))},Sk.builtin.min=function(t,e){let n;const i=t.length;if(!i)throw new Sk.builtin.TypeError("min expected 1 argument, got 0");const[s,r]=Sk.abstr.copyKeywordsToNamedArgs("min",["default","key"],[],e,[null,Sk.builtin.none.none$]);if(1{if(o=t,void 0!==o)return Sk.builtin.checkNone(r)?Sk.misceval.iterFor(n,(t=>{Sk.misceval.richCompareBool(t,o,"Lt")&&(o=t)})):Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[o]),(t=>Sk.misceval.iterFor(n,(e=>Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[e]),(n=>{Sk.misceval.richCompareBool(n,t,"Lt")&&(o=e,t=n)}))))))}),(()=>{if(void 0===o){if(null===s)throw new Sk.builtin.ValueError("min() arg is an empty sequence");o=s}return o}))},Sk.builtin.max=function(t,e){let n;const i=t.length;if(!i)throw new Sk.builtin.TypeError("max expected 1 argument, got 0");const[s,r]=Sk.abstr.copyKeywordsToNamedArgs("max",["default","key"],[],e,[null,Sk.builtin.none.none$]);if(1{if(o=t,void 0!==o)return Sk.builtin.checkNone(r)?Sk.misceval.iterFor(n,(t=>{Sk.misceval.richCompareBool(t,o,"Gt")&&(o=t)})):Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[o]),(t=>Sk.misceval.iterFor(n,(e=>Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[e]),(n=>{Sk.misceval.richCompareBool(n,t,"Gt")&&(o=e,t=n)}))))))}),(()=>{if(void 0===o){if(null===s)throw new Sk.builtin.ValueError("max() arg is an empty sequence");o=s}return o}))},Sk.builtin.min.co_fastcall=Sk.builtin.max.co_fastcall=1,Sk.builtin.any=function(t){return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(function(t){if(Sk.misceval.isTrue(t))return new Sk.misceval.Break(Sk.builtin.bool.true$)})),(t=>t||Sk.builtin.bool.false$))},Sk.builtin.all=function(t){return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(function(t){if(!Sk.misceval.isTrue(t))return new Sk.misceval.Break(Sk.builtin.bool.false$)})),(t=>t||Sk.builtin.bool.true$))},Sk.builtin.sum=function(t,e){const n=Sk.abstr.iter(t);if(void 0===e)var i=new Sk.builtin.int_(0);else{if(Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("sum() can't sum strings [use ''.join(seq) instead]");i=e}return t=void 0===e||e.constructor===Sk.builtin.int_?Sk.misceval.iterFor(n,(t=>{if(t.constructor!==Sk.builtin.int_)return t.constructor===Sk.builtin.float_?(i=i.nb$float().nb$add(t),new Sk.misceval.Break("float")):(i=Sk.abstr.numberBinOp(i,t,"Add"),new Sk.misceval.Break("slow"));i=i.nb$add(t)})):e.constructor===Sk.builtin.float_?"float":"slow",Sk.misceval.chain(t,(t=>"float"===t?Sk.misceval.iterFor(n,(t=>{if(t.constructor!==Sk.builtin.float_&&t.constructor!==Sk.builtin.int_)return i=Sk.abstr.numberBinOp(i,t,"Add"),new Sk.misceval.Break("slow");i=i.nb$add(t)})):t),(t=>{if("slow"===t)return Sk.misceval.iterFor(n,(t=>{i=Sk.abstr.numberBinOp(i,t,"Add")}))}),(()=>i))},Sk.builtin.zip=function(){var t,e;if(0===arguments.length)return new Sk.builtin.list([]);var n=[];for(e=0;et||1114112<=t)throw new Sk.builtin.ValueError("chr() arg not in range(0x110000)")}else if(0>t||256<=t)throw new Sk.builtin.ValueError("chr() arg not in range(256)");return new Sk.builtin.str(String.fromCodePoint(t))},Sk.builtin.unichr=function(t){if(Sk.builtin.pyCheckArgsLen("unichr",arguments.length,1,1),!Sk.builtin.checkInt(t))throw new Sk.builtin.TypeError("an integer is required");t=Sk.builtin.asnum$(t);try{return new Sk.builtin.str(String.fromCodePoint(t))}catch(t){if(t instanceof RangeError)throw new Sk.builtin.ValueError(t.message);throw t}},Sk.builtin.int2str_=function(t,e,n){let i=Sk.misceval.asIndexOrThrow(t),s=i.toString(e);return s=0>i?"-"+n+s.slice(1):n+s,2!==e&&!Sk.__future__.python3&&(t instanceof Sk.builtin.lng||JSBI.__isBigInt(i))&&(s+="L"),new Sk.builtin.str(s)},Sk.builtin.hex=function(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("hex() argument can't be converted to hex");return Sk.builtin.int2str_(t,16,"0x")},Sk.builtin.oct=function(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("oct() argument can't be converted to hex");return Sk.__future__.octal_number_literal?Sk.builtin.int2str_(t,8,"0o"):Sk.builtin.int2str_(t,8,"0")},Sk.builtin.bin=function(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object can't be interpreted as an index");return Sk.builtin.int2str_(t,2,"0b")},Sk.builtin.dir=function(t){if(void 0!==t)return t=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$dir),Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(t,[]),(t=>Sk.builtin.sorted(t)));throw new Sk.builtin.NotImplementedError("skulpt does not yet support dir with no args")},Sk.builtin.repr=function(t){return t.$r()},Sk.builtin.ascii=function(t){return Sk.misceval.chain(t.$r(),(t=>{let e,n;for(n=0;n=s?(2>(i=s.toString(16)).length&&(i="0"+i),e+="\\x"+i):127s||57344<=s?e+="\\u"+("000"+s.toString(16)).slice(-4):55296<=s?(i=t.v.codePointAt(n),n++,s="0000000"+(i=i.toString(16)).toString(16),e=4t.tp$getattr(e,!0)),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t}));return Sk.misceval.chain(i,(i=>{if(void 0===i){if(void 0!==n)return n;throw new Sk.builtin.AttributeError(t.sk$attrError()+" has no attribute "+Sk.misceval.objectRepr(e))}return i}))},Sk.builtin.setattr=function(t,e,n){if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("attribute name must be string");return Sk.misceval.chain(t.tp$setattr(e,n,!0),(()=>Sk.builtin.none.none$))},Sk.builtin.raw_input=function(t){var e=t||"";return Sk.misceval.chain(Sk.importModule("sys",!1,!0),(function(t){return Sk.inputfunTakesPrompt?Sk.builtin.file.$readline(t.$d.stdin,null,e):Sk.misceval.chain(void 0,(function(){return Sk.misceval.callsimOrSuspendArray(t.$d.stdout.write,[t.$d.stdout,new Sk.builtin.str(e)])}),(function(){return Sk.misceval.callsimOrSuspendArray(t.$d.stdin.readline,[t.$d.stdin])}))}))},Sk.builtin.input=Sk.builtin.raw_input,Sk.builtin.jseval=function(t){return t=Sk.global.eval(Sk.ffi.remapToJs(t)),Sk.ffi.remapToPy(t)},Sk.builtin.jsmillis=function(){return console.warn("jsmillis is deprecated"),(new Date).valueOf()};const n=Sk.abstr.buildNativeClass("code",{constructor:function(t,e){this.compiled=e,this.code=e.code,this.filename=t},slots:{tp$new(t,e){throw new Sk.builtin.NotImplementedError("cannot construct a code object in skulpt")},$r(){return new Sk.builtin.str(", file "+this.filename+">")}}});Sk.builtin.compile=function(t,e,i,s,r,o){return Sk.builtin.pyCheckType("source","str",Sk.builtin.checkString(t)),Sk.builtin.pyCheckType("filename","str",Sk.builtin.checkString(e)),Sk.builtin.pyCheckType("mode","str",Sk.builtin.checkString(i)),t=t.$jsstr(),e=e.$jsstr(),i=i.$jsstr(),Sk.misceval.chain(Sk.compile(t,e,i,!0),(t=>new n(e,t)))},Sk.builtin.exec=function(t,e,i){let s=e&&e.__file__;if(s=void 0!==s&&Sk.builtin.checkString(s)?s.toString():"",Sk.builtin.checkString(t))t=Sk.compile(t.$jsstr(),s,"exec",!0);else if("string"==typeof t)t=Sk.compile(t,s,"exec",!0);else if(!(t instanceof n))throw new Sk.builtin.TypeError("exec() arg 1 must be a string, bytes or code object");Sk.asserts.assert(void 0===e||e.constructor===Object,"internal calls to exec should be called with a javascript object for globals"),Sk.asserts.assert(void 0===i||i.constructor===Object,"internal calls to exec should be called with a javascript object for locals");const r=Sk.globals;return e=e||r,Sk.misceval.chain(t,(t=>Sk.global.eval(t.code)(e,i)),(t=>(Sk.globals=r,t)))},Sk.builtin.eval=function(t,e,i){if(Sk.builtin.checkString(t))t=t.$jsstr();else if(Sk.builtin.checkBytes(t))throw new Sk.builtin.NotImplementedError("bytes for eval is not yet implemented in skulpt");if("string"==typeof t){t=t.trim();var s=Sk.parse("?",t);if(1<(s=Sk.astFromParse(s.cst,"?",s.flags)).body.length||!(s.body[0]instanceof Sk.astnodes.Expr))throw new Sk.builtin.SyntaxError("invalid syntax");t="__final_res__ = "+t}else if(!(t instanceof n))throw new Sk.builtin.TypeError("eval() arg 1 must be a string, bytes or code object");return Sk.misceval.chain(Sk.builtin.exec(t,e,i),(t=>{const e=t.__final_res__||Sk.builtin.none.none$;return delete t.__final_res__,e}))},Sk.builtin.map=function(t,e){var n,i,s=[];if(Sk.builtin.pyCheckArgsLen("map",arguments.length,2),2((t=new Sk.builtin.list(t)).list$sort(e,n,i),t)))},Sk.builtin.filter=function(t,e){var n;if(Sk.builtin.pyCheckArgsLen("filter",arguments.length,2,2),!Sk.builtin.checkIterable(e))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(e)+"' object is not iterable");var i=function(){return[]},s=function(t,e){return t.push(e),t},r=function(t){return new Sk.builtin.list(t)};e.ob$type===Sk.builtin.str?(i=function(){return new Sk.builtin.str("")},s=function(t,e){return t.sq$concat(e)},r=function(t){return t}):e.ob$type===Sk.builtin.tuple&&(r=function(t){return new Sk.builtin.tuple(t)});var o=i(),a=Sk.abstr.iter(e);for(n=a.tp$iternext();void 0!==n;n=a.tp$iternext())i=t===Sk.builtin.none.none$?new Sk.builtin.bool(n):Sk.misceval.callsimArray(t,[n]),Sk.misceval.isTrue(i)&&(o=s(o,n));return r(o)},Sk.builtin.hasattr=function(t,e){if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("hasattr(): attribute name must be string");const n=Sk.misceval.tryCatch((()=>t.tp$getattr(e,!0)),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t}));return Sk.misceval.chain(n,(t=>void 0===t?Sk.builtin.bool.false$:Sk.builtin.bool.true$))},Sk.builtin.pow=function(t,e,n){if(void 0===n||Sk.builtin.checkNone(n))return Sk.abstr.numberBinOp(t,e,"Pow");if(!(Sk.builtin.checkInt(t)&&Sk.builtin.checkInt(e)&&Sk.builtin.checkInt(n))){if(Sk.builtin.checkFloat(t)||Sk.builtin.checkComplex(t))return t.nb$power(e,n);throw new Sk.builtin.TypeError("unsupported operand type(s) for ** or pow(): '"+Sk.abstr.typeName(t)+"', '"+Sk.abstr.typeName(e)+"', '"+Sk.abstr.typeName(n)+"'")}return t.nb$power(e,n)},Sk.builtin.quit=function(t){throw t=new Sk.builtin.str(t).v,new Sk.builtin.SystemExit(t)},Sk.builtin.issubclass=function(t,e){if(!Sk.builtin.checkClass(t))throw new Sk.builtin.TypeError("issubclass() arg 1 must be a class");var n=Sk.builtin.checkClass(e);if(!(n||e instanceof Sk.builtin.tuple))throw new Sk.builtin.TypeError("issubclass() arg 2 must be a class or tuple of classes");if(n)return t.$isSubType(e)?Sk.builtin.bool.true$:Sk.builtin.bool.false$;for(n=0;n{if(void 0===n){if(e)return e;if(void 0!==(n=t.gi$ret)&&n!==Sk.builtin.none.none$)throw new Sk.builtin.StopIteration(n);throw new Sk.builtin.StopIteration}return n}))},Sk.builtin.reload=function(){throw new Sk.builtin.NotImplementedError("reload is not yet implemented")},Sk.builtin.vars=function(){throw new Sk.builtin.NotImplementedError("vars is not yet implemented")},Sk.builtin.apply_=function(){throw new Sk.builtin.NotImplementedError("apply is not yet implemented")},Sk.builtin.buffer=function(){throw new Sk.builtin.NotImplementedError("buffer is not yet implemented")},Sk.builtin.coerce=function(){throw new Sk.builtin.NotImplementedError("coerce is not yet implemented")},Sk.builtin.intern=function(){throw new Sk.builtin.NotImplementedError("intern is not yet implemented")}},function(t,e){function n(t,e){return e=new this.constructor,this.ht$type&&a.call(e),e.args=new Sk.builtin.tuple(t.slice(0)),e}function i(t,e){Sk.abstr.checkNoKwargs(Sk.abstr.typeName(this),e),this.args=new Sk.builtin.tuple(t.slice(0))}function s(){return 1>=this.args.v.length?new Sk.builtin.str(this.args.v[0]):this.args.$r()}function r(t,e,n,s,r,o){r||(r=[]);const a=s?{}:{sk$solidBase:!1};return n={tp$init:s||i,tp$doc:n},o&&(n.tp$str=o),Sk.abstr.buildNativeClass(e,{base:t,constructor:function(...e){t.apply(this,e),r.forEach(((t,n)=>{this["$"+t]=Sk.ffi.remapToPy(e[n])}))},slots:n,getsets:Object.fromEntries(r.map((t=>[t,{$get(){return this["$"+t]||Sk.builtin.none.none$},$set(e){this["$"+t]=e||Sk.builtin.none.none$}}]))),flags:a})}function o(t,e,s){const r=t.prototype.tp$init;return s={tp$doc:s,tp$init:r},r===i&&(s.tp$new=n),Sk.abstr.buildNativeClass(e,{base:t,constructor:function(...e){t.apply(this,e)},slots:s,flags:{sk$solidBase:!1}})}const a=Sk.abstr.buildNativeClass("BaseException",{constructor:function t(e,...n){Sk.asserts.assert(this instanceof t,"bad call to exception constructor, use 'new'"),"string"==typeof e&&(e=new Sk.builtin.str(e)),this.args=new Sk.builtin.tuple(e?[e]:[]),this.traceback=2<=n.length?[{filename:n[0]||"",lineno:n[1]}]:[],this.context=this.cause=null,this.$d=new Sk.builtin.dict},slots:{tp$getattr:Sk.generic.getAttr,tp$doc:"Common base class for all exceptions",tp$new:n,tp$init:i,$r(){let t=this.tp$name;return t+="("+this.args.v.map((t=>Sk.misceval.objectRepr(t))).join(", ")+")",new Sk.builtin.str(t)},tp$str:s},getsets:{args:{$get(){return this.args},$set(t){if(void 0===t)throw new Sk.builtin.TypeError("args may not be deleted");this.args=new Sk.builtin.tuple(t)}},__cause__:{$get(){return this.$cause||Sk.builtin.none.none$},$set(t){if(!(Sk.builtin.checkNone(t)||t instanceof Sk.builtin.BaseException))throw new B("exception cause must be None or derive from BaseException");this.$cause=t}},__dict__:Sk.generic.getSetDict},proto:{toString(){let t=this.tp$name;return t+=": "+this.tp$str().v,0!==this.traceback.length?t+" on line "+this.traceback[0].lineno:t+" at "}}});t=o(a,"SystemExit","Request to exit from the interpreter."),e=o(a,"KeyboardInterrupt","Program interrupted by user.");const l=o(a,"GeneratorExit","Request that a generator exit."),u=o(a,"Exception","Common base class for all non-exit exceptions."),c=r(u,"StopIteration","Signal the end from iterator.__next__().",(function(t,e){i.call(this,t,e),this.$value=t[0]||Sk.builtin.none.none$}),["value"]),p=o(u,"StopAsyncIteration","Signal the end from iterator.__anext__()."),h=o(u,"ArithmeticError","Base class for arithmetic errors."),_=o(h,"FloatingPointError","Floating point operation failed."),d=o(h,"OverflowError","Result too large to be represented."),f=o(h,"ZeroDivisionError","Second argument to a division or modulo operation was zero."),m=o(u,"AssertionError","Assertion failed."),g=o(u,"AttributeError","Attribute not found."),b=o(u,"BufferError","Buffer error."),S=o(u,"EOFError","Read beyond end of file."),k=r(u,"ImportError","Import can't find module, or can't find name in module.",(function(t,e){i.call(this,t);const[n,s]=Sk.abstr.copyKeywordsToNamedArgs("ImportError",["name","path"],[],e);this.$name=n,this.$path=s,1===t.length&&(this.$msg=t[0])}),["msg","name","path"],(function(){return Sk.builtin.checkString(this.$msg)?this.$msg:s.call(this)})),y=o(k,"ModuleNotFoundError","Module not found."),T=o(u,"LookupError","Base class for lookup errors."),v=o(T,"IndexError","Sequence index out of range."),$=r(T,"KeyError","Mapping key not found.",null,null,(function(){return 1===this.args.v.length?this.args.v[0].$r():s.call(this)})),w=o(u,"MemoryError","Out of memory."),E=o(u,"NameError","Name not found globally."),I=o(E,"UnboundLocalError","Local name referenced but not bound to a value."),A=r(u,"OSError","Base class for I/O related errors.",(function(t,e){i.call(this,t,e)})),O=o(A,"FileNotFoundError","File not found."),M=o(A,"TimeoutError","Timeout expired."),C=o(u,"ReferenceError","Weak ref proxy used after referent went away."),x=o(u,"RuntimeError","Unspecified run-time error."),R=o(x,"NotImplementedError","Method or function hasn't been implemented yet."),N=o(x,"RecursionError","Recursion limit exceeded."),L=r(u,"SyntaxError","Invalid syntax.",(function(t,e){i.call(this,t,e),1<=t.length&&(this.$msg=t[0]),2===t.length&&(t=new Sk.builtin.tuple(t[1]).v,this.$filename=t[0],this.$lineno=t[1],this.$offset=t[2],this.$text=t[3])}),["msg","filename","lineno","offset","text"],(function(){return s.call(this)})),D=o(L,"IndentationError","Improper indentation."),F=o(D,"TabError","Improper mixture of spaces and tabs."),P=o(u,"SystemError","Internal error in the Skulpt interpreter."),B=o(u,"TypeError","Inappropriate argument type."),V=o(u,"ValueError","Inappropriate argument value (of correct type)."),U=o(V,"UnicodeError","Unicode related error."),Y=o(U,"UnicodeDecodeError","Unicode decoding error."),j=o(U,"UnicodeEncodeError","Unicode encoding error.");Object.assign(Sk.builtin,{BaseException:a,SystemExit:t,KeyboardInterrupt:e,GeneratorExit:l,Exception:u,StopIteration:c,StopAsyncIteration:p,ArithmeticError:h,FloatingPointError:_,OverflowError:d,ZeroDivisionError:f,AssertionError:m,AttributeError:g,BufferError:b,EOFError:S,ImportError:k,ModuleNotFoundError:y,LookupError:T,IndexError:v,KeyError:$,MemoryError:w,NameError:E,UnboundLocalError:I,OSError:A,IOError:A,FileNotFoundError:O,TimeoutError:M,ReferenceError:C,RuntimeError:x,NotImplementedError:R,RecursionError:N,SyntaxError:L,IndentationError:D,TabError:F,SystemError:P,TypeError:B,ValueError:V,UnicodeError:U,UnicodeDecodeError:Y,UnicodeEncodeError:j}),Sk.builtin.SuspensionError=o(u,"SuspensionError","Unsupported Suspension in code."),Sk.builtin.ExternalError=Sk.abstr.buildNativeClass("ExternalError",{constructor:function(...t){if(this.nativeError=t[0],!Sk.builtin.checkString(this.nativeError)&&(t[0]=this.nativeError.toString(),t[0].startsWith("RangeError: Maximum call")))return t[0]="Maximum call stack size exceeded",new N(...t);u.apply(this,t)},base:u}),Sk.builtin.getExcInfo=function(t){return new Sk.builtin.tuple([t.ob$type||Sk.builtin.none.none$,t,Sk.builtin.none.none$])}},function(t,e){Sk.builtin.method=Sk.abstr.buildNativeClass("method",{constructor:function(t,e){Sk.asserts.assert(this instanceof Sk.builtin.method,"bad call to method constructor, use 'new'"),this.im_func=t,this.im_self=e,this.im_call=t.tp$call},slots:{$r(){let t=this.im_func.tp$getattr(Sk.builtin.str.$qualname)||this.im_func.tp$getattr(Sk.builtin.str.$name);return t=t&&t.v||"?",new Sk.builtin.str("")},tp$hash(){return Sk.abstr.objectHash(this.im_self)+Sk.abstr.objectHash(this.im_func)},tp$call(t,e){var n=this.im_call;if(void 0===n)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(this.im_func)+"' object is not callable");return t=[this.im_self,...t],n.call(this.im_func,t,e)},tp$new(t,e){if(Sk.abstr.checkNoKwargs("method",e),Sk.abstr.checkArgsLen("method",t,2,2),e=t[0],t=t[1],!Sk.builtin.checkCallable(e))throw new Sk.builtin.TypeError("first argument must be callable");if(Sk.builtin.checkNone(t))throw new Sk.builtin.TypeError("self must not be None");return new Sk.builtin.method(e,t)},tp$richcompare(t,e){if("Eq"!=e&&"NotEq"!=e||!(t instanceof Sk.builtin.method))return Sk.builtin.NotImplemented.NotImplemented$;let n;try{n=Sk.misceval.richCompareBool(this.im_self,t.im_self,"Eq",!1)&&this.im_func==t.im_func}catch(t){n=!1}return"Eq"==e?n:!n},tp$descr_get(t,e){return this},tp$getattr(t,e){const n=Sk.abstr.lookupSpecial(this,t);return void 0!==n?n:this.im_func.tp$getattr(t,e)}},getsets:{__func__:{$get(){return this.im_func}},__self__:{$get(){return this.im_self}},__doc__:{$get(){return this.im_func.tp$getattr(Sk.builtin.str.$doc)}}},flags:{sk$unacceptableBase:!0}})},function(t,e){function n(t){if(null!=t){if(!0===t.sk$int)return t.v;if(void 0!==t.nb$index)return t.nb$index();if("number"==typeof t&&Number.isInteger(t))return t}}function i(t,e){const i=n(t);if(void 0!==i)return i;throw e=(e||"'{tp$name}' object cannot be interpreted as an integer").replace("{tp$name}",Sk.abstr.typeName(t)),new Sk.builtin.TypeError(e)}Sk.misceval={},Sk.misceval.Suspension=function(t,e,n){this.$isSuspension=!0,void 0!==t&&void 0!==e&&(this.resume=function(){return t(e.resume())}),this.child=e,this.optional=void 0!==e&&e.optional,this.data=void 0===n&&void 0!==e?e.data:n},Sk.exportSymbol("Sk.misceval.Suspension",Sk.misceval.Suspension),Sk.misceval.retryOptionalSuspensionOrThrow=function(t,e){for(;t instanceof Sk.misceval.Suspension;){if(!t.optional){e=new Sk.builtin.SuspensionError(e||"Cannot call a function that blocks or suspends here");const n=[];for(;null!=t;)t.$lineno&&n.push({filename:t.$filename,lineno:t.$lineno,colno:t.$colno}),t=t.child;throw n.reverse(),e.traceback.push(...n),e}t=t.resume()}return t},Sk.exportSymbol("Sk.misceval.retryOptionalSuspensionOrThrow",Sk.misceval.retryOptionalSuspensionOrThrow),Sk.misceval.isIndex=function(t){return null!=t&&(void 0!==t.nb$index||"number"==typeof t&&Number.isInteger(t))},Sk.exportSymbol("Sk.misceval.isIndex",Sk.misceval.isIndex),Sk.misceval.asIndex=n,Sk.misceval.asIndexSized=function(t,e,n){if("number"==typeof(n=i(t,n)))return n;if(null==e)return JSBI.lessThan(n,JSBI.__ZERO)?-Number.MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER;throw new e("cannot fit '"+Sk.abstr.typeName(t)+"' into an index-sized integer")},Sk.misceval.asIndexOrThrow=i,Sk.misceval.applySlice=function(t,e,n,i){return Sk.abstr.objectGetItem(t,new Sk.builtin.slice(e,n,null),i)},Sk.exportSymbol("Sk.misceval.applySlice",Sk.misceval.applySlice),Sk.misceval.assignSlice=function(t,e,n,i,s){return e=new Sk.builtin.slice(e,n),null===i?Sk.abstr.objectDelItem(t,e):Sk.abstr.objectSetItem(t,e,i,s)},Sk.exportSymbol("Sk.misceval.assignSlice",Sk.misceval.assignSlice),Sk.misceval.arrayFromArguments=function(t){var e;if(1!=t.length)return t;var n=t[0];if(n instanceof Sk.builtin.set?n=n.tp$iter().$obj:n instanceof Sk.builtin.dict&&(n=Sk.builtin.dict.prototype.keys.func_code(n)),n instanceof Sk.builtin.list||n instanceof Sk.builtin.tuple)return n.v;if(Sk.builtin.checkIterable(n)){for(t=[],e=(n=Sk.abstr.iter(n)).tp$iternext();void 0!==e;e=n.tp$iternext())t.push(e);return t}throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(n)+"' object is not iterable")},Sk.exportSymbol("Sk.misceval.arrayFromArguments",Sk.misceval.arrayFromArguments),Sk.misceval.iterator=Sk.abstr.buildIteratorClass("iterator",{constructor:function(t,e){this.tp$iternext=e?t:function(e){let n=t();return e||void 0===n||!n.$isSuspension?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)}},iternext:function(t){return this.tp$iternext(t)},flags:{sk$unacceptableBase:!0}}),Sk.misceval.swappedOp_={Eq:"Eq",NotEq:"NotEq",Lt:"Gt",LtE:"GtE",Gt:"Lt",GtE:"LtE"},Sk.misceval.opSymbols={Eq:"==",NotEq:"!=",Lt:"<",LtE:"<=",Gt:">",GtE:">=",Is:"is",IsNot:"is not",In_:"in",NotIn:"not in"},Sk.misceval.richCompareBool=function(t,e,n,i){Sk.asserts.assert(t.sk$object&&e.sk$object,"JS object passed to richCompareBool");var s=t.ob$type,r=e.ob$type,o=r!==s&&void 0===r.sk$baseClass&&r.$isSubType(s);if(!Sk.__future__.python3&&s!==r&&("GtE"===n||"Gt"===n||"LtE"===n||"Lt"===n)){var a=[Sk.builtin.float_,Sk.builtin.int_,Sk.builtin.lng,Sk.builtin.bool];const i=[Sk.builtin.dict,Sk.builtin.enumerate,Sk.builtin.filter_,Sk.builtin.list,Sk.builtin.map_,Sk.builtin.str,Sk.builtin.tuple,Sk.builtin.zip_];var l=a.indexOf(s);if(s=i.indexOf(s),a=a.indexOf(r),r=i.indexOf(r),t===Sk.builtin.none.none$)switch(n){case"Lt":case"LtE":return!0;case"Gt":case"GtE":return!1}if(e===Sk.builtin.none.none$)switch(n){case"Lt":case"LtE":return!1;case"Gt":case"GtE":return!0}if(-1!==l&&-1!==r)switch(n){case"Lt":case"LtE":return!0;case"Gt":case"GtE":return!1}if(-1!==s&&-1!==a)switch(n){case"Lt":case"LtE":return!1;case"Gt":case"GtE":return!0}if(-1!==s&&-1!==r)switch(n){case"Lt":return sr;case"GtE":return s>=r}}if("Is"===n)return t===e;if("IsNot"===n)return t!==e;if("In"===n)return Sk.misceval.chain(Sk.abstr.sequenceContains(e,t,i),Sk.misceval.isTrue);if("NotIn"===n)return Sk.misceval.chain(Sk.abstr.sequenceContains(e,t,i),(function(t){return!Sk.misceval.isTrue(t)}));if(l=(r={Eq:"ob$eq",NotEq:"ob$ne",Gt:"ob$gt",GtE:"ob$ge",Lt:"ob$lt",LtE:"ob$le"})[n],o&&(i=e[i=r[Sk.misceval.swappedOp_[n]]](t))!==Sk.builtin.NotImplemented.NotImplemented$||(i=t[l](e))!==Sk.builtin.NotImplemented.NotImplemented$||!o&&(i=e[i=r[Sk.misceval.swappedOp_[n]]](t))!==Sk.builtin.NotImplemented.NotImplemented$)return Sk.misceval.isTrue(i);if(!Sk.__future__.python3){if(o=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$cmp))try{if(i=Sk.misceval.callsimArray(o,[e]),Sk.builtin.checkNumber(i)){if(i=Sk.builtin.asnum$(i),"Eq"===n)return 0===i;if("NotEq"===n)return 0!==i;if("Lt"===n)return 0>i;if("Gt"===n)return 0=i;if("GtE"===n)return 0<=i}if(i!==Sk.builtin.NotImplemented.NotImplemented$)throw new Sk.builtin.TypeError("comparison did not return an int")}catch(t){throw new Sk.builtin.TypeError("comparison did not return an int")}if(o=Sk.abstr.lookupSpecial(e,Sk.builtin.str.$cmp))try{if(i=Sk.misceval.callsimArray(o,[t]),Sk.builtin.checkNumber(i)){if(i=Sk.builtin.asnum$(i),"Eq"===n)return 0===i;if("NotEq"===n)return 0!==i;if("Lt"===n)return 0i;if("LtE"===n)return 0<=i;if("GtE"===n)return 0>=i}if(i!==Sk.builtin.NotImplemented.NotImplemented$)throw new Sk.builtin.TypeError("comparison did not return an int")}catch(t){throw new Sk.builtin.TypeError("comparison did not return an int")}if(t===Sk.builtin.none.none$&&e===Sk.builtin.none.none$){if("Eq"===n)return t.v===e.v;if("NotEq"===n)return t.v!==e.v;if("Gt"===n)return t.v>e.v;if("GtE"===n)return t.v>=e.v;if("Lt"===n)return t.v";throw t}},Sk.exportSymbol("Sk.misceval.objectRepr",Sk.misceval.objectRepr),Sk.misceval.opAllowsEquality=function(t){switch(t){case"LtE":case"Eq":case"GtE":return!0}return!1},Sk.exportSymbol("Sk.misceval.opAllowsEquality",Sk.misceval.opAllowsEquality),Sk.misceval.isTrue=function(t){return!0===t||t===Sk.builtin.bool.true$||!1!==t&&t!==Sk.builtin.bool.false$&&null!=t&&(t.nb$bool?t.nb$bool():t.sq$length?0!==t.sq$length():!!t)},Sk.exportSymbol("Sk.misceval.isTrue",Sk.misceval.isTrue),Sk.misceval.softspace_=!1,Sk.misceval.print_=function(t){Sk.misceval.softspace_&&("\n"!==t&&Sk.output(" "),Sk.misceval.softspace_=!1);var e=new Sk.builtin.str(t);return Sk.misceval.chain(Sk.importModule("sys",!1,!0),(function(t){return Sk.misceval.apply(t.$d.stdout.write,void 0,void 0,void 0,[t.$d.stdout,e])}),(function(){var t;(t=0===e.v.length)||(t=!("\n"===(t=e.v[e.v.length-1])||"\t"===t||"\r"===t)),(t||" "===e.v[e.v.length-1])&&(Sk.misceval.softspace_=!0)}))},Sk.exportSymbol("Sk.misceval.print_",Sk.misceval.print_),Sk.misceval.loadname=function(t,e){if(void 0!==(e=e[t]))return e;if(void 0!==(e=Sk.builtins[t]))return e;throw new Sk.builtin.NameError("name '"+Sk.unfixReserved(t)+"' is not defined")},Sk.exportSymbol("Sk.misceval.loadname",Sk.misceval.loadname),Sk.misceval.call=function(t,e,n,i,s){return s=Array.prototype.slice.call(arguments,4),Sk.misceval.apply(t,e,n,i,s)},Sk.exportSymbol("Sk.misceval.call",Sk.misceval.call),Sk.misceval.callAsync=function(t,e,n,i,s,r){return r=Array.prototype.slice.call(arguments,5),Sk.misceval.applyAsync(t,e,n,i,s,r)},Sk.exportSymbol("Sk.misceval.callAsync",Sk.misceval.callAsync),Sk.misceval.callOrSuspend=function(t,e,n,i,s){return s=Array.prototype.slice.call(arguments,4),Sk.misceval.applyOrSuspend(t,e,n,i,s)},Sk.exportSymbol("Sk.misceval.callOrSuspend",Sk.misceval.callOrSuspend),Sk.misceval.callsim=function(t,e){return e=Array.prototype.slice.call(arguments,1),Sk.misceval.apply(t,void 0,void 0,void 0,e)},Sk.exportSymbol("Sk.misceval.callsim",Sk.misceval.callsim),Sk.misceval.callsimArray=function(t,e,n){return e=e||[],Sk.misceval.retryOptionalSuspensionOrThrow(Sk.misceval.callsimOrSuspendArray(t,e,n))},Sk.exportSymbol("Sk.misceval.callsimArray",Sk.misceval.callsimArray),Sk.misceval.callsimAsync=function(t,e,n){return n=Array.prototype.slice.call(arguments,2),Sk.misceval.applyAsync(t,e,void 0,void 0,void 0,n)},Sk.exportSymbol("Sk.misceval.callsimAsync",Sk.misceval.callsimAsync),Sk.misceval.callsimOrSuspend=function(t,e){return e=Array.prototype.slice.call(arguments,1),Sk.misceval.applyOrSuspend(t,void 0,void 0,void 0,e)},Sk.exportSymbol("Sk.misceval.callsimOrSuspend",Sk.misceval.callsimOrSuspend),Sk.misceval.callsimOrSuspendArray=function(t,e,n){return e=e||[],void 0!==t&&t.tp$call?t.tp$call(e,n):Sk.misceval.applyOrSuspend(t,void 0,void 0,n,e)},Sk.exportSymbol("Sk.misceval.callsimOrSuspendArray",Sk.misceval.callsimOrSuspendArray),Sk.misceval.apply=function(t,e,n,i,s){return(t=Sk.misceval.applyOrSuspend(t,e,n,i,s))instanceof Sk.misceval.Suspension?Sk.misceval.retryOptionalSuspensionOrThrow(t):t},Sk.exportSymbol("Sk.misceval.apply",Sk.misceval.apply),Sk.misceval.asyncToPromise=function(t,e){return new Promise((function(n,i){try{!function t(s){try{for(var r=function(){try{t(s.resume())}catch(t){i(t)}},o=function(t){try{s.data.result=t,r()}catch(t){i(t)}},a=function(t){try{s.data.error=t,r()}catch(t){i(t)}};s instanceof Sk.misceval.Suspension;){var l=e&&(e[s.data.type]||e["*"]);if(l){var u=l(s);if(u)return void u.then(t,i)}if("Sk.promise"==s.data.type)return void s.data.promise.then(o,a);if("Sk.yield"==s.data.type)return void Sk.global.setImmediate(r);if("Sk.delay"==s.data.type)return void Sk.global.setImmediate(r);if(!s.optional)throw new Sk.builtin.SuspensionError("Unhandled non-optional suspension of type '"+s.data.type+"'");s=s.resume()}n(s)}catch(t){i(t)}}(t())}catch(t){i(t)}}))},Sk.exportSymbol("Sk.misceval.asyncToPromise",Sk.misceval.asyncToPromise),Sk.misceval.applyAsync=function(t,e,n,i,s,r){return Sk.misceval.asyncToPromise((function(){return Sk.misceval.applyOrSuspend(e,n,i,s,r)}),t)},Sk.exportSymbol("Sk.misceval.applyAsync",Sk.misceval.applyAsync),Sk.misceval.chain=function(t,e){for(var n,i,s=1,r=t;;){if(s==arguments.length)return r;if(r&&r.$isSuspension)break;r=arguments[s](r),s++}for(i=Array(arguments.length-s),n=0;nt[i++]},e,n)},Sk.misceval.arrayFromIterable=function(t,e){if(void 0===t)return[];if(void 0===t.ht$type&&void 0!==t.sk$asarray)return t.sk$asarray();const n=[];return t=Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{n.push(t)})),(()=>n)),e?t:Sk.misceval.retryOptionalSuspensionOrThrow(t)},Sk.misceval.Break=function(t){if(!(this instanceof Sk.misceval.Break))return new Sk.misceval.Break(t);this.brValue=t},Sk.exportSymbol("Sk.misceval.Break",Sk.misceval.Break),Sk.misceval.applyOrSuspend=function(t,e,n,i,s){var r;if(null==t||t===Sk.builtin.none.none$)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not callable");"function"==typeof t&&void 0===t.tp$call&&(t=new Sk.builtin.func(t));var o=t.tp$call;if(void 0!==o){if(n)for(r=(n=n.tp$iter()).tp$iternext();void 0!==r;r=n.tp$iternext())s.push(r);if(e)for(r=(n=Sk.abstr.iter(e)).tp$iternext();void 0!==r;r=n.tp$iternext()){if(!Sk.builtin.checkString(r))throw new Sk.builtin.TypeError("Function keywords must be strings");i.push(r.v),i.push(Sk.abstr.objectGetItem(e,r,!1))}return o.call(t,s,i,e)}if(void 0!==(o=t.__call__))return s.unshift(t),Sk.misceval.apply(o,e,n,i,s);throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not callable")},Sk.exportSymbol("Sk.misceval.applyOrSuspend",Sk.misceval.applyOrSuspend),Sk.misceval.promiseToSuspension=function(t){var e=new Sk.misceval.Suspension;return e.resume=function(){if(e.data.error)throw e.data.error;return e.data.result},e.data={type:"Sk.promise",promise:t},e},Sk.exportSymbol("Sk.misceval.promiseToSuspension",Sk.misceval.promiseToSuspension),Sk.misceval.buildClass=function(t,e,n,i,s,r){n=new Sk.builtin.str(n);const o=new Sk.builtin.tuple(i);let a;i=i||[];var l=!0;const u=(r=r||[]).indexOf("metaclass");-1{if(t=t.ob$type,!n.$isSubType(t)){if(!t.$isSubType(n))throw new Sk.builtin.TypeError("metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases");n=t}})),n}(a,i));let c=null;a!==Sk.builtin.type&&([c,h]=function(t,e,n,i,s){const r=t.tp$getattr(Sk.builtin.str.$prepare);let o,a=null;if(void 0===r)return[a,o];if(a=Sk.misceval.callsimArray(r,[e,n],i),!Sk.builtin.checkMapping(a))throw new Sk.builtin.TypeError(s?t.prototype.tp$name:".__prepare__() must return a mapping not '"+Sk.abstr.typeName(a)+"'");return o={get(t,e){try{return Sk.abstr.objectGetItem(t,new Sk.builtin.str(Sk.unfixReserved(e)))}catch(t){if(!(t instanceof Sk.builtin.KeyError))throw t}},set:(t,e,n)=>(Sk.abstr.objectSetItem(t,new Sk.builtin.str(Sk.unfixReserved(e)),n),!0)},[a,o]}(a,n,o,r,l)),i=!1;let p={};if(null===c)c=new Sk.builtin.dict([]);else if(c.constructor===Sk.builtin.dict||function(){const t=(Sk.global.navigator||{}).userAgent||"";return-1{Sk.abstr.objectSetItem(c,new Sk.builtin.str(t),p[t])})),Sk.misceval.callsimOrSuspendArray(a,[n,o,c],r)},Sk.exportSymbol("Sk.misceval.buildClass",Sk.misceval.buildClass)},function(t,e){Sk.builtin.callable_iter_=Sk.abstr.buildIteratorClass("callable_iterator",{constructor:function(t,e){if(!Sk.builtin.checkCallable(t))throw new Sk.builtin.TypeError("iter(v, w): v must be callable");this.$callable=t,this.$sentinel=e,this.$flag=!1},iternext(t){if(!0!==this.$flag){if(t)return t=Sk.misceval.callsimOrSuspendArray(this.$callable,[]),Sk.misceval.chain(t,(t=>{if(!Sk.misceval.richCompareBool(t,this.$sentinel,"Eq",!0))return t;this.$flag=!0}));if(t=Sk.misceval.callsimArray(this.$callable,[]),!Sk.misceval.richCompareBool(t,this.$sentinel,"Eq",!1))return t;this.$flag=!0}},flags:{sk$unacceptableBase:!0}}),Sk.builtin.seq_iter_=Sk.abstr.buildIteratorClass("iterator",{constructor:function(t){this.$index=0,this.$seq=t},iternext(t){let e;return e=Sk.misceval.tryCatch((()=>this.$seq.mp$subscript(new Sk.builtin.int_(this.$index++),t)),(t=>{if(!(t instanceof Sk.builtin.IndexError||t instanceof Sk.builtin.StopIteration))throw t;this.gi$ret=t.$value||Sk.builtin.none.none$})),t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)},methods:{__length_hint__:{$flags:{NoArgs:!0},$meth(){if(this.$seq.sq$length)return this.$seq.sq$length()-this.$index;throw new Sk.builtin.NotImplementedError("len is not implemented for "+Sk.abstr.typeName(this.$seq))}}},flags:{sk$unacceptableBase:!0}}),Sk.exportSymbol("Sk.builtin.callable_iter_",Sk.builtin.callable_iter_)},function(t,e){Sk.builtin.list=Sk.abstr.buildNativeClass("list",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.list,"bad call to list, use 'new' with an Array of python objects"),this.v=t,this.in$repr=!1},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$hash:Sk.builtin.none.none$,tp$doc:"Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.",tp$new:Sk.generic.new,tp$init(t,e){return Sk.abstr.checkNoKwargs("list",e),Sk.abstr.checkArgsLen("list",t,0,1),Sk.misceval.chain(Sk.misceval.arrayFromIterable(t[0],!0),(t=>{this.v=t}))},$r(){if(this.in$repr)return new Sk.builtin.str("[...]");this.in$repr=!0;const t=this.v.map((t=>Sk.misceval.objectRepr(t)));return this.in$repr=!1,new Sk.builtin.str("["+t.join(", ")+"]")},tp$richcompare:Sk.generic.seqCompare,tp$iter(){return new n(this)},sq$length(){return this.v.length},sq$concat(t){if(!(t instanceof Sk.builtin.list))throw new Sk.builtin.TypeError("can only concatenate list to list");return new Sk.builtin.list(this.v.concat(t.v))},sq$contains(t){for(let e=this.tp$iter(),n=e.tp$iternext();void 0!==n;n=e.tp$iternext())if(n===t||Sk.misceval.richCompareBool(n,t,"Eq"))return!0;return!1},sq$repeat(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("can't multiply sequence by non-int of type '"+Sk.abstr.typeName(t)+"'");if((t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError))*this.v.length>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;const e=[];for(let n=0;n{e.push(this.v[t])})),new Sk.builtin.list(e)}throw new Sk.builtin.TypeError("list indices must be integers or slices, not "+Sk.abstr.typeName(t))},mp$ass_subscript(t,e){void 0===e?this.del$subscript(t):this.ass$subscript(t,e)},sq$inplace_concat(t){return t===this?(this.v.push(...this.v),this):Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.v.push(t)})),(()=>this))},sq$inplace_repeat(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("can't multiply sequence by non-int of type '"+Sk.abstr.typeName(t)+"'");t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError);const e=this.v.length;if(0>=t)this.v.length=0;else if(t*e>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;for(let n=1;n{this.v.push(t)})),(()=>Sk.builtin.none.none$))},$flags:{OneArg:!0},$textsig:"($self, iterable, /)",$doc:"Extend list by appending elements from the iterable."},pop:{$meth(t){t=void 0===t?this.v.length-1:Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError),t=this.list$inRange(t,"pop index out of range");const e=this.v[t];return this.v.splice(t,1),e},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, index=-1, /)",$doc:"Remove and return item at index (default last).\n\nRaises IndexError if list is empty or index is out of range."},remove:{$meth(t){if(-1===(t=this.list$indexOf(t)))throw new Sk.builtin.ValueError("list.remove(x): x not in list");return this.v.splice(t,1),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:"($self, value, /)",$doc:"Remove first occurrence of value.\n\nRaises ValueError if the value is not present."},sort:{$meth(t,e){if(t.length)throw new Sk.builtin.TypeError("sort() takes no positional arguments");const[n,i]=Sk.abstr.copyKeywordsToNamedArgs("sort",["key","reverse"],t,e,[Sk.builtin.none.none$,Sk.builtin.bool.false$]);return this.list$sort(void 0,n,i)},$flags:{FastCall:!0},$textsig:"($self, /, *, key=None, reverse=False)",$doc:"Stable sort *IN PLACE*."},index:{$meth(t,e,n){if(void 0!==e&&!Sk.misceval.isIndex(e)||void 0!==n&&!Sk.misceval.isIndex(n))throw new Sk.builtin.TypeError("slice indices must be integers or have an __index__ method");if(-1===(e=this.list$indexOf(t,e,n)))throw new Sk.builtin.ValueError(Sk.misceval.objectRepr(t)+" is not in list");return new Sk.builtin.int_(e)},$flags:{MinArgs:1,MaxArgs:3},$textsig:"($self, value, start=0, stop=sys.maxsize, /)",$doc:"Return first index of value.\n\nRaises ValueError if the value is not present."},count:{$meth(t){let e=0;const n=this.v.length;for(let i=0;it&&(t+=this.v.length),0<=t&&t{n.push(t)})),!Sk.builtin.checkIterable(e))throw new Sk.builtin.TypeError("must assign iterable to extended slice");if(t=Sk.misceval.arrayFromIterable(e),n.length!==t.length)throw new Sk.builtin.ValueError("attempt to assign sequence of size "+t.length+" to extended slice of size "+n.length);for(e=0;e{this.v.splice(t-n,1),n+=e}))},valueOf(){return this.v}}}),Sk.exportSymbol("Sk.builtin.list",Sk.builtin.list),Sk.builtin.list.py2$methods={sort:{$name:"sort",$meth(t,e){const[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("sort",["cmp","key","reverse"],t,e,[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$]);return this.list$sort(n,i,s)},$flags:{FastCall:!0},$textsig:"($self, cmp=None, key=None, reverse=False)",$doc:"Stable sort *IN PLACE*."}};var n=Sk.abstr.buildIteratorClass("list_iterator",{constructor:function(t){this.$index=0,this.$seq=t.v},iternext:Sk.generic.iterNextWithArray,methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}}),i=Sk.abstr.buildIteratorClass("list_reverseiterator",{constructor:function(t){this.$index=t.v.length-1,this.$seq=t.v},iternext(){const t=this.$seq[this.$index--];if(void 0!==t)return t;this.tp$iternext=()=>{}},methods:{__length_hint__:Sk.generic.iterReverseLengthHintMethodDef},flags:{sk$unacceptableBase:!0}})},function(t,e,n){function i(t){var e=t.replace(y,"").replace(T,"_").toLowerCase();return void 0===(e=k[e])?t:e}function s(t,e,n){if(void 0===e)e="utf-8";else{if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError(t+"() argument "+("bytesstr".includes(t)?2:1)+" must be str not "+Sk.abstr.typeName(e));e=e.$jsstr()}if(void 0===n)n="strict";else{if(!Sk.builtin.checkString(n))throw new Sk.builtin.TypeError(t+"() argument "+("bytesstr".includes(t)?3:2)+" must be str not "+Sk.abstr.typeName(n));n=n.$jsstr()}return{encoding:e,errors:n}}function r(t,e,n){if(t=t.$jsstr(),e=i(e),"strict"!==n&&"ignore"!==n&&"replace"!==n)throw new Sk.builtin.NotImplementedError("'"+n+"' error handling not implemented in Skulpt");if("ascii"===e){for(s in e=[],t){const i=t.charCodeAt(s);if(127=t?"\\x":"\\u";return 3===(t=t.toString(16)).length&&(t=t.slice(1,3)),1===t.length?e+"0"+t:e+t}function a(t,e){if(({encoding:t,errors:e}=s("decode",t,e)),t=i(t),"strict"!==e&&"ignore"!==e&&"replace"!==e)throw new Sk.builtin.NotImplementedError("'"+e+"' error handling not implemented in Skulpt");if("ascii"===t){t=this.v;var n="";for(let i=0;i=n&&en)return new Sk.builtin.tuple([new Sk.builtin.bytes,new Sk.builtin.bytes,this])}else if(n=this.find$subleft(e,0,this.v.length),0>n)return new Sk.builtin.tuple([this,new Sk.builtin.bytes,new Sk.builtin.bytes]);return new Sk.builtin.tuple([new Sk.builtin.bytes(this.v.subarray(0,n)),new Sk.builtin.bytes(e),new Sk.builtin.bytes(this.v.subarray(n+e.length))])}}function p(t,e){return function(n){var i=void 0===n||n===Sk.builtin.none.none$?new Uint8Array([9,10,11,12,13,32,133]):this.get$raw(n);n=0;var s=this.v.length;if(t)for(;nn&&i.includes(this.v[s-1]);)s--;for(i=new Uint8Array(s-n),s=0;s=t||32===t}function d(t){return 97<=t&&122>=t}function f(t){return 65<=t&&90>=t}function m(t){return 48<=t&&57>=t}function g(t,e){return function(){return 0===this.v.length?e?Sk.builtin.bool.true$:Sk.builtin.bool.false$:this.v.every((e=>t(e)))?Sk.builtin.bool.true$:Sk.builtin.bool.false$}}function b(t,e){return function(){let n=!1;for(let i=0;i0<=t&&255>=t)),"bad internal call to bytes with array"),this.v=new Uint8Array(t);else if("string"==typeof t){let e;const n=new Uint8Array(t.length),i=t.length;for(let s=0;s bytes\nbytes(string, encoding[, errors]) -> bytes\nbytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer\nbytes(int) -> bytes object of size given by the parameter initialized with null bytes\nbytes() -> empty bytes object\n\nConstruct an immutable array of bytes from:\n - an iterable yielding integers in range(256)\n - a text string encoded using the specified encoding\n - any object implementing the buffer API.\n - an integer",tp$new(t,e){if(this!==Sk.builtin.bytes.prototype)return this.$subtype_new(t,e);let n;if(e=e||[],!(1>=t.length&&0==+e.length)){if([t,e,n]=Sk.abstr.copyKeywordsToNamedArgs("bytes",[null,"pySource","errors"],t,e),({encoding:e,errors:n}=s("bytes",e,n)),!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("encoding or errors without a string argument");return r(t,e,n)}if(void 0===(t=t[0]))return new Sk.builtin.bytes;if(void 0!==(e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$bytes)))return t=Sk.misceval.callsimOrSuspendArray(e,[]),Sk.misceval.chain(t,(t=>{if(!Sk.builtin.checkBytes(t))throw new Sk.builtin.TypeError("__bytes__ returned non-bytes (type "+Sk.abstr.typeName(t)+")");return t}));if(Sk.misceval.isIndex(t)){if(0>(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError)))throw new Sk.builtin.ValueError("negative count");return new Sk.builtin.bytes(t)}if(Sk.builtin.checkBytes(t))return new Sk.builtin.bytes(t.v);if(Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("string argument without an encoding");if(Sk.builtin.checkIterable(t)){let e=[];return t=Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(0>(t=Sk.misceval.asIndexSized(t))||255new Sk.builtin.bytes(e)))}throw new Sk.builtin.TypeError("cannot convert '"+Sk.abstr.typeName(t)+"' object into bytes")},$r(){let t,e="'";const n=-1!==this.v.indexOf(34);let i="";for(let s=0;st||10t||13t||126t.length||n[i]>t[i];case"GtE":return i===s&&n.length>=t.length||n[i]>=t[i]}},tp$hash(){return new Sk.builtin.str(this.$jsstr()).tp$hash()},tp$as_sequence_or_mapping:!0,mp$subscript(t){if(Sk.misceval.isIndex(t)){let e=Sk.misceval.asIndexSized(t,Sk.builtin.IndexError);if(void 0!==e){if(0>e&&(e=this.v.length+e),0>e||e>=this.v.length)throw new Sk.builtin.IndexError("index out of range");return new Sk.builtin.int_(this.v[e])}}else if(t instanceof Sk.builtin.slice){const e=[];return t.sssiter$(this.v.length,(t=>{e.push(this.v[t])})),new Sk.builtin.bytes(new Uint8Array(e))}throw new Sk.builtin.TypeError("byte indices must be integers or slices, not "+Sk.abstr.typeName(t))},sq$length(){return this.v.length},sq$concat(t){if(!(t instanceof Sk.builtin.bytes))throw new Sk.builtin.TypeError("can't concat "+Sk.abstr.typeName(t)+" to bytes");const e=new Uint8Array(this.v.length+t.v.length);let n;for(n=0;nNumber.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;if(0>=t)return new Sk.builtin.bytes;t=new Uint8Array(e);let n=0;for(;n(t=Sk.misceval.asIndexOrThrow(t,"argument should be integer or bytes-like object, not {tp$name}"))||255(e=Sk.misceval.asIndexSized(e,Sk.builtin.OverflowError))?1/0:e,null!==(t=Sk.builtin.checkNone(t)?null:this.get$raw(t))&&!t.length)throw new Sk.builtin.ValueError("empty separator");return{sep:t,maxsplit:e}},find$left:u(!1),find$right:u(!0),find$subleft:function(t,e,n){n=n-t.length+1;let i=e;for(;it===this.v[i+e])))return i;i++}return-1},find$subright(t,e,n){let i=n-t.length;for(;i>=e;){if(t.every(((t,e)=>t===this.v[i+e])))return i;i--}return-1},$subtype_new(t,e){const n=new this.constructor;return t=Sk.builtin.bytes.prototype.tp$new(t,e),n.v=t.v,n},sk$asarray(){const t=[];return this.v.forEach((e=>{t.push(new Sk.builtin.int_(e))})),t},valueOf(){return this.v}},flags:{str$encode:r,$decode:a,check$encodeArgs:s},methods:{__getnewargs__:{$meth(){return new Sk.builtin.tuple(new Sk.builtin.bytes(this.v))},$flags:{NoArgs:!0},$textsig:null,$doc:null},capitalize:{$meth(){const t=this.v.length;if(0===t)return new Sk.builtin.bytes(this.v);const e=new Uint8Array(t);let n=this.v[0];e[0]=d(n)?n-32:n;for(let i=1;i copy of B\n\nReturn a copy of B with only its first character capitalized (ASCII)\nand the rest lower-cased."},center:{$meth:h("center",!1,!0),$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"B.center(width[, fillchar]) -> copy of B\n\nReturn B centered in a string of length width. Padding is\ndone using the specified fill character (default is a space)."},count:{$meth(t,e,n){t=this.get$tgt(t),({start:e,end:n}=Sk.builtin.slice.startEnd$wrt(this,e,n));let i=0;if("number"==typeof t)for(;et===this.v[s+e]))&&(i++,s+=t.length-1)}return new Sk.builtin.int_(i)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.count(sub[, start[, end]]) -> int\n\nReturn the number of non-overlapping occurrences of subsection sub in\nbytes B[start:end]. Optional arguments start and end are interpreted\nas in slice notation."},decode:{$meth:a,$flags:{NamedArgs:["encoding","errors"]},$textsig:"($self, /, encoding='utf-8', errors='strict')",$doc:"Decode the bytes using the codec registered for encoding.\n\n encoding\n The encoding with which to decode the bytes.\n errors\n The error handling scheme to use for the handling of decoding errors.\n The default is 'strict' meaning that decoding errors raise a\n UnicodeDecodeError. Other possible values are 'ignore' and 'replace'\n as well as any other name registered with codecs.register_error that\n can handle UnicodeDecodeErrors."},endswith:{$meth:l("endswith",((t,e)=>{const n=t.length-e.length;return 0<=n&&e.every(((e,i)=>e===t[n+i]))})),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.endswith(suffix[, start[, end]]) -> bool\n\nReturn True if B ends with the specified suffix, False otherwise.\nWith optional start, test B beginning at that position.\nWith optional end, stop comparing B at that position.\nsuffix can also be a tuple of bytes to try."},expandtabs:{$meth(t){t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError,"an integer is required (got type {tp$nam})");const e=[];let n=0;for(let s=0;s copy of B\n\nReturn a copy of B where all tab characters are expanded using spaces.\nIf tabsize is not given, a tab size of 8 characters is assumed."},find:{$meth:function(t,e,n){return new Sk.builtin.int_(this.find$left(t,e,n))},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.find(sub[, start[, end]]) -> int\n\nReturn the lowest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},hex:{$meth(){let t="";for(let e=0;e string\n\nCreate a string of hexadecimal numbers from a bytes object.\nExample: b'\\xb9\\x01\\xef'.hex() -> 'b901ef'."},index:{$meth:function(t,e,n){if(-1===(t=this.find$left(t,e,n)))throw new Sk.builtin.ValueError("subsection not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.index(sub[, start[, end]]) -> int\n\nReturn the lowest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaises ValueError when the subsection is not found."},isalnum:{$meth:g((t=>m(t)||d(t)||f(t))),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isalnum() -> bool\n\nReturn True if all characters in B are alphanumeric\nand there is at least one character in B, False otherwise."},isalpha:{$meth:g((t=>65<=t&&90>=t||97<=t&&122>=t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isalpha() -> bool\n\nReturn True if all characters in B are alphabetic\nand there is at least one character in B, False otherwise."},isascii:{$meth:g((t=>0<=t&&127>=t),!0),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isascii() -> bool\n\nReturn True if B is empty or all characters in B are ASCII,\nFalse otherwise."},isdigit:{$meth:g(m),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isdigit() -> bool\n\nReturn True if all characters in B are digits\nand there is at least one character in B, False otherwise."},islower:{$meth:b(d,f),$flags:{NoArgs:!0},$textsig:null,$doc:"B.islower() -> bool\n\nReturn True if all cased characters in B are lowercase and there is\nat least one cased character in B, False otherwise."},isspace:{$meth:g(_),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isspace() -> bool\n\nReturn True if all characters in B are whitespace\nand there is at least one character in B, False otherwise."},istitle:{$meth:function(){let t=!1,e=!1;for(let n=0;n bool\n\nReturn True if B is a titlecased string and there is at least one\ncharacter in B, i.e. uppercase characters may only follow uncased\ncharacters and lowercase characters only cased ones. Return False\notherwise."},isupper:{$meth:b(f,d),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isupper() -> bool\n\nReturn True if all cased characters in B are uppercase and there is\nat least one cased character in B, False otherwise."},join:{$meth(t){const e=[];let n=0;return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(!(t instanceof Sk.builtin.bytes))throw new Sk.builtin.TypeError("sequence item "+n+": expected a bytes-like object, "+Sk.abstr.typeName(t)+" found");n++,e.length&&e.push(...this.v),e.push(...t.v)})),(()=>new Sk.builtin.bytes(new Uint8Array(e))))},$flags:{OneArg:!0},$textsig:"($self, iterable_of_bytes, /)",$doc:"Concatenate any number of bytes objects.\n\nThe bytes whose method is called is inserted in between each pair.\n\nThe result is returned as a new bytes object.\n\nExample: b'.'.join([b'ab', b'pq', b'rs']) -> b'ab.pq.rs'."},ljust:{$meth:h("ljust",!1,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"B.ljust(width[, fillchar]) -> copy of B\n\nReturn B left justified in a string of length width. Padding is\ndone using the specified fill character (default is a space)."},lower:{$meth:S((t=>f(t)?t+32:t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.lower() -> copy of B\n\nReturn a copy of B with all ASCII characters converted to lowercase."},lstrip:{$meth:p(!0,!1),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, bytes=None, /)",$doc:"Strip leading bytes contained in the argument.\n\nIf the argument is omitted or None, strip leading ASCII whitespace."},partition:{$meth:c(!1),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the bytes into three parts using the given separator.\n\nThis will search for the separator sep in the bytes. If the separator is found,\nreturns a 3-tuple containing the part before the separator, the separator\nitself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing the original bytes\nobject and two empty bytes objects."},replace:{$meth(t,e,n){t=this.get$raw(t),e=this.get$raw(e),n=0>(n=void 0===n?-1:Sk.misceval.asIndexSized(n,Sk.builtin.OverflowError))?1/0:n;const i=[];let s=0;for(var r=0;r int\n\nReturn the highest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},rindex:{$meth:function(t,e,n){if(-1===(t=this.find$right(t,e,n)))throw new Sk.builtin.ValueError("subsection not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.rindex(sub[, start[, end]]) -> int\n\nReturn the highest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaise ValueError when the subsection is not found."},rjust:{$meth:h("rjust",!0,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"B.rjust(width[, fillchar]) -> copy of B\n\nReturn B right justified in a string of length width. Padding is\ndone using the specified fill character (default is a space)"},rpartition:{$meth:c(!0),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the bytes into three parts using the given separator.\n\nThis will search for the separator sep in the bytes, starting at the end. If\nthe separator is found, returns a 3-tuple containing the part before the\nseparator, the separator itself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing two empty bytes\nobjects and the original bytes object."},rsplit:{$meth:function(t,e){({sep:t,maxsplit:e}=this.get$splitArgs(t,e));const n=[];let i=0,s=this.v.length;if(null!==t){for(;0<=s&&is)break;for(t=s+1,s--;0<=s&&!_(this.v[s]);)s--;n.push(new Sk.builtin.bytes(this.v.subarray(s+1,t))),i++}if(0<=s){for(;_(this.v[s]);)s--;0<=s&&n.push(new Sk.builtin.bytes(this.v.subarray(0,s+1)))}}return new Sk.builtin.list(n.reverse())},$flags:{NamedArgs:["sep","maxsplit"],Defaults:[Sk.builtin.none.none$,-1]},$textsig:"($self, /, sep=None, maxsplit=-1)",$doc:"Return a list of the sections in the bytes, using sep as the delimiter.\n\n sep\n The delimiter according which to split the bytes.\n None (the default value) means split on ASCII whitespace characters\n (space, tab, return, newline, formfeed, vertical tab).\n maxsplit\n Maximum number of splits to do.\n -1 (the default value) means no limit.\n\nSplitting is done starting at the end of the bytes and working to the front."},rstrip:{$meth:p(!1,!0),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, bytes=None, /)",$doc:"Strip trailing bytes contained in the argument.\n\nIf the argument is omitted or None, strip trailing ASCII whitespace."},split:{$meth:function(t,e){({sep:t,maxsplit:e}=this.get$splitArgs(t,e));const n=[],i=this.v.length;let s=0,r=0;if(null!==t){for(;re.length<=t.length&&e.every(((e,n)=>e===t[n])))),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.startswith(prefix[, start[, end]]) -> bool\n\nReturn True if B starts with the specified prefix, False otherwise.\nWith optional start, test B beginning at that position.\nWith optional end, stop comparing B at that position.\nprefix can also be a tuple of bytes to try."},strip:{$meth:p(!0,!0),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, bytes=None, /)",$doc:"Strip leading and trailing bytes contained in the argument.\n\nIf the argument is omitted or None, strip leading and trailing ASCII whitespace."},swapcase:{$meth:S((t=>f(t)?t+32:d(t)?t-32:t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.swapcase() -> copy of B\n\nReturn a copy of B with uppercase ASCII characters converted\nto lowercase ASCII and vice versa."},title:{$meth(){const t=this.v.length,e=new Uint8Array(t);let n=!1;for(let i=0;i copy of B\n\nReturn a titlecased version of B, i.e. ASCII words start with uppercase\ncharacters, all remaining cased characters have lowercase."},upper:{$meth:S((t=>d(t)?t-32:t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.upper() -> copy of B\n\nReturn a copy of B with all ASCII characters converted to uppercase."},zfill:{$meth(t){const e=(t=Sk.misceval.asIndexSized(t,Sk.builtin.IndexError))-this.v.length;if(0>=e)return new Sk.builtin.bytes(this.v);const n=new Uint8Array(t);let i,s=0;for(43!==this.v[0]&&45!==this.v[0]||(n[0]=this.v[0],s++),n.fill(48,s,s+e),i=s,s+=e;s copy of B\n\nPad a numeric string B with zeros on the left, to fill a field\nof the specified width. B is never truncated."}},classmethods:{fromhex:{$meth:function(t){function e(e){for(let n=o;n b'\\\\xb9\\\\x01\\\\xef'."}}});var w=Sk.abstr.buildIteratorClass("bytes_iterator",{constructor:function(t){this.$index=0,this.$seq=t.v},iternext(){const t=this.$seq[this.$index++];if(void 0!==t)return new Sk.builtin.int_(t)},methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}});Sk.exportSymbol("Sk.builtin.bytes",Sk.builtin.bytes)},function(t,e,n){(function(t){!function(t){function e(){}function n(){}var i=String.fromCharCode,s={}.toString,r=s.call(t.SharedArrayBuffer),o=s(),a=t.Uint8Array,l=a||Array,u=a?ArrayBuffer:l,c=u.isView||function(t){return t&&"length"in t},p=s.call(u.prototype);u=n.prototype;var h=t.TextEncoder,_=new(a?Uint16Array:l)(32);e.prototype.decode=function(t){if(!c(t)){var e=s.call(t);if(e!==p&&e!==r&&e!==o)throw TypeError("Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'");t=a?new l(t):t||[]}for(var n,u,h,d=e="",f=0,m=0|t.length,g=m-32|0,b=0,S=0,k=0,y=-1;f>4){case 15:if(2!=(h=255&t[f=f+1|0])>>6||247>6?S+4|0:24,u=u+256&768;case 13:case 12:b<<=6,b|=(31&u)<<6|63&(h=255&t[f=f+1|0]),S=S+7|0,f>6&&b>>S&&1114112>b?(u=b,0<=(b=b-65536|0)&&(y=55296+(b>>10)|0,u=56320+(1023&b)|0,31>k?(_[k]=y,k=k+1|0,y=-1):(h=y,y=u,u=h))):(f=f-(u>>=8)-1|0,u=65533),b=S=0,n=f<=g?32:m-f|0;default:_[k]=u;continue;case 11:case 10:case 9:case 8:}_[k]=65533}if(d+=i(_[0],_[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>k&&(d=d.slice(0,k-32|0)),f>>31,y=-1,d.length=o)i[s]=o;else{if(2047>=o)i[s]=192|o>>6;else{t:{if(55296<=o)if(56319>=o){var u=0|t.charCodeAt(e=e+1|0);if(56320<=u&&57343>=u){if(65535<(o=(o<<10)+u-56613888|0)){i[s]=240|o>>18,i[s=s+1|0]=128|o>>12&63,i[s=s+1|0]=128|o>>6&63,i[s=s+1|0]=128|63&o;continue}break t}o=65533}else 57343>=o&&(o=65533);!r&&e<<1>12,i[s=s+1|0]=128|o>>6&63}i[s=s+1|0]=128|63&o}}return a?i.subarray(0,s):i.slice(0,s)},h||(t.TextDecoder=e,t.TextEncoder=n)}(void 0===t?"undefined"==typeof self?this:self:t)}).call(this,n(0))},function(t,e){Sk.builtin.tuple=Sk.abstr.buildNativeClass("tuple",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.tuple,"bad call to tuple, use 'new' with an Array of python objects"),this.v=t,this.in$repr=!1},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$doc:"Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.",$r(){if(this.in$repr)return new Sk.builtin.str("(...)");this.in$repr=!0;let t=this.v.map((t=>Sk.misceval.objectRepr(t)));return this.in$repr=!1,t=t.join(", "),1===this.v.length&&(t+=","),new Sk.builtin.str("("+t+")")},tp$new(t,e){return this!==Sk.builtin.tuple.prototype?this.$subtype_new(t,e):(Sk.abstr.checkNoKwargs("tuple",e),Sk.abstr.checkArgsLen("tuple",t,0,1),void 0===(t=t[0])?new Sk.builtin.tuple([]):t.constructor===Sk.builtin.tuple?t:Sk.misceval.chain(Sk.misceval.arrayFromIterable(t,!0),(t=>new Sk.builtin.tuple(t))))},tp$hash(){let t,e=3430008,n=1000003;const i=this.v.length;for(let s=0;s(t=Sk.misceval.asIndexSized(t,Sk.builtin.IndexError))&&(t=this.v.length+t),0>t||t>=this.v.length)throw new Sk.builtin.IndexError("tuple index out of range");return this.v[t]}if(t instanceof Sk.builtin.slice){const e=[];return t.sssiter$(this.v.length,(t=>{e.push(this.v[t])})),new Sk.builtin.tuple(e)}throw new Sk.builtin.TypeError("tuple indices must be integers or slices, not "+Sk.abstr.typeName(t))},sq$length(){return this.v.length},sq$repeat(t){if(1===(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError))&&this.constructor===Sk.builtin.tuple)return this;const e=[];for(let n=0;n(this.$seq=t.$items(),this.$version=t.$version,n&&(this.$seq=this.$seq.reverse()),this.tp$iternext=this.constructor.prototype.tp$iternext,this.tp$iternext())},iternext:e,methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0},proto:{next$item:a}})}function a(){if(this.$version!==this.$orig.$version){if(this.$seq.length!==this.$orig.get$size())throw new Sk.builtin.RuntimeError("dict changed size during iteration");throw new Sk.builtin.RuntimeError("dictionary keys changed during iteration")}return this.$seq[this.$index++]}Sk.builtin.dict=Sk.abstr.buildNativeClass("dict",{constructor:function(t){void 0===t&&(t=[]),Sk.asserts.assert(Array.isArray(t)&&0==t.length%2&&this instanceof Sk.builtin.dict,"bad call to dict constructor"),this.size=0,this.entries=Object.create(null),this.buckets={};for(let e=0;e new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)",$r(){if(this.in$repr)return new Sk.builtin.str("{...}");this.in$repr=!0;const t=this.$items().map((t=>{var[e,n]=t;return Sk.misceval.objectRepr(e)+": "+Sk.misceval.objectRepr(n)}));return this.in$repr=!1,new Sk.builtin.str("{"+t.join(", ")+"}")},tp$new:Sk.generic.new,tp$init(t,e){return this.update$common(t,e,"dict")},tp$iter(){return new h(this)},tp$richcompare(t,e){let n;if(!(t instanceof Sk.builtin.dict)||"Eq"!==e&&"NotEq"!==e)return Sk.builtin.NotImplemented.NotImplemented$;if(t===this)n=!0;else if(this.size!==t.size)n=!1;else{let e;n=this.$items().every((n=>{var[i,s]=n;return e=t.mp$lookup(i),void 0!==e&&(e===s||Sk.misceval.richCompareBool(s,e,"Eq"))}))}return"Eq"===e?n:!n},nb$or(t){if(!(t instanceof Sk.builtin.dict))return Sk.builtin.NotImplemented.NotImplemented$;const e=this.dict$copy();return e.dict$merge(t),e},nb$reflected_or(t){return t instanceof Sk.builtin.dict?((t=t.dict$copy()).dict$merge(this),t):Sk.builtin.NotImplemented.NotImplemented$},nb$inplace_or(t){return Sk.misceval.chain(this.update$onearg(t),(()=>this))},sq$length(){return this.get$size()},sq$contains(t){return void 0!==this.mp$lookup(t)},mp$subscript(t,e){var n=this.mp$lookup(t);if(void 0!==n)return n;if(void 0!==(n=Sk.abstr.lookupSpecial(this,Sk.builtin.str.$missing)))return t=Sk.misceval.callsimOrSuspendArray(n,[t]),e?t:Sk.misceval.retryOptionalSuspensionOrThrow(t);throw new Sk.builtin.KeyError(t)},mp$ass_subscript(t,e){if(void 0===e){if(void 0===this.pop$item(t))throw new Sk.builtin.KeyError(t)}else this.set$item(t,e)}},methods:{__reversed__:{$meth(){return new f(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a reverse iterator over the dict keys."},get:{$meth(t,e){return this.mp$lookup(t)||e||Sk.builtin.none.none$},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, key, default=None, /)",$doc:"Return the value for key if key is in the dictionary, else default."},setdefault:{$meth(t,e){let i;const s=n(t);return i="string"==typeof s?this.entries[s]:this.get$bucket_item(t,s),void 0!==i?i[1]:(e=e||Sk.builtin.none.none$,"string"==typeof s?this.entries[s]=[t,e]:this.set$bucket_item(t,e,s),this.size++,this.$version++,e)},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, key, default=None, /)",$doc:"Insert key with a value of default if key is not in the dictionary.\n\nReturn the value for key if key is in the dictionary, else default."},pop:{$meth(t,e){const n=this.pop$item(t);if(void 0!==n)return n[1];if(void 0!==e)return e;throw new Sk.builtin.KeyError(t)},$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"D.pop(k[,d]) -> v, remove specified key and return the corresponding value.\nIf key is not found, d is returned if given, otherwise KeyError is raised"},popitem:{$meth(){const t=this.get$size();if(0===t)throw new Sk.builtin.KeyError("popitem(): dictionary is empty");const[e,n]=this.$items()[t-1];return this.pop$item(e),new Sk.builtin.tuple([e,n])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.popitem() -> (k, v), remove and return some (key, value) pair as a\n2-tuple; but raise KeyError if D is empty."},keys:{$meth(){return new u(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.keys() -> a set-like object providing a view on D's keys"},items:{$meth(){return new p(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.items() -> a set-like object providing a view on D's items"},values:{$meth(){return new c(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.values() -> an object providing a view on D's values"},update:{$meth(t,e){return Sk.misceval.chain(this.update$common(t,e,"update"),(()=>Sk.builtin.none.none$))},$flags:{FastCall:!0},$textsig:null,$doc:"D.update([E, ]**F) -> None. Update D from dict/iterable E and F.\nIf E is present and has a .keys() method, then does: for k in E: D[k] = E[k]\nIf E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v\nIn either case, this is followed by: for k in F: D[k] = F[k]"},clear:{$meth(){this.size=0,this.$version++,this.entries=Object.create(null),this.buckets={}},$flags:{NoArgs:!0},$textsig:null,$doc:"D.clear() -> None. Remove all items from D."},copy:{$meth(){return this.dict$copy()},$flags:{NoArgs:!0},$textsig:null,$doc:"D.copy() -> a shallow copy of D"}},classmethods:Object.assign({fromkeys:{$meth:function(t,e){e=e||Sk.builtin.none.none$;let n=this===Sk.builtin.dict?new this:this.tp$call([],[]);return Sk.misceval.chain(n,(i=>(n=i,Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>n.mp$ass_subscript(t,e,!0))))),(()=>n))},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($type, iterable, value=None, /)",$doc:"Create a new dictionary with keys from iterable and values set to value."}},Sk.generic.classGetItem),proto:{quick$lookup:function(t){if(void 0!==(t=this.entries[t.$savedKeyHash]))return t[1]},mp$lookup:function(t){const e=n(t);if(void 0!==(t="string"==typeof e?this.entries[e]:this.get$bucket_item(t,e)))return t[1]},get$size(){return this.size},sk$asarray(){return Object.values(this.entries).map((t=>t[0]))},update$common:function(t,e,n){let i;return Sk.abstr.checkArgsLen(n,t,0,1),void 0!==(t=t[0])&&(i=this.update$onearg(t)),Sk.misceval.chain(i,(()=>{if(e)for(let t=0;tvoid 0===t))&&delete this.buckets[e],i},set$bucket_item:function(t,e,n){let i=this.buckets[n];t=[t,e],void 0===i?(this.buckets[n]=[t],n="#"+n+"_0"):-1!==(e=i.indexOf(void 0))?(n="#"+n+"_"+e,i[e]=t):(n="#"+n+"_"+i.length,i.push(t)),this.entries[n]=t},pop$item:function(t){const e=n(t);if("string"==typeof e?(t=this.entries[e],delete this.entries[e]):t=this.pop$bucket_item(t,e),void 0!==t)return this.size--,this.$version++,t},dict$merge:function(t){if(t.tp$iter!==Sk.builtin.dict.prototype.tp$iter){if(void 0===(e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$keys)))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not a mapping");return Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(e),(e=>Sk.misceval.iterFor(Sk.abstr.iter(e),(e=>Sk.misceval.chain(Sk.abstr.objectGetItem(t,e,!0),(t=>{this.set$item(e,t)}))))))}var e=t.tp$iter();for(let n=e.tp$iternext();void 0!==n;n=e.tp$iternext()){const e=t.mp$subscript(n);this.set$item(n,e)}},dict$merge_seq:function(t){let e=0;return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(!Sk.builtin.checkIterable(t))throw new Sk.builtin.TypeError("cannot convert dictionary update sequence element #"+e+" to a sequence");if(2!==(t=Sk.misceval.arrayFromIterable(t)).length)throw new Sk.builtin.ValueError("dictionary update sequence element #"+e+" has length "+t.length+"; 2 is required");this.set$item(t[0],t[1]),e++}))}}});const l={tp$getattr:Sk.generic.getAttr,tp$as_number:!0,tp$as_sequence_or_mapping:!0,tp$hash:Sk.builtin.none.none$,$r(){if(this.in$repr)return new Sk.builtin.str("...");this.in$repr=!0;let t=Sk.misceval.arrayFromIterable(this);return t=t.map((t=>Sk.misceval.objectRepr(t))),this.in$repr=!1,new Sk.builtin.str(Sk.abstr.typeName(this)+"(["+t.join(", ")+"])")},tp$richcompare(t,e){if(!(Sk.builtin.checkAnySet(t)||t instanceof u||t instanceof p))return Sk.builtin.NotImplemented.NotImplemented$;const n=this.sq$length(),i=t.sq$length();switch(e){case"NotEq":case"Eq":let r;return this===t?r=!0:n===i&&(r=s(this,t)),"NotEq"===e?!r:r;case"Lt":return ni&&s(t,this);case"GtE":return n>=i&&s(t,this)}},nb$subtract(t){const e=i(this);return e.difference.$meth.call(e,t)},nb$and(t){const e=i(this);return e.intersection.$meth.call(e,t)},nb$or(t){const e=i(this);return e.union.$meth.call(e,t)},nb$xor(t){const e=i(this);return e.symmetric_difference.$meth.call(e,t)},sq$length(){return this.dict.get$size()}};var u=r("dict_keys",{sq$contains(t){return void 0!==this.dict.mp$lookup(t)},tp$iter(){return new h(this.dict)}},(function(){return new f(this.dict)})),c=r("dict_values",{tp$iter(){return new d(this.dict)}},(function(){return new g(this.dict)})),p=r("dict_items",{sq$contains(t){if(!(t instanceof Sk.builtin.tuple&&2===t.sq$length()))return!1;var e=t.mp$subscript(new Sk.builtin.int_(0));return t=t.mp$subscript(new Sk.builtin.int_(1)),void 0!==(e=this.dict.mp$lookup(e))&&(e===t||Sk.misceval.richCompareBool(e,t,"Eq"))},tp$iter(){return new _(this.dict)}},(function(){return new m(this.dict)})),h=o("dict_keyiterator",(function(){const t=this.next$item();return t&&t[0]})),_=o("dict_itemiterator",(function(){const t=this.next$item();return t&&new Sk.builtin.tuple([t[0],t[1]])})),d=o("dict_valueiterator",(function(){const t=this.next$item();return t&&t[1]})),f=o("dict_reversekeyiterator",h.prototype.tp$iternext,!0),m=o("dict_reverseitemiterator",_.prototype.tp$iternext,!0),g=o("dict_reversevalueiterator",d.prototype.tp$iternext,!0);Sk.builtin.dict.py2$methods={has_key:{$name:"has_key",$flags:{OneArg:!0},$meth(t){return new Sk.builtin.bool(this.sq$contains(t))},$doc:"D.has_key(k) -> True if D has a key k, else False"},keys:{$name:"keys",$meth(){return new Sk.builtin.list(this.sk$asarray())},$flags:{NoArgs:!0},$textsig:null,$doc:"D.keys() -> a set-like object providing a view on D's keys"},items:{$name:"items",$meth(){return new Sk.builtin.list(this.$items().map((t=>{var[e,n]=t;return new Sk.builtin.tuple([e,n])})))},$flags:{NoArgs:!0},$textsig:null,$doc:"D.items() -> a set-like object providing a view on D's items"},values:{$name:"values",$meth(){return new Sk.builtin.list(this.$items().map((t=>([,t]=t,t))))},$flags:{NoArgs:!0},$textsig:null,$doc:"D.values() -> an object providing a view on D's values"}}},function(t,e){Sk.builtin.mappingproxy=Sk.abstr.buildNativeClass("mappingproxy",{constructor:function(t){if(Sk.asserts.assert(this instanceof Sk.builtin.mappingproxy,"bad call to mapping proxy, use 'new'"),void 0!==t){const e=t.constructor;e===Object||null===e||t.hasOwnProperty("sk$object")?(this.mapping=new Sk.builtin.dict([]),function(t,e){Object.defineProperties(t,{entries:{get:()=>{const t=Object.create(null);return Object.entries(e).forEach((e=>{var[n,i]=e;(n=Sk.unfixReserved(n)).includes("$")||(n=new Sk.builtin.str(n),t[n.$savedKeyHash]=[n,i])})),t},configurable:!0},size:{get:()=>Object.keys(e).map((t=>Sk.unfixReserved(t))).filter((t=>!t.includes("$"))).length,configurable:!0}})}(this.mapping,t)):Sk.builtin.checkMapping(t)?this.mapping=t:Sk.asserts.fail("unhandled case for mappingproxy")}},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$hash:Sk.builtin.none.none$,tp$new(t,e){if(Sk.abstr.checkNoKwargs("mappingproxy",e),Sk.abstr.checkOneArg("mappingproxy",t,e),t=t[0],!Sk.builtin.checkMapping(t))throw new Sk.builtin.TypeError("mappingproxy() argument must be a mapping, not "+Sk.abstr.typeName(t));return(e=new Sk.builtin.mappingproxy).mapping=t,e},tp$richcompare(t,e){return Sk.misceval.richCompareBool(this.mapping,t,e)},tp$str(){return this.mapping.tp$str()},$r(){return new Sk.builtin.str("mappingproxy("+Sk.misceval.objectRepr(this.mapping)+")")},mp$subscript(t,e){return this.mapping.mp$subscript(t,e)},sq$contains(t){return this.mapping.sq$contains(t)},sq$length(){return this.mapping.sq$length()},tp$iter(){return this.mapping.tp$iter()},tp$as_number:!0,nb$or(t){return t instanceof Sk.builtin.mappingproxy&&(t=t.mapping),Sk.abstr.numberBinOp(this.mapping,t,"BitOr")},nb$reflected_or(t){return t instanceof Sk.builtin.mappingproxy&&(t=t.mapping),Sk.abstr.numberBinOp(t,this.mapping,"BitOr")},nb$inplace_or(t){throw new Sk.builtin.TypeError("'|=' is not supported by "+Sk.abstr.typeName(this)+"; use '|' instead")}},methods:{get:{$meth(t,e){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$get),t,e)},$flags:{FastCall:!0},$textsig:null,$doc:"D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None."},keys:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$keys),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.keys() -> a set-like object providing a view on D's keys"},items:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$items),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.items() -> a set-like object providing a view on D's items"},values:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$values),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.values() -> a set-like object providing a view on D's values"},copy:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$copy),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.copy() -> a shallow copy of D"}},classmethods:Sk.generic.classGetItem,proto:{str$get:new Sk.builtin.str("get"),str$copy:new Sk.builtin.str("copy"),str$keys:new Sk.builtin.str("keys"),str$items:new Sk.builtin.str("items"),str$values:new Sk.builtin.str("values"),mp$lookup(t){return this.mapping.mp$lookup(t)}},flags:{sk$unacceptableBase:!0}})},function(t,e){Sk.builtin.property=Sk.abstr.buildNativeClass("property",{constructor:function(t,e,n,i){this.prop$get=t||Sk.builtin.none.none$,this.prop$set=e||Sk.builtin.none.none$,this.prop$del=n||Sk.builtin.none.none$,this.prop$doc=i||t&&t.$doc||Sk.builtin.none.none$},slots:{tp$getattr:Sk.generic.getAttr,tp$new:Sk.generic.new,tp$init(t,e){t=Sk.abstr.copyKeywordsToNamedArgs("property",["fget","fset","fdel","doc"],t,e,Array(4).fill(Sk.builtin.none.none$)),this.prop$get=t[0],this.prop$set=t[1],this.prop$del=t[2],Sk.builtin.checkNone(t[3])?Sk.builtin.checkNone(t[0])||(this.prop$doc=t[0].$doc||t[3]):this.prop$doc=t[3]},tp$doc:"Property attribute.\n\n fget\n function to be used for getting an attribute value\n fset\n function to be used for setting an attribute value\n fdel\n function to be used for del'ing an attribute\n doc\n docstring\n\nTypical use is to define a managed attribute x:\n\nclass C(object):\n def getx(self): return self._x\n def setx(self, value): self._x = value\n def delx(self): del self._x\n x = property(getx, setx, delx, 'I'm the 'x' property.')\n\nDecorators make defining new properties or modifying existing ones easy:\n\nclass C(object):\n @property\n def x(self):\n 'I am the 'x' property.'\n return self._x\n @x.setter\n def x(self, value):\n self._x = value\n @x.deleter\n def x(self):\n del self._x",tp$descr_get(t,e,n){if(null===t)return this;if(void 0===this.prop$get)throw new Sk.builtin.AttributeError("unreadable attribute");return t=Sk.misceval.callsimOrSuspendArray(this.prop$get,[t]),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t)},tp$descr_set(t,e,n){let i;if(i=null==e?this.prop$del:this.prop$set,Sk.builtin.checkNone(i))throw new Sk.builtin.AttributeError("can't "+(null==e?"delete":"set")+" attribute");if(!i.tp$call)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(i)+"' is not callable");return t=null==e?i.tp$call([t]):i.tp$call([t,e]),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t)}},methods:{getter:{$meth(t){return new Sk.builtin.property(t,this.prop$set,this.prop$del,this.prop$doc)},$flags:{OneArg:!0}},setter:{$meth(t){return new Sk.builtin.property(this.prop$get,t,this.prop$del,this.prop$doc)},$flags:{OneArg:!0}},deleter:{$meth(t){return new Sk.builtin.property(this.prop$get,this.prop$set,t,this.prop$doc)},$flags:{OneArg:!0}}},getsets:{fget:{$get(){return this.prop$get}},fset:{$get(){return this.prop$set}},fdel:{$get(){return this.prop$del}},__doc__:{$get(){return this.prop$doc},$set(t){this.prop$doc=t=t||Sk.builtin.none.none$}}}}),Sk.builtin.classmethod=Sk.abstr.buildNativeClass("classmethod",{constructor:function(t){this.cm$callable=t,this.$d=new Sk.builtin.dict},slots:{tp$getattr:Sk.generic.getAttr,tp$new:Sk.generic.new,tp$init(t,e){Sk.abstr.checkNoKwargs("classmethod",e),Sk.abstr.checkArgsLen("classmethod",t,1,1),this.cm$callable=t[0]},tp$doc:"classmethod(function) -> method\n\nConvert a function to be a class method.\n\nA class method receives the class as implicit first argument,\njust like an instance method receives the instance.\nTo declare a class method, use this idiom:\n\n class C:\n @classmethod\n def f(cls, arg1, arg2, ...):\n ...\n\nIt can be called either on the class (e.g. C.f()) or on an instance\n(e.g. C().f()). The instance is ignored except for its class.\nIf a class method is called for a derived class, the derived class\nobject is passed as the implied first argument.\n\nClass methods are different than C++ or Java static methods.\nIf you want those, see the staticmethod builtin.",tp$descr_get(t,e,n){const i=this.cm$callable;if(void 0===i)throw new Sk.builtin.RuntimeError("uninitialized classmethod object");return void 0===e&&(e=t.ob$type),(t=i.tp$descr_get)?t.call(i,e,n):new Sk.builtin.method(i,e)}},getsets:{__func__:{$get(){return this.cm$callable}},__dict__:Sk.generic.getSetDict}}),Sk.builtin.staticmethod=Sk.abstr.buildNativeClass("staticmethod",{constructor:function(t){this.sm$callable=t,this.$d=new Sk.builtin.dict},slots:{tp$getattr:Sk.generic.getAttr,tp$new:Sk.generic.new,tp$init(t,e){Sk.abstr.checkNoKwargs("staticmethod",e),Sk.abstr.checkArgsLen("staticmethod",t,1,1),this.sm$callable=t[0]},tp$doc:"staticmethod(function) -> method\n\nConvert a function to be a static method.\n\nA static method does not receive an implicit first argument.\nTo declare a static method, use this idiom:\n\n class C:\n @staticmethod\n def f(arg1, arg2, ...):\n ...\n\nIt can be called either on the class (e.g. C.f()) or on an instance\n(e.g. C().f()). The instance is ignored except for its class.\n\nStatic methods in Python are similar to those found in Java or C++.\nFor a more advanced concept, see the classmethod builtin.",tp$descr_get(t,e){if(void 0===this.sm$callable)throw new Sk.builtin.RuntimeError("uninitialized staticmethod object");return this.sm$callable}},getsets:{__func__:{$get(){return this.sm$callable}},__dict__:Sk.generic.getSetDict}})},function(t,e){function n(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;if(n=n.v,"number"==typeof i&&"number"==typeof n){const e=t(i,n);if(p(e))return new Sk.builtin.int_(e)}return i=_(i),n=_(n),new Sk.builtin.int_(e(i,n))}}function i(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;return n=n.v,"number"==typeof i&&"number"==typeof n?t(i,n):(i=_(i),n=_(n),e(i,n))}}function s(t,e){return function(){let n=this.v;if("number"==typeof n){const e=t(n);if(void 0!==e)return new Sk.builtin.int_(e);n=_(n)}return new Sk.builtin.int_(e(n))}}function r(){return new Sk.builtin.int_(this.v)}function o(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;if(0===(n=n.v))throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");return"number"==typeof i&&"number"==typeof n?new Sk.builtin.int_(t(i,n)):(i=_(i),n=_(n),new Sk.builtin.int_(JSBI.numberIfSafe(e(i,n))))}}function a(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;if(n.nb$isnegative())throw new Sk.builtin.ValueError("negative shift count");let i=this.v;if(0===i)return new Sk.builtin.int_(0);if(n=n.v,"number"==typeof i&&"number"==typeof n&&53>n){const e=t(i,n);if(void 0!==e)return new Sk.builtin.int_(e)}return i=_(i),n=_(n),new Sk.builtin.int_(e(i,n))}}function l(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;return n=n.v,"number"==typeof i&&"number"==typeof n&&Math.abs(i)=-Number.MAX_SAFE_INTEGER}function h(t){return t<=Number.MAX_SAFE_INTEGER&&t>=-Number.MAX_SAFE_INTEGER?+t:JSBI.BigInt(t)}function _(t){return"number"==typeof t?JSBI.BigInt(t):t}function d(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("'byteorder' must be str, not "+Sk.abstr.typeName(t));if("little"===(t=t.toString()))return 1;if("big"===t)return 0;throw new Sk.builtin.ValueError("byteorder must be either 'little' or 'big'")}Sk.builtin.int_=Sk.abstr.buildNativeClass("int",{constructor:function(t){let e;if(Sk.asserts.assert(this instanceof Sk.builtin.int_,"bad call to int use 'new'"),"number"==typeof t){if(-6t)return $[t];e=t}else if(JSBI.__isBigInt(t))e=t;else{if(void 0===t)return w;if("string"==typeof t)e=h(t);else{if(t.nb$int)return t.nb$int();Sk.asserts.fail("bad argument to int constructor")}}this.v=e},slots:{tp$as_number:!0,tp$doc:"int(x=0) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer literal.\n>>> int('0b100', base=0)\n4",$r(){return new Sk.builtin.str(this.v.toString())},tp$hash(){var t=this.v;if("number"==typeof t){if(-1===t)return-2;if(536870911>t&&-536870911t==e),JSBI.equal),ob$ne:i(((t,e)=>t!=e),JSBI.notEqual),ob$gt:i(((t,e)=>t>e),JSBI.greaterThan),ob$ge:i(((t,e)=>t>=e),JSBI.greaterThanOrEqual),ob$lt:i(((t,e)=>tt<=e),JSBI.lessThanOrEqual),nb$int:r,nb$index(){return this.v},nb$float(){var t=this.v;if("number"==typeof t)return new Sk.builtin.float_(t);if(1/0===(t=parseFloat(JSBI.toNumber(t)))||-1/0===t)throw new Sk.builtin.OverflowError("int too large to convert to float");return new Sk.builtin.float_(t)},nb$isnegative(){const t=this.v;return"number"==typeof t?0>t:JSBI.lessThan(t,JSBI.__ZERO)},nb$ispositive(){const t=this.v;return"number"==typeof t?0<=t:JSBI.greaterThanOrEqual(t,JSBI.__ZERO)},nb$bool(){return 0!==this.v},nb$positive:r,nb$negative:s((t=>-t),JSBI.unaryMinus),nb$add:n(((t,e)=>t+e),((t,e)=>JSBI.numberIfSafe(JSBI.add(t,e)))),nb$subtract:n(((t,e)=>t-e),((t,e)=>JSBI.numberIfSafe(JSBI.subtract(t,e)))),nb$multiply:n(((t,e)=>t*e),((t,e)=>t===JSBI.__ZERO||e===JSBI.__ZERO?0:JSBI.multiply(t,e))),nb$divide:function(t){if(!Sk.__future__.python3)return this.nb$floor_divide(t);if(!(t instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;var e=this.v,n=t.v;if(0===n)throw new Sk.builtin.ZeroDivisionError("division by zero");if("number"==typeof e&&"number"==typeof n)return new Sk.builtin.float_(e/n);if(e=_(e),n=_(n),t=JSBI.lessThan(JSBI.bitwiseXor(e,n),JSBI.__ZERO),JSBI.equal(e,JSBI.__ZERO))return new Sk.builtin.float_(t?-0:0);if(e=u(e),n=u(n),JSBI.greaterThanOrEqual(e,JSBI.multiply(k,n)))throw new Sk.builtin.OverflowError("int/int too large to represent as a float");var i=e.toString(2).length-n.toString(2).length,s=JSBI.BigInt(0>i?-i:i);if((0<=i&&JSBI.greaterThanOrEqual(e,JSBI.multiply(JSBI.exponentiate(b,s),n))||0>i&&JSBI.greaterThanOrEqual(JSBI.multiply(e,JSBI.exponentiate(b,s)),n))&&(i+=1),i=Math.max(i,g)-m,e=JSBI.leftShift(e,JSBI.BigInt(Math.max(-i,0))),n=JSBI.leftShift(n,JSBI.BigInt(Math.max(i,0))),s=JSBI.divide(e,n),e=JSBI.remainder(e,n),e=JSBI.multiply(b,e),(JSBI.greaterThan(e,n)||JSBI.equal(e,n)&&JSBI.equal(JSBI.remainder(s,b),S))&&(s=JSBI.add(s,S)),1/0===(s=JSBI.toNumber(s))||-1/0===s)throw new Sk.builtin.OverflowError("int/int too large to represent as a float");return n=s*Math.pow(2,i),new Sk.builtin.float_(t?-n:n)},nb$floor_divide:o(((t,e)=>Math.floor(t/e)),c),nb$remainder:o(((t,e)=>t-Math.floor(t/e)*e),((t,e)=>JSBI.subtract(t,JSBI.multiply(e,c(t,e))))),nb$divmod(t){const e=this.nb$floor_divide(t);return t=this.nb$remainder(t),e===Sk.builtin.NotImplemented.NotImplemented$||t===Sk.builtin.NotImplemented.NotImplemented$?Sk.builtin.NotImplemented.NotImplemented$:new Sk.builtin.tuple([e,t])},nb$and:l(((t,e)=>t&e),JSBI.bitwiseAnd),nb$or:l(((t,e)=>t|e),JSBI.bitwiseOr),nb$xor:l(((t,e)=>t^e),JSBI.bitwiseXor),nb$abs:s(Math.abs,u),nb$lshift:a(((t,e)=>{if(p(t=2*t*T[e]))return t}),JSBI.leftShift),nb$rshift:a(((t,e)=>{Math.floor(t/T[e+1])}),((t,e)=>JSBI.numberIfSafe(JSBI.signedRightShift(t,e)))),nb$invert:s((t=>Math.abs(t)JSBI.numberIfSafe(JSBI.bitwiseNot(t)))),nb$power(t,e){let n;if(void 0!==e&&Sk.builtin.checkNone(e)&&(e=void 0),!(t instanceof Sk.builtin.int_&&(void 0===e||e instanceof Sk.builtin.int_)))return Sk.builtin.NotImplemented.NotImplemented$;const i=t.nb$isnegative();if(i&&void 0===e)return this.nb$float().nb$power(t.nb$float());let s=this.v;if(t=t.v,"number"==typeof s&&"number"==typeof t){const i=Math.pow(s,t);if(p(i)&&(n=new Sk.builtin.int_(i),void 0===e))return n}if(void 0!==e){if(i)throw new Sk.builtin.ValueError("pow() 2nd argument cannot be negative when 3rd argument specified");if(0===e.v)throw new Sk.builtin.ValueError("pow() 3rd argument cannot be 0");return void 0!==n?n.nb$remainder(e):new Sk.builtin.int_(JSBI.numberIfSafe(JSBI.powermod(_(s),_(t),_(e.v))))}return new Sk.builtin.int_(JSBI.exponentiate(_(s),_(t)))},nb$long(){return new Sk.builtin.lng(this.v)}},getsets:{real:{$get:r,$doc:"the real part of a complex number"},imag:{$get:()=>w,$doc:"the imaginary part of a complex number"},numerator:{$get:r},denominator:{$get:()=>E}},classmethods:{from_bytes:{$meth(t,e){Sk.abstr.checkArgsLen("from_bytes",t,0,2);let[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("from_bytes",["bytes","byteorder","signed"],t,e,[Sk.builtin.bool.false$]);if(t=d(i),n instanceof Sk.builtin.bytes||(n=Sk.misceval.callsimArray(Sk.builtin.bytes,[n])),Sk.misceval.isTrue(s))throw new Sk.builtin.NotImplementedError("from_bytes with signed=True is not yet implemented in Skulpt");const r=[];return n.valueOf().forEach((t=>{r.push(t.toString(16).padStart(2,"0"))})),t&&r.reverse(),t=new Sk.builtin.int_(JSBI.numberIfSafe(JSBI.BigInt("0x"+(r.join("")||"0")))),this===Sk.builtin.int_?t:Sk.misceval.callsimArray(this,[t])},$flags:{FastCall:!0}}},methods:{conjugate:{$meth:r,$flags:{NoArgs:!0},$textsig:null,$doc:"Returns self, the complex conjugate of any int."},bit_length:{$meth(){let t=this.v;return 0===t?new Sk.builtin.int_(0):(t="number"==typeof t?Math.abs(t):u(t),new Sk.builtin.int_(t.toString(2).length))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Number of bits necessary to represent self in binary.\n\n>>> bin(37)\n'0b100101'\n>>> (37).bit_length()\n6"},to_bytes:{$meth(t,e){Sk.abstr.checkArgsLen("to_bytes",t,0,2);let[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("to_bytes",["length","byteorder","signed"],t,e,[Sk.builtin.bool.false$]);if(t=d(i),n=Sk.misceval.asIndexSized(n,Sk.builtin.OverflowError),0>n)throw new Sk.builtin.ValueError("length argument must be non-negative");if(Sk.misceval.isTrue(s))throw new Sk.builtin.NotImplementedError("to_bytes with signed=True is not yet implemented in Skulpt");if(this.nb$isnegative())throw new Sk.builtin.OverflowError("can't convert negative int to unsigned");(e=JSBI.BigInt(this.v).toString(16)).length%2&&(e="0"+e);var r=e.length/2;if(r>n){if(0===n&&"00"===e)return new Sk.builtin.bytes;throw new Sk.builtin.OverflowError("int too big to convert")}const o=Array(n).fill(0);r=n-r;let a=0;for(;rMath.abs(e)?new Sk.builtin.int_(0):Sk.__future__.bankers_rounding?(e/=t,n=Math.round(e),new Sk.builtin.int_((.5==(0e||36= 2 and <= 36");if("string"==typeof e&&(e=Number(e)),"0x"===t.substring(0,2).toLowerCase()){if(16===e||0===e)t=t.substring(2),e=16;else if(34>e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}else if("0b"===t.substring(0,2).toLowerCase()){if(2===e||0===e)t=t.substring(2),e=2;else if(12>e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}else if("0o"===t.substring(0,2).toLowerCase()){if(8===e||0===e)t=t.substring(2),e=8;else if(25>e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}else if("0"===t.charAt(0)){if("0"===t)return 0;8!==e&&0!==e||(e=8)}if(0===e&&(e=10),-1!==t.indexOf("_")){if(-1!==t.indexOf("__"))throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'");t=10!==e?t.replace(y,""):t.charAt(0)+t.substring(1).replace(y,"")}if(0===t.length)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'");for(n=0;n=r?o=r-48:65<=r&&90>=r?o=r-65+10:97<=r&&122>=r&&(o=r-97+10),o>=e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}if(s&&(t="-"+t),p(o=parseInt(t,e)))return o;for(i=!1,"-"===t[0]&&(i=!0,t=t.substring(1)),e=JSBI.BigInt(e),s=S,n=JSBI.__ZERO,r=t.length-1;0<=r;r--)48<=(o=t.charCodeAt(r))&&57>=o?o-=48:65<=o&&90>=o?o=o-65+10:97<=o&&122>=o&&(o=o-97+10),o=JSBI.multiply(JSBI.BigInt(o),s),n=JSBI.add(n,o),s=JSBI.multiply(s,e);return i&&(n=JSBI.multiply(n,JSBI.BigInt(-1))),n},Sk.builtin.int_.py2$methods={},Sk.longFromStr=function(t,e){return Sk.__future__.python3?new Sk.builtin.int_(h(t)):(t=Sk.str2number(t,e),new Sk.builtin.lng(t))},Sk.exportSymbol("Sk.longFromStr",Sk.longFromStr),Sk.builtin.int_.withinThreshold=p,Sk.builtin.int_.stringToNumberOrBig=h;const T=[.5,1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824,2147483648,4294967296,8589934592,17179869184,34359738368,68719476736,137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,8796093022208,17592186044416,35184372088832,70368744177664,0x800000000000,281474976710656,562949953421312,0x4000000000000,0x8000000000000,4503599627370496,9007199254740992];Sk.builtin.lng=Sk.abstr.buildNativeClass("long",{base:Sk.builtin.int_,constructor:function(t){void 0!==(t=Sk.builtin.int_.call(this,t))&&(this.v=t.v)},slots:{$r(){return new Sk.builtin.str(this.v.toString()+"L")},tp$as_number:!0,nb$negative(){return new Sk.builtin.lng(v.nb$negative.call(this).v)},nb$positive(){return new Sk.builtin.lng(v.nb$positive.call(this).v)}}});const v=Sk.builtin.int_.prototype,$=[];for(t=-5;257>t;t++)$[t]=Object.create(Sk.builtin.int_.prototype,{v:{value:t}});const w=$[0],E=$[1]},function(t,e){const n=Sk.builtin.int_.prototype;Sk.builtin.bool=Sk.abstr.buildNativeClass("bool",{constructor:function(t){return Sk.misceval.isTrue(t)?Sk.builtin.bool.true$:Sk.builtin.bool.false$},base:Sk.builtin.int_,slots:{tp$doc:"bool(x) -> bool\n\nReturns True when the argument x is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.",tp$new:(t,e)=>(Sk.abstr.checkNoKwargs("bool",e),Sk.abstr.checkArgsLen("bool",t,0,1),new Sk.builtin.bool(t[0])),$r(){return this.v?this.str$True:this.str$False},tp$as_number:!0,nb$and(t){return t.ob$type===Sk.builtin.bool?new Sk.builtin.bool(this.v&t.v):n.nb$and.call(this,t)},nb$or(t){return t.ob$type===Sk.builtin.bool?new Sk.builtin.bool(this.v|t.v):n.nb$or.call(this,t)},nb$xor(t){return t.ob$type===Sk.builtin.bool?new Sk.builtin.bool(this.v^t.v):n.nb$xor.call(this,t)}},flags:{sk$unacceptableBase:!0},methods:{__format__:{$meth(){return this.$r()},$flags:{OneArg:!0}}},proto:{str$False:new Sk.builtin.str("False"),str$True:new Sk.builtin.str("True"),valueOf(){return!!this.v}}}),Sk.exportSymbol("Sk.builtin.bool",Sk.builtin.bool),Sk.builtin.bool.true$=Object.create(Sk.builtin.bool.prototype,{v:{value:1,enumerable:!0}}),Sk.builtin.bool.false$=Object.create(Sk.builtin.bool.prototype,{v:{value:0,enumerable:!0}})},function(t,e){function n(t){const e=[t,0];if(0===t)return e;var n=Math.abs(t);let i=Math.max(-1023,Math.floor(Math.log2(n))+1);for(n*=Math.pow(2,-i);.5>n;)n*=2,i--;for(;1<=n;)n*=.5,i++;return 0>t&&(n=-n),e[0]=n,e[1]=i,e}function i(){return new Sk.builtin.float_(this.v)}function s(t){return function(e){const n=this.v;if("number"!=typeof(e=e.v)){if(!JSBI.__isBigInt(e))return Sk.builtin.NotImplemented.NotImplemented$;if(1/0==(e=parseFloat(JSBI.toNumber(e)))||-1/0==e)throw new Sk.builtin.OverflowError("int too large to convert to float")}return t(n,e)}}function r(t,e){return function(n){const i=this.v;if("number"!=typeof(n=n.v)){if(!JSBI.__isBigInt(n))return Sk.builtin.NotImplemented.NotImplemented$;if(void 0!==e)return e(i,n)}return t(i,n)}}function o(t){const e=s(t);return function(t,n){if(void 0!==n&&!Sk.builtin.checkNone(n))throw new Sk.builtin.TypeError("pow() 3rd argument not allowed unless all arguments are integers");return e.call(this,t)}}function a(t,e){if(0===e)throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");return 1/0===t?1/0===e||-1/0===t?new Sk.builtin.float_(NaN):0>e?new Sk.builtin.float_(-1/0):new Sk.builtin.float_(1/0):-1/0===t?1/0===e||-1/0===t?new Sk.builtin.float_(NaN):0>e?new Sk.builtin.float_(1/0):new Sk.builtin.float_(-1/0):new Sk.builtin.float_(t/e)}function l(t,e){if(1/0===t||-1/0===t)return new Sk.builtin.float_(NaN);if(0===e)throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");return 1/0===e?0>t?new Sk.builtin.float_(-1):new Sk.builtin.float_(0):-1/0===e?0>t||0!==t?new Sk.builtin.float_(0):new Sk.builtin.float_(-1):new Sk.builtin.float_(Math.floor(t/e))}function u(t,e){if(0===e)throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");if(0===t)return new Sk.builtin.float_(0);if(1/0===e)return 1/0===t||-1/0===t?new Sk.builtin.float_(NaN):0t?0n&&(n+=e):0>e&&0!==n&&(n+=e),0===n&&(0>e?n=-0:-1/0==1/0/n&&(n=0)),new Sk.builtin.float_(n)}function c(t,e){if(0>t&&0!=e%1)return new Sk.builtin.complex(t,0).nb$power(new Sk.builtin.complex(e,0));if(0===t&&0>e)throw new Sk.builtin.ZeroDivisionError("0.0 cannot be raised to a negative power");const n=Math.pow(t,e);if(1/0===Math.abs(n)&&1/0!==Math.abs(t)&&1/0!==Math.abs(e))throw new Sk.builtin.OverflowError("Numerical result out of range");return new Sk.builtin.float_(n)}Sk.builtin.float_=Sk.abstr.buildNativeClass("float",{constructor:function(t){if(Sk.asserts.assert(this instanceof Sk.builtin.float_,"bad call to float use 'new'"),"number"==typeof t)this.v=t;else if(void 0===t)this.v=0;else if("string"==typeof t)this.v=parseFloat(t);else{if(t.nb$float)return t.nb$float();Sk.asserts.fail("bad argument to float constructor")}},slots:{tp$getattr:Sk.generic.getAttr,tp$as_number:!0,tp$doc:"Convert a string or number to a floating point number, if possible.",tp$hash(){var t=this.v;if(!Number.isFinite(t))return Number.isNaN(t)?0:0e&&(t=-1,e=-e);let s,r=0;for(;e;)r=r<<28&536870911|r>>1,e*=268435456,i-=28,s=Math.trunc(e),e-=s,r+=s,536870911<=r&&(r-=536870911);return i=0<=i?i%29:28-(-1-i)%29,r=(r<>29-i)*t,-1===r?-2:r},$r(){return new Sk.builtin.str(this.str$(10,!0))},tp$new(t,e){if(e&&e.length)throw new Sk.builtin.TypeError("float() takes no keyword arguments");if(t&&1t?Math.ceil(t):Math.floor(t),Sk.builtin.int_.withinThreshold(t)?new Sk.builtin.int_(t):new Sk.builtin.int_(JSBI.BigInt(t))},nb$float:i,nb$long(){return new Sk.builtin.lng(this.nb$int().v)},nb$add:s(((t,e)=>new Sk.builtin.float_(t+e))),nb$subtract:s(((t,e)=>new Sk.builtin.float_(t-e))),nb$reflected_subtract:s(((t,e)=>new Sk.builtin.float_(e-t))),nb$multiply:s(((t,e)=>new Sk.builtin.float_(t*e))),nb$divide:s(a),nb$reflected_divide:s(((t,e)=>a(e,t))),nb$floor_divide:s(l),nb$reflected_floor_divide:s(((t,e)=>l(e,t))),nb$remainder:s(u),nb$reflected_remainder:s(((t,e)=>u(e,t))),nb$divmod:s(((t,e)=>new Sk.builtin.tuple([l(t,e),u(t,e)]))),nb$reflected_divmod:s(((t,e)=>new Sk.builtin.tuple([l(e,t),u(e,t)]))),nb$power:o(c),nb$reflected_power:o(((t,e)=>c(e,t))),nb$abs(){return new Sk.builtin.float_(Math.abs(this.v))},nb$negative(){return new Sk.builtin.float_(-this.v)},nb$positive(){return new Sk.builtin.float_(this.v)},nb$bool(){return 0!==this.v},nb$isnegative(){return 0>this.v},nb$ispositive(){return 0<=this.v},ob$eq:r(((t,e)=>t==e),JSBI.EQ),ob$ne:r(((t,e)=>t!=e),JSBI.NE),ob$gt:r(((t,e)=>t>e),JSBI.GT),ob$ge:r(((t,e)=>t>=e),JSBI.GE),ob$lt:r(((t,e)=>tt<=e),JSBI.LE)},getsets:{real:{$get:i,$doc:"the real part of a complex number"},imag:{$get:()=>new Sk.builtin.float_(0),$doc:"the imaginary part of a complex number"}},methods:{conjugate:{$meth:i,$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return self, the complex conjugate of any float."},__trunc__:{$meth(){return this.nb$int()},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return the Integral closest to x between 0 and x."},__round__:{$meth(t){return this.round$(t)},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, ndigits=None, /)",$doc:"Return the Integral closest to x, rounding half toward even.\n\nWhen an argument is passed, work like built-in round(x, ndigits)."},as_integer_ratio:{$meth(){if(!Number.isFinite(this.v)){if(Number.isNaN(this.v))throw new Sk.builtin.ValueError("cannot convert NaN to integer ratio");throw new Sk.builtin.OverflowError("cannot convert Infinity to integer ratio")}let[t,e]=n(this.v);for(var i=0;300>i&&t!=Math.floor(t);i++)t*=2,e--;i=new Sk.builtin.int_(Math.abs(e));let s=new Sk.builtin.int_(t),r=new Sk.builtin.int_(1);return 0>> (10.0).as_integer_ratio()\n(10, 1)\n>>> (0.0).as_integer_ratio()\n(0, 1)\n>>> (-.25).as_integer_ratio()\n(-1, 4)"},is_integer:{$meth(){return new Sk.builtin.bool(Number.isInteger(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if the float is an integer."},__getnewargs__:{$meth(){return new Sk.builtin.tuple([this])},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:Sk.builtin.none.none$},__format__:{$meth:Sk.formatting.mkNumber__format__(!0),$flags:{OneArg:!0},$textsig:"($self, format_spec, /)",$doc:Sk.builtin.none.none$}},proto:{valueOf(){return this.v}}});const p=/_[eE]|[eE]_|\._|_\.|[+-]_|__/,h=/_(?=[^_])/g;Sk.builtin.float_.PyFloat_Check=function(t){return void 0!==t&&!!(Sk.builtin.checkNumber(t)||Sk.builtin.checkFloat(t)||t.ob$type.$isSubType(Sk.builtin.float_))},Sk.builtin.float_.prototype.toFixed=function(t){return t=Sk.builtin.asnum$(t),this.v.toFixed(t)},Sk.builtin.float_.prototype.round$=function(t){var e=Sk.builtin.asnum$(this),n=void 0===t?0:Sk.misceval.asIndexSized(t);if(Sk.__future__.bankers_rounding){e*=Math.pow(10,n);var i=Math.round(e);return n=(.5==(0n.length?e.toExponential():e.toExponential(11)),0>n.indexOf("e")&&0<=n.indexOf(".")){for(;"0"==n.charAt(n.length-1);)n=n.substring(0,n.length-1);"."==n.charAt(n.length-1)&&(n+="0")}n=(n=(n=n.replace(/\.0+e/,"e","i")).replace(/(e[-+])([1-9])$/,"$10$2")).replace(/0+(e.*)/,"$1")}else n=e.toString(t);return 0===this.v&&-1/0==1/this.v&&(n="-"+n),0>n.indexOf(".")&&0>n.indexOf("E")&&0>n.indexOf("e")&&(n+=".0"),n},Sk.builtin.float_.py2$methods={}},function(t,e){function n(t){let e=t.v;if("number"==typeof e)return e;if(t.nb$float&&(e=t.nb$float()),void 0===e)throw new Sk.builtin.TypeError("a float is required");return e.v}function i(t,e,n){return n===Sk.builtin.complex.prototype?new Sk.builtin.complex(t,e):(n=new n.constructor,Sk.builtin.complex.call(n,t,e),n)}function s(t,e){return function(n){const i=this.real,s=this.imag;var r=n.real;const o=n.v;if("number"==typeof r)n=n.imag;else if("number"==typeof o)r=o,n=0;else{if(!JSBI.__isBigInt(o))return Sk.builtin.NotImplemented.NotImplemented$;if(void 0===e){if(1/0==(r=parseFloat(JSBI.toNumber(o)))||-1/0==r)throw new Sk.builtin.OverflowError("int too large to convert to float")}else r=o.toString();n=0}return t(i,s,r,n)}}function r(t,e,n,i){var s=Math.abs(n);const r=Math.abs(i);if(s>=r){if(0===s)throw new Sk.builtin.ZeroDivisionError("complex division by zero");i=(t+e*(s=i/n))/(n+=i*s),t=(e-t*s)/n}else r>=s?(n=n*(s=n/i)+i,Sk.asserts.assert(0!==i),i=(t*s+e)/n,t=(e*s-t)/n):t=i=NaN;return new Sk.builtin.complex(i,t)}function o(t,e,n,i){if(0===n&&0===i){i=1;var s=0}else if(0===t&&0===e){if(0!==i||0>n)throw new Sk.builtin.ZeroDivisionError("complex division by zero");s=i=0}else{const r=Math.hypot(t,e);s=Math.pow(r,n),n*=t=Math.atan2(e,t),0!==i&&(s/=Math.exp(t*i),n+=i*Math.log(r)),i=s*Math.cos(n),s*=Math.sin(n)}return new Sk.builtin.complex(i,s)}function a(t,e,n){let i=1;var s=new Sk.builtin.complex(1,0);for(t=new Sk.builtin.complex(t,e);0=i;)n&i&&(s=new Sk.builtin.complex(s.real*t.real-s.imag*t.imag,s.real*t.imag+t.real*s.imag)),i<<=1,t=new Sk.builtin.complex(t.real*t.real-t.imag*t.imag,2*t.real*t.imag);return s}function l(t,e,n,i,s){switch(s=!1,e){case"e":case"f":case"g":break;case"E":s=!0,e="e";break;case"F":s=!0,e="f";break;case"r":if(0!==n)throw Error("Bad internall call");n=17,e="g";break;default:throw Error("Bad internall call")}if(isNaN(t))t="nan";else if(1/0===t)t="inf";else if(-1/0===t)t="-inf";else{i&l.Py_DTSF_ADD_DOT_0&&(e="g");var r="%"+(i&l.Py_DTSF_ALT?"#":"");null!=n&&(r=r+"."+n),t=(t=(r=new Sk.builtin.str(r+e)).nb$remainder(new Sk.builtin.float_(t))).v}return i&l.Py_DTSF_SIGN&&"-"!==t[0]&&(t="+"+t),s&&(t=t.toUpperCase()),t}Sk.builtin.complex=Sk.abstr.buildNativeClass("complex",{constructor:function(t,e){Sk.asserts.assert(this instanceof Sk.builtin.complex,"bad call to complex constructor, use 'new'"),this.real=t,this.imag=e},slots:{tp$as_number:!0,tp$doc:"Create a complex number from a real part and an optional imaginary part.\n\nThis is equivalent to (real + imag*1j) where imag defaults to 0.",tp$hash(){var t=new Sk.builtin.float_(this.real).tp$hash();return t=1003*new Sk.builtin.float_(this.imag).tp$hash()+t,Sk.builtin.int_.withinThreshold(t)?t:new Sk.builtin.int_(JSBI.BigInt(t)).tp$hash()},tp$getattr:Sk.generic.getAttr,tp$new(t,e){{var s,r=(t=Sk.abstr.copyKeywordsToNamedArgs("complex",["real","imag"],t,e,[null,null]))[1];let a=e=!1;var o=t[0];if(null!=o&&o.constructor===Sk.builtin.complex&&null==r)e=o;else if(Sk.builtin.checkString(o)){if(null!=r)throw new Sk.builtin.TypeError("complex() can't take second arg if first is a string");e=Sk.builtin.complex.complex_subtype_from_string(o,this)}else{if(null!=r&&Sk.builtin.checkString(r))throw new Sk.builtin.TypeError("complex() second arg can't be a string");if(null==o?t=null:t=void 0!==(t=Sk.abstr.lookupSpecial(o,Sk.builtin.str.$complex))?Sk.misceval.callsimArray(t,[]):null,null!=t&&t!==Sk.builtin.NotImplemented.NotImplemented$){if(!u(t))throw new Sk.builtin.TypeError("__complex__ should return a complex object");o=t}if(null!=o&&void 0===o.nb$float)throw new Sk.builtin.TypeError("complex() first argument must be a string or a number, not '"+Sk.abstr.typeName(o)+"'");if(null!=r&&void 0===r.nb$float)throw new Sk.builtin.TypeError("complex() second argument must be a number, not '"+Sk.abstr.typeName(o)+"'");null==o?o=t=0:u(o)?(t=o.real,o=o.imag,e=!0):(t=n(o),o=0),null==r?r=s=0:u(r)?(s=r.real,r=r.imag,a=!0):(s=n(r),r=0),!0===a&&(t-=r),!0===e&&(s+=o),e=i(t,s,this)}}return e},tp$richcompare(t,e){if("Eq"!==e&&"NotEq"!==e){if(Sk.builtin.checkNumber(t)||u(t))throw new Sk.builtin.TypeError("no ordering relation is defined for complex numbers");return Sk.builtin.NotImplemented.NotImplemented$}return s((function(t,n,i,s){return t=t==i&&n==s,"Eq"===e?t:!t}),!0).call(this,t)},$r(){{var t,e;let s=t="";var n=this.real,i=this.imag;(e=0===n)&&(e=1==(n?0>n?-1:1:0>1/n?-1:1)),e?(n="",e=l(i,"g",null,0,null)):(n=t=l(n,"g",null,0,null),e=l(i,"g",null,l.Py_DTSF_SIGN,null),0===i&&-1/0==1/i&&e&&"-"!==e[0]&&(e="-"+e),t="(",s=")"),i=new Sk.builtin.str(""+t+n+e+"j"+s)}return i},nb$int(){throw new Sk.builtin.TypeError("can't convert complex to int")},nb$long(){throw new Sk.builtin.TypeError("can't convert complex to long")},nb$float(){throw new Sk.builtin.TypeError("can't convert complex to float")},nb$positive(){return new Sk.builtin.complex(this.real,this.imag)},nb$negative(){return new Sk.builtin.complex(-this.real,-this.imag)},nb$bool(){return this.real||this.imag},nb$add:s(((t,e,n,i)=>new Sk.builtin.complex(t+n,e+i))),nb$subtract:s(((t,e,n,i)=>new Sk.builtin.complex(t-n,e-i))),nb$reflected_subtract:s(((t,e,n,i)=>new Sk.builtin.complex(n-t,i-e))),nb$multiply:s(((t,e,n,i)=>new Sk.builtin.complex(n*t-i*e,t*i+e*n))),nb$divide:s(r),nb$reflected_divide:s(((t,e,n,i)=>r(n,i,t,e))),nb$floor_divide(t){throw new Sk.builtin.TypeError("can't take floor of complex number.")},nb$reflected_floor_divide(t){throw new Sk.builtin.TypeError("can't take floor of complex number.")},nb$remainder(t){throw new Sk.builtin.TypeError("can't mod complex numbers.")},nb$reflected_remainder(t){throw new Sk.builtin.TypeError("can't mod complex numbers.")},nb$divmod(t){throw new Sk.builtin.TypeError("can't take floor or mod of complex number.")},nb$power(t,e){if(null!=e&&!Sk.builtin.checkNone(e))throw new Sk.builtin.ValueError("complex modulo");return _.call(this,t)},nb$reflected_power(t,e){if(null!=e&&!Sk.builtin.checkNone(e))throw new Sk.builtin.ValueError("complex modulo");return d.call(this,t)},nb$abs(){var t=this.real;const e=this.imag;if(!Number.isFinite(t)||!Number.isFinite(e))return 1/0===t||-1/0===t?new Sk.builtin.float_(Math.abs(t)):1/0===e||-1/0===e?new Sk.builtin.float_(Math.abs(e)):new Sk.builtin.float_(NaN);if(t=Math.hypot(t,e),!Number.isFinite(t))throw new Sk.builtin.OverflowError("absolute value too large");return new Sk.builtin.float_(t)}},getsets:{real:{$get(){return new Sk.builtin.float_(this.real)},$doc:"the real part of a complex number"},imag:{$get(){return new Sk.builtin.float_(this.imag)},$doc:"the imaginary part of a complex number"}},methods:{conjugate:{$meth(){return new Sk.builtin.complex(this.real,-this.imag)},$flags:{NoArgs:!0},$textsig:null,$doc:"complex.conjugate() -> complex\n\nReturn the complex conjugate of its argument. (3-4j).conjugate() == 3+4j."},__getnewargs__:{$meth(){return new Sk.builtin.tuple([new Sk.builtin.float_(this.real),new Sk.builtin.float_(this.imag)])},$flags:{NoArgs:!0},$textsig:null,$doc:Sk.builtin.none.none$},__format__:{$meth(t){if(Sk.builtin.checkString(t))throw new Sk.builtin.NotImplementedError("__format__ is not implemented for complex type.");throw new Sk.builtin.TypeError("__format__ requires str")},$flags:{OneArg:!0},$textsig:null,$doc:"complex.__format__() -> str\n\nConvert to a string according to format_spec."}}}),Sk.exportSymbol("Sk.builtin.complex",Sk.builtin.complex);const u=Sk.builtin.checkComplex,c=/_[eE]|[eE]_|\._|_\.|[+-]_|_j|j_/,p=/_(?=[^_])/g;Sk.builtin.complex.complex_subtype_from_string=function(t,e){e=e||Sk.builtin.complex.prototype;var n=0,s=0,r=!1;if(Sk.builtin.checkString(t))t=Sk.ffi.remapToJs(t);else if("string"!=typeof t)throw new TypeError("provided unsupported string-alike argument");if(-1!==t.indexOf("\0")||0===t.length||""===t)throw new Sk.builtin.ValueError("complex() arg is a malformed string");var o=0;for(t=(t=t.replace(/inf|infinity/gi,"Infinity")).replace(/nan/gi,"NaN");" "===t[o];)o++;if("("===t[o])for(r=!0,o++;" "===t[o];)o++;if(-1!==t.indexOf("_")){if(c.test(t))throw new Sk.builtin.ValueError("could not convert string to complex: '"+t+"'");t=t.charAt(0)+t.substring(1).replace(p,"")}var a=/^(?:[+-]?(?:(?:(?:\d*\.\d+)|(?:\d+\.?))(?:[eE][+-]?\d+)?|NaN|Infinity))/,l=t.substr(o),u=l.match(a);if(null!==u)if("j"===t[o+=u[0].length]||"J"===t[o])s=parseFloat(u[0]),o++;else if("+"===t[o]||"-"===t[o]){if(n=parseFloat(u[0]),null!==(u=t.substr(o).match(a))?(s=parseFloat(u[0]),o+=u[0].length):(s="+"===t[o]?1:-1,o++),"j"!==t[o]&&"J"!==t[o])throw new Sk.builtin.ValueError("complex() arg is malformed string");o++}else n=parseFloat(u[0]);else null!==(u=u=l.match(/^([+-]?[jJ])/))&&(s=1===u[0].length||"+"===u[0][0]?1:-1,o+=u[0].length);for(;" "===t[o];)o++;if(r){if(")"!==t[o])throw new Sk.builtin.ValueError("complex() arg is malformed string");for(o++;" "===t[o];)o++}if(t.length!==o)throw new Sk.builtin.ValueError("complex() arg is malformed string");return i(n,s,e)};const h=(t,e,n,i)=>{const s=0|n;return 0===i&&n===s?(100s?t=o(t,e,s,0):0h(n,i,t,e)));l.Py_DTSF_SIGN=1,l.Py_DTSF_ADD_DOT_0=2,l.Py_DTSF_ALT=4,l.Py_DTST_FINITE=0,l.Py_DTST_INFINITE=1,l.Py_DTST_NAN=2},function(t,e){Sk.builtin.slice=Sk.abstr.buildNativeClass("slice",{constructor:function(t,e,n){void 0===e&&void 0===n&&(e=t,t=Sk.builtin.none.none$),void 0===e&&(e=Sk.builtin.none.none$),void 0===n&&(n=Sk.builtin.none.none$),this.start=t,this.stop=e,this.step=n},slots:{tp$getattr:Sk.generic.getAttr,tp$doc:"slice(stop)\nslice(start, stop[, step])\n\nCreate a slice object. This is used for extended slicing (e.g. a[0:10:2]).",tp$hash:Sk.builtin.none.none$,tp$new:(t,e)=>(Sk.abstr.checkNoKwargs("slice",e),Sk.abstr.checkArgsLen("slice",t,1,3),new Sk.builtin.slice(...t)),$r(){const t=Sk.misceval.objectRepr(this.start),e=Sk.misceval.objectRepr(this.stop),n=Sk.misceval.objectRepr(this.step);return new Sk.builtin.str("slice("+t+", "+e+", "+n+")")},tp$richcompare(t,e){if(t.ob$type!==Sk.builtin.slice)return Sk.builtin.NotImplemented.NotImplemented$;const n=new Sk.builtin.tuple([this.start,this.stop,this.step]);return t=new Sk.builtin.tuple([t.start,t.stop,t.step]),n.tp$richcompare(t,e)}},getsets:{start:{$get(){return this.start}},step:{$get(){return this.step}},stop:{$get(){return this.stop}}},methods:{indices:{$meth:function(t){if(0>(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError)))throw new Sk.builtin.TypeError("length should not be negative");const{start:e,stop:n,step:i}=this.slice$indices(t);return new Sk.builtin.tuple([new Sk.builtin.int_(e),new Sk.builtin.int_(n),new Sk.builtin.int_(i)])},$doc:"S.indices(len) -> (start, stop, stride)\n\nAssuming a sequence of length len, calculate the start and stop\nindices, and the stride length of the extended slice described by\nS. Out of bounds indices are clipped in a manner consistent with the\nhandling of normal slices.",$textsig:null,$flags:{OneArg:!0}}},proto:{slice$as_indices(t){let e;var n=t?t=>Sk.misceval.asIndexSized(t,null,"slice indices must be integers or None or have an __index__ method"):t=>Sk.misceval.asIndexOrThrow(t,"slice indices must be integers or None or have an __index__ method");if(Sk.builtin.checkNone(this.step))e=1;else if(e=n(this.step),0===e)throw new Sk.builtin.ValueError("slice step cannot be zero");return{start:t=Sk.builtin.checkNone(this.start)?null:n(this.start),stop:n=Sk.builtin.checkNone(this.stop)?null:n(this.stop),step:e}},$wrt:(t,e,n,i,s)=>(s=s?e=>JSBI.__isBigInt(e)?JSBI.add(e,JSBI.BigInt(t)):e+t:e=>e+t,0e&&(0>(e=s(e))&&(e=0)),null===n||n>t?n=t:0>n&&(n=s(n))):(null===e||e>=t?e=t-1:0>e&&(e=s(e)),null===n?n=-1:0>n&&(0>(n=s(n))&&(n=-1))),{start:e,stop:n,step:i}),slice$indices(t,e){let{start:n,stop:i,step:s}=this.slice$as_indices(!0,e);return this.$wrt(t,n,i,s,e)},sssiter$(t,e){let{start:n,stop:i,step:s}=this.slice$indices(t,!0);if(0i;t+=s)e(t)}},flags:{sk$unacceptableBase:!0}}),Sk.builtin.slice.startEnd$wrt=function(t,e,n){return t=t.sq$length(),void 0===e||Sk.builtin.checkNone(e)?e=0:0>(e=Sk.misceval.asIndexSized(e,null,"slice indices must be integers or have an __index__ method"))&&(0>(e+=t)&&(e=0)),void 0===n||Sk.builtin.checkNone(n)?n=t:0>(n=Sk.misceval.asIndexSized(n,null,"slice indices must be integers or have an __index__ method"))?0>(n+=t)&&(n=0):n>t&&(n=t),{start:e,end:n}}},function(t,e){function n(t){return function(e){return Sk.builtin.checkAnySet(e)?t.call(this,e):Sk.builtin.NotImplemented.NotImplemented$}}function i(t){return t instanceof Sk.builtin.set&&t.tp$hash===Sk.builtin.none.none$&&(t=new Sk.builtin.frozenset(Sk.misceval.arrayFromIterable(t))),t}t={},Sk.builtin.set=Sk.abstr.buildNativeClass("set",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.set,"Bad call to set - must be called with an Array and 'new'");const e=[];for(let n=0;n new empty set object\nset(iterable) -> new set object\n\nBuild an unordered collection of unique elements.",tp$init(t,e){return Sk.abstr.checkNoKwargs("set",e),Sk.abstr.checkArgsLen("set",t,0,1),this.set$clear(),(t=t[0])&&this.set$update(t)},tp$new:Sk.generic.new,$r(){if(this.in$repr)return new Sk.builtin.str(Sk.abstr.typeName(this)+"(...)");this.in$repr=!0;const t=this.sk$asarray().map((t=>Sk.misceval.objectRepr(t)));return this.in$repr=!1,Sk.__future__.python3?0===t.length?new Sk.builtin.str(Sk.abstr.typeName(this)+"()"):this.ob$type!==Sk.builtin.set?new Sk.builtin.str(Sk.abstr.typeName(this)+"({"+t.join(", ")+"})"):new Sk.builtin.str("{"+t.join(", ")+"}"):new Sk.builtin.str(Sk.abstr.typeName(this)+"(["+t.join(", ")+"])")},tp$iter(){return new s(this)},tp$richcompare(t,e){if(!Sk.builtin.checkAnySet(t))return Sk.builtin.NotImplemented.NotImplemented$;switch(e){case"NotEq":case"Eq":return t=this===t||this.get$size()===t.get$size()&&Sk.misceval.isTrue(this.set$issubset(t)),"Eq"===e?t:!t;case"LtE":return this===t||Sk.misceval.isTrue(this.set$issubset(t));case"GtE":return this===t||Sk.misceval.isTrue(t.set$issubset(this));case"Lt":return this.get$size()t.get$size()&&Sk.misceval.isTrue(t.set$issubset(this))}},nb$subtract:n((function(t){return this.difference.$meth.call(this,t)})),nb$and:n((function(t){return this.intersection.$meth.call(this,t)})),nb$or:n((function(t){return this.union.$meth.call(this,t)})),nb$xor:n((function(t){return this.symmetric_difference.$meth.call(this,t)})),nb$inplace_subtract:n((function(t){return t===this&&(t=t.set$copy()),Sk.misceval.chain(this.difference_update.$meth.call(this,t),(()=>this))})),nb$inplace_and:n((function(t){return Sk.misceval.chain(this.intersection_update.$meth.call(this,t),(()=>this))})),nb$inplace_or:n((function(t){return Sk.misceval.chain(this.update.$meth.call(this,t),(()=>this))})),nb$inplace_xor:n((function(t){return t===this&&(t=t.set$copy()),Sk.misceval.chain(this.symmetric_difference_update.$meth.call(this,t),(()=>this))})),sq$length(){return this.get$size()},sq$contains(t){return t=i(t),this.v.sq$contains(t)}},methods:{add:{$meth(t){return this.set$add(t),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Add an element to a set.\n\nThis has no effect if the element is already present."},clear:{$meth(){return this.set$clear(),Sk.builtin.none.none$},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove all elements from this set."},copy:{$meth(){return this.set$copy()},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a shallow copy of a set."},discard:{$meth(t){return t=i(t),this.set$discard(t),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Remove an element from a set if it is a member.\n\nIf the element is not a member, do nothing."},difference:{$meth(...t){const e=this.set$copy();return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>e.set$difference_update(t))),(()=>e))},$flags:{MinArgs:0},$textsig:null,$doc:"Return the difference of two or more sets as a new set.\n\n(i.e. all elements that are in this set but not the others.)"},difference_update:{$meth(...t){return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>this.set$difference_update(t))),(()=>Sk.builtin.none.none$))},$flags:{MinArgs:0},$textsig:null,$doc:"Remove all elements of another set from this set."},intersection:{$meth(...t){return this.set$intersection_multi(...t)},$flags:{MinArgs:0},$textsig:null,$doc:"Return the intersection of two sets as a new set.\n\n(i.e. all elements that are in both sets.)"},intersection_update:{$meth(...t){return Sk.misceval.chain(this.set$intersection_multi(...t),(t=>(this.swap$bodies(t),Sk.builtin.none.none$)))},$flags:{MinArgs:0},$textsig:null,$doc:"Update a set with the intersection of itself and another."},isdisjoint:{$meth(t){return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(this.sq$contains(t))return new Sk.misceval.Break(Sk.builtin.bool.false$)})),(t=>t||Sk.builtin.bool.true$))},$flags:{OneArg:!0},$textsig:null,$doc:"Return True if two sets have a null intersection."},issubset:{$meth(t){return Sk.builtin.checkAnySet(t)||(t=this.set$make_basetype(t)),Sk.misceval.chain(t,(t=>this.set$issubset(t)))},$flags:{OneArg:!0},$textsig:null,$doc:"Report whether another set contains this set."},issuperset:{$meth(t){return Sk.builtin.checkAnySet(t)||(t=this.set$make_basetype(t)),Sk.misceval.chain(t,(t=>t.set$issubset(this)))},$flags:{OneArg:!0},$textsig:null,$doc:"Report whether this set contains another set."},pop:{$meth(){if(0===this.get$size())throw new Sk.builtin.KeyError("pop from an empty set");return Sk.misceval.callsimArray(this.v.popitem,[this.v]).v[0]},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove and return an arbitrary set element.\nRaises KeyError if the set is empty."},remove:{$meth(t){const e=i(t);if(this.v.mp$lookup(e))return this.v.mp$ass_subscript(e),Sk.builtin.none.none$;throw new Sk.builtin.KeyError(t)},$flags:{OneArg:!0},$textsig:null,$doc:"Remove an element from a set; it must be a member.\n\nIf the element is not a member, raise a KeyError."},symmetric_difference:{$meth(t){let e;return Sk.misceval.chain(this.set$make_basetype(t),(t=>(e=t,e.set$symmetric_diff_update(this))),(()=>e))},$flags:{OneArg:!0},$textsig:null,$doc:"Return the symmetric difference of two sets as a new set.\n\n(i.e. all elements that are in exactly one of the sets.)"},symmetric_difference_update:{$meth(t){return Sk.builtin.checkAnySet(t)||(t=this.set$make_basetype(t)),Sk.misceval.chain(t,(t=>this.set$symmetric_diff_update(t)),(()=>Sk.builtin.none.none$))},$flags:{OneArg:!0},$textsig:null,$doc:"Update a set with the symmetric difference of itself and another."},union:{$meth(...t){const e=this.set$copy();return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>e.set$update(t))),(()=>e))},$flags:{MinArgs:0},$textsig:null,$doc:"Return the union of sets as a new set.\n\n(i.e. all elements that are in either set.)"},update:{$meth(...t){return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>this.set$update(t))),(()=>Sk.builtin.none.none$))},$flags:{MinArgs:0},$textsig:null,$doc:"Update a set with the union of itself and others."}},classmethods:Sk.generic.classGetItem,proto:Object.assign(t,{sk$asarray(){return this.v.sk$asarray()},get$size(){return this.v.sq$length()},set$add(t){this.v.mp$ass_subscript(t,!0)},set$make_basetype(t){return Sk.misceval.chain(Sk.misceval.arrayFromIterable(t,!0),(t=>new this.sk$builtinBase(t)))},set$discard(t){return this.v.pop$item(t)},set$clear(){this.v=new Sk.builtin.dict([])},set$copy(){const t=new this.sk$builtinBase;return t.v=this.v.dict$copy(),t},set$difference_update(t){return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.set$discard(t)}))},set$intersection(t){const e=new this.sk$builtinBase;return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.sq$contains(t)&&e.set$add(t)})),(()=>e))},set$intersection_multi(...t){if(!t.length)return this.set$copy();let e=this;return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>Sk.misceval.chain(e.set$intersection(t),(t=>{e=t})))),(()=>e))},set$issubset(t){if(this.get$size()>t.get$size())return Sk.builtin.bool.false$;for(let e=this.tp$iter(),n=e.tp$iternext();void 0!==n;n=e.tp$iternext())if(!t.sq$contains(n))return Sk.builtin.bool.false$;return Sk.builtin.bool.true$},set$symmetric_diff_update(t){return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{void 0===this.set$discard(t)&&this.set$add(t)}))},set$update(t){return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.set$add(t)}))},swap$bodies(t){this.v=t.v}})}),Sk.exportSymbol("Sk.builtin.set",Sk.builtin.set),e=Sk.builtin.set.prototype,Sk.builtin.frozenset=Sk.abstr.buildNativeClass("frozenset",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.frozenset,"bad call to frozen set - must be called with 'new'");const e=[];for(let n=0;n empty frozenset object\nfrozenset(iterable) -> frozenset object\n\nBuild an immutable unordered collection of unique elements.",tp$hash(){let t=1927868237;const e=this.sk$asarray();t*=e.length+1;for(let n=0;nt.length?new Sk.builtin.frozenset(t):Sk.builtin.frozenset.$emptyset)))},$r:e.$r,tp$iter:e.tp$iter,tp$richcompare:e.tp$richcompare,nb$subtract:e.nb$subtract,nb$and:e.nb$and,nb$or:e.nb$or,nb$xor:e.nb$xor,sq$length:e.sq$length,sq$contains:e.sq$contains},methods:{copy:Object.assign({},e.copy.d$def,{$meth(){return this.constructor===this.sk$builtinBase?this:new Sk.builtin.frozenset(this.sk$asarray())}}),difference:e.difference.d$def,intersection:e.intersection.d$def,isdisjoint:e.isdisjoint.d$def,issubset:e.issubset.d$def,issuperset:e.issuperset.d$def,symmetric_difference:e.symmetric_difference.d$def,union:e.union.d$def},classmethods:Sk.generic.classGetItem,proto:Object.assign({$subtype_new(t,e){const n=new this.constructor;return Sk.misceval.chain(Sk.builtin.frozenset.prototype.tp$new(t),(t=>(n.v=t.v,n)))}},t)}),Sk.builtin.frozenset.$emptyset=new Sk.builtin.frozenset([]),Sk.exportSymbol("Sk.builtin.frozenset",Sk.builtin.frozenset);var s=Sk.abstr.buildIteratorClass("set_iterator",{constructor:function(t){this.$index=0,this.$seq=t.sk$asarray(),this.$orig=t},iternext:Sk.generic.iterNextWithArrayCheckSize,methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}})},function(t,e){Sk.builtin.print=function(t,e){let n,[i,s,r]=Sk.abstr.copyKeywordsToNamedArgs("print",["sep","end","file","flush"],[],e);if(void 0===i||Sk.builtin.checkNone(i))i=" ";else{if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("sep must be None or a string, not "+Sk.abstr.typeName(i));i=i.$jsstr()}if(void 0===s||Sk.builtin.checkNone(s))s="\n";else{if(!Sk.builtin.checkString(s))throw new Sk.builtin.TypeError("end must be None or a string, not "+Sk.abstr.typeName(s));s=s.$jsstr()}if(void 0!==r&&!Sk.builtin.checkNone(r)&&(n=Sk.abstr.lookupSpecial(r,Sk.builtin.str.$write),void 0===n))throw new Sk.builtin.AttributeError("'"+Sk.abstr.typeName(r)+"' object has no attribute 'write'");const o=new Sk.builtin.str(t.map((t=>new Sk.builtin.str(t).toString())).join(i)+s);if(void 0===n)return Sk.misceval.chain(Sk.importModule("sys",!1,!0),(t=>(n=Sk.abstr.lookupSpecial(t.$d.stdout,Sk.builtin.str.$write))&&Sk.misceval.callsimOrSuspendArray(n,[o])));Sk.misceval.callsimArray(n,[o])},Sk.builtin.print.co_fastcall=1},function(t,e){Sk.builtin.module=Sk.abstr.buildNativeClass("module",{constructor:function(){this.$d={}},slots:{tp$doc:"Create a module object.\n\nThe name must be a string; the optional doc argument can have any type.",tp$getattr(t,e){var n=this.$d[t.$mangled];if(void 0!==n)return n;if(void 0!==(n=this.ob$type.$typeLookup(t))){const t=n.tp$descr_get;return t?t.call(n,this,this.ob$type,e):n}const i=this.$d.__getattr__;return void 0!==i?(n=Sk.misceval.tryCatch((()=>Sk.misceval.callsimOrSuspendArray(i,[t])),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t})),e?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)):void 0},tp$setattr:Sk.generic.setAttr,tp$new:Sk.generic.new,tp$init(t,e){const[n,i]=Sk.abstr.copyKeywordsToNamedArgs("module",["name","doc"],t,e,[Sk.builtin.none.none$]);Sk.builtin.pyCheckType("module","string",n),this.init$dict(n,i)},$r(){let t=this.get$name();if(void 0!==t){var e=this.get$mod_reprf();if(void 0!==e)return Sk.misceval.callsimOrSuspendArray(e,[this])}return t=void 0===t?"'?'":t,e=void 0===(e=this.from$file())?this.empty_or$loader():e,new Sk.builtin.str("")}},getsets:{__dict__:{$get(){return new Sk.builtin.mappingproxy(this.$d)}}},methods:{__dir__:{$meth(){const t=this.tp$getattr(Sk.builtin.str.$dict);if(!Sk.builtin.checkMapping(t))throw new Sk.builtin.TypeError("__dict__ is not a dictionary");const e=t.mp$lookup(Sk.builtin.str.$dir);return void 0!==e?Sk.misceval.callsimOrSuspendArray(e,[]):new Sk.builtin.list(Sk.misceval.arrayFromIterable(t))},$flags:{NoArgs:!0},$doc:"__dir__() -> list\nspecialized dir() implementation"}},proto:{sk$hasDict:!0,init$dict(t,e){this.$d.__name__=t,this.$d.__doc__=e,this.$d.__package__=Sk.builtin.none.none$,this.$d.__spec__=Sk.builtin.none.none$,this.$d.__loader__=Sk.builtin.none.none$},sk$attrError(){let t=this.get$name();return t=void 0===t?"module":"module "+t,this.$initializing&&(t="(most likely due to a circular import) partially initialized "+t),t},get$name(){const t=this.tp$getattr(Sk.builtin.str.$name);return t&&Sk.misceval.objectRepr(t)},from$file(){const t=this.tp$getattr(Sk.builtin.str.$file);return t&&" from "+Sk.misceval.objectRepr(t)},empty_or$loader(){if(this.$js&&this.$js.includes("$builtinmodule"))return" (built-in)";const t=this.tp$getattr(Sk.builtin.str.$loader);return void 0===t||Sk.builtin.checkNone(t)?"":" ("+Sk.misceval.objectRepr(t)+")"},get$mod_reprf(){const t=this.tp$getattr(Sk.builtin.str.$loader);return t&&t.tp$getattr(this.str$mod_repr)},str$mod_repr:new Sk.builtin.str("module_repr")}}),Sk.exportSymbol("Sk.builtin.module",Sk.builtin.module)},function(t,e){Sk.builtin.structseq_types={},Sk.builtin.make_structseq=function(t,e,n,i,s){i=void 0===i?{}:i,s=void 0===s?null:s;const r=t+"."+e,o=[],a={};Object.keys(n).forEach(((t,e)=>{o.push(t),a[t]={$get(){return this.v[e]},$doc:n[t]}}));const l=o.length;let u=l;Object.keys(i).forEach(((t,e)=>{a[t]={$get(){return this.$hidden[e]||Sk.builtin.none.none$},$doc:i[t]},u++}));var c=Sk.abstr.buildNativeClass(r,{constructor:function(t,e){Sk.asserts.assert(this instanceof c),Sk.builtin.tuple.call(this,t),this.$hidden=e||[]},base:Sk.builtin.tuple,slots:{tp$new(t,e){if(Sk.abstr.checkOneArg(r,t,e),(t=Sk.misceval.arrayFromIterable(t[0])).lengthu)throw new Sk.builtin.TypeError(r+"() takes an at most "+u+"-sequence ("+t.length+"-sequence given)");return new c(t.slice(0,l),t.slice(l))},tp$doc:s||Sk.builtin.none.none$,$r(){var t;if(0===this.v.length)return new Sk.builtin.str(r+"()");var e=[];for(t=0;t")}},iternext(t,e){var n=this;if(this.gi$running)throw new Sk.builtin.ValueError("generator already executing");return this.gi$running=!0,void 0===e&&(e=Sk.builtin.none.none$),this.gi$sentvalue=e,e=[this],this.func_closure&&e.push(this.func_closure),function e(i){if(i instanceof Sk.misceval.Suspension){if(t)return new Sk.misceval.Suspension(e,i);i=Sk.misceval.retryOptionalSuspensionOrThrow(i)}if(n.gi$running=!1,Sk.asserts.assert(void 0!==i),Array.isArray(i))return n.gi$resumeat=i[0],i[1];n.gi$ret=i}(this.func_code.apply(this.func_globals,e))},methods:{send:{$meth(t){return Sk.misceval.chain(this.tp$iternext(!0,t),(t=>{if(void 0===t)throw void 0!==(t=this.gi$ret)&&t!==Sk.builtin.none.none$?new Sk.builtin.StopIteration(t):new Sk.builtin.StopIteration;return t}))},$flags:{OneArg:!0},$doc:"send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration."}}}),Sk.exportSymbol("Sk.builtin.generator",Sk.builtin.generator),Sk.builtin.makeGenerator=function(t,e){var n,i=new Sk.builtin.generator(null,null,null);for(n in i.tp$iternext=t,e)e.hasOwnProperty(n)&&(i[n]=e[n]);return i},Sk.exportSymbol("Sk.builtin.makeGenerator",Sk.builtin.makeGenerator)},function(t,e){Sk.builtin.file=function(t,e,n){var i;if(!(this instanceof Sk.builtin.file))return new Sk.builtin.file(t,e,n);if(this.mode=e,this.name=Sk.ffi.remapToJs(t),this.closed=!1,"/dev/stdout"===this.name)this.data$=Sk.builtin.none.none$,this.fileno=1;else if("/dev/stdin"===this.name)this.fileno=0;else if("/dev/stderr"===this.name)this.fileno=2;else{if(Sk.inBrowser)if(this.fileno=10,null==(n=document.getElementById(t.v))){if("w"!=e.v&&"a"!=e.v)throw new Sk.builtin.IOError("[Errno 2] No such file or directory: '"+t.v+"'");this.data$=""}else"textarea"==n.nodeName.toLowerCase()?this.data$=n.value:this.data$=n.textContent;else this.fileno=11,this.data$=Sk.read(t.v);for(i in this.lineList=this.data$.split("\n"),this.lineList=this.lineList.slice(0,-1),this.lineList)this.lineList[i]+="\n";this.currentLine=0}return this.pos$=0,Sk.fileopen&&10<=this.fileno&&Sk.fileopen(this),this},Sk.abstr.setUpInheritance("file",Sk.builtin.file,Sk.builtin.object),Sk.abstr.setUpBuiltinMro(Sk.builtin.file),Sk.builtin.file.prototype.$r=function(){return new Sk.builtin.str("<"+(this.closed?"closed":"open")+"file '"+this.name+"', mode '"+Sk.ffi.remapToJs(this.mode)+"'>")},Sk.builtin.file.prototype.tp$iter=function(){var t={tp$iter:function(){return t},$obj:this,$index:this.currentLine,$lines:this.lineList,tp$iternext:function(){if(!(t.$index>=t.$lines.length))return new Sk.builtin.str(t.$lines[t.$index++])}};return t},Sk.abstr.setUpSlots(Sk.builtin.file),Sk.builtin.file.prototype.__enter__=new Sk.builtin.func((function(t){return t})),Sk.builtin.file.prototype.__exit__=new Sk.builtin.func((function(t){return Sk.misceval.callsimArray(Sk.builtin.file.prototype.close,[t])})),Sk.builtin.file.prototype.close=new Sk.builtin.func((function(t){return t.closed=!0,Sk.builtin.none.none$})),Sk.builtin.file.prototype.flush=new Sk.builtin.func((function(t){})),Sk.builtin.file.prototype.fileno=new Sk.builtin.func((function(t){return this.fileno})),Sk.builtin.file.prototype.isatty=new Sk.builtin.func((function(t){return!1})),Sk.builtin.file.prototype.read=new Sk.builtin.func((function(t,e){var n=t.data$.length;if(t.closed)throw new Sk.builtin.ValueError("I/O operation on closed file");var i=void 0===e?n:Sk.ffi.remapToJs(e);return i=new Sk.builtin.str(t.data$.substr(t.pos$,i)),t.pos$=void 0===e?n:t.pos$+Sk.ffi.remapToJs(e),t.pos$>=n&&(t.pos$=n),i})),Sk.builtin.file.$readline=function(t,e,n){if(0===t.fileno){if(t=Sk.ffi.remapToJs(n),(t=Sk.inputfun(t||""))instanceof Promise||t&&"function"==typeof t.then){var i=new Sk.misceval.Suspension;return i.resume=function(){if(i.data.error)throw i.data.error;return new Sk.builtin.str(i.data.result)},i.data={type:"Sk.promise",promise:t},i}return new Sk.builtin.str(t)}return e="",t.currentLinen(t,e))));if("object"===i){if((i=t.constructor)===Object&&Object.getPrototypeOf(t)===c||void 0===i)return e.dictHook?e.dictHook(t):l(t,e);if(i===Uint8Array)return new Sk.builtin.bytes(t);if(i===Set)return a(t,e);if(i===Map){const i=new Sk.builtin.dict;return t.forEach(((t,s)=>{i.mp$ass_subscript(n(s,e),n(t,e))})),i}return i===Sk.misceval.Suspension?t:e.proxyHook?e.proxyHook(t):u(t)}if(e.unhandledHook)return e.unhandledHook(t);Sk.asserts.fail("unhandled remap case of type "+i)}function i(t,e){if(null==t)return t;const n=t.valueOf();if(null===n)return n;const o=typeof n;return e=e||{},"string"===o?e.stringHook?e.stringHook(n):n:"boolean"===o?n:"number"===o?e.numberHook?e.numberHook(n,t):n:JSBI.__isBigInt(n)?e.bigintHook?e.bigintHook(n,t):n:Array.isArray(n)?e.arrayHook?e.arrayHook(n,t):n.map((t=>i(t,e))):n.sk$object?t instanceof Sk.builtin.dict?e.dictHook?e.dictHook(t):r(t,e):t instanceof Sk.builtin.set?e.setHook?e.setHook(t):new Set(s(t,e)):e.unhandledHook?e.unhandledHook(t):void 0:"object"===o?e.objectHook?e.objectHook(n,t):n:"function"===o?e.funcHook?e.funcHook(n,t):n:void Sk.asserts.fail("unhandled type "+o)}function s(t,e){return Array.from(t,(t=>i(t,e)))}function r(t,e){const n={};return t.$items().forEach((t=>{var[s,r]=t;n[s.valueOf()]=i(r,e)})),n}function o(t){return Number.isInteger(t)?Math.abs(t)n(t,e))))}function l(t,e){const i=new Sk.builtin.dict;return Object.entries(t).forEach((t=>{var[s,r]=t;i.mp$ass_subscript(new Sk.builtin.str(s),n(r,e))})),i}function u(t,e){if(null==t)return Sk.builtin.none.none$;var i=typeof t;if("object"!==i&&"function"!==i)return n(t);if(e=e||{},i=_.get(t)){if(e.bound===i.$bound)return i;e.name||(e.name=i.$name)}return e=new g(t,e),_.set(t,e),e}Sk.ffi={remapToPy:n,remapToJs:i,toPy:n,toJs:i,isTrue:function(t){return null!=t&&t.nb$bool?t.nb$bool():t.sq$length?0!==t.sq$length():!!t},toJsString:function(t){return String(t)},toJsNumber:function(t){return Number(t)},toJsArray:s,toJsHashMap:r,toPyDict:l,toPyFloat:function(t){return new Sk.builtin.float_(Number(t))},toPyInt:function(t){if("number"==typeof t)return t=Math.trunc(t),Math.abs(t)n(t,e))))},toPyTuple:function(t,e){return new Sk.builtin.tuple(Array.from(t,(t=>n(t,e))))},toPySet:a,numberToPy:o,proxy:u};const c=Object.prototype,p=Function.prototype,h=/^-?\d+$/,_=new WeakMap,d={dictHook:t=>u(t),unhandledHook:t=>String(t)},f=(t,e)=>({dictHook:t=>u(t),funcHook:n=>u(n,{bound:t,name:e}),unhandledHook:t=>String(t)}),m={unhandledHook:t=>{var e=_.get(t);if(e)return e;if(e={v:t,$isPyWrapped:!0,unwrap:()=>t},void 0===t.tp$call)return _.set(t,e),e;const s=(...e)=>{e=e.map((t=>n(t,d)));let s=Sk.misceval.tryCatch((()=>Sk.misceval.chain(t.tp$call(e),(t=>i(t,m)))),(t=>{if(!Sk.uncaughtException)throw t;Sk.uncaughtException(t)}));for(;s instanceof Sk.misceval.Suspension;){if(!s.optional)return Sk.misceval.asyncToPromise((()=>s));s=s.resume()}return s};return _.set(t,Object.assign(s,e)),s}},g=Sk.abstr.buildNativeClass("Proxy",{constructor:function(t,e){if(void 0===t)throw new Sk.builtin.TypeError("Proxy cannot be called from python");this.js$wrapped=t,this.$module=null,this.$methods=Object.create(null),this.in$repr=!1,e||(e={}),Object.defineProperties(this,this.memoized$slots),"function"==typeof t?(this.is$callable=!0,this.$bound=e.bound,this.$name=e.name||t.name||"(native JS)",2>=this.$name.length&&(this.$name+=" (native JS)")):(this.is$callable=!1,delete this.is$type,this.is$type=!1,this.$name=e.name)},slots:{tp$doc:"proxy for a javascript object",tp$hash(){return Sk.builtin.object.prototype.tp$hash.call(this.js$wrapped)},tp$getattr(t){return this.$lookup(t)||Sk.generic.getAttr.call(this,t)},tp$setattr(t,e){t=t.toString(),void 0===e?delete this.js$wrapped[t]:this.js$wrapped[t]=i(e,m)},$r(){if(this.is$callable){if(this.is$type||!this.$bound)return new Sk.builtin.str("<"+this.tp$name+" '"+this.$name+"'>");var t=Sk.misceval.objectRepr(u(this.$bound));return new Sk.builtin.str("")}return this.js$proto===c?this.in$repr?new Sk.builtin.str("{...}"):(this.in$repr=!0,t=Object.entries(this.js$wrapped).map((t=>{var[e,i]=t;return i=n(i,f(this.js$wrapped,e)),"'"+e+"': "+Sk.misceval.objectRepr(i)})),t=new Sk.builtin.str("proxyobject({"+t.join(", ")+"})"),this.in$repr=!1,t):new Sk.builtin.str("<"+this.tp$name+" "+("proxyobject"===this.tp$name?"object":"proxyobject")+">")},tp$as_sequence_or_mapping:!0,mp$subscript(t){const e=this.$lookup(t);if(void 0===e)throw new Sk.builtin.LookupError(t);return e},mp$ass_subscript(t,e){return this.tp$setattr(t,e)},sq$contains(t){return i(t)in this.js$wrapped},ob$eq(t){return this.js$wrapped===t.js$wrapped},ob$ne(t){return this.js$wrapped!==t.js$wrapped},tp$as_number:!0,nb$bool(){return this.js$proto===c?0new Sk.builtin.str(t)))))},$flags:{NoArgs:!0}},__new__:{$meth(t,...e){if(!(t instanceof g))throw new Sk.builtin.TypeError("expected a proxy object as the first argument not "+Sk.abstr.typeName(t));try{return t.$new(e)}catch(e){if(e instanceof TypeError&&e.message.includes("not a constructor"))throw new Sk.builtin.TypeError(Sk.misceval.objectRepr(t)+" is not a constructor");throw e}},$flags:{MinArgs:1}},__call__:{$meth(t,e){if("function"!=typeof this.js$wrapped)throw new Sk.builtin.TypeError("'"+this.tp$name+"' object is not callable");return this.$call(t,e)},$flags:{FastCall:!0}},keys:{$meth(){return new Sk.builtin.list(Object.keys(this.js$wrapped).map((t=>new Sk.builtin.str(t))))},$flags:{NoArgs:!0}},get:{$meth(t,e){return this.$lookup(t)||e||Sk.builtin.none.none$},$flags:{MinArgs:1,MaxArgs:2}}},getsets:{__class__:{$get(){return n(this.js$wrapped.constructor,d)},$set(){throw new Sk.builtin.TypeError("not writable")}},__name__:{$get(){return new Sk.builtin.str(this.$name)}},__module__:{$get(){return this.$module||Sk.builtin.none.none$},$set(t){this.$module=t}}},proto:{valueOf(){return this.js$wrapped},$new(t,e){return Sk.abstr.checkNoKwargs("__new__",e),n(new this.js$wrapped(...t.map((t=>i(t,m)))),{dictHook:t=>u(t),proxyHook:t=>u(t,{name:this.$name})})},$call(t,e){return Sk.abstr.checkNoKwargs("__call__",e),Sk.misceval.chain(this.js$wrapped.apply(this.$bound,t.map((t=>i(t,m)))),(t=>t instanceof Promise?Sk.misceval.promiseToSuspension(t):t),(t=>n(t,d)))},$lookup(t){t=t.toString();const e=this.js$wrapped[t];return void 0!==e?n(e,f(this.js$wrapped,t)):t in this.js$wrapped?Sk.builtin.none.none$:void 0},memoized$slots:{js$proto:{configurable:!0,get(){return delete this.js$proto,this.js$proto=Object.getPrototypeOf(this.js$wrapped)}},$dir:{configurable:!0,get(){const t=[];let e=this.js$wrapped;for(;null!=e&&e!==c&&e!==p;)t.push(...Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return new Set(t)}},tp$iter:{configurable:!0,get(){return delete this.tp$iter,void 0!==this.js$wrapped[Symbol.iterator]?this.tp$iter=()=>u(this.js$wrapped[Symbol.iterator]()):this.tp$iter=()=>{throw new Sk.builtin.TypeError(Sk.misceval.objectRepr(this)+" is not iterable")}}},tp$iternext:{configurable:!0,get(){if(delete this.tp$iternext,void 0!==this.js$wrapped.next)return this.tp$iternext=()=>{const t=this.js$wrapped.next().value;return t&&n(t,d)}}},sq$length:{configurable:!0,get(){if(delete this.sq$length,!this.is$callable&&void 0!==this.js$wrapped.length)return this.sq$length=()=>this.js$wrapped.length}},tp$call:{configurable:!0,get(){if(delete this.tp$call,this.is$callable)return this.tp$call=this.is$type?this.$new:this.$call}},tp$name:{configurable:!0,get(){if(delete this.tp$name,this.is$callable)return this.tp$name=this.is$type?"proxyclass":this.$bound?"proxymethod":"proxyfunction";{const t=this.js$wrapped;let e=t[Symbol.toStringTag]||this.$name||t.constructor&&t.constructor.name||"proxyobject";return"Object"===e?e="proxyobject":2>=e.length&&(e=u(t.constructor).$name),this.tp$name=e}}},is$type:{configurable:!0,get(){delete this.is$type;var t=this.js$wrapped;const e=t.prototype;if(void 0===e)return this.is$type=t===Sk.global.Proxy;{const e=S.call(t).match(b);t=null===e?null:"class"===e[0]||!k.has(t)}return!0===t?this.is$type=!0:!1===t?this.is$type=!1:1e;r+=n)s.push(new Sk.builtin.int_(r));else{if(t=r=JSBI.BigInt(t),n=JSBI.BigInt(n),e=JSBI.BigInt(e),JSBI.greaterThan(n,JSBI.__ZERO))for(;JSBI.lessThan(r,e);)s.push(new Sk.builtin.int_(i(r))),r=JSBI.add(r,n);else for(;JSBI.greaterThan(r,e);)s.push(new Sk.builtin.int_(i(r))),r=JSBI.add(r,n);t=i(t),n=i(n),e=i(e)}return new Sk.builtin.range_(t,e,n,s)}function i(t){return JSBI.lessThan(t,JSBI.__MAX_SAFE)&&JSBI.greaterThan(t,JSBI.__MIN_SAFE)?JSBI.toNumber(t):t}Sk.builtin.range_=Sk.abstr.buildNativeClass("range",{constructor:function(t,e,n,i){this.start=t,this.stop=e,this.step=n,this.v=i},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$doc:"range(stop) -> range object\nrange(start, stop[, step]) -> range object\n\nReturn an object that produces a sequence of integers from start (inclusive)\nto stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1.\nstart defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3.\nThese are exactly the valid indices for a list of 4 elements.\nWhen step is given, it specifies the increment (or decrement).",tp$new:(t,e)=>(Sk.abstr.checkNoKwargs("range",e),Sk.abstr.checkArgsLen("range",t,1,3),n(t[0],t[1],t[2])),$r(){let t="range("+this.start+", "+this.stop;return 1!=this.step&&(t+=", "+this.step),new Sk.builtin.str(t+")")},tp$richcompare(t,e){return"Eq"!==e&&"NotEq"!==e||t.ob$type!==Sk.builtin.range_?Sk.builtin.NotImplemented.NotImplemented$:(t=new Sk.builtin.list(t.v),new Sk.builtin.list(this.v).tp$richcompare(t,e))},tp$iter(){return new s(this)},nb$bool(){return 0!==this.v.length},sq$contains(t){const e=this.v;for(let n=0;n(t=Sk.misceval.asIndexSized(t))&&(t=this.v.length+t),0>t||t>=this.v.length)throw new Sk.builtin.IndexError("range object index out of range");return this.v[t]}if(t.constructor===Sk.builtin.slice){const e=[],n=this.v;t.sssiter$(n.length,(t=>{e.push(n[t])}));let{start:i,stop:s,step:r}=t.slice$indices(n.length);return i=Sk.misceval.asIndex(n[i])||this.start,s=Sk.misceval.asIndex(n[s])||this.stop,r="number"==typeof this.step?r*this.step:JSBI.multiply(this.step,JSBI.BigInt(r)),new Sk.builtin.range_(i,s,r,e)}throw new Sk.builtin.TypeError("range indices must be integers or slices, not "+Sk.abstr.typeName(t))}},getsets:{start:{$get(){return new Sk.builtin.int_(this.start)}},step:{$get(){return new Sk.builtin.int_(this.step)}},stop:{$get(){return new Sk.builtin.int_(this.stop)}}},methods:{__reversed__:{$meth(){return new r(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a reverse iterator."},count:{$meth(t){let e=0;for(let n=0;n integer -- return number of occurrences of value"},index:{$meth(t){for(let e=0;e integer -- return index of value.\nRaise ValueError if the value is not present."}},proto:{sk$asarray(){return this.v.slice(0)}},flags:{sk$unacceptableBase:!0}});var s=Sk.abstr.buildIteratorClass("range_iterator",{constructor:function(t){this.$index=0,this.$seq=t.v},iternext(){return this.$seq[this.$index++]},methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}}),r=Sk.abstr.buildIteratorClass("range_reverseiterator",{constructor:function(t){this.$seq=t.v,this.$index=this.$seq.length-1},iternext(){return this.$seq[this.$index--]},methods:{__length_hint__:Sk.generic.iterReverseLengthHintMethodDef},flags:{sk$unacceptableBase:!0}});Sk.builtin.range=Sk.builtin.xrange=function(t,e,i){return t=n(t,e,i),new Sk.builtin.list(t.v)}},function(t,e){Sk.builtin.enumerate=Sk.abstr.buildIteratorClass("enumerate",{constructor:function(t,e){if(!(this instanceof Sk.builtin.enumerate))throw TypeError("Failed to construct 'enumerate': Please use the 'new' operator");return this.$iterable=t,this.$index=e,this},iternext(t){const e=Sk.misceval.chain(this.$iterable.tp$iternext(t),(t=>{if(void 0!==t)return new Sk.builtin.tuple([new Sk.builtin.int_(this.$index++),t])}));return t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)},slots:{tp$doc:"Return an enumerate object.\n\n iterable\n an object supporting iteration\n\nThe enumerate object yields pairs containing a count (from start, which\ndefaults to zero) and a value yielded by the iterable argument.\n\nenumerate is useful for obtaining an indexed list:\n (0, seq[0]), (1, seq[1]), (2, seq[2]), ...",tp$new(t,e){let[n,i]=Sk.abstr.copyKeywordsToNamedArgs("enumerate",["iterable","start"],t,e,[new Sk.builtin.int_(0)]);return n=Sk.abstr.iter(n),i=Sk.misceval.asIndexOrThrow(i),this===Sk.builtin.enumerate.prototype?new Sk.builtin.enumerate(n,i):(t=new this.constructor,Sk.builtin.enumerate.call(t,n,i),t)}},classmethods:Sk.generic.classGetItem}),Sk.exportSymbol("Sk.builtin.enumerate",Sk.builtin.enumerate)},function(t,e){Sk.builtin.filter_=Sk.abstr.buildIteratorClass("filter",{constructor:function(t,e){this.$func=t,this.$iterable=e},iternext(t){const e=Sk.misceval.iterFor(this.$iterable,(t=>Sk.misceval.chain(this.check$filter(t),(t=>t?new Sk.misceval.Break(t):void 0))));return t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)},slots:{tp$doc:"Return an iterator yielding those items of iterable for which function(item)\nis true. If function is None, return the items that are true.",tp$new(t,e){let[n,i]=Sk.abstr.copyKeywordsToNamedArgs("filter",["predicate","iterable"],t,e,[]);return n=Sk.builtin.checkNone(n)?null:n,i=Sk.abstr.iter(i),this===Sk.builtin.filter_.prototype?new Sk.builtin.filter_(n,i):(t=new this.constructor,Sk.builtin.filter_.call(t,n,i),t)}},proto:{check$filter(t){let e;return e=null===this.$func?t:Sk.misceval.callsimOrSuspendArray(this.$func,[t]),Sk.misceval.chain(e,(e=>Sk.misceval.isTrue(e)?t:void 0))}}}),Sk.exportSymbol("Sk.builtin.filter_",Sk.builtin.filter_)},function(t,e){Sk.builtin.map_=Sk.abstr.buildIteratorClass("map",{constructor:function(t,e){this.$func=t,this.$iters=e},iternext(t){const e=[],n=Sk.misceval.chain(Sk.misceval.iterArray(this.$iters,(n=>Sk.misceval.chain(n.tp$iternext(t),(t=>{if(void 0===t)return new Sk.misceval.Break(!0);e.push(t)})))),(t=>t?void 0:Sk.misceval.callsimOrSuspendArray(this.$func,e)));return t?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)},slots:{tp$doc:"map(func, *iterables) --\x3e map object\n\nMake an iterator that computes the function using arguments from\neach of the iterables. Stops when the shortest iterable is exhausted.",tp$new(t,e){this===Sk.builtin.map_.prototype&&Sk.abstr.checkNoKwargs("map",e),Sk.abstr.checkArgsLen("map",t,2),e=t[0];const n=[];for(let e=1;ethis.$idx)){var e=Sk.misceval.tryCatch((()=>Sk.abstr.objectGetItem(this.$seq,new Sk.builtin.int_(this.$idx--),t)),(t=>{if(!(t instanceof Sk.builtin.IndexError))throw t;this.$idx=-1}));return t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)}},slots:{tp$doc:"Return a reverse iterator over the values of the given sequence.",tp$new(t,e){if(this===Sk.builtin.reversed.prototype&&Sk.abstr.checkNoKwargs("reversed",e),Sk.abstr.checkArgsLen("reversed",t,1,1),t=t[0],void 0!==(e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$reversed)))return Sk.misceval.callsimArray(e,[]);if(!Sk.builtin.checkSequence(t)||void 0===Sk.abstr.lookupSpecial(t,Sk.builtin.str.$len))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not a sequence");return this===Sk.builtin.reversed.prototype?new Sk.builtin.reversed(t):(e=new this.constructor,Sk.builtin.reversed.call(e,t),e)}},methods:{__length_hint__:{$meth:function(){return 0<=this.$idx?new Sk.builtin.int_(this.$idx):new Sk.builtin.int_(0)},$flags:{NoArgs:!0}}}})},function(t,e){Sk.builtin.zip_=Sk.abstr.buildIteratorClass("zip",{constructor:function(t){this.$iters=t,0===t.length&&(this.tp$iternext=()=>{})},iternext(t){const e=[],n=Sk.misceval.chain(Sk.misceval.iterArray(this.$iters,(n=>Sk.misceval.chain(n.tp$iternext(t),(t=>{if(void 0===t)return new Sk.misceval.Break(!0);e.push(t)})))),(t=>t?void 0:new Sk.builtin.tuple(e)));return t?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)},slots:{tp$doc:"zip(iter1 [,iter2 [...]]) --\x3e zip object\n\nReturn a zip object whose .__next__() method returns a tuple where\nthe i-th element comes from the i-th iterable argument. The .__next__()\nmethod continues until the shortest iterable in the argument sequence\nis exhausted and then it raises StopIteration.",tp$new(t,e){this===Sk.builtin.zip_.prototype&&Sk.abstr.checkNoKwargs("zip",e),e=[];for(let n=0;n":n.T_RARROW,".":n.T_DOT,"...":n.T_ELLIPSIS,"/":n.T_SLASH,"//":n.T_DOUBLESLASH,"//=":n.T_DOUBLESLASHEQUAL,"/=":n.T_SLASHEQUAL,":":n.T_COLON,";":n.T_SEMI,"<":n.T_LESS,"<<":n.T_LEFTSHIFT,"<<=":n.T_LEFTSHIFTEQUAL,"<=":n.T_LESSEQUAL,"=":n.T_EQUAL,"==":n.T_EQEQUAL,">":n.T_GREATER,">=":n.T_GREATEREQUAL,">>":n.T_RIGHTSHIFT,">>=":n.T_RIGHTSHIFTEQUAL,"@":n.T_AT,"@=":n.T_ATEQUAL,"[":n.T_LSQB,"]":n.T_RSQB,"^":n.T_CIRCUMFLEX,"^=":n.T_CIRCUMFLEXEQUAL,"{":n.T_LBRACE,"|":n.T_VBAR,"|=":n.T_VBAREQUAL,"}":n.T_RBRACE,"~":n.T_TILDE};var i={};!function(){for(var t in n)i[n[t]]=t}(),["tok_name","ISTERMINAL","ISNONTERMINAL","ISEOF"].concat(Object.keys(i).map((function(t){return i[t]}))),Sk.token={},Sk.token.tokens=n,Sk.token.tok_name=i,Sk.token.EXACT_TOKEN_TYPES=t,Sk.token.ISTERMINAL=function(t){return t=n.T_NT_OFFSET},Sk.token.ISEOF=function(t){return t==n.T_ENDMARKER},Sk.exportSymbol("Sk.token",Sk.token),Sk.exportSymbol("Sk.token.tokens",Sk.token.tokens),Sk.exportSymbol("Sk.token.tok_name",Sk.token.tok_name),Sk.exportSymbol("Sk.token.EXACT_TOKEN_TYPES"),Sk.exportSymbol("Sk.token.ISTERMINAL",Sk.token.ISTERMINAL),Sk.exportSymbol("Sk.token.ISNONTERMINAL",Sk.token.ISNONTERMINAL),Sk.exportSymbol("Sk.token.ISEOF",Sk.token.ISEOF)},function(t,e){Sk.OpMap={"(":Sk.token.tokens.T_LPAR,")":Sk.token.tokens.T_RPAR,"[":Sk.token.tokens.T_LSQB,"]":Sk.token.tokens.T_RSQB,":":Sk.token.tokens.T_COLON,",":Sk.token.tokens.T_COMMA,";":Sk.token.tokens.T_SEMI,"+":Sk.token.tokens.T_PLUS,"-":Sk.token.tokens.T_MINUS,"*":Sk.token.tokens.T_STAR,"/":Sk.token.tokens.T_SLASH,"|":Sk.token.tokens.T_VBAR,"&":Sk.token.tokens.T_AMPER,"<":Sk.token.tokens.T_LESS,">":Sk.token.tokens.T_GREATER,"=":Sk.token.tokens.T_EQUAL,".":Sk.token.tokens.T_DOT,"%":Sk.token.tokens.T_PERCENT,"`":Sk.token.tokens.T_BACKQUOTE,"{":Sk.token.tokens.T_LBRACE,"}":Sk.token.tokens.T_RBRACE,"@":Sk.token.tokens.T_AT,"@=":Sk.token.tokens.T_ATEQUAL,"==":Sk.token.tokens.T_EQEQUAL,"!=":Sk.token.tokens.T_NOTEQUAL,"<>":Sk.token.tokens.T_NOTEQUAL,"<=":Sk.token.tokens.T_LESSEQUAL,">=":Sk.token.tokens.T_GREATEREQUAL,"~":Sk.token.tokens.T_TILDE,"^":Sk.token.tokens.T_CIRCUMFLEX,"<<":Sk.token.tokens.T_LEFTSHIFT,">>":Sk.token.tokens.T_RIGHTSHIFT,"**":Sk.token.tokens.T_DOUBLESTAR,"+=":Sk.token.tokens.T_PLUSEQUAL,"-=":Sk.token.tokens.T_MINEQUAL,"*=":Sk.token.tokens.T_STAREQUAL,"/=":Sk.token.tokens.T_SLASHEQUAL,"%=":Sk.token.tokens.T_PERCENTEQUAL,"&=":Sk.token.tokens.T_AMPEREQUAL,"|=":Sk.token.tokens.T_VBAREQUAL,"^=":Sk.token.tokens.T_CIRCUMFLEXEQUAL,"<<=":Sk.token.tokens.T_LEFTSHIFTEQUAL,">>=":Sk.token.tokens.T_RIGHTSHIFTEQUAL,"**=":Sk.token.tokens.T_DOUBLESTAREQUAL,"//":Sk.token.tokens.T_DOUBLESLASH,"//=":Sk.token.tokens.T_DOUBLESLASHEQUAL,"->":Sk.token.tokens.T_RARROW,"...":Sk.token.tokens.T_ELLIPSIS},Sk.ParseTables={sym:{and_expr:257,and_test:258,annassign:259,arglist:260,argument:261,arith_expr:262,assert_stmt:263,async_funcdef:264,async_stmt:265,atom:266,atom_expr:267,augassign:268,break_stmt:269,classdef:270,comp_for:271,comp_if:272,comp_iter:273,comp_op:274,comparison:275,compound_stmt:276,continue_stmt:277,debugger_stmt:278,decorated:279,decorator:280,decorators:281,del_stmt:282,dictorsetmaker:283,dotted_as_name:284,dotted_as_names:285,dotted_name:286,encoding_decl:287,eval_input:288,except_clause:289,expr:290,expr_stmt:291,exprlist:292,factor:293,file_input:294,flow_stmt:295,for_stmt:296,funcdef:297,global_stmt:298,if_stmt:299,import_as_name:300,import_as_names:301,import_from:302,import_name:303,import_stmt:304,lambdef:305,lambdef_nocond:306,nonlocal_stmt:307,not_test:308,or_test:309,parameters:310,pass_stmt:311,power:312,print_stmt:313,raise_stmt:314,return_stmt:315,shift_expr:316,simple_stmt:317,single_input:256,sliceop:318,small_stmt:319,star_expr:320,stmt:321,subscript:322,subscriptlist:323,suite:324,term:325,test:326,test_nocond:327,testlist:328,testlist_comp:329,testlist_star_expr:330,tfpdef:331,trailer:332,try_stmt:333,typedargslist:334,varargslist:335,vfpdef:336,while_stmt:337,with_item:338,with_stmt:339,xor_expr:340,yield_arg:341,yield_expr:342,yield_stmt:343},number2symbol:{256:"single_input",257:"and_expr",258:"and_test",259:"annassign",260:"arglist",261:"argument",262:"arith_expr",263:"assert_stmt",264:"async_funcdef",265:"async_stmt",266:"atom",267:"atom_expr",268:"augassign",269:"break_stmt",270:"classdef",271:"comp_for",272:"comp_if",273:"comp_iter",274:"comp_op",275:"comparison",276:"compound_stmt",277:"continue_stmt",278:"debugger_stmt",279:"decorated",280:"decorator",281:"decorators",282:"del_stmt",283:"dictorsetmaker",284:"dotted_as_name",285:"dotted_as_names",286:"dotted_name",287:"encoding_decl",288:"eval_input",289:"except_clause",290:"expr",291:"expr_stmt",292:"exprlist",293:"factor",294:"file_input",295:"flow_stmt",296:"for_stmt",297:"funcdef",298:"global_stmt",299:"if_stmt",300:"import_as_name",301:"import_as_names",302:"import_from",303:"import_name",304:"import_stmt",305:"lambdef",306:"lambdef_nocond",307:"nonlocal_stmt",308:"not_test",309:"or_test",310:"parameters",311:"pass_stmt",312:"power",313:"print_stmt",314:"raise_stmt",315:"return_stmt",316:"shift_expr",317:"simple_stmt",318:"sliceop",319:"small_stmt",320:"star_expr",321:"stmt",322:"subscript",323:"subscriptlist",324:"suite",325:"term",326:"test",327:"test_nocond",328:"testlist",329:"testlist_comp",330:"testlist_star_expr",331:"tfpdef",332:"trailer",333:"try_stmt",334:"typedargslist",335:"varargslist",336:"vfpdef",337:"while_stmt",338:"with_item",339:"with_stmt",340:"xor_expr",341:"yield_arg",342:"yield_expr",343:"yield_stmt"},dfas:{256:[[[[1,1],[2,1],[3,2]],[[0,1]],[[2,1]]],{2:1,4:1,5:1,6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1,40:1,41:1,42:1,43:1}],257:[[[[44,1]],[[45,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],258:[[[[46,1]],[[47,0],[0,1]]],{6:1,7:1,8:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],259:[[[[48,1]],[[49,2]],[[50,3],[0,2]],[[49,4]],[[0,4]]],{48:1}],260:[[[[51,1]],[[52,2],[0,1]],[[51,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,53:1}],261:[[[[49,1],[15,2],[53,2]],[[50,2],[54,3],[0,1]],[[49,3]],[[0,3]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,53:1}],262:[[[[55,1]],[[30,0],[43,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],263:[[[[24,1]],[[49,2]],[[52,3],[0,2]],[[49,4]],[[0,4]]],{24:1}],264:[[[[10,1]],[[56,2]],[[0,2]]],{10:1}],265:[[[[10,1]],[[57,2],[56,2],[58,2]],[[0,2]]],{10:1}],266:[[[[6,1],[25,1],[33,1],[9,1],[11,1],[12,2],[35,3],[38,4],[19,1],[7,5]],[[0,1]],[[59,1],[60,6]],[[61,1],[62,7],[63,7]],[[64,1],[63,8]],[[7,5],[0,5]],[[59,1]],[[61,1]],[[64,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,25:1,33:1,35:1,38:1}],267:[[[[29,1],[65,2]],[[65,2]],[[66,2],[0,2]]],{6:1,7:1,9:1,11:1,12:1,19:1,25:1,29:1,33:1,35:1,38:1}],268:[[[[67,1],[68,1],[69,1],[70,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[79,1]],[[0,1]]],{67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:1,75:1,76:1,77:1,78:1,79:1}],269:[[[[39,1]],[[0,1]]],{39:1}],270:[[[[13,1]],[[25,2]],[[48,3],[35,4]],[[80,5]],[[61,6],[81,7]],[[0,5]],[[48,3]],[[61,6]]],{13:1}],271:[[[[10,1],[34,2]],[[34,2]],[[82,3]],[[83,4]],[[84,5]],[[85,6],[0,5]],[[0,6]]],{10:1,34:1}],272:[[[[37,1]],[[86,2]],[[85,3],[0,2]],[[0,3]]],{37:1}],273:[[[[87,1],[54,1]],[[0,1]]],{10:1,34:1,37:1}],274:[[[[88,1],[89,1],[8,2],[90,1],[88,1],[83,1],[91,1],[92,3],[93,1],[94,1]],[[0,1]],[[83,1]],[[8,1],[0,3]]],{8:1,83:1,88:1,89:1,90:1,91:1,92:1,93:1,94:1}],275:[[[[95,1]],[[96,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],276:[[[[97,1],[98,1],[58,1],[99,1],[57,1],[100,1],[56,1],[101,1],[102,1]],[[0,1]]],{4:1,10:1,13:1,20:1,21:1,34:1,37:1,41:1,42:1}],277:[[[[40,1]],[[0,1]]],{40:1}],278:[[[[17,1]],[[0,1]]],{17:1}],279:[[[[103,1]],[[56,2],[104,2],[99,2]],[[0,2]]],{41:1}],280:[[[[41,1]],[[105,2]],[[2,4],[35,3]],[[61,5],[81,6]],[[0,4]],[[2,4]],[[61,5]]],{41:1}],281:[[[[106,1]],[[106,1],[0,1]]],{41:1}],282:[[[[27,1]],[[82,2]],[[0,2]]],{27:1}],283:[[[[49,1],[107,2],[53,3]],[[48,4],[54,5],[52,6],[0,1]],[[54,5],[52,6],[0,2]],[[95,7]],[[49,7]],[[0,5]],[[49,8],[107,8],[0,6]],[[54,5],[52,9],[0,7]],[[52,6],[0,8]],[[49,10],[53,11],[0,9]],[[48,12]],[[95,13]],[[49,13]],[[52,9],[0,13]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,53:1}],284:[[[[105,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],{25:1}],285:[[[[109,1]],[[52,0],[0,1]]],{25:1}],286:[[[[25,1]],[[110,0],[0,1]]],{25:1}],287:[[[[25,1]],[[0,1]]],{25:1}],288:[[[[111,1]],[[2,1],[112,2]],[[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],289:[[[[113,1]],[[49,2],[0,1]],[[108,3],[52,3],[0,2]],[[49,4]],[[0,4]]],{113:1}],290:[[[[114,1]],[[115,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],291:[[[[116,1]],[[117,2],[50,3],[118,4],[0,1]],[[111,4],[62,4]],[[116,5],[62,5]],[[0,4]],[[50,3],[0,5]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],292:[[[[95,1],[107,1]],[[52,2],[0,1]],[[95,1],[107,1],[0,2]]],{6:1,7:1,9:1,11:1,12:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],293:[[[[119,2],[30,1],[22,1],[43,1]],[[120,2]],[[0,2]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],294:[[[[2,0],[112,1],[121,0]],[[0,1]]],{2:1,4:1,5:1,6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1,40:1,41:1,42:1,43:1,112:1}],295:[[[[122,1],[123,1],[124,1],[125,1],[126,1]],[[0,1]]],{5:1,23:1,31:1,39:1,40:1}],296:[[[[34,1]],[[82,2]],[[83,3]],[[111,4]],[[48,5]],[[80,6]],[[127,7],[0,6]],[[48,8]],[[80,9]],[[0,9]]],{34:1}],297:[[[[4,1]],[[25,2]],[[128,3]],[[48,4],[129,5]],[[80,6]],[[49,7]],[[0,6]],[[48,4]]],{4:1}],298:[[[[26,1]],[[25,2]],[[52,1],[0,2]]],{26:1}],299:[[[[37,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[130,1],[0,4]],[[48,6]],[[80,7]],[[0,7]]],{37:1}],300:[[[[25,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],{25:1}],301:[[[[131,1]],[[52,2],[0,1]],[[131,1],[0,2]]],{25:1}],302:[[[[36,1]],[[105,2],[19,3],[110,3]],[[32,4]],[[105,2],[19,3],[32,4],[110,3]],[[132,5],[15,5],[35,6]],[[0,5]],[[132,7]],[[61,5]]],{36:1}],303:[[[[32,1]],[[133,2]],[[0,2]]],{32:1}],304:[[[[134,1],[135,1]],[[0,1]]],{32:1,36:1}],305:[[[[14,1]],[[48,2],[136,3]],[[49,4]],[[48,2]],[[0,4]]],{14:1}],306:[[[[14,1]],[[48,2],[136,3]],[[86,4]],[[48,2]],[[0,4]]],{14:1}],307:[[[[18,1]],[[25,2]],[[52,1],[0,2]]],{18:1}],308:[[[[8,1],[137,2]],[[46,2]],[[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],309:[[[[138,1]],[[139,0],[0,1]]],{6:1,7:1,8:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],310:[[[[35,1]],[[61,2],[140,3]],[[0,2]],[[61,2]]],{35:1}],311:[[[[28,1]],[[0,1]]],{28:1}],312:[[[[141,1]],[[53,2],[0,1]],[[120,3]],[[0,3]]],{6:1,7:1,9:1,11:1,12:1,19:1,25:1,29:1,33:1,35:1,38:1}],313:[[[[16,1]],[[49,2],[142,3],[0,1]],[[52,4],[0,2]],[[49,5]],[[49,2],[0,4]],[[52,6],[0,5]],[[49,7]],[[52,8],[0,7]],[[49,7],[0,8]]],{16:1}],314:[[[[5,1]],[[49,2],[0,1]],[[36,3],[52,3],[0,2]],[[49,4]],[[52,5],[0,4]],[[49,6]],[[0,6]]],{5:1}],315:[[[[23,1]],[[111,2],[0,1]],[[0,2]]],{23:1}],316:[[[[143,1]],[[144,0],[142,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],317:[[[[145,1]],[[2,2],[146,3]],[[0,2]],[[145,1],[2,2]]],{5:1,6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,35:1,36:1,38:1,39:1,40:1,43:1}],318:[[[[48,1]],[[49,2],[0,1]],[[0,2]]],{48:1}],319:[[[[147,1],[148,1],[149,1],[150,1],[151,1],[152,1],[153,1],[154,1],[155,1],[156,1]],[[0,1]]],{5:1,6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,35:1,36:1,38:1,39:1,40:1,43:1}],320:[[[[15,1]],[[95,2]],[[0,2]]],{15:1}],321:[[[[1,1],[3,1]],[[0,1]]],{4:1,5:1,6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1,40:1,41:1,42:1,43:1}],322:[[[[49,1],[48,2]],[[48,2],[0,1]],[[49,3],[157,4],[0,2]],[[157,4],[0,3]],[[0,4]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,48:1}],323:[[[[158,1]],[[52,2],[0,1]],[[158,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,48:1}],324:[[[[1,1],[2,2]],[[0,1]],[[159,3]],[[121,4]],[[160,1],[121,4]]],{2:1,5:1,6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,35:1,36:1,38:1,39:1,40:1,43:1}],325:[[[[120,1]],[[161,0],[15,0],[162,0],[41,0],[163,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],326:[[[[84,1],[164,2]],[[37,3],[0,1]],[[0,2]],[[84,4]],[[127,5]],[[49,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],327:[[[[165,1],[84,1]],[[0,1]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],328:[[[[49,1]],[[52,2],[0,1]],[[49,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],329:[[[[49,1],[107,1]],[[54,2],[52,3],[0,1]],[[0,2]],[[49,4],[107,4],[0,3]],[[52,3],[0,4]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],330:[[[[49,1],[107,1]],[[52,2],[0,1]],[[49,1],[107,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],331:[[[[25,1]],[[48,2],[0,1]],[[49,3]],[[0,3]]],{25:1}],332:[[[[35,1],[110,2],[38,3]],[[61,4],[81,5]],[[25,4]],[[166,6]],[[0,4]],[[61,4]],[[64,4]]],{35:1,38:1,110:1}],333:[[[[20,1]],[[48,2]],[[80,3]],[[167,4],[168,5]],[[48,6]],[[48,7]],[[80,8]],[[80,9]],[[167,4],[127,10],[168,5],[0,8]],[[0,9]],[[48,11]],[[80,12]],[[168,5],[0,12]]],{20:1}],334:[[[[15,1],[169,2],[53,3]],[[169,4],[52,5],[0,1]],[[50,6],[52,7],[0,2]],[[169,8]],[[52,5],[0,4]],[[169,9],[53,3],[0,5]],[[49,10]],[[15,11],[169,2],[53,3],[0,7]],[[52,12],[0,8]],[[50,13],[52,5],[0,9]],[[52,7],[0,10]],[[169,14],[52,15],[0,11]],[[0,12]],[[49,4]],[[52,15],[0,14]],[[169,16],[53,3],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],{15:1,25:1,53:1}],335:[[[[15,1],[53,2],[170,3]],[[170,5],[52,4],[0,1]],[[170,6]],[[50,7],[52,8],[0,3]],[[53,2],[170,9],[0,4]],[[52,4],[0,5]],[[52,10],[0,6]],[[49,11]],[[15,12],[53,2],[170,3],[0,8]],[[50,13],[52,4],[0,9]],[[0,10]],[[52,8],[0,11]],[[52,15],[170,14],[0,12]],[[49,5]],[[52,15],[0,14]],[[53,2],[170,16],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],{15:1,25:1,53:1}],336:[[[[25,1]],[[0,1]]],{25:1}],337:[[[[21,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[0,4]],[[48,6]],[[80,7]],[[0,7]]],{21:1}],338:[[[[49,1]],[[108,2],[0,1]],[[95,3]],[[0,3]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],339:[[[[42,1]],[[171,2]],[[48,3],[52,1]],[[80,4]],[[0,4]]],{42:1}],340:[[[[172,1]],[[173,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],341:[[[[111,2],[36,1]],[[49,2]],[[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,36:1,38:1,43:1}],342:[[[[31,1]],[[174,2],[0,1]],[[0,2]]],{31:1}],343:[[[[62,1]],[[0,1]]],{31:1}]},states:[[[[1,1],[2,1],[3,2]],[[0,1]],[[2,1]]],[[[44,1]],[[45,0],[0,1]]],[[[46,1]],[[47,0],[0,1]]],[[[48,1]],[[49,2]],[[50,3],[0,2]],[[49,4]],[[0,4]]],[[[51,1]],[[52,2],[0,1]],[[51,1],[0,2]]],[[[49,1],[15,2],[53,2]],[[50,2],[54,3],[0,1]],[[49,3]],[[0,3]]],[[[55,1]],[[30,0],[43,0],[0,1]]],[[[24,1]],[[49,2]],[[52,3],[0,2]],[[49,4]],[[0,4]]],[[[10,1]],[[56,2]],[[0,2]]],[[[10,1]],[[57,2],[56,2],[58,2]],[[0,2]]],[[[6,1],[25,1],[33,1],[9,1],[11,1],[12,2],[35,3],[38,4],[19,1],[7,5]],[[0,1]],[[59,1],[60,6]],[[61,1],[62,7],[63,7]],[[64,1],[63,8]],[[7,5],[0,5]],[[59,1]],[[61,1]],[[64,1]]],[[[29,1],[65,2]],[[65,2]],[[66,2],[0,2]]],[[[67,1],[68,1],[69,1],[70,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[79,1]],[[0,1]]],[[[39,1]],[[0,1]]],[[[13,1]],[[25,2]],[[48,3],[35,4]],[[80,5]],[[61,6],[81,7]],[[0,5]],[[48,3]],[[61,6]]],[[[10,1],[34,2]],[[34,2]],[[82,3]],[[83,4]],[[84,5]],[[85,6],[0,5]],[[0,6]]],[[[37,1]],[[86,2]],[[85,3],[0,2]],[[0,3]]],[[[87,1],[54,1]],[[0,1]]],[[[88,1],[89,1],[8,2],[90,1],[88,1],[83,1],[91,1],[92,3],[93,1],[94,1]],[[0,1]],[[83,1]],[[8,1],[0,3]]],[[[95,1]],[[96,0],[0,1]]],[[[97,1],[98,1],[58,1],[99,1],[57,1],[100,1],[56,1],[101,1],[102,1]],[[0,1]]],[[[40,1]],[[0,1]]],[[[17,1]],[[0,1]]],[[[103,1]],[[56,2],[104,2],[99,2]],[[0,2]]],[[[41,1]],[[105,2]],[[2,4],[35,3]],[[61,5],[81,6]],[[0,4]],[[2,4]],[[61,5]]],[[[106,1]],[[106,1],[0,1]]],[[[27,1]],[[82,2]],[[0,2]]],[[[49,1],[107,2],[53,3]],[[48,4],[54,5],[52,6],[0,1]],[[54,5],[52,6],[0,2]],[[95,7]],[[49,7]],[[0,5]],[[49,8],[107,8],[0,6]],[[54,5],[52,9],[0,7]],[[52,6],[0,8]],[[49,10],[53,11],[0,9]],[[48,12]],[[95,13]],[[49,13]],[[52,9],[0,13]]],[[[105,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],[[[109,1]],[[52,0],[0,1]]],[[[25,1]],[[110,0],[0,1]]],[[[25,1]],[[0,1]]],[[[111,1]],[[2,1],[112,2]],[[0,2]]],[[[113,1]],[[49,2],[0,1]],[[108,3],[52,3],[0,2]],[[49,4]],[[0,4]]],[[[114,1]],[[115,0],[0,1]]],[[[116,1]],[[117,2],[50,3],[118,4],[0,1]],[[111,4],[62,4]],[[116,5],[62,5]],[[0,4]],[[50,3],[0,5]]],[[[95,1],[107,1]],[[52,2],[0,1]],[[95,1],[107,1],[0,2]]],[[[119,2],[30,1],[22,1],[43,1]],[[120,2]],[[0,2]]],[[[2,0],[112,1],[121,0]],[[0,1]]],[[[122,1],[123,1],[124,1],[125,1],[126,1]],[[0,1]]],[[[34,1]],[[82,2]],[[83,3]],[[111,4]],[[48,5]],[[80,6]],[[127,7],[0,6]],[[48,8]],[[80,9]],[[0,9]]],[[[4,1]],[[25,2]],[[128,3]],[[48,4],[129,5]],[[80,6]],[[49,7]],[[0,6]],[[48,4]]],[[[26,1]],[[25,2]],[[52,1],[0,2]]],[[[37,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[130,1],[0,4]],[[48,6]],[[80,7]],[[0,7]]],[[[25,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],[[[131,1]],[[52,2],[0,1]],[[131,1],[0,2]]],[[[36,1]],[[105,2],[19,3],[110,3]],[[32,4]],[[105,2],[19,3],[32,4],[110,3]],[[132,5],[15,5],[35,6]],[[0,5]],[[132,7]],[[61,5]]],[[[32,1]],[[133,2]],[[0,2]]],[[[134,1],[135,1]],[[0,1]]],[[[14,1]],[[48,2],[136,3]],[[49,4]],[[48,2]],[[0,4]]],[[[14,1]],[[48,2],[136,3]],[[86,4]],[[48,2]],[[0,4]]],[[[18,1]],[[25,2]],[[52,1],[0,2]]],[[[8,1],[137,2]],[[46,2]],[[0,2]]],[[[138,1]],[[139,0],[0,1]]],[[[35,1]],[[61,2],[140,3]],[[0,2]],[[61,2]]],[[[28,1]],[[0,1]]],[[[141,1]],[[53,2],[0,1]],[[120,3]],[[0,3]]],[[[16,1]],[[49,2],[142,3],[0,1]],[[52,4],[0,2]],[[49,5]],[[49,2],[0,4]],[[52,6],[0,5]],[[49,7]],[[52,8],[0,7]],[[49,7],[0,8]]],[[[5,1]],[[49,2],[0,1]],[[36,3],[52,3],[0,2]],[[49,4]],[[52,5],[0,4]],[[49,6]],[[0,6]]],[[[23,1]],[[111,2],[0,1]],[[0,2]]],[[[143,1]],[[144,0],[142,0],[0,1]]],[[[145,1]],[[2,2],[146,3]],[[0,2]],[[145,1],[2,2]]],[[[48,1]],[[49,2],[0,1]],[[0,2]]],[[[147,1],[148,1],[149,1],[150,1],[151,1],[152,1],[153,1],[154,1],[155,1],[156,1]],[[0,1]]],[[[15,1]],[[95,2]],[[0,2]]],[[[1,1],[3,1]],[[0,1]]],[[[49,1],[48,2]],[[48,2],[0,1]],[[49,3],[157,4],[0,2]],[[157,4],[0,3]],[[0,4]]],[[[158,1]],[[52,2],[0,1]],[[158,1],[0,2]]],[[[1,1],[2,2]],[[0,1]],[[159,3]],[[121,4]],[[160,1],[121,4]]],[[[120,1]],[[161,0],[15,0],[162,0],[41,0],[163,0],[0,1]]],[[[84,1],[164,2]],[[37,3],[0,1]],[[0,2]],[[84,4]],[[127,5]],[[49,2]]],[[[165,1],[84,1]],[[0,1]]],[[[49,1]],[[52,2],[0,1]],[[49,1],[0,2]]],[[[49,1],[107,1]],[[54,2],[52,3],[0,1]],[[0,2]],[[49,4],[107,4],[0,3]],[[52,3],[0,4]]],[[[49,1],[107,1]],[[52,2],[0,1]],[[49,1],[107,1],[0,2]]],[[[25,1]],[[48,2],[0,1]],[[49,3]],[[0,3]]],[[[35,1],[110,2],[38,3]],[[61,4],[81,5]],[[25,4]],[[166,6]],[[0,4]],[[61,4]],[[64,4]]],[[[20,1]],[[48,2]],[[80,3]],[[167,4],[168,5]],[[48,6]],[[48,7]],[[80,8]],[[80,9]],[[167,4],[127,10],[168,5],[0,8]],[[0,9]],[[48,11]],[[80,12]],[[168,5],[0,12]]],[[[15,1],[169,2],[53,3]],[[169,4],[52,5],[0,1]],[[50,6],[52,7],[0,2]],[[169,8]],[[52,5],[0,4]],[[169,9],[53,3],[0,5]],[[49,10]],[[15,11],[169,2],[53,3],[0,7]],[[52,12],[0,8]],[[50,13],[52,5],[0,9]],[[52,7],[0,10]],[[169,14],[52,15],[0,11]],[[0,12]],[[49,4]],[[52,15],[0,14]],[[169,16],[53,3],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],[[[15,1],[53,2],[170,3]],[[170,5],[52,4],[0,1]],[[170,6]],[[50,7],[52,8],[0,3]],[[53,2],[170,9],[0,4]],[[52,4],[0,5]],[[52,10],[0,6]],[[49,11]],[[15,12],[53,2],[170,3],[0,8]],[[50,13],[52,4],[0,9]],[[0,10]],[[52,8],[0,11]],[[52,15],[170,14],[0,12]],[[49,5]],[[52,15],[0,14]],[[53,2],[170,16],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],[[[25,1]],[[0,1]]],[[[21,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[0,4]],[[48,6]],[[80,7]],[[0,7]]],[[[49,1]],[[108,2],[0,1]],[[95,3]],[[0,3]]],[[[42,1]],[[171,2]],[[48,3],[52,1]],[[80,4]],[[0,4]]],[[[172,1]],[[173,0],[0,1]]],[[[111,2],[36,1]],[[49,2]],[[0,2]]],[[[31,1]],[[174,2],[0,1]],[[0,2]]],[[[62,1]],[[0,1]]]],labels:[[0,"EMPTY"],[317,null],[4,null],[276,null],[1,"def"],[1,"raise"],[1,"True"],[3,null],[1,"not"],[1,"None"],[55,null],[2,null],[25,null],[1,"class"],[1,"lambda"],[16,null],[1,"print"],[1,"debugger"],[1,"nonlocal"],[52,null],[1,"try"],[1,"while"],[31,null],[1,"return"],[1,"assert"],[1,null],[1,"global"],[1,"del"],[1,"pass"],[54,null],[15,null],[1,"yield"],[1,"import"],[1,"False"],[1,"for"],[7,null],[1,"from"],[1,"if"],[9,null],[1,"break"],[1,"continue"],[49,null],[1,"with"],[14,null],[316,null],[19,null],[308,null],[1,"and"],[11,null],[326,null],[22,null],[261,null],[12,null],[35,null],[271,null],[325,null],[297,null],[339,null],[296,null],[26,null],[283,null],[8,null],[342,null],[329,null],[10,null],[266,null],[332,null],[45,null],[38,null],[40,null],[50,null],[46,null],[41,null],[42,null],[36,null],[43,null],[48,null],[44,null],[37,null],[39,null],[324,null],[260,null],[292,null],[1,"in"],[309,null],[273,null],[327,null],[272,null],[28,null],[21,null],[27,null],[29,null],[1,"is"],[30,null],[20,null],[290,null],[274,null],[333,null],[299,null],[270,null],[337,null],[279,null],[265,null],[281,null],[264,null],[286,null],[280,null],[320,null],[1,"as"],[284,null],[23,null],[328,null],[0,null],[1,"except"],[340,null],[18,null],[330,null],[268,null],[259,null],[312,null],[293,null],[321,null],[269,null],[277,null],[314,null],[315,null],[343,null],[1,"else"],[310,null],[51,null],[1,"elif"],[300,null],[301,null],[285,null],[303,null],[302,null],[335,null],[275,null],[258,null],[1,"or"],[334,null],[267,null],[34,null],[262,null],[33,null],[319,null],[13,null],[295,null],[263,null],[291,null],[311,null],[307,null],[313,null],[282,null],[298,null],[304,null],[278,null],[318,null],[322,null],[5,null],[6,null],[47,null],[17,null],[24,null],[305,null],[306,null],[323,null],[289,null],[1,"finally"],[331,null],[336,null],[338,null],[257,null],[32,null],[341,null]],keywords:{False:33,None:9,True:6,and:47,as:108,assert:24,break:39,class:13,continue:40,debugger:17,def:4,del:27,elif:130,else:127,except:113,finally:168,for:34,from:36,global:26,if:37,import:32,in:83,is:92,lambda:14,nonlocal:18,not:8,or:139,pass:28,print:16,raise:5,return:23,try:20,while:21,with:42,yield:31},tokens:{0:112,1:25,2:11,3:7,4:2,5:159,6:160,7:35,8:61,9:38,10:64,11:48,12:52,13:146,14:43,15:30,16:15,17:162,18:115,19:45,20:94,21:89,22:50,23:110,24:163,25:12,26:59,27:90,28:88,29:91,30:93,31:22,32:173,33:144,34:142,35:53,36:74,37:78,38:68,39:79,40:69,41:72,42:73,43:75,44:77,45:67,46:71,47:161,48:76,49:41,50:70,51:129,52:19,54:29,55:10},start:256}},function(t,e){function n(t,e){return this.filename=t,this.grammar=e,this.p_flags=0,this}n.FUTURE_PRINT_FUNCTION="print_function",n.FUTURE_UNICODE_LITERALS="unicode_literals",n.FUTURE_DIVISION="division",n.FUTURE_ABSOLUTE_IMPORT="absolute_import",n.FUTURE_WITH_STATEMENT="with_statement",n.FUTURE_NESTED_SCOPES="nested_scopes",n.FUTURE_GENERATORS="generators",n.CO_FUTURE_PRINT_FUNCTION=65536,n.CO_FUTURE_UNICODE_LITERALS=131072,n.CO_FUTURE_DIVISON=8192,n.CO_FUTURE_ABSOLUTE_IMPORT=16384,n.CO_FUTURE_WITH_STATEMENT=32768,n.prototype.setup=function(t){t=t||this.grammar.start,this.stack=[{dfa:this.grammar.dfas[t],state:0,node:{type:t,value:null,context:null,children:[]}}],this.used_names={}},n.prototype.addtoken=function(t,e,n){var i,s=this.classify(t,e,n);t:for(;;){var r=this.stack[this.stack.length-1],o=r.dfa[0],a=o[r.state];for(i=0;ic),this.shift(t,e,u,n),n=u;1===o[n].length&&0===o[n][0][0]&&o[n][0][1]===n;){if(this.pop(),0===this.stack.length)return!0;n=(r=this.stack[this.stack.length-1]).state,o=r.dfa[0]}return!1}if(256<=c&&(l=(l=this.grammar.dfas[c])[1]).hasOwnProperty(s)){this.push(c,this.grammar.dfas[c],u,n);continue t}}e:{for(o=[0,r.state],r=a.length;r--;)if(a[r][0]===o[0]&&a[r][1]===o[1]){a=!0;break e}a=!1}if(!a)throw t=n[0][0],new Sk.builtin.SyntaxError("bad input",this.filename,t,n);if(this.pop(),0===this.stack.length)throw new Sk.builtin.SyntaxError("too much input",this.filename)}},n.prototype.classify=function(t,e,i){if(t===Sk.token.tokens.T_NAME){this.used_names[e]=!0;var s=this.grammar.keywords.hasOwnProperty(e)&&this.grammar.keywords[e];if("print"===e&&(this.p_flags&n.CO_FUTURE_PRINT_FUNCTION||!0===Sk.__future__.print_function)&&(s=!1),s)return s}if(!(s=this.grammar.tokens.hasOwnProperty(t)&&this.grammar.tokens[t])){e="#"+t;for(let n in Sk.token.tokens)if(Sk.token.tokens[n]==t){e=n;break}throw new Sk.builtin.SyntaxError("bad token "+e,this.filename,i[0][0],i)}return s},n.prototype.shift=function(t,e,n,i){var s=this.stack[this.stack.length-1].dfa,r=this.stack[this.stack.length-1].node;r.children.push({type:t,value:e,lineno:i[0][0],col_offset:i[0][1],children:null}),this.stack[this.stack.length-1]={dfa:s,state:n,node:r}},n.prototype.push=function(t,e,n,i){t={type:t,value:null,lineno:i[0][0],col_offset:i[0][1],children:[]},this.stack[this.stack.length-1]={dfa:this.stack[this.stack.length-1].dfa,state:n,node:this.stack[this.stack.length-1].node},this.stack.push({dfa:e,state:0,node:t})},n.prototype.pop=function(){var t=this.stack.pop().node;if(t)if(0!==this.stack.length){this.stack[this.stack.length-1].node.children.push(t)}else this.rootnode=t,this.rootnode.used_names=this.used_names},Sk.parse=function(t,e){var i,s=Sk.token.tokens.T_COMMENT,r=Sk.token.tokens.T_NL,o=Sk.token.tokens.T_OP,a=Sk.token.tokens.T_ENDMARKER,l=Sk.token.tokens.T_ENCODING,u=!1,c=function(t,e){return void 0===e&&(e="file_input"),t=new n(t,Sk.ParseTables),"file_input"===e?t.setup(Sk.ParseTables.sym.file_input):Sk.asserts.fail("todo;"),t}(t);if(Sk._tokenize(t,(i=e.split("\n").reverse().map((function(t){return t+"\n"})),function(){if(0===i.length)throw new Sk.builtin.Exception("EOF");return i.pop()}),"utf-8",(function(t){var e=null;t.type!==s&&t.type!==r&&t.type!==l&&(t.type===o&&(e=Sk.OpMap[t.string]),c.addtoken(e||t.type,t.string,[t.start,t.end,t.line]),t.type===a&&(u=!0))})),!u)throw new Sk.builtin.SyntaxError("incomplete input",this.filename);return{cst:c.rootnode,flags:c.p_flags}},Sk.parseTreeDump=function(t,e){var n,i=""+(e=e||"");if(256<=t.type)for(i+=Sk.ParseTables.number2symbol[t.type]+"\n",n=0;n=i(e)||o+2==i(e)&&s(e,o+1).type==V.T_COMMA)throw new Sk.builtin.SyntaxError("named arguments must follow bare *",t.c_filename,e.lineno);(_=s(e,o+1)).type==V.T_COMMA?o=$(t,e,o+=2,u,c):(p=v(t,_),(o+=3)t.c_feature_version)return o(t,l,"Async functions are only supported in Python 3.5 and greater"),null;r(l,B.funcdef);var d=h(s(l,p));if(u(t,0,s(l,p),0))return null;var f=w(t,s(l,p+1));if(!f)return null;if(s(l,p+2).type==V.T_RARROW){if(!(c=F(t,s(l,p+3))))return null;p+=2}if(s(l,p+3).type==V.T_TYPE_COMMENT){if(!(_=V.T_NEW_TYPE_COMMENT(s(l,p+3))))return null;p+=1}var g=m(t,s(l,p+3));if(!g)return null;if(1":return Sk.astnodes.RShift;case"&":return Sk.astnodes.BitAnd;case"^":return Sk.astnodes.BitXor;case"|":return Sk.astnodes.BitOr;case"*":return"*"===e.value.charAt(1)?Sk.astnodes.Pow:Sk.astnodes.Mult;case"@":if(Sk.__future__.python3)return Sk.astnodes.MatMult;default:Sk.asserts.fail("invalid augassign")}}(0,s(e,1)),a,e.lineno,e.col_offset)}if(s(e,1).type===B.annassign){if(!Sk.__future__.python3)throw new Sk.builtin.SyntaxError("Annotated assignment is not supported in Python 2",t.c_filename,e.lineno);n=s(e,0);var l=s(e,1),p=1;for(o=n;1==i(o);)o=s(o,0);switch(0o(r,a,"f-string: expecting '}'");for(Sk.asserts.assert(e<=n);e=e),Sk.asserts.assert("{"==t.charAt(e-1)),Sk.asserts.assert("}"==t.charAt(n)||"!"==t.charAt(n)||":"==t.charAt(n)),t=t.substring(e,n),/^\s*$/.test(t)&&o(i,s,"f-string: empty expression not allowed");try{let e=Sk.parse("","("+t+")");var r=Sk.astFromParse(e.cst,"",e.flags)}catch(t){throw t.traceback&&t.traceback[0]&&((r=t.traceback[0]).lineno=(r.lineno||1)-1+s.lineno,r.filename=i.c_filename),t}return Sk.asserts.assert(1==r.body.length&&r.body[0].constructor===Sk.astnodes.Expr),r.body[0].value}(t,l,e,r,a),"!"==t.charAt(e)&&(++e>=n&&d(),c=t.charAt(e),e++,"s"!=c&&"r"!=c&&"a"!=c&&o(r,a,"f-string: invalid conversion character: expected 's', 'r', or 'a'")),e>=n&&d(),":"==t.charAt(e)&&(++e>=n&&d(),[u,e]=R(t,e,n,i,s+1,r,a)),(e>=n||"}"!=t.charAt(e))&&d(),e++,[new Sk.astnodes.FormattedValue(l,c,u,a.lineno,a.col_offset),e]}function R(t,e,n,i,s,r,o){let a=[],l=t=>{if(-1!==t.indexOf("}")){if(/(^|[^}])}(}})*($|[^}])/.test(t))throw new Sk.builtin.SyntaxError("f-string: single '}' is not allowed",r.c_filename,o.lineno,o.col_offset);t=t.replace(/}}/g,"}")}a.push(new Sk.astnodes.Str(new Sk.builtin.str(t),o.lineno,o.col_offset,r.end_lineno,o.end_col_offset))};for(;ei&&(u=-1,n=i))}if(-1===u){l(t.substring(e,n)),e=n;break}if(u+1=l.length){if("None"===l)return new Sk.astnodes.NameConstant(Sk.builtin.none.none$,e.lineno,e.col_offset);if("True"===l)return new Sk.astnodes.NameConstant(Sk.builtin.bool.true$,e.lineno,e.col_offset);if("False"===l)return new Sk.astnodes.NameConstant(Sk.builtin.bool.false$,e.lineno,e.col_offset)}return t=h(l),new Sk.astnodes.Name(t,Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);case V.T_STRING:n=[];for(var u=0;u=y&&o(p,_,"Truncated \\xNN escape"),T+=String.fromCharCode(parseInt(b.substr(m+1,2),16)),m+=2):k||"u"!==g?k||"U"!==g?T+="\\"+g:(m+8>=y&&o(p,_,"Truncated \\UXXXXXXXX escape"),T+=String.fromCodePoint(parseInt(b.substr(m+1,8),16)),m+=8):(m+4>=y&&o(p,_,"Truncated \\uXXXX escape"),T+=String.fromCharCode(parseInt(b.substr(m+1,4),16)),m+=4))):k&&127l.charCodeAt(1)&&(l="0o"+l.substring(1)),n=!0,"l"!==u&&"L"!==u||(l=l.slice(0,-1),n=!1),l=(u=Number(l))>Number.MAX_SAFE_INTEGER?n?new Sk.builtin.int_(JSBI.BigInt(l)):new Sk.builtin.lng(JSBI.BigInt(l)):n?new Sk.builtin.int_(u):new Sk.builtin.lng(u)),new t(l,e.lineno,e.col_offset);case V.T_ELLIPSIS:return new Sk.astnodes.Ellipsis(e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);case V.T_LPAR:return(n=s(e,1)).type==V.T_RPAR?new Sk.astnodes.Tuple([],Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset):n.type==B.yield_expr?F(t,n):1==i(n)?M(t,n):s(n,1).type==B.comp_for?d(S(t,n),e):d(M(t,n),e);case V.T_LSQB:return(n=s(e,1)).type==V.T_RSQB?new Sk.astnodes.List([],Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset):(r(n,B.testlist_comp),1==i(n)||s(n,1).type==V.T_COMMA?(t=f(t,n))?new Sk.astnodes.List(t,Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset):null:(l=n,Sk.asserts.assert(l.type==B.testlist_comp),d(t=O(t,l,1),e)));case V.T_LBRACE:if((n=s(e,1)).type==V.T_RBRACE)return new Sk.astnodes.Dict(null,null,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);if(l=s(n,0).type==V.T_DOUBLESTAR,1==i(n)||13-l&&s(n,3-l).type==B.comp_for){if(l)return o(t,e,"dict unpacking cannot be used in dict comprehension"),null;l=n,Sk.asserts.assert(3>11&7,this.__namespaces=n||[]}function i(t,e,n,i,s){this.symFlags={},this.name=e,this.varnames=[],this.children=[],this.blockType=n,this.returnsValue=this.varkeywords=this.varargs=this.generator=this.childHasFree=this.hasFree=this.isNested=!1,this.lineno=s,this.table=t,t.cur&&(t.cur.nested||"function"===t.cur.blockType)&&(this.isNested=!0),i.scopeId=a++,t.stss[i.scopeId]=this,this.symbols={}}function s(t){this.filename=t,this.top=this.cur=null,this.stack=[],this.curClass=this.global=null,this.tmpname=0,this.stss={}}function r(t,e){var n;for(n=0;n>11&7)||2==t}))),this._funcGlobals},i.prototype.get_frees=function(){return Sk.asserts.assert("function"==this.get_type(),"get_frees only valid for function scopes"),this._funcFrees||(this._funcFrees=this._identsMatching((function(t){return 4==(t>>11&7)}))),this._funcFrees},i.prototype.get_methods=function(){var t;if(Sk.asserts.assert("class"==this.get_type(),"get_methods only valid for class scopes"),!this._classMethods){var e=[];for(t=0;t>11&7},s.prototype.getStsForAst=function(t){return Sk.asserts.assert(void 0!==t.scopeId,"ast wasn't added to st?"),t=this.stss[t.scopeId],Sk.asserts.assert(void 0!==t,"unknown sym tab entry"),t},s.prototype.SEQStmt=function(t){var e,n;if(null!==t){Sk.asserts.assert(Sk.isArrayLike(t),"SEQ: nodes isn't array? got "+t.toString());var i=t.length;for(n=0;n","").replace(" ","_"))};var a=Sk.builtin.str.reservedWords_;n.prototype.makeConstant=function(t){var e,n="";for(e=0;e Sk.execLimit) {throw new Sk.builtin.TimeoutError(Sk.timeoutMsg())}"),null!==Sk.yieldLimit&&this.u.canSuspend&&(t=t+"if (!$waking && ($dateNow - Sk.lastYield > Sk.yieldLimit)) {var $susp = $saveSuspension({data: {type: 'Sk.yield'}, resume: function() {}}, '"+this.filename+"',$currLineNo,$currColNo);",t+="$susp.$blk = $blk;$susp.optional = true;return $susp;}$waking = false;",this.u.doesSuspend=!0)),t},n.prototype._jumpfalse=function(t,e){t=this._gr("jfalse","(",t,"===false||!Sk.misceval.isTrue(",t,"))"),o("if(",t,"){/*test failed */$blk=",e,";continue;}")},n.prototype._jumpundef=function(t,e){o("if(",t,"===undefined){$blk=",e,";continue;}")},n.prototype._jumpnotundef=function(t,e){o("if(",t,"!==undefined){$blk=",e,";continue;}")},n.prototype._jumptrue=function(t,e){t=this._gr("jtrue","(",t,"===true||Sk.misceval.isTrue(",t,"))"),o("if(",t,"){/*test passed */$blk=",e,";continue;}")},n.prototype._jump=function(t){null===this.u.blocks[this.u.curblock]._next&&(o("$blk=",t,";"),this.u.blocks[this.u.curblock]._next=t)},n.prototype._checkSuspension=function(t){if(this.u.canSuspend){var e=this.newBlock("function return or resume suspension");this._jump(e),this.setBlock(e),t=t||{lineno:"$currLineNo",col_offset:"$currColNo"},o("if ($ret && $ret.$isSuspension) { return $saveSuspension($ret,'"+this.filename+"',"+t.lineno+","+t.col_offset+"); }"),this.u.doesSuspend=!0,this.u.tempsToSave=this.u.tempsToSave.concat(this.u.localtemps)}else o("if ($ret && $ret.$isSuspension) { $ret = Sk.misceval.retryOptionalSuspensionOrThrow($ret); }")},n.prototype.cunpackstarstoarray=function(t,e){if(!t||0==t.length)return"[]";let n=!1;for(let i of t){if(e&&n)throw new Sk.builtin.SyntaxError("Extended argument unpacking is not permitted in Python 2");i.constructor===Sk.astnodes.Starred&&(n=!0)}if(n){e=this._gr("unpack","[]");for(let n of t)n.constructor!==Sk.astnodes.Starred?o(e,".push(",this.vexpr(n),");"):(o("$ret = Sk.misceval.iterFor(Sk.abstr.iter(",this.vexpr(n.value),"), function(e) { ",e,".push(e); });"),this._checkSuspension());return e}return"["+t.map((t=>this.vexpr(t))).join(",")+"]"},n.prototype.cunpackkwstoarray=function(t,e){var n="undefined";if(t&&0=n.length&&(n=this.vexpr(s),"dict"===t?(t=this.vexpr(r),o(e,".mp$ass_subscript(",t,",",n,");")):"list"===t?o(e,".v.push(",n,");"):"set"===t&&o(e,".v.mp$ass_subscript(",n,", true);"),this._jump(c),this.setBlock(c)),this._jump(u),this.setBlock(p),e},n.prototype.cyield=function(t){if(this.u.ste.blockType!==Sk.SYMTAB_CONSTS.FunctionBlock)throw new Sk.builtin.SyntaxError("'yield' outside function",this.filename,t.lineno);var e="Sk.builtin.none.none$";return t.value&&(e=this.vexpr(t.value)),t=this.newBlock("after yield"),o("return [/*resume*/",t,",/*ret*/",e,"];"),this.setBlock(t),"$gen.gi$sentvalue"},n.prototype.cyieldfrom=function(t){if(this.u.ste.blockType!==Sk.SYMTAB_CONSTS.FunctionBlock)throw new Sk.builtin.SyntaxError("'yield' outside function",this.filename,t.lineno);var e=this.vexpr(t.value);e=this._gr("iter","Sk.abstr.iter(",e,")"),o("$gen."+e+"=",e,";");var n=this.newBlock("after iter"),i=this.newBlock("after yield from");this._jump(n),this.setBlock(n);var s=this.gensym("retval");o(e,"=$gen.",e,";"),o("var ",s,";"),o("if ($gen.gi$sentvalue === Sk.builtin.none.none$ || "+e+".constructor === Sk.builtin.generator) {"),o("$ret=",e,".tp$iternext(true, $gen.gi$sentvalue);"),o("} else {");var r=this.makeConstant("new Sk.builtin.str('send');");return o("$ret=Sk.misceval.tryCatch("),o("function(){"),o("return Sk.misceval.callsimOrSuspendArray(Sk.abstr.gattr(",e,",",r,"), [$gen.gi$sentvalue]);},"),o("function (e) { "),o("if (e instanceof Sk.builtin.StopIteration) { "),o(e,".gi$ret = e.$value;"),o("return undefined;"),o("} else { throw e; }"),o("}"),o(");"),o("}"),this._checkSuspension(t),o(s,"=$ret;"),o("if(",s,"===undefined) {"),o("$gen.gi$sentvalue=$gen."+e+".gi$ret;"),o("$blk=",i,";continue;"),o("}"),o("return [/*resume*/",n,",/*ret*/",s,"];"),this.setBlock(i),"$gen.gi$sentvalue"},n.prototype.ccompare=function(t){var e;Sk.asserts.assert(t.ops.length===t.comparators.length);var n=this.vexpr(t.left),i=t.ops.length,s=this.newBlock("done"),r=this._gr("compareres","null");for(e=0;ethis.u.lineno&&(this.u.lineno=t.lineno,this.u.linenoSet=!1),t.constructor){case Sk.astnodes.BoolOp:return this.cboolop(t);case Sk.astnodes.BinOp:return this._gr("binop","Sk.abstr.numberBinOp(",this.vexpr(t.left),",",this.vexpr(t.right),",'",t.op.prototype._astname,"')");case Sk.astnodes.UnaryOp:return this._gr("unaryop","Sk.abstr.numberUnaryOp(",this.vexpr(t.operand),",'",t.op.prototype._astname,"')");case Sk.astnodes.Lambda:return this.clambda(t);case Sk.astnodes.IfExp:return this.cifexp(t);case Sk.astnodes.Dict:return this.cdict(t);case Sk.astnodes.ListComp:return this.clistcomp(t);case Sk.astnodes.DictComp:return this.cdictcomp(t);case Sk.astnodes.SetComp:return this.csetcomp(t);case Sk.astnodes.GeneratorExp:return this.cgenexp(t);case Sk.astnodes.Yield:return this.cyield(t);case Sk.astnodes.YieldFrom:return this.cyieldfrom(t);case Sk.astnodes.Compare:return this.ccompare(t);case Sk.astnodes.Call:return e=this.ccall(t),this.annotateSource(t),e;case Sk.astnodes.Num:if("number"==typeof t.n)return t.n;if(t.n instanceof Sk.builtin.lng)return this.makeConstant("new Sk.builtin.lng('"+t.n.v.toString()+"')");if(t.n instanceof Sk.builtin.int_)return"number"==typeof t.n.v?this.makeConstant("new Sk.builtin.int_("+t.n.v+")"):this.makeConstant("new Sk.builtin.int_('"+t.n.v.toString()+"')");if(t.n instanceof Sk.builtin.float_)return t=0===t.n.v&&-1/0==1/t.n.v?"-0":t.n.v,this.makeConstant("new Sk.builtin.float_("+t+")");if(t.n instanceof Sk.builtin.complex)return this.makeConstant("new Sk.builtin.complex("+(0===t.n.real&&-1/0==1/t.n.real?"-0":t.n.real)+", "+(0===t.n.imag&&-1/0==1/t.n.imag?"-0":t.n.imag)+")");Sk.asserts.fail("unhandled Num type");case Sk.astnodes.Bytes:if(Sk.__future__.python3){for(e=[],t=t.s.$jsstr(),n=0;ni||127<=i&&256>i?n+"\\x"+("0"+i.toString(16)).substr(-2):256<=i?n+"\\u"+("000"+i.toString(16)).substr(-4):n+t.charAt(s);return t=n+'"',e.call(this,"new Sk.builtin.str(",t,")");case Sk.astnodes.Attribute:switch(t.ctx!==Sk.astnodes.AugLoad&&t.ctx!==Sk.astnodes.AugStore&&(s=this.vexpr(t.value)),i=(i=t.attr.$r().v).substring(1,i.length-1),i=r(this.u.private_,new Sk.builtin.str(i)).v,i=this.makeConstant("new Sk.builtin.str('"+i+"')"),t.ctx){case Sk.astnodes.AugLoad:return o("$ret = ",n,".tp$getattr(",i,", true);"),this._checkSuspension(t),o("\nif ($ret === undefined) {"),o("\nthrow new Sk.builtin.AttributeError(",n,'.sk$attrError() + " has no attribute \'" + ',i,'.$jsstr() + "\'");'),o("\n};"),this._gr("lattr","$ret");case Sk.astnodes.Load:return o("$ret = ",s,".tp$getattr(",i,", true);"),this._checkSuspension(t),o("\nif ($ret === undefined) {"),o("\nthrow new Sk.builtin.AttributeError(",s,'.sk$attrError() + " has no attribute \'" + ',i,'.$jsstr() + "\'");'),o("\n};"),this._gr("lattr","$ret");case Sk.astnodes.AugStore:o("$ret = undefined;"),o("if(",e,"!==undefined){"),o("$ret = ",n,".tp$setattr(",i,",",e,", true);"),o("}"),this._checkSuspension(t);break;case Sk.astnodes.Store:o("$ret = ",s,".tp$setattr(",i,",",e,", true);"),this._checkSuspension(t);break;case Sk.astnodes.Del:o("$ret = ",s,".tp$setattr(",i,", undefined, true);"),this._checkSuspension(t);break;default:Sk.asserts.fail("invalid attribute expression")}break;case Sk.astnodes.Subscript:switch(t.ctx){case Sk.astnodes.AugLoad:return o("$ret = Sk.abstr.objectGetItem(",n,",",i,", true);"),this._checkSuspension(t),this._gr("gitem","$ret");case Sk.astnodes.Load:case Sk.astnodes.Store:case Sk.astnodes.Del:return this.vslice(t.slice,t.ctx,this.vexpr(t.value),e);case Sk.astnodes.AugStore:o("$ret=undefined;"),o("if(",e,"!==undefined){"),o("$ret=Sk.abstr.objectSetItem(",n,",",i,",",e,", true)"),o("}"),this._checkSuspension(t);break;default:Sk.asserts.fail("invalid subscript expression")}break;case Sk.astnodes.Name:return this.nameop(t.id,t.ctx,e);case Sk.astnodes.NameConstant:if(t.ctx===Sk.astnodes.Store||t.ctx===Sk.astnodes.AugStore||t.ctx===Sk.astnodes.Del)throw new Sk.builtin.SyntaxError("can not assign to a constant name");switch(t.value){case Sk.builtin.none.none$:return"Sk.builtin.none.none$";case Sk.builtin.bool.true$:return"Sk.builtin.bool.true$";case Sk.builtin.bool.false$:return"Sk.builtin.bool.false$";default:Sk.asserts.fail("invalid named constant")}break;case Sk.astnodes.List:return this.ctuplelistorset(t,e,"list");case Sk.astnodes.Tuple:return this.ctuplelistorset(t,e,"tuple");case Sk.astnodes.Set:return this.ctuplelistorset(t,e,"set");case Sk.astnodes.Starred:if(t.ctx===Sk.astnodes.Store)throw new Sk.builtin.SyntaxError("starred assignment target must be in a list or tuple",this.filename,t.lineno);throw new Sk.builtin.SyntaxError("can't use starred expression here",this.filename,t.lineno);case Sk.astnodes.JoinedStr:return this.cjoinedstr(t);case Sk.astnodes.FormattedValue:return this.cformattedvalue(t);case Sk.astnodes.Ellipsis:return this.makeConstant("Sk.builtin.Ellipsis");default:Sk.asserts.fail("unhandled case "+t.constructor.name+" vexpr")}},n.prototype.vseqexpr=function(t,e){var n;Sk.asserts.assert(void 0===e||t.length===e.length);var i=[];for(n=0;n",this.u.blocks[e]._next=null,e},n.prototype.setBlock=function(t){Sk.asserts.assert(0<=t&&t0) { $err=err; $blk=$exc.pop(); } else { throw err; } }};",o+="var $saveSuspension = function($child, $filename, $lineno, $colno) {var susp = new Sk.misceval.Suspension(); susp.child=$child;susp.resume=function(){"+t.scopename+".$wakingSuspension=susp; return "+t.scopename+"("+(t.ste.generator?"$gen":"")+"); };susp.data=susp.child.data;susp.$blk=$blk;susp.$loc=$loc;susp.$gbl=$gbl;susp.$exc=$exc;susp.$err=$err;susp.$postfinally=$postfinally;susp.$filename=$filename;susp.$lineno=$lineno;susp.$colno=$colno;susp.optional=susp.child.optional;"+(r?"susp.$cell=$cell;":""),s={},e=0;et?this.vexpr(t):"undefined"))),i&&i.vararg&&(d=i.vararg),i&&i.kwarg&&(f=i.kwarg),!Sk.__future__.python3&&i&&i.kwonlyargs&&0!=i.kwonlyargs.length)throw new Sk.builtin.SyntaxError("Keyword-only arguments are not supported in Python 2");var m=this.enterScope(e,t,t.lineno,this.canSuspend),g=this.u.ste.generator,b=this.u.ste.hasFree,S=this.u.ste.childHasFree,k=this.newBlock("codeobj entry");this.u.prefixCode="var "+m+"=(function "+this.niceName(e.v)+"$(";var y=[];if(g){if(f)throw new Sk.builtin.SyntaxError(e.v+"(): keyword arguments in generators not supported",this.filename,t.lineno);if(d)throw new Sk.builtin.SyntaxError(e.v+"(): variable number of arguments in generators not supported",this.filename,t.lineno);y.push("$gen")}else{for(f&&(y.push("$kwa"),this.u.tempsToSave.push("$kwa")),u=0;i&&u0) { $err = err; $blk=$exc.pop(); continue; } else { throw err; }} }});",a.call(this,m),i){for(let t of i.args)c.push(t.arg.v);for(let t of i.kwonlyargs||[])c.push(t.arg.v);this.u.argnames=c}if(this.exitScope(),0"),null,t.args,(function(e){e=this.vexpr(t.body),o("return ",e,";")}))},n.prototype.cifexp=function(t){var e=this.newBlock("next of ifexp"),n=this.newBlock("end of ifexp"),i=this._gr("res","null"),s=this.vexpr(t.test);return this._jumpfalse(s,e),o(i,"=",this.vexpr(t.body),";"),this._jump(n),this.setBlock(e),o(i,"=",this.vexpr(t.orelse),";"),this._jump(n),this.setBlock(n),i},n.prototype.cgenexpgen=function(t,e,n){var i=this.newBlock("start for "+e),s=this.newBlock("skip for "+e);this.newBlock("if cleanup for "+e);var r=this.newBlock("end for "+e),a=t[e];if(0===e)var l="$loc.$iter0";else{var u=this.vexpr(a.iter);l="$loc."+this.gensym("iter"),o(l,"=","Sk.abstr.iter(",u,");")}this._jump(i),this.setBlock(i),this.annotateSource(n),o("$ret = Sk.abstr.iternext(",l,this.u.canSuspend?", true":", false",");"),this._checkSuspension(n),u=this._gr("next","$ret"),this._jumpundef(u,r),this.vexpr(a.target,u);var c=a.ifs?a.ifs.length:0;for(l=0;l=t.length&&(this.annotateSource(n),t=this.vexpr(n),o("return [",s,"/*resume*/,",t,"/*ret*/];"),this.setBlock(s)),this._jump(i),this.setBlock(r),1===e&&o("return Sk.builtin.none.none$;")},n.prototype.cgenexp=function(t){var e=this.buildcodeobj(t,new Sk.builtin.str(""),null,null,(function(e){this.cgenexpgen(t.generators,0,t.elt)}));return e=this._gr("gener","Sk.misceval.callsimArray(",e,");"),o(e,".gi$locals.$iter0=Sk.abstr.iter(",this.vexpr(t.generators[0].iter),");"),e},n.prototype.cclass=function(t){Sk.asserts.assert(t instanceof Sk.astnodes.ClassDef);var e=this.vseqexpr(t.decorator_list),n=this.vseqexpr(t.bases);let i=this.cunpackkwstoarray(t.keywords);var s=this.enterScope(t.name,t,t.lineno),r=this.newBlock("class entry");this.u.prefixCode="var "+s+"=(function $"+t.name.v+"$class_outer($globals,$locals,$cell){var $gbl=$globals,$loc=$locals,$free=$globals;",this.u.switchCode+="(function $"+t.name.v+"$_closure($cell){",this.u.switchCode+="var $blk="+r+",$exc=[],$ret=undefined,$postfinally=undefined,$currLineNo=undefined,$currColNo=undefined;",null!==Sk.execLimit&&(this.u.switchCode+="if (typeof Sk.execStart === 'undefined') {Sk.execStart = Date.now()}"),null!==Sk.yieldLimit&&this.u.canSuspend&&(this.u.switchCode+="if (typeof Sk.lastYield === 'undefined') {Sk.lastYield = Date.now()}"),this.u.switchCode+="while(true){try{",this.u.switchCode+=this.outputInterruptTest(),this.u.switchCode+="switch($blk){",this.u.suffixCode="}}catch(err){ if (!(err instanceof Sk.builtin.BaseException)) { err = new Sk.builtin.ExternalError(err); } err.traceback.push({lineno: $currLineNo, colno: $currColNo, filename: '"+this.filename+"'}); if ($exc.length>0) { $err = err; $blk=$exc.pop(); continue; } else { throw err; }}}",this.u.suffixCode+="}).call(null, $cell);});",this.u.private_=t.name,this.cbody(t.body,t.name),o("return;"),this.exitScope(),o("$ret = Sk.misceval.buildClass($gbl,",s,",",t.name.$r().v,",[",n,"], $cell, ",i,");"),this._checkSuspension();for(let t of e.reverse())o("$ret = Sk.misceval.callsimOrSuspendArray(",t,", [$ret]);"),this._checkSuspension();this.nameop(t.name,Sk.astnodes.Store,"$ret")},n.prototype.ccontinue=function(t){var e=this.peekFinallyBlock();if(0==this.u.continueBlocks.length)throw new Sk.builtin.SyntaxError("'continue' outside loop",this.filename,t.lineno);t=this.u.continueBlocks[this.u.continueBlocks.length-1],Sk.asserts.assert(this.u.breakBlocks.length===this.u.continueBlocks.length),e&&e.breakDepth==this.u.continueBlocks.length?o("$postfinally={isBreak:true,gotoBlock:",t,"};"):this._jump(t)},n.prototype.cbreak=function(t){var e=this.peekFinallyBlock();if(0===this.u.breakBlocks.length)throw new Sk.builtin.SyntaxError("'break' outside loop",this.filename,t.lineno);t=this.u.breakBlocks[this.u.breakBlocks.length-1],e&&e.breakDepth==this.u.breakBlocks.length?o("$postfinally={isBreak:true,gotoBlock:",t,"};"):this._jump(t)},n.prototype.vstmt=function(t,e){if(this.u.lineno=t.lineno,this.u.linenoSet=!1,this.u.localtemps=[],Sk.debugging&&this.u.canSuspend){var n=this.newBlock("debug breakpoint for line "+t.lineno);o("if (Sk.breakpoints('"+this.filename+"',"+t.lineno+","+t.col_offset+")) {","var $susp = $saveSuspension({data: {type: 'Sk.debug'}, resume: function() {}}, '"+this.filename+"',"+t.lineno+","+t.col_offset+");","$susp.$blk = "+n+";","$susp.optional = true;","return $susp;","}"),this._jump(n),this.setBlock(n),this.u.doesSuspend=!0}switch(this.annotateSource(t),t.constructor){case Sk.astnodes.FunctionDef:this.cfunction(t,e);break;case Sk.astnodes.ClassDef:this.cclass(t);break;case Sk.astnodes.Return:if(this.u.ste.blockType!==Sk.SYMTAB_CONSTS.FunctionBlock)throw new Sk.builtin.SyntaxError("'return' outside function",this.filename,t.lineno);n=t.value?this.vexpr(t.value):"Sk.builtin.none.none$",0==this.u.finallyBlocks.length?o("return ",n,";"):(o("$postfinally={returning:",n,"};"),this._jump(this.peekFinallyBlock().blk));break;case Sk.astnodes.Delete:this.vseqexpr(t.targets);break;case Sk.astnodes.Assign:var i=t.targets.length;for(n=this.vexpr(t.value),e=0;e"!==t.name.v){var e=t.name.$r().v;e=e.substring(1,e.length-1),o(t.scopename,".co_name=new Sk.builtins['str']('",e,"');"),this.stack.length&&"class"==this.u.ste.blockType&&o(t.scopename,".co_qualname=new Sk.builtins['str']('"+this.u.name.v+"."+e+"');")}for(var n in t.consts)t.consts.hasOwnProperty(n)&&(t.suffixCode+=n+" = "+t.consts[n]+";")},n.prototype.cbody=function(t,e){var n=0;const i=this.maybeCDocstringOfBody(t);for(null!==i&&(o("$loc.__doc__ = ",i,";"),n=1);n"),t,0,this.canSuspend),n=this.newBlock("module entry");if(this.u.prefixCode="var "+e+"=(function($forcegbl, $forceloc){",this.u.varDeclsCode="var $gbl = $forcegbl || {}, $blk="+n+",$exc=[],$loc=$forceloc || $gbl,$cell={},$err=undefined;var $ret=undefined,$postfinally=undefined,$currLineNo=undefined,$currColNo=undefined;",null!==Sk.execLimit&&(this.u.varDeclsCode+="if (typeof Sk.execStart === 'undefined') {Sk.execStart = Date.now()}"),null!==Sk.yieldLimit&&this.u.canSuspend&&(this.u.varDeclsCode+="if (typeof Sk.lastYield === 'undefined') {Sk.lastYield = Date.now()}"),this.u.varDeclsCode+="var $waking=false; if ("+e+".$wakingSuspension!==undefined) { $wakeFromSuspension(); $waking=true; }if (Sk.retainGlobals) { if (Sk.globals) { $gbl = Sk.globals; Sk.globals = $gbl; $loc = $gbl; } else { Sk.globals = $gbl; }} else { Sk.globals = $gbl; }",this.u.switchCode="while(true){try{",this.u.switchCode+=this.outputInterruptTest(),this.u.switchCode+="switch($blk){",this.u.suffixCode="}",this.u.suffixCode+="}catch(err){ if (!(err instanceof Sk.builtin.BaseException)) { err = new Sk.builtin.ExternalError(err); } err.traceback.push({lineno: $currLineNo, colno: $currColNo, filename: '"+this.filename+"'}); if ($exc.length>0) { $err = err; $blk=$exc.pop(); continue; } else { throw err; }} } });",t.constructor===Sk.astnodes.Module)this.cbody(t.body),o("return $loc;");else Sk.asserts.fail("todo; unhandled case in compilerMod");return this.exitScope(),this.result.push(this.outputAllUnits()),e},Sk.compile=function(t,e,i,s){i=Sk.__future__,Sk.__future__=Object.create(Sk.__future__);var r=Sk.parse(e,t),o=Sk.astFromParse(r.cst,e,r.flags);return r=r.flags,s=(t=new n(e,Sk.symboltable(o,e),r,s,t)).cmod(o),Sk.__future__=i,{funcname:"$compiledmod",code:`var $compiledmod = function() {${t.result.join("")}\nreturn ${s};}();\n$compiledmod;`,filename:e}},Sk.exportSymbol("Sk.compile",Sk.compile),Sk.resetCompiler=function(){Sk.gensymcount=0},Sk.exportSymbol("Sk.resetCompiler",Sk.resetCompiler),Sk.fixReserved=s,Sk.exportSymbol("Sk.fixReserved",Sk.fixReserved),Sk.unfixReserved=function(t){return t.replace(/_\$rw\$$/,"")},Sk.exportSymbol("Sk.unfixReserved",Sk.unfixReserved),Sk.mangleName=r,Sk.exportSymbol("Sk.mangleName",Sk.mangleName),Sk.reservedWords_=a,Sk.exportSymbol("Sk.reservedWords_",Sk.reservedWords_)},function(t,e){Sk.sysmodules=new Sk.builtin.dict([]),Sk.realsyspath=void 0,Sk.importSearchPathForName=function(t,e,n){var i=t.replace(/\./g,"/"),s=function(t,e){return Sk.misceval.chain(Sk.misceval.tryCatch((function(){return Sk.read(t)}),(function(t){})),(function(n){if(void 0!==n)return new Sk.misceval.Break({filename:t,code:n,packagePath:e})}))};return void 0===n&&(n=Sk.realsyspath),Sk.misceval.iterFor(n.tp$iter(),(function(t){return Sk.misceval.chain(s(t.v+"/"+i+e,!1),(function(n){return n||s(t.v+"/"+i+"/__init__"+e,t.v+"/"+i)}))}))},Sk.importSetUpPath=function(t){if(!Sk.realsyspath){var e=[new Sk.builtin.str("src/builtin"),new Sk.builtin.str("src/lib"),new Sk.builtin.str(".")];for(t=0;ti;++i)t+=" ";n[e-1]="/* "+t+e+" */ "+n[e-1]}return n.join("\n")}(r),Sk.debugout(r)}"$compiledmod"!==i.funcname&&(r+="\n"+i.funcname+";");var o=new Sk.builtin.str(n),l=new Sk.builtin.str(t);Sk.sysmodules.mp$ass_subscript(o,c),s&&s.tp$setattr(l,c);var u=Sk.global.eval(r);c.init$dict(o,Sk.builtin.none.none$),c.$d.__package__=i.packagePath?o:m?new Sk.builtin.str(_+m):h||Sk.builtin.none.none$,i.packagePath&&(c.$d.__path__=new Sk.builtin.tuple([new Sk.builtin.str(i.packagePath)])),i.filename&&"$builtinmodule"!==i.funcname&&(c.$d.__file__=new Sk.builtin.str(i.filename));var p=s&&s.$initializing;return c.$initializing=!0,s&&!p&&(s.$initializing=!0),Sk.misceval.tryCatch((()=>Sk.misceval.chain(u(c.$d),(t=>(c.$initializing=!1,s&&!p&&(s.$initializing=!1),t)))),(t=>{try{Sk.abstr.objectDelItem(Sk.sysmodules,o)}catch(t){}if(s)try{s.tp$setattr(l,void 0)}catch(t){}throw c.$initializing=!1,s&&!p&&(s.$initializing=!1),t}))}}),(function(e){var n;if(void 0===e){if(r&&!p)return;throw new Sk.builtin.ModuleNotFoundError("No module named "+Sk.misceval.objectRepr(new Sk.builtin.str(t)))}if(e!==c.$d){for(n in c.$d)e[n]||(e[n]=c.$d[n]);c.$d=e}if(Sk.onAfterImport&&"function"==typeof Sk.onAfterImport)try{Sk.onAfterImport(t)}catch(t){}return p?(u.tp$setattr(new Sk.builtin.str(f[f.length-1]),c),p):c}))}));return o?g:Sk.misceval.retryOptionalSuspensionOrThrow(g)},Sk.importModule=function(t,e,n){return Sk.importModuleInternal_(t,e,void 0,void 0,void 0,!1,n)},Sk.importMain=function(t,e,n){return Sk.dateSet=!1,Sk.filesLoaded=!1,Sk.sysmodules=new Sk.builtin.dict([]),Sk.realsyspath=void 0,Sk.resetCompiler(),Sk.importModuleInternal_(t,e,"__main__",void 0,void 0,!1,n)},Sk.importMainWithBody=function(t,e,n,i){return Sk.dateSet=!1,Sk.filesLoaded=!1,Sk.sysmodules=new Sk.builtin.dict([]),Sk.realsyspath=void 0,Sk.resetCompiler(),Sk.importModuleInternal_(t,e,"__main__",n,void 0,!1,i)},Sk.importBuiltinWithBody=function(t,e,n,i){return Sk.importModuleInternal_(t,e,"__builtin__."+t,n,void 0,!1,i)},Sk.builtin.__import__=function(t,e,n,i,s){t=t.toString();var r,o=Sk.globals;if(null==s&&(s=Sk.__future__.absolute_import?0:-1),0!==s&&e.__package__&&e.__package__!==Sk.builtin.none.none$){if((r=e.__package__.v)&&0=e.length)throw new Sk.builtin.ImportError("Attempted relative import beyond toplevel package");e.length-=s-1,r=e.join(".")}var a=Sk.sysmodules.quick$lookup(new Sk.builtin.str(r))}if(0Sk.importModuleInternal_(s,void 0,void 0,void 0,n,!0,!0)))}return Sk.misceval.chain(...e,(function(){return Sk.asserts.assert(n),n}))}return e}),(function(t){return o!==Sk.globals&&(Sk.globals=o),t}))},Sk.importStar=function(t,e,n){if(n=t.tp$getattr(new Sk.builtin.str("__all__")))for(let i=Sk.abstr.iter(n),s=i.tp$iternext();void 0!==s;s=i.tp$iternext())e[s.v]=Sk.abstr.gattr(t,s);else{n=Object.getOwnPropertyNames(t.$d);for(let i in n)"_"!=n[i].charAt(0)&&(e[n[i]]=t.$d[n[i]])}},Sk.exportSymbol("Sk.importMain",Sk.importMain),Sk.exportSymbol("Sk.importMainWithBody",Sk.importMainWithBody),Sk.exportSymbol("Sk.importBuiltinWithBody",Sk.importBuiltinWithBody),Sk.exportSymbol("Sk.builtin.__import__",Sk.builtin.__import__),Sk.exportSymbol("Sk.importStar",Sk.importStar)},function(t,e){Sk.builtin.timSort=function(t,e){this.list=new Sk.builtin.list(t.v),this.MIN_GALLOP=7,this.listlength=e||t.sq$length()},Sk.builtin.timSort.prototype.lt=function(t,e){return Sk.misceval.richCompareBool(t,e,"Lt")},Sk.builtin.timSort.prototype.le=function(t,e){return!this.lt(e,t)},Sk.builtin.timSort.prototype.setitem=function(t,e){this.list.v[t]=e},Sk.builtin.timSort.prototype.binary_sort=function(t,e){var n;for(n=t.base+e;n>1);this.lt(e,t.getitem(r))?s=r:i=r+1}for(Sk.asserts.assert(i===s),r=n;r>i;r--)t.setitem(r,t.getitem(r-1));t.setitem(i,e)}},Sk.builtin.timSort.prototype.count_run=function(t){var e;if(1>=t.len)var n=t.len,i=!1;else if(n=2,this.lt(t.getitem(t.base+1),t.getitem(t.base)))for(i=!0,e=t.base+2;ee.len)){for(this.merge_init(),t=this.merge_compute_minrun(e.len);0s&&(l=s),a+=n,l+=n}else{for(s=n+1;ls&&(l=s),o=n-a,a=n-l,l=o}for(Sk.asserts.assert(-1<=a>1),i(e.getitem(e.base+n),t)?a=n+1:l=n;return Sk.asserts.assert(a==l),l},Sk.builtin.timSort.prototype.merge_init=function(){this.min_gallop=this.MIN_GALLOP,this.pending=[]},Sk.builtin.timSort.prototype.merge_lo=function(t,e){var n,i,s;Sk.asserts.assert(0=r)break}else{if(this.setitem(o,t.popleft()),o++,1==t.len)return;if(i=0,++n>=r)break}for(r+=1;;){for(this.min_gallop=r-=1=t.len)return;if(this.setitem(o,e.popleft()),o++,0===e.len)return;for(i=this.gallop(t.getitem(t.base),e,0,!1),s=e.base;s=r)break}else{if(o--,this.setitem(o,l),e.len--,1==e.len)return;if(n=0,++i>=r)break}}for(r+=1;;){this.min_gallop=r-=1t.base+u-1;s--)o--,this.setitem(o,t.getitem(s));if(t.len-=n,0===t.len)return;if(o--,this.setitem(o,e.popright()),1==e.len)return;for(a=t.getitem(t.base+t.len-1),u=this.gallop(a,e,e.len-1,!1),i=e.len-u,s=e.base+e.len-1;s>e.base+u-1;s--)o--,this.setitem(o,e.getitem(s));if(e.len-=i,1>=e.len)return;if(o--,this.setitem(o,t.popright()),0===t.len)return;if(nt.base-1;s--)o--,this.setitem(o,t.getitem(s));for(s=e.base+e.len-1;s>e.base-1;s--)o--,this.setitem(o,e.getitem(s))}},Sk.builtin.timSort.prototype.merge_at=function(t){0>t&&(t=this.pending.length+t);var e=this.pending[t],n=this.pending[t+1];Sk.asserts.assert(0>=1;return t+e},Sk.builtin.listSlice=function(t,e,n){this.list=t,this.base=e,this.len=n},Sk.builtin.listSlice.prototype.copyitems=function(){var t=this.base,e=this.base+this.len;return Sk.asserts.assert(0<=t<=e),new Sk.builtin.listSlice(new Sk.builtin.list(this.list.v.slice(t,e)),0,this.len)},Sk.builtin.listSlice.prototype.advance=function(t){this.base+=t,this.len-=t,Sk.asserts.assert(this.base<=this.list.sq$length())},Sk.builtin.listSlice.prototype.getitem=function(t){return this.list.v[t]},Sk.builtin.listSlice.prototype.setitem=function(t,e){this.list.v[t]=e},Sk.builtin.listSlice.prototype.popleft=function(){var t=this.list.v[this.base];return this.base++,this.len--,t},Sk.builtin.listSlice.prototype.popright=function(){return this.len--,this.list.v[this.base+this.len]},Sk.builtin.listSlice.prototype.reverse=function(){for(var t,e,n=this.list,i=this.base,s=i+this.len-1;i same as super(__class__, )\nsuper(type) -> unbound super object\nsuper(type, obj) -> bound super object; requires isinstance(obj, type)\nsuper(type, type2) -> bound super object; requires issubclass(type2, type)\nTypical use to call a cooperative superclass method:\nclass C(B):\n def meth(self, arg):\n super().meth(arg)\nThis works for class methods too:\nclass C(B):\n @classmethod\n def cmeth(cls, arg):\n super().cmeth(arg)\n",tp$new:Sk.generic.new,tp$init(t,e){if(Sk.abstr.checkNoKwargs("super",e),Sk.abstr.checkArgsLen("super",t,1,2),e=t[0],t=t[1],!Sk.builtin.checkClass(e))throw new Sk.builtin.TypeError("must be type, not "+Sk.abstr.typeName(e));this.obj=t,this.type=e,null!=this.obj&&(this.obj_type=this.$supercheck(e,this.obj))},$r(){return this.obj?new Sk.builtin.str(", <"+Sk.abstr.typeName(this.obj)+" object>>"):new Sk.builtin.str(", NULL>")},tp$getattr(t,e){let n=this.obj_type;if(null==n)return Sk.generic.getAttr.call(this,t,e);var i=n.prototype.tp$mro;const s=i.length;if(t===Sk.builtin.str.$class)return Sk.generic.getAttr.call(this,t,e);let r,o;for(r=0;r+1=s)return Sk.generic.getAttr.call(this,t,e);for(t=t.$mangled;r(Sk.abstr.checkNoKwargs("GenericAlias",e),Sk.abstr.checkArgsLen("GenericAlias",t,2,2),new Sk.builtin.GenericAlias(t[0],t[1])),tp$getattr(t,e){return Sk.builtin.checkString(t)&&!this.attr$exc.includes(t)?this.$origin.tp$getattr(t,e):Sk.generic.getAttr.call(this,t,e)},$r(){const t=this.ga$repr(this.$origin);let e="";return this.$args.v.forEach(((t,n)=>{e+=0{this.is$typevar(e)&&0>this.tuple$index(t,e)&&t.push(e)})),this.$params=new Sk.builtin.tuple(t)},tuple$index:(t,e)=>t.indexOf(e),is$typevar(t){if("TypeVar"!==t.tp$name)return!1;if(void 0===(t=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$module)))throw Sk.builtin.RuntimeError("found object withought a __module__");return"typing"===t.toString()},ga$repr(t){if(t===Sk.builtin.Ellipsis)return"...";if(Sk.abstr.lookupSpecial(t,this.str$orig)&&Sk.abstr.lookupSpecial(t,this.str$args))return Sk.misceval.objectRepr(t);const e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$qualname);if(void 0===e)return Sk.misceval.objectRepr(t);const n=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$module);return void 0===n||Sk.builtin.checkNone(n)?Sk.misceval.objectRepr(t):"builtins"===n.toString()?e.toString():n.toString()+"."+e.toString()},str$orig:new Sk.builtin.str("__origin__"),str$args:new Sk.builtin.str("__args__"),attr$exc:"__origin__ __args__ __parameters__ __mro_entries__ __reduce_ex__ __reduce__".split(" ").map((t=>new Sk.builtin.str(t)))}})},function(t,e){function n(t,e){let n;if(void 0===t||Sk.builtin.checkNone(t))t=void 0;else{if(!(t instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError(e+" must be a dict or None, not "+Sk.abstr.typeName(t));n={},t.$items().forEach((t=>{var[e,i]=t;Sk.builtin.checkString(e)&&(n[e.$mangled]=i)}))}return n}function i(t,e){if(void 0!==t&&!Sk.builtin.checkNone(t))for(let n in e)t.mp$ass_subscript(new Sk.builtin.str(Sk.unfixReserved(n)),e[n])}Sk.builtins={round:null,len:null,min:null,max:null,sum:null,abs:null,fabs:null,ord:null,chr:null,hex:null,oct:null,bin:null,dir:null,repr:null,open:null,isinstance:null,hash:null,getattr:null,hasattr:null,id:null,sorted:null,any:null,all:null,enumerate:Sk.builtin.enumerate,filter:Sk.builtin.filter_,map:Sk.builtin.map_,range:Sk.builtin.range_,reversed:Sk.builtin.reversed,zip:Sk.builtin.zip_,BaseException:Sk.builtin.BaseException,AttributeError:Sk.builtin.AttributeError,ValueError:Sk.builtin.ValueError,Exception:Sk.builtin.Exception,ZeroDivisionError:Sk.builtin.ZeroDivisionError,AssertionError:Sk.builtin.AssertionError,ImportError:Sk.builtin.ImportError,ModuleNotFoundError:Sk.builtin.ModuleNotFoundError,IndentationError:Sk.builtin.IndentationError,IndexError:Sk.builtin.IndexError,LookupError:Sk.builtin.LookupError,KeyError:Sk.builtin.KeyError,TypeError:Sk.builtin.TypeError,UnicodeDecodeError:Sk.builtin.UnicodeDecodeError,UnicodeEncodeError:Sk.builtin.UnicodeEncodeError,NameError:Sk.builtin.NameError,UnboundLocalError:Sk.builtin.UnboundLocalError,IOError:Sk.builtin.IOError,NotImplementedError:Sk.builtin.NotImplementedError,SystemExit:Sk.builtin.SystemExit,OverflowError:Sk.builtin.OverflowError,OperationError:Sk.builtin.OperationError,NegativePowerError:Sk.builtin.NegativePowerError,RuntimeError:Sk.builtin.RuntimeError,RecursionError:Sk.builtin.RecursionError,StopIteration:Sk.builtin.StopIteration,SyntaxError:Sk.builtin.SyntaxError,SystemError:Sk.builtin.SystemError,KeyboardInterrupt:Sk.builtin.KeyboardInterrupt,float_$rw$:Sk.builtin.float_,int_$rw$:Sk.builtin.int_,bool:Sk.builtin.bool,complex:Sk.builtin.complex,dict:Sk.builtin.dict,file:Sk.builtin.file,frozenset:Sk.builtin.frozenset,function:Sk.builtin.func,generator:Sk.builtin.generator,list:Sk.builtin.list,long_$rw$:Sk.builtin.lng,method:Sk.builtin.method,object:Sk.builtin.object,slice:Sk.builtin.slice,str:Sk.builtin.str,set:Sk.builtin.set,tuple:Sk.builtin.tuple,type:Sk.builtin.type,input:null,raw_input:new Sk.builtin.func(Sk.builtin.raw_input),setattr:null,jseval:Sk.builtin.jseval,jsmillis:Sk.builtin.jsmillis,quit:new Sk.builtin.func(Sk.builtin.quit),exit:new Sk.builtin.func(Sk.builtin.quit),print:null,divmod:null,format:null,globals:null,issubclass:null,iter:null,execfile:Sk.builtin.execfile,help:Sk.builtin.help,memoryview:Sk.builtin.memoryview,reload:Sk.builtin.reload,super_$rw$:Sk.builtin.super_,unichr:new Sk.builtin.func(Sk.builtin.unichr),vars:Sk.builtin.vars,apply_$rw$:Sk.builtin.apply_,buffer:Sk.builtin.buffer,coerce:Sk.builtin.coerce,intern:Sk.builtin.intern,property:Sk.builtin.property,classmethod:Sk.builtin.classmethod,staticmethod:Sk.builtin.staticmethod,Ellipsis:Sk.builtin.Ellipsis},t=Sk.builtin.none.none$,e=new Sk.builtin.tuple;const s=new Sk.builtin.int_(0);Sk.abstr.setUpModuleMethods("builtins",Sk.builtins,{__import__:{$meth(t,e,i,s,r){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__import__() argument 1 must be str, not "+t.tp$name);if(t===Sk.builtin.str.$empty&&0===r.v)throw new Sk.builtin.ValueError("Empty module name");return e=n(e,"globals")||{},s=Sk.ffi.remapToJs(s),r=Sk.ffi.remapToJs(r),Sk.builtin.__import__(t,e,void 0,s,r)},$flags:{NamedArgs:["name","globals","locals","fromlist","level"],Defaults:[t,t,e,s]},$textsig:null,$doc:"__import__(name, globals=None, locals=None, fromlist=(), level=0) -> module\n\nImport a module. Because this function is meant for use by the Python\ninterpreter and not for general use, it is better to use\nimportlib.import_module() to programmatically import a module.\n\nThe globals argument is only used to determine the context;\nthey are not modified. The locals argument is unused. The fromlist\nshould be a list of names to emulate ``from name import ...'', or an\nempty list to emulate ``import name''.\nWhen importing a module from a package, note that __import__('A.B', ...)\nreturns package A when fromlist is empty, but its submodule B when\nfromlist is not empty. The level argument is used to determine whether to\nperform absolute or relative imports: 0 is absolute, while a positive number\nis the number of parent directories to search relative to the current module."},abs:{$meth:Sk.builtin.abs,$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the absolute value of the argument."},all:{$meth:Sk.builtin.all,$flags:{OneArg:!0},$textsig:"($module, iterable, /)",$doc:"Return True if bool(x) is True for all values x in the iterable.\n\nIf the iterable is empty, return True."},any:{$meth:Sk.builtin.any,$flags:{OneArg:!0},$textsig:"($module, iterable, /)",$doc:"Return True if bool(x) is True for any x in the iterable.\n\nIf the iterable is empty, return False."},ascii:{$meth:Sk.builtin.ascii,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return an ASCII-only representation of an object.\n\nAs repr(), return a string containing a printable representation of an\nobject, but escape the non-ASCII characters in the string returned by\nrepr() using \\\\x, \\\\u or \\\\U escapes. This generates a string similar\nto that returned by repr() in Python 2."},bin:{$meth:Sk.builtin.bin,$flags:{OneArg:!0},$textsig:"($module, number, /)",$doc:"Return the binary representation of an integer.\n\n >>> bin(2796202)\n '0b1010101010101010101010'"},callable:{$meth:Sk.builtin.callable,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return whether the object is callable (i.e., some kind of function).\n\nNote that classes are callable, as are instances of classes with a\n__call__() method."},chr:{$meth:Sk.builtin.chr,$flags:{OneArg:!0},$textsig:"($module, i, /)",$doc:"Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff."},compile:{$meth:Sk.builtin.compile,$flags:{MinArgs:3,MaxArgs:6},$textsig:"($module, /, source, filename, mode, flags=0,\n dont_inherit=False, optimize=-1)",$doc:"Compile source into a code object that can be executed by exec() or eval().\n\nThe source code may represent a Python module, statement or expression.\nThe filename will be used for run-time error messages.\nThe mode must be 'exec' to compile a module, 'single' to compile a\nsingle (interactive) statement, or 'eval' to compile an expression.\nThe flags argument, if present, controls which future statements influence\nthe compilation of the code.\nThe dont_inherit argument, if true, stops the compilation inheriting\nthe effects of any future statements in effect in the code calling\ncompile; if absent or false these statements do influence the compilation,\nin addition to any features explicitly specified."},delattr:{$meth:Sk.builtin.delattr,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, obj, name, /)",$doc:"Deletes the named attribute from the given object.\n\ndelattr(x, 'y') is equivalent to ``del x.y''"},dir:{$meth:Sk.builtin.dir,$flags:{MinArgs:0,MaxArgs:1},$textsig:null,$doc:"dir([object]) -> list of strings\n\nIf called without an argument, return the names in the current scope.\nElse, return an alphabetized list of names comprising (some of) the attributes\nof the given object, and of attributes reachable from it.\nIf the object supplies a method named __dir__, it will be used; otherwise\nthe default dir() logic is used and returns:\n for a module object: the module's attributes.\n for a class object: its attributes, and recursively the attributes\n of its bases.\n for any other object: its attributes, its class's attributes, and\n recursively the attributes of its class's base classes."},divmod:{$meth:Sk.builtin.divmod,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return the tuple (x//y, x%y). Invariant: div*y + mod == x."},eval_$rw$:{$name:"eval",$meth:function(t,e,s){const r=n(e,"globals"),o=n(s,"locals");return Sk.misceval.chain(Sk.builtin.eval(t,r,o),(t=>(i(e,r),i(s,o),t)))},$flags:{MinArgs:1,MaxArgs:3},$textsig:"($module, source, globals=None, locals=None, /)",$doc:"Evaluate the given source in the context of globals and locals.\n\nThe source may be a string representing a Python expression\nor a code object as returned by compile().\nThe globals must be a dictionary and locals can be any mapping,\ndefaulting to the current globals and locals.\nIf only globals is given, locals defaults to it."},exec:{$meth:function(t,e,s){const r=n(e,"globals"),o=n(s,"locals");return Sk.misceval.chain(Sk.builtin.exec(t,r,o),(t=>(i(e,r),i(s,o),Sk.builtin.none.none$)))},$flags:{MinArgs:1,MaxArgs:3},$textsig:"($module, source, globals=None, locals=None, /)",$doc:"Execute the given source in the context of globals and locals.\n\nThe source may be a string representing one or more Python statements\nor a code object as returned by compile().\nThe globals must be a dictionary and locals can be any mapping,\ndefaulting to the current globals and locals.\nIf only globals is given, locals defaults to it."},format:{$meth:Sk.builtin.format,$flags:{MinArgs:1,MaxArgs:2},$textsig:"($module, value, format_spec='', /)",$doc:"Return value.__format__(format_spec)\n\nformat_spec defaults to the empty string.\nSee the Format Specification Mini-Language section of help('FORMATTING') for\ndetails."},getattr:{$meth:Sk.builtin.getattr,$flags:{MinArgs:2,MaxArgs:3},$textsig:null,$doc:"getattr(object, name[, default]) -> value\n\nGet a named attribute from an object; getattr(x, 'y') is equivalent to x.y.\nWhen a default argument is given, it is returned when the attribute doesn't\nexist; without it, an exception is raised in that case."},globals:{$meth:Sk.builtin.globals,$flags:{NoArgs:!0},$textsig:"($module, /)",$doc:"Return the dictionary containing the current scope's global variables.\n\nNOTE: Updates to this dictionary *will* affect name lookups in the current\nglobal scope and vice-versa."},hasattr:{$meth:Sk.builtin.hasattr,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, obj, name, /)",$doc:"Return whether the object has an attribute with the given name.\n\nThis is done by calling getattr(obj, name) and catching AttributeError."},hash:{$meth:Sk.builtin.hash,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the hash value for the given object.\n\nTwo objects that compare equal must also have the same hash value, but the\nreverse is not necessarily true."},hex:{$meth:Sk.builtin.hex,$flags:{OneArg:!0},$textsig:"($module, number, /)",$doc:"Return the hexadecimal representation of an integer.\n\n >>> hex(12648430)\n '0xc0ffee'"},id:{$meth:Sk.builtin.id,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the identity of an object.\n\nThis is guaranteed to be unique among simultaneously existing objects.\n(CPython uses the object's memory address.)"},input:{$meth:Sk.builtin.input,$flags:{MinArgs:0,MaxArgs:1},$textsig:"($module, prompt=None, /)",$doc:"Read a string from standard input. The trailing newline is stripped.\n\nThe prompt string, if given, is printed to standard output without a\ntrailing newline before reading input.\n\nIf the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.\nOn *nix systems, readline is used if available."},isinstance:{$meth:Sk.builtin.isinstance,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, obj, class_or_tuple, /)",$doc:"Return whether an object is an instance of a class or of a subclass thereof.\n\nA tuple, as in ``isinstance(x, (A, B, ...))``, may be given as the target to\ncheck against. This is equivalent to ``isinstance(x, A) or isinstance(x, B)\nor ...`` etc."},issubclass:{$meth:Sk.builtin.issubclass,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, cls, class_or_tuple, /)",$doc:"Return whether 'cls' is a derived from another class or is the same class.\n\nA tuple, as in ``issubclass(x, (A, B, ...))``, may be given as the target to\ncheck against. This is equivalent to ``issubclass(x, A) or issubclass(x, B)\nor ...`` etc."},iter:{$meth:Sk.builtin.iter,$flags:{MinArgs:1,MaxArgs:2},$textsig:"($module, iterable /)",$doc:"iter(iterable) -> iterator\niter(callable, sentinel) -> iterator\n\nGet an iterator from an object. In the first form, the argument must\nsupply its own iterator, or be a sequence.\nIn the second form, the callable is called until it returns the sentinel."},len:{$meth:Sk.builtin.len,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the number of items in a container."},locals:{$meth:Sk.builtin.locals,$flags:{NoArgs:!0},$textsig:"($module, /)",$doc:"Return a dictionary containing the current scope's local variables.\n\nNOTE: Whether or not updates to this dictionary will affect name lookups in\nthe local scope and vice-versa is *implementation dependent* and not\ncovered by any backwards compatibility guarantees."},max:{$meth:Sk.builtin.max,$flags:{FastCall:!0},$textsig:null,$doc:"max(iterable, *[, default=obj, key=func]) -> value\nmax(arg1, arg2, *args, *[, key=func]) -> value\n\nWith a single iterable argument, return its biggest item. The\ndefault keyword-only argument specifies an object to return if\nthe provided iterable is empty.\nWith two or more arguments, return the largest argument."},min:{$meth:Sk.builtin.min,$flags:{FastCall:!0},$textsig:null,$doc:"min(iterable, *[, default=obj, key=func]) -> value\nmin(arg1, arg2, *args, *[, key=func]) -> value\n\nWith a single iterable argument, return its smallest item. The\ndefault keyword-only argument specifies an object to return if\nthe provided iterable is empty.\nWith two or more arguments, return the smallest argument."},next:{$name:"next",$meth:Sk.builtin.next_,$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"next(iterator[, default])\n\nReturn the next item from the iterator. If default is given and the iterator\nis exhausted, it is returned instead of raising StopIteration."},oct:{$meth:Sk.builtin.oct,$flags:{OneArg:!0},$textsig:"($module, number, /)",$doc:"Return the octal representation of an integer.\n\n >>> oct(342391)\n '0o1234567'"},open:{$meth:Sk.builtin.open,$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"open(name[, mode[, buffering]]) -> file object\n\nOpen a file using the file() type, returns a file object. This is the\npreferred way to open a file. See file.__doc__ for further information."},ord:{$meth:Sk.builtin.ord,$flags:{OneArg:!0},$textsig:"($module, c, /)",$doc:"Return the Unicode code point for a one-character string."},pow:{$meth:Sk.builtin.pow,$flags:{MinArgs:2,MaxArgs:3},$textsig:"($module, x, y, z=None, /)",$doc:"Equivalent to x**y (with two arguments) or x**y % z (with three arguments)\n\nSome types, such as ints, are able to use a more efficient algorithm when\ninvoked using the three argument form."},print:{$meth:Sk.builtin.print,$flags:{FastCall:!0},$textsig:null,$doc:"print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\n\nPrints the values to a stream, or to sys.stdout by default.\nOptional keyword arguments:\nfile: a file-like object (stream); defaults to the current sys.stdout.\nsep: string inserted between values, default a space.\nend: string appended after the last value, default a newline.\nflush: whether to forcibly flush the stream."},repr:{$meth:Sk.builtin.repr,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the canonical string representation of the object.\n\nFor many object types, including most builtins, eval(repr(obj)) == obj."},round:{$meth:Sk.builtin.round,$flags:{NamedArgs:["number","ndigits"]},$textsig:"($module, /, number, ndigits=None)",$doc:"Round a number to a given precision in decimal digits.\n\nThe return value is an integer if ndigits is omitted or None. Otherwise\nthe return value has the same type as the number. ndigits may be negative."},setattr:{$meth:Sk.builtin.setattr,$flags:{MinArgs:3,MaxArgs:3},$textsig:"($module, obj, name, value, /)",$doc:"Sets the named attribute on the given object to the specified value.\n\nsetattr(x, 'y', v) is equivalent to ``x.y = v''"},sorted:{$meth:Sk.builtin.sorted,$flags:{NamedArgs:[null,"cmp","key","reverse"],Defaults:[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$]},$textsig:"($module, iterable, /, *, key=None, reverse=False)",$doc:"Return a new list containing all items from the iterable in ascending order.\n\nA custom key function can be supplied to customize the sort order, and the\nreverse flag can be set to request the result in descending order."},sum:{$meth:Sk.builtin.sum,$flags:{NamedArgs:[null,"start"],Defaults:[new Sk.builtin.int_(0)]},$textsig:"($module, iterable, /, start=0)",$doc:"Return the sum of a 'start' value (default: 0) plus an iterable of numbers\n\nWhen the iterable is empty, return the start value.\nThis function is intended specifically for use with numeric values and may\nreject non-numeric types."},vars:{$meth:Sk.builtin.vars,$flags:{MinArgs:0,MaxArgs:1},$textsig:null,$doc:"vars([object]) -> dictionary\n\nWithout arguments, equivalent to locals().\nWith an argument, equivalent to object.__dict__."}}),Sk.setupObjects=function(t){t?(Sk.builtins.filter=Sk.builtin.filter_,Sk.builtins.map=Sk.builtin.map_,Sk.builtins.zip=Sk.builtin.zip_,Sk.builtins.range=Sk.builtin.range_,delete Sk.builtins.reduce,delete Sk.builtins.xrange,delete Sk.builtins.StandardError,delete Sk.builtins.unicode,delete Sk.builtins.basestring,delete Sk.builtins.long_$rw$,Sk.builtin.int_.prototype.$r=function(){return new Sk.builtin.str(this.v.toString())},delete Sk.builtin.int_.prototype.tp$str,delete Sk.builtin.bool.prototype.tp$str,delete Sk.builtins.raw_input,delete Sk.builtins.unichr,delete Sk.builtin.str.prototype.decode,Sk.builtins.bytes=Sk.builtin.bytes,Sk.builtins.ascii=new Sk.builtin.sk_method({$meth:Sk.builtin.ascii,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return an ASCII-only representation of an object.\n\nAs repr(), return a string containing a printable representation of an\nobject, but escape the non-ASCII characters in the string returned by\nrepr() using \\\\x, \\\\u or \\\\U escapes. This generates a string similar\nto that returned by repr() in Python 2."},null,"builtins")):(Sk.builtins.range=new Sk.builtin.sk_method({$meth:Sk.builtin.range,$name:"range",$flags:{MinArgs:1,MaxArgs:3}},void 0,"builtins"),Sk.builtins.xrange=new Sk.builtin.sk_method({$meth:Sk.builtin.xrange,$name:"xrange",$flags:{MinArgs:1,MaxArgs:3}},null,"builtins"),Sk.builtins.reduce=new Sk.builtin.sk_method({$meth:Sk.builtin.reduce,$name:"reduce",$flags:{MinArgs:2,MaxArgs:3}},null,"builtins"),Sk.builtins.filter=new Sk.builtin.func(Sk.builtin.filter),Sk.builtins.map=new Sk.builtin.func(Sk.builtin.map),Sk.builtins.zip=new Sk.builtin.func(Sk.builtin.zip),Sk.builtins.StandardError=Sk.builtin.Exception,Sk.builtins.unicode=Sk.builtin.str,Sk.builtins.basestring=Sk.builtin.str,Sk.builtins.long_$rw$=Sk.builtin.lng,Sk.builtin.int_.prototype.$r=function(){const t=this.v;return"number"==typeof t?new Sk.builtin.str(t.toString()):new Sk.builtin.str(t.toString()+"L")},Sk.builtin.int_.prototype.tp$str=function(){return new Sk.builtin.str(this.v.toString())},Sk.builtin.bool.prototype.tp$str=function(){return this.$r()},Sk.builtins.raw_input=new Sk.builtin.func(Sk.builtin.raw_input),Sk.builtins.unichr=new Sk.builtin.func(Sk.builtin.unichr),Sk.builtin.str.prototype.decode=Sk.builtin.str.$py2decode,delete Sk.builtins.bytes,delete Sk.builtins.ascii)},Sk.exportSymbol("Sk.setupObjects",Sk.setupObjects),Sk.exportSymbol("Sk.builtins",Sk.builtins)},function(t,e){Sk.builtin.str.$empty=new Sk.builtin.str(""),Sk.builtin.str.$emptystr=Sk.builtin.str.$empty,Sk.builtin.str.$utf8=new Sk.builtin.str("utf-8"),Sk.builtin.str.$ascii=new Sk.builtin.str("ascii"),Sk.builtin.str.$default_factory=new Sk.builtin.str("default_factory"),Sk.builtin.str.$imag=new Sk.builtin.str("imag"),Sk.builtin.str.$real=new Sk.builtin.str("real"),Sk.builtin.str.$abs=new Sk.builtin.str("__abs__"),Sk.builtin.str.$bases=new Sk.builtin.str("__bases__"),Sk.builtin.str.$bytes=new Sk.builtin.str("__bytes__"),Sk.builtin.str.$call=new Sk.builtin.str("__call__"),Sk.builtin.str.$class=new Sk.builtin.str("__class__"),Sk.builtin.str.$class_getitem=new Sk.builtin.str("__class_getitem__"),Sk.builtin.str.$cmp=new Sk.builtin.str("__cmp__"),Sk.builtin.str.$complex=new Sk.builtin.str("__complex__"),Sk.builtin.str.$contains=new Sk.builtin.str("__contains__"),Sk.builtin.str.$copy=new Sk.builtin.str("__copy__"),Sk.builtin.str.$dict=new Sk.builtin.str("__dict__"),Sk.builtin.str.$dir=new Sk.builtin.str("__dir__"),Sk.builtin.str.$doc=new Sk.builtin.str("__doc__"),Sk.builtin.str.$enter=new Sk.builtin.str("__enter__"),Sk.builtin.str.$eq=new Sk.builtin.str("__eq__"),Sk.builtin.str.$exit=new Sk.builtin.str("__exit__"),Sk.builtin.str.$index=new Sk.builtin.str("__index__"),Sk.builtin.str.$init=new Sk.builtin.str("__init__"),Sk.builtin.str.$initsubclass=new Sk.builtin.str("__init_subclass__"),Sk.builtin.str.$int_=new Sk.builtin.str("__int__"),Sk.builtin.str.$iter=new Sk.builtin.str("__iter__"),Sk.builtin.str.$file=new Sk.builtin.str("__file__"),Sk.builtin.str.$float_=new Sk.builtin.str("__float__"),Sk.builtin.str.$format=new Sk.builtin.str("__format__"),Sk.builtin.str.$ge=new Sk.builtin.str("__ge__"),Sk.builtin.str.$getattr=new Sk.builtin.str("__getattr__"),Sk.builtin.str.$getattribute=new Sk.builtin.str("__getattribute__"),Sk.builtin.str.$getitem=new Sk.builtin.str("__getitem__"),Sk.builtin.str.$gt=new Sk.builtin.str("__gt__"),Sk.builtin.str.$keys=new Sk.builtin.str("keys"),Sk.builtin.str.$le=new Sk.builtin.str("__le__"),Sk.builtin.str.$len=new Sk.builtin.str("__len__"),Sk.builtin.str.$length_hint=new Sk.builtin.str("__length_hint__"),Sk.builtin.str.$loader=new Sk.builtin.str("__loader__"),Sk.builtin.str.$lt=new Sk.builtin.str("__lt__"),Sk.builtin.str.$module=new Sk.builtin.str("__module__"),Sk.builtin.str.$missing=new Sk.builtin.str("__missing__"),Sk.builtin.str.$name=new Sk.builtin.str("__name__"),Sk.builtin.str.$ne=new Sk.builtin.str("__ne__"),Sk.builtin.str.$new=new Sk.builtin.str("__new__"),Sk.builtin.str.$next=new Sk.builtin.str("__next__"),Sk.builtin.str.$path=new Sk.builtin.str("__path__"),Sk.builtin.str.$prepare=new Sk.builtin.str("__prepare__"),Sk.builtin.str.$qualname=new Sk.builtin.str("__qualname__"),Sk.builtin.str.$repr=new Sk.builtin.str("__repr__"),Sk.builtin.str.$reversed=new Sk.builtin.str("__reversed__"),Sk.builtin.str.$round=new Sk.builtin.str("__round__"),Sk.builtin.str.$setattr=new Sk.builtin.str("__setattr__"),Sk.builtin.str.$setitem=new Sk.builtin.str("__setitem__"),Sk.builtin.str.$slots=new Sk.builtin.str("__slots__"),Sk.builtin.str.$str=new Sk.builtin.str("__str__"),Sk.builtin.str.$setname=new Sk.builtin.str("__set_name__"),Sk.builtin.str.$trunc=new Sk.builtin.str("__trunc__"),Sk.builtin.str.$write=new Sk.builtin.str("write"),Sk.misceval.op2method_={Eq:Sk.builtin.str.$eq,NotEq:Sk.builtin.str.$ne,Gt:Sk.builtin.str.$gt,GtE:Sk.builtin.str.$ge,Lt:Sk.builtin.str.$lt,LtE:Sk.builtin.str.$le}},function(t,e,n){function i(t,e,n,i,s){this.type=t,this.string=e,this.start=n,this.end=i,this.line=s}function s(t){return"("+Array.prototype.slice.call(arguments).join("|")+")"}function r(t){return s.apply(null,arguments)+"?"}function o(t,e){for(var n=t.length;n--;)if(t[n]===e)return!0;return!1}function a(t){return t=t.normalize("NFKC"),E.test(t)}function l(){return" FR RF Br BR Fr r B R b bR f rb rB F Rf U rF u RB br fR fr rf Rb".split(" ")}function u(t){t?delete Sk.token.EXACT_TOKEN_TYPES["<>"]:Sk.token.EXACT_TOKEN_TYPES["<>"]=Sk.token.tokens.T_NOTEQUAL,I=Object.keys(Sk.token.EXACT_TOKEN_TYPES).sort(),A=s.apply(this,I.reverse().map((function(t){return t&&d.test(t)?t.replace(_,"\\$&"):t}))),O=s("\\r?\\n",A)}n.r(e),(t={Cc:"\\0-\\x1F\\x7F-\\x9F",Cf:"\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB",Co:"\\uE000-\\uF8FF",Cs:"\\uD800-\\uDFFF",Ll:"a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7BB\\uA7BD\\uA7BF\\uA7C3\\uA7C8\\uA7CA\\uA7F6\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB68\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A",Lm:"\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uAB69\\uFF70\\uFF9E\\uFF9F",Lo:"\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC",Lt:"\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC",Lu:"A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uA7BA\\uA7BC\\uA7BE\\uA7C2\\uA7C4-\\uA7C7\\uA7C9\\uA7F5\\uFF21-\\uFF3A",M:"\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1AC0\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F",Mc:"\\u0903\\u093B\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u094F\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1A19\\u1A1A\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF7\\u302E\\u302F\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uAA7D\\uAAEB\\uAAEE\\uAAEF\\uAAF5\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC",Me:"\\u0488\\u0489\\u1ABE\\u20DD-\\u20E0\\u20E2-\\u20E4\\uA670-\\uA672",Mn:"\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F",Nd:"0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19",Nl:"\\u16EE-\\u16F0\\u2160-\\u2182\\u2185-\\u2188\\u3007\\u3021-\\u3029\\u3038-\\u303A\\uA6E6-\\uA6EF",No:"\\xB2\\xB3\\xB9\\xBC-\\xBE\\u09F4-\\u09F9\\u0B72-\\u0B77\\u0BF0-\\u0BF2\\u0C78-\\u0C7E\\u0D58-\\u0D5E\\u0D70-\\u0D78\\u0F2A-\\u0F33\\u1369-\\u137C\\u17F0-\\u17F9\\u19DA\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u215F\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA830-\\uA835",Pc:"_\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F",Pd:"\\-\\u058A\\u05BE\\u1400\\u1806\\u2010-\\u2015\\u2E17\\u2E1A\\u2E3A\\u2E3B\\u2E40\\u301C\\u3030\\u30A0\\uFE31\\uFE32\\uFE58\\uFE63\\uFF0D",Pe:"\\)\\]\\}\\u0F3B\\u0F3D\\u169C\\u2046\\u207E\\u208E\\u2309\\u230B\\u232A\\u2769\\u276B\\u276D\\u276F\\u2771\\u2773\\u2775\\u27C6\\u27E7\\u27E9\\u27EB\\u27ED\\u27EF\\u2984\\u2986\\u2988\\u298A\\u298C\\u298E\\u2990\\u2992\\u2994\\u2996\\u2998\\u29D9\\u29DB\\u29FD\\u2E23\\u2E25\\u2E27\\u2E29\\u3009\\u300B\\u300D\\u300F\\u3011\\u3015\\u3017\\u3019\\u301B\\u301E\\u301F\\uFD3E\\uFE18\\uFE36\\uFE38\\uFE3A\\uFE3C\\uFE3E\\uFE40\\uFE42\\uFE44\\uFE48\\uFE5A\\uFE5C\\uFE5E\\uFF09\\uFF3D\\uFF5D\\uFF60\\uFF63",Pf:"\\xBB\\u2019\\u201D\\u203A\\u2E03\\u2E05\\u2E0A\\u2E0D\\u2E1D\\u2E21",Pi:"\\xAB\\u2018\\u201B\\u201C\\u201F\\u2039\\u2E02\\u2E04\\u2E09\\u2E0C\\u2E1C\\u2E20",Po:"!-#%-'\\*,\\.\\/:;\\?@\\xA1\\xA7\\xB6\\xB7\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u166E\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u1805\\u1807-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2016\\u2017\\u2020-\\u2027\\u2030-\\u2038\\u203B-\\u203E\\u2041-\\u2043\\u2047-\\u2051\\u2053\\u2055-\\u205E\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00\\u2E01\\u2E06-\\u2E08\\u2E0B\\u2E0E-\\u2E16\\u2E18\\u2E19\\u2E1B\\u2E1E\\u2E1F\\u2E2A-\\u2E2E\\u2E30-\\u2E39\\u2E3C-\\u2E3F\\u2E41\\u2E43-\\u2E4F\\u2E52\\u3001-\\u3003\\u303D\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFE10-\\uFE16\\uFE19\\uFE30\\uFE45\\uFE46\\uFE49-\\uFE4C\\uFE50-\\uFE52\\uFE54-\\uFE57\\uFE5F-\\uFE61\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF07\\uFF0A\\uFF0C\\uFF0E\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3C\\uFF61\\uFF64\\uFF65",Ps:"\\(\\[\\{\\u0F3A\\u0F3C\\u169B\\u201A\\u201E\\u2045\\u207D\\u208D\\u2308\\u230A\\u2329\\u2768\\u276A\\u276C\\u276E\\u2770\\u2772\\u2774\\u27C5\\u27E6\\u27E8\\u27EA\\u27EC\\u27EE\\u2983\\u2985\\u2987\\u2989\\u298B\\u298D\\u298F\\u2991\\u2993\\u2995\\u2997\\u29D8\\u29DA\\u29FC\\u2E22\\u2E24\\u2E26\\u2E28\\u2E42\\u3008\\u300A\\u300C\\u300E\\u3010\\u3014\\u3016\\u3018\\u301A\\u301D\\uFD3F\\uFE17\\uFE35\\uFE37\\uFE39\\uFE3B\\uFE3D\\uFE3F\\uFE41\\uFE43\\uFE47\\uFE59\\uFE5B\\uFE5D\\uFF08\\uFF3B\\uFF5B\\uFF5F\\uFF62",Sc:"\\$\\xA2-\\xA5\\u058F\\u060B\\u07FE\\u07FF\\u09F2\\u09F3\\u09FB\\u0AF1\\u0BF9\\u0E3F\\u17DB\\u20A0-\\u20BF\\uA838\\uFDFC\\uFE69\\uFF04\\uFFE0\\uFFE1\\uFFE5\\uFFE6",Sk:"\\^`\\xA8\\xAF\\xB4\\xB8\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u309B\\u309C\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uAB5B\\uAB6A\\uAB6B\\uFBB2-\\uFBC1\\uFF3E\\uFF40\\uFFE3",Sm:"\\+<->\\|~\\xAC\\xB1\\xD7\\xF7\\u03F6\\u0606-\\u0608\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u2118\\u2140-\\u2144\\u214B\\u2190-\\u2194\\u219A\\u219B\\u21A0\\u21A3\\u21A6\\u21AE\\u21CE\\u21CF\\u21D2\\u21D4\\u21F4-\\u22FF\\u2320\\u2321\\u237C\\u239B-\\u23B3\\u23DC-\\u23E1\\u25B7\\u25C1\\u25F8-\\u25FF\\u266F\\u27C0-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u27FF\\u2900-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2AFF\\u2B30-\\u2B44\\u2B47-\\u2B4C\\uFB29\\uFE62\\uFE64-\\uFE66\\uFF0B\\uFF1C-\\uFF1E\\uFF5C\\uFF5E\\uFFE2\\uFFE9-\\uFFEC",So:"\\xA6\\xA9\\xAE\\xB0\\u0482\\u058D\\u058E\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u09FA\\u0B70\\u0BF3-\\u0BF8\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u166D\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116\\u2117\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u214A\\u214C\\u214D\\u214F\\u218A\\u218B\\u2195-\\u2199\\u219C-\\u219F\\u21A1\\u21A2\\u21A4\\u21A5\\u21A7-\\u21AD\\u21AF-\\u21CD\\u21D0\\u21D1\\u21D3\\u21D5-\\u21F3\\u2300-\\u2307\\u230C-\\u231F\\u2322-\\u2328\\u232B-\\u237B\\u237D-\\u239A\\u23B4-\\u23DB\\u23E2-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u25B6\\u25B8-\\u25C0\\u25C2-\\u25F7\\u2600-\\u266E\\u2670-\\u2767\\u2794-\\u27BF\\u2800-\\u28FF\\u2B00-\\u2B2F\\u2B45\\u2B46\\u2B4D-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2E50\\u2E51\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA828-\\uA82B\\uA836\\uA837\\uA839\\uAA77-\\uAA79\\uFDFD\\uFFE4\\uFFE8\\uFFED\\uFFEE\\uFFFC\\uFFFD",Zl:"\\u2028",Zp:"\\u2029",Zs:" \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000"}).C=t.Cc+t.Cf+t.Cs+t.Co,t.L=t.Lu+t.Ll+t.Lt+t.Lm+t.Mn+t.Lo,t.LC=t.Lu+t.Ll+t.Lt,t.M=t.Mn+t.Mc+t.Me,t.N=t.Nd+t.Nl+t.No,t.P=t.Pc+t.Pd+t.Ps+t.Pe+t.Pi+t.Pf+t.Po,t.S=t.Sm+t.Sc+t.Sk+t.So,t.Z=t.Zs+t.Zl+t.Zp,t.w="_"+t.L+t.N,t.b="(?:["+t.w+"](?:[^"+t.w+"]|$)|(?:^|[^"+t.w+"])["+t.w+"])",t.bOut="(?=[^"+t.w+"]|$)",t.bIn="(?:^|[^"+t.w+"])",t.bInCapture="(?:^|([^"+t.w+"]))",t.B="(?:["+t.w+"]["+t.w+"]|[^"+t.w+"][^"+t.w+"])",t.d=t.N;var c=Sk.token.tokens;const p=Sk.builtin.SyntaxError,h=Sk.builtin.SyntaxError;i.prototype.exact_type=function(){return this.type==c.T_OP&&this.string in Sk.token.EXACT_TOKEN_TYPES?Sk.token.EXACT_TOKEN_TYPES[this.string]:this.type};var _=/[\\^$.*+?()[\]{}|]/g,d=RegExp(_.source);const{Lu:f,Ll:m,Lt:g,Lm:b,Lo:S,Nl:k,Mn:y,Mc:T,Nd:v,Pc:$}=t,w="["+(t=f+m+g+b+S+k+"_\\u1885-\\u1886\\u2118\\u212E\\u309B-\\u309C")+"]+["+(t+y+T+v+$)+"\\u00B7\\u0387\\u1369-\\u1371\\u19DA]*",E=new RegExp("^"+w+"$");Sk.token.isIdentifier=a,function(t){s.apply(null,arguments)}("\\\\\\r?\\n[ \\f\\t]*"),r("#[^\\r\\n]*"),t=s("[0-9](?:_?[0-9])*\\.(?:[0-9](?:_?[0-9])*)?","\\.[0-9](?:_?[0-9])*")+r("[eE][-+]?[0-9](?:_?[0-9])*");var I,A,O,M=s(t,"[0-9](?:_?[0-9])*[eE][-+]?[0-9](?:_?[0-9])*"),C=s("[0-9](?:_?[0-9])*[jJ]",M+"[jJ]");t=s.apply(null,l()),e=s(t+"'''",t+'"""'),s(t+"'[^\\n'\\\\]*(?:\\\\.[^\\n'\\\\]*)*'",t+'"[^\\n"\\\\]*(?:\\\\.[^\\n"\\\\]*)*"'),u(!0),Sk.token.setupTokens=u;var x=s(t+"'[^\\n'\\\\]*(?:\\\\.[^\\n'\\\\]*)*"+s("'","\\\\\\r?\\n"),t+'"[^\\n"\\\\]*(?:\\\\.[^\\n"\\\\]*)*'+s('"',"\\\\\\r?\\n")),R=s("\\\\\\r?\\n|$","#[^\\r\\n]*",e),N={};t=l();for(let e of t)N[e+"'"]="^[^'\\\\]*(?:\\\\.[^'\\\\]*)*'",N[e+'"']='^[^"\\\\]*(?:\\\\.[^"\\\\]*)*"',N[e+"'''"]="^[^'\\\\]*(?:(?:\\\\.|'(?!''))[^'\\\\]*)*'''",N[e+'"""']='^[^"\\\\]*(?:(?:\\\\.|"(?!""))[^"\\\\]*)*"""';let L=[],D=[];for(let e of t)L.push(e+'"'),L.push(e+"'"),D.push(e+'"""'),D.push(e+"'''");Sk._tokenize=function(t,e,n,r){var l=Sk.__future__.python3?"":"(?:L?)";l=s("0[xX](?:_?[0-9a-fA-F])+"+l,"0[bB](?:_?[01])+"+l,Sk.__future__.silent_octal_literal?"0([oO]?)(?:_?[0-7])+"+l:"0([oO])(?:_?[0-7])+"+l,"(?:0(?:_?0)*|[1-9](?:_?[0-9])*)"+l),l=s(C,M,l),l="[ \\f\\t]*"+s(R,l,O,x,w),l=new RegExp(l);var u,_,d,f=0,m=0,g=0,b="",S=0,k=null,y=[0],T=void 0,v=void 0;void 0!==n&&("utf-8-sig"==n&&(n="utf-8"),r(new i(c.T_ENCODING,n,[0,0],[0,0],"")));for(var $=n="";;){try{n=$,$=e()}catch(t){$=""}f+=1;var E=0,I=$.length;if(b){if(!$)throw new p("EOF in multi-line string",t,v[0],v[1]);T.lastIndex=0;var A=T.exec($);if(!A){S&&"\\\n"!==$.substring($.length-2)&&"\\\r\n"!==$.substring($.length-3)?(r(new i(c.T_ERRORTOKEN,b+$,v,[f,$.length],k)),b="",k=null):(b+=$,k+=$);continue}E=_=A[0].length,r(new i(c.T_STRING,b+$.substring(0,_),v,[f,_],k+$)),b="",S=0,k=null}else if(0!=m||g){if(!$)throw new p("EOF in multi-line statement",t,f,0);g=0}else{if(!$)break;for(u=0;Ey[y.length-1]&&(y.push(u),r(new i(c.T_INDENT,$.substring(E),[f,0],[f,E],$)));u{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{"use strict";var t={};n.r(t),n.d(t,{controls_type:()=>nt,controls_typeLists:()=>it,variables_change:()=>tt,variables_get:()=>Q,variables_global:()=>et,variables_set:()=>Z});var e={};n.r(e),n.d(e,{base_setup:()=>ot,controls_delay:()=>at,controls_end_program:()=>lt,controls_except:()=>yt,controls_finally:()=>Tt,controls_flow_statements:()=>dt,controls_for:()=>ft,controls_forEach:()=>pt,controls_for_range:()=>mt,controls_if:()=>ut,controls_if_else:()=>St,controls_if_elseif:()=>bt,controls_if_if:()=>gt,controls_lambda:()=>$t,controls_main:()=>rt,controls_pass:()=>wt,controls_range:()=>ct,controls_repeat_ext:()=>vt,controls_thread:()=>Et,controls_try:()=>kt,controls_try_finally:()=>_t,controls_whileUntil:()=>ht,do_while:()=>It});var i={};n.r(i),n.d(i,{base_map:()=>zt,math_arithmetic:()=>xt,math_bit:()=>Nt,math_constant:()=>Mt,math_constant_mp:()=>Ct,math_constrain:()=>Ut,math_dec:()=>Dt,math_indexer_number:()=>jt,math_map:()=>Yt,math_max_min:()=>Pt,math_number:()=>Ot,math_number_base_conversion:()=>Bt,math_random:()=>Vt,math_random_seed:()=>Gt,math_round:()=>Xt,math_selfcalcu:()=>Rt,math_to_int:()=>Ft,math_trig:()=>Lt,text_to_number:()=>Ht,text_to_number_skulpt:()=>qt});var s={};n.r(s),n.d(s,{ascii_to_char:()=>te,char_to_ascii:()=>ee,number_to_text:()=>ne,os_system:()=>Ie,text:()=>Jt,text_capital:()=>pe,text_center:()=>he,text_char:()=>Qt,text_char_at:()=>re,text_char_at2:()=>se,text_char_at3:()=>ve,text_compareTo:()=>Te,text_compare_to:()=>ce,text_create_with_container:()=>Se,text_create_with_item:()=>ke,text_encode:()=>we,text_equals_starts_ends:()=>ue,text_eval:()=>Ee,text_find:()=>_e,text_format:()=>be,text_format_noreturn:()=>$e,text_join:()=>Zt,text_join_seq:()=>de,text_length:()=>ie,text_random_char:()=>oe,text_replace:()=>fe,text_split:()=>me,text_strip:()=>ge,text_substring:()=>le,text_substring2:()=>ae,text_substring3:()=>ye,text_textarea:()=>Kt});var r={};n.r(r),n.d(r,{list_many_input:()=>Je,list_tolist:()=>sn,list_tolist2:()=>hn,list_trig:()=>qe,lists_2d_get_col_row_data:()=>xe,lists_2d_get_data_with_col_row:()=>Ce,lists_append_extend:()=>Pe,lists_change_to:()=>We,lists_change_to_general:()=>Qe,lists_clear:()=>je,lists_create_with:()=>Re,lists_create_with2:()=>rn,lists_create_with_container:()=>Le,lists_create_with_item:()=>De,lists_create_with_noreturn:()=>Ke,lists_create_with_text:()=>Ne,lists_create_with_text2:()=>on,lists_del_general:()=>Ze,lists_find:()=>He,lists_getIndex3:()=>an,lists_getSublist3:()=>ln,lists_get_index:()=>Oe,lists_get_random_item:()=>Be,lists_get_random_sublist:()=>Ve,lists_get_sublist:()=>Me,lists_insert_value:()=>Ue,lists_insert_value2:()=>cn,lists_pop:()=>Xe,lists_remove_at:()=>Ge,lists_remove_at2:()=>pn,lists_reverse:()=>Ye,lists_setIndex3:()=>un,lists_set_index:()=>Fe,lists_sort:()=>ze,lists_zip:()=>tn,lists_zip_container:()=>en,lists_zip_item:()=>nn});var o={};n.r(o),n.d(o,{dicts_add_change_del:()=>An,dicts_add_or_change:()=>kn,dicts_clear:()=>vn,dicts_create_with:()=>dn,dicts_create_with_container:()=>fn,dicts_create_with_item:()=>mn,dicts_create_with_noreturn:()=>Cn,dicts_deldict:()=>In,dicts_delete:()=>yn,dicts_get:()=>bn,dicts_get_default:()=>Sn,dicts_items:()=>$n,dicts_keys:()=>gn,dicts_length:()=>En,dicts_pop:()=>On,dicts_setdefault:()=>Mn,dicts_to_json:()=>Rn,dicts_todict:()=>xn,dicts_update:()=>Tn,dicts_values:()=>wn,json_to_dicts:()=>Nn});var a={};n.r(a),n.d(a,{logic_boolean:()=>Vn,logic_compare:()=>Dn,logic_compare_continous:()=>Fn,logic_is:()=>Gn,logic_is_in:()=>jn,logic_negate:()=>Bn,logic_null:()=>Un,logic_operation:()=>Pn,logic_tobool:()=>Xn,logic_true_or_false:()=>Yn});var l={};n.r(l),n.d(l,{sdcard_mount:()=>di,sdcard_use_spi_init:()=>_i,storage_can_write_ornot:()=>ti,storage_change_dir:()=>pi,storage_close_file:()=>ni,storage_delete_file:()=>si,storage_file_seek:()=>ai,storage_file_tell:()=>oi,storage_file_write:()=>Jn,storage_fileopen:()=>qn,storage_fileopen_new:()=>zn,storage_fileopen_new_encoding:()=>Wn,storage_get_a_line:()=>Zn,storage_get_contents:()=>Qn,storage_get_contents_without_para:()=>Kn,storage_get_current_dir:()=>li,storage_get_file_size:()=>ri,storage_get_filename:()=>ei,storage_is_file:()=>hi,storage_list_all_files:()=>ii,storage_make_dir:()=>ui,storage_open_file_with_os:()=>Hn,storage_rename:()=>ci});var u={};n.r(u),n.d(u,{procedures_callnoreturn:()=>Si,procedures_callreturn:()=>ki,procedures_defnoreturn:()=>fi,procedures_defreturn:()=>mi,procedures_ifreturn:()=>yi,procedures_mutatorarg:()=>bi,procedures_mutatorcontainer:()=>gi,procedures_return:()=>Ti});var c={};n.r(c),n.d(c,{tuple_change_to:()=>Ni,tuple_create_with:()=>$i,tuple_create_with_container:()=>wi,tuple_create_with_item:()=>Ei,tuple_create_with_noreturn:()=>Pi,tuple_create_with_text2:()=>Ii,tuple_create_with_text_return:()=>Ai,tuple_del:()=>Ci,tuple_find:()=>Li,tuple_getIndex:()=>Oi,tuple_getSublist:()=>Fi,tuple_get_random_item:()=>Vi,tuple_get_sublist:()=>Bi,tuple_join:()=>xi,tuple_length:()=>Mi,tuple_max:()=>Ri,tuple_totuple:()=>Ui,tuple_trig:()=>Di});var p={};n.r(p),n.d(p,{set_add_discard:()=>Ki,set_clear:()=>zi,set_create_with:()=>ji,set_create_with_container:()=>Gi,set_create_with_item:()=>Xi,set_create_with_text_return:()=>ts,set_length:()=>Hi,set_operate:()=>Wi,set_operate_update:()=>Ji,set_pop:()=>qi,set_sub:()=>Qi,set_toset:()=>es,set_update:()=>Zi});var h={};n.r(h),n.d(h,{html_content:()=>os,html_content_more:()=>as,html_document:()=>is,html_form:()=>us,html_head_body:()=>rs,html_style:()=>ls,html_style_color:()=>ps,html_style_content:()=>cs,html_text:()=>hs,html_title:()=>ss});var _={};n.r(_),n.d(_,{attribute_access:()=>Es,function_call:()=>vs,function_call_container:()=>$s,function_call_item:()=>ws,raw_block:()=>fs,raw_empty:()=>gs,raw_expression:()=>ms,raw_table:()=>ds,text_comment:()=>bs,text_print_multiple:()=>ks,text_print_multiple_container:()=>ys,text_print_multiple_item:()=>Ts,type_check:()=>Ss});var d={};n.r(d),n.d(d,{algorithm_add_path:()=>Rs,algorithm_add_school:()=>Os,algorithm_all_books:()=>Ws,algorithm_all_books_sequence:()=>Js,algorithm_book_scale:()=>lr,algorithm_check_feet:()=>Sr,algorithm_chick_calculate:()=>br,algorithm_color_seclet:()=>Fr,algorithm_current_school:()=>Bs,algorithm_del_path:()=>Ns,algorithm_delete_book:()=>sr,algorithm_delete_books:()=>rr,algorithm_delete_books2:()=>or,algorithm_divide_books:()=>nr,algorithm_find_path:()=>Ms,algorithm_first_book:()=>Ks,algorithm_fz_calc:()=>vr,algorithm_fz_calc_first_min:()=>$r,algorithm_fz_compare:()=>wr,algorithm_fz_move:()=>Ir,algorithm_fz_set_min:()=>Er,algorithm_get_book_num:()=>hr,algorithm_get_current_location:()=>Lr,algorithm_get_half_books:()=>ir,algorithm_hxdb_add:()=>xr,algorithm_hxdb_init_soldier:()=>Or,algorithm_hxdb_last_line:()=>Cr,algorithm_hxdb_result:()=>Rr,algorithm_hxdb_stand_in_line:()=>Mr,algorithm_init_fzsf:()=>Tr,algorithm_init_hxdb:()=>Ar,algorithm_init_jttl:()=>fr,algorithm_move_recent:()=>js,algorithm_new_path:()=>Cs,algorithm_next_book:()=>tr,algorithm_no_left:()=>Ds,algorithm_no_path:()=>Vs,algorithm_no_ring2:()=>Qs,algorithm_not_home:()=>Gs,algorithm_not_school:()=>Xs,algorithm_number_add:()=>cr,algorithm_number_zero:()=>ur,algorithm_prepare:()=>As,algorithm_prepare2:()=>Ps,algorithm_prepare_2_1:()=>Us,algorithm_prepare_2_2:()=>Ys,algorithm_print_book2:()=>ar,algorithm_print_divide:()=>dr,algorithm_print_jttl_answer:()=>kr,algorithm_print_number:()=>pr,algorithm_print_path:()=>Fs,algorithm_print_path2:()=>Hs,algorithm_print_sequence:()=>_r,algorithm_rabbit_add:()=>yr,algorithm_rabbit_number_in_range:()=>gr,algorithm_rabbit_zero:()=>mr,algorithm_return_path:()=>Ls,algorithm_set_path:()=>xs,algorithm_two_left:()=>er,algorithm_void_path:()=>Dr,algorithm_yes_ring2:()=>Zs,hanoi_init:()=>qs,hanoi_init_offline:()=>Nr,hanoi_move:()=>zs});var f={};n.r(f),n.d(f,{factory_block:()=>zr,factory_block_return:()=>Wr,factory_block_return_with_textarea:()=>Kr,factory_block_with_textarea:()=>Jr,factory_callMethod_noreturn:()=>Hr,factory_callMethod_return:()=>qr,factory_create_with_container:()=>Yr,factory_create_with_item:()=>jr,factory_declare:()=>Xr,factory_from_import:()=>Br,factory_function_noreturn:()=>Ur,factory_function_return:()=>Gr,factory_import:()=>Vr});var m={};n.r(m),n.d(m,{array_create:()=>fo,array_toarray:()=>Oo,dataframe_create:()=>eo,dataframe_create_from_index:()=>io,dataframe_create_from_one_index:()=>no,dataframe_get:()=>Eo,numpy_trig:()=>vo,pandas_readcsv:()=>wo,pl_axes:()=>co,pl_bar:()=>So,pl_hist:()=>yo,pl_label:()=>_o,pl_legend:()=>po,pl_pie:()=>ko,pl_plot:()=>lo,pl_plot_bar:()=>mo,pl_plot_easy:()=>ao,pl_plot_scatter:()=>go,pl_plot_xy:()=>bo,pl_savefig:()=>Io,pl_show:()=>uo,pl_subplot:()=>$o,pl_text:()=>Ao,pl_ticks:()=>To,pl_title:()=>ho,plot_axes:()=>Ro,plot_bar:()=>Vo,plot_hist:()=>Yo,plot_label:()=>Do,plot_legend:()=>No,plot_pie:()=>Uo,plot_plot:()=>Co,plot_plot_bar:()=>Fo,plot_plot_easy:()=>Mo,plot_plot_scatter:()=>Po,plot_plot_xy:()=>Bo,plot_savefig:()=>Xo,plot_show:()=>xo,plot_subplot:()=>Go,plot_text:()=>Ho,plot_ticks:()=>jo,plot_title:()=>Lo,series_create:()=>Zr,series_create_from_index:()=>to,series_create_from_text:()=>so,series_get_num:()=>oo,series_index_value:()=>ro});var g={};n.r(g),n.d(g,{inout_input:()=>zo,inout_print:()=>Wo,inout_print_container:()=>ta,inout_print_end:()=>Ko,inout_print_inline:()=>Jo,inout_print_item:()=>ea,inout_print_many:()=>Zo,inout_type_input:()=>Qo});var b={};n.r(b),n.d(b,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>ga,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>ma,IOT_EMQX_PING:()=>da,IOT_FORMATTING:()=>ha,IOT_FORMAT_STRING:()=>_a,IOT_MIXIO_NTP:()=>fa,IOT_MIXIO_PUBLISH:()=>sa,IOT_MIXIO_SUBSCRIBE:()=>ra,IOT_MIXIO_UNSUBSCRIBE:()=>oa,iot_mixio_check:()=>ua,iot_mixio_connect:()=>ia,iot_mixio_connect_only:()=>la,iot_mixio_disconnect:()=>aa,iot_mixio_format_msg:()=>pa,iot_mixio_format_topic:()=>ca,iot_mixly_key:()=>ba,iot_mixly_key_py:()=>Sa});var S={};n.r(S),n.d(S,{Panic_with_status_code:()=>$a,base_delay:()=>ya,controls_millis:()=>Ta,controls_mstimer2:()=>Ea,controls_mstimer2_start:()=>Ia,controls_mstimer2_stop:()=>Aa,reset:()=>wa,time_localtime:()=>va,time_sleep:()=>Oa});var k={};n.r(k),n.d(k,{turtle_bgcolor:()=>Ja,turtle_bgcolor_hex:()=>rl,turtle_bgcolor_hex_new:()=>tl,turtle_circle:()=>qa,turtle_circle_advanced:()=>za,turtle_clear:()=>Ua,turtle_clone:()=>Za,turtle_color:()=>il,turtle_color_hex:()=>sl,turtle_color_seclet:()=>fl,turtle_create:()=>Ca,turtle_done:()=>xa,turtle_exitonclick:()=>Ra,turtle_fill:()=>ja,turtle_fillcolor:()=>Qa,turtle_fillcolor_hex:()=>al,turtle_fillcolor_hex_new:()=>nl,turtle_getscreen:()=>ml,turtle_goto:()=>Pa,turtle_listen:()=>kl,turtle_move:()=>Na,turtle_numinput:()=>cl,turtle_onclick:()=>bl,turtle_onkey:()=>gl,turtle_ontimer:()=>Sl,turtle_pencolor:()=>Ka,turtle_pencolor_hex:()=>ol,turtle_pencolor_hex_new:()=>el,turtle_penup:()=>Ya,turtle_pos_shape:()=>Va,turtle_rotate:()=>La,turtle_screen_delay:()=>Fa,turtle_screen_savefig:()=>yl,turtle_setheading:()=>Da,turtle_setxy:()=>Ba,turtle_shape:()=>ll,turtle_shapesize:()=>ul,turtle_size:()=>Xa,turtle_size_speed:()=>Ga,turtle_speed:()=>Ha,turtle_textinput:()=>pl,turtle_visible:()=>Wa,turtle_write:()=>hl,turtle_write_format:()=>_l,turtle_write_format_skulpt:()=>dl});var y={};n.r(y),n.d(y,{controls_type:()=>El,controls_typeLists:()=>Il,variables_change:()=>$l,variables_get:()=>Tl,variables_global:()=>wl,variables_set:()=>vl});var T={};n.r(T),n.d(T,{Panic_with_status_code:()=>Fl,base_setup:()=>Ol,controls_delay:()=>Dl,controls_flow_statements:()=>Ll,controls_for:()=>xl,controls_forEach:()=>Yl,controls_for_range:()=>Rl,controls_if:()=>Ml,controls_interrupts:()=>Vl,controls_lambda:()=>Gl,controls_main:()=>Al,controls_millis:()=>Pl,controls_nointerrupts:()=>Ul,controls_pass:()=>Hl,controls_range:()=>jl,controls_repeat:()=>Jl,controls_repeat_ext:()=>Wl,controls_thread:()=>ql,controls_try_finally:()=>Cl,controls_whileUntil:()=>Nl,do_while:()=>zl,reset:()=>Bl,time_sleep:()=>Xl});var v={};n.r(v),n.d(v,{base_map:()=>gu,math_arithmetic:()=>eu,math_bit:()=>tu,math_constant:()=>Ql,math_constant_mp:()=>Zl,math_constrain:()=>cu,math_dec:()=>ru,math_indexer_number:()=>_u,math_map:()=>uu,math_max_min:()=>au,math_number:()=>Kl,math_number_base_conversion:()=>pu,math_random:()=>lu,math_random_seed:()=>hu,math_round:()=>du,math_selfcalcu:()=>nu,math_single:()=>iu,math_to_int:()=>ou,math_trig:()=>su,text_to_number:()=>fu,text_to_number_skulpt:()=>mu});var w={};n.r(w),n.d(w,{ascii_to_char:()=>Tu,char_to_ascii:()=>vu,number_to_text:()=>$u,os_system:()=>qu,text:()=>bu,text_capital:()=>Ru,text_center:()=>Nu,text_char:()=>ku,text_char_at:()=>Iu,text_char_at2:()=>Eu,text_char_at3:()=>Gu,text_compareTo:()=>ju,text_compare_to:()=>Mu,text_encode:()=>Xu,text_equals_starts_ends:()=>Ou,text_eval:()=>Hu,text_find:()=>Lu,text_format:()=>Vu,text_format_noreturn:()=>Uu,text_join:()=>yu,text_join_seq:()=>Du,text_length:()=>wu,text_random_char:()=>Au,text_replace:()=>Fu,text_split:()=>Pu,text_strip:()=>Bu,text_substring:()=>xu,text_substring2:()=>Cu,text_substring3:()=>Yu,text_textarea:()=>Su});var E={};n.r(E),n.d(E,{list_many_input:()=>_c,list_tolist:()=>wc,list_tolist2:()=>Ec,list_trig:()=>cc,lists_2d_get_col_row_data:()=>Ju,lists_2d_get_data_with_col_row:()=>Wu,lists_append_extend:()=>ec,lists_change_to:()=>hc,lists_change_to_general:()=>fc,lists_clear:()=>oc,lists_create_with:()=>Ku,lists_create_with2:()=>gc,lists_create_with_noreturn:()=>dc,lists_create_with_text:()=>Qu,lists_create_with_text2:()=>bc,lists_del_general:()=>mc,lists_find:()=>ac,lists_getIndex3:()=>Sc,lists_getSublist3:()=>kc,lists_get_index:()=>Zu,lists_get_random_item:()=>nc,lists_get_random_sublist:()=>ic,lists_get_sublist:()=>zu,lists_insert_value:()=>sc,lists_insert_value2:()=>Tc,lists_pop:()=>uc,lists_remove_at:()=>lc,lists_remove_at2:()=>vc,lists_reverse:()=>rc,lists_setIndex3:()=>yc,lists_set_index:()=>tc,lists_sort:()=>pc,lists_zip:()=>$c});var I={};n.r(I),n.d(I,{dicts_add_change_del:()=>Bc,dicts_add_or_change:()=>Cc,dicts_clear:()=>Nc,dicts_create_with:()=>Ic,dicts_create_with_noreturn:()=>Yc,dicts_deldict:()=>Pc,dicts_delete:()=>xc,dicts_get:()=>Oc,dicts_get_default:()=>Mc,dicts_items:()=>Lc,dicts_keys:()=>Ac,dicts_length:()=>Fc,dicts_pop:()=>Vc,dicts_setdefault:()=>Uc,dicts_to_json:()=>Gc,dicts_todict:()=>jc,dicts_update:()=>Rc,dicts_values:()=>Dc,json_to_dicts:()=>Xc});var A={};n.r(A),n.d(A,{logic_boolean:()=>Jc,logic_compare:()=>Hc,logic_compare_continous:()=>qc,logic_is:()=>tp,logic_is_in:()=>Zc,logic_negate:()=>Wc,logic_null:()=>Kc,logic_operation:()=>zc,logic_tobool:()=>ep,logic_true_or_false:()=>Qc});var O={};n.r(O),n.d(O,{sdcard_mount:()=>$p,sdcard_use_spi_init:()=>vp,storage_can_write_ornot:()=>cp,storage_change_dir:()=>bp,storage_close_file:()=>hp,storage_delete_file:()=>dp,storage_file_seek:()=>gp,storage_file_tell:()=>mp,storage_file_write:()=>op,storage_fileopen:()=>ip,storage_fileopen_new:()=>sp,storage_fileopen_new_encoding:()=>rp,storage_get_a_line:()=>up,storage_get_contents:()=>lp,storage_get_contents_without_para:()=>ap,storage_get_current_dir:()=>Sp,storage_get_file_size:()=>fp,storage_get_filename:()=>pp,storage_is_file:()=>Tp,storage_list_all_files:()=>_p,storage_make_dir:()=>kp,storage_open_file_with_os:()=>np,storage_rename:()=>yp});var M={};n.r(M),n.d(M,{procedures_callnoreturn:()=>Ap,procedures_callreturn:()=>Ip,procedures_defnoreturn:()=>Ep,procedures_defreturn:()=>wp,procedures_ifreturn:()=>Op,procedures_return:()=>Mp});var C={};n.r(C),n.d(C,{tuple_change_to:()=>Bp,tuple_create_with:()=>Cp,tuple_create_with_noreturn:()=>jp,tuple_create_with_text2:()=>xp,tuple_create_with_text_return:()=>Rp,tuple_del:()=>Dp,tuple_find:()=>Vp,tuple_getIndex:()=>Np,tuple_getSublist:()=>Yp,tuple_get_random_item:()=>Xp,tuple_get_sublist:()=>Gp,tuple_join:()=>Fp,tuple_length:()=>Lp,tuple_max:()=>Pp,tuple_totuple:()=>Hp,tuple_trig:()=>Up});var x={};n.r(x),n.d(x,{set_add_discard:()=>Zp,set_clear:()=>Jp,set_create_with:()=>qp,set_create_with_text_return:()=>nh,set_length:()=>zp,set_operate:()=>Kp,set_operate_update:()=>Qp,set_pop:()=>Wp,set_sub:()=>th,set_toset:()=>ih,set_update:()=>eh});var R={};n.r(R),n.d(R,{html_content:()=>ah,html_content_more:()=>lh,html_document:()=>sh,html_form:()=>ch,html_head_body:()=>oh,html_style:()=>uh,html_style_content:()=>ph,html_text:()=>hh,html_title:()=>rh});var N={};n.r(N),n.d(N,{attribute_access:()=>Sh,function_call:()=>bh,raw_block:()=>_h,raw_empty:()=>fh,raw_expression:()=>dh,raw_table:()=>mh,type_check:()=>gh});var L={};n.r(L),n.d(L,{algorithm_add_path:()=>wh,algorithm_add_school:()=>yh,algorithm_all_books:()=>Yh,algorithm_all_books_sequence:()=>Uh,algorithm_book_scale:()=>Qh,algorithm_check_feet:()=>o_,algorithm_chick_calculate:()=>r_,algorithm_color_seclet:()=>v_,algorithm_current_school:()=>Ch,algorithm_del_path:()=>Eh,algorithm_delete_book:()=>Jh,algorithm_divide_books:()=>zh,algorithm_find_path:()=>Th,algorithm_first_book:()=>jh,algorithm_fz_calc:()=>c_,algorithm_fz_compare:()=>p_,algorithm_fz_move:()=>__,algorithm_fz_set_min:()=>h_,algorithm_get_current_location:()=>y_,algorithm_get_half_books:()=>Wh,algorithm_hxdb_add:()=>b_,algorithm_hxdb_init_soldier:()=>f_,algorithm_hxdb_last_line:()=>g_,algorithm_hxdb_result:()=>S_,algorithm_hxdb_stand_in_line:()=>m_,algorithm_init_fzsf:()=>u_,algorithm_init_hxdb:()=>d_,algorithm_init_jttl:()=>n_,algorithm_move_recent:()=>Lh,algorithm_new_path:()=>vh,algorithm_next_book:()=>Hh,algorithm_no_left:()=>Ah,algorithm_no_path:()=>xh,algorithm_no_ring2:()=>Gh,algorithm_not_home:()=>Dh,algorithm_not_school:()=>Fh,algorithm_number_add:()=>t_,algorithm_number_zero:()=>Zh,algorithm_prepare:()=>kh,algorithm_prepare2:()=>Mh,algorithm_prepare_2_1:()=>Rh,algorithm_prepare_2_2:()=>Nh,algorithm_print_book2:()=>Kh,algorithm_print_jttl_answer:()=>a_,algorithm_print_number:()=>e_,algorithm_print_path:()=>Oh,algorithm_print_path2:()=>Ph,algorithm_rabbit_add:()=>l_,algorithm_rabbit_number_in_range:()=>s_,algorithm_rabbit_zero:()=>i_,algorithm_return_path:()=>Ih,algorithm_set_path:()=>$h,algorithm_two_left:()=>qh,algorithm_void_path:()=>T_,algorithm_yes_ring2:()=>Xh,hanoi_init:()=>Bh,hanoi_init_offline:()=>k_,hanoi_move:()=>Vh});var D={};n.r(D),n.d(D,{factory_block:()=>C_,factory_block_return:()=>x_,factory_block_return_with_textarea:()=>N_,factory_block_with_textarea:()=>R_,factory_callMethod_noreturn:()=>O_,factory_callMethod_return:()=>M_,factory_declare:()=>A_,factory_from_import:()=>$_,factory_function_noreturn:()=>E_,factory_function_return:()=>I_,factory_import:()=>w_});var F={};n.r(F),n.d(F,{array_create:()=>J_,array_toarray:()=>cd,dataframe_create:()=>F_,dataframe_create_from_index:()=>P_,dataframe_create_from_one_index:()=>B_,dataframe_get:()=>ad,numpy_trig:()=>sd,pandas_readcsv:()=>od,pl_axes:()=>G_,pl_bar:()=>td,pl_hist:()=>nd,pl_label:()=>W_,pl_legend:()=>q_,pl_pie:()=>ed,pl_plot:()=>H_,pl_plot_bar:()=>K_,pl_plot_easy:()=>X_,pl_plot_scatter:()=>Q_,pl_plot_xy:()=>Z_,pl_savefig:()=>ld,pl_show:()=>j_,pl_subplot:()=>rd,pl_text:()=>ud,pl_ticks:()=>id,pl_title:()=>z_,plot_axes:()=>hd,plot_bar:()=>yd,plot_hist:()=>vd,plot_label:()=>gd,plot_legend:()=>fd,plot_pie:()=>Td,plot_plot:()=>dd,plot_plot_bar:()=>bd,plot_plot_easy:()=>_d,plot_plot_scatter:()=>Sd,plot_plot_xy:()=>kd,plot_savefig:()=>Ed,plot_show:()=>pd,plot_subplot:()=>wd,plot_text:()=>Id,plot_ticks:()=>$d,plot_title:()=>md,series_create:()=>L_,series_create_from_index:()=>D_,series_create_from_text:()=>V_,series_get_num:()=>Y_,series_index_value:()=>U_});var P={};n.r(P),n.d(P,{inout_input:()=>Ad,inout_print:()=>Od,inout_print_end:()=>Cd,inout_print_inline:()=>Md,inout_print_many:()=>Rd,inout_type_input:()=>xd});var B={};n.r(B),n.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Xd,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>qd,IOT_EMQX_PING:()=>zd,IOT_FORMATTING:()=>jd,IOT_FORMAT_STRING:()=>Gd,IOT_MIXIO_PUBLISH:()=>Ld,IOT_MIXIO_SUBSCRIBE:()=>Dd,IOT_MIXIO_UNSUBSCRIBE:()=>Fd,iot_mixio_check:()=>Vd,iot_mixio_connect:()=>Nd,iot_mixio_connect_only:()=>Bd,iot_mixio_disconnect:()=>Pd,iot_mixio_format_msg:()=>Yd,iot_mixio_format_topic:()=>Ud,iot_mixly_key:()=>Hd,iot_mixly_key_py:()=>Wd});var V={};n.r(V),n.d(V,{controls_end_program:()=>Kd,controls_millis:()=>Jd,time_localtime:()=>Qd});var U={};n.r(U),n.d(U,{turtle_bgcolor:()=>Sf,turtle_bgcolor_hex:()=>vf,turtle_bgcolor_hex_new:()=>Ef,turtle_circle:()=>ff,turtle_circle_advanced:()=>gf,turtle_clear:()=>uf,turtle_clone:()=>Tf,turtle_color:()=>Mf,turtle_color_hex:()=>Of,turtle_color_seclet:()=>Pf,turtle_create:()=>Zd,turtle_done:()=>tf,turtle_exitonclick:()=>ef,turtle_fill:()=>pf,turtle_fillcolor:()=>yf,turtle_fillcolor_hex:()=>wf,turtle_fillcolor_hex_new:()=>Af,turtle_getscreen:()=>Bf,turtle_goto:()=>af,turtle_listen:()=>jf,turtle_move:()=>nf,turtle_numinput:()=>Nf,turtle_onclick:()=>Uf,turtle_onkey:()=>Vf,turtle_ontimer:()=>Yf,turtle_pencolor:()=>kf,turtle_pencolor_hex:()=>$f,turtle_pencolor_hex_new:()=>If,turtle_penup:()=>cf,turtle_pos_shape:()=>lf,turtle_rotate:()=>sf,turtle_screen_delay:()=>of,turtle_screen_savefig:()=>Gf,turtle_setheading:()=>rf,turtle_setxy:()=>mf,turtle_shape:()=>Cf,turtle_shapesize:()=>xf,turtle_size:()=>_f,turtle_size_speed:()=>hf,turtle_speed:()=>df,turtle_textinput:()=>Rf,turtle_visible:()=>bf,turtle_write:()=>Lf,turtle_write_format:()=>Df,turtle_write_format_skulpt:()=>Ff});const Y=Blockly,j=Mixly,G={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var n=Object.create(null),i=0;i1&&(o+=i)):n=o}else n="i";return n}},X=G,H={};H.NAME_TYPE=Y.PROCEDURE_CATEGORY_NAME,H.allProcedures=function(t){for(var e=t.getAllBlocks(!1),n=[],i=[],s=0;s{var t={23:()=>{Sk.builtinFiles={files:{"src/builtin/this.py":'s = """Gur Mra bs Clguba, ol Gvz Crgref\n\nOrnhgvshy vf orggre guna htyl.\nRkcyvpvg vf orggre guna vzcyvpvg.\nFvzcyr vf orggre guna pbzcyrk.\nPbzcyrk vf orggre guna pbzcyvpngrq.\nSyng vf orggre guna arfgrq.\nFcnefr vf orggre guna qrafr.\nErnqnovyvgl pbhagf.\nFcrpvny pnfrf nera\'g fcrpvny rabhtu gb oernx gur ehyrf.\nNygubhtu cenpgvpnyvgl orngf chevgl.\nReebef fubhyq arire cnff fvyragyl.\nHayrff rkcyvpvgyl fvyraprq.\nVa gur snpr bs nzovthvgl, ershfr gur grzcgngvba gb thrff.\nGurer fubhyq or bar-- naq cersrenoyl bayl bar --boivbhf jnl gb qb vg.\nNygubhtu gung jnl znl abg or boivbhf ng svefg hayrff lbh\'er Qhgpu.\nAbj vf orggre guna arire.\nNygubhtu arire vf bsgra orggre guna *evtug* abj.\nVs gur vzcyrzragngvba vf uneq gb rkcynva, vg\'f n onq vqrn.\nVs gur vzcyrzragngvba vf rnfl gb rkcynva, vg znl or n tbbq vqrn.\nAnzrfcnprf ner bar ubaxvat terng vqrn -- yrg\'f qb zber bs gubfr!"""\n\nd = {}\nfor c in (65, 97):\n for i in range(26):\n d[chr(i+c)] = chr((i+13) % 26 + c)\n\nprint("".join([d.get(c, c) for c in s]))\n',"src/lib/abc.py":'import _sk_fail; _sk_fail._("abc")\n',"src/lib/aifc.py":'import _sk_fail; _sk_fail._("aifc")\n',"src/lib/antigravity.py":'import webbrowser\n\nwebbrowser.open("https://xkcd.com/353/")\n',"src/lib/anydbm.py":'import _sk_fail; _sk_fail._("anydbm")\n',"src/lib/ast.py":'import _sk_fail; _sk_fail._("ast")\n',"src/lib/asynchat.py":'import _sk_fail; _sk_fail._("asynchat")\n',"src/lib/asyncore.py":'import _sk_fail; _sk_fail._("asyncore")\n',"src/lib/atexit.py":'import _sk_fail; _sk_fail._("atexit")\n',"src/lib/audiodev.py":'import _sk_fail; _sk_fail._("audiodev")\n',"src/lib/base64.py":'import _sk_fail; _sk_fail._("base64")\n',"src/lib/BaseHTTPServer.py":'import _sk_fail; _sk_fail._("BaseHTTPServer")\n',"src/lib/Bastion.py":'import _sk_fail; _sk_fail._("Bastion")\n',"src/lib/bdb.py":'import _sk_fail; _sk_fail._("bdb")\n',"src/lib/binhex.py":'import _sk_fail; _sk_fail._("binhex")\n',"src/lib/bisect.py":'"""Bisection algorithms."""\n\ndef insort_right(a, x, lo=0, hi=None):\n """Insert item x in list a, and keep it sorted assuming a is sorted.\n\n If x is already in a, insert it to the right of the rightmost x.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if x < a[mid]: hi = mid\n else: lo = mid+1\n a.insert(lo, x)\n\ndef bisect_right(a, x, lo=0, hi=None):\n """Return the index where to insert item x in list a, assuming a is sorted.\n\n The return value i is such that all e in a[:i] have e <= x, and all e in\n a[i:] have e > x. So if x already appears in the list, a.insert(x) will\n insert just after the rightmost x already there.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if x < a[mid]: hi = mid\n else: lo = mid+1\n return lo\n\ndef insort_left(a, x, lo=0, hi=None):\n """Insert item x in list a, and keep it sorted assuming a is sorted.\n\n If x is already in a, insert it to the left of the leftmost x.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if a[mid] < x: lo = mid+1\n else: hi = mid\n a.insert(lo, x)\n\n\ndef bisect_left(a, x, lo=0, hi=None):\n """Return the index where to insert item x in list a, assuming a is sorted.\n\n The return value i is such that all e in a[:i] have e < x, and all e in\n a[i:] have e >= x. So if x already appears in the list, a.insert(x) will\n insert just before the leftmost x already there.\n\n Optional args lo (default 0) and hi (default len(a)) bound the\n slice of a to be searched.\n """\n\n if lo < 0:\n raise ValueError(\'lo must be non-negative\')\n if hi is None:\n hi = len(a)\n while lo < hi:\n mid = (lo+hi)//2\n if a[mid] < x: lo = mid+1\n else: hi = mid\n return lo\n\n# Overwrite above definitions with a fast C implementation\ntry:\n from _bisect import *\nexcept ImportError:\n pass\n\n# Create aliases\nbisect = bisect_right\ninsort = insort_right\n',"src/lib/bsddb/__init__.py":'import _sk_fail; _sk_fail._("bsddb")\n',"src/lib/cgi.py":'import _sk_fail; _sk_fail._("cgi")\n',"src/lib/CGIHTTPServer.py":'import _sk_fail; _sk_fail._("CGIHTTPServer")\n',"src/lib/cgitb.py":'import _sk_fail; _sk_fail._("cgitb")\n',"src/lib/chunk.py":'import _sk_fail; _sk_fail._("chunk")\n',"src/lib/cmd.py":'import _sk_fail; _sk_fail._("cmd")\n',"src/lib/code.py":'import _sk_fail; _sk_fail._("code")\n',"src/lib/codecs.py":'import _sk_fail; _sk_fail._("codecs")\n',"src/lib/codeop.py":'import _sk_fail; _sk_fail._("codeop")\n',"src/lib/colorsys.py":'import _sk_fail; _sk_fail._("colorsys")\n',"src/lib/commands.py":'import _sk_fail; _sk_fail._("commands")\n',"src/lib/compileall.py":'import _sk_fail; _sk_fail._("compileall")\n',"src/lib/compiler/__init__.py":'import _sk_fail; _sk_fail._("compiler")\n',"src/lib/config/__init__.py":'import _sk_fail; _sk_fail._("config")\n',"src/lib/ConfigParser.py":'import _sk_fail; _sk_fail._("ConfigParser")\n',"src/lib/contextlib.py":'import _sk_fail; _sk_fail._("contextlib")\n',"src/lib/Cookie.py":'import _sk_fail; _sk_fail._("Cookie")\n',"src/lib/cookielib.py":'import _sk_fail; _sk_fail._("cookielib")\n',"src/lib/copy.py":'"""\nThis file was modified from CPython.\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,\n2011, 2012, 2013, 2014, 2015 Python Software Foundation; All Rights Reserved\n"""\nimport types\nclass Error(Exception):\n pass\nerror = Error \nclass _EmptyClass:\n pass\ntry:\n long\nexcept NameError:\n long = int\ntry:\n bytes\nexcept NameError:\n bytes = str\n\ndef check_notimplemented_state(x):\n getstate = getattr(x, "__getstate__", None)\n setstate = getattr(x, "__setstate__", None)\n initargs = getattr(x, "__getinitargs__", None)\n if getstate or setstate or initargs:\n raise NotImplementedError("Skulpt does not yet support copying with user-defined __getstate__, __setstate__ or __getinitargs__()")\n\n\ndef copy(x):\n cls = type(x)\n if callable(x):\n return x\n copier = getattr(cls, "__copy__", None)\n if copier:\n return copier(x)\n if cls in (type(None), int, float, bool, str, bytes, tuple, type, frozenset, long):\n return x\n if (cls == list) or (cls == dict) or (cls == set) or (cls == slice):\n return cls(x)\n reductor = getattr(x, "__reduce_ex__", None)\n if reductor:\n rv = reductor(4)\n else:\n reductor = getattr(x, "__reduce__", None)\n if reductor:\n rv = reductor()\n elif str(cls)[1:6] == "class":\n check_notimplemented_state(x)\n copier = _copy_inst\n return copier(x)\n else:\n raise Error("un(shallow)copyable object of type %s" % cls)\n if isinstance(rv, str):\n return x\n return _reconstruct(x, rv, 0)\n\ndef _copy_inst(x):\n if hasattr(x, \'__copy__\'):\n return x.__copy__()\n if hasattr(x, \'__getinitargs__\'):\n args = x.__getinitargs__()\n y = x.__class__(*args)\n else:\n y = _EmptyClass()\n y.__class__ = x.__class__\n if hasattr(x, \'__getstate__\'):\n state = x.__getstate__()\n else:\n state = x.__dict__\n if hasattr(y, \'__setstate__\'):\n y.__setstate__(state)\n else:\n y.__dict__.update(state)\n return y\n\nd = _deepcopy_dispatch = {}\n\ndef deepcopy(x, memo=None, _nil=[]):\n """Deep copy operation on arbitrary Python objects.\n See the module\'s __doc__ string for more info.\n """\n if memo is None:\n memo = {}\n idx = id(x)\n y = memo.get(idx, _nil)\n if y is not _nil:\n return y\n cls = type(x)\n copier = _deepcopy_dispatch.get(cls)\n if copier:\n y = copier(x, memo)\n else:\n try:\n issc = issubclass(cls, type)\n except TypeError: # cls is not a class (old Boost; see SF #502085)\n issc = 0\n if issc:\n y = _deepcopy_atomic(x, memo)\n else:\n copier = getattr(x, "__deepcopy__", None)\n if copier:\n y = copier(memo)\n else:\n reductor = getattr(x, "__reduce_ex__", None)\n if reductor:\n rv = reductor(2)\n else:\n rv = None\n reductor = getattr(x, "__reduce__", None)\n if reductor:\n rv = reductor()\n elif str(cls)[1:6] == "class":\n check_notimplemented_state(x)\n copier = _deepcopy_dispatch["InstanceType"]\n y = copier(x, memo)\n else:\n raise Error(\n "un(deep)copyable object of type %s" % cls)\n if rv is not None:\n y = _reconstruct(x, rv, 1, memo)\n memo[idx] = y\n _keep_alive(x, memo) # Make sure x lives at least as long as d\n return y\n\ndef _deepcopy_atomic(x, memo):\n return x\nd[type(None)] = _deepcopy_atomic\n# d[type(Ellipsis)] = _deepcopy_atomic\nd[type(NotImplemented)] = _deepcopy_atomic\nd[int] = _deepcopy_atomic\nd[float] = _deepcopy_atomic\nd[bool] = _deepcopy_atomic\nd[complex] = _deepcopy_atomic\nd[bytes] = _deepcopy_atomic\nd[str] = _deepcopy_atomic\n# try:\n# d[types.CodeType] = _deepcopy_atomic\n# except AttributeError:\n# pass\nd[type] = _deepcopy_atomic\n# d[types.BuiltinFunctionType] = _deepcopy_atomic\nd[types.FunctionType] = _deepcopy_atomic\n# d[weakref.ref] = _deepcopy_atomic\n\ndef _deepcopy_list(x, memo):\n y = []\n memo[id(x)] = y\n for a in x:\n y.append(deepcopy(a, memo))\n return y\nd[list] = _deepcopy_list\n\ndef _deepcopy_set(x, memo):\n result = set([]) # make empty set\n memo[id(x)] = result # register this set in the memo for loop checking\n for a in x: # go through elements of set\n result.add(deepcopy(a, memo)) # add the copied elements into the new set\n return result # return the new set\nd[set] = _deepcopy_set\n\ndef _deepcopy_frozenset(x, memo):\n result = frozenset(_deepcopy_set(x,memo)) \n memo[id(x)] = result \n return result\nd[frozenset] = _deepcopy_frozenset\n\ndef _deepcopy_tuple(x, memo):\n y = [deepcopy(a, memo) for a in x]\n # We\'re not going to put the tuple in the memo, but it\'s still important we\n # check for it, in case the tuple contains recursive mutable structures.\n try:\n return memo[id(x)]\n except KeyError:\n pass\n for k, j in zip(x, y):\n if k is not j:\n y = tuple(y)\n break\n else:\n y = x\n return y\nd[tuple] = _deepcopy_tuple\n\ndef _deepcopy_dict(x, memo):\n y = {}\n memo[id(x)] = y\n for key, value in x.items():\n y[deepcopy(key, memo)] = deepcopy(value, memo)\n return y\nd[dict] = _deepcopy_dict\n\n# def _deepcopy_method(x, memo): # Copy instance methods\n# y = type(x)(x.im_func, deepcopy(x.im_self, memo), x.im_class);\n# return y\nd[types.MethodType] = _deepcopy_atomic\n\ndef _deepcopy_inst(x, memo):\n if hasattr(x, \'__deepcopy__\'):\n return x.__deepcopy__(memo)\n if hasattr(x, \'__getinitargs__\'):\n args = x.__getinitargs__()\n args = deepcopy(args, memo)\n y = x.__class__(*args)\n else:\n y = _EmptyClass()\n y.__class__ = x.__class__\n memo[id(x)] = y\n if hasattr(x, \'__getstate__\'):\n state = x.__getstate__()\n else:\n state = x.__dict__\n state = deepcopy(state, memo)\n if hasattr(y, \'__setstate__\'):\n y.__setstate__(state)\n else:\n y.__dict__.update(state)\n return y\nd["InstanceType"] = _deepcopy_inst\n\ndef _keep_alive(x, memo):\n """Keeps a reference to the object x in the memo.\n Because we remember objects by their id, we have\n to assure that possibly temporary objects are kept\n alive by referencing them.\n We store a reference at the id of the memo, which should\n normally not be used unless someone tries to deepcopy\n the memo itself...\n """\n try:\n memo[id(memo)].append(x)\n except KeyError:\n # aha, this is the first one :-)\n memo[id(memo)]=[x]\n\ndef _reconstruct(x, info, deep, memo=None):\n if isinstance(info, str):\n return x\n assert isinstance(info, tuple)\n if memo is None:\n memo = {}\n n = len(info)\n assert n in (2, 3, 4, 5)\n callable, args = info[:2]\n if n > 2:\n state = info[2]\n else:\n state = None\n if n > 3:\n listiter = info[3]\n else:\n listiter = None\n if n > 4:\n dictiter = info[4]\n else:\n dictiter = None\n if deep:\n args = deepcopy(args, memo)\n y = callable(*args)\n memo[id(x)] = y\n\n if state is not None:\n if deep:\n state = deepcopy(state, memo)\n if hasattr(y, \'__setstate__\'):\n y.__setstate__(state)\n else:\n if isinstance(state, tuple) and len(state) == 2:\n state, slotstate = state\n else:\n slotstate = None\n if state is not None:\n y.__dict__.update(state)\n if slotstate is not None:\n for key, value in slotstate.items():\n setattr(y, key, value)\n\n if listiter is not None:\n for item in listiter:\n if deep:\n item = deepcopy(item, memo)\n y.append(item)\n if dictiter is not None:\n for key, value in dictiter:\n if deep:\n key = deepcopy(key, memo)\n value = deepcopy(value, memo)\n y[key] = value\n return y\n\ndel d\n\ndel types\n\n# Helper for instance creation without calling __init__\nclass _EmptyClass:\n pass',"src/lib/copy_reg.py":'import _sk_fail; _sk_fail._("copy_reg")\n',"src/lib/cProfile.py":'import _sk_fail; _sk_fail._("cProfile")\n',"src/lib/csv.py":'import _sk_fail; _sk_fail._("csv")\n',"src/lib/ctypes/macholib/__init__.py":'import _sk_fail; _sk_fail._("macholib")\n',"src/lib/ctypes/__init__.py":'import _sk_fail; _sk_fail._("ctypes")\n',"src/lib/curses/__init__.py":'import _sk_fail; _sk_fail._("curses")\n',"src/lib/dbhash.py":'import _sk_fail; _sk_fail._("dbhash")\n',"src/lib/decimal.py":'import _sk_fail; _sk_fail._("decimal")\n',"src/lib/difflib.py":'import _sk_fail; _sk_fail._("difflib")\n',"src/lib/dircache.py":'import _sk_fail; _sk_fail._("dircache")\n',"src/lib/dis.py":'import _sk_fail; _sk_fail._("dis")\n',"src/lib/distutils/command/__init__.py":'import _sk_fail; _sk_fail._("command")\n',"src/lib/distutils/tests/__init__.py":'import _sk_fail; _sk_fail._("tests")\n',"src/lib/distutils/__init__.py":'import _sk_fail; _sk_fail._("distutils")\n',"src/lib/doctest.py":'import _sk_fail; _sk_fail._("doctest")\n',"src/lib/DocXMLRPCServer.py":'import _sk_fail; _sk_fail._("DocXMLRPCServer")\n',"src/lib/dumbdbm.py":'import _sk_fail; _sk_fail._("dumbdbm")\n',"src/lib/dummy_thread.py":'import _sk_fail; _sk_fail._("dummy_thread")\n',"src/lib/dummy_threading.py":'import _sk_fail; _sk_fail._("dummy_threading")\n',"src/lib/email/mime/__init__.py":'import _sk_fail; _sk_fail._("mime")\n',"src/lib/email/test/data/__init__.py":'import _sk_fail; _sk_fail._("data")\n',"src/lib/email/__init__.py":'import _sk_fail; _sk_fail._("email")\n',"src/lib/encodings/__init__.py":'import _sk_fail; _sk_fail._("encodings")\n',"src/lib/filecmp.py":'import _sk_fail; _sk_fail._("filecmp")\n',"src/lib/fileinput.py":'import _sk_fail; _sk_fail._("fileinput")\n',"src/lib/fnmatch.py":'import _sk_fail; _sk_fail._("fnmatch")\n',"src/lib/formatter.py":'import _sk_fail; _sk_fail._("formatter")\n',"src/lib/fpformat.py":'import _sk_fail; _sk_fail._("fpformat")\n',"src/lib/fractions.py":'import _sk_fail; _sk_fail._("fractions")\n',"src/lib/ftplib.py":'import _sk_fail; _sk_fail._("ftplib")\n',"src/lib/genericpath.py":'import _sk_fail; _sk_fail._("genericpath")\n',"src/lib/getopt.py":'import _sk_fail; _sk_fail._("getopt")\n',"src/lib/getpass.py":'import _sk_fail; _sk_fail._("getpass")\n',"src/lib/gettext.py":'import _sk_fail; _sk_fail._("gettext")\n',"src/lib/glob.py":'import _sk_fail; _sk_fail._("glob")\n',"src/lib/gzip.py":'import _sk_fail; _sk_fail._("gzip")\n',"src/lib/hashlib.py":'import _sk_fail; _sk_fail._("hashlib")\n',"src/lib/heapq.py":'import _sk_fail; _sk_fail._("heapq")\n',"src/lib/hmac.py":'import _sk_fail; _sk_fail._("hmac")\n',"src/lib/hotshot/__init__.py":'import _sk_fail; _sk_fail._("hotshot")\n',"src/lib/htmlentitydefs.py":'import _sk_fail; _sk_fail._("htmlentitydefs")\n',"src/lib/htmllib.py":'import _sk_fail; _sk_fail._("htmllib")\n',"src/lib/HTMLParser.py":'import _sk_fail; _sk_fail._("HTMLParser")\n',"src/lib/httplib.py":'import _sk_fail; _sk_fail._("httplib")\n',"src/lib/idlelib/Icons/__init__.py":'import _sk_fail; _sk_fail._("Icons")\n',"src/lib/idlelib/__init__.py":'import _sk_fail; _sk_fail._("idlelib")\n',"src/lib/ihooks.py":'import _sk_fail; _sk_fail._("ihooks")\n',"src/lib/imaplib.py":'import _sk_fail; _sk_fail._("imaplib")\n',"src/lib/imghdr.py":'import _sk_fail; _sk_fail._("imghdr")\n',"src/lib/imputil.py":'import _sk_fail; _sk_fail._("imputil")\n',"src/lib/io.py":'import _sk_fail; _sk_fail._("io")\n',"src/lib/lib-dynload/__init__.py":'import _sk_fail; _sk_fail._("lib-dynload")\n',"src/lib/lib-tk/__init__.py":'import _sk_fail; _sk_fail._("lib-tk")\n',"src/lib/lib2to3/fixes/__init__.py":'import _sk_fail; _sk_fail._("fixes")\n',"src/lib/lib2to3/pgen2/__init__.py":'import _sk_fail; _sk_fail._("pgen2")\n',"src/lib/lib2to3/tests/__init__.py":'import _sk_fail; _sk_fail._("tests")\n',"src/lib/lib2to3/__init__.py":'import _sk_fail; _sk_fail._("lib2to3")\n',"src/lib/linecache.py":'import _sk_fail; _sk_fail._("linecache")\n',"src/lib/locale.py":'import _sk_fail; _sk_fail._("locale")\n',"src/lib/logging/__init__.py":'import _sk_fail; _sk_fail._("logging")\n',"src/lib/macpath.py":'import _sk_fail; _sk_fail._("macpath")\n',"src/lib/macurl2path.py":'import _sk_fail; _sk_fail._("macurl2path")\n',"src/lib/mailbox.py":'import _sk_fail; _sk_fail._("mailbox")\n',"src/lib/mailcap.py":'import _sk_fail; _sk_fail._("mailcap")\n',"src/lib/markupbase.py":'import _sk_fail; _sk_fail._("markupbase")\n',"src/lib/md5.py":'import _sk_fail; _sk_fail._("md5")\n',"src/lib/mhlib.py":'import _sk_fail; _sk_fail._("mhlib")\n',"src/lib/mimetools.py":'import _sk_fail; _sk_fail._("mimetools")\n',"src/lib/mimetypes.py":'import _sk_fail; _sk_fail._("mimetypes")\n',"src/lib/MimeWriter.py":'import _sk_fail; _sk_fail._("MimeWriter")\n',"src/lib/mimify.py":'import _sk_fail; _sk_fail._("mimify")\n',"src/lib/modulefinder.py":'import _sk_fail; _sk_fail._("modulefinder")\n',"src/lib/multifile.py":'import _sk_fail; _sk_fail._("multifile")\n',"src/lib/multiprocessing/dummy/__init__.py":'import _sk_fail; _sk_fail._("dummy")\n',"src/lib/multiprocessing/__init__.py":'import _sk_fail; _sk_fail._("multiprocessing")\n',"src/lib/mutex.py":'import _sk_fail; _sk_fail._("mutex")\n',"src/lib/netrc.py":'import _sk_fail; _sk_fail._("netrc")\n',"src/lib/new.py":'import _sk_fail; _sk_fail._("new")\n',"src/lib/nntplib.py":'import _sk_fail; _sk_fail._("nntplib")\n',"src/lib/ntpath.py":'import _sk_fail; _sk_fail._("ntpath")\n',"src/lib/nturl2path.py":'import _sk_fail; _sk_fail._("nturl2path")\n',"src/lib/numbers.py":"Number = (int, float, complex)\nIntegral = int\nComplex = complex\n","src/lib/opcode.py":'import _sk_fail; _sk_fail._("opcode")\n',"src/lib/optparse.py":'import _sk_fail; _sk_fail._("optparse")\n',"src/lib/os.py":'import _sk_fail; _sk_fail._("os")\n',"src/lib/os2emxpath.py":'import _sk_fail; _sk_fail._("os2emxpath")\n',"src/lib/pdb.py":'import _sk_fail; _sk_fail._("pdb")\n',"src/lib/pickle.py":'import _sk_fail; _sk_fail._("pickle")\n',"src/lib/pickletools.py":'import _sk_fail; _sk_fail._("pickletools")\n',"src/lib/pipes.py":'import _sk_fail; _sk_fail._("pipes")\n',"src/lib/pkgutil.py":'import _sk_fail; _sk_fail._("pkgutil")\n',"src/lib/platform.py":'import _sk_fail; _sk_fail._("platform")\n',"src/lib/plistlib.py":'import _sk_fail; _sk_fail._("plistlib")\n',"src/lib/popen2.py":'import _sk_fail; _sk_fail._("popen2")\n',"src/lib/poplib.py":'import _sk_fail; _sk_fail._("poplib")\n',"src/lib/posixfile.py":'import _sk_fail; _sk_fail._("posixfile")\n',"src/lib/posixpath.py":'import _sk_fail; _sk_fail._("posixpath")\n',"src/lib/pprint.py":'import _sk_fail; _sk_fail._("pprint")\n',"src/lib/profile.py":'import _sk_fail; _sk_fail._("profile")\n',"src/lib/pstats.py":'import _sk_fail; _sk_fail._("pstats")\n',"src/lib/pty.py":'import _sk_fail; _sk_fail._("pty")\n',"src/lib/pyclbr.py":'import _sk_fail; _sk_fail._("pyclbr")\n',"src/lib/pydoc.py":'import _sk_fail; _sk_fail._("pydoc")\n',"src/lib/pydoc_topics.py":'import _sk_fail; _sk_fail._("pydoc_topics")\n',"src/lib/pythonds/basic/deque.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n#deque.py\n\n\nclass Deque:\n def __init__(self):\n self.items = []\n\n def isEmpty(self):\n return self.items == []\n\n def addFront(self, item):\n self.items.append(item)\n\n def addRear(self, item):\n self.items.insert(0,item)\n\n def removeFront(self):\n return self.items.pop()\n\n def removeRear(self):\n return self.items.pop(0)\n\n def size(self):\n return len(self.items)\n","src/lib/pythonds/basic/queue.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n#queue.py\n\nclass Queue:\n def __init__(self):\n self.items = []\n\n def isEmpty(self):\n return self.items == []\n\n def enqueue(self, item):\n self.items.insert(0,item)\n\n def dequeue(self):\n return self.items.pop()\n\n def size(self):\n return len(self.items)\n","src/lib/pythonds/basic/stack.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n#stack.py\n\nclass Stack:\n def __init__(self):\n self.items = []\n\n def isEmpty(self):\n return self.items == []\n\n def push(self, item):\n self.items.append(item)\n\n def pop(self):\n return self.items.pop()\n\n def peek(self):\n return self.items[len(self.items)-1]\n\n def size(self):\n return len(self.items)\n\n","src/lib/pythonds/basic/__init__.py":'\n#__all__ = ["stack"]\n\n\n#from .stack import Stack\n#from .queue import Queue\n\n\n\n',"src/lib/pythonds/graphs/adjGraph.py":'#\n# adjGraph\n#\n# Created by Brad Miller on 2005-02-24.\n# Copyright (c) 2005 Brad Miller, David Ranum, Luther College. All rights reserved.\n#\n\nimport sys\nimport os\nimport unittest\n\nclass Graph:\n def __init__(self):\n self.vertices = {}\n self.numVertices = 0\n \n def addVertex(self,key):\n self.numVertices = self.numVertices + 1\n newVertex = Vertex(key)\n self.vertices[key] = newVertex\n return newVertex\n \n def getVertex(self,n):\n if n in self.vertices:\n return self.vertices[n]\n else:\n return None\n\n def __contains__(self,n):\n return n in self.vertices\n \n def addEdge(self,f,t,cost=0):\n if f not in self.vertices:\n nv = self.addVertex(f)\n if t not in self.vertices:\n nv = self.addVertex(t)\n self.vertices[f].addNeighbor(self.vertices[t],cost)\n \n def getVertices(self):\n return list(self.vertices.keys())\n \n def __iter__(self):\n return iter(self.vertices.values())\n \nclass Vertex:\n def __init__(self,num):\n self.id = num\n self.connectedTo = {}\n self.color = \'white\'\n self.dist = sys.maxsize\n self.pred = None\n self.disc = 0\n self.fin = 0\n\n # def __lt__(self,o):\n # return self.id < o.id\n \n def addNeighbor(self,nbr,weight=0):\n self.connectedTo[nbr] = weight\n \n def setColor(self,color):\n self.color = color\n \n def setDistance(self,d):\n self.dist = d\n\n def setPred(self,p):\n self.pred = p\n\n def setDiscovery(self,dtime):\n self.disc = dtime\n \n def setFinish(self,ftime):\n self.fin = ftime\n \n def getFinish(self):\n return self.fin\n \n def getDiscovery(self):\n return self.disc\n \n def getPred(self):\n return self.pred\n \n def getDistance(self):\n return self.dist\n \n def getColor(self):\n return self.color\n \n def getConnections(self):\n return self.connectedTo.keys()\n \n def getWeight(self,nbr):\n return self.connectedTo[nbr]\n \n def __str__(self):\n return str(self.id) + ":color " + self.color + ":disc " + str(self.disc) + ":fin " + str(self.fin) + ":dist " + str(self.dist) + ":pred \\n\\t[" + str(self.pred)+ "]\\n"\n \n def getId(self):\n return self.id\n\nclass adjGraphTests(unittest.TestCase):\n def setUp(self):\n self.tGraph = Graph()\n \n def testMakeGraph(self):\n gFile = open("test.dat")\n for line in gFile:\n fVertex, tVertex = line.split(\'|\')\n fVertex = int(fVertex)\n tVertex = int(tVertex)\n self.tGraph.addEdge(fVertex,tVertex)\n for i in self.tGraph:\n adj = i.getAdj()\n for k in adj:\n print(i, k)\n\n \nif __name__ == \'__main__\':\n unittest.main()\n \n',"src/lib/pythonds/graphs/priorityQueue.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \nimport unittest\n\n# this implementation of binary heap takes key value pairs,\n# we will assume that the keys are all comparable\n\nclass PriorityQueue:\n def __init__(self):\n self.heapArray = [(0,0)]\n self.currentSize = 0\n\n def buildHeap(self,alist):\n self.currentSize = len(alist)\n self.heapArray = [(0,0)]\n for i in alist:\n self.heapArray.append(i)\n i = len(alist) // 2 \n while (i > 0):\n self.percDown(i)\n i = i - 1\n \n def percDown(self,i):\n while (i * 2) <= self.currentSize:\n mc = self.minChild(i)\n if self.heapArray[i][0] > self.heapArray[mc][0]:\n tmp = self.heapArray[i]\n self.heapArray[i] = self.heapArray[mc]\n self.heapArray[mc] = tmp\n i = mc\n \n def minChild(self,i):\n if i*2 > self.currentSize:\n return -1\n else:\n if i*2 + 1 > self.currentSize:\n return i*2\n else:\n if self.heapArray[i*2][0] < self.heapArray[i*2+1][0]:\n return i*2\n else:\n return i*2+1\n\n def percUp(self,i):\n while i // 2 > 0:\n if self.heapArray[i][0] < self.heapArray[i//2][0]:\n tmp = self.heapArray[i//2]\n self.heapArray[i//2] = self.heapArray[i]\n self.heapArray[i] = tmp\n i = i//2\n \n def add(self,k):\n self.heapArray.append(k)\n self.currentSize = self.currentSize + 1\n self.percUp(self.currentSize)\n\n def delMin(self):\n retval = self.heapArray[1][1]\n self.heapArray[1] = self.heapArray[self.currentSize]\n self.currentSize = self.currentSize - 1\n self.heapArray.pop()\n self.percDown(1)\n return retval\n \n def isEmpty(self):\n if self.currentSize == 0:\n return True\n else:\n return False\n\n def decreaseKey(self,val,amt):\n # this is a little wierd, but we need to find the heap thing to decrease by\n # looking at its value\n done = False\n i = 1\n myKey = 0\n while not done and i <= self.currentSize:\n if self.heapArray[i][1] == val:\n done = True\n myKey = i\n else:\n i = i + 1\n if myKey > 0:\n self.heapArray[myKey] = (amt,self.heapArray[myKey][1])\n self.percUp(myKey)\n \n def __contains__(self,vtx):\n for pair in self.heapArray:\n if pair[1] == vtx:\n return True\n return False\n \nclass TestBinHeap(unittest.TestCase):\n def setUp(self):\n self.theHeap = PriorityQueue()\n self.theHeap.add((2,'x'))\n self.theHeap.add((3,'y'))\n self.theHeap.add((5,'z'))\n self.theHeap.add((6,'a'))\n self.theHeap.add((4,'d'))\n\n\n def testInsert(self):\n assert self.theHeap.currentSize == 5\n\n def testDelmin(self):\n assert self.theHeap.delMin() == 'x'\n assert self.theHeap.delMin() == 'y'\n \n def testDecKey(self):\n self.theHeap.decreaseKey('d',1)\n assert self.theHeap.delMin() == 'd'\n \nif __name__ == '__main__':\n unittest.main()\n","src/lib/pythonds/graphs/__init__.py":"\n\nfrom .adjGraph import Graph\nfrom .adjGraph import Vertex\nfrom .priorityQueue import PriorityQueue\n","src/lib/pythonds/trees/balance.py":"#!/bin/env python3.1\n# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005, 2010\n# \n\nfrom .bst import BinarySearchTree, TreeNode\n\nclass AVLTree(BinarySearchTree):\n '''\n Author: Brad Miller\n Date: 1/15/2005\n Description: Imlement a binary search tree with the following interface\n functions: \n __contains__(y) <==> y in x\n __getitem__(y) <==> x[y]\n __init__()\n __len__() <==> len(x)\n __setitem__(k,v) <==> x[k] = v\n clear()\n get(k)\n has_key(k)\n items() \n keys() \n values()\n put(k,v)\n '''\n\n\n def _put(self,key,val,currentNode):\n if key < currentNode.key:\n if currentNode.hasLeftChild():\n self._put(key,val,currentNode.leftChild)\n else:\n currentNode.leftChild = TreeNode(key,val,parent=currentNode)\n self.updateBalance(currentNode.leftChild)\n else:\n if currentNode.hasRightChild():\n self._put(key,val,currentNode.rightChild)\n else:\n currentNode.rightChild = TreeNode(key,val,parent=currentNode)\n self.updateBalance(currentNode.rightChild) \n\n def updateBalance(self,node):\n if node.balanceFactor > 1 or node.balanceFactor < -1:\n self.rebalance(node)\n return\n if node.parent != None:\n if node.isLeftChild():\n node.parent.balanceFactor += 1\n elif node.isRightChild():\n node.parent.balanceFactor -= 1\n\n if node.parent.balanceFactor != 0:\n self.updateBalance(node.parent)\n\n def rebalance(self,node):\n if node.balanceFactor < 0:\n if node.rightChild.balanceFactor > 0:\n # Do an LR Rotation\n self.rotateRight(node.rightChild)\n self.rotateLeft(node)\n else:\n # single left\n self.rotateLeft(node)\n elif node.balanceFactor > 0:\n if node.leftChild.balanceFactor < 0:\n # Do an RL Rotation\n self.rotateLeft(node.leftChild)\n self.rotateRight(node)\n else:\n # single right\n self.rotateRight(node)\n\n def rotateLeft(self,rotRoot):\n newRoot = rotRoot.rightChild\n rotRoot.rightChild = newRoot.leftChild\n if newRoot.leftChild != None:\n newRoot.leftChild.parent = rotRoot\n newRoot.parent = rotRoot.parent\n if rotRoot.isRoot():\n self.root = newRoot\n else:\n if rotRoot.isLeftChild():\n rotRoot.parent.leftChild = newRoot\n else:\n rotRoot.parent.rightChild = newRoot\n newRoot.leftChild = rotRoot\n rotRoot.parent = newRoot\n rotRoot.balanceFactor = rotRoot.balanceFactor + 1 - min(newRoot.balanceFactor, 0)\n newRoot.balanceFactor = newRoot.balanceFactor + 1 + max(rotRoot.balanceFactor, 0)\n\n\n def rotateRight(self,rotRoot):\n newRoot = rotRoot.leftChild\n rotRoot.leftChild = newRoot.rightChild\n if newRoot.rightChild != None:\n newRoot.rightChild.parent = rotRoot\n newRoot.parent = rotRoot.parent\n if rotRoot.isRoot():\n self.root = newRoot\n else:\n if rotRoot.isRightChild():\n rotRoot.parent.rightChild = newRoot\n else:\n rotRoot.parent.leftChild = newRoot\n newRoot.rightChild = rotRoot\n rotRoot.parent = newRoot\n rotRoot.balanceFactor = rotRoot.balanceFactor - 1 - max(newRoot.balanceFactor, 0)\n newRoot.balanceFactor = newRoot.balanceFactor - 1 + min(rotRoot.balanceFactor, 0)\n \n","src/lib/pythonds/trees/binaryTree.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n\nclass BinaryTree:\n \"\"\"\n A recursive implementation of Binary Tree\n Using links and Nodes approach.\n \"\"\" \n def __init__(self,rootObj):\n self.key = rootObj\n self.leftChild = None\n self.rightChild = None\n\n def insertLeft(self,newNode):\n if self.leftChild == None:\n self.leftChild = BinaryTree(newNode)\n else:\n t = BinaryTree(newNode)\n t.left = self.leftChild\n self.leftChild = t\n \n def insertRight(self,newNode):\n if self.rightChild == None:\n self.rightChild = BinaryTree(newNode)\n else:\n t = BinaryTree(newNode)\n t.right = self.rightChild\n self.rightChild = t\n\n def isLeaf(self):\n return ((not self.leftChild) and (not self.rightChild))\n\n def getRightChild(self):\n return self.rightChild\n\n def getLeftChild(self):\n return self.leftChild\n\n def setRootVal(self,obj):\n self.key = obj\n\n def getRootVal(self,):\n return self.key\n\n def inorder(self):\n if self.leftChild:\n self.leftChild.inorder()\n print(self.key)\n if self.rightChild:\n self.rightChild.inorder()\n\n def postorder(self):\n if self.leftChild:\n self.leftChild.postorder()\n if self.rightChild:\n self.rightChild.postorder()\n print(self.key)\n\n\n def preorder(self):\n print(self.key)\n if self.leftChild:\n self.leftChild.preorder()\n if self.rightChild:\n self.rightChild.preorder()\n\n def printexp(self):\n if self.leftChild:\n print('(')\n self.leftChild.printexp()\n print(self.key)\n if self.rightChild:\n self.rightChild.printexp()\n print(')')\n\n def postordereval(self):\n opers = {'+':operator.add, '-':operator.sub, '*':operator.mul, '/':operator.truediv}\n res1 = None\n res2 = None\n if self.leftChild:\n res1 = self.leftChild.postordereval() #// \\label{peleft}\n if self.rightChild:\n res2 = self.rightChild.postordereval() #// \\label{peright}\n if res1 and res2:\n return opers[self.key](res1,res2) #// \\label{peeval}\n else:\n return self.key\n\ndef inorder(tree):\n if tree != None:\n inorder(tree.getLeftChild())\n print(tree.getRootVal())\n inorder(tree.getRightChild())\n\ndef printexp(tree):\n if tree.leftChild:\n print('(')\n printexp(tree.getLeftChild())\n print(tree.getRootVal())\n if tree.rightChild:\n printexp(tree.getRightChild())\n print(')') \n\ndef printexp(tree):\n sVal = \"\"\n if tree:\n sVal = '(' + printexp(tree.getLeftChild())\n sVal = sVal + str(tree.getRootVal())\n sVal = sVal + printexp(tree.getRightChild()) + ')'\n return sVal\n\ndef postordereval(tree):\n opers = {'+':operator.add, '-':operator.sub, '*':operator.mul, '/':operator.truediv}\n res1 = None\n res2 = None\n if tree:\n res1 = postordereval(tree.getLeftChild()) #// \\label{peleft}\n res2 = postordereval(tree.getRightChild()) #// \\label{peright}\n if res1 and res2:\n return opers[tree.getRootVal()](res1,res2) #// \\label{peeval}\n else:\n return tree.getRootVal()\n\ndef height(tree):\n if tree == None:\n return -1\n else:\n return 1 + max(height(tree.leftChild),height(tree.rightChild))\n\n# t = BinaryTree(7)\n# t.insertLeft(3)\n# t.insertRight(9)\n# inorder(t)\n# import operator\n# x = BinaryTree('*')\n# x.insertLeft('+')\n# l = x.getLeftChild()\n# l.insertLeft(4)\n# l.insertRight(5)\n# x.insertRight(7)\n# print(printexp(x))\n# print(postordereval(x))\n# print(height(x))\n","src/lib/pythonds/trees/binheap.py":"# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005\n# \n\n# this heap takes key value pairs, we will assume that the keys are integers\nclass BinHeap:\n def __init__(self):\n self.heapList = [0]\n self.currentSize = 0\n\n\n def buildHeap(self,alist):\n i = len(alist) // 2\n self.currentSize = len(alist)\n self.heapList = [0] + alist[:]\n print(len(self.heapList), i)\n while (i > 0):\n print(self.heapList, i)\n self.percDown(i)\n i = i - 1\n print(self.heapList,i)\n \n def percDown(self,i):\n while (i * 2) <= self.currentSize:\n mc = self.minChild(i)\n if self.heapList[i] > self.heapList[mc]:\n tmp = self.heapList[i]\n self.heapList[i] = self.heapList[mc]\n self.heapList[mc] = tmp\n i = mc\n \n def minChild(self,i):\n if i * 2 + 1 > self.currentSize:\n return i * 2\n else:\n if self.heapList[i * 2] < self.heapList[i * 2 + 1]:\n return i * 2\n else:\n return i * 2 + 1\n\n def percUp(self,i):\n while i // 2 > 0:\n if self.heapList[i] < self.heapList[i//2]:\n tmp = self.heapList[i // 2]\n self.heapList[i // 2] = self.heapList[i]\n self.heapList[i] = tmp\n i = i // 2\n \n def insert(self,k):\n self.heapList.append(k)\n self.currentSize = self.currentSize + 1\n self.percUp(self.currentSize)\n\n def delMin(self):\n retval = self.heapList[1]\n self.heapList[1] = self.heapList[self.currentSize]\n self.currentSize = self.currentSize - 1\n self.heapList.pop()\n self.percDown(1)\n return retval\n \n def isEmpty(self):\n if currentSize == 0:\n return True\n else:\n return False\n","src/lib/pythonds/trees/bst.py":"#!/bin/env python3.1\n# Bradley N. Miller, David L. Ranum\n# Introduction to Data Structures and Algorithms in Python\n# Copyright 2005, 2010\n# \n\nclass BinarySearchTree:\n '''\n Author: Brad Miller\n Date: 1/15/2005\n Description: Imlement a binary search tree with the following interface\n functions: \n __contains__(y) <==> y in x\n __getitem__(y) <==> x[y]\n __init__()\n __len__() <==> len(x)\n __setitem__(k,v) <==> x[k] = v\n clear()\n get(k)\n items() \n keys() \n values()\n put(k,v)\n in\n del <==> \n '''\n\n def __init__(self):\n self.root = None\n self.size = 0\n \n def put(self,key,val):\n if self.root:\n self._put(key,val,self.root)\n else:\n self.root = TreeNode(key,val)\n self.size = self.size + 1\n\n def _put(self,key,val,currentNode):\n if key < currentNode.key:\n if currentNode.hasLeftChild():\n self._put(key,val,currentNode.leftChild)\n else:\n currentNode.leftChild = TreeNode(key,val,parent=currentNode)\n else:\n if currentNode.hasRightChild():\n self._put(key,val,currentNode.rightChild)\n else:\n currentNode.rightChild = TreeNode(key,val,parent=currentNode)\n \n def __setitem__(self,k,v):\n self.put(k,v)\n\n def get(self,key):\n if self.root:\n res = self._get(key,self.root)\n if res:\n return res.payload\n else:\n return None\n else:\n return None\n \n def _get(self,key,currentNode):\n if not currentNode:\n return None\n elif currentNode.key == key:\n return currentNode\n elif key < currentNode.key:\n return self._get(key,currentNode.leftChild)\n else:\n return self._get(key,currentNode.rightChild)\n \n \n def __getitem__(self,key):\n res = self.get(key)\n if res:\n return res\n else:\n raise KeyError('Error, key not in tree')\n \n\n def __contains__(self,key):\n if self._get(key,self.root):\n return True\n else:\n return False\n \n def length(self):\n return self.size\n\n def __len__(self):\n return self.size\n\n def __iter__(self):\n return self.root.__iter__()\n \n def delete(self,key):\n if self.size > 1:\n nodeToRemove = self._get(key,self.root)\n if nodeToRemove:\n self.remove(nodeToRemove)\n self.size = self.size-1\n else:\n raise KeyError('Error, key not in tree')\n elif self.size == 1 and self.root.key == key:\n self.root = None\n self.size = self.size - 1\n else:\n raise KeyError('Error, key not in tree')\n\n def __delitem__(self,key):\n self.delete(key)\n \n def remove(self,currentNode):\n if currentNode.isLeaf(): #leaf\n if currentNode == currentNode.parent.leftChild:\n currentNode.parent.leftChild = None\n else:\n currentNode.parent.rightChild = None\n elif currentNode.hasBothChildren(): #interior\n succ = currentNode.findSuccessor()\n succ.spliceOut()\n currentNode.key = succ.key\n currentNode.payload = succ.payload\n else: # this node has one child\n if currentNode.hasLeftChild():\n if currentNode.isLeftChild():\n currentNode.leftChild.parent = currentNode.parent\n currentNode.parent.leftChild = currentNode.leftChild\n elif currentNode.isRightChild():\n currentNode.leftChild.parent = currentNode.parent\n currentNode.parent.rightChild = currentNode.leftChild\n else:\n currentNode.replaceNodeData(currentNode.leftChild.key,\n currentNode.leftChild.payload,\n currentNode.leftChild.leftChild,\n currentNode.leftChild.rightChild)\n else:\n if currentNode.isLeftChild():\n currentNode.rightChild.parent = currentNode.parent\n currentNode.parent.leftChild = currentNode.rightChild\n elif currentNode.isRightChild():\n currentNode.rightChild.parent = currentNode.parent\n currentNode.parent.rightChild = currentNode.rightChild\n else:\n currentNode.replaceNodeData(currentNode.rightChild.key,\n currentNode.rightChild.payload,\n currentNode.rightChild.leftChild,\n currentNode.rightChild.rightChild)\n\n def inorder(self):\n self._inorder(self.root)\n\n def _inorder(self,tree):\n if tree != None:\n self._inorder(tree.leftChild)\n print(tree.key)\n self._inorder(tree.rightChild)\n\n def postorder(self):\n self._postorder(self.root)\n\n def _postorder(self, tree):\n if tree:\n self._postorder(tree.rightChild)\n self._postorder(tree.leftChild)\n print(tree.key) \n\n def preorder(self):\n self._preorder(self,self.root)\n\n def _preorder(self,tree):\n if tree:\n print(tree.key) \n self._preorder(tree.leftChild)\n self._preorder(tree.rightChild)\n\n \nclass TreeNode:\n def __init__(self,key,val,left=None,right=None,parent=None):\n self.key = key\n self.payload = val\n self.leftChild = left\n self.rightChild = right\n self.parent = parent\n self.balanceFactor = 0\n \n def hasLeftChild(self):\n return self.leftChild\n\n def hasRightChild(self):\n return self.rightChild\n \n def isLeftChild(self):\n return self.parent and self.parent.leftChild == self\n\n def isRightChild(self):\n return self.parent and self.parent.rightChild == self\n\n def isRoot(self):\n return not self.parent\n\n def isLeaf(self):\n return not (self.rightChild or self.leftChild)\n\n def hasAnyChildren(self):\n return self.rightChild or self.leftChild\n\n def hasBothChildren(self):\n return self.rightChild and self.leftChild\n \n def replaceNodeData(self,key,value,lc,rc):\n self.key = key\n self.payload = value\n self.leftChild = lc\n self.rightChild = rc\n if self.hasLeftChild():\n self.leftChild.parent = self\n if self.hasRightChild():\n self.rightChild.parent = self\n \n def findSuccessor(self):\n succ = None\n if self.hasRightChild():\n succ = self.rightChild.findMin()\n else:\n if self.parent:\n if self.isLeftChild():\n succ = self.parent\n else:\n self.parent.rightChild = None\n succ = self.parent.findSuccessor()\n self.parent.rightChild = self\n return succ\n\n\n def spliceOut(self):\n if self.isLeaf():\n if self.isLeftChild():\n self.parent.leftChild = None\n else:\n self.parent.rightChild = None\n elif self.hasAnyChildren():\n if self.hasLeftChild():\n if self.isLeftChild():\n self.parent.leftChild = self.leftChild\n else:\n self.parent.rightChild = self.leftChild\n self.leftChild.parent = self.parent\n else:\n if self.isLeftChild():\n self.parent.leftChild = self.rightChild\n else:\n self.parent.rightChild = self.rightChild\n self.rightChild.parent = self.parent\n\n def findMin(self):\n current = self\n while current.hasLeftChild():\n current = current.leftChild\n return current\n\n def __iter__(self):\n \"\"\"The standard inorder traversal of a binary tree.\"\"\"\n if self:\n if self.hasLeftChild():\n for elem in self.leftChild:\n yield elem\n yield self.key\n if self.hasRightChild():\n for elem in self.rightChild:\n yield elem\n\n \n","src/lib/pythonds/trees/__init__.py":"\n# from .binaryTree import BinaryTree\n# from .balance import AVLTree\n# from .bst import BinarySearchTree\n# from .binheap import BinHeap\n\n\n","src/lib/pythonds/__init__.py":"","src/lib/py_compile.py":'import _sk_fail; _sk_fail._("py_compile")\n',"src/lib/Queue.py":'import _sk_fail; _sk_fail._("Queue")\n',"src/lib/quopri.py":'import _sk_fail; _sk_fail._("quopri")\n',"src/lib/repr.py":'import _sk_fail; _sk_fail._("repr")\n',"src/lib/rexec.py":'import _sk_fail; _sk_fail._("rexec")\n',"src/lib/rfc822.py":'import _sk_fail; _sk_fail._("rfc822")\n',"src/lib/rlcompleter.py":'import _sk_fail; _sk_fail._("rlcompleter")\n',"src/lib/robotparser.py":'import _sk_fail; _sk_fail._("robotparser")\n',"src/lib/runpy.py":'import _sk_fail; _sk_fail._("runpy")\n',"src/lib/sched.py":'import _sk_fail; _sk_fail._("sched")\n',"src/lib/sets.py":'import _sk_fail; _sk_fail._("sets")\n',"src/lib/sgmllib.py":'import _sk_fail; _sk_fail._("sgmllib")\n',"src/lib/sha.py":'import _sk_fail; _sk_fail._("sha")\n',"src/lib/shelve.py":'import _sk_fail; _sk_fail._("shelve")\n',"src/lib/shlex.py":'import _sk_fail; _sk_fail._("shlex")\n',"src/lib/shutil.py":'import _sk_fail; _sk_fail._("shutil")\n',"src/lib/SimpleHTTPServer.py":'import _sk_fail; _sk_fail._("SimpleHTTPServer")\n',"src/lib/SimpleXMLRPCServer.py":'import _sk_fail; _sk_fail._("SimpleXMLRPCServer")\n',"src/lib/site.py":'import _sk_fail; _sk_fail._("site")\n',"src/lib/smtpd.py":'import _sk_fail; _sk_fail._("smtpd")\n',"src/lib/smtplib.py":'import _sk_fail; _sk_fail._("smtplib")\n',"src/lib/sndhdr.py":'import _sk_fail; _sk_fail._("sndhdr")\n',"src/lib/socket.py":'import _sk_fail; _sk_fail._("socket")\n',"src/lib/SocketServer.py":'import _sk_fail; _sk_fail._("SocketServer")\n',"src/lib/sqlite3/__init__.py":'import _sk_fail; _sk_fail._("sqlite3")\n',"src/lib/sre.py":'import _sk_fail; _sk_fail._("sre")\n',"src/lib/sre_compile.py":'import _sk_fail; _sk_fail._("sre_compile")\n',"src/lib/sre_constants.py":'import _sk_fail; _sk_fail._("sre_constants")\n',"src/lib/sre_parse.py":'import _sk_fail; _sk_fail._("sre_parse")\n',"src/lib/ssl.py":'import _sk_fail; _sk_fail._("ssl")\n',"src/lib/stat.py":'import _sk_fail; _sk_fail._("stat")\n',"src/lib/statvfs.py":'import _sk_fail; _sk_fail._("statvfs")\n',"src/lib/StringIO.py":'r"""File-like objects that read from or write to a string buffer.\n\nThis implements (nearly) all stdio methods.\n\nf = StringIO() # ready for writing\nf = StringIO(buf) # ready for reading\nf.close() # explicitly release resources held\nflag = f.isatty() # always false\npos = f.tell() # get current position\nf.seek(pos) # set current position\nf.seek(pos, mode) # mode 0: absolute; 1: relative; 2: relative to EOF\nbuf = f.read() # read until EOF\nbuf = f.read(n) # read up to n bytes\nbuf = f.readline() # read until end of line (\'\\n\') or EOF\nlist = f.readlines()# list of f.readline() results until EOF\nf.truncate([size]) # truncate file at to at most size (default: current pos)\nf.write(buf) # write at current position\nf.writelines(list) # for line in list: f.write(line)\nf.getvalue() # return whole file\'s contents as a string\n\nNotes:\n- Using a real file is often faster (but less convenient).\n- There\'s also a much faster implementation in C, called cStringIO, but\n it\'s not subclassable.\n- fileno() is left unimplemented so that code which uses it triggers\n an exception early.\n- Seeking far beyond EOF and then writing will insert real null\n bytes that occupy space in the buffer.\n- There\'s a simple test set (see end of this file).\n"""\n\n__all__ = ["StringIO"]\n\ndef _complain_ifclosed(closed):\n if closed:\n raise ValueError("I/O operation on closed file")\n\nclass StringIO:\n """class StringIO([buffer])\n\n When a StringIO object is created, it can be initialized to an existing\n string by passing the string to the constructor. If no string is given,\n the StringIO will start empty.\n\n The StringIO object can accept either Unicode or 8-bit strings, but\n mixing the two may take some care. If both are used, 8-bit strings that\n cannot be interpreted as 7-bit ASCII (that use the 8th bit) will cause\n a UnicodeError to be raised when getvalue() is called.\n """\n def __init__(self, buf = \'\'):\n # Force self.buf to be a string or unicode\n if not isinstance(buf, str):\n buf = str(buf)\n self.buf = buf\n self.len = len(buf)\n self.buflist = []\n self.pos = 0\n self.closed = False\n self.softspace = 0\n\n def __iter__(self):\n return self\n\n def next(self):\n """A file object is its own iterator, for example iter(f) returns f\n (unless f is closed). When a file is used as an iterator, typically\n in a for loop (for example, for line in f: print line), the next()\n method is called repeatedly. This method returns the next input line,\n or raises StopIteration when EOF is hit.\n """\n _complain_ifclosed(self.closed)\n r = self.readline()\n if not r:\n raise StopIteration\n return r\n\n def close(self):\n """Free the memory buffer.\n """\n if not self.closed:\n self.closed = True\n self.buf = None\n self.pos = None\n\n def isatty(self):\n """Returns False because StringIO objects are not connected to a\n tty-like device.\n """\n _complain_ifclosed(self.closed)\n return False\n\n def seek(self, pos, mode = 0):\n """Set the file\'s current position.\n\n The mode argument is optional and defaults to 0 (absolute file\n positioning); other values are 1 (seek relative to the current\n position) and 2 (seek relative to the file\'s end).\n\n There is no return value.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n if mode == 1:\n pos += self.pos\n elif mode == 2:\n pos += self.len\n self.pos = max(0, pos)\n\n def tell(self):\n """Return the file\'s current position."""\n _complain_ifclosed(self.closed)\n return self.pos\n\n def read(self, n = -1):\n """Read at most size bytes from the file\n (less if the read hits EOF before obtaining size bytes).\n\n If the size argument is negative or omitted, read all data until EOF\n is reached. The bytes are returned as a string object. An empty\n string is returned when EOF is encountered immediately.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n if n is None or n < 0:\n newpos = self.len\n else:\n newpos = min(self.pos+n, self.len)\n r = self.buf[self.pos:newpos]\n self.pos = newpos\n return r\n\n def readline(self, length=None):\n r"""Read one entire line from the file.\n\n A trailing newline character is kept in the string (but may be absent\n when a file ends with an incomplete line). If the size argument is\n present and non-negative, it is a maximum byte count (including the\n trailing newline) and an incomplete line may be returned.\n\n An empty string is returned only when EOF is encountered immediately.\n\n Note: Unlike stdio\'s fgets(), the returned string contains null\n characters (\'\\0\') if they occurred in the input.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n i = self.buf.find(\'\\n\', self.pos)\n if i < 0:\n newpos = self.len\n else:\n newpos = i+1\n if length is not None and length >= 0:\n if self.pos + length < newpos:\n newpos = self.pos + length\n r = self.buf[self.pos:newpos]\n self.pos = newpos\n return r\n\n def readlines(self, sizehint = 0):\n """Read until EOF using readline() and return a list containing the\n lines thus read.\n\n If the optional sizehint argument is present, instead of reading up\n to EOF, whole lines totalling approximately sizehint bytes (or more\n to accommodate a final whole line).\n """\n total = 0\n lines = []\n line = self.readline()\n while line:\n lines.append(line)\n total += len(line)\n if 0 < sizehint <= total:\n break\n line = self.readline()\n return lines\n\n def truncate(self, size=None):\n """Truncate the file\'s size.\n\n If the optional size argument is present, the file is truncated to\n (at most) that size. The size defaults to the current position.\n The current file position is not changed unless the position\n is beyond the new file size.\n\n If the specified size exceeds the file\'s current size, the\n file remains unchanged.\n """\n _complain_ifclosed(self.closed)\n if size is None:\n size = self.pos\n elif size < 0:\n raise IOError(22, "Negative size not allowed")\n elif size < self.pos:\n self.pos = size\n self.buf = self.getvalue()[:size]\n self.len = size\n\n def write(self, s):\n """Write a string to the file.\n\n There is no return value.\n """\n _complain_ifclosed(self.closed)\n if not s: return\n # Force s to be a string or unicode\n if not isinstance(s, str):\n s = str(s)\n spos = self.pos\n slen = self.len\n if spos == slen:\n self.buflist.append(s)\n self.len = self.pos = spos + len(s)\n return\n if spos > slen:\n self.buflist.append(\'\\0\'*(spos - slen))\n slen = spos\n newpos = spos + len(s)\n if spos < slen:\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = [self.buf[:spos], s, self.buf[newpos:]]\n self.buf = \'\'\n if newpos > slen:\n slen = newpos\n else:\n self.buflist.append(s)\n slen = newpos\n self.len = slen\n self.pos = newpos\n\n def writelines(self, iterable):\n """Write a sequence of strings to the file. The sequence can be any\n iterable object producing strings, typically a list of strings. There\n is no return value.\n\n (The name is intended to match readlines(); writelines() does not add\n line separators.)\n """\n write = self.write\n for line in iterable:\n write(line)\n\n def flush(self):\n """Flush the internal buffer\n """\n _complain_ifclosed(self.closed)\n\n def getvalue(self):\n """\n Retrieve the entire contents of the "file" at any time before\n the StringIO object\'s close() method is called.\n\n The StringIO object can accept either Unicode or 8-bit strings,\n but mixing the two may take some care. If both are used, 8-bit\n strings that cannot be interpreted as 7-bit ASCII (that use the\n 8th bit) will cause a UnicodeError to be raised when getvalue()\n is called.\n """\n _complain_ifclosed(self.closed)\n if self.buflist:\n self.buf += \'\'.join(self.buflist)\n self.buflist = []\n return self.buf\n',"src/lib/stringold.py":'import _sk_fail; _sk_fail._("stringold")\n',"src/lib/stringprep.py":'import _sk_fail; _sk_fail._("stringprep")\n',"src/lib/struct.py":'import _sk_fail; _sk_fail._("struct")\n',"src/lib/subprocess.py":'import _sk_fail; _sk_fail._("subprocess")\n',"src/lib/sunau.py":'import _sk_fail; _sk_fail._("sunau")\n',"src/lib/sunaudio.py":'import _sk_fail; _sk_fail._("sunaudio")\n',"src/lib/symbol.py":'import _sk_fail; _sk_fail._("symbol")\n',"src/lib/symtable.py":'import _sk_fail; _sk_fail._("symtable")\n',"src/lib/tabnanny.py":'import _sk_fail; _sk_fail._("tabnanny")\n',"src/lib/tarfile.py":'import _sk_fail; _sk_fail._("tarfile")\n',"src/lib/telnetlib.py":'import _sk_fail; _sk_fail._("telnetlib")\n',"src/lib/tempfile.py":'import _sk_fail; _sk_fail._("tempfile")\n',"src/lib/test/ann_module.py":"\n\n\"\"\"\nThe module for testing variable annotations.\nEmpty lines above are for good reason (testing for correct line numbers)\n\"\"\"\n\n# from typing import Optional\n# from functools import wraps\n\n__annotations__[1] = 2\n\nclass C:\n\n x = 5; #y: Optional['C'] = None\n\n# from typing import Tuple\nx: int = 5; y: str = x;# f: Tuple[int, int]\n\nclass M(type):\n\n __annotations__['123'] = 123\n o: type = object\n\n(pars): bool = True\n\nclass D(C):\n j: str = 'hi'; k: str= 'bye'\n\n# from types import new_class\n# h_class = new_class('H', (C,))\n# j_class = new_class('J')\n\nclass F():\n z: int = 5\n def __init__(self, x):\n pass\n\nclass Y(F):\n def __init__(self):\n super(F, self).__init__(123)\n\nclass Meta(type):\n def __new__(meta, name, bases, namespace):\n return super().__new__(meta, name, bases, namespace)\n\nclass S(metaclass = Meta):\n x: str = 'something'\n y: str = 'something else'\n\n# def foo(x: int = 10):\n# def bar(y: List[str]):\n# x: str = 'yes'\n# bar()\n\n# def dec(func):\n# @wraps(func)\n# def wrapper(*args, **kwargs):\n# return func(*args, **kwargs)\n# return wrapper\n","src/lib/test/ann_module2.py":'"""\nSome correct syntax for variable annotation here.\nMore examples are in test_grammar and test_parser.\n"""\n\n# from typing import no_type_check, ClassVar\n\ni: int = 1\nj: int\nx: float = i/10\n\ndef f():\n # class C: ...\n class C: pass\n return C()\n\nf().new_attr: object = object()\n\nclass C:\n def __init__(self, x: int) -> None:\n self.x = x\n\nc = C(5)\nc.new_attr: int = 10\n\n__annotations__ = {}\n\n\n# @no_type_check\n# class NTC:\n# def meth(self, param: complex) -> None:\n# ...\n\n# class CV:\n# var: ClassVar[\'CV\']\n\n# CV.var = CV()\n',"src/lib/test/ann_module3.py":'"""\nCorrect syntax for variable annotation that should fail at runtime\nin a certain manner. More examples are in test_grammar and test_parser.\n"""\n\ndef f_bad_ann():\n __annotations__[1] = 2\n\nclass C_OK:\n def __init__(self, x: int) -> None:\n self.x: no_such_name = x # This one is OK as proposed by Guido\n\nclass D_bad_ann:\n def __init__(self, x: int) -> None:\n sfel.y: int = 0\n\ndef g_bad_ann():\n no_such_name.attr: int = 0\n',"src/lib/test/bad_getattr.py":'x = 1\n\n__getattr__ = "Surprise!"\n__dir__ = "Surprise again!"\n',"src/lib/test/bad_getattr2.py":'def __getattr__():\n "Bad one"\n\nx = 1\n\ndef __dir__(bad_sig):\n return []\n',"src/lib/test/bad_getattr3.py":"def __getattr__(name):\n global __getattr__\n if name != 'delgetattr':\n raise AttributeError\n del __getattr__\n raise AttributeError\n","src/lib/test/decimaltestdata/__init__.py":'import _sk_fail; _sk_fail._("decimaltestdata")\n',"src/lib/test/good_getattr.py":"x = 1\n\ndef __dir__():\n return ['a', 'b', 'c']\n\ndef __getattr__(name):\n if name == \"yolo\":\n raise AttributeError(\"Deprecated, use whatever instead\")\n return f\"There is {name}\"\n\ny = 2\n","src/lib/test/test_support.py":'"""Supporting definitions for the Python regression tests."""\n\nif __name__ != \'test.test_support\':\n raise ImportError(\'test_support must be imported from the test package\')\n\nimport unittest\n\n\n# def run_unittest(*classes):\n# """Run tests from unittest.TestCase-derived classes."""\n# valid_types = (unittest.TestSuite, unittest.TestCase)\n# suite = unittest.TestSuite()\n# for cls in classes:\n# if isinstance(cls, str):\n# if cls in sys.modules:\n# suite.addTest(unittest.findTestCases(sys.modules[cls]))\n# else:\n# raise ValueError("str arguments must be keys in sys.modules")\n# elif isinstance(cls, valid_types):\n# suite.addTest(cls)\n# else:\n# suite.addTest(unittest.makeSuite(cls))\n# _run_suite(suite)\n\ndef run_unittest(*classes):\n """Run tests from unittest.TestCase-derived classes."""\n for cls in classes:\n print cls\n if issubclass(cls, unittest.TestCase):\n cls().main()\n else:\n print "Don\'t know what to do with ", cls\n',"src/lib/test/__init__.py":"__author__ = 'bmiller'\n\ndef testEqual(actual, expected):\n if type(expected) == type(1):\n if actual == expected:\n print('Pass')\n return True\n elif type(expected) == type(1.11):\n if abs(actual-expected) < 0.00001:\n print('Pass')\n return True\n else:\n if actual == expected:\n print('Pass')\n return True\n print('Test Failed: expected ' + str(expected) + ' but got ' + str(actual))\n return False\n\ndef testNotEqual(actual, expected):\n pass\n\n","src/lib/textwrap.py":"\"\"\"Text wrapping and filling.\n\"\"\"\n\n# Copyright (C) 1999-2001 Gregory P. Ward.\n# Copyright (C) 2002, 2003 Python Software Foundation.\n# Written by Greg Ward \n\nimport re, string\n\n__all__ = ['TextWrapper', 'wrap', 'fill', 'dedent', 'indent', 'shorten']\n\n# Hardcode the recognized whitespace characters to the US-ASCII\n# whitespace characters. The main reason for doing this is that\n# some Unicode spaces (like \\u00a0) are non-breaking whitespaces.\n_whitespace = '\\t\\n\\x0b\\x0c\\r '\n\nclass TextWrapper:\n \"\"\"\n Object for wrapping/filling text. The public interface consists of\n the wrap() and fill() methods; the other methods are just there for\n subclasses to override in order to tweak the default behaviour.\n If you want to completely replace the main wrapping algorithm,\n you'll probably have to override _wrap_chunks().\n Several instance attributes control various aspects of wrapping:\n width (default: 70)\n the maximum width of wrapped lines (unless break_long_words\n is false)\n initial_indent (default: \"\")\n string that will be prepended to the first line of wrapped\n output. Counts towards the line's width.\n subsequent_indent (default: \"\")\n string that will be prepended to all lines save the first\n of wrapped output; also counts towards each line's width.\n expand_tabs (default: true)\n Expand tabs in input text to spaces before further processing.\n Each tab will become 0 .. 'tabsize' spaces, depending on its position\n in its line. If false, each tab is treated as a single character.\n tabsize (default: 8)\n Expand tabs in input text to 0 .. 'tabsize' spaces, unless\n 'expand_tabs' is false.\n replace_whitespace (default: true)\n Replace all whitespace characters in the input text by spaces\n after tab expansion. Note that if expand_tabs is false and\n replace_whitespace is true, every tab will be converted to a\n single space!\n fix_sentence_endings (default: false)\n Ensure that sentence-ending punctuation is always followed\n by two spaces. Off by default because the algorithm is\n (unavoidably) imperfect.\n break_long_words (default: true)\n Break words longer than 'width'. If false, those words will not\n be broken, and some lines might be longer than 'width'.\n break_on_hyphens (default: true)\n Allow breaking hyphenated words. If true, wrapping will occur\n preferably on whitespaces and right after hyphens part of\n compound words.\n drop_whitespace (default: true)\n Drop leading and trailing whitespace from lines.\n max_lines (default: None)\n Truncate wrapped lines.\n placeholder (default: ' [...]')\n Append to the last line of truncated text.\n \"\"\"\n\n unicode_whitespace_trans = {}\n # uspace = ord(' ')\n uspace = ' '\n for x in _whitespace:\n # unicode_whitespace_trans[ord(x)] = uspace\n unicode_whitespace_trans[x] = uspace\n\n # This funky little regex is just the trick for splitting\n # text up into word-wrappable chunks. E.g.\n # \"Hello there -- you goof-ball, use the -b option!\"\n # splits into\n # Hello/ /there/ /--/ /you/ /goof-/ball,/ /use/ /the/ /-b/ /option!\n # (after stripping out empty strings).\n wordsep_re = re.compile(\n r'(\\s+|' # any whitespace\n r'[^\\s\\w]*\\w+[^0-9\\W]-(?=\\w+[^0-9\\W]))') # hyphenated words\n em_dash = re.compile(r'(\\s+|' # any whitespace\n r'[^\\s\\w]*\\w+[^0-9\\W]-(?=\\w+[^0-9\\W])|' # hyphenated words\n r'(?!^)-{2,}(?=\\w))') # em-dash\n\n \n # This less funky little regex just split on recognized spaces. E.g.\n # \"Hello there -- you goof-ball, use the -b option!\"\n # splits into\n # Hello/ /there/ /--/ /you/ /goof-ball,/ /use/ /the/ /-b/ /option!/\n wordsep_simple_re = re.compile(r'(\\s+)')\n\n\n # XXX this is not locale- or charset-aware -- string.lowercase\n # is US-ASCII only (and therefore English-only)\n sentence_end_re = re.compile(r'[a-z]' # lowercase letter\n r'[\\.\\!\\?]' # sentence-ending punct.\n r'[\\\"\\']?' # optional end-of-quote\n r'\\Z') # end of chunk\n sentence_end_re = r'[a-z][\\.\\!\\?][\\\"\\']?'\n\n def __init__(self,\n width=70,\n initial_indent=\"\",\n subsequent_indent=\"\",\n expand_tabs=True,\n replace_whitespace=True,\n fix_sentence_endings=False,\n break_long_words=True,\n drop_whitespace=True,\n break_on_hyphens=True,\n tabsize=8,\n max_lines=None,\n placeholder=' [...]'):\n self.width = width\n self.initial_indent = initial_indent\n self.subsequent_indent = subsequent_indent\n self.expand_tabs = expand_tabs\n self.replace_whitespace = replace_whitespace\n self.fix_sentence_endings = fix_sentence_endings\n self.break_long_words = break_long_words\n self.drop_whitespace = drop_whitespace\n self.break_on_hyphens = break_on_hyphens\n self.tabsize = tabsize\n self.max_lines = max_lines\n self.placeholder = placeholder\n\n\n # -- Private methods -----------------------------------------------\n # (possibly useful for subclasses to override)\n\n def _munge_whitespace(self, text):\n \"\"\"_munge_whitespace(text : string) -> string\n Munge whitespace in text: expand tabs and convert all other\n whitespace characters to spaces. Eg. \" foo\\\\tbar\\\\n\\\\nbaz\"\n becomes \" foo bar baz\".\n \"\"\"\n if self.expand_tabs:\n text = text.expandtabs(self.tabsize)\n if self.replace_whitespace:\n for key, val in self.unicode_whitespace_trans.items():\n text = text.replace(key, val)\n return text\n\n\n def _split(self, text):\n \"\"\"_split(text : string) -> [string]\n Split the text to wrap into indivisible chunks. Chunks are\n not quite the same as words; see _wrap_chunks() for full\n details. As an example, the text\n Look, goof-ball -- use the -b option!\n breaks into the following chunks:\n 'Look,', ' ', 'goof-', 'ball', ' ', '--', ' ',\n 'use', ' ', 'the', ' ', '-b', ' ', 'option!'\n if break_on_hyphens is True, or in:\n 'Look,', ' ', 'goof-ball', ' ', '--', ' ',\n 'use', ' ', 'the', ' ', '-b', ' ', option!'\n otherwise.\n \"\"\"\n if self.break_on_hyphens is True:\n chunks = self.wordsep_re.split(text)\n if \"--\" in text:\n chunks = [item \n for sublist in [self.em_dash.split(chunk) for chunk in chunks] \n for item in sublist]\n else:\n chunks = self.wordsep_simple_re.split(text)\n chunks = [c for c in chunks if c]\n return chunks\n\n def _fix_sentence_endings(self, chunks):\n \"\"\"_fix_sentence_endings(chunks : [string])\n Correct for sentence endings buried in 'chunks'. Eg. when the\n original text contains \"... foo.\\\\nBar ...\", munge_whitespace()\n and split() will convert that to [..., \"foo.\", \" \", \"Bar\", ...]\n which has one too few spaces; this method simply changes the one\n space to two.\n \"\"\"\n i = 0\n # patsearch = self.sentence_end_re.search\n while i < len(chunks)-1:\n if chunks[i+1] == \" \" and re.search(self.sentence_end_re, chunks[i]) and chunks[i][-1] in \".!?\\\"\\'\":\n chunks[i+1] = \" \"\n i += 2\n else:\n i += 1\n\n def _handle_long_word(self, reversed_chunks, cur_line, cur_len, width):\n \"\"\"_handle_long_word(chunks : [string],\n cur_line : [string],\n cur_len : int, width : int)\n Handle a chunk of text (most likely a word, not whitespace) that\n is too long to fit in any line.\n \"\"\"\n # Figure out when indent is larger than the specified width, and make\n # sure at least one character is stripped off on every pass\n if width < 1:\n space_left = 1\n else:\n space_left = width - cur_len\n\n # If we're allowed to break long words, then do so: put as much\n # of the next chunk onto the current line as will fit.\n if self.break_long_words:\n cur_line.append(reversed_chunks[-1][:space_left])\n reversed_chunks[-1] = reversed_chunks[-1][space_left:]\n\n # Otherwise, we have to preserve the long word intact. Only add\n # it to the current line if there's nothing already there --\n # that minimizes how much we violate the width constraint.\n elif not cur_line:\n cur_line.append(reversed_chunks.pop())\n\n # If we're not allowed to break long words, and there's already\n # text on the current line, do nothing. Next time through the\n # main loop of _wrap_chunks(), we'll wind up here again, but\n # cur_len will be zero, so the next line will be entirely\n # devoted to the long word that we can't handle right now.\n\n def _wrap_chunks(self, chunks):\n \"\"\"_wrap_chunks(chunks : [string]) -> [string]\n Wrap a sequence of text chunks and return a list of lines of\n length 'self.width' or less. (If 'break_long_words' is false,\n some lines may be longer than this.) Chunks correspond roughly\n to words and the whitespace between them: each chunk is\n indivisible (modulo 'break_long_words'), but a line break can\n come between any two chunks. Chunks should not have internal\n whitespace; ie. a chunk is either all whitespace or a \"word\".\n Whitespace chunks will be removed from the beginning and end of\n lines, but apart from that whitespace is preserved.\n \"\"\"\n lines = []\n if self.width <= 0:\n raise ValueError(\"invalid width %r (must be > 0)\" % self.width)\n if self.max_lines is not None:\n if self.max_lines > 1:\n indent = self.subsequent_indent\n else:\n indent = self.initial_indent\n if len(indent) + len(self.placeholder.lstrip()) > self.width:\n raise ValueError(\"placeholder too large for max width\")\n\n # Arrange in reverse order so items can be efficiently popped\n # from a stack of chucks.\n chunks.reverse()\n\n while chunks:\n\n # Start the list of chunks that will make up the current line.\n # cur_len is just the length of all the chunks in cur_line.\n cur_line = []\n cur_len = 0\n\n # Figure out which static string will prefix this line.\n if lines:\n indent = self.subsequent_indent\n else:\n indent = self.initial_indent\n\n # Maximum width for this line.\n width = self.width - len(indent)\n\n # First chunk on line is whitespace -- drop it, unless this\n # is the very beginning of the text (ie. no lines started yet).\n if self.drop_whitespace and chunks[-1].strip() == '' and lines:\n del chunks[-1]\n\n while chunks:\n l = len(chunks[-1])\n\n # Can at least squeeze this chunk onto the current line.\n if cur_len + l <= width:\n cur_line.append(chunks.pop())\n cur_len += l\n\n # Nope, this line is full.\n else:\n break\n\n # The current line is full, and the next chunk is too big to\n # fit on *any* line (not just this one).\n if chunks and len(chunks[-1]) > width:\n self._handle_long_word(chunks, cur_line, cur_len, width)\n cur_len = sum(map(len, cur_line))\n\n # If the last chunk on this line is all whitespace, drop it.\n if self.drop_whitespace and cur_line and cur_line[-1].strip() == '':\n cur_len -= len(cur_line[-1])\n del cur_line[-1]\n\n if cur_line:\n if (self.max_lines is None or\n len(lines) + 1 < self.max_lines or\n (not chunks or\n self.drop_whitespace and\n len(chunks) == 1 and\n not chunks[0].strip()) and cur_len <= width):\n # Convert current line back to a string and store it in\n # list of all lines (return value).\n lines.append(indent + ''.join(cur_line))\n else:\n while cur_line:\n if (cur_line[-1].strip() and\n cur_len + len(self.placeholder) <= width):\n cur_line.append(self.placeholder)\n lines.append(indent + ''.join(cur_line))\n break\n cur_len -= len(cur_line[-1])\n del cur_line[-1]\n else:\n if lines:\n prev_line = lines[-1].rstrip()\n if (len(prev_line) + len(self.placeholder) <=\n self.width):\n lines[-1] = prev_line + self.placeholder\n break\n lines.append(indent + self.placeholder.lstrip())\n break\n\n return lines\n\n def _split_chunks(self, text):\n text = self._munge_whitespace(text)\n return self._split(text)\n\n # -- Public interface ----------------------------------------------\n\n def wrap(self, text):\n \"\"\"wrap(text : string) -> [string]\n Reformat the single paragraph in 'text' so it fits in lines of\n no more than 'self.width' columns, and return a list of wrapped\n lines. Tabs in 'text' are expanded with string.expandtabs(),\n and all other whitespace characters (including newline) are\n converted to space.\n \"\"\"\n chunks = self._split_chunks(text)\n if self.fix_sentence_endings:\n self._fix_sentence_endings(chunks)\n return self._wrap_chunks(chunks)\n\n def fill(self, text):\n \"\"\"fill(text : string) -> string\n Reformat the single paragraph in 'text' to fit in lines of no\n more than 'self.width' columns, and return a new string\n containing the entire wrapped paragraph.\n \"\"\"\n return \"\\n\".join(self.wrap(text))\n\n\n# -- Convenience interface ---------------------------------------------\n\ndef wrap(text, width=70, **kwargs):\n \"\"\"Wrap a single paragraph of text, returning a list of wrapped lines.\n Reformat the single paragraph in 'text' so it fits in lines of no\n more than 'width' columns, and return a list of wrapped lines. By\n default, tabs in 'text' are expanded with string.expandtabs(), and\n all other whitespace characters (including newline) are converted to\n space. See TextWrapper class for available keyword args to customize\n wrapping behaviour.\n \"\"\"\n w = TextWrapper(width=width, **kwargs)\n return w.wrap(text)\n\ndef fill(text, width=70, **kwargs):\n \"\"\"Fill a single paragraph of text, returning a new string.\n Reformat the single paragraph in 'text' to fit in lines of no more\n than 'width' columns, and return a new string containing the entire\n wrapped paragraph. As with wrap(), tabs are expanded and other\n whitespace characters converted to space. See TextWrapper class for\n available keyword args to customize wrapping behaviour.\n \"\"\"\n w = TextWrapper(width=width, **kwargs)\n return w.fill(text)\n\ndef shorten(text, width, **kwargs):\n \"\"\"Collapse and truncate the given text to fit in the given width.\n The text first has its whitespace collapsed. If it then fits in\n the *width*, it is returned as is. Otherwise, as many words\n as possible are joined and then the placeholder is appended::\n >>> textwrap.shorten(\"Hello world!\", width=12)\n 'Hello world!'\n >>> textwrap.shorten(\"Hello world!\", width=11)\n 'Hello [...]'\n \"\"\"\n w = TextWrapper(width=width, max_lines=1, **kwargs)\n return w.fill(' '.join(text.strip().split()))\n\n\n# -- Loosely related functionality -------------------------------------\n\n# _whitespace_only_re = re.compile('^[ \\t]+$', re.MULTILINE)\n# _leading_whitespace_re = re.compile('(^[ \\t]*)(?:[^ \\t\\n])', re.MULTILINE)\n\ndef dedent(text):\n \"\"\"Remove any common leading whitespace from every line in `text`.\n This can be used to make triple-quoted strings line up with the left\n edge of the display, while still presenting them in the source code\n in indented form.\n Note that tabs and spaces are both treated as whitespace, but they\n are not equal: the lines \" hello\" and \"\\\\thello\" are\n considered to have no common leading whitespace.\n Entirely blank lines are normalized to a newline character.\n \"\"\"\n # Look for the longest leading string of spaces and tabs common to\n # all lines.\n margin = None\n\n indents = re.findall(r'(^[ \\t]*)(?:[^ \\t\\n])',text, re.MULTILINE)\n for indent in indents:\n if margin is None:\n margin = indent\n\n # Current line more deeply indented than previous winner:\n # no change (previous winner is still on top).\n elif indent.startswith(margin):\n pass\n\n # Current line consistent with and no deeper than previous winner:\n # it's the new winner.\n elif margin.startswith(indent):\n margin = indent\n\n # Find the largest common whitespace between current line and previous\n # winner.\n else:\n for i, (x, y) in enumerate(zip(margin, indent)):\n if x != y:\n margin = margin[:i]\n break\n # sanity check (testing/debugging only)\n if 0 and margin:\n for line in text.split(\"\\n\"):\n assert not line or line.startswith(margin), \\\n \"line = %r, margin = %r\" % (line, margin)\n\n if margin:\n lines = [line[len(margin):] \n if line.strip()\n else line.strip() \n for line in text.split(\"\\n\")]\n text = \"\\n\".join(lines)\n return text\n\n\ndef indent(text, prefix, predicate=None):\n \"\"\"Adds 'prefix' to the beginning of selected lines in 'text'.\n If 'predicate' is provided, 'prefix' will only be added to the lines\n where 'predicate(line)' is True. If 'predicate' is not provided,\n it will default to adding 'prefix' to all non-empty lines that do not\n consist solely of whitespace characters.\n \"\"\"\n if predicate is None:\n def predicate(line):\n return line.strip()\n\n def prefixed_lines():\n for line in text.splitlines(True):\n yield (prefix + line if predicate(line) else line)\n return ''.join(prefixed_lines())\n\n\nif __name__ == \"__main__\":\n #print dedent(\"\\tfoo\\n\\tbar\")\n #print dedent(\" \\thello there\\n \\t how are you?\")\n print(dedent(\"Hello there.\\n This is indented.\"))","src/lib/this.py":'import _sk_fail; _sk_fail._("this")\n',"src/lib/threading.py":'import _sk_fail; _sk_fail._("threading")\n',"src/lib/timeit.py":'import _sk_fail; _sk_fail._("timeit")\n',"src/lib/toaiff.py":'import _sk_fail; _sk_fail._("toaiff")\n',"src/lib/trace.py":'import _sk_fail; _sk_fail._("trace")\n',"src/lib/traceback.py":'import _sk_fail; _sk_fail._("traceback")\n',"src/lib/tty.py":'import _sk_fail; _sk_fail._("tty")\n',"src/lib/types.py":'"""\nThis file was modified from CPython.\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,\n2011, 2012, 2013, 2014, 2015 Python Software Foundation; All Rights Reserved\n"""\n"""Define names for all type symbols known in the standard interpreter.\nTypes that are part of optional modules (e.g. array) are not listed.\n"""\nimport sys\n\n# Iterators in Python aren\'t a matter of type but of protocol. A large\n# and changing number of builtin types implement *some* flavor of\n# iterator. Don\'t check the type! Use hasattr to check for both\n# "__iter__" and "next" attributes instead.\nMappingProxyType = type(type.__dict__)\nWrapperDescriptorType = type(object.__init__)\nMethodWrapperType = type(object().__str__)\nMethodDescriptorType = type(str.join)\nClassMethodDescriptorType = type(dict.__dict__[\'fromkeys\'])\n\nNoneType = type(None)\nTypeType = type\nObjectType = object\nIntType = int\ntry:\n LongType = long\nexcept: pass\nFloatType = float\nBooleanType = bool\ntry:\n ComplexType = complex\nexcept NameError:\n pass\nStringType = str\n\n# StringTypes is already outdated. Instead of writing "type(x) in\n# types.StringTypes", you should use "isinstance(x, basestring)". But\n# we keep around for compatibility with Python 2.2.\ntry:\n UnicodeType = unicode\n StringTypes = (StringType, UnicodeType)\nexcept NameError:\n StringTypes = (StringType,)\n\nBufferType = buffer\n\nTupleType = tuple\nListType = list\nDictType = DictionaryType = dict\n\ndef _f(): pass\nFunctionType = type(_f)\nLambdaType = type(lambda: None) # Same as FunctionType\n#CodeType = type(_f.func_code)\n\ndef _g():\n yield 1\nGeneratorType = type(_g())\n\nclass _C:\n def _m(self): pass\nClassType = type(_C)\nUnboundMethodType = type(_C._m) # Same as MethodType\n_x = _C()\nInstanceType = type(_x)\nMethodType = type(_x._m)\nBuiltinFunctionType = type(len)\nBuiltinMethodType = type([].append) # Same as BuiltinFunctionType\n\nModuleType = type(sys)\nFileType = file\ntry:\n XRangeType = xrange\nexcept NameError:\n pass\n\n# try:\n# raise TypeError\n# except TypeError:\n# tb = sys.exc_info()[2]\n# TracebackType = type(tb)\n# FrameType = type(tb.tb_frame)\n# del tb\n\nSliceType = slice\nEllipsisType = type(Ellipsis)\n\n# DictProxyType = type(TypeType.__dict__)\nNotImplementedType = type(NotImplemented)\n\n# For Jython, the following two types are identical\n# GetSetDescriptorType = type(FunctionType.func_code)\n# MemberDescriptorType = type(FunctionType.func_globals)\n\ndel sys, _f, _g, _C, _x # Not for export\n__all__ = list(n for n in globals() if n[:1] != \'_\')\n\nGenericAlias = type(type[int])',"src/lib/unittest/gui.py":"import document\nfrom unittest import TestCase\n\nclass TestCaseGui(TestCase):\n def __init__(self):\n TestCase.__init__(self)\n self.divid = document.currentDiv()\n self.mydiv = document.getElementById(self.divid)\n res = document.getElementById(self.divid+'_unit_results')\n if res:\n self.resdiv = res\n res.innerHTML = ''\n else:\n self.resdiv = document.createElement('div')\n self.resdiv.setAttribute('id',self.divid+'_unit_results')\n self.resdiv.setAttribute('class','unittest-results')\n self.mydiv.appendChild(self.resdiv)\n\n\n def main(self):\n t = document.createElement('table')\n self.resTable = t\n self.resdiv.appendChild(self.resTable)\n\n headers = ['Result','Actual Value','Expected Value','Notes']\n row = document.createElement('tr')\n for item in headers:\n head = document.createElement('th')\n head.setAttribute('class','ac-feedback')\n head.innerHTML = item\n head.setCSS('text-align','center')\n row.appendChild(head)\n self.resTable.appendChild(row)\n\n for func in self.tlist:\n try:\n self.setUp()\n func()\n self.tearDown()\n except Exception as e:\n self.appendResult('Error', None, None, e)\n self.numFailed += 1\n self.showSummary()\n\n def appendResult(self,res,actual,expected,param):\n trimActual = False\n if len(str(actual)) > 15:\n trimActual = True\n actualType = type(actual)\n trimExpected = False\n if len(str(expected)) > 15:\n trimExpected = True\n expectedType = type(expected)\n row = document.createElement('tr')\n err = False\n if res == 'Error':\n err = True\n msg = 'Error: %s' % param\n errorData = document.createElement('td')\n errorData.setAttribute('class','ac-feedback')\n errorData.innerHTML = 'ERROR'\n errorData.setCSS('background-color','#de8e96')\n errorData.setCSS('text-align','center')\n row.appendChild(errorData)\n elif res:\n passed = document.createElement('td')\n passed.setAttribute('class','ac-feedback')\n passed.innerHTML = 'Pass'\n passed.setCSS('background-color','#83d382')\n passed.setCSS('text-align','center')\n row.appendChild(passed)\n self.numPassed += 1\n else:\n fail = document.createElement('td')\n fail.setAttribute('class','ac-feedback')\n fail.innerHTML = 'Fail'\n fail.setCSS('background-color','#de8e96')\n fail.setCSS('text-align','center')\n row.appendChild(fail)\n self.numFailed += 1\n\n\n act = document.createElement('td')\n act.setAttribute('class','ac-feedback')\n if trimActual:\n actHTML = str(actual)[:5] + \"...\" + str(actual)[-5:]\n if actualType == str:\n actHTML = repr(actHTML)\n act.innerHTML = actHTML\n else:\n act.innerHTML = repr(actual)\n act.setCSS('text-align','center')\n row.appendChild(act)\n\n expect = document.createElement('td')\n expect.setAttribute('class','ac-feedback')\n\n if trimExpected:\n expectedHTML = str(expected)[:5] + \"...\" + str(expected)[-5:]\n if expectedType == str:\n expectedHTML = repr(expectedHTML)\n expect.innerHTML = expectedHTML\n else:\n expect.innerHTML = repr(expected)\n expect.setCSS('text-align','center')\n row.appendChild(expect)\n inp = document.createElement('td')\n inp.setAttribute('class','ac-feedback')\n\n if err:\n inp.innerHTML = msg\n else:\n inp.innerHTML = param\n inp.setCSS('text-align','center')\n row.appendChild(inp)\n self.resTable.appendChild(row)\n\n\n def showSummary(self):\n pct = self.numPassed / (self.numPassed+self.numFailed) * 100\n pTag = document.createElement('p')\n pTag.innerHTML = \"You passed: \" + str(pct) + \"% of the tests\"\n self.resdiv.appendChild(pTag)\n","src/lib/unittest/__init__.py":'__author__ = \'bmiller\'\n\'\'\'\nThis is the start of something that behaves like\nthe unittest module from cpython.\n\n\'\'\'\nimport re\n\nclass _AssertRaisesContext(object):\n """A context manager used to implement TestCase.assertRaises* methods."""\n def __init__(self, expected, test_case):\n self.test_case = test_case\n self.expected = expected\n self.exception = None\n\n def _is_subtype(self, expected, basetype):\n if isinstance(expected, tuple):\n return all(self._is_subtype(e, basetype) for e in expected)\n return isinstance(expected, type) and issubclass(expected, basetype)\n\n def handle(self, args, kwargs):\n """\n If args is empty, assertRaises is being used as a\n context manager, so return self.\n If args is not empty, call a callable passing positional and keyword\n arguments.\n """\n try:\n if not self._is_subtype(self.expected, BaseException):\n raise TypeError(\'assertRaises() arg 1 must be an exception type or tuple of exception types\')\n if not args:\n return self\n\n callable_obj = args[0]\n args = args[1:]\n with self:\n callable_obj(*args, **kwargs) \n\n finally:\n # bpo-23890: manually break a reference cycle\n self = None\n\n def __enter__(self):\n return self\n\n def __exit__(self, exc_type, exc_value, tb):\n res = True\n feedback = ""\n self.exception = exc_value\n try:\n act_exc = exc_type.__name__\n except AttributeError:\n act_exc = str(exc_type)\n try:\n exp_exc = self.expected.__name__\n except AttributeError:\n exp_exc = str(self.expected)\n\n if exc_type is None:\n res = False\n feedback = "{} not raised".format(exp_exc)\n elif not issubclass(exc_type, self.expected):\n res = False\n feedback = "Expected {} but got {}".format(exp_exc, act_exc)\n\n self.test_case.appendResult(res, act_exc, exp_exc, feedback)\n return True\n\n\nclass TestCase(object):\n def __init__(self):\n self.numPassed = 0\n self.numFailed = 0\n self.assertPassed = 0\n self.assertFailed = 0\n self.verbosity = 1\n self.tlist = []\n testNames = {}\n for name in dir(self):\n if name[:4] == \'test\' and name not in testNames:\n self.tlist.append(getattr(self,name))\n testNames[name]=True\n\n def setUp(self):\n pass\n\n def tearDown(self):\n pass\n \n def cleanName(self,funcName):\n return funcName.__func__.__name__\n\n def main(self):\n\n for func in self.tlist:\n if self.verbosity > 1:\n print(\'Running %s\' % self.cleanName(func))\n try:\n self.setUp()\n self.assertPassed = 0\n self.assertFailed = 0\n func()\n self.tearDown()\n if self.assertFailed == 0:\n self.numPassed += 1\n else:\n self.numFailed += 1\n print(\'Tests failed in %s \' % self.cleanName(func))\n except Exception as e:\n self.assertFailed += 1\n self.numFailed += 1\n print(\'Test threw exception in %s (%s)\' % (self.cleanName(func), e))\n self.showSummary()\n\n def assertEqual(self, actual, expected, feedback=""):\n res = actual==expected\n if not res and feedback == "":\n feedback = "Expected %s to equal %s" % (str(actual),str(expected))\n self.appendResult(res, actual ,expected, feedback)\n\n def assertNotEqual(self, actual, expected, feedback=""):\n res = actual != expected\n if not res and feedback == "":\n feedback = "Expected %s to not equal %s" % (str(actual),str(expected))\n self.appendResult(res, actual, expected, feedback)\n\n def assertTrue(self,x, feedback=""):\n res = bool(x) is True\n if not res and feedback == "":\n feedback = "Expected %s to be True" % (str(x))\n self.appendResult(res, x, True, feedback)\n\n def assertFalse(self,x, feedback=""):\n res = not bool(x)\n if not res and feedback == "":\n feedback = "Expected %s to be False" % (str(x))\n self.appendResult(res, x, False, feedback)\n\n def assertIs(self,a,b, feedback=""):\n res = a is b\n if not res and feedback == "":\n feedback = "Expected %s to be the same object as %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertIsNot(self,a,b, feedback=""):\n res = a is not b\n if not res and feedback == "":\n feedback = "Expected %s to not be the same object as %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertIsNone(self,x, feedback=""):\n res = x is None\n if not res and feedback == "":\n feedback = "Expected %s to be None" % (str(x))\n self.appendResult(res, x, None, feedback)\n\n def assertIsNotNone(self,x, feedback=""):\n res = x is not None\n if not res and feedback == "":\n feedback = "Expected %s to not be None" % (str(x))\n self.appendResult(res, x, None, feedback)\n\n def assertIn(self, a, b, feedback=""):\n res = a in b\n if not res and feedback == "":\n feedback = "Expected %s to be in %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertNotIn(self, a, b, feedback=""):\n res = a not in b\n if not res and feedback == "":\n feedback = "Expected %s to not be in %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertIsInstance(self,a,b, feedback=""):\n res = isinstance(a,b)\n if not res and feedback == "":\n feedback = "Expected %s to be an instance of %s" % (str(a), str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertNotIsInstance(self,a,b, feedback=""):\n res = not isinstance(a,b)\n if not res and feedback == "":\n feedback = "Expected %s to not be an instance of %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertRegex(self, text, expected_regex, feedback=""):\n """Fail the test unless the text matches the regular expression."""\n if isinstance(expected_regex, (str, )): #bytes\n assert expected_regex, "expected_regex must not be empty."\n expected_regex = re.compile(expected_regex)\n if not expected_regex.search(text):\n res = False\n if feedback == "":\n feedback = "Regex didn\'t match: %r not found in %r" % (\n repr(expected_regex), text)\n else:\n res = True\n self.appendResult(res, text, expected_regex, feedback)\n\n def assertNotRegex(self, text, unexpected_regex, feedback=""):\n """Fail the test if the text matches the regular expression."""\n if isinstance(unexpected_regex, (str, )): # bytes\n unexpected_regex = re.compile(unexpected_regex)\n match = unexpected_regex.search(text)\n if match:\n feedback = \'Regex matched: %r matches %r in %r\' % (\n text[match.start() : match.end()],\n repr(unexpected_regex),\n text)\n # _formatMessage ensures the longMessage option is respected\n self.appendResult(not bool(match), text, unexpected_regex, feedback)\n\n def assertAlmostEqual(self, a, b, places=7, feedback="", delta=None):\n\n if delta is not None:\n res = abs(a-b) <= delta\n else:\n if places is None:\n places = 7\n res = round(a-b, places) == 0\n \n if not res and feedback == "":\n feedback = "Expected %s to equal %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertNotAlmostEqual(self, a, b, places=7, feedback="", delta=None):\n\n if delta is not None:\n res = not (a == b) and abs(a - b) > delta\n else:\n if places is None:\n places = 7\n\n res = round(a-b, places) != 0\n\n if not res and feedback == "":\n feedback = "Expected %s to not equal %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertGreater(self,a,b, feedback=""):\n res = a > b\n if not res and feedback == "":\n feedback = "Expected %s to be greater than %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertGreaterEqual(self,a,b, feedback=""):\n res = a >= b\n if not res and feedback == "":\n feedback = "Expected %s to be >= %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertLess(self, a, b, feedback=""):\n res = a < b\n if not res and feedback == "":\n feedback = "Expected %s to be less than %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def assertLessEqual(self,a,b, feedback=""):\n res = a <= b\n if not res and feedback == "":\n feedback = "Expected %s to be <= %s" % (str(a),str(b))\n self.appendResult(res, a, b, feedback)\n\n def appendResult(self,res,actual,expected,feedback):\n if res:\n msg = \'Pass\'\n self.assertPassed += 1\n else:\n msg = \'Fail: \' + feedback\n print(msg)\n self.assertFailed += 1\n\n def assertRaises(self, expected_exception, *args, **kwargs):\n context = _AssertRaisesContext(expected_exception, self)\n try:\n return context.handle(args, kwargs)\n finally:\n # bpo-23890: manually break a reference cycle\n context = None\n\n def fail(self, msg=None):\n if msg is None:\n msg = \'Fail\'\n else:\n msg = \'Fail: \' + msg\n print(msg)\n self.assertFailed += 1\n\n def showSummary(self):\n # don\'t divde by zero\n # pct = self.numPassed / (self.numPassed+self.numFailed) * 100\n print("Ran %d tests, passed: %d failed: %d\\n" % (self.numPassed+self.numFailed,\n self.numPassed, self.numFailed))\n\n\n\ndef main(verbosity=1):\n glob = globals() # globals() still needs work\n for name in glob:\n if type(glob[name]) == type and issubclass(glob[name], TestCase):\n try:\n tc = glob[name]()\n tc.verbosity = verbosity\n tc.main()\n except:\n print("Uncaught Error in: ", name)\n',"src/lib/urllib2.py":'import _sk_fail; _sk_fail._("urllib2")\n',"src/lib/urlparse.py":'import _sk_fail; _sk_fail._("urlparse")\n',"src/lib/user.py":'import _sk_fail; _sk_fail._("user")\n',"src/lib/UserDict.py":'import _sk_fail; _sk_fail._("UserDict")\n',"src/lib/UserList.py":'import _sk_fail; _sk_fail._("UserList")\n',"src/lib/UserString.py":'import _sk_fail; _sk_fail._("UserString")\n',"src/lib/uu.py":'import _sk_fail; _sk_fail._("uu")\n',"src/lib/warnings.py":'import _sk_fail; _sk_fail._("warnings")\n',"src/lib/wave.py":'import _sk_fail; _sk_fail._("wave")\n',"src/lib/weakref.py":'import _sk_fail; _sk_fail._("weakref")\n',"src/lib/whichdb.py":'import _sk_fail; _sk_fail._("whichdb")\n',"src/lib/wsgiref/__init__.py":'import _sk_fail; _sk_fail._("wsgiref")\n',"src/lib/xdrlib.py":'import _sk_fail; _sk_fail._("xdrlib")\n',"src/lib/xml/dom/__init__.py":'import _sk_fail; _sk_fail._("dom")\n',"src/lib/xml/etree/__init__.py":'import _sk_fail; _sk_fail._("etree")\n',"src/lib/xml/parsers/__init__.py":'import _sk_fail; _sk_fail._("parsers")\n',"src/lib/xml/sax/__init__.py":'import _sk_fail; _sk_fail._("sax")\n',"src/lib/xml/__init__.py":'import _sk_fail; _sk_fail._("xml")\n',"src/lib/xmllib.py":'import _sk_fail; _sk_fail._("xmllib")\n',"src/lib/xmlrpclib.py":'import _sk_fail; _sk_fail._("xmlrpclib")\n',"src/lib/zipfile.py":'import _sk_fail; _sk_fail._("zipfile")\n',"src/lib/_abcoll.py":'import _sk_fail; _sk_fail._("_abcoll")\n',"src/lib/_LWPCookieJar.py":'import _sk_fail; _sk_fail._("_LWPCookieJar")\n',"src/lib/_MozillaCookieJar.py":'import _sk_fail; _sk_fail._("_MozillaCookieJar")\n',"src/lib/_sk_fail.py":'class NotImplementedImportError(ImportError, NotImplementedError): pass\n\ndef _(name):\n msg = "{} is not yet implemented in Skulpt".format(name)\n raise NotImplementedImportError(msg, name=name)\n',"src/lib/_threading_local.py":'import _sk_fail; _sk_fail._("_threading_local")\n',"src/lib/__future__.py":'import _sk_fail;_sk_fail._("__future__")\n',"src/lib/__phello__.foo.py":'import _sk_fail; _sk_fail._("__phello__.foo")\n',"src/builtin/sys.js":'var $builtinmodule=function(i){var t,n={},e=[],u=Sk.getSysArgv();for(t=0;tnew Sk.builtin.str("utf-8"))),n.getExecutionLimit=new Sk.builtin.func((function(){return null===Sk.execLimit?Sk.builtin.none.none$:new Sk.builtin.int_(Sk.execLimit)})),n.setExecutionLimit=new Sk.builtin.func((function(i){if(null===Sk.execLimit)throw new Sk.builtin.NotImplementedError("Execution limiting is not enabled");void 0!==i&&(Sk.execLimit=Sk.builtin.asnum$(i))})),n.resetTimeout=new Sk.builtin.func((function(){Sk.execStart=new Date})),n.getYieldLimit=new Sk.builtin.func((function(){return null===Sk.yieldLimit?Sk.builtin.none.none$:new Sk.builtin.int_(Sk.yieldLimit)})),n.setYieldLimit=new Sk.builtin.func((function(i){if(null===Sk.yieldLimit)throw new Sk.builtin.NotImplementedError("Yielding is not enabled");void 0!==i&&(Sk.yieldLimit=Sk.builtin.asnum$(i))})),n.debug=new Sk.builtin.func((function(){return Sk.builtin.none.none$}));const o=Sk.builtin.make_structseq("sys","float_info",{max:"DBL_MAX -- maximum representable finite float",max_exp:"DBL_MAX_EXP -- maximum int e such that radix**(e-1) is representable",max_10_exp:"DBL_MAX_10_EXP -- maximum int e such that 10**e is representable",min:"DBL_MIN -- Minimum positive normalized float",min_exp:"DBL_MIN_EXP -- minimum int e such that radix**(e-1) is a normalized float",min_10_exp:"DBL_MIN_10_EXP -- minimum int e such that 10**e is a normalized",dig:"DBL_DIG -- digits",mant_dig:"DBL_MANT_DIG -- mantissa digits",epsilon:"DBL_EPSILON -- Difference between 1 and the next representable float",radix:"FLT_RADIX -- radix of exponent",rounds:"FLT_ROUNDS -- rounding mode"});n.float_info=new o([Number.MAX_VALUE,Math.floor(Math.log2(Number.MAX_VALUE)),Math.floor(Math.log10(Number.MAX_VALUE)),Number.MIN_VALUE,Math.ceil(Math.log2(Number.MIN_VALUE)),Math.ceil(Math.log10(Number.MIN_VALUE)),15,Math.log2(Number.MAX_SAFE_INTEGER),Number.EPSILON,2,1].map((i=>Sk.ffi.remapToPy(i))));const s=Sk.builtin.make_structseq("sys","int_info",{bits_per_digit:"size of a digit in bits",sizeof_digit:"size in bytes of the C type used to represent a digit"});n.int_info=new s([30,4].map((i=>Sk.ffi.remapToPy(i))));const l=Sk.builtin.make_structseq("sys","hash_info",{width:"width of the type used for hashing, in bits",modulus:"prime number giving the modulus on which the hash function is based",inf:"value to be used for hash of a positive infinity",nan:"value to be used for hash of a nan",imag:"multiplier used for the imaginary part of a complex number",algorithm:"name of the algorithm for hashing of str, bytes and memoryviews",hash_bits:"internal output size of hash algorithm",seed_bits:"seed size of hash algorithm",cutoff:"small string optimization cutoff"});return n.hash_info=new l([32,536870911,314159,0,1000003,"siphash24",32,128,0].map((i=>Sk.ffi.remapToPy(i)))),n.__stdout__=new Sk.builtin.file(new Sk.builtin.str("/dev/stdout"),new Sk.builtin.str("w")),n.__stdin__=new Sk.builtin.file(new Sk.builtin.str("/dev/stdin"),new Sk.builtin.str("r")),n.stdout=n.__stdout__,n.stdin=n.__stdin__,n};',"src/lib/array.js":'function $builtinmodule(e){var n={},t=["c","b","B","u","h","H","i","I","l","L","f","d"];return n.__name__=new Sk.builtin.str("array"),n.array=Sk.misceval.buildClass(n,(function(e,n){n.__init__=new Sk.builtin.func((function(e,n,i){if(Sk.builtin.pyCheckArgsLen("__init__",arguments.length,2,3),-1==t.indexOf(Sk.ffi.remapToJs(n)))throw new Sk.builtin.ValueError("bad typecode (must be c, b, B, u, h, H, i, I, l, L, f or d)");if(i&&!Sk.builtin.checkIterable(i))throw new Sk.builtin.TypeError("iteration over non-sequence");if(e.$d.mp$ass_subscript(new Sk.builtin.str("typecode"),n),e.$d.mp$ass_subscript(new Sk.builtin.str("__module__"),new Sk.builtin.str("array")),e.typecode=n,void 0===i)e.internalIterable=new Sk.builtin.list;else if(i instanceof Sk.builtin.list)e.internalIterable=i;else{e.internalIterable=new Sk.builtin.list;for(let n=Sk.abstr.iter(i),t=n.tp$iternext();void 0!==t;t=n.tp$iternext())Sk.misceval.callsimArray(e.internalIterable.append,[e.internalIterable,t])}})),n.__repr__=new Sk.builtin.func((function(e){var n=Sk.ffi.remapToJs(e.typecode),t="";return Sk.ffi.remapToJs(e.internalIterable).length&&(t="c"==Sk.ffi.remapToJs(e.typecode)?", \'"+Sk.ffi.remapToJs(e.internalIterable).join("")+"\'":", "+Sk.ffi.remapToJs(Sk.misceval.callsimArray(e.internalIterable.__repr__,[e.internalIterable]))),new Sk.builtin.str("array(\'"+n+"\'"+t+")")})),n.__str__=n.__repr__,n.__getattribute__=new Sk.builtin.func((function(e,n){return e.tp$getattr(n)})),n.append=new Sk.builtin.func((function(e,n){return Sk.misceval.callsimArray(e.internalIterable.append,[e.internalIterable,n]),Sk.builtin.none.none$})),n.extend=new Sk.builtin.func((function(e,n){if(Sk.builtin.pyCheckArgsLen("__init__",arguments.length,2,2),!Sk.builtin.checkIterable(n))throw new Sk.builtin.TypeError("iteration over non-sequence");for(let t=Sk.abstr.iter(n),i=t.tp$iternext();void 0!==i;i=t.tp$iternext())Sk.misceval.callsimArray(e.internalIterable.append,[e.internalIterable,i])}))}),"array",[]),n}',"src/lib/calendar.js":'function $builtinmodule(e){const t={},{misceval:{chain:n},importModule:r}=Sk,importOrSuspend=e=>r(e,!1,!0);return n(importOrSuspend("datetime"),(e=>(t.datetime=e,importOrSuspend("itertools"))),(e=>(t.iterRepeat=e.$d.repeat,t.iterChain=e.$d.chain,calendarModule(t))))}function calendarModule(e){const{abstr:{setUpModuleMethods:t,numberBinOp:n,iter:r,objectGetItem:o},builtin:{bool:s,bool:{true$:m,false$:d},func:l,int_:i,list:c,none:{none$:f},str:h,slice:w,tuple:y,range:u,max:_,min:g,property:k,print:p,enumerate:$,ValueError:b},ffi:{remapToPy:M},misceval:{isTrue:T,iterator:C,arrayFromIterable:O,buildClass:L,richCompareBool:x,asIndexOrThrow:F,objectRepr:I,callsimArray:A},global:v,global:{strftime:E}}=Sk,S=new i(0),H=new i(1),D=new i(2),N=new i(3),R=new i(6),j=new i(7),J=new i(9),P=new i(12),Y=new i(13),U=new i(24),z=new i(60),le=(e,t)=>x(e,t,"LtE"),eq=(e,t)=>x(e,t,"Eq"),mod=(e,t)=>n(e,t,"Mod"),add=(e,t)=>n(e,t,"Add"),sub=(e,t)=>n(e,t,"Sub"),mul=(e,t)=>n(e,t,"Mult"),inc=e=>add(e,H),dec=e=>sub(e,H),mod7=e=>mod(e,j),getA=(e,t)=>e.tp$getattr(new h(t)),callA=(e,t,...n)=>A(e.tp$getattr(new h(t)),n);function*iterJs(e){const t=r(e);let n;for(;n=t.tp$iternext();)yield n}function iterFn(e,t){return e=r(e),new C((()=>{const n=e.tp$iternext();return n&&t(n)}),!0)}function makePyMethod(e,t,{args:n,name:r,doc:o,defaults:s}){t.co_varnames=["self",...n||[]],t.co_docstring=o?new h(o):f,s&&(t.$defaults=s),t.co_name=new h(r),t.co_qualname=new h(e+"."+r);const m=new l(t);return m.$module=Q.__name__,m}const{datetime:B,iterRepeat:W,iterChain:q}=e;let{MINYEAR:G,MAXYEAR:X,date:V}=B.$d;const K=getA(h,"center"),pyCenter=(e,t)=>A(K,[e,t]),pyRStrip=e=>new h(e.toString().trimRight());G=G.valueOf(),X=X.valueOf();const Q={__name__:new h("calendar"),__all__:M(["IllegalMonthError","IllegalWeekdayError","setfirstweekday","firstweekday","isleap","leapdays","weekday","monthrange","monthcalendar","prmonth","month","prcal","calendar","timegm","month_name","month_abbr","day_name","day_abbr","Calendar","TextCalendar","HTMLCalendar","LocaleTextCalendar","LocaleHTMLCalendar","weekheader"])};function makeErr(e,t){return L(Q,((e,n)=>{n.__init__=new l((function __init__(e,t){e.$attr=t})),n.__str__=new l((function __str__(e){return new h(t.replace("$",I(e.$attr)))}))}),e,[b])}const Z=makeErr("IllegalMonthError","bad month $; must be 1-12"),ee=makeErr("IllegalWeekdayError","bad weekday number $; must be 0 (Monday) to 6 (Sunday)"),te=1,ae=2,ne=[0,31,28,31,30,31,30,31,31,30,31,30,31];function mkLocalizedCls(e,t){t.__init__=new l((function __init__(e,t){e.format=t})),t.__getitem__=new l((function __getitem__(t,n){const r=o(e,n);if(n instanceof w){const e=[];for(const n of r.valueOf())e.push(A(n,[t.format]));return new c(e)}return A(r,[t.format])}));const n=new i(e.valueOf().length);t.__len__=new l((function __len__(e){return n}))}const re=new h("strftime"),oe=L(Q,((e,t)=>{let n=[new l((e=>h.$empty))];for(let r=0;r<12;r++){const e=new V(2001,r+1,1);n.push(e.tp$getattr(re))}n=new c(n),t._months=n,mkLocalizedCls(n,t)}),"_localized_month"),se=L(Q,((e,t)=>{let n=[];for(let r=0;r<7;r++){const e=new V(2001,1,r+1);n.push(e.tp$getattr(re))}n=new c(n),t._days=n,mkLocalizedCls(n,t)}),"_localized_day"),me=A(se,[new h("%A")]),de=A(se,[new h("%a")]),ie=A(oe,[new h("%B")]),ce=A(oe,[new h("%b")]),[fe,he,we,ye,ue,_e,ge]=[0,1,2,3,4,5,6];function isleap(e){return(e=F(e))%4==0&&(e%100!=0||e%400==0)}function weekday(e,t,n){e=F(e),G<=e&&e<=X||(e=2e3+e%400);const r=A(V,[new i(e),t,n]);return callA(V,"weekday",r)}function monthrange(e,t){if(!le(H,t)||!le(t,P))throw A(Z,[t]);const n=weekday(e,t,H);t=F(t);const r=ne[t]+Number(t===ae&&isleap(e));return[n,new i(r)]}function iterweekdays(e){return iterFn(A(u,[e.fwd,add(e.fwd,j)]),mod7)}function itermonthdates(e,t,n){return iterFn(itermonthdays3(e,t,n),(e=>A(V,e.valueOf())))}function itermonthdays(e,t,n){const[r,o]=monthrange(t,n),s=mod7(sub(r,e.fwd)),m=A(W,[S,s]),d=A(u,[H,inc(o)]),l=mod7(sub(e.fwd,add(r,o))),i=A(W,[S,l]);return A(q,[m,d,i])}function itermonthdays2(e,t,n){return iterFn(A($,[itermonthdays(e,t,n),e.fwd]),(e=>{const[t,n]=e.valueOf();return new y([n,mod7(t)])}))}function itermonthdays3(e,t,n){const ymdIter=(e,t,n)=>iterFn(n,(n=>new y([e,t,n]))),[r,o]=monthrange(t,n),s=mod7(sub(r,e.fwd)),m=mod7(sub(e.fwd,add(r,o))),[d,l]=function _prevmonth(e,t){return eq(t,H)?[dec(e),P]:[e,dec(t)]}(t,n),c=inc(function _monthlen(e,t){return t=F(t),new i(ne[t]+Number(t===ae&&isleap(e)))}(d,l)),f=A(u,[sub(c,s),c]),h=A(u,[H,inc(o)]),[w,_]=function _nextmonth(e,t){return eq(t,P)?[inc(e),H]:[e,inc(t)]}(t,n),g=A(u,[H,inc(m)]);return A(q,[ymdIter(d,l,f),ymdIter(t,n,h),ymdIter(w,_,g)])}function itermonthdays4(e,t,n){const r=itermonthdays3(e,t,n);let o=0;return iterFn(r,(t=>new y([...t.valueOf(),mod7(add(e.fwd,new i(o++)))])))}function _monthIter(e,t,n,r){const o=O(e(t,n,r)),s=[];for(let m=0;m{const n=makePyMethod.bind(null,"Calendar"),r=["firstweekday"],o=["year","month"],s=["year","width"],m={__init__:n((function __init__(e,t){return Object.defineProperty(e,"fwd",{get(){return mod7(this._fwd)},set(e){return this._fwd=e,!0}}),e.fwd=t,f}),{name:"__init__",args:r,defaults:[S]}),getfirstweekday:n((function getfirstweekday(e){return e.fwd}),{name:"getfirstweekday"}),setfirstweekday:n((function setfirstweekday(e,t){return e.fwd=t,f}),{name:"setfirstweekday",args:r}),iterweekdays:n(iterweekdays,{name:"iterweekdays"}),itermonthdates:n(itermonthdates,{name:"itermonthdates",args:o}),itermonthdays:n(itermonthdays,{name:"itermonthdays",args:o}),itermonthdays2:n(itermonthdays2,{name:"itermonthdays2",args:o}),itermonthdays3:n(itermonthdays3,{name:"itermonthdays3",args:o}),itermonthdays4:n(itermonthdays4,{name:"itermonthdays4",args:o}),monthdatescalendar:n(monthdatescalendar,{name:"monthdatescalendar",args:o}),monthdays2calendar:n(monthdays2calendar,{name:"monthdays2calendar",args:o}),monthdayscalendar:n(monthdayscalendar,{name:"monthdayscalendar",args:o}),yeardatescalendar:n(yeardatescalendar,{name:"yeardatescalendar",args:s,defaults:[N]}),yeardays2calendar:n(yeardays2calendar,{name:"yeardays2calendar",args:s,defaults:[N]}),yeardayscalendar:n(yeardayscalendar,{name:"yeardayscalendar",args:s,defaults:[N]})};m.firstweekday=new k(m.getfirstweekday,m.setfirstweekday),Object.assign(t,m)}),"Calendar");function doTextFormatweekday(e,t,n){let r;return r=x(n,J,"GtE")?me:de,pyCenter(o(o(r,t),new w(f,n)),n)}function doTextFormatmonthname(e,t,n,r,s=!0){let m=o(ie,n);return T(s)&&(m=mod(new h("%s %r"),new y([m,t]))),pyCenter(m,r)}const pe=L(Q,((e,t)=>{const txtPrint=e=>p([e],["end",h.$empty]);const n=doTextFormatweekday;function formatweekheader(e,t){const n=[];for(const r of iterJs(iterweekdays(e)))n.push(callA(e,"formatweekday",r,t).toString());return new h(n.join(" "))}const r=doTextFormatmonthname;const o=makePyMethod.bind(null,"TextCalendar"),s={prweek:o((function prweek(e,t,n){txtPrint(callA(e,"formatweek",t,n))}),{name:"prweek",args:["theweek","width"]}),formatday:o((function formatday(e,t,n,r){let o;return o=eq(t,S)?h.$empty:mod(new h("%2i"),t),pyCenter(o,r)}),{name:"formatday",args:["day","weekday","width"]}),formatweek:o((function formatweek(e,t,n){const r=[];for(const o of iterJs(t)){const[t,s]=o.valueOf();r.push(callA(e,"formatday",t,s,n).toString())}return new h(r.join(" "))}),{name:"formatweek",args:["theweek","width"]}),formatweekday:o(n,{name:"formatweekday",args:["day","width"]}),formatweekheader:o(formatweekheader,{name:"formatweekheader",args:["width"]}),formatmonthname:o(r,{name:"formatmonthname",args:["theyear","themonth","width","withyear"],defaults:[m]}),prmonth:o((function prmonth(e,t,n,r,o){txtPrint(callA(e,"formatmonth",t,n,r,o))}),{name:"prmonth",args:["theyear","themonth","w","l"],defaults:[S,S]}),formatmonth:o((function formatmonth(e,t,n,r,o){const addNewLines=e=>new h(e+"\\n".repeat(o.valueOf()));r=_([D,r]),o=_([H,o]);let s=callA(e,"formatmonthname",t,n,dec(mul(j,inc(r))),!0);s=pyRStrip(s),s=addNewLines(s),s=add(s,pyRStrip(callA(e,"formatweekheader",r))),s=addNewLines(s);for(const m of iterJs(monthdays2calendar(e,t,n)))s=add(s,pyRStrip(callA(e,"formatweek",m,r))),s=addNewLines(s);return s}),{name:"formatmonth",args:["thyear","themonth","w","l"],defaults:[S,S]}),formatyear:o((function formatyear(e,t,n,r,o,s){n=_([D,n]),r=_([H,r]),o=_([D,o]);const m=dec(mul(inc(n),j));let d="";const a=e=>d+=e;a(pyRStrip(pyCenter(t.$r(),add(mul(m,s),mul(o,dec(s)))))),a("\\n".repeat(r));const l=formatweekheader(e,n);let f=0;for(const w of iterJs(yeardays2calendar(e,t,s))){const d=new i(f),y=inc(mul(s,d)),_=g([inc(mul(s,inc(d))),Y]),k=A(u,[y,_]);a("\\n".repeat(r));const p=iterFn(k,(n=>callA(e,"formatmonthname",t,n,m,!1)));a(pyRStrip(formatstring(p,m,o))),a("\\n".repeat(r));const $=iterFn(k,(e=>l));a(pyRStrip(formatstring($,m,o))),a("\\n".repeat(r));const b=Math.max(...w.valueOf().map((e=>e.valueOf().length)));for(let t=0;t=r.length?s.push(h.$empty):s.push(callA(e,"formatweek",r[t],n));a(pyRStrip(formatstring(new c(s),m,o))),a("\\n".repeat(r))}f++}return new h(d)}),{name:"formatyear",args:["theyear","w","l","c","m"],defaults:[D,H,R,N]}),pryear:o((function pryear(e,t,n,r,o,s){txtPrint(callA(e,"formatyear",t,n,r,o,s))}),{name:"pryear",args:["theyear","w","l","c","m"],defaults:[S,S,R,N]})};Object.assign(t,s)}),"TextCalendar",[ke]);function doHtmlFormatweekday(e,t){return new h(`${o(de,t)}`)}function doHtmlFormatmonthname(e,t,n,r=!0){let s=""+o(ie,n);return T(r)&&(s+=" "+t),new h(`${s}`)}const $e=L(Q,((e,t)=>{const n=M(["mon","tue","wed","thu","fri","sat","sun"]),r=n,s=new h("noday"),d=new h("month"),l=d,c=new h("year"),w=c,u=new h(\' \'),g=new h(\'%d\');const k=doHtmlFormatweekday;function formatweekheader(e){let t="";for(const n of iterJs(iterweekdays(e)))t+=callA(e,"formatweekday",n);return new h(`${t}`)}const p=doHtmlFormatmonthname;const $=makePyMethod.bind(null,"HTMLCalendar"),b={formatday:$((function formatday(e,t,n){return eq(t,S)?mod(u,getA(e,"cssclass_noday")):mod(g,new y([o(getA(e,"cssclasses"),n),t]))}),{name:"formatday",args:["day","weekday"]}),formatweek:$((function formatweek(e,t){let n="";for(const r of iterJs(t)){const[t,o]=r.valueOf();n+=callA(e,"formatday",t,o)}return new h(`${n}`)}),{name:"formatweek",args:["theweek"]}),formatweekday:$(k,{name:"formatweekday",args:["day"]}),formatweekheader:$(formatweekheader,{name:"formatweekheader"}),formatmonthname:$(p,{name:"formatmonthname",args:["theyear","themonth","withyear"],defaults:[m]}),formatmonth:$((function formatmonth(e,t,n,r=!0){let o="";const a=e=>o+=e+"\\n";a(``),a(callA(e,"formatmonthname",t,n,r)),a(formatweekheader(e));for(const s of iterJs(monthdays2calendar(e,t,n)))a(callA(e,"formatweek",s));return a("
"),new h(o)}),{name:"formatmonth",args:["thyear","themonth","withyear"],defaults:[m]}),formatyear:$((function formatyear(e,t,n){let r="";const a=e=>r+=e;n=_([n,H]).valueOf(),a(``),a("\\n"),a(``);for(let o=te;o");const r=Math.min(o+n,13);for(let n=o;n"),a(callA(e,"formatmonth",t,new i(n),!1)),a("");a("")}return a("
${t}
"),new h(r)}),{name:"formatyear",args:["theyear","width"],defaults:[N]}),formatyearpage:$((function formatyearpage(e,t,n=3,r="calendar.css",o=null){null!==o&&o!==f||(o=new h("utf-8"));let s="";const a=e=>s+=e;return a(`\\n`),a(\'\\n\'),a("\\n"),a("\\n"),a(`\\n`),r!==f&&a(`\\n`),a(`Calendar for ${t}\\n`),a("\\n"),a("\\n"),a(callA(e,"formatyear",t,n)),a("\\n"),a("\\n"),callA(h,"encode",new h(s),o,new h("ignore"))}),{name:"formatyearpage",args:["theyear","width","css","encoding"],defaults:[N,new h("calendar.css"),new h("utf-8")]}),cssclasses:n,cssclasses_weekday_head:r,cssclass_noday:s,cssclass_month_head:d,cssclass_month:l,cssclass_year_head:c,cssclass_year:w};Object.assign(t,b)}),"HTMLCalendar",[ke]);function withLocale(e,t){const n=E.localizeByIdentifier(e.toString());v.strftime=n;try{return t()}finally{v.strftime=E}}function localInit(e,t){T(t)||(t=new h("en_US")),e.locale=t}const be=L(Q,((e,t)=>{const n=makePyMethod.bind(null,"LocaleTextCalendar"),r={__init__:n((function __init__(e,t,n){return callA(pe,"__init__",e,t),localInit(e,n),f}),{name:"__init__",args:["firstweekday","locale"],defaults:[S,f]}),formatweekday:n((function formatweekday(e,t,n){return withLocale(e.locale,(()=>doTextFormatweekday(0,t,n)))}),{name:"formatweekday",args:["day","width"]}),formatmonthname:n((function formatmonthname(e,t,n,r,o){return withLocale(e.locale,(()=>doTextFormatmonthname(0,t,n,r,o)))}),{name:"formatmonthname",args:["theyear","themonth","width","withyear"],defaults:[m]})};Object.assign(t,r)}),"LocaleTextCalendar",[pe]),Me=L(Q,((e,t)=>{const n=makePyMethod.bind(null,"LocaleHTMLCalendar"),r={__init__:n((function __init__(e,t,n){return callA($e,"__init__",e,t),localInit(e,n),f}),{name:"__init__",args:["firstweekday","locale"],defaults:[S,f]}),formatweekday:n((function formatweekday(e,t){return withLocale(e.locale,(()=>doHtmlFormatweekday(e,t)))}),{name:"formatweekday",args:["day"]}),formatmonthname:n((function formatmonthname(e,t,n,r){return withLocale(e.locale,(()=>doHtmlFormatmonthname(e,t,n,r)))}),{name:"formatmonthname",args:["theyear","themonth","withyear"],defaults:[m]})};Object.assign(t,r)}),"LocaleHTMLCalendar",[$e]),Te=A(pe,[]);Object.assign(Q,{IllegalMonthError:Z,IllegalWeekdayError:ee,day_name:me,month_name:ie,day_abbr:de,month_abbr:ce,January:new i(te),February:new i(ae),mdays:M(ne),MONDAY:new i(fe),TUESDAY:new i(he),WEDNESDAY:new i(we),THURSDAY:new i(ye),FRIDAY:new i(ue),SATURDAY:new i(_e),SUNDAY:new i(ge),Calendar:ke,TextCalendar:pe,HTMLCalendar:$e,LocaleTextCalendar:be,LocaleHTMLCalendar:Me,c:Te,firstweekday:getA(Te,"getfirstweekday"),monthcalendar:getA(Te,"monthdayscalendar"),prweek:getA(Te,"prweek"),week:getA(Te,"formatweek"),weekheader:getA(Te,"formatweekheader"),prmonth:getA(Te,"prmonth"),month:getA(Te,"formatmonth"),calendar:getA(Te,"formatyear"),prcal:getA(Te,"pryear")});const Ce=new i(20),Oe=R;function formatstring(e,t,n){t||(t=Ce),n||(n=Oe),n=mul(n,new h(" "));const r=[];for(const o of iterJs(e))r.push(pyCenter(o,t).toString());return new h(r.join(n.toString()))}const Le=getA(V,"toordinal"),xe=A(Le,[new V(1970,1,1)]);return t("calendar",Q,{isleap:{$meth:e=>s(isleap(e)),$flags:{NamedArgs:["year"]},$doc:"Return True for leap years, False for non-leap years"},leapdays:{$meth(e,t){e=F(e)-1,t=F(t)-1;const n=Math.floor;return new i(n(t/4)-n(e/4)-(n(t/100)-n(e/100))+(n(t/400)-n(e/400)))},$flags:{MinArgs:2,MaxArgs:2}},weekday:{$meth:weekday,$flags:{NamedArgs:["year","month","day"]},$doc:"Return weekday (0-6 ~ Mon-Sun) for year, month (1-12), day (1-31)."},monthrange:{$meth:(e,t)=>new y(monthrange(e,t)),$flags:{NamedArgs:["year","month"]},$doc:"Return weekday (0-6 ~ Mon-Sun) and number of days (28-31) for year, month."},setfirstweekday:{$meth(e){const t=F(e);if(!(fe<=t&&t<=ge))throw A(ee,[e]);Te.fwd=e},$flags:{NamedArgs:["firstweekday"]}},format:{$meth:function format(e,t,n){return p([formatstring(e,t,n)]),f},$flags:{NamedArgs:["cols","colwidth","spacing"],Defaults:[Ce,Oe]}},formatstring:{$meth:formatstring,$flags:{NamedArgs:["cols","colwidth","spacing"],Defaults:[Ce,Oe]}},timegm:{$meth(e){const[t,n,r,o,s,m]=e.valueOf(),d=A(V,[t,n,H]),l=A(Le,[d]),i=add(sub(l,xe),dec(r)),c=add(mul(i,U),o),f=add(mul(c,z),s);return add(mul(f,z),m)},$flags:{OneArg:!0}}}),Q}',"src/lib/collections.js":'function $builtinmodule(t){const e={};return Sk.misceval.chain(Sk.importModule("keyword",!1,!0),(t=>(e._iskeyword=t.$d.iskeyword,Sk.importModule("itertools",!1,!0))),(t=>(e._chain=t.$d.chain,e._starmap=t.$d.starmap,e._repeat=t.$d.repeat,Sk.importModule("operator",!1,!0))),(t=>{e._itemgetter=t.$d.itemgetter}),(()=>collections_mod(e)))}function collections_mod(t){function counterNumberSlot(e){return function(i){if(void 0!==i&&!(i instanceof t.Counter))return Sk.builtin.NotImplemented.NotImplemented$;const s=new t.Counter;return e.call(this,s,i),s}}function counterInplaceSlot(t,e){return function(i){if(!(i instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError("Counter "+t+"= "+Sk.abstr.typeName(i)+" is not supported");return e.call(this,i),this.keep$positive()}}t.__all__=new Sk.builtin.list(["deque","defaultdict","namedtuple","Counter","OrderedDict"].map((t=>new Sk.builtin.str(t)))),t.defaultdict=Sk.abstr.buildNativeClass("collections.defaultdict",{constructor:function defaultdict(t,e){this.default_factory=t,Sk.builtin.dict.call(this,e)},base:Sk.builtin.dict,methods:{copy:{$meth(){return this.$copy()},$flags:{NoArgs:!0}},__copy__:{$meth(){return this.$copy()},$flags:{NoArgs:!0}},__missing__:{$meth(t){if(Sk.builtin.checkNone(this.default_factory))throw new Sk.builtin.KeyError(Sk.misceval.objectRepr(t));{const e=Sk.misceval.callsimArray(this.default_factory,[]);return this.mp$ass_subscript(t,e),e}},$flags:{OneArg:!0}}},getsets:{default_factory:{$get(){return this.default_factory},$set(t){t=t||Sk.builtin.none.none$,this.default_factory=t}}},slots:{tp$doc:"defaultdict(default_factory[, ...]) --\\x3e dict with default factory\\n\\nThe default factory is called without arguments to produce\\na new value when a key is not present, in __getitem__ only.\\nA defaultdict compares equal to a dict with the same items.\\nAll remaining arguments are treated the same as if they were\\npassed to the dict constructor, including keyword arguments.\\n",tp$init(t,e){const i=t.shift();if(void 0===i)this.default_factory=Sk.builtin.none.none$;else{if(!Sk.builtin.checkCallable(i)&&!Sk.builtin.checkNone(i))throw new Sk.builtin.TypeError("first argument must be callable");this.default_factory=i}return Sk.builtin.dict.prototype.tp$init.call(this,t,e)},$r(){const t=Sk.misceval.objectRepr(this.default_factory),e=Sk.builtin.dict.prototype.$r.call(this).v;return new Sk.builtin.str("defaultdict("+t+", "+e+")")}},proto:{$copy(){const e=[];return Sk.misceval.iterFor(Sk.abstr.iter(this),(t=>{e.push(t),e.push(this.mp$subscript(t))})),new t.defaultdict(this.default_factory,e)}}}),t.Counter=Sk.abstr.buildNativeClass("Counter",{constructor:function Counter(){this.$d=new Sk.builtin.dict,Sk.builtin.dict.apply(this)},base:Sk.builtin.dict,methods:{elements:{$flags:{NoArgs:!0},$meth(){const e=t._chain.tp$getattr(new Sk.builtin.str("from_iterable")),i=t._starmap,s=t._repeat,n=Sk.misceval.callsimArray;return n(e,[n(i,[s,n(this.tp$getattr(this.str$items))])])}},most_common:{$flags:{NamedArgs:["n"],Defaults:[Sk.builtin.none.none$]},$meth(t){const e=this.sq$length();t=Sk.builtin.checkNone(t)||(t=Sk.misceval.asIndexOrThrow(t))>e?e:t<0?0:t;const i=this.$items().sort(((t,e)=>Sk.misceval.richCompareBool(t[1],e[1],"Lt")?1:Sk.misceval.richCompareBool(t[1],e[1],"Gt")?-1:0));return new Sk.builtin.list(i.slice(0,t).map((t=>new Sk.builtin.tuple(t))))}},update:{$flags:{FastCall:!0},$meth(t,e){return Sk.abstr.checkArgsLen("update",t,0,1),this.counter$update(t,e)}},subtract:{$flags:{FastCall:!0},$meth(t,e){Sk.abstr.checkArgsLen("subtract",t,0,1);const i=t[0];if(void 0!==i)if(i instanceof Sk.builtin.dict)for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,i.mp$subscript(n),"Sub"))}else for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,this.$one,"Sub"))}e=e||[];for(let s=0;s>> c = Counter(\'abcdeabcdabcaba\') # count elements from a string\\n\\n >>> c.most_common(3) # three most common elements\\n [(\'a\', 5), (\'b\', 4), (\'c\', 3)]\\n >>> sorted(c) # list all unique elements\\n [\'a\', \'b\', \'c\', \'d\', \'e\']\\n >>> \'\'.join(sorted(c.elements())) # list elements with repetitions\\n \'aaaaabbbbcccdde\'\\n >>> sum(c.values()) # total of all counts\\n 15\\n\\n >>> c[\'a\'] # count of letter \'a\'\\n 5\\n >>> for elem in \'shazam\': # update counts from an iterable\\n ... c[elem] += 1 # by adding 1 to each element\'s count\\n >>> c[\'a\'] # now there are seven \'a\'\\n 7\\n >>> del c[\'b\'] # remove all \'b\'\\n >>> c[\'b\'] # now there are zero \'b\'\\n 0\\n\\n >>> d = Counter(\'simsalabim\') # make another counter\\n >>> c.update(d) # add in the second counter\\n >>> c[\'a\'] # now there are nine \'a\'\\n 9\\n\\n >>> c.clear() # empty the counter\\n >>> c\\n Counter()\\n\\n Note: If a count is set to zero or reduced to zero, it will remain\\n in the counter until the entry is deleted or the counter is cleared:\\n\\n >>> c = Counter(\'aaabbc\')\\n >>> c[\'b\'] -= 2 # reduce the count of \'b\' by two\\n >>> c.most_common() # \'b\' is still in, but its count is zero\\n [(\'a\', 3), (\'c\', 1), (\'b\', 0)]\\n\\n",tp$init(t,e){return Sk.abstr.checkArgsLen(this.tpjs_name,t,0,1),this.counter$update(t,e)},$r(){const t=this.size>0?Sk.builtin.dict.prototype.$r.call(this).v:"";return new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+")")},tp$as_sequence_or_mapping:!0,mp$ass_subscript(t,e){return void 0===e?this.mp$lookup(t)&&Sk.builtin.dict.prototype.mp$ass_subscript.call(this,t,e):Sk.builtin.dict.prototype.mp$ass_subscript.call(this,t,e)},tp$as_number:!0,nb$positive:counterNumberSlot((function(t){this.$items().forEach((([e,i])=>{Sk.misceval.richCompareBool(i,this.$zero,"Gt")&&t.mp$ass_subscript(e,i)}))})),nb$negative:counterNumberSlot((function(t){this.$items().forEach((([e,i])=>{Sk.misceval.richCompareBool(i,this.$zero,"Lt")&&t.mp$ass_subscript(e,Sk.abstr.numberBinOp(this.$zero,i,"Sub"))}))})),nb$subtract:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=Sk.abstr.numberBinOp(s,e.mp$subscript(i),"Sub");Sk.misceval.richCompareBool(n,this.$zero,"Gt")&&t.mp$ass_subscript(i,n)})),e.$items().forEach((([e,i])=>{void 0===this.mp$lookup(e)&&Sk.misceval.richCompareBool(i,this.$zero,"Lt")&&t.mp$ass_subscript(e,Sk.abstr.numberBinOp(this.$zero,i,"Sub"))}))})),nb$add:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=Sk.abstr.numberBinOp(s,e.mp$subscript(i),"Add");Sk.misceval.richCompareBool(n,this.$zero,"Gt")&&t.mp$ass_subscript(i,n)})),e.$items().forEach((([e,i])=>{void 0===this.mp$lookup(e)&&Sk.misceval.richCompareBool(i,this.$zero,"Gt")&&t.mp$ass_subscript(e,i)}))})),nb$inplace_add:counterInplaceSlot("+",(function(t){t.$items().forEach((([t,e])=>{const i=Sk.abstr.numberInplaceBinOp(this.mp$subscript(t),e,"Add");this.mp$ass_subscript(t,i)}))})),nb$inplace_subtract:counterInplaceSlot("-",(function(t){t.$items().forEach((([t,e])=>{const i=Sk.abstr.numberInplaceBinOp(this.mp$subscript(t),e,"Sub");this.mp$ass_subscript(t,i)}))})),nb$or:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=e.mp$subscript(i),r=Sk.misceval.richCompareBool(s,n,"Lt")?n:s;Sk.misceval.richCompareBool(r,this.$zero,"Gt")&&t.mp$ass_subscript(i,r)})),e.$items().forEach((([e,i])=>{void 0===this.mp$lookup(e)&&Sk.misceval.richCompareBool(i,this.$zero,"Gt")&&t.mp$ass_subscript(e,i)}))})),nb$and:counterNumberSlot((function(t,e){this.$items().forEach((([i,s])=>{const n=e.mp$subscript(i),r=Sk.misceval.richCompareBool(s,n,"Lt")?s:n;Sk.misceval.richCompareBool(r,this.$zero,"Gt")&&t.mp$ass_subscript(i,r)}))})),nb$inplace_and:counterInplaceSlot("&",(function(t){this.$items().forEach((([e,i])=>{const s=t.mp$subscript(e);Sk.misceval.richCompareBool(s,i,"Lt")&&this.mp$ass_subscript(e,s)}))})),nb$inplace_or:counterInplaceSlot("|",(function(t){t.$items().forEach((([t,e])=>{Sk.misceval.richCompareBool(e,this.mp$subscript(t),"Gt")&&this.mp$ass_subscript(t,e)}))})),nb$reflected_and:null,nb$reflected_or:null,nb$reflected_add:null,nb$reflected_subtract:null},proto:{keep$positive(){return this.$items().forEach((([t,e])=>{Sk.misceval.richCompareBool(e,this.$zero,"LtE")&&this.mp$ass_subscript(t)})),this},$zero:new Sk.builtin.int_(0),$one:new Sk.builtin.int_(1),str$items:new Sk.builtin.str("items"),counter$update(t,e){const i=t[0];if(void 0!==i)if(Sk.builtin.checkMapping(i))if(this.sq$length())for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,i.mp$subscript(n),"Add"))}else this.update$common(t,void 0,"update");else for(let s=Sk.abstr.iter(i),n=s.tp$iternext();void 0!==n;n=s.tp$iternext()){const t=this.mp$subscript(n);this.mp$ass_subscript(n,Sk.abstr.numberBinOp(t,this.$one,"Add"))}if(e&&e.length)if(this.sq$length())for(let s=0;s`(${Sk.misceval.objectRepr(t)}, ${Sk.misceval.objectRepr(e)})`));return t=0===t.length?"":"["+t.join(", ")+"]",this.in$repr=!1,new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+")")},tp$richcompare(e,i){if("Eq"!==i&&"Ne"!==i)return Sk.builtin.NotImplemented.NotImplemented$;if(!(e instanceof t.OrderedDict))return Sk.builtin.dict.prototype.tp$richcompare.call(this,e,i);const s="Eq"==i,n=this.size;if(n!==e.size)return!s;const r=e.$items(),a=this.$items();for(let t=0;t=r||l>=a)switch(i){case"Lt":return ra;case"GtE":return r>=a}return"Eq"!==i&&("NotEq"===i||Sk.misceval.richCompareBool(n[this.head+l&this.mask],e[s.head+l&s.mask],i))},tp$iter(){return new e(this)},$r(){const t=[],e=this.tail-this.head&this.mask;if(this.$entered_repr)return new Sk.builtin.str("[...]");this.$entered_repr=!0;for(let s=0;s=e||t<-e)throw new Sk.builtin.IndexError("deque index out of range");const i=(t>=0?this.head:this.tail)+t&this.mask;return this.v[i]},mp$ass_subscript(t,e){t=Sk.misceval.asIndexOrThrow(t);const i=this.tail-this.head&this.mask;if(t>=i||t<-i)throw new Sk.builtin.IndexError("deque index out of range");void 0===e?this.del$item(t):this.set$item(t,e)},nb$inplace_add(t){this.maxlen=void 0;for(let e=Sk.abstr.iter(t),i=e.tp$iternext();void 0!==i;i=e.tp$iternext())this.$push(i);return this},nb$inplace_multiply(t){(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError,"can\'t multiply sequence by non-int of type \'{tp$name}\'"))<=0&&this.$clear();const e=this.$copy(),i=this.tail-this.head&this.mask;for(let s=1;s integer -- return number of occurrences of value"},extend:{$meth(t){return this.$extend(t),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Extend the right side of the deque with elements from the iterable"},extendleft:{$meth(t){for(let e=Sk.abstr.iter(t),i=e.tp$iternext();void 0!==i;i=e.tp$iternext())this.$pushLeft(i);return Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Extend the left side of the deque with elements from the iterable"},index:{$meth(t,e,i){const s=this.$index(t,e,i);if(void 0!==s)return new Sk.builtin.int_(s);throw new Sk.builtin.ValueError(Sk.misceval.objectRepr(t)+" is not in deque")},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"D.index(value, [start, [stop]]) -> integer -- return first index of value.\\nRaises ValueError if the value is not present."},insert:{$meth(t,e){t=Sk.misceval.asIndexOrThrow(t,"integer argument expected, got {tp$name}");const i=this.tail-this.head&this.mask;if(void 0!==this.maxlen&&i>=this.maxlen)throw new Sk.builtin.IndexError("deque already at its maximum size");t>i&&(t=i),t<=-i&&(t=0);const s=(t>=0?this.head:this.tail)+t&this.mask;let n=this.tail;for(this.tail=this.tail+1&this.mask;n!==s;){const t=n-1&this.mask;this.v[n]=this.v[t],n=t}return this.v[s]=e,this.head===this.tail&&this.$resize(this.v.length,this.v.length<<1),Sk.builtin.none.none$},$flags:{MinArgs:2,MaxArgs:2},$textsig:null,$doc:"D.insert(index, object) -- insert object before index"},pop:{$meth(){return this.$pop()},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove and return the rightmost element."},popleft:{$meth(){return this.$popLeft()},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove and return the leftmost element."},remove:{$meth(t){const e=this.$index(t);if(void 0===e)throw new Sk.builtin.ValueError(Sk.misceval.objectRepr(t)+" is not in deque");let i=this.head+e&this.mask;for(;i!==this.tail;){const t=i+1&this.mask;this.v[i]=this.v[t],i=t}this.tail=this.tail-1&this.mask;var s=this.tail-this.head&this.mask;s>>1&&this.$resize(s,this.v.length>>>1)},$flags:{OneArg:!0},$textsig:null,$doc:"D.remove(value) -- remove first occurrence of value."},__reversed__:{$meth(){return new i(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.__reversed__() -- return a reverse iterator over the deque"},reverse:{$meth(){const t=this.head,e=this.tail,i=this.mask,s=this.tail-this.head&this.mask;for(let n=0;n<~~(s/2);n++){const s=e-n-1&i,r=t+n&i,a=this.v[s];this.v[s]=this.v[r],this.v[r]=a}return Sk.builtin.none.none$},$flags:{NoArgs:!0},$textsig:null,$doc:"D.reverse() -- reverse *IN PLACE*"},rotate:{$meth(t){t=void 0===t?1:Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError);const e=this.head,i=this.tail;if(0===t||e===i)return this;if(this.head=e-t&this.mask,this.tail=i-t&this.mask,t>0)for(let s=1;s<=t;s++){const t=e-s&this.mask,n=i-s&this.mask;this.v[t]=this.v[n],this.v[n]=void 0}else for(let s=0;s>t;s--){const t=i-s&this.mask,n=e-s&this.mask;this.v[t]=this.v[n],this.v[n]=void 0}return Sk.builtin.none.none$},$flags:{MinArgs:0,MaxArgs:1},$textsig:null,$doc:"Rotate the deque n steps to the right (default n=1). If n is negative, rotates left."}},classmethods:Sk.generic.classGetItem,getsets:{maxlen:{$get(){return void 0===this.maxlen?Sk.builtin.none.none$:new Sk.builtin.int_(this.maxlen)},$doc:"maximum size of a deque or None if unbounded"}},proto:{$clear(){this.head=0,this.tail=0,this.mask=1,this.v=new Array(2)},$copy(){return new t.deque(this.v.slice(0),this.maxlen,this.head,this.tail,this.mask)},$extend(t){for(let e=Sk.abstr.iter(t),i=e.tp$iternext();void 0!==i;i=e.tp$iternext())this.$push(i)},set$item(t,e){const i=(t>=0?this.head:this.tail)+t&this.mask;this.v[i]=e},del$item(t){let e=(t>=0?this.head:this.tail)+t&this.mask;for(;e!==this.tail;){const t=e+1&this.mask;this.v[e]=this.v[t],e=t}const i=this.tail-this.head&this.mask;this.tail=this.tail-1&this.mask,i>>1&&this.$resize(i,this.v.length>>>1)},$push(t){this.v[this.tail]=t,this.tail=this.tail+1&this.mask,this.head===this.tail&&this.$resize(this.v.length,this.v.length<<1);const e=this.tail-this.head&this.mask;return void 0!==this.maxlen&&e>this.maxlen&&this.$popLeft(),this},$pushLeft(t){this.head=this.head-1&this.mask,this.v[this.head]=t,this.head===this.tail&&this.$resize(this.v.length,this.v.length<<1);const e=this.tail-this.head&this.mask;return void 0!==this.maxlen&&e>this.maxlen&&this.$pop(),this},$pop(){if(this.head===this.tail)throw new Sk.builtin.IndexError("pop from an empty deque");this.tail=this.tail-1&this.mask;const t=this.v[this.tail];this.v[this.tail]=void 0;const e=this.tail-this.head&this.mask;return e>>1&&this.$resize(e,this.v.length>>>1),t},$popLeft(){if(this.head===this.tail)throw new Sk.builtin.IndexError("pop from an empty deque");const t=this.v[this.head];this.v[this.head]=void 0,this.head=this.head+1&this.mask;const e=this.tail-this.head&this.mask;return e>>1&&this.$resize(e,this.v.length>>>1),t},$resize(t,e){const i=this.head,s=this.mask;if(this.head=0,this.tail=t,this.mask=e-1,0===i)return void(this.v.length=e);const n=new Array(e);for(let r=0;r=0?i:i<-s?0:s+i;for(let o=e>=0?e:e<-s?0:s+e;o=this.$length)return;const t=(this.$index>=0?this.$head:this.$tail)+this.$index&this.$mask;return this.$index++,this.dq[t]},methods:{__length_hint__:{$meth:function __length_hint__(){return new Sk.builtin.int_(this.$length-this.$index)},$flags:{NoArgs:!0}}}}),i=Sk.abstr.buildIteratorClass("_collections._deque_reverse_iterator",{constructor:function _deque_reverse_iterator(t){this.$index=(t.tail-t.head&t.mask)-1,this.dq=t.v,this.$head=t.head,this.$mask=t.mask},iternext(){if(this.$index<0)return;const t=this.$head+this.$index&this.$mask;return this.$index--,this.dq[t]},methods:{__length_hint__:Sk.generic.iterReverseLengthHintMethodDef}}),s=new RegExp(/^[0-9].*/),n=new RegExp(/^[0-9_].*/),r=new RegExp(/^\\w*$/),a=/,/g,o=/\\s+/;function namedtuple(e,i,l,h,c){if(e=e.tp$str(),Sk.misceval.isTrue(Sk.misceval.callsimArray(t._iskeyword,[e])))throw new Sk.builtin.ValueError("Type names and field names cannot be a keyword: \'"+Sk.misceval.objectRepr(e)+"\'");const u=e.$jsstr();if(s.test(u)||!r.test(u)||!u)throw new Sk.builtin.ValueError("Type names and field names must be valid identifiers: \'"+u+"\'");let m,d;if(Sk.builtin.checkString(i))m=i.$jsstr().replace(a," ").split(o),1==m.length&&""===m[0]&&(m=[]),d=m.map((t=>new Sk.builtin.str(t)));else{m=[],d=[];for(let t=Sk.abstr.iter(i),e=t.tp$iternext();void 0!==e;e=t.tp$iternext())e=e.tp$str(),d.push(e),m.push(e.$jsstr())}let p=new Set;if(Sk.misceval.isTrue(l))for(let s=0;sm.length)throw new Sk.builtin.TypeError("Got more default values than field names");for(let t=0,e=d.length-b.length;e"\'"+t.$jsstr()+"\'"))+"]")}return r}_make.co_varnames=["_cls","iterable"],_asdict.co_varnames=["self"],_replace.co_kwargs=1,_replace.co_varnames=["_self"];const S={};for(let s=0;sm[e]+"="+Sk.misceval.objectRepr(t)));return new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t.join(", ")+")")}},flags:{sk$klass:!0},proto:Object.assign({__module__:Sk.builtin.checkNone(c)?Sk.globals.__name__:c,__slots__:new Sk.builtin.tuple,_fields:$,_field_defaults:f,_make:new Sk.builtin.classmethod(new Sk.builtin.func(_make)),_asdict:new Sk.builtin.func(_asdict),_replace:new Sk.builtin.func(_replace)},S)})}return namedtuple.co_argcount=2,namedtuple.co_kwonlyargcount=3,namedtuple.$kwdefs=[Sk.builtin.bool.false$,Sk.builtin.none.none$,Sk.builtin.none.none$],namedtuple.co_varnames=["typename","field_names","rename","defaults","module"],t.namedtuple=new Sk.builtin.func(namedtuple),t}',"src/lib/datetime.js":'function $builtinmodule(){const{isTrue:t,richCompareBool:e,asIndexOrThrow:n,asIndexSized:i,objectRepr:s,opAllowsEquality:o,callsimArray:r,callsimOrSuspendArray:a}=Sk.misceval,{numberBinOp:$,typeName:c,buildNativeClass:h,checkArgsLen:m,objectHash:u,copyKeywordsToNamedArgs:l}=Sk.abstr,{int_:f,float_:d,str:w,bytes:_,tuple:p,bool:{true$:g},none:{none$:y},NotImplemented:{NotImplemented$:b},TypeError:z,ValueError:v,OverflowError:M,ZeroDivisionError:A,NotImplementedError:x,checkNumber:N,checkFloat:S,checkString:k,checkInt:O,asnum$:I,round:E,getattr:T}=Sk.builtin,{remapToPy:D,remapToJs:R}=Sk.ffi,intRound=t=>E(t).nb$int(),q=$,C=new w("auto"),U=new w("utcoffset"),Y=new w("tzname"),j=new w("as_integer_ratio"),F=new w("dst"),H=new w("isoformat"),J=new w("replace"),B=new w("fromtimestamp"),G=new w("fromordinal"),L=new w("utcfromtimestamp"),X=new w("strftime"),P=new w("fromutc"),W=new f(0),Z=new d(0),K=new f(7),V=new f(60),Q=new f(3600),tt=new f(1e3),et=new f(1e6),nt=new d(1e6),it=new f(86400),st=new d(86400);let ot=null;function pyDivMod(t,e){return q(t,e,"DivMod").v}function $divMod(t,e){if("number"!=typeof t||"number"!=typeof e)return t=JSBI.BigInt(t),e=JSBI.BigInt(e),[JSBI.toNumber(JSBI.divide(t,e)),JSBI.toNumber(JSBI.remainder(t,e))];if(0===e)throw new A("integer division or modulo by zero");return[Math.floor(t/e),t-Math.floor(t/e)*e]}function modf(t){const e=(t=I(t))<0?-1:1;return t=Math.abs(t),[new d(e*(t-Math.floor(t))),new d(e*Math.floor(t))]}function _d(t,e="0",n=2){return t.toString().padStart(n,e)}const rt=/^[0-9]+$/;function _as_integer(t){if(!rt.test(t))throw new Error;return parseInt(t)}function _as_int_ratio(t){let e=r(t.tp$getattr(j));if(!(e instanceof p))throw new z("unexpected return type from as_integer_ratio(): expected tuple, got \'"+c(e)+"\'");if(e=e.v,2!==e.length)throw new v("as_integer_ratio() must return a 2-tuple");return e}return Sk.misceval.chain(Sk.importModule("time",!1,!0),(a=>{const $=a.$d,E={__name__:new w("datetime"),__all__:new Sk.builtin.list(["date","datetime","time","timedelta","timezone","tzinfo","MINYEAR","MAXYEAR"].map((t=>new w(t))))};function _cmp(t,e){for(let n=0;ne[n]?1:-1;return 0}function _do_compare(t,e,n){const i=t.$cmp(e,n);switch(n){case"Lt":return i<0;case"LtE":return i<=0;case"Eq":return 0===i;case"NotEq":return 0!==i;case"Gt":return i>0;case"GtE":return i>=0}}const j=9999;E.MINYEAR=new f(1),E.MAXYEAR=new f(j);const rt=3652059,at=[-1,31,28,31,30,31,30,31,31,30,31,30,31],$t=[-1];let ct=0;function _is_leap(t){return t%4==0&&(t%100!=0||t%400==0)}function _days_before_year(t){const e=t-1;return 365*e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400)}function _days_before_month(t,e){return $t[e]+(e>2&&_is_leap(t))}function _ymd2ord(t,e,n){return _days_before_year(t)+_days_before_month(t,e)+n}at.slice(1).forEach((t=>{$t.push(ct),ct+=t}));const ht=_days_before_year(401),mt=_days_before_year(101),ut=_days_before_year(5);function _ord2ymd(t){if((t=n(t))>Number.MAX_SAFE_INTEGER)throw new M("Python int too large to convert to js number");if(t<1)throw new v("ordinal must be >= 1");let e,i,s,o;t-=1,[e,t]=$divMod(t,ht);let r=400*e+1;if([i,t]=$divMod(t,mt),[s,t]=$divMod(t,ut),[o,t]=$divMod(t,365),r+=100*i+4*s+o,4===o||4===i)return[r-1,12,31].map((t=>new f(t)));const a=3===o&&(24!==s||3===i);let $=t+50>>5,c=$t[$]+($>2&&a);return c>t&&($-=1,c-=at[$]+(2===$&&a)),[r,$,(t-=c)+1].map((t=>new f(t)))}const lt=[null,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],ft=[null,"Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function _build_struct_time(t,e,n,i,s,o,r){const a=(_ymd2ord(t,e,n)+6)%7,c=_days_before_month(t,e)+n;return $.struct_time.tp$call([new p([t,e,n,i,s,o,a,c,r].map((t=>new f(t))))])}const dt={hours:t=>_d(t),minutes:(t,e)=>_d(t)+":"+_d(e),seconds:(t,e,n)=>_d(t)+":"+_d(e)+":"+_d(n),milliseconds:(t,e,n,i)=>_d(t)+":"+_d(e)+":"+_d(n)+"."+_d(i,"0",3),microseconds:(t,e,n,i)=>_d(t)+":"+_d(e)+":"+_d(n)+"."+_d(i,"0",6)};function _format_time(t,e,n,i,s="auto"){if("string"!=typeof s&&!k(s))throw new z("must be str, not "+c(s));"auto"===(s=s.toString())?s=i?"microseconds":"seconds":"milliseconds"===s&&(i=Math.floor(i/1e3));let o=dt[s];if(void 0===o)throw new v("Unknown timespec value");return o(t,e,n,i)}function _format_offset(t){let e,n="";if(t!==y){let i,s,o;return t.$days<0?(e="-",t=new wt(-t.$days,-t.$secs,-t.$micro)):e="+",[i,s]=pyDivMod(t,pt),[s,o]=pyDivMod(s,gt),n+=e+`${_d(i)}:${_d(s)}`,(o.$secs||o.$micro)&&(n+=":"+_d(o.$secs,"0",2),o.$micro&&(n+="."+_d(o.$micro,"0",6))),n}}function _wrap_strftime(t,e,n){let i=null,s=null,o=null,a=[],c=0;const h=e.length;for(;cnew f(t)))}function _parse_hh_mm_ss_ff(t){const e=t.length,n=[0,0,0,0];let i=0;for(let s=0;s<3;s++){if(e-i<2)throw new v("Incomplete time component");n[s]=_as_integer(t.slice(i,i+2)),i+=2;const o=t.substr(i,1);if(!o||s>=2)break;if(":"!==o)throw new v("Invalid time separator: "+o);i+=1}if(i0?t.slice(0,e-1):t),s=y;if(e>0){if(n=t.slice(e),![5,8,15].includes(n.length))throw new v("Malformed time zone string");const i=_parse_hh_mm_ss_ff(n);if(i.every((t=>0===t)))s=St.prototype.utc;else{const n="-"===t[e-1]?-1:1,o=new wt(0,n*(3600*i[0]+60*i[1]+i[2]),n*i[3]);s=new St(o)}}return i=i.map((t=>new f(t))),i.push(s),i}function _check_tzname(t){if(t!==y&&!k(t))throw new z("tzinfo.tzname() must return None or string, not \'"+c(t)+"\'")}function _check_utc_offset(t,n){if(n!==y){if(!(n instanceof wt))throw new z(`tzinfo.${t}() must return None or timedelta, not \'${c(n)}\'`);if(!e(zt,n,"Lt")||!e(n,_t,"Lt"))throw new v(`${t}()=${n.toString()}, must be strictly between -timedelta(hours=24) and timedelta(hours=24)`)}}function _check_date_fields(t,e=null,i=null){if(null===e||null===i){throw new z(`function missing required argument \'${null===i?"day":"month"}\' (pos ${null===i?"3":"2"})`)}if(t=n(t),e=n(e),i=n(i),!(1<=t&&t<=j))throw new v("year must be in 1.."+j,new f(t));if(!(1<=e&&e<=12))throw new v("month must be in 1..12",new f(e));const s=function _days_in_month(t,e){return 2===e&&_is_leap(t)?29:at[e]}(t,e);if(!(1<=i&&i<=s))throw new v("day must be in 1.."+s,new f(i));return[t,e,i]}function _check_time_fields(t,e,i,s,o){if(t=n(t),e=n(e),i=n(i),s=n(s),o=n(o),!(0<=t&&t<=23))throw new v("hour must be in 0..23",new f(t));if(!(0<=e&&e<=59))throw new v("minute must be in 0..59",new f(e));if(!(0<=i&&i<=59))throw new v("second must be in 0..59",new f(i));if(!(0<=s&&s<=999999))throw new v("microsecond must be in 0..999999",new f(s));if(0!==o&&1!==o)throw new v("fold must be either 0 or 1",new f(o));return[t,e,i,s,o]}function _check_tzinfo_arg(t){if(t!==y&&!(t instanceof Mt))throw new z("tzinfo argument must be None or of a tzinfo subclass")}function _divide_and_round(t,e){let[n,i]=$divMod(t,e);return i*=2,((e>0?i>e:i999999999)throw new M(`days=${t}; must have magnitude <= 999999999`)},slots:{tp$new(t,e){let i,s,o,r,a,$,c,[h,m,u,d,w,_,p]=l("timedelta",["days","seconds","microseconds","milliseconds","minutes","hours","weeks"],t,e,new Array(7).fill(W));i=s=o=W,h=q(h,q(p,K,"Mult"),"Add"),m=q(m,q(q(w,V,"Mult"),q(_,Q,"Mult"),"Add"),"Add"),u=q(u,q(d,tt,"Mult"),"Add"),S(h)?([r,h]=modf(h),[a,$]=modf(q(r,st,"Mult")),s=new f($),i=new f(h)):(a=Z,i=h),S(m)?([c,m]=modf(m),m=new f(m),c=q(c,a,"Add")):c=a,[h,m]=pyDivMod(m,it),i=q(i,h,"Add"),s=q(s,new f(m),"Add");const g=q(c,nt,"Mult");if(S(u)?(u=intRound(q(u,g,"Add")),[m,u]=pyDivMod(u,et),[h,m]=pyDivMod(m,it),i=q(i,h,"Add"),s=q(s,m,"Add")):(u=new f(u),[m,u]=pyDivMod(u,et),[h,m]=pyDivMod(m,it),i=q(i,h,"Add"),s=q(s,m,"Add"),u=intRound(q(u,g,"Add"))),[m,o]=pyDivMod(u,et),s=q(s,m,"Add"),[h,s]=pyDivMod(s,it),i=q(i,h,"Add"),i=n(i),s=n(s),o=n(o),Math.abs(i)>999999999)throw new M("timedelta # of days is too large: "+h.toString());if(this===wt.prototype)return new wt(i,s,o);{const t=new this.constructor;return wt.call(t,i,s,o),t}},$r(){const t=[];return this.$days&&t.push(`days=${this.$days}`),this.$secs&&t.push(`seconds=${this.$secs}`),this.$micro&&t.push(`microseconds=${this.$micro}`),t.length||t.push("0"),new w(`${this.tp$name}(${t.join(", ")})`)},tp$str(){const t=this.$secs%60;let e=Math.floor(this.$secs/60);const n=Math.floor(e/60);e%=60;let i=`${n}:${_d(e)}:${_d(t)}`;if(this.$days){i=`${this.$days} day${function plural(t){return 1!==Math.abs(t)?"s":""}(this.$days)}, `+i}return this.$micro&&(i+=`.${_d(this.$micro,"0",6)}`),new w(i)},tp$as_number:!0,nb$add(t){return t instanceof wt?new wt(this.$days+t.$days,this.$secs+t.$secs,this.$micro+t.$micro):b},nb$subtract(t){return t instanceof wt?new wt(this.$days-t.$days,this.$secs-t.$secs,this.$micro-t.$micro):b},nb$positive(){return this},nb$negative(){return new wt(-this.$days,-this.$secs,-this.$micro)},nb$abs(){return this.$days<0?this.nb$negative():this},nb$multiply(t){if(O(t))return t=i(t,M),new wt(this.$days*t,this.$secs*t,this.$micro*t);if(S(t)){const e=this.$toMicrosecs();let[s,o]=_as_int_ratio(t);return s=i(s,M),o=n(o),new wt(0,0,_divide_and_round(e*s,o))}return b},nb$floor_divide(t){const e=this.$toMicrosecs();if(t instanceof wt){const n=t.$toMicrosecs();if(0===n)throw new A("integer division or modulo by zero");return new f(Math.floor(e/n))}if(O(t)){if(0===(t=i(t,M)))throw new A("integer division or modulo by zero");return new wt(0,0,Math.floor(e/t))}return b},nb$divide(t){const e=this.$toMicrosecs();if(t instanceof wt){if(0===t.$toMicrosecs())throw new A("integer division or modulo by zero");return new d(e/t.$toMicrosecs())}if(O(t))return t=n(t),new wt(0,0,_divide_and_round(e,t));if(S(t)){let[s,o]=_as_int_ratio(t);return s=n(s),o=i(o,M),new wt(0,0,_divide_and_round(o*e,s))}return b},nb$remainder(t){if(!(t instanceof wt))return b;const e=this.$toMicrosecs(),n=t.$toMicrosecs();if(0===n)throw new A("integer division or modulo by zero");const i=e-Math.floor(e/n)*n;return new wt(0,0,i)},nb$divmod(t){if(!(t instanceof wt))return b;const e=this.$toMicrosecs(),n=t.$toMicrosecs(),[i,s]=$divMod(e,n);return new p([new f(i),new wt(0,0,s)])},tp$richcompare(t,e){return t instanceof wt?_do_compare(this,t,e):b},tp$hash(){return-1===this.$hashcode&&(this.$hashcode=u(new p(this.$getState().map((t=>new f(t)))))),this.$hashcode},nb$bool(){return 0!==this.$days||0!==this.$secs||0!==this.$micro}},methods:{total_seconds:{$meth(){return new d(((86400*this.$days+this.$secs)*10**6+this.$micro)/10**6)},$flags:{NoArgs:!0},$doc:"Total seconds in the duration."},__reduce__:{$meth(){return new p([this.ob$type,new p(this.$getState().map((t=>D(t))))])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},getsets:{days:{$get(){return new f(this.$days)},$doc:"Number of days."},seconds:{$get(){return new f(this.$secs)},$doc:"Number of seconds (>= 0 and less than 1 day)."},microseconds:{$get(){return new f(this.$micro)},$doc:"Number of microseconds (>= 0 and less than 1 second)."}},proto:{$toMicrosecs(){return 1e6*(86400*this.$days+this.$secs)+this.$micro},$cmp(t){return _cmp(this.$getState(),t.$getState())},$getState(){return[this.$days,this.$secs,this.$micro]}}});wt.prototype.min=new wt(-999999999),wt.prototype.max=new wt(999999999,86399,999999),wt.prototype.resolution=new wt(0,0,1);const _t=new wt(1),pt=new wt(0,3600),gt=new wt(0,60),yt=new wt(0,1),bt=new wt(0),zt=new wt(-1),vt=E.date=h("datetime.date",{constructor:function date(t,e,n){this.$year=t,this.$month=e,this.$day=n,this.$hashcode=-1},slots:{tp$new(t,e){let n,[i,s,o]=l("date",["year","month","day"],t,e,[null,null]);if(null===s&&i instanceof _&&4===(n=i.valueOf()).length&&1<=n[2]&&n[2]<=12){const t=new this.constructor;return t.$setState(n),t}if([i,s,o]=_check_date_fields(i,s,o),this===vt.prototype)return new vt(i,s,o);{const t=new this.constructor;return vt.call(t,i,s,o),t}},$r(){return new w(`${this.tp$name}(${this.$year}, ${this.$month}, ${this.$day})`)},tp$str(){return this.tp$getattr(H).tp$call([])},tp$richcompare(t,e){return t instanceof vt?_do_compare(this,t,e):b},tp$hash(){return-1===this.$hashcode&&(this.$hashcode=u(this.$getState())),this.$hashcode},tp$as_number:!0,nb$add(t){if(t instanceof wt){const e=this.$toOrdinal()+t.$days;if(0 local date from a POSIX timestamp (like time.time())."},fromordinal:{$meth:function fromordinal(t){return this.tp$call(_ord2ymd(t))},$flags:{OneArg:!0},$textsig:null,$doc:"int -> date corresponding to a proleptic Gregorian ordinal."},fromisocalendar:{$meth:function fromisocalendar(t,e,i){if(t=n(t),e=n(e),i=n(i),!(1<=t&&t<=j))throw new v(`Year is out of range: ${t}`);let s,o;if(!(0 date corresponding to a proleptic Gregorian ordinal."},fromisoformat:{$meth:function fromisoformat(t){if(!k(t))throw new z("fromisoformat: argument must be str");t=t.toString();try{if(10!==t.length)throw new Error;return this.tp$call(_parse_isoformat_date(t))}catch(e){throw new v("Invalid isoformat string: \'"+t+"\'")}},$flags:{OneArg:!0},$textsig:null,$doc:"str -> Construct a date from the output of date.isoformat()"},today:{$meth:function today(){const t=$.time.tp$call([]);return this.tp$getattr(B).tp$call([t])},$flags:{NoArgs:!0},$textsig:null,$doc:"Current date or datetime: same as self.__class__.fromtimestamp(time.time())."}},methods:{ctime:{$meth:function ctime(){const t=this.$toOrdinal()%7||7,e=ft[t],n=lt[this.$month];return new w(`${e} ${n} ${_d(this.$day," ",2)} 00:00:00 ${_d(this.$year,"0",4)}`)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return ctime() style string."},strftime:{$meth:function strftime(t){if(!k(t))throw new z("must be str, not "+c(t));return _wrap_strftime(this,t=t.toString(),this.$timetuple())},$flags:{OneArg:!0},$textsig:null,$doc:"format -> strftime() style string."},__format__:{$meth:function __format__(t){if(!k(t))throw new z("must be str, not "+c(t));return t!==w.$empty?this.tp$getattr(X).tp$call([t]):this.tp$str()},$flags:{OneArg:!0},$textsig:null,$doc:"Formats self with strftime."},timetuple:{$meth:function timetuple(){return this.$timetuple()},$flags:{NoArgs:!0},$textsig:null,$doc:"Return time tuple, compatible with time.localtime()."},isocalendar:{$meth:function isocalendar(){let t=this.$year,e=_isoweek1monday(t);const n=_ymd2ord(this.$year,this.$month,this.$day);let[i,s]=$divMod(n-e,7);return i<0?(t-=1,e=_isoweek1monday(t),[i,s]=$divMod(n-e,7)):i>=52&&n>=_isoweek1monday(t+1)&&(t+=1,i=0),new At(new f(t),new f(i+1),new f(s+1))},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a 3-tuple containing ISO year, week number, and weekday."},isoformat:{$meth:function isoformat(){return this.$isoformat()},$flags:{NoArgs:!0},$textsig:null,$doc:"Return string in ISO 8601 format, YYYY-MM-DD."},isoweekday:{$meth:function isoweekday(){return new f(this.$toOrdinal()%7||7)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return the day of the week represented by the date.\\nMonday == 1 ... Sunday == 7"},toordinal:{$meth:function toordinal(){return new f(this.$toOrdinal())},$flags:{NoArgs:!0},$textsig:null,$doc:"Return proleptic Gregorian ordinal. January 1 of year 1 is day 1."},weekday:{$meth:function weekday(){return new f((this.$toOrdinal()+6)%7)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return the day of the week represented by the date.\\nMonday == 0 ... Sunday == 6"},replace:{$meth:function replace(t,e,n){return t===y&&(t=new f(this.$year)),e===y&&(e=new f(this.$month)),n===y&&(n=new f(this.$day)),this.ob$type.tp$call([t,e,n])},$flags:{NamedArgs:["year","month","day"],Defaults:[y,y,y]},$textsig:null,$doc:"Return date with new specified fields."},__reduce__:{$meth(){return new p([this.ob$type,new p([this.$getState()])])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},getsets:{year:{$get(){return new f(this.$year)},$doc:"year (1-9999)"},month:{$get(){return new f(this.$month)},$doc:"month (1-12)"},day:{$get(){return new f(this.$day)},$doc:"day (1-31)"}},proto:{$cmp(t){return _cmp([this.$year,this.$month,this.$day],[t.$year,t.$month,t.$day])},$getState(){const[t,e]=$divMod(this.$year,256);return new _([t,e,this.$month,this.$day])},$setState(t){const[e,n,i,s]=t,o=256*e+n;this.$year=o,this.$month=i,this.$day=s},$toOrdinal(){return _ymd2ord(this.$year,this.$month,this.$day)},$isoformat(){return new w(`${_d(this.$year,"0",4)}-${_d(this.$month,"0",2)}-${_d(this.$day,"0",2)}`)},$timetuple(){return _build_struct_time(this.$year,this.$month,this.$day,this.$hour||0,this.$min||0,this.$sec||0,-1)},$strftime(t=""){return _wrap_strftime(this,t.toString(),this.$timetuple())}}});vt.prototype.min=new vt(1,1,1),vt.prototype.max=new vt(9999,12,31),vt.prototype.resolution=new wt(1);const Mt=E.tzinfo=h("datetime.tzinfo",{constructor:function tzinfo(){},methods:{tzname:{$meth:function tzname(t){throw new x("tzinfo subclass must override tzname()")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime -> string name of time zone."},utcoffset:{$meth:function utcoffset(t){throw new x("tzinfo subclass must override utcoffset()")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime -> timedelta showing offset from UTC, negative values indicating West of UTC"},dst:{$meth:function dst(t){throw new x("tzinfo subclass must override dst()")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime -> DST offset as timedelta positive east of UTC."},fromutc:{$meth:function fromutc(e){if(!(e instanceof Nt))throw new z("fromutc() requires a datetime argument");if(e.$tzinfo!==this)throw new v("dt.tzinfo is not self");const n=r(e.tp$getattr(U));if(n===y)throw new v("fromutc() requires a non-None utcoffset() result");let i=r(e.tp$getattr(F));if(i===y)throw new v("fromutc() requires a non-None dst() result");const s=q(n,i,"Sub");if(t(s)&&(e=q(e,s,"Add"),i=r(e.tp$getattr(F)),i===y))throw new v("fromutc(): dt.dst gave inconsistent results; cannot convert");return q(e,i,"Add")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime in UTC -> datetime in local time."},__reduce__:{$meth(){let e,n;const i=T(this,new w("__getinitargs__"),y);e=i!==y?r(i,[]):new p;const s=T(this,new w("__getstate__"),y);return s!==y?n=r(s,[]):(n=T(this,new w("__dict__"),y),n=t(n)?n:y),new p(n===y?[this.ob$type,e]:[this.ob$type,e,n])},$flags:{NoArgs:!0},$textsig:null,$doc:"-> (cls, state)"}}}),At=h("datetime.IsoCalendarDate",{base:p,constructor:function IsoCalendarDate(t,e,n){this.y=t,this.w=e,this.wd=n,p.call(this,[t,e,n])},slots:{tp$new(t,e){const[n,i,s]=l("IsoCalendarDate",["year","week","weekday"],t,e);return new this.constructor(n,i,s)},$r(){return new w(`${this.tp$name}(year=${this.y}, week=${this.w}, weekday=${this.wd})`)}},getsets:{year:{$get(){return this.y}},week:{$get(){return this.w}},weekday:{$get(){return this.wd}}}}),xt=E.time=h("datetime.time",{constructor:function time(t=0,e=0,n=0,i=0,s=null,o=0){this.$hour=t,this.$min=e,this.$sec=n,this.$micro=i,this.$tzinfo=s||y,this.$fold=o,this.$hashcode=-1},slots:{tp$new(t,e){m("time",t,0,5);let n,[i,s,o,r,a,$]=l("time",["hour","minute","second","microsecond","tzinfo","fold"],t,e,[W,W,W,W,y,W]);if(i instanceof _&&6===(n=i.valueOf()).length&&(127&n[0])<24){const t=new this.constructor;return t.$setState(n,s===W?y:s),t}if([i,s,o,r,$]=_check_time_fields(i,s,o,r,$),_check_tzinfo_arg(a),this===xt.prototype)return new xt(i,s,o,r,a,$);{const t=new this.constructor;return xt.call(t,i,s,o,r,a,$),t}},tp$richcompare(t,e){return t instanceof xt?_do_compare(this,t,e):b},tp$hash(){if(-1===this.$hashcode){const e=this.$fold?r(this.tp$getattr(J),[],["fold",W]):this,n=r(e.tp$getattr(U));if(t(n)){let[t,e]=pyDivMod(new wt(0,3600*this.$hour+60*this.$min).nb$subtract(n),pt);e=e.nb$floor_divide(gt),0<=t&&t<=24?(t=I(t),e=I(e),this.$hashcode=u(new xt(t,e,this.$sec,this.$micro))):this.$hashcode=u(new p([t,e,new f(this.$sec),new f(this.$micro)]))}else this.$hashcode=u(e.$getState()[0])}return this.$hashcode},$r(){let t;return t=0!==this.$micro?`, ${this.$sec}, ${this.$micro}`:0!==this.$sec?`, ${this.$sec}`:"",t=`${this.tp$name}(${this.$hour}, ${this.$min}${t})`,this.$tzinfo!==y&&(t=t.slice(0,-1)+", tzinfo="+s(this.$tzinfo)+")"),this.$fold&&(t=t.slice(0,-1)+", fold=1)"),new w(t)},tp$str(){return this.tp$getattr(H).tp$call([])}},methods:{isoformat:{$meth:function isoformat(t){let e=_format_time(this.$hour,this.$min,this.$sec,this.$micro,t);const n=this.$tzstr();return n&&(e+=n),new w(e)},$flags:{NamedArgs:["timespec"],Defaults:[C]},$textsig:null,$doc:"Return string in ISO 8601 format, [HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].\\n\\ntimespec specifies what components of the time to include.\\n"},strftime:{$meth:function strftime(t){if(!k(t))throw new z("must be str, not "+c(t));return _wrap_strftime(this,t=t.toString(),new p([1900,1,1,this.$hour,this.$min,this.$sec,0,1,-1].map((t=>new f(t)))))},$flags:{OneArg:!0},$textsig:null,$doc:"format -> strftime() style string."},__format__:{$meth:function __format__(t){if(!k(t))throw new z("must be str, not "+c(t));return t!==w.$empty?this.tp$getattr(X).tp$call([t]):this.tp$str()},$flags:{OneArg:!0},$textsig:null,$doc:"Formats self with strftime."},utcoffset:{$meth:function utcoffset(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(U),e=r(t,[y]);return _check_utc_offset("utcoffset",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.utcoffset(self)."},tzname:{$meth:function tzname(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(Y),e=r(t,[y]);return _check_tzname(e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.tzname(self)."},dst:{$meth:function dst(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(F),e=r(t,[y]);return _check_utc_offset("dst",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.dst(self)."},replace:{$meth:function replace(t,e){m("replace",t,0,5);let[n,i,s,o,r,a]=l("replace",["hour","minute","second","microsecond","tzinfo","fold"],t,e,[y,y,y,y,g,y]);return n===y&&(n=new f(this.$hour)),i===y&&(i=new f(this.$min)),s===y&&(s=new f(this.$sec)),o===y&&(o=new f(this.$micro)),r===g&&(r=this.$tzinfo),a===y&&(a=new f(this.$fold)),this.ob$type.tp$call([n,i,s,o,r],["fold",a])},$flags:{FastCall:!0},$textsig:null,$doc:"Return time with new specified fields."},__reduce_ex__:{$meth(t){return new p([this.ob$type,new p(this.$getState(R(t)))])},$flags:{OneArg:!0},$textsig:null,$doc:"__reduce_ex__(proto) -> (cls, state)"},__reduce__:{$meth(){return this.tp$getattr(new w("__reduce_ex__")).tp$call([new f(2)])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},classmethods:{fromisoformat:{$meth:function fromisoformat(t){if(!k(t))throw new z("fromisoformat: argument must be str");t=t.toString();try{return this.tp$call(_parse_isoformat_time(t))}catch{throw new v("Invalid isofrmat string: \'"+t+"\'")}},$flags:{OneArg:!0},$textsig:null,$doc:"string -> time from time.isoformat() output"}},getsets:{hour:{$get(){return new f(this.$hour)}},minute:{$get(){return new f(this.$min)}},second:{$get(){return new f(this.$sec)}},microsecond:{$get(){return new f(this.$micro)}},tzinfo:{$get(){return this.$tzinfo}},fold:{$get(){return new f(this.$fold)}}},proto:{$cmp(t,n){const s=this.$tzinfo,o=t.$tzinfo;let a,$,c;if(a=$=y,s===o?c=!0:(a=r(this.tp$getattr(U)),$=r(t.tp$getattr(U)),c=e(a,$,"Eq")),c)return _cmp([this.$hour,this.$min,this.$sec,this.$micro],[t.$hour,t.$min,t.$sec,t.$micro]);if(a===y||$===y){if("Eq"===n||"NotEq"===n)return 2;throw new z("cannot compare naive and aware times")}const h=60*this.$hour+this.$min-i(a.nb$floor_divide(gt)),m=60*t.$hour+t.$min-i($.nb$floor_divide(gt));return _cmp([h,this.$sec,this.$micro],[m,t.$sec,t.$micro])},$tzstr(){return _format_offset(r(this.tp$getattr(U)))},$getState(t=3){let[e,n]=$divMod(this.$micro,256),[i,s]=$divMod(e,256),o=this.$hour;this.$fold&&t>3&&(o+=128);const r=new _([o,this.$min,this.$sec,i,s,n]);return this.$tzinfo===y?[r]:[r,this.$tzinfo]},$setState(t,e){const[n,i,s,o,r,a]=t;n>127?(this.$fold=1,this.$hour=n-128):(this.$fold=0,this.$hour=n),this.$min=i,this.$sec=s,this.$micro=(o<<8|r)<<8|a,this.$tzinfo=e}}});xt.prototype.min=new xt(0,0,0),xt.prototype.max=new xt(23,59,59,999999),xt.prototype.resolution=new wt;const Nt=E.datetime=h("datetime.datetime",{base:vt,constructor:function datetime(t,e,n,i=0,s=0,o=0,r=0,a=null,$=0){this.$year=t,this.$month=e,this.$day=n,this.$hour=i,this.$min=s,this.$sec=o,this.$micro=r,this.$tzinfo=a||y,this.$fold=$,this.$hashcode=-1},slots:{tp$new(t,e){m("datetime",t,0,9);let n,[i,s,o,r,a,$,c,h,u]=l("time",["year","month","day","hour","minute","second","microsecond","tzinfo","fold"],t,e,[null,null,W,W,W,W,y,W]);if(i instanceof _&&10===(n=i.valueOf()).length&&(127&n[2])<=12){const t=new this.constructor;return t.$setState(n,null===s?y:s),t}if([i,s,o]=_check_date_fields(i,s,o),[r,a,$,c,u]=_check_time_fields(r,a,$,c,u),_check_tzinfo_arg(h),this===Nt.prototype)return new Nt(i,s,o,r,a,$,c,h,u);{const t=new this.constructor;return Nt.call(t,i,s,o,r,a,$,c,h,u),t}},$r(){const t=[this.$year,this.$month,this.$day,this.$hour,this.$min,this.$sec,this.$micro];0===t[t.length-1]&&t.pop(),0===t[t.length-1]&&t.pop();let e=`${this.tp$name}(${t.join(", ")})`;return this.$tzinfo!==y&&(e=e.slice(0,-1)+", tzinfo="+s(this.$tzinfo)+")"),this.$fold&&(e=e.slice(0,-1)+", fold=1)"),new w(e)},tp$str(){return this.tp$getattr(H).tp$call([],["sep",new w(" ")])},tp$richcompare(t,e){if(t instanceof Nt)return _do_compare(this,t,e);if(!(t instanceof vt))return b;if("Eq"===e||"NotEq"===e)return"NotEq"===e;throw new z(`can\'t compare \'${c(this)}\' to \'${c(t)}\'`)},tp$as_number:!0,nb$add(t){if(!(t instanceof wt))return b;let e=new wt(this.$toOrdinal(),3600*this.$hour+60*this.$min+this.$sec,this.$micro);e=q(e,t,"Add");let[n,i]=$divMod(e.$secs,3600),[s,o]=$divMod(i,60);if(0 string in ISO 8601 format, YYYY-MM-DDT[HH[:MM[:SS[.mmm[uuu]]]]][+HH:MM].\\nsep is used to separate the year from the time, and defaults to \'T\'.\\ntimespec specifies what components of the time to include (allowed values are \'auto\', \'hours\', \'minutes\', \'seconds\', \'milliseconds\', and \'microseconds\').\\n"},utcoffset:{$meth:function utcoffset(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(U),e=r(t,[this]);return _check_utc_offset("utcoffset",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.utcoffset(self)."},tzname:{$meth:function tzname(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(Y),e=r(t,[this]);return _check_tzname(e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.tzname(self)."},dst:{$meth:function dst(){if(this.$tzinfo===y)return y;const t=this.$tzinfo.tp$getattr(F),e=r(t,[this]);return _check_utc_offset("dst",e),e},$flags:{NoArgs:!0},$textsig:null,$doc:"Return self.tzinfo.dst(self)."},replace:{$meth:function replace(t,e){m("replace",t,0,8);let[n,i,s,o,r,a,$,c,h]=l("replace",["year","month","day","hour","minute","second","microsecond","tzinfo","fold"],t,e,[y,y,y,y,y,y,y,g,y]);return n===y&&(n=new f(this.$year)),i===y&&(i=new f(this.$month)),s===y&&(s=new f(this.$day)),o===y&&(o=new f(this.$hour)),r===y&&(r=new f(this.$min)),a===y&&(a=new f(this.$sec)),$===y&&($=new f(this.$micro)),c===g&&(c=this.$tzinfo),h===y&&(h=new f(this.$fold)),this.ob$type.tp$call([n,i,s,o,r,a,$,c],["fold",h])},$flags:{FastCall:!0},$textsig:null,$doc:"Return datetime with new specified fields."},astimezone:{$meth:function astimezone(t){if(t===y)t=this.$localTimezone();else if(!(t instanceof Mt))throw new z("tz argument must be an instance of tzinfo");let e,n=this.$tzinfo;if(n===y?(n=this.$localTimezone(),e=r(n.tp$getattr(U),[this])):(e=r(n.tp$getattr(U),[this]),e===y&&(n=r(this.tp$getattr(J),[],["tzinfo",y]).$localTimezone(),e=r(n.tp$getattr(U),[this]))),t===n)return this;const i=r(this.nb$subtract(e).tp$getattr(J),[],["tzinfo",t]);return t.tp$getattr(P).tp$call([i])},$flags:{NamedArgs:["tz"],Defaults:[y]},$textsig:null,$doc:"tz -> convert to local time in new timezone tz\\n"},__reduce_ex__:{$meth(t){return new p([this.ob$type,new p(this.$getState(R(t)))])},$flags:{OneArg:!0},$textsig:null,$doc:"__reduce_ex__(proto) -> (cls, state)"},__reduce__:{$meth(){return this.tp$getattr(new w("__reduce_ex__")).tp$call([new f(2)])},$flags:{NoArgs:!0},$textsig:null,$doc:"__reduce__() -> (cls, state)"}},classmethods:{now:{$meth:function now(t){const e=$.time.tp$call([]);return this.tp$getattr(B).tp$call([e,t])},$flags:{NamedArgs:["tz"],Defaults:[y]},$textsig:"($type, /, tz=None)",$doc:"Returns new datetime object representing current time local to tz.\\n\\n tz\\n Timezone object.\\n\\nIf no tz is specified, uses local timezone."},utcnow:{$meth:function utcnow(){const t=$.time.tp$call([]);return this.tp$getattr(L).tp$call([t])},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a new datetime representing UTC day and time."},fromtimestamp:{$meth:function fromtimestamp(t,e){return _check_tzinfo_arg(e),this.prototype.$fromtimestamp.call(this,t,e!==y,e)},$flags:{NamedArgs:["timestamp","tz"],Defaults:[y]},$textsig:null,$doc:"timestamp[, tz] -> tz\'s local time from POSIX timestamp."},utcfromtimestamp:{$meth:function utcfromtimestamp(t){return this.prototype.$fromtimestamp.call(this,t,!0,y)},$flags:{OneArg:!0},$textsig:null,$doc:"Construct a naive UTC datetime from a POSIX timestamp."},strptime:{$meth:function strptime(t,e){return null===ot?Sk.misceval.chain(Sk.importModule("_strptime",!1,!0),(n=>(ot=n.tp$getattr(new w("_strptime_datetime")),ot.tp$call([this,t,e])))):ot.tp$call([this,t,e])},$flags:{MinArgs:2,MaxArgs:2},$textsig:null,$doc:"string, format -> new datetime parsed from a string (like time.strptime())."},combine:{$meth:function combine(t,e,n){if(!(t instanceof vt))throw new z("date argument must be a date instance");if(!(e instanceof xt))throw new z("time argument must be a time instance");n===g&&(n=e.$tzinfo);const i=[t.$year,t.$month,t.$day,e.$hour,e.$min,e.$sec,e.$micro].map((t=>new f(t)));return i.push(n),this.tp$call(i,["fold",new f(e.$fold)])},$flags:{NamedArgs:["date","time","tzinfo"],Defaults:[g]},$textsig:null,$doc:"date, time -> datetime with same date and time fields"},fromisoformat:{$meth:function fromisoformat(t){if(!k(t))throw new z("fromisoformat: argument must be str");const e=(t=t.toString()).slice(0,10),n=t.slice(11);let i,s;try{i=_parse_isoformat_date(e)}catch(o){throw new v("Invalid isoformat string: \'"+t+"\'")}if(n)try{s=_parse_isoformat_time(n)}catch(o){throw new v("Invalid isoformat string: \'"+t+"\'")}else s=[W,W,W,W,y];return this.tp$call(i.concat(s))},$flags:{OneArg:!0},$textsig:null,$doc:"string -> datetime from datetime.isoformat() output"}},getsets:{hour:{$get(){return new f(this.$hour)}},minute:{$get(){return new f(this.$min)}},second:{$get(){return new f(this.$sec)}},microsecond:{$get(){return new f(this.$micro)}},tzinfo:{$get(){return this.$tzinfo}},fold:{$get(){return new f(this.$fold)}}},proto:{$cmp(n,i){const s=this.$tzinfo,o=n.$tzinfo;let a,$,c;if(a=$=y,s===o)c=!0;else{if(a=r(this.tp$getattr(U)),$=r(n.tp$getattr(U)),"Eq"===i||"NotEq"===i){const t=r(this.tp$getattr(J),[],["fold",new f(Number(!this.$fold))]);if(e(a,r(t.tp$getattr(U)),"NotEq"))return 2;const i=r(n.tp$getattr(J),[],["fold",new f(Number(!n.$fold))]);if(e($,r(i.tp$getattr(U)),"NotEq"))return 2}c=e(a,$,"Eq")}if(c)return _cmp([this.$year,this.$month,this.$day,this.$hour,this.$min,this.$sec,this.$micro],[n.$year,n.$month,n.$day,n.$hour,n.$min,n.$sec,n.$micro]);if(a===y||$===y){if("Eq"===i||"NotEq"===i)return 2;throw new z("cannot compare naive and aware datetimes")}const h=this.nb$subtract(n);return h.$days<0?-1:t(h)?1:0},$mkTime(){const t=new Nt(1970,1,1),e=this.nb$subtract(t).nb$floor_divide(yt);function local(e){const[n,i,s,o,r,a]=$.localtime.tp$call([e]).v;return Nt.tp$call([n,i,s,o,r,a]).nb$subtract(t).nb$floor_divide(yt)}let n,i,s=local(e).nb$subtract(e),o=e.nb$subtract(s),r=local(o);if(r.ob$eq(e)){if(n=o.nb$add([new f(-86400),new f(86400)][this.$fold]),i=local(n).nb$subtract(n),s.ob$eq(i))return o}else i=r.nb$subtract(o);n=e.nb$subtract(i);if(local(n).ob$eq(e))return n;if(r.ob$eq(e))return o;const a=o.ob$ge(n)?o:n;return[a,o===a?n:o][this.$fold]},$fromtimestamp(t,n,s){let o;if(!N(t))throw new z("a number is required, (got \'"+c(t)+"\'");[o,t]=modf(t);let a=intRound(q(o,nt,"Mult"));a=a.v,t=t.v,a>=1e6?(t+=1,a-=1e6):a<0&&(t-=1,a+=1e6),t=new f(t),Number.isInteger(a)||(a=Math.trunc(a)),a=new f(a);const h=n?$.gmtime:$.localtime;function converter(t){return h.tp$call([t]).v}let[m,u,l,d,_,p]=converter(t);p=new f(Math.min(i(p),59));let g=r(this,[m,u,l,d,_,p,a,s]);if(s===y){const n=86400;[m,u,l,d,_,p]=converter(q(t,new f(n),"Sub"));const i=r(this,[m,u,l,d,_,p,a,s]),o=q(q(g,i,"Sub"),new wt(0,n),"Sub");if(o.$days<0){[m,u,l,d,_,p]=converter(q(t,q(o,yt,"FloorDiv"),"Add"));const n=r(this,[m,u,l,d,_,p,a,s]);e(n,g,"Eq")&&(g.$fold=1)}}else g=r(s.tp$getattr(new w("fromutc")),[g]);return g},$localTimezone(){let t;t=this.$tzinfo===y?this.$mkTime():this.nb$subtract(kt).nb$floor_divide(yt);const e=$.localtime.tp$call([t]),n=(Nt.tp$call(e.v.slice(0,6)),e.tp$getattr(new w("tm_gmtoff"))),i=e.tp$getattr(new w("tm_zone"));return new St(wt.tp$call([W,n]),i)},$getState(t=3){let[e,n]=$divMod(this.$year,256),[i,s]=$divMod(this.$micro,256),[o,r]=$divMod(i,256),a=this.$month;this.$fold&&t>3&&(a+=128);const $=new _([e,n,a,this.$day,this.$hour,this.$min,this.$sec,o,r,s]);return this.$tzinfo===y?[$]:[$,this.$tzinfo]},$setState(t,e){const[n,i,s,o,r,a,$,c,h,m]=t;s>127?(this.$fold=1,this.$month=s-128):(this.$fold=0,this.$month=s),this.$year=256*n+i,this.$day=o,this.$hour=r,this.$min=a,this.$sec=$,this.$micro=(c<<8|h)<<8|m,this.$tzinfo=e}}});function _isoweek1monday(t){const e=_ymd2ord(t,1,1),n=(e+6)%7;let i=e-n;return n>3&&(i+=7),i}Nt.prototype.min=new Nt(1,1,1),Nt.prototype.max=new Nt(9999,12,31,23,59,59,999999),Nt.prototype.resolution=new wt(0,0,1);const St=E.timezone=h("datetime.timezone",{base:Mt,constructor:function timezone(t,n){if(this.$offset=t,this.$name=n||y,!e(this.$minoffset,t,"LtE")||!e(this.$maxoffset,t,"GtE"))throw new v("offset must be a timedelta strictly between -timedelta(hours=24) and timedelta(hours=24).")},slots:{tp$new(e,n){let[i,s]=l("timezone",["offset","name"],e,n,[null]);if(!(i instanceof wt))throw new z("offset must be a timedelta");if(null===s){if(!t(i))return this.utc;s=y}else if(!k(s))throw new z("name must be a string");if(this===St.prototype)return new St(i,s);{const t=new this.constructor;return St.call(t,i,s),t}},tp$richcompare(t,n){if(!(t instanceof St))return b;const i=e(this.$offset,t.$offset,"Eq");return"NotEq"===n?!i:"Eq"===n||i&&o(n)?i:b},$r(){return this===this.utc?new w("datetime.timezone.utc"):this.$name===y?new w(`${this.tp$name}(${s(this.$offset)})`):new w(`${this.tp$name}(${s(this.$offset)}, ${s(this.$name)})`)},tp$str(){return this.tp$getattr(Y).tp$call([y])},tp$hash(){return u(this.$offset)}},methods:{tzname:{$meth:function tzname(t){if(t instanceof Nt||t===y)return this.$name===y?this.$nameFromOff(this.$offset):this.$name;throw new z("tzname() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"If name is specified when timezone is created, returns the name. Otherwise returns offset as \'UTC(+|-)HH:MM\'."},utcoffset:{$meth:function utcoffset(t){if(t instanceof Nt||t===y)return this.$offset;throw new z("utcoffset() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"Return fixed offset."},dst:{$meth:function dst(t){if(t instanceof Nt||t===y)return y;throw new z("dst() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"Return None."},fromutc:{$meth:function fromutc(t){if(t instanceof Nt){if(t.$tzinfo!==this)throw new v("fromutc: dt.tzinfo is not self");return q(t,this.$offset,"Add")}throw new z("fromutc() argument must be a datetime instance or None")},$flags:{OneArg:!0},$textsig:null,$doc:"datetime in UTC -> datetime in local time."},__getinitargs__:{$meth(){return this.$name===y?new p([this.$offset]):new p([this.$offset,this.$name])},$flags:{NoArgs:!0}}},proto:{$maxoffset:new wt(0,86399,999999),$minoffset:new wt(-1,0,1),$nameFromOff(n){if(!t(n))return new w("UTC");let i,s,o,r,a,$;return e(n,bt,"Lt")?(i="-",n=n.nb$negative()):i="+",[s,o]=pyDivMod(n,pt),[r,o]=pyDivMod(o,gt),a=o.$secs,$=o.$micro,new w($?`UTC${i}${_d(s)}:${_d(r)}:${_d(a)}.${_d($,"0",6)}`:a?`UTC${i}${_d(s)}:${_d(r)}:${_d(a)}`:`UTC${i}${_d(s)}:${_d(r)}`)}}});St.prototype.utc=new St(new wt(0)),St.prototype.min=new St(new wt(0,-86340,0)),St.prototype.max=new St(new wt(0,86340,0));const kt=new Nt(1970,1,1,0,0,0,0,St.prototype.utc);return E}))}',"src/lib/document.js":'function $builtinmodule(){const{builtin:{str:t},misceval:{callsimArray:e},ffi:{toPy:r},abstr:{gattr:a}}=Sk,n={__name__:new t("document")},_=r(Sk.global.document);return Sk.abstr.setUpModuleMethods("document",n,{__getattr__:{$meth:t=>a(_,t,!0),$flags:{OneArg:!0}},__dir__:{$meth:()=>e(_.tp$getattr(t.$dir)),$flags:{NoArgs:!0}}}),n}',"src/lib/fractions.js":'function $builtinmodule(t){const e={};return Sk.misceval.chain(Sk.importModule("math",!1,!0),(t=>(e.math=t,Sk.importModule("sys",!1,!0))),(t=>(e.sys=t,fractionsMod(e))))}function fractionsMod({math:t,sys:e}){const{builtin:{int_:n,bool:{true$:i,false$:r},none:{none$:s},NotImplemented:{NotImplemented$:o},tuple:a,float_:$,complex:u,str:h,isinstance:l,TypeError:m,ZeroDivisionError:d,ValueError:f,NotImplementedError:c,abs:_,round:b,pow:p},ffi:{remapToPy:g},abstr:{buildNativeClass:w,copyKeywordsToNamedArgs:v,numberBinOp:y,typeName:k,lookupSpecial:E,checkArgsLen:N},misceval:{isTrue:F,richCompareBool:A,callsimArray:S,objectRepr:M}}=Sk,O={__name__:new h("fractions"),__all__:g(["Fraction"])},D=/^\\s*(?[-+]?)(?=\\d|\\.\\d)(?\\d*)(?:(?:\\/(?\\d+))?|(?:\\.(?\\d*))?(?:E(?[-+]?\\d+))?)\\s*$/i,q=new n(0),x=new n(1),z=new n(2),I=new n(10),T=new h("numerator"),R=new h("denominator"),B=new h("as_integer_ratio"),C=new h("from_float"),getNumer=t=>t.tp$getattr(T),getDenom=t=>t.tp$getattr(R),mul=(t,e)=>y(t,e,"Mult"),div=(t,e)=>y(t,e,"Div"),pow=(t,e)=>y(t,e,"Pow"),add=(t,e)=>y(t,e,"Add"),sub=(t,e)=>y(t,e,"Sub"),floorDiv=(t,e)=>y(t,e,"FloorDiv"),divmod=(t,e)=>y(t,e,"DivMod"),mod=(t,e)=>y(t,e,"Mod"),K=t.tp$getattr(new h("gcd")),eq=(t,e)=>A(t,e,"Eq"),lt=(t,e)=>A(t,e,"Lt"),ge=(t,e)=>A(t,e,"GtE"),L={NoArgs:!0},P={OneArg:!0},j=e.tp$getattr(new h("hash_info")),G=j.tp$getattr(new h("modulus")),V=j.tp$getattr(new h("inf"));function _operator_fallbacks(t,e){return[function(n){return isRational(n)?t(this,n):n instanceof $?e(this.nb$float(),n):n instanceof u?e(S(u,[this]),n):o},function(n){return isRational(n)?t(n,this):n instanceof $?e(n,this.nb$float()):n instanceof u?e(n,S(u,[this])):o}]}const[Z,H]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e);return S(ot,[add(mul(getNumer(t),i),mul(getNumer(e),n)),mul(n,i)])}),add),[J,Q]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e);return S(ot,[sub(mul(getNumer(t),i),mul(getNumer(e),n)),mul(n,i)])}),sub),[U,W]=_operator_fallbacks(((t,e)=>S(ot,[mul(getNumer(t),getNumer(e)),mul(getDenom(t),getDenom(e))])),mul),[X,Y]=_operator_fallbacks(((t,e)=>S(ot,[mul(getNumer(t),getDenom(e)),mul(getDenom(t),getNumer(e))])),div),[tt,et]=_operator_fallbacks(((t,e)=>floorDiv(mul(getNumer(t),getDenom(e)),mul(getDenom(t),getNumer(e)))),floorDiv),[nt,it]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e),[r,s]=divmod(mul(getNumer(t),i),mul(n,getNumer(e))).valueOf();return new a([r,S(ot,[s,mul(n,i)])])}),divmod),[rt,st]=_operator_fallbacks(((t,e)=>{const n=getDenom(t),i=getDenom(e),r=mod(mul(getNumer(t),i),mul(getNumer(e),n));return S(ot,[r,mul(n,i)])}),mod),ot=O.Fraction=w("fractions.Fraction",{constructor:function(t,e){this.$num=t||q,this.$den=e||x},slots:{tp$new(t,e){N("Fraction",t,0,2);let[r,o,a]=v("Fraction",["numerator","denominator","_normalize"],t,e,[q,s,i]);const u=new this.constructor;if(o===s){if(r.ob$type===n)return u.$num=r,u.$den=x,u;if(isRational(r))return u.$num=getNumer(r),u.$den=getDenom(r),u;if(r instanceof $)return[u.$num,u.$den]=S(r.tp$getattr(B)).valueOf(),u;if(!(r instanceof h))throw new m("argument should be a string or a Rational instance");{const t=r.toString().match(D);if(null===t)throw new f("Invalid literal for Fraction: "+M(r));r=new n(t.groups.num||"0");const e=t.groups.denom;if(e)o=new n(e);else{o=x;const e=t.groups.decimal;if(e){const t=new n(""+10**e.length);r=add(mul(r,t),new n(e)),o=mul(o,t)}let i=t.groups.exp;i&&(i=new n(i),lt(i,q)?o=mul(o,pow(I,i.nb$negative())):r=mul(r,pow(I,i)))}"-"==t.groups.sign&&(r=r.nb$negative())}}else if(r.ob$type===n&&o.ob$type===n);else{if(!isRational(r)||!isRational(o))throw new m("both arguments should be Rational instances");[r,o]=[mul(getNumer(r),getDenom(o)),mul(getNumer(o),getDenom(r))]}if(eq(o,q))throw new d(`Fraction(${r}, 0)`);if(F(a)){let t=S(K,[r,o]);lt(o,q)&&(t=t.nb$negative()),r=floorDiv(r,t),o=floorDiv(o,t)}return u.$num=r,u.$den=o,u},$r(){const t=E(this.ob$type,h.$name);return new h(`${t}(${this.$num}, ${this.$den})`)},tp$str(){return eq(this.$den,x)?new h(this.$num):new h(`${this.$num}/${this.$den}`)},tp$hash(){const t=p(this.$den,sub(G,z),G);let e;e=F(t)?mod(mul(_(this.$num),t),G):V;let n=ge(this,q)?e:e.nb$negative();return n=n.tp$hash(),-1===n?-2:n},tp$richcompare(t,e){const op=(t,n)=>A(t,n,e);if("Eq"===e||"NotEq"==e){if(t.ob$type===n){const n=eq(this.$num,t)&&eq(this.$den,x);return"Eq"===e?n:!n}if(t instanceof ot||t instanceof n){const n=eq(this.$num,getNumer(t))&&eq(this.$den,getDenom(t));return"Eq"===e?n:!n}t instanceof u&&eq(t.tp$getattr(new h("imag")),q)&&(t=t.tp$getattr(new h("real")))}return isRational(t)?op(mul(getNumer(this),getDenom(t)),mul(getDenom(this),getNumer(t))):t instanceof $?Number.isFinite(t.valueOf())?op(this,S(this.tp$getattr(C),[t])):op(new $(0),t):o},tp$as_number:!0,nb$add:Z,nb$reflected_add:H,nb$subtract:J,nb$reflected_subtract:Q,nb$multiply:U,nb$reflected_multiply:W,nb$divide:X,nb$reflected_divide:Y,nb$floor_divide:tt,nb$reflected_floor_divide:et,nb$divmod:nt,nb$reflected_divmod:it,nb$remainder:rt,nb$reflected_remainder:st,nb$power(t){if(isRational(t)){if(eq(getDenom(t),x)){let e=getNumer(t);return ge(e,q)?S(ot,[pow(this.$num,e),pow(this.$den,e)],["_normalize",r]):ge(this.$num,q)?(e=e.nb$negative(),S(ot,[pow(this.$den,e),pow(this.$num,e)],["_normalize",r])):(e=e.nb$negative(),S(ot,[pow(this.$den.nb$negative(),e),pow(this.$num.nb$negative(),e)],["_normalize",r]))}return pow(this.nb$float(),S($,[t]))}return pow(this.nb$float(),t)},nb$reflected_power(t){return eq(this.$den,x)&&ge(this.$num,q)?pow(t,this.$num):isRational(t)?pow(new ot(getNumer(t),getDenom(t)),this):eq(this.$den,x)?pow(t,this.$num):pow(t,this.nb$float())},nb$positive(){return new ot(this.$num,this.$den)},nb$negative(){return new ot(this.$num.nb$negative(),this.$den)},nb$abs(){return new ot(this.$num.nb$abs(),this.$den)},nb$bool(){return this.$num.nb$bool()},nb$float(){return div(this.$num,this.$den)}},methods:{as_integer_ratio:{$meth(){return new a([this.$num,this.$den])},$flags:L},limit_denominator:{$meth(t){if(lt(t,x))throw new f("max_denominator should be at least 1");if(ge(t,this.$den))return S(ot,[this]);let[e,n,i,r]=[q,x,x,q],s=this.$num,o=this.$den;for(;;){const a=floorDiv(s,o),$=add(n,mul(a,r));if(lt(t,$))break;[e,n,i,r]=[i,r,add(e,mul(a,i)),$],[s,o]=[o,sub(s,mul(a,o))]}const a=floorDiv(sub(t,n),r),$=S(ot,[add(e,mul(a,i)),add(n,mul(a,r))]),u=S(ot,[i,r]);return ge(_(sub($,this)),_(sub(u,this)))?u:$},$flags:{NamedArgs:["max_denominator"],Defaults:[new n(1e6)]}},__trunc__:{$meth(){return lt(this.$num,q)?floorDiv(this.$num.nb$negative(),this.$den).nb$negative():floorDiv(this.$num,this.$den)},$flags:L},__floor__:{$meth(){return floorDiv(this.$num,this.$den)},$flags:L},__ceil__:{$meth(){return floorDiv(this.$num.nb$negative(),this.$den).nb$negative()},$flags:L},__round__:{$meth(t){if(t===s){const[t,e]=divmod(this.$num,this.$den).valueOf(),n=mul(e,z);return lt(n,this.$den)?t:lt(this.$den,n)?add(t,x):eq(mod(t,z),q)?t:add(t,x)}const e=pow(I,_(t));return lt(q,t)?S(ot,[b(mul(this,e)),e]):S(ot,[mul(b(div(this,e)),e)])},$flags:{NamedArgs:["ndigits"],Defaults:[s]}},__reduce__:{$meth(){return new a([this.ob$type,new a([new h(this)])])},$flags:L},__copy__:{$meth(){return this.ob$type===ot?this:S(this.ob$type,[this.$num,this.$den])},$flags:L},__deepcopy__:{$meth(t){return this.ob$type===ot?this:S(this.ob$type,[this.$num,this.$den])},$flags:P}},classmethods:{from_float:{$meth(t){if(t instanceof n)return S(this,[t]);if(t instanceof $){const[e,n]=S(t.tp$getattr(B)).valueOf();return S(this,[e,n])}throw new m(`${k(this)}.from_float() only takes floats, not ${M(t)}, (${k(t)})`)},$flags:P},from_decimal:{$meth(){throw c("from_decimal not yet implemented in SKulpt")},$flags:P}},getsets:{numerator:{$get(){return this.$num}},denominator:{$get(){return this.$den}},_numerator:{$get(){return this.$num},$set(t){this.$num=t}},_denominator:{$get(){return this.$den},$set(t){this.$den=t}}}}),at=new a([n,ot]),isRational=t=>F(l(t,at));return O}',"src/lib/functools.js":'function $builtinmodule(){const t={};return Sk.misceval.chain(Sk.importModule("collections",!1,!0),(e=>(t._namedtuple=e.$d.namedtuple,functools_mod(t))))}function functools_mod(t){const{object:e,int_:n,str:r,list:s,tuple:a,dict:i,none:{none$:o},bool:{false$:c},NotImplemented:{NotImplemented$:_},bool:l,func:p,method:u,TypeError:h,RuntimeError:d,ValueError:f,NotImplementedError:m,AttributeErrror:w,OverflowError:g,checkNone:$,checkBool:y,checkCallable:k,checkClass:b}=Sk.builtin,{callsimArray:x,callsimOrSuspendArray:A,iterFor:S,chain:E,isIndex:v,asIndexSized:N,isTrue:P,richCompareBool:j,objectRepr:R}=Sk.misceval,{remapToPy:z}=Sk.ffi,{buildNativeClass:q,setUpModuleMethods:T,keywordArrayFromPyDict:I,keywordArrayToPyDict:D,objectHash:C,lookupSpecial:M,copyKeywordsToNamedArgs:W,typeName:F,iter:U,gattr:O}=Sk.abstr,{getSetDict:G,getAttr:B,setAttr:K}=Sk.generic;function proxyFail(t){return new p((()=>{throw new m(t+" is not yet implemented in skulpt")}))}Object.assign(t,{__name__:new r("functools"),__doc__:new r("Tools for working with functions and callable objects"),__all__:new s(["update_wrapper","wraps","WRAPPER_ASSIGNMENTS","WRAPPER_UPDATES","total_ordering","cmp_to_key","cache","lru_cache","reduce","partial","partialmethod","singledispatch","singledispatchmethod","cached_property"].map((t=>new r(t)))),WRAPPER_ASSIGNMENTS:new a(["__module__","__name__","__qualname__","__doc__","__annotations__"].map((t=>new r(t)))),WRAPPER_UPDATES:new a([new r("__dict__")]),singledispatch:proxyFail("singledispatch"),singledispatchmethod:proxyFail("singledispatchmethod"),cached_property:proxyFail("cached_property")});const L=new r("cache_parameters");function _lru_cache(e,n){if(n||(n=c),v(e))(e=N(e,g))<0&&(e=0);else{if(k(e)&&y(n)){const r=e,s=new V(r,e=128,n);return s.tp$setattr(L,new p((()=>z({maxsize:e,typed:n})))),A(t.update_wrapper,[s,r])}if(!$(e))throw new h("Expected first argument to be an integer, a callable, or None")}return new p((r=>{const s=new V(r,e,n);return s.tp$setattr(L,new p((()=>z({maxsize:e,typed:n})))),A(t.update_wrapper,[s,r])}))}const H=t._CacheInfo=x(t._namedtuple,["CacheInfo",["hits","misses","maxsize","currsize"]].map((t=>z(t))),["module",new r("functools")]),V=q("functools._lru_cache_wrapper",{constructor:function _lru_cache_wrapper(t,e,n,r){if(!k(t))throw new h("the first argument must be callable");let s;if($(e))s=infinite_lru_cache_wrapper,e=-1;else{if(!v(e))throw new h("maxsize should be integer or None");(e=N(e,g))<0&&(e=0),s=0===e?uncached_lru_cache_wrapper:bounded_lru_cache_wrapper}this.root={},this.root.prev=this.root.next=this.root,this.wrapper=s,this.maxsize=e,this.typed=n,this.cache=new i([]),this.func=t,this.misses=this.hits=0,this.$d=new i([])},slots:{tp$new(t,e){const[n,r,s,a]=W("_lru_cache_wrapper",["user_function","maxsize","typed","cache_info_type"],t,e);return new V(n,r,s,a)},tp$call(t,e){return this.wrapper(t,e)},tp$descr_get(t,e){return null===t?this:new u(this,t)},tp$doc:"Create a cached callable that wraps another function.\\n\\nuser_function: the function being cached\\n\\nmaxsize: 0 for no caching\\n None for unlimited cache size\\n n for a bounded cache\\n\\ntyped: False cache f(3) and f(3.0) as identical calls\\n True cache f(3) and f(3.0) as distinct calls\\n\\ncache_info_type: namedtuple class with the fields:\\n hits misses currsize maxsize\\n"},methods:{cache_info:{$meth(){return A(H,[this.hits,this.misses,-1===this.maxsize?o:this.maxsize,this.cache.get$size()].map((t=>z(t))))},$flags:{NoArgs:!0},$doc:"Report cache statistics"},cache_clear:{$meth(){return this.hits=this.misses=0,this.root={},this.root.next=this.root.prev=this.root,A(this.cache.tp$getattr(new r("clear"),!0))},$flags:{NoArgs:!0},$doc:"Clear the cache and cache statistics"},__deepcopy__:{$meth(t){return this},$flags:{OneArg:!0}},__copy__:{$meth(){return this},$flags:{NoArgs:!0}}},getsets:{__dict__:G}});function infinite_lru_cache_wrapper(t,e){const n=_make_key(t,e,this.typed),r=this.cache.mp$lookup(n);return void 0!==r?(this.hits++,r):(this.misses++,E(A(this.func,t,e),(t=>(this.cache.mp$ass_subscript(n,t),t))))}function uncached_lru_cache_wrapper(t,e){return this.misses++,A(this.func,t,e)}function bounded_lru_cache_wrapper(t,e){const n=_make_key(t,e,this.typed),r=this.cache.mp$lookup(n);if(void 0!==r){const{result:t}=r;return lru_cache_extract_link(r),lru_cache_append_link(this,r),this.hits++,t}return this.misses++,E(A(this.func,t,e),(t=>{if(void 0!==this.cache.mp$lookup(n))return t;if(this.cache.get$size()t.ob$type)),...i.map((t=>t.ob$type)));else if(1===s.length&&X.has(s[0].ob$type))return s[0];return new J(s)}function partial_adjust_args_kwargs(t,e){if(t=this.arg_arr.concat(t),e){e=D(e);const t=this.kwdict.dict$copy();t.dict$merge(e),e=I(t)}else e=I(this.kwdict);return{args:t,kwargs:e}}function partial_new(t,e){if(t.length<1)throw new h("type \'partial\' takes at least 1 argument");let n,r,s=t.shift();if(s instanceof this.sk$builtinBase){const t=s;s=t.fn,n=t.arg_arr,r=t.kwdict}this.check$func(s),n&&(t=n.concat(t));let a=D(e=e||[]);if(r){const t=r.dict$copy();t.dict$merge(a),a=t}if(this.sk$builtinBase===this.constructor)return new this.constructor(s,t,a);{const e=new this.constructor;return this.sk$builtinBase.call(e,s,t,a),e}}function partial_repr(){if(this.in$repr)return new r("...");this.in$repr=!0;const t=[R(this.fn)];return this.arg_arr.forEach((e=>{t.push(R(e))})),this.kwdict.$items().forEach((([e,n])=>{t.push(e.toString()+"="+R(n))})),this.in$repr=!1,new r(this.tp$name+"("+t.join(", ")+")")}t.partial=q("functools.partial",{constructor:function partial(t,e,n){this.fn=t,this.arg_arr=e,this.arg_tup=new a(e),this.kwdict=n,this.in$repr=!1,this.$d=new i([])},slots:{tp$new:partial_new,tp$call(t,e){return({args:t,kwargs:e}=this.adj$args_kws(t,e)),this.fn.tp$call(t,e)},tp$doc:"partial(func, *args, **keywords) - new function with partial application\\n of the given arguments and keywords.\\n",$r:partial_repr,tp$getattr:B,tp$setattr:K},getsets:{func:{$get(){return this.fn},$doc:"function object to use in future partial calls"},args:{$get(){return this.arg_tup},$doc:"tuple of arguments to future partial calls"},keywords:{$get(){return this.kwdict},$doc:"dictionary of keyword arguments to future partial calls"},__dict__:G},methods:{},classmethods:Sk.generic.classGetItem,proto:{adj$args_kws:partial_adjust_args_kwargs,check$func(t){if(!k(t))throw new h("the first argument must be callable")}}}),t.partialmethod=q("functools.partialmethod",{constructor:function partialmethod(t,e,n){this.fn=t,this.arg_arr=e,this.arg_tup=new a(e),this.kwdict=n},slots:{tp$new:partial_new,tp$doc:"Method descriptor with partial application of the given arguments\\n and keywords.\\n\\n Supports wrapping existing descriptors and handles non-descriptor\\n callables as instance methods.\\n ",$r:partial_repr,tp$descr_get(e,n){let r;if(this.fn.tp$descr_get){const s=this.fn.tp$descr_get(e,n);if(s!==this.fn){if(!k(s))throw new h("type \'partial\' requires a callable");r=new t.partial(s,this.arg_arr.slice(0),this.kwdict.dict$copy());const e=M(s,this.str$self);void 0!==e&&r.tp$setattr(this.str$self,e)}}return void 0===r&&(r=this.make$unbound().tp$descr_get(e,n)),r}},methods:{_make_unbound_method:{$meth(){return this.make$unbound()},$flags:{NoArgs:!0}}},classmethods:Sk.generic.classGetItem,getsets:{func:{$get(){return this.fn},$doc:"function object to use in future partial calls"},args:{$get(){return this.arg_tup},$doc:"tuple of arguments to future partial calls"},keywords:{$get(){return this.kwdict},$doc:"dictionary of keyword arguments to future partial calls"},__dict__:G},proto:{str$self:new r("__self__"),make$unbound(){const t=this;function _method(e,n){const r=e.shift();return({args:e,kwargs:n}=t.adj$args_kws(e,n)),e.unshift(r),A(t.fn,e,n)}return _method.co_fastcall=!0,new p(_method)},adj$args_kws:partial_adjust_args_kwargs,check$func(t){if(!k(t)&&void 0===t.tp$descr_get)throw new h(R(t)+" is not callable or a descriptor")}}});const Y={__lt__:r.$lt,__le__:r.$le,__gt__:r.$gt,__ge__:r.$ge};function from_slot(t,e){const n=Y[t];function compare_slot(t,r){let s=x(t.tp$getattr(n),[r]);return s===_?s:(s=P(s),new l(e(s,t,r)))}return compare_slot.co_name=n,compare_slot}const Z=from_slot("__lt__",((t,e,n)=>!t&&j(e,n,"NotEq"))),tt=from_slot("__lt__",((t,e,n)=>t||j(e,n,"Eq"))),et=from_slot("__lt__",(t=>!t)),nt=from_slot("__le__",((t,e,n)=>!t||j(e,n,"Eq"))),rt=from_slot("__le__",((t,e,n)=>t&&j(e,n,"NotEq"))),st=from_slot("__le__",(t=>!t)),at=from_slot("__gt__",((t,e,n)=>!t&&j(e,n,"NotEq"))),it=from_slot("__gt__",((t,e,n)=>t||j(e,n,"Eq"))),ot=from_slot("__gt__",(t=>!t)),ct=from_slot("__ge__",((t,e,n)=>!t||j(e,n,"Eq"))),_t=from_slot("__ge__",((t,e,n)=>t&&j(e,n,"NotEq"))),lt=from_slot("__ge__",(t=>!t)),pt={__lt__:{__gt__:new p(Z),__le__:new p(tt),__ge__:new p(et)},__le__:{__ge__:new p(nt),__lt__:new p(rt),__gt__:new p(st)},__gt__:{__lt__:new p(at),__ge__:new p(it),__le__:new p(ot)},__ge__:{__le__:new p(ct),__gt__:new p(_t),__lt__:new p(lt)}},ut={__lt__:"ob$lt",__le__:"ob$le",__gt__:"ob$gt",__ge__:"ob$ge"};const ht=new n(0),dt=q("functools.KeyWrapper",{constructor:function(t,e){this.cmp=t,this.obj=e},slots:{tp$call(t,e){const[n]=W("K",["obj"],t,e,[]);return new dt(this.cmp,n)},tp$richcompare(t,e){if(!(t instanceof dt))throw new h("other argument must be K instance");const n=this.obj,r=t.obj;if(!n||!r)throw new w("object");const s=A(this.cmp,[n,r]);return E(s,(t=>j(t,ht,e)))},tp$getattr:B,tp$hash:o},getsets:{obj:{$get(){return this.obj||o},$set(t){this.obj=t},$doc:"Value wrapped by a key function."}}}),ft=new r("update"),mt=new r("__wrapped__");return T("functools",t,{cache:{$meth:function cache(t){return A(_lru_cache(o),[t])},$flags:{OneArg:!0},$doc:\'Simple lightweight unbounded cache. Sometimes called "memoize".\',$textsig:"($module, user_function, /)"},lru_cache:{$meth:_lru_cache,$flags:{NamedArgs:["maxsize","typed"],Defaults:[new n(128),c]},$doc:"Least-recently-used cache decorator.\\n\\nIf *maxsize* is set to None, the LRU features are disabled and the cache\\ncan grow without bound.\\n\\nIf *typed* is True, arguments of different types will be cached separately.\\nFor example, f(3.0) and f(3) will be treated as distinct calls with\\ndistinct results.\\n\\nArguments to the cached function must be hashable.\\n\\nView the cache statistics named tuple (hits, misses, maxsize, currsize)\\nwith f.cache_info(). Clear the cache and statistics with f.cache_clear().\\nAccess the underlying function with f.__wrapped__.\\n\\nSee: http://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU)"},cmp_to_key:{$meth:function cmp_to_key(t){return new dt(t)},$flags:{NamedArgs:["mycmp"],Defaults:[]},$doc:"Convert a cmp= function into a key= function.",$textsig:"($module, cmp, /)"},reduce:{$meth:function reduce(t,e,n){const r=U(e);let s;return n=n||r.tp$iternext(!0),E(n,(e=>{if(void 0===e)throw new h("reduce() of empty sequence with no initial value");return s=e,S(r,(e=>E(A(t,[s,e]),(t=>{s=t}))))}),(()=>s))},$flags:{MinArgs:2,MaxArgs:3},$doc:"reduce(function, sequence[, initial]) -> value\\n\\nApply a function of two arguments cumulatively to the items of a sequence,\\nfrom left to right, so as to reduce the sequence to a single value.\\nFor example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates\\n((((1+2)+3)+4)+5). If initial is present, it is placed before the items\\nof the sequence in the calculation, and serves as a default when the\\nsequence is empty.",$textsig:"($module, function, sequence[, initial], /)"},total_ordering:{$meth:function total_ordering(t){const n=[];if(!b(t))throw new h("total ordering only supported for type objects not \'"+F(t)+"\'");if(Object.keys(pt).forEach((r=>{const s=ut[r];t.prototype[s]!==e.prototype[s]&&n.push(r)})),!n.length)throw new f("must define atleast one ordering operation: <, >, <=, >=");const r=n[0];return Object.entries(pt[r]).forEach((([e,r])=>{n.includes(e)||t.tp$setattr(Y[e],r)})),t},$flags:{OneArg:!0},$doc:"Class decorator that fills in missing ordering methods"},update_wrapper:{$meth:function update_wrapper(t,e,n,r){let s,a=U(n);for(let i=a.tp$iternext();void 0!==i;i=a.tp$iternext())void 0!==(s=e.tp$getattr(i))&&t.tp$setattr(i,s);a=U(r);for(let o=a.tp$iternext();void 0!==o;o=a.tp$iternext()){s=e.tp$getattr(o)||new i([]);const n=O(t,o),r=O(n,ft);x(r,[s])}return t.tp$setattr(mt,e),t},$flags:{NamedArgs:["wrapper","wrapped","assigned","updated"],Defaults:[t.WRAPPER_ASSIGNMENTS,t.WRAPPER_UPDATES]},$doc:"Update a wrapper function to look like the wrapped function\\n\\n wrapper is the function to be updated\\n wrapped is the original function\\n assigned is a tuple naming the attributes assigned directly\\n from the wrapped function to the wrapper function (defaults to\\n functools.WRAPPER_ASSIGNMENTS)\\n updated is a tuple naming the attributes of the wrapper that\\n are updated with the corresponding attribute from the wrapped\\n function (defaults to functools.WRAPPER_UPDATES)\\n ",$textsig:"($module, /, wrapper, wrapped, assigned=(\'__module__\', \'__name__\', \'__qualname__\', \'__doc__\', \'__annotations__\'), updated=(\'__dict__\',))"},wraps:{$meth:function wraps(e,n,r){const s=["wrapped",e,"assigned",n,"updated",r];return A(t.partial,[t.update_wrapper],s)},$flags:{NamedArgs:["wrapped","assigned","updated"],Defaults:[t.WRAPPER_ASSIGNMENTS,t.WRAPPER_UPDATES]},$doc:"Decorator factory to apply update_wrapper() to a wrapper function\\n\\n Returns a decorator that invokes update_wrapper() with the decorated\\n function as the wrapper argument and the arguments to wraps() as the\\n remaining arguments. Default arguments are as for update_wrapper().\\n This is a convenience function to simplify applying partial() to\\n update_wrapper().\\n ",$textsig:"($module, /, wrapped, assigned=(\'__module__\', \'__name__\', \'__qualname__\', \'__doc__\', \'__annotations__\'), updated=(\'__dict__\',))"}}),t}',"src/lib/image.js":'var ImageMod,$builtinmodule;ImageMod||((ImageMod={}).canvasLib=[]),$builtinmodule=function(e){var n,t,i,a,u,l,r,s={__name__:new Sk.builtin.str("image")};return s.Image=Sk.misceval.buildClass(s,(function(e,n){u=function(e){e.width=e.image.width,e.height=e.image.height,e.delay=0,e.updateCount=0,e.updateInterval=1,e.lastx=0,e.lasty=0,e.canvas=document.createElement("canvas"),e.canvas.height=e.height,e.canvas.width=e.width,e.ctx=e.canvas.getContext("2d"),e.ctx.drawImage(e.image,0,0),e.imagedata=e.ctx.getImageData(0,0,e.width,e.height)},n.__init__=new Sk.builtin.func((function(e,n){var t;Sk.builtin.pyCheckArgsLen("__init__",arguments.length,2,2);try{e.image=document.getElementById(Sk.ffi.remapToJs(n)),u(e)}catch(i){e.image=null}if(null==e.image)return(t=new Sk.misceval.Suspension).resume=function(){if(t.data.error)throw new Sk.builtin.IOError(t.data.error.message)},t.data={type:"Sk.promise",promise:new Promise((function(t,i){var a=new Image;a.crossOrigin="",a.onerror=function(){i(Error("Failed to load URL: "+a.src))},a.onload=function(){e.image=this,u(e),t()},a.src=r(n)}))},t})),r=function(e){var n,t,i="function"==typeof Sk.imageProxy?Sk.imageProxy:function(e){return(n=document.createElement("a")).href=t,window.location.host!==n.host?Sk.imageProxy+"/"+e:e};return t=i(t=Sk.ffi.remapToJs(e))},l=function(e,n,t){if(n<0||t<0||n>=e.width||t>=e.height)throw new Sk.builtin.ValueError("Pixel index out of range.")};var setdelay=function(e,n,t){var i;Sk.builtin.pyCheckArgsLen("setdelay",arguments.length,2,3),e.delay=Sk.ffi.remapToJs(n),i=Sk.builtin.asnum$(t),e.updateInterval=i||1};n.set_delay=new Sk.builtin.func(setdelay),n.setDelay=new Sk.builtin.func(setdelay);var getpixels=function(e){var n,t=[];for(Sk.builtin.pyCheckArgsLen("getpixels",arguments.length,1,1),n=0;n=e.width?e.lastCtx.putImageData(e.imagedata,e.lastUlx,e.lastUly,0,e.lasty,e.width,2):e.lasty+e.updateInterval>=e.height?e.lastCtx.putImageData(e.imagedata,e.lastUlx,e.lastUly,e.lastx,0,2,e.height):e.lastCtx.putImageData(e.imagedata,e.lastUlx,e.lastUly,Math.min(n,e.lastx),Math.min(t,e.lasty),Math.max(Math.abs(n-e.lastx),1),Math.max(Math.abs(t-e.lasty),1)),e.lastx=n,e.lasty=t,e.delay>0?window.setTimeout(i,e.delay):i()):i()}))},i};var setpixel=function(e,n,t,i){var u;return Sk.builtin.pyCheckArgsLen("setpixel",arguments.length,4,4),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),l(e,n,t),u=4*t*e.width+4*n,e.imagedata.data[u]=Sk.builtin.asnum$(Sk.misceval.callsimArray(i.getRed,[i])),e.imagedata.data[u+1]=Sk.builtin.asnum$(Sk.misceval.callsimArray(i.getGreen,[i])),e.imagedata.data[u+2]=Sk.builtin.asnum$(Sk.misceval.callsimArray(i.getBlue,[i])),e.imagedata.data[u+3]=255,a(e,n,t)};n.set_pixel=new Sk.builtin.func(setpixel),n.setPixel=new Sk.builtin.func(setpixel);var setpixelat=function(e,n,t){var i,u,r;return Sk.builtin.pyCheckArgsLen("setpixelat",arguments.length,3,3),i=(n=Sk.builtin.asnum$(n))%e.image.width,u=Math.floor(n/e.image.width),l(e,i,u),r=4*u*e.width+4*i,e.imagedata.data[r]=Sk.builtin.asnum$(Sk.misceval.callsimArray(t.getRed,[t])),e.imagedata.data[r+1]=Sk.builtin.asnum$(Sk.misceval.callsimArray(t.getGreen,[t])),e.imagedata.data[r+2]=Sk.builtin.asnum$(Sk.misceval.callsimArray(t.getBlue,[t])),e.imagedata.data[r+3]=255,a(e,i,u)};n.set_pixel_at=new Sk.builtin.func(setpixelat),n.setPixelAt=new Sk.builtin.func(setpixelat);var updatepixel=function(e,n){var t,i,u;return Sk.builtin.pyCheckArgsLen("updatepixel",arguments.length,2,2),t=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getX,[n])),i=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getY,[n])),l(e,t,i),u=4*i*e.width+4*t,e.imagedata.data[u]=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getRed,[n])),e.imagedata.data[u+1]=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getGreen,[n])),e.imagedata.data[u+2]=Sk.builtin.asnum$(Sk.misceval.callsimArray(n.getBlue,[n])),e.imagedata.data[u+3]=255,a(e,t,i)};n.update_pixel=new Sk.builtin.func(updatepixel),n.updatePixel=new Sk.builtin.func(updatepixel);var getheight=function(e){return Sk.builtin.pyCheckArgsLen("getheight",arguments.length,1,1),new Sk.builtin.int_(e.height)};n.get_height=new Sk.builtin.func(getheight),n.getHeight=new Sk.builtin.func(getheight);var getwidth=function(e,n){return Sk.builtin.pyCheckArgsLen("getwidth",arguments.length,1,1),new Sk.builtin.int_(e.width)};n.get_width=new Sk.builtin.func(getwidth),n.getWidth=new Sk.builtin.func(getwidth),n.__getattr__=new Sk.builtin.func((function(e,n){return"height"===(n=Sk.ffi.remapToJs(n))?Sk.builtin.assk$(e.height):"width"===n?Sk.builtin.assk$(e.width):void 0})),n.__setattr__=new Sk.builtin.func((function(e,n,t){throw"height"===(n=Sk.ffi.remapToJs(n))||"width"===n?new Sk.builtin.Exception("Cannot change height or width they can only be set on creation"):new Sk.builtin.Exception("Unknown attribute: "+n)})),n.draw=new Sk.builtin.func((function(e,n,t,i){var a;return Sk.builtin.pyCheckArgsLen("draw",arguments.length,2,4),(a=new Sk.misceval.Suspension).resume=function(){return Sk.builtin.none.none$},a.data={type:"Sk.promise",promise:new Promise((function(a,u){var l;n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),i=Sk.builtin.asnum$(i),l=Sk.misceval.callsimArray(n.getWin,[n]).getContext("2d"),void 0===t&&(t=0,i=0),e.lastUlx=t,e.lastUly=i,e.lastCtx=l,l.putImageData(e.imagedata,t,i),e.delay>0?window.setTimeout(a,e.delay):window.setTimeout(a,200)}))},a}))}),"Image",[]),i=function(e,n){n.__init__=new Sk.builtin.func((function(e,n,t){Sk.builtin.pyCheckArgsLen("__init__",arguments.length,3,3),e.width=Sk.builtin.asnum$(n),e.height=Sk.builtin.asnum$(t),e.canvas=document.createElement("canvas"),e.ctx=e.canvas.getContext("2d"),e.canvas.height=e.height,e.canvas.width=e.width,e.imagedata=e.ctx.getImageData(0,0,e.width,e.height)}))},s.EmptyImage=Sk.misceval.buildClass(s,i,"EmptyImage",[s.Image]),t=function(e,n){n.__init__=new Sk.builtin.func((function(e,n,t,i,a,u){Sk.builtin.pyCheckArgsLen("__init__",arguments.length,4,6),e.red=Sk.builtin.asnum$(n),e.green=Sk.builtin.asnum$(t),e.blue=Sk.builtin.asnum$(i),e.x=Sk.builtin.asnum$(a),e.y=Sk.builtin.asnum$(u)}));var getred=function(e){return Sk.builtin.pyCheckArgsLen("getred",arguments.length,1,1),Sk.builtin.assk$(e.red)};n.get_red=new Sk.builtin.func(getred),n.getRed=new Sk.builtin.func(getred);var getgreen=function(e){return Sk.builtin.pyCheckArgsLen("getgreen",arguments.length,1,1),Sk.builtin.assk$(e.green)};n.get_green=new Sk.builtin.func(getgreen),n.getGreen=new Sk.builtin.func(getgreen);var getblue=function(e){return Sk.builtin.pyCheckArgsLen("getblue",arguments.length,1,1),Sk.builtin.assk$(e.blue)};n.get_blue=new Sk.builtin.func(getblue),n.getBlue=new Sk.builtin.func(getblue);var getx=function(e){return Sk.builtin.pyCheckArgsLen("getx",arguments.length,1,1),Sk.builtin.assk$(e.x)};n.get_x=new Sk.builtin.func(getx),n.getX=new Sk.builtin.func(getx);var gety=function(e){return Sk.builtin.pyCheckArgsLen("gety",arguments.length,1,1),Sk.builtin.assk$(e.y)};n.get_y=new Sk.builtin.func(gety),n.getY=new Sk.builtin.func(gety);var setred=function(e,n){Sk.builtin.pyCheckArgsLen("setred",arguments.length,2,2),e.red=Sk.builtin.asnum$(n)};n.set_red=new Sk.builtin.func(setred),n.setRed=new Sk.builtin.func(setred);var setgreen=function(e,n){Sk.builtin.pyCheckArgsLen("setgreen",arguments.length,2,2),e.green=Sk.builtin.asnum$(n)};n.set_green=new Sk.builtin.func(setgreen),n.setGreen=new Sk.builtin.func(setgreen);var setblue=function(e,n){Sk.builtin.pyCheckArgsLen("setblue",arguments.length,2,2),e.blue=Sk.builtin.asnum$(n)};n.set_blue=new Sk.builtin.func(setblue),n.setBlue=new Sk.builtin.func(setblue),n.__getattr__=new Sk.builtin.func((function(e,n){return"red"===(n=Sk.ffi.remapToJs(n))?Sk.builtin.assk$(e.red):"green"===n?Sk.builtin.assk$(e.green):"blue"===n?Sk.builtin.assk$(e.blue):void 0})),n.__setattr__=new Sk.builtin.func((function(e,n,t){"red"!==(n=Sk.ffi.remapToJs(n))&&"green"!==n&&"blue"!==n||(e[n]=Sk.builtin.asnum$(t))}));var setx=function(e,n){Sk.builtin.pyCheckArgsLen("setx",arguments.length,2,2),e.x=Sk.builtin.asnum$(n)};n.set_x=new Sk.builtin.func(setx),n.setX=new Sk.builtin.func(setx);var sety=function(e,n){Sk.builtin.pyCheckArgsLen("sety",arguments.length,2,2),e.y=Sk.builtin.asnum$(n)};n.set_y=new Sk.builtin.func(sety),n.setY=new Sk.builtin.func(sety),n.__getitem__=new Sk.builtin.func((function(e,n){return 0===(n=Sk.builtin.asnum$(n))?e.red:1==n?e.green:2==n?e.blue:void 0})),n.__str__=new Sk.builtin.func((function(e){return Sk.ffi.remapToPy("["+e.red+","+e.green+","+e.blue+"]")})),n.getColorTuple=new Sk.builtin.func((function(e,n,t){})),n.setRange=new Sk.builtin.func((function(e,n){e.max=Sk.builtin.asnum$(n)}))},s.Pixel=Sk.misceval.buildClass(s,t,"Pixel",[]),n=function(e,n){n.__init__=new Sk.builtin.func((function(e,n,t){var i,a,u;Sk.builtin.pyCheckArgsLen("__init__",arguments.length,1,3),void 0===(i=ImageMod.canvasLib[Sk.canvas])?(a=document.createElement("canvas"),u=document.getElementById(Sk.canvas),e.theScreen=a,u.appendChild(a),ImageMod.canvasLib[Sk.canvas]=a,ImageMod.canvasLib[Sk.canvas]=e.theScreen):(e.theScreen=i,e.theScreen.height=e.theScreen.height),void 0!==n?(e.theScreen.height=t.v,e.theScreen.width=n.v):(Sk.availableHeight&&(e.theScreen.height=Sk.availableHeight),Sk.availableWidth&&(e.theScreen.width=Sk.availableWidth)),e.theScreen.style.display="block"})),n.getWin=new Sk.builtin.func((function(e){return e.theScreen})),n.exitonclick=new Sk.builtin.func((function(e){var n=e.theScreen.id;e.theScreen.onclick=function(){document.getElementById(n).style.display="none",document.getElementById(n).onclick=null,delete ImageMod.canvasLib[n]}}))},s.ImageWin=Sk.misceval.buildClass(s,n,"ImageWin",[]),s};',"src/lib/itertools.js":'var $builtinmodule=function(t){var e={};function combinationsNew(t,e,i){let r,s;[r,s]=Sk.abstr.copyKeywordsToNamedArgs(t.tp$name,["iterable","r"],e,i,[]);const n=Sk.misceval.arrayFromIterable(r);if(s=Sk.misceval.asIndexSized(s,Sk.builtin.OverFlowError),s<0)throw new Sk.builtin.ValueError("r must be non-negative");if(this===t)return new t.constructor(n,s);{const e=new this.constructor;return t.constructor.call(e,n,s),e}}return e.accumulate=Sk.abstr.buildIteratorClass("itertools.accumulate",{constructor:function accumulate(t,e,i){this.iter=t,this.func=e,this.total=i,this.tp$iternext=()=>(this.total=Sk.builtin.checkNone(this.total)?this.iter.tp$iternext():this.total,this.tp$iternext=this.constructor.prototype.tp$iternext,this.total)},iternext(t){let e=this.iter.tp$iternext();if(void 0!==e)return this.total=Sk.misceval.callsimArray(this.func,[this.total,e]),this.total},slots:{tp$doc:"accumulate(iterable[, func, initial]) --\\x3e accumulate object\\n\\nReturn series of accumulated sums (or other binary function results).",tp$new(t,i){Sk.abstr.checkArgsLen("accumulate",t,0,2);let[r,s,n]=Sk.abstr.copyKeywordsToNamedArgs("accumulate",["iterable","func","initial"],t,i,[Sk.builtin.none.none$,Sk.builtin.none.none$]);if(r=Sk.abstr.iter(r),s=Sk.builtin.checkNone(s)?new Sk.builtin.func(((t,e)=>Sk.abstr.numberBinOp(t,e,"Add"))):s,this===e.accumulate.prototype)return new e.accumulate(r,s,n);{const t=new this.constructor;return e.accumulate.call(t,r,s,n),t}}}}),e.chain=Sk.abstr.buildIteratorClass("itertools.chain",{constructor:function chain(t){this.iterables=t,this.current_it=null,this.tp$iternext=()=>{if(this.tp$iternext=this.constructor.prototype.tp$iternext,this.current_it=this.iterables.tp$iternext(),void 0!==this.current_it)return this.current_it=Sk.abstr.iter(this.current_it),this.tp$iternext();this.tp$iternext=()=>{}}},iternext(t){let e;for(;void 0===e;){if(e=this.current_it.tp$iternext(),void 0!==e)return e;if(this.current_it=this.iterables.tp$iternext(),void 0===this.current_it)return void(this.tp$iternext=()=>{});this.current_it=Sk.abstr.iter(this.current_it)}},slots:{tp$doc:"chain(*iterables) --\\x3e chain object\\n\\nReturn a chain object whose .__next__() method returns elements from the\\nfirst iterable until it is exhausted, then elements from the next\\niterable, until all of the iterables are exhausted.",tp$new(t,i){if(Sk.abstr.checkNoKwargs("chain",i),t=new Sk.builtin.tuple(t.slice(0)).tp$iter(),this===e.chain.prototype)return new e.chain(t);{const i=new this.constructor;return e.chain.call(i,t),i}}},classmethods:Object.assign({from_iterable:{$meth(t){const i=Sk.abstr.iter(t);return new e.chain(i)},$flags:{OneArg:!0},$doc:"chain.from_iterable(iterable) --\\x3e chain object\\n\\nAlternate chain() constructor taking a single iterable argument\\nthat evaluates lazily.",$textsig:null}},Sk.generic.classGetItem)}),e.combinations=Sk.abstr.buildIteratorClass("itertools.combinations",{constructor:function combinations(t,e){this.pool=t,this.r=e,this.indices=new Array(e).fill().map(((t,e)=>e)),this.n=t.length,this.tp$iternext=()=>{if(!(this.r>this.n))return this.tp$iternext=this.constructor.prototype.tp$iternext,new Sk.builtin.tuple(this.pool.slice(0,this.r))}},iternext(t){let e,i=!1;for(e=this.r-1;e>=0;e--)if(this.indices[e]!=e+this.n-this.r){i=!0;break}if(!i)return void(this.r=0);this.indices[e]++;for(let s=e+1;sthis.pool[t]));return new Sk.builtin.tuple(r)},slots:{tp$doc:"combinations(iterable, r) --\\x3e combinations object\\n\\nReturn successive r-length combinations of elements in the iterable.\\n\\ncombinations(range(4), 3) --\\x3e (0,1,2), (0,1,3), (0,2,3), (1,2,3)",tp$new(t,i){return combinationsNew.call(this,e.combinations.prototype,t,i)}}}),e.combinations_with_replacement=Sk.abstr.buildIteratorClass("itertools.combinations_with_replacement",{constructor:function combinations_with_replacement(t,e){this.pool=t,this.r=e,this.indices=new Array(e).fill(0),this.n=t.length,this.tp$iternext=()=>{if(this.r&&!this.n)return;this.tp$iternext=this.constructor.prototype.tp$iternext;const t=this.indices.map((t=>this.pool[t]));return new Sk.builtin.tuple(t)}},iternext(t){let e,i=!1;for(e=this.r-1;e>=0;e--)if(this.indices[e]!=this.n-1){i=!0;break}if(!i)return void(this.r=0);const r=this.indices[e]+1;for(let n=e;nthis.pool[t]));return new Sk.builtin.tuple(s)},slots:{tp$doc:"combinations_with_replacement(iterable, r) --\\x3e combinations_with_replacement object\\n\\nReturn successive r-length combinations of elements in the iterable\\nallowing individual elements to have successive repeats.\\ncombinations_with_replacement(\'ABC\', 2) --\\x3e AA AB AC BB BC CC",tp$new(t,i){return combinationsNew.call(this,e.combinations_with_replacement.prototype,t,i)}}}),e.compress=Sk.abstr.buildIteratorClass("itertools.compress",{constructor:function compress(t,e){this.data=t,this.selectors=e},iternext(){let t=this.data.tp$iternext(),e=this.selectors.tp$iternext();for(;void 0!==t&&void 0!==e;){if(Sk.misceval.isTrue(e))return t;t=this.data.tp$iternext(),e=this.selectors.tp$iternext()}},slots:{tp$doc:"compress(data, selectors) --\\x3e iterator over selected data\\n\\nReturn data elements corresponding to true selector elements.\\nForms a shorter iterator from selected data elements using the\\nselectors to choose the data elements.",tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("compress",["data","selectors"],t,i,[]),r=Sk.abstr.iter(r),s=Sk.abstr.iter(s),this===e.count.prototype)return new e.compress(r,s);{const t=new this.constructor;return e.compress.call(t,r,s),t}}}}),e.count=Sk.abstr.buildIteratorClass("itertools.count",{constructor:function count(t,e){this.start=t,this.step=e},iternext(){const t=this.start;return this.start=Sk.abstr.numberBinOp(this.start,this.step,"Add"),t},slots:{tp$doc:"count(start=0, step=1) --\\x3e count object\\n\\nReturn a count object whose .__next__() method returns consecutive values.\\nEquivalent to:\\n\\n def count(firstval=0, step=1):\\n x = firstval\\n while 1:\\n yield x\\n x += step\\n",tp$new(t,i){const[r,s]=Sk.abstr.copyKeywordsToNamedArgs("count",["start","step"],t,i,[new Sk.builtin.int_(0),new Sk.builtin.int_(1)]);if(!Sk.builtin.checkNumber(r)&&!Sk.builtin.checkComplex(r))throw new Sk.builtin.TypeError("a number is required");if(!Sk.builtin.checkNumber(s)&&!Sk.builtin.checkComplex(s))throw new Sk.builtin.TypeError("a number is required");if(this===e.count.prototype)return new e.count(r,s);{const t=new this.constructor;return e.count.call(t,r,s),t}},$r(){const t=Sk.misceval.objectRepr(this.start);let e=Sk.misceval.objectRepr(this.step);return e="1"===e?"":", "+e,new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+e+")")}}}),e.cycle=Sk.abstr.buildIteratorClass("itertools.cycle",{constructor:function cycle(t){this.iter=t,this.saved=[],this.consumed=!1,this.i=0,this.length},iternext(){let t;if(!this.consumed){if(t=this.iter.tp$iternext(),void 0!==t)return this.saved.push(t),t;if(this.consumed=!0,this.length=this.saved.length,!this.length)return}return t=this.saved[this.i],this.i=(this.i+1)%this.length,t},slots:{tp$doc:"cycle(iterable) --\\x3e cycle object\\n\\nReturn elements from the iterable until it is exhausted.\\nThen repeat the sequence indefinitely.",tp$new(t,i){Sk.abstr.checkOneArg("cycle",t,i);const r=Sk.abstr.iter(t[0]);if(this===e.cycle.prototype)return new e.cycle(r);{const t=new this.constructor;return e.cycle.call(t,r),t}}}}),e.dropwhile=Sk.abstr.buildIteratorClass("itertools.dropwhile",{constructor:function dropwhile(t,e){this.predicate=t,this.iter=e,this.passed},iternext(){let t=this.iter.tp$iternext();for(;void 0===this.passed&&void 0!==t;){const e=Sk.misceval.callsimArray(this.predicate,[t]);if(!Sk.misceval.isTrue(e))return this.passed=!0,t;t=this.iter.tp$iternext()}return t},slots:{tp$doc:"dropwhile(predicate, iterable) --\\x3e dropwhile object\\n\\nDrop items from the iterable while predicate(item) is true.\\nAfterwards, return every element until the iterable is exhausted.",tp$new(t,i){Sk.abstr.checkNoKwargs("dropwhile",i),Sk.abstr.checkArgsLen("dropwhile",t,2,2);const r=t[0],s=Sk.abstr.iter(t[1]);if(this===e.dropwhile.prototype)return new e.dropwhile(r,s);{const t=new this.constructor;return e.dropwhile.call(t,r,s),t}}}}),e.filterfalse=Sk.abstr.buildIteratorClass("itertools.filterfalse",{constructor:function filterfalse(t,e){this.predicate=t,this.iter=e},iternext(t){let e=this.iter.tp$iternext();if(void 0===e)return;let i=Sk.misceval.callsimArray(this.predicate,[e]);for(;Sk.misceval.isTrue(i);){if(e=this.iter.tp$iternext(),void 0===e)return;i=Sk.misceval.callsimArray(this.predicate,[e])}return e},slots:{tp$doc:"filterfalse(function or None, sequence) --\\x3e filterfalse object\\n\\nReturn those items of sequence for which function(item) is false.\\nIf function is None, return the items that are false.",tp$new(t,i){Sk.abstr.checkNoKwargs("filterfalse",i),Sk.abstr.checkArgsLen("filterfalse",t,2,2);const r=Sk.builtin.checkNone(t[0])?Sk.builtin.bool:t[0],s=Sk.abstr.iter(t[1]);if(this===e.filterfalse.prototype)return new e.filterfalse(r,s);{const t=new this.constructor;return e.filterfalse.call(t,r,s),t}}}}),e._grouper=Sk.abstr.buildIteratorClass("itertools._grouper",{constructor:function _grouper(t,e){this.groupby=t,this.tgtkey=t.tgtkey,this.id=t.id},iternext(t){const e=Sk.misceval.richCompareBool(this.groupby.currkey,this.tgtkey,"Eq");if(this.groupby.id===this.id&&e){let t=this.groupby.currval;return this.groupby.currval=this.groupby.iter.tp$iternext(),void 0!==this.groupby.currval&&(this.groupby.currkey=Sk.misceval.callsimArray(this.groupby.keyf,[this.groupby.currval])),t}}}),e.groupby=Sk.abstr.buildIteratorClass("itertools.groupby",{constructor:function groupby(t,e){this.iter=t,this.keyf=e,this.currval,this.currkey=this.tgtkey=new Sk.builtin.object,this.id},iternext(t){this.id=new Object;let i=Sk.misceval.richCompareBool(this.currkey,this.tgtkey,"Eq");for(;i;){if(this.currval=this.iter.tp$iternext(),void 0===this.currval)return;this.currkey=Sk.misceval.callsimArray(this.keyf,[this.currval]),i=Sk.misceval.richCompareBool(this.currkey,this.tgtkey,"Eq")}this.tgtkey=this.currkey;const r=new e._grouper(this);return new Sk.builtin.tuple([this.currkey,r])},slots:{tp$doc:"groupby(iterable, key=None) -> make an iterator that returns consecutive\\nkeys and groups from the iterable. If the key function is not specified or\\nis None, the element itself is used for grouping.\\n",tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("groupby",["iterable","key"],t,i,[Sk.builtin.none.none$]),r=Sk.abstr.iter(r),s=Sk.builtin.checkNone(s)?new Sk.builtin.func((t=>t)):s,this===e.groupby.prototype)return new e.groupby(r,s);{const t=new this.constructor;return e.groupby.call(t,r,s),t}}}}),e.islice=Sk.abstr.buildIteratorClass("itertools.islice",{constructor:function islice(t,e,i,r){this.iter=t,this.previt=e,this.stop=i,this.step=r,this.tp$iternext=()=>{if(this.tp$iternext=this.constructor.prototype.tp$iternext,!(this.previt>=this.stop)){for(let t=0;t=this.stop)){for(let t=this.previt+1;tNumber.MAX_SAFE_INTEGER)throw new Sk.builtin.ValueError("Stop for islice() must be None or an integer: 0 <= x <= sys.maxsize.");if(!Sk.builtin.checkNone(s)&&!Sk.misceval.isIndex(s))throw new Sk.builtin.ValueError("Indices for islice() must be None or an integer: 0 <= x <= sys.maxsize.");if(s=Sk.builtin.checkNone(s)?0:Sk.misceval.asIndexSized(s),s<0||s>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.ValueError("Indices for islice() must be None or an integer: 0 <= x <= sys.maxsize.");if(!Sk.builtin.checkNone(o)&&!Sk.misceval.isIndex(o))throw new Sk.builtin.ValueError("Step for islice() must be a positive integer or None");if(o=Sk.builtin.checkNone(o)?1:Sk.misceval.asIndexSized(o),o<=0||o>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.ValueError("Step for islice() must be a positive integer or None.");if(this===e.islice.prototype)return new e.islice(r,s,n,o);{const t=new this.constructor;return e.islice.call(t,r,s,n,o),t}}}}),e.permutations=Sk.abstr.buildIteratorClass("itertools.permutations",{constructor:function permutations(t,e){this.pool=t,this.r=e;const i=t.length;this.indices=new Array(i).fill().map(((t,e)=>e)),this.cycles=new Array(e).fill().map(((t,e)=>i-e)),this.n=i,this.tp$iternext=()=>{if(!(this.r>this.n))return this.tp$iternext=this.constructor.prototype.tp$iternext,new Sk.builtin.tuple(this.pool.slice(0,this.r))}},iternext(t){for(let e=this.r-1;e>=0;e--){if(this.cycles[e]--,0!=this.cycles[e]){const t=this.cycles[e];[this.indices[e],this.indices[this.n-t]]=[this.indices[this.n-t],this.indices[e]];const i=this.indices.map((t=>this.pool[t])).slice(0,this.r);return new Sk.builtin.tuple(i)}this.indices.push(this.indices.splice(e,1)[0]),this.cycles[e]=this.n-e}this.r=0},slots:{tp$doc:"permutations(iterable[, r]) --\\x3e permutations object\\n\\nReturn successive r-length permutations of elements in the iterable.\\n\\npermutations(range(3), 2) --\\x3e (0,1), (0,2), (1,0), (1,2), (2,0), (2,1)",tp$new(t,i){let r,s;[r,s]=Sk.abstr.copyKeywordsToNamedArgs("permutations",["iterable","r"],t,i,[Sk.builtin.none.none$]);const n=Sk.misceval.arrayFromIterable(r);if(s=Sk.builtin.checkNone(s)?n.length:Sk.misceval.asIndexSized(s,Sk.builtin.OverFlowError),s<0)throw new Sk.builtin.ValueError("r must be non-negative");if(this===e.permutations.prototype)return new e.permutations(n,s);{const t=new this.constructor;return e.permutations.call(t,n,s),t}}}}),e.product=Sk.abstr.buildIteratorClass("itertools.product",{constructor:function product(t){this.pools=t,this.n=t.length,this.indices=Array(t.length).fill(0),this.pool_sizes=t.map((t=>t.length)),this.tp$iternext=()=>{this.tp$iternext=this.constructor.prototype.tp$iternext;const t=this.indices.map(((t,e)=>this.pools[e][this.indices[e]]));if(!t.some((t=>void 0===t)))return new Sk.builtin.tuple(t);this.n=0}},iternext(t){let e=this.n-1;for(;e>=0&&e=this.pool_sizes[e]?(this.indices[e]=-1,e--):e++;if(this.n&&!this.indices.every((t=>-1===t))){const t=this.indices.map(((t,e)=>this.pools[e][this.indices[e]]));return new Sk.builtin.tuple(t)}this.n=0},slots:{tp$doc:"product(*iterables, repeat=1) --\\x3e product object\\n\\nCartesian product of input iterables. Equivalent to nested for-loops.\\n\\nFor example, product(A, B) returns the same as: ((x,y) for x in A for y in B).\\nThe leftmost iterators are in the outermost for-loop, so the output tuples\\ncycle in a manner similar to an odometer (with the rightmost element changing\\non every iteration).\\n\\nTo compute the product of an iterable with itself, specify the number\\nof repetitions with the optional repeat keyword argument. For example,\\nproduct(A, repeat=4) means the same as product(A, A, A, A).\\n\\nproduct(\'ab\', range(3)) --\\x3e (\'a\',0) (\'a\',1) (\'a\',2) (\'b\',0) (\'b\',1) (\'b\',2)\\nproduct((0,1), (0,1), (0,1)) --\\x3e (0,0,0) (0,0,1) (0,1,0) (0,1,1) (1,0,0) ...",tp$new(t,i){let[r]=Sk.abstr.copyKeywordsToNamedArgs("product",["repeat"],[],i,[new Sk.builtin.int_(1)]);if(r=Sk.misceval.asIndexSized(r,Sk.builtin.OverFlowError),r<0)throw new Sk.builtin.ValueError("repeat argument cannot be negative");const s=[];for(let e=0;ethis.object)},iternext(t){return this.times-- >0?this.object:void 0},slots:{tp$doc:"repeat(object [,times]) -> create an iterator which returns the object\\nfor the specified number of times. If not specified, returns the object\\nendlessly.",tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("repeat",["object","times"],t,i,[null]),s=null!==s?Sk.misceval.asIndexSized(s,Sk.builtin.OverFlowError):void 0,this===e.repeat.prototype)return new e.repeat(r,s);{const t=new this.constructor;return e.repeat.call(t,r,s),t}},$r(){const t=Sk.misceval.objectRepr(this.object),e=void 0===this.times?"":", "+(this.times>=0?this.times:0);return new Sk.builtin.str(Sk.abstr.typeName(this)+"("+t+e+")")}},methods:{__lenght_hint__:{$meth(){if(void 0===this.times)throw new Sk.builtin.TypeError("len() of unsized object");return new Sk.builtin.int_(this.times)},$flags:{NoArgs:!0},$textsig:null}}}),e.starmap=Sk.abstr.buildIteratorClass("itertools.starmap",{constructor:function starmap(t,e){this.func=t,this.iter=e},iternext(t){const e=this.iter.tp$iternext();if(void 0===e)return;const i=Sk.misceval.arrayFromIterable(e);return Sk.misceval.callsimArray(this.func,i)},slots:{tp$new(t,i){let r,s;if([r,s]=Sk.abstr.copyKeywordsToNamedArgs("starmap",["func","iterable"],t,i,[]),s=Sk.abstr.iter(s),r=Sk.builtin.checkNone(r)?Sk.builtin.bool:r,this===e.starmap.prototype)return new e.starmap(r,s);{const t=new this.constructor;return e.starmap.call(t,r,s),t}}}}),e.takewhile=Sk.abstr.buildIteratorClass("itertools.takewhile",{constructor:function takewhile(t,e){this.predicate=t,this.iter=e},iternext(){const t=this.iter.tp$iternext();if(void 0!==t){const e=Sk.misceval.callsimArray(this.predicate,[t]);if(Sk.misceval.isTrue(e))return t;this.tp$iternext=()=>{}}},slots:{tp$doc:"takewhile(predicate, iterable) --\\x3e takewhile object\\n\\nReturn successive entries from an iterable as long as the \\npredicate evaluates to true for each entry.",tp$new(t,i){Sk.abstr.checkNoKwargs("takewhile",i),Sk.abstr.checkArgsLen("takewhile",t,2,2);const r=t[0],s=Sk.abstr.iter(t[1]);if(this===e.takewhile.prototype)return new e.takewhile(r,s);{const t=new this.constructor;return e.takewhile.call(t,r,s),t}}}}),e.tee=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("tee is not yet implemented in Skulpt")})),e.zip_longest=Sk.abstr.buildIteratorClass("itertools.zip_longest",{constructor:function zip_longest(t,e){this.iters=t,this.fillvalue=e,this.active=this.iters.length},iternext(t){if(!this.active)return;let i;const r=[];for(let s=0;s{throw new a(e+" is not yet implemented in skulpt")}))}const j=E.JSONDecodeError=N("json.JSONDecodeError",{base:l,constructor:function JSONDecodeError(e,t,n){const r=t.slice(0,n),o=r.split("\\n").length,s=n-r.lastIndexOf("\\n"),i=`${e}: line ${o} column ${s} (char ${n})`;l.call(this,i),this.$msg=e,this.$doc=t,this.$pos=n,this.$lineno=o,this.$colno=s},getsets:Object.fromEntries(["msg","doc","pos","lineno","colno"].map((e=>[e,{$get(){return g(this["$"+e])}}])))});class JSONEncoder{constructor(e,t,n,r,o,s,i,l){this.skipkeys=e,this.ensure_ascii=t,this.check_circular=n,this.allow_nan=r,this.indent=o,this.separators=s,this.sort_keys=l,this.item_separator=", ",this.key_separator=": ",null!==this.separators?[this.item_separator,this.key_separator]=this.separators:null!==this.indent&&(this.item_separator=","),null!==i&&(this.default=i),this.encoder=this.make_encoder()}default(e){throw new i(`Object of type ${y(e)} is not JSON serializable`)}encode(t){return new e(this.encoder(t))}make_encoder(){let e,t;e=this.check_circular?new Set:null,t=(this.ensure_ascii,JSON.stringify);return function _make_iterencode(e,t,n,r,s,a,u,h,d){null!==r&&"string"!=typeof r&&(r=" ".repeat(r));let f,p,g,w;null!==e?(f=t=>{if(e.has(t))throw new l("Circular reference detected");e.add(t)},p=t=>e.delete(t)):(f=e=>{},p=e=>{});null!==r?(g=(e,t)=>{t+=1;const n="\\n"+r.repeat(t);return[e+=n,t,u+n]},w=(e,t,n)=>(n-=1,e+="\\n"+r.repeat(n)+t)):(g=(e,t)=>[e,t,u],w=(e,t,n)=>e+t);const _unhandled=(e,n)=>{f(e);const r=_iterencode(t(e),n);return p(e),r},_iterencode_list=(e,t)=>{if(!e.length)return"[]";let n,r;f(e),[n,t,r]=g("[",t);let o=!0;for(let s of e)o?o=!1:n+=r,n+=_iterencode(s,t);return p(e),w(n,"]",t)},_iterencode_dict=(e,t)=>{if(!e.sq$length())return"{}";let r,l;f(e),[r,t,l]=g("{",t);let u=!0;if(h){const t=$(e.tp$getattr(v)),n=c(t);e=$(o,[n])}for(let[o,c]of e.$items()){const e=o.valueOf(),h=typeof e;if("string"===h)o=e;else if("number"===h)o=s(o);else if("boolean"===h||null===e)o=String(e);else{if(!JSBI.__isBigInt(e)){if(d)continue;throw new i("keys must be str, int, float, bool or None, not "+y(o))}o=e.toString()}u?u=!1:r+=l,r+=n(o),r+=a,r+=_iterencode(c,t)}return p(e),w(r,"}",t)},_iterencode=(e,t=0)=>String(m(e,{stringHook:e=>n(e),numberHook:(e,t)=>s(t),bigintHook:e=>e.toString(),dictHook:e=>_iterencode_dict(e,t),arrayHook:e=>_iterencode_list(e,t),setHook:e=>_unhandled(e,t),funcHook:(e,n)=>_unhandled(n,t),objecthook:(e,n)=>_unhandled(n,t),unhandledHook:e=>_unhandled(e,t)}));return _iterencode}(e,this.default,t,this.indent,((e,t=this.allow_nan)=>{const n=e.valueOf();let r;if(Number.isFinite(n))return J(e);if(r=n.toString(),!t)throw new l("Out of range float values are not JSON compliant: "+J(e));return r}),this.key_separator,this.item_separator,this.sort_keys,this.skipkeys)}}const v=new e("items");const x=[!1,!0,!0,!0,null,null,null,!1],D=new JSONEncoder(...x),F=/(-?(?:0|[1-9]\\d*))(\\.\\d+)?([eE][-+]?\\d+)?/;const I=/"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"/m;function scanstring(t,n){const r=t.substring(n-1).match(I);if(null===r)throw new j("Unterminated string starting at",t,n-1);try{return[new e(JSON.parse(r[0])),n+r[0].length-1]}catch(o){let e=o.message.match(/(?:column|position) (\\d+)/);e=e&&Number(e[1]);n=n+(e||0)-(void 0===o.columnNumber?1:2);const r=o.message.replace("JSON.parse: ","").replace(/ at line \\d+ column \\d+ of the JSON data/,"").replace(/ in JSON at position \\d+$/,"");throw new j(r,t,n)}}const A=/[ \\t\\n\\r]*/;function JSONArray(e,t,r){const o=[];let s=e[t];const adjust_white_space=()=>{if(" "===s||"\\t"===s||"\\n"===s||"\\r"===s){const n=e.substring(t).match(A);t+=n[0].length,s=e[t]}};if(adjust_white_space(),"]"===s)return[new n([]),t+1];for(;;){let n;if([n,t]=r(e,t),void 0===n)throw new j("Expecting value",e,t);if(o.push(n),s=e[t],adjust_white_space(),t++,"]"===s)break;if(","!==s)throw new j("Expecting \',\' delimiter",e,t-1);s=e[t],adjust_white_space()}return[new n(o),t]}function JSONObject(e,t,s,i,l){let a=[],c=e[t];const adjust_white_space=()=>{if(" "===c||"\\t"===c||"\\n"===c||"\\r"===c){const n=e.substring(t).match(A);t+=n[0].length,c=e[t]}};if(\'"\'!==c){if(adjust_white_space(),"}"===c){if(null!==l){return[l(new n([])),t+1]}return a=new o([]),null!==i&&(a=i(a)),[a,t+1]}if(\'"\'!==c)throw new j("Expecting property name enclosed in double quotes",e,t)}let u,h;for(t+=1;;){if([u,t]=scanstring(e,t),":"!==(c=e[t])&&(adjust_white_space(),":"!==e[t]))throw new j("Expecting \':\' delimiter",e,t);if(c=e[++t],adjust_white_space(),[h,t]=s(e,t),void 0===h)throw new j("Expecting value",e,t);if(c=e[t],a.push([u,h]),adjust_white_space(),t++,"}"===c)break;if(","!==c)throw new j("Expecting \',\' delimiter",e,t-1);if(c=e[t],adjust_white_space(),t++,\'"\'!==c)throw new j("Expecting property name enclosed in double quotes",e,t-1)}if(null!==l){return[l(new n(a.map((e=>new r(e))))),t]}return a=new o(a.flat()),null!==i&&(a=i(a)),[a,t]}const H={NaN:new t(NaN),Infinity:new t(1/0),"-Infinity":new t(-1/0)};class JSONDecoder{constructor(e,t,n,r,o){this.object_hook=e,this.parse_float=t||w,this.parse_int=n||_,this.parse_constant=r||(e=>H[e]),this.object_pairs_hook=o,this.parse_object=JSONObject,this.parse_array=JSONArray,this.parse_string=scanstring,this.scan_once=function make_scanner(e){const{parse_object:t,parse_array:n,parse_string:r,parse_float:o,parse_int:s,parse_constant:i,object_hook:l,object_pairs_hook:a}=e,scan_once=(e,c)=>{const f=e[c];if(void 0===f)return[f,c];if(\'"\'===f)return r(e,c+1);if("{"===f)return t(e,c+1,scan_once,l,a);if("["===f)return n(e,c+1,scan_once);if("n"===f&&"null"===e.substring(c,c+4))return[u,c+4];if("t"===f&&"true"===e.substring(c,c+4))return[h,c+4];if("f"===f&&"false"===e.substring(c,c+5))return[d,c+5];const p=e.substring(c).match(F);if(null!==p){let e;const[t,n,r,i]=p;return e=r||i?o(n+(r||"")+(i||"")):s(n),[e,c+t.length]}return"N"===f&&"NaN"===e.substring(c,c+3)?[i("NaN"),c+3]:"I"==f&&"Infinity"===e.substring(c,c+8)?[i("Infinity"),c+8]:"-"==f&&"-Infinity"===e.substring(c,c+9)?[i("-Infinity"),c+9]:[void 0,c]};return scan_once}(this)}white(e,t){const n=(0===t?e:e.substring(t)).match(A);return null!==n&&(t+=n[0].length),t}decode(e){e=e.toString();let[t,n]=this.scan_once(e,this.white(e,0));if(void 0===t)throw new j("Expecting value",e,n);if(n=this.white(e,n),n!==e.length)throw new j("Extra data",e,n);return t}}const T=Array(5).fill(null),C=new JSONDecoder(...T);function convertToNullOrFunc(e){return null===e||e===u?null:t=>$(e,[g(t)])}return k("json",E,{loads:{$meth(e,t){O("dumps",e);let n=e[0];if(f(n));else{if(!p(n))throw new i(`the JSON object must be str or bytes, not ${y(n)}`);n=(new TextDecoder).decode(n.valueOf())}const r=S("dumps",["object_hook","parse_float","parse_int","parse_constant","object_pairs_hook"],[],t,T).map(convertToNullOrFunc);return r.every((e=>null===e))?C.decode(n):new JSONDecoder(...r).decode(n)},$doc:"Deserialize ``s`` (a ``str`` or ``bytes`` instance containing a JSON document) to a Python object.",$flags:{FastCall:!0}},dumps:{$meth(e,t){O("dumps",e);const n=e[0];let[r,o,s,l,a,c,u,h]=S("loads",["skipkeys","ensure_ascii","check_circular","allow_nan","indent","separators","default","sort_keys"],[],t,x);if(r=b(r),o=b(o),s=b(s),l=b(l),a=m(a),c=m(c),u=convertToNullOrFunc(u),h=b(h),!r&&o&&s&&l&&null===a&&null===c&&null===u&&!h)return D.encode(n);if(null===c);else if(!Array.isArray(c)||2!==c.length||"string"!=typeof c[0]||"string"!=typeof c[1])throw new i("separators shuld be a list or tuple of strings of length 2");return new JSONEncoder(r,o,s,l,a,c,u,h).encode(n)},$doc:"Serialize ``obj`` to a JSON formatted ``str``",$flags:{FastCall:!0}}}),E}',"src/lib/keyword.js":'function $builtinmodule(){const{ffi:{remapToPy:t},builtin:{frozenset:e,str:s}}=Sk,i=new s("keyword"),n=t(["iskeyword","issoftkeyword","kwlist","softkwlist"]),o=t(["False","None","True","and","as","assert","async","await","break","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","nonlocal","not","or","pass","raise","return","try","while","with","yield"]),a=t(["_","case","match"]);return{__name__:i,__all__:n,kwlist:o,softkwlist:a,iskeyword:new e(o).tp$getattr(s.$contains),issoftkeyword:new e(a).tp$getattr(s.$contains)}}',"src/lib/math.js":'const $builtinmodule=function(e){const{builtin:{str:t,int_:n,float_:i,TypeError:r,pyCheckType:u,checkNumber:l},abstr:{lookupSpecial:o},misceval:{callsimOrSuspendArray:a}}=Sk,s={pi:new Sk.builtin.float_(Math.PI),e:new Sk.builtin.float_(Math.E),tau:new Sk.builtin.float_(2*Math.PI),nan:new Sk.builtin.float_(NaN),inf:new Sk.builtin.float_(1/0)},b=new t("__ceil__");const get_sign=function(e){return e=e?e<0?-1:1:1/e<0?-1:1};const c=18;function factorial(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let t=Sk.builtin.asnum$(e);if((e=Math.floor(t))!=t)throw new Sk.builtin.ValueError("factorial() only accepts integral values");if(e<0)throw new Sk.builtin.ValueError("factorial() not defined for negative numbers");let n=1;for(let i=2;i<=e&&i<=c;i++)n*=i;if(e<=c)return new Sk.builtin.int_(n);n=JSBI.BigInt(n);for(let i=c+1;i<=e;i++)n=JSBI.multiply(n,JSBI.BigInt(i));return new Sk.builtin.int_(n)}const m=new t("__floor__");function _gcd_internal(e,t){let n;return"number"==typeof e&&"number"==typeof t?(n=function _gcd(e,t){return 0==t?e:_gcd(t,e%t)}(e=Math.abs(e),t=Math.abs(t)),n=n<0?-n:n):(n=function _biggcd(e,t){return JSBI.equal(t,JSBI.__ZERO)?e:_biggcd(t,JSBI.remainder(e,t))}(e=JSBI.BigInt(e),t=JSBI.BigInt(t)),JSBI.lessThan(n,JSBI.__ZERO)&&(n=JSBI.multiply(n,JSBI.BigInt(-1)))),n}return Sk.abstr.setUpModuleMethods("math",s,{acos:{$meth:function acos(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.acos(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the arc cosine (measured in radians) of x."},acosh:{$meth:function acosh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=(e=Sk.builtin.asnum$(e))+Math.sqrt(e*e-1);return new Sk.builtin.float_(Math.log(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the inverse hyperbolic cosine of x."},asin:{$meth:function asin(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.asin(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the arc sine (measured in radians) of x."},asinh:{$meth:function asinh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=(e=Sk.builtin.asnum$(e))+Math.sqrt(e*e+1);return new Sk.builtin.float_(Math.log(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the inverse hyperbolic sine of x."},atan:{$meth:function atan(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.atan(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the arc tangent (measured in radians) of x."},atan2:{$meth:function atan2(e,t){return Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(t)),new Sk.builtin.float_(Math.atan2(Sk.builtin.asnum$(e),Sk.builtin.asnum$(t)))},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, y, x, /)",$doc:"Return the arc tangent (measured in radians) of y/x.\\n\\nUnlike atan(y/x), the signs of both x and y are considered."},atanh:{$meth:function atanh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=(1+(e=Sk.builtin.asnum$(e)))/(1-e);return new Sk.builtin.float_(Math.log(t)/2)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the inverse hyperbolic tangent of x."},ceil:{$meth:function ceil(e){let t;if(e.ob$type!==i){const n=o(e,b);if(void 0!==n)return a(n);u("","real number",l(e)),t=Sk.builtin.asnum$(e)}else t=e.v;return new n(Math.ceil(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the ceiling of x as an Integral.\\n\\nThis is the smallest integer >= x."},comb:{$meth:function comb(e,t){let n=Sk.misceval.asIndexOrThrow(e),i=Sk.misceval.asIndexOrThrow(t);if(n<0)throw new Sk.builtin.ValueError("n must be an non-negative integer");if(i<0)throw new Sk.builtin.ValueError("k must be a non-negative integer");if(i>e)return new Sk.builtin.int_(0);e=new Sk.builtin.int_(n),t=new Sk.builtin.int_(i);let r=Sk.ffi.remapToJs(e.nb$subtract(t));if(rNumber.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError("min(n - k, k) must not exceed "+Number.MAX_SAFE_INTEGER);const u=new Sk.builtin.int_(1);let l=e;for(let o=1;o n.\\n\\nIf k is not specified or is None, then k defaults to n\\nand the function returns n!.\\n\\nRaises TypeError if either of the arguments are not integers.\\nRaises ValueError if either of the arguments are negative."},copysign:{$meth:function copysign(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));const n=Sk.builtin.asnum$(t),i=Sk.builtin.asnum$(e),r=get_sign(i)*get_sign(n);return new Sk.builtin.float_(i*r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return a float with the magnitude (absolute value) of x but the sign of y.\\n\\nOn platforms that support signed zeros, copysign(1.0, -0.0)\\nreturns -1.0.\\n"},cos:{$meth:function cos(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.cos(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the cosine of x (measured in radians)."},cosh:{$meth:function cosh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),e=Sk.builtin.asnum$(e);const t=Math.E,n=Math.pow(t,e),i=(n+1/n)/2;return new Sk.builtin.float_(i)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the hyperbolic cosine of x."},degrees:{$meth:function degrees(e){Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e));const t=180/Math.PI*Sk.builtin.asnum$(e);return new Sk.builtin.float_(t)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Convert angle x from radians to degrees."},erf:{$meth:function erf(e){throw new Sk.builtin.NotImplementedError("math.erf() is not yet implemented in Skulpt")},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Error function at x."},erfc:{$meth:function erfc(e){throw new Sk.builtin.NotImplementedError("math.erfc() is not yet implemented in Skulpt")},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Complementary error function at x."},exp:{$meth:function exp(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let t=e.v;if("number"!=typeof t&&(t=e.nb$float().v),t==1/0||t==-1/0||isNaN(t))return new Sk.builtin.float_(Math.exp(t));const n=Math.exp(t);if(!isFinite(n))throw new Sk.builtin.OverflowError("math range error");return new Sk.builtin.float_(n)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return e raised to the power of x."},expm1:{$meth:function expm1(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e);if(Math.abs(t)<.7){const e=Math.exp(t);if(1==e)return new Sk.builtin.float_(t);{const n=(e-1)*t/Math.log(e);return new Sk.builtin.float_(n)}}{const e=Math.exp(t)-1;return new Sk.builtin.float_(e)}},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return exp(x)-1.\\n\\nThis function avoids the loss of precision involved in the direct evaluation of exp(x)-1 for small x."},fabs:{$meth:function fabs(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let t=e.v;return JSBI.__isBigInt(t)&&(t=e.nb$float().v),t=Math.abs(t),new Sk.builtin.float_(t)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the absolute value of the float x."},factorial:{$meth:factorial,$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Find x!.\\n\\nRaise a ValueError if x is negative or non-integral."},floor:{$meth:function floor(e){let t;if(e.ob$type===i)t=e.v;else{const n=o(e,m);if(void 0!==n)return a(n);u("x","number",l(e)),t=Sk.builtin.asnum$(e)}return new n(Math.floor(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the floor of x as an Integral.\\n\\nThis is the largest integer <= x."},fmod:{$meth:function fmod(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));let n=e.v,i=t.v;if("number"!=typeof n&&(n=e.nb$float().v),"number"!=typeof i&&(i=t.nb$float().v),(i==1/0||i==-1/0)&&isFinite(n))return new Sk.builtin.float_(n);const r=n%i;if(isNaN(r)&&!isNaN(n)&&!isNaN(i))throw new Sk.builtin.ValueError("math domain error");return new Sk.builtin.float_(r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return fmod(x, y), according to platform C.\\n\\nx % y may differ."},frexp:{$meth:function frexp(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e),n=[t,0];if(0!==t&&Number.isFinite(t)){const e=Math.abs(t);let i=Math.max(-1023,Math.floor(Math.log2(e))+1),r=e*Math.pow(2,-i);for(;r<.5;)r*=2,i--;for(;r>=1;)r*=.5,i++;t<0&&(r=-r),n[0]=r,n[1]=i}return n[0]=new Sk.builtin.float_(n[0]),n[1]=new Sk.builtin.int_(n[1]),new Sk.builtin.tuple(n)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the mantissa and exponent of x, as pair (m, e).\\n\\nm is a float and e is an int, such that x = m * 2.**e.\\nIf x is 0, m and e are both 0. Else 0.5 <= abs(m) < 1.0."},fsum:{$meth:function fsum(e){if(!Sk.builtin.checkIterable(e))throw new Sk.builtin.TypeError("\'"+Sk.abstr.typeName(e)+"\' object is not iterable");let t,n,i,r=[];for(let l=(e=Sk.abstr.iter(e)).tp$iternext();void 0!==l;l=e.tp$iternext()){Sk.builtin.pyCheckType("","real number",Sk.builtin.checkNumber(l)),t=0;let e=l.v;"number"!=typeof e&&(e=l.nb$float().v),l=e;for(let u=0,o=r.length;u0;){n--;let t=a;a=JSBI.signedRightShift(u,JSBI.BigInt(n));const r=JSBI.subtract(JSBI.subtract(a,t),i),s=JSBI.leftShift(o,r),b=JSBI.add(JSBI.subtract(JSBI.subtract(l,t),a),i),c=JSBI.signedRightShift(e,b);o=JSBI.add(s,JSBI.divide(c,o))}let s=o;return JSBI.greaterThan(JSBI.multiply(s,s),e)&&(s=JSBI.subtract(s,i)),JSBI.lessThanOrEqual(s,JSBI.BigInt(Number.MAX_SAFE_INTEGER))&&(s=Number(s)),new Sk.builtin.int_(s)}(t)},$flags:{OneArg:!0},$textsig:"($module, n, /)",$doc:"Return the integer part of the square root of the input."},lcm:{$meth:function lcm(...e){function abs(e){return"number"==typeof e?new Sk.builtin.int_(Math.abs(e)):JSBI.lessThan(e,JSBI.__ZERO)?new Sk.builtin.int_(JSBI.unaryMinus(e)):new Sk.builtin.int_(e)}const t=e.length;if(0===t)return new Sk.builtin.int_(1);let n;for(n=0;nNumber.MAX_SAFE_INTEGER?JSBI.BigInt(r):e}else r=JSBI.BigInt(r);"number"!=typeof r&&(i=JSBI.BigInt(i),r=JSBI.multiply(JSBI.divide(r,_gcd_internal(r,i)),i))}return abs(r)},$flags:{MinArgs:0},$textsig:"($module, *integers, /)",$doc:"Return the least common multiple of the specified integer arguments. If all arguments are nonzero, then the returned value is the smallest positive integer that is a multiple of all arguments. If any of the arguments is zero, then the returned value is 0. lcm() without arguments returns 1."},ldexp:{$meth:function ldexp(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("i","integer",Sk.builtin.checkInt(t));let n=e.v;"number"!=typeof n&&(n=e.nb$float().v);const i=Sk.builtin.asnum$(t);if(n==1/0||n==-1/0||0==n||isNaN(n))return new Sk.builtin.float_(n);const r=n*Math.pow(2,i);if(!isFinite(r))throw new Sk.builtin.OverflowError("math range error");return new Sk.builtin.float_(r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, i, /)",$doc:"Return x * (2**i).\\n\\nThis is essentially the inverse of frexp()."},lgamma:{$meth:function lgamma(e){throw new Sk.builtin.NotImplementedError("math.lgamma() is not yet implemented in Skulpt")},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Natural logarithm of absolute value of Gamma function at x."},log:{$meth:function log(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));let n,i,r=Sk.builtin.asnum$(e);if(r<=0)throw new Sk.builtin.ValueError("math domain error");if(void 0===t?n=Math.E:(Sk.builtin.pyCheckType("base","number",Sk.builtin.checkNumber(t)),n=Sk.builtin.asnum$(t)),n<=0)throw new Sk.builtin.ValueError("math domain error");if(Sk.builtin.checkFloat(e)||re)return new Sk.builtin.int_(0);if(0===t)return new Sk.builtin.int_(1);if(t>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError("k must not exceed "+Number.MAX_SAFE_INTEGER);const n=new Sk.builtin.int_(1);let i=e=new Sk.builtin.int_(e);for(let r=1;r n.\\n\\nIf k is not specified or is None, then k defaults to n\\nand the function returns n!.\\n\\nRaises TypeError if either of the arguments are not integers.\\nRaises ValueError if either of the arguments are negative.\'"},prod:{$meth:function prod(e,t){Sk.abstr.checkArgsLen("prod",e,1,1),e=Sk.abstr.copyKeywordsToNamedArgs("prod",[null,"start"],e,t,[new Sk.builtin.int_(1)]);const n=Sk.abstr.iter(e[0]);let i,r=e[1];return i=r.constructor===Sk.builtin.int_?function fastProdInt(){return Sk.misceval.iterFor(n,(e=>{if(e.constructor!==Sk.builtin.int_)return e.constructor===Sk.builtin.float_?(r=r.nb$float().nb$multiply(e),new Sk.misceval.Break("float")):(r=Sk.abstr.numberBinOp(r,e,"Mult"),new Sk.misceval.Break("slow"));r=r.nb$multiply(e)}))}():r.constructor===Sk.builtin.float_?"float":"slow",Sk.misceval.chain(i,(e=>"float"===e?function fastProdFloat(){return Sk.misceval.iterFor(n,(e=>{if(e.constructor!==Sk.builtin.float_&&e.constructor!==Sk.builtin.int_)return r=Sk.abstr.numberBinOp(r,e,"Mult"),new Sk.misceval.Break("slow");r=r.nb$multiply(e)}))}():e),(e=>{if("slow"===e)return function slowProd(){return Sk.misceval.iterFor(n,(e=>{r=Sk.abstr.numberBinOp(r,e,"Mult")}))}()}),(()=>r))},$flags:{FastCall:!0},$textsig:"($module, iterable, /, *, start=1)",$doc:"Calculate the product of all the elements in the input iterable. The default start value for the product is 1.\\n\\nWhen the iterable is empty, return the start value. This function is intended specifically for use with numeric values and may reject non-numeric types."},pow:{$meth:function pow(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));let n=e.v,i=t.v;if("number"!=typeof n&&(n=e.nb$float().v),"number"!=typeof i&&(i=t.nb$float().v),0==n&&i<0)throw new Sk.builtin.ValueError("math domain error");if(1==n)return new Sk.builtin.float_(1);if(Number.isFinite(n)&&Number.isFinite(i)&&n<0&&!Number.isInteger(i))throw new Sk.builtin.ValueError("math domain error");if(-1==n&&(i==-1/0||i==1/0))return new Sk.builtin.float_(1);const r=Math.pow(n,i);if(!Number.isFinite(n)||!Number.isFinite(i))return new Sk.builtin.float_(r);if(r==1/0||r==-1/0)throw new Sk.builtin.OverflowError("math range error");return new Sk.builtin.float_(r)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return x**y (x to the power of y)."},radians:{$meth:function radians(e){Sk.builtin.pyCheckType("deg","number",Sk.builtin.checkNumber(e));const t=Math.PI/180*Sk.builtin.asnum$(e);return new Sk.builtin.float_(t)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Convert angle x from degrees to radians."},remainder:{$meth:function remainder(e,t){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),Sk.builtin.pyCheckType("y","number",Sk.builtin.checkNumber(t));let n=e.v,i=t.v;if("number"!=typeof n&&(n=e.nb$float().v),"number"!=typeof i&&(i=t.nb$float().v),isFinite(n)&&isFinite(i)){let e,t,r,u,l;if(0==i)throw new Sk.builtin.ValueError("math domain error");if(e=Math.abs(n),t=Math.abs(i),u=e%t,r=t-u,ur)l=-r;else{if(u!=r)throw new Sk.builtin.AssertionError;l=u-.5*(e-u)%t*2}return new Sk.builtin.float_(get_sign(n)*l)}if(isNaN(n))return e;if(isNaN(i))return t;if(n==1/0||n==-1/0)throw new Sk.builtin.ValueError("math domain error");if(i!=1/0&&i!=-1/0)throw new Sk.builtin.AssertionError;return new Sk.builtin.float_(n)},$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Difference between x and the closest integer multiple of y.\\n\\nReturn x - n*y where n*y is the closest integer multiple of y.\\nIn the case where x is exactly halfway between two multiples of\\ny, the nearest even value of n is used. The result is always exact."},sin:{$meth:function sin(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.sin(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the sine of x (measured in radians)."},sinh:{$meth:function sinh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e)),e=Sk.builtin.asnum$(e);const t=Math.E,n=Math.pow(t,e),i=(n-1/n)/2;return new Sk.builtin.float_(i)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the hyperbolic sine of x."},sqrt:{$meth:function sqrt(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e);if(t<0)throw new Sk.builtin.ValueError("math domain error");return new Sk.builtin.float_(Math.sqrt(t))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the square root of x."},tan:{$meth:function tan(e){return Sk.builtin.pyCheckType("rad","number",Sk.builtin.checkNumber(e)),new Sk.builtin.float_(Math.tan(Sk.builtin.asnum$(e)))},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the tangent of x (measured in radians)."},tanh:{$meth:function tanh(e){Sk.builtin.pyCheckType("x","number",Sk.builtin.checkNumber(e));const t=Sk.builtin.asnum$(e);if(0===t)return new Sk.builtin.float_(t);const n=Math.E,i=Math.pow(n,t),r=1/i,u=(i-r)/2/((i+r)/2);return new Sk.builtin.float_(u)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the hyperbolic tangent of x."},trunc:{$meth:function trunc(e){if(e.ob$type===i)return e.nb$int();const n=o(e,t.$trunc);if(void 0===n)throw new r(`type ${e.tp$name} doesn\'t define __trunc__ method`);return a(n)},$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Truncates the Real x to the nearest Integral toward 0.\\n\\nUses the __trunc__ magic method."}}),s};',"src/lib/mixiot/__init__.js":'var $builtinmodule=function(i){var n={__name__:new Sk.builtin.str("mixiot")};n.MixIO=Sk.misceval.buildClass(n,(function(i,n){n.__init__=new Sk.builtin.func((function(i,n,e,o,t,c,f){n=Sk.ffi.remapToJs(n),e=Sk.ffi.remapToJs(e),o=Sk.ffi.remapToJs(o),t=Sk.ffi.remapToJs(t),c=Sk.ffi.remapToJs(c),f=Sk.ffi.remapToJs(f),mixio_client=new MixIO(n,e,o,t,c,f)})),n.publish=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n),t=Sk.ffi.remapToJs(e);mixio_client.publish(o,t)})),n.subscribe=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n);if(!(e instanceof Sk.builtin.func))throw new Sk.builtin.TypeError("Callback given is not a function");var t=function pythonToJavascriptFunction(i,n){return function(){var e=Array.prototype.slice.call(arguments).map((function(i){return Sk.ffi.remapToPy(i)}));return"undefined"!=typeof n&&e.unshift(n),Sk.misceval.applyAsync(void 0,i,void 0,void 0,void 0,e).catch(Sk.uncaughtException)}}(e);mixio_client.subscribeAndSetCallback(o,t)})),n.unsubscribe=new Sk.builtin.func((function(i,n){var e=Sk.ffi.remapToJs(n);mixio_client.unsubscribe(e)})),n.disconnect=new Sk.builtin.func((function(i){mixio_client.disconnect()}))}),"MixIO",[]);n.MixIO_init_by_mixly_key=Sk.misceval.buildClass(n,(function(i,n){n.__init__=new Sk.builtin.func((function(i,n,e,o,t){n=Sk.ffi.remapToJs(n),e=Sk.ffi.remapToJs(e),mixiomixlyKey=Sk.ffi.remapToJs(o),t=Sk.ffi.remapToJs(t),mixio_client=MixIO.fromMixlyKey(n,e,o,t)})),n.publish=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n),t=Sk.ffi.remapToJs(e);mixio_client.publish(o,t)})),n.subscribe=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n);if(!(e instanceof Sk.builtin.func))throw new Sk.builtin.TypeError("Callback given is not a function");var t=function pythonToJavascriptFunction(i,n){return function(){var e=Array.prototype.slice.call(arguments).map((function(i){return Sk.ffi.remapToPy(i)}));return"undefined"!=typeof n&&e.unshift(n),Sk.misceval.applyAsync(void 0,i,void 0,void 0,void 0,e).catch(Sk.uncaughtException)}}(e);mixio_client.subscribeAndSetCallback(o,t)})),n.unsubscribe=new Sk.builtin.func((function(i,n){var e=Sk.ffi.remapToJs(n);mixio_client.unsubscribe(e)})),n.disconnect=new Sk.builtin.func((function(i){mixio_client.disconnect()}))}),"MixIO_init_by_mixly_key",[]);return n.MixIO_init_by_share_key=Sk.misceval.buildClass(n,(function(i,n){n.__init__=new Sk.builtin.func((function(i,n,e,o,t){n=Sk.ffi.remapToJs(n),e=Sk.ffi.remapToJs(e),mixiomixlyKey=Sk.ffi.remapToJs(o),t=Sk.ffi.remapToJs(t),mixio_client=MixIO.fromShareKey(n,e,o,t).then((i=>{console.log(i),mixio_client_sharekey=i})).catch((i=>{console.error("Failed to create MixIO from share key: ",i),sleep(1)}))})),n.publish=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n),t=Sk.ffi.remapToJs(e);mixio_client_sharekey.publish(o,t)})),n.subscribe=new Sk.builtin.func((function(i,n,e){var o=Sk.ffi.remapToJs(n);if(!(e instanceof Sk.builtin.func))throw new Sk.builtin.TypeError("Callback given is not a function");var t=function pythonToJavascriptFunction(i,n){return function(){var e=Array.prototype.slice.call(arguments).map((function(i){return Sk.ffi.remapToPy(i)}));return"undefined"!=typeof n&&e.unshift(n),Sk.misceval.applyAsync(void 0,i,void 0,void 0,void 0,e).catch(Sk.uncaughtException)}}(e);mixio_client_sharekey.subscribeAndSetCallback(o,t)})),n.unsubscribe=new Sk.builtin.func((function(i,n){var e=Sk.ffi.remapToJs(n);mixio_client_sharekey.unsubscribe(e)})),n.disconnect=new Sk.builtin.func((function(i){mixio_client_sharekey.disconnect()}))}),"MixIO_init_by_share_key",[]),n};',"src/lib/operator.js":'function $builtinmodule(e){const{builtin:{str:t,tuple:a,list:r,int_:o,bool:n,TypeError:s,ValueError:i,none:{none$:m},NotImplemented:{NotImplemented$:d},abs:l,len:h,checkString:u,checkInt:c},abstr:{buildNativeClass:M,checkNoKwargs:b,checkArgsLen:g,checkOneArg:f,numberUnaryOp:p,numberBinOp:A,numberInplaceBinOp:k,objectGetItem:$,objectDelItem:_,objectSetItem:w,sequenceConcat:v,sequenceContains:x,sequenceGetCountOf:j,sequenceGetIndexOf:O,sequenceInPlaceConcat:I,typeName:S,lookupSpecial:y,gattr:q,setUpModuleMethods:R},misceval:{richCompareBool:B,asIndexOrThrow:N,chain:E,callsimArray:T,callsimOrSuspendArray:C,objectRepr:D},generic:{getAttr:G}}=Sk,L=["abs","add","and_","concat","contains","delitem","eq","floordiv","ge","getitem","gt","iadd","iand","iconcat","ifloordiv","ilshift","imatmul","imod","imul","index","inv","invert","ior","ipow","irshift","isub","itruediv","ixor","le","lshift","lt","matmul","mod","mul","ne","neg","not_","or_","pos","pow","rshift","setitem","sub","truediv","xor"],F=["attrgetter","countOf","indexOf","is_","is_not","itemgetter","length_hint","methodcaller","truth",...L].sort(),P={__name__:new t("operator"),__doc__:new t("Operator interface.\\n\\nThis module exports a set of functions implemented in javascript corresponding\\nto the intrinsic operators of Python. For example, operator.add(x, y)\\nis equivalent to the expression x+y. The function names are those\\nused for special methods; variants without leading and trailing\\n\'__\' are also provided for convenience."),__all__:new r(F.map((e=>new t(e))))};P.itemgetter=M("operator.itemgetter",{constructor:function itemgetter(e){this.items=e,this.oneitem=1===e.length,this.item=e[0],this.in$repr=!1},slots:{tp$getattr:G,tp$new:(e,t)=>(b("itemgetter",t),g("itemgetter",e,1),new P.itemgetter(e)),tp$call(e,t){f("itemgetter",e,t);const r=e[0];return this.oneitem?$(r,this.item,!0):new a(this.items.map((e=>$(r,e))))},tp$doc:"Return a callable object that fetches the given item(s) from its operand.\\n After f = itemgetter(2), the call f(r) returns r[2].\\n After g = itemgetter(2, 5, 3), the call g(r) returns (r[2], r[5], r[3])",$r(){if(this.in$repr)return new t(this.tp$name+"(...)");this.in$repr=!0;const e=this.tp$name+"("+this.items.map((e=>D(e))).join(", ")+")";return this.in$repr=!1,e}}}),P.attrgetter=M("operator.attrgetter",{constructor:function attrgetter(e){this.attrs=e,this.oneattr=1===e.length,this.attr=e[0],this.in$repr=!1},slots:{tp$getattr:G,tp$new(e,a){b("attrgetter",a),g("attrgetter",e,1);const r=[];for(let o=0;onew t(e)))):r.push([a])}return new P.attrgetter(r)},tp$call(e,t){f("attrgetter",e,t);const r=e[0];if(this.oneattr)return this.attr.reduce(((e,t)=>q(e,t)),r);const o=this.attrs.map((e=>e.reduce(((e,t)=>q(e,t)),r)));return new a(o)},tp$doc:"attrgetter(attr, ...) --\\x3e attrgetter object\\n\\nReturn a callable object that fetches the given attribute(s) from its operand.\\nAfter f = attrgetter(\'name\'), the call f(r) returns r.name.\\nAfter g = attrgetter(\'name\', \'date\'), the call g(r) returns (r.name, r.date).\\nAfter h = attrgetter(\'name.first\', \'name.last\'), the call h(r) returns\\n(r.name.first, r.name.last).",$r(){if(this.in$repr)return new t(this.tp$name+"(...)");this.in$repr=!0;const e=this.tp$name+"("+this.items.map((e=>D(e))).join(", ")+")";return this.in$repr=!1,e}}}),P.methodcaller=M("operator.methodcaller",{constructor:function methodcaller(e,t,a){this.$name=e,this.args=t,this.kwargs=a||[],this.in$repr=!1},slots:{tp$getattr:G,tp$new(e,t){g("methodcaller",e,1);const a=e[0];if(!u(a))throw new s("method name must be a string");return new P.methodcaller(a,e.slice(1),t)},tp$call(e,t){f("methodcaller",e,t);const a=e[0];return E(q(a,this.$name,!0),(e=>C(e,this.args,this.kwargs)))},tp$doc:"methodcaller(name, ...) --\\x3e methodcaller object\\n\\nReturn a callable object that calls the given method on its operand.\\nAfter f = methodcaller(\'name\'), the call f(r) returns r.name().\\nAfter g = methodcaller(\'name\', \'date\', foo=1), the call g(r) returns\\nr.name(\'date\', foo=1).",$r(){if(this.in$repr)return new t(this.tp$name+"(...)");this.in$repr=!0;let e=[D(this.$name)];e.push(...this.args.map((e=>D(e))));for(let t=0;tn(B(e,t,"Lt"))),sameAs("a < b")),le:makeModuleMethod(((e,t)=>n(B(e,t,"LtE"))),sameAs("a <= b")),eq:makeModuleMethod(((e,t)=>n(B(e,t,"Eq"))),sameAs("a == b")),ne:makeModuleMethod(((e,t)=>n(B(e,t,"NotEq"))),sameAs("a != b")),ge:makeModuleMethod(((e,t)=>n(B(e,t,"GtE"))),sameAs("a >= b")),gt:makeModuleMethod(((e,t)=>n(B(e,t,"Gt"))),sameAs("a > b")),not_:makeModuleMethod((e=>p(e,"Not")),sameAs("not a")),truth:makeModuleMethod((e=>n(e)),"Return True if a is true, False otherwise."),is_:makeModuleMethod(((e,t)=>n(B(e,t,"Is"))),sameAs("a is b")),is_not:makeModuleMethod(((e,t)=>n(B(e,t,"IsNot"))),sameAs("a is not b")),abs:makeModuleMethod((e=>l(e)),sameAs("abs(a)")),add:makeModuleMethod(((e,t)=>A(e,t,"Add")),sameAs("a + b")),and_:makeModuleMethod(((e,t)=>A(e,t,"BitAnd")),sameAs("a & b")),floordiv:makeModuleMethod(((e,t)=>A(e,t,"FloorDiv")),sameAs("a // b")),index:makeModuleMethod((e=>new o(N(e))),sameAs("a.__index__()")),inv:makeModuleMethod((e=>p(e,"Invert")),sameAs("~a")),invert:makeModuleMethod((e=>p(e,"Invert")),sameAs("~a")),lshift:makeModuleMethod(((e,t)=>A(e,t,"LShift")),sameAs("a << b")),mod:makeModuleMethod(((e,t)=>A(e,t,"Mod")),sameAs("a % b")),mul:makeModuleMethod(((e,t)=>A(e,t,"Mult")),sameAs("a * b")),matmul:makeModuleMethod(((e,t)=>A(e,t,"MatMult")),sameAs("a @ b")),neg:makeModuleMethod((e=>p(e,"USub")),sameAs("-a")),or_:makeModuleMethod(((e,t)=>A(e,t,"BitOr")),sameAs("a | b")),pos:makeModuleMethod((e=>p(e,"UAdd")),sameAs("+a")),pow:makeModuleMethod(((e,t)=>A(e,t,"Pow")),sameAs("a ** b")),rshift:makeModuleMethod(((e,t)=>A(e,t,"RShift")),sameAs("a >> b")),sub:makeModuleMethod(((e,t)=>A(e,t,"Sub")),sameAs("a - b")),truediv:makeModuleMethod(((e,t)=>A(e,t,"Div")),sameAs("a / b")),xor:makeModuleMethod(((e,t)=>A(e,t,"BitXor")),sameAs("a ^ b")),concat:makeModuleMethod(((e,t)=>v(e,t)),sameAs("a + b, for a and b sequences")),contains:makeModuleMethod(((e,t)=>E(x(e,t),n)),sameAs("b in a (note reversed operands)")),countOf:makeModuleMethod(((e,t)=>j(e,t)),"Return thenumber of times b occurs in a."),delitem:makeModuleMethod(((e,t)=>E(_(e,t,!0),(()=>m))),sameAs("del a[b]")),getitem:makeModuleMethod(((e,t)=>$(e,t,!0)),sameAs("a[b]")),indexOf:makeModuleMethod(((e,t)=>O(e,t)),"Return the first index of b in a"),setitem:makeModuleMethod(((e,t,a)=>E(w(e,t,a,!0),(()=>m))),sameAs("a[b] = c")),length_hint:{$meth:function length_hint(e,a){if(void 0===a)a=new o(0);else if(!c(a))throw new s("\'"+S(a)+"\' object cannot be interpreted as an integer");try{return h(e)}catch(m){if(!(m instanceof s))throw m}const r=y(e,t.$length_hint);if(void 0===r)return a;let n;try{n=T(r,[])}catch(m){if(!(m instanceof s))throw m;return a}if(n===d)return a;if(!c(n))throw new s("__length_hint__ must be an integer, not "+S(n));if(n.nb$isnegative())throw new i("__length_hint__() should return >= 0");return n},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($module, obj, default=0, /)",$doc:"Return an estimate of the number of items in obj.\\n\\nThis is useful for presizing containers when building from an iterable.\\n\\nIf the object supports len(), the result will be exact.\\nOtherwise, it may over- or under-estimate by an arbitrary amount.\\nThe result will be an integer >= 0."},iadd:makeModuleMethod(((e,t)=>k(e,t,"Add")),sameAs("a += b")),iand:makeModuleMethod(((e,t)=>k(e,t,"BitAnd")),sameAs("a &= b")),iconcat:makeModuleMethod(((e,t)=>I(e,t)),sameAs("a += b, for a and b sequences")),ifloordiv:makeModuleMethod(((e,t)=>k(e,t,"FloorDiv")),sameAs("a //= b")),ilshift:makeModuleMethod(((e,t)=>k(e,t,"LShift")),sameAs("a <<= b")),imod:makeModuleMethod(((e,t)=>k(e,t,"Mod")),sameAs("a %= b")),imul:makeModuleMethod(((e,t)=>k(e,t,"Mult")),sameAs("a *= b")),imatmul:makeModuleMethod(((e,t)=>k(e,t,"MatMult")),sameAs("a @= b")),ior:makeModuleMethod(((e,t)=>k(e,t,"BitOr")),sameAs("a |= b")),ipow:makeModuleMethod(((e,t)=>k(e,t,"Pow")),sameAs("a **= b")),irshift:makeModuleMethod(((e,t)=>k(e,t,"RShift")),sameAs("a >>= b")),isub:makeModuleMethod(((e,t)=>k(e,t,"Sub")),sameAs("a -= b")),itruediv:makeModuleMethod(((e,t)=>k(e,t,"Div")),sameAs("a /= b")),ixor:makeModuleMethod(((e,t)=>k(e,t,"BitXor")),sameAs("a ^= b"))}),L.forEach((e=>{P[`__${e.replace("_","")}__`]=P[e]})),P.div=P.truediv,P.__div__=P.div,P}',"src/lib/platform.js":'var $builtinmodule=function(n){var e={},i="undefined"!=typeof window&&"undefined"!=typeof window.navigator;return e.python_implementation=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("python_implementation",arguments.length,0,0),new Sk.builtin.str("Skulpt")})),e.node=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("node",arguments.length,0,0),new Sk.builtin.str("")})),e.version=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("version",arguments.length,0,0),new Sk.builtin.str("")})),e.python_version=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("python_version",arguments.length,0,0),n=Sk.__future__.python_version?"3.2.0":"2.7.0",new Sk.builtin.str(n)})),e.system=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("system",arguments.length,0,0),n=i?window.navigator.appCodeName:"",new Sk.builtin.str(n)})),e.machine=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("machine",arguments.length,0,0),n=i?window.navigator.platform:"",new Sk.builtin.str(n)})),e.release=new Sk.builtin.func((function(){var n;return Sk.builtin.pyCheckArgsLen("release",arguments.length,0,0),n=i?window.navigator.appVersion:"",new Sk.builtin.str(n)})),e.architecture=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("architecture",arguments.length,0,0),new Sk.builtin.tuple([new Sk.builtin.str("64bit"),new Sk.builtin.str("")])})),e.processor=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("processor",arguments.length,0,0),new Sk.builtin.str("")})),e};',"src/lib/processing.js":'var $builtinmodule=function(n){var i,e,t,u,o,s,l,c={__name__:new Sk.builtin.str("processing")},r=[],v=!0,f=null;c.processing=null,c.p=null,c.X=new Sk.builtin.int_(0),c.Y=new Sk.builtin.int_(1),c.Z=new Sk.builtin.int_(2),c.R=new Sk.builtin.int_(3),c.G=new Sk.builtin.int_(4),c.B=new Sk.builtin.int_(5),c.A=new Sk.builtin.int_(6),c.U=new Sk.builtin.int_(7),c.V=new Sk.builtin.int_(8),c.NX=new Sk.builtin.int_(9),c.NY=new Sk.builtin.int_(10),c.NZ=new Sk.builtin.int_(11),c.EDGE=new Sk.builtin.int_(12),c.SR=new Sk.builtin.int_(13),c.SG=new Sk.builtin.int_(14),c.SB=new Sk.builtin.int_(15),c.SA=new Sk.builtin.int_(16),c.SW=new Sk.builtin.int_(17),c.TX=new Sk.builtin.int_(18),c.TY=new Sk.builtin.int_(19),c.TZ=new Sk.builtin.int_(20),c.VX=new Sk.builtin.int_(21),c.VY=new Sk.builtin.int_(22),c.VZ=new Sk.builtin.int_(23),c.VW=new Sk.builtin.int_(24),c.AR=new Sk.builtin.int_(25),c.AG=new Sk.builtin.int_(26),c.AB=new Sk.builtin.int_(27),c.DR=new Sk.builtin.int_(3),c.DG=new Sk.builtin.int_(4),c.DB=new Sk.builtin.int_(5),c.DA=new Sk.builtin.int_(6),c.SPR=new Sk.builtin.int_(28),c.SPG=new Sk.builtin.int_(29),c.SPB=new Sk.builtin.int_(30),c.SHINE=new Sk.builtin.int_(31),c.ER=new Sk.builtin.int_(32),c.EG=new Sk.builtin.int_(33),c.EB=new Sk.builtin.int_(34),c.BEEN_LIT=new Sk.builtin.int_(35),c.VERTEX_FIELD_COUNT=new Sk.builtin.int_(36),c.CENTER=new Sk.builtin.int_(3),c.RADIUS=new Sk.builtin.int_(2),c.CORNERS=new Sk.builtin.int_(1),c.CORNER=new Sk.builtin.int_(0),c.DIAMETER=new Sk.builtin.int_(3),c.BASELINE=new Sk.builtin.int_(0),c.TOP=new Sk.builtin.int_(101),c.BOTTOM=new Sk.builtin.int_(102),c.NORMAL=new Sk.builtin.int_(1),c.NORMALIZED=new Sk.builtin.int_(1),c.IMAGE=new Sk.builtin.int_(2),c.MODEL=new Sk.builtin.int_(4),c.SHAPE=new Sk.builtin.int_(5),c.AMBIENT=new Sk.builtin.int_(0),c.DIRECTIONAL=new Sk.builtin.int_(1),c.SPOT=new Sk.builtin.int_(3),c.RGB=new Sk.builtin.int_(1),c.ARGB=new Sk.builtin.int_(2),c.HSB=new Sk.builtin.int_(3),c.ALPHA=new Sk.builtin.int_(4),c.CMYK=new Sk.builtin.int_(5),c.TIFF=new Sk.builtin.int_(0),c.TARGA=new Sk.builtin.int_(1),c.JPEG=new Sk.builtin.int_(2),c.GIF=new Sk.builtin.int_(3),c.MITER=new Sk.builtin.str("miter"),c.BEVEL=new Sk.builtin.str("bevel"),c.ROUND=new Sk.builtin.str("round"),c.SQUARE=new Sk.builtin.str("butt"),c.PROJECT=new Sk.builtin.str("square"),c.P2D=new Sk.builtin.int_(1),c.JAVA2D=new Sk.builtin.int_(1),c.WEBGL=new Sk.builtin.int_(2),c.P3D=new Sk.builtin.int_(2),c.OPENGL=new Sk.builtin.int_(2),c.PDF=new Sk.builtin.int_(0),c.DXF=new Sk.builtin.int_(0),c.OTHER=new Sk.builtin.int_(0),c.WINDOWS=new Sk.builtin.int_(1),c.MAXOSX=new Sk.builtin.int_(2),c.LINUX=new Sk.builtin.int_(3),c.EPSILON=new Sk.builtin.float_(1e-4),c.MAX_FLOAT=new Sk.builtin.float_(34028235e31),c.MIN_FLOAT=new Sk.builtin.float_(-34028235e31),c.MAX_INT=new Sk.builtin.int_(2147483647),c.MIN_INT=new Sk.builtin.int_(-2147483648),c.HALF_PI=new Sk.builtin.float_(Math.PI/2),c.THIRD_PI=new Sk.builtin.float_(Math.PI/3),c.PI=new Sk.builtin.float_(Math.PI),c.TWO_PI=new Sk.builtin.float_(2*Math.PI),c.TAU=new Sk.builtin.float_(2*Math.PI),c.QUARTER_PI=new Sk.builtin.float_(Math.PI/4),c.DEG_TO_RAD=new Sk.builtin.float_(Math.PI/180),c.RAD_TO_DEG=new Sk.builtin.float_(180/Math.PI),c.WHITESPACE=new Sk.builtin.str(" \\t\\n\\r\\f "),c.POINT=new Sk.builtin.int_(2),c.POINTS=new Sk.builtin.int_(2),c.LINE=new Sk.builtin.int_(4),c.LINES=new Sk.builtin.int_(4),c.TRIANGLE=new Sk.builtin.int_(8),c.TRIANGLES=new Sk.builtin.int_(9),c.TRIANGLE_FAN=new Sk.builtin.int_(11),c.TRIANGLE_STRIP=new Sk.builtin.int_(10),c.QUAD=new Sk.builtin.int_(16),c.QUADS=new Sk.builtin.int_(16),c.QUAD_STRIP=new Sk.builtin.int_(17),c.POLYGON=new Sk.builtin.int_(20),c.PATH=new Sk.builtin.int_(21),c.RECT=new Sk.builtin.int_(30),c.ELLIPSE=new Sk.builtin.int_(31),c.ARC=new Sk.builtin.int_(32),c.SPHERE=new Sk.builtin.int_(40),c.BOX=new Sk.builtin.int_(41),c.GROUP=new Sk.builtin.int_(0),c.PRIMITIVE=new Sk.builtin.int_(1),c.GEOMETRY=new Sk.builtin.int_(3),c.VERTEX=new Sk.builtin.int_(0),c.BEZIER_VERTEX=new Sk.builtin.int_(1),c.CURVE_VERTEX=new Sk.builtin.int_(2),c.BREAK=new Sk.builtin.int_(3),c.CLOSESHAPE=new Sk.builtin.int_(4),c.REPLACE=new Sk.builtin.int_(0),c.BLEND=new Sk.builtin.int_(1),c.ADD=new Sk.builtin.int_(2),c.SUBTRACT=new Sk.builtin.int_(4),c.LIGHTEST=new Sk.builtin.int_(8),c.DARKEST=new Sk.builtin.int_(16),c.DIFFERENCE=new Sk.builtin.int_(32),c.EXCLUSION=new Sk.builtin.int_(64),c.MULTIPLY=new Sk.builtin.int_(128),c.SCREEN=new Sk.builtin.int_(256),c.OVERLAY=new Sk.builtin.int_(512),c.HARD_LIGHT=new Sk.builtin.int_(1024),c.SOFT_LIGHT=new Sk.builtin.int_(2048),c.DODGE=new Sk.builtin.int_(4096),c.BURN=new Sk.builtin.int_(8192),c.ALPHA_MASK=new Sk.builtin.int_(4278190080),c.RED_MASK=new Sk.builtin.int_(16711680),c.GREEN_MASK=new Sk.builtin.int_(65280),c.BLUE_MASK=new Sk.builtin.int_(255),c.CUSTOM=new Sk.builtin.int_(0),c.ORTHOGRAPHIC=new Sk.builtin.int_(2),c.PERSPECTIVE=new Sk.builtin.int_(3),c.ARROW=new Sk.builtin.str("default"),c.CROSS=new Sk.builtin.str("crosshair"),c.HAND=new Sk.builtin.str("pointer"),c.MOVE=new Sk.builtin.str("move"),c.TEXT=new Sk.builtin.str("text"),c.WAIT=new Sk.builtin.str("wait"),c.NOCURSOR=Sk.builtin.assk$("url(\'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==\'), auto"),c.DISABLE_OPENGL_2X_SMOOTH=new Sk.builtin.int_(1),c.ENABLE_OPENGL_2X_SMOOTH=new Sk.builtin.int_(-1),c.ENABLE_OPENGL_4X_SMOOTH=new Sk.builtin.int_(2),c.ENABLE_NATIVE_FONTS=new Sk.builtin.int_(3),c.DISABLE_DEPTH_TEST=new Sk.builtin.int_(4),c.ENABLE_DEPTH_TEST=new Sk.builtin.int_(-4),c.ENABLE_DEPTH_SORT=new Sk.builtin.int_(5),c.DISABLE_DEPTH_SORT=new Sk.builtin.int_(-5),c.DISABLE_OPENGL_ERROR_REPORT=new Sk.builtin.int_(6),c.ENABLE_OPENGL_ERROR_REPORT=new Sk.builtin.int_(-6),c.ENABLE_ACCURATE_TEXTURES=new Sk.builtin.int_(7),c.DISABLE_ACCURATE_TEXTURES=new Sk.builtin.int_(-7),c.HINT_COUNT=new Sk.builtin.int_(10),c.OPEN=new Sk.builtin.int_(1),c.CLOSE=new Sk.builtin.int_(2),c.BLUR=new Sk.builtin.int_(11),c.GRAY=new Sk.builtin.int_(12),c.INVERT=new Sk.builtin.int_(13),c.OPAQUE=new Sk.builtin.int_(14),c.POSTERIZE=new Sk.builtin.int_(15),c.THRESHOLD=new Sk.builtin.int_(16),c.ERODE=new Sk.builtin.int_(17),c.DILATE=new Sk.builtin.int_(18),c.BACKSPACE=new Sk.builtin.int_(8),c.TAB=new Sk.builtin.int_(9),c.ENTER=new Sk.builtin.int_(10),c.RETURN=new Sk.builtin.int_(13),c.ESC=new Sk.builtin.int_(27),c.DELETE=new Sk.builtin.int_(127),c.CODED=new Sk.builtin.int_(65535),c.SHIFT=new Sk.builtin.int_(16),c.CONTROL=new Sk.builtin.int_(17),c.ALT=new Sk.builtin.int_(18),c.CAPSLK=new Sk.builtin.int_(20),c.PGUP=new Sk.builtin.int_(33),c.PGDN=new Sk.builtin.int_(34),c.END=new Sk.builtin.int_(35),c.HOME=new Sk.builtin.int_(36),c.LEFT=new Sk.builtin.int_(37),c.UP=new Sk.builtin.int_(38),c.RIGHT=new Sk.builtin.int_(39),c.DOWN=new Sk.builtin.int_(40),c.F1=new Sk.builtin.int_(112),c.F2=new Sk.builtin.int_(113),c.F3=new Sk.builtin.int_(114),c.F4=new Sk.builtin.int_(115),c.F5=new Sk.builtin.int_(116),c.F6=new Sk.builtin.int_(117),c.F7=new Sk.builtin.int_(118),c.F8=new Sk.builtin.int_(119),c.F9=new Sk.builtin.int_(120),c.F10=new Sk.builtin.int_(121),c.F11=new Sk.builtin.int_(122),c.F12=new Sk.builtin.int_(123),c.NUMLK=new Sk.builtin.int_(144),c.META=new Sk.builtin.int_(157),c.INSERT=new Sk.builtin.int_(155),c.SINCOS_LENGTH=new Sk.builtin.int_(720),c.PRECISIONB=new Sk.builtin.int_(15),c.PRECISIONF=new Sk.builtin.int_(32768),c.PREC_MAXVAL=new Sk.builtin.int_(32767),c.PREC_ALPHA_SHIFT=new Sk.builtin.int_(9),c.PREC_RED_SHIFT=new Sk.builtin.int_(1),c.NORMAL_MODE_AUTO=new Sk.builtin.int_(0),c.NORMAL_MODE_SHAPE=new Sk.builtin.int_(1),c.NORMAL_MODE_VERTEX=new Sk.builtin.int_(2),c.MAX_LIGHTS=new Sk.builtin.int_(8),c.line=new Sk.builtin.func((function(n,i,e,t){c.processing.line(n.v,i.v,e.v,t.v)})),c.ellipse=new Sk.builtin.func((function(n,i,e,t){c.processing.ellipse(n.v,i.v,e.v,t.v)})),c.circle=new Sk.builtin.func((function(n,i,e){c.processing.ellipse(n.v,i.v,e.v,e.v)})),c.text=new Sk.builtin.func((function(n,i,e){c.processing.text(n.v,i.v,e.v)})),c.point=new Sk.builtin.func((function(n,i){c.processing.point(n.v,i.v)})),c.arc=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.arc(n.v,i.v,e.v,t.v,u.v,o.v)})),c.quad=new Sk.builtin.func((function(n,i,e,t,u,o,s,l){c.processing.quad(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v)})),c.rect=new Sk.builtin.func((function(n,i,e,t,u){"undefined"==typeof u?c.processing.rect(n.v,i.v,e.v,t.v):c.processing.rect(n.v,i.v,e.v,t.v,u.v)})),c.triangle=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.triangle(n.v,i.v,e.v,t.v,u.v,o.v)})),c.bezier=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r,v,f,S){"undefined"==typeof r?c.processing.bezier(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):c.processing.bezier(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v,f.v,S.v)})),c.alpha=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof i?new Sk.builtin.float_(c.processing.alpha(n.v)):"undefined"==typeof e?new Sk.builtin.float_(c.processing.alpha(n.v,i.v)):new Sk.builtin.float_(c.processing.alpha(n.v,i.v,e.v))})),c.ambient=new Sk.builtin.func((function(n,i,e){"undefined"==typeof i?c.processing.ambient(n.v):"undefined"==typeof e?c.processing.ambient(n.v,i.v):c.processing.ambient(n.v,i.v,e.v)})),c.ambientLight=new Sk.builtin.func((function(n,i,e,t,u,o){"undefined"==typeof t?c.processing.ambientLight(n.v,i.v,e.v):"undefined"==typeof u?c.processing.ambientLight(n.v,i.v,e.v,t.v):"undefined"==typeof o?c.processing.ambientLight(n.v,i.v,e.v,t.v,u.v):c.processing.ambientLight(n.v,i.v,e.v,t.v,u.v,o.v)})),c.beginCamera=new Sk.builtin.func((function(){c.processing.beginCamera()})),c.beginShape=new Sk.builtin.func((function(n){"undefined"==typeof n&&(n=c.POLYGON),c.processing.beginShape(n.v)})),c.bezierDetail=new Sk.builtin.func((function(n){n="undefined"!=typeof n?n.v:20,c.processing.bezierDetail(n)})),c.bezierPoint=new Sk.builtin.func((function(n,i,e,t,u){c.processing.bezierPoint(n.v,i.v,e.v,t.v,u.v)})),c.bezierTangent=new Sk.builtin.func((function(n,i,e,t,u){c.processing.bezierTangent(n.v,i.v,e.v,t.v,u.v)})),c.bezierVertex=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r){"undefined"==typeof s?c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v):"undefined"==typeof l?c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v,s.v):"undefined"==typeof r?c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):c.processing.bezierVertex(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v)})),c.blend=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r,v){n instanceof Sk.builtin.int_||n instanceof Sk.builtin.float_?c.processing.blend(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v):c.processing.blend(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v)})),c.blendColor=new Sk.builtin.func((function(n,i,e){var t=Sk.misceval.callsimArray(c.color,[new Sk.builtin.int_(0),new Sk.builtin.int_(0),new Sk.builtin.int_(0)]);return t.v=c.processing.blendColor(n.v,i.v,e.v),t})),c.brightness=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof i?new Sk.builtin.float_(c.processing.brightness(n.v)):"undefined"==typeof e?new Sk.builtin.float_(c.processing.brightness(n.v,i.v)):new Sk.builtin.float_(c.processing.brightness(n.v,i.v,e.v))})),c.camera=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r){"undefined"==typeof n?c.processing.camera():c.processing.camera(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v)})),c.constrain=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.constrain(n.v,i.v,e.v))})),c.copy=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r){n instanceof Sk.builtin.int_||n instanceof Sk.builtin.float_?c.processing.copy(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):c.processing.copy(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v)})),c.createFont=new Sk.builtin.func((function(n,i,e,t){var u=Sk.misceval.callsimArray(c.PFont);return u.v="undefined"==typeof e?c.processing.createFont(n.v,i.v):"undefined"==typeof t?c.processing.createFont(n.v,i.v,e.v):c.processing.createFont(n.v,i.v,e.v,t.v),u})),c.createGraphics=new Sk.builtin.func((function(n,i,e,t){var u=Sk.misceval.callsimArray(c.PGraphics);return u.v="undefined"==typeof t?c.processing.createGraphics(n.v,i.v,e.v):c.processing.createGraphics(n.v,i.v,e.v,t.v),u})),c.createImage=new Sk.builtin.func((function(n,i,e){var t=Sk.misceval.callsimArray(c.PImage);return t.v=c.processing.createImage(n.v,i.v,e.v),t})),c.cursor=new Sk.builtin.func((function(n,i,e){"undefined"==typeof n?c.processing.cursor():"undefined"==typeof i?c.processing.cursor(n.v):"undefined"==typeof e?c.processing.cursor(n.v,i.v):c.processing.cursor(n.v,i.v,e.v)})),c.curve=new Sk.builtin.func((function(n,i,e,t,u,o,s,l,r,v,f,S){"undefined"==typeof r?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v):"undefined"==typeof v?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v):"undefined"==typeof f?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v):"undefined"==typeof S?c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v,f.v):c.processing.curve(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v,r.v,v.v,f.v,S.v)})),c.curveDetail=new Sk.builtin.func((function(n){c.processing.curveDetail(n.v)})),c.curvePoint=new Sk.builtin.func((function(n,i,e,t,u){c.processing.curvePoint(n.v,i.v,e.v,t.v,u.v)})),c.curveTangent=new Sk.builtin.func((function(n,i,e,t,u){c.processing.curveTangent(n.v,i.v,e.v,t.v,u.v)})),c.curveTightness=new Sk.builtin.func((function(n){c.processing.curveTightness(n.v)})),c.curveVertex=new Sk.builtin.func((function(n,i,e){"undefined"==typeof e?c.processing.curveVertex(n.v,i.v):c.processing.curveVertex(n.v,i.v,e.v)})),c.day=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.day())})),c.degrees=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.degrees(n.v))})),c.directionalLight=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.directionalLight(n.v,i.v,e.v,t.v,u.v,o.v)})),c.dist=new Sk.builtin.func((function(n,i,e,t,u,o){return"undefined"==typeof u?new Sk.builtin.float_(c.processing.dist(n.v,i.v,e.v,t.v)):"undefined"==typeof o?new Sk.builtin.float_(c.processing.dist(n.v,i.v,e.v,t.v,u.v)):new Sk.builtin.float_(c.processing.dist(n.v,i.v,e.v,t.v,u.v,o.v))})),c.emissive=new Sk.builtin.func((function(n,i,e){"undefined"==typeof i?c.processing.emissive(n.v):"undefined"==typeof e?c.processing.emissive(n.v,i.v):c.processing.emissive(n.v,i.v,e.v)})),c.endCamera=new Sk.builtin.func((function(){c.processing.endCamera()})),c.endShape=new Sk.builtin.func((function(n){"undefined"==typeof n?c.processing.endShape():c.processing.endShape(n.v)})),c.filter=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.filter(n.v):c.processing.filter(n.v,i.v)})),c.frustum=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.frustum(n,i,e,t,u,o)})),c.hint=new Sk.builtin.func((function(n){c.processing.hint(n)})),c.hour=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.hour())})),c.hue=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.hue(n.v))})),c.imageMode=new Sk.builtin.func((function(n){c.processing.imageMode(n.v)})),c.lerp=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.lerp(n.v,i.v,e.v))})),c.lerpColor=new Sk.builtin.func((function(n,i,e){var t=Sk.misceval.callsimArray(c.color,[new Sk.builtin.int_(0),new Sk.builtin.int_(0),new Sk.builtin.int_(0)]);return t.v=c.processing.lerpColor(n.v,i.v,e.v),t})),c.lightFalloff=new Sk.builtin.func((function(n,i,e){c.processing.lightFalloff(n.v,i.v,e.v)})),c.lights=new Sk.builtin.func((function(){c.processing.lights()})),c.lightSpecular=new Sk.builtin.func((function(n,i,e){c.processing.lightSpecular(n.v,i.v,e.v)})),c.loadBytes=new Sk.builtin.func((function(n){return new Sk.builtin.list(c.processing.loadBytes(n.v))})),c.loadFont=new Sk.builtin.func((function(n){var i=Sk.misceval.callsimArray(c.PFont);return i.v=c.processing.loadFont(n.v),i})),c.loadShape=new Sk.builtin.func((function(n){return Sk.misceval.callsimArray(c.PShapeSVG,[new Sk.builtin.str("string"),n])})),c.loadStrings=new Sk.builtin.func((function(n){return new Sk.builtin.list(c.processing.loadStrings(n.v))})),c.mag=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof e?new Sk.builtin.float_(c.processing.mag(n.v,i.v)):new Sk.builtin.float_(c.processing.mag(n.v,i.v,e.v))})),c.map=new Sk.builtin.func((function(n,i,e,t,u){return new Sk.builtin.float_(c.processing.map(n.v,i.v,e.v,t.v,u.v))})),c.millis=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.millis())})),c.minute=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.minute())})),c.modelX=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.modelX(n.v,i.v,e.v))})),c.modelY=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.modelY(n.v,i.v,e.v))})),c.modelZ=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.modelZ(n.v,i.v,e.v))})),c.month=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.month())})),c.noCursor=new Sk.builtin.func((function(){c.processing.noCursor()})),c.noise=new Sk.builtin.func((function(n,i,e){return"undefined"==typeof i?new Sk.builtin.float_(c.processing.noise(n.v)):"undefined"==typeof e?new Sk.builtin.float_(c.processing.noise(n.v,i.v)):new Sk.builtin.float_(c.processing.noise(n.v,i.v,e.v))})),c.noiseDetail=new Sk.builtin.func((function(n,i){c.processing.noiseDetail(n.v,i.v)})),c.noiseSeed=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.noiseSeed(n.v))})),c.noLights=new Sk.builtin.func((function(){c.processing.noLights()})),c.norm=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.norm(n.v,i.v,e.v))})),c.normal=new Sk.builtin.func((function(n,i,e){c.processing.normal(n.v,i.v,e.v)})),c.noTint=new Sk.builtin.func((function(){c.processing.noTint()})),c.ortho=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.ortho(n.v,i.v,e.v,t.v,u.v,o.v)})),c.perspective=new Sk.builtin.func((function(n,i,e,t){"undefined"==typeof n?c.processing.perspective():"undefined"==typeof i?c.processing.perspective(n.v):"undefined"==typeof e?c.processing.perspective(n.v,i.v):"undefined"==typeof t?c.processing.perspective(n.v,i.v,e.v):c.processing.perspective(n.v,i.v,e.v,t.v)})),c.pointLight=new Sk.builtin.func((function(n,i,e,t,u,o){c.processing.pointLight(n.v,i.v,e.v,t.v,u.v,o.v)})),c.printCamera=new Sk.builtin.func((function(){c.processing.printCamera()})),c.println=new Sk.builtin.func((function(n){c.processing.println(n.v)})),c.printProjection=new Sk.builtin.func((function(){c.processing.printProjection()})),c.radians=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.radians(n.v))})),c.randomSeed=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.randomSeed(n.v))})),c.random=new Sk.builtin.func((function(n,i){return"undefined"==typeof n?new Sk.builtin.float_(c.processing.random()):"undefined"==typeof i?new Sk.builtin.float_(c.processing.random(n.v)):new Sk.builtin.float_(c.processing.random(n.v,i.v))})),c.requestImage=new Sk.builtin.func((function(n,i){var e=Sk.misceval.callsimArray(c.PImage);return e.v="undefined"==typeof i?c.processing.requestImage(n.v):c.processing.requestImage(n.v,i.v),e})),c.saturation=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.saturation(n.v))})),c.save=new Sk.builtin.func((function(n){c.processing.save(n.v)})),c.saveFrame=new Sk.builtin.func((function(n){"undefined"==typeof n?c.processing.saveFrame():c.processing.saveFrame(n.v)})),c.saveStrings=new Sk.builtin.func((function(n,i){c.processing.saveStrings(n.v,i.v)})),c.screenX=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.screenX(n.v,i.v,e.v))})),c.screenY=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.screenY(n.v,i.v,e.v))})),c.screenZ=new Sk.builtin.func((function(n,i,e){return new Sk.builtin.float_(c.processing.screenZ(n.v,i.v,e.v))})),c.second=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.second())})),c.shape=new Sk.builtin.func((function(n,i,e,t,u){"undefined"==typeof i?c.processing.shape(n.v):"undefined"==typeof e?c.processing.shape(n.v,i.v):"undefined"==typeof t?c.processing.shape(n.v,i.v,e.v):"undefined"==typeof u?c.processing.shape(n.v,i.v,e.v,t.v):c.processing.shape(n.v,i.v,e.v,t.v,u.v)})),c.shapeMode=new Sk.builtin.func((function(n){c.processing.shapeMode(n.v)})),c.shininess=new Sk.builtin.func((function(n){c.processing.shininess(n.v)})),c.specular=new Sk.builtin.func((function(n,i,e){"undefined"==typeof i?c.processing.specular(n.v):"undefined"==typeof e?c.processing.specular(n.v,i.v):c.processing.specular(n.v,i.v,e.v)})),c.spotLight=new Sk.builtin.func((function(n,i,e,t,u,o,s,l){c.processing.spotLight(n.v,i.v,e.v,t.v,u.v,o.v,s.v,l.v)})),c.sq=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.sq(n))})),c.status=new Sk.builtin.func((function(n){c.processing.status(n.v)})),c.textAlign=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.textAlign(n.v):c.processing.textAlign(n.v,i.v)})),c.textAscent=new Sk.builtin.func((function(){return new Sk.builtin.float_(c.processing.textAscent())})),c.textDescent=new Sk.builtin.func((function(){return new Sk.builtin.float_(c.processing.textDescent())})),c.textFont=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.textFont(n.v):c.processing.textFont(n.v,i.v)})),c.textLeading=new Sk.builtin.func((function(n){c.processing.textLeading(n.v)})),c.textMode=new Sk.builtin.func((function(n){c.processing.textMode(n.v)})),c.textSize=new Sk.builtin.func((function(n){c.processing.textSize(n.v)})),c.texture=new Sk.builtin.func((function(n){c.processing.texture(n.v)})),c.textureMode=new Sk.builtin.func((function(n){c.processing.textureMode(n.v)})),c.textWidth=new Sk.builtin.func((function(n){return new Sk.builtin.float_(c.processing.textWidth(n.v))})),c.tint=new Sk.builtin.func((function(n,i,e,t){"undefined"==typeof i?c.processing.tint(n.v):"undefined"==typeof e?c.processing.tint(n.v,i.v):"undefined"==typeof t?c.processing.tint(n.v,i.v,e.v):c.processing.tint(n.v,i.v,e.v,t.v)})),c.updatePixels=new Sk.builtin.func((function(){c.processing.updatePixels()})),c.vertex=new Sk.builtin.func((function(n,i,e,t,u){"undefined"==typeof e?c.processing.vertex(n.v,i.v):"undefined"==typeof t?c.processing.vertex(n.v,i.v,e.v):"undefined"==typeof u?c.processing.vertex(n.v,i.v,e.v,t.v):c.processing.vertex(n.v,i.v,e.v,t.v,u.v)})),c.year=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.year())})),c.box=new Sk.builtin.func((function(n){c.processing.box(n.v)})),c.sphere=new Sk.builtin.func((function(n){c.processing.sphere(n.v)})),c.sphereDetail=new Sk.builtin.func((function(n,i){"undefined"==typeof i?c.processing.sphereDetail(n.v):c.processing.sphereDetail(n.v,i.v)})),c.background=new Sk.builtin.func((function(n,i,e){"undefined"!=typeof i&&(i=i.v),"undefined"!=typeof e&&(e=e.v),c.processing.background(n.v,i,e)})),c.fill=new Sk.builtin.func((function(n,i,e,t){"undefined"!=typeof i&&(i=i.v),"undefined"!=typeof e&&(e=e.v),"undefined"!=typeof t&&(t=t.v),c.processing.fill(n.v,i,e,t)})),c.stroke=new Sk.builtin.func((function(n,i,e,t){"undefined"!=typeof i&&(i=i.v),"undefined"!=typeof e&&(e=e.v),"undefined"!=typeof t&&(t=t.v),c.processing.stroke(n.v,i,e,t)})),c.noStroke=new Sk.builtin.func((function(){c.processing.noStroke()})),c.colorMode=new Sk.builtin.func((function(n,i,e,t,u){i="undefined"==typeof i?255:i.v,"undefined"!=typeof e&&(e=e.v),"undefined"!=typeof t&&(t=t.v),"undefined"!=typeof u&&(u=u.v),c.processing.colorMode(n.v,i,e,t,u)})),c.noFill=new Sk.builtin.func((function(){c.processing.noFill()})),c.loop=new Sk.builtin.func((function(){if(null===c.processing)throw new Sk.builtin.Exception("loop() should be called after run()");v=!0,c.processing.loop()})),c.noLoop=new Sk.builtin.func((function(){if(null===c.processing)throw new Sk.builtin.Exception("noLoop() should be called after run()");v=!1,c.processing.noLoop()})),c.frameRate=new Sk.builtin.func((function(n){c.processing.frameRate(n.v)})),c.width=new Sk.builtin.int_(0),c.height=new Sk.builtin.int_(0),c.renderMode=c.P2D,c.size=new Sk.builtin.func((function(n,i,e){"undefined"==typeof e&&(e=c.P2D),c.processing.size(n.v,i.v,e.v),c.width=new Sk.builtin.int_(c.processing.width),c.height=new Sk.builtin.int_(c.processing.height),c.renderMode=e})),c.exitp=new Sk.builtin.func((function(){c.processing.exit()})),c.mouseX=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.mouseX)})),c.mouseY=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.mouseY)})),c.pmouseX=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.pmouseX)})),c.pmouseY=new Sk.builtin.func((function(){return new Sk.builtin.int_(c.processing.pmouseY)})),c.rectMode=new Sk.builtin.func((function(n){c.processing.rectMode(n.v)})),c.strokeWeight=new Sk.builtin.func((function(n){c.processing.strokeWeight(n.v)})),c.smooth=new Sk.builtin.func((function(){c.processing.smooth()})),c.noSmooth=new Sk.builtin.func((function(){c.processing.noSmooth()})),c.ellipseMode=new Sk.builtin.func((function(n){c.processing.ellipseMode(n.v)})),c.strokeCap=new Sk.builtin.func((function(n){c.processing.strokeCap(n.v)})),c.strokeJoin=new Sk.builtin.func((function(n){c.processing.strokeJoin(n.v)})),c.rotate=new Sk.builtin.func((function(n){c.processing.rotate(n.v)})),c.rotateX=new Sk.builtin.func((function(n){c.processing.rotateX(n.v)})),c.rotateY=new Sk.builtin.func((function(n){c.processing.rotateY(n.v)})),c.rotateZ=new Sk.builtin.func((function(n){c.processing.rotateZ(n.v)})),c.scale=new Sk.builtin.func((function(n,i,e){i="undefined"==typeof i?1:i.v,e="undefined"==typeof e?1:e.v,c.processing.scale(n.v,i,e)})),c.translate=new Sk.builtin.func((function(n,i,e){i="undefined"==typeof i?1:i.v,e="undefined"==typeof e?1:e.v,c.processing.translate(n.v,i,e)})),c.popMatrix=new Sk.builtin.func((function(){c.processing.popMatrix()})),c.pushMatrix=new Sk.builtin.func((function(){c.processing.pushMatrix()})),c.applyMatrix=new Sk.builtin.func((function(){var n,i=Array.prototype.slice.call(arguments,0,16);for(n=0;n>>0,this.mti=1;this.mti>>30,this.mt[this.mti]=(1812433253*((4294901760&n)>>>16)<<16)+1812433253*(65535&n)+this.mti,this.mt[this.mti]>>>=0},MersenneTwister.prototype.init_by_array=function(n,t){var i,e,r;for(this.init_genrand(19650218),i=1,e=0,r=this.N>t?this.N:t;r;r--){var u=this.mt[i-1]^this.mt[i-1]>>>30;this.mt[i]=(this.mt[i]^(1664525*((4294901760&u)>>>16)<<16)+1664525*(65535&u))+n[e]+e,this.mt[i]>>>=0,e++,++i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1),e>=t&&(e=0)}for(r=this.N-1;r;r--){u=this.mt[i-1]^this.mt[i-1]>>>30;this.mt[i]=(this.mt[i]^(1566083941*((4294901760&u)>>>16)<<16)+1566083941*(65535&u))-i,this.mt[i]>>>=0,++i>=this.N&&(this.mt[0]=this.mt[this.N-1],i=1)}this.mt[0]=2147483648},MersenneTwister.prototype.genrand_int32=function(){var n,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var i;for(this.mti==this.N+1&&this.init_genrand(5489),i=0;i>>1^t[1&n];for(;i>>1^t[1&n];n=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^n>>>1^t[1&n],this.mti=0}return n=this.mt[this.mti++],n^=n>>>11,n^=n<<7&2636928640,n^=n<<15&4022730752,(n^=n>>>18)>>>0},MersenneTwister.prototype.genrand_int31=function(){return this.genrand_int32()>>>1},MersenneTwister.prototype.genrand_real1=function(){return this.genrand_int32()*(1/4294967295)},MersenneTwister.prototype.random=function(){return this.genrand_int32()*(1/4294967296)},MersenneTwister.prototype.genrand_real3=function(){return(this.genrand_int32()+.5)*(1/4294967296)},MersenneTwister.prototype.genrand_res53=function(){return(67108864*(this.genrand_int32()>>>5)+(this.genrand_int32()>>>6))*(1/9007199254740992)};var $builtinmodule=function(n){var t={},i=new MersenneTwister,e=void 0;t.seed=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("seed",arguments.length,0,1),n=Sk.builtin.asnum$(n),i=arguments.length>0?new MersenneTwister(n):new MersenneTwister,Sk.builtin.none.none$})),t.random=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("random",arguments.length,0,0),new Sk.builtin.float_(i.genrand_res53())}));var toInt=function(n){return 0|n},randrange=function(n,t,e){var r,u,s;if(!Sk.builtin.checkInt(n))throw new Sk.builtin.ValueError("non-integer first argument for randrange()");if(void 0===t)return s=toInt(i.genrand_res53()*n),new Sk.builtin.int_(s);if(!Sk.builtin.checkInt(t))throw new Sk.builtin.ValueError("non-integer stop for randrange()");if(void 0===e&&(e=1),r=t-n,1==e&&r>0)return s=n+toInt(i.genrand_res53()*r),new Sk.builtin.int_(s);if(1==e)throw new Sk.builtin.ValueError("empty range for randrange() ("+n+", "+t+", "+r+")");if(!Sk.builtin.checkInt(e))throw new Sk.builtin.ValueError("non-integer step for randrange()");if(e>0)u=toInt((r+e-1)/e);else{if(!(e<0))throw new Sk.builtin.ValueError("zero step for randrange()");u=toInt((r+e+1)/e)}if(u<=0)throw new Sk.builtin.ValueError("empty range for randrange()");return s=n+e*toInt(i.genrand_res53()*u),new Sk.builtin.int_(s)};t.randint=new Sk.builtin.func((function(n,t){return Sk.builtin.pyCheckArgsLen("randint",arguments.length,2,2),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),randrange(n,t+1)})),t.randrange=new Sk.builtin.func((function(n,t,i){return Sk.builtin.pyCheckArgsLen("randrange",arguments.length,1,3),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),i=Sk.builtin.asnum$(i),randrange(n,t,i)})),t.uniform=new Sk.builtin.func((function(n,t){Sk.builtin.pyCheckArgsLen("uniform",arguments.length,2,2),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t);const e=n+i.genrand_res53()*(t-n);return new Sk.builtin.float_(e)})),t.triangular=new Sk.builtin.func((function(n,t,e){var r,u,s;return Sk.builtin.pyCheckArgsLen("triangular",arguments.length,2,3),Sk.builtin.pyCheckType("low","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("high","number",Sk.builtin.checkNumber(t)),(n=Sk.builtin.asnum$(n))>(t=Sk.builtin.asnum$(t))&&(s=n,n=t,t=s),void 0===e||e===Sk.builtin.none.none$?e=(t-n)/2:(Sk.builtin.pyCheckType("mode","number",Sk.builtin.checkNumber(e)),e=Sk.builtin.asnum$(e)),u=(r=i.genrand_res53())<(e-n)/(t-n)?n+Math.sqrt(r*(t-n)*(e-n)):t-Math.sqrt((1-r)*(t-n)*(t-e)),new Sk.builtin.float_(u)}));var normalSample=function(n,t){var r,u,s,h,l;return void 0!==e?(l=e,e=void 0):(r=i.genrand_res53(),u=i.genrand_res53(),s=Math.sqrt(-2*Math.log(r)),h=2*Math.PI*u,l=s*Math.cos(h),e=s*Math.sin(h)),n+t*l};return t.gauss=new Sk.builtin.func((function(n,t){return Sk.builtin.pyCheckArgsLen("gauss",arguments.length,2,2),Sk.builtin.pyCheckType("mu","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("sigma","number",Sk.builtin.checkNumber(t)),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),new Sk.builtin.float_(normalSample(n,t))})),t.normalvariate=t.gauss,t.lognormvariate=new Sk.builtin.func((function(n,t){return Sk.builtin.pyCheckArgsLen("lognormvariate",arguments.length,2,2),Sk.builtin.pyCheckType("mu","number",Sk.builtin.checkNumber(n)),Sk.builtin.pyCheckType("sigma","number",Sk.builtin.checkNumber(t)),n=Sk.builtin.asnum$(n),t=Sk.builtin.asnum$(t),new Sk.builtin.float_(Math.exp(normalSample(n,t)))})),t.expovariate=new Sk.builtin.func((function(n){Sk.builtin.pyCheckArgsLen("expovariate",arguments.length,1,1),Sk.builtin.pyCheckType("lambd","number",Sk.builtin.checkNumber(n)),n=Sk.builtin.asnum$(n);var t=i.genrand_res53();return new Sk.builtin.float_(-Math.log(t)/n)})),t.choice=new Sk.builtin.func((function(n){if(Sk.builtin.pyCheckArgsLen("choice",arguments.length,1,1),Sk.builtin.pyCheckType("seq","sequence",Sk.builtin.checkSequence(n)),void 0!==n.sq$length){var t=new Sk.builtin.int_(toInt(i.genrand_res53()*n.sq$length()));return n.mp$subscript(t)}throw new Sk.builtin.TypeError("object has no length")})),t.shuffle=new Sk.builtin.func((function(n){if(Sk.builtin.pyCheckArgsLen("shuffle",arguments.length,1,1),Sk.builtin.pyCheckType("x","sequence",Sk.builtin.checkSequence(n)),n.constructor===Sk.builtin.list){const u=n.v;for(var t=u.length-1;t>0;t-=1){var e=u[r=toInt(i.genrand_res53()*(t+1))];u[r]=u[t],u[t]=e}}else{if(void 0===n.sq$length)throw new Sk.builtin.TypeError("object has no length");if(void 0===n.mp$ass_subscript)throw new Sk.builtin.TypeError("object is immutable");for(t=n.sq$length()-1;t>0;t-=1){var r=new Sk.builtin.int_(toInt(i.genrand_res53()*(t+1)));t=new Sk.builtin.int_(t);e=n.mp$subscript(r);n.mp$ass_subscript(r,n.mp$subscript(t)),n.mp$ass_subscript(t,e)}}return Sk.builtin.none.none$})),t.sample=new Sk.builtin.func((function(n,t){var e,r,u,s,h;for(Sk.builtin.pyCheckArgsLen("sample",arguments.length,2,2),Sk.builtin.pyCheckType("population","iterable",Sk.builtin.checkIterable(n)),Sk.builtin.pyCheckType("k","integer",Sk.builtin.checkInt(t)),t=Sk.builtin.asnum$(t),h=[],e=0,s=(u=Sk.abstr.iter(n)).tp$iternext();void 0!==s;e++,s=u.tp$iternext())r=Math.floor(i.genrand_res53()*(e+1)),enew pyStr(e))))},_value2member={},RegexFlagMeta=buildNativeClass("RegexFlagMeta",{constructor:function RegexFlagMeta(){},base:pyType,slots:{tp$iter(){const e=Object.values(_members)[Symbol.iterator]();return new pyIterator((()=>e.next().value))},sq$contains(e){if(!(e instanceof this))throw new TypeError("unsupported operand type(s) for \'in\': \'"+typeName(e)+"\' and \'"+typeName(this)+"\'");return Object.values(_members).includes(e)}}});re.RegexFlag=buildNativeClass("RegexFlag",{meta:RegexFlagMeta,base:pyInt,constructor:function RegexFlag(e){const t=_value2member[e];if(t)return t;this.v=e,_value2member[e]=this},slots:{tp$new(e,t){checkOneArg("RegexFlag",e,t);const r=e[0].valueOf();if(!checkInt(r))throw new ValueError(objectRepr(r)+" is not a valid RegexFlag");return new re.RegexFlag(r)},$r(){let e=this.valueOf();const t=e<0;e=t?~e:e;const r=[];Object.entries(_members).forEach((([t,n])=>{const s=n.valueOf();e&s&&(e&=~s,r.push("re."+t))})),e&&r.push(hex(e).toString());let n=r.join("|");return t&&(n=r.length>1?"~("+n+")":"~"+n),new pyStr(n)},sq$contains(e){if(!(e instanceof re.RegexFlag))throw new TypeError("\'in\' requires a RegexFlag not "+typeName(e));return this.nb$and(e)===e},nb$and:flagBitSlot(((e,t)=>e&t),JSBI.bitwiseAnd),nb$or:flagBitSlot(((e,t)=>e|t),JSBI.bitwiseOr),nb$xor:flagBitSlot(((e,t)=>e^t),JSBI.bitwiseXor),nb$invert:function(){const e=this.v;return"number"==typeof e?new re.RegexFlag(~e):new re.RegexFlag(JSBI.bitwiseNot(e))}},proto:{valueOf(){return this.v}},flags:{sk$acceptable_as_base_class:!1}}),re.TEMPLATE=re.T=new re.RegexFlag(1),re.IGNORECASE=re.I=new re.RegexFlag(2),re.LOCALE=re.L=new re.RegexFlag(4),re.MULTILINE=re.M=new re.RegexFlag(8),re.DOTALL=re.S=new re.RegexFlag(16),re.UNICODE=re.U=new re.RegexFlag(32),re.VERBOSE=re.X=new re.RegexFlag(64),re.DEBUG=new re.RegexFlag(128),re.ASCII=re.A=new re.RegexFlag(256);const _members={ASCII:re.A,IGNORECASE:re.I,LOCALE:re.L,UNICODE:re.U,MULTILINE:re.M,DOTALL:re.S,VERBOSE:re.X,TEMPLATE:re.T,DEBUG:re.DEBUG};function flagBitSlot(e,t){return function(r){if(r instanceof re.RegexFlag||r instanceof pyInt){let n=this.v,s=r.v;if("number"==typeof n&&"number"==typeof s){let t=e(n,s);return t<0&&(t+=4294967296),new re.RegexFlag(t)}return n=JSBI.BigUp(n),s=JSBI.BigUp(s),new re.RegexFlag(JSBI.numberIfSafe(t(n,s)))}return pyNotImplemented}}const jsFlags={i:re.I,m:re.M,s:re.S,u:re.U},jsInlineFlags={i:re.I,a:re.A,s:re.S,L:re.L,m:re.M,u:re.U,x:re.X};RegExp.prototype.hasOwnProperty("sticky")||delete jsFlags.s,RegExp.prototype.hasOwnProperty("unicode")||delete jsFlags.u;const flagFails=Object.entries({"cannot use LOCALE flag with a str pattern":re.L,"ASCII and UNICODE flags are incompatible":new re.RegexFlag(re.A.valueOf()|re.U.valueOf())}),inline_regex=/\\(\\?([isamux]+)\\)/g;function adjustFlags(e,t){let r=e.toString(),n="g",s=0;return r=r.replace(inline_regex,((e,t)=>{for(let r of t){const e=jsInlineFlags[r];s|=e.valueOf()}return""})),flagFails.forEach((([e,t])=>{if((t.valueOf()&s)===t.valueOf())throw new re.error("bad bad inline flags: "+e)})),t=numberBinOp(new re.RegexFlag(s),t,"BitOr"),flagFails.forEach((([e,r])=>{if(numberBinOp(r,t,"BitAnd")===r)throw new ValueError(e)})),numberBinOp(re.A,t,"BitAnd")!==re.A&&(t=numberBinOp(re.U,t,"BitOr")),Object.entries(jsFlags).forEach((([e,r])=>{numberBinOp(r,t,"BitAnd")===r&&(n+=e)})),t=new re.RegexFlag(t.valueOf()),[r,n,t]}let neg_lookbehind_A="(?)(?!(?:\\]|[^\\[]*[^\\\\]\\]))/g,py_to_js_unicode_escape=/\\\\[\\t\\r\\n \\v\\f#&~"\'!:,;`<>]|\\\\-(?!(?:\\]|[^\\[]*[^\\\\]\\]))/g,quantifierErrors=/Incomplete quantifier|Lone quantifier/g,_compiled_patterns=Object.create(null);function compile_pattern(e,t){let r,n;[r,n,t]=adjustFlags(e,t);const s=_compiled_patterns[e.toString()];if(s&&s.$flags===t)return s;const i={};let o,a;r="_"+r,r=r.replace(initialUnescapedBracket,"$1$2\\\\]$3"),r=r.replace(py_to_js_regex,((t,r,n,s,o,a)=>{switch(n){case"\\\\A":return r+neg_lookbehind_A+"^";case"\\\\Z":return r+"$(?!\\\\n)";case"{,":return r+"{0,";case"$":return r+"(?:(?=\\\\n$)|$)";default:if(n.endsWith(">"))return i[o]=!0,r+"(?<"+o+">";if(!i[s])throw new re.error("unknown group name "+s+" at position "+a+1,e,new pyInt(a+1));return r+"\\\\k<"+s+">"}})),r=r.slice(1);let l=r;n.includes("u")&&(l=r.replace(py_to_js_unicode_escape,(e=>{switch(e){case"\\\\ ":return" ";case"\\\\\\t":return"\\\\t";case"\\\\\\n":return"\\\\n";case"\\\\\\v":return"\\\\v";case"\\\\\\f":return"\\\\f";case"\\\\r":return"\\\\r";default:return e.slice(1)}})));try{o=new RegExp(l,n)}catch(g){if(!quantifierErrors.test(g.message))throw a=g.message.substring(g.message.lastIndexOf(":")+2)+" in pattern: "+e.toString(),new re.error(a,e);try{o=new RegExp(r,n.replace("u",""))}catch(g){throw a=g.message.substring(g.message.lastIndexOf(":")+2)+" in pattern: "+e.toString(),new re.error(a,e)}}const p=new re.Pattern(o,e,t);return _compiled_patterns[e.toString()]=p,p}function _compile(e,t){if(e instanceof re.Pattern){if(t!==zero||t.valueOf())throw new ValueError("cannot process flags argument with compiled pattern");return e}if(!checkString(e))throw new TypeError("first argument must be string or compiled pattern");return compile_pattern(e,t)}re.error=buildNativeClass("re.error",{base:Exception,constructor:function error(e,t,r){this.$pattern=t,this.$msg=e,this.$pos=r||pyNone,Exception.call(this,e)},slots:{tp$doc:"Exception raised for invalid regular expressions.\\n\\n Attributes:\\n\\n msg: The unformatted error message\\n pattern: The regular expression pattern\\n",tp$init(e,t){const[r,n,s]=copyKeywordToNamedArgs("re.error",["msg","pattern","pos"],e,t,[pyNone,pyNone]);this.$pattern=n,this.$pos=s,this.$msg=r}},getsets:{msg:{$get(){return this.$msg}},pattern:{$get(){return this.$pattern}},pos:{$get(){return this.$pos}}}});const zero=new pyInt(0),maxsize=Number.MAX_SAFE_INTEGER;re.Pattern=buildNativeClass("re.Pattern",{constructor:function(e,t,r){this.v=e,this.str=t,this.$flags=r,this.$groups=null,this.$groupindex=null},slots:{$r(){const e=objectRepr(this.str).slice(0,200),t=objectRepr(this.$flags.nb$and(re.U.nb$invert()));return new pyStr("re.compile("+e+(t?", "+t:"")+")")},tp$richcompare(e,t){if("Eq"!==t&&"NotEq"!==t||!(e instanceof re.Pattern))return pyNotImplemented;const r=this.str===e.str&&this.$flags===e.$flags;return"Eq"===t?r:!r},tp$hash(){},tp$doc:"Compiled regular expression object."},methods:{match:{$meth:function match(e,t,r){return this.$match(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Matches zero or more characters at the beginning of the string."},fullmatch:{$meth:function fullmatch(e,t,r){return this.full$match(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Matches against all of the string."},search:{$meth:function search(e,t,r){return this.$search(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Scan through string looking for a match, and return a corresponding match object instance.\\n\\nReturn None if no position in the string matches."},sub:{$meth:function sub(e,t,r){return this.$sub(e,t,r)},$flags:{NamedArgs:["repl","string","count"],Defaults:[zero]},$textsig:"($self, /, repl, string, count=0)",$doc:"Return the string obtained by replacing the leftmost non-overlapping occurrences of pattern in string by the replacement repl."},subn:{$meth:function(e,t,r){return this.$subn(e,t,r)},$flags:{NamedArgs:["repl","string","count"],Defaults:[zero]},$textsig:"($self, /, repl, string, count=0)",$doc:"Return the tuple (new_string, number_of_subs_made) found by replacing the leftmost non-overlapping occurrences of pattern with the replacement repl."},findall:{$meth:function findall(e,t,r){return this.find$all(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Return a list of all non-overlapping matches of pattern in string."},split:{$meth:function split(e,t){return this.$split(e,t)},$flags:{NamedArgs:["string","maxsplit"],Defaults:[zero]},$textsig:"($self, /, string, maxsplit=0)",$doc:"Split string by the occurrences of pattern."},finditer:{$meth:function finditer(e,t,r){return this.find$iter(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:"Return an iterator over all non-overlapping matches for the RE pattern in string.\\n\\nFor each match, the iterator returns a match object."},scanner:{$meth:function scanner(e,t,r){return this.$scanner(e,t,r)},$flags:{NamedArgs:["string","pos","endpos"],Defaults:[zero,maxsize]},$textsig:"($self, /, string, pos=0, endpos=sys.maxsize)",$doc:null},__copy__:{$meth:function copy(){return this},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:null},__deepcopy__:{$meth:function(){return this},$flags:{OneArg:!0},$textsig:"($self, memo, /)",$doc:null}},getsets:{pattern:{$get(){return this.str},$doc:"The pattern string from which the RE object was compiled."},flags:{$get(){return this.$flags},$doc:"The regex matching flags."},groups:{$get(){if(null===this.$groups){const e=(this.str.v.match(this.group$regex)||[]).length;this.$groups=new pyInt(e)}return this.$groups},$doc:"The number of capturing groups in the pattern."},groupindex:{$get(){if(null===this.$groupindex){const e=this.str.v.matchAll(this.group$regex),t=[];let r=1;for(const n of e)n[1]&&(t.push(new pyStr(n[1])),t.push(new pyInt(r))),r++;this.$groupindex=new pyMappingProxy(new pyDict(t))}return this.$groupindex},$doc:"A dictionary mapping group names to group numbers."}},proto:{group$regex:/\\((?!\\?(?!P<).*)(?:\\?P<([^\\d\\W]\\w*)>)?(?![^\\[]*\\])/g,get$count:e=>(e=asIndexSized(e,OverflowError))||Number.POSITIVE_INFINITY,get$jsstr(e,t,r){if(!checkString(e))throw new TypeError("expected string or bytes-like object");if(t===zero&&r===maxsize||void 0===t&&void 0===r)return{jsstr:e.toString(),pos:zero.valueOf(),endpos:e.sq$length()};const{start:n,end:s}=pySlice.startEnd$wrt(e,t,r);return{jsstr:e.toString().slice(n,s),pos:n,endpos:s}},find$all(e,t,r){let{jsstr:n}=this.get$jsstr(e,t,r);const s=this.v,i=n.matchAll(s),o=[];for(let a of i)o.push(1===a.length?new pyStr(a[0]):2===a.length?new pyStr(a[1]):new pyTuple(a.slice(1).map((e=>new pyStr(e)))));return new pyList(o)},$split(e,t){t=(t=asIndexSized(t))||Number.POSITIVE_INFINITY;let{jsstr:r}=this.get$jsstr(e);const n=this.v,s=[];let i,o=0,a=0;for(;null!==(i=n.exec(r))&&o1&&s.push(...i.slice(1).map((e=>void 0===e?pyNone:new pyStr(e)))),o++,a=n.lastIndex,i.index===n.lastIndex){if(!r)break;r=r.slice(i.index),a=0,n.lastIndex=1}return n.lastIndex=0,s.push(new pyStr(r.slice(a))),new pyList(s)},match$from_repl(e,t,r,n){let s;const i=e[e.length-1];return"object"==typeof i?(s=e.slice(0,e.length-3),Object.assign(s,{groups:i}),s.index=e[e.length-3]):(s=e.slice(0,e.length-2),s.groups=void 0,s.index=e[e.length-2]),new re.Match(s,this.str,t,r,n)},do$sub(e,t,r){const{jsstr:n,pos:s,endpos:i}=this.get$jsstr(t);let o;checkCallable(e)?o=t=>{const r=pyCall(e,[t]);if(!checkString(r))throw new TypeError("expected str instance, "+typeName(r)+" found");return r.toString()}:(e=this.get$jsstr(e).jsstr,o=t=>t.template$repl(e)),r=this.get$count(r);let a=0;const l=n.replace(this.v,((...e)=>{if(a>=r)return e[0];a++;const n=this.match$from_repl(e,t,s,i);return o(n)}));return[new pyStr(l),new pyInt(a)]},$sub(e,t,r){const[n]=this.do$sub(e,t,r);return n},$subn(e,t,r){return new pyTuple(this.do$sub(e,t,r))},do$match(e,t,r,n){let s;({jsstr:s,pos:r,endpos:n}=this.get$jsstr(t,r,n));const i=s.match(e);return null===i?pyNone:new re.Match(i,this,t,r,n)},$search(e,t,r){var n=new RegExp(this.v.source,this.v.flags.replace("g",""));return this.do$match(n,e,t,r)},$match(e,t,r){let n=this.v.source,s=this.v.flags.replace("g","").replace("m","");n="^"+n;var i=new RegExp(n,s);return this.do$match(i,e,t,r)},full$match(e,t,r){let n=this.v.source,s=this.v.flags.replace("g","").replace("m","");n="^(?:"+n+")$";var i=new RegExp(n,s);return this.do$match(i,e,t,r)},find$iter(e,t,r){let n;({jsstr:n,pos:t,endpos:r}=this.get$jsstr(e,t,r));const s=n.matchAll(this.v);return new pyIterator((()=>{const n=s.next().value;if(void 0!==n)return new re.Match(n,this,e,t,r)}))}},flags:{sk$acceptable_as_base_class:!1}}),re.Match=buildNativeClass("re.Match",{constructor:function(e,t,r,n,s){this.v=e,this.$match=new pyStr(this.v[0]),this.str=r,this.$re=t,this.$pos=n,this.$endpos=s,this.$groupdict=null,this.$groups=null,this.$lastindex=null,this.$lastgroup=null,this.$regs=null},slots:{tp$doc:"The result of re.match() and re.search().\\nMatch objects always have a boolean value of True.",$r(){let e="",new pyStr(e)},tp$as_squence_or_mapping:!0,mp$subscript(e){const t=this.get$group(e);return void 0===t?pyNone:new pyStr(t)}},methods:{group:{$meth:function group(...e){let t;return e.length<=1?(t=this.get$group(e[0]),void 0===t?pyNone:new pyStr(t)):(t=[],e.forEach((e=>{e=this.get$group(e),t.push(void 0===e?pyNone:new pyStr(e))})),new pyTuple(t))},$flags:{MinArgs:0},$textsig:null,$doc:"group([group1, ...]) -> str or tuple.\\n Return subgroup(s) of the match by indices or names.\\n For 0 returns the entire match."},start:{$meth:function start(e){const t=this.get$group(e);return new pyInt(void 0===t?-1:this.str.v.indexOf(t,this.v.index+this.$pos))},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, group=0, /)",$doc:"Return index of the start of the substring matched by group."},end:{$meth:function end(e){const t=this.get$group(e);return new pyInt(void 0===t?-1:this.str.v.indexOf(t,this.v.index+this.$pos)+[...t].length)},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, group=0, /)",$doc:"Return index of the end of the substring matched by group."},span:{$meth:function span(e){return this.$span(e)},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, group=0, /)",$doc:"For match object m, return the 2-tuple (m.start(group), m.end(group))."},groups:{$meth:function groups(e){return null!==this.$groups||(this.$groups=Array.from(this.v.slice(1),(t=>void 0===t?e:new pyStr(t))),this.$groups=new pyTuple(this.$groups)),this.$groups},$flags:{NamedArgs:["default"],Defaults:[pyNone]},$textsig:"($self, /, default=None)",$doc:"Return a tuple containing all the subgroups of the match, from 1.\\n\\n default\\n Is used for groups that did not participate in the match."},groupdict:{$meth:function groupdict(e){if(null!==this.$groupdict)return this.$groupdict;if(void 0===this.v.groups)this.$groupdict=new pyDict;else{const t=[];Object.entries(this.v.groups).forEach((([r,n])=>{t.push(new pyStr(r)),t.push(void 0===n?e:new pyStr(n))})),this.$groupdict=new pyDict(t)}return this.$groupdict},$flags:{NamedArgs:["default"],Defaults:[pyNone]},$textsig:"($self, /, default=None)",$doc:"Return a dictionary containing all the named subgroups of the match, keyed by the subgroup name.\\n\\n default\\n Is used for groups that did not participate in the match."},expand:{$meth:function expand(e){if(!checkString(e))throw new TypeError("expected str instance got "+typeName(e));return e=e.toString(),e=this.template$repl(e),new pyStr(e)},$flags:{OneArg:!0},$textsig:"($self, /, template)",$doc:"Return the string obtained by doing backslash substitution on the string template, as done by the sub() method."},__copy__:{$meth:function __copy__(){return this},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:null},__deepcopy__:{$meth:function __deepcopy__(){return this},$flags:{OneArg:!0},$textsig:"($self, memo, /)",$doc:null}},getsets:{lastindex:{$get(){if(null!==this.$lastindex)return this.$lastindex;let e,t=0;return this.v.forEach(((r,n)=>{n&&void 0!==r&&e!==r&&(t=n,e=r)})),this.$lastindex=t?new pyInt(t):pyNone,this.$lastindex},$doc:"The integer index of the last matched capturing group."},lastgroup:{$get(){if(null!==this.$lastgroup)return this.$lastgroup;if(void 0===this.v.groups)this.$lastgroup=pyNone;else{let e;Object.entries(this.v.groups).forEach((([t,r])=>{void 0!==r&&(e=t)})),this.$lastgroup=void 0===e?pyNone:new pyStr(e)}return this.$lastgroup},$doc:"The name of the last matched capturing group."},regs:{$get(){if(null!==this.$regs)return this.$regs;const e=[];return this.v.forEach(((t,r)=>{e.push(this.$span(r))})),this.$regs=new pyTuple(e),this.$regs}},string:{$get(){return this.str},$doc:"The string passed to match() or search()."},re:{$get(){return this.$re},$doc:"The regular expression object."},pos:{$get(){return new pyInt(this.$pos)},$doc:"The index into the string at which the RE engine started looking for a match."},endpos:{$get(){return new pyInt(this.$endpos)},$doc:"The index into the string beyond which the RE engine will not go."}},proto:{get$group(e){if(void 0===e)return this.v[0];if(checkString(e)){if(e=e.toString(),this.v.groups&&Object.prototype.hasOwnProperty.call(this.v.groups,e))return this.v.groups[e]}else if(isIndex(e)&&(e=asIndexSized(e))>=0&&e|\\\\g<([^\\d\\W]\\w*)>|\\\\g?/g,template$repl(e){return e.replace(this.template$regex,((e,t,r,n,s,i)=>{let o;if(void 0!==(t=t||r)?o=t{delete _compiled_patterns[e]})),pyNone},$flags:{NoArgs:!0},$textsig:"($module, / )",$doc:"Clear the regular expression caches"},template:{$meth:function template(e,t){return _compile(e,numberBinOp(re.T,t,"BitOr"))},$flags:{NamedArgs:["pattern","flags"],Defaults:[zero]},$textsig:"($module, / , pattern, flags=0)",$doc:"Compile a template pattern, returning a Pattern object"},escape:{$meth:function(e){if(!checkString(e))throw new TypeError("expected a str instances, got "+typeName(e));return e=(e=e.toString()).replace(escape_chrs,"\\\\$&"),new pyStr(e)},$flags:{NamedArgs:["pattern"],Defaults:[]},$textsig:"($module, / , pattern)",$doc:"\\n Escape special characters in a string.\\n "}});const escape_chrs=/[\\&\\~\\#.*+\\-?^${}()|[\\]\\\\\\t\\r\\v\\f\\n ]/g;return re}',"src/lib/requests/__init__.js":'var $builtinmodule=function(e){var n={__name__:new Sk.builtin.str("requests")};n.Response=Sk.misceval.buildClass(n,(function(e,n){n.__init__=new Sk.builtin.func((function(e,n){e.data$=n,e.lineList=e.data$.split("\\n"),e.lineList=e.lineList.slice(0,-1);for(var t=0;t")})),n.__repr__=n.__str__,n.__iter__=new Sk.builtin.func((function(e){var n=e.lineList;return Sk.builtin.makeGenerator((function(){if(!(this.$index>=this.$lines.length))return new Sk.builtin.str(this.$lines[this.$index++])}),{$obj:e,$index:0,$lines:n})})),n.read=new Sk.builtin.func((function(e,n){if(e.closed)throw new Sk.builtin.ValueError("I/O operation on closed file");var t=e.data$.length;void 0===n&&(n=t);var i=new Sk.builtin.str(e.data$.substr(e.pos$,n));return e.pos$+=n,e.pos$>=t&&(e.pos$=t),i})),n.readline=new Sk.builtin.func((function(e,n){var t="";return e.currentLine{var t="";if(e instanceof String||e instanceof Number||e instanceof Boolean)try{var i=n.toString().replaceAll("=","@");i=i.replaceAll("&","$");var r=e.toString().replaceAll("=","@");r=r.replaceAll("&","$"),t+="&"+i+"="+encodeURIComponent(r)}catch(s){t+="&"+n+"="+encodeURIComponent(e)}else $.each(e,(function(i){t+="&"+jsonToUrl(this,null==n?i:n+(e instanceof Array?"["+i+"]":"."+i))}));return t.substr(1)},requestFunc=function(e,t){e=Sk.ffi.remapToJs(e),t=Sk.ffi.remapToJs(t);const i=["method","url","params","data","headers","cookies","files","auth","timeout","allow_redirects","proxies","hooks","stream","verify","cert","json"];let r={method:"GET",url:"",params:null,data:"",headers:{"Content-type":"application/x-www-form-urlencoded"},cookies:null,files:null,auth:null,timeout:1e3,allow_redirects:null,proxies:null,hooks:null,stream:null,verify:null,cert:null,json:null};for(let n in e)r[i[n]]=e[n];for(let n=0;n=n){r=t.decoder.decode(new Uint8Array(e));break}}else{switch(224&o){case 252:n=6;break;case 248:n=5;break;case 240:n=4;break;case 224:n=3;break;default:n=2}e.push(o)}}return r},t.startReadLine=function(){t.readLineTimer=window.setTimeout((()=>{if(!t.keepReading)return void window.clearTimeout(t.readLineTimer);let e=!1;do{const n=t.readLine();e=n.endWithLF;const{text:r}=n;if(r&&t.output.push((t.output.length?t.output.pop():"")+r),e){t.output.length&&console.log(t.output),t.output.push("")}}while(e);for(;t.output.length>500;)t.output.shift();t.keepReading&&t.startReadLine()}),100)},t.addReadEvent=async function(){for(t.output=[],t.inputBuffer=[],t.outputBuffer=[],t.refreshInputBuffer=!1,t.refreshOutputBuffer=!0,t.startReadLine();t.obj.readable&&t.keepReading;){t.reader=t.obj.readable.getReader();try{for(;;){const{value:e,done:n}=await t.reader.read();if(t.refreshOutputBuffer&&e&&(t.outputBuffer=[...t.outputBuffer,...e]),t.refreshInputBuffer&&e&&(t.inputBuffer=[...t.inputBuffer,...e]),n)break}}catch(e){console.log(e)}finally{t.reader.releaseLock()}}},t.writeString=async function(e){const n=t.encoder.encode(e);await t.writeByteArr(n)},t.writeByteArr=async function(e){const n=t.obj.writable.getWriter();await n.write(new Int8Array(e).buffer),n.releaseLock(),await t.sleep(200)},t.setBaudRate=async function(e){t.keepReading=!1;const n=t.obj;await t.close(),await n.open({baudRate:e-0}),t.obj=n,t.keepReading=!0,t.addReadEvent()},t.setDTR=async function(e){t.dtr=e,await t.obj.setSignals({dataTerminalReady:e})},t.setRTS=async function(e){t.rts=e,await t.obj.setSignals({requestToSend:e})},t.setSignals=async function(e,n){t.dtr=e,t.rts=n,await t.obj.setSignals({dataTerminalReady:e,requestToSend:n})};let n={__name__:new Sk.builtin.str("serial")},r={baudrate:115200,bytesize:8,parity:"N",stopbits:1,timeout:1e3,xonxoff:!1,rtscts:!1,dsrdtr:!1};const serialInitFunc=function(e,n){e=Sk.ffi.remapToJs(e),n=Sk.ffi.remapToJs(n);const o=["baudrate","bytesize","parity","stopbits","timeout","xonxoff","rtscts","dsrdtr"];for(let t in e)e[t]&&(r[o[t]]=e[t]);const i=new Promise(((e,n)=>{t.isConnected()?e(t.obj):navigator.serial.requestPort().then((function(t){e(t)})).catch((function(e){t.obj=null,n(e)}))}));let u,a=new Sk.misceval.Suspension;return a.resume=function(){if(a.data.error)throw a.data.error;return Sk.builtin.none.none$},a.data={type:"Sk.promise",promise:i.then((function(e){return t.obj=e,Sk.builtin.none.none$}),(function(e){return console.log("err3",e),u="",Promise.reject(e)}))},a};serialInitFunc.co_fastcall=1;const serialOpenFunc=function(e,n){const o=new Promise(((e,n)=>{t.isConnected()?t.isOpend()?e():t.obj.open({baudRate:r.baudrate}).then((async function(){t.keepReading=!0,t.addReadEvent(),e()})).catch((function(e){t.obj=null,n(e)})):n("No serial found")}));let i=new Sk.misceval.Suspension;return i.resume=function(){if(i.data.error)throw i.data.error;return Sk.builtin.none.none$},i.data={type:"Sk.promise",promise:o.then((function(e){return Sk.builtin.none.none$}),(function(e){return console.log("err3",e),Promise.reject(e)}))},i},serialReadlineFunc=function(e,n){if(!t.isConnected())return new Sk.builtin.str("");if(console.log("length:",t.output.length),!t.isOpend()||t.output.length<2)return new Sk.builtin.str("");let r=t.output.shift();return console.log(r),new Sk.builtin.str(r)};return n.Serial=Sk.misceval.buildClass(n,(function(e,t){t.__init__=new Sk.builtin.func(serialInitFunc),t.__str__=new Sk.builtin.func((function(e){return Sk.ffi.remapToPy("")})),t.open=new Sk.builtin.func(serialOpenFunc),t.readline=new Sk.builtin.func(serialReadlineFunc)}),"Serial",[]),n};',"src/lib/signal.js":'var $builtinmodule=function(n){var i={};return i.SIG_DFL=new Sk.builtin.int_(0),i.SIG_IGN=new Sk.builtin.int_(1),i.CTRL_C_EVENT=new Sk.builtin.int_(0),i.CTRL_BREAK_EVENT=new Sk.builtin.int_(0),i.NSIG=new Sk.builtin.int_(23),i.SIGHUP=new Sk.builtin.int_(1),i.SIGNINT=new Sk.builtin.int_(2),i.SIGILL=new Sk.builtin.int_(4),i.SIGFPE=new Sk.builtin.int_(8),i.SIGKILL=new Sk.builtin.int_(9),i.SIGSEGV=new Sk.builtin.int_(11),i.SIGTERM=new Sk.builtin.int_(15),i.SIGBREAK=new Sk.builtin.int_(21),i.SIGABRT=new Sk.builtin.int_(22),i.pause=new Sk.builtin.func((function(){Sk.builtin.pyCheckArgsLen("pause",arguments.length,0,0);var n=new Sk.misceval.Suspension;return n.resume=function(){return Sk.builtin.none.none$},n.data={type:"Sk.promise",promise:new Promise((function(n,i){if(null!=Sk.signals&&Sk.signals.addEventListener){Sk.signals.addEventListener((function handleSignal(i){Sk.signals.removeEventListener(handleSignal),n()}))}else console.warn("signal.pause() not supported"),Sk.misceval.print_("signal.pause() not supported"),n()}))},n})),i.signal=new Sk.builtin.func((function(){throw new Sk.builtin.NotImplementedError("signal.signal is not supported.")})),i};',"src/lib/string.js":'var $builtinmodule=function(i){var t={};return t.ascii_lowercase=new Sk.builtin.str("abcdefghijklmnopqrstuvwxyz"),t.ascii_uppercase=new Sk.builtin.str("ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t.ascii_letters=new Sk.builtin.str(t.ascii_lowercase.v+t.ascii_uppercase.v),t.lowercase=new Sk.builtin.str("abcdefghijklmnopqrstuvwxyz"),t.uppercase=new Sk.builtin.str("ABCDEFGHIJKLMNOPQRSTUVWXYZ"),t.letters=new Sk.builtin.str(t.lowercase.v+t.uppercase.v),t.digits=new Sk.builtin.str("0123456789"),t.hexdigits=new Sk.builtin.str("0123456789abcdefABCDEF"),t.octdigits=new Sk.builtin.str("01234567"),t.punctuation=new Sk.builtin.str("!\\"#$%&\'()*+,-./:;<=>?@[\\\\]^_`{|}~"),t.whitespace=new Sk.builtin.str("\\t\\n\\v\\f\\r "),t.printable=new Sk.builtin.str(t.digits.v+t.letters.v+t.punctuation.v+" \\t\\n\\r\\v\\f"),t.split=new Sk.builtin.func((function(...i){return Sk.misceval.callsimArray(Sk.builtin.str.prototype.split,i)})),t.capitalize=new Sk.builtin.func((function(i){return Sk.misceval.callsimArray(Sk.builtin.str.prototype.capitalize,[i])})),t.join=new Sk.builtin.func((function(i,t){return void 0===t&&(t=new Sk.builtin.str(" ")),Sk.misceval.callsimArray(Sk.builtin.str.prototype.join,[t,i])})),t.capwords=new Sk.builtin.func((function(i,n){if(Sk.builtin.pyCheckArgsLen("capwords",arguments.length,1,2),!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("s must be a string");if(void 0===n&&(n=new Sk.builtin.str(" ")),!Sk.builtin.checkString(n))throw new Sk.builtin.TypeError("sep must be a string");for(var e=Sk.misceval.callsimArray(t.split,[i,n]).v,r=[],l=0;l1&&function isLeapYear(t){return 0==(3&t)&&(t%100!=0||t%400==0)}(e?t.getUTCFullYear():t.getFullYear())&&u++,u}function stdTimezoneOffset(){var t=new Date(2002,0,1),e=new Date(2002,6,1);return Math.max(t.getTimezoneOffset(),e.getTimezoneOffset())}function dst(t){return t.getTimezoneOffset()1)return n[1];if(void 0===e)return null;try{return(n=t.toLocaleString(e,{timeZoneName:"short"}).split(" "))[n.length-1]}catch(i){return null}}function from_seconds(t,e){var i=new Date;if(t){Sk.builtin.pyCheckType("secs","number",Sk.builtin.checkNumber(t));var u=Sk.builtin.asnum$(t);i.setTime(1e3*u)}return function date_to_struct_time(t,e){let i;if(e=e||!1)i=[new Sk.builtin.str("UTC"),new Sk.builtin.int_(0)];else{var u=-t.getTimezoneOffset()/60,r=(u<0?"-":"+")+(""+Math.abs(u)).padStart(2,"0");i=[new Sk.builtin.str(r),new Sk.builtin.int_(3600*u)]}return new n([Sk.builtin.assk$(e?t.getUTCFullYear():t.getFullYear()),Sk.builtin.assk$((e?t.getUTCMonth():t.getMonth())+1),Sk.builtin.assk$(e?t.getUTCDate():t.getDate()),Sk.builtin.assk$(e?t.getUTCHours():t.getHours()),Sk.builtin.assk$(e?t.getUTCMinutes():t.getMinutes()),Sk.builtin.assk$(e?t.getUTCSeconds():t.getSeconds()),Sk.builtin.assk$(((e?t.getUTCDay():t.getDay())+6)%7),Sk.builtin.assk$(getDayOfYear(t,e)),Sk.builtin.assk$(e?0:dst(t)?1:0)],i)}(i,e)}e.struct_time=n,e.time=new Sk.builtin.func((function(){return Sk.builtin.pyCheckArgsLen("time",arguments.length,0,0),new Sk.builtin.float_(Date.now()/1e3)})),e.sleep=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("sleep",arguments.length,1,1),Sk.builtin.pyCheckType("delay","float",Sk.builtin.checkNumber(t)),new Sk.misceval.promiseToSuspension(new Promise((function(e){Sk.setTimeout((function(){e(Sk.builtin.none.none$)}),1e3*Sk.ffi.remapToJs(t))})))})),e.localtime=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("localtime",arguments.length,0,1),from_seconds(t,!1)})),e.gmtime=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("gmtime",arguments.length,0,1),from_seconds(t,!0)}));var i=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];function asctime_f(t){if(Sk.builtin.pyCheckArgsLen("asctime",arguments.length,0,1),!t||Sk.builtin.checkNone(t)?t=from_seconds():t instanceof n||(t=new n(t)),t instanceof Sk.builtin.tuple&&9==t.v.length){var e=[];return e.push(u[Sk.builtin.asnum$(t.v[6])]),e.push(i[Sk.builtin.asnum$(t.v[1])-1]),e.push(padLeft(Sk.builtin.asnum$(t.v[2]).toString(),2,"0")),e.push(padLeft(Sk.builtin.asnum$(t.v[3]).toString(),2,"0")+":"+padLeft(Sk.builtin.asnum$(t.v[4]).toString(),2,"0")+":"+padLeft(Sk.builtin.asnum$(t.v[5]).toString(),2,"0")),e.push(padLeft(Sk.builtin.asnum$(t.v[0]).toString(),4,"0")),new Sk.builtin.str(e.join(" "))}}function mktime_f(t){if(Sk.builtin.pyCheckArgsLen("mktime",arguments.length,1,1),t instanceof Sk.builtin.tuple&&9==t.v.length){var e=new Date(Sk.builtin.asnum$(t.v[0]),Sk.builtin.asnum$(t.v[1])-1,Sk.builtin.asnum$(t.v[2]),Sk.builtin.asnum$(t.v[3]),Sk.builtin.asnum$(t.v[4]),Sk.builtin.asnum$(t.v[5]));return Sk.builtin.assk$(e.getTime()/1e3,void 0)}throw new Sk.builtin.TypeError("mktime() requires a struct_time or 9-tuple")}e.asctime=new Sk.builtin.func(asctime_f),e.ctime=new Sk.builtin.func((function(t){return Sk.builtin.pyCheckArgsLen("ctime",arguments.length,0,1),asctime_f(from_seconds(t))})),e.mktime=new Sk.builtin.func(mktime_f),e.timezone=new Sk.builtin.int_(60*stdTimezoneOffset()),e.altzone=new Sk.builtin.int_(60*function altTimezoneOffset(){var t=new Date(2002,0,1),e=new Date(2002,6,1);return Math.min(t.getTimezoneOffset(),e.getTimezoneOffset())}()),e.daylight=new Sk.builtin.int_(function daylight_check(){const t=new Date(2002,0,1),e=new Date(2002,6,1);return t.getTimezoneOffset()!=e.getTimezoneOffset()}()?1:0),e.tzname=new Sk.builtin.tuple(function timeZoneNames(){var t=new Date(2002,0,1),e=new Date(2002,6,1);return dst(t)?[new Sk.builtin.str(timeZoneName(e)),new Sk.builtin.str(timeZoneName(t))]:[new Sk.builtin.str(timeZoneName(t)),new Sk.builtin.str(timeZoneName(e))]}()),e.accept2dyear=Sk.builtin.assk$(1),e.clock=new Sk.builtin.func((function(){var t=0;return t=Sk.global.performance&&Sk.global.performance.now?performance.now()/1e3:(new Date).getTime()/1e3,new Sk.builtin.float_(t)})),e.strftime=new Sk.builtin.func((function strftime_f(t,e){var i;if(Sk.builtin.pyCheckArgsLen("strftime",arguments.length,1,2),!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("format must be a string");return e?e instanceof n||(e=new n(e)):e=from_seconds(),function check_struct_time(t){if(!(t instanceof n))throw new Sk.builtin.TypeError("Required argument \'struct_time\' must be of type: \'struct_time\'");var e,i=t.v.length,u=t.v;for(e=0;e(r=e.tp$getattr(new Sk.builtin.str("_strptime_time")),r.tp$call(t)))):r.tp$call(t)})),e};',"src/lib/token.js":'var $builtinmodule=function(n){var e={};e.__file__=new Sk.builtin.str("/src/lib/token.py");const t=[];for(let i in Sk.token.tok_name){const n=Sk.token.tok_name[i].slice(2),k=parseInt(i,10);t.push(Sk.ffi.remapToPy(k)),t.push(Sk.ffi.remapToPy(n)),e[n]=Sk.ffi.remapToPy(k)}return e.tok_name=new Sk.builtin.dict(t),e.ISTERMINAL=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("ISTERMINAL",arguments.length,1,1),Sk.token.ISTERMINAL(Sk.ffi.remapToJs(n))})),e.ISNONTERMINAL=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("ISNONTERMINAL",arguments.length,1,1),Sk.token.ISNONTERMINAL(Sk.ffi.remapToJs(n))})),e.ISEOF=new Sk.builtin.func((function(n){return Sk.builtin.pyCheckArgsLen("ISEOF",arguments.length,1,1),Sk.token.ISEOF(Sk.ffi.remapToJs(n))})),e};',"src/lib/tokenize.js":'var $builtinmodule=function(e){var i={};return i.tokenize=new Sk.builtin.func((function(e){Sk.builtin.pyCheckArgsLen("tokenize",1,1),Sk.builtin.checkFunction(e);const i=[];return Sk._tokenize("",(function jsReadline(){const i=Sk.misceval.callsimArray(e);return Sk.ffi.remapToJs(i)}),"UTF-8",(function receiveToken(e){i.push(new Sk.builtin.tuple([Sk.ffi.remapToPy(e.type),Sk.ffi.remapToPy(e.string),new Sk.builtin.tuple([Sk.ffi.remapToPy(e.start[0]),Sk.ffi.remapToPy(e.start[1])]),new Sk.builtin.tuple([Sk.ffi.remapToPy(e.end[0]),Sk.ffi.remapToPy(e.end[1])]),Sk.ffi.remapToPy(e.line)]))})),new Sk.builtin.list(i)})),i};',"src/lib/turtle.js":'var $builtinmodule=function(e){"use strict";var t=function getConfiguredTarget(){var e,t;for(t="string"==typeof(e=Sk.TurtleGraphics&&Sk.TurtleGraphics.target||"turtle")?document.getElementById(e):e;t.firstChild;)t.removeChild(t.firstChild);return t}();return t.turtleInstance?t.turtleInstance.reset():t.turtleInstance=function generateTurtleModule(e){var t,n,r,i,s,a,o,l,u={__name__:new Sk.builtin.str("turtle")},c=!0,h=1e3/30,d={},f={},_={target:"turtle",width:400,height:400,worldWidth:0,worldHeight:0,animate:!0,bufferSize:0,allowUndo:!0,assets:{}};function getAsset(e){var t=i.assets,n="function"==typeof t?t(e):t[e];return"string"==typeof n?new Promise((function(t,r){var s=new Image;s.onload=function(){i.assets[e]=this,t(s)},s.onerror=function(){r(new Error("Missing asset: "+n))},s.src=n})):new InstantPromise(void 0,n)}function InstantPromise(e,t){this.lastResult=t,this.lastError=e}function FrameManager(){this.reset()}function getFrameManager(){return o||(o=new FrameManager),o}function MouseHandler(){var e=this;for(var t in this._target=getTarget(),this._managers={},this._handlers={mousedown:function(t){e.onEvent("mousedown",t)},mouseup:function(t){e.onEvent("mouseup",t)},mousemove:function(t){e.onEvent("mousemove",t)}},this._handlers)this._target.addEventListener(t,this._handlers[t])}function EventManager(e,t){this._type=e,this._target=t,this._handlers=void 0,function getMouseHandler(){return a||(a=new MouseHandler),a}().addManager(e,this)}function Turtle(e){if(getFrameManager().addTurtle(this),this._screen=getScreen(),this._managers={},this._shape=e.v,!d.hasOwnProperty(this._shape))throw new Sk.builtin.ValueError("Shape:\'"+this._shape+"\' not in default shape, please check shape again!");this.reset()}function Screen(){var e,t;this._frames=1,this._delay=void 0,this._bgcolor="none",this._mode="standard",this._managers={},this._keyLogger={},e=(i.worldWidth||i.width||getWidth())/2,t=(i.worldHeight||i.height||getHeight())/2,this.setUpWorld(-e,-t,e,t)}function ensureAnonymous(){return s||(s=Sk.misceval.callsimArray(u.Turtle)),s.instance}function getTarget(){return e}function getScreen(){return r||(r=new Screen),r}function getWidth(){return 0|(r&&r._width||i.width||getTarget().clientWidth||_.width)}function getHeight(){return 0|(r&&r._height||i.height||getTarget().clientHeight||_.height)}function createLayer(e,t){var n,r=document.createElement("canvas"),i=getWidth(),s=getHeight(),a=getTarget().firstChild?-s+"px":"0";return r.width=i,r.height=s,r.style.position="relative",r.style.display="block",r.style.setProperty("margin-top",a),r.style.setProperty("z-index",e),t&&(r.style.display="none"),getTarget().appendChild(r),(n=r.getContext("2d")).lineCap="round",n.lineJoin="round",applyWorld(getScreen(),n),n}function cancelAnimationFrame(){t&&((window.cancelAnimationFrame||window.mozCancelAnimationFrame)(t),t=void 0),n&&(window.clearTimeout(n),n=void 0)}function applyWorld(e,t){var n=e.llx,r=(e.lly,e.urx,e.ury),i=e.xScale,s=e.yScale;t&&(clearLayer(t),t.restore(),t.save(),t.scale(1/i,1/s),t.translate(-n,-r))}function pushUndo(e){var t,n,r;if(i.allowUndo&&e._bufferSize){for(e._undoBuffer||(e._undoBuffer=[]);e._undoBuffer.length>e._bufferSize;)e._undoBuffer.shift();for(n={},t="x y angle radians color fill down filling shown shape size".split(" "),r=0;r=0;)this._turtles[e].reset();this._turtles=[],this._frames=[],this._frameCount=0,this._buffer=1,this._rate=0,this._animationFrame=animationFrame()},e.addFrame=function(e,t){return t&&(this._frameCount+=1),this.frames().push(e),!i.animate||this._buffer&&this._frameCount===this.frameBuffer()?this.update():new InstantPromise},e.frames=function(){return this._frames},e.frameBuffer=function(e){return"number"==typeof e&&(this._buffer=0|e,e&&e<=this._frameCount)?this.update():this._buffer},e.refreshInterval=function(e){return"number"==typeof e&&(this._rate=0|e,this._animationFrame=animationFrame(e)),this._rate},e.update=function(){return this._frames&&this._frames.length?this.requestAnimationFrame():new InstantPromise},e.requestAnimationFrame=function(){var e,t,n=this._frames,r=this._animationFrame,i=this._turtles,s=getScreen().spriteLayer();return this._frames=[],this._frameCount=0,new Promise((function(a){r((function paint(){for(t=0;t=0;)l[a].test(n,r,i,s)&&l[a].canMove("mousedown"===e);if(o&&o.length)for(computeCoordinates(),a=o.length;--a>=0;)("mousemove"===e&&o[a].canMove()&&o[a].test(n,r,i,s)||"mousedown"===e&&o[a].test(n,r,i,s))&&o[a].trigger([i,s])},l.reset=function(){this._managers={}},l.addManager=function(e,t){this._managers[e]||(this._managers[e]=[]),this._managers[e].push(t)},function(e){e.reset=function(){this._handlers=void 0},e.canMove=function(e){return!(!this._target||!this._target.hitTest)&&(void 0!==e&&(this._target.hitTest.hit=e),this._target.hitTest.hit)},e.test=function(e,t,n,r){return this._target&&this._target.hitTest?this._target.hitTest(e,t,n,r):!!this._target},e.trigger=function(e){var t,n=this._handlers;if(n&&n.length)for(t=0;t.5&&e<10.5?Sk.builtin.asnum$(Sk.builtin.round(Sk.builtin.assk$(e))):0,this._speed=e,this._computed_speed=2*e,this.addUpdate(void 0,!1,{speed:this._computed_speed})},e.$speed.minArgs=0,e.$speed.co_varnames=["speed"],e.$pencolor=function(e,t,n,r){return void 0!==e?(this._color=createColor(this._colorMode,e,t,n,r),this.addUpdate(void 0,this._shown,{color:this._color})):hexToRGB(this._color)},e.$pencolor.co_varnames=["r","g","b","a"],e.$pencolor.minArgs=0,e.$pencolor.returnType=f.COLOR,e.$fillcolor=function(e,t,n,r){return void 0!==e?(this._fill=createColor(this._colorMode,e,t,n,r),this.addUpdate(void 0,this._shown,{fill:this._fill})):hexToRGB(this._fill)},e.$fillcolor.co_varnames=["r","g","b","a"],e.$fillcolor.minArgs=0,e.$fillcolor.returnType=f.COLOR,e.$color=function(e,t,n,r){return void 0!==e?(void 0===t||void 0!==n?(this._color=createColor(this._colorMode,e,t,n,r),this._fill=this._color):(this._color=createColor(this._colorMode,e),this._fill=createColor(this._colorMode,t)),this.addUpdate(void 0,this._shown,{color:this._color,fill:this._fill})):[this.$pencolor(),this.$fillcolor()]},e.$color.minArgs=0,e.$color.co_varnames=["color","fill","b","a"],e.$color.returnType=function(e){return new Sk.builtin.tuple([f.COLOR(e[0]),f.COLOR(e[1])])},e.$fill=function(e){if(void 0!==e){if((e=!!e)===this._filling)return;return this._filling=e,e?(pushUndo(this),this.addUpdate(void 0,!1,{filling:!0,fillBuffer:[{x:this._x,y:this._y}]})):(pushUndo(this),this.addUpdate((function(){this.fillBuffer.push(this),drawFill.call(this)}),!0,{filling:!1,fillBuffer:void 0}))}return this._filling},e.$fill.co_varnames=["flag"],e.$fill.minArgs=0,e.$begin_fill=function(){return this.$fill(!0)},e.$end_fill=function(){return this.$fill(!1)},e.$stamp=function(){return pushUndo(this),this.addUpdate((function(){drawTurtle(this,this.context())}),!0)},e.$dot=function(e,t,n,r,i){return pushUndo(this),e="number"==typeof(e=Sk.builtin.asnum$(e))?Math.max(1,0|Math.abs(e)):Math.max(this._size+4,2*this._size),t=void 0!==t?createColor(this._colorMode,t,n,r,i):this._color,this.addUpdate(drawDot,!0,void 0,e,t)},e.$dot.co_varnames=["size","color","g","b","a"],e.$write=function(e,t,n,r){var i,s,a,o,l,u=this;return pushUndo(this),e=String(e),r&&r.constructor===Array&&(s="string"==typeof r[0]?r[0]:"Arial",a=String(r[1]||"12pt"),o="string"==typeof r[2]?r[2]:"normal",/^\\d+$/.test(a)&&(a+="pt"),r=[o,a,s].join(" ")),n||(n="left"),i=this.addUpdate(drawText,!0,void 0,e,n,r),!t||"left"!==n&&"center"!==n||(l=function measureText(e,t){return t&&(p.font=t),p.measureText(e).width}(e,r),"center"===n&&(l/=2),i=i.then((function(){var e=u.getState();return u.translate(e.x,e.y,l,0,!0)}))),i},e.$write.co_varnames=["message","move","align","font"],e.$write.minArgs=1,e.$pensize=e.$width=function(e){return void 0!==e?(this._size=e,this.addUpdate(void 0,this._shown,{size:e})):this._size},e.$pensize.minArgs=e.$width.minArgs=0,e.$pensize.co_varnames=e.$width.co_varnames=["width"],e.$showturtle=e.$st=function(){return this._shown=!0,this.addUpdate(void 0,!0,{shown:!0})},e.$hideturtle=e.$ht=function(){return this._shown=!1,this.addUpdate(void 0,!0,{shown:!1})},e.$isvisible=function(){return this._shown},e.$shape=function(e){return e&&d[e]?(this._shape=e,this.addUpdate(void 0,this._shown,{shape:e})):this._shape},e.$shape.minArgs=0,e.$shape.co_varnames=["name"],e.$window_width=function(){return this._screen.$window_width()},e.$window_height=function(){return this._screen.$window_height()},e.$tracer=function(e,t){return this._screen.$tracer(e,t)},e.$tracer.minArgs=0,e.$tracer.co_varnames=["n","delay"],e.$update=function(){return this._screen.$update()},e.$delay=function(e){return this._screen.$delay(e)},e.$delay.minArgs=0,e.$delay.co_varnames=["delay"],e.$reset=function(){return this.reset(),this.$clear()},e.$mainloop=e.$done=function(){return this._screen.$mainloop()},e.$clear=function(){return this.addUpdate((function(){clearLayer(this.context())}),!0)},e.$dot.minArgs=0,e.$onclick=function(e,t,n){this.getManager("mousedown").addHandler(e,n)},e.$onclick.minArgs=1,e.$onclick.co_varnames=["method","btn","add"],e.$onrelease=function(e,t,n){this.getManager("mouseup").addHandler(e,n)},e.$onrelease.minArgs=1,e.$onrelease.co_varnames=["method","btn","add"],e.$ondrag=function(e,t,n){this.getManager("mousemove").addHandler(e,n)},e.$ondrag.minArgs=1,e.$ondrag.co_varnames=["method","btn","add"],e.$getscreen=function(){return Sk.misceval.callsimArray(u.Screen)},e.$getscreen.isSk=!0,e.$clone=function(){var e=Sk.misceval.callsimOrSuspendArray(u.Turtle);return e.instance._x=this._x,e.instance._y=this._y,e.instance._angle=this._angle,e.instance._radians=this._radians,e.instance._shape=this._shape,e.instance._color=this._color,e.instance._fill=this._fill,e.instance._filling=this._filling,e.instance._size=this._size,e.instance._computed_speed=this._computed_speed,e.instance._down=this._down,e.instance._shown=this._shown,e.instance._colorMode=this._colorMode,e.instance._isRadians=this._isRadians,e.instance._fullCircle=this._fullCircle,e.instance._bufferSize=this._bufferSize,e.instance._undoBuffer=this._undoBuffer,e._clonedFrom=this,e},e.$clone.returnType=function(e){return e},e.$getturtle=e.$getpen=function(){return this.skInstance},e.$getturtle.isSk=!0}(Turtle.prototype),function(e){e.spriteLayer=function(){return this._sprites||(this._sprites=createLayer(3))},e.bgLayer=function(){return this._background||(this._background=createLayer(1))},e.hitTestLayer=function(){return this._hitTest||(this._hitTest=createLayer(0,!0))},e.getManager=function(e){return this._managers[e]||(this._managers[e]=new EventManager(e,this)),this._managers[e]},e.reset=function(){var e;for(e in this._keyListeners=void 0,this._keyLogger)window.clearInterval(this._keyLogger[e]),window.clearTimeout(this._keyLogger[e]),delete this._keyLogger[e];for(e in this._keyDownListener&&(getTarget().removeEventListener("keydown",this._keyDownListener),this._keyDownListener=void 0),this._keyUpListener&&(getTarget().removeEventListener("keyup",this._keyUpListener),this._keyUpListener=void 0),this._timer&&(window.clearTimeout(this._timer),this._timer=void 0),this._managers)this._managers[e].reset();this._mode="standard",removeLayer(this._sprites),this._sprites=void 0,removeLayer(this._background),this._background=void 0},e.setUpWorld=function(e,t,n,r){var i=this;i.llx=e,i.lly=t,i.urx=n,i.ury=r,i.xScale=(n-e)/getWidth(),i.yScale=-1*(r-t)/getHeight(),i.lineScale=Math.min(Math.abs(i.xScale),Math.abs(i.yScale))},e.$setup=function(e,t,n,r){return isNaN(parseFloat(e))&&(e=getWidth()),isNaN(parseFloat(t))&&(t=getHeight()),e<=1&&(e=getWidth()*e),t<=1&&(t=getHeight()*t),this._width=e,this._height=t,this._xOffset=void 0===n||isNaN(parseInt(n))?0:parseInt(n),this._yOffset=void 0===r||isNaN(parseInt(r))?0:parseInt(r),"world"===this._mode?this._setworldcoordinates(this.llx,this.lly,this.urx,this.ury):this._setworldcoordinates(-e/2,-t/2,e/2,t/2)},e.$setup.minArgs=0,e.$setup.co_varnames=["width","height","startx","starty"],e.$register_shape=e.$addshape=function(e,t){if(!t)return getAsset(e).then((function(t){d[e]=t}));d[e]=t},e.$register_shape.minArgs=1,e.$register_shape.co_varnames=["name","shape"],e.$getshapes=function(){return Object.keys(d)},e.$tracer=function(e,t){return void 0!==e||void 0!==t?("number"==typeof t&&(this._delay=t,getFrameManager().refreshInterval(t)),"number"==typeof e?(this._frames=e,getFrameManager().frameBuffer(e)):void 0):this._frames},e.$tracer.co_varnames=["frames","delay"],e.$tracer.minArgs=0,e.$delay=function(e){return void 0!==e?this.$tracer(void 0,e):void 0===this._delay?h:this._delay},e.$delay.co_varnames=["delay"],e._setworldcoordinates=function(e,t,n,r){return getFrameManager().turtles(),this.setUpWorld(e,t,n,r),this._sprites&&applyWorld(this,this._sprites),this._background&&applyWorld(this,this._background),this.$clear()},e.$setworldcoordinates=function(e,t,n,r){return this._mode="world",this._setworldcoordinates(e,t,n,r)},e.$setworldcoordinates.co_varnames=["llx","lly","urx","ury"],e.minArgs=4,e.$clear=e.$clearscreen=function(){return this.reset(),this.$reset()},e.$update=function(){return getFrameManager().update()},e.$reset=e.$resetscreen=function(){var e=this,t=getFrameManager().turtles();return getFrameManager().addFrame((function(){applyWorld(e,e._sprites),applyWorld(e,e._background);for(var n=0;n1&&t[s]&&t[s].test(r),r===a||i){e._keyListeners[r](),e._createKeyRepeater(r,s),n.preventDefault();break}}},getTarget().addEventListener("keydown",this._keyDownListener))},e._createKeyUpListener=function(){var e=this;this._keyUpListener||(this._keyUpListener=function(t){var n=e._keyLogger[t.charCode||t.keyCode];void 0!==n&&(t.preventDefault(),window.clearInterval(n),window.clearTimeout(n),delete e._keyLogger[t.charCode||t.keyCode])},getTarget().addEventListener("keyup",this._keyUpListener))},e.$title=function(e){document.title=e},e.$title.minArgs=1,e.$title.co_varnames=["title"],e.$listen=function(){this._createKeyUpListener(),this._createKeyDownListener()},e.$onkey=function(e,t){if("function"==typeof t){var n=e;e=t,t=n}t=String(t).toLowerCase(),e&&"function"==typeof e?(this._keyListeners||(this._keyListeners={}),this._keyListeners[t]=e):delete this._keyListeners[t]},e.$onkey.minArgs=2,e.$onkey.co_varnames=["method","keyValue"],e.$onscreenclick=function(e,t,n){this.getManager("mousedown").addHandler(e,n)},e.$onscreenclick.minArgs=1,e.$onscreenclick.co_varnames=["method","btn","add"],e.$ontimer=function(e,t){this._timer&&(window.clearTimeout(this._timer),this._timer=void 0),e&&"number"==typeof t&&(this._timer=window.setTimeout(e,Math.max(0,0|t)))},e.$ontimer.minArgs=0,e.$ontimer.co_varnames=["method","interval"]}(Screen.prototype);var g=new Image;function removeLayer(e){e&&e.canvas&&e.canvas.parentNode&&e.canvas.parentNode.removeChild(e.canvas)}function clearLayer(e,t,n){e&&(e.save(),e.setTransform(1,0,0,1,0,0),t?(e.fillStyle=t,e.fillRect(0,0,e.canvas.width,e.canvas.height)):e.clearRect(0,0,e.canvas.width,e.canvas.height),n&&e.drawImage(n,0,0),e.restore())}function drawTurtle(e,t){var n,r,i,s=d[e.shape],a=getScreen(),o=(getWidth(),getHeight(),a.xScale),l=a.yScale;if(t){if(n=Math.cos(e.radians)/o,r=Math.sin(e.radians)/l,i=Math.atan2(r,n)-Math.PI/2,t.save(),t.translate(e.x,e.y),t.scale(o,l),s.nodeName){var u=s.naturalWidth,c=s.naturalHeight;t.drawImage(s,0,0,u,c,-u/2,-c/2,u,c)}else{t.rotate(i),t.beginPath(),t.lineWidth=1,t.strokeStyle=e.color,t.fillStyle=e.fill,t.moveTo(-s[0][0],s[0][1]);for(var h=1;ho)throw u=l===o?"exactly "+o:"between "+l+" and "+o,new Sk.builtin.TypeError(a+"() takes "+u+" positional argument(s) ("+d.length+" given)");for(e=d.length;--e>=0;)void 0!==d[e]&&(d[e]instanceof Sk.builtin.func?d[e]=pythonToJavascriptFunction(d[e]):d[e]instanceof Sk.builtin.method?d[e]=pythonToJavascriptFunction(d[e].im_func,d[e].im_self):d[e]&&d[e].$d instanceof Sk.builtin.dict&&d[e].instance?d[e]=d[e].instance:d[e]=Sk.ffi.remapToJs(d[e]));var _=d.slice(0);for(d=[],e=_.length;e>=0;--e)null!==_[e]&&(d[e]=_[e]);try{t=f[n].apply(f,d)}catch(g){throw window&&window.console&&(window.console.log("wrapped method failed"),window.console.log(g.stack)),g}return t instanceof InstantPromise&&(t=t.lastResult),t instanceof Promise?(t=t.catch((function(e){throw window&&window.console&&(window.console.log("promise failed"),window.console.log(e.stack)),e})),(i=new Sk.misceval.Suspension).resume=function(){return void 0===s?Sk.builtin.none.none$:Sk.ffi.remapToPy(s)},i.data={type:"Sk.promise",promise:t.then((function(e){return s=e,e}))},i):void 0===t?Sk.builtin.none.none$:h?t:"function"==typeof c?c(t):Sk.ffi.remapToPy(t)},i.co_name=new Sk.builtin.str(a),i.co_varnames=u.slice(),i.$defaults=[];for(var d=l;d")})),e.__iter__=new Sk.builtin.func((function(n){var e=n.lineList;return Sk.builtin.makeGenerator((function(){if(!(this.$index>=this.$lines.length))return new Sk.builtin.str(this.$lines[this.$index++])}),{$obj:n,$index:0,$lines:e})})),e.read=new Sk.builtin.func((function(n,e){if(n.closed)throw new Sk.builtin.ValueError("I/O operation on closed file");var i=n.data$.length;void 0===e&&(e=i);var t=new Sk.builtin.str(n.data$.substr(n.pos$,e));return n.pos$+=e,n.pos$>=i&&(n.pos$=i),t})),e.readline=new Sk.builtin.func((function(n,e){var i="";return n.currentLinee===o)).length)throw new i("one of the hex, bytes, bytes_le, fields, or int arguments must be given");if(u!==o){u=u.toString().replace("urn:","").replace("uuid:","");let e=0,i=u.length-1;for(;"{}".indexOf(u[e])>=0;)e++;for(;"{}".indexOf(u[i])>=0;)i--;if(u=u.slice(e,i+1),u=u.replace(S,""),32!==u.length)throw new s("badly formed hexadecimal UUID string");f=d(n,[new t(u),U])}if(c!==o){if(!(c instanceof e))throw new i("bytes_le should be a bytes instance");if(c=c.valueOf(),16!==c.length)throw new s("bytes_le is not a 16-char string");h=switchBytesBytesLe(c),h=new e(h)}if(h!==o){if(!(h instanceof e))throw new i("bytes_le should be a bytes instance");if(16!==h.valueOf().length)throw new s("bytes is not a 16-char string");f=d(w,[h],["byteorder",v])}if(p!==o)throw new r("fields argument is not yet supported");if(f!==o&&(g(f,_,"Lt")||((e,t)=>g(e,t,"GtE"))(f,y)))throw new s("int is out of range (need a 128-bit value)");this.$int=f,this.$isSafe=I},tp$str(){const e=E.nb$remainder(this.$int).toString();return new t(`${e.slice(0,8)}-${e.slice(8,12)}-${e.slice(12,16)}-${e.slice(16,20)}-${e.slice(20)}`)},$r(){const e=u(this.ob$type,t.$name),n=c(this.tp$str());return new t(`${e}(${n})`)},tp$hash(){return this.$int.tp$hash()},tp$richcompare(e,t){return e instanceof R?this.$int.tp$richcompare(e.$int,t):l},tp$as_number:!0,nb$int(){return this.$int}},getsets:{int:{$get(){return this.$int}},is_safe:{$get(){return this.$isSafe}},bytes:{$get(){return d(b,[this.$int,U,v])}},bytes_le:{$get(){const n=this.tp$getattr(new t("bytes")).valueOf();return new e(switchBytesBytesLe(n))}},fields:{$get:()=>notImplemented()},time_low:{$get:()=>notImplemented()},time_mid:{$get:()=>notImplemented()},time_hi_version:{$get:()=>notImplemented()},clock_seq_hi_variant:{$get:()=>notImplemented()},clock_seq_low:{$get:()=>notImplemented()},time:{$get:()=>notImplemented()},clock_seq:{$get:()=>notImplemented()},node:{$get:()=>notImplemented()},hex:{$get(){return E.nb$remainder(this.$int)}},urn:{$get(){return new t(`urn:uuid:${this}`)}},variant:{$get:()=>notImplemented()},version:{$get:()=>notImplemented()}}});return h("uuid",p,{uuid1:{$meth(){notImplemented()},$flags:{FastCall:!0}},uuid2:{$meth(){notImplemented()},$flags:{FastCall:!0}},uuid3:{$meth(){notImplemented()},$flags:{FastCall:!0}},uuid4:{$meth(){const t=new e(f.getRandomValues(new Uint8Array(16)));return d(R,[],["bytes",t,"version",I])},$flags:{NoArgs:!0}},uuid5:{$meth(){notImplemented()},$flags:{FastCall:!0}}}),p}',"src/lib/webbrowser.js":'var $builtinmodule=function(n){var e={},t="undefined"!=typeof window&&"undefined"!=typeof window.navigator;function open_tab(n){return Sk.builtin.pyCheckType("url","string",Sk.builtin.checkString(n)),t?(n=n.$jsstr(),window.open(n,"_blank"),Sk.builtin.bool.true$):Sk.builtin.bool.false$}return e.__name__=new Sk.builtin.str("webbrowser"),e.open=new Sk.builtin.func((function open(n){return Sk.builtin.pyCheckArgsLen("open",arguments.length+1,1,3),open_tab(n)})),e.open_new=new Sk.builtin.func((function open_new(n){return Sk.builtin.pyCheckArgsLen("open_new",arguments.length,1,1),open_tab(n)})),e.open_new_tab=new Sk.builtin.func((function open_new_tab(n){return Sk.builtin.pyCheckArgsLen("open_new_tab",arguments.length,1,1),open_tab(n)})),e.DefaultBrowser=Sk.misceval.buildClass(e,(function dflbrowser(n,e){e.__init__=new Sk.builtin.func((function __init__(n){return Sk.builtin.none.none$})),e.open=new Sk.builtin.func((function open(n,e){return Sk.builtin.pyCheckArgsLen("open",arguments.length,2,4),open_tab(e)})),e.open_new=new Sk.builtin.func((function open_new(n,e){return Sk.builtin.pyCheckArgsLen("open_new",arguments.length,2,2),open_tab(e)})),e.open_new_tab=new Sk.builtin.func((function open_new_tab(n,e){return Sk.builtin.pyCheckArgsLen("open_new_tab",arguments.length,2,2),open_tab(e)}))}),"DefaultBrowser",[]),e.get=new Sk.builtin.func((function get(){return Sk.builtin.pyCheckArgsLen("get",arguments.length,0,1),Sk.misceval.callsimArray(e.DefaultBrowser,[])})),e};',"src/lib/webgl/math.js":'var $builtinmodule=function(e){var n={};return n.Mat44=Sk.misceval.buildClass(n,(function(e,t){t.__init__=new Sk.builtin.func((function(e){Sk.misceval.callsimArray(t.loadIdentity,[e]),e.stack=[]})),t.push=new Sk.builtin.func((function(e){e.stack.push(e.elements.slice(0))})),t.pop=new Sk.builtin.func((function(e){e.elements=e.stack.pop()})),t.loadIdentity=new Sk.builtin.func((function(e){e.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]})),t.transform3=new Sk.builtin.func((function(e,t){var l=e.elements;return Sk.misceval.callsimArray(n.Vec3,[l[0]*t.x+l[4]*t.y+l[8]*t.z,l[1]*t.x+l[5]*t.y+l[9]*t.z,l[2]*t.x+l[6]*t.y+l[10]*t.z])})),t.scale=new Sk.builtin.func((function(e,n,t,l){return e.elements[0]*=n,e.elements[1]*=n,e.elements[2]*=n,e.elements[3]*=n,e.elements[4]*=t,e.elements[5]*=t,e.elements[6]*=t,e.elements[7]*=t,e.elements[8]*=l,e.elements[9]*=l,e.elements[10]*=l,e.elements[11]*=l,e})),t.translate=new Sk.builtin.func((function(e,n,t,l){return e.elements[12]+=e.elements[0]*n+e.elements[4]*t+e.elements[8]*l,e.elements[13]+=e.elements[1]*n+e.elements[5]*t+e.elements[9]*l,e.elements[14]+=e.elements[2]*n+e.elements[6]*t+e.elements[10]*l,e.elements[15]+=e.elements[3]*n+e.elements[7]*t+e.elements[11]*l,e})),t.rotate=new Sk.builtin.func((function(e,t,l,s,m){var i,a,c,u,r,f,o,k,S,y,b,v=Math.sqrt(l*l+s*s+m*m),_=Math.sin(t*Math.PI/180),w=Math.cos(t*Math.PI/180);v>0&&(i=(l/=v)*l,a=(s/=v)*s,c=(m/=v)*m,u=l*s,r=s*m,f=m*l,o=l*_,k=s*_,S=m*_,y=1-w,(b=Sk.misceval.callsimArray(n.Mat44)).elements[0]=y*i+w,b.elements[1]=y*u-S,b.elements[2]=y*f+k,b.elements[3]=0,b.elements[4]=y*u+S,b.elements[5]=y*a+w,b.elements[6]=y*r-o,b.elements[7]=0,b.elements[8]=y*f-k,b.elements[9]=y*r+o,b.elements[10]=y*c+w,b.elements[11]=0,b.elements[12]=0,b.elements[13]=0,b.elements[14]=0,b.elements[15]=1,b=b.multiply(e),e.elements=b.elements);return e})),t.multiply=new Sk.builtin.func((function(e,t){for(var l=Sk.misceval.callsimArray(n.Mat44),s=0;s<4;s++)l.elements[4*s+0]=e.elements[4*s+0]*t.elements[0]+e.elements[4*s+1]*t.elements[4]+e.elements[4*s+2]*t.elements[8]+e.elements[4*s+3]*t.elements[12],l.elements[4*s+1]=e.elements[4*s+0]*t.elements[1]+e.elements[4*s+1]*t.elements[5]+e.elements[4*s+2]*t.elements[9]+e.elements[4*s+3]*t.elements[13],l.elements[4*s+2]=e.elements[4*s+0]*t.elements[2]+e.elements[4*s+1]*t.elements[6]+e.elements[4*s+2]*t.elements[10]+e.elements[4*s+3]*t.elements[14],l.elements[4*s+3]=e.elements[4*s+0]*t.elements[3]+e.elements[4*s+1]*t.elements[7]+e.elements[4*s+2]*t.elements[11]+e.elements[4*s+3]*t.elements[15];return e.elements=l.elements,e})),t.lookAt=new Sk.builtin.func((function(e,t,l,s,m,i,a,c,u,r){var f=[t-m,l-i,s-a],o=Math.sqrt(f[0]*f[0]+f[1]*f[1]+f[2]*f[2]);o&&(f[0]/=o,f[1]/=o,f[2]/=o);var k=[c,u,r],S=[];S[0]=k[1]*f[2]-k[2]*f[1],S[1]=-k[0]*f[2]+k[2]*f[0],S[2]=k[0]*f[1]-k[1]*f[0],k[0]=f[1]*S[2]-f[2]*S[1],k[1]=-f[0]*S[2]+f[2]*S[0],k[2]=f[0]*S[1]-f[1]*S[0],(o=Math.sqrt(S[0]*S[0]+S[1]*S[1]+S[2]*S[2]))&&(S[0]/=o,S[1]/=o,S[2]/=o),(o=Math.sqrt(k[0]*k[0]+k[1]*k[1]+k[2]*k[2]))&&(k[0]/=o,k[1]/=o,k[2]/=o);var y=Sk.misceval.callsimArray(n.Mat44);return y.elements[0]=S[0],y.elements[4]=S[1],y.elements[8]=S[2],y.elements[12]=0,y.elements[1]=k[0],y.elements[5]=k[1],y.elements[9]=k[2],y.elements[13]=0,y.elements[2]=f[0],y.elements[6]=f[1],y.elements[10]=f[2],y.elements[14]=0,y.elements[3]=0,y.elements[7]=0,y.elements[11]=0,y.elements[15]=1,y=y.multiply(e),e.elements=y.elements,e.translate(-t,-l,-s),e}))}),"Mat44",[]),n.Mat33=Sk.misceval.buildClass(n,(function(e,n){n.__init__=new Sk.builtin.func((function(e){Sk.misceval.callsimArray(n.loadIdentity,[e])})),n.loadIdentity=new Sk.builtin.func((function(e){e.elements=[1,0,0,0,1,0,0,0,1]}))}),"Mat33",[]),n.Vec3=Sk.misceval.buildClass(n,(function(e,t){t.__init__=new Sk.builtin.func((function(e,n,t,l){e.x=n,e.y=t,e.z=l})),t.__sub__=new Sk.builtin.func((function(e,t){return Sk.misceval.callsimArray(n.Vec3,[e.x-t.x,e.y-t.y,e.z-t.z])}))}),"Vec3",[]),n.cross=new Sk.builtin.func((function(e,t){return Sk.asserts.assert(e instanceof n.Vec3&&t instanceof n.Vec3),Sk.misceval.callsimArray(n.Vec3,[e.y*t.z-e.z*t.y,e.z*t.x-e.x*t.z,e.x*t.y-e.y*t.x])})),n};',"src/lib/webgl/matrix4.js":"var $builtinmodule=function(n){var r={},t=new Float32Array(3),a=new Float32Array(3),u=new Float32Array(3),e=(new Float32Array(4),new Float32Array(4),new Float32Array(4),new Float32Array(16),new Float32Array(16),new Float32Array(16),function(n,r){for(var t=0,a=r.length,u=0;u1e-5)for(u=0;u{const n=e.$d;var r={},Buffer=function(t,e){var r=e||n.ARRAY_BUFFER,i=n.createBuffer();if(this.target=r,this.buf=i,this.set(t),this.numComponents_=t.numComponents,this.numElements_=t.numElements,this.totalComponents_=this.numComponents_*this.numElements_,t.buffer instanceof Float32Array)this.type_=n.FLOAT;else if(t.buffer instanceof Uint8Array)this.type_=n.UNSIGNED_BYTE;else if(t.buffer instanceof Int8Array)this.type_=n._BYTE;else if(t.buffer instanceof Uint16Array)this.type_=n.UNSIGNED_SHORT;else{if(!(t.buffer instanceof Int16Array))throw"unhandled type:"+typeof t.buffer;this.type_=n.SHORT}};return Buffer.prototype.set=function(t){n.bindBuffer(this.target,this.buf),n.bufferData(this.target,t.buffer,n.STATIC_DRAW)},Buffer.prototype.type=function(){return this.type_},Buffer.prototype.numComponents=function(){return this.numComponents_},Buffer.prototype.numElements=function(){return this.numElements_},Buffer.prototype.totalComponents=function(){return this.totalComponents_},Buffer.prototype.buffer=function(){return this.buf},Buffer.prototype.stride=function(){return 0},Buffer.prototype.offset=function(){return 0},r.Model=Sk.misceval.buildClass(r,(function(e,r){r.__init__=new Sk.builtin.func((function(e,r,i,f){e.buffers={};var setBuffer=function(t,r){var i="indices"==t?n.ELEMENT_ARRAY_BUFFER:n.ARRAY_BUFFER;let f=e.buffers[t];f?f.set(r):f=new Buffer(r,i),e.buffers[t]=f};for(t in i)setBuffer(t,i[t]);var o={},s=0;for(var u in f)o[u]=s++;e.mode=n.TRIANGLES,e.textures=f.v,e.textureUnits=o,e.shader=r})),r.drawPrep=new Sk.builtin.func((function(t,e){var r=t.shader,i=t.buffers,f=t.textures;for(var o in e=Sk.ffi.remapToJs(e),Sk.misceval.callsimArray(r.use,[r]),i){var s=i[o];if("indices"==o)n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,s.buffer());else{var u=r.attrib[o];u&&u(s)}}for(var a in f){var m=t.textureUnits[a];r.setUniform$impl(r,f,m),f[a].bindToUnit(m)}for(var p in e)r.setUniform$impl(r,p,e[p])})),r.draw=new Sk.builtin.func((function(t,e,r){var i=t.shader;e=Sk.ffi.remapToJs(e);for(let n in e)i.setUniform$impl(i,n,e[n]);if(r)for(var f in r){var o=t.textureUnits[f];i.setUniform$impl(i,f,o),r[f].bindToUnit(o)}var s=t.buffers;n.drawElements(t.mode,s.indices.totalComponents(),n.UNSIGNED_SHORT,0)}))}),"Model",[]),r}))};',"src/lib/webgl/primitives.js":'var $builtinmodule=function(t){var n={},AttribBuffer=function(t,n,e){e=e||"Float32Array";var r=window[e];n.length?(this.buffer=new r(n),n=this.buffer.length/t,this.cursor=n):(this.buffer=new r(t*n),this.cursor=0),this.numComponents=t,this.numElements=n,this.type=e};return AttribBuffer.prototype.stride=function(){return 0},AttribBuffer.prototype.offset=function(){return 0},AttribBuffer.prototype.getElement=function(t){for(var n=t*this.numComponents,e=[],r=0;r
\'+n+"
"},e=\'This page requires a browser that supports WebGL.
Click here to upgrade your browser.\';return t.Context=Sk.misceval.buildClass(t,(function(n,t){t.__init__=new Sk.builtin.func((function(n,t){var i=document.getElementById(t.v),r=function(n,t){var i=document.getElementById(n);if(t||(t=i.getElementsByTagName("canvas")[0]),t){var r=function(n){for(var t=["webgl","experimental-webgl","webkit-3d","moz-webgl"],e=null,i=0;i7||7==a.Chrome[0]&&a.Chrome[1]>0||7==a.Chrome[0]&&0==a.Chrome[1]&&a.Chrome[2]>=521)?i.innerHTML=makeFailHTML(\'It doesn\\\'t appear your computer can support WebGL.
Click here for more information.\'):i.innerHTML=makeFailHTML(e)}return r}i.innerHTML=makeFailHTML(e)}(t.v,i);if(!r)throw new Error("Your browser does not appear to support WebGL.");for(var u in n.gl=r,r.__proto__)if("number"==typeof r.__proto__[u])Sk.abstr.objectSetItem(n.$d,new Sk.builtin.str(u),r.__proto__[u]);else if("function"==typeof r.__proto__[u])switch(u){case"bufferData":case"clearColor":case"drawArrays":case"getAttribLocation":case"getUniformLocation":case"shaderSource":case"uniformMatrix4fv":case"vertexAttribPointer":case"viewport":break;default:!function(t){Sk.abstr.objectSetItem(n.$d,new Sk.builtin.str(u),new Sk.builtin.func((function(){return r.__proto__[t].apply(r,arguments)})))}(u)}r.clearColor(100/255,149/255,237/255,1),r.clear(r.COLOR_BUFFER_BIT)})),t.tp$getattr=Sk.generic.getAttr,t.bufferData=new Sk.builtin.func((function(n,t,e,i){n.gl.bufferData(t,e.v,i)})),t.clearColor=new Sk.builtin.func((function(n,t,e,i,r){n.gl.clearColor(Sk.builtin.asnum$(t),Sk.builtin.asnum$(e),Sk.builtin.asnum$(i),Sk.builtin.asnum$(r))})),t.getAttribLocation=new Sk.builtin.func((function(n,t,e){return n.gl.getAttribLocation(t,e.v)})),t.getUniformLocation=new Sk.builtin.func((function(n,t,e){return n.gl.getUniformLocation(t,e.v)})),t.shaderSource=new Sk.builtin.func((function(n,t,e){n.gl.shaderSource(t,e.v)})),t.drawArrays=new Sk.builtin.func((function(n,t,e,i){n.gl.drawArrays(Sk.builtin.asnum$(t),Sk.builtin.asnum$(e),Sk.builtin.asnum$(i))})),t.vertexAttribPointer=new Sk.builtin.func((function(n,t,e,i,r,u,a){n.gl.vertexAttribPointer(t,Sk.builtin.asnum$(e),Sk.builtin.asnum$(i),r,Sk.builtin.asnum$(u),Sk.builtin.asnum$(a))})),t.viewport=new Sk.builtin.func((function(n,t,e,i,r){n.gl.viewport(Sk.builtin.asnum$(t),Sk.builtin.asnum$(e),Sk.builtin.asnum$(i),Sk.builtin.asnum$(r))})),t.uniformMatrix4fv=new Sk.builtin.func((function(n,t,e,i){n.gl.uniformMatrix4fv(Sk.builtin.asnum$(t),e,i.v)})),t.setDrawFunc=new Sk.builtin.func((function(n,t){var e=(new Date).getTime();setInterval((function(){Sk.misceval.callsimArray(t,[n,(new Date).getTime()-e])}),1e3/60)}))}),"Context",[]),t.Float32Array=Sk.misceval.buildClass(t,(function(n,t){t.__init__=new Sk.builtin.func((function(n,t){n.v="number"==typeof t?new Float32Array(t):new Float32Array(Sk.ffi.remapToJs(t))})),t.__repr__=new Sk.builtin.func((function(n){for(var t=[],e=0;e(z=e.$d,O)),(e=>{O=e.$d}));return S(L,(()=>{function _strftime(e){return t=>e.$strftime(t).toString().toLowerCase()}function _strftime_timetuple(e,t){return O.strftime.tp$call([new i(e),t]).toString().toLowerCase()}const l=new i("fromordinal");function _struct_time(t){return O.struct_time.tp$call([new s(t.map((t=>new e(t))))])}function _localized_month(){const e=[()=>""];for(let t=0;t<12;t++){const i=new k(2001,t+1,1);e.push(_strftime(i))}return e}function _localized_day(){const e=[];for(let t=0;t<7;t++){const i=new k(2001,1,t+1);e.push(_strftime(i))}return e}const S={__name__:new i("_strptime")},k=z.date,L=z.timedelta,E=z.timezone;function _getlang(){return[t,t]}class LocaleTime{constructor(){this.lang=_getlang(),this.__calc_weekday(),this.__calc_month(),this.__calc_am_pm(),this.__calc_timezone(),this.__calc_date_time()}__calc_weekday(){this.a_weekday=_localized_day().map((e=>e("%a"))),this.f_weekday=_localized_day().map((e=>e("%A")))}__calc_month(){this.a_month=_localized_month().map((e=>e("%b"))),this.f_month=_localized_month().map((e=>e("%B")))}__calc_am_pm(){const e=[];[1,22].forEach((t=>{const i=_strftime_timetuple("%p",_struct_time([1999,3,17,t,44,55,2,76,0]));e.push(i)})),this.am_pm=e}__calc_date_time(){const e=_struct_time([1999,3,17,22,44,55,2,76,0]),i=[t,t,t];i[0]=_strftime_timetuple("%c",e),i[1]=_strftime_timetuple("%x",e),i[2]=_strftime_timetuple("%X",e);const s=[["%","%%"],[this.f_weekday[2],"%A"],[this.f_month[3],"%B"],[this.a_weekday[2],"%a"],[this.a_month[3],"%b"],[this.am_pm[1],"%p"],["1999","%Y"],["99","%y"],["22","%H"],["44","%M"],["55","%S"],["76","%j"],["17","%d"],["03","%m"],["3","%m"],["2","%w"],["10","%I"]];s.push(...this.timezone.flat().map((e=>[e,"%Z"]))),[[0,"%c"],[1,"%x"],[2,"%X"]].forEach((([e,t])=>{let n=i[e];s.forEach((([e,t])=>{e&&(n=n.replace(e,t))}));let a;a=_strftime_timetuple(t,_struct_time([1999,1,3,1,1,1,6,3,0])).includes("00")?"%W":"%U",i[e]=n.replace("11",a)})),this.LC_date_time=i[0],this.LC_date=i[1],this.LC_time=i[2]}__calc_timezone(){try{O.tzset.tp$call([])}catch{}this.tzname=O.tzname.v.map((e=>e.toString())),this.daylight=w(O.daylight);const e=[this.tzname[0].toLowerCase(),"utc","gmt"];let t;t=this.daylight?[this.tzname[1].toLowerCase()]:[],this.timezone=[e,t]}}class TimeRE{constructor(e=null){this.locale_time=e||new LocaleTime,Object.assign(this,{d:"(?3[0-1]|[1-2]\\\\d|0[1-9]|[1-9]| [1-9])",f:"(?[0-9]{1,6})",H:"(?2[0-3]|[0-1]\\\\d|\\\\d)",I:"(?1[0-2]|0[1-9]|[1-9])",G:"(?\\\\d\\\\d\\\\d\\\\d)",j:"(?36[0-6]|3[0-5]\\\\d|[1-2]\\\\d\\\\d|0[1-9]\\\\d|00[1-9]|[1-9]\\\\d|0[1-9]|[1-9])",m:"(?1[0-2]|0[1-9]|[1-9])",M:"(?[0-5]\\\\d|\\\\d)",S:"(?6[0-1]|[0-5]\\\\d|\\\\d)",U:"(?5[0-3]|[0-4]\\\\d|\\\\d)",w:"(?[0-6])",u:"(?[1-7])",V:"(?5[0-3]|0[1-9]|[1-4]\\\\d|\\\\d)",y:"(?\\\\d\\\\d)",Y:"(?\\\\d\\\\d\\\\d\\\\d)",z:"(?[+-]\\\\d\\\\d:?[0-5]\\\\d(:?[0-5]\\\\d(\\\\.\\\\d{1,6})?)?|Z)",A:this.__seqToRE(this.locale_time.f_weekday,"A"),a:this.__seqToRE(this.locale_time.a_weekday,"a"),B:this.__seqToRE(this.locale_time.f_month.slice(1),"B"),b:this.__seqToRE(this.locale_time.a_month.slice(1),"b"),p:this.__seqToRE(this.locale_time.am_pm,"p"),Z:this.__seqToRE(this.locale_time.timezone.flat(),"Z"),"%":"%"}),this.W=this.U.replace("U","W"),this.x=this.pattern(this.locale_time.LC_date),this.X=this.pattern(this.locale_time.LC_time),this.c=this.pattern(this.locale_time.LC_date_time)}__seqToRE(e,t){if((e=e.slice(0).sort(((e,t)=>t.length-e.length))).every((e=>""===e)))return"";return`(?<${t}>${e.map((e=>e)).join("|")})`}pattern(e){let t="";for(e=(e=e.replace(b,"\\\\$1")).replace(v,"\\\\s+");e.includes("%");){const i=e.indexOf("%")+1,s=this[e[i]];if(void 0===s)throw new h(e[i]);t=`${t}${e.slice(0,i-1)}${s}`,e=e.slice(i+1)}return t+e}compile(e){return new RegExp("^"+this.pattern(e),"i")}}let C=new TimeRE;const T=5;let A={};function _strptime(i,s="%a %b %d %H:%M:%S %Y"){function _checkString(e,t){if("string"!=typeof e&&!u(e))throw new m(`strptime() argument ${t} must be a str, not \'${o(e)}\'`)}_checkString(i,0),_checkString(s,1),i=i.toString(),s=s.toString();let n,_=C.locale_time;if(Object.keys(A).length>T&&(A={}),n=A[s],void 0===n)try{n=C.compile(s)}catch(V){if(V instanceof h){let e=V.args.v[0];throw"\\\\"==e&&(e="%"),new d(`\'${e}\' is a bad directive in format \'${s}\'`)}if(V instanceof f)throw new d("stray %% in format \'"+s+"\'");throw V}const c=i.match(n);if(null===c)throw new d(`time data \'${i}\' does not match format \'${s}\'`);if(i.length!==c[0].length)throw new d(`unconverted data remains: ${i.slice(c[0].length)}`);let w=t,p=t,g=1,$=1,y=0,S=0,b=0,v=0,z=-1,L=t,E=0,I=t,M=t,H=t,Y=t,j=t,U=c.groups||{};if(Object.keys(U).forEach((e=>{if(void 0!==U[e])if("y"===e)p=_as_integer(U.y),p+=p<=68?2e3:1900;else if("Y"===e)p=_as_integer(U.Y);else if("G"===e)w=_as_integer(U.G);else if("m"===e)g=_as_integer(U.m);else if("B"===e)g=_.f_month.indexOf(U.B.toLowerCase());else if("b"===e)g=_.a_month.indexOf(U.b.toLowerCase());else if("d"===e)$=_as_integer(U.d);else if("H"===e)y=_as_integer(U.H);else if("H"===e)y=_as_integer(U.H);else if("I"===e){y=_as_integer(U.I);const e=(U.p||"").toLowerCase();["",_.am_pm[0]].includes(e)?12===y&&(y=0):e===_.am_pm[1]&&12!==y&&(y+=12)}else if("M"===e)S=_as_integer(U.M);else if("S"===e)b=_as_integer(U.S);else if("f"===e){let e=U.f;e+="0".repeat(6-e.length),v=_as_integer(e)}else if("A"===e)Y=_.f_weekday.indexOf(U.A.toLowerCase());else if("a"===e)Y=_.a_weekday.indexOf(U.a.toLowerCase());else if("w"===e)Y=_as_integer(U.w),0===Y?Y=6:Y-=1;else if("u"===e)Y=_as_integer(U.u),Y-=1;else if("j"===e)j=_as_integer(U.j);else if(["U","W"].includes(e))M=_as_integer(U[e]),H="U"===e?6:0;else if("V"===e)I=_as_integer(U.V);else if("z"===e){let e=U.z;if("Z"===e)L=0;else{if(":"===e[3]&&(e=e.slice(0,3)+e.slice(4),e.length>5)){if(":"!==e[5]){const e=`Inconsistent use of : in ${U.z}`;throw new d(e)}e=e.slice(0,5)+e.slice(6)}const t=_as_integer(e.slice(1,3)),i=_as_integer(e.slice(3,5)),s=_as_integer(e.slice(5,7)||0);L=3600*t+60*i+s;const n=e.slice(8),a="0".repeat(6-n.length);E=_as_integer(n+a),e.startsWith("-")&&(L=-L,E=-E)}}else if("Z"===e){let e=U.Z.toLowerCase(),t=0;for(let i of _.timezone){if(i.includes(e)){const i=O.tzname.v;if(r(i[0],i[1],"Eq")&&a(O.daylight)&&!["utc","gmt"].includes(e))break;z=t}t++}}})),p===t&&w!==t){if(I===t||Y===t)throw new d("ISO year directive \'%G\' must be used with the ISO week directive \'%V\' and a weekday directive (\'%A\',\'%a\', \'%w\', or \'%u\').");if(j!==t)throw new d("Day of the year directive \'%j\' is not compatible with ISO year directive \'%G\'.Use \'%Y\' instead.")}else if(M===t&&I!==t)throw new d(Y===t?"ISO week directive \'%V\' must be used with the ISO year directive \'%G\' and a weekday directive (\'%A\', \'%a\', \'%w\', or \'%u\').":"ISO week directive \'%V\' is incompatible with the year directive \'%Y\'. Use the ISO year \'%G\' instead.");let x=!1;if(p===t&&2===g&&29===$?(p=1904,x=!0):p===t&&(p=1900),j===t&&Y!==t){if(M!==t){j=function _calc_julian_from_U_or_W(e,t,i,s){let n=(new k(e,1,1).$toOrdinal()+6)%7;return s||(n=(n+1)%7,i=(i+1)%7),0===t?1+i-n:(7-n)%7+7*(t-1)+1+i}(p,M,Y,0===H)}else w!==t&&I!==t&&([p,j]=function _calc_julian_from_V(e,t,i){let s=7*t+i-((new k(e,1,4).$toOrdinal()%7||7)+3);return s<1&&(s+=new k(e,1,1).$toOrdinal(),s-=new k(e-=1,1,1).$toOrdinal()),[e,s]}(w,I,Y+1));if(j!==t&&j<=0){p-=1;const e=function _is_leap(e){return e%4==0&&(e%100!=0||e%400==0)}(p)?366:365;j+=e}}if(j===t)j=new k(p,g,$).$toOrdinal()-new k(p,1,1).$toOrdinal()+1;else{const t=function _fromordinal(t){return k.tp$getattr(l).tp$call([new e(t)])}(j-1+new k(p,1,1).$toOrdinal());p=t.$year,g=t.$month,$=t.$day}Y===t&&(Y=(new k(p,g,$).$toOrdinal()+6)%7);const R=U.Z||t;return x&&(p=1900),[[p,g,$,y,S,b,Y,j,z,R,L],v,E]}return _("_strptime",S,{_strptime_time:{$meth:function _strptime_time(t,i="%a %b %d %H:%M:%S %Y"){let n=_strptime(t,i)[0].slice(0,11);return n=n.map(((t,i)=>i<9?new e(t):p(t))),O.struct_time.tp$call([new s(n)])},$flags:{NamedArgs:["data_string","format"],Defaults:["%a %b %d %H:%M:%S %Y"]}},_strptime_datetime:{$meth:function _strptime_datetime(s,r,l="%a %b %d %H:%M:%S %Y"){const[o,_,c]=_strptime(r,l),[m,d]=o.slice(-2),h=o.slice(0,6);let f,u;return h.push(_),h.map((t=>new e(t))),d!==t&&(f=new L(0,d,c),u=a(m)?new E(f,new i(m)):new E(f),h.push(u)),n(s,h)},$flags:{NamedArgs:["cls","data_string","format"],Defaults:["%a %b %d %H:%M:%S %Y"]}},_strptime:{$meth(i,n){const a=_strptime(i,n);return a[0]=new s(a[0].map((i=>i===t?i:new e(i)))),a[1]=new e(a[1]),a[2]=new e(a[2]),new s(a)},$flags:{NamedArgs:["data_string","format"],Defaults:["%a %b %d %H:%M:%S %Y"]}},_getlang:{$meth:()=>p(_getlang()),$flags:{NoArgs:!0}}}),S.LocaleTime=c("_strptime.LocaleTime",{constructor:function(){this.v=new LocaleTime},slots:{tp$getattr(e,t){return this.v.hasOwnProperty(e.toString())?p(this.v[e.toString()]):$.call(this,e,t)},tp$setattr(e,t){if(!this.v.hasOwnProperty(e.toString()))return y.call(this,e,t);this.v[e.toString()]=g(t)}}}),S}))}'}}},312:function(t,e,n){(function(){"use strict";var t=t||{};t.scope={},t.ASSUME_ES5=!1,t.ASSUME_NO_NATIVE_MAP=!1,t.ASSUME_NO_NATIVE_SET=!1,t.SIMPLE_FROUND_POLYFILL=!1,t.ISOLATE_POLYFILLS=!1,t.FORCE_POLYFILL_PROMISE=!1,t.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1,t.defineProperty=t.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,n){return t==Array.prototype||t==Object.prototype||(t[e]=n.value),t},t.getGlobal=function(t){t=["object"==typeof globalThis&&globalThis,t,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof n.g&&n.g];for(var e=0;e(e=e||0)&&(e=Math.max(e+i,0));e{Sk.abstr.setUpSlots(t),Sk.abstr.setUpMethods(t),Sk.abstr.setUpGetSets(t),Sk.abstr.setUpClassMethods(t)})),n(19),n(20),n(21),[Sk.builtin.str,Sk.builtin.none,Sk.builtin.NotImplemented,Sk.builtin.object].forEach((t=>{(t=t.prototype).__doc__=t.hasOwnProperty("tp$doc")?new Sk.builtin.str(t.tp$doc):Sk.builtin.none.none$})),n(22),n(23),n(24),n(25),n(26),n(27),n(28),n(29),n(31),n(32),n(33),n(34),n(35),n(36),n(37),n(38),n(39),n(40),n(41),n(42),n(43),n(44),n(45),n(46),n(47),n(48),n(49),n(50),n(51),n(52),n(53),n(66),n(54),n(55),n(56),n(57),n(58),n(59),n(60),n(61),n(62),n(63),n(64),n(65)},function(t,e,n){(function(t){var e={build:{githash:"1d6da87991edd93117a53858367c32f27d77b396",date:"2023-09-01T06:58:47.589Z"}};e.global=void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e.exportSymbol=function(t,n){t=t.split(".");var i,s=e.global;for(i=0;i=t||0===e||4<=e)return"th";switch(e){case 1:return"st";case 2:return"nd";case 3:return"rd"}}function o(t){"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(t)}var a={de_DE:{identifier:"de-DE",days:"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),shortDays:"So Mo Di Mi Do Fr Sa".split(" "),months:"Januar Februar März April Mai Juni Juli August September Oktober November Dezember".split(" "),shortMonths:"Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d.%m.%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},en_CA:{identifier:"en-CA",days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat".split(" "),months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),ordinalSuffixes:"st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%r",x:"%D"}},en_US:{identifier:"en-US",days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat".split(" "),months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),ordinalSuffixes:"st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%m/%d/%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%r",x:"%D"}},es_MX:{identifier:"es-MX",days:"domingo lunes martes miércoles jueves viernes sábado".split(" "),shortDays:"dom lun mar mié jue vie sáb".split(" "),months:"enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre".split(" "),shortMonths:"ene feb mar abr may jun jul ago sep oct nov dic".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},fr_FR:{identifier:"fr-FR",days:"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),shortDays:"dim. lun. mar. mer. jeu. ven. sam.".split(" "),months:"janvier février mars avril mai juin juillet août septembre octobre novembre décembre".split(" "),shortMonths:"janv. févr. mars avril mai juin juil. août sept. oct. nov. déc.".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},it_IT:{identifier:"it-IT",days:"domenica lunedì martedì mercoledì giovedì venerdì sabato".split(" "),shortDays:"dom lun mar mer gio ven sab".split(" "),months:"gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre".split(" "),shortMonths:"gen feb mar apr mag giu lug ago set ott nov dic".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},nl_NL:{identifier:"nl-NL",days:"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag".split(" "),shortDays:"zo ma di wo do vr za".split(" "),months:"januari februari maart april mei juni juli augustus september oktober november december".split(" "),shortMonths:"jan feb mrt apr mei jun jul aug sep okt nov dec".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d-%m-%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},pt_BR:{identifier:"pt-BR",days:"domingo segunda terça quarta quinta sexta sábado".split(" "),shortDays:"Dom Seg Ter Qua Qui Sex Sáb".split(" "),months:"janeiro fevereiro março abril maio junho julho agosto setembro outubro novembro dezembro".split(" "),shortMonths:"Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X %Z",D:"%d-%m-%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},ru_RU:{identifier:"ru-RU",days:"Воскресенье Понедельник Вторник Среда Четверг Пятница Суббота".split(" "),shortDays:"Вс Пн Вт Ср Чт Пт Сб".split(" "),months:"Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь".split(" "),shortMonths:"янв фев мар апр май июн июл авг сен окт ноя дек".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm",formats:{c:"%a %d %b %Y %X",D:"%d.%m.%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},tr_TR:{identifier:"tr-TR",days:"Pazar Pazartesi Salı Çarşamba Perşembe Cuma Cumartesi".split(" "),shortDays:"Paz Pzt Sal Çrş Prş Cum Cts".split(" "),months:"Ocak Şubat Mart Nisan Mayıs Haziran Temmuz Ağustos Eylül Ekim Kasım Aralık".split(" "),shortMonths:"Oca Şub Mar Nis May Haz Tem Ağu Eyl Eki Kas Ara".split(" "),AM:"ÖÖ",PM:"ÖS",am:"ÖÖ",pm:"ÖS",formats:{c:"%a %d %b %Y %X %Z",D:"%d-%m-%Y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%T",x:"%D"}},zh_CN:{identifier:"zh-CN",days:"星期日 星期一 星期二 星期三 星期四 星期五 星期六".split(" "),shortDays:"日一二三四五六".split(""),months:"一月份 二月份 三月份 四月份 五月份 六月份 七月份 八月份 九月份 十月份 十一月份 十二月份".split(" "),shortMonths:"一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月".split(" "),AM:"上午",PM:"下午",am:"上午",pm:"下午",formats:{c:"%a %d %b %Y %X %Z",D:"%d/%m/%y",F:"%Y-%m-%d",R:"%H:%M",r:"%I:%M:%S %p",T:"%H:%M:%S",v:"%e-%b-%Y",X:"%r",x:"%D"}}},l=a.en_US,u=new function t(u,c,p){function h(t,a,l,u){for(var c="",p=null,_=!1,d=t.length,g=!1,b=0;ba.getHours()?l.am:l.pm;break;case 82:c+=h(l.formats.R,a,l,u);break;case 83:c+=e(a.getSeconds(),p);break;case 84:c+=h(l.formats.T,a,l,u);break;case 85:c+=e(s(a,"sunday"),p);break;case 87:c+=e(s(a,"monday"),p);break;case 88:c+=h(l.formats.X,a,l,u);break;case 89:c+=a.getFullYear();break;case 90:m&&0===f?c+="GMT":c+=(p=(p=(p=a).toString().match(/\(([\w\s]+)\)/))&&p[1])||"";break;case 97:c+=l.shortDays[a.getDay()];break;case 98:case 104:c+=l.shortMonths[a.getMonth()];break;case 99:c+=h(l.formats.c,a,l,u);break;case 100:c+=e(a.getDate(),p);break;case 101:c+=e(a.getDate(),null==p?" ":p);break;case 106:p=new Date(a.getFullYear(),0,1),c+=n(p=Math.ceil((a.getTime()-p.getTime())/864e5));break;case 107:c+=e(a.getHours(),null==p?" ":p);break;case 108:c+=e(i(a.getHours()),null==p?" ":p);break;case 109:c+=e(a.getMonth()+1,p);break;case 110:c+="\n";break;case 111:p=a.getDate(),c=l.ordinalSuffixes?c+(String(p)+(l.ordinalSuffixes[p-1]||r(p))):c+(String(p)+r(p));break;case 112:c+=12>a.getHours()?l.AM:l.PM;break;case 114:c+=h(l.formats.r,a,l,u);break;case 115:c+=Math.floor(u/1e3);break;case 116:c+="\t";break;case 117:c+=0===(p=a.getDay())?7:p;break;case 118:c+=h(l.formats.v,a,l,u);break;case 119:c+=a.getDay();break;case 120:c+=h(l.formats.x,a,l,u);break;case 121:c+=e(_=a.getFullYear()%100,p);break;case 122:m&&0===f?c+=g?"+00:00":"+0000":(p=0!==f?f/6e4:-a.getTimezoneOffset(),_=g?":":"",S=Math.abs(p%60),c+=(0>p?"-":"+")+e(Math.floor(Math.abs(p/60)))+_+e(S));break;default:_&&(c+="%"),c+=t[b]}p=null,_=!1}else 37===S?_=!0:c+=t[b]}return c}var _,d=u||l,f=c||0,m=p||!1,g=0,b=function(t,e){if(e){var n=e.getTime();if(m){var i=6e4*(e.getTimezoneOffset()||0);6e4*((e=new Date(n+i+f)).getTimezoneOffset()||0)!==i&&(e=6e4*(e.getTimezoneOffset()||0),e=new Date(n+e+f))}}else(n=Date.now())>g?(g=n,_=new Date(g),n=g,m&&(_=new Date(g+6e4*(_.getTimezoneOffset()||0)+f))):n=g,e=_;return h(t,e,d,n)};return b.localize=function(e){return new t(e||d,f,m)},b.localizeByIdentifier=function(t){var e=a[t];return e?b.localize(e):(o('[WARNING] No locale found with identifier "'+t+'".'),b)},b.timezone=function(e){var n=f,i=m,s=typeof e;return"number"!==s&&"string"!==s||(i=!0,"string"===s?n=(n="-"===e[0]?-1:1)*(60*(s=parseInt(e.slice(1,3),10))+(e=parseInt(e.slice(3,5),10)))*6e4:"number"===s&&(n=6e4*e)),new t(d,n,i)},b.utc=function(){return new t(d,f,!0)},b}(l,0,!1);if(void 0!==t)t.exports=u;else(function(){return this||(0,eval)("this")}()).strftime=u;"function"!=typeof Date.now&&(Date.now=function(){return+new Date})}()},function(t,e,n){t=n(5);const i=Sk.global.JSBI=void 0!==Sk.global.BigInt?{}:t;void 0===Sk.global.BigInt?(i.__isBigInt||(i.__isBigInt=t=>t instanceof i),i.powermod=(t,e,n)=>{const s=i.BigInt(1);let r=s;for(e=i.greaterThan(e,i.__ZERO)?e:i.unaryMinus(e);i.greaterThan(e,i.__ZERO);)i.bitwiseAnd(e,s)&&(r=i.remainder(i.multiply(r,t),n)),e=i.signedRightShift(e,s),t=i.remainder(i.multiply(t,t),n);return r}):Object.assign(i,{BigInt:Sk.global.BigInt,toNumber:t=>Number(t),toString:t=>t.toString(),__isBigInt:t=>"bigint"==typeof t,unaryMinus:t=>-t,bitwiseNot:t=>~t,bitwiseAnd:(t,e)=>t&e,bitwiseOr:(t,e)=>t|e,bitwiseXor:(t,e)=>t^e,exponentiate:(t,e)=>{const n=i.BigInt(1);let s=n;for(e=e>i.__ZERO?e:-e;e>i.__ZERO;)e&n&&(s*=t),e>>=n,t*=t;return s},powermod:(t,e,n)=>{const s=i.BigInt(1);let r=s;for(e=e>i.__ZERO?e:-e;e>i.__ZERO;)e&s&&(r=r*t%n),e>>=s,t=t*t%n;return r},multiply:(t,e)=>t*e,divide:(t,e)=>t/e,remainder:(t,e)=>t%e,add:(t,e)=>t+e,subtract:(t,e)=>t-e,leftShift:(t,e)=>t<t>>e,unsignedRightShift:(t,e)=>t>>>e,lessThan:(t,e)=>tt<=e,greaterThan:(t,e)=>t>e,greaterThanOrEqual:(t,e)=>t>=e,equal:(t,e)=>t===e,notEqual:(t,e)=>t!==e}),i.__ZERO=i.BigInt(0),i.__MAX_SAFE=i.BigInt(Number.MAX_SAFE_INTEGER),i.__MIN_SAFE=i.BigInt(-Number.MAX_SAFE_INTEGER),i.numberIfSafe=t=>i.lessThan(t,i.__MAX_SAFE)&&i.greaterThan(t,i.__MIN_SAFE)?i.toNumber(t):t,i.BigUp=t=>i.__isBigInt(t)?t:i.BigInt(t)},function(t,e,n){t.exports=function(){var t=Math.imul,e=Math.clz32,n=Math.abs,i=Math.max,s=Math.floor;class r extends Array{constructor(t,e){if(super(t),this.sign=e,t>r.__kMaxLength)throw new RangeError("Maximum BigInt size exceeded")}static BigInt(t){var e=Number.isFinite;if("number"==typeof t){if(0===t)return r.__zero();if(r.__isOneDigitInt(t))return 0>t?r.__oneDigit(-t,!0):r.__oneDigit(t,!1);if(!e(t)||s(t)!==t)throw new RangeError("The number "+t+" cannot be converted to BigInt because it is not an integer");return r.__fromDouble(t)}if("string"==typeof t){if(null===(e=r.__fromString(t)))throw new SyntaxError("Cannot convert "+t+" to a BigInt");return e}if("boolean"==typeof t)return!0===t?r.__oneDigit(1,!1):r.__zero();if("object"==typeof t)return t.constructor===r?t:(t=r.__toPrimitive(t),r.BigInt(t));throw new TypeError("Cannot convert "+t+" to a BigInt")}toDebugString(){const t=["BigInt["];for(const e of this)t.push((e?(e>>>0).toString(16):e)+", ");return t.push("]"),t.join("")}toString(t){if(2>(t=void 0===t?10:t)||36>>12;const l=a-12;for(e=12<=a?0:i<<20+a,a=20+a,0>>30-l,e=i<>>30-a,a-=30;return 1!==(i=r.__decideRounding(t,a,o,i))&&(0!==i||1&~e)||0!=(e=e+1>>>0)||!(0!=++s>>>20&&(s=0,1023<++n))?(t=t.sign?-2147483648:0,n=n+1023<<20,r.__kBitConversionInts[1]=t|n|s,r.__kBitConversionInts[0]=e,r.__kBitConversionDouble[0]):t.sign?-1/0:1/0}static unaryMinus(t){if(0===t.length)return t;const e=t.__copy();return e.sign=!t.sign,e}static bitwiseNot(t){return t.sign?r.__absoluteSubOne(t).__trim():r.__absoluteAddOne(t,!0)}static exponentiate(t,e){if(e.sign)throw new RangeError("Exponent must be positive");if(0===e.length)return r.__oneDigit(1,!1);if(0===t.length)return t;if(1===t.length&&1===t.__digit(0))return!t.sign||1&e.__digit(0)?t:r.unaryMinus(t);if(1=r.__kMaxLengthBits)throw new RangeError("BigInt too big");if(1===t.length&&2===t.__digit(0)){var n=1+(0|e/30);return(t=new r(n,t.sign&&!!(1&e))).__initializeDigits(),t.__setDigit(n-1,1<>=1;0!==e;e>>=1)i=r.multiply(i,i),1&e&&(n=null===n?i:r.multiply(n,i));return n}static multiply(t,e){if(0===t.length)return t;if(0===e.length)return e;var n=t.length+e.length;30<=t.__clzmsd()+e.__clzmsd()&&n--,(n=new r(n,t.sign!==e.sign)).__initializeDigits();for(let i=0;ir.__absoluteCompare(t,e))return r.__zero();const n=t.sign!==e.sign,i=e.__unsignedDigit(0);if(1===e.length&&32767>=i){if(1===i)return n===t.sign?t:r.unaryMinus(t);t=r.__absoluteDivSmall(t,i,null)}else t=r.__absoluteDivLarge(t,e,!0,!1);return t.sign=n,t.__trim()}static remainder(t,e){if(0===e.length)throw new RangeError("Division by zero");if(0>r.__absoluteCompare(t,e))return t;const n=e.__unsignedDigit(0);return 1===e.length&&32767>=n?1===n||0===(e=r.__absoluteModSmall(t,n))?r.__zero():r.__oneDigit(e,t.sign):((e=r.__absoluteDivLarge(t,e,!1,!0)).sign=t.sign,e.__trim())}static add(t,e){const n=t.sign;return n===e.sign?r.__absoluteAdd(t,e,n):0<=r.__absoluteCompare(t,e)?r.__absoluteSub(t,e,n):r.__absoluteSub(e,t,!n)}static subtract(t,e){const n=t.sign;return n===e.sign?0<=r.__absoluteCompare(t,e)?r.__absoluteSub(t,e,n):r.__absoluteSub(e,t,!n):r.__absoluteAdd(t,e,n)}static leftShift(t,e){return 0===e.length||0===t.length?t:e.sign?r.__rightShiftByAbsolute(t,e):r.__leftShiftByAbsolute(t,e)}static signedRightShift(t,e){return 0===e.length||0===t.length?t:e.sign?r.__leftShiftByAbsolute(t,e):r.__rightShiftByAbsolute(t,e)}static unsignedRightShift(){throw new TypeError("BigInts have no unsigned right shift; use >> instead")}static lessThan(t,e){return 0>r.__compareToBigInt(t,e)}static lessThanOrEqual(t,e){return 0>=r.__compareToBigInt(t,e)}static greaterThan(t,e){return 0(t=s(t)))throw new RangeError("Invalid value: not (convertible to) a safe integer");if(0===t)return r.__zero();if(t>=r.__kMaxLengthBits)return e;const n=0|(t+29)/30;if(e.length(t=s(t)))throw new RangeError("Invalid value: not (convertible to) a safe integer");if(0===t)return r.__zero();if(e.sign){if(t>r.__kMaxLengthBits)throw new RangeError("BigInt too big");return r.__truncateAndSubFromPowerOfTwo(t,e,!1)}if(t>=r.__kMaxLengthBits)return e;const n=0|(t+29)/30;if(e.length>>i?r.__truncateToNBits(t,e):e}static ADD(t,e){if(t=r.__toPrimitive(t),e=r.__toPrimitive(e),"string"==typeof t)return"string"!=typeof e&&(e=e.toString()),t+e;if("string"==typeof e)return t.toString()+e;if(t=r.__toNumeric(t),e=r.__toNumeric(e),r.__isBigInt(t)&&r.__isBigInt(e))return r.add(t,e);if("number"==typeof t&&"number"==typeof e)return t+e;throw new TypeError("Cannot mix BigInt and other types, use explicit conversions")}static LT(t,e){return r.__compare(t,e,0)}static LE(t,e){return r.__compare(t,e,1)}static GT(t,e){return r.__compare(t,e,2)}static GE(t,e){return r.__compare(t,e,3)}static EQ(t,e){for(;;){if(r.__isBigInt(t))return r.__isBigInt(e)?r.equal(t,e):r.EQ(e,t);if("number"==typeof t){if(r.__isBigInt(e))return r.__equalToNumber(e,t);if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else if("string"==typeof t){if(r.__isBigInt(e))return null!==(t=r.__fromString(t))&&r.equal(t,e);if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else if("boolean"==typeof t){if(r.__isBigInt(e))return r.__equalToNumber(e,+t);if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else if("symbol"==typeof t){if(r.__isBigInt(e))return!1;if("object"!=typeof e)return t==e;e=r.__toPrimitive(e)}else{if("object"!=typeof t)return t==e;if("object"==typeof e&&e.constructor!==r)return t==e;t=r.__toPrimitive(t)}}}static NE(t,e){return!r.EQ(t,e)}static __zero(){return new r(0,!1)}static __oneDigit(t,e){return(e=new r(1,e)).__setDigit(0,t),e}__copy(){const t=new r(this.length,this.sign);for(let e=0;ee)e=-e-1;else{if(0===n)return-1;n--,i=t.__digit(n),e=29}if(!(i&(e=1<>>20)-1023,n=1+(0|e/30);t=new r(n,0>t);let i,s=1048575&r.__kBitConversionInts[1]|1048576,o=r.__kBitConversionInts[0];if(20>(e%=30)){var a=20-e;i=a+32,e=s>>>a,s=s<<32-a|o>>>a,o<<=32-a}else 20===e?(i=32,e=s,s=o):(i=32-(a=e-20),e=s<>>32-a,s=o<>>2,s=s<<30|o>>>2,o<<=30):e=0,t.__setDigit(n,e);return t.__trim()}static __isWhitespace(t){return!!(13>=t&&9<=t)||(159>=t?32==t:131071>=t?160==t||5760==t:196607>=t?10>=(t&=131071)||40==t||41==t||47==t||95==t||4096==t:65279==t)}static __fromString(t,e){e=void 0===e?0:e;let n=0;const i=t.length;let s=0;if(s===i)return r.__zero();let o=t.charCodeAt(s);for(;r.__isWhitespace(o);){if(++s===i)return r.__zero();o=t.charCodeAt(s)}if(43===o){if(++s===i)return null;o=t.charCodeAt(s),n=1}else if(45===o){if(++s===i)return null;o=t.charCodeAt(s),n=-1}if(0===e){if(e=10,48===o){if(++s===i)return r.__zero();if(o=t.charCodeAt(s),88===o||120===o){if(e=16,++s===i)return null;o=t.charCodeAt(s)}else if(79===o||111===o){if(e=8,++s===i)return null;o=t.charCodeAt(s)}else if(66===o||98===o){if(e=2,++s===i)return null;o=t.charCodeAt(s)}}}else if(16===e&&48===o){if(++s===i)return r.__zero();if(o=t.charCodeAt(s),88===o||120===o){if(++s===i)return null;o=t.charCodeAt(s)}}if(0!=n&&10!==e)return null;for(;48===o;){if(++s===i)return r.__zero();o=t.charCodeAt(s)}var a=i-s;let l=r.__kMaxBitsPerChar[e];var u=r.__kBitsPerCharTableMultiplier-1;if(a>1073741824/l)return null;a=new r(0|(29+(l*a+u>>>r.__kBitsPerCharTableShift))/30,!1);const c=10>e?e:10,p=10>>0>>0>>r.__kBitsPerCharTableShift)/30)}while(!h)}else{l>>=r.__kBitsPerCharTableShift,e=[];var h=[],_=!1;do{for(var d=0,f=0;;){if(o-48>>>0>>0>>l-r)}if(0!==s){if(i>=t.length)throw Error("implementation bug");t.__setDigit(i++,s)}for(;i>>1)+(85&i))>>>2)+(51&i))>>>4)+(15&i),--e;const s=t.__digit(n-1);var o=r.__clz30(s),a=0|(30*n-o+i-1)/i;if(t.sign&&a++,268435456>>(u=i-u),u=30-u;u>=i;)o[a--]=r.__kConversionChars[l&e],l>>>=i,u-=i}for(o[a--]=r.__kConversionChars[(l|s<>>i-u;0!==l;)o[a--]=r.__kConversionChars[l&e],l>>>=i;if(t.sign&&(o[a--]="-"),-1!=a)throw Error("implementation bug");return o.join("")}static __toStringGeneric(t,e,n){var i=t.length;if(0===i)return"";if(1===i)return e=t.__unsignedDigit(0).toString(e),!1===n&&t.sign&&(e="-"+e),e;var s=30*i-r.__clz30(t.__digit(i-1));i=r.__kMaxBitsPerChar[e]-1,i=1+(0|((s*=r.__kBitsPerCharTableMultiplier)+(i-1))/i)>>1;var o=(s=r.exponentiate(r.__oneDigit(e,!1),r.__oneDigit(i,!1))).__unsignedDigit(0);if(1===s.length&&32767>=o){(s=new r(t.length,!1)).__initializeDigits();var a=0;for(let e=2*t.length-1;0<=e;e--)a=a<<15|t.__halfDigit(e),s.__setHalfDigit(e,0|a/o),a=0|a%o;o=a.toString(e)}else s=(o=r.__absoluteDivLarge(t,s,!0,!0)).quotient,o=o.remainder.__trim(),o=r.__toStringGeneric(o,e,!0);for(s.__trim(),e=r.__toStringGeneric(s,e,!0);o.lengtht?r.__absoluteLess(n):0}static __compareToNumber(t,e){if(r.__isOneDigitInt(e)){const i=t.sign,s=0>e;if(i!==s)return r.__unequalSign(i);if(0===t.length){if(s)throw Error("implementation bug");return 0===e?0:-1}return 1e?r.__absoluteGreater(i):te)return r.__unequalSign(n);if(0===e)throw Error("implementation bug: should be handled elsewhere");if(0===t.length)return-1;if(r.__kBitConversionDouble[0]=e,2047==(e=2047&r.__kBitConversionInts[1]>>>20))throw Error("implementation bug: handled elsewhere");var i=e-1023;if(0>i)return r.__absoluteGreater(n);e=t.length;var s=t.__digit(e-1),o=r.__clz30(s),a=30*e-o;if(a<(i+=1))return r.__absoluteLess(n);if(a>i)return r.__absoluteGreater(n);i=1048576|1048575&r.__kBitConversionInts[1];let l=r.__kBitConversionInts[0];if((o=29-o)!=(0|(a-1)%30))throw Error("implementation bug");if(20>o){var u=20-o;o=u+32,a=i>>>u,i=i<<32-u|l>>>u,l<<=32-u}else 20===o?(o=32,a=i,i=l):(o=32-(u=o-20),a=i<>>32-u,i=l<>>=0)>(a>>>=0))return r.__absoluteGreater(n);if(s>>2,i=i<<30|l>>>2,l<<=30):a=0,(s=t.__unsignedDigit(e))>a)return r.__absoluteGreater(n);if(se&&t.__unsignedDigit(0)===n(e):0===r.__compareToDouble(t,e)}static __comparisonResultToBool(t,e){return 0===e?0>t:1===e?0>=t:2===e?0e;case 3:return t>=e}if(r.__isBigInt(t)&&"string"==typeof e)return null!==(e=r.__fromString(e))&&r.__comparisonResultToBool(r.__compareToBigInt(t,e),n);if("string"==typeof t&&r.__isBigInt(e))return null!==(t=r.__fromString(t))&&r.__comparisonResultToBool(r.__compareToBigInt(t,e),n);if(t=r.__toNumeric(t),e=r.__toNumeric(e),r.__isBigInt(t)){if(r.__isBigInt(e))return r.__comparisonResultToBool(r.__compareToBigInt(t,e),n);if("number"!=typeof e)throw Error("implementation bug");return r.__comparisonResultToBool(r.__compareToNumber(t,e),n)}if("number"!=typeof t)throw Error("implementation bug");if(r.__isBigInt(e))return r.__comparisonResultToBool(r.__compareToNumber(e,t),2^n);if("number"!=typeof e)throw Error("implementation bug");return 0===n?te:3===n?t>=e:void 0}__clzmsd(){return r.__clz30(this.__digit(this.length-1))}static __absoluteAdd(t,e,n){if(t.length>>30,n.__setDigit(s,1073741823&r)}for(;s>>30,n.__setDigit(s,1073741823&e);return s>>30,n.__setDigit(s,1073741823&r)}for(;s>>30,n.__setDigit(s,1073741823&e);return n.__trim()}static __absoluteAddOne(t,e,n){n=void 0===n?null:n;const i=t.length;null===n?n=new r(i,e):n.sign=e,e=1;for(let s=0;s>>30,n.__setDigit(s,1073741823&i)}return 0!=e&&n.__setDigitGrow(i,1),n}static __absoluteSubOne(t,e){const n=t.length,i=new r(e=e||n,!1);let s=1;for(let e=0;e>>30,i.__setDigit(e,1073741823&n)}if(0!=s)throw Error("implementation bug");for(t=n;tn?0:t.__unsignedDigit(n)>e.__unsignedDigit(n)?1:-1}static __multiplyAccumulate(t,e,n,i){if(0!==e){var s=32767&e,o=e>>>15,a=e=0;for(let p,h=0;h>>15;l=r.__imul(u,s),u=r.__imul(u,o);const _=r.__imul(c,s);p+=a+l+e,e=p>>>30,p&=1073741823,p+=((32767&u)<<15)+((32767&_)<<15),e+=p>>>30,a=(c=r.__imul(c,o))+(u>>>15)+(_>>>15),n.__setDigit(i,1073741823&p)}for(;0!=e||0!==a;i++)t=n.__digit(i),t+=e+a,a=0,e=t>>>30,n.__setDigit(i,1073741823&t)}}static __internalMultiplyAdd(t,e,n,i,s){let o=0;for(let u=0;u>>15,e)))<<15)+o+n)>>>30,o=a>>>15,s.__setDigit(u,1073741823&l)}if(s.length>i)for(s.__setDigit(i++,n+o);ithis.length&&(n=this.length);const i=32767&t;t>>>=15;let s=0;for(let u=0;u>>15;o=r.__imul(a,i),a=r.__imul(a,t);const n=r.__imul(l,i);s=(o=e+o+s)>>>30,o&=1073741823,s+=(o+=((32767&a)<<15)+((32767&n)<<15))>>>30,e=(l=r.__imul(l,t))+(a>>>15)+(n>>>15),this.__setDigit(u,1073741823&o)}if(0!=s||0!==e)throw Error("implementation bug")}static __absoluteDivSmall(t,e,n){null===(n=void 0===n?null:n)&&(n=new r(t.length,!1));let i=0;for(let s,r=2*t.length-1;0<=r;r-=2){s=(i<<15|t.__halfDigit(r))>>>0;const o=0|s/e;i=0|s%e,s=(i<<15|t.__halfDigit(r-1))>>>0;const a=0|s/e;i=0|s%e,n.__setDigit(r>>>1,o<<15|a)}return n}static __absoluteModSmall(t,e){let n=0;for(let i=2*t.length-1;0<=i;i--)n=0|((n<<15|t.__halfDigit(i))>>>0)%e;return n}static __absoluteDivLarge(t,e,n,i){const s=e.__halfDigitLength(),o=e.length;var a=t.__halfDigitLength()-s;let l=null;n&&(l=new r(a+2>>>1,!1),l.__initializeDigits());const u=new r(s+2>>>1,!1);u.__initializeDigits();const c=r.__clz15(e.__halfDigit(s-1));0>>0)/p,a=0|a%p;const n=e.__halfDigit(s-2),o=t.__halfDigit(c+s-2);for(;r.__imul(i,n)>>>0>(a<<16|o)>>>0&&(i--,!(32767<(a+=p))););}r.__internalMultiplyAdd(e,i,0,o,u),0!==(a=t.__inplaceSub(u,c,s+1))&&(a=t.__inplaceAdd(e,c,s),t.__setHalfDigit(c+s,32767&t.__halfDigit(c+s)+a),i--),n&&(1&c?h=i<<15:l.__setDigit(c>>>1,h|i))}if(i)return t.__inplaceRightShift(c),n?{quotient:l,remainder:t}:t;if(n)return l;throw Error("unreachable")}static __clz15(t){return r.__clz30(t)-15}__inplaceAdd(t,e,n){let i=0;for(let s=0;s>>15,this.__setHalfDigit(e+s,32767&n)}return i}__inplaceSub(t,e,n){let i=0;if(1&e){e>>=1;for(var s=this.__digit(e),r=32767&s,o=0;o>>1;o++){var a=t.__digit(o);i=1&(s=(s>>>15)-(32767&a)-i)>>>15,this.__setDigit(e+o,(32767&s)<<15|32767&r),i=1&(r=(32767&(s=this.__digit(e+o+1)))-(a>>>15)-i)>>>15}const l=(s>>>15)-(32767&(a=t.__digit(o)))-i;if(i=1&l>>>15,this.__setDigit(e+o,(32767&l)<<15|32767&r),e+o+1>=this.length)throw new RangeError("out of bounds");!(1&n)&&(i=1&(r=(32767&(s=this.__digit(e+o+1)))-(a>>>15)-i)>>>15,this.__setDigit(e+t.length,1073709056&s|32767&r))}else{for(e>>=1,r=0;r>>15,i=1&(s=(s>>>15)-(a>>>15)-i)>>>15,this.__setDigit(e+r,(32767&s)<<15|32767&o);i=1&(s=(32767&(o=this.__digit(e+r)))-(32767&(t=t.__digit(r)))-i)>>>15,a=0,!(1&n)&&(i=1&(a=(o>>>15)-(t>>>15)-i)>>>15),this.__setDigit(e+r,(32767&a)<<15|32767&s)}return i}__inplaceRightShift(t){if(0!==t){var e=this.__digit(0)>>>t,n=this.length-1;for(let i=0;i>>t}this.__setDigit(n,e)}}static __specialLeftShift(t,e,n){const i=t.length,s=new r(i+n,!1);if(0===e){for(e=0;e>>30-e}return 0n)throw new RangeError("BigInt too big");e=0|n/30;var i=n%30;const s=t.length,o=0!==i&&0!=t.__digit(s-1)>>>30-i;var a=s+e+(o?1:0);if(n=new r(a,t.sign),0===i){for(i=0;i>>30-i}if(o)n.__setDigit(s+e,a);else if(0!==a)throw Error("implementation bug")}return n.__trim()}static __rightShiftByAbsolute(t,e){var n=t.length,i=t.sign,s=r.__toShiftAmount(e);if(0>s)return r.__rightShiftByMaximum(i);var o=s%30,a=n-(e=0|s/30);if(0>=a)return r.__rightShiftByMaximum(i);if(s=!1,i)if(t.__digit(e)&(1<>>o,n=n-e-1,l=0;l>>o}i.__setDigit(n,a)}return s&&(i=r.__absoluteAddOne(i,!0,i)),i.__trim()}static __rightShiftByMaximum(t){return t?r.__oneDigit(1,!0):r.__zero()}static __toShiftAmount(t){return 1r.__kMaxLengthBits?-1:t}static __toPrimitive(t,e){if(e=void 0===e?"default":e,"object"!=typeof t||t.constructor===r)return t;if("undefined"!=typeof Symbol&&"symbol"==typeof Symbol.toPrimitive){const n=t[Symbol.toPrimitive];if(n){if("object"!=typeof(t=n(e)))return t;throw new TypeError("Cannot convert object to primitive value")}}if((e=t.valueOf)&&"object"!=typeof(e=e.call(t)))return e;if((e=t.toString)&&"object"!=typeof(t=e.call(t)))return t;throw new TypeError("Cannot convert object to primitive value")}static __toNumeric(t){return r.__isBigInt(t)?t:+t}static __isBigInt(t){return"object"==typeof t&&null!==t&&t.constructor===r}static __truncateToNBits(t,e){var n=0|(t+29)/30;const i=new r(n,e.sign);--n;for(let t=0;t>>t),i.__setDigit(n,e),i.__trim()}static __truncateAndSubFromPowerOfTwo(t,e,n){var i=Math.min,s=0|(t+29)/30;n=new r(s,n);let o=0;var a=0;for(i=i(--s,e.length);o>>30,n.__setDigit(o,1073741823&t)}for(;o>>t,a=(t=1<<32-t)-e-a,a&=t-1),n.__setDigit(s,a),n.__trim()}__digit(t){return this[t]}__unsignedDigit(t){return this[t]>>>0}__setDigit(t,e){this[t]=0|e}__setDigitGrow(t,e){this[t]=0|e}__halfDigitLength(){const t=this.length;return 32767>=this.__unsignedDigit(t-1)?2*t-1:2*t}__halfDigit(t){return 32767&this[t>>>1]>>>15*(1&t)}__setHalfDigit(t,e){const n=t>>>1,i=this.__digit(n);this.__setDigit(n,1&t?32767&i|e<<15:1073709056&i|32767&e)}static __digitPow(t,e){let n=1;for(;0>>=1,t*=t;return n}static __isOneDigitInt(t){return(1073741823&t)===t}}return r.__kMaxLength=33554432,r.__kMaxLengthBits=r.__kMaxLength<<5,r.__kMaxBitsPerChar=[0,0,32,51,64,75,83,90,96,102,107,111,115,119,122,126,128,131,134,136,139,141,143,145,147,149,151,153,154,156,158,159,160,162,163,165,166],r.__kBitsPerCharTableShift=5,r.__kBitsPerCharTableMultiplier=1<>>0)/e)},r.__imul=t||function(t,e){return 0|t*e},r}()},function(t,e){[..."abc"].flat(),"a".matchAll(/a/g)},function(t,e,n){(function(t,e){!function(t,n){function i(t){delete a[t]}function s(t){if(l)setTimeout(s,0,t);else{var e=a[t];if(e){l=!0;try{var r=e.callback,o=e.args;switch(o.length){case 0:r();break;case 1:r(o[0]);break;case 2:r(o[0],o[1]);break;case 3:r(o[0],o[1],o[2]);break;default:r.apply(n,o)}}finally{i(t),l=!1}}}}if(!t.setImmediate){var r,o=1,a={},l=!1,u=t.document,c=Object.getPrototypeOf&&Object.getPrototypeOf(t);c=c&&c.setTimeout?c:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick((function(){s(t)}))}:function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?(p="setImmediate$"+Math.random()+"$",h=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(p)&&s(+e.data.slice(p.length))},t.addEventListener?t.addEventListener("message",h,!1):t.attachEvent("onmessage",h),r=function(e){t.postMessage(p+e,"*")}):t.MessageChannel?function(){var t=new MessageChannel;t.port1.onmessage=function(t){s(t.data)},r=function(e){t.port2.postMessage(e)}}():u&&"onreadystatechange"in u.createElement("script")?function(){var t=u.documentElement;r=function(e){var n=u.createElement("script");n.onreadystatechange=function(){s(e),n.onreadystatechange=null,t.removeChild(n),n=null},t.appendChild(n)}}():r=function(t){setTimeout(s,0,t)},c.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=Array(arguments.length-1),n=0;n the object's type\ntype(name, bases, dict) -> a new type",tp$call:function(t,e){if(this===Sk.builtin.type){if(1===t.length&&(void 0===e||!e.length))return t[0].ob$type;if(3!==t.length)throw new Sk.builtin.TypeError("type() takes 1 or 3 arguments")}let n=this.prototype.tp$new(t,e);if(n.$isSuspension)return Sk.misceval.chain(n,(i=>{if(n=i,n.ob$type.$isSubType(this))return n.tp$init(t,e)}),(()=>n));if(n.ob$type.$isSubType(this)){const i=n.tp$init(t,e);return void 0!==i&&i.$isSuspension?Sk.misceval.chain(i,(()=>n)):n}return n},tp$new:function(t,e){if(3!==t.length){if(1===t.length&&(void 0===e||!e.length))return t[0].ob$type;throw new Sk.builtin.TypeError("type() takes 1 or 3 arguments")}const i=t[0];var s=t[1];const o=t[2];if("dict"!==o.tp$name)throw new Sk.builtin.TypeError("type() argument 3 must be dict, not "+Sk.abstr.typeName(o));if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("type() argument 1 must be str, not "+Sk.abstr.typeName(i));const a=i.$jsstr();if("tuple"!==s.tp$name)throw new Sk.builtin.TypeError("type() argument 2 must be tuple, not "+Sk.abstr.typeName(s));r(a,t=function(){this.sk$hasDict&&(this.$d=new Sk.builtin.dict),this.$s=[]},s=s.sk$asarray(),this.constructor);const u=t.prototype;Sk.globals&&(u.__module__=Sk.globals.__name__),u.__doc__=Sk.builtin.none.none$;let c,p=void 0===(s=o.quick$lookup(Sk.builtin.str.$slots)),h=void 0!==t.$typeLookup(Sk.builtin.str.$dict);if(void 0!==s&&(c=new Set,(s=Sk.builtin.checkString(s)?[s]:Sk.misceval.arrayFromIterable(s)).forEach((t=>{if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__slots__ items must be strings, not '"+Sk.abstr.typeName(t)+"'");if(!t.$isIdentifier())throw new Sk.builtin.TypeError("__slots__ must be identifiers");if(t===Sk.builtin.str.$dict){if(h)throw new Sk.builtin.TypeError("__dict__ slot disallowed: we already got one");p=!0}else c.add(Sk.mangleName(i,t))})),function(t,e){const n=e.prototype,i=n.sk$nslots||0;Object.defineProperty(n,"sk$nslots",{value:i+t.length,writable:!0}),t.length&&Object.defineProperty(e,"sk$solidSlotBase",{value:!0,writable:!0}),t.forEach(((t,s)=>{s+=i,n[t.$mangled]=new Sk.builtin.getset_descriptor(e,{$get(){const e=this.$s[s];if(void 0===e)throw new Sk.builtin.AttributeError(t);return e},$set(t){this.$s[s]=t}})}))}(s=[...c].sort(((t,e)=>t.toString().localeCompare(e.toString()))),t)),p&&!h&&(u.__dict__=new Sk.builtin.getset_descriptor(t,l),h=!0),Object.defineProperties(u,{ht$slots:{value:s||null,writable:!0},sk$hasDict:{value:h,writable:!0}}),o.$items().forEach((t=>{var[e,n]=t;if(c&&c.has(e))throw new Sk.builtin.ValueError("'"+e.toString()+"' in __slots__ conflicts with class variable");u[e.$mangled]=n})),u.hasOwnProperty("__qualname__")){if(s=u.__qualname__,!Sk.builtin.checkString(s))throw new Sk.builtin.TypeError("type __qualname__ must be a str, not '"+Sk.abstr.typeName(s)+"'");u.ht$qualname=s}return n(s=t.prototype,"__init_subclass__","classmethod"),n(s,"__new__","staticmethod"),n(s,"__class_getitem__","classmethod"),t.$allocateSlots(),function(t){const e=t.prototype;Object.keys(e).forEach((n=>{const i=Sk.abstr.lookupSpecial(e[n],Sk.builtin.str.$setname);if(void 0!==i)try{Sk.misceval.callsimArray(i,[t,new Sk.builtin.str(n)])}catch(i){throw(n=new Sk.builtin.RuntimeError("Error calling __set_name__ on '"+Sk.abstr.typeName(e[n])+"' instance '"+n+"' in '"+t.prototype.tp$name+"'")).$cause=i,n}}))}(t),function(t,e){t=new Sk.builtin.super_(t,t).tp$getattr(Sk.builtin.str.$initsubclass),Sk.misceval.callsimArray(t,[],e)}(t,e),t},tp$init:function(t,e){if(t&&1==t.length&&e&&e.length)throw new Sk.builtin.TypeError("type.__init__() takes no keyword arguments");if(3!=t.length&&1!=t.length)throw new Sk.builtin.TypeError("type.__init__() takes 1 or 3 arguments");return Sk.builtin.object.prototype.tp$init.call(this,[])},tp$getattr:function(t,e){var n=this.ob$type;const i=n.$typeLookup(t);let s;return void 0!==i&&(s=i.tp$descr_get,void 0!==s&&void 0!==i.tp$descr_set)?s.call(i,this,n,e):void 0!==(t=this.$typeLookup(t))?void 0!==(n=t.tp$descr_get)?e=n.call(t,null,this,e):t:void 0!==s?s.call(i,this,n,e):void 0!==i?i:void 0},tp$setattr:function(t,e,n){if(!this.sk$klass){if(void 0!==e)throw new Sk.builtin.TypeError("can't set attributes of built-in/extension type '"+this.prototype.tp$name+"'");throw new Sk.builtin.TypeError("can't delete attributes on type object '"+this.prototype.tp$name+"'")}const i=this.ob$type.$typeLookup(t);if(void 0!==i){const t=i.tp$descr_set;if(t)return t.call(i,this,e,n)}if(n=t.$mangled,void 0===e){if(!(e=this.prototype).hasOwnProperty(n))throw new Sk.builtin.AttributeError("type object '"+this.prototype.tp$name+"' has no attribute '"+t.$jsstr()+"'");delete e[n],void 0!==(t=Sk.dunderToSkulpt[n])&&(delete this.prototype[t],e.sk$prototypical||this.$allocateGetterSlot(n))}else this.prototype[n]=e,n in Sk.dunderToSkulpt&&this.$allocateSlot(n,e)},$r:function(){let t=this.prototype.__module__,e="",n="class";return t&&Sk.builtin.checkString(t)?e=t.v+".":t=null,t||this.sk$klass||Sk.__future__.class_repr||(n="type"),new Sk.builtin.str("<"+n+" '"+e+this.prototype.tp$name+"'>")}},writable:!0},tp$methods:{value:null,writable:!0},tp$classmethods:{value:null,writable:!0},tp$getsets:{value:null,writable:!0},sk$type:{value:!0},$isSubType:{value:function(t){return this===t||this.prototype instanceof t||!this.prototype.sk$prototypical&&this.prototype.tp$mro.includes(t)}},$allocateSlot:{value:function(t,e){const n=(t=Sk.slots[t]).$slot_name,i=this.prototype;i.hasOwnProperty(n)&&delete i[n],Object.defineProperty(i,n,{value:t.$slot_func(e),writable:!0,configurable:!0})}},$allocateSlots:{value:function(){const t=this.prototype;this.prototype.sk$prototypical?Object.keys(t).forEach((e=>{e in Sk.slots&&this.$allocateSlot(e,t[e])})):Object.keys(Sk.slots).forEach((e=>{t.hasOwnProperty(e)?this.$allocateSlot(e,t[e]):this.$allocateGetterSlot(e)})),t.hasOwnProperty("__eq__")&&!t.hasOwnProperty("__hash__")&&(t.tp$hash=t.__hash__=Sk.builtin.none.none$)}},$allocateGetterSlot:{value:function(t){const e=Sk.slots[t].$slot_name,n=this.prototype;n.hasOwnProperty(e)||Object.defineProperty(n,e,{configurable:!0,get(){const t=n.tp$mro;for(let n=1;nnew Sk.builtin.dict([]),$flags:{FastCall:!0}}};const l={$get(){const t=o(this.ob$type);return void 0!==t?t.tp$descr_get(this,this.ob$type):Sk.generic.getSetDict.$get.call(this)},$set(t){const e=o(this.ob$type);return void 0!==e?e.tp$descr_set(this,t):void 0!==t?Sk.generic.getSetDict.$set.call(this,t):void(this.$d=new Sk.builtin.dict([]))},$doc:"dictionary for instance variables (if defined)",$name:"__dict__"}},function(t,e){Sk.generic={},Sk.generic.getAttr=function(t,e){let n;const i=this.ob$type,s=i.$typeLookup(t);if(void 0!==s&&(n=s.tp$descr_get,void 0!==n&&void 0!==s.tp$descr_set))return n.call(s,this,i,e);const r=this.$d;return void 0!==r&&void 0!==(t=r.quick$lookup(t))?t:void 0!==n?n.call(s,this,i,e):void 0!==s?s:void 0},Sk.exportSymbol("Sk.generic.getAttr",Sk.generic.getAttr),Sk.generic.setAttr=function(t,e,n){var i=this.ob$type.$typeLookup(t);if(null!=i){const t=i.tp$descr_set;if(t)return t.call(i,this,e,n)}if(void 0!==(n=this.$d))if(n.mp$ass_subscript){if(void 0!==e)return n.mp$ass_subscript(t,e);try{return n.mp$ass_subscript(t)}catch(e){if(e instanceof Sk.builtin.KeyError)throw new Sk.builtin.AttributeError("'"+Sk.abstr.typeName(this)+"' object has no attribute '"+t.$jsstr()+"'");throw e}}else if("object"==typeof n){if(i=t.$mangled,void 0!==e)return void(n[i]=e);if(void 0!==n[i])return void delete n[i]}throw new Sk.builtin.AttributeError(this.sk$attrError()+" has no attribute '"+t.$jsstr()+"'")},Sk.exportSymbol("Sk.generic.setAttr",Sk.generic.setAttr),Sk.generic.new=function(t){return function(e,n){return this.constructor===t?new this.constructor:(e=new this.constructor,t.call(e),e)}},Sk.generic.newMethodDef={$meth(t,e){const n=this.prototype;if(1>t.length)throw t=n.tp$name,new Sk.builtin.TypeError(t+".__new__(): not enough arguments");var i=t.shift();if(void 0===i.sk$type)throw t=n.tp$name,new Sk.builtin.TypeError(t+"__new__(X): X is not a type object ("+Sk.abstr.typeName(i)+")");if(!i.$isSubType(this))throw t=n.tp$name,i=i.prototype.tp$name,new Sk.builtin.TypeError(t+".__new__("+i+"): "+i+" is not a subtype of "+t);const s=i.prototype.sk$staticNew.prototype;if(s.tp$new!==n.tp$new)throw t=n.tp$name,i=i.prototype.tp$name,new Sk.builtin.TypeError(t+".__new__("+i+") is not safe, use "+s.tp$name+".__new__()");return n.tp$new.call(i.prototype,t,e)},$flags:{FastCall:!0},$textsig:"($type, *args, **kwargs)",$name:"__new__"},Sk.generic.selfIter=function(){return this},Sk.generic.iterNextWithArrayCheckSize=function(){if(this.$seq.length!==this.$orig.get$size()){const t=this.tp$name.split("_")[0];throw new Sk.builtin.RuntimeError(t+" changed size during iteration")}if(!(this.$index>=this.$seq.length))return this.$seq[this.$index++]},Sk.generic.iterNextWithArray=function(){const t=this.$seq[this.$index++];return void 0===t&&(this.tp$iternext=()=>{}),t},Sk.generic.iterLengthHintWithArrayMethodDef={$meth:function(){return new Sk.builtin.int_(this.$seq.length-this.$index)},$flags:{NoArgs:!0}},Sk.generic.iterReverseLengthHintMethodDef={$meth:function(){return new Sk.builtin.int_(this.$index)},$flags:{NoArgs:!0}},Sk.generic.getSetDict={$get(){return this.$d},$set(t){if(void 0===t)throw new Sk.builtin.TypeError("cannot delete __dict__");if(!(t instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError("__dict__ must be set to a dictionary, not a '"+Sk.abstr.typeName(t)+"'");this.$d=t},$doc:"dictionary for instance variables (if defined)",$name:"__dict__"},Sk.generic.seqCompare=function(t,e){if(this===t&&Sk.misceval.opAllowsEquality(e))return!0;if(!(t instanceof this.sk$builtinBase))return Sk.builtin.NotImplemented.NotImplemented$;const n=this.v;let i;if(t=t.v,n.length!==t.length&&("Eq"===e||"NotEq"===e))return"Eq"!==e;for(i=0;i=s||i>=r)switch(e){case"Lt":return sr;case"GtE":return s>=r;default:Sk.asserts.fail()}return"Eq"!==e&&("NotEq"===e||Sk.misceval.richCompareBool(n[i],t[i],e))},Sk.generic.classGetItem={__class_getitem__:{$meth(t){return new Sk.builtin.GenericAlias(this,t)},$flags:{OneArg:!0}}}},function(t,e){Sk.builtin.pyCheckArgs=function(t,e,n,i,s,r){if(e=e.length,void 0===i&&(i=1/0),s&&--e,r&&--e,ei)throw new Sk.builtin.TypeError((n===i?t+"() takes exactly "+n+" arguments":ei)throw new Sk.builtin.TypeError((n===i?t+"() takes exactly "+n+" arguments":e"};const r={Add:"+",Sub:"-",Mult:"*",MatMult:"@",Div:"/",FloorDiv:"//",Mod:"%",DivMod:"divmod()",Pow:"** or pow()",LShift:"<<",RShift:">>",BitAnd:"&",BitXor:"^",BitOr:"|"},o={UAdd:"+",USub:"-",Invert:"~"};Sk.abstr.numberBinOp=function(t,e,n){var s;if(!(s=i(t,e,n)))throw t=Sk.abstr.typeName(t),e=Sk.abstr.typeName(e),new Sk.builtin.TypeError("unsupported operand type(s) for "+r[n]+": '"+t+"' and '"+e+"'");return s},Sk.exportSymbol("Sk.abstr.numberBinOp",Sk.abstr.numberBinOp),Sk.abstr.numberInplaceBinOp=function(t,e,n){var i;if(!(i=s(t,e,n)))throw t=Sk.abstr.typeName(t),e=Sk.abstr.typeName(e),new Sk.builtin.TypeError("unsupported operand type(s) for "+r[n]+"=: '"+t+"' and '"+e+"'");return i},Sk.exportSymbol("Sk.abstr.numberInplaceBinOp",Sk.abstr.numberInplaceBinOp),Sk.abstr.numberUnaryOp=function(t,e){if("Not"===e)return Sk.misceval.isTrue(t)?Sk.builtin.bool.false$:Sk.builtin.bool.true$;t:{switch(e){case"USub":var n=t.nb$negative;break t;case"UAdd":n=t.nb$positive;break t;case"Invert":n=t.nb$invert;break t}n=void 0}if(!(n=void 0!==n?n.call(t):void 0))throw t=Sk.abstr.typeName(t),new Sk.builtin.TypeError("bad operand type for unary "+o[e]+": '"+t+"'");return n},Sk.exportSymbol("Sk.abstr.numberUnaryOp",Sk.abstr.numberUnaryOp),Sk.abstr.fixSeqIndex_=function(t,e){return 0>(e=Sk.builtin.asnum$(e))&&t.sq$length&&(e+=t.sq$length()),e},Sk.abstr.sequenceContains=function(t,e,n){return t.sq$contains?t.sq$contains(e,n):(t=Sk.misceval.iterFor(Sk.abstr.iter(t),(function(t){return!(t!==e&&!Sk.misceval.richCompareBool(t,e,"Eq"))&&new Sk.misceval.Break(!0)}),!1),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t))},Sk.abstr.sequenceConcat=function(t,e){if(t.sq$concat)return t.sq$concat(e);if(Sk.builtin.checkSequence(t)&&Sk.builtin.checkSequence(e)&&void 0!==(e=i(t,e,"Add")))return e;throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object can't be concatenated")},Sk.abstr.sequenceInPlaceConcat=function(t,e){if(t.sq$inplace_concat)return t.sq$inplace_concat(e);if(t.sq$concat)return t.sq$concat(e);if(Sk.builtin.checkSequence(t)&&Sk.builtin.checkSequence(e)&&void 0!==(e=s(t,e,"Add")))return e;throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object can't be concatenated")},Sk.abstr.sequenceGetIndexOf=function(t,e){if(t.index)return Sk.misceval.callsimArray(t.index,[t,e]);let n=0;for(let i=Sk.abstr.iter(t),s=i.tp$iternext();void 0!==s;s=i.tp$iternext()){if(Sk.misceval.richCompareBool(e,s,"Eq"))return new Sk.builtin.int_(n);n+=1}throw new Sk.builtin.ValueError("sequence.index(x): x not in sequence")},Sk.abstr.sequenceGetCountOf=function(t,e){if(t.count)return Sk.misceval.callsimArray(t.count,[t,e]);let n=0;for(let i=Sk.abstr.iter(t),s=i.tp$iternext();void 0!==s;s=i.tp$iternext())Sk.misceval.richCompareBool(e,s,"Eq")&&(n+=1);return new Sk.builtin.int_(n)},Sk.abstr.sequenceGetItem=function(t,e,n){return"number"==typeof e&&(e=new Sk.builtin.int_(e)),Sk.abstr.objectGetItem(t,e,n)},Sk.abstr.sequenceSetItem=function(t,e,n,i){return"number"==typeof e&&(e=new Sk.builtin.int_(e)),Sk.abstr.objectSetItem(t,e,n,i)},Sk.abstr.sequenceDelItem=function(t,e,n){return Sk.abstr.objectDelItem(t,e,n)},Sk.abstr.sequenceGetSlice=function(t,e,n){return Sk.abstr.objectGetItem(t,new Sk.builtin.slice(e,n))},Sk.abstr.sequenceDelSlice=function(t,e,n){return Sk.abstr.objectDelItem(t,new Sk.builtin.slice(e,n))},Sk.abstr.sequenceSetSlice=function(t,e,n,i){return Sk.abstr.objectSetItem(t,new Sk.builtin.slice(e,n))},Sk.abstr.sequenceUnpack=function(t,e,n,i){if(!Sk.builtin.checkIterable(t))throw new Sk.builtin.TypeError("cannot unpack non-iterable "+Sk.abstr.typeName(t)+" object");const s=Sk.abstr.iter(t),r=[];let o,a=0;return 0{if(r.push(t),++a===e)return new Sk.misceval.Break}))),Sk.misceval.chain(o,(()=>{if(r.length{if(void 0!==t)throw new Sk.builtin.ValueError("too many values to unpack (expected "+e+")");return r}));const t=[];return Sk.misceval.chain(Sk.misceval.iterFor(s,(e=>{t.push(e)})),(()=>{const i=t.length+e-n;if(0>i)throw new Sk.builtin.ValueError("not enough values to unpack (expected at least "+n+", got "+(n+i)+")");return r.push(new Sk.builtin.list(t.slice(0,i))),r.push(...t.slice(i)),r}))}))},Sk.abstr.mappingUnpackIntoKeywordArray=function(t,e,n){if(!(e instanceof Sk.builtin.dict)){var i=Sk.abstr.lookupSpecial(e,Sk.builtin.str.$keys);if(void 0===i)throw new Sk.builtin.TypeError("Object is not a mapping");return Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(i),(i=>Sk.misceval.iterFor(Sk.abstr.iter(i),(i=>{if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError((n.$qualname?n.$qualname+"() ":"")+"keywords must be strings");return Sk.misceval.chain(e.mp$subscript(i,!0),(e=>{t.push(i.v),t.push(e)}))}))))}e.$items().forEach((e=>{var[i,s]=e;if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError((n.$qualname?n.$qualname+"() ":"")+"keywords must be strings");t.push(i.v),t.push(s)}))},Sk.abstr.keywordArrayFromPyDict=function(t){const e=[];return t.$items().forEach((t=>{var[n,i]=t;if(!Sk.builtin.checkString(n))throw new Sk.builtin.TypeError("keywords must be strings");e.push(n.toString()),e.push(i)})),e},Sk.abstr.keywordArrayToPyDict=function(t){const e=new Sk.builtin.dict;for(let n=0;ne.length)throw new Sk.builtin.TypeError(t+"() expected at most "+e.length+" arguments ("+r+" given)");if(!i.length&&void 0===s)return n;if(r===e.length&&!i.length)return n;if(0===r&&e.length===(s&&s.length))return s;for(n=n.slice(0),r=0;rvoid 0===n[e]))).length)throw new Sk.builtin.TypeError(t+"() missing "+e.length+" required positional arguments: "+e.join(", "))}return n},Sk.exportSymbol("Sk.abstr.copyKeywordsToNamedArgs",Sk.abstr.copyKeywordsToNamedArgs),Sk.abstr.checkNoKwargs=function(t,e){if(e&&e.length)throw new Sk.builtin.TypeError(t+"() takes no keyword arguments")},Sk.exportSymbol("Sk.abstr.checkNoKwargs",Sk.abstr.checkNoKwargs),Sk.abstr.checkNoArgs=function(t,e,n){if(e=e.length+(n?n.length:0))throw new Sk.builtin.TypeError(t+"() takes no arguments ("+e+" given)")},Sk.exportSymbol("Sk.abstr.checkNoArgs",Sk.abstr.checkNoArgs),Sk.abstr.checkOneArg=function(t,e,n){if(Sk.abstr.checkNoKwargs(t,n),1!==e.length)throw new Sk.builtin.TypeError(t+"() takes exactly one argument ("+e.length+" given)")},Sk.exportSymbol("Sk.abstr.checkOneArg",Sk.abstr.checkOneArg),Sk.abstr.checkArgsLen=function(t,e,n,i){if(void 0===i&&(i=1/0),(e=e.length)i)throw new Sk.builtin.TypeError((n===i?t+"() takes exactly "+n+" arguments":eSk.builtin.str&&Sk.builtin.str.$fixReserved?(a=Sk.builtin.str.$fixReserved,Sk.builtin.str.$fixReserved(t)):t;Sk.abstr.setUpGetSets=function(t,e){if(void 0!==Sk.builtin.getset_descriptor){var n=t.prototype;e=e||n.tp$getsets||{},Object.entries(e).forEach((e=>{var[i,s]=e;s.$name=i,n[a(i)]=new Sk.builtin.getset_descriptor(t,s)})),Object.defineProperty(n,"tp$getsets",{value:null,writable:!0})}},Sk.abstr.setUpMethods=function(t,e){if(void 0!==Sk.builtin.method_descriptor){var n=t.prototype;e=e||n.tp$methods||{},Object.entries(e).forEach((e=>{var[i,s]=e;s.$name=i,n[a(i)]=new Sk.builtin.method_descriptor(t,s)})),Object.defineProperty(n,"tp$methods",{value:null,writable:!0})}},Sk.abstr.setUpClassMethods=function(t,e){if(void 0!==Sk.builtin.classmethod_descriptor){var n=t.prototype;e=e||n.tp$classmethods||{},Object.entries(e).forEach((e=>{var[i,s]=e;s.$name=i,n[a(i)]=new Sk.builtin.classmethod_descriptor(t,s)})),Object.defineProperty(n,"tp$classmethods",{value:null,writable:!0})}};const l={Eq:"ob$eq",NotEq:"ob$ne",Gt:"ob$gt",GtE:"ob$ge",Lt:"ob$lt",LtE:"ob$le"},u=Object.entries(l);Sk.abstr.setUpSlots=function(t,e){function n(e,n){s[e]=new Sk.builtin.wrapper_descriptor(t,Sk.slots[e],n)}function i(t,e){"string"==typeof t?n(t,e):t.forEach((t=>{n(t,e)}))}if(void 0!==Sk.builtin.wrapper_descriptor){var s=t.prototype;(e=e||s.tp$slots||{}).tp$new===Sk.generic.new&&(e.tp$new=Sk.generic.new(t)),e.tp$richcompare?function(t){u.forEach((e=>{var[n,i]=e;t[i]=function(t){return this.tp$richcompare(t,n)}}))}(e):e.ob$eq&&(e.tp$richcompare=function(t,e){return this[l[e]].call(this,t)}),e.tp$as_number&&function(t){const e=Sk.reflectedNumberSlots;Object.keys(e).forEach((n=>{if(void 0!==t[n]){const i=e[n],s=i.reflected,r=t[s];void 0!==r?null===r&&delete t[s]:t[s]=i.slot||t[n]}}))}(e),e.tp$as_sequence_or_mapping&&function(t){const e=Sk.sequenceAndMappingSlots;Object.keys(e).forEach((n=>{void 0!==t[n]&&e[n].forEach((e=>{t[e]=t[n]}))}))}(e),Object.entries(e).forEach((t=>{var[e,n]=t;Object.defineProperty(s,e,{value:n,writable:!0})})),e.tp$new&&(s.__new__=new Sk.builtin.sk_method(Sk.generic.newMethodDef,t),Object.defineProperty(s,"sk$staticNew",{value:t,writable:!0})),Sk.subSlots.main_slots.forEach((t=>{var[n,s]=t;void 0!==(t=e[n])&&i(s,t)}));var r=e.tp$hash;void 0!==r&&("function"==typeof r?n("__hash__",r):r===Sk.builtin.none.none$?s.__hash__=r:Sk.asserts.fail("invalid tp$hash")),e.tp$as_number&&Sk.subSlots.number_slots.forEach((t=>{var[n,s]=t;void 0!==(t=e[n])&&i(s,t)})),e.tp$as_sequence_or_mapping&&Sk.subSlots.sequence_and_mapping_slots.forEach((t=>{var[n,s]=t;void 0!==(t=e[n])&&i(s,t)})),Object.defineProperty(s,"tp$slots",{value:null,writable:!0})}},Sk.abstr.buildNativeClass=function(t,e){e=e||{},Sk.asserts.assert(e.hasOwnProperty("constructor"),"A constructor is required to build a native class");let n=e.constructor;Sk.abstr.setUpInheritance(t,n,e.base,e.meta),Sk.abstr.setUpBuiltinMro(n);const i=n.prototype;return Object.defineProperties(i,{tp$slots:{value:e.slots,writable:!0},tp$getsets:{value:e.getsets,writable:!0},tp$methods:{value:e.methods,writable:!0},tp$classmethods:{value:e.classmethods,writable:!0}}),Sk.abstr.setUpSlots(n,e.slots||{}),Sk.abstr.setUpMethods(n,e.methods),Sk.abstr.setUpGetSets(n,e.getsets),Sk.abstr.setUpClassMethods(n,e.classmethods),Object.entries(e.proto||{}).forEach((t=>{var[e,n]=t;Object.defineProperty(i,e,{value:n,writable:!0,enumerable:!(e.includes("$")||e in Object.prototype)})})),Object.entries(e.flags||{}).forEach((t=>{var[e,i]=t;Object.defineProperty(n,e,{value:i,writable:!0})})),i.hasOwnProperty("tp$iter")&&(i[Symbol.iterator]=function(){return this.tp$iter()[Symbol.iterator]()}),void 0!==Sk.builtin.str&&i.hasOwnProperty("tp$doc")&&!i.hasOwnProperty("__doc__")&&(t=i.tp$doc||null,i.__doc__="string"==typeof t?new Sk.builtin.str(t):Sk.builtin.none.none$),n},Sk.abstr.buildIteratorClass=function(t,e){return Sk.asserts.assert(e.hasOwnProperty("constructor"),"must provide a constructor"),e.slots=e.slots||{},e.slots.tp$iter=Sk.generic.selfIter,e.slots.tp$iternext=e.slots.tp$iternext||e.iternext,e.slots.tp$getattr=e.slots.tp$getattr||Sk.generic.getAttr,t=Sk.abstr.buildNativeClass(t,e),Sk.abstr.built$iterators.push(t),t.prototype[Symbol.iterator]=function(){return{next:()=>{const t=this.tp$iternext();return{value:t,done:void 0===t}}}},t},Sk.abstr.built$iterators=[],Sk.abstr.setUpModuleMethods=function(t,e,n){return Object.entries(n).forEach((n=>{var[i,s]=n;s.$name=s.$name||i,e[i]=new Sk.builtin.sk_method(s,null,t)})),e},Sk.abstr.superConstructor=function(t,e,n){var i=Array.prototype.slice.call(arguments,2);t.prototype.tp$base.apply(e,i)}},function(t,e){function n(t){const e=t.prototype,n=e.tp$base;if(null==n)return!1;const i=n.prototype;return!(n.sk$solidSlotBase||t.sk$solidSlotBase||i.sk$hasDict!==e.sk$hasDict||n.sk$solidBase&&n!==Sk.builtin.module)}const i=new WeakMap;Sk.builtin.object=Sk.abstr.buildNativeClass("object",{constructor:function(){Sk.asserts.assert(this instanceof Sk.builtin.object,"bad call to object, use 'new'")},base:null,slots:{tp$new(t,e){if(t.length||e&&e.length){if(this.tp$new!==Sk.builtin.object.prototype.tp$new)throw new Sk.builtin.TypeError("object.__new__() takes exactly one argument (the type to instantiate)");if(this.tp$init===Sk.builtin.object.prototype.tp$init)throw new Sk.builtin.TypeError(Sk.abstr.typeName(this)+"() takes no arguments")}return new this.constructor},tp$init(t,e){if(t.length||e&&e.length){if(this.tp$init!==Sk.builtin.object.prototype.tp$init)throw new Sk.builtin.TypeError("object.__init__() takes exactly one argument (the instance to initialize)");if(this.tp$new===Sk.builtin.object.prototype.tp$new)throw new Sk.builtin.TypeError(Sk.abstr.typeName(this)+".__init__() takes exactly one argument (the instance to initialize)")}},tp$getattr:Sk.generic.getAttr,tp$setattr:Sk.generic.setAttr,$r(){const t=Sk.abstr.lookupSpecial(this,Sk.builtin.str.$module);let e="";return t&&Sk.builtin.checkString(t)&&(e=t.v+"."),new Sk.builtin.str("<"+e+Sk.abstr.typeName(this)+" object>")},tp$str(){return this.$r()},tp$hash(){let t=i.get(this);return void 0!==t||(t=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER-Number.MAX_SAFE_INTEGER/2),i.set(this,t)),t},tp$richcompare(t,e){switch(e){case"Eq":t=this===t||Sk.builtin.NotImplemented.NotImplemented$;break;case"NotEq":(t=this.ob$eq(t,"Eq"))!==Sk.builtin.NotImplemented.NotImplemented$&&(t=!Sk.misceval.isTrue(t));break;default:t=Sk.builtin.NotImplemented.NotImplemented$}return t},tp$doc:"The most base type"},getsets:{__class__:{$get(){return this.ob$type},$set(t){if(void 0===t)throw new Sk.builtin.TypeError("can't delete __class__ attribute");if(!Sk.builtin.checkClass(t))throw new Sk.builtin.TypeError("__class__ must be set to a class, not '"+Sk.abstr.typeName(t)+"' object");const e=this.ob$type;if(!(e.$isSubType(Sk.builtin.module)&&t.$isSubType(Sk.builtin.module)||void 0!==e.prototype.ht$type&&void 0!==t.prototype.ht$type))throw new Sk.builtin.TypeError(" __class__ assignment only supported for heap types or ModuleType subclasses");{let i=e,s=t;for(;n(i);)i=i.prototype.tp$base;for(;n(s);)s=s.prototype.tp$base;if(i!==s&&(i.prototype.tp$base!==s.prototype.tp$base||!function(t,e){t=t.prototype,e=e.prototype;const n=t.ht$slots,i=e.ht$slots;return t.sk$hasDict===e.sk$hasDict&&(n===i||(n&&i?n.length===i.length&&n.every(((t,e)=>t===i[e])):(n&&(n.length||null))===(i&&(i.length||null))))}(i,s)))throw new Sk.builtin.TypeError("__class__ assignment: '"+t.prototype.tp$name+"' object layout differs from '"+e.prototype.tp$name+"'")}Object.setPrototypeOf(this,t.prototype)},$doc:"the object's class"}},methods:{__dir__:{$meth:function(){let t=Sk.abstr.lookupAttr(this,Sk.builtin.str.$dict);t=void 0===t?new Sk.builtin.dict([]):t instanceof Sk.builtin.dict?t.dict$copy():new Sk.builtin.dict([]);const e=Sk.abstr.lookupAttr(this,Sk.builtin.str.$class);return void 0!==e&&e.$mergeClassDict(t),new Sk.builtin.list(t.sk$asarray())},$flags:{NoArgs:!0},$doc:"Default dir() implementation."},__format__:{$meth(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__format__() argument must be str, not "+Sk.abstr.typeName(t));if(t!==Sk.builtin.str.$empty)throw new Sk.builtin.TypeError(`unsupported format string passed to ${Sk.abstr.typeName(this)}.__format__`);return this.tp$str()},$flags:{OneArg:!0},$doc:"Default object formatter."}},classmethods:{__init_subclass__:{$meth:t=>Sk.builtin.none.none$,$flags:{FastCall:!0,NoKwargs:!0}}},proto:{valueOf:Object.prototype.valueOf,toString(){return this.tp$str().v},hasOwnProperty:Object.prototype.hasOwnProperty,ht$type:void 0,sk$attrError(){return"'"+this.tp$name+"' object"},$mergeClassDict(t){var e=Sk.abstr.lookupAttr(this,Sk.builtin.str.$dict);if(void 0!==e&&t.dict$merge(e),void 0!==(e=Sk.abstr.lookupAttr(this,Sk.builtin.str.$bases))){var n=Sk.builtin.len(e).valueOf();for(let i=0;ivoid 0===t?Sk.builtin.none.none$:t))}function r(t,e,n){return Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,1,2),void 0===(t=this.call(t,...e))?Sk.builtin.none.none$:t}function o(t,e,n){return Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,2,2),Sk.misceval.chain(this.call(t,e[0],e[1],!0),(()=>Sk.builtin.none.none$))}function a(t,e,n){return Sk.abstr.checkOneArg(this.$name,e,n),t=this.call(t,e[0],void 0,!0),Sk.misceval.chain(t,(t=>void 0===t?Sk.builtin.none.none$:t))}function l(t,e,n){return(t=i.call(this,t,e,n))===Sk.builtin.NotImplemented.NotImplemented$?t:new Sk.builtin.bool(t)}function u(t,e,n){return function(i,s,r){return i=t.call(this,i,s,r),n?Sk.misceval.chain(i,e):e(Sk.misceval.retryOptionalSuspensionOrThrow(i))}}function c(t){return function(){const e=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return Sk.misceval.callsimArray(e,[])}}function p(t,e,n,i){return function(s){return function(){var r=s.tp$descr_get?s.tp$descr_get(this,this.ob$type):s;if(r=Sk.misceval.callsimArray(r,[]),!e(r))throw new Sk.builtin.TypeError(t+" should return "+n+" (returned "+Sk.abstr.typeName(r)+")");return void 0!==i?i(r):r}}}function h(t){return function(e){const n=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return Sk.misceval.callsimArray(n,[e])}}function _(t,e){let n=this.ob$type.$typeLookup(Sk.builtin.str.$getattribute);if(n instanceof Sk.builtin.wrapper_descriptor)return n.d$wrapped.call(this,t,e);n.tp$descr_get&&(n=n.tp$descr_get(this,this.ob$type));const i=Sk.misceval.tryCatch((()=>Sk.misceval.callsimOrSuspendArray(n,[t])),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t}));return e?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}function d(t,e,n){return function(i){return function(i,s,r){let o;void 0===s?(o=e,n=null):o=t;let a=this.ob$type.$typeLookup(new Sk.builtin.str(o));if(a instanceof Sk.builtin.wrapper_descriptor)return a.d$wrapped.call(this,i,s);if(a.tp$descr_get&&(a=a.tp$descr_get(this,this.ob$type,r)),void 0===a){if(n)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(this)+"' object "+n);throw new Sk.builtin.AttributeError(o)}return i=Sk.misceval.callsimOrSuspendArray(a,void 0===s?[i]:[i,s]),r?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}}}function f(t,e){let n=t.ob$type;for(;n&&void 0!==n.sk$klass;)n=n.prototype.tp$base;if(n&&n.prototype.tp$setattr!==e)throw new Sk.builtin.TypeError("can't apply this "+e.$name+" to "+Sk.abstr.typeName(t)+" object")}Sk.slots=Object.create(null),t=Sk.slots,Sk.slots.__init__={$name:"__init__",$slot_name:"tp$init",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(i,e,n),Sk.misceval.chain(e,(t=>{if(!Sk.builtin.checkNone(t)&&void 0!==t)throw new Sk.builtin.TypeError("__init__() should return None, not "+Sk.abstr.typeName(t))}))}},$wrapper:function(t,e,n){return this.call(t,e,n),Sk.builtin.none.none$},$textsig:"($self, /, *args, **kwargs)",$flags:{FastCall:!0},$doc:"Initialize self. See help(type(self)) for accurate signature."},t.__new__={$name:"__new__",$slot_name:"tp$new",$slot_func:function(t){const e=function(e,n){let i=t;return t.tp$descr_get&&(i=t.tp$descr_get(null,this.constructor)),Sk.misceval.callsimOrSuspendArray(i,[this.constructor,...e],n)};return e.sk$static_new=!1,e},$wrapper:null,$textsig:"($self, /, *args, **kwargs)",$flags:{FastCall:!0},$doc:"Create and return a new object."},t.__call__={$name:"__call__",$slot_name:"tp$call",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return Sk.misceval.callsimOrSuspendArray(i,e,n)}},$wrapper:function(t,e,n){return void 0===(t=t.tp$call(e,n))?Sk.builtin.none.none$:t},$textsig:"($self, /, *args, **kwargs)",$flags:{FastCall:!0},$doc:"Call self as a function."},t.__repr__={$name:"__repr__",$slot_name:"$r",$slot_func:p("__repr__",Sk.builtin.checkString,"str"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return repr(self)."},t.__str__={$name:"__str__",$slot_name:"tp$str",$slot_func:p("__str__",Sk.builtin.checkString,"str"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return str(self)."};var m=p("__hash__",Sk.builtin.checkInt,"int",(t=>"number"==typeof t.v?t.v:t.tp$hash()));t.__hash__={$name:"__hash__",$slot_name:"tp$hash",$slot_func:function(t){return t===Sk.builtin.none.none$?Sk.builtin.none.none$:m(t)},$wrapper:u(n,(t=>new Sk.builtin.int_(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return hash(self)."},t.__getattribute__={$name:"__getattribute__",$slot_name:"tp$getattr",$slot_func:function(t){return function(t,e){let n=this.ob$type.$typeLookup(Sk.builtin.str.$getattr);if(void 0===n)return _.call(this,t,e);const i=Sk.misceval.chain(_.call(this,t,e),(e=>Sk.misceval.tryCatch((()=>void 0!==e?e:(n.tp$descr_get&&(n=n.tp$descr_get(this,this.ob$type)),Sk.misceval.callsimOrSuspendArray(n,[t]))),(function(t){if(!(t instanceof Sk.builtin.AttributeError))throw t}))));return e?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}},$wrapper:function(t,e,n){Sk.abstr.checkOneArg(this.$name,e,n);const i=e[0];if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("attribute name must be string, not '"+Sk.abstr.typeName(i)+"'");return e=this.call(t,i,!0),Sk.misceval.chain(e,(e=>{if(void 0===e)throw new Sk.builtin.AttributeError(Sk.abstr.typeName(t)+" has no attribute "+i.$jsstr());return e}))},$textsig:"($self, name, /)",$flags:{OneArg:!0},$doc:"Return getattr(self, name)."},t.__getattr__={$name:"__getattr__",$slot_name:"tp$getattr",$slot_func:t.__getattribute__.$slot_func,$wrapper:null,$textsig:"($self, name, /)",$flags:{OneArg:!0},$doc:"Return getattr(self, name)."},t.__setattr__={$name:"__setattr__",$slot_name:"tp$setattr",$slot_func:d("__setattr__","__delattr__"),$wrapper:function(t,e,n){return Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,2,2),f(t,this),Sk.misceval.chain(this.call(t,e[0],e[1],!0),(()=>Sk.builtin.none.none$))},$textsig:"($self, name, value, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Implement setattr(self, name, value)."},t.__delattr__={$name:"__delattr__",$slot_name:"tp$setattr",$slot_func:t.__setattr__.$slot_func,$wrapper:function(t,e,n){return Sk.abstr.checkOneArg(this.$name,e,n),f(t,this),this.call(t,e[0]),Sk.builtin.none.none$},$textsig:"($self, name, /)",$flags:{OneArg:!0},$doc:"Implement delattr(self, name)."},t.__get__={$name:"__get__",$slot_name:"tp$descr_get",$slot_func:function(t){return function(e,n,i){null===e&&(e=Sk.builtin.none.none$),null==n&&(n=Sk.builtin.none.none$);const s=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(s,[e,n]),i?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)}},$wrapper:function(t,e,n){if(Sk.abstr.checkNoKwargs(this.$name,n),Sk.abstr.checkArgsLen(this.$name,e,1,2),n=e[0],e=e[1],n===Sk.builtin.none.none$&&(n=null),e===Sk.builtin.none.none$&&(e=null),null===e&&null===n)throw new Sk.builtin.TypeError("__get__(None, None) is invalid");return this.call(t,n,e,!0)},$textsig:"($self, instance, owner, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Return an attribute of instance, which is of type owner."},t.__set__={$name:"__set__",$slot_name:"tp$descr_set",$slot_func:d("__set__","__delete__"),$wrapper:o,$textsig:"($self, instance, value, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Set an attribute of instance to value."},t.__delete__={$name:"__delete__",$slot_name:"tp$descr_set",$slot_func:t.__set__.$slot_func,$wrapper:a,$textsig:"($self, instance, /)",$flags:{OneArg:!0},$doc:"Delete an attribute of instance."},t.__eq__={$name:"__eq__",$slot_name:"ob$eq",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self==value."},t.__ge__={$name:"__ge__",$slot_name:"ob$ge",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self>=value."},t.__gt__={$name:"__gt__",$slot_name:"ob$gt",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self>value."},t.__le__={$name:"__le__",$slot_name:"ob$le",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self<=value."},t.__lt__={$name:"__lt__",$slot_name:"ob$lt",$slot_func:h,$wrapper:l,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return selfSk.misceval.callsimOrSuspendArray(n,[])),(t=>{if(!(t instanceof Sk.builtin.StopIteration))throw t;this.gi$ret=t.$value}));return e?i:Sk.misceval.retryOptionalSuspensionOrThrow(i)}},$wrapper:function(t,e,n){return Sk.abstr.checkNoArgs(this.$name,e,n),Sk.misceval.chain(t.tp$iternext(!0),(t=>{if(void 0===t)throw new Sk.builtin.StopIteration;return t}))},$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Implement next(self)."},t.__len__={$name:"__len__",$slot_name:"sq$length",$slot_func:function(t){return function(e){const n=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e?(e=Sk.misceval.callsimOrSuspendArray(n,[]),Sk.misceval.chain(e,(t=>Sk.misceval.asIndexOrThrow(t)))):(e=Sk.misceval.callsimArray(n,[]),Sk.misceval.asIndexOrThrow(e))}},$wrapper:u((function(t,e,n){return Sk.abstr.checkNoArgs(this.$name,e,n),t=this.call(t,!0),Sk.misceval.chain(t,(t=>void 0===t?Sk.builtin.none.none$:t))}),(t=>new Sk.builtin.int_(t)),!0),$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return len(self)."},t.__contains__={$name:"__contains__",$slot_name:"sq$contains",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(i,[e]),(e=Sk.misceval.chain(e,(t=>Sk.misceval.isTrue(t)))).$isSuspension?n?e:Sk.misceval.retryOptionalSuspensionOrThrow(e):e}},$wrapper:u(s,(t=>new Sk.builtin.bool(t)),!0),$textsig:"($self, key, /)",$flags:{OneArg:!0},$doc:"Return key in self."},t.__getitem__={$name:"__getitem__",$slot_name:"mp$subscript",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return e=Sk.misceval.callsimOrSuspendArray(i,[e]),n?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)}},$wrapper:s,$textsig:"($self, key, /)",$flags:{OneArg:!0},$doc:"Return self[key]."},t.__setitem__={$name:"__setitem__",$slot_name:"mp$ass_subscript",$slot_func:d("__setitem__","__delitem__","does not support item assignment"),$wrapper:o,$textsig:"($self, key, value, /)",$flags:{MinArgs:2,MaxArgs:2},$doc:"Set self[key] to value."},t.__delitem__={$name:"__delitem__",$slot_name:"mp$ass_subscript",$slot_func:t.__setitem__.$slot_func,$wrapper:a,$textsig:"($self, key, /)",$flags:{OneArg:!0},$doc:"Delete self[key]."},t.__add__={$name:"__add__",$slot_name:"nb$add",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self+value."},t.__radd__={$name:"__radd__",$slot_name:"nb$reflected_add",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value+self."},t.__iadd__={$name:"__iadd__",$slot_name:"nb$inplace_add",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self+=value."},t.__sub__={$name:"__sub__",$slot_name:"nb$subtract",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self-value."},t.__rsub__={$name:"__rsub__",$slot_name:"nb$reflected_subtract",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value-self."},t.__imul__={$name:"__imul__",$slot_name:"nb$inplace_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self*=value."},t.__mul__={$name:"__mul__",$slot_name:"nb$multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self*value."},t.__rmul__={$name:"__rmul__",$slot_name:"nb$reflected_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value*self."},t.__isub__={$name:"__isub__",$slot_name:"nb$inplace_subtract",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self-=value."},t.__mod__={$name:"__mod__",$slot_name:"nb$remainder",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self%value."},t.__rmod__={$name:"__rmod__",$slot_name:"nb$reflected_remainder",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value%self."},t.__imod__={$name:"__imod__",$slot_name:"nb$inplace_remainder",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement value%=self."},t.__divmod__={$name:"__divmod__",$slot_name:"nb$divmod",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return divmod(self, value)."},t.__rdivmod__={$name:"__rdivmod__",$slot_name:"nb$reflected_divmod",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return divmod(value, self)"},t.__pos__={$name:"__pos__",$slot_name:"nb$positive",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"+self"},t.__neg__={$name:"__neg__",$slot_name:"nb$negative",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"-self"},t.__abs__={$name:"__abs__",$slot_name:"nb$abs",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"abs(self)"},t.__bool__={$name:"__bool__",$slot_name:"nb$bool",$slot_func:p("__bool__",Sk.builtin.checkBool,"bool",(t=>0!==t.v)),$wrapper:u(n,(t=>new Sk.builtin.bool(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"self != 0"},t.__invert__={$name:"__invert__",$slot_name:"nb$invert",$slot_func:c,$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"~self"},t.__lshift__={$name:"__lshift__",$slot_name:"nb$lshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self<>value."},t.__rrshift__={$name:"__rrshift__",$slot_name:"nb$reflected_rshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value>>self."},t.__ilshift__={$name:"__ilshift__",$slot_name:"nb$inplace_lshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self<<=value."},t.__irshift__={$name:"__irshift__",$slot_name:"nb$inplace_rshift",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self=>>value."},t.__and__={$name:"__and__",$slot_name:"nb$and",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self&value."},t.__rand__={$name:"__rand__",$slot_name:"nb$refelcted_and",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value&self."},t.__iand__={$name:"__iand__",$slot_name:"nb$and",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self&=value."},t.__xor__={$name:"__xor__",$slot_name:"nb$xor",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self^value."},t.__rxor__={$name:"__rxor__",$slot_name:"nb$reflected_xor",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value^self."},t.__ixor__={$name:"__ixor__",$slot_name:"nb$inplace_xor",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self^=value."},t.__or__={$name:"__or__",$slot_name:"nb$or",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self|value."},t.__ror__={$name:"__ror__",$slot_name:"nb$reflected_or",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value|self."},t.__ior__={$name:"__ior__",$slot_name:"nb$inplace_or",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self|=value."},t.__int__={$name:"__int__",$slot_name:"nb$int",$slot_func:p("__int__",Sk.builtin.checkInt,"int"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"int(self)"},t.__float__={$name:"__float__",$slot_name:"nb$float",$slot_func:p("__float__",Sk.builtin.checkFloat,"float"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"float(self)"},t.__floordiv__={$name:"__floordiv__",$slot_name:"nb$floor_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self//value."},t.__rfloordiv__={$name:"__rfloordiv__",$slot_name:"nb$reflected_floor_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value//self."},t.__ifloordiv__={$name:"__ifloordiv__",$slot_name:"nb$inplace_floor_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self//=value."},t.__truediv__={$name:"__truediv__",$slot_name:"nb$divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self/value."},t.__rtruediv__={$name:"__rtruediv__",$slot_name:"nb$reflected_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value/self."},t.__itruediv__={$name:"__itruediv__",$slot_name:"nb$inplace_divide",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self/=value."},t.__index__={$name:"__index__",$slot_name:"nb$index",$slot_func:p("__index__",Sk.builtin.checkInt,"int",(t=>t.v)),$wrapper:u(n,(t=>new Sk.builtin.int_(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"Return self converted to an integer, if self is suitable for use as an index into a list."},t.__pow__={$name:"__pow__",$slot_name:"nb$power",$slot_func:function(t){return function(e,n){const i=t.tp$descr_get?t.tp$descr_get(this,this.ob$type):t;return null==n?Sk.misceval.callsimArray(i,[e]):Sk.misceval.callsimArray(i,[e,n])}},$wrapper:r,$textsig:"($self, value, mod=None, /)",$flags:{MinArgs:1,MaxArgs:2},$doc:"Return pow(self, value, mod)."},t.__rpow__={$name:"__rpow__",$slot_name:"nb$reflected_power",$slot_func:t.__pow__.$slot_func,$wrapper:r,$textsig:"($self, value, mod=None, /)",$flags:{MinArgs:1,MaxArgs:2},$doc:"Return pow(value, self, mod)."},t.__ipow__={$name:"__ipow__",$slot_name:"nb$inplace_power",$slot_func:t.__pow__.$slot_func,$wrapper:r,$textsig:"($self, value, mod=None, /)",$flags:{MinArgs:1,MaxArgs:2},$doc:"Implement **="},t.__matmul__={$name:"__matmul__",$slot_name:"nb$matrix_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return self@value."},t.__rmatmul__={$name:"__rmatmul__",$slot_name:"nb$reflected_matrix_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Return value@self."},t.__imatmul__={$name:"__imatmul__",$slot_name:"nb$inplace_matrix_multiply",$slot_func:h,$wrapper:i,$textsig:"($self, value, /)",$flags:{OneArg:!0},$doc:"Implement self@=value."},t.__long__={$name:"__long__",$slot_name:"nb$long",$slot_func:p("__long__",Sk.builtin.checkInt,"int"),$wrapper:n,$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"int(self)"};var g,b={next:{$name:"next",$slot_name:"tp$iternext",$slot_func:t.__next__.$slot_func,$wrapper:t.__next__.$wrapper,$textsig:t.__next__.$textsig,$flags:t.__next__.$flags},__nonzero__:{$name:"__nonzero__",$slot_name:"nb$bool",$slot_func:p("__nonzero__",Sk.builtin.checkInt,"int",(t=>0!==t.v)),$wrapper:u(n,(t=>new Sk.builtin.bool(t))),$textsig:"($self, /)",$flags:{NoArgs:!0},$doc:"x.__nonzero__() <==> x != 0"},__div__:{$name:"__div__",$slot_name:"nb$divide",$slot_func:h,$wrapper:i,$textsig:"($self, other/)",$flags:{OneArg:!0},$doc:"x.__div__(y) <==> x/y"},__rdiv__:{$name:"__rdiv__",$slot_name:"nb$reflected_divide",$slot_func:h,$wrapper:i,$textsig:"($self, other/)",$flags:{OneArg:!0},$doc:"x.__rdiv__(y) <==> x/y"},__idiv__:{$name:"__idiv__",$slot_name:"nb$inplace_divide",$slot_func:h,$wrapper:i,$textsig:"($self, other/)",$flags:{OneArg:!0},$doc:"implement self /= other"}};Sk.subSlots={main_slots:Object.entries({tp$init:"__init__",tp$call:"__call__",$r:"__repr__",tp$str:"__str__",tp$getattr:"__getattribute__",tp$setattr:["__setattr__","__delattr__"],ob$eq:"__eq__",ob$ne:"__ne__",ob$lt:"__lt__",ob$le:"__le__",ob$gt:"__gt__",ob$ge:"__ge__",tp$descr_get:"__get__",tp$descr_set:["__set__","__delete__"],tp$iter:"__iter__",tp$iternext:"__next__"}),number_slots:Object.entries({nb$abs:"__abs__",nb$negative:"__neg__",nb$positive:"__pos__",nb$int:"__int__",nb$long:"__long__",nb$float:"__float__",nb$index:"__index__",nb$add:"__add__",nb$reflected_add:"__radd__",nb$inplace_add:"__iadd__",nb$subtract:"__sub__",nb$reflected_subtract:"__rsub__",nb$inplace_subtract:"__isub__",nb$multiply:"__mul__",nb$reflected_multiply:"__rmul__",nb$inplace_multiply:"__imul__",nb$floor_divide:"__floordiv__",nb$reflected_floor_divide:"__rfloordiv__",nb$inplace_floor_divide:"__ifloordiv__",nb$invert:"__invert__",nb$remainder:"__mod__",nb$reflected_remainder:"__rmod__",nb$inplace_remainder:"__imod__",nb$divmod:"__divmod__",nb$reflected_divmod:"__rdivmod__",nb$power:"__pow__",nb$reflected_power:"__rpow__",nb$inplace_power:"__ipow__",nb$divide:"__truediv__",nb$reflected_divide:"__rtruediv__",nb$inplace_divide:"__itruediv__",nb$bool:"__bool__",nb$and:"__and__",nb$reflected_and:"__rand__",nb$inplace_and:"__iand__",nb$or:"__or__",nb$reflected_or:"__ror__",nb$inplace_or:"__ior__",nb$xor:"__xor__",nb$reflected_xor:"__rxor__",nb$inplace_xor:"__ixor__",nb$lshift:"__lshift__",nb$reflected_lshift:"__rlshift__",nb$rshift:"__rshift__",nb$reflected_rshift:"__rrshift__",nb$inplace_lshift:"__ilshift__",nb$inplace_rshift:"__irshift__",nb$matrix_multiply:"__matmul__",nb$reflected_matrix_multiply:"__rmatmul__",nb$inplace_matrix_multiply:"__imatmul__"}),sequence_and_mapping_slots:Object.entries({sq$length:"__len__",sq$contains:"__contains__",mp$subscript:"__getitem__",mp$ass_subscript:["__setitem__","__delitem__"],nb$add:"__add__",nb$multiply:"__mul__",nb$reflected_multiply:"__rmul__",nb$inplace_add:"__iadd__",nb$inplace_multiply:"__imul__"})},Sk.reflectedNumberSlots={nb$add:{reflected:"nb$reflected_add"},nb$subtract:{reflected:"nb$reflected_subtract",slot:function(t){return t instanceof this.constructor?t.nb$subtract(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$multiply:{reflected:"nb$reflected_multiply"},nb$divide:{reflected:"nb$reflected_divide",slot:function(t){return t instanceof this.constructor?t.nb$divide(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$floor_divide:{reflected:"nb$reflected_floor_divide",slot:function(t){return t instanceof this.constructor?t.nb$floor_divide(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$remainder:{reflected:"nb$reflected_remainder",slot:function(t){return t instanceof this.constructor?t.nb$remainder(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$divmod:{reflected:"nb$reflected_divmod",slot:function(t){return t instanceof this.constructor?t.nb$divmod(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$power:{reflected:"nb$reflected_power",slot:function(t,e){return t instanceof this.constructor?t.nb$power(this,e):Sk.builtin.NotImplemented.NotImplemented$}},nb$and:{reflected:"nb$reflected_and"},nb$or:{reflected:"nb$reflected_or"},nb$xor:{reflected:"nb$reflected_xor"},nb$lshift:{reflected:"nb$reflected_lshift",slot:function(t){return t instanceof this.constructor?t.nb$lshift(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$rshift:{reflected:"nb$reflected_rshift",slot:function(t){return t instanceof this.constructor?t.nb$rshift(this):Sk.builtin.NotImplemented.NotImplemented$}},nb$matrix_multiply:{reflected:"nb$reflexted_matrix_multiply",slot:function(t){return t instanceof this.constructor?t.nb$matrix_multiply(this):Sk.builtin.NotImplemented.NotImplemented$}}},Sk.sequenceAndMappingSlots={sq$concat:["nb$add"],sq$repeat:["nb$multiply","nb$reflected_multiply"],mp$length:["sq$length"],sq$inplace_repeat:["nb$inplace_multiply"],sq$inplace_concat:["nb$inplace_add"]},Sk.dunderToSkulpt={__repr__:"$r",__str__:"tp$str",__init__:"tp$init",__new__:"tp$new",__hash__:"tp$hash",__call__:"tp$call",__iter__:"tp$iter",__next__:"tp$iternext",__eq__:"ob$eq",__ne__:"ob$ne",__lt__:"ob$lt",__le__:"ob$le",__gt__:"ob$gt",__ge__:"ob$ge",__abs__:"nb$abs",__neg__:"nb$negative",__pos__:"nb$positive",__int__:"nb$int",__float__:"nb$float",__index__:"nb$index",__add__:"nb$add",__radd__:"nb$reflected_add",__iadd__:"nb$inplace_add",__sub__:"nb$subtract",__rsub__:"nb$reflected_subtract",__isub__:"nb$inplace_subtract",__mul__:"nb$multiply",__rmul__:"nb$reflected_multiply",__imul__:"nb$inplace_multiply",__truediv__:"nb$divide",__rtruediv__:"nb$reflected_divide",__itruediv__:"nb$inplace_divide",__floordiv__:"nb$floor_divide",__rfloordiv__:"nb$reflected_floor_divide",__ifloordiv__:"nb$inplace_floor_divide",__invert__:"nb$invert",__mod__:"nb$remainder",__rmod__:"nb$reflected_remainder",__imod__:"nb$inplace_remainder",__divmod__:"nb$divmod",__rdivmod__:"nb$reflected_divmod",__pow__:"nb$power",__rpow__:"nb$reflected_power",__ipow__:"nb$inplace_power",__bool__:"nb$bool",__long__:"nb$long",__lshift__:"nb$lshift",__rlshift__:"nb$reflected_lshift",__ilshift__:"nb$inplace_lshift",__rshift__:"nb$rshift",__rrshift__:"nb$reflected_rshift",__irshift__:"nb$inplace_rshift",__and__:"nb$and",__rand__:"nb$reflected_and",__iand__:"nb$inplace_and",__or__:"nb$or",__ror__:"nb$reflected_or",__ior__:"nb$inplace_or",__xor__:"nb$xor",__rxor__:"nb$reflected_xor",__ixor__:"nb$inplace_xor",__matmul__:"nb$matrix_multiply",__rmatmul__:"nb$reflected_matrix_multiply",__imatmul__:"nb$inplace_matrix_multiply",__get__:"tp$descr_get",__set__:"tp$descr_set",__delete__:"tp$descr_set",__getattribute__:"tp$getattr",__getattr__:"tp$getattr",__setattr__:"tp$setattr",__delattr__:"tp$setattr",__len__:"sq$length",__contains__:"sq$contains",__getitem__:"mp$subscript",__setitem__:"mp$ass_subscript",__delitem__:"mp$ass_subscript"},Sk.exportSymbol("Sk.setupDunderMethods",Sk.setupDunderMethods),Sk.setupDunderMethods=function(t){function e(t,e,n){for(let i=0;i"tp$iternext"===t[0])),l=r.findIndex((t=>"nb$bool"===t[0])),u=Sk.dunderToSkulpt;if(t){u.__bool__="nb$bool",u.__next__="tp$iternext",delete u.__nonzero__,delete u.__div__,delete u.__rdiv__,delete u.__idiv__,delete u.next;for(let t in g)n[t]=g[t];for(let t in b)delete n[t];for(t=0;t")}const o={__doc__:{$get(){return this.d$def.$doc?new Sk.builtin.str(this.d$def.$doc):Sk.builtin.none.none$}},__objclass__:{$get(){return this.d$type}},__name__:{$get(){return new Sk.builtin.str(this.d$name)}}};t={__text_signature__:{$get(){return this.d$def.$textsig?new Sk.builtin.str(this.d$def.$textsig):Sk.builtin.none.none$}}},Sk.builtin.getset_descriptor=n("getset_descriptor",void 0,{constructor:function(t,e){this.d$def=e,this.$get=e.$get,this.$set=e.$set,this.d$type=t,this.d$name=e.$name},slots:{tp$descr_get(t,e,n){if(e=this.d$check(t))return e;if(void 0!==this.$get)return t=this.$get.call(t),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t);throw new Sk.builtin.AttributeError("getset_descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' objects is not readable")},tp$descr_set(t,e,n){if(this.d$set_check(t),void 0!==this.$set)return t=this.$set.call(t,e),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t);throw new Sk.builtin.AttributeError("attribute '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' objects is readonly")}}}),Sk.builtin.method_descriptor=n("method_descriptor","method",{constructor:function(t,e){this.d$def=e,this.$meth=e.$meth,this.d$type=t,this.d$name=e.$name||"",this.$flags=t=e.$flags||{},t.FastCall&&t.NoKwargs?this.tp$call=this.$methodFastCallNoKwargs:t.FastCall?this.tp$call=this.$methodFastCall:t.NoArgs?this.tp$call=this.$methodCallNoArgs:t.OneArg?this.tp$call=this.$methodCallOneArg:t.NamedArgs?this.tp$call=this.$methodCallNamedArgs:void 0!==t.MinArgs?this.tp$call=this.$methodCallMinArgs:(this.func_code=e.$meth,this.tp$call=this.$defaultCall,this.$memoiseFlags=Sk.builtin.func.prototype.$memoiseFlags,this.$resolveArgs=Sk.builtin.func.prototype.$resolveArgs)},slots:{tp$call(t,e){return this.tp$call(t,e)},tp$descr_get(t,e){let n;return(n=this.d$check(t))?n:new Sk.builtin.sk_method(this.d$def,t)}},getsets:t,proto:{$methodFastCall(t,e){const n=t.shift();return this.m$checkself(n),this.$meth.call(n,t,e)},$methodFastCallNoKwargs(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkNoKwargs(this.d$name,e),this.$meth.call(n,t)},$methodCallNoArgs(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkNoArgs(this.d$name,t,e),this.$meth.call(n)},$methodCallOneArg(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkOneArg(this.d$name,t,e),this.$meth.call(n,t[0])},$methodCallNamedArgs(t,e){const n=t.shift();return this.m$checkself(n),t=Sk.abstr.copyKeywordsToNamedArgs(this.d$name,this.$flags.NamedArgs,t,e,this.$flags.Defaults),this.$meth.call(n,...t)},$methodCallMinArgs(t,e){const n=t.shift();return this.m$checkself(n),Sk.abstr.checkNoKwargs(this.d$name,e),Sk.abstr.checkArgsLen(this.d$name,t,this.$flags.MinArgs,this.$flags.MaxArgs),this.$meth.call(n,...t)},$defaultCall(t,e){return this.m$checkself(t[0]),Sk.builtin.func.prototype.tp$call.call(this,t,e)},m$checkself(t){if(void 0===t)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' object needs an argument");this.d$check(t)}}}),Sk.builtin.wrapper_descriptor=n("wrapper_descriptor","slot wrapper",{constructor:function(t,e,n){this.d$def=e,this.d$type=t,this.d$name=n.$name=e.$name,this.d$wrapped=n},slots:{tp$descr_get(t,e){let n;return(n=this.d$check(t))?n:new Sk.builtin.method_wrapper(this,t)},tp$call(t,e){if(1>t.length)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' object needs an argument");const n=t.shift();if(!n.ob$type.$isSubType(this.d$type))throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' requires a '"+this.d$type.prototype.tp$name+"' object but received a '"+Sk.abstr.typeName(n)+"'");return this.raw$call(n,t,e)}},proto:{raw$call(t,e,n){return this.d$wrapped.$name=this.d$name,this.d$def.$wrapper.call(this.d$wrapped,t,e,n)}}}),Sk.builtin.method_wrapper=n("method_wrapper",void 0,{constructor:function(t,e){this.m$descr=t,this.m$self=e,this.d$def=t.d$def,this.d$name=t.d$name,this.d$type=t.d$type},slots:{tp$call(t,e){return this.m$descr.raw$call(this.m$self,t,e)},tp$richcompare(t,e){return("Eq"===e||"NotEq"===e)&&t instanceof Sk.builtin.method_wrapper?(t=this.m$self===t.m$self&&this.m$descr===t.m$descr,"Eq"===e?t:!t):Sk.builtin.NotImplemented.NotImplemented$},$r(){return new Sk.builtin.str("")}},getsets:{__self__:{$get(){return this.m$self}}}}),Sk.builtin.classmethod_descriptor=n("classmethod_descriptor","method",{constructor:function(t,e){this.d$def=e,this.$meth=e.$meth,this.d$type=t,this.d$name=e.$name||""},slots:{tp$call(t,e){if(1>t.length)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' of '"+this.d$type.prototype.tp$name+"' object needs an argument");const n=t.shift();return this.tp$descr_get(null,n).tp$call(t,e)},tp$descr_get(t,e,n){if(void 0===e){if(null===t)throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' for type '"+this.d$type.prototype.tp$name+"' needs an object or a type");e=e||t.ob$type}if(!e.ob$type.$isSubType(Sk.builtin.type))throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' for type '"+this.d$type.prototype.tp$name+"' needs a type not a '"+Sk.abstr.typeName(e)+"' as arg 2");if(!e.$isSubType(this.d$type))throw new Sk.builtin.TypeError("descriptor '"+this.d$name+"' requires a '"+this.d$type.prototype.tp$name+"' object but received a '"+Sk.abstr.typeName(e)+"' object");return new Sk.builtin.sk_method(this.d$def,e)}},getsets:t}),[Sk.builtin.method_descriptor,Sk.builtin.getset_descriptor,Sk.builtin.wrapper_descriptor,Sk.builtin.method_wrapper,Sk.builtin.classmethod_descriptor].forEach((t=>{Sk.abstr.setUpSlots(t),Sk.abstr.setUpMethods(t),Sk.abstr.setUpGetSets(t)}))},function(t,e){Sk.builtin.sk_method=Sk.abstr.buildNativeClass("builtin_function_or_method",{constructor:function(t,e,n){this.$meth=t.$meth.bind(e),this.$doc=t.$doc,this.$self=e||null,this.$module=n?new Sk.builtin.str(n):null,this.$name=t.$name||t.$meth.name||"",this.m$def=t,this.$textsig=t.$textsig,this.$flags=t=t.$flags||{},t.FastCall&&t.NoKwargs?this.tp$call=this.$fastCallNoKwargs:t.FastCall?this.tp$call=this.$meth:t.NoArgs?this.tp$call=this.$callNoArgs:t.OneArg?this.tp$call=this.$callOneArg:t.NamedArgs?this.tp$call=this.$callNamedArgs:void 0!==t.MinArgs?this.tp$call=this.$callMinArgs:(this.func_code=this.$meth,this.tp$call=this.$defaultCallMethod)},proto:{$fastCallNoKwargs(t,e){return Sk.abstr.checkNoKwargs(this.$name,e),this.$meth(t)},$callNoArgs(t,e){return Sk.abstr.checkNoArgs(this.$name,t,e),this.$meth()},$callOneArg(t,e){return Sk.abstr.checkOneArg(this.$name,t,e),this.$meth(t[0])},$callNamedArgs(t,e){return t=Sk.abstr.copyKeywordsToNamedArgs(this.$name,this.$flags.NamedArgs,t,e,this.$flags.Defaults),this.$meth(...t)},$callMinArgs(t,e){return Sk.abstr.checkNoKwargs(this.$name,e),Sk.abstr.checkArgsLen(this.$name,t,this.$flags.MinArgs,this.$flags.MaxArgs),this.$meth(...t)},$defaultCallMethod(t,e){return null!==this.$self?Sk.builtin.func.prototype.tp$call.call(this,[this.$self,...t],e):Sk.builtin.func.prototype.tp$call.call(this,t,e)},$memoiseFlags(){return Sk.builtin.func.prototype.$memoiseFlags.call(this)},$resolveArgs(){return Sk.builtin.func.prototype.$resolveArgs.call(this)}},flags:{sk$unacceptableBase:!0},slots:{tp$getattr:Sk.generic.getAttr,$r(){return null===this.$self?new Sk.builtin.str(""):new Sk.builtin.str("")},tp$call(t,e){return this.tp$call(t,e)},tp$richcompare(t,e){return("Eq"===e||"NotEq"===e)&&t instanceof Sk.builtin.sk_method?(t=this.$self===t.$self&&this.m$def.$meth===t.m$def.$meth,"Eq"===e?t:!t):Sk.builtin.NotImplemented.NotImplemented$}},getsets:{__module__:{$get(){return this.$module||Sk.builtin.none.none$},$set(t){this.$module=t=t||Sk.builtin.none.none$}},__doc__:{$get(){return this.$doc?new Sk.builtin.str(this.$doc):Sk.builtin.none.none$}},__name__:{$get(){return new Sk.builtin.str(this.$name)}},__text_signature__:{$get(){return new Sk.builtin.str(this.$textsig)}},__self__:{$get(){return this.$self||Sk.sysModules.mp$lookup(this.$module)||Sk.builtin.none.none$}}}})},function(t,e){Sk.builtin.none=Sk.abstr.buildNativeClass("NoneType",{constructor:function(){return Sk.builtin.none.none$},slots:{tp$new:(t,e)=>(Sk.abstr.checkNoArgs("NoneType",t,e),Sk.builtin.none.none$),$r:()=>new Sk.builtin.str("None"),tp$as_number:!0,nb$bool:()=>!1},proto:{valueOf:()=>null},flags:{sk$unacceptableBase:!0}}),Sk.builtin.none.none$=Object.create(Sk.builtin.none.prototype,{v:{value:null,enumerable:!0}}),Sk.builtin.NotImplemented=Sk.abstr.buildNativeClass("NotImplementedType",{constructor:function(){return Sk.builtin.NotImplemented.NotImplemented$},slots:{$r:()=>new Sk.builtin.str("NotImplemented"),tp$new:(t,e)=>(Sk.abstr.checkNoArgs("NotImplementedType",t,e),Sk.builtin.NotImplemented.NotImplemented$)},flags:{sk$unacceptableBase:!0}}),Sk.builtin.NotImplemented.NotImplemented$=Object.create(Sk.builtin.NotImplemented.prototype,{v:{value:null,enumerable:!0}}),t=Sk.abstr.buildNativeClass("ellipsis",{constructor:function(){return Sk.builtin.Ellipsis},slots:{tp$new:(t,e)=>(Sk.abstr.checkNoArgs("ellipsis",t,e),Sk.builtin.Ellipsis),$r:()=>new Sk.builtin.str("Ellipsis")},flags:{sk$unacceptableBase:!0}}),Sk.builtin.Ellipsis=Object.create(t.prototype,{v:{value:"..."}})},function(t,e){const n=/^(?:(.)?([<>=\^]))?([\+\-\s])?(#)?(0)?(\d+)?(,|_)?(?:\.(\d+))?([bcdeEfFgGnosxX%])?$/;Sk.formatting={};let i=function(t,e,n,i){if(Sk.asserts.assert("string"==typeof e),t[6]){var s=parseInt(t[6],10);i=t[2]||(t[5]?"=":i?">":"<");let r=s-(e.length+(n?n.length:0));if(0>=r)return n+e;switch(s=(t[1]||(t[5]?"0":" ")).repeat(r),i){case"=":if("s"===t[9])throw new Sk.builtin.ValueError("'=' alignment not allowed in string format specifier");return n+s+e;case">":return s+n+e;case"<":return n+e+s;case"^":return t=Math.floor(r/2),s.substring(0,t)+n+e+s.substring(t)}}return n+e},s=function(t,e){return e?"-":"+"===t[3]?"+":" "===t[3]?" ":""};const r=/\B(?=(\d{3})+(?!\d))/g,o=/\B(?=([A-Za-z0-9]{4})+(?![A-Za-z0-9]))/g;let a=function(t,e,n){if(Sk.asserts.assert(e instanceof Sk.builtin.int_||e instanceof Sk.builtin.lng),t[8])throw new Sk.builtin.ValueError("Precision not allowed in integer format");var a=e.str$(n,!1);e=e.nb$isnegative(),e=s(t,e),t[4]&&(16===n?e+="0x":8===n?e+="0o":2===n&&(e+="0b"));const l=t[9];if("X"===l&&(a=a.toUpperCase()),"n"===t[9])a=(+a).toLocaleString();else if(t[7]){a=a.split(".");const e=t[7];if(","===e&&10!==n)throw new Sk.builtin.ValueError(`Cannot specify ',' with '${l}'`);a[0]=a[0].replace(10===n?r:o,e),a=a.join(".")}return i(t,a,e,!0)};Sk.formatting.mkNumber__format__=t=>function(e){if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("format() argument 2 must be str, not "+Sk.abstr.typeName(e));return new Sk.builtin.str(function(t,e,r){if(!e)return t.str$(10,!0);if(!(e=e.match(n)))throw new Sk.builtin.ValueError("Invalid format specifier");var o=e[9];if(o||(o=r?"g":"d"),-1==(r?"fFeEgG%":"bcdoxXnfFeEgG%").indexOf(o))throw new Sk.builtin.ValueError("Unknown format code '"+e[9]+"' for object of type '"+Sk.abstr.typeName(t)+"'");switch(o){case"d":case"n":return a(e,t,10);case"x":case"X":return a(e,t,16);case"o":return a(e,t,8);case"b":return a(e,t,2);case"c":if(e[3])throw new Sk.builtin.ValueError("Sign not allowed with integer format specifier 'c'");if(e[4])throw new Sk.builtin.ValueError("Alternate form not allowed with integer format specifier 'c'");if(e[7])throw new Sk.builtin.ValueError("Cannot specify ',' with 'c'");if(e[8])throw new Sk.builtin.ValueError("Cannot specify ',' with 'c'");return i(e,String.fromCodePoint(Sk.builtin.asnum$(t)),"",!0);case"f":case"F":case"e":case"E":case"g":case"G":{if(e[4])throw new Sk.builtin.ValueError("Alternate form (#) not allowed in float format specifier");if("string"==typeof(r=Sk.builtin.asnum$(t))&&(r=Number(r)),1/0===r)return i(e,"inf","",!0);if(-1/0===r)return i(e,"inf","-",!0);if(isNaN(r))return i(e,"nan","",!0);t=!1,0>r&&(r=-r,t=!0);var l=["toExponential","toFixed","toPrecision"]["efg".indexOf(o.toLowerCase())];let n=e[8]?parseInt(e[8],10):6;if(r=r[l](n),-1!=="EFG".indexOf(o)&&(r=r.toUpperCase()),"g"===o.toLowerCase()||!e[9]){if(l=r.match(/\.(\d*[1-9])?(0+)$/)){let[,t,e]=l;r=r.slice(0,t?-e.length:-(e.length+1))}-1!=r.indexOf(".")||e[9]||(r+=".0")}return"e"===o.toLowerCase()&&(r=r.replace(/^([-+]?[0-9]*\.?[0-9]+[eE][-+]?)([0-9])?$/,"$10$2")),e[7]&&((o=r.toString().split("."))[0]=o[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),r=o.join(".")),i(e,r,s(e,t),!0)}case"%":if(e[4])throw new Sk.builtin.ValueError("Alternate form (#) not allowed with format specifier '%'");return"string"==typeof(t=Sk.builtin.asnum$(t))&&(t=Number(t)),1/0===t?i(e,"inf%","",!0):-1/0===t?i(e,"inf%","-",!0):isNaN(t)?i(e,"nan%","",!0):(o=!1,0>t&&(t=-t,o=!0),r=e[8]?parseInt(e[8],10):6,t=(100*t).toFixed(r)+"%",i(e,t,s(e,o),!0));default:throw new Sk.builtin.ValueError("Unknown format code '"+e[9]+"'")}}(this,e.$jsstr(),t))},Sk.formatting.format=function(t,e){e=e||[];const n={};for(let t=0;tn?1/0:n;null!=(o=s.exec(t))&&li)return new Sk.builtin.tuple([new Sk.builtin.str(""),new Sk.builtin.str(""),new Sk.builtin.str(n)])}else if(i=n.indexOf(e),0>i)return new Sk.builtin.tuple([new Sk.builtin.str(n),new Sk.builtin.str(""),new Sk.builtin.str("")]);return new Sk.builtin.tuple([new Sk.builtin.str(n.substring(0,i)),new Sk.builtin.str(e),new Sk.builtin.str(n.substring(i+e.length))])}}function o(t,e){return function(n,i){if(n=Sk.misceval.asIndexSized(n,Sk.builtin.OverflowError),void 0===i)i=" ";else{if(!(i instanceof Sk.builtin.str&&1===i.sq$length()))throw new Sk.builtin.TypeError("the fill character must be a str of length 1");i=i.v}var s=this.sq$length();return s>=n?new Sk.builtin.str(this.v):e?(s=n-s,n=Math.floor(s/2)+(s&n&1),i=i.repeat(n)+this.v+i.repeat(s-n),new Sk.builtin.str(i)):(i=i.repeat(n-s),new Sk.builtin.str(t?i+this.v:this.v+i))}}function a(t,e,n){if(({start:e,end:n}=Sk.builtin.slice.startEnd$wrt(t,e,n)),t.$hasAstralCodePoints()){const i=t.codepoints[e];e=void 0===i?e+t.v.length-t.codepoints.length:i,n=void 0===(n=t.codepoints[n])?t.v.length:n}return{start:e,end:n}}function l(t){return function(e,n,i){if(e=this.get$tgt(e),({start:n,end:i}=a(this,n,i)),i=n&&e<=i?e:-1,this.codepoints){i=this.sq$length(),n=-1;for(let t=0;ts)return Sk.builtin.bool.false$;if(i=this.v.slice(i,s),n instanceof Sk.builtin.tuple){for(let s=Sk.abstr.iter(n),r=s.tp$iternext();void 0!==r;r=s.tp$iternext()){if(!(r instanceof Sk.builtin.str))throw new Sk.builtin.TypeError("tuple for "+t+" must only contain str, not "+Sk.abstr.typeName(r));if(e(i,r.v))return Sk.builtin.bool.true$}return Sk.builtin.bool.false$}return new Sk.builtin.bool(e(i,n.v))}}function c(t){return void 0===g[t]?t:t+"_$rw$"}var p=/^[0-9!#_]/,h=Object.create(null);Sk.builtin.str=Sk.abstr.buildNativeClass("str",{constructor:function(t){if(Sk.asserts.assert(this instanceof Sk.builtin.str,"bad call to str - use 'new'"),"string"!=typeof t)if(void 0===t)t="";else if(null===t)t="None";else{if(void 0!==t.tp$str)return t.tp$str();if("number"!=typeof t)throw new Sk.builtin.TypeError("could not convert object of type '"+Sk.abstr.typeName(t)+"' to str");t=Number.isFinite(t)?String(t):String(t).replace("Infinity","inf").replace("NaN","nan")}const e=h[t];if(void 0!==e)return e;h[t]=this,this.$mangled=c(t),this.$savedKeyHash=t.replace(p,"!$&"),this.v=t},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$doc:"str(object='') -> str\nstr(bytes_or_buffer[, encoding[, errors]]) -> str\n\nCreate a new string object from the given object. If encoding or\nerrors is specified, then the object must expose a data buffer\nthat will be decoded using the given encoding and error handler.\nOtherwise, returns the result of object.__str__() (if defined)\nor repr(object).\nencoding defaults to sys.getdefaultencoding().\nerrors defaults to 'strict'.",tp$new(t,e){if(e=e||[],this!==Sk.builtin.str.prototype)return this.$subtype_new(t,e);if(1>=t.length&&!e.length)return new Sk.builtin.str(t[0]);if(Sk.__future__.python3){const[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("str",["object","encoding","errors"],t,e);if(void 0===n||void 0===i&&void 0===s)return new Sk.builtin.str(n);if(Sk.builtin.bytes.check$encodeArgs("str",i,s),!Sk.builtin.checkBytes(n))throw new Sk.builtin.TypeError("decoding to str: need a bytes-like object, "+Sk.abstr.typeName(n)+" found");return Sk.builtin.bytes.$decode.call(n,i,s)}throw new Sk.builtin.TypeError("str takes at most one argument ("+(t.length+e.length)+" given)")},$r(){let t="'";-1!==this.v.indexOf("'")&&-1===this.v.indexOf('"')&&(t='"');const e=this.v.length;let n=t;for(let r=0;rs||57344<=s)&&!Sk.__future__.python3?n+="\\u"+("000"+s.toString(16)).slice(-4):55296<=s&&!Sk.__future__.python3?(i=this.v.codePointAt(r),r++,s="0000000"+(i=i.toString(16)).toString(16),n=4i||127<=s&&!Sk.__future__.python3?(2>(i=i.charCodeAt(0).toString(16)).length&&(i="0"+i),n+="\\x"+i):n+=i}return new Sk.builtin.str(n+t)},tp$str(){return this.constructor===Sk.builtin.str?this:new Sk.builtin.str(this.v)},tp$iter(){return new m(this)},tp$richcompare(t,e){if(!(t instanceof Sk.builtin.str))return Sk.builtin.NotImplemented.NotImplemented$;switch(e){case"Lt":return this.vt.v;case"GtE":return this.v>=t.v}},mp$subscript(t){let e;if(Sk.misceval.isIndex(t)){if(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError),e=this.sq$length(),0>t&&(t+=e),0>t||t>=e)throw new Sk.builtin.IndexError("string index out of range");return this.codepoints?new Sk.builtin.str(this.v.substring(this.codepoints[t],this.codepoints[t+1])):new Sk.builtin.str(this.v.charAt(t))}if(t instanceof Sk.builtin.slice){let n="";return e=this.sq$length(),this.codepoints?t.sssiter$(e,(t=>{n+=this.v.substring(this.codepoints[t],this.codepoints[t+1])})):t.sssiter$(e,(t=>{n+=this.v.charAt(t)})),new Sk.builtin.str(n)}throw new Sk.builtin.TypeError("string indices must be integers, not "+Sk.abstr.typeName(t))},sq$length(){return this.$hasAstralCodePoints()?this.codepoints.length:this.v.length},sq$concat(t){if(!(t instanceof Sk.builtin.str))throw new Sk.builtin.TypeError("cannot concatenate 'str' and '"+Sk.abstr.typeName(t)+"' objects");return new Sk.builtin.str(this.v+t.v)},sq$repeat(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("can't multiply sequence by non-int of type '"+Sk.abstr.typeName(t)+"'");if((t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError))*this.v.length>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;let e="";for(let n=0;n' requires string as left operand not "+Sk.abstr.typeName(t));return-1!==this.v.indexOf(t.v)},tp$as_number:!0,nb$remainder:function(t){const e=this.sk$builtinBase;t.constructor===Sk.builtin.tuple||t instanceof Sk.builtin.dict||t instanceof Sk.builtin.mappingproxy||(t=new Sk.builtin.tuple([t]));var n=0,i=this.$jsstr().replace(/%(\([a-zA-Z0-9]+\))?([#0 +\-]+)?(\*|[0-9]+)?(\.(\*|[0-9]+))?[hlL]?([diouxXeEfFgGcrsb%])/g,(function(i,s,r,o,a,l,u){var c,p,h,_,d;o=Sk.builtin.asnum$(o),a=Sk.builtin.asnum$(a),void 0!==s&&""!==s||"%"==u||(c=n++),""===a&&(a=void 0);var f=p=h=_=d=!1;if(r&&(-1!==r.indexOf("-")?_=!0:-1!==r.indexOf("0")&&(d=!0),-1!==r.indexOf("+")?p=!0:-1!==r.indexOf(" ")&&(h=!0),f=-1!==r.indexOf("#")),a&&(a=parseInt(a.substr(1),10)),r=function(t,e){var n;e=Sk.builtin.asnum$(e);var i=!1;if("number"==typeof t){0>t&&(t=-t,i=!0);var s=t.toString(e)}else t instanceof Sk.builtin.float_?(2<(s=t.str$(e,!1)).length&&".0"===s.substr(-2)&&(s=s.substr(0,s.length-2)),i=t.nb$isnegative()):(t instanceof Sk.builtin.int_||t instanceof Sk.builtin.lng)&&(s=t.str$(e,!1),i=t.nb$isnegative());if(Sk.asserts.assert(void 0!==s,"unhandled number format"),t=!1,a)for(n=s.length;ne){for(this.codepoints=[],t=0;te&&t++;return!0}}return this.codepoints=null,!1},sk$asarray(){const t=[];if(this.$hasAstralCodePoints()){var e=this.codepoints;for(let n=0;ni)return new Sk.builtin.str(this.v.replace(t,e));let s=0;return t=this.v.replace(t,(t=>s++e?0:2*(t.length/2-e);for(e=[],0>=n?n=0:e.push(new Sk.builtin.str(this.v.slice(0,t[n-1])));n{if(!(t instanceof Sk.builtin.str))throw new Sk.builtin.TypeError("sequence item "+e.length+": expected str, "+Sk.abstr.typeName(t)+" found");e.push(t.v)})),(()=>new Sk.builtin.str(e.join(this.v))))},$flags:{OneArg:!0},$textsig:"($self, iterable, /)",$doc:"Concatenate any number of strings.\n\nThe string whose method is called is inserted in between each given string.\nThe result is returned as a new string.\n\nExample: '.'.join(['ab', 'pq', 'rs']) -> 'ab.pq.rs'"},capitalize:{$meth:function(){return new Sk.builtin.str(this.v.charAt(0).toUpperCase()+this.v.slice(1).toLowerCase())},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a capitalized version of the string.\n\nMore specifically, make the first character have upper case and the rest lower\ncase."},title:{$meth:function(){const t=this.v.replace(/[a-z][a-z]*/gi,(t=>t[0].toUpperCase()+t.substr(1).toLowerCase()));return new Sk.builtin.str(t)},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a version of the string where each word is titlecased.\n\nMore specifically, words start with uppercased characters and all remaining\ncased characters have lower case."},center:{$meth:o(!1,!0),$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, width, fillchar=' ', /)",$doc:"Return a centered string of length width.\n\nPadding is done using the specified fill character (default is a space)."},count:{$meth:function(t,e,n){return t=this.get$tgt(t),({start:e,end:n}=a(this,e,n)),n int\n\nReturn the number of non-overlapping occurrences of substring sub in\nstring S[start:end]. Optional arguments start and end are\ninterpreted as in slice notation."},expandtabs:{$meth:function(t){if(!Sk.builtin.checkInt(t))throw new Sk.builtin.TypeError("an integer is required, got type"+Sk.abstr.typeName(t));t=Sk.builtin.asnum$(t);const e=Array(t+1).join(" "),n=this.v.replace(/([^\r\n\t]*)\t/g,((n,i)=>i+e.slice(i.length%t)));return new Sk.builtin.str(n)},$flags:{NamedArgs:["tabsize"],Defaults:[8]},$textsig:"($self, /, tabsize=8)",$doc:"Return a copy where all tab characters are expanded using spaces.\n\nIf tabsize is not given, a tab size of 8 characters is assumed."},find:{$meth:function(t,e,n){return new Sk.builtin.int_(this.find$left(t,e,n))},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.find(sub[, start[, end]]) -> int\n\nReturn the lowest index in S where substring sub is found,\nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},partition:{$meth:r(!1),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the string into three parts using the given separator.\n\nThis will search for the separator in the string. If the separator is found,\nreturns a 3-tuple containing the part before the separator, the separator\nitself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing the original string\nand two empty strings."},index:{$meth:function(t,e,n){if(-1===(t=this.find$left(t,e,n)))throw new Sk.builtin.ValueError("substring not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.index(sub[, start[, end]]) -> int\n\nReturn the lowest index in S where substring sub is found, \nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaises ValueError when the substring is not found."},ljust:{$meth:o(!1,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, width, fillchar=' ', /)",$doc:"Return a left-justified string of length width.\n\nPadding is done using the specified fill character (default is a space)."},lower:{$meth(){return new Sk.builtin.str(this.v.toLowerCase())},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a copy of the string converted to lowercase."},lstrip:{$meth:s(/^\s+/g,(t=>"^["+t+"]+")),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, chars=None, /)",$doc:"Return a copy of the string with leading whitespace removed.\n\nIf chars is given and not None, remove characters in chars instead."},rfind:{$meth(t,e,n){return new Sk.builtin.int_(this.find$right(t,e,n))},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.rfind(sub[, start[, end]]) -> int\n\nReturn the highest index in S where substring sub is found,\nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},rindex:{$meth:function(t,e,n){if(-1===(t=this.find$right(t,e,n)))throw new Sk.builtin.ValueError("substring not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.rindex(sub[, start[, end]]) -> int\n\nReturn the highest index in S where substring sub is found,\nsuch that sub is contained within S[start:end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaises ValueError when the substring is not found."},rjust:{$meth:o(!0,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, width, fillchar=' ', /)",$doc:"Return a right-justified string of length width.\n\nPadding is done using the specified fill character (default is a space)."},rstrip:{$meth:s(/\s+$/g,(t=>"["+t+"]+$")),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, chars=None, /)",$doc:"Return a copy of the string with trailing whitespace removed.\n\nIf chars is given and not None, remove characters in chars instead."},rpartition:{$meth:r(!0),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the string into three parts using the given separator.\n\nThis will search for the separator in the string, starting at the end. If\nthe separator is found, returns a 3-tuple containing the part before the\nseparator, the separator itself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing two empty strings\nand the original string."},splitlines:{$meth:function(t){t=Sk.misceval.isTrue(t);const e=this.v,n=[],i=e.length;var s=0;for(let o=0;o"^["+t+"]+|["+t+"]+$")),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, chars=None, /)",$doc:"Return a copy of the string with leading and trailing whitespace remove.\n\nIf chars is given and not None, remove characters in chars instead."},swapcase:{$meth(){const t=this.v.replace(/[a-z]/gi,(t=>{const e=t.toLowerCase();return e===t?t.toUpperCase():e}));return new Sk.builtin.str(t)},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Convert uppercase characters to lowercase and lowercase characters to uppercase."},upper:{$meth(){return new Sk.builtin.str(this.v.toUpperCase())},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return a copy of the string converted to uppercase."},startswith:{$meth:u("startswith",((t,e)=>0===t.indexOf(e))),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.startswith(prefix[, start[, end]]) -> bool\n\nReturn True if S starts with the specified prefix, False otherwise.\nWith optional start, test S beginning at that position.\nWith optional end, stop comparing S at that position.\nprefix can also be a tuple of strings to try."},endswith:{$meth:u("endswith",((t,e)=>-1!==t.indexOf(e,t.length-e.length))),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"S.endswith(suffix[, start[, end]]) -> bool\n\nReturn True if S ends with the specified suffix, False otherwise.\nWith optional start, test S beginning at that position.\nWith optional end, stop comparing S at that position.\nsuffix can also be a tuple of strings to try."},isascii:{$meth(){return new Sk.builtin.bool(/^[\x00-\x7F]*$/.test(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if all characters in the string are ASCII, False otherwise.\n\nASCII characters have code points in the range U+0000-U+007F.\nEmpty string is ASCII too."},islower:{$meth:function(){return new Sk.builtin.bool(this.v.length&&/[a-z]/.test(this.v)&&!/[A-Z]/.test(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if the string is a lowercase string, False otherwise.\n\nA string is lowercase if all cased characters in the string are lowercase and\nthere is at least one cased character in the string."},isupper:{$meth:function(){return new Sk.builtin.bool(this.v.length&&!/[a-z]/.test(this.v)&&/[A-Z]/.test(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if the string is an uppercase string, False otherwise.\n\nA string is uppercase if all cased characters in the string are uppercase and\nthere is at least one cased character in the string."},istitle:{$meth:function(){const t=this.v;let e,n=!1,i=!1;for(let s=0;s str\n\nReturn a formatted version of S, using substitutions from args and kwargs.\nThe substitutions are identified by braces ('{' and '}')."},__format__:{$meth:Sk.formatting.formatString,$flags:{OneArg:!0},$textsig:"($self, format_spec, /)",$doc:"Return a formatted version of the string as described by format_spec."},__getnewargs__:{$meth(){return new Sk.builtin.tuple(new Sk.builtin.str(this.v))},$flags:{NoArgs:!0},$textsig:null,$doc:null}}}),Sk.exportSymbol("Sk.builtin.str",Sk.builtin.str);var _=/^[A-Za-z0-9]+$/,d=/([.*+?=|\\\/()\[\]\{\}^$])/g,f=/^[\s\xa0]+/;Sk.builtin.str.$py2decode=new Sk.builtin.method_descriptor(Sk.builtin.str,{$name:"decode",$meth(t,e){const n=new Sk.builtin.bytes(this.v);return Sk.builtin.bytes.$decode.call(n,t,e)},$flags:{NamedArgs:["encoding","errors"]}});var m=Sk.abstr.buildIteratorClass("str_iterator",{constructor:function(t){this.$index=0,t.$hasAstralCodePoints()?(this.$seq=t.codepoints,this.tp$iternext=()=>{const e=this.$seq[this.$index];if(void 0!==e)return new Sk.builtin.str(t.v.substring(e,this.$seq[++this.$index]))}):(this.$seq=t.v,this.tp$iternext=()=>{const t=this.$seq[this.$index++];if(void 0!==t)return new Sk.builtin.str(t)})},iternext(){return this.tp$iternext()},methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}}),g={abstract:!0,as:!0,boolean:!0,break:!0,byte:!0,case:!0,catch:!0,char:!0,class:!0,continue:!0,const:!0,debugger:!0,default:!0,delete:!0,do:!0,double:!0,else:!0,enum:!0,export:!0,extends:!0,false:!0,final:!0,finally:!0,float:!0,for:!0,function:!0,goto:!0,if:!0,implements:!0,import:!0,in:!0,instanceof:!0,int:!0,interface:!0,is:!0,long:!0,namespace:!0,native:!0,new:!0,null:!0,package:!0,private:!0,protected:!0,public:!0,return:!0,short:!0,static:!0,super:!0,switch:!0,synchronized:!0,this:!0,throw:!0,throws:!0,transient:!0,true:!0,try:!0,typeof:!0,use:!0,var:!0,void:!0,volatile:!0,while:!0,with:!0,constructor:!0,__defineGetter__:!0,__defineSetter__:!0,apply:!0,arguments:!0,call:!0,caller:!0,eval:!0,hasOwnProperty:!0,isPrototypeOf:!0,__lookupGetter__:!0,__lookupSetter__:!0,__noSuchMethod__:!0,propertyIsEnumerable:!0,prototype:!0,toSource:!0,toLocaleString:!0,toString:!0,unwatch:!0,valueOf:!0,watch:!0,length:!0,name:!0};Sk.builtin.str.reservedWords_=g,Sk.builtin.str.$fixReserved=c},function(t,e){Sk.builtin.func=Sk.abstr.buildNativeClass("function",{constructor:function(t,e,n,i){if(Sk.asserts.assert(this instanceof Sk.builtin.func,"builtin func should be called as a class with `new`"),this.func_code=t,this.func_globals=e||null,this.$name=t.co_name&&t.co_name.v||t.name||"",this.$d=Sk.builtin.dict?new Sk.builtin.dict:void 0,this.$doc=t.co_docstring||Sk.builtin.none.none$,this.$module=Sk.globals&&Sk.globals.__name__||Sk.builtin.none.none$,this.$qualname=t.co_qualname&&t.co_qualname.v||this.$name,void 0!==i)for(let t in i)n[t]=i[t];this.func_closure=n,this.func_annotations=null,this.$memoiseFlags(),this.memoised=t.co_fastcall||null,this.tp$call=t.co_fastcall?t.bind(this):Sk.builtin.func.prototype.tp$call.bind(this)},slots:{tp$getattr:Sk.generic.getAttr,tp$descr_get(t,e){return null===t?this:new Sk.builtin.method(this,t)},$r(){return new Sk.builtin.str("")},tp$call(t,e){if(this.memoised||(this.$memoiseFlags(),this.memoised=!0),void 0===this.co_argcount&&void 0===this.co_varnames&&!this.co_kwargs&&!this.func_closure){if(e&&0!==e.length)throw new Sk.builtin.TypeError(this.$name+"() takes no keyword arguments");return this.func_code.apply(this.func_globals,t)}return t=this.$resolveArgs(t,e),this.func_closure&&t.push(this.func_closure),this.func_code.apply(this.func_globals,t)}},getsets:{__name__:{$get(){return new Sk.builtin.str(this.$name)},$set(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__name__ must be set to a string object");this.$name=t.$jsstr()}},__qualname__:{$get(){return new Sk.builtin.str(this.$qualname)},$set(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__qualname__ must be set to a string object");this.$qualname=t.$jsstr()}},__dict__:Sk.generic.getSetDict,__annotations__:{$get(){return null===this.func_annotations?this.func_annotations=new Sk.builtin.dict([]):Array.isArray(this.func_annotations)&&(this.func_annotations=Sk.abstr.keywordArrayToPyDict(this.func_annotations)),this.func_annotations},$set(t){if(void 0===t||Sk.builtin.checkNone(t))this.func_annotations=new Sk.builtin.dict([]);else{if(!(t instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError("__annotations__ must be set to a dict object");this.func_annotations=t}}},__defaults__:{$get(){return null==this.$defaults?Sk.builtin.none.none$:new Sk.builtin.tuple(this.$defaults)},$set(t){if(void 0===t||Sk.builtin.checkNone(t))this.$defaults=null;else{if(!(t instanceof Sk.builtin.tuple))throw new Sk.builtin.TypeError("__defaults__ must be set to a tuple object");this.$defaults=t.valueOf()}}},__doc__:{$get(){return this.$doc},$set(t){this.$doc=t||Sk.builtin.none.none$}},__module__:{$get(){return this.$module},$set(t){this.$module=t||Sk.builtin.none.none$}}},proto:{$memoiseFlags(){this.co_varnames=this.func_code.co_varnames,this.co_argcount=this.func_code.co_argcount,void 0===this.co_argcount&&this.co_varnames&&(this.co_argcount=this.co_varnames.length),this.co_kwonlyargcount=this.func_code.co_kwonlyargcount||0,this.co_varargs=this.func_code.co_varargs,this.co_kwargs=this.func_code.co_kwargs,this.$defaults=this.func_code.$defaults,this.$kwdefs=this.func_code.$kwdefs||[]},$resolveArgs:function(t,e){var n=this.co_argcount;void 0===n&&(n=this.co_varnames?this.co_varnames.length:t.length);var i=this.co_varnames||[],s=this.co_kwonlyargcount||0;let r,o=n+s;if(!(0!==s||this.co_kwargs||e&&0!==e.length||this.co_varargs)){if(t.length==n)return t;if(0===t.length&&this.$defaults&&this.$defaults.length===n){for(i=0;i!=this.$defaults.length;i++)t[i]=this.$defaults[i];return t}}this.co_kwargs&&(r=[]);var a=t.length;let l=t.length<=n?t:t.slice(0,n);if(this.co_varargs)t=t.length>l.length?t.slice(l.length):[],l[o]=new Sk.builtin.tuple(t);else if(a>n)throw new Sk.builtin.TypeError(`${this.$name}"() takes ${n} positional ${1==n?"argument":"arguments"} but ${a} ${1==a?"was":"were"} given`);if(e){if(this.func_code.no_kw)throw new Sk.builtin.TypeError(this.$name+"() takes no keyword arguments");for(t=0;t"'"+t+"'")).join(", ")));for(;tt.indexOf(".")&&0>t.indexOf("e")&&0>t.indexOf("E"))return t;var e=0;if(0<=t.indexOf("e")){var n=t.substr(0,t.indexOf("e"));e=t.substr(t.indexOf("e")+1)}else 0<=t.indexOf("E")?(n=t.substr(0,t.indexOf("e")),e=t.substr(t.indexOf("E")+1)):n=t;if(e=parseInt(e,10),0>(t=n.indexOf("."))){if(0<=e){for(;0-e?n.substr(0,n.length+e):0}for(n=0===t?n.substr(1):tn.length;)n+="0";return 0>=t?0:n.substr(0,t)},Sk.exportSymbol("Sk.builtin.asnum$nofloat",Sk.builtin.asnum$nofloat),Sk.builtin.round=function(t,e){if(void 0===t)throw new Sk.builtin.TypeError("a float is required");if(!Sk.__future__.dunder_round){if(!Sk.builtin.checkNumber(t))throw new Sk.builtin.TypeError("a float is required");if(t.round$)return t.round$(e);throw new Sk.builtin.AttributeError(Sk.abstr.typeName(t)+" instance has no attribute '__float__'")}if(void 0!==e&&!Sk.builtin.checkNone(e)&&!Sk.misceval.isIndex(e))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(e)+"' object cannot be interpreted as an index");if(void 0!==(t=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$round)))return void 0!==e?Sk.misceval.callsimArray(t,[e]):Sk.misceval.callsimArray(t,[]);throw new Sk.builtin.TypeError("a float is required")},Sk.builtin.len=function(t){if(!t.sq$length)throw new Sk.builtin.TypeError("object of type '"+Sk.abstr.typeName(t)+"' has no len()");return t=t.sq$length(!0),Sk.misceval.chain(t,(t=>new Sk.builtin.int_(t)))},Sk.builtin.min=function(t,e){let n;const i=t.length;if(!i)throw new Sk.builtin.TypeError("min expected 1 argument, got 0");const[s,r]=Sk.abstr.copyKeywordsToNamedArgs("min",["default","key"],[],e,[null,Sk.builtin.none.none$]);if(1{if(o=t,void 0!==o)return Sk.builtin.checkNone(r)?Sk.misceval.iterFor(n,(t=>{Sk.misceval.richCompareBool(t,o,"Lt")&&(o=t)})):Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[o]),(t=>Sk.misceval.iterFor(n,(e=>Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[e]),(n=>{Sk.misceval.richCompareBool(n,t,"Lt")&&(o=e,t=n)}))))))}),(()=>{if(void 0===o){if(null===s)throw new Sk.builtin.ValueError("min() arg is an empty sequence");o=s}return o}))},Sk.builtin.max=function(t,e){let n;const i=t.length;if(!i)throw new Sk.builtin.TypeError("max expected 1 argument, got 0");const[s,r]=Sk.abstr.copyKeywordsToNamedArgs("max",["default","key"],[],e,[null,Sk.builtin.none.none$]);if(1{if(o=t,void 0!==o)return Sk.builtin.checkNone(r)?Sk.misceval.iterFor(n,(t=>{Sk.misceval.richCompareBool(t,o,"Gt")&&(o=t)})):Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[o]),(t=>Sk.misceval.iterFor(n,(e=>Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(r,[e]),(n=>{Sk.misceval.richCompareBool(n,t,"Gt")&&(o=e,t=n)}))))))}),(()=>{if(void 0===o){if(null===s)throw new Sk.builtin.ValueError("max() arg is an empty sequence");o=s}return o}))},Sk.builtin.min.co_fastcall=Sk.builtin.max.co_fastcall=1,Sk.builtin.any=function(t){return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(function(t){if(Sk.misceval.isTrue(t))return new Sk.misceval.Break(Sk.builtin.bool.true$)})),(t=>t||Sk.builtin.bool.false$))},Sk.builtin.all=function(t){return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(function(t){if(!Sk.misceval.isTrue(t))return new Sk.misceval.Break(Sk.builtin.bool.false$)})),(t=>t||Sk.builtin.bool.true$))},Sk.builtin.sum=function(t,e){const n=Sk.abstr.iter(t);if(void 0===e)var i=new Sk.builtin.int_(0);else{if(Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("sum() can't sum strings [use ''.join(seq) instead]");i=e}return t=void 0===e||e.constructor===Sk.builtin.int_?Sk.misceval.iterFor(n,(t=>{if(t.constructor!==Sk.builtin.int_)return t.constructor===Sk.builtin.float_?(i=i.nb$float().nb$add(t),new Sk.misceval.Break("float")):(i=Sk.abstr.numberBinOp(i,t,"Add"),new Sk.misceval.Break("slow"));i=i.nb$add(t)})):e.constructor===Sk.builtin.float_?"float":"slow",Sk.misceval.chain(t,(t=>"float"===t?Sk.misceval.iterFor(n,(t=>{if(t.constructor!==Sk.builtin.float_&&t.constructor!==Sk.builtin.int_)return i=Sk.abstr.numberBinOp(i,t,"Add"),new Sk.misceval.Break("slow");i=i.nb$add(t)})):t),(t=>{if("slow"===t)return Sk.misceval.iterFor(n,(t=>{i=Sk.abstr.numberBinOp(i,t,"Add")}))}),(()=>i))},Sk.builtin.zip=function(){var t,e;if(0===arguments.length)return new Sk.builtin.list([]);var n=[];for(e=0;et||1114112<=t)throw new Sk.builtin.ValueError("chr() arg not in range(0x110000)")}else if(0>t||256<=t)throw new Sk.builtin.ValueError("chr() arg not in range(256)");return new Sk.builtin.str(String.fromCodePoint(t))},Sk.builtin.unichr=function(t){if(Sk.builtin.pyCheckArgsLen("unichr",arguments.length,1,1),!Sk.builtin.checkInt(t))throw new Sk.builtin.TypeError("an integer is required");t=Sk.builtin.asnum$(t);try{return new Sk.builtin.str(String.fromCodePoint(t))}catch(t){if(t instanceof RangeError)throw new Sk.builtin.ValueError(t.message);throw t}},Sk.builtin.int2str_=function(t,e,n){let i=Sk.misceval.asIndexOrThrow(t),s=i.toString(e);return s=0>i?"-"+n+s.slice(1):n+s,2!==e&&!Sk.__future__.python3&&(t instanceof Sk.builtin.lng||JSBI.__isBigInt(i))&&(s+="L"),new Sk.builtin.str(s)},Sk.builtin.hex=function(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("hex() argument can't be converted to hex");return Sk.builtin.int2str_(t,16,"0x")},Sk.builtin.oct=function(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("oct() argument can't be converted to hex");return Sk.__future__.octal_number_literal?Sk.builtin.int2str_(t,8,"0o"):Sk.builtin.int2str_(t,8,"0")},Sk.builtin.bin=function(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object can't be interpreted as an index");return Sk.builtin.int2str_(t,2,"0b")},Sk.builtin.dir=function(t){if(void 0!==t)return t=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$dir),Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(t,[]),(t=>Sk.builtin.sorted(t)));throw new Sk.builtin.NotImplementedError("skulpt does not yet support dir with no args")},Sk.builtin.repr=function(t){return t.$r()},Sk.builtin.ascii=function(t){return Sk.misceval.chain(t.$r(),(t=>{let e,n;for(n=0;n=s?(2>(i=s.toString(16)).length&&(i="0"+i),e+="\\x"+i):127s||57344<=s?e+="\\u"+("000"+s.toString(16)).slice(-4):55296<=s?(i=t.v.codePointAt(n),n++,s="0000000"+(i=i.toString(16)).toString(16),e=4t.tp$getattr(e,!0)),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t}));return Sk.misceval.chain(i,(i=>{if(void 0===i){if(void 0!==n)return n;throw new Sk.builtin.AttributeError(t.sk$attrError()+" has no attribute "+Sk.misceval.objectRepr(e))}return i}))},Sk.builtin.setattr=function(t,e,n){if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("attribute name must be string");return Sk.misceval.chain(t.tp$setattr(e,n,!0),(()=>Sk.builtin.none.none$))},Sk.builtin.raw_input=function(t){var e=t||"";return Sk.misceval.chain(Sk.importModule("sys",!1,!0),(function(t){return Sk.inputfunTakesPrompt?Sk.builtin.file.$readline(t.$d.stdin,null,e):Sk.misceval.chain(void 0,(function(){return Sk.misceval.callsimOrSuspendArray(t.$d.stdout.write,[t.$d.stdout,new Sk.builtin.str(e)])}),(function(){return Sk.misceval.callsimOrSuspendArray(t.$d.stdin.readline,[t.$d.stdin])}))}))},Sk.builtin.input=Sk.builtin.raw_input,Sk.builtin.jseval=function(t){return t=Sk.global.eval(Sk.ffi.remapToJs(t)),Sk.ffi.remapToPy(t)},Sk.builtin.jsmillis=function(){return console.warn("jsmillis is deprecated"),(new Date).valueOf()};const n=Sk.abstr.buildNativeClass("code",{constructor:function(t,e){this.compiled=e,this.code=e.code,this.filename=t},slots:{tp$new(t,e){throw new Sk.builtin.NotImplementedError("cannot construct a code object in skulpt")},$r(){return new Sk.builtin.str(", file "+this.filename+">")}}});Sk.builtin.compile=function(t,e,i,s,r,o){return Sk.builtin.pyCheckType("source","str",Sk.builtin.checkString(t)),Sk.builtin.pyCheckType("filename","str",Sk.builtin.checkString(e)),Sk.builtin.pyCheckType("mode","str",Sk.builtin.checkString(i)),t=t.$jsstr(),e=e.$jsstr(),i=i.$jsstr(),Sk.misceval.chain(Sk.compile(t,e,i,!0),(t=>new n(e,t)))},Sk.builtin.exec=function(t,e,i){let s=e&&e.__file__;if(s=void 0!==s&&Sk.builtin.checkString(s)?s.toString():"",Sk.builtin.checkString(t))t=Sk.compile(t.$jsstr(),s,"exec",!0);else if("string"==typeof t)t=Sk.compile(t,s,"exec",!0);else if(!(t instanceof n))throw new Sk.builtin.TypeError("exec() arg 1 must be a string, bytes or code object");Sk.asserts.assert(void 0===e||e.constructor===Object,"internal calls to exec should be called with a javascript object for globals"),Sk.asserts.assert(void 0===i||i.constructor===Object,"internal calls to exec should be called with a javascript object for locals");const r=Sk.globals;return e=e||r,Sk.misceval.chain(t,(t=>Sk.global.eval(t.code)(e,i)),(t=>(Sk.globals=r,t)))},Sk.builtin.eval=function(t,e,i){if(Sk.builtin.checkString(t))t=t.$jsstr();else if(Sk.builtin.checkBytes(t))throw new Sk.builtin.NotImplementedError("bytes for eval is not yet implemented in skulpt");if("string"==typeof t){t=t.trim();var s=Sk.parse("?",t);if(1<(s=Sk.astFromParse(s.cst,"?",s.flags)).body.length||!(s.body[0]instanceof Sk.astnodes.Expr))throw new Sk.builtin.SyntaxError("invalid syntax");t="__final_res__ = "+t}else if(!(t instanceof n))throw new Sk.builtin.TypeError("eval() arg 1 must be a string, bytes or code object");return Sk.misceval.chain(Sk.builtin.exec(t,e,i),(t=>{const e=t.__final_res__||Sk.builtin.none.none$;return delete t.__final_res__,e}))},Sk.builtin.map=function(t,e){var n,i,s=[];if(Sk.builtin.pyCheckArgsLen("map",arguments.length,2),2((t=new Sk.builtin.list(t)).list$sort(e,n,i),t)))},Sk.builtin.filter=function(t,e){var n;if(Sk.builtin.pyCheckArgsLen("filter",arguments.length,2,2),!Sk.builtin.checkIterable(e))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(e)+"' object is not iterable");var i=function(){return[]},s=function(t,e){return t.push(e),t},r=function(t){return new Sk.builtin.list(t)};e.ob$type===Sk.builtin.str?(i=function(){return new Sk.builtin.str("")},s=function(t,e){return t.sq$concat(e)},r=function(t){return t}):e.ob$type===Sk.builtin.tuple&&(r=function(t){return new Sk.builtin.tuple(t)});var o=i(),a=Sk.abstr.iter(e);for(n=a.tp$iternext();void 0!==n;n=a.tp$iternext())i=t===Sk.builtin.none.none$?new Sk.builtin.bool(n):Sk.misceval.callsimArray(t,[n]),Sk.misceval.isTrue(i)&&(o=s(o,n));return r(o)},Sk.builtin.hasattr=function(t,e){if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError("hasattr(): attribute name must be string");const n=Sk.misceval.tryCatch((()=>t.tp$getattr(e,!0)),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t}));return Sk.misceval.chain(n,(t=>void 0===t?Sk.builtin.bool.false$:Sk.builtin.bool.true$))},Sk.builtin.pow=function(t,e,n){if(void 0===n||Sk.builtin.checkNone(n))return Sk.abstr.numberBinOp(t,e,"Pow");if(!(Sk.builtin.checkInt(t)&&Sk.builtin.checkInt(e)&&Sk.builtin.checkInt(n))){if(Sk.builtin.checkFloat(t)||Sk.builtin.checkComplex(t))return t.nb$power(e,n);throw new Sk.builtin.TypeError("unsupported operand type(s) for ** or pow(): '"+Sk.abstr.typeName(t)+"', '"+Sk.abstr.typeName(e)+"', '"+Sk.abstr.typeName(n)+"'")}return t.nb$power(e,n)},Sk.builtin.quit=function(t){throw t=new Sk.builtin.str(t).v,new Sk.builtin.SystemExit(t)},Sk.builtin.issubclass=function(t,e){if(!Sk.builtin.checkClass(t))throw new Sk.builtin.TypeError("issubclass() arg 1 must be a class");var n=Sk.builtin.checkClass(e);if(!(n||e instanceof Sk.builtin.tuple))throw new Sk.builtin.TypeError("issubclass() arg 2 must be a class or tuple of classes");if(n)return t.$isSubType(e)?Sk.builtin.bool.true$:Sk.builtin.bool.false$;for(n=0;n{if(void 0===n){if(e)return e;if(void 0!==(n=t.gi$ret)&&n!==Sk.builtin.none.none$)throw new Sk.builtin.StopIteration(n);throw new Sk.builtin.StopIteration}return n}))},Sk.builtin.reload=function(){throw new Sk.builtin.NotImplementedError("reload is not yet implemented")},Sk.builtin.vars=function(){throw new Sk.builtin.NotImplementedError("vars is not yet implemented")},Sk.builtin.apply_=function(){throw new Sk.builtin.NotImplementedError("apply is not yet implemented")},Sk.builtin.buffer=function(){throw new Sk.builtin.NotImplementedError("buffer is not yet implemented")},Sk.builtin.coerce=function(){throw new Sk.builtin.NotImplementedError("coerce is not yet implemented")},Sk.builtin.intern=function(){throw new Sk.builtin.NotImplementedError("intern is not yet implemented")}},function(t,e){function n(t,e){return e=new this.constructor,this.ht$type&&a.call(e),e.args=new Sk.builtin.tuple(t.slice(0)),e}function i(t,e){Sk.abstr.checkNoKwargs(Sk.abstr.typeName(this),e),this.args=new Sk.builtin.tuple(t.slice(0))}function s(){return 1>=this.args.v.length?new Sk.builtin.str(this.args.v[0]):this.args.$r()}function r(t,e,n,s,r,o){r||(r=[]);const a=s?{}:{sk$solidBase:!1};return n={tp$init:s||i,tp$doc:n},o&&(n.tp$str=o),Sk.abstr.buildNativeClass(e,{base:t,constructor:function(...e){t.apply(this,e),r.forEach(((t,n)=>{this["$"+t]=Sk.ffi.remapToPy(e[n])}))},slots:n,getsets:Object.fromEntries(r.map((t=>[t,{$get(){return this["$"+t]||Sk.builtin.none.none$},$set(e){this["$"+t]=e||Sk.builtin.none.none$}}]))),flags:a})}function o(t,e,s){const r=t.prototype.tp$init;return s={tp$doc:s,tp$init:r},r===i&&(s.tp$new=n),Sk.abstr.buildNativeClass(e,{base:t,constructor:function(...e){t.apply(this,e)},slots:s,flags:{sk$solidBase:!1}})}const a=Sk.abstr.buildNativeClass("BaseException",{constructor:function t(e,...n){Sk.asserts.assert(this instanceof t,"bad call to exception constructor, use 'new'"),"string"==typeof e&&(e=new Sk.builtin.str(e)),this.args=new Sk.builtin.tuple(e?[e]:[]),this.traceback=2<=n.length?[{filename:n[0]||"",lineno:n[1]}]:[],this.context=this.cause=null,this.$d=new Sk.builtin.dict},slots:{tp$getattr:Sk.generic.getAttr,tp$doc:"Common base class for all exceptions",tp$new:n,tp$init:i,$r(){let t=this.tp$name;return t+="("+this.args.v.map((t=>Sk.misceval.objectRepr(t))).join(", ")+")",new Sk.builtin.str(t)},tp$str:s},getsets:{args:{$get(){return this.args},$set(t){if(void 0===t)throw new Sk.builtin.TypeError("args may not be deleted");this.args=new Sk.builtin.tuple(t)}},__cause__:{$get(){return this.$cause||Sk.builtin.none.none$},$set(t){if(!(Sk.builtin.checkNone(t)||t instanceof Sk.builtin.BaseException))throw new B("exception cause must be None or derive from BaseException");this.$cause=t}},__dict__:Sk.generic.getSetDict},proto:{toString(){let t=this.tp$name;return t+=": "+this.tp$str().v,0!==this.traceback.length?t+" on line "+this.traceback[0].lineno:t+" at "}}});t=o(a,"SystemExit","Request to exit from the interpreter."),e=o(a,"KeyboardInterrupt","Program interrupted by user.");const l=o(a,"GeneratorExit","Request that a generator exit."),u=o(a,"Exception","Common base class for all non-exit exceptions."),c=r(u,"StopIteration","Signal the end from iterator.__next__().",(function(t,e){i.call(this,t,e),this.$value=t[0]||Sk.builtin.none.none$}),["value"]),p=o(u,"StopAsyncIteration","Signal the end from iterator.__anext__()."),h=o(u,"ArithmeticError","Base class for arithmetic errors."),_=o(h,"FloatingPointError","Floating point operation failed."),d=o(h,"OverflowError","Result too large to be represented."),f=o(h,"ZeroDivisionError","Second argument to a division or modulo operation was zero."),m=o(u,"AssertionError","Assertion failed."),g=o(u,"AttributeError","Attribute not found."),b=o(u,"BufferError","Buffer error."),S=o(u,"EOFError","Read beyond end of file."),k=r(u,"ImportError","Import can't find module, or can't find name in module.",(function(t,e){i.call(this,t);const[n,s]=Sk.abstr.copyKeywordsToNamedArgs("ImportError",["name","path"],[],e);this.$name=n,this.$path=s,1===t.length&&(this.$msg=t[0])}),["msg","name","path"],(function(){return Sk.builtin.checkString(this.$msg)?this.$msg:s.call(this)})),y=o(k,"ModuleNotFoundError","Module not found."),T=o(u,"LookupError","Base class for lookup errors."),v=o(T,"IndexError","Sequence index out of range."),$=r(T,"KeyError","Mapping key not found.",null,null,(function(){return 1===this.args.v.length?this.args.v[0].$r():s.call(this)})),w=o(u,"MemoryError","Out of memory."),E=o(u,"NameError","Name not found globally."),I=o(E,"UnboundLocalError","Local name referenced but not bound to a value."),A=r(u,"OSError","Base class for I/O related errors.",(function(t,e){i.call(this,t,e)})),O=o(A,"FileNotFoundError","File not found."),M=o(A,"TimeoutError","Timeout expired."),C=o(u,"ReferenceError","Weak ref proxy used after referent went away."),R=o(u,"RuntimeError","Unspecified run-time error."),x=o(R,"NotImplementedError","Method or function hasn't been implemented yet."),N=o(R,"RecursionError","Recursion limit exceeded."),L=r(u,"SyntaxError","Invalid syntax.",(function(t,e){i.call(this,t,e),1<=t.length&&(this.$msg=t[0]),2===t.length&&(t=new Sk.builtin.tuple(t[1]).v,this.$filename=t[0],this.$lineno=t[1],this.$offset=t[2],this.$text=t[3])}),["msg","filename","lineno","offset","text"],(function(){return s.call(this)})),D=o(L,"IndentationError","Improper indentation."),F=o(D,"TabError","Improper mixture of spaces and tabs."),P=o(u,"SystemError","Internal error in the Skulpt interpreter."),B=o(u,"TypeError","Inappropriate argument type."),V=o(u,"ValueError","Inappropriate argument value (of correct type)."),U=o(V,"UnicodeError","Unicode related error."),Y=o(U,"UnicodeDecodeError","Unicode decoding error."),j=o(U,"UnicodeEncodeError","Unicode encoding error.");Object.assign(Sk.builtin,{BaseException:a,SystemExit:t,KeyboardInterrupt:e,GeneratorExit:l,Exception:u,StopIteration:c,StopAsyncIteration:p,ArithmeticError:h,FloatingPointError:_,OverflowError:d,ZeroDivisionError:f,AssertionError:m,AttributeError:g,BufferError:b,EOFError:S,ImportError:k,ModuleNotFoundError:y,LookupError:T,IndexError:v,KeyError:$,MemoryError:w,NameError:E,UnboundLocalError:I,OSError:A,IOError:A,FileNotFoundError:O,TimeoutError:M,ReferenceError:C,RuntimeError:R,NotImplementedError:x,RecursionError:N,SyntaxError:L,IndentationError:D,TabError:F,SystemError:P,TypeError:B,ValueError:V,UnicodeError:U,UnicodeDecodeError:Y,UnicodeEncodeError:j}),Sk.builtin.SuspensionError=o(u,"SuspensionError","Unsupported Suspension in code."),Sk.builtin.ExternalError=Sk.abstr.buildNativeClass("ExternalError",{constructor:function(...t){if(this.nativeError=t[0],!Sk.builtin.checkString(this.nativeError)&&(t[0]=this.nativeError.toString(),t[0].startsWith("RangeError: Maximum call")))return t[0]="Maximum call stack size exceeded",new N(...t);u.apply(this,t)},base:u}),Sk.builtin.getExcInfo=function(t){return new Sk.builtin.tuple([t.ob$type||Sk.builtin.none.none$,t,Sk.builtin.none.none$])}},function(t,e){Sk.builtin.method=Sk.abstr.buildNativeClass("method",{constructor:function(t,e){Sk.asserts.assert(this instanceof Sk.builtin.method,"bad call to method constructor, use 'new'"),this.im_func=t,this.im_self=e,this.im_call=t.tp$call},slots:{$r(){let t=this.im_func.tp$getattr(Sk.builtin.str.$qualname)||this.im_func.tp$getattr(Sk.builtin.str.$name);return t=t&&t.v||"?",new Sk.builtin.str("")},tp$hash(){return Sk.abstr.objectHash(this.im_self)+Sk.abstr.objectHash(this.im_func)},tp$call(t,e){var n=this.im_call;if(void 0===n)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(this.im_func)+"' object is not callable");return t=[this.im_self,...t],n.call(this.im_func,t,e)},tp$new(t,e){if(Sk.abstr.checkNoKwargs("method",e),Sk.abstr.checkArgsLen("method",t,2,2),e=t[0],t=t[1],!Sk.builtin.checkCallable(e))throw new Sk.builtin.TypeError("first argument must be callable");if(Sk.builtin.checkNone(t))throw new Sk.builtin.TypeError("self must not be None");return new Sk.builtin.method(e,t)},tp$richcompare(t,e){if("Eq"!=e&&"NotEq"!=e||!(t instanceof Sk.builtin.method))return Sk.builtin.NotImplemented.NotImplemented$;let n;try{n=Sk.misceval.richCompareBool(this.im_self,t.im_self,"Eq",!1)&&this.im_func==t.im_func}catch(t){n=!1}return"Eq"==e?n:!n},tp$descr_get(t,e){return this},tp$getattr(t,e){const n=Sk.abstr.lookupSpecial(this,t);return void 0!==n?n:this.im_func.tp$getattr(t,e)}},getsets:{__func__:{$get(){return this.im_func}},__self__:{$get(){return this.im_self}},__doc__:{$get(){return this.im_func.tp$getattr(Sk.builtin.str.$doc)}}},flags:{sk$unacceptableBase:!0}})},function(t,e){function n(t){if(null!=t){if(!0===t.sk$int)return t.v;if(void 0!==t.nb$index)return t.nb$index();if("number"==typeof t&&Number.isInteger(t))return t}}function i(t,e){const i=n(t);if(void 0!==i)return i;throw e=(e||"'{tp$name}' object cannot be interpreted as an integer").replace("{tp$name}",Sk.abstr.typeName(t)),new Sk.builtin.TypeError(e)}Sk.misceval={},Sk.misceval.Suspension=function(t,e,n){this.$isSuspension=!0,void 0!==t&&void 0!==e&&(this.resume=function(){return t(e.resume())}),this.child=e,this.optional=void 0!==e&&e.optional,this.data=void 0===n&&void 0!==e?e.data:n},Sk.exportSymbol("Sk.misceval.Suspension",Sk.misceval.Suspension),Sk.misceval.retryOptionalSuspensionOrThrow=function(t,e){for(;t instanceof Sk.misceval.Suspension;){if(!t.optional){e=new Sk.builtin.SuspensionError(e||"Cannot call a function that blocks or suspends here");const n=[];for(;null!=t;)t.$lineno&&n.push({filename:t.$filename,lineno:t.$lineno,colno:t.$colno}),t=t.child;throw n.reverse(),e.traceback.push(...n),e}t=t.resume()}return t},Sk.exportSymbol("Sk.misceval.retryOptionalSuspensionOrThrow",Sk.misceval.retryOptionalSuspensionOrThrow),Sk.misceval.isIndex=function(t){return null!=t&&(void 0!==t.nb$index||"number"==typeof t&&Number.isInteger(t))},Sk.exportSymbol("Sk.misceval.isIndex",Sk.misceval.isIndex),Sk.misceval.asIndex=n,Sk.misceval.asIndexSized=function(t,e,n){if("number"==typeof(n=i(t,n)))return n;if(null==e)return JSBI.lessThan(n,JSBI.__ZERO)?-Number.MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER;throw new e("cannot fit '"+Sk.abstr.typeName(t)+"' into an index-sized integer")},Sk.misceval.asIndexOrThrow=i,Sk.misceval.applySlice=function(t,e,n,i){return Sk.abstr.objectGetItem(t,new Sk.builtin.slice(e,n,null),i)},Sk.exportSymbol("Sk.misceval.applySlice",Sk.misceval.applySlice),Sk.misceval.assignSlice=function(t,e,n,i,s){return e=new Sk.builtin.slice(e,n),null===i?Sk.abstr.objectDelItem(t,e):Sk.abstr.objectSetItem(t,e,i,s)},Sk.exportSymbol("Sk.misceval.assignSlice",Sk.misceval.assignSlice),Sk.misceval.arrayFromArguments=function(t){var e;if(1!=t.length)return t;var n=t[0];if(n instanceof Sk.builtin.set?n=n.tp$iter().$obj:n instanceof Sk.builtin.dict&&(n=Sk.builtin.dict.prototype.keys.func_code(n)),n instanceof Sk.builtin.list||n instanceof Sk.builtin.tuple)return n.v;if(Sk.builtin.checkIterable(n)){for(t=[],e=(n=Sk.abstr.iter(n)).tp$iternext();void 0!==e;e=n.tp$iternext())t.push(e);return t}throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(n)+"' object is not iterable")},Sk.exportSymbol("Sk.misceval.arrayFromArguments",Sk.misceval.arrayFromArguments),Sk.misceval.iterator=Sk.abstr.buildIteratorClass("iterator",{constructor:function(t,e){this.tp$iternext=e?t:function(e){let n=t();return e||void 0===n||!n.$isSuspension?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)}},iternext:function(t){return this.tp$iternext(t)},flags:{sk$unacceptableBase:!0}}),Sk.misceval.swappedOp_={Eq:"Eq",NotEq:"NotEq",Lt:"Gt",LtE:"GtE",Gt:"Lt",GtE:"LtE"},Sk.misceval.opSymbols={Eq:"==",NotEq:"!=",Lt:"<",LtE:"<=",Gt:">",GtE:">=",Is:"is",IsNot:"is not",In_:"in",NotIn:"not in"},Sk.misceval.richCompareBool=function(t,e,n,i){Sk.asserts.assert(t.sk$object&&e.sk$object,"JS object passed to richCompareBool");var s=t.ob$type,r=e.ob$type,o=r!==s&&void 0===r.sk$baseClass&&r.$isSubType(s);if(!Sk.__future__.python3&&s!==r&&("GtE"===n||"Gt"===n||"LtE"===n||"Lt"===n)){var a=[Sk.builtin.float_,Sk.builtin.int_,Sk.builtin.lng,Sk.builtin.bool];const i=[Sk.builtin.dict,Sk.builtin.enumerate,Sk.builtin.filter_,Sk.builtin.list,Sk.builtin.map_,Sk.builtin.str,Sk.builtin.tuple,Sk.builtin.zip_];var l=a.indexOf(s);if(s=i.indexOf(s),a=a.indexOf(r),r=i.indexOf(r),t===Sk.builtin.none.none$)switch(n){case"Lt":case"LtE":return!0;case"Gt":case"GtE":return!1}if(e===Sk.builtin.none.none$)switch(n){case"Lt":case"LtE":return!1;case"Gt":case"GtE":return!0}if(-1!==l&&-1!==r)switch(n){case"Lt":case"LtE":return!0;case"Gt":case"GtE":return!1}if(-1!==s&&-1!==a)switch(n){case"Lt":case"LtE":return!1;case"Gt":case"GtE":return!0}if(-1!==s&&-1!==r)switch(n){case"Lt":return sr;case"GtE":return s>=r}}if("Is"===n)return t===e;if("IsNot"===n)return t!==e;if("In"===n)return Sk.misceval.chain(Sk.abstr.sequenceContains(e,t,i),Sk.misceval.isTrue);if("NotIn"===n)return Sk.misceval.chain(Sk.abstr.sequenceContains(e,t,i),(function(t){return!Sk.misceval.isTrue(t)}));if(l=(r={Eq:"ob$eq",NotEq:"ob$ne",Gt:"ob$gt",GtE:"ob$ge",Lt:"ob$lt",LtE:"ob$le"})[n],o&&(i=e[i=r[Sk.misceval.swappedOp_[n]]](t))!==Sk.builtin.NotImplemented.NotImplemented$||(i=t[l](e))!==Sk.builtin.NotImplemented.NotImplemented$||!o&&(i=e[i=r[Sk.misceval.swappedOp_[n]]](t))!==Sk.builtin.NotImplemented.NotImplemented$)return Sk.misceval.isTrue(i);if(!Sk.__future__.python3){if(o=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$cmp))try{if(i=Sk.misceval.callsimArray(o,[e]),Sk.builtin.checkNumber(i)){if(i=Sk.builtin.asnum$(i),"Eq"===n)return 0===i;if("NotEq"===n)return 0!==i;if("Lt"===n)return 0>i;if("Gt"===n)return 0=i;if("GtE"===n)return 0<=i}if(i!==Sk.builtin.NotImplemented.NotImplemented$)throw new Sk.builtin.TypeError("comparison did not return an int")}catch(t){throw new Sk.builtin.TypeError("comparison did not return an int")}if(o=Sk.abstr.lookupSpecial(e,Sk.builtin.str.$cmp))try{if(i=Sk.misceval.callsimArray(o,[t]),Sk.builtin.checkNumber(i)){if(i=Sk.builtin.asnum$(i),"Eq"===n)return 0===i;if("NotEq"===n)return 0!==i;if("Lt"===n)return 0i;if("LtE"===n)return 0<=i;if("GtE"===n)return 0>=i}if(i!==Sk.builtin.NotImplemented.NotImplemented$)throw new Sk.builtin.TypeError("comparison did not return an int")}catch(t){throw new Sk.builtin.TypeError("comparison did not return an int")}if(t===Sk.builtin.none.none$&&e===Sk.builtin.none.none$){if("Eq"===n)return t.v===e.v;if("NotEq"===n)return t.v!==e.v;if("Gt"===n)return t.v>e.v;if("GtE"===n)return t.v>=e.v;if("Lt"===n)return t.v";throw t}},Sk.exportSymbol("Sk.misceval.objectRepr",Sk.misceval.objectRepr),Sk.misceval.opAllowsEquality=function(t){switch(t){case"LtE":case"Eq":case"GtE":return!0}return!1},Sk.exportSymbol("Sk.misceval.opAllowsEquality",Sk.misceval.opAllowsEquality),Sk.misceval.isTrue=function(t){return!0===t||t===Sk.builtin.bool.true$||!1!==t&&t!==Sk.builtin.bool.false$&&null!=t&&(t.nb$bool?t.nb$bool():t.sq$length?0!==t.sq$length():!!t)},Sk.exportSymbol("Sk.misceval.isTrue",Sk.misceval.isTrue),Sk.misceval.softspace_=!1,Sk.misceval.print_=function(t){Sk.misceval.softspace_&&("\n"!==t&&Sk.output(" "),Sk.misceval.softspace_=!1);var e=new Sk.builtin.str(t);return Sk.misceval.chain(Sk.importModule("sys",!1,!0),(function(t){return Sk.misceval.apply(t.$d.stdout.write,void 0,void 0,void 0,[t.$d.stdout,e])}),(function(){var t;(t=0===e.v.length)||(t=!("\n"===(t=e.v[e.v.length-1])||"\t"===t||"\r"===t)),(t||" "===e.v[e.v.length-1])&&(Sk.misceval.softspace_=!0)}))},Sk.exportSymbol("Sk.misceval.print_",Sk.misceval.print_),Sk.misceval.loadname=function(t,e){if(void 0!==(e=e[t]))return e;if(void 0!==(e=Sk.builtins[t]))return e;throw new Sk.builtin.NameError("name '"+Sk.unfixReserved(t)+"' is not defined")},Sk.exportSymbol("Sk.misceval.loadname",Sk.misceval.loadname),Sk.misceval.call=function(t,e,n,i,s){return s=Array.prototype.slice.call(arguments,4),Sk.misceval.apply(t,e,n,i,s)},Sk.exportSymbol("Sk.misceval.call",Sk.misceval.call),Sk.misceval.callAsync=function(t,e,n,i,s,r){return r=Array.prototype.slice.call(arguments,5),Sk.misceval.applyAsync(t,e,n,i,s,r)},Sk.exportSymbol("Sk.misceval.callAsync",Sk.misceval.callAsync),Sk.misceval.callOrSuspend=function(t,e,n,i,s){return s=Array.prototype.slice.call(arguments,4),Sk.misceval.applyOrSuspend(t,e,n,i,s)},Sk.exportSymbol("Sk.misceval.callOrSuspend",Sk.misceval.callOrSuspend),Sk.misceval.callsim=function(t,e){return e=Array.prototype.slice.call(arguments,1),Sk.misceval.apply(t,void 0,void 0,void 0,e)},Sk.exportSymbol("Sk.misceval.callsim",Sk.misceval.callsim),Sk.misceval.callsimArray=function(t,e,n){return e=e||[],Sk.misceval.retryOptionalSuspensionOrThrow(Sk.misceval.callsimOrSuspendArray(t,e,n))},Sk.exportSymbol("Sk.misceval.callsimArray",Sk.misceval.callsimArray),Sk.misceval.callsimAsync=function(t,e,n){return n=Array.prototype.slice.call(arguments,2),Sk.misceval.applyAsync(t,e,void 0,void 0,void 0,n)},Sk.exportSymbol("Sk.misceval.callsimAsync",Sk.misceval.callsimAsync),Sk.misceval.callsimOrSuspend=function(t,e){return e=Array.prototype.slice.call(arguments,1),Sk.misceval.applyOrSuspend(t,void 0,void 0,void 0,e)},Sk.exportSymbol("Sk.misceval.callsimOrSuspend",Sk.misceval.callsimOrSuspend),Sk.misceval.callsimOrSuspendArray=function(t,e,n){return e=e||[],void 0!==t&&t.tp$call?t.tp$call(e,n):Sk.misceval.applyOrSuspend(t,void 0,void 0,n,e)},Sk.exportSymbol("Sk.misceval.callsimOrSuspendArray",Sk.misceval.callsimOrSuspendArray),Sk.misceval.apply=function(t,e,n,i,s){return(t=Sk.misceval.applyOrSuspend(t,e,n,i,s))instanceof Sk.misceval.Suspension?Sk.misceval.retryOptionalSuspensionOrThrow(t):t},Sk.exportSymbol("Sk.misceval.apply",Sk.misceval.apply),Sk.misceval.asyncToPromise=function(t,e){return new Promise((function(n,i){try{!function t(s){try{for(var r=function(){try{t(s.resume())}catch(t){i(t)}},o=function(t){try{s.data.result=t,r()}catch(t){i(t)}},a=function(t){try{s.data.error=t,r()}catch(t){i(t)}};s instanceof Sk.misceval.Suspension;){var l=e&&(e[s.data.type]||e["*"]);if(l){var u=l(s);if(u)return void u.then(t,i)}if("Sk.promise"==s.data.type)return void s.data.promise.then(o,a);if("Sk.yield"==s.data.type)return void Sk.global.setImmediate(r);if("Sk.delay"==s.data.type)return void Sk.global.setImmediate(r);if(!s.optional)throw new Sk.builtin.SuspensionError("Unhandled non-optional suspension of type '"+s.data.type+"'");s=s.resume()}n(s)}catch(t){i(t)}}(t())}catch(t){i(t)}}))},Sk.exportSymbol("Sk.misceval.asyncToPromise",Sk.misceval.asyncToPromise),Sk.misceval.applyAsync=function(t,e,n,i,s,r){return Sk.misceval.asyncToPromise((function(){return Sk.misceval.applyOrSuspend(e,n,i,s,r)}),t)},Sk.exportSymbol("Sk.misceval.applyAsync",Sk.misceval.applyAsync),Sk.misceval.chain=function(t,e){for(var n,i,s=1,r=t;;){if(s==arguments.length)return r;if(r&&r.$isSuspension)break;r=arguments[s](r),s++}for(i=Array(arguments.length-s),n=0;nt[i++]},e,n)},Sk.misceval.arrayFromIterable=function(t,e){if(void 0===t)return[];if(void 0===t.ht$type&&void 0!==t.sk$asarray)return t.sk$asarray();const n=[];return t=Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{n.push(t)})),(()=>n)),e?t:Sk.misceval.retryOptionalSuspensionOrThrow(t)},Sk.misceval.Break=function(t){if(!(this instanceof Sk.misceval.Break))return new Sk.misceval.Break(t);this.brValue=t},Sk.exportSymbol("Sk.misceval.Break",Sk.misceval.Break),Sk.misceval.applyOrSuspend=function(t,e,n,i,s){var r;if(null==t||t===Sk.builtin.none.none$)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not callable");"function"==typeof t&&void 0===t.tp$call&&(t=new Sk.builtin.func(t));var o=t.tp$call;if(void 0!==o){if(n)for(r=(n=n.tp$iter()).tp$iternext();void 0!==r;r=n.tp$iternext())s.push(r);if(e)for(r=(n=Sk.abstr.iter(e)).tp$iternext();void 0!==r;r=n.tp$iternext()){if(!Sk.builtin.checkString(r))throw new Sk.builtin.TypeError("Function keywords must be strings");i.push(r.v),i.push(Sk.abstr.objectGetItem(e,r,!1))}return o.call(t,s,i,e)}if(void 0!==(o=t.__call__))return s.unshift(t),Sk.misceval.apply(o,e,n,i,s);throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not callable")},Sk.exportSymbol("Sk.misceval.applyOrSuspend",Sk.misceval.applyOrSuspend),Sk.misceval.promiseToSuspension=function(t){var e=new Sk.misceval.Suspension;return e.resume=function(){if(e.data.error)throw e.data.error;return e.data.result},e.data={type:"Sk.promise",promise:t},e},Sk.exportSymbol("Sk.misceval.promiseToSuspension",Sk.misceval.promiseToSuspension),Sk.misceval.buildClass=function(t,e,n,i,s,r){n=new Sk.builtin.str(n);const o=new Sk.builtin.tuple(i);let a;i=i||[];var l=!0;const u=(r=r||[]).indexOf("metaclass");-1{if(t=t.ob$type,!n.$isSubType(t)){if(!t.$isSubType(n))throw new Sk.builtin.TypeError("metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases");n=t}})),n}(a,i));let c=null;a!==Sk.builtin.type&&([c,h]=function(t,e,n,i,s){const r=t.tp$getattr(Sk.builtin.str.$prepare);let o,a=null;if(void 0===r)return[a,o];if(a=Sk.misceval.callsimArray(r,[e,n],i),!Sk.builtin.checkMapping(a))throw new Sk.builtin.TypeError(s?t.prototype.tp$name:".__prepare__() must return a mapping not '"+Sk.abstr.typeName(a)+"'");return o={get(t,e){try{return Sk.abstr.objectGetItem(t,new Sk.builtin.str(Sk.unfixReserved(e)))}catch(t){if(!(t instanceof Sk.builtin.KeyError))throw t}},set:(t,e,n)=>(Sk.abstr.objectSetItem(t,new Sk.builtin.str(Sk.unfixReserved(e)),n),!0)},[a,o]}(a,n,o,r,l)),i=!1;let p={};if(null===c)c=new Sk.builtin.dict([]);else if(c.constructor===Sk.builtin.dict||function(){const t=(Sk.global.navigator||{}).userAgent||"";return-1{Sk.abstr.objectSetItem(c,new Sk.builtin.str(t),p[t])})),Sk.misceval.callsimOrSuspendArray(a,[n,o,c],r)},Sk.exportSymbol("Sk.misceval.buildClass",Sk.misceval.buildClass)},function(t,e){Sk.builtin.callable_iter_=Sk.abstr.buildIteratorClass("callable_iterator",{constructor:function(t,e){if(!Sk.builtin.checkCallable(t))throw new Sk.builtin.TypeError("iter(v, w): v must be callable");this.$callable=t,this.$sentinel=e,this.$flag=!1},iternext(t){if(!0!==this.$flag){if(t)return t=Sk.misceval.callsimOrSuspendArray(this.$callable,[]),Sk.misceval.chain(t,(t=>{if(!Sk.misceval.richCompareBool(t,this.$sentinel,"Eq",!0))return t;this.$flag=!0}));if(t=Sk.misceval.callsimArray(this.$callable,[]),!Sk.misceval.richCompareBool(t,this.$sentinel,"Eq",!1))return t;this.$flag=!0}},flags:{sk$unacceptableBase:!0}}),Sk.builtin.seq_iter_=Sk.abstr.buildIteratorClass("iterator",{constructor:function(t){this.$index=0,this.$seq=t},iternext(t){let e;return e=Sk.misceval.tryCatch((()=>this.$seq.mp$subscript(new Sk.builtin.int_(this.$index++),t)),(t=>{if(!(t instanceof Sk.builtin.IndexError||t instanceof Sk.builtin.StopIteration))throw t;this.gi$ret=t.$value||Sk.builtin.none.none$})),t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)},methods:{__length_hint__:{$flags:{NoArgs:!0},$meth(){if(this.$seq.sq$length)return this.$seq.sq$length()-this.$index;throw new Sk.builtin.NotImplementedError("len is not implemented for "+Sk.abstr.typeName(this.$seq))}}},flags:{sk$unacceptableBase:!0}}),Sk.exportSymbol("Sk.builtin.callable_iter_",Sk.builtin.callable_iter_)},function(t,e){Sk.builtin.list=Sk.abstr.buildNativeClass("list",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.list,"bad call to list, use 'new' with an Array of python objects"),this.v=t,this.in$repr=!1},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$hash:Sk.builtin.none.none$,tp$doc:"Built-in mutable sequence.\n\nIf no argument is given, the constructor creates a new empty list.\nThe argument must be an iterable if specified.",tp$new:Sk.generic.new,tp$init(t,e){return Sk.abstr.checkNoKwargs("list",e),Sk.abstr.checkArgsLen("list",t,0,1),Sk.misceval.chain(Sk.misceval.arrayFromIterable(t[0],!0),(t=>{this.v=t}))},$r(){if(this.in$repr)return new Sk.builtin.str("[...]");this.in$repr=!0;const t=this.v.map((t=>Sk.misceval.objectRepr(t)));return this.in$repr=!1,new Sk.builtin.str("["+t.join(", ")+"]")},tp$richcompare:Sk.generic.seqCompare,tp$iter(){return new n(this)},sq$length(){return this.v.length},sq$concat(t){if(!(t instanceof Sk.builtin.list))throw new Sk.builtin.TypeError("can only concatenate list to list");return new Sk.builtin.list(this.v.concat(t.v))},sq$contains(t){for(let e=this.tp$iter(),n=e.tp$iternext();void 0!==n;n=e.tp$iternext())if(n===t||Sk.misceval.richCompareBool(n,t,"Eq"))return!0;return!1},sq$repeat(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("can't multiply sequence by non-int of type '"+Sk.abstr.typeName(t)+"'");if((t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError))*this.v.length>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;const e=[];for(let n=0;n{e.push(this.v[t])})),new Sk.builtin.list(e)}throw new Sk.builtin.TypeError("list indices must be integers or slices, not "+Sk.abstr.typeName(t))},mp$ass_subscript(t,e){void 0===e?this.del$subscript(t):this.ass$subscript(t,e)},sq$inplace_concat(t){return t===this?(this.v.push(...this.v),this):Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.v.push(t)})),(()=>this))},sq$inplace_repeat(t){if(!Sk.misceval.isIndex(t))throw new Sk.builtin.TypeError("can't multiply sequence by non-int of type '"+Sk.abstr.typeName(t)+"'");t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError);const e=this.v.length;if(0>=t)this.v.length=0;else if(t*e>Number.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;for(let n=1;n{this.v.push(t)})),(()=>Sk.builtin.none.none$))},$flags:{OneArg:!0},$textsig:"($self, iterable, /)",$doc:"Extend list by appending elements from the iterable."},pop:{$meth(t){t=void 0===t?this.v.length-1:Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError),t=this.list$inRange(t,"pop index out of range");const e=this.v[t];return this.v.splice(t,1),e},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, index=-1, /)",$doc:"Remove and return item at index (default last).\n\nRaises IndexError if list is empty or index is out of range."},remove:{$meth(t){if(-1===(t=this.list$indexOf(t)))throw new Sk.builtin.ValueError("list.remove(x): x not in list");return this.v.splice(t,1),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:"($self, value, /)",$doc:"Remove first occurrence of value.\n\nRaises ValueError if the value is not present."},sort:{$meth(t,e){if(t.length)throw new Sk.builtin.TypeError("sort() takes no positional arguments");const[n,i]=Sk.abstr.copyKeywordsToNamedArgs("sort",["key","reverse"],t,e,[Sk.builtin.none.none$,Sk.builtin.bool.false$]);return this.list$sort(void 0,n,i)},$flags:{FastCall:!0},$textsig:"($self, /, *, key=None, reverse=False)",$doc:"Stable sort *IN PLACE*."},index:{$meth(t,e,n){if(void 0!==e&&!Sk.misceval.isIndex(e)||void 0!==n&&!Sk.misceval.isIndex(n))throw new Sk.builtin.TypeError("slice indices must be integers or have an __index__ method");if(-1===(e=this.list$indexOf(t,e,n)))throw new Sk.builtin.ValueError(Sk.misceval.objectRepr(t)+" is not in list");return new Sk.builtin.int_(e)},$flags:{MinArgs:1,MaxArgs:3},$textsig:"($self, value, start=0, stop=sys.maxsize, /)",$doc:"Return first index of value.\n\nRaises ValueError if the value is not present."},count:{$meth(t){let e=0;const n=this.v.length;for(let i=0;it&&(t+=this.v.length),0<=t&&t{n.push(t)})),!Sk.builtin.checkIterable(e))throw new Sk.builtin.TypeError("must assign iterable to extended slice");if(t=Sk.misceval.arrayFromIterable(e),n.length!==t.length)throw new Sk.builtin.ValueError("attempt to assign sequence of size "+t.length+" to extended slice of size "+n.length);for(e=0;e{this.v.splice(t-n,1),n+=e}))},valueOf(){return this.v}}}),Sk.exportSymbol("Sk.builtin.list",Sk.builtin.list),Sk.builtin.list.py2$methods={sort:{$name:"sort",$meth(t,e){const[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("sort",["cmp","key","reverse"],t,e,[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$]);return this.list$sort(n,i,s)},$flags:{FastCall:!0},$textsig:"($self, cmp=None, key=None, reverse=False)",$doc:"Stable sort *IN PLACE*."}};var n=Sk.abstr.buildIteratorClass("list_iterator",{constructor:function(t){this.$index=0,this.$seq=t.v},iternext:Sk.generic.iterNextWithArray,methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}}),i=Sk.abstr.buildIteratorClass("list_reverseiterator",{constructor:function(t){this.$index=t.v.length-1,this.$seq=t.v},iternext(){const t=this.$seq[this.$index--];if(void 0!==t)return t;this.tp$iternext=()=>{}},methods:{__length_hint__:Sk.generic.iterReverseLengthHintMethodDef},flags:{sk$unacceptableBase:!0}})},function(t,e,n){function i(t){var e=t.replace(y,"").replace(T,"_").toLowerCase();return void 0===(e=k[e])?t:e}function s(t,e,n){if(void 0===e)e="utf-8";else{if(!Sk.builtin.checkString(e))throw new Sk.builtin.TypeError(t+"() argument "+("bytesstr".includes(t)?2:1)+" must be str not "+Sk.abstr.typeName(e));e=e.$jsstr()}if(void 0===n)n="strict";else{if(!Sk.builtin.checkString(n))throw new Sk.builtin.TypeError(t+"() argument "+("bytesstr".includes(t)?3:2)+" must be str not "+Sk.abstr.typeName(n));n=n.$jsstr()}return{encoding:e,errors:n}}function r(t,e,n){if(t=t.$jsstr(),e=i(e),"strict"!==n&&"ignore"!==n&&"replace"!==n)throw new Sk.builtin.NotImplementedError("'"+n+"' error handling not implemented in Skulpt");if("ascii"===e){for(s in e=[],t){const i=t.charCodeAt(s);if(127=t?"\\x":"\\u";return 3===(t=t.toString(16)).length&&(t=t.slice(1,3)),1===t.length?e+"0"+t:e+t}function a(t,e){if(({encoding:t,errors:e}=s("decode",t,e)),t=i(t),"strict"!==e&&"ignore"!==e&&"replace"!==e)throw new Sk.builtin.NotImplementedError("'"+e+"' error handling not implemented in Skulpt");if("ascii"===t){t=this.v;var n="";for(let i=0;i=n&&en)return new Sk.builtin.tuple([new Sk.builtin.bytes,new Sk.builtin.bytes,this])}else if(n=this.find$subleft(e,0,this.v.length),0>n)return new Sk.builtin.tuple([this,new Sk.builtin.bytes,new Sk.builtin.bytes]);return new Sk.builtin.tuple([new Sk.builtin.bytes(this.v.subarray(0,n)),new Sk.builtin.bytes(e),new Sk.builtin.bytes(this.v.subarray(n+e.length))])}}function p(t,e){return function(n){var i=void 0===n||n===Sk.builtin.none.none$?new Uint8Array([9,10,11,12,13,32,133]):this.get$raw(n);n=0;var s=this.v.length;if(t)for(;nn&&i.includes(this.v[s-1]);)s--;for(i=new Uint8Array(s-n),s=0;s=t||32===t}function d(t){return 97<=t&&122>=t}function f(t){return 65<=t&&90>=t}function m(t){return 48<=t&&57>=t}function g(t,e){return function(){return 0===this.v.length?e?Sk.builtin.bool.true$:Sk.builtin.bool.false$:this.v.every((e=>t(e)))?Sk.builtin.bool.true$:Sk.builtin.bool.false$}}function b(t,e){return function(){let n=!1;for(let i=0;i0<=t&&255>=t)),"bad internal call to bytes with array"),this.v=new Uint8Array(t);else if("string"==typeof t){let e;const n=new Uint8Array(t.length),i=t.length;for(let s=0;s bytes\nbytes(string, encoding[, errors]) -> bytes\nbytes(bytes_or_buffer) -> immutable copy of bytes_or_buffer\nbytes(int) -> bytes object of size given by the parameter initialized with null bytes\nbytes() -> empty bytes object\n\nConstruct an immutable array of bytes from:\n - an iterable yielding integers in range(256)\n - a text string encoded using the specified encoding\n - any object implementing the buffer API.\n - an integer",tp$new(t,e){if(this!==Sk.builtin.bytes.prototype)return this.$subtype_new(t,e);let n;if(e=e||[],!(1>=t.length&&0==+e.length)){if([t,e,n]=Sk.abstr.copyKeywordsToNamedArgs("bytes",[null,"pySource","errors"],t,e),({encoding:e,errors:n}=s("bytes",e,n)),!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("encoding or errors without a string argument");return r(t,e,n)}if(void 0===(t=t[0]))return new Sk.builtin.bytes;if(void 0!==(e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$bytes)))return t=Sk.misceval.callsimOrSuspendArray(e,[]),Sk.misceval.chain(t,(t=>{if(!Sk.builtin.checkBytes(t))throw new Sk.builtin.TypeError("__bytes__ returned non-bytes (type "+Sk.abstr.typeName(t)+")");return t}));if(Sk.misceval.isIndex(t)){if(0>(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError)))throw new Sk.builtin.ValueError("negative count");return new Sk.builtin.bytes(t)}if(Sk.builtin.checkBytes(t))return new Sk.builtin.bytes(t.v);if(Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("string argument without an encoding");if(Sk.builtin.checkIterable(t)){let e=[];return t=Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(0>(t=Sk.misceval.asIndexSized(t))||255new Sk.builtin.bytes(e)))}throw new Sk.builtin.TypeError("cannot convert '"+Sk.abstr.typeName(t)+"' object into bytes")},$r(){let t,e="'";const n=-1!==this.v.indexOf(34);let i="";for(let s=0;st||10t||13t||126t.length||n[i]>t[i];case"GtE":return i===s&&n.length>=t.length||n[i]>=t[i]}},tp$hash(){return new Sk.builtin.str(this.$jsstr()).tp$hash()},tp$as_sequence_or_mapping:!0,mp$subscript(t){if(Sk.misceval.isIndex(t)){let e=Sk.misceval.asIndexSized(t,Sk.builtin.IndexError);if(void 0!==e){if(0>e&&(e=this.v.length+e),0>e||e>=this.v.length)throw new Sk.builtin.IndexError("index out of range");return new Sk.builtin.int_(this.v[e])}}else if(t instanceof Sk.builtin.slice){const e=[];return t.sssiter$(this.v.length,(t=>{e.push(this.v[t])})),new Sk.builtin.bytes(new Uint8Array(e))}throw new Sk.builtin.TypeError("byte indices must be integers or slices, not "+Sk.abstr.typeName(t))},sq$length(){return this.v.length},sq$concat(t){if(!(t instanceof Sk.builtin.bytes))throw new Sk.builtin.TypeError("can't concat "+Sk.abstr.typeName(t)+" to bytes");const e=new Uint8Array(this.v.length+t.v.length);let n;for(n=0;nNumber.MAX_SAFE_INTEGER)throw new Sk.builtin.OverflowError;if(0>=t)return new Sk.builtin.bytes;t=new Uint8Array(e);let n=0;for(;n(t=Sk.misceval.asIndexOrThrow(t,"argument should be integer or bytes-like object, not {tp$name}"))||255(e=Sk.misceval.asIndexSized(e,Sk.builtin.OverflowError))?1/0:e,null!==(t=Sk.builtin.checkNone(t)?null:this.get$raw(t))&&!t.length)throw new Sk.builtin.ValueError("empty separator");return{sep:t,maxsplit:e}},find$left:u(!1),find$right:u(!0),find$subleft:function(t,e,n){n=n-t.length+1;let i=e;for(;it===this.v[i+e])))return i;i++}return-1},find$subright(t,e,n){let i=n-t.length;for(;i>=e;){if(t.every(((t,e)=>t===this.v[i+e])))return i;i--}return-1},$subtype_new(t,e){const n=new this.constructor;return t=Sk.builtin.bytes.prototype.tp$new(t,e),n.v=t.v,n},sk$asarray(){const t=[];return this.v.forEach((e=>{t.push(new Sk.builtin.int_(e))})),t},valueOf(){return this.v}},flags:{str$encode:r,$decode:a,check$encodeArgs:s},methods:{__getnewargs__:{$meth(){return new Sk.builtin.tuple(new Sk.builtin.bytes(this.v))},$flags:{NoArgs:!0},$textsig:null,$doc:null},capitalize:{$meth(){const t=this.v.length;if(0===t)return new Sk.builtin.bytes(this.v);const e=new Uint8Array(t);let n=this.v[0];e[0]=d(n)?n-32:n;for(let i=1;i copy of B\n\nReturn a copy of B with only its first character capitalized (ASCII)\nand the rest lower-cased."},center:{$meth:h("center",!1,!0),$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"B.center(width[, fillchar]) -> copy of B\n\nReturn B centered in a string of length width. Padding is\ndone using the specified fill character (default is a space)."},count:{$meth(t,e,n){t=this.get$tgt(t),({start:e,end:n}=Sk.builtin.slice.startEnd$wrt(this,e,n));let i=0;if("number"==typeof t)for(;et===this.v[s+e]))&&(i++,s+=t.length-1)}return new Sk.builtin.int_(i)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.count(sub[, start[, end]]) -> int\n\nReturn the number of non-overlapping occurrences of subsection sub in\nbytes B[start:end]. Optional arguments start and end are interpreted\nas in slice notation."},decode:{$meth:a,$flags:{NamedArgs:["encoding","errors"]},$textsig:"($self, /, encoding='utf-8', errors='strict')",$doc:"Decode the bytes using the codec registered for encoding.\n\n encoding\n The encoding with which to decode the bytes.\n errors\n The error handling scheme to use for the handling of decoding errors.\n The default is 'strict' meaning that decoding errors raise a\n UnicodeDecodeError. Other possible values are 'ignore' and 'replace'\n as well as any other name registered with codecs.register_error that\n can handle UnicodeDecodeErrors."},endswith:{$meth:l("endswith",((t,e)=>{const n=t.length-e.length;return 0<=n&&e.every(((e,i)=>e===t[n+i]))})),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.endswith(suffix[, start[, end]]) -> bool\n\nReturn True if B ends with the specified suffix, False otherwise.\nWith optional start, test B beginning at that position.\nWith optional end, stop comparing B at that position.\nsuffix can also be a tuple of bytes to try."},expandtabs:{$meth(t){t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError,"an integer is required (got type {tp$nam})");const e=[];let n=0;for(let s=0;s copy of B\n\nReturn a copy of B where all tab characters are expanded using spaces.\nIf tabsize is not given, a tab size of 8 characters is assumed."},find:{$meth:function(t,e,n){return new Sk.builtin.int_(this.find$left(t,e,n))},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.find(sub[, start[, end]]) -> int\n\nReturn the lowest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},hex:{$meth(){let t="";for(let e=0;e string\n\nCreate a string of hexadecimal numbers from a bytes object.\nExample: b'\\xb9\\x01\\xef'.hex() -> 'b901ef'."},index:{$meth:function(t,e,n){if(-1===(t=this.find$left(t,e,n)))throw new Sk.builtin.ValueError("subsection not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.index(sub[, start[, end]]) -> int\n\nReturn the lowest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaises ValueError when the subsection is not found."},isalnum:{$meth:g((t=>m(t)||d(t)||f(t))),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isalnum() -> bool\n\nReturn True if all characters in B are alphanumeric\nand there is at least one character in B, False otherwise."},isalpha:{$meth:g((t=>65<=t&&90>=t||97<=t&&122>=t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isalpha() -> bool\n\nReturn True if all characters in B are alphabetic\nand there is at least one character in B, False otherwise."},isascii:{$meth:g((t=>0<=t&&127>=t),!0),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isascii() -> bool\n\nReturn True if B is empty or all characters in B are ASCII,\nFalse otherwise."},isdigit:{$meth:g(m),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isdigit() -> bool\n\nReturn True if all characters in B are digits\nand there is at least one character in B, False otherwise."},islower:{$meth:b(d,f),$flags:{NoArgs:!0},$textsig:null,$doc:"B.islower() -> bool\n\nReturn True if all cased characters in B are lowercase and there is\nat least one cased character in B, False otherwise."},isspace:{$meth:g(_),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isspace() -> bool\n\nReturn True if all characters in B are whitespace\nand there is at least one character in B, False otherwise."},istitle:{$meth:function(){let t=!1,e=!1;for(let n=0;n bool\n\nReturn True if B is a titlecased string and there is at least one\ncharacter in B, i.e. uppercase characters may only follow uncased\ncharacters and lowercase characters only cased ones. Return False\notherwise."},isupper:{$meth:b(f,d),$flags:{NoArgs:!0},$textsig:null,$doc:"B.isupper() -> bool\n\nReturn True if all cased characters in B are uppercase and there is\nat least one cased character in B, False otherwise."},join:{$meth(t){const e=[];let n=0;return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(!(t instanceof Sk.builtin.bytes))throw new Sk.builtin.TypeError("sequence item "+n+": expected a bytes-like object, "+Sk.abstr.typeName(t)+" found");n++,e.length&&e.push(...this.v),e.push(...t.v)})),(()=>new Sk.builtin.bytes(new Uint8Array(e))))},$flags:{OneArg:!0},$textsig:"($self, iterable_of_bytes, /)",$doc:"Concatenate any number of bytes objects.\n\nThe bytes whose method is called is inserted in between each pair.\n\nThe result is returned as a new bytes object.\n\nExample: b'.'.join([b'ab', b'pq', b'rs']) -> b'ab.pq.rs'."},ljust:{$meth:h("ljust",!1,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"B.ljust(width[, fillchar]) -> copy of B\n\nReturn B left justified in a string of length width. Padding is\ndone using the specified fill character (default is a space)."},lower:{$meth:S((t=>f(t)?t+32:t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.lower() -> copy of B\n\nReturn a copy of B with all ASCII characters converted to lowercase."},lstrip:{$meth:p(!0,!1),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, bytes=None, /)",$doc:"Strip leading bytes contained in the argument.\n\nIf the argument is omitted or None, strip leading ASCII whitespace."},partition:{$meth:c(!1),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the bytes into three parts using the given separator.\n\nThis will search for the separator sep in the bytes. If the separator is found,\nreturns a 3-tuple containing the part before the separator, the separator\nitself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing the original bytes\nobject and two empty bytes objects."},replace:{$meth(t,e,n){t=this.get$raw(t),e=this.get$raw(e),n=0>(n=void 0===n?-1:Sk.misceval.asIndexSized(n,Sk.builtin.OverflowError))?1/0:n;const i=[];let s=0;for(var r=0;r int\n\nReturn the highest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nReturn -1 on failure."},rindex:{$meth:function(t,e,n){if(-1===(t=this.find$right(t,e,n)))throw new Sk.builtin.ValueError("subsection not found");return new Sk.builtin.int_(t)},$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.rindex(sub[, start[, end]]) -> int\n\nReturn the highest index in B where subsection sub is found,\nsuch that sub is contained within B[start,end]. Optional\narguments start and end are interpreted as in slice notation.\n\nRaise ValueError when the subsection is not found."},rjust:{$meth:h("rjust",!0,!1),$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"B.rjust(width[, fillchar]) -> copy of B\n\nReturn B right justified in a string of length width. Padding is\ndone using the specified fill character (default is a space)"},rpartition:{$meth:c(!0),$flags:{OneArg:!0},$textsig:"($self, sep, /)",$doc:"Partition the bytes into three parts using the given separator.\n\nThis will search for the separator sep in the bytes, starting at the end. If\nthe separator is found, returns a 3-tuple containing the part before the\nseparator, the separator itself, and the part after it.\n\nIf the separator is not found, returns a 3-tuple containing two empty bytes\nobjects and the original bytes object."},rsplit:{$meth:function(t,e){({sep:t,maxsplit:e}=this.get$splitArgs(t,e));const n=[];let i=0,s=this.v.length;if(null!==t){for(;0<=s&&is)break;for(t=s+1,s--;0<=s&&!_(this.v[s]);)s--;n.push(new Sk.builtin.bytes(this.v.subarray(s+1,t))),i++}if(0<=s){for(;_(this.v[s]);)s--;0<=s&&n.push(new Sk.builtin.bytes(this.v.subarray(0,s+1)))}}return new Sk.builtin.list(n.reverse())},$flags:{NamedArgs:["sep","maxsplit"],Defaults:[Sk.builtin.none.none$,-1]},$textsig:"($self, /, sep=None, maxsplit=-1)",$doc:"Return a list of the sections in the bytes, using sep as the delimiter.\n\n sep\n The delimiter according which to split the bytes.\n None (the default value) means split on ASCII whitespace characters\n (space, tab, return, newline, formfeed, vertical tab).\n maxsplit\n Maximum number of splits to do.\n -1 (the default value) means no limit.\n\nSplitting is done starting at the end of the bytes and working to the front."},rstrip:{$meth:p(!1,!0),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, bytes=None, /)",$doc:"Strip trailing bytes contained in the argument.\n\nIf the argument is omitted or None, strip trailing ASCII whitespace."},split:{$meth:function(t,e){({sep:t,maxsplit:e}=this.get$splitArgs(t,e));const n=[],i=this.v.length;let s=0,r=0;if(null!==t){for(;re.length<=t.length&&e.every(((e,n)=>e===t[n])))),$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"B.startswith(prefix[, start[, end]]) -> bool\n\nReturn True if B starts with the specified prefix, False otherwise.\nWith optional start, test B beginning at that position.\nWith optional end, stop comparing B at that position.\nprefix can also be a tuple of bytes to try."},strip:{$meth:p(!0,!0),$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, bytes=None, /)",$doc:"Strip leading and trailing bytes contained in the argument.\n\nIf the argument is omitted or None, strip leading and trailing ASCII whitespace."},swapcase:{$meth:S((t=>f(t)?t+32:d(t)?t-32:t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.swapcase() -> copy of B\n\nReturn a copy of B with uppercase ASCII characters converted\nto lowercase ASCII and vice versa."},title:{$meth(){const t=this.v.length,e=new Uint8Array(t);let n=!1;for(let i=0;i copy of B\n\nReturn a titlecased version of B, i.e. ASCII words start with uppercase\ncharacters, all remaining cased characters have lowercase."},upper:{$meth:S((t=>d(t)?t-32:t)),$flags:{NoArgs:!0},$textsig:null,$doc:"B.upper() -> copy of B\n\nReturn a copy of B with all ASCII characters converted to uppercase."},zfill:{$meth(t){const e=(t=Sk.misceval.asIndexSized(t,Sk.builtin.IndexError))-this.v.length;if(0>=e)return new Sk.builtin.bytes(this.v);const n=new Uint8Array(t);let i,s=0;for(43!==this.v[0]&&45!==this.v[0]||(n[0]=this.v[0],s++),n.fill(48,s,s+e),i=s,s+=e;s copy of B\n\nPad a numeric string B with zeros on the left, to fill a field\nof the specified width. B is never truncated."}},classmethods:{fromhex:{$meth:function(t){function e(e){for(let n=o;n b'\\\\xb9\\\\x01\\\\xef'."}}});var w=Sk.abstr.buildIteratorClass("bytes_iterator",{constructor:function(t){this.$index=0,this.$seq=t.v},iternext(){const t=this.$seq[this.$index++];if(void 0!==t)return new Sk.builtin.int_(t)},methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}});Sk.exportSymbol("Sk.builtin.bytes",Sk.builtin.bytes)},function(t,e,n){(function(t){!function(t){function e(){}function n(){}var i=String.fromCharCode,s={}.toString,r=s.call(t.SharedArrayBuffer),o=s(),a=t.Uint8Array,l=a||Array,u=a?ArrayBuffer:l,c=u.isView||function(t){return t&&"length"in t},p=s.call(u.prototype);u=n.prototype;var h=t.TextEncoder,_=new(a?Uint16Array:l)(32);e.prototype.decode=function(t){if(!c(t)){var e=s.call(t);if(e!==p&&e!==r&&e!==o)throw TypeError("Failed to execute 'decode' on 'TextDecoder': The provided value is not of type '(ArrayBuffer or ArrayBufferView)'");t=a?new l(t):t||[]}for(var n,u,h,d=e="",f=0,m=0|t.length,g=m-32|0,b=0,S=0,k=0,y=-1;f>4){case 15:if(2!=(h=255&t[f=f+1|0])>>6||247>6?S+4|0:24,u=u+256&768;case 13:case 12:b<<=6,b|=(31&u)<<6|63&(h=255&t[f=f+1|0]),S=S+7|0,f>6&&b>>S&&1114112>b?(u=b,0<=(b=b-65536|0)&&(y=55296+(b>>10)|0,u=56320+(1023&b)|0,31>k?(_[k]=y,k=k+1|0,y=-1):(h=y,y=u,u=h))):(f=f-(u>>=8)-1|0,u=65533),b=S=0,n=f<=g?32:m-f|0;default:_[k]=u;continue;case 11:case 10:case 9:case 8:}_[k]=65533}if(d+=i(_[0],_[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>k&&(d=d.slice(0,k-32|0)),f>>31,y=-1,d.length=o)i[s]=o;else{if(2047>=o)i[s]=192|o>>6;else{t:{if(55296<=o)if(56319>=o){var u=0|t.charCodeAt(e=e+1|0);if(56320<=u&&57343>=u){if(65535<(o=(o<<10)+u-56613888|0)){i[s]=240|o>>18,i[s=s+1|0]=128|o>>12&63,i[s=s+1|0]=128|o>>6&63,i[s=s+1|0]=128|63&o;continue}break t}o=65533}else 57343>=o&&(o=65533);!r&&e<<1>12,i[s=s+1|0]=128|o>>6&63}i[s=s+1|0]=128|63&o}}return a?i.subarray(0,s):i.slice(0,s)},h||(t.TextDecoder=e,t.TextEncoder=n)}(void 0===t?"undefined"==typeof self?this:self:t)}).call(this,n(0))},function(t,e){Sk.builtin.tuple=Sk.abstr.buildNativeClass("tuple",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.tuple,"bad call to tuple, use 'new' with an Array of python objects"),this.v=t,this.in$repr=!1},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$doc:"Built-in immutable sequence.\n\nIf no argument is given, the constructor returns an empty tuple.\nIf iterable is specified the tuple is initialized from iterable's items.\n\nIf the argument is a tuple, the return value is the same object.",$r(){if(this.in$repr)return new Sk.builtin.str("(...)");this.in$repr=!0;let t=this.v.map((t=>Sk.misceval.objectRepr(t)));return this.in$repr=!1,t=t.join(", "),1===this.v.length&&(t+=","),new Sk.builtin.str("("+t+")")},tp$new(t,e){return this!==Sk.builtin.tuple.prototype?this.$subtype_new(t,e):(Sk.abstr.checkNoKwargs("tuple",e),Sk.abstr.checkArgsLen("tuple",t,0,1),void 0===(t=t[0])?new Sk.builtin.tuple([]):t.constructor===Sk.builtin.tuple?t:Sk.misceval.chain(Sk.misceval.arrayFromIterable(t,!0),(t=>new Sk.builtin.tuple(t))))},tp$hash(){let t,e=3430008,n=1000003;const i=this.v.length;for(let s=0;s(t=Sk.misceval.asIndexSized(t,Sk.builtin.IndexError))&&(t=this.v.length+t),0>t||t>=this.v.length)throw new Sk.builtin.IndexError("tuple index out of range");return this.v[t]}if(t instanceof Sk.builtin.slice){const e=[];return t.sssiter$(this.v.length,(t=>{e.push(this.v[t])})),new Sk.builtin.tuple(e)}throw new Sk.builtin.TypeError("tuple indices must be integers or slices, not "+Sk.abstr.typeName(t))},sq$length(){return this.v.length},sq$repeat(t){if(1===(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError))&&this.constructor===Sk.builtin.tuple)return this;const e=[];for(let n=0;n(this.$seq=t.$items(),this.$version=t.$version,n&&(this.$seq=this.$seq.reverse()),this.tp$iternext=this.constructor.prototype.tp$iternext,this.tp$iternext())},iternext:e,methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0},proto:{next$item:a}})}function a(){if(this.$version!==this.$orig.$version){if(this.$seq.length!==this.$orig.get$size())throw new Sk.builtin.RuntimeError("dict changed size during iteration");throw new Sk.builtin.RuntimeError("dictionary keys changed during iteration")}return this.$seq[this.$index++]}Sk.builtin.dict=Sk.abstr.buildNativeClass("dict",{constructor:function(t){void 0===t&&(t=[]),Sk.asserts.assert(Array.isArray(t)&&0==t.length%2&&this instanceof Sk.builtin.dict,"bad call to dict constructor"),this.size=0,this.entries=Object.create(null),this.buckets={};for(let e=0;e new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)",$r(){if(this.in$repr)return new Sk.builtin.str("{...}");this.in$repr=!0;const t=this.$items().map((t=>{var[e,n]=t;return Sk.misceval.objectRepr(e)+": "+Sk.misceval.objectRepr(n)}));return this.in$repr=!1,new Sk.builtin.str("{"+t.join(", ")+"}")},tp$new:Sk.generic.new,tp$init(t,e){return this.update$common(t,e,"dict")},tp$iter(){return new h(this)},tp$richcompare(t,e){let n;if(!(t instanceof Sk.builtin.dict)||"Eq"!==e&&"NotEq"!==e)return Sk.builtin.NotImplemented.NotImplemented$;if(t===this)n=!0;else if(this.size!==t.size)n=!1;else{let e;n=this.$items().every((n=>{var[i,s]=n;return e=t.mp$lookup(i),void 0!==e&&(e===s||Sk.misceval.richCompareBool(s,e,"Eq"))}))}return"Eq"===e?n:!n},nb$or(t){if(!(t instanceof Sk.builtin.dict))return Sk.builtin.NotImplemented.NotImplemented$;const e=this.dict$copy();return e.dict$merge(t),e},nb$reflected_or(t){return t instanceof Sk.builtin.dict?((t=t.dict$copy()).dict$merge(this),t):Sk.builtin.NotImplemented.NotImplemented$},nb$inplace_or(t){return Sk.misceval.chain(this.update$onearg(t),(()=>this))},sq$length(){return this.get$size()},sq$contains(t){return void 0!==this.mp$lookup(t)},mp$subscript(t,e){var n=this.mp$lookup(t);if(void 0!==n)return n;if(void 0!==(n=Sk.abstr.lookupSpecial(this,Sk.builtin.str.$missing)))return t=Sk.misceval.callsimOrSuspendArray(n,[t]),e?t:Sk.misceval.retryOptionalSuspensionOrThrow(t);throw new Sk.builtin.KeyError(t)},mp$ass_subscript(t,e){if(void 0===e){if(void 0===this.pop$item(t))throw new Sk.builtin.KeyError(t)}else this.set$item(t,e)}},methods:{__reversed__:{$meth(){return new f(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a reverse iterator over the dict keys."},get:{$meth(t,e){return this.mp$lookup(t)||e||Sk.builtin.none.none$},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, key, default=None, /)",$doc:"Return the value for key if key is in the dictionary, else default."},setdefault:{$meth(t,e){let i;const s=n(t);return i="string"==typeof s?this.entries[s]:this.get$bucket_item(t,s),void 0!==i?i[1]:(e=e||Sk.builtin.none.none$,"string"==typeof s?this.entries[s]=[t,e]:this.set$bucket_item(t,e,s),this.size++,this.$version++,e)},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($self, key, default=None, /)",$doc:"Insert key with a value of default if key is not in the dictionary.\n\nReturn the value for key if key is in the dictionary, else default."},pop:{$meth(t,e){const n=this.pop$item(t);if(void 0!==n)return n[1];if(void 0!==e)return e;throw new Sk.builtin.KeyError(t)},$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"D.pop(k[,d]) -> v, remove specified key and return the corresponding value.\nIf key is not found, d is returned if given, otherwise KeyError is raised"},popitem:{$meth(){const t=this.get$size();if(0===t)throw new Sk.builtin.KeyError("popitem(): dictionary is empty");const[e,n]=this.$items()[t-1];return this.pop$item(e),new Sk.builtin.tuple([e,n])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.popitem() -> (k, v), remove and return some (key, value) pair as a\n2-tuple; but raise KeyError if D is empty."},keys:{$meth(){return new u(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.keys() -> a set-like object providing a view on D's keys"},items:{$meth(){return new p(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.items() -> a set-like object providing a view on D's items"},values:{$meth(){return new c(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"D.values() -> an object providing a view on D's values"},update:{$meth(t,e){return Sk.misceval.chain(this.update$common(t,e,"update"),(()=>Sk.builtin.none.none$))},$flags:{FastCall:!0},$textsig:null,$doc:"D.update([E, ]**F) -> None. Update D from dict/iterable E and F.\nIf E is present and has a .keys() method, then does: for k in E: D[k] = E[k]\nIf E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v\nIn either case, this is followed by: for k in F: D[k] = F[k]"},clear:{$meth(){this.size=0,this.$version++,this.entries=Object.create(null),this.buckets={}},$flags:{NoArgs:!0},$textsig:null,$doc:"D.clear() -> None. Remove all items from D."},copy:{$meth(){return this.dict$copy()},$flags:{NoArgs:!0},$textsig:null,$doc:"D.copy() -> a shallow copy of D"}},classmethods:Object.assign({fromkeys:{$meth:function(t,e){e=e||Sk.builtin.none.none$;let n=this===Sk.builtin.dict?new this:this.tp$call([],[]);return Sk.misceval.chain(n,(i=>(n=i,Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>n.mp$ass_subscript(t,e,!0))))),(()=>n))},$flags:{MinArgs:1,MaxArgs:2},$textsig:"($type, iterable, value=None, /)",$doc:"Create a new dictionary with keys from iterable and values set to value."}},Sk.generic.classGetItem),proto:{quick$lookup:function(t){if(void 0!==(t=this.entries[t.$savedKeyHash]))return t[1]},mp$lookup:function(t){const e=n(t);if(void 0!==(t="string"==typeof e?this.entries[e]:this.get$bucket_item(t,e)))return t[1]},get$size(){return this.size},sk$asarray(){return Object.values(this.entries).map((t=>t[0]))},update$common:function(t,e,n){let i;return Sk.abstr.checkArgsLen(n,t,0,1),void 0!==(t=t[0])&&(i=this.update$onearg(t)),Sk.misceval.chain(i,(()=>{if(e)for(let t=0;tvoid 0===t))&&delete this.buckets[e],i},set$bucket_item:function(t,e,n){let i=this.buckets[n];t=[t,e],void 0===i?(this.buckets[n]=[t],n="#"+n+"_0"):-1!==(e=i.indexOf(void 0))?(n="#"+n+"_"+e,i[e]=t):(n="#"+n+"_"+i.length,i.push(t)),this.entries[n]=t},pop$item:function(t){const e=n(t);if("string"==typeof e?(t=this.entries[e],delete this.entries[e]):t=this.pop$bucket_item(t,e),void 0!==t)return this.size--,this.$version++,t},dict$merge:function(t){if(t.tp$iter!==Sk.builtin.dict.prototype.tp$iter){if(void 0===(e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$keys)))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not a mapping");return Sk.misceval.chain(Sk.misceval.callsimOrSuspendArray(e),(e=>Sk.misceval.iterFor(Sk.abstr.iter(e),(e=>Sk.misceval.chain(Sk.abstr.objectGetItem(t,e,!0),(t=>{this.set$item(e,t)}))))))}var e=t.tp$iter();for(let n=e.tp$iternext();void 0!==n;n=e.tp$iternext()){const e=t.mp$subscript(n);this.set$item(n,e)}},dict$merge_seq:function(t){let e=0;return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(!Sk.builtin.checkIterable(t))throw new Sk.builtin.TypeError("cannot convert dictionary update sequence element #"+e+" to a sequence");if(2!==(t=Sk.misceval.arrayFromIterable(t)).length)throw new Sk.builtin.ValueError("dictionary update sequence element #"+e+" has length "+t.length+"; 2 is required");this.set$item(t[0],t[1]),e++}))}}});const l={tp$getattr:Sk.generic.getAttr,tp$as_number:!0,tp$as_sequence_or_mapping:!0,tp$hash:Sk.builtin.none.none$,$r(){if(this.in$repr)return new Sk.builtin.str("...");this.in$repr=!0;let t=Sk.misceval.arrayFromIterable(this);return t=t.map((t=>Sk.misceval.objectRepr(t))),this.in$repr=!1,new Sk.builtin.str(Sk.abstr.typeName(this)+"(["+t.join(", ")+"])")},tp$richcompare(t,e){if(!(Sk.builtin.checkAnySet(t)||t instanceof u||t instanceof p))return Sk.builtin.NotImplemented.NotImplemented$;const n=this.sq$length(),i=t.sq$length();switch(e){case"NotEq":case"Eq":let r;return this===t?r=!0:n===i&&(r=s(this,t)),"NotEq"===e?!r:r;case"Lt":return ni&&s(t,this);case"GtE":return n>=i&&s(t,this)}},nb$subtract(t){const e=i(this);return e.difference.$meth.call(e,t)},nb$and(t){const e=i(this);return e.intersection.$meth.call(e,t)},nb$or(t){const e=i(this);return e.union.$meth.call(e,t)},nb$xor(t){const e=i(this);return e.symmetric_difference.$meth.call(e,t)},sq$length(){return this.dict.get$size()}};var u=r("dict_keys",{sq$contains(t){return void 0!==this.dict.mp$lookup(t)},tp$iter(){return new h(this.dict)}},(function(){return new f(this.dict)})),c=r("dict_values",{tp$iter(){return new d(this.dict)}},(function(){return new g(this.dict)})),p=r("dict_items",{sq$contains(t){if(!(t instanceof Sk.builtin.tuple&&2===t.sq$length()))return!1;var e=t.mp$subscript(new Sk.builtin.int_(0));return t=t.mp$subscript(new Sk.builtin.int_(1)),void 0!==(e=this.dict.mp$lookup(e))&&(e===t||Sk.misceval.richCompareBool(e,t,"Eq"))},tp$iter(){return new _(this.dict)}},(function(){return new m(this.dict)})),h=o("dict_keyiterator",(function(){const t=this.next$item();return t&&t[0]})),_=o("dict_itemiterator",(function(){const t=this.next$item();return t&&new Sk.builtin.tuple([t[0],t[1]])})),d=o("dict_valueiterator",(function(){const t=this.next$item();return t&&t[1]})),f=o("dict_reversekeyiterator",h.prototype.tp$iternext,!0),m=o("dict_reverseitemiterator",_.prototype.tp$iternext,!0),g=o("dict_reversevalueiterator",d.prototype.tp$iternext,!0);Sk.builtin.dict.py2$methods={has_key:{$name:"has_key",$flags:{OneArg:!0},$meth(t){return new Sk.builtin.bool(this.sq$contains(t))},$doc:"D.has_key(k) -> True if D has a key k, else False"},keys:{$name:"keys",$meth(){return new Sk.builtin.list(this.sk$asarray())},$flags:{NoArgs:!0},$textsig:null,$doc:"D.keys() -> a set-like object providing a view on D's keys"},items:{$name:"items",$meth(){return new Sk.builtin.list(this.$items().map((t=>{var[e,n]=t;return new Sk.builtin.tuple([e,n])})))},$flags:{NoArgs:!0},$textsig:null,$doc:"D.items() -> a set-like object providing a view on D's items"},values:{$name:"values",$meth(){return new Sk.builtin.list(this.$items().map((t=>([,t]=t,t))))},$flags:{NoArgs:!0},$textsig:null,$doc:"D.values() -> an object providing a view on D's values"}}},function(t,e){Sk.builtin.mappingproxy=Sk.abstr.buildNativeClass("mappingproxy",{constructor:function(t){if(Sk.asserts.assert(this instanceof Sk.builtin.mappingproxy,"bad call to mapping proxy, use 'new'"),void 0!==t){const e=t.constructor;e===Object||null===e||t.hasOwnProperty("sk$object")?(this.mapping=new Sk.builtin.dict([]),function(t,e){Object.defineProperties(t,{entries:{get:()=>{const t=Object.create(null);return Object.entries(e).forEach((e=>{var[n,i]=e;(n=Sk.unfixReserved(n)).includes("$")||(n=new Sk.builtin.str(n),t[n.$savedKeyHash]=[n,i])})),t},configurable:!0},size:{get:()=>Object.keys(e).map((t=>Sk.unfixReserved(t))).filter((t=>!t.includes("$"))).length,configurable:!0}})}(this.mapping,t)):Sk.builtin.checkMapping(t)?this.mapping=t:Sk.asserts.fail("unhandled case for mappingproxy")}},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$hash:Sk.builtin.none.none$,tp$new(t,e){if(Sk.abstr.checkNoKwargs("mappingproxy",e),Sk.abstr.checkOneArg("mappingproxy",t,e),t=t[0],!Sk.builtin.checkMapping(t))throw new Sk.builtin.TypeError("mappingproxy() argument must be a mapping, not "+Sk.abstr.typeName(t));return(e=new Sk.builtin.mappingproxy).mapping=t,e},tp$richcompare(t,e){return Sk.misceval.richCompareBool(this.mapping,t,e)},tp$str(){return this.mapping.tp$str()},$r(){return new Sk.builtin.str("mappingproxy("+Sk.misceval.objectRepr(this.mapping)+")")},mp$subscript(t,e){return this.mapping.mp$subscript(t,e)},sq$contains(t){return this.mapping.sq$contains(t)},sq$length(){return this.mapping.sq$length()},tp$iter(){return this.mapping.tp$iter()},tp$as_number:!0,nb$or(t){return t instanceof Sk.builtin.mappingproxy&&(t=t.mapping),Sk.abstr.numberBinOp(this.mapping,t,"BitOr")},nb$reflected_or(t){return t instanceof Sk.builtin.mappingproxy&&(t=t.mapping),Sk.abstr.numberBinOp(t,this.mapping,"BitOr")},nb$inplace_or(t){throw new Sk.builtin.TypeError("'|=' is not supported by "+Sk.abstr.typeName(this)+"; use '|' instead")}},methods:{get:{$meth(t,e){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$get),t,e)},$flags:{FastCall:!0},$textsig:null,$doc:"D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None."},keys:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$keys),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.keys() -> a set-like object providing a view on D's keys"},items:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$items),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.items() -> a set-like object providing a view on D's items"},values:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$values),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.values() -> a set-like object providing a view on D's values"},copy:{$meth(){return Sk.misceval.callsimArray(this.mapping.tp$getattr(this.str$copy),[])},$flags:{NoArgs:!0},$textsig:null,$doc:"D.copy() -> a shallow copy of D"}},classmethods:Sk.generic.classGetItem,proto:{str$get:new Sk.builtin.str("get"),str$copy:new Sk.builtin.str("copy"),str$keys:new Sk.builtin.str("keys"),str$items:new Sk.builtin.str("items"),str$values:new Sk.builtin.str("values"),mp$lookup(t){return this.mapping.mp$lookup(t)}},flags:{sk$unacceptableBase:!0}})},function(t,e){Sk.builtin.property=Sk.abstr.buildNativeClass("property",{constructor:function(t,e,n,i){this.prop$get=t||Sk.builtin.none.none$,this.prop$set=e||Sk.builtin.none.none$,this.prop$del=n||Sk.builtin.none.none$,this.prop$doc=i||t&&t.$doc||Sk.builtin.none.none$},slots:{tp$getattr:Sk.generic.getAttr,tp$new:Sk.generic.new,tp$init(t,e){t=Sk.abstr.copyKeywordsToNamedArgs("property",["fget","fset","fdel","doc"],t,e,Array(4).fill(Sk.builtin.none.none$)),this.prop$get=t[0],this.prop$set=t[1],this.prop$del=t[2],Sk.builtin.checkNone(t[3])?Sk.builtin.checkNone(t[0])||(this.prop$doc=t[0].$doc||t[3]):this.prop$doc=t[3]},tp$doc:"Property attribute.\n\n fget\n function to be used for getting an attribute value\n fset\n function to be used for setting an attribute value\n fdel\n function to be used for del'ing an attribute\n doc\n docstring\n\nTypical use is to define a managed attribute x:\n\nclass C(object):\n def getx(self): return self._x\n def setx(self, value): self._x = value\n def delx(self): del self._x\n x = property(getx, setx, delx, 'I'm the 'x' property.')\n\nDecorators make defining new properties or modifying existing ones easy:\n\nclass C(object):\n @property\n def x(self):\n 'I am the 'x' property.'\n return self._x\n @x.setter\n def x(self, value):\n self._x = value\n @x.deleter\n def x(self):\n del self._x",tp$descr_get(t,e,n){if(null===t)return this;if(void 0===this.prop$get)throw new Sk.builtin.AttributeError("unreadable attribute");return t=Sk.misceval.callsimOrSuspendArray(this.prop$get,[t]),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t)},tp$descr_set(t,e,n){let i;if(i=null==e?this.prop$del:this.prop$set,Sk.builtin.checkNone(i))throw new Sk.builtin.AttributeError("can't "+(null==e?"delete":"set")+" attribute");if(!i.tp$call)throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(i)+"' is not callable");return t=null==e?i.tp$call([t]):i.tp$call([t,e]),n?t:Sk.misceval.retryOptionalSuspensionOrThrow(t)}},methods:{getter:{$meth(t){return new Sk.builtin.property(t,this.prop$set,this.prop$del,this.prop$doc)},$flags:{OneArg:!0}},setter:{$meth(t){return new Sk.builtin.property(this.prop$get,t,this.prop$del,this.prop$doc)},$flags:{OneArg:!0}},deleter:{$meth(t){return new Sk.builtin.property(this.prop$get,this.prop$set,t,this.prop$doc)},$flags:{OneArg:!0}}},getsets:{fget:{$get(){return this.prop$get}},fset:{$get(){return this.prop$set}},fdel:{$get(){return this.prop$del}},__doc__:{$get(){return this.prop$doc},$set(t){this.prop$doc=t=t||Sk.builtin.none.none$}}}}),Sk.builtin.classmethod=Sk.abstr.buildNativeClass("classmethod",{constructor:function(t){this.cm$callable=t,this.$d=new Sk.builtin.dict},slots:{tp$getattr:Sk.generic.getAttr,tp$new:Sk.generic.new,tp$init(t,e){Sk.abstr.checkNoKwargs("classmethod",e),Sk.abstr.checkArgsLen("classmethod",t,1,1),this.cm$callable=t[0]},tp$doc:"classmethod(function) -> method\n\nConvert a function to be a class method.\n\nA class method receives the class as implicit first argument,\njust like an instance method receives the instance.\nTo declare a class method, use this idiom:\n\n class C:\n @classmethod\n def f(cls, arg1, arg2, ...):\n ...\n\nIt can be called either on the class (e.g. C.f()) or on an instance\n(e.g. C().f()). The instance is ignored except for its class.\nIf a class method is called for a derived class, the derived class\nobject is passed as the implied first argument.\n\nClass methods are different than C++ or Java static methods.\nIf you want those, see the staticmethod builtin.",tp$descr_get(t,e,n){const i=this.cm$callable;if(void 0===i)throw new Sk.builtin.RuntimeError("uninitialized classmethod object");return void 0===e&&(e=t.ob$type),(t=i.tp$descr_get)?t.call(i,e,n):new Sk.builtin.method(i,e)}},getsets:{__func__:{$get(){return this.cm$callable}},__dict__:Sk.generic.getSetDict}}),Sk.builtin.staticmethod=Sk.abstr.buildNativeClass("staticmethod",{constructor:function(t){this.sm$callable=t,this.$d=new Sk.builtin.dict},slots:{tp$getattr:Sk.generic.getAttr,tp$new:Sk.generic.new,tp$init(t,e){Sk.abstr.checkNoKwargs("staticmethod",e),Sk.abstr.checkArgsLen("staticmethod",t,1,1),this.sm$callable=t[0]},tp$doc:"staticmethod(function) -> method\n\nConvert a function to be a static method.\n\nA static method does not receive an implicit first argument.\nTo declare a static method, use this idiom:\n\n class C:\n @staticmethod\n def f(arg1, arg2, ...):\n ...\n\nIt can be called either on the class (e.g. C.f()) or on an instance\n(e.g. C().f()). The instance is ignored except for its class.\n\nStatic methods in Python are similar to those found in Java or C++.\nFor a more advanced concept, see the classmethod builtin.",tp$descr_get(t,e){if(void 0===this.sm$callable)throw new Sk.builtin.RuntimeError("uninitialized staticmethod object");return this.sm$callable}},getsets:{__func__:{$get(){return this.sm$callable}},__dict__:Sk.generic.getSetDict}})},function(t,e){function n(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;if(n=n.v,"number"==typeof i&&"number"==typeof n){const e=t(i,n);if(p(e))return new Sk.builtin.int_(e)}return i=_(i),n=_(n),new Sk.builtin.int_(e(i,n))}}function i(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;return n=n.v,"number"==typeof i&&"number"==typeof n?t(i,n):(i=_(i),n=_(n),e(i,n))}}function s(t,e){return function(){let n=this.v;if("number"==typeof n){const e=t(n);if(void 0!==e)return new Sk.builtin.int_(e);n=_(n)}return new Sk.builtin.int_(e(n))}}function r(){return new Sk.builtin.int_(this.v)}function o(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;if(0===(n=n.v))throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");return"number"==typeof i&&"number"==typeof n?new Sk.builtin.int_(t(i,n)):(i=_(i),n=_(n),new Sk.builtin.int_(JSBI.numberIfSafe(e(i,n))))}}function a(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;if(n.nb$isnegative())throw new Sk.builtin.ValueError("negative shift count");let i=this.v;if(0===i)return new Sk.builtin.int_(0);if(n=n.v,"number"==typeof i&&"number"==typeof n&&53>n){const e=t(i,n);if(void 0!==e)return new Sk.builtin.int_(e)}return i=_(i),n=_(n),new Sk.builtin.int_(e(i,n))}}function l(t,e){return function(n){if(!(n instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;let i=this.v;return n=n.v,"number"==typeof i&&"number"==typeof n&&Math.abs(i)=-Number.MAX_SAFE_INTEGER}function h(t){return t<=Number.MAX_SAFE_INTEGER&&t>=-Number.MAX_SAFE_INTEGER?+t:JSBI.BigInt(t)}function _(t){return"number"==typeof t?JSBI.BigInt(t):t}function d(t){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("'byteorder' must be str, not "+Sk.abstr.typeName(t));if("little"===(t=t.toString()))return 1;if("big"===t)return 0;throw new Sk.builtin.ValueError("byteorder must be either 'little' or 'big'")}Sk.builtin.int_=Sk.abstr.buildNativeClass("int",{constructor:function(t){let e;if(Sk.asserts.assert(this instanceof Sk.builtin.int_,"bad call to int use 'new'"),"number"==typeof t){if(-6t)return $[t];e=t}else if(JSBI.__isBigInt(t))e=t;else{if(void 0===t)return w;if("string"==typeof t)e=h(t);else{if(t.nb$int)return t.nb$int();Sk.asserts.fail("bad argument to int constructor")}}this.v=e},slots:{tp$as_number:!0,tp$doc:"int(x=0) -> integer\nint(x, base=10) -> integer\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given. If x is a number, return x.__int__(). For floating point\nnumbers, this truncates towards zero.\n\nIf x is not a number or if base is given, then x must be a string,\nbytes, or bytearray instance representing an integer literal in the\ngiven base. The literal can be preceded by '+' or '-' and be surrounded\nby whitespace. The base defaults to 10. Valid bases are 0 and 2-36.\nBase 0 means to interpret the base from the string as an integer literal.\n>>> int('0b100', base=0)\n4",$r(){return new Sk.builtin.str(this.v.toString())},tp$hash(){var t=this.v;if("number"==typeof t){if(-1===t)return-2;if(536870911>t&&-536870911t==e),JSBI.equal),ob$ne:i(((t,e)=>t!=e),JSBI.notEqual),ob$gt:i(((t,e)=>t>e),JSBI.greaterThan),ob$ge:i(((t,e)=>t>=e),JSBI.greaterThanOrEqual),ob$lt:i(((t,e)=>tt<=e),JSBI.lessThanOrEqual),nb$int:r,nb$index(){return this.v},nb$float(){var t=this.v;if("number"==typeof t)return new Sk.builtin.float_(t);if(1/0===(t=parseFloat(JSBI.toNumber(t)))||-1/0===t)throw new Sk.builtin.OverflowError("int too large to convert to float");return new Sk.builtin.float_(t)},nb$isnegative(){const t=this.v;return"number"==typeof t?0>t:JSBI.lessThan(t,JSBI.__ZERO)},nb$ispositive(){const t=this.v;return"number"==typeof t?0<=t:JSBI.greaterThanOrEqual(t,JSBI.__ZERO)},nb$bool(){return 0!==this.v},nb$positive:r,nb$negative:s((t=>-t),JSBI.unaryMinus),nb$add:n(((t,e)=>t+e),((t,e)=>JSBI.numberIfSafe(JSBI.add(t,e)))),nb$subtract:n(((t,e)=>t-e),((t,e)=>JSBI.numberIfSafe(JSBI.subtract(t,e)))),nb$multiply:n(((t,e)=>t*e),((t,e)=>t===JSBI.__ZERO||e===JSBI.__ZERO?0:JSBI.multiply(t,e))),nb$divide:function(t){if(!Sk.__future__.python3)return this.nb$floor_divide(t);if(!(t instanceof Sk.builtin.int_))return Sk.builtin.NotImplemented.NotImplemented$;var e=this.v,n=t.v;if(0===n)throw new Sk.builtin.ZeroDivisionError("division by zero");if("number"==typeof e&&"number"==typeof n)return new Sk.builtin.float_(e/n);if(e=_(e),n=_(n),t=JSBI.lessThan(JSBI.bitwiseXor(e,n),JSBI.__ZERO),JSBI.equal(e,JSBI.__ZERO))return new Sk.builtin.float_(t?-0:0);if(e=u(e),n=u(n),JSBI.greaterThanOrEqual(e,JSBI.multiply(k,n)))throw new Sk.builtin.OverflowError("int/int too large to represent as a float");var i=e.toString(2).length-n.toString(2).length,s=JSBI.BigInt(0>i?-i:i);if((0<=i&&JSBI.greaterThanOrEqual(e,JSBI.multiply(JSBI.exponentiate(b,s),n))||0>i&&JSBI.greaterThanOrEqual(JSBI.multiply(e,JSBI.exponentiate(b,s)),n))&&(i+=1),i=Math.max(i,g)-m,e=JSBI.leftShift(e,JSBI.BigInt(Math.max(-i,0))),n=JSBI.leftShift(n,JSBI.BigInt(Math.max(i,0))),s=JSBI.divide(e,n),e=JSBI.remainder(e,n),e=JSBI.multiply(b,e),(JSBI.greaterThan(e,n)||JSBI.equal(e,n)&&JSBI.equal(JSBI.remainder(s,b),S))&&(s=JSBI.add(s,S)),1/0===(s=JSBI.toNumber(s))||-1/0===s)throw new Sk.builtin.OverflowError("int/int too large to represent as a float");return n=s*Math.pow(2,i),new Sk.builtin.float_(t?-n:n)},nb$floor_divide:o(((t,e)=>Math.floor(t/e)),c),nb$remainder:o(((t,e)=>t-Math.floor(t/e)*e),((t,e)=>JSBI.subtract(t,JSBI.multiply(e,c(t,e))))),nb$divmod(t){const e=this.nb$floor_divide(t);return t=this.nb$remainder(t),e===Sk.builtin.NotImplemented.NotImplemented$||t===Sk.builtin.NotImplemented.NotImplemented$?Sk.builtin.NotImplemented.NotImplemented$:new Sk.builtin.tuple([e,t])},nb$and:l(((t,e)=>t&e),JSBI.bitwiseAnd),nb$or:l(((t,e)=>t|e),JSBI.bitwiseOr),nb$xor:l(((t,e)=>t^e),JSBI.bitwiseXor),nb$abs:s(Math.abs,u),nb$lshift:a(((t,e)=>{if(p(t=2*t*T[e]))return t}),JSBI.leftShift),nb$rshift:a(((t,e)=>{Math.floor(t/T[e+1])}),((t,e)=>JSBI.numberIfSafe(JSBI.signedRightShift(t,e)))),nb$invert:s((t=>Math.abs(t)JSBI.numberIfSafe(JSBI.bitwiseNot(t)))),nb$power(t,e){let n;if(void 0!==e&&Sk.builtin.checkNone(e)&&(e=void 0),!(t instanceof Sk.builtin.int_&&(void 0===e||e instanceof Sk.builtin.int_)))return Sk.builtin.NotImplemented.NotImplemented$;const i=t.nb$isnegative();if(i&&void 0===e)return this.nb$float().nb$power(t.nb$float());let s=this.v;if(t=t.v,"number"==typeof s&&"number"==typeof t){const i=Math.pow(s,t);if(p(i)&&(n=new Sk.builtin.int_(i),void 0===e))return n}if(void 0!==e){if(i)throw new Sk.builtin.ValueError("pow() 2nd argument cannot be negative when 3rd argument specified");if(0===e.v)throw new Sk.builtin.ValueError("pow() 3rd argument cannot be 0");return void 0!==n?n.nb$remainder(e):new Sk.builtin.int_(JSBI.numberIfSafe(JSBI.powermod(_(s),_(t),_(e.v))))}return new Sk.builtin.int_(JSBI.exponentiate(_(s),_(t)))},nb$long(){return new Sk.builtin.lng(this.v)}},getsets:{real:{$get:r,$doc:"the real part of a complex number"},imag:{$get:()=>w,$doc:"the imaginary part of a complex number"},numerator:{$get:r},denominator:{$get:()=>E}},classmethods:{from_bytes:{$meth(t,e){Sk.abstr.checkArgsLen("from_bytes",t,0,2);let[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("from_bytes",["bytes","byteorder","signed"],t,e,[Sk.builtin.bool.false$]);if(t=d(i),n instanceof Sk.builtin.bytes||(n=Sk.misceval.callsimArray(Sk.builtin.bytes,[n])),Sk.misceval.isTrue(s))throw new Sk.builtin.NotImplementedError("from_bytes with signed=True is not yet implemented in Skulpt");const r=[];return n.valueOf().forEach((t=>{r.push(t.toString(16).padStart(2,"0"))})),t&&r.reverse(),t=new Sk.builtin.int_(JSBI.numberIfSafe(JSBI.BigInt("0x"+(r.join("")||"0")))),this===Sk.builtin.int_?t:Sk.misceval.callsimArray(this,[t])},$flags:{FastCall:!0}}},methods:{conjugate:{$meth:r,$flags:{NoArgs:!0},$textsig:null,$doc:"Returns self, the complex conjugate of any int."},bit_length:{$meth(){let t=this.v;return 0===t?new Sk.builtin.int_(0):(t="number"==typeof t?Math.abs(t):u(t),new Sk.builtin.int_(t.toString(2).length))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Number of bits necessary to represent self in binary.\n\n>>> bin(37)\n'0b100101'\n>>> (37).bit_length()\n6"},to_bytes:{$meth(t,e){Sk.abstr.checkArgsLen("to_bytes",t,0,2);let[n,i,s]=Sk.abstr.copyKeywordsToNamedArgs("to_bytes",["length","byteorder","signed"],t,e,[Sk.builtin.bool.false$]);if(t=d(i),n=Sk.misceval.asIndexSized(n,Sk.builtin.OverflowError),0>n)throw new Sk.builtin.ValueError("length argument must be non-negative");if(Sk.misceval.isTrue(s))throw new Sk.builtin.NotImplementedError("to_bytes with signed=True is not yet implemented in Skulpt");if(this.nb$isnegative())throw new Sk.builtin.OverflowError("can't convert negative int to unsigned");(e=JSBI.BigInt(this.v).toString(16)).length%2&&(e="0"+e);var r=e.length/2;if(r>n){if(0===n&&"00"===e)return new Sk.builtin.bytes;throw new Sk.builtin.OverflowError("int too big to convert")}const o=Array(n).fill(0);r=n-r;let a=0;for(;rMath.abs(e)?new Sk.builtin.int_(0):Sk.__future__.bankers_rounding?(e/=t,n=Math.round(e),new Sk.builtin.int_((.5==(0e||36= 2 and <= 36");if("string"==typeof e&&(e=Number(e)),"0x"===t.substring(0,2).toLowerCase()){if(16===e||0===e)t=t.substring(2),e=16;else if(34>e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}else if("0b"===t.substring(0,2).toLowerCase()){if(2===e||0===e)t=t.substring(2),e=2;else if(12>e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}else if("0o"===t.substring(0,2).toLowerCase()){if(8===e||0===e)t=t.substring(2),e=8;else if(25>e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}else if("0"===t.charAt(0)){if("0"===t)return 0;8!==e&&0!==e||(e=8)}if(0===e&&(e=10),-1!==t.indexOf("_")){if(-1!==t.indexOf("__"))throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'");t=10!==e?t.replace(y,""):t.charAt(0)+t.substring(1).replace(y,"")}if(0===t.length)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'");for(n=0;n=r?o=r-48:65<=r&&90>=r?o=r-65+10:97<=r&&122>=r&&(o=r-97+10),o>=e)throw new Sk.builtin.ValueError("invalid literal for int() with base "+e+": '"+i+"'")}if(s&&(t="-"+t),p(o=parseInt(t,e)))return o;for(i=!1,"-"===t[0]&&(i=!0,t=t.substring(1)),e=JSBI.BigInt(e),s=S,n=JSBI.__ZERO,r=t.length-1;0<=r;r--)48<=(o=t.charCodeAt(r))&&57>=o?o-=48:65<=o&&90>=o?o=o-65+10:97<=o&&122>=o&&(o=o-97+10),o=JSBI.multiply(JSBI.BigInt(o),s),n=JSBI.add(n,o),s=JSBI.multiply(s,e);return i&&(n=JSBI.multiply(n,JSBI.BigInt(-1))),n},Sk.builtin.int_.py2$methods={},Sk.longFromStr=function(t,e){return Sk.__future__.python3?new Sk.builtin.int_(h(t)):(t=Sk.str2number(t,e),new Sk.builtin.lng(t))},Sk.exportSymbol("Sk.longFromStr",Sk.longFromStr),Sk.builtin.int_.withinThreshold=p,Sk.builtin.int_.stringToNumberOrBig=h;const T=[.5,1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824,2147483648,4294967296,8589934592,17179869184,34359738368,68719476736,137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,8796093022208,17592186044416,35184372088832,70368744177664,0x800000000000,281474976710656,562949953421312,0x4000000000000,0x8000000000000,4503599627370496,9007199254740992];Sk.builtin.lng=Sk.abstr.buildNativeClass("long",{base:Sk.builtin.int_,constructor:function(t){void 0!==(t=Sk.builtin.int_.call(this,t))&&(this.v=t.v)},slots:{$r(){return new Sk.builtin.str(this.v.toString()+"L")},tp$as_number:!0,nb$negative(){return new Sk.builtin.lng(v.nb$negative.call(this).v)},nb$positive(){return new Sk.builtin.lng(v.nb$positive.call(this).v)}}});const v=Sk.builtin.int_.prototype,$=[];for(t=-5;257>t;t++)$[t]=Object.create(Sk.builtin.int_.prototype,{v:{value:t}});const w=$[0],E=$[1]},function(t,e){const n=Sk.builtin.int_.prototype;Sk.builtin.bool=Sk.abstr.buildNativeClass("bool",{constructor:function(t){return Sk.misceval.isTrue(t)?Sk.builtin.bool.true$:Sk.builtin.bool.false$},base:Sk.builtin.int_,slots:{tp$doc:"bool(x) -> bool\n\nReturns True when the argument x is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.",tp$new:(t,e)=>(Sk.abstr.checkNoKwargs("bool",e),Sk.abstr.checkArgsLen("bool",t,0,1),new Sk.builtin.bool(t[0])),$r(){return this.v?this.str$True:this.str$False},tp$as_number:!0,nb$and(t){return t.ob$type===Sk.builtin.bool?new Sk.builtin.bool(this.v&t.v):n.nb$and.call(this,t)},nb$or(t){return t.ob$type===Sk.builtin.bool?new Sk.builtin.bool(this.v|t.v):n.nb$or.call(this,t)},nb$xor(t){return t.ob$type===Sk.builtin.bool?new Sk.builtin.bool(this.v^t.v):n.nb$xor.call(this,t)}},flags:{sk$unacceptableBase:!0},methods:{__format__:{$meth(){return this.$r()},$flags:{OneArg:!0}}},proto:{str$False:new Sk.builtin.str("False"),str$True:new Sk.builtin.str("True"),valueOf(){return!!this.v}}}),Sk.exportSymbol("Sk.builtin.bool",Sk.builtin.bool),Sk.builtin.bool.true$=Object.create(Sk.builtin.bool.prototype,{v:{value:1,enumerable:!0}}),Sk.builtin.bool.false$=Object.create(Sk.builtin.bool.prototype,{v:{value:0,enumerable:!0}})},function(t,e){function n(t){const e=[t,0];if(0===t)return e;var n=Math.abs(t);let i=Math.max(-1023,Math.floor(Math.log2(n))+1);for(n*=Math.pow(2,-i);.5>n;)n*=2,i--;for(;1<=n;)n*=.5,i++;return 0>t&&(n=-n),e[0]=n,e[1]=i,e}function i(){return new Sk.builtin.float_(this.v)}function s(t){return function(e){const n=this.v;if("number"!=typeof(e=e.v)){if(!JSBI.__isBigInt(e))return Sk.builtin.NotImplemented.NotImplemented$;if(1/0==(e=parseFloat(JSBI.toNumber(e)))||-1/0==e)throw new Sk.builtin.OverflowError("int too large to convert to float")}return t(n,e)}}function r(t,e){return function(n){const i=this.v;if("number"!=typeof(n=n.v)){if(!JSBI.__isBigInt(n))return Sk.builtin.NotImplemented.NotImplemented$;if(void 0!==e)return e(i,n)}return t(i,n)}}function o(t){const e=s(t);return function(t,n){if(void 0!==n&&!Sk.builtin.checkNone(n))throw new Sk.builtin.TypeError("pow() 3rd argument not allowed unless all arguments are integers");return e.call(this,t)}}function a(t,e){if(0===e)throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");return 1/0===t?1/0===e||-1/0===t?new Sk.builtin.float_(NaN):0>e?new Sk.builtin.float_(-1/0):new Sk.builtin.float_(1/0):-1/0===t?1/0===e||-1/0===t?new Sk.builtin.float_(NaN):0>e?new Sk.builtin.float_(1/0):new Sk.builtin.float_(-1/0):new Sk.builtin.float_(t/e)}function l(t,e){if(1/0===t||-1/0===t)return new Sk.builtin.float_(NaN);if(0===e)throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");return 1/0===e?0>t?new Sk.builtin.float_(-1):new Sk.builtin.float_(0):-1/0===e?0>t||0!==t?new Sk.builtin.float_(0):new Sk.builtin.float_(-1):new Sk.builtin.float_(Math.floor(t/e))}function u(t,e){if(0===e)throw new Sk.builtin.ZeroDivisionError("integer division or modulo by zero");if(0===t)return new Sk.builtin.float_(0);if(1/0===e)return 1/0===t||-1/0===t?new Sk.builtin.float_(NaN):0t?0n&&(n+=e):0>e&&0!==n&&(n+=e),0===n&&(0>e?n=-0:-1/0==1/0/n&&(n=0)),new Sk.builtin.float_(n)}function c(t,e){if(0>t&&0!=e%1)return new Sk.builtin.complex(t,0).nb$power(new Sk.builtin.complex(e,0));if(0===t&&0>e)throw new Sk.builtin.ZeroDivisionError("0.0 cannot be raised to a negative power");const n=Math.pow(t,e);if(1/0===Math.abs(n)&&1/0!==Math.abs(t)&&1/0!==Math.abs(e))throw new Sk.builtin.OverflowError("Numerical result out of range");return new Sk.builtin.float_(n)}Sk.builtin.float_=Sk.abstr.buildNativeClass("float",{constructor:function(t){if(Sk.asserts.assert(this instanceof Sk.builtin.float_,"bad call to float use 'new'"),"number"==typeof t)this.v=t;else if(void 0===t)this.v=0;else if("string"==typeof t)this.v=parseFloat(t);else{if(t.nb$float)return t.nb$float();Sk.asserts.fail("bad argument to float constructor")}},slots:{tp$getattr:Sk.generic.getAttr,tp$as_number:!0,tp$doc:"Convert a string or number to a floating point number, if possible.",tp$hash(){var t=this.v;if(!Number.isFinite(t))return Number.isNaN(t)?0:0e&&(t=-1,e=-e);let s,r=0;for(;e;)r=r<<28&536870911|r>>1,e*=268435456,i-=28,s=Math.trunc(e),e-=s,r+=s,536870911<=r&&(r-=536870911);return i=0<=i?i%29:28-(-1-i)%29,r=(r<>29-i)*t,-1===r?-2:r},$r(){return new Sk.builtin.str(this.str$(10,!0))},tp$new(t,e){if(e&&e.length)throw new Sk.builtin.TypeError("float() takes no keyword arguments");if(t&&1t?Math.ceil(t):Math.floor(t),Sk.builtin.int_.withinThreshold(t)?new Sk.builtin.int_(t):new Sk.builtin.int_(JSBI.BigInt(t))},nb$float:i,nb$long(){return new Sk.builtin.lng(this.nb$int().v)},nb$add:s(((t,e)=>new Sk.builtin.float_(t+e))),nb$subtract:s(((t,e)=>new Sk.builtin.float_(t-e))),nb$reflected_subtract:s(((t,e)=>new Sk.builtin.float_(e-t))),nb$multiply:s(((t,e)=>new Sk.builtin.float_(t*e))),nb$divide:s(a),nb$reflected_divide:s(((t,e)=>a(e,t))),nb$floor_divide:s(l),nb$reflected_floor_divide:s(((t,e)=>l(e,t))),nb$remainder:s(u),nb$reflected_remainder:s(((t,e)=>u(e,t))),nb$divmod:s(((t,e)=>new Sk.builtin.tuple([l(t,e),u(t,e)]))),nb$reflected_divmod:s(((t,e)=>new Sk.builtin.tuple([l(e,t),u(e,t)]))),nb$power:o(c),nb$reflected_power:o(((t,e)=>c(e,t))),nb$abs(){return new Sk.builtin.float_(Math.abs(this.v))},nb$negative(){return new Sk.builtin.float_(-this.v)},nb$positive(){return new Sk.builtin.float_(this.v)},nb$bool(){return 0!==this.v},nb$isnegative(){return 0>this.v},nb$ispositive(){return 0<=this.v},ob$eq:r(((t,e)=>t==e),JSBI.EQ),ob$ne:r(((t,e)=>t!=e),JSBI.NE),ob$gt:r(((t,e)=>t>e),JSBI.GT),ob$ge:r(((t,e)=>t>=e),JSBI.GE),ob$lt:r(((t,e)=>tt<=e),JSBI.LE)},getsets:{real:{$get:i,$doc:"the real part of a complex number"},imag:{$get:()=>new Sk.builtin.float_(0),$doc:"the imaginary part of a complex number"}},methods:{conjugate:{$meth:i,$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return self, the complex conjugate of any float."},__trunc__:{$meth(){return this.nb$int()},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return the Integral closest to x between 0 and x."},__round__:{$meth(t){return this.round$(t)},$flags:{MinArgs:0,MaxArgs:1},$textsig:"($self, ndigits=None, /)",$doc:"Return the Integral closest to x, rounding half toward even.\n\nWhen an argument is passed, work like built-in round(x, ndigits)."},as_integer_ratio:{$meth(){if(!Number.isFinite(this.v)){if(Number.isNaN(this.v))throw new Sk.builtin.ValueError("cannot convert NaN to integer ratio");throw new Sk.builtin.OverflowError("cannot convert Infinity to integer ratio")}let[t,e]=n(this.v);for(var i=0;300>i&&t!=Math.floor(t);i++)t*=2,e--;i=new Sk.builtin.int_(Math.abs(e));let s=new Sk.builtin.int_(t),r=new Sk.builtin.int_(1);return 0>> (10.0).as_integer_ratio()\n(10, 1)\n>>> (0.0).as_integer_ratio()\n(0, 1)\n>>> (-.25).as_integer_ratio()\n(-1, 4)"},is_integer:{$meth(){return new Sk.builtin.bool(Number.isInteger(this.v))},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:"Return True if the float is an integer."},__getnewargs__:{$meth(){return new Sk.builtin.tuple([this])},$flags:{NoArgs:!0},$textsig:"($self, /)",$doc:Sk.builtin.none.none$},__format__:{$meth:Sk.formatting.mkNumber__format__(!0),$flags:{OneArg:!0},$textsig:"($self, format_spec, /)",$doc:Sk.builtin.none.none$}},proto:{valueOf(){return this.v}}});const p=/_[eE]|[eE]_|\._|_\.|[+-]_|__/,h=/_(?=[^_])/g;Sk.builtin.float_.PyFloat_Check=function(t){return void 0!==t&&!!(Sk.builtin.checkNumber(t)||Sk.builtin.checkFloat(t)||t.ob$type.$isSubType(Sk.builtin.float_))},Sk.builtin.float_.prototype.toFixed=function(t){return t=Sk.builtin.asnum$(t),this.v.toFixed(t)},Sk.builtin.float_.prototype.round$=function(t){var e=Sk.builtin.asnum$(this),n=void 0===t?0:Sk.misceval.asIndexSized(t);if(Sk.__future__.bankers_rounding){e*=Math.pow(10,n);var i=Math.round(e);return n=(.5==(0n.length?e.toExponential():e.toExponential(11)),0>n.indexOf("e")&&0<=n.indexOf(".")){for(;"0"==n.charAt(n.length-1);)n=n.substring(0,n.length-1);"."==n.charAt(n.length-1)&&(n+="0")}n=(n=(n=n.replace(/\.0+e/,"e","i")).replace(/(e[-+])([1-9])$/,"$10$2")).replace(/0+(e.*)/,"$1")}else n=e.toString(t);return 0===this.v&&-1/0==1/this.v&&(n="-"+n),0>n.indexOf(".")&&0>n.indexOf("E")&&0>n.indexOf("e")&&(n+=".0"),n},Sk.builtin.float_.py2$methods={}},function(t,e){function n(t){let e=t.v;if("number"==typeof e)return e;if(t.nb$float&&(e=t.nb$float()),void 0===e)throw new Sk.builtin.TypeError("a float is required");return e.v}function i(t,e,n){return n===Sk.builtin.complex.prototype?new Sk.builtin.complex(t,e):(n=new n.constructor,Sk.builtin.complex.call(n,t,e),n)}function s(t,e){return function(n){const i=this.real,s=this.imag;var r=n.real;const o=n.v;if("number"==typeof r)n=n.imag;else if("number"==typeof o)r=o,n=0;else{if(!JSBI.__isBigInt(o))return Sk.builtin.NotImplemented.NotImplemented$;if(void 0===e){if(1/0==(r=parseFloat(JSBI.toNumber(o)))||-1/0==r)throw new Sk.builtin.OverflowError("int too large to convert to float")}else r=o.toString();n=0}return t(i,s,r,n)}}function r(t,e,n,i){var s=Math.abs(n);const r=Math.abs(i);if(s>=r){if(0===s)throw new Sk.builtin.ZeroDivisionError("complex division by zero");i=(t+e*(s=i/n))/(n+=i*s),t=(e-t*s)/n}else r>=s?(n=n*(s=n/i)+i,Sk.asserts.assert(0!==i),i=(t*s+e)/n,t=(e*s-t)/n):t=i=NaN;return new Sk.builtin.complex(i,t)}function o(t,e,n,i){if(0===n&&0===i){i=1;var s=0}else if(0===t&&0===e){if(0!==i||0>n)throw new Sk.builtin.ZeroDivisionError("complex division by zero");s=i=0}else{const r=Math.hypot(t,e);s=Math.pow(r,n),n*=t=Math.atan2(e,t),0!==i&&(s/=Math.exp(t*i),n+=i*Math.log(r)),i=s*Math.cos(n),s*=Math.sin(n)}return new Sk.builtin.complex(i,s)}function a(t,e,n){let i=1;var s=new Sk.builtin.complex(1,0);for(t=new Sk.builtin.complex(t,e);0=i;)n&i&&(s=new Sk.builtin.complex(s.real*t.real-s.imag*t.imag,s.real*t.imag+t.real*s.imag)),i<<=1,t=new Sk.builtin.complex(t.real*t.real-t.imag*t.imag,2*t.real*t.imag);return s}function l(t,e,n,i,s){switch(s=!1,e){case"e":case"f":case"g":break;case"E":s=!0,e="e";break;case"F":s=!0,e="f";break;case"r":if(0!==n)throw Error("Bad internall call");n=17,e="g";break;default:throw Error("Bad internall call")}if(isNaN(t))t="nan";else if(1/0===t)t="inf";else if(-1/0===t)t="-inf";else{i&l.Py_DTSF_ADD_DOT_0&&(e="g");var r="%"+(i&l.Py_DTSF_ALT?"#":"");null!=n&&(r=r+"."+n),t=(t=(r=new Sk.builtin.str(r+e)).nb$remainder(new Sk.builtin.float_(t))).v}return i&l.Py_DTSF_SIGN&&"-"!==t[0]&&(t="+"+t),s&&(t=t.toUpperCase()),t}Sk.builtin.complex=Sk.abstr.buildNativeClass("complex",{constructor:function(t,e){Sk.asserts.assert(this instanceof Sk.builtin.complex,"bad call to complex constructor, use 'new'"),this.real=t,this.imag=e},slots:{tp$as_number:!0,tp$doc:"Create a complex number from a real part and an optional imaginary part.\n\nThis is equivalent to (real + imag*1j) where imag defaults to 0.",tp$hash(){var t=new Sk.builtin.float_(this.real).tp$hash();return t=1003*new Sk.builtin.float_(this.imag).tp$hash()+t,Sk.builtin.int_.withinThreshold(t)?t:new Sk.builtin.int_(JSBI.BigInt(t)).tp$hash()},tp$getattr:Sk.generic.getAttr,tp$new(t,e){{var s,r=(t=Sk.abstr.copyKeywordsToNamedArgs("complex",["real","imag"],t,e,[null,null]))[1];let a=e=!1;var o=t[0];if(null!=o&&o.constructor===Sk.builtin.complex&&null==r)e=o;else if(Sk.builtin.checkString(o)){if(null!=r)throw new Sk.builtin.TypeError("complex() can't take second arg if first is a string");e=Sk.builtin.complex.complex_subtype_from_string(o,this)}else{if(null!=r&&Sk.builtin.checkString(r))throw new Sk.builtin.TypeError("complex() second arg can't be a string");if(null==o?t=null:t=void 0!==(t=Sk.abstr.lookupSpecial(o,Sk.builtin.str.$complex))?Sk.misceval.callsimArray(t,[]):null,null!=t&&t!==Sk.builtin.NotImplemented.NotImplemented$){if(!u(t))throw new Sk.builtin.TypeError("__complex__ should return a complex object");o=t}if(null!=o&&void 0===o.nb$float)throw new Sk.builtin.TypeError("complex() first argument must be a string or a number, not '"+Sk.abstr.typeName(o)+"'");if(null!=r&&void 0===r.nb$float)throw new Sk.builtin.TypeError("complex() second argument must be a number, not '"+Sk.abstr.typeName(o)+"'");null==o?o=t=0:u(o)?(t=o.real,o=o.imag,e=!0):(t=n(o),o=0),null==r?r=s=0:u(r)?(s=r.real,r=r.imag,a=!0):(s=n(r),r=0),!0===a&&(t-=r),!0===e&&(s+=o),e=i(t,s,this)}}return e},tp$richcompare(t,e){if("Eq"!==e&&"NotEq"!==e){if(Sk.builtin.checkNumber(t)||u(t))throw new Sk.builtin.TypeError("no ordering relation is defined for complex numbers");return Sk.builtin.NotImplemented.NotImplemented$}return s((function(t,n,i,s){return t=t==i&&n==s,"Eq"===e?t:!t}),!0).call(this,t)},$r(){{var t,e;let s=t="";var n=this.real,i=this.imag;(e=0===n)&&(e=1==(n?0>n?-1:1:0>1/n?-1:1)),e?(n="",e=l(i,"g",null,0,null)):(n=t=l(n,"g",null,0,null),e=l(i,"g",null,l.Py_DTSF_SIGN,null),0===i&&-1/0==1/i&&e&&"-"!==e[0]&&(e="-"+e),t="(",s=")"),i=new Sk.builtin.str(""+t+n+e+"j"+s)}return i},nb$int(){throw new Sk.builtin.TypeError("can't convert complex to int")},nb$long(){throw new Sk.builtin.TypeError("can't convert complex to long")},nb$float(){throw new Sk.builtin.TypeError("can't convert complex to float")},nb$positive(){return new Sk.builtin.complex(this.real,this.imag)},nb$negative(){return new Sk.builtin.complex(-this.real,-this.imag)},nb$bool(){return this.real||this.imag},nb$add:s(((t,e,n,i)=>new Sk.builtin.complex(t+n,e+i))),nb$subtract:s(((t,e,n,i)=>new Sk.builtin.complex(t-n,e-i))),nb$reflected_subtract:s(((t,e,n,i)=>new Sk.builtin.complex(n-t,i-e))),nb$multiply:s(((t,e,n,i)=>new Sk.builtin.complex(n*t-i*e,t*i+e*n))),nb$divide:s(r),nb$reflected_divide:s(((t,e,n,i)=>r(n,i,t,e))),nb$floor_divide(t){throw new Sk.builtin.TypeError("can't take floor of complex number.")},nb$reflected_floor_divide(t){throw new Sk.builtin.TypeError("can't take floor of complex number.")},nb$remainder(t){throw new Sk.builtin.TypeError("can't mod complex numbers.")},nb$reflected_remainder(t){throw new Sk.builtin.TypeError("can't mod complex numbers.")},nb$divmod(t){throw new Sk.builtin.TypeError("can't take floor or mod of complex number.")},nb$power(t,e){if(null!=e&&!Sk.builtin.checkNone(e))throw new Sk.builtin.ValueError("complex modulo");return _.call(this,t)},nb$reflected_power(t,e){if(null!=e&&!Sk.builtin.checkNone(e))throw new Sk.builtin.ValueError("complex modulo");return d.call(this,t)},nb$abs(){var t=this.real;const e=this.imag;if(!Number.isFinite(t)||!Number.isFinite(e))return 1/0===t||-1/0===t?new Sk.builtin.float_(Math.abs(t)):1/0===e||-1/0===e?new Sk.builtin.float_(Math.abs(e)):new Sk.builtin.float_(NaN);if(t=Math.hypot(t,e),!Number.isFinite(t))throw new Sk.builtin.OverflowError("absolute value too large");return new Sk.builtin.float_(t)}},getsets:{real:{$get(){return new Sk.builtin.float_(this.real)},$doc:"the real part of a complex number"},imag:{$get(){return new Sk.builtin.float_(this.imag)},$doc:"the imaginary part of a complex number"}},methods:{conjugate:{$meth(){return new Sk.builtin.complex(this.real,-this.imag)},$flags:{NoArgs:!0},$textsig:null,$doc:"complex.conjugate() -> complex\n\nReturn the complex conjugate of its argument. (3-4j).conjugate() == 3+4j."},__getnewargs__:{$meth(){return new Sk.builtin.tuple([new Sk.builtin.float_(this.real),new Sk.builtin.float_(this.imag)])},$flags:{NoArgs:!0},$textsig:null,$doc:Sk.builtin.none.none$},__format__:{$meth(t){if(Sk.builtin.checkString(t))throw new Sk.builtin.NotImplementedError("__format__ is not implemented for complex type.");throw new Sk.builtin.TypeError("__format__ requires str")},$flags:{OneArg:!0},$textsig:null,$doc:"complex.__format__() -> str\n\nConvert to a string according to format_spec."}}}),Sk.exportSymbol("Sk.builtin.complex",Sk.builtin.complex);const u=Sk.builtin.checkComplex,c=/_[eE]|[eE]_|\._|_\.|[+-]_|_j|j_/,p=/_(?=[^_])/g;Sk.builtin.complex.complex_subtype_from_string=function(t,e){e=e||Sk.builtin.complex.prototype;var n=0,s=0,r=!1;if(Sk.builtin.checkString(t))t=Sk.ffi.remapToJs(t);else if("string"!=typeof t)throw new TypeError("provided unsupported string-alike argument");if(-1!==t.indexOf("\0")||0===t.length||""===t)throw new Sk.builtin.ValueError("complex() arg is a malformed string");var o=0;for(t=(t=t.replace(/inf|infinity/gi,"Infinity")).replace(/nan/gi,"NaN");" "===t[o];)o++;if("("===t[o])for(r=!0,o++;" "===t[o];)o++;if(-1!==t.indexOf("_")){if(c.test(t))throw new Sk.builtin.ValueError("could not convert string to complex: '"+t+"'");t=t.charAt(0)+t.substring(1).replace(p,"")}var a=/^(?:[+-]?(?:(?:(?:\d*\.\d+)|(?:\d+\.?))(?:[eE][+-]?\d+)?|NaN|Infinity))/,l=t.substr(o),u=l.match(a);if(null!==u)if("j"===t[o+=u[0].length]||"J"===t[o])s=parseFloat(u[0]),o++;else if("+"===t[o]||"-"===t[o]){if(n=parseFloat(u[0]),null!==(u=t.substr(o).match(a))?(s=parseFloat(u[0]),o+=u[0].length):(s="+"===t[o]?1:-1,o++),"j"!==t[o]&&"J"!==t[o])throw new Sk.builtin.ValueError("complex() arg is malformed string");o++}else n=parseFloat(u[0]);else null!==(u=u=l.match(/^([+-]?[jJ])/))&&(s=1===u[0].length||"+"===u[0][0]?1:-1,o+=u[0].length);for(;" "===t[o];)o++;if(r){if(")"!==t[o])throw new Sk.builtin.ValueError("complex() arg is malformed string");for(o++;" "===t[o];)o++}if(t.length!==o)throw new Sk.builtin.ValueError("complex() arg is malformed string");return i(n,s,e)};const h=(t,e,n,i)=>{const s=0|n;return 0===i&&n===s?(100s?t=o(t,e,s,0):0h(n,i,t,e)));l.Py_DTSF_SIGN=1,l.Py_DTSF_ADD_DOT_0=2,l.Py_DTSF_ALT=4,l.Py_DTST_FINITE=0,l.Py_DTST_INFINITE=1,l.Py_DTST_NAN=2},function(t,e){Sk.builtin.slice=Sk.abstr.buildNativeClass("slice",{constructor:function(t,e,n){void 0===e&&void 0===n&&(e=t,t=Sk.builtin.none.none$),void 0===e&&(e=Sk.builtin.none.none$),void 0===n&&(n=Sk.builtin.none.none$),this.start=t,this.stop=e,this.step=n},slots:{tp$getattr:Sk.generic.getAttr,tp$doc:"slice(stop)\nslice(start, stop[, step])\n\nCreate a slice object. This is used for extended slicing (e.g. a[0:10:2]).",tp$hash:Sk.builtin.none.none$,tp$new:(t,e)=>(Sk.abstr.checkNoKwargs("slice",e),Sk.abstr.checkArgsLen("slice",t,1,3),new Sk.builtin.slice(...t)),$r(){const t=Sk.misceval.objectRepr(this.start),e=Sk.misceval.objectRepr(this.stop),n=Sk.misceval.objectRepr(this.step);return new Sk.builtin.str("slice("+t+", "+e+", "+n+")")},tp$richcompare(t,e){if(t.ob$type!==Sk.builtin.slice)return Sk.builtin.NotImplemented.NotImplemented$;const n=new Sk.builtin.tuple([this.start,this.stop,this.step]);return t=new Sk.builtin.tuple([t.start,t.stop,t.step]),n.tp$richcompare(t,e)}},getsets:{start:{$get(){return this.start}},step:{$get(){return this.step}},stop:{$get(){return this.stop}}},methods:{indices:{$meth:function(t){if(0>(t=Sk.misceval.asIndexSized(t,Sk.builtin.OverflowError)))throw new Sk.builtin.TypeError("length should not be negative");const{start:e,stop:n,step:i}=this.slice$indices(t);return new Sk.builtin.tuple([new Sk.builtin.int_(e),new Sk.builtin.int_(n),new Sk.builtin.int_(i)])},$doc:"S.indices(len) -> (start, stop, stride)\n\nAssuming a sequence of length len, calculate the start and stop\nindices, and the stride length of the extended slice described by\nS. Out of bounds indices are clipped in a manner consistent with the\nhandling of normal slices.",$textsig:null,$flags:{OneArg:!0}}},proto:{slice$as_indices(t){let e;var n=t?t=>Sk.misceval.asIndexSized(t,null,"slice indices must be integers or None or have an __index__ method"):t=>Sk.misceval.asIndexOrThrow(t,"slice indices must be integers or None or have an __index__ method");if(Sk.builtin.checkNone(this.step))e=1;else if(e=n(this.step),0===e)throw new Sk.builtin.ValueError("slice step cannot be zero");return{start:t=Sk.builtin.checkNone(this.start)?null:n(this.start),stop:n=Sk.builtin.checkNone(this.stop)?null:n(this.stop),step:e}},$wrt:(t,e,n,i,s)=>(s=s?e=>JSBI.__isBigInt(e)?JSBI.add(e,JSBI.BigInt(t)):e+t:e=>e+t,0e&&(0>(e=s(e))&&(e=0)),null===n||n>t?n=t:0>n&&(n=s(n))):(null===e||e>=t?e=t-1:0>e&&(e=s(e)),null===n?n=-1:0>n&&(0>(n=s(n))&&(n=-1))),{start:e,stop:n,step:i}),slice$indices(t,e){let{start:n,stop:i,step:s}=this.slice$as_indices(!0,e);return this.$wrt(t,n,i,s,e)},sssiter$(t,e){let{start:n,stop:i,step:s}=this.slice$indices(t,!0);if(0i;t+=s)e(t)}},flags:{sk$unacceptableBase:!0}}),Sk.builtin.slice.startEnd$wrt=function(t,e,n){return t=t.sq$length(),void 0===e||Sk.builtin.checkNone(e)?e=0:0>(e=Sk.misceval.asIndexSized(e,null,"slice indices must be integers or have an __index__ method"))&&(0>(e+=t)&&(e=0)),void 0===n||Sk.builtin.checkNone(n)?n=t:0>(n=Sk.misceval.asIndexSized(n,null,"slice indices must be integers or have an __index__ method"))?0>(n+=t)&&(n=0):n>t&&(n=t),{start:e,end:n}}},function(t,e){function n(t){return function(e){return Sk.builtin.checkAnySet(e)?t.call(this,e):Sk.builtin.NotImplemented.NotImplemented$}}function i(t){return t instanceof Sk.builtin.set&&t.tp$hash===Sk.builtin.none.none$&&(t=new Sk.builtin.frozenset(Sk.misceval.arrayFromIterable(t))),t}t={},Sk.builtin.set=Sk.abstr.buildNativeClass("set",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.set,"Bad call to set - must be called with an Array and 'new'");const e=[];for(let n=0;n new empty set object\nset(iterable) -> new set object\n\nBuild an unordered collection of unique elements.",tp$init(t,e){return Sk.abstr.checkNoKwargs("set",e),Sk.abstr.checkArgsLen("set",t,0,1),this.set$clear(),(t=t[0])&&this.set$update(t)},tp$new:Sk.generic.new,$r(){if(this.in$repr)return new Sk.builtin.str(Sk.abstr.typeName(this)+"(...)");this.in$repr=!0;const t=this.sk$asarray().map((t=>Sk.misceval.objectRepr(t)));return this.in$repr=!1,Sk.__future__.python3?0===t.length?new Sk.builtin.str(Sk.abstr.typeName(this)+"()"):this.ob$type!==Sk.builtin.set?new Sk.builtin.str(Sk.abstr.typeName(this)+"({"+t.join(", ")+"})"):new Sk.builtin.str("{"+t.join(", ")+"}"):new Sk.builtin.str(Sk.abstr.typeName(this)+"(["+t.join(", ")+"])")},tp$iter(){return new s(this)},tp$richcompare(t,e){if(!Sk.builtin.checkAnySet(t))return Sk.builtin.NotImplemented.NotImplemented$;switch(e){case"NotEq":case"Eq":return t=this===t||this.get$size()===t.get$size()&&Sk.misceval.isTrue(this.set$issubset(t)),"Eq"===e?t:!t;case"LtE":return this===t||Sk.misceval.isTrue(this.set$issubset(t));case"GtE":return this===t||Sk.misceval.isTrue(t.set$issubset(this));case"Lt":return this.get$size()t.get$size()&&Sk.misceval.isTrue(t.set$issubset(this))}},nb$subtract:n((function(t){return this.difference.$meth.call(this,t)})),nb$and:n((function(t){return this.intersection.$meth.call(this,t)})),nb$or:n((function(t){return this.union.$meth.call(this,t)})),nb$xor:n((function(t){return this.symmetric_difference.$meth.call(this,t)})),nb$inplace_subtract:n((function(t){return t===this&&(t=t.set$copy()),Sk.misceval.chain(this.difference_update.$meth.call(this,t),(()=>this))})),nb$inplace_and:n((function(t){return Sk.misceval.chain(this.intersection_update.$meth.call(this,t),(()=>this))})),nb$inplace_or:n((function(t){return Sk.misceval.chain(this.update.$meth.call(this,t),(()=>this))})),nb$inplace_xor:n((function(t){return t===this&&(t=t.set$copy()),Sk.misceval.chain(this.symmetric_difference_update.$meth.call(this,t),(()=>this))})),sq$length(){return this.get$size()},sq$contains(t){return t=i(t),this.v.sq$contains(t)}},methods:{add:{$meth(t){return this.set$add(t),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Add an element to a set.\n\nThis has no effect if the element is already present."},clear:{$meth(){return this.set$clear(),Sk.builtin.none.none$},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove all elements from this set."},copy:{$meth(){return this.set$copy()},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a shallow copy of a set."},discard:{$meth(t){return t=i(t),this.set$discard(t),Sk.builtin.none.none$},$flags:{OneArg:!0},$textsig:null,$doc:"Remove an element from a set if it is a member.\n\nIf the element is not a member, do nothing."},difference:{$meth(...t){const e=this.set$copy();return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>e.set$difference_update(t))),(()=>e))},$flags:{MinArgs:0},$textsig:null,$doc:"Return the difference of two or more sets as a new set.\n\n(i.e. all elements that are in this set but not the others.)"},difference_update:{$meth(...t){return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>this.set$difference_update(t))),(()=>Sk.builtin.none.none$))},$flags:{MinArgs:0},$textsig:null,$doc:"Remove all elements of another set from this set."},intersection:{$meth(...t){return this.set$intersection_multi(...t)},$flags:{MinArgs:0},$textsig:null,$doc:"Return the intersection of two sets as a new set.\n\n(i.e. all elements that are in both sets.)"},intersection_update:{$meth(...t){return Sk.misceval.chain(this.set$intersection_multi(...t),(t=>(this.swap$bodies(t),Sk.builtin.none.none$)))},$flags:{MinArgs:0},$textsig:null,$doc:"Update a set with the intersection of itself and another."},isdisjoint:{$meth(t){return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{if(this.sq$contains(t))return new Sk.misceval.Break(Sk.builtin.bool.false$)})),(t=>t||Sk.builtin.bool.true$))},$flags:{OneArg:!0},$textsig:null,$doc:"Return True if two sets have a null intersection."},issubset:{$meth(t){return Sk.builtin.checkAnySet(t)||(t=this.set$make_basetype(t)),Sk.misceval.chain(t,(t=>this.set$issubset(t)))},$flags:{OneArg:!0},$textsig:null,$doc:"Report whether another set contains this set."},issuperset:{$meth(t){return Sk.builtin.checkAnySet(t)||(t=this.set$make_basetype(t)),Sk.misceval.chain(t,(t=>t.set$issubset(this)))},$flags:{OneArg:!0},$textsig:null,$doc:"Report whether this set contains another set."},pop:{$meth(){if(0===this.get$size())throw new Sk.builtin.KeyError("pop from an empty set");return Sk.misceval.callsimArray(this.v.popitem,[this.v]).v[0]},$flags:{NoArgs:!0},$textsig:null,$doc:"Remove and return an arbitrary set element.\nRaises KeyError if the set is empty."},remove:{$meth(t){const e=i(t);if(this.v.mp$lookup(e))return this.v.mp$ass_subscript(e),Sk.builtin.none.none$;throw new Sk.builtin.KeyError(t)},$flags:{OneArg:!0},$textsig:null,$doc:"Remove an element from a set; it must be a member.\n\nIf the element is not a member, raise a KeyError."},symmetric_difference:{$meth(t){let e;return Sk.misceval.chain(this.set$make_basetype(t),(t=>(e=t,e.set$symmetric_diff_update(this))),(()=>e))},$flags:{OneArg:!0},$textsig:null,$doc:"Return the symmetric difference of two sets as a new set.\n\n(i.e. all elements that are in exactly one of the sets.)"},symmetric_difference_update:{$meth(t){return Sk.builtin.checkAnySet(t)||(t=this.set$make_basetype(t)),Sk.misceval.chain(t,(t=>this.set$symmetric_diff_update(t)),(()=>Sk.builtin.none.none$))},$flags:{OneArg:!0},$textsig:null,$doc:"Update a set with the symmetric difference of itself and another."},union:{$meth(...t){const e=this.set$copy();return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>e.set$update(t))),(()=>e))},$flags:{MinArgs:0},$textsig:null,$doc:"Return the union of sets as a new set.\n\n(i.e. all elements that are in either set.)"},update:{$meth(...t){return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>this.set$update(t))),(()=>Sk.builtin.none.none$))},$flags:{MinArgs:0},$textsig:null,$doc:"Update a set with the union of itself and others."}},classmethods:Sk.generic.classGetItem,proto:Object.assign(t,{sk$asarray(){return this.v.sk$asarray()},get$size(){return this.v.sq$length()},set$add(t){this.v.mp$ass_subscript(t,!0)},set$make_basetype(t){return Sk.misceval.chain(Sk.misceval.arrayFromIterable(t,!0),(t=>new this.sk$builtinBase(t)))},set$discard(t){return this.v.pop$item(t)},set$clear(){this.v=new Sk.builtin.dict([])},set$copy(){const t=new this.sk$builtinBase;return t.v=this.v.dict$copy(),t},set$difference_update(t){return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.set$discard(t)}))},set$intersection(t){const e=new this.sk$builtinBase;return Sk.misceval.chain(Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.sq$contains(t)&&e.set$add(t)})),(()=>e))},set$intersection_multi(...t){if(!t.length)return this.set$copy();let e=this;return Sk.misceval.chain(Sk.misceval.iterArray(t,(t=>Sk.misceval.chain(e.set$intersection(t),(t=>{e=t})))),(()=>e))},set$issubset(t){if(this.get$size()>t.get$size())return Sk.builtin.bool.false$;for(let e=this.tp$iter(),n=e.tp$iternext();void 0!==n;n=e.tp$iternext())if(!t.sq$contains(n))return Sk.builtin.bool.false$;return Sk.builtin.bool.true$},set$symmetric_diff_update(t){return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{void 0===this.set$discard(t)&&this.set$add(t)}))},set$update(t){return Sk.misceval.iterFor(Sk.abstr.iter(t),(t=>{this.set$add(t)}))},swap$bodies(t){this.v=t.v}})}),Sk.exportSymbol("Sk.builtin.set",Sk.builtin.set),e=Sk.builtin.set.prototype,Sk.builtin.frozenset=Sk.abstr.buildNativeClass("frozenset",{constructor:function(t){void 0===t?t=[]:Array.isArray(t)||(t=Sk.misceval.arrayFromIterable(t)),Sk.asserts.assert(this instanceof Sk.builtin.frozenset,"bad call to frozen set - must be called with 'new'");const e=[];for(let n=0;n empty frozenset object\nfrozenset(iterable) -> frozenset object\n\nBuild an immutable unordered collection of unique elements.",tp$hash(){let t=1927868237;const e=this.sk$asarray();t*=e.length+1;for(let n=0;nt.length?new Sk.builtin.frozenset(t):Sk.builtin.frozenset.$emptyset)))},$r:e.$r,tp$iter:e.tp$iter,tp$richcompare:e.tp$richcompare,nb$subtract:e.nb$subtract,nb$and:e.nb$and,nb$or:e.nb$or,nb$xor:e.nb$xor,sq$length:e.sq$length,sq$contains:e.sq$contains},methods:{copy:Object.assign({},e.copy.d$def,{$meth(){return this.constructor===this.sk$builtinBase?this:new Sk.builtin.frozenset(this.sk$asarray())}}),difference:e.difference.d$def,intersection:e.intersection.d$def,isdisjoint:e.isdisjoint.d$def,issubset:e.issubset.d$def,issuperset:e.issuperset.d$def,symmetric_difference:e.symmetric_difference.d$def,union:e.union.d$def},classmethods:Sk.generic.classGetItem,proto:Object.assign({$subtype_new(t,e){const n=new this.constructor;return Sk.misceval.chain(Sk.builtin.frozenset.prototype.tp$new(t),(t=>(n.v=t.v,n)))}},t)}),Sk.builtin.frozenset.$emptyset=new Sk.builtin.frozenset([]),Sk.exportSymbol("Sk.builtin.frozenset",Sk.builtin.frozenset);var s=Sk.abstr.buildIteratorClass("set_iterator",{constructor:function(t){this.$index=0,this.$seq=t.sk$asarray(),this.$orig=t},iternext:Sk.generic.iterNextWithArrayCheckSize,methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}})},function(t,e){Sk.builtin.print=function(t,e){let n,[i,s,r]=Sk.abstr.copyKeywordsToNamedArgs("print",["sep","end","file","flush"],[],e);if(void 0===i||Sk.builtin.checkNone(i))i=" ";else{if(!Sk.builtin.checkString(i))throw new Sk.builtin.TypeError("sep must be None or a string, not "+Sk.abstr.typeName(i));i=i.$jsstr()}if(void 0===s||Sk.builtin.checkNone(s))s="\n";else{if(!Sk.builtin.checkString(s))throw new Sk.builtin.TypeError("end must be None or a string, not "+Sk.abstr.typeName(s));s=s.$jsstr()}if(void 0!==r&&!Sk.builtin.checkNone(r)&&(n=Sk.abstr.lookupSpecial(r,Sk.builtin.str.$write),void 0===n))throw new Sk.builtin.AttributeError("'"+Sk.abstr.typeName(r)+"' object has no attribute 'write'");const o=new Sk.builtin.str(t.map((t=>new Sk.builtin.str(t).toString())).join(i)+s);if(void 0===n)return Sk.misceval.chain(Sk.importModule("sys",!1,!0),(t=>(n=Sk.abstr.lookupSpecial(t.$d.stdout,Sk.builtin.str.$write))&&Sk.misceval.callsimOrSuspendArray(n,[o])));Sk.misceval.callsimArray(n,[o])},Sk.builtin.print.co_fastcall=1},function(t,e){Sk.builtin.module=Sk.abstr.buildNativeClass("module",{constructor:function(){this.$d={}},slots:{tp$doc:"Create a module object.\n\nThe name must be a string; the optional doc argument can have any type.",tp$getattr(t,e){var n=this.$d[t.$mangled];if(void 0!==n)return n;if(void 0!==(n=this.ob$type.$typeLookup(t))){const t=n.tp$descr_get;return t?t.call(n,this,this.ob$type,e):n}const i=this.$d.__getattr__;return void 0!==i?(n=Sk.misceval.tryCatch((()=>Sk.misceval.callsimOrSuspendArray(i,[t])),(t=>{if(!(t instanceof Sk.builtin.AttributeError))throw t})),e?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)):void 0},tp$setattr:Sk.generic.setAttr,tp$new:Sk.generic.new,tp$init(t,e){const[n,i]=Sk.abstr.copyKeywordsToNamedArgs("module",["name","doc"],t,e,[Sk.builtin.none.none$]);Sk.builtin.pyCheckType("module","string",n),this.init$dict(n,i)},$r(){let t=this.get$name();if(void 0!==t){var e=this.get$mod_reprf();if(void 0!==e)return Sk.misceval.callsimOrSuspendArray(e,[this])}return t=void 0===t?"'?'":t,e=void 0===(e=this.from$file())?this.empty_or$loader():e,new Sk.builtin.str("")}},getsets:{__dict__:{$get(){return new Sk.builtin.mappingproxy(this.$d)}}},methods:{__dir__:{$meth(){const t=this.tp$getattr(Sk.builtin.str.$dict);if(!Sk.builtin.checkMapping(t))throw new Sk.builtin.TypeError("__dict__ is not a dictionary");const e=t.mp$lookup(Sk.builtin.str.$dir);return void 0!==e?Sk.misceval.callsimOrSuspendArray(e,[]):new Sk.builtin.list(Sk.misceval.arrayFromIterable(t))},$flags:{NoArgs:!0},$doc:"__dir__() -> list\nspecialized dir() implementation"}},proto:{sk$hasDict:!0,init$dict(t,e){this.$d.__name__=t,this.$d.__doc__=e,this.$d.__package__=Sk.builtin.none.none$,this.$d.__spec__=Sk.builtin.none.none$,this.$d.__loader__=Sk.builtin.none.none$},sk$attrError(){let t=this.get$name();return t=void 0===t?"module":"module "+t,this.$initializing&&(t="(most likely due to a circular import) partially initialized "+t),t},get$name(){const t=this.tp$getattr(Sk.builtin.str.$name);return t&&Sk.misceval.objectRepr(t)},from$file(){const t=this.tp$getattr(Sk.builtin.str.$file);return t&&" from "+Sk.misceval.objectRepr(t)},empty_or$loader(){if(this.$js&&this.$js.includes("$builtinmodule"))return" (built-in)";const t=this.tp$getattr(Sk.builtin.str.$loader);return void 0===t||Sk.builtin.checkNone(t)?"":" ("+Sk.misceval.objectRepr(t)+")"},get$mod_reprf(){const t=this.tp$getattr(Sk.builtin.str.$loader);return t&&t.tp$getattr(this.str$mod_repr)},str$mod_repr:new Sk.builtin.str("module_repr")}}),Sk.exportSymbol("Sk.builtin.module",Sk.builtin.module)},function(t,e){Sk.builtin.structseq_types={},Sk.builtin.make_structseq=function(t,e,n,i,s){i=void 0===i?{}:i,s=void 0===s?null:s;const r=t+"."+e,o=[],a={};Object.keys(n).forEach(((t,e)=>{o.push(t),a[t]={$get(){return this.v[e]},$doc:n[t]}}));const l=o.length;let u=l;Object.keys(i).forEach(((t,e)=>{a[t]={$get(){return this.$hidden[e]||Sk.builtin.none.none$},$doc:i[t]},u++}));var c=Sk.abstr.buildNativeClass(r,{constructor:function(t,e){Sk.asserts.assert(this instanceof c),Sk.builtin.tuple.call(this,t),this.$hidden=e||[]},base:Sk.builtin.tuple,slots:{tp$new(t,e){if(Sk.abstr.checkOneArg(r,t,e),(t=Sk.misceval.arrayFromIterable(t[0])).lengthu)throw new Sk.builtin.TypeError(r+"() takes an at most "+u+"-sequence ("+t.length+"-sequence given)");return new c(t.slice(0,l),t.slice(l))},tp$doc:s||Sk.builtin.none.none$,$r(){var t;if(0===this.v.length)return new Sk.builtin.str(r+"()");var e=[];for(t=0;t")}},iternext(t,e){var n=this;if(this.gi$running)throw new Sk.builtin.ValueError("generator already executing");return this.gi$running=!0,void 0===e&&(e=Sk.builtin.none.none$),this.gi$sentvalue=e,e=[this],this.func_closure&&e.push(this.func_closure),function e(i){if(i instanceof Sk.misceval.Suspension){if(t)return new Sk.misceval.Suspension(e,i);i=Sk.misceval.retryOptionalSuspensionOrThrow(i)}if(n.gi$running=!1,Sk.asserts.assert(void 0!==i),Array.isArray(i))return n.gi$resumeat=i[0],i[1];n.gi$ret=i}(this.func_code.apply(this.func_globals,e))},methods:{send:{$meth(t){return Sk.misceval.chain(this.tp$iternext(!0,t),(t=>{if(void 0===t)throw void 0!==(t=this.gi$ret)&&t!==Sk.builtin.none.none$?new Sk.builtin.StopIteration(t):new Sk.builtin.StopIteration;return t}))},$flags:{OneArg:!0},$doc:"send(arg) -> send 'arg' into generator,\nreturn next yielded value or raise StopIteration."}}}),Sk.exportSymbol("Sk.builtin.generator",Sk.builtin.generator),Sk.builtin.makeGenerator=function(t,e){var n,i=new Sk.builtin.generator(null,null,null);for(n in i.tp$iternext=t,e)e.hasOwnProperty(n)&&(i[n]=e[n]);return i},Sk.exportSymbol("Sk.builtin.makeGenerator",Sk.builtin.makeGenerator)},function(t,e){Sk.builtin.file=function(t,e,n){var i;if(!(this instanceof Sk.builtin.file))return new Sk.builtin.file(t,e,n);if(this.mode=e,this.name=Sk.ffi.remapToJs(t),this.closed=!1,"/dev/stdout"===this.name)this.data$=Sk.builtin.none.none$,this.fileno=1;else if("/dev/stdin"===this.name)this.fileno=0;else if("/dev/stderr"===this.name)this.fileno=2;else{if(Sk.inBrowser)if(this.fileno=10,null==(n=document.getElementById(t.v))){if("w"!=e.v&&"a"!=e.v)throw new Sk.builtin.IOError("[Errno 2] No such file or directory: '"+t.v+"'");this.data$=""}else"textarea"==n.nodeName.toLowerCase()?this.data$=n.value:this.data$=n.textContent;else this.fileno=11,this.data$=Sk.read(t.v);for(i in this.lineList=this.data$.split("\n"),this.lineList=this.lineList.slice(0,-1),this.lineList)this.lineList[i]+="\n";this.currentLine=0}return this.pos$=0,Sk.fileopen&&10<=this.fileno&&Sk.fileopen(this),this},Sk.abstr.setUpInheritance("file",Sk.builtin.file,Sk.builtin.object),Sk.abstr.setUpBuiltinMro(Sk.builtin.file),Sk.builtin.file.prototype.$r=function(){return new Sk.builtin.str("<"+(this.closed?"closed":"open")+"file '"+this.name+"', mode '"+Sk.ffi.remapToJs(this.mode)+"'>")},Sk.builtin.file.prototype.tp$iter=function(){var t={tp$iter:function(){return t},$obj:this,$index:this.currentLine,$lines:this.lineList,tp$iternext:function(){if(!(t.$index>=t.$lines.length))return new Sk.builtin.str(t.$lines[t.$index++])}};return t},Sk.abstr.setUpSlots(Sk.builtin.file),Sk.builtin.file.prototype.__enter__=new Sk.builtin.func((function(t){return t})),Sk.builtin.file.prototype.__exit__=new Sk.builtin.func((function(t){return Sk.misceval.callsimArray(Sk.builtin.file.prototype.close,[t])})),Sk.builtin.file.prototype.close=new Sk.builtin.func((function(t){return t.closed=!0,Sk.builtin.none.none$})),Sk.builtin.file.prototype.flush=new Sk.builtin.func((function(t){})),Sk.builtin.file.prototype.fileno=new Sk.builtin.func((function(t){return this.fileno})),Sk.builtin.file.prototype.isatty=new Sk.builtin.func((function(t){return!1})),Sk.builtin.file.prototype.read=new Sk.builtin.func((function(t,e){var n=t.data$.length;if(t.closed)throw new Sk.builtin.ValueError("I/O operation on closed file");var i=void 0===e?n:Sk.ffi.remapToJs(e);return i=new Sk.builtin.str(t.data$.substr(t.pos$,i)),t.pos$=void 0===e?n:t.pos$+Sk.ffi.remapToJs(e),t.pos$>=n&&(t.pos$=n),i})),Sk.builtin.file.$readline=function(t,e,n){if(0===t.fileno){if(t=Sk.ffi.remapToJs(n),(t=Sk.inputfun(t||""))instanceof Promise||t&&"function"==typeof t.then){var i=new Sk.misceval.Suspension;return i.resume=function(){if(i.data.error)throw i.data.error;return new Sk.builtin.str(i.data.result)},i.data={type:"Sk.promise",promise:t},i}return new Sk.builtin.str(t)}return e="",t.currentLinen(t,e))));if("object"===i){if((i=t.constructor)===Object&&Object.getPrototypeOf(t)===c||void 0===i)return e.dictHook?e.dictHook(t):l(t,e);if(i===Uint8Array)return new Sk.builtin.bytes(t);if(i===Set)return a(t,e);if(i===Map){const i=new Sk.builtin.dict;return t.forEach(((t,s)=>{i.mp$ass_subscript(n(s,e),n(t,e))})),i}return i===Sk.misceval.Suspension?t:e.proxyHook?e.proxyHook(t):u(t)}if(e.unhandledHook)return e.unhandledHook(t);Sk.asserts.fail("unhandled remap case of type "+i)}function i(t,e){if(null==t)return t;const n=t.valueOf();if(null===n)return n;const o=typeof n;return e=e||{},"string"===o?e.stringHook?e.stringHook(n):n:"boolean"===o?n:"number"===o?e.numberHook?e.numberHook(n,t):n:JSBI.__isBigInt(n)?e.bigintHook?e.bigintHook(n,t):n:Array.isArray(n)?e.arrayHook?e.arrayHook(n,t):n.map((t=>i(t,e))):n.sk$object?t instanceof Sk.builtin.dict?e.dictHook?e.dictHook(t):r(t,e):t instanceof Sk.builtin.set?e.setHook?e.setHook(t):new Set(s(t,e)):e.unhandledHook?e.unhandledHook(t):void 0:"object"===o?e.objectHook?e.objectHook(n,t):n:"function"===o?e.funcHook?e.funcHook(n,t):n:void Sk.asserts.fail("unhandled type "+o)}function s(t,e){return Array.from(t,(t=>i(t,e)))}function r(t,e){const n={};return t.$items().forEach((t=>{var[s,r]=t;n[s.valueOf()]=i(r,e)})),n}function o(t){return Number.isInteger(t)?Math.abs(t)n(t,e))))}function l(t,e){const i=new Sk.builtin.dict;return Object.entries(t).forEach((t=>{var[s,r]=t;i.mp$ass_subscript(new Sk.builtin.str(s),n(r,e))})),i}function u(t,e){if(null==t)return Sk.builtin.none.none$;var i=typeof t;if("object"!==i&&"function"!==i)return n(t);if(e=e||{},i=_.get(t)){if(e.bound===i.$bound)return i;e.name||(e.name=i.$name)}return e=new g(t,e),_.set(t,e),e}Sk.ffi={remapToPy:n,remapToJs:i,toPy:n,toJs:i,isTrue:function(t){return null!=t&&t.nb$bool?t.nb$bool():t.sq$length?0!==t.sq$length():!!t},toJsString:function(t){return String(t)},toJsNumber:function(t){return Number(t)},toJsArray:s,toJsHashMap:r,toPyDict:l,toPyFloat:function(t){return new Sk.builtin.float_(Number(t))},toPyInt:function(t){if("number"==typeof t)return t=Math.trunc(t),Math.abs(t)n(t,e))))},toPyTuple:function(t,e){return new Sk.builtin.tuple(Array.from(t,(t=>n(t,e))))},toPySet:a,numberToPy:o,proxy:u};const c=Object.prototype,p=Function.prototype,h=/^-?\d+$/,_=new WeakMap,d={dictHook:t=>u(t),unhandledHook:t=>String(t)},f=(t,e)=>({dictHook:t=>u(t),funcHook:n=>u(n,{bound:t,name:e}),unhandledHook:t=>String(t)}),m={unhandledHook:t=>{var e=_.get(t);if(e)return e;if(e={v:t,$isPyWrapped:!0,unwrap:()=>t},void 0===t.tp$call)return _.set(t,e),e;const s=(...e)=>{e=e.map((t=>n(t,d)));let s=Sk.misceval.tryCatch((()=>Sk.misceval.chain(t.tp$call(e),(t=>i(t,m)))),(t=>{if(!Sk.uncaughtException)throw t;Sk.uncaughtException(t)}));for(;s instanceof Sk.misceval.Suspension;){if(!s.optional)return Sk.misceval.asyncToPromise((()=>s));s=s.resume()}return s};return _.set(t,Object.assign(s,e)),s}},g=Sk.abstr.buildNativeClass("Proxy",{constructor:function(t,e){if(void 0===t)throw new Sk.builtin.TypeError("Proxy cannot be called from python");this.js$wrapped=t,this.$module=null,this.$methods=Object.create(null),this.in$repr=!1,e||(e={}),Object.defineProperties(this,this.memoized$slots),"function"==typeof t?(this.is$callable=!0,this.$bound=e.bound,this.$name=e.name||t.name||"(native JS)",2>=this.$name.length&&(this.$name+=" (native JS)")):(this.is$callable=!1,delete this.is$type,this.is$type=!1,this.$name=e.name)},slots:{tp$doc:"proxy for a javascript object",tp$hash(){return Sk.builtin.object.prototype.tp$hash.call(this.js$wrapped)},tp$getattr(t){return this.$lookup(t)||Sk.generic.getAttr.call(this,t)},tp$setattr(t,e){t=t.toString(),void 0===e?delete this.js$wrapped[t]:this.js$wrapped[t]=i(e,m)},$r(){if(this.is$callable){if(this.is$type||!this.$bound)return new Sk.builtin.str("<"+this.tp$name+" '"+this.$name+"'>");var t=Sk.misceval.objectRepr(u(this.$bound));return new Sk.builtin.str("")}return this.js$proto===c?this.in$repr?new Sk.builtin.str("{...}"):(this.in$repr=!0,t=Object.entries(this.js$wrapped).map((t=>{var[e,i]=t;return i=n(i,f(this.js$wrapped,e)),"'"+e+"': "+Sk.misceval.objectRepr(i)})),t=new Sk.builtin.str("proxyobject({"+t.join(", ")+"})"),this.in$repr=!1,t):new Sk.builtin.str("<"+this.tp$name+" "+("proxyobject"===this.tp$name?"object":"proxyobject")+">")},tp$as_sequence_or_mapping:!0,mp$subscript(t){const e=this.$lookup(t);if(void 0===e)throw new Sk.builtin.LookupError(t);return e},mp$ass_subscript(t,e){return this.tp$setattr(t,e)},sq$contains(t){return i(t)in this.js$wrapped},ob$eq(t){return this.js$wrapped===t.js$wrapped},ob$ne(t){return this.js$wrapped!==t.js$wrapped},tp$as_number:!0,nb$bool(){return this.js$proto===c?0new Sk.builtin.str(t)))))},$flags:{NoArgs:!0}},__new__:{$meth(t,...e){if(!(t instanceof g))throw new Sk.builtin.TypeError("expected a proxy object as the first argument not "+Sk.abstr.typeName(t));try{return t.$new(e)}catch(e){if(e instanceof TypeError&&e.message.includes("not a constructor"))throw new Sk.builtin.TypeError(Sk.misceval.objectRepr(t)+" is not a constructor");throw e}},$flags:{MinArgs:1}},__call__:{$meth(t,e){if("function"!=typeof this.js$wrapped)throw new Sk.builtin.TypeError("'"+this.tp$name+"' object is not callable");return this.$call(t,e)},$flags:{FastCall:!0}},keys:{$meth(){return new Sk.builtin.list(Object.keys(this.js$wrapped).map((t=>new Sk.builtin.str(t))))},$flags:{NoArgs:!0}},get:{$meth(t,e){return this.$lookup(t)||e||Sk.builtin.none.none$},$flags:{MinArgs:1,MaxArgs:2}}},getsets:{__class__:{$get(){return n(this.js$wrapped.constructor,d)},$set(){throw new Sk.builtin.TypeError("not writable")}},__name__:{$get(){return new Sk.builtin.str(this.$name)}},__module__:{$get(){return this.$module||Sk.builtin.none.none$},$set(t){this.$module=t}}},proto:{valueOf(){return this.js$wrapped},$new(t,e){return Sk.abstr.checkNoKwargs("__new__",e),n(new this.js$wrapped(...t.map((t=>i(t,m)))),{dictHook:t=>u(t),proxyHook:t=>u(t,{name:this.$name})})},$call(t,e){return Sk.abstr.checkNoKwargs("__call__",e),Sk.misceval.chain(this.js$wrapped.apply(this.$bound,t.map((t=>i(t,m)))),(t=>t instanceof Promise?Sk.misceval.promiseToSuspension(t):t),(t=>n(t,d)))},$lookup(t){t=t.toString();const e=this.js$wrapped[t];return void 0!==e?n(e,f(this.js$wrapped,t)):t in this.js$wrapped?Sk.builtin.none.none$:void 0},memoized$slots:{js$proto:{configurable:!0,get(){return delete this.js$proto,this.js$proto=Object.getPrototypeOf(this.js$wrapped)}},$dir:{configurable:!0,get(){const t=[];let e=this.js$wrapped;for(;null!=e&&e!==c&&e!==p;)t.push(...Object.getOwnPropertyNames(e)),e=Object.getPrototypeOf(e);return new Set(t)}},tp$iter:{configurable:!0,get(){return delete this.tp$iter,void 0!==this.js$wrapped[Symbol.iterator]?this.tp$iter=()=>u(this.js$wrapped[Symbol.iterator]()):this.tp$iter=()=>{throw new Sk.builtin.TypeError(Sk.misceval.objectRepr(this)+" is not iterable")}}},tp$iternext:{configurable:!0,get(){if(delete this.tp$iternext,void 0!==this.js$wrapped.next)return this.tp$iternext=()=>{const t=this.js$wrapped.next().value;return t&&n(t,d)}}},sq$length:{configurable:!0,get(){if(delete this.sq$length,!this.is$callable&&void 0!==this.js$wrapped.length)return this.sq$length=()=>this.js$wrapped.length}},tp$call:{configurable:!0,get(){if(delete this.tp$call,this.is$callable)return this.tp$call=this.is$type?this.$new:this.$call}},tp$name:{configurable:!0,get(){if(delete this.tp$name,this.is$callable)return this.tp$name=this.is$type?"proxyclass":this.$bound?"proxymethod":"proxyfunction";{const t=this.js$wrapped;let e=t[Symbol.toStringTag]||this.$name||t.constructor&&t.constructor.name||"proxyobject";return"Object"===e?e="proxyobject":2>=e.length&&(e=u(t.constructor).$name),this.tp$name=e}}},is$type:{configurable:!0,get(){delete this.is$type;var t=this.js$wrapped;const e=t.prototype;if(void 0===e)return this.is$type=t===Sk.global.Proxy;{const e=S.call(t).match(b);t=null===e?null:"class"===e[0]||!k.has(t)}return!0===t?this.is$type=!0:!1===t?this.is$type=!1:1e;r+=n)s.push(new Sk.builtin.int_(r));else{if(t=r=JSBI.BigInt(t),n=JSBI.BigInt(n),e=JSBI.BigInt(e),JSBI.greaterThan(n,JSBI.__ZERO))for(;JSBI.lessThan(r,e);)s.push(new Sk.builtin.int_(i(r))),r=JSBI.add(r,n);else for(;JSBI.greaterThan(r,e);)s.push(new Sk.builtin.int_(i(r))),r=JSBI.add(r,n);t=i(t),n=i(n),e=i(e)}return new Sk.builtin.range_(t,e,n,s)}function i(t){return JSBI.lessThan(t,JSBI.__MAX_SAFE)&&JSBI.greaterThan(t,JSBI.__MIN_SAFE)?JSBI.toNumber(t):t}Sk.builtin.range_=Sk.abstr.buildNativeClass("range",{constructor:function(t,e,n,i){this.start=t,this.stop=e,this.step=n,this.v=i},slots:{tp$getattr:Sk.generic.getAttr,tp$as_sequence_or_mapping:!0,tp$doc:"range(stop) -> range object\nrange(start, stop[, step]) -> range object\n\nReturn an object that produces a sequence of integers from start (inclusive)\nto stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1.\nstart defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3.\nThese are exactly the valid indices for a list of 4 elements.\nWhen step is given, it specifies the increment (or decrement).",tp$new:(t,e)=>(Sk.abstr.checkNoKwargs("range",e),Sk.abstr.checkArgsLen("range",t,1,3),n(t[0],t[1],t[2])),$r(){let t="range("+this.start+", "+this.stop;return 1!=this.step&&(t+=", "+this.step),new Sk.builtin.str(t+")")},tp$richcompare(t,e){return"Eq"!==e&&"NotEq"!==e||t.ob$type!==Sk.builtin.range_?Sk.builtin.NotImplemented.NotImplemented$:(t=new Sk.builtin.list(t.v),new Sk.builtin.list(this.v).tp$richcompare(t,e))},tp$iter(){return new s(this)},nb$bool(){return 0!==this.v.length},sq$contains(t){const e=this.v;for(let n=0;n(t=Sk.misceval.asIndexSized(t))&&(t=this.v.length+t),0>t||t>=this.v.length)throw new Sk.builtin.IndexError("range object index out of range");return this.v[t]}if(t.constructor===Sk.builtin.slice){const e=[],n=this.v;t.sssiter$(n.length,(t=>{e.push(n[t])}));let{start:i,stop:s,step:r}=t.slice$indices(n.length);return i=Sk.misceval.asIndex(n[i])||this.start,s=Sk.misceval.asIndex(n[s])||this.stop,r="number"==typeof this.step?r*this.step:JSBI.multiply(this.step,JSBI.BigInt(r)),new Sk.builtin.range_(i,s,r,e)}throw new Sk.builtin.TypeError("range indices must be integers or slices, not "+Sk.abstr.typeName(t))}},getsets:{start:{$get(){return new Sk.builtin.int_(this.start)}},step:{$get(){return new Sk.builtin.int_(this.step)}},stop:{$get(){return new Sk.builtin.int_(this.stop)}}},methods:{__reversed__:{$meth(){return new r(this)},$flags:{NoArgs:!0},$textsig:null,$doc:"Return a reverse iterator."},count:{$meth(t){let e=0;for(let n=0;n integer -- return number of occurrences of value"},index:{$meth(t){for(let e=0;e integer -- return index of value.\nRaise ValueError if the value is not present."}},proto:{sk$asarray(){return this.v.slice(0)}},flags:{sk$unacceptableBase:!0}});var s=Sk.abstr.buildIteratorClass("range_iterator",{constructor:function(t){this.$index=0,this.$seq=t.v},iternext(){return this.$seq[this.$index++]},methods:{__length_hint__:Sk.generic.iterLengthHintWithArrayMethodDef},flags:{sk$unacceptableBase:!0}}),r=Sk.abstr.buildIteratorClass("range_reverseiterator",{constructor:function(t){this.$seq=t.v,this.$index=this.$seq.length-1},iternext(){return this.$seq[this.$index--]},methods:{__length_hint__:Sk.generic.iterReverseLengthHintMethodDef},flags:{sk$unacceptableBase:!0}});Sk.builtin.range=Sk.builtin.xrange=function(t,e,i){return t=n(t,e,i),new Sk.builtin.list(t.v)}},function(t,e){Sk.builtin.enumerate=Sk.abstr.buildIteratorClass("enumerate",{constructor:function(t,e){if(!(this instanceof Sk.builtin.enumerate))throw TypeError("Failed to construct 'enumerate': Please use the 'new' operator");return this.$iterable=t,this.$index=e,this},iternext(t){const e=Sk.misceval.chain(this.$iterable.tp$iternext(t),(t=>{if(void 0!==t)return new Sk.builtin.tuple([new Sk.builtin.int_(this.$index++),t])}));return t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)},slots:{tp$doc:"Return an enumerate object.\n\n iterable\n an object supporting iteration\n\nThe enumerate object yields pairs containing a count (from start, which\ndefaults to zero) and a value yielded by the iterable argument.\n\nenumerate is useful for obtaining an indexed list:\n (0, seq[0]), (1, seq[1]), (2, seq[2]), ...",tp$new(t,e){let[n,i]=Sk.abstr.copyKeywordsToNamedArgs("enumerate",["iterable","start"],t,e,[new Sk.builtin.int_(0)]);return n=Sk.abstr.iter(n),i=Sk.misceval.asIndexOrThrow(i),this===Sk.builtin.enumerate.prototype?new Sk.builtin.enumerate(n,i):(t=new this.constructor,Sk.builtin.enumerate.call(t,n,i),t)}},classmethods:Sk.generic.classGetItem}),Sk.exportSymbol("Sk.builtin.enumerate",Sk.builtin.enumerate)},function(t,e){Sk.builtin.filter_=Sk.abstr.buildIteratorClass("filter",{constructor:function(t,e){this.$func=t,this.$iterable=e},iternext(t){const e=Sk.misceval.iterFor(this.$iterable,(t=>Sk.misceval.chain(this.check$filter(t),(t=>t?new Sk.misceval.Break(t):void 0))));return t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)},slots:{tp$doc:"Return an iterator yielding those items of iterable for which function(item)\nis true. If function is None, return the items that are true.",tp$new(t,e){let[n,i]=Sk.abstr.copyKeywordsToNamedArgs("filter",["predicate","iterable"],t,e,[]);return n=Sk.builtin.checkNone(n)?null:n,i=Sk.abstr.iter(i),this===Sk.builtin.filter_.prototype?new Sk.builtin.filter_(n,i):(t=new this.constructor,Sk.builtin.filter_.call(t,n,i),t)}},proto:{check$filter(t){let e;return e=null===this.$func?t:Sk.misceval.callsimOrSuspendArray(this.$func,[t]),Sk.misceval.chain(e,(e=>Sk.misceval.isTrue(e)?t:void 0))}}}),Sk.exportSymbol("Sk.builtin.filter_",Sk.builtin.filter_)},function(t,e){Sk.builtin.map_=Sk.abstr.buildIteratorClass("map",{constructor:function(t,e){this.$func=t,this.$iters=e},iternext(t){const e=[],n=Sk.misceval.chain(Sk.misceval.iterArray(this.$iters,(n=>Sk.misceval.chain(n.tp$iternext(t),(t=>{if(void 0===t)return new Sk.misceval.Break(!0);e.push(t)})))),(t=>t?void 0:Sk.misceval.callsimOrSuspendArray(this.$func,e)));return t?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)},slots:{tp$doc:"map(func, *iterables) --\x3e map object\n\nMake an iterator that computes the function using arguments from\neach of the iterables. Stops when the shortest iterable is exhausted.",tp$new(t,e){this===Sk.builtin.map_.prototype&&Sk.abstr.checkNoKwargs("map",e),Sk.abstr.checkArgsLen("map",t,2),e=t[0];const n=[];for(let e=1;ethis.$idx)){var e=Sk.misceval.tryCatch((()=>Sk.abstr.objectGetItem(this.$seq,new Sk.builtin.int_(this.$idx--),t)),(t=>{if(!(t instanceof Sk.builtin.IndexError))throw t;this.$idx=-1}));return t?e:Sk.misceval.retryOptionalSuspensionOrThrow(e)}},slots:{tp$doc:"Return a reverse iterator over the values of the given sequence.",tp$new(t,e){if(this===Sk.builtin.reversed.prototype&&Sk.abstr.checkNoKwargs("reversed",e),Sk.abstr.checkArgsLen("reversed",t,1,1),t=t[0],void 0!==(e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$reversed)))return Sk.misceval.callsimArray(e,[]);if(!Sk.builtin.checkSequence(t)||void 0===Sk.abstr.lookupSpecial(t,Sk.builtin.str.$len))throw new Sk.builtin.TypeError("'"+Sk.abstr.typeName(t)+"' object is not a sequence");return this===Sk.builtin.reversed.prototype?new Sk.builtin.reversed(t):(e=new this.constructor,Sk.builtin.reversed.call(e,t),e)}},methods:{__length_hint__:{$meth:function(){return 0<=this.$idx?new Sk.builtin.int_(this.$idx):new Sk.builtin.int_(0)},$flags:{NoArgs:!0}}}})},function(t,e){Sk.builtin.zip_=Sk.abstr.buildIteratorClass("zip",{constructor:function(t){this.$iters=t,0===t.length&&(this.tp$iternext=()=>{})},iternext(t){const e=[],n=Sk.misceval.chain(Sk.misceval.iterArray(this.$iters,(n=>Sk.misceval.chain(n.tp$iternext(t),(t=>{if(void 0===t)return new Sk.misceval.Break(!0);e.push(t)})))),(t=>t?void 0:new Sk.builtin.tuple(e)));return t?n:Sk.misceval.retryOptionalSuspensionOrThrow(n)},slots:{tp$doc:"zip(iter1 [,iter2 [...]]) --\x3e zip object\n\nReturn a zip object whose .__next__() method returns a tuple where\nthe i-th element comes from the i-th iterable argument. The .__next__()\nmethod continues until the shortest iterable in the argument sequence\nis exhausted and then it raises StopIteration.",tp$new(t,e){this===Sk.builtin.zip_.prototype&&Sk.abstr.checkNoKwargs("zip",e),e=[];for(let n=0;n":n.T_RARROW,".":n.T_DOT,"...":n.T_ELLIPSIS,"/":n.T_SLASH,"//":n.T_DOUBLESLASH,"//=":n.T_DOUBLESLASHEQUAL,"/=":n.T_SLASHEQUAL,":":n.T_COLON,";":n.T_SEMI,"<":n.T_LESS,"<<":n.T_LEFTSHIFT,"<<=":n.T_LEFTSHIFTEQUAL,"<=":n.T_LESSEQUAL,"=":n.T_EQUAL,"==":n.T_EQEQUAL,">":n.T_GREATER,">=":n.T_GREATEREQUAL,">>":n.T_RIGHTSHIFT,">>=":n.T_RIGHTSHIFTEQUAL,"@":n.T_AT,"@=":n.T_ATEQUAL,"[":n.T_LSQB,"]":n.T_RSQB,"^":n.T_CIRCUMFLEX,"^=":n.T_CIRCUMFLEXEQUAL,"{":n.T_LBRACE,"|":n.T_VBAR,"|=":n.T_VBAREQUAL,"}":n.T_RBRACE,"~":n.T_TILDE};var i={};!function(){for(var t in n)i[n[t]]=t}(),["tok_name","ISTERMINAL","ISNONTERMINAL","ISEOF"].concat(Object.keys(i).map((function(t){return i[t]}))),Sk.token={},Sk.token.tokens=n,Sk.token.tok_name=i,Sk.token.EXACT_TOKEN_TYPES=t,Sk.token.ISTERMINAL=function(t){return t=n.T_NT_OFFSET},Sk.token.ISEOF=function(t){return t==n.T_ENDMARKER},Sk.exportSymbol("Sk.token",Sk.token),Sk.exportSymbol("Sk.token.tokens",Sk.token.tokens),Sk.exportSymbol("Sk.token.tok_name",Sk.token.tok_name),Sk.exportSymbol("Sk.token.EXACT_TOKEN_TYPES"),Sk.exportSymbol("Sk.token.ISTERMINAL",Sk.token.ISTERMINAL),Sk.exportSymbol("Sk.token.ISNONTERMINAL",Sk.token.ISNONTERMINAL),Sk.exportSymbol("Sk.token.ISEOF",Sk.token.ISEOF)},function(t,e){Sk.OpMap={"(":Sk.token.tokens.T_LPAR,")":Sk.token.tokens.T_RPAR,"[":Sk.token.tokens.T_LSQB,"]":Sk.token.tokens.T_RSQB,":":Sk.token.tokens.T_COLON,",":Sk.token.tokens.T_COMMA,";":Sk.token.tokens.T_SEMI,"+":Sk.token.tokens.T_PLUS,"-":Sk.token.tokens.T_MINUS,"*":Sk.token.tokens.T_STAR,"/":Sk.token.tokens.T_SLASH,"|":Sk.token.tokens.T_VBAR,"&":Sk.token.tokens.T_AMPER,"<":Sk.token.tokens.T_LESS,">":Sk.token.tokens.T_GREATER,"=":Sk.token.tokens.T_EQUAL,".":Sk.token.tokens.T_DOT,"%":Sk.token.tokens.T_PERCENT,"`":Sk.token.tokens.T_BACKQUOTE,"{":Sk.token.tokens.T_LBRACE,"}":Sk.token.tokens.T_RBRACE,"@":Sk.token.tokens.T_AT,"@=":Sk.token.tokens.T_ATEQUAL,"==":Sk.token.tokens.T_EQEQUAL,"!=":Sk.token.tokens.T_NOTEQUAL,"<>":Sk.token.tokens.T_NOTEQUAL,"<=":Sk.token.tokens.T_LESSEQUAL,">=":Sk.token.tokens.T_GREATEREQUAL,"~":Sk.token.tokens.T_TILDE,"^":Sk.token.tokens.T_CIRCUMFLEX,"<<":Sk.token.tokens.T_LEFTSHIFT,">>":Sk.token.tokens.T_RIGHTSHIFT,"**":Sk.token.tokens.T_DOUBLESTAR,"+=":Sk.token.tokens.T_PLUSEQUAL,"-=":Sk.token.tokens.T_MINEQUAL,"*=":Sk.token.tokens.T_STAREQUAL,"/=":Sk.token.tokens.T_SLASHEQUAL,"%=":Sk.token.tokens.T_PERCENTEQUAL,"&=":Sk.token.tokens.T_AMPEREQUAL,"|=":Sk.token.tokens.T_VBAREQUAL,"^=":Sk.token.tokens.T_CIRCUMFLEXEQUAL,"<<=":Sk.token.tokens.T_LEFTSHIFTEQUAL,">>=":Sk.token.tokens.T_RIGHTSHIFTEQUAL,"**=":Sk.token.tokens.T_DOUBLESTAREQUAL,"//":Sk.token.tokens.T_DOUBLESLASH,"//=":Sk.token.tokens.T_DOUBLESLASHEQUAL,"->":Sk.token.tokens.T_RARROW,"...":Sk.token.tokens.T_ELLIPSIS},Sk.ParseTables={sym:{and_expr:257,and_test:258,annassign:259,arglist:260,argument:261,arith_expr:262,assert_stmt:263,async_funcdef:264,async_stmt:265,atom:266,atom_expr:267,augassign:268,break_stmt:269,classdef:270,comp_for:271,comp_if:272,comp_iter:273,comp_op:274,comparison:275,compound_stmt:276,continue_stmt:277,debugger_stmt:278,decorated:279,decorator:280,decorators:281,del_stmt:282,dictorsetmaker:283,dotted_as_name:284,dotted_as_names:285,dotted_name:286,encoding_decl:287,eval_input:288,except_clause:289,expr:290,expr_stmt:291,exprlist:292,factor:293,file_input:294,flow_stmt:295,for_stmt:296,funcdef:297,global_stmt:298,if_stmt:299,import_as_name:300,import_as_names:301,import_from:302,import_name:303,import_stmt:304,lambdef:305,lambdef_nocond:306,nonlocal_stmt:307,not_test:308,or_test:309,parameters:310,pass_stmt:311,power:312,print_stmt:313,raise_stmt:314,return_stmt:315,shift_expr:316,simple_stmt:317,single_input:256,sliceop:318,small_stmt:319,star_expr:320,stmt:321,subscript:322,subscriptlist:323,suite:324,term:325,test:326,test_nocond:327,testlist:328,testlist_comp:329,testlist_star_expr:330,tfpdef:331,trailer:332,try_stmt:333,typedargslist:334,varargslist:335,vfpdef:336,while_stmt:337,with_item:338,with_stmt:339,xor_expr:340,yield_arg:341,yield_expr:342,yield_stmt:343},number2symbol:{256:"single_input",257:"and_expr",258:"and_test",259:"annassign",260:"arglist",261:"argument",262:"arith_expr",263:"assert_stmt",264:"async_funcdef",265:"async_stmt",266:"atom",267:"atom_expr",268:"augassign",269:"break_stmt",270:"classdef",271:"comp_for",272:"comp_if",273:"comp_iter",274:"comp_op",275:"comparison",276:"compound_stmt",277:"continue_stmt",278:"debugger_stmt",279:"decorated",280:"decorator",281:"decorators",282:"del_stmt",283:"dictorsetmaker",284:"dotted_as_name",285:"dotted_as_names",286:"dotted_name",287:"encoding_decl",288:"eval_input",289:"except_clause",290:"expr",291:"expr_stmt",292:"exprlist",293:"factor",294:"file_input",295:"flow_stmt",296:"for_stmt",297:"funcdef",298:"global_stmt",299:"if_stmt",300:"import_as_name",301:"import_as_names",302:"import_from",303:"import_name",304:"import_stmt",305:"lambdef",306:"lambdef_nocond",307:"nonlocal_stmt",308:"not_test",309:"or_test",310:"parameters",311:"pass_stmt",312:"power",313:"print_stmt",314:"raise_stmt",315:"return_stmt",316:"shift_expr",317:"simple_stmt",318:"sliceop",319:"small_stmt",320:"star_expr",321:"stmt",322:"subscript",323:"subscriptlist",324:"suite",325:"term",326:"test",327:"test_nocond",328:"testlist",329:"testlist_comp",330:"testlist_star_expr",331:"tfpdef",332:"trailer",333:"try_stmt",334:"typedargslist",335:"varargslist",336:"vfpdef",337:"while_stmt",338:"with_item",339:"with_stmt",340:"xor_expr",341:"yield_arg",342:"yield_expr",343:"yield_stmt"},dfas:{256:[[[[1,1],[2,1],[3,2]],[[0,1]],[[2,1]]],{2:1,4:1,5:1,6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1,40:1,41:1,42:1,43:1}],257:[[[[44,1]],[[45,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],258:[[[[46,1]],[[47,0],[0,1]]],{6:1,7:1,8:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],259:[[[[48,1]],[[49,2]],[[50,3],[0,2]],[[49,4]],[[0,4]]],{48:1}],260:[[[[51,1]],[[52,2],[0,1]],[[51,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,53:1}],261:[[[[49,1],[15,2],[53,2]],[[50,2],[54,3],[0,1]],[[49,3]],[[0,3]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,53:1}],262:[[[[55,1]],[[30,0],[43,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],263:[[[[24,1]],[[49,2]],[[52,3],[0,2]],[[49,4]],[[0,4]]],{24:1}],264:[[[[10,1]],[[56,2]],[[0,2]]],{10:1}],265:[[[[10,1]],[[57,2],[56,2],[58,2]],[[0,2]]],{10:1}],266:[[[[6,1],[25,1],[33,1],[9,1],[11,1],[12,2],[35,3],[38,4],[19,1],[7,5]],[[0,1]],[[59,1],[60,6]],[[61,1],[62,7],[63,7]],[[64,1],[63,8]],[[7,5],[0,5]],[[59,1]],[[61,1]],[[64,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,25:1,33:1,35:1,38:1}],267:[[[[29,1],[65,2]],[[65,2]],[[66,2],[0,2]]],{6:1,7:1,9:1,11:1,12:1,19:1,25:1,29:1,33:1,35:1,38:1}],268:[[[[67,1],[68,1],[69,1],[70,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[79,1]],[[0,1]]],{67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:1,75:1,76:1,77:1,78:1,79:1}],269:[[[[39,1]],[[0,1]]],{39:1}],270:[[[[13,1]],[[25,2]],[[48,3],[35,4]],[[80,5]],[[61,6],[81,7]],[[0,5]],[[48,3]],[[61,6]]],{13:1}],271:[[[[10,1],[34,2]],[[34,2]],[[82,3]],[[83,4]],[[84,5]],[[85,6],[0,5]],[[0,6]]],{10:1,34:1}],272:[[[[37,1]],[[86,2]],[[85,3],[0,2]],[[0,3]]],{37:1}],273:[[[[87,1],[54,1]],[[0,1]]],{10:1,34:1,37:1}],274:[[[[88,1],[89,1],[8,2],[90,1],[88,1],[83,1],[91,1],[92,3],[93,1],[94,1]],[[0,1]],[[83,1]],[[8,1],[0,3]]],{8:1,83:1,88:1,89:1,90:1,91:1,92:1,93:1,94:1}],275:[[[[95,1]],[[96,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],276:[[[[97,1],[98,1],[58,1],[99,1],[57,1],[100,1],[56,1],[101,1],[102,1]],[[0,1]]],{4:1,10:1,13:1,20:1,21:1,34:1,37:1,41:1,42:1}],277:[[[[40,1]],[[0,1]]],{40:1}],278:[[[[17,1]],[[0,1]]],{17:1}],279:[[[[103,1]],[[56,2],[104,2],[99,2]],[[0,2]]],{41:1}],280:[[[[41,1]],[[105,2]],[[2,4],[35,3]],[[61,5],[81,6]],[[0,4]],[[2,4]],[[61,5]]],{41:1}],281:[[[[106,1]],[[106,1],[0,1]]],{41:1}],282:[[[[27,1]],[[82,2]],[[0,2]]],{27:1}],283:[[[[49,1],[107,2],[53,3]],[[48,4],[54,5],[52,6],[0,1]],[[54,5],[52,6],[0,2]],[[95,7]],[[49,7]],[[0,5]],[[49,8],[107,8],[0,6]],[[54,5],[52,9],[0,7]],[[52,6],[0,8]],[[49,10],[53,11],[0,9]],[[48,12]],[[95,13]],[[49,13]],[[52,9],[0,13]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,53:1}],284:[[[[105,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],{25:1}],285:[[[[109,1]],[[52,0],[0,1]]],{25:1}],286:[[[[25,1]],[[110,0],[0,1]]],{25:1}],287:[[[[25,1]],[[0,1]]],{25:1}],288:[[[[111,1]],[[2,1],[112,2]],[[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],289:[[[[113,1]],[[49,2],[0,1]],[[108,3],[52,3],[0,2]],[[49,4]],[[0,4]]],{113:1}],290:[[[[114,1]],[[115,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],291:[[[[116,1]],[[117,2],[50,3],[118,4],[0,1]],[[111,4],[62,4]],[[116,5],[62,5]],[[0,4]],[[50,3],[0,5]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],292:[[[[95,1],[107,1]],[[52,2],[0,1]],[[95,1],[107,1],[0,2]]],{6:1,7:1,9:1,11:1,12:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],293:[[[[119,2],[30,1],[22,1],[43,1]],[[120,2]],[[0,2]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],294:[[[[2,0],[112,1],[121,0]],[[0,1]]],{2:1,4:1,5:1,6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1,40:1,41:1,42:1,43:1,112:1}],295:[[[[122,1],[123,1],[124,1],[125,1],[126,1]],[[0,1]]],{5:1,23:1,31:1,39:1,40:1}],296:[[[[34,1]],[[82,2]],[[83,3]],[[111,4]],[[48,5]],[[80,6]],[[127,7],[0,6]],[[48,8]],[[80,9]],[[0,9]]],{34:1}],297:[[[[4,1]],[[25,2]],[[128,3]],[[48,4],[129,5]],[[80,6]],[[49,7]],[[0,6]],[[48,4]]],{4:1}],298:[[[[26,1]],[[25,2]],[[52,1],[0,2]]],{26:1}],299:[[[[37,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[130,1],[0,4]],[[48,6]],[[80,7]],[[0,7]]],{37:1}],300:[[[[25,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],{25:1}],301:[[[[131,1]],[[52,2],[0,1]],[[131,1],[0,2]]],{25:1}],302:[[[[36,1]],[[105,2],[19,3],[110,3]],[[32,4]],[[105,2],[19,3],[32,4],[110,3]],[[132,5],[15,5],[35,6]],[[0,5]],[[132,7]],[[61,5]]],{36:1}],303:[[[[32,1]],[[133,2]],[[0,2]]],{32:1}],304:[[[[134,1],[135,1]],[[0,1]]],{32:1,36:1}],305:[[[[14,1]],[[48,2],[136,3]],[[49,4]],[[48,2]],[[0,4]]],{14:1}],306:[[[[14,1]],[[48,2],[136,3]],[[86,4]],[[48,2]],[[0,4]]],{14:1}],307:[[[[18,1]],[[25,2]],[[52,1],[0,2]]],{18:1}],308:[[[[8,1],[137,2]],[[46,2]],[[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],309:[[[[138,1]],[[139,0],[0,1]]],{6:1,7:1,8:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],310:[[[[35,1]],[[61,2],[140,3]],[[0,2]],[[61,2]]],{35:1}],311:[[[[28,1]],[[0,1]]],{28:1}],312:[[[[141,1]],[[53,2],[0,1]],[[120,3]],[[0,3]]],{6:1,7:1,9:1,11:1,12:1,19:1,25:1,29:1,33:1,35:1,38:1}],313:[[[[16,1]],[[49,2],[142,3],[0,1]],[[52,4],[0,2]],[[49,5]],[[49,2],[0,4]],[[52,6],[0,5]],[[49,7]],[[52,8],[0,7]],[[49,7],[0,8]]],{16:1}],314:[[[[5,1]],[[49,2],[0,1]],[[36,3],[52,3],[0,2]],[[49,4]],[[52,5],[0,4]],[[49,6]],[[0,6]]],{5:1}],315:[[[[23,1]],[[111,2],[0,1]],[[0,2]]],{23:1}],316:[[[[143,1]],[[144,0],[142,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],317:[[[[145,1]],[[2,2],[146,3]],[[0,2]],[[145,1],[2,2]]],{5:1,6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,35:1,36:1,38:1,39:1,40:1,43:1}],318:[[[[48,1]],[[49,2],[0,1]],[[0,2]]],{48:1}],319:[[[[147,1],[148,1],[149,1],[150,1],[151,1],[152,1],[153,1],[154,1],[155,1],[156,1]],[[0,1]]],{5:1,6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,35:1,36:1,38:1,39:1,40:1,43:1}],320:[[[[15,1]],[[95,2]],[[0,2]]],{15:1}],321:[[[[1,1],[3,1]],[[0,1]]],{4:1,5:1,6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,34:1,35:1,36:1,37:1,38:1,39:1,40:1,41:1,42:1,43:1}],322:[[[[49,1],[48,2]],[[48,2],[0,1]],[[49,3],[157,4],[0,2]],[[157,4],[0,3]],[[0,4]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,48:1}],323:[[[[158,1]],[[52,2],[0,1]],[[158,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1,48:1}],324:[[[[1,1],[2,2]],[[0,1]],[[159,3]],[[121,4]],[[160,1],[121,4]]],{2:1,5:1,6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,22:1,23:1,24:1,25:1,26:1,27:1,28:1,29:1,30:1,31:1,32:1,33:1,35:1,36:1,38:1,39:1,40:1,43:1}],325:[[[[120,1]],[[161,0],[15,0],[162,0],[41,0],[163,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],326:[[[[84,1],[164,2]],[[37,3],[0,1]],[[0,2]],[[84,4]],[[127,5]],[[49,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],327:[[[[165,1],[84,1]],[[0,1]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],328:[[[[49,1]],[[52,2],[0,1]],[[49,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],329:[[[[49,1],[107,1]],[[54,2],[52,3],[0,1]],[[0,2]],[[49,4],[107,4],[0,3]],[[52,3],[0,4]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],330:[[[[49,1],[107,1]],[[52,2],[0,1]],[[49,1],[107,1],[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,15:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],331:[[[[25,1]],[[48,2],[0,1]],[[49,3]],[[0,3]]],{25:1}],332:[[[[35,1],[110,2],[38,3]],[[61,4],[81,5]],[[25,4]],[[166,6]],[[0,4]],[[61,4]],[[64,4]]],{35:1,38:1,110:1}],333:[[[[20,1]],[[48,2]],[[80,3]],[[167,4],[168,5]],[[48,6]],[[48,7]],[[80,8]],[[80,9]],[[167,4],[127,10],[168,5],[0,8]],[[0,9]],[[48,11]],[[80,12]],[[168,5],[0,12]]],{20:1}],334:[[[[15,1],[169,2],[53,3]],[[169,4],[52,5],[0,1]],[[50,6],[52,7],[0,2]],[[169,8]],[[52,5],[0,4]],[[169,9],[53,3],[0,5]],[[49,10]],[[15,11],[169,2],[53,3],[0,7]],[[52,12],[0,8]],[[50,13],[52,5],[0,9]],[[52,7],[0,10]],[[169,14],[52,15],[0,11]],[[0,12]],[[49,4]],[[52,15],[0,14]],[[169,16],[53,3],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],{15:1,25:1,53:1}],335:[[[[15,1],[53,2],[170,3]],[[170,5],[52,4],[0,1]],[[170,6]],[[50,7],[52,8],[0,3]],[[53,2],[170,9],[0,4]],[[52,4],[0,5]],[[52,10],[0,6]],[[49,11]],[[15,12],[53,2],[170,3],[0,8]],[[50,13],[52,4],[0,9]],[[0,10]],[[52,8],[0,11]],[[52,15],[170,14],[0,12]],[[49,5]],[[52,15],[0,14]],[[53,2],[170,16],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],{15:1,25:1,53:1}],336:[[[[25,1]],[[0,1]]],{25:1}],337:[[[[21,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[0,4]],[[48,6]],[[80,7]],[[0,7]]],{21:1}],338:[[[[49,1]],[[108,2],[0,1]],[[95,3]],[[0,3]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],339:[[[[42,1]],[[171,2]],[[48,3],[52,1]],[[80,4]],[[0,4]]],{42:1}],340:[[[[172,1]],[[173,0],[0,1]]],{6:1,7:1,9:1,11:1,12:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,38:1,43:1}],341:[[[[111,2],[36,1]],[[49,2]],[[0,2]]],{6:1,7:1,8:1,9:1,11:1,12:1,14:1,19:1,22:1,25:1,29:1,30:1,33:1,35:1,36:1,38:1,43:1}],342:[[[[31,1]],[[174,2],[0,1]],[[0,2]]],{31:1}],343:[[[[62,1]],[[0,1]]],{31:1}]},states:[[[[1,1],[2,1],[3,2]],[[0,1]],[[2,1]]],[[[44,1]],[[45,0],[0,1]]],[[[46,1]],[[47,0],[0,1]]],[[[48,1]],[[49,2]],[[50,3],[0,2]],[[49,4]],[[0,4]]],[[[51,1]],[[52,2],[0,1]],[[51,1],[0,2]]],[[[49,1],[15,2],[53,2]],[[50,2],[54,3],[0,1]],[[49,3]],[[0,3]]],[[[55,1]],[[30,0],[43,0],[0,1]]],[[[24,1]],[[49,2]],[[52,3],[0,2]],[[49,4]],[[0,4]]],[[[10,1]],[[56,2]],[[0,2]]],[[[10,1]],[[57,2],[56,2],[58,2]],[[0,2]]],[[[6,1],[25,1],[33,1],[9,1],[11,1],[12,2],[35,3],[38,4],[19,1],[7,5]],[[0,1]],[[59,1],[60,6]],[[61,1],[62,7],[63,7]],[[64,1],[63,8]],[[7,5],[0,5]],[[59,1]],[[61,1]],[[64,1]]],[[[29,1],[65,2]],[[65,2]],[[66,2],[0,2]]],[[[67,1],[68,1],[69,1],[70,1],[71,1],[72,1],[73,1],[74,1],[75,1],[76,1],[77,1],[78,1],[79,1]],[[0,1]]],[[[39,1]],[[0,1]]],[[[13,1]],[[25,2]],[[48,3],[35,4]],[[80,5]],[[61,6],[81,7]],[[0,5]],[[48,3]],[[61,6]]],[[[10,1],[34,2]],[[34,2]],[[82,3]],[[83,4]],[[84,5]],[[85,6],[0,5]],[[0,6]]],[[[37,1]],[[86,2]],[[85,3],[0,2]],[[0,3]]],[[[87,1],[54,1]],[[0,1]]],[[[88,1],[89,1],[8,2],[90,1],[88,1],[83,1],[91,1],[92,3],[93,1],[94,1]],[[0,1]],[[83,1]],[[8,1],[0,3]]],[[[95,1]],[[96,0],[0,1]]],[[[97,1],[98,1],[58,1],[99,1],[57,1],[100,1],[56,1],[101,1],[102,1]],[[0,1]]],[[[40,1]],[[0,1]]],[[[17,1]],[[0,1]]],[[[103,1]],[[56,2],[104,2],[99,2]],[[0,2]]],[[[41,1]],[[105,2]],[[2,4],[35,3]],[[61,5],[81,6]],[[0,4]],[[2,4]],[[61,5]]],[[[106,1]],[[106,1],[0,1]]],[[[27,1]],[[82,2]],[[0,2]]],[[[49,1],[107,2],[53,3]],[[48,4],[54,5],[52,6],[0,1]],[[54,5],[52,6],[0,2]],[[95,7]],[[49,7]],[[0,5]],[[49,8],[107,8],[0,6]],[[54,5],[52,9],[0,7]],[[52,6],[0,8]],[[49,10],[53,11],[0,9]],[[48,12]],[[95,13]],[[49,13]],[[52,9],[0,13]]],[[[105,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],[[[109,1]],[[52,0],[0,1]]],[[[25,1]],[[110,0],[0,1]]],[[[25,1]],[[0,1]]],[[[111,1]],[[2,1],[112,2]],[[0,2]]],[[[113,1]],[[49,2],[0,1]],[[108,3],[52,3],[0,2]],[[49,4]],[[0,4]]],[[[114,1]],[[115,0],[0,1]]],[[[116,1]],[[117,2],[50,3],[118,4],[0,1]],[[111,4],[62,4]],[[116,5],[62,5]],[[0,4]],[[50,3],[0,5]]],[[[95,1],[107,1]],[[52,2],[0,1]],[[95,1],[107,1],[0,2]]],[[[119,2],[30,1],[22,1],[43,1]],[[120,2]],[[0,2]]],[[[2,0],[112,1],[121,0]],[[0,1]]],[[[122,1],[123,1],[124,1],[125,1],[126,1]],[[0,1]]],[[[34,1]],[[82,2]],[[83,3]],[[111,4]],[[48,5]],[[80,6]],[[127,7],[0,6]],[[48,8]],[[80,9]],[[0,9]]],[[[4,1]],[[25,2]],[[128,3]],[[48,4],[129,5]],[[80,6]],[[49,7]],[[0,6]],[[48,4]]],[[[26,1]],[[25,2]],[[52,1],[0,2]]],[[[37,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[130,1],[0,4]],[[48,6]],[[80,7]],[[0,7]]],[[[25,1]],[[108,2],[0,1]],[[25,3]],[[0,3]]],[[[131,1]],[[52,2],[0,1]],[[131,1],[0,2]]],[[[36,1]],[[105,2],[19,3],[110,3]],[[32,4]],[[105,2],[19,3],[32,4],[110,3]],[[132,5],[15,5],[35,6]],[[0,5]],[[132,7]],[[61,5]]],[[[32,1]],[[133,2]],[[0,2]]],[[[134,1],[135,1]],[[0,1]]],[[[14,1]],[[48,2],[136,3]],[[49,4]],[[48,2]],[[0,4]]],[[[14,1]],[[48,2],[136,3]],[[86,4]],[[48,2]],[[0,4]]],[[[18,1]],[[25,2]],[[52,1],[0,2]]],[[[8,1],[137,2]],[[46,2]],[[0,2]]],[[[138,1]],[[139,0],[0,1]]],[[[35,1]],[[61,2],[140,3]],[[0,2]],[[61,2]]],[[[28,1]],[[0,1]]],[[[141,1]],[[53,2],[0,1]],[[120,3]],[[0,3]]],[[[16,1]],[[49,2],[142,3],[0,1]],[[52,4],[0,2]],[[49,5]],[[49,2],[0,4]],[[52,6],[0,5]],[[49,7]],[[52,8],[0,7]],[[49,7],[0,8]]],[[[5,1]],[[49,2],[0,1]],[[36,3],[52,3],[0,2]],[[49,4]],[[52,5],[0,4]],[[49,6]],[[0,6]]],[[[23,1]],[[111,2],[0,1]],[[0,2]]],[[[143,1]],[[144,0],[142,0],[0,1]]],[[[145,1]],[[2,2],[146,3]],[[0,2]],[[145,1],[2,2]]],[[[48,1]],[[49,2],[0,1]],[[0,2]]],[[[147,1],[148,1],[149,1],[150,1],[151,1],[152,1],[153,1],[154,1],[155,1],[156,1]],[[0,1]]],[[[15,1]],[[95,2]],[[0,2]]],[[[1,1],[3,1]],[[0,1]]],[[[49,1],[48,2]],[[48,2],[0,1]],[[49,3],[157,4],[0,2]],[[157,4],[0,3]],[[0,4]]],[[[158,1]],[[52,2],[0,1]],[[158,1],[0,2]]],[[[1,1],[2,2]],[[0,1]],[[159,3]],[[121,4]],[[160,1],[121,4]]],[[[120,1]],[[161,0],[15,0],[162,0],[41,0],[163,0],[0,1]]],[[[84,1],[164,2]],[[37,3],[0,1]],[[0,2]],[[84,4]],[[127,5]],[[49,2]]],[[[165,1],[84,1]],[[0,1]]],[[[49,1]],[[52,2],[0,1]],[[49,1],[0,2]]],[[[49,1],[107,1]],[[54,2],[52,3],[0,1]],[[0,2]],[[49,4],[107,4],[0,3]],[[52,3],[0,4]]],[[[49,1],[107,1]],[[52,2],[0,1]],[[49,1],[107,1],[0,2]]],[[[25,1]],[[48,2],[0,1]],[[49,3]],[[0,3]]],[[[35,1],[110,2],[38,3]],[[61,4],[81,5]],[[25,4]],[[166,6]],[[0,4]],[[61,4]],[[64,4]]],[[[20,1]],[[48,2]],[[80,3]],[[167,4],[168,5]],[[48,6]],[[48,7]],[[80,8]],[[80,9]],[[167,4],[127,10],[168,5],[0,8]],[[0,9]],[[48,11]],[[80,12]],[[168,5],[0,12]]],[[[15,1],[169,2],[53,3]],[[169,4],[52,5],[0,1]],[[50,6],[52,7],[0,2]],[[169,8]],[[52,5],[0,4]],[[169,9],[53,3],[0,5]],[[49,10]],[[15,11],[169,2],[53,3],[0,7]],[[52,12],[0,8]],[[50,13],[52,5],[0,9]],[[52,7],[0,10]],[[169,14],[52,15],[0,11]],[[0,12]],[[49,4]],[[52,15],[0,14]],[[169,16],[53,3],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],[[[15,1],[53,2],[170,3]],[[170,5],[52,4],[0,1]],[[170,6]],[[50,7],[52,8],[0,3]],[[53,2],[170,9],[0,4]],[[52,4],[0,5]],[[52,10],[0,6]],[[49,11]],[[15,12],[53,2],[170,3],[0,8]],[[50,13],[52,4],[0,9]],[[0,10]],[[52,8],[0,11]],[[52,15],[170,14],[0,12]],[[49,5]],[[52,15],[0,14]],[[53,2],[170,16],[0,15]],[[50,17],[52,15],[0,16]],[[49,14]]],[[[25,1]],[[0,1]]],[[[21,1]],[[49,2]],[[48,3]],[[80,4]],[[127,5],[0,4]],[[48,6]],[[80,7]],[[0,7]]],[[[49,1]],[[108,2],[0,1]],[[95,3]],[[0,3]]],[[[42,1]],[[171,2]],[[48,3],[52,1]],[[80,4]],[[0,4]]],[[[172,1]],[[173,0],[0,1]]],[[[111,2],[36,1]],[[49,2]],[[0,2]]],[[[31,1]],[[174,2],[0,1]],[[0,2]]],[[[62,1]],[[0,1]]]],labels:[[0,"EMPTY"],[317,null],[4,null],[276,null],[1,"def"],[1,"raise"],[1,"True"],[3,null],[1,"not"],[1,"None"],[55,null],[2,null],[25,null],[1,"class"],[1,"lambda"],[16,null],[1,"print"],[1,"debugger"],[1,"nonlocal"],[52,null],[1,"try"],[1,"while"],[31,null],[1,"return"],[1,"assert"],[1,null],[1,"global"],[1,"del"],[1,"pass"],[54,null],[15,null],[1,"yield"],[1,"import"],[1,"False"],[1,"for"],[7,null],[1,"from"],[1,"if"],[9,null],[1,"break"],[1,"continue"],[49,null],[1,"with"],[14,null],[316,null],[19,null],[308,null],[1,"and"],[11,null],[326,null],[22,null],[261,null],[12,null],[35,null],[271,null],[325,null],[297,null],[339,null],[296,null],[26,null],[283,null],[8,null],[342,null],[329,null],[10,null],[266,null],[332,null],[45,null],[38,null],[40,null],[50,null],[46,null],[41,null],[42,null],[36,null],[43,null],[48,null],[44,null],[37,null],[39,null],[324,null],[260,null],[292,null],[1,"in"],[309,null],[273,null],[327,null],[272,null],[28,null],[21,null],[27,null],[29,null],[1,"is"],[30,null],[20,null],[290,null],[274,null],[333,null],[299,null],[270,null],[337,null],[279,null],[265,null],[281,null],[264,null],[286,null],[280,null],[320,null],[1,"as"],[284,null],[23,null],[328,null],[0,null],[1,"except"],[340,null],[18,null],[330,null],[268,null],[259,null],[312,null],[293,null],[321,null],[269,null],[277,null],[314,null],[315,null],[343,null],[1,"else"],[310,null],[51,null],[1,"elif"],[300,null],[301,null],[285,null],[303,null],[302,null],[335,null],[275,null],[258,null],[1,"or"],[334,null],[267,null],[34,null],[262,null],[33,null],[319,null],[13,null],[295,null],[263,null],[291,null],[311,null],[307,null],[313,null],[282,null],[298,null],[304,null],[278,null],[318,null],[322,null],[5,null],[6,null],[47,null],[17,null],[24,null],[305,null],[306,null],[323,null],[289,null],[1,"finally"],[331,null],[336,null],[338,null],[257,null],[32,null],[341,null]],keywords:{False:33,None:9,True:6,and:47,as:108,assert:24,break:39,class:13,continue:40,debugger:17,def:4,del:27,elif:130,else:127,except:113,finally:168,for:34,from:36,global:26,if:37,import:32,in:83,is:92,lambda:14,nonlocal:18,not:8,or:139,pass:28,print:16,raise:5,return:23,try:20,while:21,with:42,yield:31},tokens:{0:112,1:25,2:11,3:7,4:2,5:159,6:160,7:35,8:61,9:38,10:64,11:48,12:52,13:146,14:43,15:30,16:15,17:162,18:115,19:45,20:94,21:89,22:50,23:110,24:163,25:12,26:59,27:90,28:88,29:91,30:93,31:22,32:173,33:144,34:142,35:53,36:74,37:78,38:68,39:79,40:69,41:72,42:73,43:75,44:77,45:67,46:71,47:161,48:76,49:41,50:70,51:129,52:19,54:29,55:10},start:256}},function(t,e){function n(t,e){return this.filename=t,this.grammar=e,this.p_flags=0,this}n.FUTURE_PRINT_FUNCTION="print_function",n.FUTURE_UNICODE_LITERALS="unicode_literals",n.FUTURE_DIVISION="division",n.FUTURE_ABSOLUTE_IMPORT="absolute_import",n.FUTURE_WITH_STATEMENT="with_statement",n.FUTURE_NESTED_SCOPES="nested_scopes",n.FUTURE_GENERATORS="generators",n.CO_FUTURE_PRINT_FUNCTION=65536,n.CO_FUTURE_UNICODE_LITERALS=131072,n.CO_FUTURE_DIVISON=8192,n.CO_FUTURE_ABSOLUTE_IMPORT=16384,n.CO_FUTURE_WITH_STATEMENT=32768,n.prototype.setup=function(t){t=t||this.grammar.start,this.stack=[{dfa:this.grammar.dfas[t],state:0,node:{type:t,value:null,context:null,children:[]}}],this.used_names={}},n.prototype.addtoken=function(t,e,n){var i,s=this.classify(t,e,n);t:for(;;){var r=this.stack[this.stack.length-1],o=r.dfa[0],a=o[r.state];for(i=0;ic),this.shift(t,e,u,n),n=u;1===o[n].length&&0===o[n][0][0]&&o[n][0][1]===n;){if(this.pop(),0===this.stack.length)return!0;n=(r=this.stack[this.stack.length-1]).state,o=r.dfa[0]}return!1}if(256<=c&&(l=(l=this.grammar.dfas[c])[1]).hasOwnProperty(s)){this.push(c,this.grammar.dfas[c],u,n);continue t}}e:{for(o=[0,r.state],r=a.length;r--;)if(a[r][0]===o[0]&&a[r][1]===o[1]){a=!0;break e}a=!1}if(!a)throw t=n[0][0],new Sk.builtin.SyntaxError("bad input",this.filename,t,n);if(this.pop(),0===this.stack.length)throw new Sk.builtin.SyntaxError("too much input",this.filename)}},n.prototype.classify=function(t,e,i){if(t===Sk.token.tokens.T_NAME){this.used_names[e]=!0;var s=this.grammar.keywords.hasOwnProperty(e)&&this.grammar.keywords[e];if("print"===e&&(this.p_flags&n.CO_FUTURE_PRINT_FUNCTION||!0===Sk.__future__.print_function)&&(s=!1),s)return s}if(!(s=this.grammar.tokens.hasOwnProperty(t)&&this.grammar.tokens[t])){e="#"+t;for(let n in Sk.token.tokens)if(Sk.token.tokens[n]==t){e=n;break}throw new Sk.builtin.SyntaxError("bad token "+e,this.filename,i[0][0],i)}return s},n.prototype.shift=function(t,e,n,i){var s=this.stack[this.stack.length-1].dfa,r=this.stack[this.stack.length-1].node;r.children.push({type:t,value:e,lineno:i[0][0],col_offset:i[0][1],children:null}),this.stack[this.stack.length-1]={dfa:s,state:n,node:r}},n.prototype.push=function(t,e,n,i){t={type:t,value:null,lineno:i[0][0],col_offset:i[0][1],children:[]},this.stack[this.stack.length-1]={dfa:this.stack[this.stack.length-1].dfa,state:n,node:this.stack[this.stack.length-1].node},this.stack.push({dfa:e,state:0,node:t})},n.prototype.pop=function(){var t=this.stack.pop().node;if(t)if(0!==this.stack.length){this.stack[this.stack.length-1].node.children.push(t)}else this.rootnode=t,this.rootnode.used_names=this.used_names},Sk.parse=function(t,e){var i,s=Sk.token.tokens.T_COMMENT,r=Sk.token.tokens.T_NL,o=Sk.token.tokens.T_OP,a=Sk.token.tokens.T_ENDMARKER,l=Sk.token.tokens.T_ENCODING,u=!1,c=function(t,e){return void 0===e&&(e="file_input"),t=new n(t,Sk.ParseTables),"file_input"===e?t.setup(Sk.ParseTables.sym.file_input):Sk.asserts.fail("todo;"),t}(t);if(Sk._tokenize(t,(i=e.split("\n").reverse().map((function(t){return t+"\n"})),function(){if(0===i.length)throw new Sk.builtin.Exception("EOF");return i.pop()}),"utf-8",(function(t){var e=null;t.type!==s&&t.type!==r&&t.type!==l&&(t.type===o&&(e=Sk.OpMap[t.string]),c.addtoken(e||t.type,t.string,[t.start,t.end,t.line]),t.type===a&&(u=!0))})),!u)throw new Sk.builtin.SyntaxError("incomplete input",this.filename);return{cst:c.rootnode,flags:c.p_flags}},Sk.parseTreeDump=function(t,e){var n,i=""+(e=e||"");if(256<=t.type)for(i+=Sk.ParseTables.number2symbol[t.type]+"\n",n=0;n=i(e)||o+2==i(e)&&s(e,o+1).type==V.T_COMMA)throw new Sk.builtin.SyntaxError("named arguments must follow bare *",t.c_filename,e.lineno);(_=s(e,o+1)).type==V.T_COMMA?o=$(t,e,o+=2,u,c):(p=v(t,_),(o+=3)t.c_feature_version)return o(t,l,"Async functions are only supported in Python 3.5 and greater"),null;r(l,B.funcdef);var d=h(s(l,p));if(u(t,0,s(l,p),0))return null;var f=w(t,s(l,p+1));if(!f)return null;if(s(l,p+2).type==V.T_RARROW){if(!(c=F(t,s(l,p+3))))return null;p+=2}if(s(l,p+3).type==V.T_TYPE_COMMENT){if(!(_=V.T_NEW_TYPE_COMMENT(s(l,p+3))))return null;p+=1}var g=m(t,s(l,p+3));if(!g)return null;if(1":return Sk.astnodes.RShift;case"&":return Sk.astnodes.BitAnd;case"^":return Sk.astnodes.BitXor;case"|":return Sk.astnodes.BitOr;case"*":return"*"===e.value.charAt(1)?Sk.astnodes.Pow:Sk.astnodes.Mult;case"@":if(Sk.__future__.python3)return Sk.astnodes.MatMult;default:Sk.asserts.fail("invalid augassign")}}(0,s(e,1)),a,e.lineno,e.col_offset)}if(s(e,1).type===B.annassign){if(!Sk.__future__.python3)throw new Sk.builtin.SyntaxError("Annotated assignment is not supported in Python 2",t.c_filename,e.lineno);n=s(e,0);var l=s(e,1),p=1;for(o=n;1==i(o);)o=s(o,0);switch(0o(r,a,"f-string: expecting '}'");for(Sk.asserts.assert(e<=n);e=e),Sk.asserts.assert("{"==t.charAt(e-1)),Sk.asserts.assert("}"==t.charAt(n)||"!"==t.charAt(n)||":"==t.charAt(n)),t=t.substring(e,n),/^\s*$/.test(t)&&o(i,s,"f-string: empty expression not allowed");try{let e=Sk.parse("","("+t+")");var r=Sk.astFromParse(e.cst,"",e.flags)}catch(t){throw t.traceback&&t.traceback[0]&&((r=t.traceback[0]).lineno=(r.lineno||1)-1+s.lineno,r.filename=i.c_filename),t}return Sk.asserts.assert(1==r.body.length&&r.body[0].constructor===Sk.astnodes.Expr),r.body[0].value}(t,l,e,r,a),"!"==t.charAt(e)&&(++e>=n&&d(),c=t.charAt(e),e++,"s"!=c&&"r"!=c&&"a"!=c&&o(r,a,"f-string: invalid conversion character: expected 's', 'r', or 'a'")),e>=n&&d(),":"==t.charAt(e)&&(++e>=n&&d(),[u,e]=x(t,e,n,i,s+1,r,a)),(e>=n||"}"!=t.charAt(e))&&d(),e++,[new Sk.astnodes.FormattedValue(l,c,u,a.lineno,a.col_offset),e]}function x(t,e,n,i,s,r,o){let a=[],l=t=>{if(-1!==t.indexOf("}")){if(/(^|[^}])}(}})*($|[^}])/.test(t))throw new Sk.builtin.SyntaxError("f-string: single '}' is not allowed",r.c_filename,o.lineno,o.col_offset);t=t.replace(/}}/g,"}")}a.push(new Sk.astnodes.Str(new Sk.builtin.str(t),o.lineno,o.col_offset,r.end_lineno,o.end_col_offset))};for(;ei&&(u=-1,n=i))}if(-1===u){l(t.substring(e,n)),e=n;break}if(u+1=l.length){if("None"===l)return new Sk.astnodes.NameConstant(Sk.builtin.none.none$,e.lineno,e.col_offset);if("True"===l)return new Sk.astnodes.NameConstant(Sk.builtin.bool.true$,e.lineno,e.col_offset);if("False"===l)return new Sk.astnodes.NameConstant(Sk.builtin.bool.false$,e.lineno,e.col_offset)}return t=h(l),new Sk.astnodes.Name(t,Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);case V.T_STRING:n=[];for(var u=0;u=y&&o(p,_,"Truncated \\xNN escape"),T+=String.fromCharCode(parseInt(b.substr(m+1,2),16)),m+=2):k||"u"!==g?k||"U"!==g?T+="\\"+g:(m+8>=y&&o(p,_,"Truncated \\UXXXXXXXX escape"),T+=String.fromCodePoint(parseInt(b.substr(m+1,8),16)),m+=8):(m+4>=y&&o(p,_,"Truncated \\uXXXX escape"),T+=String.fromCharCode(parseInt(b.substr(m+1,4),16)),m+=4))):k&&127l.charCodeAt(1)&&(l="0o"+l.substring(1)),n=!0,"l"!==u&&"L"!==u||(l=l.slice(0,-1),n=!1),l=(u=Number(l))>Number.MAX_SAFE_INTEGER?n?new Sk.builtin.int_(JSBI.BigInt(l)):new Sk.builtin.lng(JSBI.BigInt(l)):n?new Sk.builtin.int_(u):new Sk.builtin.lng(u)),new t(l,e.lineno,e.col_offset);case V.T_ELLIPSIS:return new Sk.astnodes.Ellipsis(e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);case V.T_LPAR:return(n=s(e,1)).type==V.T_RPAR?new Sk.astnodes.Tuple([],Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset):n.type==B.yield_expr?F(t,n):1==i(n)?M(t,n):s(n,1).type==B.comp_for?d(S(t,n),e):d(M(t,n),e);case V.T_LSQB:return(n=s(e,1)).type==V.T_RSQB?new Sk.astnodes.List([],Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset):(r(n,B.testlist_comp),1==i(n)||s(n,1).type==V.T_COMMA?(t=f(t,n))?new Sk.astnodes.List(t,Sk.astnodes.Load,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset):null:(l=n,Sk.asserts.assert(l.type==B.testlist_comp),d(t=O(t,l,1),e)));case V.T_LBRACE:if((n=s(e,1)).type==V.T_RBRACE)return new Sk.astnodes.Dict(null,null,e.lineno,e.col_offset,e.end_lineno,e.end_col_offset);if(l=s(n,0).type==V.T_DOUBLESTAR,1==i(n)||13-l&&s(n,3-l).type==B.comp_for){if(l)return o(t,e,"dict unpacking cannot be used in dict comprehension"),null;l=n,Sk.asserts.assert(3>11&7,this.__namespaces=n||[]}function i(t,e,n,i,s){this.symFlags={},this.name=e,this.varnames=[],this.children=[],this.blockType=n,this.returnsValue=this.varkeywords=this.varargs=this.generator=this.childHasFree=this.hasFree=this.isNested=!1,this.lineno=s,this.table=t,t.cur&&(t.cur.nested||"function"===t.cur.blockType)&&(this.isNested=!0),i.scopeId=a++,t.stss[i.scopeId]=this,this.symbols={}}function s(t){this.filename=t,this.top=this.cur=null,this.stack=[],this.curClass=this.global=null,this.tmpname=0,this.stss={}}function r(t,e){var n;for(n=0;n>11&7)||2==t}))),this._funcGlobals},i.prototype.get_frees=function(){return Sk.asserts.assert("function"==this.get_type(),"get_frees only valid for function scopes"),this._funcFrees||(this._funcFrees=this._identsMatching((function(t){return 4==(t>>11&7)}))),this._funcFrees},i.prototype.get_methods=function(){var t;if(Sk.asserts.assert("class"==this.get_type(),"get_methods only valid for class scopes"),!this._classMethods){var e=[];for(t=0;t>11&7},s.prototype.getStsForAst=function(t){return Sk.asserts.assert(void 0!==t.scopeId,"ast wasn't added to st?"),t=this.stss[t.scopeId],Sk.asserts.assert(void 0!==t,"unknown sym tab entry"),t},s.prototype.SEQStmt=function(t){var e,n;if(null!==t){Sk.asserts.assert(Sk.isArrayLike(t),"SEQ: nodes isn't array? got "+t.toString());var i=t.length;for(n=0;n","").replace(" ","_"))};var a=Sk.builtin.str.reservedWords_;n.prototype.makeConstant=function(t){var e,n="";for(e=0;e Sk.execLimit) {throw new Sk.builtin.TimeoutError(Sk.timeoutMsg())}"),null!==Sk.yieldLimit&&this.u.canSuspend&&(t=t+"if (!$waking && ($dateNow - Sk.lastYield > Sk.yieldLimit)) {var $susp = $saveSuspension({data: {type: 'Sk.yield'}, resume: function() {}}, '"+this.filename+"',$currLineNo,$currColNo);",t+="$susp.$blk = $blk;$susp.optional = true;return $susp;}$waking = false;",this.u.doesSuspend=!0)),t},n.prototype._jumpfalse=function(t,e){t=this._gr("jfalse","(",t,"===false||!Sk.misceval.isTrue(",t,"))"),o("if(",t,"){/*test failed */$blk=",e,";continue;}")},n.prototype._jumpundef=function(t,e){o("if(",t,"===undefined){$blk=",e,";continue;}")},n.prototype._jumpnotundef=function(t,e){o("if(",t,"!==undefined){$blk=",e,";continue;}")},n.prototype._jumptrue=function(t,e){t=this._gr("jtrue","(",t,"===true||Sk.misceval.isTrue(",t,"))"),o("if(",t,"){/*test passed */$blk=",e,";continue;}")},n.prototype._jump=function(t){null===this.u.blocks[this.u.curblock]._next&&(o("$blk=",t,";"),this.u.blocks[this.u.curblock]._next=t)},n.prototype._checkSuspension=function(t){if(this.u.canSuspend){var e=this.newBlock("function return or resume suspension");this._jump(e),this.setBlock(e),t=t||{lineno:"$currLineNo",col_offset:"$currColNo"},o("if ($ret && $ret.$isSuspension) { return $saveSuspension($ret,'"+this.filename+"',"+t.lineno+","+t.col_offset+"); }"),this.u.doesSuspend=!0,this.u.tempsToSave=this.u.tempsToSave.concat(this.u.localtemps)}else o("if ($ret && $ret.$isSuspension) { $ret = Sk.misceval.retryOptionalSuspensionOrThrow($ret); }")},n.prototype.cunpackstarstoarray=function(t,e){if(!t||0==t.length)return"[]";let n=!1;for(let i of t){if(e&&n)throw new Sk.builtin.SyntaxError("Extended argument unpacking is not permitted in Python 2");i.constructor===Sk.astnodes.Starred&&(n=!0)}if(n){e=this._gr("unpack","[]");for(let n of t)n.constructor!==Sk.astnodes.Starred?o(e,".push(",this.vexpr(n),");"):(o("$ret = Sk.misceval.iterFor(Sk.abstr.iter(",this.vexpr(n.value),"), function(e) { ",e,".push(e); });"),this._checkSuspension());return e}return"["+t.map((t=>this.vexpr(t))).join(",")+"]"},n.prototype.cunpackkwstoarray=function(t,e){var n="undefined";if(t&&0=n.length&&(n=this.vexpr(s),"dict"===t?(t=this.vexpr(r),o(e,".mp$ass_subscript(",t,",",n,");")):"list"===t?o(e,".v.push(",n,");"):"set"===t&&o(e,".v.mp$ass_subscript(",n,", true);"),this._jump(c),this.setBlock(c)),this._jump(u),this.setBlock(p),e},n.prototype.cyield=function(t){if(this.u.ste.blockType!==Sk.SYMTAB_CONSTS.FunctionBlock)throw new Sk.builtin.SyntaxError("'yield' outside function",this.filename,t.lineno);var e="Sk.builtin.none.none$";return t.value&&(e=this.vexpr(t.value)),t=this.newBlock("after yield"),o("return [/*resume*/",t,",/*ret*/",e,"];"),this.setBlock(t),"$gen.gi$sentvalue"},n.prototype.cyieldfrom=function(t){if(this.u.ste.blockType!==Sk.SYMTAB_CONSTS.FunctionBlock)throw new Sk.builtin.SyntaxError("'yield' outside function",this.filename,t.lineno);var e=this.vexpr(t.value);e=this._gr("iter","Sk.abstr.iter(",e,")"),o("$gen."+e+"=",e,";");var n=this.newBlock("after iter"),i=this.newBlock("after yield from");this._jump(n),this.setBlock(n);var s=this.gensym("retval");o(e,"=$gen.",e,";"),o("var ",s,";"),o("if ($gen.gi$sentvalue === Sk.builtin.none.none$ || "+e+".constructor === Sk.builtin.generator) {"),o("$ret=",e,".tp$iternext(true, $gen.gi$sentvalue);"),o("} else {");var r=this.makeConstant("new Sk.builtin.str('send');");return o("$ret=Sk.misceval.tryCatch("),o("function(){"),o("return Sk.misceval.callsimOrSuspendArray(Sk.abstr.gattr(",e,",",r,"), [$gen.gi$sentvalue]);},"),o("function (e) { "),o("if (e instanceof Sk.builtin.StopIteration) { "),o(e,".gi$ret = e.$value;"),o("return undefined;"),o("} else { throw e; }"),o("}"),o(");"),o("}"),this._checkSuspension(t),o(s,"=$ret;"),o("if(",s,"===undefined) {"),o("$gen.gi$sentvalue=$gen."+e+".gi$ret;"),o("$blk=",i,";continue;"),o("}"),o("return [/*resume*/",n,",/*ret*/",s,"];"),this.setBlock(i),"$gen.gi$sentvalue"},n.prototype.ccompare=function(t){var e;Sk.asserts.assert(t.ops.length===t.comparators.length);var n=this.vexpr(t.left),i=t.ops.length,s=this.newBlock("done"),r=this._gr("compareres","null");for(e=0;ethis.u.lineno&&(this.u.lineno=t.lineno,this.u.linenoSet=!1),t.constructor){case Sk.astnodes.BoolOp:return this.cboolop(t);case Sk.astnodes.BinOp:return this._gr("binop","Sk.abstr.numberBinOp(",this.vexpr(t.left),",",this.vexpr(t.right),",'",t.op.prototype._astname,"')");case Sk.astnodes.UnaryOp:return this._gr("unaryop","Sk.abstr.numberUnaryOp(",this.vexpr(t.operand),",'",t.op.prototype._astname,"')");case Sk.astnodes.Lambda:return this.clambda(t);case Sk.astnodes.IfExp:return this.cifexp(t);case Sk.astnodes.Dict:return this.cdict(t);case Sk.astnodes.ListComp:return this.clistcomp(t);case Sk.astnodes.DictComp:return this.cdictcomp(t);case Sk.astnodes.SetComp:return this.csetcomp(t);case Sk.astnodes.GeneratorExp:return this.cgenexp(t);case Sk.astnodes.Yield:return this.cyield(t);case Sk.astnodes.YieldFrom:return this.cyieldfrom(t);case Sk.astnodes.Compare:return this.ccompare(t);case Sk.astnodes.Call:return e=this.ccall(t),this.annotateSource(t),e;case Sk.astnodes.Num:if("number"==typeof t.n)return t.n;if(t.n instanceof Sk.builtin.lng)return this.makeConstant("new Sk.builtin.lng('"+t.n.v.toString()+"')");if(t.n instanceof Sk.builtin.int_)return"number"==typeof t.n.v?this.makeConstant("new Sk.builtin.int_("+t.n.v+")"):this.makeConstant("new Sk.builtin.int_('"+t.n.v.toString()+"')");if(t.n instanceof Sk.builtin.float_)return t=0===t.n.v&&-1/0==1/t.n.v?"-0":t.n.v,this.makeConstant("new Sk.builtin.float_("+t+")");if(t.n instanceof Sk.builtin.complex)return this.makeConstant("new Sk.builtin.complex("+(0===t.n.real&&-1/0==1/t.n.real?"-0":t.n.real)+", "+(0===t.n.imag&&-1/0==1/t.n.imag?"-0":t.n.imag)+")");Sk.asserts.fail("unhandled Num type");case Sk.astnodes.Bytes:if(Sk.__future__.python3){for(e=[],t=t.s.$jsstr(),n=0;ni||127<=i&&256>i?n+"\\x"+("0"+i.toString(16)).substr(-2):256<=i?n+"\\u"+("000"+i.toString(16)).substr(-4):n+t.charAt(s);return t=n+'"',e.call(this,"new Sk.builtin.str(",t,")");case Sk.astnodes.Attribute:switch(t.ctx!==Sk.astnodes.AugLoad&&t.ctx!==Sk.astnodes.AugStore&&(s=this.vexpr(t.value)),i=(i=t.attr.$r().v).substring(1,i.length-1),i=r(this.u.private_,new Sk.builtin.str(i)).v,i=this.makeConstant("new Sk.builtin.str('"+i+"')"),t.ctx){case Sk.astnodes.AugLoad:return o("$ret = ",n,".tp$getattr(",i,", true);"),this._checkSuspension(t),o("\nif ($ret === undefined) {"),o("\nthrow new Sk.builtin.AttributeError(",n,'.sk$attrError() + " has no attribute \'" + ',i,'.$jsstr() + "\'");'),o("\n};"),this._gr("lattr","$ret");case Sk.astnodes.Load:return o("$ret = ",s,".tp$getattr(",i,", true);"),this._checkSuspension(t),o("\nif ($ret === undefined) {"),o("\nthrow new Sk.builtin.AttributeError(",s,'.sk$attrError() + " has no attribute \'" + ',i,'.$jsstr() + "\'");'),o("\n};"),this._gr("lattr","$ret");case Sk.astnodes.AugStore:o("$ret = undefined;"),o("if(",e,"!==undefined){"),o("$ret = ",n,".tp$setattr(",i,",",e,", true);"),o("}"),this._checkSuspension(t);break;case Sk.astnodes.Store:o("$ret = ",s,".tp$setattr(",i,",",e,", true);"),this._checkSuspension(t);break;case Sk.astnodes.Del:o("$ret = ",s,".tp$setattr(",i,", undefined, true);"),this._checkSuspension(t);break;default:Sk.asserts.fail("invalid attribute expression")}break;case Sk.astnodes.Subscript:switch(t.ctx){case Sk.astnodes.AugLoad:return o("$ret = Sk.abstr.objectGetItem(",n,",",i,", true);"),this._checkSuspension(t),this._gr("gitem","$ret");case Sk.astnodes.Load:case Sk.astnodes.Store:case Sk.astnodes.Del:return this.vslice(t.slice,t.ctx,this.vexpr(t.value),e);case Sk.astnodes.AugStore:o("$ret=undefined;"),o("if(",e,"!==undefined){"),o("$ret=Sk.abstr.objectSetItem(",n,",",i,",",e,", true)"),o("}"),this._checkSuspension(t);break;default:Sk.asserts.fail("invalid subscript expression")}break;case Sk.astnodes.Name:return this.nameop(t.id,t.ctx,e);case Sk.astnodes.NameConstant:if(t.ctx===Sk.astnodes.Store||t.ctx===Sk.astnodes.AugStore||t.ctx===Sk.astnodes.Del)throw new Sk.builtin.SyntaxError("can not assign to a constant name");switch(t.value){case Sk.builtin.none.none$:return"Sk.builtin.none.none$";case Sk.builtin.bool.true$:return"Sk.builtin.bool.true$";case Sk.builtin.bool.false$:return"Sk.builtin.bool.false$";default:Sk.asserts.fail("invalid named constant")}break;case Sk.astnodes.List:return this.ctuplelistorset(t,e,"list");case Sk.astnodes.Tuple:return this.ctuplelistorset(t,e,"tuple");case Sk.astnodes.Set:return this.ctuplelistorset(t,e,"set");case Sk.astnodes.Starred:if(t.ctx===Sk.astnodes.Store)throw new Sk.builtin.SyntaxError("starred assignment target must be in a list or tuple",this.filename,t.lineno);throw new Sk.builtin.SyntaxError("can't use starred expression here",this.filename,t.lineno);case Sk.astnodes.JoinedStr:return this.cjoinedstr(t);case Sk.astnodes.FormattedValue:return this.cformattedvalue(t);case Sk.astnodes.Ellipsis:return this.makeConstant("Sk.builtin.Ellipsis");default:Sk.asserts.fail("unhandled case "+t.constructor.name+" vexpr")}},n.prototype.vseqexpr=function(t,e){var n;Sk.asserts.assert(void 0===e||t.length===e.length);var i=[];for(n=0;n",this.u.blocks[e]._next=null,e},n.prototype.setBlock=function(t){Sk.asserts.assert(0<=t&&t0) { $err=err; $blk=$exc.pop(); } else { throw err; } }};",o+="var $saveSuspension = function($child, $filename, $lineno, $colno) {var susp = new Sk.misceval.Suspension(); susp.child=$child;susp.resume=function(){"+t.scopename+".$wakingSuspension=susp; return "+t.scopename+"("+(t.ste.generator?"$gen":"")+"); };susp.data=susp.child.data;susp.$blk=$blk;susp.$loc=$loc;susp.$gbl=$gbl;susp.$exc=$exc;susp.$err=$err;susp.$postfinally=$postfinally;susp.$filename=$filename;susp.$lineno=$lineno;susp.$colno=$colno;susp.optional=susp.child.optional;"+(r?"susp.$cell=$cell;":""),s={},e=0;et?this.vexpr(t):"undefined"))),i&&i.vararg&&(d=i.vararg),i&&i.kwarg&&(f=i.kwarg),!Sk.__future__.python3&&i&&i.kwonlyargs&&0!=i.kwonlyargs.length)throw new Sk.builtin.SyntaxError("Keyword-only arguments are not supported in Python 2");var m=this.enterScope(e,t,t.lineno,this.canSuspend),g=this.u.ste.generator,b=this.u.ste.hasFree,S=this.u.ste.childHasFree,k=this.newBlock("codeobj entry");this.u.prefixCode="var "+m+"=(function "+this.niceName(e.v)+"$(";var y=[];if(g){if(f)throw new Sk.builtin.SyntaxError(e.v+"(): keyword arguments in generators not supported",this.filename,t.lineno);if(d)throw new Sk.builtin.SyntaxError(e.v+"(): variable number of arguments in generators not supported",this.filename,t.lineno);y.push("$gen")}else{for(f&&(y.push("$kwa"),this.u.tempsToSave.push("$kwa")),u=0;i&&u0) { $err = err; $blk=$exc.pop(); continue; } else { throw err; }} }});",a.call(this,m),i){for(let t of i.args)c.push(t.arg.v);for(let t of i.kwonlyargs||[])c.push(t.arg.v);this.u.argnames=c}if(this.exitScope(),0"),null,t.args,(function(e){e=this.vexpr(t.body),o("return ",e,";")}))},n.prototype.cifexp=function(t){var e=this.newBlock("next of ifexp"),n=this.newBlock("end of ifexp"),i=this._gr("res","null"),s=this.vexpr(t.test);return this._jumpfalse(s,e),o(i,"=",this.vexpr(t.body),";"),this._jump(n),this.setBlock(e),o(i,"=",this.vexpr(t.orelse),";"),this._jump(n),this.setBlock(n),i},n.prototype.cgenexpgen=function(t,e,n){var i=this.newBlock("start for "+e),s=this.newBlock("skip for "+e);this.newBlock("if cleanup for "+e);var r=this.newBlock("end for "+e),a=t[e];if(0===e)var l="$loc.$iter0";else{var u=this.vexpr(a.iter);l="$loc."+this.gensym("iter"),o(l,"=","Sk.abstr.iter(",u,");")}this._jump(i),this.setBlock(i),this.annotateSource(n),o("$ret = Sk.abstr.iternext(",l,this.u.canSuspend?", true":", false",");"),this._checkSuspension(n),u=this._gr("next","$ret"),this._jumpundef(u,r),this.vexpr(a.target,u);var c=a.ifs?a.ifs.length:0;for(l=0;l=t.length&&(this.annotateSource(n),t=this.vexpr(n),o("return [",s,"/*resume*/,",t,"/*ret*/];"),this.setBlock(s)),this._jump(i),this.setBlock(r),1===e&&o("return Sk.builtin.none.none$;")},n.prototype.cgenexp=function(t){var e=this.buildcodeobj(t,new Sk.builtin.str(""),null,null,(function(e){this.cgenexpgen(t.generators,0,t.elt)}));return e=this._gr("gener","Sk.misceval.callsimArray(",e,");"),o(e,".gi$locals.$iter0=Sk.abstr.iter(",this.vexpr(t.generators[0].iter),");"),e},n.prototype.cclass=function(t){Sk.asserts.assert(t instanceof Sk.astnodes.ClassDef);var e=this.vseqexpr(t.decorator_list),n=this.vseqexpr(t.bases);let i=this.cunpackkwstoarray(t.keywords);var s=this.enterScope(t.name,t,t.lineno),r=this.newBlock("class entry");this.u.prefixCode="var "+s+"=(function $"+t.name.v+"$class_outer($globals,$locals,$cell){var $gbl=$globals,$loc=$locals,$free=$globals;",this.u.switchCode+="(function $"+t.name.v+"$_closure($cell){",this.u.switchCode+="var $blk="+r+",$exc=[],$ret=undefined,$postfinally=undefined,$currLineNo=undefined,$currColNo=undefined;",null!==Sk.execLimit&&(this.u.switchCode+="if (typeof Sk.execStart === 'undefined') {Sk.execStart = Date.now()}"),null!==Sk.yieldLimit&&this.u.canSuspend&&(this.u.switchCode+="if (typeof Sk.lastYield === 'undefined') {Sk.lastYield = Date.now()}"),this.u.switchCode+="while(true){try{",this.u.switchCode+=this.outputInterruptTest(),this.u.switchCode+="switch($blk){",this.u.suffixCode="}}catch(err){ if (!(err instanceof Sk.builtin.BaseException)) { err = new Sk.builtin.ExternalError(err); } err.traceback.push({lineno: $currLineNo, colno: $currColNo, filename: '"+this.filename+"'}); if ($exc.length>0) { $err = err; $blk=$exc.pop(); continue; } else { throw err; }}}",this.u.suffixCode+="}).call(null, $cell);});",this.u.private_=t.name,this.cbody(t.body,t.name),o("return;"),this.exitScope(),o("$ret = Sk.misceval.buildClass($gbl,",s,",",t.name.$r().v,",[",n,"], $cell, ",i,");"),this._checkSuspension();for(let t of e.reverse())o("$ret = Sk.misceval.callsimOrSuspendArray(",t,", [$ret]);"),this._checkSuspension();this.nameop(t.name,Sk.astnodes.Store,"$ret")},n.prototype.ccontinue=function(t){var e=this.peekFinallyBlock();if(0==this.u.continueBlocks.length)throw new Sk.builtin.SyntaxError("'continue' outside loop",this.filename,t.lineno);t=this.u.continueBlocks[this.u.continueBlocks.length-1],Sk.asserts.assert(this.u.breakBlocks.length===this.u.continueBlocks.length),e&&e.breakDepth==this.u.continueBlocks.length?o("$postfinally={isBreak:true,gotoBlock:",t,"};"):this._jump(t)},n.prototype.cbreak=function(t){var e=this.peekFinallyBlock();if(0===this.u.breakBlocks.length)throw new Sk.builtin.SyntaxError("'break' outside loop",this.filename,t.lineno);t=this.u.breakBlocks[this.u.breakBlocks.length-1],e&&e.breakDepth==this.u.breakBlocks.length?o("$postfinally={isBreak:true,gotoBlock:",t,"};"):this._jump(t)},n.prototype.vstmt=function(t,e){if(this.u.lineno=t.lineno,this.u.linenoSet=!1,this.u.localtemps=[],Sk.debugging&&this.u.canSuspend){var n=this.newBlock("debug breakpoint for line "+t.lineno);o("if (Sk.breakpoints('"+this.filename+"',"+t.lineno+","+t.col_offset+")) {","var $susp = $saveSuspension({data: {type: 'Sk.debug'}, resume: function() {}}, '"+this.filename+"',"+t.lineno+","+t.col_offset+");","$susp.$blk = "+n+";","$susp.optional = true;","return $susp;","}"),this._jump(n),this.setBlock(n),this.u.doesSuspend=!0}switch(this.annotateSource(t),t.constructor){case Sk.astnodes.FunctionDef:this.cfunction(t,e);break;case Sk.astnodes.ClassDef:this.cclass(t);break;case Sk.astnodes.Return:if(this.u.ste.blockType!==Sk.SYMTAB_CONSTS.FunctionBlock)throw new Sk.builtin.SyntaxError("'return' outside function",this.filename,t.lineno);n=t.value?this.vexpr(t.value):"Sk.builtin.none.none$",0==this.u.finallyBlocks.length?o("return ",n,";"):(o("$postfinally={returning:",n,"};"),this._jump(this.peekFinallyBlock().blk));break;case Sk.astnodes.Delete:this.vseqexpr(t.targets);break;case Sk.astnodes.Assign:var i=t.targets.length;for(n=this.vexpr(t.value),e=0;e"!==t.name.v){var e=t.name.$r().v;e=e.substring(1,e.length-1),o(t.scopename,".co_name=new Sk.builtins['str']('",e,"');"),this.stack.length&&"class"==this.u.ste.blockType&&o(t.scopename,".co_qualname=new Sk.builtins['str']('"+this.u.name.v+"."+e+"');")}for(var n in t.consts)t.consts.hasOwnProperty(n)&&(t.suffixCode+=n+" = "+t.consts[n]+";")},n.prototype.cbody=function(t,e){var n=0;const i=this.maybeCDocstringOfBody(t);for(null!==i&&(o("$loc.__doc__ = ",i,";"),n=1);n"),t,0,this.canSuspend),n=this.newBlock("module entry");if(this.u.prefixCode="var "+e+"=(function($forcegbl, $forceloc){",this.u.varDeclsCode="var $gbl = $forcegbl || {}, $blk="+n+",$exc=[],$loc=$forceloc || $gbl,$cell={},$err=undefined;var $ret=undefined,$postfinally=undefined,$currLineNo=undefined,$currColNo=undefined;",null!==Sk.execLimit&&(this.u.varDeclsCode+="if (typeof Sk.execStart === 'undefined') {Sk.execStart = Date.now()}"),null!==Sk.yieldLimit&&this.u.canSuspend&&(this.u.varDeclsCode+="if (typeof Sk.lastYield === 'undefined') {Sk.lastYield = Date.now()}"),this.u.varDeclsCode+="var $waking=false; if ("+e+".$wakingSuspension!==undefined) { $wakeFromSuspension(); $waking=true; }if (Sk.retainGlobals) { if (Sk.globals) { $gbl = Sk.globals; Sk.globals = $gbl; $loc = $gbl; } else { Sk.globals = $gbl; }} else { Sk.globals = $gbl; }",this.u.switchCode="while(true){try{",this.u.switchCode+=this.outputInterruptTest(),this.u.switchCode+="switch($blk){",this.u.suffixCode="}",this.u.suffixCode+="}catch(err){ if (!(err instanceof Sk.builtin.BaseException)) { err = new Sk.builtin.ExternalError(err); } err.traceback.push({lineno: $currLineNo, colno: $currColNo, filename: '"+this.filename+"'}); if ($exc.length>0) { $err = err; $blk=$exc.pop(); continue; } else { throw err; }} } });",t.constructor===Sk.astnodes.Module)this.cbody(t.body),o("return $loc;");else Sk.asserts.fail("todo; unhandled case in compilerMod");return this.exitScope(),this.result.push(this.outputAllUnits()),e},Sk.compile=function(t,e,i,s){i=Sk.__future__,Sk.__future__=Object.create(Sk.__future__);var r=Sk.parse(e,t),o=Sk.astFromParse(r.cst,e,r.flags);return r=r.flags,s=(t=new n(e,Sk.symboltable(o,e),r,s,t)).cmod(o),Sk.__future__=i,{funcname:"$compiledmod",code:`var $compiledmod = function() {${t.result.join("")}\nreturn ${s};}();\n$compiledmod;`,filename:e}},Sk.exportSymbol("Sk.compile",Sk.compile),Sk.resetCompiler=function(){Sk.gensymcount=0},Sk.exportSymbol("Sk.resetCompiler",Sk.resetCompiler),Sk.fixReserved=s,Sk.exportSymbol("Sk.fixReserved",Sk.fixReserved),Sk.unfixReserved=function(t){return t.replace(/_\$rw\$$/,"")},Sk.exportSymbol("Sk.unfixReserved",Sk.unfixReserved),Sk.mangleName=r,Sk.exportSymbol("Sk.mangleName",Sk.mangleName),Sk.reservedWords_=a,Sk.exportSymbol("Sk.reservedWords_",Sk.reservedWords_)},function(t,e){Sk.sysmodules=new Sk.builtin.dict([]),Sk.realsyspath=void 0,Sk.importSearchPathForName=function(t,e,n){var i=t.replace(/\./g,"/"),s=function(t,e){return Sk.misceval.chain(Sk.misceval.tryCatch((function(){return Sk.read(t)}),(function(t){})),(function(n){if(void 0!==n)return new Sk.misceval.Break({filename:t,code:n,packagePath:e})}))};return void 0===n&&(n=Sk.realsyspath),Sk.misceval.iterFor(n.tp$iter(),(function(t){return Sk.misceval.chain(s(t.v+"/"+i+e,!1),(function(n){return n||s(t.v+"/"+i+"/__init__"+e,t.v+"/"+i)}))}))},Sk.importSetUpPath=function(t){if(!Sk.realsyspath){var e=[new Sk.builtin.str("src/builtin"),new Sk.builtin.str("src/lib"),new Sk.builtin.str(".")];for(t=0;ti;++i)t+=" ";n[e-1]="/* "+t+e+" */ "+n[e-1]}return n.join("\n")}(r),Sk.debugout(r)}"$compiledmod"!==i.funcname&&(r+="\n"+i.funcname+";");var o=new Sk.builtin.str(n),l=new Sk.builtin.str(t);Sk.sysmodules.mp$ass_subscript(o,c),s&&s.tp$setattr(l,c);var u=Sk.global.eval(r);c.init$dict(o,Sk.builtin.none.none$),c.$d.__package__=i.packagePath?o:m?new Sk.builtin.str(_+m):h||Sk.builtin.none.none$,i.packagePath&&(c.$d.__path__=new Sk.builtin.tuple([new Sk.builtin.str(i.packagePath)])),i.filename&&"$builtinmodule"!==i.funcname&&(c.$d.__file__=new Sk.builtin.str(i.filename));var p=s&&s.$initializing;return c.$initializing=!0,s&&!p&&(s.$initializing=!0),Sk.misceval.tryCatch((()=>Sk.misceval.chain(u(c.$d),(t=>(c.$initializing=!1,s&&!p&&(s.$initializing=!1),t)))),(t=>{try{Sk.abstr.objectDelItem(Sk.sysmodules,o)}catch(t){}if(s)try{s.tp$setattr(l,void 0)}catch(t){}throw c.$initializing=!1,s&&!p&&(s.$initializing=!1),t}))}}),(function(e){var n;if(void 0===e){if(r&&!p)return;throw new Sk.builtin.ModuleNotFoundError("No module named "+Sk.misceval.objectRepr(new Sk.builtin.str(t)))}if(e!==c.$d){for(n in c.$d)e[n]||(e[n]=c.$d[n]);c.$d=e}if(Sk.onAfterImport&&"function"==typeof Sk.onAfterImport)try{Sk.onAfterImport(t)}catch(t){}return p?(u.tp$setattr(new Sk.builtin.str(f[f.length-1]),c),p):c}))}));return o?g:Sk.misceval.retryOptionalSuspensionOrThrow(g)},Sk.importModule=function(t,e,n){return Sk.importModuleInternal_(t,e,void 0,void 0,void 0,!1,n)},Sk.importMain=function(t,e,n){return Sk.dateSet=!1,Sk.filesLoaded=!1,Sk.sysmodules=new Sk.builtin.dict([]),Sk.realsyspath=void 0,Sk.resetCompiler(),Sk.importModuleInternal_(t,e,"__main__",void 0,void 0,!1,n)},Sk.importMainWithBody=function(t,e,n,i){return Sk.dateSet=!1,Sk.filesLoaded=!1,Sk.sysmodules=new Sk.builtin.dict([]),Sk.realsyspath=void 0,Sk.resetCompiler(),Sk.importModuleInternal_(t,e,"__main__",n,void 0,!1,i)},Sk.importBuiltinWithBody=function(t,e,n,i){return Sk.importModuleInternal_(t,e,"__builtin__."+t,n,void 0,!1,i)},Sk.builtin.__import__=function(t,e,n,i,s){t=t.toString();var r,o=Sk.globals;if(null==s&&(s=Sk.__future__.absolute_import?0:-1),0!==s&&e.__package__&&e.__package__!==Sk.builtin.none.none$){if((r=e.__package__.v)&&0=e.length)throw new Sk.builtin.ImportError("Attempted relative import beyond toplevel package");e.length-=s-1,r=e.join(".")}var a=Sk.sysmodules.quick$lookup(new Sk.builtin.str(r))}if(0Sk.importModuleInternal_(s,void 0,void 0,void 0,n,!0,!0)))}return Sk.misceval.chain(...e,(function(){return Sk.asserts.assert(n),n}))}return e}),(function(t){return o!==Sk.globals&&(Sk.globals=o),t}))},Sk.importStar=function(t,e,n){if(n=t.tp$getattr(new Sk.builtin.str("__all__")))for(let i=Sk.abstr.iter(n),s=i.tp$iternext();void 0!==s;s=i.tp$iternext())e[s.v]=Sk.abstr.gattr(t,s);else{n=Object.getOwnPropertyNames(t.$d);for(let i in n)"_"!=n[i].charAt(0)&&(e[n[i]]=t.$d[n[i]])}},Sk.exportSymbol("Sk.importMain",Sk.importMain),Sk.exportSymbol("Sk.importMainWithBody",Sk.importMainWithBody),Sk.exportSymbol("Sk.importBuiltinWithBody",Sk.importBuiltinWithBody),Sk.exportSymbol("Sk.builtin.__import__",Sk.builtin.__import__),Sk.exportSymbol("Sk.importStar",Sk.importStar)},function(t,e){Sk.builtin.timSort=function(t,e){this.list=new Sk.builtin.list(t.v),this.MIN_GALLOP=7,this.listlength=e||t.sq$length()},Sk.builtin.timSort.prototype.lt=function(t,e){return Sk.misceval.richCompareBool(t,e,"Lt")},Sk.builtin.timSort.prototype.le=function(t,e){return!this.lt(e,t)},Sk.builtin.timSort.prototype.setitem=function(t,e){this.list.v[t]=e},Sk.builtin.timSort.prototype.binary_sort=function(t,e){var n;for(n=t.base+e;n>1);this.lt(e,t.getitem(r))?s=r:i=r+1}for(Sk.asserts.assert(i===s),r=n;r>i;r--)t.setitem(r,t.getitem(r-1));t.setitem(i,e)}},Sk.builtin.timSort.prototype.count_run=function(t){var e;if(1>=t.len)var n=t.len,i=!1;else if(n=2,this.lt(t.getitem(t.base+1),t.getitem(t.base)))for(i=!0,e=t.base+2;ee.len)){for(this.merge_init(),t=this.merge_compute_minrun(e.len);0s&&(l=s),a+=n,l+=n}else{for(s=n+1;ls&&(l=s),o=n-a,a=n-l,l=o}for(Sk.asserts.assert(-1<=a>1),i(e.getitem(e.base+n),t)?a=n+1:l=n;return Sk.asserts.assert(a==l),l},Sk.builtin.timSort.prototype.merge_init=function(){this.min_gallop=this.MIN_GALLOP,this.pending=[]},Sk.builtin.timSort.prototype.merge_lo=function(t,e){var n,i,s;Sk.asserts.assert(0=r)break}else{if(this.setitem(o,t.popleft()),o++,1==t.len)return;if(i=0,++n>=r)break}for(r+=1;;){for(this.min_gallop=r-=1=t.len)return;if(this.setitem(o,e.popleft()),o++,0===e.len)return;for(i=this.gallop(t.getitem(t.base),e,0,!1),s=e.base;s=r)break}else{if(o--,this.setitem(o,l),e.len--,1==e.len)return;if(n=0,++i>=r)break}}for(r+=1;;){this.min_gallop=r-=1t.base+u-1;s--)o--,this.setitem(o,t.getitem(s));if(t.len-=n,0===t.len)return;if(o--,this.setitem(o,e.popright()),1==e.len)return;for(a=t.getitem(t.base+t.len-1),u=this.gallop(a,e,e.len-1,!1),i=e.len-u,s=e.base+e.len-1;s>e.base+u-1;s--)o--,this.setitem(o,e.getitem(s));if(e.len-=i,1>=e.len)return;if(o--,this.setitem(o,t.popright()),0===t.len)return;if(nt.base-1;s--)o--,this.setitem(o,t.getitem(s));for(s=e.base+e.len-1;s>e.base-1;s--)o--,this.setitem(o,e.getitem(s))}},Sk.builtin.timSort.prototype.merge_at=function(t){0>t&&(t=this.pending.length+t);var e=this.pending[t],n=this.pending[t+1];Sk.asserts.assert(0>=1;return t+e},Sk.builtin.listSlice=function(t,e,n){this.list=t,this.base=e,this.len=n},Sk.builtin.listSlice.prototype.copyitems=function(){var t=this.base,e=this.base+this.len;return Sk.asserts.assert(0<=t<=e),new Sk.builtin.listSlice(new Sk.builtin.list(this.list.v.slice(t,e)),0,this.len)},Sk.builtin.listSlice.prototype.advance=function(t){this.base+=t,this.len-=t,Sk.asserts.assert(this.base<=this.list.sq$length())},Sk.builtin.listSlice.prototype.getitem=function(t){return this.list.v[t]},Sk.builtin.listSlice.prototype.setitem=function(t,e){this.list.v[t]=e},Sk.builtin.listSlice.prototype.popleft=function(){var t=this.list.v[this.base];return this.base++,this.len--,t},Sk.builtin.listSlice.prototype.popright=function(){return this.len--,this.list.v[this.base+this.len]},Sk.builtin.listSlice.prototype.reverse=function(){for(var t,e,n=this.list,i=this.base,s=i+this.len-1;i same as super(__class__, )\nsuper(type) -> unbound super object\nsuper(type, obj) -> bound super object; requires isinstance(obj, type)\nsuper(type, type2) -> bound super object; requires issubclass(type2, type)\nTypical use to call a cooperative superclass method:\nclass C(B):\n def meth(self, arg):\n super().meth(arg)\nThis works for class methods too:\nclass C(B):\n @classmethod\n def cmeth(cls, arg):\n super().cmeth(arg)\n",tp$new:Sk.generic.new,tp$init(t,e){if(Sk.abstr.checkNoKwargs("super",e),Sk.abstr.checkArgsLen("super",t,1,2),e=t[0],t=t[1],!Sk.builtin.checkClass(e))throw new Sk.builtin.TypeError("must be type, not "+Sk.abstr.typeName(e));this.obj=t,this.type=e,null!=this.obj&&(this.obj_type=this.$supercheck(e,this.obj))},$r(){return this.obj?new Sk.builtin.str(", <"+Sk.abstr.typeName(this.obj)+" object>>"):new Sk.builtin.str(", NULL>")},tp$getattr(t,e){let n=this.obj_type;if(null==n)return Sk.generic.getAttr.call(this,t,e);var i=n.prototype.tp$mro;const s=i.length;if(t===Sk.builtin.str.$class)return Sk.generic.getAttr.call(this,t,e);let r,o;for(r=0;r+1=s)return Sk.generic.getAttr.call(this,t,e);for(t=t.$mangled;r(Sk.abstr.checkNoKwargs("GenericAlias",e),Sk.abstr.checkArgsLen("GenericAlias",t,2,2),new Sk.builtin.GenericAlias(t[0],t[1])),tp$getattr(t,e){return Sk.builtin.checkString(t)&&!this.attr$exc.includes(t)?this.$origin.tp$getattr(t,e):Sk.generic.getAttr.call(this,t,e)},$r(){const t=this.ga$repr(this.$origin);let e="";return this.$args.v.forEach(((t,n)=>{e+=0{this.is$typevar(e)&&0>this.tuple$index(t,e)&&t.push(e)})),this.$params=new Sk.builtin.tuple(t)},tuple$index:(t,e)=>t.indexOf(e),is$typevar(t){if("TypeVar"!==t.tp$name)return!1;if(void 0===(t=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$module)))throw Sk.builtin.RuntimeError("found object withought a __module__");return"typing"===t.toString()},ga$repr(t){if(t===Sk.builtin.Ellipsis)return"...";if(Sk.abstr.lookupSpecial(t,this.str$orig)&&Sk.abstr.lookupSpecial(t,this.str$args))return Sk.misceval.objectRepr(t);const e=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$qualname);if(void 0===e)return Sk.misceval.objectRepr(t);const n=Sk.abstr.lookupSpecial(t,Sk.builtin.str.$module);return void 0===n||Sk.builtin.checkNone(n)?Sk.misceval.objectRepr(t):"builtins"===n.toString()?e.toString():n.toString()+"."+e.toString()},str$orig:new Sk.builtin.str("__origin__"),str$args:new Sk.builtin.str("__args__"),attr$exc:"__origin__ __args__ __parameters__ __mro_entries__ __reduce_ex__ __reduce__".split(" ").map((t=>new Sk.builtin.str(t)))}})},function(t,e){function n(t,e){let n;if(void 0===t||Sk.builtin.checkNone(t))t=void 0;else{if(!(t instanceof Sk.builtin.dict))throw new Sk.builtin.TypeError(e+" must be a dict or None, not "+Sk.abstr.typeName(t));n={},t.$items().forEach((t=>{var[e,i]=t;Sk.builtin.checkString(e)&&(n[e.$mangled]=i)}))}return n}function i(t,e){if(void 0!==t&&!Sk.builtin.checkNone(t))for(let n in e)t.mp$ass_subscript(new Sk.builtin.str(Sk.unfixReserved(n)),e[n])}Sk.builtins={round:null,len:null,min:null,max:null,sum:null,abs:null,fabs:null,ord:null,chr:null,hex:null,oct:null,bin:null,dir:null,repr:null,open:null,isinstance:null,hash:null,getattr:null,hasattr:null,id:null,sorted:null,any:null,all:null,enumerate:Sk.builtin.enumerate,filter:Sk.builtin.filter_,map:Sk.builtin.map_,range:Sk.builtin.range_,reversed:Sk.builtin.reversed,zip:Sk.builtin.zip_,BaseException:Sk.builtin.BaseException,AttributeError:Sk.builtin.AttributeError,ValueError:Sk.builtin.ValueError,Exception:Sk.builtin.Exception,ZeroDivisionError:Sk.builtin.ZeroDivisionError,AssertionError:Sk.builtin.AssertionError,ImportError:Sk.builtin.ImportError,ModuleNotFoundError:Sk.builtin.ModuleNotFoundError,IndentationError:Sk.builtin.IndentationError,IndexError:Sk.builtin.IndexError,LookupError:Sk.builtin.LookupError,KeyError:Sk.builtin.KeyError,TypeError:Sk.builtin.TypeError,UnicodeDecodeError:Sk.builtin.UnicodeDecodeError,UnicodeEncodeError:Sk.builtin.UnicodeEncodeError,NameError:Sk.builtin.NameError,UnboundLocalError:Sk.builtin.UnboundLocalError,IOError:Sk.builtin.IOError,NotImplementedError:Sk.builtin.NotImplementedError,SystemExit:Sk.builtin.SystemExit,OverflowError:Sk.builtin.OverflowError,OperationError:Sk.builtin.OperationError,NegativePowerError:Sk.builtin.NegativePowerError,RuntimeError:Sk.builtin.RuntimeError,RecursionError:Sk.builtin.RecursionError,StopIteration:Sk.builtin.StopIteration,SyntaxError:Sk.builtin.SyntaxError,SystemError:Sk.builtin.SystemError,KeyboardInterrupt:Sk.builtin.KeyboardInterrupt,float_$rw$:Sk.builtin.float_,int_$rw$:Sk.builtin.int_,bool:Sk.builtin.bool,complex:Sk.builtin.complex,dict:Sk.builtin.dict,file:Sk.builtin.file,frozenset:Sk.builtin.frozenset,function:Sk.builtin.func,generator:Sk.builtin.generator,list:Sk.builtin.list,long_$rw$:Sk.builtin.lng,method:Sk.builtin.method,object:Sk.builtin.object,slice:Sk.builtin.slice,str:Sk.builtin.str,set:Sk.builtin.set,tuple:Sk.builtin.tuple,type:Sk.builtin.type,input:null,raw_input:new Sk.builtin.func(Sk.builtin.raw_input),setattr:null,jseval:Sk.builtin.jseval,jsmillis:Sk.builtin.jsmillis,quit:new Sk.builtin.func(Sk.builtin.quit),exit:new Sk.builtin.func(Sk.builtin.quit),print:null,divmod:null,format:null,globals:null,issubclass:null,iter:null,execfile:Sk.builtin.execfile,help:Sk.builtin.help,memoryview:Sk.builtin.memoryview,reload:Sk.builtin.reload,super_$rw$:Sk.builtin.super_,unichr:new Sk.builtin.func(Sk.builtin.unichr),vars:Sk.builtin.vars,apply_$rw$:Sk.builtin.apply_,buffer:Sk.builtin.buffer,coerce:Sk.builtin.coerce,intern:Sk.builtin.intern,property:Sk.builtin.property,classmethod:Sk.builtin.classmethod,staticmethod:Sk.builtin.staticmethod,Ellipsis:Sk.builtin.Ellipsis},t=Sk.builtin.none.none$,e=new Sk.builtin.tuple;const s=new Sk.builtin.int_(0);Sk.abstr.setUpModuleMethods("builtins",Sk.builtins,{__import__:{$meth(t,e,i,s,r){if(!Sk.builtin.checkString(t))throw new Sk.builtin.TypeError("__import__() argument 1 must be str, not "+t.tp$name);if(t===Sk.builtin.str.$empty&&0===r.v)throw new Sk.builtin.ValueError("Empty module name");return e=n(e,"globals")||{},s=Sk.ffi.remapToJs(s),r=Sk.ffi.remapToJs(r),Sk.builtin.__import__(t,e,void 0,s,r)},$flags:{NamedArgs:["name","globals","locals","fromlist","level"],Defaults:[t,t,e,s]},$textsig:null,$doc:"__import__(name, globals=None, locals=None, fromlist=(), level=0) -> module\n\nImport a module. Because this function is meant for use by the Python\ninterpreter and not for general use, it is better to use\nimportlib.import_module() to programmatically import a module.\n\nThe globals argument is only used to determine the context;\nthey are not modified. The locals argument is unused. The fromlist\nshould be a list of names to emulate ``from name import ...'', or an\nempty list to emulate ``import name''.\nWhen importing a module from a package, note that __import__('A.B', ...)\nreturns package A when fromlist is empty, but its submodule B when\nfromlist is not empty. The level argument is used to determine whether to\nperform absolute or relative imports: 0 is absolute, while a positive number\nis the number of parent directories to search relative to the current module."},abs:{$meth:Sk.builtin.abs,$flags:{OneArg:!0},$textsig:"($module, x, /)",$doc:"Return the absolute value of the argument."},all:{$meth:Sk.builtin.all,$flags:{OneArg:!0},$textsig:"($module, iterable, /)",$doc:"Return True if bool(x) is True for all values x in the iterable.\n\nIf the iterable is empty, return True."},any:{$meth:Sk.builtin.any,$flags:{OneArg:!0},$textsig:"($module, iterable, /)",$doc:"Return True if bool(x) is True for any x in the iterable.\n\nIf the iterable is empty, return False."},ascii:{$meth:Sk.builtin.ascii,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return an ASCII-only representation of an object.\n\nAs repr(), return a string containing a printable representation of an\nobject, but escape the non-ASCII characters in the string returned by\nrepr() using \\\\x, \\\\u or \\\\U escapes. This generates a string similar\nto that returned by repr() in Python 2."},bin:{$meth:Sk.builtin.bin,$flags:{OneArg:!0},$textsig:"($module, number, /)",$doc:"Return the binary representation of an integer.\n\n >>> bin(2796202)\n '0b1010101010101010101010'"},callable:{$meth:Sk.builtin.callable,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return whether the object is callable (i.e., some kind of function).\n\nNote that classes are callable, as are instances of classes with a\n__call__() method."},chr:{$meth:Sk.builtin.chr,$flags:{OneArg:!0},$textsig:"($module, i, /)",$doc:"Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff."},compile:{$meth:Sk.builtin.compile,$flags:{MinArgs:3,MaxArgs:6},$textsig:"($module, /, source, filename, mode, flags=0,\n dont_inherit=False, optimize=-1)",$doc:"Compile source into a code object that can be executed by exec() or eval().\n\nThe source code may represent a Python module, statement or expression.\nThe filename will be used for run-time error messages.\nThe mode must be 'exec' to compile a module, 'single' to compile a\nsingle (interactive) statement, or 'eval' to compile an expression.\nThe flags argument, if present, controls which future statements influence\nthe compilation of the code.\nThe dont_inherit argument, if true, stops the compilation inheriting\nthe effects of any future statements in effect in the code calling\ncompile; if absent or false these statements do influence the compilation,\nin addition to any features explicitly specified."},delattr:{$meth:Sk.builtin.delattr,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, obj, name, /)",$doc:"Deletes the named attribute from the given object.\n\ndelattr(x, 'y') is equivalent to ``del x.y''"},dir:{$meth:Sk.builtin.dir,$flags:{MinArgs:0,MaxArgs:1},$textsig:null,$doc:"dir([object]) -> list of strings\n\nIf called without an argument, return the names in the current scope.\nElse, return an alphabetized list of names comprising (some of) the attributes\nof the given object, and of attributes reachable from it.\nIf the object supplies a method named __dir__, it will be used; otherwise\nthe default dir() logic is used and returns:\n for a module object: the module's attributes.\n for a class object: its attributes, and recursively the attributes\n of its bases.\n for any other object: its attributes, its class's attributes, and\n recursively the attributes of its class's base classes."},divmod:{$meth:Sk.builtin.divmod,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, x, y, /)",$doc:"Return the tuple (x//y, x%y). Invariant: div*y + mod == x."},eval_$rw$:{$name:"eval",$meth:function(t,e,s){const r=n(e,"globals"),o=n(s,"locals");return Sk.misceval.chain(Sk.builtin.eval(t,r,o),(t=>(i(e,r),i(s,o),t)))},$flags:{MinArgs:1,MaxArgs:3},$textsig:"($module, source, globals=None, locals=None, /)",$doc:"Evaluate the given source in the context of globals and locals.\n\nThe source may be a string representing a Python expression\nor a code object as returned by compile().\nThe globals must be a dictionary and locals can be any mapping,\ndefaulting to the current globals and locals.\nIf only globals is given, locals defaults to it."},exec:{$meth:function(t,e,s){const r=n(e,"globals"),o=n(s,"locals");return Sk.misceval.chain(Sk.builtin.exec(t,r,o),(t=>(i(e,r),i(s,o),Sk.builtin.none.none$)))},$flags:{MinArgs:1,MaxArgs:3},$textsig:"($module, source, globals=None, locals=None, /)",$doc:"Execute the given source in the context of globals and locals.\n\nThe source may be a string representing one or more Python statements\nor a code object as returned by compile().\nThe globals must be a dictionary and locals can be any mapping,\ndefaulting to the current globals and locals.\nIf only globals is given, locals defaults to it."},format:{$meth:Sk.builtin.format,$flags:{MinArgs:1,MaxArgs:2},$textsig:"($module, value, format_spec='', /)",$doc:"Return value.__format__(format_spec)\n\nformat_spec defaults to the empty string.\nSee the Format Specification Mini-Language section of help('FORMATTING') for\ndetails."},getattr:{$meth:Sk.builtin.getattr,$flags:{MinArgs:2,MaxArgs:3},$textsig:null,$doc:"getattr(object, name[, default]) -> value\n\nGet a named attribute from an object; getattr(x, 'y') is equivalent to x.y.\nWhen a default argument is given, it is returned when the attribute doesn't\nexist; without it, an exception is raised in that case."},globals:{$meth:Sk.builtin.globals,$flags:{NoArgs:!0},$textsig:"($module, /)",$doc:"Return the dictionary containing the current scope's global variables.\n\nNOTE: Updates to this dictionary *will* affect name lookups in the current\nglobal scope and vice-versa."},hasattr:{$meth:Sk.builtin.hasattr,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, obj, name, /)",$doc:"Return whether the object has an attribute with the given name.\n\nThis is done by calling getattr(obj, name) and catching AttributeError."},hash:{$meth:Sk.builtin.hash,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the hash value for the given object.\n\nTwo objects that compare equal must also have the same hash value, but the\nreverse is not necessarily true."},hex:{$meth:Sk.builtin.hex,$flags:{OneArg:!0},$textsig:"($module, number, /)",$doc:"Return the hexadecimal representation of an integer.\n\n >>> hex(12648430)\n '0xc0ffee'"},id:{$meth:Sk.builtin.id,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the identity of an object.\n\nThis is guaranteed to be unique among simultaneously existing objects.\n(CPython uses the object's memory address.)"},input:{$meth:Sk.builtin.input,$flags:{MinArgs:0,MaxArgs:1},$textsig:"($module, prompt=None, /)",$doc:"Read a string from standard input. The trailing newline is stripped.\n\nThe prompt string, if given, is printed to standard output without a\ntrailing newline before reading input.\n\nIf the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.\nOn *nix systems, readline is used if available."},isinstance:{$meth:Sk.builtin.isinstance,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, obj, class_or_tuple, /)",$doc:"Return whether an object is an instance of a class or of a subclass thereof.\n\nA tuple, as in ``isinstance(x, (A, B, ...))``, may be given as the target to\ncheck against. This is equivalent to ``isinstance(x, A) or isinstance(x, B)\nor ...`` etc."},issubclass:{$meth:Sk.builtin.issubclass,$flags:{MinArgs:2,MaxArgs:2},$textsig:"($module, cls, class_or_tuple, /)",$doc:"Return whether 'cls' is a derived from another class or is the same class.\n\nA tuple, as in ``issubclass(x, (A, B, ...))``, may be given as the target to\ncheck against. This is equivalent to ``issubclass(x, A) or issubclass(x, B)\nor ...`` etc."},iter:{$meth:Sk.builtin.iter,$flags:{MinArgs:1,MaxArgs:2},$textsig:"($module, iterable /)",$doc:"iter(iterable) -> iterator\niter(callable, sentinel) -> iterator\n\nGet an iterator from an object. In the first form, the argument must\nsupply its own iterator, or be a sequence.\nIn the second form, the callable is called until it returns the sentinel."},len:{$meth:Sk.builtin.len,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the number of items in a container."},locals:{$meth:Sk.builtin.locals,$flags:{NoArgs:!0},$textsig:"($module, /)",$doc:"Return a dictionary containing the current scope's local variables.\n\nNOTE: Whether or not updates to this dictionary will affect name lookups in\nthe local scope and vice-versa is *implementation dependent* and not\ncovered by any backwards compatibility guarantees."},max:{$meth:Sk.builtin.max,$flags:{FastCall:!0},$textsig:null,$doc:"max(iterable, *[, default=obj, key=func]) -> value\nmax(arg1, arg2, *args, *[, key=func]) -> value\n\nWith a single iterable argument, return its biggest item. The\ndefault keyword-only argument specifies an object to return if\nthe provided iterable is empty.\nWith two or more arguments, return the largest argument."},min:{$meth:Sk.builtin.min,$flags:{FastCall:!0},$textsig:null,$doc:"min(iterable, *[, default=obj, key=func]) -> value\nmin(arg1, arg2, *args, *[, key=func]) -> value\n\nWith a single iterable argument, return its smallest item. The\ndefault keyword-only argument specifies an object to return if\nthe provided iterable is empty.\nWith two or more arguments, return the smallest argument."},next:{$name:"next",$meth:Sk.builtin.next_,$flags:{MinArgs:1,MaxArgs:2},$textsig:null,$doc:"next(iterator[, default])\n\nReturn the next item from the iterator. If default is given and the iterator\nis exhausted, it is returned instead of raising StopIteration."},oct:{$meth:Sk.builtin.oct,$flags:{OneArg:!0},$textsig:"($module, number, /)",$doc:"Return the octal representation of an integer.\n\n >>> oct(342391)\n '0o1234567'"},open:{$meth:Sk.builtin.open,$flags:{MinArgs:1,MaxArgs:3},$textsig:null,$doc:"open(name[, mode[, buffering]]) -> file object\n\nOpen a file using the file() type, returns a file object. This is the\npreferred way to open a file. See file.__doc__ for further information."},ord:{$meth:Sk.builtin.ord,$flags:{OneArg:!0},$textsig:"($module, c, /)",$doc:"Return the Unicode code point for a one-character string."},pow:{$meth:Sk.builtin.pow,$flags:{MinArgs:2,MaxArgs:3},$textsig:"($module, x, y, z=None, /)",$doc:"Equivalent to x**y (with two arguments) or x**y % z (with three arguments)\n\nSome types, such as ints, are able to use a more efficient algorithm when\ninvoked using the three argument form."},print:{$meth:Sk.builtin.print,$flags:{FastCall:!0},$textsig:null,$doc:"print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\n\nPrints the values to a stream, or to sys.stdout by default.\nOptional keyword arguments:\nfile: a file-like object (stream); defaults to the current sys.stdout.\nsep: string inserted between values, default a space.\nend: string appended after the last value, default a newline.\nflush: whether to forcibly flush the stream."},repr:{$meth:Sk.builtin.repr,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return the canonical string representation of the object.\n\nFor many object types, including most builtins, eval(repr(obj)) == obj."},round:{$meth:Sk.builtin.round,$flags:{NamedArgs:["number","ndigits"]},$textsig:"($module, /, number, ndigits=None)",$doc:"Round a number to a given precision in decimal digits.\n\nThe return value is an integer if ndigits is omitted or None. Otherwise\nthe return value has the same type as the number. ndigits may be negative."},setattr:{$meth:Sk.builtin.setattr,$flags:{MinArgs:3,MaxArgs:3},$textsig:"($module, obj, name, value, /)",$doc:"Sets the named attribute on the given object to the specified value.\n\nsetattr(x, 'y', v) is equivalent to ``x.y = v''"},sorted:{$meth:Sk.builtin.sorted,$flags:{NamedArgs:[null,"cmp","key","reverse"],Defaults:[Sk.builtin.none.none$,Sk.builtin.none.none$,Sk.builtin.bool.false$]},$textsig:"($module, iterable, /, *, key=None, reverse=False)",$doc:"Return a new list containing all items from the iterable in ascending order.\n\nA custom key function can be supplied to customize the sort order, and the\nreverse flag can be set to request the result in descending order."},sum:{$meth:Sk.builtin.sum,$flags:{NamedArgs:[null,"start"],Defaults:[new Sk.builtin.int_(0)]},$textsig:"($module, iterable, /, start=0)",$doc:"Return the sum of a 'start' value (default: 0) plus an iterable of numbers\n\nWhen the iterable is empty, return the start value.\nThis function is intended specifically for use with numeric values and may\nreject non-numeric types."},vars:{$meth:Sk.builtin.vars,$flags:{MinArgs:0,MaxArgs:1},$textsig:null,$doc:"vars([object]) -> dictionary\n\nWithout arguments, equivalent to locals().\nWith an argument, equivalent to object.__dict__."}}),Sk.setupObjects=function(t){t?(Sk.builtins.filter=Sk.builtin.filter_,Sk.builtins.map=Sk.builtin.map_,Sk.builtins.zip=Sk.builtin.zip_,Sk.builtins.range=Sk.builtin.range_,delete Sk.builtins.reduce,delete Sk.builtins.xrange,delete Sk.builtins.StandardError,delete Sk.builtins.unicode,delete Sk.builtins.basestring,delete Sk.builtins.long_$rw$,Sk.builtin.int_.prototype.$r=function(){return new Sk.builtin.str(this.v.toString())},delete Sk.builtin.int_.prototype.tp$str,delete Sk.builtin.bool.prototype.tp$str,delete Sk.builtins.raw_input,delete Sk.builtins.unichr,delete Sk.builtin.str.prototype.decode,Sk.builtins.bytes=Sk.builtin.bytes,Sk.builtins.ascii=new Sk.builtin.sk_method({$meth:Sk.builtin.ascii,$flags:{OneArg:!0},$textsig:"($module, obj, /)",$doc:"Return an ASCII-only representation of an object.\n\nAs repr(), return a string containing a printable representation of an\nobject, but escape the non-ASCII characters in the string returned by\nrepr() using \\\\x, \\\\u or \\\\U escapes. This generates a string similar\nto that returned by repr() in Python 2."},null,"builtins")):(Sk.builtins.range=new Sk.builtin.sk_method({$meth:Sk.builtin.range,$name:"range",$flags:{MinArgs:1,MaxArgs:3}},void 0,"builtins"),Sk.builtins.xrange=new Sk.builtin.sk_method({$meth:Sk.builtin.xrange,$name:"xrange",$flags:{MinArgs:1,MaxArgs:3}},null,"builtins"),Sk.builtins.reduce=new Sk.builtin.sk_method({$meth:Sk.builtin.reduce,$name:"reduce",$flags:{MinArgs:2,MaxArgs:3}},null,"builtins"),Sk.builtins.filter=new Sk.builtin.func(Sk.builtin.filter),Sk.builtins.map=new Sk.builtin.func(Sk.builtin.map),Sk.builtins.zip=new Sk.builtin.func(Sk.builtin.zip),Sk.builtins.StandardError=Sk.builtin.Exception,Sk.builtins.unicode=Sk.builtin.str,Sk.builtins.basestring=Sk.builtin.str,Sk.builtins.long_$rw$=Sk.builtin.lng,Sk.builtin.int_.prototype.$r=function(){const t=this.v;return"number"==typeof t?new Sk.builtin.str(t.toString()):new Sk.builtin.str(t.toString()+"L")},Sk.builtin.int_.prototype.tp$str=function(){return new Sk.builtin.str(this.v.toString())},Sk.builtin.bool.prototype.tp$str=function(){return this.$r()},Sk.builtins.raw_input=new Sk.builtin.func(Sk.builtin.raw_input),Sk.builtins.unichr=new Sk.builtin.func(Sk.builtin.unichr),Sk.builtin.str.prototype.decode=Sk.builtin.str.$py2decode,delete Sk.builtins.bytes,delete Sk.builtins.ascii)},Sk.exportSymbol("Sk.setupObjects",Sk.setupObjects),Sk.exportSymbol("Sk.builtins",Sk.builtins)},function(t,e){Sk.builtin.str.$empty=new Sk.builtin.str(""),Sk.builtin.str.$emptystr=Sk.builtin.str.$empty,Sk.builtin.str.$utf8=new Sk.builtin.str("utf-8"),Sk.builtin.str.$ascii=new Sk.builtin.str("ascii"),Sk.builtin.str.$default_factory=new Sk.builtin.str("default_factory"),Sk.builtin.str.$imag=new Sk.builtin.str("imag"),Sk.builtin.str.$real=new Sk.builtin.str("real"),Sk.builtin.str.$abs=new Sk.builtin.str("__abs__"),Sk.builtin.str.$bases=new Sk.builtin.str("__bases__"),Sk.builtin.str.$bytes=new Sk.builtin.str("__bytes__"),Sk.builtin.str.$call=new Sk.builtin.str("__call__"),Sk.builtin.str.$class=new Sk.builtin.str("__class__"),Sk.builtin.str.$class_getitem=new Sk.builtin.str("__class_getitem__"),Sk.builtin.str.$cmp=new Sk.builtin.str("__cmp__"),Sk.builtin.str.$complex=new Sk.builtin.str("__complex__"),Sk.builtin.str.$contains=new Sk.builtin.str("__contains__"),Sk.builtin.str.$copy=new Sk.builtin.str("__copy__"),Sk.builtin.str.$dict=new Sk.builtin.str("__dict__"),Sk.builtin.str.$dir=new Sk.builtin.str("__dir__"),Sk.builtin.str.$doc=new Sk.builtin.str("__doc__"),Sk.builtin.str.$enter=new Sk.builtin.str("__enter__"),Sk.builtin.str.$eq=new Sk.builtin.str("__eq__"),Sk.builtin.str.$exit=new Sk.builtin.str("__exit__"),Sk.builtin.str.$index=new Sk.builtin.str("__index__"),Sk.builtin.str.$init=new Sk.builtin.str("__init__"),Sk.builtin.str.$initsubclass=new Sk.builtin.str("__init_subclass__"),Sk.builtin.str.$int_=new Sk.builtin.str("__int__"),Sk.builtin.str.$iter=new Sk.builtin.str("__iter__"),Sk.builtin.str.$file=new Sk.builtin.str("__file__"),Sk.builtin.str.$float_=new Sk.builtin.str("__float__"),Sk.builtin.str.$format=new Sk.builtin.str("__format__"),Sk.builtin.str.$ge=new Sk.builtin.str("__ge__"),Sk.builtin.str.$getattr=new Sk.builtin.str("__getattr__"),Sk.builtin.str.$getattribute=new Sk.builtin.str("__getattribute__"),Sk.builtin.str.$getitem=new Sk.builtin.str("__getitem__"),Sk.builtin.str.$gt=new Sk.builtin.str("__gt__"),Sk.builtin.str.$keys=new Sk.builtin.str("keys"),Sk.builtin.str.$le=new Sk.builtin.str("__le__"),Sk.builtin.str.$len=new Sk.builtin.str("__len__"),Sk.builtin.str.$length_hint=new Sk.builtin.str("__length_hint__"),Sk.builtin.str.$loader=new Sk.builtin.str("__loader__"),Sk.builtin.str.$lt=new Sk.builtin.str("__lt__"),Sk.builtin.str.$module=new Sk.builtin.str("__module__"),Sk.builtin.str.$missing=new Sk.builtin.str("__missing__"),Sk.builtin.str.$name=new Sk.builtin.str("__name__"),Sk.builtin.str.$ne=new Sk.builtin.str("__ne__"),Sk.builtin.str.$new=new Sk.builtin.str("__new__"),Sk.builtin.str.$next=new Sk.builtin.str("__next__"),Sk.builtin.str.$path=new Sk.builtin.str("__path__"),Sk.builtin.str.$prepare=new Sk.builtin.str("__prepare__"),Sk.builtin.str.$qualname=new Sk.builtin.str("__qualname__"),Sk.builtin.str.$repr=new Sk.builtin.str("__repr__"),Sk.builtin.str.$reversed=new Sk.builtin.str("__reversed__"),Sk.builtin.str.$round=new Sk.builtin.str("__round__"),Sk.builtin.str.$setattr=new Sk.builtin.str("__setattr__"),Sk.builtin.str.$setitem=new Sk.builtin.str("__setitem__"),Sk.builtin.str.$slots=new Sk.builtin.str("__slots__"),Sk.builtin.str.$str=new Sk.builtin.str("__str__"),Sk.builtin.str.$setname=new Sk.builtin.str("__set_name__"),Sk.builtin.str.$trunc=new Sk.builtin.str("__trunc__"),Sk.builtin.str.$write=new Sk.builtin.str("write"),Sk.misceval.op2method_={Eq:Sk.builtin.str.$eq,NotEq:Sk.builtin.str.$ne,Gt:Sk.builtin.str.$gt,GtE:Sk.builtin.str.$ge,Lt:Sk.builtin.str.$lt,LtE:Sk.builtin.str.$le}},function(t,e,n){function i(t,e,n,i,s){this.type=t,this.string=e,this.start=n,this.end=i,this.line=s}function s(t){return"("+Array.prototype.slice.call(arguments).join("|")+")"}function r(t){return s.apply(null,arguments)+"?"}function o(t,e){for(var n=t.length;n--;)if(t[n]===e)return!0;return!1}function a(t){return t=t.normalize("NFKC"),E.test(t)}function l(){return" FR RF Br BR Fr r B R b bR f rb rB F Rf U rF u RB br fR fr rf Rb".split(" ")}function u(t){t?delete Sk.token.EXACT_TOKEN_TYPES["<>"]:Sk.token.EXACT_TOKEN_TYPES["<>"]=Sk.token.tokens.T_NOTEQUAL,I=Object.keys(Sk.token.EXACT_TOKEN_TYPES).sort(),A=s.apply(this,I.reverse().map((function(t){return t&&d.test(t)?t.replace(_,"\\$&"):t}))),O=s("\\r?\\n",A)}n.r(e),(t={Cc:"\\0-\\x1F\\x7F-\\x9F",Cf:"\\xAD\\u0600-\\u0605\\u061C\\u06DD\\u070F\\u08E2\\u180E\\u200B-\\u200F\\u202A-\\u202E\\u2060-\\u2064\\u2066-\\u206F\\uFEFF\\uFFF9-\\uFFFB",Co:"\\uE000-\\uF8FF",Cs:"\\uD800-\\uDFFF",Ll:"a-z\\xB5\\xDF-\\xF6\\xF8-\\xFF\\u0101\\u0103\\u0105\\u0107\\u0109\\u010B\\u010D\\u010F\\u0111\\u0113\\u0115\\u0117\\u0119\\u011B\\u011D\\u011F\\u0121\\u0123\\u0125\\u0127\\u0129\\u012B\\u012D\\u012F\\u0131\\u0133\\u0135\\u0137\\u0138\\u013A\\u013C\\u013E\\u0140\\u0142\\u0144\\u0146\\u0148\\u0149\\u014B\\u014D\\u014F\\u0151\\u0153\\u0155\\u0157\\u0159\\u015B\\u015D\\u015F\\u0161\\u0163\\u0165\\u0167\\u0169\\u016B\\u016D\\u016F\\u0171\\u0173\\u0175\\u0177\\u017A\\u017C\\u017E-\\u0180\\u0183\\u0185\\u0188\\u018C\\u018D\\u0192\\u0195\\u0199-\\u019B\\u019E\\u01A1\\u01A3\\u01A5\\u01A8\\u01AA\\u01AB\\u01AD\\u01B0\\u01B4\\u01B6\\u01B9\\u01BA\\u01BD-\\u01BF\\u01C6\\u01C9\\u01CC\\u01CE\\u01D0\\u01D2\\u01D4\\u01D6\\u01D8\\u01DA\\u01DC\\u01DD\\u01DF\\u01E1\\u01E3\\u01E5\\u01E7\\u01E9\\u01EB\\u01ED\\u01EF\\u01F0\\u01F3\\u01F5\\u01F9\\u01FB\\u01FD\\u01FF\\u0201\\u0203\\u0205\\u0207\\u0209\\u020B\\u020D\\u020F\\u0211\\u0213\\u0215\\u0217\\u0219\\u021B\\u021D\\u021F\\u0221\\u0223\\u0225\\u0227\\u0229\\u022B\\u022D\\u022F\\u0231\\u0233-\\u0239\\u023C\\u023F\\u0240\\u0242\\u0247\\u0249\\u024B\\u024D\\u024F-\\u0293\\u0295-\\u02AF\\u0371\\u0373\\u0377\\u037B-\\u037D\\u0390\\u03AC-\\u03CE\\u03D0\\u03D1\\u03D5-\\u03D7\\u03D9\\u03DB\\u03DD\\u03DF\\u03E1\\u03E3\\u03E5\\u03E7\\u03E9\\u03EB\\u03ED\\u03EF-\\u03F3\\u03F5\\u03F8\\u03FB\\u03FC\\u0430-\\u045F\\u0461\\u0463\\u0465\\u0467\\u0469\\u046B\\u046D\\u046F\\u0471\\u0473\\u0475\\u0477\\u0479\\u047B\\u047D\\u047F\\u0481\\u048B\\u048D\\u048F\\u0491\\u0493\\u0495\\u0497\\u0499\\u049B\\u049D\\u049F\\u04A1\\u04A3\\u04A5\\u04A7\\u04A9\\u04AB\\u04AD\\u04AF\\u04B1\\u04B3\\u04B5\\u04B7\\u04B9\\u04BB\\u04BD\\u04BF\\u04C2\\u04C4\\u04C6\\u04C8\\u04CA\\u04CC\\u04CE\\u04CF\\u04D1\\u04D3\\u04D5\\u04D7\\u04D9\\u04DB\\u04DD\\u04DF\\u04E1\\u04E3\\u04E5\\u04E7\\u04E9\\u04EB\\u04ED\\u04EF\\u04F1\\u04F3\\u04F5\\u04F7\\u04F9\\u04FB\\u04FD\\u04FF\\u0501\\u0503\\u0505\\u0507\\u0509\\u050B\\u050D\\u050F\\u0511\\u0513\\u0515\\u0517\\u0519\\u051B\\u051D\\u051F\\u0521\\u0523\\u0525\\u0527\\u0529\\u052B\\u052D\\u052F\\u0560-\\u0588\\u10D0-\\u10FA\\u10FD-\\u10FF\\u13F8-\\u13FD\\u1C80-\\u1C88\\u1D00-\\u1D2B\\u1D6B-\\u1D77\\u1D79-\\u1D9A\\u1E01\\u1E03\\u1E05\\u1E07\\u1E09\\u1E0B\\u1E0D\\u1E0F\\u1E11\\u1E13\\u1E15\\u1E17\\u1E19\\u1E1B\\u1E1D\\u1E1F\\u1E21\\u1E23\\u1E25\\u1E27\\u1E29\\u1E2B\\u1E2D\\u1E2F\\u1E31\\u1E33\\u1E35\\u1E37\\u1E39\\u1E3B\\u1E3D\\u1E3F\\u1E41\\u1E43\\u1E45\\u1E47\\u1E49\\u1E4B\\u1E4D\\u1E4F\\u1E51\\u1E53\\u1E55\\u1E57\\u1E59\\u1E5B\\u1E5D\\u1E5F\\u1E61\\u1E63\\u1E65\\u1E67\\u1E69\\u1E6B\\u1E6D\\u1E6F\\u1E71\\u1E73\\u1E75\\u1E77\\u1E79\\u1E7B\\u1E7D\\u1E7F\\u1E81\\u1E83\\u1E85\\u1E87\\u1E89\\u1E8B\\u1E8D\\u1E8F\\u1E91\\u1E93\\u1E95-\\u1E9D\\u1E9F\\u1EA1\\u1EA3\\u1EA5\\u1EA7\\u1EA9\\u1EAB\\u1EAD\\u1EAF\\u1EB1\\u1EB3\\u1EB5\\u1EB7\\u1EB9\\u1EBB\\u1EBD\\u1EBF\\u1EC1\\u1EC3\\u1EC5\\u1EC7\\u1EC9\\u1ECB\\u1ECD\\u1ECF\\u1ED1\\u1ED3\\u1ED5\\u1ED7\\u1ED9\\u1EDB\\u1EDD\\u1EDF\\u1EE1\\u1EE3\\u1EE5\\u1EE7\\u1EE9\\u1EEB\\u1EED\\u1EEF\\u1EF1\\u1EF3\\u1EF5\\u1EF7\\u1EF9\\u1EFB\\u1EFD\\u1EFF-\\u1F07\\u1F10-\\u1F15\\u1F20-\\u1F27\\u1F30-\\u1F37\\u1F40-\\u1F45\\u1F50-\\u1F57\\u1F60-\\u1F67\\u1F70-\\u1F7D\\u1F80-\\u1F87\\u1F90-\\u1F97\\u1FA0-\\u1FA7\\u1FB0-\\u1FB4\\u1FB6\\u1FB7\\u1FBE\\u1FC2-\\u1FC4\\u1FC6\\u1FC7\\u1FD0-\\u1FD3\\u1FD6\\u1FD7\\u1FE0-\\u1FE7\\u1FF2-\\u1FF4\\u1FF6\\u1FF7\\u210A\\u210E\\u210F\\u2113\\u212F\\u2134\\u2139\\u213C\\u213D\\u2146-\\u2149\\u214E\\u2184\\u2C30-\\u2C5E\\u2C61\\u2C65\\u2C66\\u2C68\\u2C6A\\u2C6C\\u2C71\\u2C73\\u2C74\\u2C76-\\u2C7B\\u2C81\\u2C83\\u2C85\\u2C87\\u2C89\\u2C8B\\u2C8D\\u2C8F\\u2C91\\u2C93\\u2C95\\u2C97\\u2C99\\u2C9B\\u2C9D\\u2C9F\\u2CA1\\u2CA3\\u2CA5\\u2CA7\\u2CA9\\u2CAB\\u2CAD\\u2CAF\\u2CB1\\u2CB3\\u2CB5\\u2CB7\\u2CB9\\u2CBB\\u2CBD\\u2CBF\\u2CC1\\u2CC3\\u2CC5\\u2CC7\\u2CC9\\u2CCB\\u2CCD\\u2CCF\\u2CD1\\u2CD3\\u2CD5\\u2CD7\\u2CD9\\u2CDB\\u2CDD\\u2CDF\\u2CE1\\u2CE3\\u2CE4\\u2CEC\\u2CEE\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\uA641\\uA643\\uA645\\uA647\\uA649\\uA64B\\uA64D\\uA64F\\uA651\\uA653\\uA655\\uA657\\uA659\\uA65B\\uA65D\\uA65F\\uA661\\uA663\\uA665\\uA667\\uA669\\uA66B\\uA66D\\uA681\\uA683\\uA685\\uA687\\uA689\\uA68B\\uA68D\\uA68F\\uA691\\uA693\\uA695\\uA697\\uA699\\uA69B\\uA723\\uA725\\uA727\\uA729\\uA72B\\uA72D\\uA72F-\\uA731\\uA733\\uA735\\uA737\\uA739\\uA73B\\uA73D\\uA73F\\uA741\\uA743\\uA745\\uA747\\uA749\\uA74B\\uA74D\\uA74F\\uA751\\uA753\\uA755\\uA757\\uA759\\uA75B\\uA75D\\uA75F\\uA761\\uA763\\uA765\\uA767\\uA769\\uA76B\\uA76D\\uA76F\\uA771-\\uA778\\uA77A\\uA77C\\uA77F\\uA781\\uA783\\uA785\\uA787\\uA78C\\uA78E\\uA791\\uA793-\\uA795\\uA797\\uA799\\uA79B\\uA79D\\uA79F\\uA7A1\\uA7A3\\uA7A5\\uA7A7\\uA7A9\\uA7AF\\uA7B5\\uA7B7\\uA7B9\\uA7BB\\uA7BD\\uA7BF\\uA7C3\\uA7C8\\uA7CA\\uA7F6\\uA7FA\\uAB30-\\uAB5A\\uAB60-\\uAB68\\uAB70-\\uABBF\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF41-\\uFF5A",Lm:"\\u02B0-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0374\\u037A\\u0559\\u0640\\u06E5\\u06E6\\u07F4\\u07F5\\u07FA\\u081A\\u0824\\u0828\\u0971\\u0E46\\u0EC6\\u10FC\\u17D7\\u1843\\u1AA7\\u1C78-\\u1C7D\\u1D2C-\\u1D6A\\u1D78\\u1D9B-\\u1DBF\\u2071\\u207F\\u2090-\\u209C\\u2C7C\\u2C7D\\u2D6F\\u2E2F\\u3005\\u3031-\\u3035\\u303B\\u309D\\u309E\\u30FC-\\u30FE\\uA015\\uA4F8-\\uA4FD\\uA60C\\uA67F\\uA69C\\uA69D\\uA717-\\uA71F\\uA770\\uA788\\uA7F8\\uA7F9\\uA9CF\\uA9E6\\uAA70\\uAADD\\uAAF3\\uAAF4\\uAB5C-\\uAB5F\\uAB69\\uFF70\\uFF9E\\uFF9F",Lo:"\\xAA\\xBA\\u01BB\\u01C0-\\u01C3\\u0294\\u05D0-\\u05EA\\u05EF-\\u05F2\\u0620-\\u063F\\u0641-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u0800-\\u0815\\u0840-\\u0858\\u0860-\\u086A\\u08A0-\\u08B4\\u08B6-\\u08C7\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0972-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u09FC\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C80\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D04-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D54-\\u0D56\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E45\\u0E81\\u0E82\\u0E84\\u0E86-\\u0E8A\\u0E8C-\\u0EA3\\u0EA5\\u0EA7-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u1100-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17DC\\u1820-\\u1842\\u1844-\\u1878\\u1880-\\u1884\\u1887-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C77\\u1CE9-\\u1CEC\\u1CEE-\\u1CF3\\u1CF5\\u1CF6\\u1CFA\\u2135-\\u2138\\u2D30-\\u2D67\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u3006\\u303C\\u3041-\\u3096\\u309F\\u30A1-\\u30FA\\u30FF\\u3105-\\u312F\\u3131-\\u318E\\u31A0-\\u31BF\\u31F0-\\u31FF\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uA000-\\uA014\\uA016-\\uA48C\\uA4D0-\\uA4F7\\uA500-\\uA60B\\uA610-\\uA61F\\uA62A\\uA62B\\uA66E\\uA6A0-\\uA6E5\\uA78F\\uA7F7\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA8FE\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9E0-\\uA9E4\\uA9E7-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA6F\\uAA71-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB\\uAADC\\uAAE0-\\uAAEA\\uAAF2\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF66-\\uFF6F\\uFF71-\\uFF9D\\uFFA0-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC",Lt:"\\u01C5\\u01C8\\u01CB\\u01F2\\u1F88-\\u1F8F\\u1F98-\\u1F9F\\u1FA8-\\u1FAF\\u1FBC\\u1FCC\\u1FFC",Lu:"A-Z\\xC0-\\xD6\\xD8-\\xDE\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C7\\u01CA\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F1\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E\\u038F\\u0391-\\u03A1\\u03A3-\\u03AB\\u03CF\\u03D2-\\u03D4\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F4\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u10A0-\\u10C5\\u10C7\\u10CD\\u13A0-\\u13F5\\u1C90-\\u1CBA\\u1CBD-\\u1CBF\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1FB8-\\u1FBB\\u1FC8-\\u1FCB\\u1FD8-\\u1FDB\\u1FE8-\\u1FEC\\u1FF8-\\u1FFB\\u2102\\u2107\\u210B-\\u210D\\u2110-\\u2112\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u2130-\\u2133\\u213E\\u213F\\u2145\\u2183\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AE\\uA7B0-\\uA7B4\\uA7B6\\uA7B8\\uA7BA\\uA7BC\\uA7BE\\uA7C2\\uA7C4-\\uA7C7\\uA7C9\\uA7F5\\uFF21-\\uFF3A",M:"\\u0300-\\u036F\\u0483-\\u0489\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962\\u0963\\u0981-\\u0983\\u09BC\\u09BE-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CD\\u09D7\\u09E2\\u09E3\\u09FE\\u0A01-\\u0A03\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81-\\u0A83\\u0ABC\\u0ABE-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01-\\u0B03\\u0B3C\\u0B3E-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B55-\\u0B57\\u0B62\\u0B63\\u0B82\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD7\\u0C00-\\u0C04\\u0C3E-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81-\\u0C83\\u0CBC\\u0CBE-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CE2\\u0CE3\\u0D00-\\u0D03\\u0D3B\\u0D3C\\u0D3E-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4D\\u0D57\\u0D62\\u0D63\\u0D81-\\u0D83\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F3E\\u0F3F\\u0F71-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102B-\\u103E\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F\\u109A-\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u192B\\u1930-\\u193B\\u1A17-\\u1A1B\\u1A55-\\u1A5E\\u1A60-\\u1A7C\\u1A7F\\u1AB0-\\u1AC0\\u1B00-\\u1B04\\u1B34-\\u1B44\\u1B6B-\\u1B73\\u1B80-\\u1B82\\u1BA1-\\u1BAD\\u1BE6-\\u1BF3\\u1C24-\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u20D0-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302F\\u3099\\u309A\\uA66F-\\uA672\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA823-\\uA827\\uA82C\\uA880\\uA881\\uA8B4-\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA953\\uA980-\\uA983\\uA9B3-\\uA9C0\\uA9E5\\uAA29-\\uAA36\\uAA43\\uAA4C\\uAA4D\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEB-\\uAAEF\\uAAF5\\uAAF6\\uABE3-\\uABEA\\uABEC\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F",Mc:"\\u0903\\u093B\\u093E-\\u0940\\u0949-\\u094C\\u094E\\u094F\\u0982\\u0983\\u09BE-\\u09C0\\u09C7\\u09C8\\u09CB\\u09CC\\u09D7\\u0A03\\u0A3E-\\u0A40\\u0A83\\u0ABE-\\u0AC0\\u0AC9\\u0ACB\\u0ACC\\u0B02\\u0B03\\u0B3E\\u0B40\\u0B47\\u0B48\\u0B4B\\u0B4C\\u0B57\\u0BBE\\u0BBF\\u0BC1\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCC\\u0BD7\\u0C01-\\u0C03\\u0C41-\\u0C44\\u0C82\\u0C83\\u0CBE\\u0CC0-\\u0CC4\\u0CC7\\u0CC8\\u0CCA\\u0CCB\\u0CD5\\u0CD6\\u0D02\\u0D03\\u0D3E-\\u0D40\\u0D46-\\u0D48\\u0D4A-\\u0D4C\\u0D57\\u0D82\\u0D83\\u0DCF-\\u0DD1\\u0DD8-\\u0DDF\\u0DF2\\u0DF3\\u0F3E\\u0F3F\\u0F7F\\u102B\\u102C\\u1031\\u1038\\u103B\\u103C\\u1056\\u1057\\u1062-\\u1064\\u1067-\\u106D\\u1083\\u1084\\u1087-\\u108C\\u108F\\u109A-\\u109C\\u17B6\\u17BE-\\u17C5\\u17C7\\u17C8\\u1923-\\u1926\\u1929-\\u192B\\u1930\\u1931\\u1933-\\u1938\\u1A19\\u1A1A\\u1A55\\u1A57\\u1A61\\u1A63\\u1A64\\u1A6D-\\u1A72\\u1B04\\u1B35\\u1B3B\\u1B3D-\\u1B41\\u1B43\\u1B44\\u1B82\\u1BA1\\u1BA6\\u1BA7\\u1BAA\\u1BE7\\u1BEA-\\u1BEC\\u1BEE\\u1BF2\\u1BF3\\u1C24-\\u1C2B\\u1C34\\u1C35\\u1CE1\\u1CF7\\u302E\\u302F\\uA823\\uA824\\uA827\\uA880\\uA881\\uA8B4-\\uA8C3\\uA952\\uA953\\uA983\\uA9B4\\uA9B5\\uA9BA\\uA9BB\\uA9BE-\\uA9C0\\uAA2F\\uAA30\\uAA33\\uAA34\\uAA4D\\uAA7B\\uAA7D\\uAAEB\\uAAEE\\uAAEF\\uAAF5\\uABE3\\uABE4\\uABE6\\uABE7\\uABE9\\uABEA\\uABEC",Me:"\\u0488\\u0489\\u1ABE\\u20DD-\\u20E0\\u20E2-\\u20E4\\uA670-\\uA672",Mn:"\\u0300-\\u036F\\u0483-\\u0487\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06DC\\u06DF-\\u06E4\\u06E7\\u06E8\\u06EA-\\u06ED\\u0711\\u0730-\\u074A\\u07A6-\\u07B0\\u07EB-\\u07F3\\u07FD\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u082D\\u0859-\\u085B\\u08D3-\\u08E1\\u08E3-\\u0902\\u093A\\u093C\\u0941-\\u0948\\u094D\\u0951-\\u0957\\u0962\\u0963\\u0981\\u09BC\\u09C1-\\u09C4\\u09CD\\u09E2\\u09E3\\u09FE\\u0A01\\u0A02\\u0A3C\\u0A41\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A70\\u0A71\\u0A75\\u0A81\\u0A82\\u0ABC\\u0AC1-\\u0AC5\\u0AC7\\u0AC8\\u0ACD\\u0AE2\\u0AE3\\u0AFA-\\u0AFF\\u0B01\\u0B3C\\u0B3F\\u0B41-\\u0B44\\u0B4D\\u0B55\\u0B56\\u0B62\\u0B63\\u0B82\\u0BC0\\u0BCD\\u0C00\\u0C04\\u0C3E-\\u0C40\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C62\\u0C63\\u0C81\\u0CBC\\u0CBF\\u0CC6\\u0CCC\\u0CCD\\u0CE2\\u0CE3\\u0D00\\u0D01\\u0D3B\\u0D3C\\u0D41-\\u0D44\\u0D4D\\u0D62\\u0D63\\u0D81\\u0DCA\\u0DD2-\\u0DD4\\u0DD6\\u0E31\\u0E34-\\u0E3A\\u0E47-\\u0E4E\\u0EB1\\u0EB4-\\u0EBC\\u0EC8-\\u0ECD\\u0F18\\u0F19\\u0F35\\u0F37\\u0F39\\u0F71-\\u0F7E\\u0F80-\\u0F84\\u0F86\\u0F87\\u0F8D-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u102D-\\u1030\\u1032-\\u1037\\u1039\\u103A\\u103D\\u103E\\u1058\\u1059\\u105E-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108D\\u109D\\u135D-\\u135F\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17B4\\u17B5\\u17B7-\\u17BD\\u17C6\\u17C9-\\u17D3\\u17DD\\u180B-\\u180D\\u1885\\u1886\\u18A9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193B\\u1A17\\u1A18\\u1A1B\\u1A56\\u1A58-\\u1A5E\\u1A60\\u1A62\\u1A65-\\u1A6C\\u1A73-\\u1A7C\\u1A7F\\u1AB0-\\u1ABD\\u1ABF\\u1AC0\\u1B00-\\u1B03\\u1B34\\u1B36-\\u1B3A\\u1B3C\\u1B42\\u1B6B-\\u1B73\\u1B80\\u1B81\\u1BA2-\\u1BA5\\u1BA8\\u1BA9\\u1BAB-\\u1BAD\\u1BE6\\u1BE8\\u1BE9\\u1BED\\u1BEF-\\u1BF1\\u1C2C-\\u1C33\\u1C36\\u1C37\\u1CD0-\\u1CD2\\u1CD4-\\u1CE0\\u1CE2-\\u1CE8\\u1CED\\u1CF4\\u1CF8\\u1CF9\\u1DC0-\\u1DF9\\u1DFB-\\u1DFF\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2CEF-\\u2CF1\\u2D7F\\u2DE0-\\u2DFF\\u302A-\\u302D\\u3099\\u309A\\uA66F\\uA674-\\uA67D\\uA69E\\uA69F\\uA6F0\\uA6F1\\uA802\\uA806\\uA80B\\uA825\\uA826\\uA82C\\uA8C4\\uA8C5\\uA8E0-\\uA8F1\\uA8FF\\uA926-\\uA92D\\uA947-\\uA951\\uA980-\\uA982\\uA9B3\\uA9B6-\\uA9B9\\uA9BC\\uA9BD\\uA9E5\\uAA29-\\uAA2E\\uAA31\\uAA32\\uAA35\\uAA36\\uAA43\\uAA4C\\uAA7C\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAEC\\uAAED\\uAAF6\\uABE5\\uABE8\\uABED\\uFB1E\\uFE00-\\uFE0F\\uFE20-\\uFE2F",Nd:"0-9\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19",Nl:"\\u16EE-\\u16F0\\u2160-\\u2182\\u2185-\\u2188\\u3007\\u3021-\\u3029\\u3038-\\u303A\\uA6E6-\\uA6EF",No:"\\xB2\\xB3\\xB9\\xBC-\\xBE\\u09F4-\\u09F9\\u0B72-\\u0B77\\u0BF0-\\u0BF2\\u0C78-\\u0C7E\\u0D58-\\u0D5E\\u0D70-\\u0D78\\u0F2A-\\u0F33\\u1369-\\u137C\\u17F0-\\u17F9\\u19DA\\u2070\\u2074-\\u2079\\u2080-\\u2089\\u2150-\\u215F\\u2189\\u2460-\\u249B\\u24EA-\\u24FF\\u2776-\\u2793\\u2CFD\\u3192-\\u3195\\u3220-\\u3229\\u3248-\\u324F\\u3251-\\u325F\\u3280-\\u3289\\u32B1-\\u32BF\\uA830-\\uA835",Pc:"_\\u203F\\u2040\\u2054\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFF3F",Pd:"\\-\\u058A\\u05BE\\u1400\\u1806\\u2010-\\u2015\\u2E17\\u2E1A\\u2E3A\\u2E3B\\u2E40\\u301C\\u3030\\u30A0\\uFE31\\uFE32\\uFE58\\uFE63\\uFF0D",Pe:"\\)\\]\\}\\u0F3B\\u0F3D\\u169C\\u2046\\u207E\\u208E\\u2309\\u230B\\u232A\\u2769\\u276B\\u276D\\u276F\\u2771\\u2773\\u2775\\u27C6\\u27E7\\u27E9\\u27EB\\u27ED\\u27EF\\u2984\\u2986\\u2988\\u298A\\u298C\\u298E\\u2990\\u2992\\u2994\\u2996\\u2998\\u29D9\\u29DB\\u29FD\\u2E23\\u2E25\\u2E27\\u2E29\\u3009\\u300B\\u300D\\u300F\\u3011\\u3015\\u3017\\u3019\\u301B\\u301E\\u301F\\uFD3E\\uFE18\\uFE36\\uFE38\\uFE3A\\uFE3C\\uFE3E\\uFE40\\uFE42\\uFE44\\uFE48\\uFE5A\\uFE5C\\uFE5E\\uFF09\\uFF3D\\uFF5D\\uFF60\\uFF63",Pf:"\\xBB\\u2019\\u201D\\u203A\\u2E03\\u2E05\\u2E0A\\u2E0D\\u2E1D\\u2E21",Pi:"\\xAB\\u2018\\u201B\\u201C\\u201F\\u2039\\u2E02\\u2E04\\u2E09\\u2E0C\\u2E1C\\u2E20",Po:"!-#%-'\\*,\\.\\/:;\\?@\\xA1\\xA7\\xB6\\xB7\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u166E\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u1805\\u1807-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2016\\u2017\\u2020-\\u2027\\u2030-\\u2038\\u203B-\\u203E\\u2041-\\u2043\\u2047-\\u2051\\u2053\\u2055-\\u205E\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00\\u2E01\\u2E06-\\u2E08\\u2E0B\\u2E0E-\\u2E16\\u2E18\\u2E19\\u2E1B\\u2E1E\\u2E1F\\u2E2A-\\u2E2E\\u2E30-\\u2E39\\u2E3C-\\u2E3F\\u2E41\\u2E43-\\u2E4F\\u2E52\\u3001-\\u3003\\u303D\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFE10-\\uFE16\\uFE19\\uFE30\\uFE45\\uFE46\\uFE49-\\uFE4C\\uFE50-\\uFE52\\uFE54-\\uFE57\\uFE5F-\\uFE61\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF07\\uFF0A\\uFF0C\\uFF0E\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3C\\uFF61\\uFF64\\uFF65",Ps:"\\(\\[\\{\\u0F3A\\u0F3C\\u169B\\u201A\\u201E\\u2045\\u207D\\u208D\\u2308\\u230A\\u2329\\u2768\\u276A\\u276C\\u276E\\u2770\\u2772\\u2774\\u27C5\\u27E6\\u27E8\\u27EA\\u27EC\\u27EE\\u2983\\u2985\\u2987\\u2989\\u298B\\u298D\\u298F\\u2991\\u2993\\u2995\\u2997\\u29D8\\u29DA\\u29FC\\u2E22\\u2E24\\u2E26\\u2E28\\u2E42\\u3008\\u300A\\u300C\\u300E\\u3010\\u3014\\u3016\\u3018\\u301A\\u301D\\uFD3F\\uFE17\\uFE35\\uFE37\\uFE39\\uFE3B\\uFE3D\\uFE3F\\uFE41\\uFE43\\uFE47\\uFE59\\uFE5B\\uFE5D\\uFF08\\uFF3B\\uFF5B\\uFF5F\\uFF62",Sc:"\\$\\xA2-\\xA5\\u058F\\u060B\\u07FE\\u07FF\\u09F2\\u09F3\\u09FB\\u0AF1\\u0BF9\\u0E3F\\u17DB\\u20A0-\\u20BF\\uA838\\uFDFC\\uFE69\\uFF04\\uFFE0\\uFFE1\\uFFE5\\uFFE6",Sk:"\\^`\\xA8\\xAF\\xB4\\xB8\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u02FF\\u0375\\u0384\\u0385\\u1FBD\\u1FBF-\\u1FC1\\u1FCD-\\u1FCF\\u1FDD-\\u1FDF\\u1FED-\\u1FEF\\u1FFD\\u1FFE\\u309B\\u309C\\uA700-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uAB5B\\uAB6A\\uAB6B\\uFBB2-\\uFBC1\\uFF3E\\uFF40\\uFFE3",Sm:"\\+<->\\|~\\xAC\\xB1\\xD7\\xF7\\u03F6\\u0606-\\u0608\\u2044\\u2052\\u207A-\\u207C\\u208A-\\u208C\\u2118\\u2140-\\u2144\\u214B\\u2190-\\u2194\\u219A\\u219B\\u21A0\\u21A3\\u21A6\\u21AE\\u21CE\\u21CF\\u21D2\\u21D4\\u21F4-\\u22FF\\u2320\\u2321\\u237C\\u239B-\\u23B3\\u23DC-\\u23E1\\u25B7\\u25C1\\u25F8-\\u25FF\\u266F\\u27C0-\\u27C4\\u27C7-\\u27E5\\u27F0-\\u27FF\\u2900-\\u2982\\u2999-\\u29D7\\u29DC-\\u29FB\\u29FE-\\u2AFF\\u2B30-\\u2B44\\u2B47-\\u2B4C\\uFB29\\uFE62\\uFE64-\\uFE66\\uFF0B\\uFF1C-\\uFF1E\\uFF5C\\uFF5E\\uFFE2\\uFFE9-\\uFFEC",So:"\\xA6\\xA9\\xAE\\xB0\\u0482\\u058D\\u058E\\u060E\\u060F\\u06DE\\u06E9\\u06FD\\u06FE\\u07F6\\u09FA\\u0B70\\u0BF3-\\u0BF8\\u0BFA\\u0C7F\\u0D4F\\u0D79\\u0F01-\\u0F03\\u0F13\\u0F15-\\u0F17\\u0F1A-\\u0F1F\\u0F34\\u0F36\\u0F38\\u0FBE-\\u0FC5\\u0FC7-\\u0FCC\\u0FCE\\u0FCF\\u0FD5-\\u0FD8\\u109E\\u109F\\u1390-\\u1399\\u166D\\u1940\\u19DE-\\u19FF\\u1B61-\\u1B6A\\u1B74-\\u1B7C\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116\\u2117\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u214A\\u214C\\u214D\\u214F\\u218A\\u218B\\u2195-\\u2199\\u219C-\\u219F\\u21A1\\u21A2\\u21A4\\u21A5\\u21A7-\\u21AD\\u21AF-\\u21CD\\u21D0\\u21D1\\u21D3\\u21D5-\\u21F3\\u2300-\\u2307\\u230C-\\u231F\\u2322-\\u2328\\u232B-\\u237B\\u237D-\\u239A\\u23B4-\\u23DB\\u23E2-\\u2426\\u2440-\\u244A\\u249C-\\u24E9\\u2500-\\u25B6\\u25B8-\\u25C0\\u25C2-\\u25F7\\u2600-\\u266E\\u2670-\\u2767\\u2794-\\u27BF\\u2800-\\u28FF\\u2B00-\\u2B2F\\u2B45\\u2B46\\u2B4D-\\u2B73\\u2B76-\\u2B95\\u2B97-\\u2BFF\\u2CE5-\\u2CEA\\u2E50\\u2E51\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303E\\u303F\\u3190\\u3191\\u3196-\\u319F\\u31C0-\\u31E3\\u3200-\\u321E\\u322A-\\u3247\\u3250\\u3260-\\u327F\\u328A-\\u32B0\\u32C0-\\u33FF\\u4DC0-\\u4DFF\\uA490-\\uA4C6\\uA828-\\uA82B\\uA836\\uA837\\uA839\\uAA77-\\uAA79\\uFDFD\\uFFE4\\uFFE8\\uFFED\\uFFEE\\uFFFC\\uFFFD",Zl:"\\u2028",Zp:"\\u2029",Zs:" \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000"}).C=t.Cc+t.Cf+t.Cs+t.Co,t.L=t.Lu+t.Ll+t.Lt+t.Lm+t.Mn+t.Lo,t.LC=t.Lu+t.Ll+t.Lt,t.M=t.Mn+t.Mc+t.Me,t.N=t.Nd+t.Nl+t.No,t.P=t.Pc+t.Pd+t.Ps+t.Pe+t.Pi+t.Pf+t.Po,t.S=t.Sm+t.Sc+t.Sk+t.So,t.Z=t.Zs+t.Zl+t.Zp,t.w="_"+t.L+t.N,t.b="(?:["+t.w+"](?:[^"+t.w+"]|$)|(?:^|[^"+t.w+"])["+t.w+"])",t.bOut="(?=[^"+t.w+"]|$)",t.bIn="(?:^|[^"+t.w+"])",t.bInCapture="(?:^|([^"+t.w+"]))",t.B="(?:["+t.w+"]["+t.w+"]|[^"+t.w+"][^"+t.w+"])",t.d=t.N;var c=Sk.token.tokens;const p=Sk.builtin.SyntaxError,h=Sk.builtin.SyntaxError;i.prototype.exact_type=function(){return this.type==c.T_OP&&this.string in Sk.token.EXACT_TOKEN_TYPES?Sk.token.EXACT_TOKEN_TYPES[this.string]:this.type};var _=/[\\^$.*+?()[\]{}|]/g,d=RegExp(_.source);const{Lu:f,Ll:m,Lt:g,Lm:b,Lo:S,Nl:k,Mn:y,Mc:T,Nd:v,Pc:$}=t,w="["+(t=f+m+g+b+S+k+"_\\u1885-\\u1886\\u2118\\u212E\\u309B-\\u309C")+"]+["+(t+y+T+v+$)+"\\u00B7\\u0387\\u1369-\\u1371\\u19DA]*",E=new RegExp("^"+w+"$");Sk.token.isIdentifier=a,function(t){s.apply(null,arguments)}("\\\\\\r?\\n[ \\f\\t]*"),r("#[^\\r\\n]*"),t=s("[0-9](?:_?[0-9])*\\.(?:[0-9](?:_?[0-9])*)?","\\.[0-9](?:_?[0-9])*")+r("[eE][-+]?[0-9](?:_?[0-9])*");var I,A,O,M=s(t,"[0-9](?:_?[0-9])*[eE][-+]?[0-9](?:_?[0-9])*"),C=s("[0-9](?:_?[0-9])*[jJ]",M+"[jJ]");t=s.apply(null,l()),e=s(t+"'''",t+'"""'),s(t+"'[^\\n'\\\\]*(?:\\\\.[^\\n'\\\\]*)*'",t+'"[^\\n"\\\\]*(?:\\\\.[^\\n"\\\\]*)*"'),u(!0),Sk.token.setupTokens=u;var R=s(t+"'[^\\n'\\\\]*(?:\\\\.[^\\n'\\\\]*)*"+s("'","\\\\\\r?\\n"),t+'"[^\\n"\\\\]*(?:\\\\.[^\\n"\\\\]*)*'+s('"',"\\\\\\r?\\n")),x=s("\\\\\\r?\\n|$","#[^\\r\\n]*",e),N={};t=l();for(let e of t)N[e+"'"]="^[^'\\\\]*(?:\\\\.[^'\\\\]*)*'",N[e+'"']='^[^"\\\\]*(?:\\\\.[^"\\\\]*)*"',N[e+"'''"]="^[^'\\\\]*(?:(?:\\\\.|'(?!''))[^'\\\\]*)*'''",N[e+'"""']='^[^"\\\\]*(?:(?:\\\\.|"(?!""))[^"\\\\]*)*"""';let L=[],D=[];for(let e of t)L.push(e+'"'),L.push(e+"'"),D.push(e+'"""'),D.push(e+"'''");Sk._tokenize=function(t,e,n,r){var l=Sk.__future__.python3?"":"(?:L?)";l=s("0[xX](?:_?[0-9a-fA-F])+"+l,"0[bB](?:_?[01])+"+l,Sk.__future__.silent_octal_literal?"0([oO]?)(?:_?[0-7])+"+l:"0([oO])(?:_?[0-7])+"+l,"(?:0(?:_?0)*|[1-9](?:_?[0-9])*)"+l),l=s(C,M,l),l="[ \\f\\t]*"+s(x,l,O,R,w),l=new RegExp(l);var u,_,d,f=0,m=0,g=0,b="",S=0,k=null,y=[0],T=void 0,v=void 0;void 0!==n&&("utf-8-sig"==n&&(n="utf-8"),r(new i(c.T_ENCODING,n,[0,0],[0,0],"")));for(var $=n="";;){try{n=$,$=e()}catch(t){$=""}f+=1;var E=0,I=$.length;if(b){if(!$)throw new p("EOF in multi-line string",t,v[0],v[1]);T.lastIndex=0;var A=T.exec($);if(!A){S&&"\\\n"!==$.substring($.length-2)&&"\\\r\n"!==$.substring($.length-3)?(r(new i(c.T_ERRORTOKEN,b+$,v,[f,$.length],k)),b="",k=null):(b+=$,k+=$);continue}E=_=A[0].length,r(new i(c.T_STRING,b+$.substring(0,_),v,[f,_],k+$)),b="",S=0,k=null}else if(0!=m||g){if(!$)throw new p("EOF in multi-line statement",t,f,0);g=0}else{if(!$)break;for(u=0;Ey[y.length-1]&&(y.push(u),r(new i(c.T_INDENT,$.substring(E),[f,0],[f,E],$)));u{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{"use strict";var t={};n.r(t),n.d(t,{controls_type:()=>nt,controls_typeLists:()=>it,variables_change:()=>tt,variables_get:()=>Q,variables_global:()=>et,variables_set:()=>Z});var e={};n.r(e),n.d(e,{base_setup:()=>ot,controls_delay:()=>at,controls_end_program:()=>lt,controls_except:()=>yt,controls_finally:()=>Tt,controls_flow_statements:()=>dt,controls_for:()=>ft,controls_forEach:()=>pt,controls_for_range:()=>mt,controls_if:()=>ut,controls_if_else:()=>St,controls_if_elseif:()=>bt,controls_if_if:()=>gt,controls_lambda:()=>$t,controls_main:()=>rt,controls_pass:()=>wt,controls_range:()=>ct,controls_repeat_ext:()=>vt,controls_thread:()=>Et,controls_try:()=>kt,controls_try_finally:()=>_t,controls_whileUntil:()=>ht,do_while:()=>It,garbage_collection:()=>At,get_mem_alloc:()=>Ot,get_mem_free:()=>Mt});var i={};n.r(i),n.d(i,{base_map:()=>Kt,math_arithmetic:()=>Lt,math_bit:()=>Ft,math_constant:()=>xt,math_constant_mp:()=>Nt,math_constrain:()=>Gt,math_dec:()=>Bt,math_indexer_number:()=>Ht,math_map:()=>Xt,math_max_min:()=>Ut,math_number:()=>Rt,math_number_base_conversion:()=>Yt,math_random:()=>jt,math_random_seed:()=>qt,math_round:()=>zt,math_selfcalcu:()=>Dt,math_to_int:()=>Vt,math_trig:()=>Pt,text_to_number:()=>Wt,text_to_number_skulpt:()=>Jt});var s={};n.r(s),n.d(s,{ascii_to_char:()=>ie,char_to_ascii:()=>se,number_to_text:()=>re,os_system:()=>Me,text:()=>Zt,text_capital:()=>de,text_center:()=>fe,text_char:()=>ee,text_char_at:()=>le,text_char_at2:()=>ae,text_char_at3:()=>Ee,text_compareTo:()=>we,text_compare_to:()=>_e,text_create_with_container:()=>Te,text_create_with_item:()=>ve,text_encode:()=>Ae,text_equals_starts_ends:()=>he,text_eval:()=>Oe,text_find:()=>me,text_format:()=>ye,text_format_noreturn:()=>Ie,text_join:()=>ne,text_join_seq:()=>ge,text_length:()=>oe,text_random_char:()=>ue,text_replace:()=>be,text_split:()=>Se,text_strip:()=>ke,text_substring:()=>pe,text_substring2:()=>ce,text_substring3:()=>$e,text_textarea:()=>te});var r={};n.r(r),n.d(r,{list_many_input:()=>Ze,list_tolist:()=>an,list_tolist2:()=>fn,list_trig:()=>Je,lists_2d_get_col_row_data:()=>Le,lists_2d_get_data_with_col_row:()=>Ne,lists_append_extend:()=>Ue,lists_change_to:()=>Qe,lists_change_to_general:()=>en,lists_clear:()=>He,lists_create_with:()=>De,lists_create_with2:()=>ln,lists_create_with_container:()=>Pe,lists_create_with_item:()=>Be,lists_create_with_noreturn:()=>tn,lists_create_with_text:()=>Fe,lists_create_with_text2:()=>un,lists_del_general:()=>nn,lists_find:()=>We,lists_getIndex3:()=>cn,lists_getSublist3:()=>pn,lists_get_index:()=>Re,lists_get_random_item:()=>Ye,lists_get_random_sublist:()=>je,lists_get_sublist:()=>xe,lists_insert_value:()=>Ge,lists_insert_value2:()=>_n,lists_pop:()=>ze,lists_remove_at:()=>qe,lists_remove_at2:()=>dn,lists_reverse:()=>Xe,lists_setIndex3:()=>hn,lists_set_index:()=>Ve,lists_sort:()=>Ke,lists_zip:()=>sn,lists_zip_container:()=>rn,lists_zip_item:()=>on});var o={};n.r(o),n.d(o,{dicts_add_change_del:()=>Cn,dicts_add_or_change:()=>vn,dicts_clear:()=>En,dicts_create_with:()=>gn,dicts_create_with_container:()=>bn,dicts_create_with_item:()=>Sn,dicts_create_with_noreturn:()=>Nn,dicts_deldict:()=>Mn,dicts_delete:()=>$n,dicts_get:()=>yn,dicts_get_default:()=>Tn,dicts_items:()=>In,dicts_keys:()=>kn,dicts_length:()=>On,dicts_pop:()=>Rn,dicts_setdefault:()=>xn,dicts_to_json:()=>Dn,dicts_todict:()=>Ln,dicts_update:()=>wn,dicts_values:()=>An,json_to_dicts:()=>Fn});var a={};n.r(a),n.d(a,{logic_boolean:()=>jn,logic_compare:()=>Bn,logic_compare_continous:()=>Vn,logic_is:()=>qn,logic_is_in:()=>Hn,logic_negate:()=>Yn,logic_null:()=>Gn,logic_operation:()=>Un,logic_tobool:()=>zn,logic_true_or_false:()=>Xn});var l={};n.r(l),n.d(l,{sdcard_mount:()=>gi,sdcard_use_spi_init:()=>mi,storage_can_write_ornot:()=>ii,storage_change_dir:()=>di,storage_close_file:()=>ri,storage_delete_file:()=>ai,storage_file_seek:()=>ci,storage_file_tell:()=>ui,storage_file_write:()=>Zn,storage_fileopen:()=>Jn,storage_fileopen_new:()=>Kn,storage_fileopen_new_encoding:()=>Qn,storage_get_a_line:()=>ni,storage_get_contents:()=>ei,storage_get_contents_without_para:()=>ti,storage_get_current_dir:()=>pi,storage_get_file_size:()=>li,storage_get_filename:()=>si,storage_is_file:()=>fi,storage_list_all_files:()=>oi,storage_make_dir:()=>hi,storage_open_file_with_os:()=>Wn,storage_rename:()=>_i});var u={};n.r(u),n.d(u,{procedures_callnoreturn:()=>Ti,procedures_callreturn:()=>vi,procedures_defnoreturn:()=>bi,procedures_defreturn:()=>Si,procedures_ifreturn:()=>$i,procedures_mutatorarg:()=>yi,procedures_mutatorcontainer:()=>ki,procedures_return:()=>wi});var c={};n.r(c),n.d(c,{tuple_change_to:()=>Fi,tuple_create_with:()=>Ii,tuple_create_with_container:()=>Ai,tuple_create_with_item:()=>Oi,tuple_create_with_noreturn:()=>Ui,tuple_create_with_text2:()=>Mi,tuple_create_with_text_return:()=>Ci,tuple_del:()=>Ni,tuple_find:()=>Pi,tuple_getIndex:()=>Ri,tuple_getSublist:()=>Vi,tuple_get_random_item:()=>ji,tuple_get_sublist:()=>Yi,tuple_join:()=>Li,tuple_length:()=>xi,tuple_max:()=>Di,tuple_totuple:()=>Gi,tuple_trig:()=>Bi});var p={};n.r(p),n.d(p,{set_add_discard:()=>ts,set_clear:()=>Ki,set_create_with:()=>Hi,set_create_with_container:()=>qi,set_create_with_item:()=>zi,set_create_with_text_return:()=>is,set_length:()=>Wi,set_operate:()=>Qi,set_operate_update:()=>Zi,set_pop:()=>Ji,set_sub:()=>es,set_toset:()=>ss,set_update:()=>ns});var h={};n.r(h),n.d(h,{html_content:()=>us,html_content_more:()=>cs,html_document:()=>os,html_form:()=>hs,html_head_body:()=>ls,html_style:()=>ps,html_style_color:()=>ds,html_style_content:()=>_s,html_text:()=>fs,html_title:()=>as});var _={};n.r(_),n.d(_,{attribute_access:()=>Os,function_call:()=>Es,function_call_container:()=>Is,function_call_item:()=>As,raw_block:()=>bs,raw_empty:()=>ks,raw_expression:()=>Ss,raw_table:()=>gs,text_comment:()=>ys,text_print_multiple:()=>vs,text_print_multiple_container:()=>$s,text_print_multiple_item:()=>ws,type_check:()=>Ts});var d={};n.r(d),n.d(d,{algorithm_add_path:()=>Ds,algorithm_add_school:()=>Rs,algorithm_all_books:()=>Qs,algorithm_all_books_sequence:()=>Zs,algorithm_book_scale:()=>pr,algorithm_check_feet:()=>Tr,algorithm_chick_calculate:()=>yr,algorithm_color_seclet:()=>Vr,algorithm_current_school:()=>Ys,algorithm_del_path:()=>Fs,algorithm_delete_book:()=>ar,algorithm_delete_books:()=>lr,algorithm_delete_books2:()=>ur,algorithm_divide_books:()=>rr,algorithm_find_path:()=>xs,algorithm_first_book:()=>tr,algorithm_fz_calc:()=>Er,algorithm_fz_calc_first_min:()=>Ir,algorithm_fz_compare:()=>Ar,algorithm_fz_move:()=>Mr,algorithm_fz_set_min:()=>Or,algorithm_get_book_num:()=>fr,algorithm_get_current_location:()=>Pr,algorithm_get_half_books:()=>or,algorithm_hxdb_add:()=>Lr,algorithm_hxdb_init_soldier:()=>Rr,algorithm_hxdb_last_line:()=>Nr,algorithm_hxdb_result:()=>Dr,algorithm_hxdb_stand_in_line:()=>xr,algorithm_init_fzsf:()=>wr,algorithm_init_hxdb:()=>Cr,algorithm_init_jttl:()=>br,algorithm_move_recent:()=>Hs,algorithm_new_path:()=>Ns,algorithm_next_book:()=>ir,algorithm_no_left:()=>Bs,algorithm_no_path:()=>js,algorithm_no_ring2:()=>er,algorithm_not_home:()=>qs,algorithm_not_school:()=>zs,algorithm_number_add:()=>_r,algorithm_number_zero:()=>hr,algorithm_prepare:()=>Cs,algorithm_prepare2:()=>Us,algorithm_prepare_2_1:()=>Gs,algorithm_prepare_2_2:()=>Xs,algorithm_print_book2:()=>cr,algorithm_print_divide:()=>gr,algorithm_print_jttl_answer:()=>vr,algorithm_print_number:()=>dr,algorithm_print_path:()=>Vs,algorithm_print_path2:()=>Ws,algorithm_print_sequence:()=>mr,algorithm_rabbit_add:()=>$r,algorithm_rabbit_number_in_range:()=>kr,algorithm_rabbit_zero:()=>Sr,algorithm_return_path:()=>Ps,algorithm_set_path:()=>Ls,algorithm_two_left:()=>sr,algorithm_void_path:()=>Br,algorithm_yes_ring2:()=>nr,hanoi_init:()=>Js,hanoi_init_offline:()=>Fr,hanoi_move:()=>Ks});var f={};n.r(f),n.d(f,{factory_block:()=>Kr,factory_block_return:()=>Qr,factory_block_return_with_textarea:()=>to,factory_block_with_textarea:()=>Zr,factory_callMethod_noreturn:()=>Wr,factory_callMethod_return:()=>Jr,factory_create_with_container:()=>Xr,factory_create_with_item:()=>Hr,factory_declare:()=>zr,factory_from_import:()=>Yr,factory_function_noreturn:()=>Gr,factory_function_return:()=>qr,factory_import:()=>jr});var m={};n.r(m),n.d(m,{array_create:()=>bo,array_toarray:()=>Ro,dataframe_create:()=>so,dataframe_create_from_index:()=>oo,dataframe_create_from_one_index:()=>ro,dataframe_get:()=>Oo,numpy_trig:()=>Eo,pandas_readcsv:()=>Ao,pl_axes:()=>_o,pl_bar:()=>To,pl_hist:()=>$o,pl_label:()=>go,pl_legend:()=>fo,pl_pie:()=>vo,pl_plot:()=>po,pl_plot_bar:()=>So,pl_plot_easy:()=>co,pl_plot_scatter:()=>ko,pl_plot_xy:()=>yo,pl_savefig:()=>Mo,pl_show:()=>ho,pl_subplot:()=>Io,pl_text:()=>Co,pl_ticks:()=>wo,pl_title:()=>mo,plot_axes:()=>Do,plot_bar:()=>jo,plot_hist:()=>Xo,plot_label:()=>Bo,plot_legend:()=>Fo,plot_pie:()=>Go,plot_plot:()=>No,plot_plot_bar:()=>Vo,plot_plot_easy:()=>xo,plot_plot_scatter:()=>Uo,plot_plot_xy:()=>Yo,plot_savefig:()=>zo,plot_show:()=>Lo,plot_subplot:()=>qo,plot_text:()=>Wo,plot_ticks:()=>Ho,plot_title:()=>Po,series_create:()=>no,series_create_from_index:()=>io,series_create_from_text:()=>ao,series_get_num:()=>uo,series_index_value:()=>lo});var g={};n.r(g),n.d(g,{inout_input:()=>Ko,inout_print:()=>Qo,inout_print_container:()=>ia,inout_print_end:()=>ta,inout_print_inline:()=>Zo,inout_print_item:()=>sa,inout_print_many:()=>na,inout_type_input:()=>ea});var b={};n.r(b),n.d(b,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>ka,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Sa,IOT_EMQX_PING:()=>ga,IOT_FORMATTING:()=>fa,IOT_FORMAT_STRING:()=>ma,IOT_MIXIO_NTP:()=>ba,IOT_MIXIO_PUBLISH:()=>aa,IOT_MIXIO_SUBSCRIBE:()=>la,IOT_MIXIO_UNSUBSCRIBE:()=>ua,iot_mixio_check:()=>ha,iot_mixio_connect:()=>oa,iot_mixio_connect_only:()=>pa,iot_mixio_disconnect:()=>ca,iot_mixio_format_msg:()=>da,iot_mixio_format_topic:()=>_a,iot_mixly_key:()=>ya,iot_mixly_key_py:()=>Ta});var S={};n.r(S),n.d(S,{Panic_with_status_code:()=>Ia,base_delay:()=>$a,controls_millis:()=>wa,controls_mstimer2:()=>Oa,controls_mstimer2_start:()=>Ma,controls_mstimer2_stop:()=>Ca,reset:()=>Aa,time_localtime:()=>Ea,time_sleep:()=>Ra});var k={};n.r(k),n.d(k,{turtle_bgcolor:()=>Za,turtle_bgcolor_hex:()=>ll,turtle_bgcolor_hex_new:()=>il,turtle_circle:()=>Ja,turtle_circle_advanced:()=>Ka,turtle_clear:()=>Ga,turtle_clone:()=>nl,turtle_color:()=>ol,turtle_color_hex:()=>al,turtle_color_seclet:()=>bl,turtle_create:()=>Na,turtle_done:()=>La,turtle_exitonclick:()=>Da,turtle_fill:()=>Ha,turtle_fillcolor:()=>el,turtle_fillcolor_hex:()=>cl,turtle_fillcolor_hex_new:()=>rl,turtle_getscreen:()=>Sl,turtle_goto:()=>Ua,turtle_listen:()=>vl,turtle_move:()=>Fa,turtle_numinput:()=>_l,turtle_onclick:()=>yl,turtle_onkey:()=>kl,turtle_ontimer:()=>Tl,turtle_pencolor:()=>tl,turtle_pencolor_hex:()=>ul,turtle_pencolor_hex_new:()=>sl,turtle_penup:()=>Xa,turtle_pos_shape:()=>ja,turtle_rotate:()=>Pa,turtle_screen_delay:()=>Va,turtle_screen_savefig:()=>$l,turtle_setheading:()=>Ba,turtle_setxy:()=>Ya,turtle_shape:()=>pl,turtle_shapesize:()=>hl,turtle_size:()=>za,turtle_size_speed:()=>qa,turtle_speed:()=>Wa,turtle_textinput:()=>dl,turtle_visible:()=>Qa,turtle_write:()=>fl,turtle_write_format:()=>ml,turtle_write_format_skulpt:()=>gl});var y={};n.r(y),n.d(y,{controls_type:()=>Ol,controls_typeLists:()=>Ml,variables_change:()=>Il,variables_get:()=>wl,variables_global:()=>Al,variables_set:()=>El});var T={};n.r(T),n.d(T,{Panic_with_status_code:()=>Vl,base_setup:()=>Rl,controls_delay:()=>Bl,controls_flow_statements:()=>Pl,controls_for:()=>Ll,controls_forEach:()=>Xl,controls_for_range:()=>Dl,controls_if:()=>xl,controls_interrupts:()=>jl,controls_lambda:()=>ql,controls_main:()=>Cl,controls_millis:()=>Ul,controls_nointerrupts:()=>Gl,controls_pass:()=>Wl,controls_range:()=>Hl,controls_repeat:()=>nu,controls_repeat_ext:()=>Ql,controls_thread:()=>Jl,controls_try_finally:()=>Nl,controls_whileUntil:()=>Fl,do_while:()=>Kl,garbage_collection:()=>Zl,get_mem_alloc:()=>tu,get_mem_free:()=>eu,reset:()=>Yl,time_sleep:()=>zl});var v={};n.r(v),n.d(v,{base_map:()=>vu,math_arithmetic:()=>au,math_bit:()=>ou,math_constant:()=>su,math_constant_mp:()=>ru,math_constrain:()=>mu,math_dec:()=>pu,math_indexer_number:()=>Su,math_map:()=>fu,math_max_min:()=>_u,math_number:()=>iu,math_number_base_conversion:()=>gu,math_random:()=>du,math_random_seed:()=>bu,math_round:()=>ku,math_selfcalcu:()=>lu,math_single:()=>uu,math_to_int:()=>hu,math_trig:()=>cu,text_to_number:()=>yu,text_to_number_skulpt:()=>Tu});var w={};n.r(w),n.d(w,{ascii_to_char:()=>Au,char_to_ascii:()=>Ou,number_to_text:()=>Mu,os_system:()=>Zu,text:()=>$u,text_capital:()=>Bu,text_center:()=>Vu,text_char:()=>Eu,text_char_at:()=>xu,text_char_at2:()=>Ru,text_char_at3:()=>Ju,text_compareTo:()=>Wu,text_compare_to:()=>Du,text_encode:()=>Ku,text_equals_starts_ends:()=>Lu,text_eval:()=>Qu,text_find:()=>Uu,text_format:()=>Hu,text_format_noreturn:()=>qu,text_join:()=>Iu,text_join_seq:()=>Yu,text_length:()=>Cu,text_random_char:()=>Nu,text_replace:()=>ju,text_split:()=>Gu,text_strip:()=>Xu,text_substring:()=>Pu,text_substring2:()=>Fu,text_substring3:()=>zu,text_textarea:()=>wu});var E={};n.r(E),n.d(E,{list_many_input:()=>Sc,list_tolist:()=>Cc,list_tolist2:()=>Rc,list_trig:()=>mc,lists_2d_get_col_row_data:()=>nc,lists_2d_get_data_with_col_row:()=>ec,lists_append_extend:()=>ac,lists_change_to:()=>bc,lists_change_to_general:()=>yc,lists_clear:()=>hc,lists_create_with:()=>ic,lists_create_with2:()=>vc,lists_create_with_noreturn:()=>kc,lists_create_with_text:()=>sc,lists_create_with_text2:()=>$c,lists_del_general:()=>Tc,lists_find:()=>_c,lists_getIndex3:()=>wc,lists_getSublist3:()=>Ec,lists_get_index:()=>rc,lists_get_random_item:()=>lc,lists_get_random_sublist:()=>uc,lists_get_sublist:()=>tc,lists_insert_value:()=>cc,lists_insert_value2:()=>Ac,lists_pop:()=>fc,lists_remove_at:()=>dc,lists_remove_at2:()=>Oc,lists_reverse:()=>pc,lists_setIndex3:()=>Ic,lists_set_index:()=>oc,lists_sort:()=>gc,lists_zip:()=>Mc});var I={};n.r(I),n.d(I,{dicts_add_change_del:()=>Xc,dicts_add_or_change:()=>Fc,dicts_clear:()=>Vc,dicts_create_with:()=>xc,dicts_create_with_noreturn:()=>zc,dicts_deldict:()=>Gc,dicts_delete:()=>Pc,dicts_get:()=>Lc,dicts_get_default:()=>Dc,dicts_items:()=>Uc,dicts_keys:()=>Nc,dicts_length:()=>jc,dicts_pop:()=>Hc,dicts_setdefault:()=>qc,dicts_to_json:()=>Jc,dicts_todict:()=>Wc,dicts_update:()=>Bc,dicts_values:()=>Yc,json_to_dicts:()=>Kc});var A={};n.r(A),n.d(A,{logic_boolean:()=>np,logic_compare:()=>Qc,logic_compare_continous:()=>Zc,logic_is:()=>op,logic_is_in:()=>rp,logic_negate:()=>ep,logic_null:()=>ip,logic_operation:()=>tp,logic_tobool:()=>ap,logic_true_or_false:()=>sp});var O={};n.r(O),n.d(O,{sdcard_mount:()=>Mp,sdcard_use_spi_init:()=>Op,storage_can_write_ornot:()=>mp,storage_change_dir:()=>$p,storage_close_file:()=>bp,storage_delete_file:()=>kp,storage_file_seek:()=>vp,storage_file_tell:()=>Tp,storage_file_write:()=>hp,storage_fileopen:()=>up,storage_fileopen_new:()=>cp,storage_fileopen_new_encoding:()=>pp,storage_get_a_line:()=>fp,storage_get_contents:()=>dp,storage_get_contents_without_para:()=>_p,storage_get_current_dir:()=>wp,storage_get_file_size:()=>yp,storage_get_filename:()=>gp,storage_is_file:()=>Ap,storage_list_all_files:()=>Sp,storage_make_dir:()=>Ep,storage_open_file_with_os:()=>lp,storage_rename:()=>Ip});var M={};n.r(M),n.d(M,{procedures_callnoreturn:()=>Np,procedures_callreturn:()=>xp,procedures_defnoreturn:()=>Rp,procedures_defreturn:()=>Cp,procedures_ifreturn:()=>Lp,procedures_return:()=>Dp});var C={};n.r(C),n.d(C,{tuple_change_to:()=>Xp,tuple_create_with:()=>Fp,tuple_create_with_noreturn:()=>Wp,tuple_create_with_text2:()=>Pp,tuple_create_with_text_return:()=>Bp,tuple_del:()=>Yp,tuple_find:()=>Hp,tuple_getIndex:()=>Vp,tuple_getSublist:()=>zp,tuple_get_random_item:()=>Kp,tuple_get_sublist:()=>Jp,tuple_join:()=>jp,tuple_length:()=>Up,tuple_max:()=>Gp,tuple_totuple:()=>Qp,tuple_trig:()=>qp});var R={};n.r(R),n.d(R,{set_add_discard:()=>rh,set_clear:()=>nh,set_create_with:()=>Zp,set_create_with_text_return:()=>lh,set_length:()=>th,set_operate:()=>ih,set_operate_update:()=>sh,set_pop:()=>eh,set_sub:()=>oh,set_toset:()=>uh,set_update:()=>ah});var x={};n.r(x),n.d(x,{html_content:()=>_h,html_content_more:()=>dh,html_document:()=>ch,html_form:()=>mh,html_head_body:()=>hh,html_style:()=>fh,html_style_content:()=>gh,html_text:()=>bh,html_title:()=>ph});var N={};n.r(N),n.d(N,{attribute_access:()=>wh,function_call:()=>$h,raw_block:()=>Sh,raw_empty:()=>yh,raw_expression:()=>kh,raw_table:()=>Th,type_check:()=>vh});var L={};n.r(L),n.d(L,{algorithm_add_path:()=>Ch,algorithm_add_school:()=>Ih,algorithm_all_books:()=>zh,algorithm_all_books_sequence:()=>qh,algorithm_book_scale:()=>s_,algorithm_check_feet:()=>h_,algorithm_chick_calculate:()=>p_,algorithm_color_seclet:()=>O_,algorithm_current_school:()=>Fh,algorithm_del_path:()=>Rh,algorithm_delete_book:()=>n_,algorithm_divide_books:()=>t_,algorithm_find_path:()=>Ah,algorithm_first_book:()=>Wh,algorithm_fz_calc:()=>m_,algorithm_fz_compare:()=>g_,algorithm_fz_move:()=>S_,algorithm_fz_set_min:()=>b_,algorithm_get_current_location:()=>I_,algorithm_get_half_books:()=>e_,algorithm_hxdb_add:()=>$_,algorithm_hxdb_init_soldier:()=>y_,algorithm_hxdb_last_line:()=>v_,algorithm_hxdb_result:()=>w_,algorithm_hxdb_stand_in_line:()=>T_,algorithm_init_fzsf:()=>f_,algorithm_init_hxdb:()=>k_,algorithm_init_jttl:()=>l_,algorithm_move_recent:()=>Uh,algorithm_new_path:()=>Oh,algorithm_next_book:()=>Qh,algorithm_no_left:()=>Nh,algorithm_no_path:()=>Ph,algorithm_no_ring2:()=>Jh,algorithm_not_home:()=>Yh,algorithm_not_school:()=>jh,algorithm_number_add:()=>o_,algorithm_number_zero:()=>r_,algorithm_prepare:()=>Eh,algorithm_prepare2:()=>Dh,algorithm_prepare_2_1:()=>Bh,algorithm_prepare_2_2:()=>Vh,algorithm_print_book2:()=>i_,algorithm_print_jttl_answer:()=>__,algorithm_print_number:()=>a_,algorithm_print_path:()=>Lh,algorithm_print_path2:()=>Gh,algorithm_rabbit_add:()=>d_,algorithm_rabbit_number_in_range:()=>c_,algorithm_rabbit_zero:()=>u_,algorithm_return_path:()=>xh,algorithm_set_path:()=>Mh,algorithm_two_left:()=>Zh,algorithm_void_path:()=>A_,algorithm_yes_ring2:()=>Kh,hanoi_init:()=>Xh,hanoi_init_offline:()=>E_,hanoi_move:()=>Hh});var D={};n.r(D),n.d(D,{factory_block:()=>F_,factory_block_return:()=>P_,factory_block_return_with_textarea:()=>V_,factory_block_with_textarea:()=>B_,factory_callMethod_noreturn:()=>L_,factory_callMethod_return:()=>D_,factory_declare:()=>N_,factory_from_import:()=>M_,factory_function_noreturn:()=>R_,factory_function_return:()=>x_,factory_import:()=>C_});var F={};n.r(F),n.d(F,{array_create:()=>nd,array_toarray:()=>md,dataframe_create:()=>j_,dataframe_create_from_index:()=>G_,dataframe_create_from_one_index:()=>X_,dataframe_get:()=>_d,numpy_trig:()=>cd,pandas_readcsv:()=>hd,pl_axes:()=>J_,pl_bar:()=>od,pl_hist:()=>ld,pl_label:()=>ed,pl_legend:()=>Z_,pl_pie:()=>ad,pl_plot:()=>Q_,pl_plot_bar:()=>id,pl_plot_easy:()=>K_,pl_plot_scatter:()=>sd,pl_plot_xy:()=>rd,pl_savefig:()=>dd,pl_show:()=>W_,pl_subplot:()=>pd,pl_text:()=>fd,pl_ticks:()=>ud,pl_title:()=>td,plot_axes:()=>bd,plot_bar:()=>Id,plot_hist:()=>Od,plot_label:()=>vd,plot_legend:()=>yd,plot_pie:()=>Ad,plot_plot:()=>kd,plot_plot_bar:()=>$d,plot_plot_easy:()=>Sd,plot_plot_scatter:()=>wd,plot_plot_xy:()=>Ed,plot_savefig:()=>Rd,plot_show:()=>gd,plot_subplot:()=>Cd,plot_text:()=>xd,plot_ticks:()=>Md,plot_title:()=>Td,series_create:()=>U_,series_create_from_index:()=>Y_,series_create_from_text:()=>H_,series_get_num:()=>z_,series_index_value:()=>q_});var P={};n.r(P),n.d(P,{inout_input:()=>Nd,inout_print:()=>Ld,inout_print_end:()=>Fd,inout_print_inline:()=>Dd,inout_print_many:()=>Bd,inout_type_input:()=>Pd});var B={};n.r(B),n.d(B,{IOT_EMQX_INIT_AND_CONNECT_BY_MIXLY_CODE:()=>Kd,IOT_EMQX_INIT_AND_CONNECT_BY_SHARE_CODE:()=>Zd,IOT_EMQX_PING:()=>tf,IOT_FORMATTING:()=>Wd,IOT_FORMAT_STRING:()=>Jd,IOT_MIXIO_PUBLISH:()=>Ud,IOT_MIXIO_SUBSCRIBE:()=>Yd,IOT_MIXIO_UNSUBSCRIBE:()=>jd,iot_mixio_check:()=>Hd,iot_mixio_connect:()=>Vd,iot_mixio_connect_only:()=>Xd,iot_mixio_disconnect:()=>Gd,iot_mixio_format_msg:()=>zd,iot_mixio_format_topic:()=>qd,iot_mixly_key:()=>Qd,iot_mixly_key_py:()=>ef});var V={};n.r(V),n.d(V,{controls_end_program:()=>sf,controls_millis:()=>nf,time_localtime:()=>rf});var U={};n.r(U),n.d(U,{turtle_bgcolor:()=>wf,turtle_bgcolor_hex:()=>Of,turtle_bgcolor_hex_new:()=>Rf,turtle_circle:()=>yf,turtle_circle_advanced:()=>vf,turtle_clear:()=>ff,turtle_clone:()=>Af,turtle_color:()=>Df,turtle_color_hex:()=>Lf,turtle_color_seclet:()=>Gf,turtle_create:()=>of,turtle_done:()=>af,turtle_exitonclick:()=>lf,turtle_fill:()=>gf,turtle_fillcolor:()=>If,turtle_fillcolor_hex:()=>Cf,turtle_fillcolor_hex_new:()=>Nf,turtle_getscreen:()=>Xf,turtle_goto:()=>_f,turtle_listen:()=>Wf,turtle_move:()=>uf,turtle_numinput:()=>Vf,turtle_onclick:()=>qf,turtle_onkey:()=>Hf,turtle_ontimer:()=>zf,turtle_pencolor:()=>Ef,turtle_pencolor_hex:()=>Mf,turtle_pencolor_hex_new:()=>xf,turtle_penup:()=>mf,turtle_pos_shape:()=>df,turtle_rotate:()=>cf,turtle_screen_delay:()=>hf,turtle_screen_savefig:()=>Jf,turtle_setheading:()=>pf,turtle_setxy:()=>Tf,turtle_shape:()=>Ff,turtle_shapesize:()=>Pf,turtle_size:()=>Sf,turtle_size_speed:()=>bf,turtle_speed:()=>kf,turtle_textinput:()=>Bf,turtle_visible:()=>$f,turtle_write:()=>Uf,turtle_write_format:()=>Yf,turtle_write_format_skulpt:()=>jf});const Y=Blockly,j=Mixly,G={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var n=Object.create(null),i=0;i1&&(o+=i)):n=o}else n="i";return n}},X=G,H={};H.NAME_TYPE=Y.PROCEDURE_CATEGORY_NAME,H.allProcedures=function(t){for(var e=t.getAllBlocks(!1),n=[],i=[],s=0;s0?e.join("\n")+"\n"+i.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+r.join("")+o.join("\n"):e.join("\n")+"\n"+i.join("\n")+"\n"+s.join("")+"\n"+t+o.join("\n")},J.scrubNakedValue=function(t){return t+"\n"},J.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},J.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},J.scrub_=function(t,e,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){(r=t.getCommentText())&&(r=Y.utils.string.wrap(r,J.COMMENT_WRAP-3),i+=J.prefixLines(r+"\n","# "));for(var s=0;s0?"int("+a+" + "+s+")":s<0?"int("+a+" - "+-s+")":"int("+a+")",i&&(a="-"+a)),a};const K=330,Q={init:function(){this.setColour(K),this.appendDummyInput().appendField(new Y.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(Y.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},Z={init:function(){this.setColour(K),this.appendValueInput("VALUE").appendField(new Y.FieldTextInput(""),"VAR").appendField(Y.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var t=this.getFieldValue("VAR");return null==t?[]:t.split(",")},renameVar:function(t,e){W.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},tt={init:function(){this.setColour(K);var t=[[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.LANG_MATH_FLOAT,"float"],[Y.Msg.LANG_MATH_BOOLEAN,"bool"],[Y.Msg.LANG_MATH_STRING,"str"],[Y.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Y.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Y.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[Y.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[Y.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new Y.FieldDropdown(t),"OP"),this.setOutput(!0)}},et={init:function(){this.setColour(K),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Y.Msg.TEXT_PRINT_TOOLTIP)}},nt={init:function(){this.setColour(K),this.appendValueInput("DATA").appendField(Y.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(Y.Msg.MICROBIT_PYTHON_TYPE)}},it={init:function(){this.setColour(K),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new Y.FieldDropdown([[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[Y.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[Y.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Y.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Y.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[Y.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[Y.Msg.LANG_MATH_BYTE,"bytes"],[Y.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type");return Y.Msg.MICROBIT_controls_TypeLists+{int:Y.Msg.LANG_MATH_INT,float:Y.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:Y.Msg.MIXLY_MICROBIT_TYPE_STRING,list:Y.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:Y.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:Y.Msg.MIXLY_MICROBIT_TYPE_DICT,set:Y.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:Y.Msg.MIXLY_MICROBIT_IMAGE,bytes:Y.Msg.LANG_MATH_BYTE,NoneType:Y.Msg.LOGIC_NULL}[e]}))}},st=120,rt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},ot={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},at={init:function(){var t=[[Y.Msg.MIXLY_mSecond,"delay"],[Y.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour(st),this.appendValueInput("DELAY_TIME",Number).appendField(Y.Msg.MIXLY_DELAY).appendField(new Y.FieldDropdown(t),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},lt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(Y.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},ut={init:function(){this.setColour(st),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(Y.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(Y.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new Y.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var t=this;this.setTooltip((function(){return t.elseifCount_||t.elseCount_?!t.elseifCount_&&t.elseCount_?Y.Msg.CONTROLS_IF_TOOLTIP_2:t.elseifCount_&&!t.elseCount_?Y.Msg.CONTROLS_IF_TOOLTIP_3:t.elseifCount_&&t.elseCount_?Y.Msg.CONTROLS_IF_TOOLTIP_4:"":Y.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,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,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?n[s]=e.getInputTargetBlock("IF"+s).previousConnection:n[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?i[s]=e.getInputTargetBlock("DO"+s).previousConnection:i[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(Y.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Y.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.CONTROLS_IF_MSG_ELSE);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"IF"+s);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var n=e.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var s=t.newBlock("controls_if_elseif");s.initSvg(),n.connect(s.previousConnection),n=s.nextConnection}if(this.elseCount_){var r=t.newBlock("controls_if_else");r.initSvg(),n.connect(r.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 n=t.getInputTargetBlock("STACK"),i=[null],s=[null],r=null;n;){switch(n.type){case"controls_if_elseif":this.elseifCount_++,i.push(n.valueConnection_),s.push(n.statementConnection_);break;case"controls_if_else":this.elseCount_++,r=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,s,r)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),n=1;e;){switch(e.type){case"controls_if_elseif":var i=this.getInput("IF"+n),s=this.getInput("DO"+n);e.valueConnection_=i&&i.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,n++;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],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var s=this.getInput("IF"+i),r=this.getInput("DO"+i);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(r.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(t,e,n)},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(Y.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Y.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,n){for(var i=1;i<=this.elseifCount_;i++)t[i]&&t[i].reconnect(this,"IF"+i),e[i]&&e[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ct={init:function(){this.setColour(st),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.PYTHON_RANGE).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},pt={init:function(){this.setColour(st),this.appendValueInput("LIST").setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Y.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Y.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ht={init:function(){this.setColour(st),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Y.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Y.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Y.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Y.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Y.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},_t={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Y.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Y.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Y.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,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?n[s]=e.getInputTargetBlock("IF"+s).previousConnection:n[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?i[s]=e.getInputTargetBlock("DO"+s).previousConnection:i[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(Y.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.MIXLY_PYTHON_FINALLY);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"IF"+s);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var n=e.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var s=t.newBlock("controls_except");s.initSvg(),n.connect(s.previousConnection),n=s.nextConnection}if(this.elseCount_){var r=t.newBlock("controls_finally");r.initSvg(),n.connect(r.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 n=t.getInputTargetBlock("STACK"),i=[null],s=[null],r=null;n;){switch(n.type){case"controls_except":this.elseifCount_++,i.push(n.valueConnection_),s.push(n.statementConnection_);break;case"controls_finally":this.elseCount_++,r=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,s,r)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),n=1;e;){switch(e.type){case"controls_except":var i=this.getInput("IF"+n),s=this.getInput("DO"+n);e.valueConnection_=i&&i.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,n++;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],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var s=this.getInput("IF"+i),r=this.getInput("DO"+i);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(r.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(t,e,n)},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(Y.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,n){for(var i=1;i<=this.elseifCount_;i++)t[i]&&t[i].reconnect(this,"IF"+i),e[i]&&e[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},dt={init:function(){this.setColour(st);var t=new Y.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Y.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Y.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(Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},ft={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Y.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Y.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},mt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Y.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Y.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};ht.OPERATORS=[[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],dt.OPERATORS=[[Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const gt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Y.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Y.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(st),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},yt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Y.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Tt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Y.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},vt={init:function(){this.jsonInit({message0:Y.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:st,tooltip:Y.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Y.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},$t={init:function(){this.setColour(st),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_STAT),this.setOutput(!0)}},wt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Et={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Y.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},It={init:function(){this.appendDummyInput().appendField(Y.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Y.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Y.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Y.FieldDropdown([[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(st),this.setTooltip("do-while loop"),this.setHelpUrl("")}},At=230;Y.FieldTextInput.math_number_validator=function(t){return String(t)},Y.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 Ot={init:function(){this.setColour(At),this.appendDummyInput().appendField(new Y.FieldTextInput("0",Y.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MATH_NUMBER_TOOLTIP)}},Mt={init:function(){this.setColour(At);this.appendDummyInput("").appendField(Y.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Y.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Ct={init:function(){this.setColour(At);this.appendDummyInput("").appendField(Y.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Y.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},xt={init:function(){this.setColour(At),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.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:Y.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Y.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Y.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Rt={init:function(){this.setColour(At),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.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:Y.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Y.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Y.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Nt={init:function(){this.setColour(At),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Y.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Lt={init:function(){this.setColour(At),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Y.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:Y.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Y.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Y.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Y.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Y.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Y.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Y.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Dt={init:function(){var t=[[Y.Msg.MATH_BIN,"bin"],[Y.Msg.MATH_OCT,"oct"],[Y.Msg.MATH_HEX,"hex"]];this.setColour(At),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Y.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Y.Msg.MATH_DEC_TOOLTIP_BIN,oct:Y.Msg.MATH_DEC_TOOLTIP_OCT,hex:Y.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Ft={init:function(){var t=[[Y.Msg.LANG_MATH_TO_ROUND,"round"],[Y.Msg.LANG_MATH_TO_CEIL,"ceil"],[Y.Msg.LANG_MATH_TO_FLOOR,"floor"],[Y.Msg.MATH_ABS,"fabs"],[Y.Msg.MATH_SQRT,"sqrt"]];this.setColour(At),this.appendValueInput("A").setCheck(Number).appendField(new Y.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Y.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Y.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Y.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Y.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Y.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Y.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Pt={init:function(){var t=[[Y.Msg.MIXLY_MAX,"max"],[Y.Msg.MIXLY_MIN,"min"]];this.setColour(At),this.appendValueInput("A").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(new Y.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Y.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Y.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Y.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Bt={init:function(){var t=[[Y.Msg.MATH_TWO,"two"],[Y.Msg.MATH_EIGHT,"eight"],[Y.Msg.MATH_TEN,"ten"],[Y.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(At),this.appendDummyInput("").appendField(Y.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Y.FieldDropdown(t),"OP").appendField(Y.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Y.Msg.MATH_ZHW).appendField(new Y.FieldDropdown(t),"OP2").appendField(Y.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),n={two:Y.Msg.MATH_Before_two,eight:Y.Msg.MATH_Before_eight,ten:Y.Msg.MATH_Before_ten,sixteen:Y.Msg.MATH_Before_sixteen},i=e.getFieldValue("OP2"),s={two:Y.Msg.MATH_Behind_two,eight:Y.Msg.MATH_Behind_eight,ten:Y.Msg.MATH_Behind_ten,sixteen:Y.Msg.MATH_Behind_sixteen};return n[t]+s[i]}))}},Vt={init:function(){var t=[[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(At),this.setOutput(!0,Number),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Y.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),n={int:Y.Msg.LANG_MATH_INT,float:Y.Msg.LANG_MATH_FLOAT_RANDOM};return Y.Msg.MATH_RANDOM_INT_TOOLTIP+n[t]}))}},Ut={init:function(){this.setColour(At),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Y.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Y.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Y.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Y.Msg.MATH_CONSTRAIN_TOOLTIP)}},Yt={init:function(){this.setColour(At),this.appendValueInput("NUM",Number).appendField(Y.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Y.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Y.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_MATH_MAP)}},jt={init:function(){this.setColour(At),this.appendDummyInput().appendField(new Y.FieldTextInput("0",Y.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Y.Msg.MATH_NUMBER_TOOLTIP)}},Gt={init:function(){this.setColour(At),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Xt={init:function(){this.setColour(At),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Y.Msg.MATH_ROUND).appendField(Y.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Y.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Y.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ht={init:function(){var t=[[Y.Msg.MIXLY_TO_INT,"int"],[Y.Msg.MIXLY_TO_FLOAT,"float"],[Y.Msg.MIXLY_TO_BITES,"b"]];this.setColour(At),this.appendValueInput("VAR").appendField(new Y.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Y.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Y.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Y.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},qt={init:function(){var t=[[Y.Msg.MIXLY_TO_INT,"int"],[Y.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(At),this.appendValueInput("VAR").appendField(new Y.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Y.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Y.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},zt=Yt,Wt=160,Jt={init:function(){this.setColour(Wt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Y.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Y.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 Y.FieldImage(e,12,12,'"')}},Kt={init:function(){this.setColour(Wt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Y.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Y.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 Y.FieldImage(e,12,12,'"')}};Y.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 Qt={init:function(){this.setColour(Wt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Y.FieldTextInput("",Y.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Y.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Y.FieldImage(e,7,12,'"')}},Zt={init:function(){this.setColour(Wt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Y.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},te={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(Number).appendField(Y.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},ee={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(String).appendField(Y.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},ne={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ie={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},se={init:function(){this.WHERE_OPTIONS=[[Y.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Y.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Y.Msg.TEXT_GET_INDEX_RANDOM+1+Y.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Y.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Y.Msg.LISTS_GET_INDEX_GET,"MODE"),Y.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Y.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"),n=t.getFieldValue("WHERE"),i="";switch(e+" "+n){case"GET FROM_START":case"GET FROM_END":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+=" "+Y.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Y.Msg.ONE_BASED_INDEXING?"#1":"#0")),i}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),n={FROM_START:Y.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Y.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Y.Msg.TEXT_GET_INDEX_RANDOM};return Y.Msg.PROCEDURES_DEFRETURN_RETURN+Y.Msg.MIXLY_MICROBIT_TYPE_STRING+n[t]+"n"+Y.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Y.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),Y.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Y.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Y.FieldDropdown(this.WHERE_OPTIONS,(function(e){var n="FROM_START"==e||"FROM_END"==e;if(n!=t){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Y.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},re={init:function(){this.setHelpUrl(Y.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Y.Msg.LISTS_GET_INDEX_GET+" "+Y.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Y.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Y.Msg.PROCEDURES_DEFRETURN_RETURN+Y.Msg.MIXLY_MICROBIT_TYPE_STRING+Y.Msg.LISTS_GET_INDEX_FROM_START+"n"+Y.Msg.TEXT_CHARAT2)}},oe={init:function(){this.setHelpUrl(Y.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Y.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Y.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ae={init:function(){this.WHERE_OPTIONS_1=[[Y.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Y.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Y.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Y.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Y.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Y.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Y.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Y.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(Y.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Y.INPUT_VALUE;t.setAttribute("at1",e);var n=this.getInput("AT2").type==Y.INPUT_VALUE;return t.setAttribute("at2",n),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),n="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,n)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Y.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Y.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var n=new Y.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(n){var i="FROM_START"==n||"FROM_END"==n;if(i!=e){var s=this.sourceBlock_;return s.updateAt_(t,i),s.setFieldValue(n,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(n,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},le={init:function(){this.setHelpUrl(Y.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Y.Msg.LISTS_GET_INDEX_GET+" "+Y.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Y.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Y.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Y.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},ue={init:function(){var t=[[Y.Msg.MIXLY_EQUALS,"==="],[Y.Msg.MIXLY_STARTSWITH,"startswith"],[Y.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Wt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Y.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ce={init:function(){this.setColour(Wt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Y.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_COMPARETO_HELP)}},pe={init:function(){var t=[[Y.Msg.TEXT_UPPER,"upper"],[Y.Msg.TEXT_TITLE,"title"],[Y.Msg.TEXT_CAPITALIZE,"capitalize"],[Y.Msg.TEXT_SWAPCASE,"swapcase"],[Y.Msg.TEXT_LOWER,"lower"]];this.setColour(Wt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Y.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Y.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Y.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Y.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Y.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Y.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},he={init:function(){var t=[[Y.Msg.TEXT_LJUST,"ljust"],[Y.Msg.TEXT_CENTER,"center"],[Y.Msg.TEXT_RJUST,"rjust"]];this.setColour(Wt),this.appendValueInput("VAR").appendField(new Y.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Y.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Y.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},_e={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Y.Msg.MIXLY_MID+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Y.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},de={init:function(){this.setColour(Wt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},fe={init:function(){this.setColour(Wt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Y.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Y.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},me={init:function(){this.setColour(Wt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Y.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Y.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ge={init:function(){var t=[[Y.Msg.TEXT_TRIM_BOTH,"strip"],[Y.Msg.TEXT_TRIM_LEFT,"lstrip"],[Y.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Wt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Y.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Y.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Y.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Y.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Y.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Y.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},be={init:function(){this.setColour(Wt),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Y.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Y.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Y.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 n=e.getInput("STACK").connection,i=0;ie?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},fn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Y.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},mn={init:function(){this.setColour(_n),this.appendDummyInput().appendField(Y.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},gn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_KEYS),this.setTooltip(Y.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},bn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Y.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Y.Msg.DICTS_GET_TOOLTIP)}},Sn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Y.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Y.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Y.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},kn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Y.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},yn={init:function(){this.setColour(_n),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Y.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_DELETE_TOOLTIP)}},Tn={init:function(){this.setColour(_n),this.appendValueInput("DICT2").setCheck("Dict").appendField(Y.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Y.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MID),this.setTooltip(Y.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},vn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_CLEAR),this.setTooltip(Y.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},$n={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_ITEMS),this.setTooltip(Y.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},wn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_VALUES),this.setTooltip(Y.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},En={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_LENGTH),this.setTooltip(Y.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},In={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_DELDICT),this.setTooltip(Y.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},An={init:function(){this.MODE=[[Y.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Y.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Y.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Y.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=Y.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Y.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Y.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 Y.FieldDropdown(this.MODE,(function(e){var n="INSERT"==e;if(n!=t){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},On={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Y.Msg.DICTS_ADD_VALUE),this.setTooltip(Y.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Mn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Y.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Cn={init:function(){this.setColour(_n),this.appendDummyInput("").appendField(new Y.FieldLabel(Y.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 Y.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Y.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 n=e.getInput("STACK").connection,i=0;ie?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xn={init:function(){this.setColour(_n),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Rn={init:function(){this.setColour(_n),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_TO_JSON),this.setTooltip(Y.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Nn={init:function(){this.setColour(_n),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Y.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Ln=210,Dn={init:function(){var t=Y.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 Y.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Y.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Y.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Y.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Y.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Y.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Y.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Fn={init:function(){var t=Y.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Y.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Ln),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Y.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Pn={init:function(){var t=[[Y.Msg.LOGIC_OPERATION_AND,"AND"],[Y.Msg.LOGIC_OPERATION_OR,"OR"],[Y.Msg.LOGIC_OPERATION_NOR,"NOR"],[Y.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 Y.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Y.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Y.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Y.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Y.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Bn={init:function(){this.setColour(Ln),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Y.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Y.Msg.LOGIC_NEGATE_TOOLTIP)}},Vn={init:function(){var t=[[Y.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Y.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Ln),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Y.FieldDropdown(t),"BOOL"),this.setTooltip(Y.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Un={init:function(){this.setColour(Ln),this.setOutput(!0),this.appendDummyInput().appendField(Y.Msg.LOGIC_NULL),this.setTooltip(Y.Msg.LOGIC_NULL_TOOLTIP)}},Yn={init:function(){this.setColour(Ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(Y.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Y.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},jn={init:function(){var t=[[Y.Msg.TEXT_APPEND_TO,"in"],[Y.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Ln),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Y.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Y.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Y.Msg.IN)}},Gn={init:function(){var t=[[Y.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Y.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Ln),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Xn={init:function(){this.setColour(Ln),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Hn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Y.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(Y.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"),n=Y.Msg.MIXLY_USE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,r=Y.Msg.MIXLY_BELONG;return n+{r:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+r+i+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Y.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"),n=Y.Msg.MIXLY_USE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,r=Y.Msg.MIXLY_BELONG,o=Y.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+r+i+s+o}))}},Wn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Y.Msg.MIXPY_TEXT_ENCODE).appendField(new Y.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"),n=Y.Msg.MIXLY_USE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,r=Y.Msg.MIXLY_BELONG,o=Y.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+r+i+s+o}))}},Jn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Y.Msg.MIXLY_MICROBIT_TYPE_STRING+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Y.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"),n=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return n+{read:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+i}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Y.Msg.MICROBIT_PYTHON_TYPE)}},ti={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.HTML_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},ei={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ni={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},ii={init:function(){this.setColour(0),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Y.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const si={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Y.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(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},ri={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},oi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ai={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Y.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"),n=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return n+" "+{start:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+i}))}},li={init:function(){this.setColour(0),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},ui={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Y.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Y.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 Y.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Y.Msg.MIXLY_ESP32_SET+{mkdir:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},ci={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Y.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},pi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},hi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.HTML_FILE,"isfile"],[Y.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 Y.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_i={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Y.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_SETUP+Y.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Y.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},di={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Y.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},fi={init:function(){var t=q.findLegalName("",this),e=new Y.FieldTextInput(t,q.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Y.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Y.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Y.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Y.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Y.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Y.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Y.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Y.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Y.Events.enable()}},mutationToDom:function(t){var e=Y.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n"),this.appendValueInput("style").appendField(Y.Msg.MIXLY_AIP_ATTR).setAlign(Y.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ls={init:function(){this.setColour(ns),this.appendDummyInput().appendField(Y.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},us={init:function(){this.setColour(ns),this.appendDummyInput().appendField(Y.Msg.HTML_FORM_CONTENT).appendField(new Y.FieldDropdown([[Y.Msg.HTML_TEXT,"text"],[Y.Msg.HTML_EMAIL,"email"],[Y.Msg.HTML_NUMBER,"number"],[Y.Msg.HTML_PASSWORD,"password"],[Y.Msg.HTML_CHECKBOX,"checkbox"],[Y.Msg.HTML_RADIOBUTTON,"radiobutton"],[Y.Msg.HTML_BUTTON,"button"],[Y.Msg.HTML_COLOUR,"colour"],[Y.Msg.HTML_DATE,"date"],[Y.Msg.HTML_LOCALTIME,"local time"],[Y.Msg.HTML_FILE,"file"],[Y.Msg.HTML_HIDDEN,"hidden"],[Y.Msg.HTML_IMAGE,"image"],[Y.Msg.HTML_MONTH,"month"],[Y.Msg.HTML_RANGE,"range"],[Y.Msg.HTML_RESET,"reset"],[Y.Msg.HTML_SEARCH,"search"],[Y.Msg.HTML_SUBMIT,"submit"],[Y.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Y.Msg.HTML_TIME,"time"],[Y.Msg.HTML_URL,"url"],[Y.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Y.Msg.HTML_NAME).appendField(new Y.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Y.Msg.HTML_VALUE).appendField(new Y.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Y.Msg.MIXLY_AIP_ATTR).setAlign(Y.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},cs={init:function(){this.setColour(ns),this.appendDummyInput().appendField(new Y.FieldTextInput("property"),"KEY").appendField(":").appendField(new Y.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ps={init:function(){this.setColour(ns),this.appendDummyInput().appendField(new Y.FieldTextInput("property"),"KEY").appendField(":").appendField(new Y.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},hs={init:function(){this.setColour(ns),this.appendDummyInput().appendField(Y.Msg.HTML_TEXT).appendField(new Y.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_s=160,ds={init:function(){this.setColour(_s),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Y.FieldTable(""),"TEXT")}},fs={init:function(){this.setColour(_s),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Y.FieldMultilineInput(""),"TEXT")}},ms={init:function(){this.setColour(_s),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Y.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},gs={init:function(){this.setColour(_s),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},bs={init:function(){this.setColour(_s),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Y.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ss={init:function(){this.setColour(_s),this.appendValueInput("VALUE").appendField(Y.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},ks={init:function(){this.setColour(_s),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Y.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Y.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=Y.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var n=e.getInput("STACK").connection,i=0;i"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uo={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},co={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},po={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ho={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_o={init:function(){this.setColour(Qr);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(Y.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fo={init:function(){this.setColour(Qr),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_SPLITBYDOU).appendField(Y.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},mo={init:function(){this.setColour(Qr);var t=[[Y.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Y.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_DISPLAY_DRAW).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Y.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},go={init:function(){this.setColour(Qr);var t=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],e=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_SCATTER).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Y.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},bo={init:function(){this.setColour(Qr);var t=[[Y.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Y.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Y.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],n=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_XY).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},So={init:function(){this.setColour(Qr);var t=[[Y.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Y.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_BAR).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Y.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Y.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},ko={init:function(){this.setColour(Qr);var t=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Y.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PIE).appendField(Y.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Y.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Y.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Y.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},yo={init:function(){this.setColour(Qr),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_HIST).appendField(Y.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Y.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},To={init:function(){this.setColour(Qr);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_SETTING).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_TICKS).appendField(Y.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},vo={init:function(){var t=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[Y.Msg.LANG_MATH_TO_ROUND,"round"],[Y.Msg.LANG_MATH_TO_CEIL,"ceil"],[Y.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(Qr),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(Y.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new Y.FieldDropdown(t),"OP"),this.setTooltip(Y.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},$o={init:function(){this.setColour(Qr),this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT).appendField(Y.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},wo={init:function(){this.setColour(Qr),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[Y.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(Y.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Eo={init:function(){this.setColour(Qr),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(Y.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new Y.FieldDropdown([[Y.Msg.DATAFRAME_COLUMN,"column"],[Y.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(Y.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Io={init:function(){this.setColour(Qr),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Ao={init:function(){this.setColour(Qr);var t=[[Y.Msg.TEXT_TRIM_LEFT,"right"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[Y.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.MIXLY_SETTING).appendField(Y.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_HOR).appendField(new Y.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_VER).appendField(new Y.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Y.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PL_TEXT_TOOLTIP)}},Oo={init:function(){this.setColour(Qr),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},Mo={init:function(){this.setColour(Qr),this.appendValueInput("SER").setCheck("Series").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Co={init:function(){this.setColour(Qr);var t=[[Y.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Y.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Y.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],n=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("SER").setCheck("Series").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xo={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ro={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},No={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lo={init:function(){this.setColour(Qr),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Do={init:function(){this.setColour(Qr);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(Y.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fo={init:function(){this.setColour(Qr);var t=[[Y.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Y.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_DISPLAY_DRAW).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Y.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},Po={init:function(){this.setColour(Qr);var t=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_SCATTER).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Y.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(t),"DOT"),this.appendDummyInput().appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Bo={init:function(){this.setColour(Qr);var t=[[Y.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Y.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Y.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],n=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_XY).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Vo={init:function(){this.setColour(Qr);var t=[[Y.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Y.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_BAR).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Y.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Y.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Uo={init:function(){this.setColour(Qr);var t=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Y.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PIE).appendField(Y.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Y.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Y.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Y.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Yo={init:function(){this.setColour(Qr),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_HIST).appendField(Y.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Y.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},jo={init:function(){this.setColour(Qr);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_SETTING).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_TICKS).appendField(Y.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Go={init:function(){this.setColour(Qr),this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT).appendField(Y.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Xo={init:function(){this.setColour(Qr),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Ho={init:function(){this.setColour(Qr);var t=[[Y.Msg.TEXT_TRIM_LEFT,"right"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[Y.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.MIXLY_SETTING).appendField(Y.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_HOR).appendField(new Y.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_VER).appendField(new Y.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Y.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PL_TEXT_TOOLTIP)}},qo=20,zo={init:function(){this.setColour(qo),this.appendValueInput("VAR").appendField(Y.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Y.Msg.INOUT_input_TOOLTIP)}},Wo={init:function(){this.setColour(qo),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Y.Msg.BLOCKPY_PRINT_TOOLTIP)}},Jo={init:function(){this.setColour(qo),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Y.Msg.TEXT_PRINT_TOOLTIP)}},Ko={init:function(){this.setColour(qo),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Y.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},Qo={init:function(){var t=[[Y.Msg.LANG_MATH_STRING,"str"],[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(qo),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("VAR").appendField(Y.Msg.PROCEDURES_MUTATORCONTAINER_TITLE).setCheck(String),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{str:Y.Msg.MIXLY_MIXPY_INOUT_STR_INPUT_TOOLTIP,int:Y.Msg.MIXLY_MIXPY_INOUT_INT_INPUT_TOOLTIP,float:Y.Msg.MIXLY_MIXPY_INOUT_FLOAT_INPUT_TOOLTIP}[t]}))}},Zo={init:function(){this.setColour(qo),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Y.icons.MutatorIcon(["inout_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("inout_print_container");e.initSvg();for(var n=e.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,n){return"("+t+" <= "+e+") and "+l()+"("+t+", "+e+", "+n+") or "+u()+"("+t+", "+e+", "+n+")"},Y.isNumber(i)&&Y.isNumber(s)&&Y.isNumber(r))i=parseFloat(i),s=parseFloat(s),r=Math.abs(parseFloat(r)),0==i%1&&0==s%1&&0==r%1?(i<=s?(s++,t=0==i&&1==r?s:i+", "+s,1!=r&&(t+=", "+r)):t=i+", "+--s+", -"+r,t="range("+t+")"):(t=i",GTE:">="};const zc=function(t,e){var n=this.getFieldValue("OP"),i="&&"==n?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",i)||"False",r=e.valueToCode(this,"B",i)||"False";if("AND"==n)var o=s+" and "+r;else if("OR"==n)o=s+" or "+r;else if("NOR"==n)o="not("+s+"^"+r+")";else o=s+"^"+r;return[o,i]},Wc=function(t,e){var n=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",n)||"False"),n]},Jc=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Kc=function(t,e){return["None",e.ORDER_ATOMIC]},Qc=function(t,e){var n=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+n+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},Zc=function(t,e){var n=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",i=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,e.ORDER_ATOMIC]},tp=function(t,e){var n=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",i=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,e.ORDER_ATOMIC]},ep=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},np=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},ip=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},sp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},rp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},op=function(t,e){var n=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+n+")\n"},ap=function(t,e){var n=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+n+"()",e.ORDER_ATOMIC]},lp=function(t,e){var n=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+n+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},up=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},cp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},pp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},hp=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]},dp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},fp=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},gp=function(t,e){var n=this.getFieldValue("MODE"),i=0;return i="start"==n?0:"current"==n?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+i+")\n"},bp=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},Sp=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},kp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},yp=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"},Tp=function(t,e){e.definitions_.import_os="import os";var n=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+n+")",e.ORDER_ATOMIC]},vp=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"},$p=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"},wp=function(t,e){var n=e.variableDB_.getName(this.getFieldValue("NAME"),Y.Procedures.NAME_TYPE),i=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(i=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var r=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},rh=function(t,e){var n=e.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+n+"\n"},oh=function(t,e){var n=e.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var s="<"+i+'>\n\t\n'+n+"\n";else s="<"+i+">\n"+n+"\n";return s},ah=function(t,e){var n=e.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+n+"\n"},lh=function(t,e){var n=e.statementToCode(this,"DO"),i=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+i+" >\n"+n+"\n"},uh=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},ch=function(t,e){return'"},ph=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},hh=function(){return this.getFieldValue("TEXT")+"\n"},_h=function(t){return t.getFieldValue("TEXT")+"\n"},dh=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},fh=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},mh=function(){return""},gh=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},bh=function(t,e){for(var n=t.getFieldValue("NAME"),i=t.hasReturn_,s=new Array(t.itemCount_),r=0;r6:\n print("路线错乱!程序有误!")\n exit()\n'},Dh=function(t,e){return["name[now] != '小科家'",e.ORDER_ATOMIC]},Fh=function(t,e){return["name[now] != '学校'",e.ORDER_ATOMIC]},Ph=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},Bh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");if(n>=7)var i="print('层数过高!不得高于6层!')\nexit()\n";else i="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+n+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return i},Vh=function(t,e){var n=e.valueToCode(this,"FROM_NUM",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"TO_NUM",e.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${n}])>0 :\n _HanoiBlockMoved = _Hanoi[${n}].pop()\n if len(_Hanoi[${i}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${i}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${i}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${i}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${i}*200+200, 400-len(_Hanoi[${i}])*27, 0.2)\n _Hanoi[${i}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},Uh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},Yh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},jh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n","res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},Gh=function(t,e){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",e.ORDER_ATOMIC]},Xh=function(t,e){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",e.ORDER_ATOMIC]},Hh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n="res+=1\nflag=ring[res]\n";return n="Books[res].filterGray()\ntime.sleep(0.3)\n"+(n+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},qh=function(t,e){return["len(list)>=2",e.ORDER_ATOMIC]},zh=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},Wh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},Jh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},Kh=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},Qh=function(t,e){var n=this.getFieldValue("NUM");return e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${n}):\n ring.append(0)\nfor i in range(1, ${n}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[n]}))\ntime.sleep(1)\nmode=3\n`},Zh=function(t,e){e.definitions_.import_sprite="import sprite";return"cntText = sprite.Text('计数器:0', 30, 200)\n","cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},t_=function(t,e){e.definitions_.import_sprite="import sprite";return"cntText.changeText('计数器:'+str(cnt))\n","cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},e_=function(t,e){e.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},n_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},i_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"time.sleep(1)\n","_rabbit = 0\ntime.sleep(1)\n"},s_=function(t,e){return["_rabbit < _head",e.ORDER_ATOMIC]},r_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"for i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n","_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},o_=function(t,e){return["_rabbit*4 + _chick*2 == _foot",e.ORDER_ATOMIC]},a_=function(t,e){e.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},l_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n","time.sleep(0.5)\n","_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},u_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n","sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},c_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME");const i=[0,[1,3],[2,4],[5,7],[6]];var s="";return s+=`_S${n}.show()\ntime.sleep(1)\n`,s+=4!=n?`_Slen[${n}] = _Llen[${i[n][0]}] + _Llen[${i[n][1]}]\n_text_${n}.changeText('S${n}:'+str(_Slen[${n}])+'m')\ntime.sleep(1)\n_S${n}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},p_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n="";return[n+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,e.ORDER_ATOMIC]},h_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME"),i="";return i+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${n}\n_S${n}.show()\ntime.sleep(0.5)\n_S${n}.hide()\ntime.sleep(0.5)\n_S${n}.show()\ntime.sleep(1)\n`},__=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n","if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},d_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n","sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},f_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n="";return n+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},m_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${n})*50 + (i//(4*${n}))*(${n}+1)*50 +(i%3-2), 80+(i//${n})*100-(i//(4*${n}))*4*100+(i%2), 0.05)\n_line = ${n}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},g_=function(t,e){return e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,e.ORDER_ATOMIC]},b_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},S_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},k_=function(t,e){e.definitions_.import_turtle="import turtle",e.definitions_.import_time="import time",e.definitions_.import_math="import math";var n=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),i=this.getFieldValue("NUM");return e.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",e.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",e.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if athis.#t.on("display",t)[0],Hf.configure({output:t=>{this.#t.run("output",{content:t})},read:this.readFile.bind(this),inputfun:this.skInput.bind(this),inputfunTakesPrompt:!0,execLimit:Number.POSITIVE_INFINITY,fileread:this.fileread.bind(this),filewrite:this.filewrite.bind(this),__future__:Hf.python3}),Hf.builtins.value=new Hf.builtin.func((function(){return Hf.ffi.remapToPy(void 0===zf?5:zf)})),Hf.builtins.set_value=new Hf.builtin.func((function(t){zf=t.v})),Hf.builtinFiles.files["./mixpy.py"]='import math\r\n\r\ndef math_map(v, al, ah, bl, bh):\r\n return bl + (bh - bl) * (v - al) / (ah - al)\r\n\r\ndef math_mean(myList):\r\n localList = [e for e in myList if type(e) == int or type(e) == float]\r\n if not localList: return\r\n return float(sum(localList)) / len(localList)\r\n\r\ndef math_median(myList):\r\n localList = sorted([e for e in myList if type(e) == int or type(e) == float])\r\n if not localList: return\r\n if len(localList) % 2 == 0:\r\n return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0\r\n else:\r\n return localList[(len(localList) - 1) // 2]\r\n\r\ndef math_modes(some_list):\r\n modes = []\r\n # Using a lists of [item, count] to keep count rather than dict\r\n # to avoid "unhashable" errors when the counted item is itself a list or dict.\r\n counts = []\r\n maxCount = 1\r\n for item in some_list:\r\n found = False\r\n for count in counts:\r\n if count[0] == item:\r\n count[1] += 1\r\n maxCount = max(maxCount, count[1])\r\n found = True\r\n if not found:\r\n counts.append([item, 1])\r\n for counted_item, item_count in counts:\r\n if item_count == maxCount:\r\n modes.append(counted_item)\r\n return modes\r\n\r\ndef math_standard_deviation(numbers):\r\n n = len(numbers)\r\n if n == 0: return\r\n mean = float(sum(numbers)) / n\r\n variance = sum((x - mean) ** 2 for x in numbers) / n\r\n return math.sqrt(variance)\r\n\r\ndef lists_sort(my_list, type, reverse):\r\n def try_float(s):\r\n try:\r\n return float(s)\r\n except:\r\n return 0\r\n key_funcs = {\r\n "NUMERIC": try_float,\r\n "TEXT": str,\r\n "IGNORE_CASE": lambda s: str(s).lower()\r\n }\r\n key_func = key_funcs[type]\r\n list_cpy = list(my_list)\r\n return sorted(list_cpy, key=key_func, reverse=reverse)'}readFile(t){if(void 0!==qf[t])return Hf.misceval.promiseToSuspension(fetch(qf[t]).then((t=>t.text())));if(void 0===Hf.builtinFiles||void 0===Hf.builtinFiles.files[t])throw"File not found: '"+t+"'";return Hf.builtinFiles.files[t]}fileread(t,e){return this.mixpyProject.exist(t)?this.mixpyProject.getFileContent(t):-1!==e.indexOf("w")?(this.mixpyProject.add(t,"",1),""):null}filewrite(t,e){var n=t.name;this.mixpyProject.modify(n,e),this.mixpyProject.select(n)}skInput(t){return new Promise(((e,n)=>{this.#t.run("input",{content:{prompt:t},resolve:e,reject:n})}))}reset(){Hf.execLimit=Number.POSITIVE_INFINITY,Hf.TurtleGraphics.reset&&Hf.TurtleGraphics.reset()}kill(){Hf.execLimit=0,this.executionEnd_()}step(t,e,n,i){if(".py"==i){var s=this.executionBuffer.step,r=this.parseGlobals(t);this.executionBuffer.trace.push({step:s,filename:i,line:e,column:n,properties:r.properties,modules:r.modules}),this.executionBuffer.step=s+1,this.executionBuffer.last_step=s+1,this.executionBuffer.line_number=e}}analyzeVariables(){if(""==this.main.model.programs.__main__().trim())return{}}analyze(){return this.main.model.execution.status("analyzing"),""!=this.main.model.programs.__main__().trim()||(this.main.components.feedback.emptyProgram("You haven't written any code yet!"),!1)}run(t){this.reset(),this.programStatus.running=!0,Hf.misceval.asyncToPromise((()=>Hf.importMainWithBody("",!1,t,!0))).then((()=>{this.programStatus.running=!1,this.#t.run("finished")})).catch((t=>{j.Debug.error(t),this.programStatus.running=!1,this.#t.run("error",t);var e=function(t){return"string"==typeof t?t:void 0!==t.tp$str?t.tp$str().v:t.name+": "+t.message}(t);this.#t.run("finished"),-1===e.indexOf("TimeLimitError")&&this.executionEnd_()}))}setupEnvironment(t,e,n,i,s){var r=this.main.model;this._backup_execution=Hf.afterSingleExecution,Hf.afterSingleExecution=void 0,Hf.builtins.get_output=new Hf.builtin.func((function(){return Hf.builtin.pyCheckArgs("get_output",arguments,0,0),Hf.ffi.remapToPy(r.execution.output())})),Hf.builtins.reset_output=new Hf.builtin.func((function(){Hf.builtin.pyCheckArgs("reset_output",arguments,0,0),r.execution.output.removeAll()})),Hf.builtins.log=new Hf.builtin.func((function(t){Hf.builtin.pyCheckArgs("log",arguments,1,1),console.log(t)})),Hf.builtins._trace=e,Hf.builtins._final_values=s,Hf.builtins.code=Hf.ffi.remapToPy(t),Hf.builtins.set_success=this.instructor_module.set_success,Hf.builtins.set_feedback=this.instructor_module.set_feedback,Hf.builtins.set_finished=this.instructor_module.set_finished,Hf.builtins.count_components=this.instructor_module.count_components,Hf.builtins.no_nonlist_nums=this.instructor_module.no_nonlist_nums,Hf.builtins.only_printing_properties=this.instructor_module.only_printing_properties,Hf.builtins.calls_function=this.instructor_module.calls_function,Hf.builtins.get_property=this.instructor_module.get_property,Hf.builtins.get_value_by_name=this.instructor_module.get_value_by_name,Hf.builtins.get_value_by_type=this.instructor_module.get_value_by_type,Hf.builtins.parse_json=this.instructor_module.parse_json,Hf.skip_drawing=!0,r.settings.mute_printer(!0)}disposeEnvironment(){Hf.afterSingleExecution=this._backup_execution,Hf.builtins.get_output=void 0,Hf.builtins.reset_output=void 0,Hf.builtins.log=void 0,Hf.builtins._trace=void 0,Hf.builtins.trace=void 0,Hf.builtins.code=void 0,Hf.builtins.set_success=void 0,Hf.builtins.set_feedback=void 0,Hf.builtins.set_finished=void 0,Hf.builtins.count_components=void 0,Hf.builtins.calls_function=void 0,Hf.builtins.get_property=void 0,Hf.builtins.get_value_by_name=void 0,Hf.builtins.get_value_by_type=void 0,Hf.builtins.no_nonlist_nums=void 0,Hf.builtins.only_printing_properties=void 0,Hf.builtins.parse_json=void 0,Hf.skip_drawing=!1,zf=void 0,this.main.model.settings.mute_printer(!1)}parseGlobals(t){var e=Array(),n=Array();for(var i in t){var s=t[i];if("__name__"!==i&&"__doc__"!==i){i=i.replace("_$rw$","").replace("_$rn$","");var r=this.parseValue(i,s);null!==r?e.push(r):s.constructor==Hf.builtin.module&&n.push(s.$d.__name__.v)}}return{properties:e,modules:n}}parseValue(t,e){if(null==e)return{name:t,type:"Unknown",value:"Undefined"};switch(e.constructor){case Hf.builtin.func:return{name:t,type:"Function",value:void 0!==e.func_code.co_varnames?" Arguments: "+e.func_code.co_varnames.join(", "):" No arguments"};case Hf.builtin.module:return null;case Hf.builtin.str:return{name:t,type:"String",value:e.$r().v};case Hf.builtin.none:return{name:t,type:"None",value:"None"};case Hf.builtin.bool:return{name:t,type:"Boolean",value:e.$r().v};case Hf.builtin.nmber:return{name:t,type:"int"==e.skType?"Integer":"Float",value:e.$r().v};case Hf.builtin.int_:return{name:t,type:"Integer",value:e.$r().v};case Hf.builtin.float_:return{name:t,type:"Float",value:e.$r().v};case Hf.builtin.tuple:return{name:t,type:"Tuple",value:e.$r().v};case Hf.builtin.list:return e.v.length<=20?{name:t,type:"List",value:e.$r().v,exact_value:e}:{name:t,type:"List",value:"[... "+e.v.length+" elements ...]",exact_value:e};case Hf.builtin.dict:return{name:t,type:"Dictionary",value:e.$r().v};case Number:return{name:t,type:e%1==0?"Integer":"Float",value:e};case String:return{name:t,type:"String",value:e};case Boolean:return{name:t,type:"Boolean",value:e?"True":"False"};default:return{name:t,type:null==e.tp$name?e:e.tp$name,value:null==e.$r?e:e.$r().v}}}}const Jf=$;var Kf=n.n(Jf);class Qf extends j.PageBase{static{j.HTMLTemplate.add("html/statusbar/statusbar-image.html",new j.HTMLTemplate('\r\n
\r\n
\r\n
')),this.init=function(){j.StatusBarsManager.typesRegistry.register(["images"],Qf);const t=j.Workspace.getMain().getStatusBarsManager();t.add("images","images","图像"),t.changeTo("output")}}constructor(){super();const t=Kf()(j.HTMLTemplate.get("html/statusbar/statusbar-image.html").render());this.setContent(t)}init(){super.init(),this.hideCloseBtn()}clean(){this.getContent().empty()}display(t){const e=this.getContent(),n=function(t){t.style.width="auto",t.style.height="auto",t.style.maxWidth="100%",t.style.maxHeight="100%"};this.clean();let i=t.content,s=null,r=null;switch(t.display_type){case"p5":i.style.width="100%",i.style.height="100%",i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",new MutationObserver((function(t){t.forEach((t=>t.addedNodes.forEach((t=>{const e=t;null!=e.tagName&&["canvas","video"].includes(e.tagName.toLowerCase())&&n(e)}))))})).observe(i,{childList:!0}),i.querySelectorAll("canvas,video").forEach(n),e.append(i);break;case"matplotlib":s=i.querySelector("canvas"),s&&(i=s),i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",e.append(i);break;case"ocaml-canvas":i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",e.append(i);break;case"turtle":i.setAttribute("width","100%"),i.setAttribute("height","100%"),e.append(i.outerHTML);break;case"sympy":e.append(t.content),void 0===window.MathJax?(console.log("Loading MathJax (Sympy expression needs it)."),function(){let t=document.createElement("script");t.type="text/javascript",t.src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js",document.getElementsByTagName("head")[0].appendChild(t)}()):window.MathJax.typeset();break;case"multiple":for(let n of["image/svg+xml","image/png","text/html","text/plain"])if(n in t.content){let i=t.content[n];"image/png"===n&&(i=''),e.append(i);break}break;case"tutor":if(e.append(Kf()(t.content.replace("overflow-y%3A%20hidden%3B",""))),r=this.getContent()[0].getElementsByTagName("iframe")[0],null==r)return;r.style.maxHeight=r.style.minHeight="100%",new IntersectionObserver(((t,e)=>{const n=t[0];n&&!n.isIntersecting||(r.contentWindow?.postMessage({type:"redraw"},"*"),e.disconnect())})).observe(r);break;default:console.error(`Not supported node type '${t.display_type}' in eval.display result processing.`)}}}const Zf=Qf;class tm{static{this.pythonShell=null,this.init=async function(){Zf.init(),this.pythonShell=new tm},this.run=function(){const t=j.Workspace.getMain().getEditorsManager().getActive().getCode();return this.pythonShell.run(t)},this.stop=function(){return this.pythonShell.stop()}}#e=null;#n=null;#i=null;#s={row:0,column:0};#r="";#o=null;#a=null;#l=!1;#u=!1;#c=null;#p=()=>this.#h();#_=[{name:"REPL-Enter",bindKey:"Enter",exec:t=>{if(t.getSession().selection.getCursor().row===this.#s.row){const t=this.#e.getEndPos();let e=this.#e.getValueRange(this.#s,t);return e=e.replace(this.#r,""),this.#o?.(e),this.#o=null,this.#a=null,this.#e.addValue("\n"),this.#d(),!0}return!1}},{name:"REPL-ChangeEditor",bindKey:"Delete|Ctrl-X|Backspace",exec:t=>{const e=t.getSession().selection.getCursor();return e.row{this.#u=!1,this.#e.addValue(`\n==${j.Msg.Lang["shell.finish"]}==`)})),t.bind("output",(t=>{this.#e.addValue(t.content)})),t.bind("error",(t=>{this.#u=!1,this.#e.addValue(`\n${t.toString()}\n`)})),t.bind("input",(t=>{const e=String(t?.content?.prompt);this.#e.addValue(`>>> ${e}`),this.#r=e,this.#o=t.resolve,this.#a=t.reject,this.#m()})),t.bind("display",(t=>{this.#i.changeTo("images"),this.#n.display(t)}))}#h(){const t=this.#e.getEditor(),e=t.getSession().selection.getCursor();t.setReadOnly(e.rowsetTimeout(e,t)))}}const em=tm,nm={init:function(){em.init();const t=j.app.getNav();t.register({icon:"icon-play-circled",title:"",id:"python-run-btn",displayText:Y.Msg.MSG.run,preconditionFn:()=>!0,callback:()=>{em.run().catch(j.Debug.error)},scopeType:j.Nav.Scope.LEFT,weight:4}),t.register({icon:"icon-cancel",title:"",id:"python-stop-btn",displayText:Y.Msg.MSG.stop,preconditionFn:()=>!0,callback:()=>{em.stop().catch(j.Debug.error)},scopeType:j.Nav.Scope.LEFT,weight:5})}};nm.init(),Object.assign(Y.Variables,X),Object.assign(Y.Procedures,q),Y.Python=J,Y.generator=J,j.Profile.default={},Object.assign(Y.Blocks,t,e,i,s,r,o,a,l,u,c,p,h,_,d,f,m,g,b,S,k),Object.assign(Y.Python.forBlock,y,T,v,w,E,I,A,O,M,C,x,R,N,L,D,F,P,B,V,U)})()})(); \ No newline at end of file +class z{constructor(t,e){if(this.variablePrefix_=e||"",this.reservedDict_=Object.create(null),t)for(var n=t.split(","),i=0;i0?e.join("\n")+"\n"+i.join("\n")+"\n"+s.join("")+"\n"+t+"while True:\n"+r.join("")+o.join("\n"):e.join("\n")+"\n"+i.join("\n")+"\n"+s.join("")+"\n"+t+o.join("\n")},J.scrubNakedValue=function(t){return t+"\n"},J.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},J.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},J.scrub_=function(t,e,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){(r=t.getCommentText())&&(r=Y.utils.string.wrap(r,J.COMMENT_WRAP-3),i+=J.prefixLines(r+"\n","# "));for(var s=0;s0?"int("+a+" + "+s+")":s<0?"int("+a+" - "+-s+")":"int("+a+")",i&&(a="-"+a)),a};const K=330,Q={init:function(){this.setColour(K),this.appendDummyInput().appendField(new Y.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(Y.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){W.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},Z={init:function(){this.setColour(K),this.appendValueInput("VALUE").appendField(new Y.FieldTextInput(""),"VAR").appendField(Y.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var t=this.getFieldValue("VAR");return null==t?[]:t.split(",")},renameVar:function(t,e){W.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},tt={init:function(){this.setColour(K);var t=[[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.LANG_MATH_FLOAT,"float"],[Y.Msg.LANG_MATH_BOOLEAN,"bool"],[Y.Msg.LANG_MATH_STRING,"str"],[Y.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Y.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Y.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[Y.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[Y.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new Y.FieldDropdown(t),"OP"),this.setOutput(!0)}},et={init:function(){this.setColour(K),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Y.Msg.TEXT_PRINT_TOOLTIP)}},nt={init:function(){this.setColour(K),this.appendValueInput("DATA").appendField(Y.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(Y.Msg.MICROBIT_PYTHON_TYPE)}},it={init:function(){this.setColour(K),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new Y.FieldDropdown([[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[Y.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[Y.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[Y.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[Y.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[Y.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[Y.Msg.LANG_MATH_BYTE,"bytes"],[Y.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type");return Y.Msg.MICROBIT_controls_TypeLists+{int:Y.Msg.LANG_MATH_INT,float:Y.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:Y.Msg.MIXLY_MICROBIT_TYPE_STRING,list:Y.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:Y.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:Y.Msg.MIXLY_MICROBIT_TYPE_DICT,set:Y.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:Y.Msg.MIXLY_MICROBIT_IMAGE,bytes:Y.Msg.LANG_MATH_BYTE,NoneType:Y.Msg.LOGIC_NULL}[e]}))}},st=120,rt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},ot={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},at={init:function(){var t=[[Y.Msg.MIXLY_mSecond,"delay"],[Y.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour(st),this.appendValueInput("DELAY_TIME",Number).appendField(Y.Msg.MIXLY_DELAY).appendField(new Y.FieldDropdown(t),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},lt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(Y.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},ut={init:function(){this.setColour(st),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(Y.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(Y.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new Y.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var t=this;this.setTooltip((function(){return t.elseifCount_||t.elseCount_?!t.elseifCount_&&t.elseCount_?Y.Msg.CONTROLS_IF_TOOLTIP_2:t.elseifCount_&&!t.elseCount_?Y.Msg.CONTROLS_IF_TOOLTIP_3:t.elseifCount_&&t.elseCount_?Y.Msg.CONTROLS_IF_TOOLTIP_4:"":Y.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,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,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?n[s]=e.getInputTargetBlock("IF"+s).previousConnection:n[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?i[s]=e.getInputTargetBlock("DO"+s).previousConnection:i[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(Y.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(Y.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.CONTROLS_IF_MSG_ELSE);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"IF"+s);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_if_if");e.initSvg();for(var n=e.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var s=t.newBlock("controls_if_elseif");s.initSvg(),n.connect(s.previousConnection),n=s.nextConnection}if(this.elseCount_){var r=t.newBlock("controls_if_else");r.initSvg(),n.connect(r.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 n=t.getInputTargetBlock("STACK"),i=[null],s=[null],r=null;n;){switch(n.type){case"controls_if_elseif":this.elseifCount_++,i.push(n.valueConnection_),s.push(n.statementConnection_);break;case"controls_if_else":this.elseCount_++,r=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,s,r)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),n=1;e;){switch(e.type){case"controls_if_elseif":var i=this.getInput("IF"+n),s=this.getInput("DO"+n);e.valueConnection_=i&&i.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,n++;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],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var s=this.getInput("IF"+i),r=this.getInput("DO"+i);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(r.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(t,e,n)},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(Y.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(Y.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,e,n){for(var i=1;i<=this.elseifCount_;i++)t[i]&&t[i].reconnect(this,"IF"+i),e[i]&&e[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},ct={init:function(){this.setColour(st),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.PYTHON_RANGE).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},pt={init:function(){this.setColour(st),this.appendValueInput("LIST").setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(Y.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return Y.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ht={init:function(){this.setColour(st),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(Y.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new Y.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(Y.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:Y.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Y.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},_t={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(Y.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Y.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(Y.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,n=[],i=[];this.elseCount_&&this.removeInput("ELSE");for(var s=this.elseifCount_;s>0;s--)e.getInputTargetBlock("IF"+s)&&e.getInputTargetBlock("IF"+s).previousConnection?n[s]=e.getInputTargetBlock("IF"+s).previousConnection:n[s]=null,this.removeInput("IF"+s),e.getInputTargetBlock("DO"+s)&&e.getInputTargetBlock("DO"+s).previousConnection?i[s]=e.getInputTargetBlock("DO"+s).previousConnection:i[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(Y.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.MIXLY_PYTHON_FINALLY);for(s=n.length-2;s>0;s--)n[s]&&n[s].reconnect(this,"IF"+s);for(s=i.length-2;s>0;s--)i[s]&&i[s].reconnect(this,"DO"+s)},decompose:function(t){var e=t.newBlock("controls_try");e.initSvg();for(var n=e.getInput("STACK").connection,i=1;i<=this.elseifCount_;i++){var s=t.newBlock("controls_except");s.initSvg(),n.connect(s.previousConnection),n=s.nextConnection}if(this.elseCount_){var r=t.newBlock("controls_finally");r.initSvg(),n.connect(r.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 n=t.getInputTargetBlock("STACK"),i=[null],s=[null],r=null;n;){switch(n.type){case"controls_except":this.elseifCount_++,i.push(n.valueConnection_),s.push(n.statementConnection_);break;case"controls_finally":this.elseCount_++,r=n.statementConnection_;break;default:throw Error("Unknown block type: "+n.type)}n=n.nextConnection&&n.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(i,s,r)},saveConnections:function(t){for(var e=t.getInputTargetBlock("STACK"),n=1;e;){switch(e.type){case"controls_except":var i=this.getInput("IF"+n),s=this.getInput("DO"+n);e.valueConnection_=i&&i.connection.targetConnection,e.statementConnection_=s&&s.connection.targetConnection,n++;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],n=null;this.getInput("ELSE")&&(n=this.getInput("ELSE").connection.targetConnection);for(var i=1;this.getInput("IF"+i);){var s=this.getInput("IF"+i),r=this.getInput("DO"+i);console.log(s.connection.targetConnection),t.push(s.connection.targetConnection),e.push(r.connection.targetConnection),i++}this.updateShape_(),this.reconnectChildBlocks_(t,e,n)},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(Y.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(Y.Msg.MIXLY_PYTHON_FINALLY)},reconnectChildBlocks_:function(t,e,n){for(var i=1;i<=this.elseifCount_;i++)t[i]&&t[i].reconnect(this,"IF"+i),e[i]&&e[i].reconnect(this,"DO"+i);n&&n.reconnect(this,"ELSE")}},dt={init:function(){this.setColour(st);var t=new Y.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:Y.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Y.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(Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},ft={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Y.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Y.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},mt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new Y.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return Y.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};ht.OPERATORS=[[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],dt.OPERATORS=[[Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Y.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const gt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(Y.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},bt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},St={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(Y.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},kt={init:function(){this.setColour(st),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},yt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(Y.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Tt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(Y.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},vt={init:function(){this.jsonInit({message0:Y.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:st,tooltip:Y.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:Y.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},$t={init:function(){this.setColour(st),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(Y.Msg.MIXLY_STAT),this.setOutput(!0)}},wt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},Et={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(Y.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},It={init:function(){this.appendDummyInput().appendField(Y.Msg.CONTROLS_REPEAT_TITLE_REPEAT+Y.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(Y.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new Y.FieldDropdown([[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[Y.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(st),this.setTooltip("do-while loop"),this.setHelpUrl("")}},At={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ot={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Mt={init:function(){this.setColour(st),this.appendDummyInput().appendField(Y.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},Ct=230;Y.FieldTextInput.math_number_validator=function(t){return String(t)},Y.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 Rt={init:function(){this.setColour(Ct),this.appendDummyInput().appendField(new Y.FieldTextInput("0",Y.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(Ct);this.appendDummyInput("").appendField(Y.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Y.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Nt={init:function(){this.setColour(Ct);this.appendDummyInput("").appendField(Y.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new Y.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:Y.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Lt={init:function(){this.setColour(Ct),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.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:Y.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Y.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Y.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Dt={init:function(){this.setColour(Ct),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.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:Y.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Y.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:Y.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:Y.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Y.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ft={init:function(){this.setColour(Ct),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new Y.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Pt={init:function(){this.setColour(Ct),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new Y.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:Y.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Y.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Y.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Y.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Y.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Y.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:Y.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Bt={init:function(){var t=[[Y.Msg.MATH_BIN,"bin"],[Y.Msg.MATH_OCT,"oct"],[Y.Msg.MATH_HEX,"hex"]];this.setColour(Ct),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new Y.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:Y.Msg.MATH_DEC_TOOLTIP_BIN,oct:Y.Msg.MATH_DEC_TOOLTIP_OCT,hex:Y.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},Vt={init:function(){var t=[[Y.Msg.LANG_MATH_TO_ROUND,"round"],[Y.Msg.LANG_MATH_TO_CEIL,"ceil"],[Y.Msg.LANG_MATH_TO_FLOOR,"floor"],[Y.Msg.MATH_ABS,"fabs"],[Y.Msg.MATH_SQRT,"sqrt"]];this.setColour(Ct),this.appendValueInput("A").setCheck(Number).appendField(new Y.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:Y.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:Y.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:Y.Msg.MATH_SINGLE_TOOLTIP_SQ,round:Y.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:Y.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:Y.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Ut={init:function(){var t=[[Y.Msg.MIXLY_MAX,"max"],[Y.Msg.MIXLY_MIN,"min"]];this.setColour(Ct),this.appendValueInput("A").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(new Y.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(Y.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:Y.Msg.MIXLY_TOOLTIP_MATH_MAX,min:Y.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Yt={init:function(){var t=[[Y.Msg.MATH_TWO,"two"],[Y.Msg.MATH_EIGHT,"eight"],[Y.Msg.MATH_TEN,"ten"],[Y.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(Ct),this.appendDummyInput("").appendField(Y.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new Y.FieldDropdown(t),"OP").appendField(Y.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(Y.Msg.MATH_ZHW).appendField(new Y.FieldDropdown(t),"OP2").appendField(Y.Msg.MATH_JinZhi),this.setFieldValue("ten","OP2"),this.setOutput(!0),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP"),n={two:Y.Msg.MATH_Before_two,eight:Y.Msg.MATH_Before_eight,ten:Y.Msg.MATH_Before_ten,sixteen:Y.Msg.MATH_Before_sixteen},i=e.getFieldValue("OP2"),s={two:Y.Msg.MATH_Behind_two,eight:Y.Msg.MATH_Behind_eight,ten:Y.Msg.MATH_Behind_ten,sixteen:Y.Msg.MATH_Behind_sixteen};return n[t]+s[i]}))}},jt={init:function(){var t=[[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ct),this.setOutput(!0,Number),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_RANDOM).appendField(new Y.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(Y.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),n={int:Y.Msg.LANG_MATH_INT,float:Y.Msg.LANG_MATH_FLOAT_RANDOM};return Y.Msg.MATH_RANDOM_INT_TOOLTIP+n[t]}))}},Gt={init:function(){this.setColour(Ct),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(Y.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(Y.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(Y.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(Y.Msg.MATH_CONSTRAIN_TOOLTIP)}},Xt={init:function(){this.setColour(Ct),this.appendValueInput("NUM",Number).appendField(Y.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(Y.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(Y.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ht={init:function(){this.setColour(Ct),this.appendDummyInput().appendField(new Y.FieldTextInput("0",Y.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(Y.Msg.MATH_NUMBER_TOOLTIP)}},qt={init:function(){this.setColour(Ct),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},zt={init:function(){this.setColour(Ct),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(Y.Msg.MATH_ROUND).appendField(Y.Msg.TEXT_KEEP),this.appendDummyInput().appendField(Y.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(Y.Msg.MATH_ROUND_NEW_TOOLTIP)}},Wt={init:function(){var t=[[Y.Msg.MIXLY_TO_INT,"int"],[Y.Msg.MIXLY_TO_FLOAT,"float"],[Y.Msg.MIXLY_TO_BITES,"b"]];this.setColour(Ct),this.appendValueInput("VAR").appendField(new Y.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Y.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:Y.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:Y.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Jt={init:function(){var t=[[Y.Msg.MIXLY_TO_INT,"int"],[Y.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(Ct),this.appendValueInput("VAR").appendField(new Y.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:Y.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:Y.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Kt=Xt,Qt=160,Zt={init:function(){this.setColour(Qt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Y.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Y.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 Y.FieldImage(e,12,12,'"')}},te={init:function(){this.setColour(Qt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Y.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(Y.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 Y.FieldImage(e,12,12,'"')}};Y.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 ee={init:function(){this.setColour(Qt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new Y.FieldTextInput("",Y.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(Y.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new Y.FieldImage(e,7,12,'"')}},ne={init:function(){this.setColour(Qt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(Y.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},ie={init:function(){this.setColour(Qt),this.appendValueInput("VAR").setCheck(Number).appendField(Y.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},se={init:function(){this.setColour(Qt),this.appendValueInput("VAR").setCheck(String).appendField(Y.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},re={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},oe={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ae={init:function(){this.WHERE_OPTIONS=[[Y.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Y.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Y.Msg.TEXT_GET_INDEX_RANDOM+1+Y.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(Y.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(Y.Msg.LISTS_GET_INDEX_GET,"MODE"),Y.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Y.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"),n=t.getFieldValue("WHERE"),i="";switch(e+" "+n){case"GET FROM_START":case"GET FROM_END":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":i=Y.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+=" "+Y.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",Y.Msg.ONE_BASED_INDEXING?"#1":"#0")),i}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),n={FROM_START:Y.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:Y.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:Y.Msg.TEXT_GET_INDEX_RANDOM};return Y.Msg.PROCEDURES_DEFRETURN_RETURN+Y.Msg.MIXLY_MICROBIT_TYPE_STRING+n[t]+"n"+Y.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==Y.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),Y.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(Y.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new Y.FieldDropdown(this.WHERE_OPTIONS,(function(e){var n="FROM_START"==e||"FROM_END"==e;if(n!=t){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(e,"WHERE"),Y.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},le={init:function(){this.setHelpUrl(Y.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(Y.Msg.LISTS_GET_INDEX_GET+" "+Y.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(Y.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(Y.Msg.PROCEDURES_DEFRETURN_RETURN+Y.Msg.MIXLY_MICROBIT_TYPE_STRING+Y.Msg.LISTS_GET_INDEX_FROM_START+"n"+Y.Msg.TEXT_CHARAT2)}},ue={init:function(){this.setHelpUrl(Y.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(Y.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(Y.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ce={init:function(){this.WHERE_OPTIONS_1=[[Y.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Y.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Y.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[Y.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Y.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Y.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(Y.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(Y.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(Y.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==Y.INPUT_VALUE;t.setAttribute("at1",e);var n=this.getInput("AT2").type==Y.INPUT_VALUE;return t.setAttribute("at2",n),t},domToMutation:function(t){var e="true"==t.getAttribute("at1"),n="true"==t.getAttribute("at2");this.updateAt_(1,e),this.updateAt_(2,n)},updateAt_:function(t,e){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),e?(this.appendValueInput("AT"+t).setCheck(Number),Y.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(Y.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var n=new Y.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(n){var i="FROM_START"==n||"FROM_END"==n;if(i!=e){var s=this.sourceBlock_;return s.updateAt_(t,i),s.setFieldValue(n,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(n,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},pe={init:function(){this.setHelpUrl(Y.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(Y.Msg.LISTS_GET_INDEX_GET+" "+Y.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(Y.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(Y.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(Y.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},he={init:function(){var t=[[Y.Msg.MIXLY_EQUALS,"==="],[Y.Msg.MIXLY_STARTSWITH,"startswith"],[Y.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Qt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new Y.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},_e={init:function(){this.setColour(Qt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(Y.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_COMPARETO_HELP)}},de={init:function(){var t=[[Y.Msg.TEXT_UPPER,"upper"],[Y.Msg.TEXT_TITLE,"title"],[Y.Msg.TEXT_CAPITALIZE,"capitalize"],[Y.Msg.TEXT_SWAPCASE,"swapcase"],[Y.Msg.TEXT_LOWER,"lower"]];this.setColour(Qt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Y.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:Y.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:Y.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:Y.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:Y.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:Y.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},fe={init:function(){var t=[[Y.Msg.TEXT_LJUST,"ljust"],[Y.Msg.TEXT_CENTER,"center"],[Y.Msg.TEXT_RJUST,"rjust"]];this.setColour(Qt),this.appendValueInput("VAR").appendField(new Y.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(Y.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(Y.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},me={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(Y.Msg.MIXLY_MID+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(Y.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ge={init:function(){this.setColour(Qt),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},be={init:function(){this.setColour(Qt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(Y.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(Y.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Se={init:function(){this.setColour(Qt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(Y.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(Y.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},ke={init:function(){var t=[[Y.Msg.TEXT_TRIM_BOTH,"strip"],[Y.Msg.TEXT_TRIM_LEFT,"lstrip"],[Y.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Qt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Y.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new Y.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(Y.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:Y.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:Y.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:Y.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},ye={init:function(){this.setColour(Qt),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new Y.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Y.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(Y.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 n=e.getInput("STACK").connection,i=0;ie?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},bn={init:function(){this.setColour(mn),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(Y.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Sn={init:function(){this.setColour(mn),this.appendDummyInput().appendField(Y.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},kn={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_KEYS),this.setTooltip(Y.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},yn={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Y.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(Y.Msg.DICTS_GET_TOOLTIP)}},Tn={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(Y.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(Y.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(Y.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},vn={init:function(){this.setColour(mn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(Y.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},$n={init:function(){this.setColour(mn),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(Y.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_DELETE_TOOLTIP)}},wn={init:function(){this.setColour(mn),this.appendValueInput("DICT2").setCheck("Dict").appendField(Y.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(Y.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MID),this.setTooltip(Y.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},En={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_CLEAR),this.setTooltip(Y.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},In={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_ITEMS),this.setTooltip(Y.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},An={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_VALUES),this.setTooltip(Y.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},On={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_LENGTH),this.setTooltip(Y.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Mn={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.DICT_DELDICT),this.setTooltip(Y.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Cn={init:function(){this.MODE=[[Y.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[Y.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(Y.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(Y.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=Y.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=Y.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==Y.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 Y.FieldDropdown(this.MODE,(function(e){var n="INSERT"==e;if(n!=t){var i=this.sourceBlock_;return i.updateAt_(n),i.setFieldValue(e,"WHERE"),null}}));this.getInput("AT2").appendField(e,"WHERE")}},Rn={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(Y.Msg.DICTS_ADD_VALUE),this.setTooltip(Y.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},xn={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(Y.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Nn={init:function(){this.setColour(mn),this.appendDummyInput("").appendField(new Y.FieldLabel(Y.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 Y.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(Y.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 n=e.getInput("STACK").connection,i=0;ie?t[e]:0==e?'"key"':'"key'+(e+1)+'"'),"KEY"+e).appendField(":")}},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ln={init:function(){this.setColour(mn),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Dn={init:function(){this.setColour(mn),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_TO_JSON),this.setTooltip(Y.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Fn={init:function(){this.setColour(mn),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(Y.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Pn=210,Bn={init:function(){var t=Y.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Pn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:Y.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Y.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Y.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Y.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Y.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Y.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Vn={init:function(){var t=Y.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=Y.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Pn),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new Y.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},Un={init:function(){var t=[[Y.Msg.LOGIC_OPERATION_AND,"AND"],[Y.Msg.LOGIC_OPERATION_OR,"OR"],[Y.Msg.LOGIC_OPERATION_NOR,"NOR"],[Y.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Pn),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new Y.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:Y.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:Y.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:Y.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:Y.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Yn={init:function(){this.setColour(Pn),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(Y.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(Y.Msg.LOGIC_NEGATE_TOOLTIP)}},jn={init:function(){var t=[[Y.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Y.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Pn),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new Y.FieldDropdown(t),"BOOL"),this.setTooltip(Y.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Gn={init:function(){this.setColour(Pn),this.setOutput(!0),this.appendDummyInput().appendField(Y.Msg.LOGIC_NULL),this.setTooltip(Y.Msg.LOGIC_NULL_TOOLTIP)}},Xn={init:function(){this.setColour(Pn),this.appendValueInput("A"),this.appendValueInput("B").appendField(Y.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(Y.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Hn={init:function(){var t=[[Y.Msg.TEXT_APPEND_TO,"in"],[Y.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Pn),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new Y.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(Y.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Y.Msg.IN)}},qn={init:function(){var t=[[Y.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[Y.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Pn),this.appendValueInput("A"),this.appendValueInput("B").appendField(new Y.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},zn={init:function(){this.setColour(Pn),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Wn={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(Y.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Jn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(Y.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"),n=Y.Msg.MIXLY_USE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,r=Y.Msg.MIXLY_BELONG;return n+{r:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+r+i+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Kn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Y.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"),n=Y.Msg.MIXLY_USE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,r=Y.Msg.MIXLY_BELONG,o=Y.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+r+i+s+o}))}},Qn={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(Y.Msg.MIXPY_TEXT_ENCODE).appendField(new Y.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"),n=Y.Msg.MIXLY_USE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,r=Y.Msg.MIXLY_BELONG,o=Y.Msg.PY_STORAGE_FILE_OBJECT;return n+{r:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+r+i+s+o}))}},Zn={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+Y.Msg.MIXLY_MICROBIT_TYPE_STRING+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},ti={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},ei={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Y.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"),n=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return n+{read:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+i}))}},ni={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Y.Msg.MICROBIT_PYTHON_TYPE)}},ii={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.HTML_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},si={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},ri={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},oi={init:function(){this.setColour(0),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};Y.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const ai={init:function(){this.setColour(0),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[Y.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(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},li={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},ui={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},ci={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(Y.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"),n=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,i=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return n+" "+{start:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+i}))}},pi={init:function(){this.setColour(0),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},hi={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(Y.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[Y.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 Y.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+Y.Msg.MIXLY_ESP32_SET+{mkdir:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},_i={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(Y.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},di={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},fi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.HTML_FILE,"isfile"],[Y.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 Y.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+Y.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:Y.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},mi={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(Y.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(Y.Msg.MIXLY_SETUP+Y.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(Y.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},gi={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(Y.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},bi={init:function(){var t=q.findLegalName("",this),e=new Y.FieldTextInput(t,q.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new Y.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Y.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Y.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(Y.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(Y.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(Y.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=Y.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),Y.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{Y.Events.enable()}},mutationToDom:function(t){var e=Y.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n"),this.appendValueInput("style").appendField(Y.Msg.MIXLY_AIP_ATTR).setAlign(Y.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ps={init:function(){this.setColour(rs),this.appendDummyInput().appendField(Y.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},hs={init:function(){this.setColour(rs),this.appendDummyInput().appendField(Y.Msg.HTML_FORM_CONTENT).appendField(new Y.FieldDropdown([[Y.Msg.HTML_TEXT,"text"],[Y.Msg.HTML_EMAIL,"email"],[Y.Msg.HTML_NUMBER,"number"],[Y.Msg.HTML_PASSWORD,"password"],[Y.Msg.HTML_CHECKBOX,"checkbox"],[Y.Msg.HTML_RADIOBUTTON,"radiobutton"],[Y.Msg.HTML_BUTTON,"button"],[Y.Msg.HTML_COLOUR,"colour"],[Y.Msg.HTML_DATE,"date"],[Y.Msg.HTML_LOCALTIME,"local time"],[Y.Msg.HTML_FILE,"file"],[Y.Msg.HTML_HIDDEN,"hidden"],[Y.Msg.HTML_IMAGE,"image"],[Y.Msg.HTML_MONTH,"month"],[Y.Msg.HTML_RANGE,"range"],[Y.Msg.HTML_RESET,"reset"],[Y.Msg.HTML_SEARCH,"search"],[Y.Msg.HTML_SUBMIT,"submit"],[Y.Msg.HTML_TELEPHONENUMBER,"telephone number"],[Y.Msg.HTML_TIME,"time"],[Y.Msg.HTML_URL,"url"],[Y.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(Y.Msg.HTML_NAME).appendField(new Y.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(Y.Msg.HTML_VALUE).appendField(new Y.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(Y.Msg.MIXLY_AIP_ATTR).setAlign(Y.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_s={init:function(){this.setColour(rs),this.appendDummyInput().appendField(new Y.FieldTextInput("property"),"KEY").appendField(":").appendField(new Y.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ds={init:function(){this.setColour(rs),this.appendDummyInput().appendField(new Y.FieldTextInput("property"),"KEY").appendField(":").appendField(new Y.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fs={init:function(){this.setColour(rs),this.appendDummyInput().appendField(Y.Msg.HTML_TEXT).appendField(new Y.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ms=160,gs={init:function(){this.setColour(ms),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new Y.FieldTable(""),"TEXT")}},bs={init:function(){this.setColour(ms),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new Y.FieldMultilineInput(""),"TEXT")}},Ss={init:function(){this.setColour(ms),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new Y.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},ks={init:function(){this.setColour(ms),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ys={init:function(){this.setColour(ms),this.appendDummyInput().appendTitle("Comment:").appendTitle(new Y.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Ts={init:function(){this.setColour(ms),this.appendValueInput("VALUE").appendField(Y.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},vs={init:function(){this.setColour(ms),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new Y.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(Y.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=Y.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var n=e.getInput("STACK").connection,i=0;i"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ho={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_o={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},fo={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mo={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},go={init:function(){this.setColour(eo);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(Y.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bo={init:function(){this.setColour(eo),this.appendValueInput("FROM").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_SPLITBYDOU).appendField(Y.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(Y.inputs.Align.RIGHT).appendField(Y.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},So={init:function(){this.setColour(eo);var t=[[Y.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Y.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_DISPLAY_DRAW).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Y.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},ko={init:function(){this.setColour(eo);var t=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],e=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_SCATTER).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Y.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},yo={init:function(){this.setColour(eo);var t=[[Y.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Y.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Y.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],n=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[Y.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_XY).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},To={init:function(){this.setColour(eo);var t=[[Y.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Y.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_BAR).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Y.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Y.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},vo={init:function(){this.setColour(eo);var t=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Y.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PIE).appendField(Y.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Y.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Y.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Y.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},$o={init:function(){this.setColour(eo),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_HIST).appendField(Y.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Y.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},wo={init:function(){this.setColour(eo);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_SETTING).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_TICKS).appendField(Y.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Eo={init:function(){var t=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[Y.Msg.LANG_MATH_TO_ROUND,"round"],[Y.Msg.LANG_MATH_TO_CEIL,"ceil"],[Y.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(eo),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(Y.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new Y.FieldDropdown(t),"OP"),this.setTooltip(Y.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},Io={init:function(){this.setColour(eo),this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT).appendField(Y.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Ao={init:function(){this.setColour(eo),this.appendValueInput("FILENAME").appendField(Y.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new Y.FieldDropdown([[Y.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[Y.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(Y.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(Y.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){Y.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Oo={init:function(){this.setColour(eo),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(Y.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(Y.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new Y.FieldDropdown([[Y.Msg.DATAFRAME_COLUMN,"column"],[Y.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(Y.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Mo={init:function(){this.setColour(eo),this.appendValueInput("FILE").setCheck(String).appendField(Y.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Co={init:function(){this.setColour(eo);var t=[[Y.Msg.TEXT_TRIM_LEFT,"right"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[Y.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.MIXLY_SETTING).appendField(Y.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_HOR).appendField(new Y.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_VER).appendField(new Y.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Y.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PL_TEXT_TOOLTIP)}},Ro={init:function(){this.setColour(eo),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(Y.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},xo={init:function(){this.setColour(eo),this.appendValueInput("SER").setCheck("Series").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},No={init:function(){this.setColour(eo);var t=[[Y.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Y.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Y.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],n=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("SER").setCheck("Series").appendField(Y.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lo={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Do={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Fo={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Po={init:function(){this.setColour(eo),this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bo={init:function(){this.setColour(eo);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.blockpy_PYLAB_SET_LABEL).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(Y.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vo={init:function(){this.setColour(eo);var t=[[Y.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[Y.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_DISPLAY_DRAW).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:Y.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},Uo={init:function(){this.setColour(eo);var t=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_SCATTER).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(Y.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(t),"DOT"),this.appendDummyInput().appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Yo={init:function(){this.setColour(eo);var t=[[Y.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[Y.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[Y.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[Y.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[Y.Msg.COLOUR_RGB_BLUE,"b"],[Y.Msg.COLOUR_RGB_GREEN,"g"],[Y.Msg.COLOUR_RGB_RED,"r"],[Y.Msg.COLOUR_CYAN,"c"],[Y.Msg.COLOUR_MAGENTA,"m"],[Y.Msg.COLOUR_YELLOW,"y"],[Y.Msg.COLOUR_BLACK,"k"],[Y.Msg.COLOUR_WHITE,"w"]],n=[[Y.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[Y.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[Y.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PLOT_XY).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new Y.FieldDropdown(n),"DOT"),this.appendDummyInput("").appendField(Y.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new Y.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},jo={init:function(){this.setColour(eo);var t=[[Y.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[Y.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_BAR).appendField(Y.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(Y.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new Y.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(Y.Msg.HTML_COLOUR).appendField(new Y.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Go={init:function(){this.setColour(eo);var t=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[Y.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[Y.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[Y.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_PIE).appendField(Y.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(Y.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new Y.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new Y.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Xo={init:function(){this.setColour(eo),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_HIST).appendField(Y.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(Y.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ho={init:function(){this.setColour(eo);var t=[[Y.Msg.PYLAB_LABEL_X,"x"],[Y.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(Y.Msg.MIXLY_SETTING).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(Y.Msg.mixpy_PYLAB_TICKS).appendField(Y.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(Y.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},qo={init:function(){this.setColour(eo),this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT).appendField(Y.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},zo={init:function(){this.setColour(eo),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(Y.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Wo={init:function(){this.setColour(eo);var t=[[Y.Msg.TEXT_TRIM_LEFT,"right"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[Y.Msg.mixpy_PL_TEXT_TOP,"bottom"],[Y.Msg.mixpy_PL_TEXT_CENTER,"center"],[Y.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(Y.Msg.MIXLY_SETTING).appendField(Y.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(Y.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_HOR).appendField(new Y.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(Y.Msg.mixpy_PL_TEXT_VER).appendField(new Y.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(Y.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.mixpy_PL_TEXT_TOOLTIP)}},Jo=20,Ko={init:function(){this.setColour(Jo),this.appendValueInput("VAR").appendField(Y.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(Y.Msg.INOUT_input_TOOLTIP)}},Qo={init:function(){this.setColour(Jo),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Y.Msg.BLOCKPY_PRINT_TOOLTIP)}},Zo={init:function(){this.setColour(Jo),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(Y.Msg.TEXT_PRINT_TOOLTIP)}},ta={init:function(){this.setColour(Jo),this.appendValueInput("VAR").appendField(Y.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(Y.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(Y.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},ea={init:function(){var t=[[Y.Msg.LANG_MATH_STRING,"str"],[Y.Msg.LANG_MATH_INT,"int"],[Y.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Jo),this.appendDummyInput("").appendField(Y.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new Y.FieldDropdown(t),"DIR"),this.appendValueInput("VAR").appendField(Y.Msg.PROCEDURES_MUTATORCONTAINER_TITLE).setCheck(String),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{str:Y.Msg.MIXLY_MIXPY_INOUT_STR_INPUT_TOOLTIP,int:Y.Msg.MIXLY_MIXPY_INOUT_INT_INPUT_TOOLTIP,float:Y.Msg.MIXLY_MIXPY_INOUT_FLOAT_INPUT_TOOLTIP}[t]}))}},na={init:function(){this.setColour(Jo),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new Y.icons.MutatorIcon(["inout_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(Y.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("inout_print_container");e.initSvg();for(var n=e.getInput("STACK").connection,i=0;i= stop:"," yield start"," start -= abs(step)"])};if(t=function(t,e,n){return"("+t+" <= "+e+") and "+l()+"("+t+", "+e+", "+n+") or "+u()+"("+t+", "+e+", "+n+")"},Y.isNumber(i)&&Y.isNumber(s)&&Y.isNumber(r))i=parseFloat(i),s=parseFloat(s),r=Math.abs(parseFloat(r)),0==i%1&&0==s%1&&0==r%1?(i<=s?(s++,t=0==i&&1==r?s:i+", "+s,1!=r&&(t+=", "+r)):t=i+", "+--s+", -"+r,t="range("+t+")"):(t=i",GTE:">="};const tp=function(t,e){var n=this.getFieldValue("OP"),i="&&"==n?e.ORDER_LOGICAL_AND:e.ORDER_LOGICAL_OR,s=e.valueToCode(this,"A",i)||"False",r=e.valueToCode(this,"B",i)||"False";if("AND"==n)var o=s+" and "+r;else if("OR"==n)o=s+" or "+r;else if("NOR"==n)o="not("+s+"^"+r+")";else o=s+"^"+r;return[o,i]},ep=function(t,e){var n=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",n)||"False"),n]},np=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},ip=function(t,e){return["None",e.ORDER_ATOMIC]},sp=function(t,e){var n=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"False";return["("+(e.valueToCode(this,"B",e.ORDER_ATOMIC)||"False")+" if "+n+" else "+(e.valueToCode(this,"C",e.ORDER_ATOMIC)||"False")+")",e.ORDER_ATOMIC]},rp=function(t,e){var n=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",i=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,e.ORDER_ATOMIC]},op=function(t,e){var n=e.valueToCode(this,"A",e.ORDER_ATOMIC)||"''",i=e.valueToCode(this,"B",e.ORDER_ATOMIC)||"''";return[n+" "+this.getFieldValue("BOOL")+" "+i,e.ORDER_ATOMIC]},ap=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},lp=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},up=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},cp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},pp=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},hp=function(t,e){var n=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+n+")\n"},_p=function(t,e){var n=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+n+"()",e.ORDER_ATOMIC]},dp=function(t,e){var n=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+n+"("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},fp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},mp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},gp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},bp=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Sp=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},kp=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},yp=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Tp=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},vp=function(t,e){var n=this.getFieldValue("MODE"),i=0;return i="start"==n?0:"current"==n?1:2,e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".seek("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+","+i+")\n"},$p=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},wp=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},Ep=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},Ip=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"},Ap=function(t,e){e.definitions_.import_os="import os";var n=e.valueToCode(this,"FILE",e.ORDER_ATOMIC);return["os."+this.getFieldValue("MODE")+"("+n+")",e.ORDER_ATOMIC]},Op=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"},Mp=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"},Cp=function(t,e){var n=e.variableDB_.getName(this.getFieldValue("NAME"),Y.Procedures.NAME_TYPE),i=e.statementToCode(this,"STACK")||" pass\n";e.INFINITE_LOOP_TRAP&&(i=e.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+this.id+"'")+i);var s=e.valueToCode(this,"RETURN",e.ORDER_NONE)||"";s&&(s=" return "+s+"\n");for(var r=[],o=0;o\n\n\n\t\n"+e.statementToCode(this,"HEAD")+"\n\n"+e.statementToCode(this,"BODY")+"\n\n'''",e.ORDER_ATOMIC]},ph=function(t,e){var n=e.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"\n"+n+"\n"},hh=function(t,e){var n=e.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");if("head"==i)var s="<"+i+'>\n\t\n'+n+"\n";else s="<"+i+">\n"+n+"\n";return s},_h=function(t,e){var n=e.statementToCode(this,"DO"),i=this.getFieldValue("LEVEL");return"<"+i+">\n"+n+"\n"},dh=function(t,e){var n=e.statementToCode(this,"DO"),i=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+i+" >\n"+n+"\n"},fh=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},mh=function(t,e){return'"},gh=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},bh=function(){return this.getFieldValue("TEXT")+"\n"},Sh=function(t){return t.getFieldValue("TEXT")+"\n"},kh=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},yh=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Th=function(){return""},vh=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},$h=function(t,e){for(var n=t.getFieldValue("NAME"),i=t.hasReturn_,s=new Array(t.itemCount_),r=0;r6:\n print("路线错乱!程序有误!")\n exit()\n'},Yh=function(t,e){return["name[now] != '小科家'",e.ORDER_ATOMIC]},jh=function(t,e){return["name[now] != '学校'",e.ORDER_ATOMIC]},Gh=function(){return'res = ""\nfor i in path:\n res = res + name[i] + "→"\nprint(res[:-1])\n'},Xh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");if(n>=7)var i="print('层数过高!不得高于6层!')\nexit()\n";else i="sprite.clearAllSprites()\n_Hanoicolor = ['blue', 'red', 'yellow', 'green', 'purple', 'black']\n_Hanoi = [[], [], []]\nA = 0\nB = 1\nC = 2\n_n = "+n+"\n_HanoiColumn = [\n sprite.Sprite('HanoiColumn', 200, 320),\n sprite.Sprite('HanoiColumn', 400, 320),\n sprite.Sprite('HanoiColumn', 600, 320)\n]\n_HanoiColumnNumber = [\n sprite.Text('A', 190, 120),\n sprite.Text('B', 390, 120),\n sprite.Text('C', 590, 120)\n]\n_HanoiBlock = []\nfor i in range(0, _n, 1):\n _HanoiBlock.append(sprite.Sprite(_Hanoicolor[i], 200, 400-(_n-i-1)*27))\n _HanoiBlock[i].setScale(25, 30*i+30)\n _Hanoi[0].insert(0, _HanoiBlock[i])\n_steptext = sprite.Text('步数:0', 30, 30)\n_steps = {'steps' : 0}\ntime.sleep(1)\n";return i},Hh=function(t,e){var n=e.valueToCode(this,"FROM_NUM",e.ORDER_ATOMIC)||"0",i=e.valueToCode(this,"TO_NUM",e.ORDER_ATOMIC)||"0";return`if len(_Hanoi[${n}])>0 :\n _HanoiBlockMoved = _Hanoi[${n}].pop()\n if len(_Hanoi[${i}]) > 0 :\n _HanoiBlockSuppressed = _Hanoi[${i}].pop()\n if _HanoiBlock.index(_HanoiBlockMoved) > _HanoiBlock.index(_HanoiBlockSuppressed):\n print('非法移动!程序有误!')\n exit()\n else:\n _Hanoi[${i}].append(_HanoiBlockSuppressed)\n _HanoiBlockMoved.slideTo(${n}*200+200, 180, 0.2)\n _HanoiBlockMoved.slideTo(${i}*200+200, 180, 0.5)\n _HanoiBlockMoved.slideTo(${i}*200+200, 400-len(_Hanoi[${i}])*27, 0.2)\n _Hanoi[${i}].append(_HanoiBlockMoved)\n _steps['steps'] += 1\n _steptext.changeText('步数:'+str(_steps['steps']))\nelse :\n print('非法移动!程序有误!')\n exit()\n`},qh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=1\n n=5\n ring[5]=1\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=2\n n=len(ring)-1\nring[n]=1\ntime.sleep(1)\n"},zh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if 'mode' not in globals() or mode == 0:\n sprite.clearAllSprites()\n ring=[0,0,0,0,0,0,0,0,0,0]\n mode=2\n n=5\n name=['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\n Books = []\n for i in range(1, 11, 1):\n Books.append(sprite.Sprite('books/book'+str(i), (130*i-650) if i>5 else 130*i, 320 if i>5 else 120))\nelse:\n mode=1\n n=len(ring)-1\nring[n]=n\nlist=ring\ntemp=Books\ntime.sleep(1)\n"},Wh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"res=0\nflag=ring[res]\nBooks[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n"},Jh=function(t,e){return["(('mode' not in globals())or(mode==1 and flag==0)or(mode==2 and not any(value > 0 for value in qian))or(mode==0))",e.ORDER_ATOMIC]},Kh=function(t,e){return["(('mode' in globals())and((mode==1 and flag!=0)or(mode==2 and any(value > 0 for value in qian))))",e.ORDER_ATOMIC]},Qh=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n="res+=1\nflag=ring[res]\n";return n="Books[res].filterGray()\ntime.sleep(0.3)\n"+(n+="Books[res].filterBrighter()\ntime.sleep(0.1)\nBooks[res].filterOrigin()\n")},Zh=function(t,e){return["len(list)>=2",e.ORDER_ATOMIC]},t_=function(){return"mid = int(len(list)/2)\nqian = list[0:mid]\nhou = list[mid:]\nqiantemp = temp[0:mid]\nhoutemp = temp[mid:]\n"},e_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"quchu = qian\nlist = hou\nquchutemp = qiantemp\ntemp = houtemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterGray()\ntime.sleep(0.5)\n"},n_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"list = quchu\ntemp = quchutemp\nfor i in qiantemp:\n i.filterBrighter()\ntime.sleep(0.5)\nfor i in qiantemp:\n i.filterOrigin()\nfor i in houtemp:\n\ti.filterBrighter()\ntime.sleep(0.5)\nfor i in houtemp:\n i.filterGray()\ntime.sleep(0.5)\n"},i_=function(){return"if 'list' in globals():\n res = list[0]\nBooks[res].filterBrighter()\nprint('未消磁的书籍是第'+str(res+1)+'本《'+name[res%10]+'》。')\nif res!=n:\n print('答案错误!请检查程序!')\nmode=0\n"},s_=function(t,e){var n=this.getFieldValue("NUM");return e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite",`sprite.clearAllSprites()\nring = []\nname = ['小王子','海底两万里','荷花镇的早市','孔子的故事','夏洛的网','草房子','月下看猫头鹰','会唱歌的咖啡磨','父与子','城南旧事']\nBooks = []\nfor i in range(${n}):\n ring.append(0)\nfor i in range(1, ${n}+1, 1):\n Books.append(sprite.Sprite('books/book'+str(i%10 if i%10!=0 else 10), ${{5:"130*i, 120",10:"(130*i-650) if i>5 else 130*i, 320 if i>5 else 120",20:"(65*i-650)+30 if i>10 else 65*i+30, 320 if i>10 else 120",50:"(26*i-650)+50 if i>25 else 26*i+50, 320 if i>25 else 120"}[n]}))\ntime.sleep(1)\nmode=3\n`},r_=function(t,e){e.definitions_.import_sprite="import sprite";return"cnt=0\ncntText = sprite.Text('计数器:0', 30, 200)\n"},o_=function(t,e){e.definitions_.import_sprite="import sprite";return"cnt+=1\ncntText.changeText('计数器:'+str(cnt))\n"},a_=function(t,e){e.definitions_.import_sprite="import sprite";return"print('计数器大小:'+str(cnt))\n"},l_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\n_head = 10\n_foot = 32\n_footText = sprite.Text('脚的数量:', 20, 10)\n_sprite = []\n"},u_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"_rabbit = 0\ntime.sleep(1)\n"},c_=function(t,e){return["_rabbit < _head",e.ORDER_ATOMIC]},p_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"_chick = _head - _rabbit\nfor i in range(0, _chick, 1):\n _sprite.append(sprite.Sprite('jttl/chick', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\n\ntime.sleep(0.5)\n_footText.changeText('脚的数量:'+str(_rabbit*4 + _chick*2))\ntime.sleep(1)\n"},h_=function(t,e){return["_rabbit*4 + _chick*2 == _foot",e.ORDER_ATOMIC]},__=function(t,e){e.definitions_.import_sprite="import sprite";return"print('鸡的数量:'+str(_chick)+'只;\\n兔的数量:'+str(_rabbit)+'只。')\n"},d_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"_rabbit += 1\nsprite.clearAllSprites()\n_sprite = []\n_footText = sprite.Text('脚的数量:', 20, 10)\nfor i in range(0, _rabbit, 1):\n _sprite.append(sprite.Sprite('jttl/rabbit', len(_sprite)*130+130 if len(_sprite)<5 else len(_sprite)*130+130-650, 120 if len(_sprite)<5 else 320))\ntime.sleep(0.5)\n"},f_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/fzsf/map_ck_xxjsjs')\n_S1 = sprite.Sprite('/fzsf/S1',400,225,'S1')\n_S2 = sprite.Sprite('/fzsf/S2',400,225,'S2')\n_S3 = sprite.Sprite('/fzsf/S3',400,225,'S3')\n_S4 = sprite.Sprite('/fzsf/S4',400,225,'S4')\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_text_1 = sprite.Text('S1:',0,0,'text')\n_text_2 = sprite.Text('S2:',0,30,'text2')\n_text_3 = sprite.Text('S3:',0,60,'text3')\n_text_4 = sprite.Text('S4:',0,90,'text4')\n_position = [[60, 270], [240, 50], [260, 380], [440, 190], [730, 60], [700, 400]]\n_Llen = [0, 170, 230, 100, 150, 10, 30, 50]\n_Slen = [0, 0, 0, 0, 0]\n_tag = [0, [0, 1, 3], [0, 2, 3], [3, 4, 5], [3, 5]]\nbear = sprite.Sprite('mixbear',60,270,'bear')\nbear.enlargeTo(80)\n_pos = 0\ntime.sleep(1)\n"},m_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME");const i=[0,[1,3],[2,4],[5,7],[6]];var s="";return s+=`_S${n}.show()\ntime.sleep(1)\n`,s+=4!=n?`_Slen[${n}] = _Llen[${i[n][0]}] + _Llen[${i[n][1]}]\n_text_${n}.changeText('S${n}:'+str(_Slen[${n}])+'m')\ntime.sleep(1)\n_S${n}.hide()\ntime.sleep(1)\n`:"_Slen[4] = _Llen[6]\n_text_4.changeText('S4:'+str(_Slen[4])+'m')\ntime.sleep(1)\n_S4.hide()\ntime.sleep(1)\n"},g_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n="";return[n+=`_Slen[${this.getFieldValue("PATHNAME")}] < _Slen[${this.getFieldValue("PATHNAME2")}]`,e.ORDER_ATOMIC]},b_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("PATHNAME"),i="";return i+=`\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\n_Smin = ${n}\n_S${n}.show()\ntime.sleep(0.5)\n_S${n}.hide()\ntime.sleep(0.5)\n_S${n}.show()\ntime.sleep(1)\n`},S_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"if(_pos == _tag[_Smin][0]):\n for i in range(1, len(_tag[_Smin]), 1):\n bear.slideTo(_position[_tag[_Smin][i]][0], _position[_tag[_Smin][i]][1], 1)\n _pos = _tag[_Smin][len(_tag[_Smin])-1]\nelse:\n print('移动错误!程序有误!')\n exit()\n_S1.hide()\n_S2.hide()\n_S3.hide()\n_S4.hide()\nif(_pos == 5):\n print('成功抵达信息科技教室!')\n"},k_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"sprite.clearAllSprites()\nsprite.createBackground('/hxdb/hxdbbg')\n_soldier = []\n_num = sprite.Text('目前士兵数量:0',0,0,'num')\n_last = sprite.Text('剩余:0',500,0,'last')\n_line = 3\n"},y_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n="";return n+=`for i in range(0, ${this.getFieldValue("NUM")}, 1):\n _soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\n_num.changeText('目前士兵数量:'+str(len(_soldier)))\n`},T_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";var n=this.getFieldValue("NUM");return`for i in range(0, len(_soldier), 1):\n _soldier[i].slideTo(30 + (i%${n})*50 + (i//(4*${n}))*(${n}+1)*50 +(i%3-2), 80+(i//${n})*100-(i//(4*${n}))*4*100+(i%2), 0.05)\n_line = ${n}\n_last.changeText('剩余:'+str(len(_soldier)%_line))\ntime.sleep(2)\n`},v_=function(t,e){return e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite",[`len(_soldier)%_line == ${this.getFieldValue("NUM")}`,e.ORDER_ATOMIC]},$_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"_num.changeText('目前士兵数量:'+str(len(_soldier)+1))\n_last.changeText('剩余:')\ntime.sleep(0.5)\n_soldier.append(sprite.Sprite('/hxdb/soldier', 30 + (len(_soldier)%_line)*50 + (len(_soldier)//(4*_line))*(_line+1)*50 +(len(_soldier)%3-2), 80+(len(_soldier)//_line)*100-(len(_soldier)//(4*_line))*4*100+(len(_soldier)%2)))\ntime.sleep(1)\n"},w_=function(t,e){e.definitions_.import_time="import time",e.definitions_.import_sprite="import sprite";return"print('符合要求的士兵数量为:'+str(len(_soldier)))\n"},E_=function(t,e){e.definitions_.import_turtle="import turtle",e.definitions_.import_time="import time",e.definitions_.import_math="import math";var n=e.valueToCode(this,"VAR",e.ORDER_ATOMIC),i=this.getFieldValue("NUM");return e.setups_.init_Hanoi="\ndef init_Hanoi():\n pen = turtle.Turtle()\n pen.hideturtle()\n pen.speed(0)\n for i in range(0, 3, 1):\n pen.penup()\n pen.setheading(0)\n pen.goto(150 * i - 200,-100)\n pen.pendown()\n pen.pensize(5)\n pen.forward(100)\n pen.goto(150 * i - 150,-100)\n pen.setheading(90)\n pen.forward(200)",e.setups_.begin="\ndef begin(): \n s = turtle.Turtle()\n s.hideturtle()\n s.penup()\n s.speed(0)\n s.goto(0,-150)\n s.write('3')\n time.sleep(1)\n s.clear()\n s.write('2')\n time.sleep(1)\n s.clear()\n s.write('1')\n time.sleep(1)\n s.clear()\n s.write('Start!')\n time.sleep(1)\n s.clear()\n",e.setups_.move="\ndef move(x, y):\n try:\n t = tower[x].pop(-1)\n a = tower_num[x].pop(-1)\n if tower_num[y]!=[]:\n b = tower_num[y][-1]\n if athis.#t.on("display",t)[0],Qf.configure({output:t=>{this.#t.run("output",{content:t})},read:this.readFile.bind(this),inputfun:this.skInput.bind(this),inputfunTakesPrompt:!0,execLimit:Number.POSITIVE_INFINITY,fileread:this.fileread.bind(this),filewrite:this.filewrite.bind(this),__future__:Qf.python3}),Qf.builtins.value=new Qf.builtin.func((function(){return Qf.ffi.remapToPy(void 0===tm?5:tm)})),Qf.builtins.set_value=new Qf.builtin.func((function(t){tm=t.v})),Qf.builtinFiles.files["./mixpy.py"]='import math\r\n\r\ndef math_map(v, al, ah, bl, bh):\r\n return bl + (bh - bl) * (v - al) / (ah - al)\r\n\r\ndef math_mean(myList):\r\n localList = [e for e in myList if type(e) == int or type(e) == float]\r\n if not localList: return\r\n return float(sum(localList)) / len(localList)\r\n\r\ndef math_median(myList):\r\n localList = sorted([e for e in myList if type(e) == int or type(e) == float])\r\n if not localList: return\r\n if len(localList) % 2 == 0:\r\n return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0\r\n else:\r\n return localList[(len(localList) - 1) // 2]\r\n\r\ndef math_modes(some_list):\r\n modes = []\r\n # Using a lists of [item, count] to keep count rather than dict\r\n # to avoid "unhashable" errors when the counted item is itself a list or dict.\r\n counts = []\r\n maxCount = 1\r\n for item in some_list:\r\n found = False\r\n for count in counts:\r\n if count[0] == item:\r\n count[1] += 1\r\n maxCount = max(maxCount, count[1])\r\n found = True\r\n if not found:\r\n counts.append([item, 1])\r\n for counted_item, item_count in counts:\r\n if item_count == maxCount:\r\n modes.append(counted_item)\r\n return modes\r\n\r\ndef math_standard_deviation(numbers):\r\n n = len(numbers)\r\n if n == 0: return\r\n mean = float(sum(numbers)) / n\r\n variance = sum((x - mean) ** 2 for x in numbers) / n\r\n return math.sqrt(variance)\r\n\r\ndef lists_sort(my_list, type, reverse):\r\n def try_float(s):\r\n try:\r\n return float(s)\r\n except:\r\n return 0\r\n key_funcs = {\r\n "NUMERIC": try_float,\r\n "TEXT": str,\r\n "IGNORE_CASE": lambda s: str(s).lower()\r\n }\r\n key_func = key_funcs[type]\r\n list_cpy = list(my_list)\r\n return sorted(list_cpy, key=key_func, reverse=reverse)'}readFile(t){if(void 0!==Zf[t])return Qf.misceval.promiseToSuspension(fetch(Zf[t]).then((t=>t.text())));if(void 0===Qf.builtinFiles||void 0===Qf.builtinFiles.files[t])throw"File not found: '"+t+"'";return Qf.builtinFiles.files[t]}fileread(t,e){return this.mixpyProject.exist(t)?this.mixpyProject.getFileContent(t):-1!==e.indexOf("w")?(this.mixpyProject.add(t,"",1),""):null}filewrite(t,e){var n=t.name;this.mixpyProject.modify(n,e),this.mixpyProject.select(n)}skInput(t){return new Promise(((e,n)=>{this.#t.run("input",{content:{prompt:t},resolve:e,reject:n})}))}reset(){Qf.execLimit=Number.POSITIVE_INFINITY,Qf.TurtleGraphics.reset&&Qf.TurtleGraphics.reset()}kill(){Qf.execLimit=0,this.executionEnd_()}step(t,e,n,i){if(".py"==i){var s=this.executionBuffer.step,r=this.parseGlobals(t);this.executionBuffer.trace.push({step:s,filename:i,line:e,column:n,properties:r.properties,modules:r.modules}),this.executionBuffer.step=s+1,this.executionBuffer.last_step=s+1,this.executionBuffer.line_number=e}}analyzeVariables(){if(""==this.main.model.programs.__main__().trim())return{}}analyze(){return this.main.model.execution.status("analyzing"),""!=this.main.model.programs.__main__().trim()||(this.main.components.feedback.emptyProgram("You haven't written any code yet!"),!1)}run(t){this.reset(),this.programStatus.running=!0,Qf.misceval.asyncToPromise((()=>Qf.importMainWithBody("",!1,t,!0))).then((()=>{this.programStatus.running=!1,this.#t.run("finished")})).catch((t=>{j.Debug.error(t),this.programStatus.running=!1,this.#t.run("error",t);var e=function(t){return"string"==typeof t?t:void 0!==t.tp$str?t.tp$str().v:t.name+": "+t.message}(t);this.#t.run("finished"),-1===e.indexOf("TimeLimitError")&&this.executionEnd_()}))}setupEnvironment(t,e,n,i,s){var r=this.main.model;this._backup_execution=Qf.afterSingleExecution,Qf.afterSingleExecution=void 0,Qf.builtins.get_output=new Qf.builtin.func((function(){return Qf.builtin.pyCheckArgs("get_output",arguments,0,0),Qf.ffi.remapToPy(r.execution.output())})),Qf.builtins.reset_output=new Qf.builtin.func((function(){Qf.builtin.pyCheckArgs("reset_output",arguments,0,0),r.execution.output.removeAll()})),Qf.builtins.log=new Qf.builtin.func((function(t){Qf.builtin.pyCheckArgs("log",arguments,1,1),console.log(t)})),Qf.builtins._trace=e,Qf.builtins._final_values=s,Qf.builtins.code=Qf.ffi.remapToPy(t),Qf.builtins.set_success=this.instructor_module.set_success,Qf.builtins.set_feedback=this.instructor_module.set_feedback,Qf.builtins.set_finished=this.instructor_module.set_finished,Qf.builtins.count_components=this.instructor_module.count_components,Qf.builtins.no_nonlist_nums=this.instructor_module.no_nonlist_nums,Qf.builtins.only_printing_properties=this.instructor_module.only_printing_properties,Qf.builtins.calls_function=this.instructor_module.calls_function,Qf.builtins.get_property=this.instructor_module.get_property,Qf.builtins.get_value_by_name=this.instructor_module.get_value_by_name,Qf.builtins.get_value_by_type=this.instructor_module.get_value_by_type,Qf.builtins.parse_json=this.instructor_module.parse_json,Qf.skip_drawing=!0,r.settings.mute_printer(!0)}disposeEnvironment(){Qf.afterSingleExecution=this._backup_execution,Qf.builtins.get_output=void 0,Qf.builtins.reset_output=void 0,Qf.builtins.log=void 0,Qf.builtins._trace=void 0,Qf.builtins.trace=void 0,Qf.builtins.code=void 0,Qf.builtins.set_success=void 0,Qf.builtins.set_feedback=void 0,Qf.builtins.set_finished=void 0,Qf.builtins.count_components=void 0,Qf.builtins.calls_function=void 0,Qf.builtins.get_property=void 0,Qf.builtins.get_value_by_name=void 0,Qf.builtins.get_value_by_type=void 0,Qf.builtins.no_nonlist_nums=void 0,Qf.builtins.only_printing_properties=void 0,Qf.builtins.parse_json=void 0,Qf.skip_drawing=!1,tm=void 0,this.main.model.settings.mute_printer(!1)}parseGlobals(t){var e=Array(),n=Array();for(var i in t){var s=t[i];if("__name__"!==i&&"__doc__"!==i){i=i.replace("_$rw$","").replace("_$rn$","");var r=this.parseValue(i,s);null!==r?e.push(r):s.constructor==Qf.builtin.module&&n.push(s.$d.__name__.v)}}return{properties:e,modules:n}}parseValue(t,e){if(null==e)return{name:t,type:"Unknown",value:"Undefined"};switch(e.constructor){case Qf.builtin.func:return{name:t,type:"Function",value:void 0!==e.func_code.co_varnames?" Arguments: "+e.func_code.co_varnames.join(", "):" No arguments"};case Qf.builtin.module:return null;case Qf.builtin.str:return{name:t,type:"String",value:e.$r().v};case Qf.builtin.none:return{name:t,type:"None",value:"None"};case Qf.builtin.bool:return{name:t,type:"Boolean",value:e.$r().v};case Qf.builtin.nmber:return{name:t,type:"int"==e.skType?"Integer":"Float",value:e.$r().v};case Qf.builtin.int_:return{name:t,type:"Integer",value:e.$r().v};case Qf.builtin.float_:return{name:t,type:"Float",value:e.$r().v};case Qf.builtin.tuple:return{name:t,type:"Tuple",value:e.$r().v};case Qf.builtin.list:return e.v.length<=20?{name:t,type:"List",value:e.$r().v,exact_value:e}:{name:t,type:"List",value:"[... "+e.v.length+" elements ...]",exact_value:e};case Qf.builtin.dict:return{name:t,type:"Dictionary",value:e.$r().v};case Number:return{name:t,type:e%1==0?"Integer":"Float",value:e};case String:return{name:t,type:"String",value:e};case Boolean:return{name:t,type:"Boolean",value:e?"True":"False"};default:return{name:t,type:null==e.tp$name?e:e.tp$name,value:null==e.$r?e:e.$r().v}}}}const nm=$;var im=n.n(nm);class sm extends j.PageBase{static{j.HTMLTemplate.add("html/statusbar/statusbar-image.html",new j.HTMLTemplate('\r\n
\r\n
\r\n
')),this.init=function(){j.StatusBarsManager.typesRegistry.register(["images"],sm);const t=j.Workspace.getMain().getStatusBarsManager();t.add("images","images","图像"),t.changeTo("output")}}constructor(){super();const t=im()(j.HTMLTemplate.get("html/statusbar/statusbar-image.html").render());this.setContent(t)}init(){super.init(),this.hideCloseBtn()}clean(){this.getContent().empty()}display(t){const e=this.getContent(),n=function(t){t.style.width="auto",t.style.height="auto",t.style.maxWidth="100%",t.style.maxHeight="100%"};this.clean();let i=t.content,s=null,r=null;switch(t.display_type){case"p5":i.style.width="100%",i.style.height="100%",i.style.display="flex",i.style.justifyContent="center",i.style.alignItems="center",new MutationObserver((function(t){t.forEach((t=>t.addedNodes.forEach((t=>{const e=t;null!=e.tagName&&["canvas","video"].includes(e.tagName.toLowerCase())&&n(e)}))))})).observe(i,{childList:!0}),i.querySelectorAll("canvas,video").forEach(n),e.append(i);break;case"matplotlib":s=i.querySelector("canvas"),s&&(i=s),i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",e.append(i);break;case"ocaml-canvas":i.style.width="",i.style.height="",i.style.maxWidth="100%",i.style.maxHeight="100%",e.append(i);break;case"turtle":i.setAttribute("width","100%"),i.setAttribute("height","100%"),e.append(i.outerHTML);break;case"sympy":e.append(t.content),void 0===window.MathJax?(console.log("Loading MathJax (Sympy expression needs it)."),function(){let t=document.createElement("script");t.type="text/javascript",t.src="https://cdn.jsdelivr.net/npm/mathjax@3.0.5/es5/tex-mml-chtml.js",document.getElementsByTagName("head")[0].appendChild(t)}()):window.MathJax.typeset();break;case"multiple":for(let n of["image/svg+xml","image/png","text/html","text/plain"])if(n in t.content){let i=t.content[n];"image/png"===n&&(i=''),e.append(i);break}break;case"tutor":if(e.append(im()(t.content.replace("overflow-y%3A%20hidden%3B",""))),r=this.getContent()[0].getElementsByTagName("iframe")[0],null==r)return;r.style.maxHeight=r.style.minHeight="100%",new IntersectionObserver(((t,e)=>{const n=t[0];n&&!n.isIntersecting||(r.contentWindow?.postMessage({type:"redraw"},"*"),e.disconnect())})).observe(r);break;default:console.error(`Not supported node type '${t.display_type}' in eval.display result processing.`)}}}const rm=sm;class om{static{this.pythonShell=null,this.init=async function(){rm.init(),this.pythonShell=new om},this.run=function(){const t=j.Workspace.getMain().getEditorsManager().getActive().getCode();return this.pythonShell.run(t)},this.stop=function(){return this.pythonShell.stop()}}#e=null;#n=null;#i=null;#s={row:0,column:0};#r="";#o=null;#a=null;#l=!1;#u=!1;#c=null;#p=()=>this.#h();#_=[{name:"REPL-Enter",bindKey:"Enter",exec:t=>{if(t.getSession().selection.getCursor().row===this.#s.row){const t=this.#e.getEndPos();let e=this.#e.getValueRange(this.#s,t);return e=e.replace(this.#r,""),this.#o?.(e),this.#o=null,this.#a=null,this.#e.addValue("\n"),this.#d(),!0}return!1}},{name:"REPL-ChangeEditor",bindKey:"Delete|Ctrl-X|Backspace",exec:t=>{const e=t.getSession().selection.getCursor();return e.row{this.#u=!1,this.#e.addValue(`\n==${j.Msg.Lang["shell.finish"]}==`)})),t.bind("output",(t=>{this.#e.addValue(t.content)})),t.bind("error",(t=>{this.#u=!1,this.#e.addValue(`\n${t.toString()}\n`)})),t.bind("input",(t=>{const e=String(t?.content?.prompt);this.#e.addValue(`>>> ${e}`),this.#r=e,this.#o=t.resolve,this.#a=t.reject,this.#m()})),t.bind("display",(t=>{this.#i.changeTo("images"),this.#n.display(t)}))}#h(){const t=this.#e.getEditor(),e=t.getSession().selection.getCursor();t.setReadOnly(e.rowsetTimeout(e,t)))}}const am=om,lm={init:function(){am.init();const t=j.app.getNav();t.register({icon:"icon-play-circled",title:"",id:"python-run-btn",displayText:Y.Msg.MSG.run,preconditionFn:()=>!0,callback:()=>{am.run().catch(j.Debug.error)},scopeType:j.Nav.Scope.LEFT,weight:4}),t.register({icon:"icon-cancel",title:"",id:"python-stop-btn",displayText:Y.Msg.MSG.stop,preconditionFn:()=>!0,callback:()=>{am.stop().catch(j.Debug.error)},scopeType:j.Nav.Scope.LEFT,weight:5})}};lm.init(),Object.assign(Y.Variables,X),Object.assign(Y.Procedures,q),Y.Python=J,Y.generator=J,j.Profile.default={},Object.assign(Y.Blocks,t,e,i,s,r,o,a,l,u,c,p,h,_,d,f,m,g,b,S,k),Object.assign(Y.Python.forBlock,y,T,v,w,E,I,A,O,M,C,R,x,N,L,D,F,P,B,V,U)})()})(); \ No newline at end of file diff --git a/boards/default/python_skulpt/styles/main.b14e9671.css b/boards/default/python_skulpt/styles/main.60c3dc39.css similarity index 100% rename from boards/default/python_skulpt/styles/main.b14e9671.css rename to boards/default/python_skulpt/styles/main.60c3dc39.css diff --git a/boards/default/python_skulpt_car/index.xml b/boards/default/python_skulpt_car/index.xml index c336c159..88702257 100644 --- a/boards/default/python_skulpt_car/index.xml +++ b/boards/default/python_skulpt_car/index.xml @@ -1 +1 @@ -promptHelloHelloHello,HelloMixly2100,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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2x0 \ No newline at end of file +promptHelloHelloHello,HelloMixly2100,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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2x0 \ No newline at end of file diff --git a/boards/default/python_skulpt_car/main.bundle.js b/boards/default/python_skulpt_car/main.bundle.js index 4c239f32..8ca64ca0 100644 --- a/boards/default/python_skulpt_car/main.bundle.js +++ b/boards/default/python_skulpt_car/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Z,controls_typeLists:()=>z,variables_change:()=>Q,variables_get:()=>j,variables_global:()=>J,variables_set:()=>q});var i={};t.r(i),t.d(i,{base_setup:()=>et,controls_delay:()=>it,controls_end_program:()=>nt,controls_except:()=>Ot,controls_finally:()=>Et,controls_flow_statements:()=>ut,controls_for:()=>lt,controls_forEach:()=>_t,controls_for_range:()=>rt,controls_if:()=>st,controls_if_else:()=>It,controls_if_elseif:()=>dt,controls_if_if:()=>Tt,controls_lambda:()=>ct,controls_main:()=>tt,controls_pass:()=>Rt,controls_range:()=>ot,controls_repeat_ext:()=>Mt,controls_thread:()=>mt,controls_try:()=>ht,controls_try_finally:()=>at,controls_whileUntil:()=>pt,do_while:()=>At});var n={};t.r(n),t.d(n,{base_map:()=>wt,math_arithmetic:()=>Dt,math_bit:()=>Pt,math_constant:()=>Ct,math_constant_mp:()=>St,math_constrain:()=>bt,math_dec:()=>Ft,math_indexer_number:()=>Ut,math_map:()=>kt,math_max_min:()=>Vt,math_number:()=>Lt,math_number_base_conversion:()=>Yt,math_random:()=>yt,math_random_seed:()=>Xt,math_round:()=>Bt,math_selfcalcu:()=>Nt,math_to_int:()=>vt,math_trig:()=>ft,text_to_number:()=>xt,text_to_number_skulpt:()=>Gt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Qt,char_to_ascii:()=>Jt,number_to_text:()=>Zt,os_system:()=>Ae,text:()=>Wt,text_capital:()=>_e,text_center:()=>pe,text_char:()=>jt,text_char_at:()=>te,text_char_at2:()=>$t,text_char_at3:()=>Me,text_compareTo:()=>Ee,text_compare_to:()=>oe,text_create_with_container:()=>Ie,text_create_with_item:()=>he,text_encode:()=>Re,text_equals_starts_ends:()=>se,text_eval:()=>me,text_find:()=>ae,text_format:()=>de,text_format_noreturn:()=>ce,text_join:()=>qt,text_join_seq:()=>ue,text_length:()=>zt,text_random_char:()=>ee,text_replace:()=>le,text_split:()=>re,text_strip:()=>Te,text_substring:()=>ne,text_substring2:()=>ie,text_substring3:()=>Oe,text_textarea:()=>Kt});var o={};t.r(o),t.d(o,{list_many_input:()=>We,list_tolist:()=>ze,list_tolist2:()=>_i,list_trig:()=>Ge,lists_2d_get_col_row_data:()=>De,lists_2d_get_data_with_col_row:()=>Se,lists_append_extend:()=>Ve,lists_change_to:()=>He,lists_change_to_general:()=>je,lists_clear:()=>Ue,lists_create_with:()=>Ne,lists_create_with2:()=>$e,lists_create_with_container:()=>fe,lists_create_with_item:()=>Fe,lists_create_with_noreturn:()=>Ke,lists_create_with_text:()=>Pe,lists_create_with_text2:()=>ti,lists_del_general:()=>qe,lists_find:()=>xe,lists_getIndex3:()=>ei,lists_getSublist3:()=>ii,lists_get_index:()=>Le,lists_get_random_item:()=>Ye,lists_get_random_sublist:()=>ye,lists_get_sublist:()=>Ce,lists_insert_value:()=>be,lists_insert_value2:()=>si,lists_pop:()=>Be,lists_remove_at:()=>Xe,lists_remove_at2:()=>oi,lists_reverse:()=>ke,lists_setIndex3:()=>ni,lists_set_index:()=>ve,lists_sort:()=>we,lists_zip:()=>Qe,lists_zip_container:()=>Je,lists_zip_item:()=>Ze});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Ai,dicts_add_or_change:()=>Ii,dicts_clear:()=>Ei,dicts_create_with:()=>ai,dicts_create_with_container:()=>ui,dicts_create_with_item:()=>li,dicts_create_with_noreturn:()=>Ci,dicts_deldict:()=>mi,dicts_delete:()=>hi,dicts_get:()=>Ti,dicts_get_default:()=>di,dicts_items:()=>Mi,dicts_keys:()=>ri,dicts_length:()=>Ri,dicts_pop:()=>gi,dicts_setdefault:()=>Li,dicts_to_json:()=>Di,dicts_todict:()=>Si,dicts_update:()=>Oi,dicts_values:()=>ci,json_to_dicts:()=>Ni});var p={};t.r(p),t.d(p,{logic_boolean:()=>Yi,logic_compare:()=>fi,logic_compare_continous:()=>Fi,logic_is:()=>Ui,logic_is_in:()=>ki,logic_negate:()=>Vi,logic_null:()=>yi,logic_operation:()=>vi,logic_tobool:()=>Xi,logic_true_or_false:()=>bi});var a={};t.r(a),t.d(a,{sdcard_mount:()=>un,sdcard_use_spi_init:()=>an,storage_can_write_ornot:()=>qi,storage_change_dir:()=>_n,storage_close_file:()=>Ji,storage_delete_file:()=>zi,storage_file_seek:()=>en,storage_file_tell:()=>tn,storage_file_write:()=>Hi,storage_fileopen:()=>xi,storage_fileopen_new:()=>Gi,storage_fileopen_new_encoding:()=>wi,storage_get_a_line:()=>ji,storage_get_contents:()=>Ki,storage_get_contents_without_para:()=>Wi,storage_get_current_dir:()=>nn,storage_get_file_size:()=>$i,storage_get_filename:()=>Qi,storage_is_file:()=>pn,storage_list_all_files:()=>Zi,storage_make_dir:()=>sn,storage_open_file_with_os:()=>Bi,storage_rename:()=>on});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>In,procedures_callreturn:()=>hn,procedures_defnoreturn:()=>ln,procedures_defreturn:()=>rn,procedures_ifreturn:()=>On,procedures_mutatorarg:()=>dn,procedures_mutatorcontainer:()=>Tn,procedures_return:()=>En});var l={};t.r(l),t.d(l,{tuple_change_to:()=>Pn,tuple_create_with:()=>cn,tuple_create_with_container:()=>Rn,tuple_create_with_item:()=>mn,tuple_create_with_noreturn:()=>Vn,tuple_create_with_text2:()=>An,tuple_create_with_text_return:()=>gn,tuple_del:()=>Sn,tuple_find:()=>fn,tuple_getIndex:()=>Ln,tuple_getSublist:()=>vn,tuple_get_random_item:()=>yn,tuple_get_sublist:()=>Yn,tuple_join:()=>Dn,tuple_length:()=>Cn,tuple_max:()=>Nn,tuple_totuple:()=>bn,tuple_trig:()=>Fn});var r={};t.r(r),t.d(r,{set_add_discard:()=>Kn,set_clear:()=>wn,set_create_with:()=>Un,set_create_with_container:()=>Xn,set_create_with_item:()=>Bn,set_create_with_text_return:()=>Qn,set_length:()=>xn,set_operate:()=>Hn,set_operate_update:()=>Wn,set_pop:()=>Gn,set_sub:()=>jn,set_toset:()=>Jn,set_update:()=>qn});var T={};t.r(T),t.d(T,{html_content:()=>es,html_content_more:()=>is,html_document:()=>zn,html_form:()=>ss,html_head_body:()=>ts,html_style:()=>ns,html_style_color:()=>_s,html_style_content:()=>os,html_text:()=>ps,html_title:()=>$n});var d={};t.r(d),t.d(d,{attribute_access:()=>ms,function_call:()=>Ms,function_call_container:()=>cs,function_call_item:()=>Rs,raw_block:()=>ls,raw_empty:()=>Ts,raw_expression:()=>rs,raw_table:()=>us,text_comment:()=>ds,text_print_multiple:()=>hs,text_print_multiple_container:()=>Os,text_print_multiple_item:()=>Es,type_check:()=>Is});var I={};t.r(I),t.d(I,{array_create:()=>Us,array_toarray:()=>zs,dataframe_create:()=>Cs,dataframe_create_from_index:()=>Ds,dataframe_create_from_one_index:()=>Ss,dataframe_get:()=>Qs,numpy_trig:()=>Ks,pandas_readcsv:()=>qs,pl_axes:()=>Ys,pl_bar:()=>Gs,pl_hist:()=>Hs,pl_label:()=>ks,pl_legend:()=>ys,pl_pie:()=>ws,pl_plot:()=>vs,pl_plot_bar:()=>Xs,pl_plot_easy:()=>Fs,pl_plot_scatter:()=>Bs,pl_plot_xy:()=>xs,pl_savefig:()=>Js,pl_show:()=>Vs,pl_subplot:()=>js,pl_text:()=>Zs,pl_ticks:()=>Ws,pl_title:()=>bs,plot_axes:()=>io,plot_bar:()=>uo,plot_hist:()=>ro,plot_label:()=>oo,plot_legend:()=>no,plot_pie:()=>lo,plot_plot:()=>to,plot_plot_bar:()=>_o,plot_plot_easy:()=>$s,plot_plot_scatter:()=>po,plot_plot_xy:()=>ao,plot_savefig:()=>ho,plot_show:()=>eo,plot_subplot:()=>Io,plot_text:()=>Oo,plot_ticks:()=>To,plot_title:()=>so,series_create:()=>gs,series_create_from_index:()=>Ls,series_create_from_text:()=>Ns,series_get_num:()=>fs,series_index_value:()=>Ps});var h={};t.r(h),t.d(h,{inout_input:()=>Mo,inout_print:()=>co,inout_print_container:()=>Lo,inout_print_end:()=>mo,inout_print_inline:()=>Ro,inout_print_item:()=>Co,inout_print_many:()=>go,inout_type_input:()=>Ao});var O={};t.r(O),t.d(O,{Panic_with_status_code:()=>fo,base_delay:()=>Do,controls_millis:()=>No,controls_mstimer2:()=>vo,controls_mstimer2_start:()=>Vo,controls_mstimer2_stop:()=>Yo,reset:()=>Fo,time_localtime:()=>Po,time_sleep:()=>yo});var E={};t.r(E),t.d(E,{turtle_bgcolor:()=>i_,turtle_bgcolor_hex:()=>r_,turtle_bgcolor_hex_new:()=>__,turtle_circle:()=>$o,turtle_circle_advanced:()=>t_,turtle_clear:()=>jo,turtle_clone:()=>o_,turtle_color:()=>u_,turtle_color_hex:()=>l_,turtle_color_seclet:()=>m_,turtle_create:()=>ko,turtle_done:()=>Uo,turtle_exitonclick:()=>Xo,turtle_fill:()=>Qo,turtle_fillcolor:()=>s_,turtle_fillcolor_hex:()=>d_,turtle_fillcolor_hex_new:()=>a_,turtle_getscreen:()=>A_,turtle_goto:()=>Ho,turtle_listen:()=>S_,turtle_move:()=>Bo,turtle_numinput:()=>O_,turtle_onclick:()=>L_,turtle_onkey:()=>g_,turtle_ontimer:()=>C_,turtle_pencolor:()=>n_,turtle_pencolor_hex:()=>T_,turtle_pencolor_hex_new:()=>p_,turtle_penup:()=>qo,turtle_pos_shape:()=>Ko,turtle_rotate:()=>xo,turtle_screen_delay:()=>wo,turtle_screen_savefig:()=>D_,turtle_setheading:()=>Go,turtle_setxy:()=>Wo,turtle_shape:()=>I_,turtle_shapesize:()=>h_,turtle_size:()=>Zo,turtle_size_speed:()=>Jo,turtle_speed:()=>zo,turtle_textinput:()=>E_,turtle_visible:()=>e_,turtle_write:()=>M_,turtle_write_format:()=>c_,turtle_write_format_skulpt:()=>R_});var M={};t.r(M),t.d(M,{Turn:()=>k_,addOil:()=>$_,game_get_character_img:()=>W_,game_get_local_img:()=>x_,game_get_path_img:()=>w_,game_init:()=>y_,get_actor_point:()=>j_,initSettedMap_1:()=>N_,initSettedMap_2:()=>P_,initSettedMap_3:()=>f_,initSettedMap_4:()=>F_,initSettedMap_5:()=>v_,initSettedMap_6:()=>V_,initSettedMap_7:()=>Y_,initialize:()=>K_,isBarrier:()=>q_,isCirculationRight:()=>tp,isDone:()=>U_,isLightGreen:()=>Z_,isLightRed:()=>z_,isOilFull:()=>J_,isPath:()=>X_,move_direction_steps:()=>b_,place_item:()=>H_,randomOil:()=>Q_,set_map:()=>B_,set_pathtype:()=>G_});var c={};t.r(c),t.d(c,{controls_type:()=>op,controls_typeLists:()=>_p,variables_change:()=>np,variables_get:()=>ep,variables_global:()=>sp,variables_set:()=>ip});var R={};t.r(R),t.d(R,{Panic_with_status_code:()=>Op,base_setup:()=>ap,controls_delay:()=>hp,controls_flow_statements:()=>Ip,controls_for:()=>rp,controls_forEach:()=>mp,controls_for_range:()=>Tp,controls_if:()=>up,controls_interrupts:()=>cp,controls_lambda:()=>gp,controls_main:()=>pp,controls_millis:()=>Ep,controls_nointerrupts:()=>Rp,controls_pass:()=>Cp,controls_range:()=>Ap,controls_repeat:()=>Pp,controls_repeat_ext:()=>Np,controls_thread:()=>Sp,controls_try_finally:()=>lp,controls_whileUntil:()=>dp,do_while:()=>Dp,reset:()=>Mp,time_sleep:()=>Lp});var m={};t.r(m),t.d(m,{base_map:()=>Jp,math_arithmetic:()=>Yp,math_bit:()=>Vp,math_constant:()=>Fp,math_constant_mp:()=>vp,math_constrain:()=>wp,math_dec:()=>Up,math_indexer_number:()=>Kp,math_map:()=>Gp,math_max_min:()=>Bp,math_number:()=>fp,math_number_base_conversion:()=>Hp,math_random:()=>xp,math_random_seed:()=>Wp,math_round:()=>jp,math_selfcalcu:()=>yp,math_single:()=>bp,math_to_int:()=>Xp,math_trig:()=>kp,text_to_number:()=>qp,text_to_number_skulpt:()=>Qp});var A={};t.r(A),t.d(A,{ascii_to_char:()=>ea,char_to_ascii:()=>ia,number_to_text:()=>na,os_system:()=>Sa,text:()=>Zp,text_capital:()=>Ta,text_center:()=>da,text_char:()=>$p,text_char_at:()=>_a,text_char_at2:()=>oa,text_char_at3:()=>ga,text_compareTo:()=>Aa,text_compare_to:()=>ua,text_encode:()=>La,text_equals_starts_ends:()=>aa,text_eval:()=>Ca,text_find:()=>Ia,text_format:()=>ca,text_format_noreturn:()=>Ra,text_join:()=>ta,text_join_seq:()=>ha,text_length:()=>sa,text_random_char:()=>pa,text_replace:()=>Oa,text_split:()=>Ea,text_strip:()=>Ma,text_substring:()=>ra,text_substring2:()=>la,text_substring3:()=>ma,text_textarea:()=>zp});var g={};t.r(g),t.d(g,{list_many_input:()=>Ka,list_tolist:()=>su,list_tolist2:()=>ou,list_trig:()=>wa,lists_2d_get_col_row_data:()=>Pa,lists_2d_get_data_with_col_row:()=>Na,lists_append_extend:()=>Ya,lists_change_to:()=>Wa,lists_change_to_general:()=>qa,lists_clear:()=>Xa,lists_create_with:()=>fa,lists_create_with2:()=>Ja,lists_create_with_noreturn:()=>ja,lists_create_with_text:()=>Fa,lists_create_with_text2:()=>Za,lists_del_general:()=>Qa,lists_find:()=>Ba,lists_getIndex3:()=>za,lists_getSublist3:()=>$a,lists_get_index:()=>va,lists_get_random_item:()=>ya,lists_get_random_sublist:()=>ba,lists_get_sublist:()=>Da,lists_insert_value:()=>ka,lists_insert_value2:()=>eu,lists_pop:()=>Ga,lists_remove_at:()=>xa,lists_remove_at2:()=>iu,lists_reverse:()=>Ua,lists_setIndex3:()=>tu,lists_set_index:()=>Va,lists_sort:()=>Ha,lists_zip:()=>nu});var L={};t.r(L),t.d(L,{dicts_add_change_del:()=>Mu,dicts_add_or_change:()=>lu,dicts_clear:()=>du,dicts_create_with:()=>_u,dicts_create_with_noreturn:()=>mu,dicts_deldict:()=>Eu,dicts_delete:()=>ru,dicts_get:()=>au,dicts_get_default:()=>uu,dicts_items:()=>Iu,dicts_keys:()=>pu,dicts_length:()=>Ou,dicts_pop:()=>cu,dicts_setdefault:()=>Ru,dicts_to_json:()=>gu,dicts_todict:()=>Au,dicts_update:()=>Tu,dicts_values:()=>hu,json_to_dicts:()=>Lu});var C={};t.r(C),t.d(C,{logic_boolean:()=>Pu,logic_compare:()=>Cu,logic_compare_continous:()=>Su,logic_is:()=>Vu,logic_is_in:()=>vu,logic_negate:()=>Nu,logic_null:()=>fu,logic_operation:()=>Du,logic_tobool:()=>Yu,logic_true_or_false:()=>Fu});var S={};t.r(S),t.d(S,{sdcard_mount:()=>nl,sdcard_use_spi_init:()=>il,storage_can_write_ornot:()=>wu,storage_change_dir:()=>Zu,storage_close_file:()=>Wu,storage_delete_file:()=>ju,storage_file_seek:()=>Ju,storage_file_tell:()=>Qu,storage_file_write:()=>Xu,storage_fileopen:()=>bu,storage_fileopen_new:()=>ku,storage_fileopen_new_encoding:()=>Uu,storage_get_a_line:()=>Gu,storage_get_contents:()=>xu,storage_get_contents_without_para:()=>Bu,storage_get_current_dir:()=>zu,storage_get_file_size:()=>qu,storage_get_filename:()=>Hu,storage_is_file:()=>el,storage_list_all_files:()=>Ku,storage_make_dir:()=>$u,storage_open_file_with_os:()=>yu,storage_rename:()=>tl});var D={};t.r(D),t.d(D,{procedures_callnoreturn:()=>pl,procedures_callreturn:()=>_l,procedures_defnoreturn:()=>ol,procedures_defreturn:()=>sl,procedures_ifreturn:()=>al,procedures_return:()=>ul});var N={};t.r(N),t.d(N,{tuple_change_to:()=>Ml,tuple_create_with:()=>ll,tuple_create_with_noreturn:()=>Al,tuple_create_with_text2:()=>rl,tuple_create_with_text_return:()=>Tl,tuple_del:()=>hl,tuple_find:()=>cl,tuple_getIndex:()=>dl,tuple_getSublist:()=>ml,tuple_get_random_item:()=>Ll,tuple_get_sublist:()=>gl,tuple_join:()=>Ol,tuple_length:()=>Il,tuple_max:()=>El,tuple_totuple:()=>Cl,tuple_trig:()=>Rl});var P={};t.r(P),t.d(P,{set_add_discard:()=>vl,set_clear:()=>Pl,set_create_with:()=>Sl,set_create_with_text_return:()=>yl,set_length:()=>Dl,set_operate:()=>fl,set_operate_update:()=>Fl,set_pop:()=>Nl,set_sub:()=>Vl,set_toset:()=>bl,set_update:()=>Yl});var f={};t.r(f),t.d(f,{html_content:()=>Bl,html_content_more:()=>xl,html_document:()=>kl,html_form:()=>wl,html_head_body:()=>Xl,html_style:()=>Gl,html_style_content:()=>Hl,html_text:()=>Wl,html_title:()=>Ul});var F={};t.r(F),t.d(F,{attribute_access:()=>zl,function_call:()=>Zl,raw_block:()=>Kl,raw_empty:()=>ql,raw_expression:()=>jl,raw_table:()=>Ql,type_check:()=>Jl});var v={};t.r(v),t.d(v,{array_create:()=>Ir,array_toarray:()=>Nr,dataframe_create:()=>er,dataframe_create_from_index:()=>ir,dataframe_create_from_one_index:()=>nr,dataframe_get:()=>Cr,numpy_trig:()=>Ar,pandas_readcsv:()=>Lr,pl_axes:()=>ar,pl_bar:()=>Mr,pl_hist:()=>Rr,pl_label:()=>dr,pl_legend:()=>rr,pl_pie:()=>cr,pl_plot:()=>lr,pl_plot_bar:()=>hr,pl_plot_easy:()=>ur,pl_plot_scatter:()=>Or,pl_plot_xy:()=>Er,pl_savefig:()=>Sr,pl_show:()=>pr,pl_subplot:()=>gr,pl_text:()=>Dr,pl_ticks:()=>mr,pl_title:()=>Tr,plot_axes:()=>fr,plot_bar:()=>Xr,plot_hist:()=>xr,plot_label:()=>yr,plot_legend:()=>Vr,plot_pie:()=>Br,plot_plot:()=>vr,plot_plot_bar:()=>br,plot_plot_easy:()=>Fr,plot_plot_scatter:()=>kr,plot_plot_xy:()=>Ur,plot_savefig:()=>Hr,plot_show:()=>Pr,plot_subplot:()=>wr,plot_text:()=>Wr,plot_ticks:()=>Gr,plot_title:()=>Yr,series_create:()=>$l,series_create_from_index:()=>tr,series_create_from_text:()=>sr,series_get_num:()=>_r,series_index_value:()=>or});var V={};t.r(V),t.d(V,{inout_input:()=>Kr,inout_print:()=>jr,inout_print_end:()=>Qr,inout_print_inline:()=>qr,inout_print_many:()=>Zr,inout_type_input:()=>Jr});var Y={};t.r(Y),t.d(Y,{controls_end_program:()=>$r,controls_millis:()=>zr,time_localtime:()=>tT});var y={};t.r(y),t.d(y,{turtle_bgcolor:()=>RT,turtle_bgcolor_hex:()=>LT,turtle_bgcolor_hex_new:()=>DT,turtle_circle:()=>OT,turtle_circle_advanced:()=>MT,turtle_clear:()=>lT,turtle_clone:()=>gT,turtle_color:()=>FT,turtle_color_hex:()=>fT,turtle_color_seclet:()=>XT,turtle_create:()=>eT,turtle_done:()=>iT,turtle_exitonclick:()=>nT,turtle_fill:()=>TT,turtle_fillcolor:()=>AT,turtle_fillcolor_hex:()=>ST,turtle_fillcolor_hex_new:()=>PT,turtle_getscreen:()=>BT,turtle_goto:()=>aT,turtle_listen:()=>HT,turtle_move:()=>sT,turtle_numinput:()=>yT,turtle_onclick:()=>GT,turtle_onkey:()=>xT,turtle_ontimer:()=>wT,turtle_pencolor:()=>mT,turtle_pencolor_hex:()=>CT,turtle_pencolor_hex_new:()=>NT,turtle_penup:()=>rT,turtle_pos_shape:()=>uT,turtle_rotate:()=>oT,turtle_screen_delay:()=>pT,turtle_screen_savefig:()=>WT,turtle_setheading:()=>_T,turtle_setxy:()=>ET,turtle_shape:()=>vT,turtle_shapesize:()=>VT,turtle_size:()=>IT,turtle_size_speed:()=>dT,turtle_speed:()=>hT,turtle_textinput:()=>YT,turtle_visible:()=>cT,turtle_write:()=>bT,turtle_write_format:()=>kT,turtle_write_format_skulpt:()=>UT});var b={};t.r(b),t.d(b,{Turn:()=>ed,addOil:()=>Ed,game_get_character_img:()=>pd,game_get_local_img:()=>od,game_get_path_img:()=>ld,game_init:()=>KT,get_actor_point:()=>sd,initSettedMap_1:()=>qT,initSettedMap_2:()=>QT,initSettedMap_3:()=>JT,initSettedMap_4:()=>ZT,initSettedMap_5:()=>zT,initSettedMap_6:()=>$T,initSettedMap_7:()=>td,initialize:()=>ad,isBarrier:()=>Td,isCirculationRight:()=>Md,isDone:()=>id,isLightGreen:()=>hd,isLightRed:()=>Od,isOilFull:()=>Id,isPath:()=>nd,move_direction_steps:()=>jT,place_item:()=>ud,randomOil:()=>dd,set_map:()=>_d,set_pathtype:()=>rd});const k=Blockly,U=Mixly,X={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},B=X,x={};x.NAME_TYPE=k.PROCEDURE_CATEGORY_NAME,x.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Z,controls_typeLists:()=>z,variables_change:()=>Q,variables_get:()=>j,variables_global:()=>J,variables_set:()=>q});var i={};t.r(i),t.d(i,{base_setup:()=>et,controls_delay:()=>it,controls_end_program:()=>nt,controls_except:()=>Ot,controls_finally:()=>Et,controls_flow_statements:()=>ut,controls_for:()=>lt,controls_forEach:()=>_t,controls_for_range:()=>rt,controls_if:()=>st,controls_if_else:()=>It,controls_if_elseif:()=>dt,controls_if_if:()=>Tt,controls_lambda:()=>ct,controls_main:()=>tt,controls_pass:()=>Rt,controls_range:()=>ot,controls_repeat_ext:()=>Mt,controls_thread:()=>mt,controls_try:()=>ht,controls_try_finally:()=>at,controls_whileUntil:()=>pt,do_while:()=>gt,garbage_collection:()=>At,get_mem_alloc:()=>Lt,get_mem_free:()=>Ct});var n={};t.r(n),t.d(n,{base_map:()=>Kt,math_arithmetic:()=>ft,math_bit:()=>vt,math_constant:()=>Nt,math_constant_mp:()=>Pt,math_constrain:()=>Xt,math_dec:()=>Yt,math_indexer_number:()=>xt,math_map:()=>Bt,math_max_min:()=>bt,math_number:()=>Dt,math_number_base_conversion:()=>kt,math_random:()=>Ut,math_random_seed:()=>Gt,math_round:()=>wt,math_selfcalcu:()=>Ft,math_to_int:()=>yt,math_trig:()=>Vt,text_to_number:()=>Ht,text_to_number_skulpt:()=>Wt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>zt,char_to_ascii:()=>$t,number_to_text:()=>te,os_system:()=>Ce,text:()=>qt,text_capital:()=>ue,text_center:()=>le,text_char:()=>Jt,text_char_at:()=>ne,text_char_at2:()=>ie,text_char_at3:()=>me,text_compareTo:()=>Re,text_compare_to:()=>ae,text_create_with_container:()=>Ee,text_create_with_item:()=>Me,text_encode:()=>Ae,text_equals_starts_ends:()=>pe,text_eval:()=>Le,text_find:()=>re,text_format:()=>Oe,text_format_noreturn:()=>ge,text_join:()=>Zt,text_join_seq:()=>Te,text_length:()=>ee,text_random_char:()=>se,text_replace:()=>de,text_split:()=>Ie,text_strip:()=>he,text_substring:()=>_e,text_substring2:()=>oe,text_substring3:()=>ce,text_textarea:()=>Qt});var o={};t.r(o),t.d(o,{list_many_input:()=>qe,list_tolist:()=>ei,list_tolist2:()=>ui,list_trig:()=>We,lists_2d_get_col_row_data:()=>fe,lists_2d_get_data_with_col_row:()=>Pe,lists_append_extend:()=>be,lists_change_to:()=>je,lists_change_to_general:()=>Je,lists_clear:()=>xe,lists_create_with:()=>Fe,lists_create_with2:()=>ii,lists_create_with_container:()=>Ve,lists_create_with_item:()=>Ye,lists_create_with_noreturn:()=>Qe,lists_create_with_text:()=>ve,lists_create_with_text2:()=>ni,lists_del_general:()=>Ze,lists_find:()=>He,lists_getIndex3:()=>si,lists_getSublist3:()=>oi,lists_get_index:()=>De,lists_get_random_item:()=>ke,lists_get_random_sublist:()=>Ue,lists_get_sublist:()=>Ne,lists_insert_value:()=>Xe,lists_insert_value2:()=>pi,lists_pop:()=>we,lists_remove_at:()=>Ge,lists_remove_at2:()=>ai,lists_reverse:()=>Be,lists_setIndex3:()=>_i,lists_set_index:()=>ye,lists_sort:()=>Ke,lists_zip:()=>ze,lists_zip_container:()=>$e,lists_zip_item:()=>ti});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Ci,dicts_add_or_change:()=>Ei,dicts_clear:()=>Ri,dicts_create_with:()=>ri,dicts_create_with_container:()=>Ti,dicts_create_with_item:()=>di,dicts_create_with_noreturn:()=>Ni,dicts_deldict:()=>Li,dicts_delete:()=>Mi,dicts_get:()=>hi,dicts_get_default:()=>Oi,dicts_items:()=>mi,dicts_keys:()=>Ii,dicts_length:()=>Ai,dicts_pop:()=>Si,dicts_setdefault:()=>Di,dicts_to_json:()=>fi,dicts_todict:()=>Pi,dicts_update:()=>ci,dicts_values:()=>gi,json_to_dicts:()=>Fi});var p={};t.r(p),t.d(p,{logic_boolean:()=>ki,logic_compare:()=>Vi,logic_compare_continous:()=>Yi,logic_is:()=>xi,logic_is_in:()=>Bi,logic_negate:()=>bi,logic_null:()=>Ui,logic_operation:()=>yi,logic_tobool:()=>Gi,logic_true_or_false:()=>Xi});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Tn,sdcard_use_spi_init:()=>rn,storage_can_write_ornot:()=>Zi,storage_change_dir:()=>un,storage_close_file:()=>$i,storage_delete_file:()=>en,storage_file_seek:()=>on,storage_file_tell:()=>sn,storage_file_write:()=>ji,storage_fileopen:()=>Hi,storage_fileopen_new:()=>Wi,storage_fileopen_new_encoding:()=>Ki,storage_get_a_line:()=>Ji,storage_get_contents:()=>Qi,storage_get_contents_without_para:()=>qi,storage_get_current_dir:()=>_n,storage_get_file_size:()=>nn,storage_get_filename:()=>zi,storage_is_file:()=>ln,storage_list_all_files:()=>tn,storage_make_dir:()=>pn,storage_open_file_with_os:()=>wi,storage_rename:()=>an});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>En,procedures_callreturn:()=>Mn,procedures_defnoreturn:()=>dn,procedures_defreturn:()=>In,procedures_ifreturn:()=>cn,procedures_mutatorarg:()=>On,procedures_mutatorcontainer:()=>hn,procedures_return:()=>Rn});var l={};t.r(l),t.d(l,{tuple_change_to:()=>vn,tuple_create_with:()=>gn,tuple_create_with_container:()=>An,tuple_create_with_item:()=>Ln,tuple_create_with_noreturn:()=>bn,tuple_create_with_text2:()=>Cn,tuple_create_with_text_return:()=>Sn,tuple_del:()=>Pn,tuple_find:()=>Vn,tuple_getIndex:()=>Dn,tuple_getSublist:()=>yn,tuple_get_random_item:()=>Un,tuple_get_sublist:()=>kn,tuple_join:()=>fn,tuple_length:()=>Nn,tuple_max:()=>Fn,tuple_totuple:()=>Xn,tuple_trig:()=>Yn});var r={};t.r(r),t.d(r,{set_add_discard:()=>Qn,set_clear:()=>Kn,set_create_with:()=>xn,set_create_with_container:()=>Gn,set_create_with_item:()=>wn,set_create_with_text_return:()=>zn,set_length:()=>Hn,set_operate:()=>jn,set_operate_update:()=>qn,set_pop:()=>Wn,set_sub:()=>Jn,set_toset:()=>$n,set_update:()=>Zn});var T={};t.r(T),t.d(T,{html_content:()=>ss,html_content_more:()=>os,html_document:()=>es,html_form:()=>ps,html_head_body:()=>ns,html_style:()=>_s,html_style_color:()=>us,html_style_content:()=>as,html_text:()=>ls,html_title:()=>is});var d={};t.r(d),t.d(d,{attribute_access:()=>Ls,function_call:()=>ms,function_call_container:()=>gs,function_call_item:()=>As,raw_block:()=>ds,raw_empty:()=>hs,raw_expression:()=>Is,raw_table:()=>Ts,text_comment:()=>Os,text_print_multiple:()=>Ms,text_print_multiple_container:()=>cs,text_print_multiple_item:()=>Rs,type_check:()=>Es});var I={};t.r(I),t.d(I,{array_create:()=>xs,array_toarray:()=>eo,dataframe_create:()=>Ns,dataframe_create_from_index:()=>fs,dataframe_create_from_one_index:()=>Ps,dataframe_get:()=>zs,numpy_trig:()=>Qs,pandas_readcsv:()=>Zs,pl_axes:()=>ks,pl_bar:()=>Ws,pl_hist:()=>js,pl_label:()=>Bs,pl_legend:()=>Us,pl_pie:()=>Ks,pl_plot:()=>ys,pl_plot_bar:()=>Gs,pl_plot_easy:()=>Ys,pl_plot_scatter:()=>ws,pl_plot_xy:()=>Hs,pl_savefig:()=>$s,pl_show:()=>bs,pl_subplot:()=>Js,pl_text:()=>to,pl_ticks:()=>qs,pl_title:()=>Xs,plot_axes:()=>oo,plot_bar:()=>To,plot_hist:()=>ho,plot_label:()=>ao,plot_legend:()=>_o,plot_pie:()=>Io,plot_plot:()=>no,plot_plot_bar:()=>uo,plot_plot_easy:()=>io,plot_plot_scatter:()=>lo,plot_plot_xy:()=>ro,plot_savefig:()=>Mo,plot_show:()=>so,plot_subplot:()=>Eo,plot_text:()=>co,plot_ticks:()=>Oo,plot_title:()=>po,series_create:()=>Ss,series_create_from_index:()=>Ds,series_create_from_text:()=>Fs,series_get_num:()=>Vs,series_index_value:()=>vs});var h={};t.r(h),t.d(h,{inout_input:()=>mo,inout_print:()=>go,inout_print_container:()=>Do,inout_print_end:()=>Lo,inout_print_inline:()=>Ao,inout_print_item:()=>No,inout_print_many:()=>So,inout_type_input:()=>Co});var O={};t.r(O),t.d(O,{Panic_with_status_code:()=>Vo,base_delay:()=>fo,controls_millis:()=>Fo,controls_mstimer2:()=>yo,controls_mstimer2_start:()=>bo,controls_mstimer2_stop:()=>ko,reset:()=>Yo,time_localtime:()=>vo,time_sleep:()=>Uo});var E={};t.r(E),t.d(E,{turtle_bgcolor:()=>o_,turtle_bgcolor_hex:()=>I_,turtle_bgcolor_hex_new:()=>u_,turtle_circle:()=>i_,turtle_circle_advanced:()=>n_,turtle_clear:()=>Jo,turtle_clone:()=>a_,turtle_color:()=>T_,turtle_color_hex:()=>d_,turtle_color_seclet:()=>L_,turtle_create:()=>Bo,turtle_done:()=>xo,turtle_exitonclick:()=>Go,turtle_fill:()=>zo,turtle_fillcolor:()=>p_,turtle_fillcolor_hex:()=>O_,turtle_fillcolor_hex_new:()=>r_,turtle_getscreen:()=>C_,turtle_goto:()=>jo,turtle_listen:()=>P_,turtle_move:()=>wo,turtle_numinput:()=>c_,turtle_onclick:()=>D_,turtle_onkey:()=>S_,turtle_ontimer:()=>N_,turtle_pencolor:()=>__,turtle_pencolor_hex:()=>h_,turtle_pencolor_hex_new:()=>l_,turtle_penup:()=>Zo,turtle_pos_shape:()=>Qo,turtle_rotate:()=>Ho,turtle_screen_delay:()=>Ko,turtle_screen_savefig:()=>f_,turtle_setheading:()=>Wo,turtle_setxy:()=>qo,turtle_shape:()=>E_,turtle_shapesize:()=>M_,turtle_size:()=>t_,turtle_size_speed:()=>$o,turtle_speed:()=>e_,turtle_textinput:()=>R_,turtle_visible:()=>s_,turtle_write:()=>m_,turtle_write_format:()=>g_,turtle_write_format_skulpt:()=>A_});var M={};t.r(M),t.d(M,{Turn:()=>B_,addOil:()=>ip,game_get_character_img:()=>q_,game_get_local_img:()=>H_,game_get_path_img:()=>K_,game_init:()=>U_,get_actor_point:()=>J_,initSettedMap_1:()=>F_,initSettedMap_2:()=>v_,initSettedMap_3:()=>V_,initSettedMap_4:()=>Y_,initSettedMap_5:()=>y_,initSettedMap_6:()=>b_,initSettedMap_7:()=>k_,initialize:()=>Q_,isBarrier:()=>Z_,isCirculationRight:()=>np,isDone:()=>x_,isLightGreen:()=>tp,isLightRed:()=>ep,isOilFull:()=>$_,isPath:()=>G_,move_direction_steps:()=>X_,place_item:()=>j_,randomOil:()=>z_,set_map:()=>w_,set_pathtype:()=>W_});var c={};t.r(c),t.d(c,{controls_type:()=>ap,controls_typeLists:()=>up,variables_change:()=>_p,variables_get:()=>sp,variables_global:()=>pp,variables_set:()=>op});var R={};t.r(R),t.d(R,{Panic_with_status_code:()=>cp,base_setup:()=>rp,controls_delay:()=>Mp,controls_flow_statements:()=>Ep,controls_for:()=>Ip,controls_forEach:()=>Lp,controls_for_range:()=>hp,controls_if:()=>Tp,controls_interrupts:()=>gp,controls_lambda:()=>Sp,controls_main:()=>lp,controls_millis:()=>Rp,controls_nointerrupts:()=>Ap,controls_pass:()=>Np,controls_range:()=>Cp,controls_repeat:()=>yp,controls_repeat_ext:()=>Fp,controls_thread:()=>Pp,controls_try_finally:()=>dp,controls_whileUntil:()=>Op,do_while:()=>fp,garbage_collection:()=>vp,get_mem_alloc:()=>Vp,get_mem_free:()=>Yp,reset:()=>mp,time_sleep:()=>Dp});var m={};t.r(m),t.d(m,{base_map:()=>ia,math_arithmetic:()=>Bp,math_bit:()=>Xp,math_constant:()=>kp,math_constant_mp:()=>Up,math_constrain:()=>Qp,math_dec:()=>Hp,math_indexer_number:()=>zp,math_map:()=>qp,math_max_min:()=>Kp,math_number:()=>bp,math_number_base_conversion:()=>Jp,math_random:()=>jp,math_random_seed:()=>Zp,math_round:()=>$p,math_selfcalcu:()=>xp,math_single:()=>Gp,math_to_int:()=>Wp,math_trig:()=>wp,text_to_number:()=>ta,text_to_number_skulpt:()=>ea});var g={};t.r(g),t.d(g,{ascii_to_char:()=>pa,char_to_ascii:()=>aa,number_to_text:()=>ua,os_system:()=>va,text:()=>na,text_capital:()=>Ma,text_center:()=>ca,text_char:()=>oa,text_char_at:()=>Ta,text_char_at2:()=>ra,text_char_at3:()=>Pa,text_compareTo:()=>Na,text_compare_to:()=>ha,text_encode:()=>fa,text_equals_starts_ends:()=>Ia,text_eval:()=>Fa,text_find:()=>Ra,text_format:()=>Ca,text_format_noreturn:()=>Sa,text_join:()=>_a,text_join_seq:()=>ma,text_length:()=>la,text_random_char:()=>da,text_replace:()=>ga,text_split:()=>Aa,text_strip:()=>La,text_substring:()=>Ea,text_substring2:()=>Oa,text_substring3:()=>Da,text_textarea:()=>sa});var A={};t.r(A),t.d(A,{list_many_input:()=>za,list_tolist:()=>lu,list_tolist2:()=>ru,list_trig:()=>Qa,lists_2d_get_col_row_data:()=>ya,lists_2d_get_data_with_col_row:()=>Ya,lists_append_extend:()=>Ba,lists_change_to:()=>Za,lists_change_to_general:()=>tu,lists_clear:()=>Wa,lists_create_with:()=>ba,lists_create_with2:()=>iu,lists_create_with_noreturn:()=>$a,lists_create_with_text:()=>ka,lists_create_with_text2:()=>nu,lists_del_general:()=>eu,lists_find:()=>Ka,lists_getIndex3:()=>su,lists_getSublist3:()=>ou,lists_get_index:()=>Ua,lists_get_random_item:()=>xa,lists_get_random_sublist:()=>Ga,lists_get_sublist:()=>Va,lists_insert_value:()=>wa,lists_insert_value2:()=>pu,lists_pop:()=>qa,lists_remove_at:()=>ja,lists_remove_at2:()=>au,lists_reverse:()=>Ha,lists_setIndex3:()=>_u,lists_set_index:()=>Xa,lists_sort:()=>Ja,lists_zip:()=>uu});var L={};t.r(L),t.d(L,{dicts_add_change_del:()=>Lu,dicts_add_or_change:()=>Ou,dicts_clear:()=>cu,dicts_create_with:()=>Tu,dicts_create_with_noreturn:()=>Du,dicts_deldict:()=>Au,dicts_delete:()=>Eu,dicts_get:()=>Iu,dicts_get_default:()=>hu,dicts_items:()=>Ru,dicts_keys:()=>du,dicts_length:()=>gu,dicts_pop:()=>Cu,dicts_setdefault:()=>Su,dicts_to_json:()=>Pu,dicts_todict:()=>Nu,dicts_update:()=>Mu,dicts_values:()=>mu,json_to_dicts:()=>fu});var C={};t.r(C),t.d(C,{logic_boolean:()=>yu,logic_compare:()=>Fu,logic_compare_continous:()=>vu,logic_is:()=>Xu,logic_is_in:()=>Uu,logic_negate:()=>Yu,logic_null:()=>bu,logic_operation:()=>Vu,logic_tobool:()=>Bu,logic_true_or_false:()=>ku});var S={};t.r(S),t.d(S,{sdcard_mount:()=>ul,sdcard_use_spi_init:()=>al,storage_can_write_ornot:()=>Qu,storage_change_dir:()=>nl,storage_close_file:()=>Zu,storage_delete_file:()=>$u,storage_file_seek:()=>il,storage_file_tell:()=>el,storage_file_write:()=>Wu,storage_fileopen:()=>Gu,storage_fileopen_new:()=>wu,storage_fileopen_new_encoding:()=>Hu,storage_get_a_line:()=>qu,storage_get_contents:()=>ju,storage_get_contents_without_para:()=>Ku,storage_get_current_dir:()=>sl,storage_get_file_size:()=>tl,storage_get_filename:()=>Ju,storage_is_file:()=>pl,storage_list_all_files:()=>zu,storage_make_dir:()=>ol,storage_open_file_with_os:()=>xu,storage_rename:()=>_l});var D={};t.r(D),t.d(D,{procedures_callnoreturn:()=>dl,procedures_callreturn:()=>Tl,procedures_defnoreturn:()=>rl,procedures_defreturn:()=>ll,procedures_ifreturn:()=>Il,procedures_return:()=>hl});var N={};t.r(N),t.d(N,{tuple_change_to:()=>Ll,tuple_create_with:()=>Ol,tuple_create_with_noreturn:()=>Nl,tuple_create_with_text2:()=>El,tuple_create_with_text_return:()=>Ml,tuple_del:()=>ml,tuple_find:()=>Cl,tuple_getIndex:()=>cl,tuple_getSublist:()=>Dl,tuple_get_random_item:()=>fl,tuple_get_sublist:()=>Pl,tuple_join:()=>gl,tuple_length:()=>Rl,tuple_max:()=>Al,tuple_totuple:()=>Fl,tuple_trig:()=>Sl});var P={};t.r(P),t.d(P,{set_add_discard:()=>Ul,set_clear:()=>yl,set_create_with:()=>vl,set_create_with_text_return:()=>xl,set_length:()=>Vl,set_operate:()=>bl,set_operate_update:()=>kl,set_pop:()=>Yl,set_sub:()=>Xl,set_toset:()=>Gl,set_update:()=>Bl});var f={};t.r(f),t.d(f,{html_content:()=>Kl,html_content_more:()=>jl,html_document:()=>wl,html_form:()=>Ql,html_head_body:()=>Wl,html_style:()=>ql,html_style_content:()=>Jl,html_text:()=>Zl,html_title:()=>Hl});var F={};t.r(F),t.d(F,{attribute_access:()=>sr,function_call:()=>nr,raw_block:()=>zl,raw_empty:()=>tr,raw_expression:()=>$l,raw_table:()=>er,type_check:()=>ir});var v={};t.r(v),t.d(v,{array_create:()=>Rr,array_toarray:()=>Yr,dataframe_create:()=>pr,dataframe_create_from_index:()=>ar,dataframe_create_from_one_index:()=>ur,dataframe_get:()=>Fr,numpy_trig:()=>Nr,pandas_readcsv:()=>fr,pl_axes:()=>Ir,pl_bar:()=>Lr,pl_hist:()=>Sr,pl_label:()=>cr,pl_legend:()=>Er,pl_pie:()=>Cr,pl_plot:()=>Or,pl_plot_bar:()=>mr,pl_plot_easy:()=>hr,pl_plot_scatter:()=>gr,pl_plot_xy:()=>Ar,pl_savefig:()=>vr,pl_show:()=>dr,pl_subplot:()=>Pr,pl_text:()=>Vr,pl_ticks:()=>Dr,pl_title:()=>Mr,plot_axes:()=>br,plot_bar:()=>Wr,plot_hist:()=>jr,plot_label:()=>xr,plot_legend:()=>Xr,plot_pie:()=>Kr,plot_plot:()=>Ur,plot_plot_bar:()=>Gr,plot_plot_easy:()=>kr,plot_plot_scatter:()=>wr,plot_plot_xy:()=>Hr,plot_savefig:()=>Jr,plot_show:()=>yr,plot_subplot:()=>Qr,plot_text:()=>Zr,plot_ticks:()=>qr,plot_title:()=>Br,series_create:()=>or,series_create_from_index:()=>_r,series_create_from_text:()=>lr,series_get_num:()=>Tr,series_index_value:()=>rr});var V={};t.r(V),t.d(V,{inout_input:()=>zr,inout_print:()=>$r,inout_print_end:()=>eT,inout_print_inline:()=>tT,inout_print_many:()=>nT,inout_type_input:()=>iT});var Y={};t.r(Y),t.d(Y,{controls_end_program:()=>oT,controls_millis:()=>sT,time_localtime:()=>_T});var y={};t.r(y),t.d(y,{turtle_bgcolor:()=>ST,turtle_bgcolor_hex:()=>fT,turtle_bgcolor_hex_new:()=>VT,turtle_circle:()=>gT,turtle_circle_advanced:()=>LT,turtle_clear:()=>OT,turtle_clone:()=>PT,turtle_color:()=>kT,turtle_color_hex:()=>bT,turtle_color_seclet:()=>WT,turtle_create:()=>pT,turtle_done:()=>aT,turtle_exitonclick:()=>uT,turtle_fill:()=>MT,turtle_fillcolor:()=>NT,turtle_fillcolor_hex:()=>vT,turtle_fillcolor_hex_new:()=>yT,turtle_getscreen:()=>KT,turtle_goto:()=>IT,turtle_listen:()=>JT,turtle_move:()=>lT,turtle_numinput:()=>xT,turtle_onclick:()=>qT,turtle_onkey:()=>jT,turtle_ontimer:()=>QT,turtle_pencolor:()=>DT,turtle_pencolor_hex:()=>FT,turtle_pencolor_hex_new:()=>YT,turtle_penup:()=>ET,turtle_pos_shape:()=>hT,turtle_rotate:()=>rT,turtle_screen_delay:()=>dT,turtle_screen_savefig:()=>ZT,turtle_setheading:()=>TT,turtle_setxy:()=>AT,turtle_shape:()=>UT,turtle_shapesize:()=>XT,turtle_size:()=>RT,turtle_size_speed:()=>cT,turtle_speed:()=>mT,turtle_textinput:()=>BT,turtle_visible:()=>CT,turtle_write:()=>GT,turtle_write_format:()=>wT,turtle_write_format_skulpt:()=>HT});var b={};t.r(b),t.d(b,{Turn:()=>pd,addOil:()=>Ad,game_get_character_img:()=>dd,game_get_local_img:()=>rd,game_get_path_img:()=>Od,game_init:()=>zT,get_actor_point:()=>ld,initSettedMap_1:()=>td,initSettedMap_2:()=>ed,initSettedMap_3:()=>id,initSettedMap_4:()=>nd,initSettedMap_5:()=>sd,initSettedMap_6:()=>od,initSettedMap_7:()=>_d,initialize:()=>Id,isBarrier:()=>Md,isCirculationRight:()=>Ld,isDone:()=>ad,isLightGreen:()=>md,isLightRed:()=>gd,isOilFull:()=>Rd,isPath:()=>ud,move_direction_steps:()=>$T,place_item:()=>hd,randomOil:()=>cd,set_map:()=>Td,set_pathtype:()=>Ed});const k=Blockly,U=Mixly,X={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},B=X,x={};x.NAME_TYPE=k.PROCEDURE_CATEGORY_NAME,x.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s0?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")},W.scrubNakedValue=function(t){return t+"\n"},W.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},W.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},W.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=k.utils.string.wrap(o,W.COMMENT_WRAP-3),n+=W.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const K=330,j={init:function(){this.setColour(K),this.appendDummyInput().appendField(new k.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(k.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},q={init:function(){this.setColour(K),this.appendValueInput("VALUE").appendField(new k.FieldTextInput(""),"VAR").appendField(k.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var t=this.getFieldValue("VAR");return null==t?[]:t.split(",")},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},Q={init:function(){this.setColour(K);var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"],[k.Msg.LANG_MATH_BOOLEAN,"bool"],[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0)}},J={init:function(){this.setColour(K),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},Z={init:function(){this.setColour(K),this.appendValueInput("DATA").appendField(k.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},z={init:function(){this.setColour(K),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new k.FieldDropdown([[k.Msg.LANG_MATH_INT,"int"],[k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[k.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"],[k.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type");return k.Msg.MICROBIT_controls_TypeLists+{int:k.Msg.LANG_MATH_INT,float:k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:k.Msg.MIXLY_MICROBIT_TYPE_STRING,list:k.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:k.Msg.MIXLY_MICROBIT_TYPE_DICT,set:k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:k.Msg.MIXLY_MICROBIT_IMAGE,bytes:k.Msg.LANG_MATH_BYTE,NoneType:k.Msg.LOGIC_NULL}[e]}))}},$=120,tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},it={init:function(){var t=[[k.Msg.MIXLY_mSecond,"delay"],[k.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour($),this.appendValueInput("DELAY_TIME",Number).appendField(k.Msg.MIXLY_DELAY).appendField(new k.FieldDropdown(t),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},nt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},st={init:function(){this.setColour($),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(k.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(k.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new k.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var t=this;this.setTooltip((function(){return t.elseifCount_||t.elseCount_?!t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_2:t.elseifCount_&&!t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_3:t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_4:"":k.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ot={init:function(){this.setColour($),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},_t={init:function(){this.setColour($),this.appendValueInput("LIST").setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(k.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pt={init:function(){this.setColour($),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(k.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new k.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(k.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},at={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ut={init:function(){this.setColour($);var t=new k.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:k.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:k.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(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},lt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},rt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};pt.OPERATORS=[[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ut.OPERATORS=[[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},dt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},It={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ht={init:function(){this.setColour($),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Ot={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Mt={init:function(){this.jsonInit({message0:k.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:$,tooltip:k.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:k.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ct={init:function(){this.setColour($),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_STAT),this.setOutput(!0)}},Rt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},mt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},At={init:function(){this.appendDummyInput().appendField(k.Msg.CONTROLS_REPEAT_TITLE_REPEAT+k.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(k.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new k.FieldDropdown([[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour($),this.setTooltip("do-while loop"),this.setHelpUrl("")}},gt=230;k.FieldTextInput.math_number_validator=function(t){return String(t)},k.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 Lt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},Ct={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},St={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Dt={init:function(){this.setColour(gt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Nt={init:function(){this.setColour(gt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Pt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new k.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ft={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new k.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:k.Msg.MATH_TRIG_TOOLTIP_SIN,COS:k.Msg.MATH_TRIG_TOOLTIP_COS,TAN:k.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:k.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:k.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:k.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:k.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ft={init:function(){var t=[[k.Msg.MATH_BIN,"bin"],[k.Msg.MATH_OCT,"oct"],[k.Msg.MATH_HEX,"hex"]];this.setColour(gt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:k.Msg.MATH_DEC_TOOLTIP_BIN,oct:k.Msg.MATH_DEC_TOOLTIP_OCT,hex:k.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},vt={init:function(){var t=[[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"],[k.Msg.MATH_ABS,"fabs"],[k.Msg.MATH_SQRT,"sqrt"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:k.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:k.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:k.Msg.MATH_SINGLE_TOOLTIP_SQ,round:k.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:k.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:k.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Vt={init:function(){var t=[[k.Msg.MIXLY_MAX,"max"],[k.Msg.MIXLY_MIN,"min"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(new k.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(k.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:k.Msg.MIXLY_TOOLTIP_MATH_MAX,min:k.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Yt={init:function(){var t=[[k.Msg.MATH_TWO,"two"],[k.Msg.MATH_EIGHT,"eight"],[k.Msg.MATH_TEN,"ten"],[k.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(gt),this.appendDummyInput("").appendField(k.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new k.FieldDropdown(t),"OP").appendField(k.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(k.Msg.MATH_ZHW).appendField(new k.FieldDropdown(t),"OP2").appendField(k.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:k.Msg.MATH_Before_two,eight:k.Msg.MATH_Before_eight,ten:k.Msg.MATH_Before_ten,sixteen:k.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:k.Msg.MATH_Behind_two,eight:k.Msg.MATH_Behind_eight,ten:k.Msg.MATH_Behind_ten,sixteen:k.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},yt={init:function(){var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(gt),this.setOutput(!0,Number),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_RANDOM).appendField(new k.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:k.Msg.LANG_MATH_INT,float:k.Msg.LANG_MATH_FLOAT_RANDOM};return k.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},bt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_CONSTRAIN_TOOLTIP)}},kt={init:function(){this.setColour(gt),this.appendValueInput("NUM",Number).appendField(k.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(k.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(k.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Ut={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},Xt={init:function(){this.setColour(gt),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Bt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MATH_ROUND).appendField(k.Msg.TEXT_KEEP),this.appendDummyInput().appendField(k.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_ROUND_NEW_TOOLTIP)}},xt={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"],[k.Msg.MIXLY_TO_BITES,"b"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:k.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:k.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Gt={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:k.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},wt=kt,Ht=160,Wt={init:function(){this.setColour(Ht),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}},Kt={init:function(){this.setColour(Ht),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}};k.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 jt={init:function(){this.setColour(Ht),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput("",k.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(k.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new k.FieldImage(e,7,12,'"')}},qt={init:function(){this.setColour(Ht),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(k.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Qt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").setCheck(String).appendField(k.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Zt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},$t={init:function(){this.WHERE_OPTIONS=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.TEXT_GET_INDEX_RANDOM+1+k.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(k.Msg.LISTS_GET_INDEX_GET,"MODE"),k.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(k.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=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+k.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",k.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:k.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:k.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:k.Msg.TEXT_GET_INDEX_RANDOM};return k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+k.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new k.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"),k.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},te={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.LISTS_GET_INDEX_FROM_START+"n"+k.Msg.TEXT_CHARAT2)}},ee={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(k.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(k.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ie={init:function(){this.WHERE_OPTIONS_1=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[k.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(k.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(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==k.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new k.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"))}},ne={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(k.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},se={init:function(){var t=[[k.Msg.MIXLY_EQUALS,"==="],[k.Msg.MIXLY_STARTSWITH,"startswith"],[k.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ht),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new k.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},oe={init:function(){this.setColour(Ht),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_COMPARETO_HELP)}},_e={init:function(){var t=[[k.Msg.TEXT_UPPER,"upper"],[k.Msg.TEXT_TITLE,"title"],[k.Msg.TEXT_CAPITALIZE,"capitalize"],[k.Msg.TEXT_SWAPCASE,"swapcase"],[k.Msg.TEXT_LOWER,"lower"]];this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:k.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:k.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:k.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:k.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:k.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},pe={init:function(){var t=[[k.Msg.TEXT_LJUST,"ljust"],[k.Msg.TEXT_CENTER,"center"],[k.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ht),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(k.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(k.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ae={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(k.Msg.MIXLY_MID+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(k.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ue={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},le={init:function(){this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(k.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},re={init:function(){this.setColour(Ht),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(k.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(k.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Te={init:function(){var t=[[k.Msg.TEXT_TRIM_BOTH,"strip"],[k.Msg.TEXT_TRIM_LEFT,"lstrip"],[k.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ht),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new k.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(k.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:k.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:k.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:k.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},de={init:function(){this.setColour(Ht),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new k.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ui={init:function(){this.setColour(pi),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},li={init:function(){this.setColour(pi),this.appendDummyInput().appendField(k.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ri={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_KEYS),this.setTooltip(k.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ti={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_TOOLTIP)}},di={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ii={init:function(){this.setColour(pi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(k.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},hi={init:function(){this.setColour(pi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_DELETE_TOOLTIP)}},Oi={init:function(){this.setColour(pi),this.appendValueInput("DICT2").setCheck("Dict").appendField(k.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(k.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(k.Msg.MIXLY_MID),this.setTooltip(k.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ei={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_CLEAR),this.setTooltip(k.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mi={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_ITEMS),this.setTooltip(k.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},ci={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_VALUES),this.setTooltip(k.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Ri={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_LENGTH),this.setTooltip(k.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mi={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_DELDICT),this.setTooltip(k.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ai={init:function(){this.MODE=[[k.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[k.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(k.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=k.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=k.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==k.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 k.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")}},gi={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setTooltip(k.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Li={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ci={init:function(){this.setColour(pi),this.appendDummyInput("").appendField(new k.FieldLabel(k.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 k.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Si={init:function(){this.setColour(pi),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Di={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_TO_JSON),this.setTooltip(k.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Ni={init:function(){this.setColour(pi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(k.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Pi=210,fi={init:function(){var t=k.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:k.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:k.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:k.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:k.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:k.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:k.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Fi={init:function(){var t=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new k.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vi={init:function(){var t=[[k.Msg.LOGIC_OPERATION_AND,"AND"],[k.Msg.LOGIC_OPERATION_OR,"OR"],[k.Msg.LOGIC_OPERATION_NOR,"NOR"],[k.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:k.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:k.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:k.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:k.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Vi={init:function(){this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(k.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(k.Msg.LOGIC_NEGATE_TOOLTIP)}},Yi={init:function(){var t=[[k.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[k.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new k.FieldDropdown(t),"BOOL"),this.setTooltip(k.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yi={init:function(){this.setColour(Pi),this.setOutput(!0),this.appendDummyInput().appendField(k.Msg.LOGIC_NULL),this.setTooltip(k.Msg.LOGIC_NULL_TOOLTIP)}},bi={init:function(){this.setColour(Pi),this.appendValueInput("A"),this.appendValueInput("B").appendField(k.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(k.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},ki={init:function(){var t=[[k.Msg.TEXT_APPEND_TO,"in"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Pi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new k.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(k.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.IN)}},Ui={init:function(){var t=[[k.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Pi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Xi={init:function(){this.setColour(Pi),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Bi={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(k.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},xi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Gi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},wi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXPY_TEXT_ENCODE).appendField(new k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Hi={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Ki={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},ji={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},qi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.HTML_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Qi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Ji={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Zi={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zi={init:function(){this.setColour(0),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[k.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(k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},$i={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},tn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},en={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},sn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+k.Msg.MIXLY_ESP32_SET+{mkdir:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},on={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(k.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},pn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.HTML_FILE,"isfile"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},an={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(k.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(k.Msg.MIXLY_SETUP+k.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(k.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},un={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(k.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ln={init:function(){var t=G.findLegalName("",this),e=new k.FieldTextInput(t,G.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new k.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&k.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(k.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(k.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(k.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(k.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=k.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),k.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{k.Events.enable()}},mutationToDom:function(t){var e=k.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ns={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(k.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ss={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(k.Msg.HTML_FORM_CONTENT).appendField(new k.FieldDropdown([[k.Msg.HTML_TEXT,"text"],[k.Msg.HTML_EMAIL,"email"],[k.Msg.HTML_NUMBER,"number"],[k.Msg.HTML_PASSWORD,"password"],[k.Msg.HTML_CHECKBOX,"checkbox"],[k.Msg.HTML_RADIOBUTTON,"radiobutton"],[k.Msg.HTML_BUTTON,"button"],[k.Msg.HTML_COLOUR,"colour"],[k.Msg.HTML_DATE,"date"],[k.Msg.HTML_LOCALTIME,"local time"],[k.Msg.HTML_FILE,"file"],[k.Msg.HTML_HIDDEN,"hidden"],[k.Msg.HTML_IMAGE,"image"],[k.Msg.HTML_MONTH,"month"],[k.Msg.HTML_RANGE,"range"],[k.Msg.HTML_RESET,"reset"],[k.Msg.HTML_SEARCH,"search"],[k.Msg.HTML_SUBMIT,"submit"],[k.Msg.HTML_TELEPHONENUMBER,"telephone number"],[k.Msg.HTML_TIME,"time"],[k.Msg.HTML_URL,"url"],[k.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(k.Msg.HTML_NAME).appendField(new k.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(k.Msg.HTML_VALUE).appendField(new k.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},os={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_s={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ps={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(k.Msg.HTML_TEXT).appendField(new k.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},as=160,us={init:function(){this.setColour(as),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new k.FieldTable(""),"TEXT")}},ls={init:function(){this.setColour(as),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT")}},rs={init:function(){this.setColour(as),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Ts={init:function(){this.setColour(as),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},ds={init:function(){this.setColour(as),this.appendDummyInput().appendTitle("Comment:").appendTitle(new k.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Is={init:function(){this.setColour(as),this.appendValueInput("VALUE").appendField(k.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},hs={init:function(){this.setColour(as),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(k.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=k.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vs={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(As),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_SPLITBYDOU).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Xs={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},Bs={init:function(){this.setColour(As);var t=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],e=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},xs={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Gs={init:function(){this.setColour(As);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},ws={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Hs={init:function(){this.setColour(As),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Ks={init:function(){var t=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(As),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(k.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setTooltip(k.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},js={init:function(){this.setColour(As),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},qs={init:function(){this.setColour(As),this.appendValueInput("FILENAME").appendField(k.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[k.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qs={init:function(){this.setColour(As),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(k.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new k.FieldDropdown([[k.Msg.DATAFRAME_COLUMN,"column"],[k.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(k.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Js={init:function(){this.setColour(As),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Zs={init:function(){this.setColour(As);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},zs={init:function(){this.setColour(As),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},$s={init:function(){this.setColour(As),this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},io={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},so={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_o={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},po={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(t),"DOT"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ao={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},uo={init:function(){this.setColour(As);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},lo={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},ro={init:function(){this.setColour(As),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},To={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Io={init:function(){this.setColour(As),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ho={init:function(){this.setColour(As),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Oo={init:function(){this.setColour(As);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},Eo=20,Mo={init:function(){this.setColour(Eo),this.appendValueInput("VAR").appendField(k.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(k.Msg.INOUT_input_TOOLTIP)}},co={init:function(){this.setColour(Eo),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.BLOCKPY_PRINT_TOOLTIP)}},Ro={init:function(){this.setColour(Eo),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},mo={init:function(){this.setColour(Eo),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(k.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},Ao={init:function(){var t=[[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Eo),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("VAR").appendField(k.Msg.PROCEDURES_MUTATORCONTAINER_TITLE).setCheck(String),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{str:k.Msg.MIXLY_MIXPY_INOUT_STR_INPUT_TOOLTIP,int:k.Msg.MIXLY_MIXPY_INOUT_INT_INPUT_TOOLTIP,float:k.Msg.MIXLY_MIXPY_INOUT_FLOAT_INPUT_TOOLTIP}[t]}))}},go={init:function(){this.setColour(Eo),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["inout_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("inout_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n0?t:[["'无可用地图'","'无可用地图'"]]}},G_={init:function(){this.appendValueInput("pathtype").setCheck(null).appendField("设置路径样式为"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},w_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用路径'","'无可用路径'"]]}},H_={init:function(){this.setColour(290),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("posx").setCheck(null).appendField("在("),this.appendDummyInput().appendField(","),this.appendValueInput("posy").setCheck(null).appendField(""),this.appendDummyInput().appendField(")放置").appendField(new k.FieldDropdown([["障碍","'wall'"],["金币","'coin'"]]),"item"),this.setTooltip("")}},W_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用角色'","'无可用角色'"]]}},K_={init:function(){this.setColour(290),this.appendValueInput("character").setCheck(null).appendField("初始化角色为"),this.appendDummyInput().appendField("面朝").appendField(new k.FieldDropdown([["北","0"],["南","2"],["西","3"],["东","1"]]),"direction"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},j_={init:function(){this.setColour(290),this.appendDummyInput().appendField("获取⻆⾊所获分数"),this.setOutput(!0,Number),this.setTooltip("")}},q_={init:function(){this.appendDummyInput().appendField(new k.FieldDropdown([["北","0"],["南","2"],["西","3"],["东","1"]]),"direction"),this.appendDummyInput().appendField("侧有障碍"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},Q_={init:function(){this.appendDummyInput().appendField("随机生成小车油量"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},J_={init:function(){this.appendDummyInput().appendField("需要加油"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},Z_={init:function(){this.appendDummyInput().appendField("信号灯为绿灯"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},z_={init:function(){this.appendDummyInput().appendField("信号灯为红灯"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},$_={init:function(){this.appendDummyInput().appendField("进加油站加油"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},tp={init:function(){this.appendDummyInput().appendField("检查程序循环数目是否正确"),this.setPreviousStatement(!0),this.setColour(290),this.setTooltip("")}},ep=function(t,e){return[e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE),e.ORDER_ATOMIC]},ip=function(t,e){if(""==this.getFieldValue("VAR"))return" = None\n";var i=e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"None";return e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE)+" = "+i+"\n"},np=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"MYVALUE",e.ORDER_ATOMIC)||"None";if("bytes"==i)var s=i+"("+n+',"UTF-8")';else s=i+"("+n+")";return[s,e.ORDER_ATOMIC]},sp=function(t,e){return"global "+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"None")+"\n"},op=function(t,e){return["type("+(e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"None")+")",e.ORDER_ATOMIC]},_p=function(t,e){return[this.getFieldValue("type"),e.ORDER_ATOMIC]},pp=function(t,e){var i=e.statementToCode(t,"DO");return"if __name__ == '__main__':\n"+(i=e.addLoopTrap(i,t.id)||e.PASS)},ap=function(t,e){var i=e.statementToCode(this,"DO");return(i=i.replace(/(^\s*)|(\s*$)/g,"").replace(/\n {4}/g,"\n")).endsWith("\n")?e.setups_.setup_setup=i:e.setups_.setup_setup=i+"\n",""},up=function(t,e){var i=0,n="";do{n+=(0==i?"if ":"elif ")+(e.valueToCode(t,"IF"+i,e.ORDER_NONE)||"False")+":\n"+(e.statementToCode(t,"DO"+i)||e.PASS),++i}while(t.getInput("IF"+i));return t.getInput("ELSE")&&(n+="else:\n"+(e.statementToCode(t,"ELSE")||e.PASS)),n},lp=function(t,e){var i=0,n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"null",s="try:\n"+(e.statementToCode(this,"try")||" pass\n");for(i=1;i<=this.elseifCount_;i++)""!==(n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"")&&(n=" "+n),s+="except"+n+": \n"+(e.statementToCode(this,"DO"+i)||" pass\n");return this.elseCount_&&(s+="finally:\n"+(e.statementToCode(this,"ELSE")||" pass\n")),s},rp=function(t,e){var i=e.variableDB_.getName(t.getFieldValue("VAR"),k.Variables.NAME_TYPE),n=e.valueToCode(t,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(t,"TO",e.ORDER_NONE)||"0",o=e.valueToCode(t,"STEP",e.ORDER_NONE)||"1",_=e.statementToCode(t,"DO"),p=(_=e.addLoopTrap(_,t.id)||e.PASS,""),a=function(t,e){return e.provideFunction_("upRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start <= stop:"," yield start"," start += abs(step)"])},u=function(t,e){return e.provideFunction_("downRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start >= 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+")"},k.isNumber(n)&&k.isNumber(s)&&k.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 Du=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]},Nu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Pu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},fu=function(t,e){return["None",e.ORDER_ATOMIC]},Fu=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]},vu=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]},Vu=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]},Yu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},yu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},bu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ku=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Uu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Xu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Bu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},xu=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]},Gu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},wu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Hu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Wu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ku=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},ju=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},qu=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Qu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},Ju=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"},Zu=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},zu=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},$u=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},tl=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"},el=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]},il=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"},nl=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"},sl=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),k.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]},Ul=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Xl=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},Bl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},xl=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Gl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},wl=function(t,e){return'"},Hl=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Wl=function(){return this.getFieldValue("TEXT")+"\n"},Kl=function(t){return t.getFieldValue("TEXT")+"\n"},jl=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},ql=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},Ql=function(){return""},Jl=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},Zl=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o=0&&(n[s]=n[s].replace(" ",""));i="";for(s=0;s0?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")},W.scrubNakedValue=function(t){return t+"\n"},W.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},W.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},W.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=k.utils.string.wrap(o,W.COMMENT_WRAP-3),n+=W.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const K=330,j={init:function(){this.setColour(K),this.appendDummyInput().appendField(new k.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(k.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},q={init:function(){this.setColour(K),this.appendValueInput("VALUE").appendField(new k.FieldTextInput(""),"VAR").appendField(k.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var t=this.getFieldValue("VAR");return null==t?[]:t.split(",")},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},Q={init:function(){this.setColour(K);var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"],[k.Msg.LANG_MATH_BOOLEAN,"bool"],[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0)}},J={init:function(){this.setColour(K),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},Z={init:function(){this.setColour(K),this.appendValueInput("DATA").appendField(k.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},z={init:function(){this.setColour(K),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new k.FieldDropdown([[k.Msg.LANG_MATH_INT,"int"],[k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[k.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"],[k.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type");return k.Msg.MICROBIT_controls_TypeLists+{int:k.Msg.LANG_MATH_INT,float:k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:k.Msg.MIXLY_MICROBIT_TYPE_STRING,list:k.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:k.Msg.MIXLY_MICROBIT_TYPE_DICT,set:k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:k.Msg.MIXLY_MICROBIT_IMAGE,bytes:k.Msg.LANG_MATH_BYTE,NoneType:k.Msg.LOGIC_NULL}[e]}))}},$=120,tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},it={init:function(){var t=[[k.Msg.MIXLY_mSecond,"delay"],[k.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour($),this.appendValueInput("DELAY_TIME",Number).appendField(k.Msg.MIXLY_DELAY).appendField(new k.FieldDropdown(t),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},nt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},st={init:function(){this.setColour($),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(k.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(k.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new k.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var t=this;this.setTooltip((function(){return t.elseifCount_||t.elseCount_?!t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_2:t.elseifCount_&&!t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_3:t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_4:"":k.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ot={init:function(){this.setColour($),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},_t={init:function(){this.setColour($),this.appendValueInput("LIST").setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(k.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pt={init:function(){this.setColour($),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(k.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new k.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(k.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},at={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ut={init:function(){this.setColour($);var t=new k.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:k.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:k.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(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},lt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},rt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};pt.OPERATORS=[[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ut.OPERATORS=[[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},dt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},It={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ht={init:function(){this.setColour($),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Ot={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Mt={init:function(){this.jsonInit({message0:k.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:$,tooltip:k.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:k.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},ct={init:function(){this.setColour($),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_STAT),this.setOutput(!0)}},Rt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},mt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},gt={init:function(){this.appendDummyInput().appendField(k.Msg.CONTROLS_REPEAT_TITLE_REPEAT+k.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(k.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new k.FieldDropdown([[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour($),this.setTooltip("do-while loop"),this.setHelpUrl("")}},At={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Ct={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},St=230;k.FieldTextInput.math_number_validator=function(t){return String(t)},k.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 Dt={init:function(){this.setColour(St),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},Nt={init:function(){this.setColour(St);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Pt={init:function(){this.setColour(St);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ft={init:function(){this.setColour(St),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ft={init:function(){this.setColour(St),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},vt={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new k.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Vt={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new k.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:k.Msg.MATH_TRIG_TOOLTIP_SIN,COS:k.Msg.MATH_TRIG_TOOLTIP_COS,TAN:k.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:k.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:k.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:k.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:k.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Yt={init:function(){var t=[[k.Msg.MATH_BIN,"bin"],[k.Msg.MATH_OCT,"oct"],[k.Msg.MATH_HEX,"hex"]];this.setColour(St),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:k.Msg.MATH_DEC_TOOLTIP_BIN,oct:k.Msg.MATH_DEC_TOOLTIP_OCT,hex:k.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},yt={init:function(){var t=[[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"],[k.Msg.MATH_ABS,"fabs"],[k.Msg.MATH_SQRT,"sqrt"]];this.setColour(St),this.appendValueInput("A").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:k.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:k.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:k.Msg.MATH_SINGLE_TOOLTIP_SQ,round:k.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:k.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:k.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},bt={init:function(){var t=[[k.Msg.MIXLY_MAX,"max"],[k.Msg.MIXLY_MIN,"min"]];this.setColour(St),this.appendValueInput("A").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(new k.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(k.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:k.Msg.MIXLY_TOOLTIP_MATH_MAX,min:k.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},kt={init:function(){var t=[[k.Msg.MATH_TWO,"two"],[k.Msg.MATH_EIGHT,"eight"],[k.Msg.MATH_TEN,"ten"],[k.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(St),this.appendDummyInput("").appendField(k.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new k.FieldDropdown(t),"OP").appendField(k.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(k.Msg.MATH_ZHW).appendField(new k.FieldDropdown(t),"OP2").appendField(k.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:k.Msg.MATH_Before_two,eight:k.Msg.MATH_Before_eight,ten:k.Msg.MATH_Before_ten,sixteen:k.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:k.Msg.MATH_Behind_two,eight:k.Msg.MATH_Behind_eight,ten:k.Msg.MATH_Behind_ten,sixteen:k.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Ut={init:function(){var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(St),this.setOutput(!0,Number),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_RANDOM).appendField(new k.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:k.Msg.LANG_MATH_INT,float:k.Msg.LANG_MATH_FLOAT_RANDOM};return k.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Xt={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_CONSTRAIN_TOOLTIP)}},Bt={init:function(){this.setColour(St),this.appendValueInput("NUM",Number).appendField(k.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(k.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(k.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_MAP)}},xt={init:function(){this.setColour(St),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},Gt={init:function(){this.setColour(St),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},wt={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MATH_ROUND).appendField(k.Msg.TEXT_KEEP),this.appendDummyInput().appendField(k.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ht={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"],[k.Msg.MIXLY_TO_BITES,"b"]];this.setColour(St),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:k.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:k.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Wt={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(St),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:k.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Kt=Bt,jt=160,qt={init:function(){this.setColour(jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}},Qt={init:function(){this.setColour(jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}};k.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 Jt={init:function(){this.setColour(jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput("",k.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(k.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new k.FieldImage(e,7,12,'"')}},Zt={init:function(){this.setColour(jt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(k.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},zt={init:function(){this.setColour(jt),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},$t={init:function(){this.setColour(jt),this.appendValueInput("VAR").setCheck(String).appendField(k.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},te={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ee={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ie={init:function(){this.WHERE_OPTIONS=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.TEXT_GET_INDEX_RANDOM+1+k.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(k.Msg.LISTS_GET_INDEX_GET,"MODE"),k.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(k.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=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+k.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",k.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:k.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:k.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:k.Msg.TEXT_GET_INDEX_RANDOM};return k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+k.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new k.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"),k.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},ne={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.LISTS_GET_INDEX_FROM_START+"n"+k.Msg.TEXT_CHARAT2)}},se={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(k.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(k.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},oe={init:function(){this.WHERE_OPTIONS_1=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[k.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(k.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(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==k.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new k.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"))}},_e={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(k.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},pe={init:function(){var t=[[k.Msg.MIXLY_EQUALS,"==="],[k.Msg.MIXLY_STARTSWITH,"startswith"],[k.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new k.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ae={init:function(){this.setColour(jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_COMPARETO_HELP)}},ue={init:function(){var t=[[k.Msg.TEXT_UPPER,"upper"],[k.Msg.TEXT_TITLE,"title"],[k.Msg.TEXT_CAPITALIZE,"capitalize"],[k.Msg.TEXT_SWAPCASE,"swapcase"],[k.Msg.TEXT_LOWER,"lower"]];this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:k.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:k.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:k.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:k.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:k.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},le={init:function(){var t=[[k.Msg.TEXT_LJUST,"ljust"],[k.Msg.TEXT_CENTER,"center"],[k.Msg.TEXT_RJUST,"rjust"]];this.setColour(jt),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(k.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(k.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},re={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(k.Msg.MIXLY_MID+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(k.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Te={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},de={init:function(){this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(k.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},Ie={init:function(){this.setColour(jt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(k.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(k.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},he={init:function(){var t=[[k.Msg.TEXT_TRIM_BOTH,"strip"],[k.Msg.TEXT_TRIM_LEFT,"lstrip"],[k.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(jt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new k.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(k.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:k.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:k.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:k.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Oe={init:function(){this.setColour(jt),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new k.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ti={init:function(){this.setColour(li),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},di={init:function(){this.setColour(li),this.appendDummyInput().appendField(k.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},Ii={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_KEYS),this.setTooltip(k.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},hi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_TOOLTIP)}},Oi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Ei={init:function(){this.setColour(li),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(k.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Mi={init:function(){this.setColour(li),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_DELETE_TOOLTIP)}},ci={init:function(){this.setColour(li),this.appendValueInput("DICT2").setCheck("Dict").appendField(k.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(k.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(k.Msg.MIXLY_MID),this.setTooltip(k.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ri={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_CLEAR),this.setTooltip(k.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_ITEMS),this.setTooltip(k.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},gi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_VALUES),this.setTooltip(k.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},Ai={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_LENGTH),this.setTooltip(k.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Li={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_DELDICT),this.setTooltip(k.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ci={init:function(){this.MODE=[[k.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[k.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(k.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=k.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=k.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==k.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 k.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")}},Si={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setTooltip(k.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Di={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ni={init:function(){this.setColour(li),this.appendDummyInput("").appendField(new k.FieldLabel(k.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 k.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Pi={init:function(){this.setColour(li),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},fi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_TO_JSON),this.setTooltip(k.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Fi={init:function(){this.setColour(li),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(k.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},vi=210,Vi={init:function(){var t=k.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:k.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:k.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:k.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:k.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:k.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:k.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Yi={init:function(){var t=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new k.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},yi={init:function(){var t=[[k.Msg.LOGIC_OPERATION_AND,"AND"],[k.Msg.LOGIC_OPERATION_OR,"OR"],[k.Msg.LOGIC_OPERATION_NOR,"NOR"],[k.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:k.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:k.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:k.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:k.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},bi={init:function(){this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(k.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(k.Msg.LOGIC_NEGATE_TOOLTIP)}},ki={init:function(){var t=[[k.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[k.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new k.FieldDropdown(t),"BOOL"),this.setTooltip(k.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Ui={init:function(){this.setColour(vi),this.setOutput(!0),this.appendDummyInput().appendField(k.Msg.LOGIC_NULL),this.setTooltip(k.Msg.LOGIC_NULL_TOOLTIP)}},Xi={init:function(){this.setColour(vi),this.appendValueInput("A"),this.appendValueInput("B").appendField(k.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(k.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Bi={init:function(){var t=[[k.Msg.TEXT_APPEND_TO,"in"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(vi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new k.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(k.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.IN)}},xi={init:function(){var t=[[k.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(vi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Gi={init:function(){this.setColour(vi),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},wi={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(k.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Ki={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXPY_TEXT_ENCODE).appendField(new k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},ji={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},qi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Qi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Ji={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},Zi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.HTML_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},$i={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},tn={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const en={init:function(){this.setColour(0),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[k.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(k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},on={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},_n={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+k.Msg.MIXLY_ESP32_SET+{mkdir:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},an={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(k.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ln={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.HTML_FILE,"isfile"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},rn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(k.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(k.Msg.MIXLY_SETUP+k.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(k.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Tn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(k.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},dn={init:function(){var t=G.findLegalName("",this),e=new k.FieldTextInput(t,G.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new k.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&k.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(k.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(k.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(k.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(k.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=k.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),k.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{k.Events.enable()}},mutationToDom:function(t){var e=k.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_s={init:function(){this.setColour(ts),this.appendDummyInput().appendField(k.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ps={init:function(){this.setColour(ts),this.appendDummyInput().appendField(k.Msg.HTML_FORM_CONTENT).appendField(new k.FieldDropdown([[k.Msg.HTML_TEXT,"text"],[k.Msg.HTML_EMAIL,"email"],[k.Msg.HTML_NUMBER,"number"],[k.Msg.HTML_PASSWORD,"password"],[k.Msg.HTML_CHECKBOX,"checkbox"],[k.Msg.HTML_RADIOBUTTON,"radiobutton"],[k.Msg.HTML_BUTTON,"button"],[k.Msg.HTML_COLOUR,"colour"],[k.Msg.HTML_DATE,"date"],[k.Msg.HTML_LOCALTIME,"local time"],[k.Msg.HTML_FILE,"file"],[k.Msg.HTML_HIDDEN,"hidden"],[k.Msg.HTML_IMAGE,"image"],[k.Msg.HTML_MONTH,"month"],[k.Msg.HTML_RANGE,"range"],[k.Msg.HTML_RESET,"reset"],[k.Msg.HTML_SEARCH,"search"],[k.Msg.HTML_SUBMIT,"submit"],[k.Msg.HTML_TELEPHONENUMBER,"telephone number"],[k.Msg.HTML_TIME,"time"],[k.Msg.HTML_URL,"url"],[k.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(k.Msg.HTML_NAME).appendField(new k.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(k.Msg.HTML_VALUE).appendField(new k.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},as={init:function(){this.setColour(ts),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},us={init:function(){this.setColour(ts),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ls={init:function(){this.setColour(ts),this.appendDummyInput().appendField(k.Msg.HTML_TEXT).appendField(new k.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rs=160,Ts={init:function(){this.setColour(rs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new k.FieldTable(""),"TEXT")}},ds={init:function(){this.setColour(rs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT")}},Is={init:function(){this.setColour(rs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},hs={init:function(){this.setColour(rs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Os={init:function(){this.setColour(rs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new k.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Es={init:function(){this.setColour(rs),this.appendValueInput("VALUE").appendField(k.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Ms={init:function(){this.setColour(rs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(k.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=k.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bs={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},xs={init:function(){this.setColour(Cs),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_SPLITBYDOU).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Gs={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},ws={init:function(){this.setColour(Cs);var t=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],e=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Hs={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Ws={init:function(){this.setColour(Cs);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Ks={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},js={init:function(){this.setColour(Cs),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qs={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Qs={init:function(){var t=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(Cs),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(k.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setTooltip(k.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},Js={init:function(){this.setColour(Cs),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Zs={init:function(){this.setColour(Cs),this.appendValueInput("FILENAME").appendField(k.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[k.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zs={init:function(){this.setColour(Cs),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(k.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new k.FieldDropdown([[k.Msg.DATAFRAME_COLUMN,"column"],[k.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(k.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},$s={init:function(){this.setColour(Cs),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},to={init:function(){this.setColour(Cs);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},eo={init:function(){this.setColour(Cs),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},io={init:function(){this.setColour(Cs),this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},so={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_o={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},po={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ao={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uo={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},lo={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(t),"DOT"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ro={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},To={init:function(){this.setColour(Cs);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Io={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},ho={init:function(){this.setColour(Cs),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Oo={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Eo={init:function(){this.setColour(Cs),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Mo={init:function(){this.setColour(Cs),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},co={init:function(){this.setColour(Cs);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},Ro=20,mo={init:function(){this.setColour(Ro),this.appendValueInput("VAR").appendField(k.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(k.Msg.INOUT_input_TOOLTIP)}},go={init:function(){this.setColour(Ro),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.BLOCKPY_PRINT_TOOLTIP)}},Ao={init:function(){this.setColour(Ro),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},Lo={init:function(){this.setColour(Ro),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(k.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},Co={init:function(){var t=[[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Ro),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("VAR").appendField(k.Msg.PROCEDURES_MUTATORCONTAINER_TITLE).setCheck(String),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{str:k.Msg.MIXLY_MIXPY_INOUT_STR_INPUT_TOOLTIP,int:k.Msg.MIXLY_MIXPY_INOUT_INT_INPUT_TOOLTIP,float:k.Msg.MIXLY_MIXPY_INOUT_FLOAT_INPUT_TOOLTIP}[t]}))}},So={init:function(){this.setColour(Ro),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["inout_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("inout_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n0?t:[["'无可用地图'","'无可用地图'"]]}},W_={init:function(){this.appendValueInput("pathtype").setCheck(null).appendField("设置路径样式为"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},K_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用路径'","'无可用路径'"]]}},j_={init:function(){this.setColour(290),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("posx").setCheck(null).appendField("在("),this.appendDummyInput().appendField(","),this.appendValueInput("posy").setCheck(null).appendField(""),this.appendDummyInput().appendField(")放置").appendField(new k.FieldDropdown([["障碍","'wall'"],["金币","'coin'"]]),"item"),this.setTooltip("")}},q_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用角色'","'无可用角色'"]]}},Q_={init:function(){this.setColour(290),this.appendValueInput("character").setCheck(null).appendField("初始化角色为"),this.appendDummyInput().appendField("面朝").appendField(new k.FieldDropdown([["北","0"],["南","2"],["西","3"],["东","1"]]),"direction"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},J_={init:function(){this.setColour(290),this.appendDummyInput().appendField("获取⻆⾊所获分数"),this.setOutput(!0,Number),this.setTooltip("")}},Z_={init:function(){this.appendDummyInput().appendField(new k.FieldDropdown([["北","0"],["南","2"],["西","3"],["东","1"]]),"direction"),this.appendDummyInput().appendField("侧有障碍"),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},z_={init:function(){this.appendDummyInput().appendField("随机生成小车油量"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},$_={init:function(){this.appendDummyInput().appendField("需要加油"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},tp={init:function(){this.appendDummyInput().appendField("信号灯为绿灯"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},ep={init:function(){this.appendDummyInput().appendField("信号灯为红灯"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},ip={init:function(){this.appendDummyInput().appendField("进加油站加油"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},np={init:function(){this.appendDummyInput().appendField("检查程序循环数目是否正确"),this.setPreviousStatement(!0),this.setColour(290),this.setTooltip("")}},sp=function(t,e){return[e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE),e.ORDER_ATOMIC]},op=function(t,e){if(""==this.getFieldValue("VAR"))return" = None\n";var i=e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"None";return e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE)+" = "+i+"\n"},_p=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"MYVALUE",e.ORDER_ATOMIC)||"None";if("bytes"==i)var s=i+"("+n+',"UTF-8")';else s=i+"("+n+")";return[s,e.ORDER_ATOMIC]},pp=function(t,e){return"global "+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"None")+"\n"},ap=function(t,e){return["type("+(e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"None")+")",e.ORDER_ATOMIC]},up=function(t,e){return[this.getFieldValue("type"),e.ORDER_ATOMIC]},lp=function(t,e){var i=e.statementToCode(t,"DO");return"if __name__ == '__main__':\n"+(i=e.addLoopTrap(i,t.id)||e.PASS)},rp=function(t,e){var i=e.statementToCode(this,"DO");return(i=i.replace(/(^\s*)|(\s*$)/g,"").replace(/\n {4}/g,"\n")).endsWith("\n")?e.setups_.setup_setup=i:e.setups_.setup_setup=i+"\n",""},Tp=function(t,e){var i=0,n="";do{n+=(0==i?"if ":"elif ")+(e.valueToCode(t,"IF"+i,e.ORDER_NONE)||"False")+":\n"+(e.statementToCode(t,"DO"+i)||e.PASS),++i}while(t.getInput("IF"+i));return t.getInput("ELSE")&&(n+="else:\n"+(e.statementToCode(t,"ELSE")||e.PASS)),n},dp=function(t,e){var i=0,n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"null",s="try:\n"+(e.statementToCode(this,"try")||" pass\n");for(i=1;i<=this.elseifCount_;i++)""!==(n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"")&&(n=" "+n),s+="except"+n+": \n"+(e.statementToCode(this,"DO"+i)||" pass\n");return this.elseCount_&&(s+="finally:\n"+(e.statementToCode(this,"ELSE")||" pass\n")),s},Ip=function(t,e){var i=e.variableDB_.getName(t.getFieldValue("VAR"),k.Variables.NAME_TYPE),n=e.valueToCode(t,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(t,"TO",e.ORDER_NONE)||"0",o=e.valueToCode(t,"STEP",e.ORDER_NONE)||"1",_=e.statementToCode(t,"DO"),p=(_=e.addLoopTrap(_,t.id)||e.PASS,""),a=function(t,e){return e.provideFunction_("upRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start <= stop:"," yield start"," start += abs(step)"])},u=function(t,e){return e.provideFunction_("downRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start >= 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+")"},k.isNumber(n)&&k.isNumber(s)&&k.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 Vu=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]},Yu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},yu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},bu=function(t,e){return["None",e.ORDER_ATOMIC]},ku=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]},Uu=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]},Xu=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]},Bu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},xu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Gu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},wu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},Hu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Wu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ku=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},ju=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]},qu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},Qu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},Ju=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Zu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},zu=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},$u=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},tl=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},el=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},il=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"},nl=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},sl=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ol=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},_l=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"},pl=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]},al=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"},ul=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"},ll=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),k.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]},Hl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Wl=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},Kl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},jl=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},ql=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},Ql=function(t,e){return'"},Jl=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Zl=function(){return this.getFieldValue("TEXT")+"\n"},zl=function(t){return t.getFieldValue("TEXT")+"\n"},$l=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},tr=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},er=function(){return""},ir=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},nr=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o=0&&(n[s]=n[s].replace(" ",""));i="";for(s=0;spromptHelloHelloHello,HelloMixly100,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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2x000000000000 \ No newline at end of file +promptHelloHelloHello,HelloMixly100,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')dirmylist1,2,3,4,5mylist0mylist02mylist00mylist0101mylistmylist2mylistmylist0mylist00mylist00mylist0mylist0mylist0mylistmylistmylistx0,1,2,30,1,2,3mytup1,2,3,4,5mytup0mytup02mytupmytupmytupmytup0mytupmytup1mytup2xmydictmydictkeymydictkey0mydictkey0mydictkeymydictkeymydictkey0mydictmydictmydictmydictxmydict{"name":"Mixly","color":"green"}s11,2,3,4,5s1s1s1s2s1s2s10s1Mixlys1s2x000000000000 \ No newline at end of file diff --git a/boards/default/python_skulpt_mixtoy/main.bundle.js b/boards/default/python_skulpt_mixtoy/main.bundle.js index 966dd00c..9b4235bd 100644 --- a/boards/default/python_skulpt_mixtoy/main.bundle.js +++ b/boards/default/python_skulpt_mixtoy/main.bundle.js @@ -1,4 +1,4 @@ -(()=>{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Z,controls_typeLists:()=>z,variables_change:()=>Q,variables_get:()=>j,variables_global:()=>J,variables_set:()=>q});var i={};t.r(i),t.d(i,{base_setup:()=>et,controls_delay:()=>it,controls_end_program:()=>nt,controls_except:()=>Et,controls_finally:()=>Ot,controls_flow_statements:()=>ut,controls_for:()=>lt,controls_forEach:()=>_t,controls_for_range:()=>rt,controls_if:()=>st,controls_if_else:()=>dt,controls_if_elseif:()=>It,controls_if_if:()=>Tt,controls_lambda:()=>Rt,controls_main:()=>tt,controls_pass:()=>ct,controls_range:()=>ot,controls_repeat_ext:()=>Mt,controls_thread:()=>mt,controls_try:()=>ht,controls_try_finally:()=>at,controls_whileUntil:()=>pt,do_while:()=>At});var n={};t.r(n),t.d(n,{base_map:()=>wt,math_arithmetic:()=>Dt,math_bit:()=>Pt,math_constant:()=>Ct,math_constant_mp:()=>St,math_constrain:()=>bt,math_dec:()=>Ft,math_indexer_number:()=>Xt,math_map:()=>kt,math_max_min:()=>Vt,math_number:()=>Lt,math_number_base_conversion:()=>Yt,math_random:()=>yt,math_random_seed:()=>Ut,math_round:()=>Gt,math_selfcalcu:()=>Nt,math_to_int:()=>vt,math_trig:()=>ft,text_to_number:()=>Bt,text_to_number_skulpt:()=>xt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>Qt,char_to_ascii:()=>Jt,number_to_text:()=>Zt,os_system:()=>Ae,text:()=>Wt,text_capital:()=>_e,text_center:()=>pe,text_char:()=>jt,text_char_at:()=>te,text_char_at2:()=>$t,text_char_at3:()=>Me,text_compareTo:()=>Oe,text_compare_to:()=>oe,text_create_with_container:()=>de,text_create_with_item:()=>he,text_encode:()=>ce,text_equals_starts_ends:()=>se,text_eval:()=>me,text_find:()=>ae,text_format:()=>Ie,text_format_noreturn:()=>Re,text_join:()=>qt,text_join_seq:()=>ue,text_length:()=>zt,text_random_char:()=>ee,text_replace:()=>le,text_split:()=>re,text_strip:()=>Te,text_substring:()=>ne,text_substring2:()=>ie,text_substring3:()=>Ee,text_textarea:()=>Kt});var o={};t.r(o),t.d(o,{list_many_input:()=>We,list_tolist:()=>ze,list_tolist2:()=>_i,list_trig:()=>xe,lists_2d_get_col_row_data:()=>De,lists_2d_get_data_with_col_row:()=>Se,lists_append_extend:()=>Ve,lists_change_to:()=>He,lists_change_to_general:()=>je,lists_clear:()=>Xe,lists_create_with:()=>Ne,lists_create_with2:()=>$e,lists_create_with_container:()=>fe,lists_create_with_item:()=>Fe,lists_create_with_noreturn:()=>Ke,lists_create_with_text:()=>Pe,lists_create_with_text2:()=>ti,lists_del_general:()=>qe,lists_find:()=>Be,lists_getIndex3:()=>ei,lists_getSublist3:()=>ii,lists_get_index:()=>Le,lists_get_random_item:()=>Ye,lists_get_random_sublist:()=>ye,lists_get_sublist:()=>Ce,lists_insert_value:()=>be,lists_insert_value2:()=>si,lists_pop:()=>Ge,lists_remove_at:()=>Ue,lists_remove_at2:()=>oi,lists_reverse:()=>ke,lists_setIndex3:()=>ni,lists_set_index:()=>ve,lists_sort:()=>we,lists_zip:()=>Qe,lists_zip_container:()=>Je,lists_zip_item:()=>Ze});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Ai,dicts_add_or_change:()=>di,dicts_clear:()=>Oi,dicts_create_with:()=>ai,dicts_create_with_container:()=>ui,dicts_create_with_item:()=>li,dicts_create_with_noreturn:()=>Ci,dicts_deldict:()=>mi,dicts_delete:()=>hi,dicts_get:()=>Ti,dicts_get_default:()=>Ii,dicts_items:()=>Mi,dicts_keys:()=>ri,dicts_length:()=>ci,dicts_pop:()=>gi,dicts_setdefault:()=>Li,dicts_to_json:()=>Di,dicts_todict:()=>Si,dicts_update:()=>Ei,dicts_values:()=>Ri,json_to_dicts:()=>Ni});var p={};t.r(p),t.d(p,{logic_boolean:()=>Yi,logic_compare:()=>fi,logic_compare_continous:()=>Fi,logic_is:()=>Xi,logic_is_in:()=>ki,logic_negate:()=>Vi,logic_null:()=>yi,logic_operation:()=>vi,logic_tobool:()=>Ui,logic_true_or_false:()=>bi});var a={};t.r(a),t.d(a,{sdcard_mount:()=>un,sdcard_use_spi_init:()=>an,storage_can_write_ornot:()=>qi,storage_change_dir:()=>_n,storage_close_file:()=>Ji,storage_delete_file:()=>zi,storage_file_seek:()=>en,storage_file_tell:()=>tn,storage_file_write:()=>Hi,storage_fileopen:()=>Bi,storage_fileopen_new:()=>xi,storage_fileopen_new_encoding:()=>wi,storage_get_a_line:()=>ji,storage_get_contents:()=>Ki,storage_get_contents_without_para:()=>Wi,storage_get_current_dir:()=>nn,storage_get_file_size:()=>$i,storage_get_filename:()=>Qi,storage_is_file:()=>pn,storage_list_all_files:()=>Zi,storage_make_dir:()=>sn,storage_open_file_with_os:()=>Gi,storage_rename:()=>on});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>dn,procedures_callreturn:()=>hn,procedures_defnoreturn:()=>ln,procedures_defreturn:()=>rn,procedures_ifreturn:()=>En,procedures_mutatorarg:()=>In,procedures_mutatorcontainer:()=>Tn,procedures_return:()=>On});var l={};t.r(l),t.d(l,{tuple_change_to:()=>Pn,tuple_create_with:()=>Rn,tuple_create_with_container:()=>cn,tuple_create_with_item:()=>mn,tuple_create_with_noreturn:()=>Vn,tuple_create_with_text2:()=>An,tuple_create_with_text_return:()=>gn,tuple_del:()=>Sn,tuple_find:()=>fn,tuple_getIndex:()=>Ln,tuple_getSublist:()=>vn,tuple_get_random_item:()=>yn,tuple_get_sublist:()=>Yn,tuple_join:()=>Dn,tuple_length:()=>Cn,tuple_max:()=>Nn,tuple_totuple:()=>bn,tuple_trig:()=>Fn});var r={};t.r(r),t.d(r,{set_add_discard:()=>Kn,set_clear:()=>wn,set_create_with:()=>Xn,set_create_with_container:()=>Un,set_create_with_item:()=>Gn,set_create_with_text_return:()=>Qn,set_length:()=>Bn,set_operate:()=>Hn,set_operate_update:()=>Wn,set_pop:()=>xn,set_sub:()=>jn,set_toset:()=>Jn,set_update:()=>qn});var T={};t.r(T),t.d(T,{html_content:()=>es,html_content_more:()=>is,html_document:()=>zn,html_form:()=>ss,html_head_body:()=>ts,html_style:()=>ns,html_style_color:()=>_s,html_style_content:()=>os,html_text:()=>ps,html_title:()=>$n});var I={};t.r(I),t.d(I,{attribute_access:()=>ms,function_call:()=>Ms,function_call_container:()=>Rs,function_call_item:()=>cs,raw_block:()=>ls,raw_empty:()=>Ts,raw_expression:()=>rs,raw_table:()=>us,text_comment:()=>Is,text_print_multiple:()=>hs,text_print_multiple_container:()=>Es,text_print_multiple_item:()=>Os,type_check:()=>ds});var d={};t.r(d),t.d(d,{array_create:()=>Xs,array_toarray:()=>zs,dataframe_create:()=>Cs,dataframe_create_from_index:()=>Ds,dataframe_create_from_one_index:()=>Ss,dataframe_get:()=>Qs,numpy_trig:()=>Ks,pandas_readcsv:()=>qs,pl_axes:()=>Ys,pl_bar:()=>xs,pl_hist:()=>Hs,pl_label:()=>ks,pl_legend:()=>ys,pl_pie:()=>ws,pl_plot:()=>vs,pl_plot_bar:()=>Us,pl_plot_easy:()=>Fs,pl_plot_scatter:()=>Gs,pl_plot_xy:()=>Bs,pl_savefig:()=>Js,pl_show:()=>Vs,pl_subplot:()=>js,pl_text:()=>Zs,pl_ticks:()=>Ws,pl_title:()=>bs,plot_axes:()=>io,plot_bar:()=>uo,plot_hist:()=>ro,plot_label:()=>oo,plot_legend:()=>no,plot_pie:()=>lo,plot_plot:()=>to,plot_plot_bar:()=>_o,plot_plot_easy:()=>$s,plot_plot_scatter:()=>po,plot_plot_xy:()=>ao,plot_savefig:()=>ho,plot_show:()=>eo,plot_subplot:()=>Io,plot_text:()=>Eo,plot_ticks:()=>To,plot_title:()=>so,series_create:()=>gs,series_create_from_index:()=>Ls,series_create_from_text:()=>Ns,series_get_num:()=>fs,series_index_value:()=>Ps});var h={};t.r(h),t.d(h,{inout_input:()=>Mo,inout_print:()=>Ro,inout_print_container:()=>Lo,inout_print_end:()=>mo,inout_print_inline:()=>co,inout_print_item:()=>Co,inout_print_many:()=>go,inout_type_input:()=>Ao});var E={};t.r(E),t.d(E,{Panic_with_status_code:()=>fo,base_delay:()=>Do,controls_millis:()=>No,controls_mstimer2:()=>vo,controls_mstimer2_start:()=>Vo,controls_mstimer2_stop:()=>Yo,reset:()=>Fo,time_localtime:()=>Po,time_sleep:()=>yo});var O={};t.r(O),t.d(O,{turtle_bgcolor:()=>i_,turtle_bgcolor_hex:()=>r_,turtle_bgcolor_hex_new:()=>__,turtle_circle:()=>$o,turtle_circle_advanced:()=>t_,turtle_clear:()=>jo,turtle_clone:()=>o_,turtle_color:()=>u_,turtle_color_hex:()=>l_,turtle_color_seclet:()=>m_,turtle_create:()=>ko,turtle_done:()=>Xo,turtle_exitonclick:()=>Uo,turtle_fill:()=>Qo,turtle_fillcolor:()=>s_,turtle_fillcolor_hex:()=>I_,turtle_fillcolor_hex_new:()=>a_,turtle_getscreen:()=>A_,turtle_goto:()=>Ho,turtle_listen:()=>S_,turtle_move:()=>Go,turtle_numinput:()=>E_,turtle_onclick:()=>L_,turtle_onkey:()=>g_,turtle_ontimer:()=>C_,turtle_pencolor:()=>n_,turtle_pencolor_hex:()=>T_,turtle_pencolor_hex_new:()=>p_,turtle_penup:()=>qo,turtle_pos_shape:()=>Ko,turtle_rotate:()=>Bo,turtle_screen_delay:()=>wo,turtle_screen_savefig:()=>D_,turtle_setheading:()=>xo,turtle_setxy:()=>Wo,turtle_shape:()=>d_,turtle_shapesize:()=>h_,turtle_size:()=>Zo,turtle_size_speed:()=>Jo,turtle_speed:()=>zo,turtle_textinput:()=>O_,turtle_visible:()=>e_,turtle_write:()=>M_,turtle_write_format:()=>R_,turtle_write_format_skulpt:()=>c_});var M={};t.r(M),t.d(M,{Turn:()=>V_,addOil:()=>Z_,checkMarker:()=>$_,find_books_by_dichotomy:()=>np,find_books_by_sequence:()=>sp,game_get_character_img:()=>w_,game_get_local_img:()=>U_,game_get_path_img:()=>B_,game_init:()=>f_,getMarkerNum:()=>tp,get_actor_point:()=>W_,initSettedMap:()=>P_,initialize:()=>H_,isBarrier:()=>K_,isCirculationRight:()=>z_,isDone:()=>Y_,isLightGreen:()=>J_,isOilFull:()=>Q_,isPath:()=>y_,is_Related_Barrier:()=>j_,is_Related_Path:()=>b_,move_direction_steps:()=>F_,move_related_to_spirite:()=>v_,place_item:()=>x_,randomOil:()=>q_,randomPlaceBarrier:()=>ep,set_map:()=>X_,set_map_bg:()=>k_,set_pathtype:()=>G_,settedSimpleMap:()=>ip});var R={};t.r(R),t.d(R,{controls_type:()=>up,controls_typeLists:()=>lp,variables_change:()=>pp,variables_get:()=>op,variables_global:()=>ap,variables_set:()=>_p});var c={};t.r(c),t.d(c,{Panic_with_status_code:()=>cp,base_setup:()=>Tp,controls_delay:()=>Rp,controls_flow_statements:()=>Mp,controls_for:()=>hp,controls_forEach:()=>Cp,controls_for_range:()=>Ep,controls_if:()=>Ip,controls_interrupts:()=>gp,controls_lambda:()=>Dp,controls_main:()=>rp,controls_millis:()=>mp,controls_nointerrupts:()=>Lp,controls_pass:()=>Pp,controls_range:()=>Sp,controls_repeat:()=>Vp,controls_repeat_ext:()=>vp,controls_thread:()=>fp,controls_try_finally:()=>dp,controls_whileUntil:()=>Op,do_while:()=>Fp,reset:()=>Ap,time_sleep:()=>Np});var m={};t.r(m),t.d(m,{base_map:()=>ta,math_arithmetic:()=>Xp,math_bit:()=>kp,math_constant:()=>yp,math_constant_mp:()=>bp,math_constrain:()=>jp,math_dec:()=>xp,math_indexer_number:()=>Jp,math_map:()=>Kp,math_max_min:()=>Hp,math_number:()=>Yp,math_number_base_conversion:()=>qp,math_random:()=>Wp,math_random_seed:()=>Qp,math_round:()=>Zp,math_selfcalcu:()=>Up,math_single:()=>Gp,math_to_int:()=>wp,math_trig:()=>Bp,text_to_number:()=>zp,text_to_number_skulpt:()=>$p});var A={};t.r(A),t.d(A,{ascii_to_char:()=>oa,char_to_ascii:()=>_a,number_to_text:()=>pa,os_system:()=>fa,text:()=>ea,text_capital:()=>Ea,text_center:()=>Oa,text_char:()=>na,text_char_at:()=>la,text_char_at2:()=>ua,text_char_at3:()=>Da,text_compareTo:()=>Sa,text_compare_to:()=>Ia,text_encode:()=>Na,text_equals_starts_ends:()=>Ta,text_eval:()=>Pa,text_find:()=>Ma,text_format:()=>ga,text_format_noreturn:()=>La,text_join:()=>sa,text_join_seq:()=>Ra,text_length:()=>aa,text_random_char:()=>ra,text_replace:()=>ca,text_split:()=>ma,text_strip:()=>Aa,text_substring:()=>ha,text_substring2:()=>da,text_substring3:()=>Ca,text_textarea:()=>ia});var g={};t.r(g),t.d(g,{list_many_input:()=>Ja,list_tolist:()=>au,list_tolist2:()=>uu,list_trig:()=>ja,lists_2d_get_col_row_data:()=>Va,lists_2d_get_data_with_col_row:()=>va,lists_append_extend:()=>Xa,lists_change_to:()=>Qa,lists_change_to_general:()=>za,lists_clear:()=>wa,lists_create_with:()=>Ya,lists_create_with2:()=>tu,lists_create_with_noreturn:()=>Za,lists_create_with_text:()=>ya,lists_create_with_text2:()=>eu,lists_del_general:()=>$a,lists_find:()=>Ha,lists_getIndex3:()=>iu,lists_getSublist3:()=>nu,lists_get_index:()=>ba,lists_get_random_item:()=>Ua,lists_get_random_sublist:()=>Ga,lists_get_sublist:()=>Fa,lists_insert_value:()=>Ba,lists_insert_value2:()=>ou,lists_pop:()=>Ka,lists_remove_at:()=>Wa,lists_remove_at2:()=>_u,lists_reverse:()=>xa,lists_setIndex3:()=>su,lists_set_index:()=>ka,lists_sort:()=>qa,lists_zip:()=>pu});var L={};t.r(L),t.d(L,{dicts_add_change_del:()=>Au,dicts_add_or_change:()=>du,dicts_clear:()=>Ou,dicts_create_with:()=>lu,dicts_create_with_noreturn:()=>Cu,dicts_deldict:()=>mu,dicts_delete:()=>hu,dicts_get:()=>Tu,dicts_get_default:()=>Iu,dicts_items:()=>Mu,dicts_keys:()=>ru,dicts_length:()=>cu,dicts_pop:()=>gu,dicts_setdefault:()=>Lu,dicts_to_json:()=>Du,dicts_todict:()=>Su,dicts_update:()=>Eu,dicts_values:()=>Ru,json_to_dicts:()=>Nu});var C={};t.r(C),t.d(C,{logic_boolean:()=>Vu,logic_compare:()=>Pu,logic_compare_continous:()=>fu,logic_is:()=>ku,logic_is_in:()=>bu,logic_negate:()=>vu,logic_null:()=>Yu,logic_operation:()=>Fu,logic_tobool:()=>Xu,logic_true_or_false:()=>yu});var S={};t.r(S),t.d(S,{sdcard_mount:()=>pl,sdcard_use_spi_init:()=>_l,storage_can_write_ornot:()=>ju,storage_change_dir:()=>el,storage_close_file:()=>Qu,storage_delete_file:()=>Zu,storage_file_seek:()=>tl,storage_file_tell:()=>$u,storage_file_write:()=>wu,storage_fileopen:()=>Gu,storage_fileopen_new:()=>Bu,storage_fileopen_new_encoding:()=>xu,storage_get_a_line:()=>Ku,storage_get_contents:()=>Wu,storage_get_contents_without_para:()=>Hu,storage_get_current_dir:()=>il,storage_get_file_size:()=>zu,storage_get_filename:()=>qu,storage_is_file:()=>ol,storage_list_all_files:()=>Ju,storage_make_dir:()=>nl,storage_open_file_with_os:()=>Uu,storage_rename:()=>sl});var D={};t.r(D),t.d(D,{procedures_callnoreturn:()=>rl,procedures_callreturn:()=>ll,procedures_defnoreturn:()=>ul,procedures_defreturn:()=>al,procedures_ifreturn:()=>Tl,procedures_return:()=>Il});var N={};t.r(N),t.d(N,{tuple_change_to:()=>Al,tuple_create_with:()=>dl,tuple_create_with_noreturn:()=>Sl,tuple_create_with_text2:()=>hl,tuple_create_with_text_return:()=>El,tuple_del:()=>Rl,tuple_find:()=>gl,tuple_getIndex:()=>Ol,tuple_getSublist:()=>Cl,tuple_get_random_item:()=>Nl,tuple_get_sublist:()=>Dl,tuple_join:()=>cl,tuple_length:()=>Ml,tuple_max:()=>ml,tuple_totuple:()=>Pl,tuple_trig:()=>Ll});var P={};t.r(P),t.d(P,{set_add_discard:()=>bl,set_clear:()=>Vl,set_create_with:()=>fl,set_create_with_text_return:()=>Ul,set_length:()=>Fl,set_operate:()=>Yl,set_operate_update:()=>yl,set_pop:()=>vl,set_sub:()=>kl,set_toset:()=>Gl,set_update:()=>Xl});var f={};t.r(f),t.d(f,{html_content:()=>Hl,html_content_more:()=>Wl,html_document:()=>Bl,html_form:()=>jl,html_head_body:()=>wl,html_style:()=>Kl,html_style_content:()=>ql,html_text:()=>Ql,html_title:()=>xl});var F={};t.r(F),t.d(F,{attribute_access:()=>ir,function_call:()=>er,raw_block:()=>Jl,raw_empty:()=>zl,raw_expression:()=>Zl,raw_table:()=>$l,type_check:()=>tr});var v={};t.r(v),t.d(v,{array_create:()=>Mr,array_toarray:()=>vr,dataframe_create:()=>or,dataframe_create_from_index:()=>_r,dataframe_create_from_one_index:()=>pr,dataframe_get:()=>Pr,numpy_trig:()=>Sr,pandas_readcsv:()=>Nr,pl_axes:()=>Tr,pl_bar:()=>Ar,pl_hist:()=>Lr,pl_label:()=>Or,pl_legend:()=>hr,pl_pie:()=>gr,pl_plot:()=>dr,pl_plot_bar:()=>Rr,pl_plot_easy:()=>Ir,pl_plot_scatter:()=>cr,pl_plot_xy:()=>mr,pl_savefig:()=>fr,pl_show:()=>rr,pl_subplot:()=>Dr,pl_text:()=>Fr,pl_ticks:()=>Cr,pl_title:()=>Er,plot_axes:()=>Yr,plot_bar:()=>wr,plot_hist:()=>Wr,plot_label:()=>Ur,plot_legend:()=>kr,plot_pie:()=>Hr,plot_plot:()=>br,plot_plot_bar:()=>Gr,plot_plot_easy:()=>yr,plot_plot_scatter:()=>Br,plot_plot_xy:()=>xr,plot_savefig:()=>qr,plot_show:()=>Vr,plot_subplot:()=>jr,plot_text:()=>Qr,plot_ticks:()=>Kr,plot_title:()=>Xr,series_create:()=>nr,series_create_from_index:()=>sr,series_create_from_text:()=>ar,series_get_num:()=>lr,series_index_value:()=>ur});var V={};t.r(V),t.d(V,{inout_input:()=>Jr,inout_print:()=>Zr,inout_print_end:()=>$r,inout_print_inline:()=>zr,inout_print_many:()=>eT,inout_type_input:()=>tT});var Y={};t.r(Y),t.d(Y,{controls_end_program:()=>nT,controls_millis:()=>iT,time_localtime:()=>sT});var y={};t.r(y),t.d(y,{turtle_bgcolor:()=>LT,turtle_bgcolor_hex:()=>NT,turtle_bgcolor_hex_new:()=>FT,turtle_circle:()=>cT,turtle_circle_advanced:()=>AT,turtle_clear:()=>dT,turtle_clone:()=>DT,turtle_color:()=>yT,turtle_color_hex:()=>YT,turtle_color_seclet:()=>wT,turtle_create:()=>oT,turtle_done:()=>_T,turtle_exitonclick:()=>pT,turtle_fill:()=>ET,turtle_fillcolor:()=>ST,turtle_fillcolor_hex:()=>fT,turtle_fillcolor_hex_new:()=>VT,turtle_getscreen:()=>HT,turtle_goto:()=>TT,turtle_listen:()=>qT,turtle_move:()=>aT,turtle_numinput:()=>UT,turtle_onclick:()=>KT,turtle_onkey:()=>WT,turtle_ontimer:()=>jT,turtle_pencolor:()=>CT,turtle_pencolor_hex:()=>PT,turtle_pencolor_hex_new:()=>vT,turtle_penup:()=>hT,turtle_pos_shape:()=>IT,turtle_rotate:()=>uT,turtle_screen_delay:()=>rT,turtle_screen_savefig:()=>QT,turtle_setheading:()=>lT,turtle_setxy:()=>mT,turtle_shape:()=>bT,turtle_shapesize:()=>kT,turtle_size:()=>MT,turtle_size_speed:()=>OT,turtle_speed:()=>RT,turtle_textinput:()=>XT,turtle_visible:()=>gT,turtle_write:()=>GT,turtle_write_format:()=>BT,turtle_write_format_skulpt:()=>xT});var b={};t.r(b),t.d(b,{Turn:()=>tI,addOil:()=>MI,checkMarker:()=>cI,find_books_by_dichotomy:()=>LI,find_books_by_sequence:()=>CI,game_get_character_img:()=>aI,game_get_local_img:()=>oI,game_get_path_img:()=>rI,game_init:()=>JT,getMarkerNum:()=>mI,get_actor_point:()=>sI,initSettedMap:()=>$T,initialize:()=>uI,isBarrier:()=>II,isCirculationRight:()=>RI,isDone:()=>eI,isLightGreen:()=>OI,isOilFull:()=>EI,isPath:()=>iI,is_Related_Barrier:()=>dI,is_Related_Path:()=>nI,move_direction_steps:()=>ZT,move_related_to_spirite:()=>zT,place_item:()=>lI,randomOil:()=>hI,randomPlaceBarrier:()=>AI,set_map:()=>_I,set_map_bg:()=>pI,set_pathtype:()=>TI,settedSimpleMap:()=>gI});const k=Blockly,X=Mixly,U={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},G=U,B={};B.NAME_TYPE=k.PROCEDURE_CATEGORY_NAME,B.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s{"use strict";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{controls_type:()=>Z,controls_typeLists:()=>z,variables_change:()=>Q,variables_get:()=>j,variables_global:()=>J,variables_set:()=>q});var i={};t.r(i),t.d(i,{base_setup:()=>et,controls_delay:()=>it,controls_end_program:()=>nt,controls_except:()=>Et,controls_finally:()=>Ot,controls_flow_statements:()=>ut,controls_for:()=>lt,controls_forEach:()=>_t,controls_for_range:()=>rt,controls_if:()=>st,controls_if_else:()=>dt,controls_if_elseif:()=>It,controls_if_if:()=>Tt,controls_lambda:()=>Rt,controls_main:()=>tt,controls_pass:()=>ct,controls_range:()=>ot,controls_repeat_ext:()=>Mt,controls_thread:()=>mt,controls_try:()=>ht,controls_try_finally:()=>at,controls_whileUntil:()=>pt,do_while:()=>At,garbage_collection:()=>gt,get_mem_alloc:()=>Lt,get_mem_free:()=>Ct});var n={};t.r(n),t.d(n,{base_map:()=>Kt,math_arithmetic:()=>ft,math_bit:()=>vt,math_constant:()=>Nt,math_constant_mp:()=>Pt,math_constrain:()=>Ut,math_dec:()=>Yt,math_indexer_number:()=>Bt,math_map:()=>Gt,math_max_min:()=>bt,math_number:()=>Dt,math_number_base_conversion:()=>kt,math_random:()=>Xt,math_random_seed:()=>xt,math_round:()=>wt,math_selfcalcu:()=>Ft,math_to_int:()=>yt,math_trig:()=>Vt,text_to_number:()=>Ht,text_to_number_skulpt:()=>Wt});var s={};t.r(s),t.d(s,{ascii_to_char:()=>zt,char_to_ascii:()=>$t,number_to_text:()=>te,os_system:()=>Ce,text:()=>qt,text_capital:()=>ue,text_center:()=>le,text_char:()=>Jt,text_char_at:()=>ne,text_char_at2:()=>ie,text_char_at3:()=>me,text_compareTo:()=>ce,text_compare_to:()=>ae,text_create_with_container:()=>Oe,text_create_with_item:()=>Me,text_encode:()=>ge,text_equals_starts_ends:()=>pe,text_eval:()=>Le,text_find:()=>re,text_format:()=>Ee,text_format_noreturn:()=>Ae,text_join:()=>Zt,text_join_seq:()=>Te,text_length:()=>ee,text_random_char:()=>se,text_replace:()=>Ie,text_split:()=>de,text_strip:()=>he,text_substring:()=>_e,text_substring2:()=>oe,text_substring3:()=>Re,text_textarea:()=>Qt});var o={};t.r(o),t.d(o,{list_many_input:()=>qe,list_tolist:()=>ei,list_tolist2:()=>ui,list_trig:()=>We,lists_2d_get_col_row_data:()=>fe,lists_2d_get_data_with_col_row:()=>Pe,lists_append_extend:()=>be,lists_change_to:()=>je,lists_change_to_general:()=>Je,lists_clear:()=>Be,lists_create_with:()=>Fe,lists_create_with2:()=>ii,lists_create_with_container:()=>Ve,lists_create_with_item:()=>Ye,lists_create_with_noreturn:()=>Qe,lists_create_with_text:()=>ve,lists_create_with_text2:()=>ni,lists_del_general:()=>Ze,lists_find:()=>He,lists_getIndex3:()=>si,lists_getSublist3:()=>oi,lists_get_index:()=>De,lists_get_random_item:()=>ke,lists_get_random_sublist:()=>Xe,lists_get_sublist:()=>Ne,lists_insert_value:()=>Ue,lists_insert_value2:()=>pi,lists_pop:()=>we,lists_remove_at:()=>xe,lists_remove_at2:()=>ai,lists_reverse:()=>Ge,lists_setIndex3:()=>_i,lists_set_index:()=>ye,lists_sort:()=>Ke,lists_zip:()=>ze,lists_zip_container:()=>$e,lists_zip_item:()=>ti});var _={};t.r(_),t.d(_,{dicts_add_change_del:()=>Ci,dicts_add_or_change:()=>Oi,dicts_clear:()=>ci,dicts_create_with:()=>ri,dicts_create_with_container:()=>Ti,dicts_create_with_item:()=>Ii,dicts_create_with_noreturn:()=>Ni,dicts_deldict:()=>Li,dicts_delete:()=>Mi,dicts_get:()=>hi,dicts_get_default:()=>Ei,dicts_items:()=>mi,dicts_keys:()=>di,dicts_length:()=>gi,dicts_pop:()=>Si,dicts_setdefault:()=>Di,dicts_to_json:()=>fi,dicts_todict:()=>Pi,dicts_update:()=>Ri,dicts_values:()=>Ai,json_to_dicts:()=>Fi});var p={};t.r(p),t.d(p,{logic_boolean:()=>ki,logic_compare:()=>Vi,logic_compare_continous:()=>Yi,logic_is:()=>Bi,logic_is_in:()=>Gi,logic_negate:()=>bi,logic_null:()=>Xi,logic_operation:()=>yi,logic_tobool:()=>xi,logic_true_or_false:()=>Ui});var a={};t.r(a),t.d(a,{sdcard_mount:()=>Tn,sdcard_use_spi_init:()=>rn,storage_can_write_ornot:()=>Zi,storage_change_dir:()=>un,storage_close_file:()=>$i,storage_delete_file:()=>en,storage_file_seek:()=>on,storage_file_tell:()=>sn,storage_file_write:()=>ji,storage_fileopen:()=>Hi,storage_fileopen_new:()=>Wi,storage_fileopen_new_encoding:()=>Ki,storage_get_a_line:()=>Ji,storage_get_contents:()=>Qi,storage_get_contents_without_para:()=>qi,storage_get_current_dir:()=>_n,storage_get_file_size:()=>nn,storage_get_filename:()=>zi,storage_is_file:()=>ln,storage_list_all_files:()=>tn,storage_make_dir:()=>pn,storage_open_file_with_os:()=>wi,storage_rename:()=>an});var u={};t.r(u),t.d(u,{procedures_callnoreturn:()=>On,procedures_callreturn:()=>Mn,procedures_defnoreturn:()=>In,procedures_defreturn:()=>dn,procedures_ifreturn:()=>Rn,procedures_mutatorarg:()=>En,procedures_mutatorcontainer:()=>hn,procedures_return:()=>cn});var l={};t.r(l),t.d(l,{tuple_change_to:()=>vn,tuple_create_with:()=>An,tuple_create_with_container:()=>gn,tuple_create_with_item:()=>Ln,tuple_create_with_noreturn:()=>bn,tuple_create_with_text2:()=>Cn,tuple_create_with_text_return:()=>Sn,tuple_del:()=>Pn,tuple_find:()=>Vn,tuple_getIndex:()=>Dn,tuple_getSublist:()=>yn,tuple_get_random_item:()=>Xn,tuple_get_sublist:()=>kn,tuple_join:()=>fn,tuple_length:()=>Nn,tuple_max:()=>Fn,tuple_totuple:()=>Un,tuple_trig:()=>Yn});var r={};t.r(r),t.d(r,{set_add_discard:()=>Qn,set_clear:()=>Kn,set_create_with:()=>Bn,set_create_with_container:()=>xn,set_create_with_item:()=>wn,set_create_with_text_return:()=>zn,set_length:()=>Hn,set_operate:()=>jn,set_operate_update:()=>qn,set_pop:()=>Wn,set_sub:()=>Jn,set_toset:()=>$n,set_update:()=>Zn});var T={};t.r(T),t.d(T,{html_content:()=>ss,html_content_more:()=>os,html_document:()=>es,html_form:()=>ps,html_head_body:()=>ns,html_style:()=>_s,html_style_color:()=>us,html_style_content:()=>as,html_text:()=>ls,html_title:()=>is});var I={};t.r(I),t.d(I,{attribute_access:()=>Ls,function_call:()=>ms,function_call_container:()=>As,function_call_item:()=>gs,raw_block:()=>Is,raw_empty:()=>hs,raw_expression:()=>ds,raw_table:()=>Ts,text_comment:()=>Es,text_print_multiple:()=>Ms,text_print_multiple_container:()=>Rs,text_print_multiple_item:()=>cs,type_check:()=>Os});var d={};t.r(d),t.d(d,{array_create:()=>Bs,array_toarray:()=>eo,dataframe_create:()=>Ns,dataframe_create_from_index:()=>fs,dataframe_create_from_one_index:()=>Ps,dataframe_get:()=>zs,numpy_trig:()=>Qs,pandas_readcsv:()=>Zs,pl_axes:()=>ks,pl_bar:()=>Ws,pl_hist:()=>js,pl_label:()=>Gs,pl_legend:()=>Xs,pl_pie:()=>Ks,pl_plot:()=>ys,pl_plot_bar:()=>xs,pl_plot_easy:()=>Ys,pl_plot_scatter:()=>ws,pl_plot_xy:()=>Hs,pl_savefig:()=>$s,pl_show:()=>bs,pl_subplot:()=>Js,pl_text:()=>to,pl_ticks:()=>qs,pl_title:()=>Us,plot_axes:()=>oo,plot_bar:()=>To,plot_hist:()=>ho,plot_label:()=>ao,plot_legend:()=>_o,plot_pie:()=>Io,plot_plot:()=>no,plot_plot_bar:()=>uo,plot_plot_easy:()=>io,plot_plot_scatter:()=>lo,plot_plot_xy:()=>ro,plot_savefig:()=>Mo,plot_show:()=>so,plot_subplot:()=>Oo,plot_text:()=>Ro,plot_ticks:()=>Eo,plot_title:()=>po,series_create:()=>Ss,series_create_from_index:()=>Ds,series_create_from_text:()=>Fs,series_get_num:()=>Vs,series_index_value:()=>vs});var h={};t.r(h),t.d(h,{inout_input:()=>mo,inout_print:()=>Ao,inout_print_container:()=>Do,inout_print_end:()=>Lo,inout_print_inline:()=>go,inout_print_item:()=>No,inout_print_many:()=>So,inout_type_input:()=>Co});var E={};t.r(E),t.d(E,{Panic_with_status_code:()=>Vo,base_delay:()=>fo,controls_millis:()=>Fo,controls_mstimer2:()=>yo,controls_mstimer2_start:()=>bo,controls_mstimer2_stop:()=>ko,reset:()=>Yo,time_localtime:()=>vo,time_sleep:()=>Xo});var O={};t.r(O),t.d(O,{turtle_bgcolor:()=>o_,turtle_bgcolor_hex:()=>d_,turtle_bgcolor_hex_new:()=>u_,turtle_circle:()=>i_,turtle_circle_advanced:()=>n_,turtle_clear:()=>Jo,turtle_clone:()=>a_,turtle_color:()=>T_,turtle_color_hex:()=>I_,turtle_color_seclet:()=>L_,turtle_create:()=>Go,turtle_done:()=>Bo,turtle_exitonclick:()=>xo,turtle_fill:()=>zo,turtle_fillcolor:()=>p_,turtle_fillcolor_hex:()=>E_,turtle_fillcolor_hex_new:()=>r_,turtle_getscreen:()=>C_,turtle_goto:()=>jo,turtle_listen:()=>P_,turtle_move:()=>wo,turtle_numinput:()=>R_,turtle_onclick:()=>D_,turtle_onkey:()=>S_,turtle_ontimer:()=>N_,turtle_pencolor:()=>__,turtle_pencolor_hex:()=>h_,turtle_pencolor_hex_new:()=>l_,turtle_penup:()=>Zo,turtle_pos_shape:()=>Qo,turtle_rotate:()=>Ho,turtle_screen_delay:()=>Ko,turtle_screen_savefig:()=>f_,turtle_setheading:()=>Wo,turtle_setxy:()=>qo,turtle_shape:()=>O_,turtle_shapesize:()=>M_,turtle_size:()=>t_,turtle_size_speed:()=>$o,turtle_speed:()=>e_,turtle_textinput:()=>c_,turtle_visible:()=>s_,turtle_write:()=>m_,turtle_write_format:()=>A_,turtle_write_format_skulpt:()=>g_});var M={};t.r(M),t.d(M,{Turn:()=>b_,addOil:()=>tp,checkMarker:()=>ip,find_books_by_dichotomy:()=>_p,find_books_by_sequence:()=>pp,game_get_character_img:()=>K_,game_get_local_img:()=>x_,game_get_path_img:()=>H_,game_init:()=>V_,getMarkerNum:()=>np,get_actor_point:()=>q_,initSettedMap:()=>v_,initialize:()=>j_,isBarrier:()=>Q_,isCirculationRight:()=>ep,isDone:()=>k_,isLightGreen:()=>$_,isOilFull:()=>z_,isPath:()=>X_,is_Related_Barrier:()=>J_,is_Related_Path:()=>U_,move_direction_steps:()=>Y_,move_related_to_spirite:()=>y_,place_item:()=>W_,randomOil:()=>Z_,randomPlaceBarrier:()=>sp,set_map:()=>B_,set_map_bg:()=>G_,set_pathtype:()=>w_,settedSimpleMap:()=>op});var R={};t.r(R),t.d(R,{controls_type:()=>Tp,controls_typeLists:()=>Ip,variables_change:()=>lp,variables_get:()=>ap,variables_global:()=>rp,variables_set:()=>up});var c={};t.r(c),t.d(c,{Panic_with_status_code:()=>gp,base_setup:()=>hp,controls_delay:()=>Ap,controls_flow_statements:()=>mp,controls_for:()=>Mp,controls_forEach:()=>Np,controls_for_range:()=>Rp,controls_if:()=>Ep,controls_interrupts:()=>Sp,controls_lambda:()=>fp,controls_main:()=>dp,controls_millis:()=>Lp,controls_nointerrupts:()=>Dp,controls_pass:()=>vp,controls_range:()=>Pp,controls_repeat:()=>Up,controls_repeat_ext:()=>yp,controls_thread:()=>Vp,controls_try_finally:()=>Op,controls_whileUntil:()=>cp,do_while:()=>Yp,garbage_collection:()=>bp,get_mem_alloc:()=>kp,get_mem_free:()=>Xp,reset:()=>Cp,time_sleep:()=>Fp});var m={};t.r(m),t.d(m,{base_map:()=>_a,math_arithmetic:()=>Hp,math_bit:()=>wp,math_constant:()=>Bp,math_constant_mp:()=>xp,math_constrain:()=>$p,math_dec:()=>qp,math_indexer_number:()=>ia,math_map:()=>zp,math_max_min:()=>Jp,math_number:()=>Gp,math_number_base_conversion:()=>ta,math_random:()=>Zp,math_random_seed:()=>ea,math_round:()=>na,math_selfcalcu:()=>Wp,math_single:()=>Kp,math_to_int:()=>Qp,math_trig:()=>jp,text_to_number:()=>sa,text_to_number_skulpt:()=>oa});var A={};t.r(A),t.d(A,{ascii_to_char:()=>ra,char_to_ascii:()=>Ta,number_to_text:()=>Ia,os_system:()=>ba,text:()=>pa,text_capital:()=>Aa,text_center:()=>ga,text_char:()=>ua,text_char_at:()=>Ea,text_char_at2:()=>ha,text_char_at3:()=>Va,text_compareTo:()=>va,text_compare_to:()=>Ra,text_encode:()=>Ya,text_equals_starts_ends:()=>Ma,text_eval:()=>ya,text_find:()=>La,text_format:()=>Pa,text_format_noreturn:()=>fa,text_join:()=>la,text_join_seq:()=>Ca,text_length:()=>da,text_random_char:()=>Oa,text_replace:()=>Sa,text_split:()=>Da,text_strip:()=>Na,text_substring:()=>ma,text_substring2:()=>ca,text_substring3:()=>Fa,text_textarea:()=>aa});var g={};t.r(g),t.d(g,{list_many_input:()=>iu,list_tolist:()=>du,list_tolist2:()=>hu,list_trig:()=>$a,lists_2d_get_col_row_data:()=>Ua,lists_2d_get_data_with_col_row:()=>Xa,lists_append_extend:()=>Ha,lists_change_to:()=>eu,lists_change_to_general:()=>su,lists_clear:()=>Qa,lists_create_with:()=>Ga,lists_create_with2:()=>_u,lists_create_with_noreturn:()=>nu,lists_create_with_text:()=>Ba,lists_create_with_text2:()=>pu,lists_del_general:()=>ou,lists_find:()=>Ja,lists_getIndex3:()=>au,lists_getSublist3:()=>uu,lists_get_index:()=>xa,lists_get_random_item:()=>Wa,lists_get_random_sublist:()=>Ka,lists_get_sublist:()=>ka,lists_insert_value:()=>ja,lists_insert_value2:()=>ru,lists_pop:()=>za,lists_remove_at:()=>Za,lists_remove_at2:()=>Tu,lists_reverse:()=>qa,lists_setIndex3:()=>lu,lists_set_index:()=>wa,lists_sort:()=>tu,lists_zip:()=>Iu});var L={};t.r(L),t.d(L,{dicts_add_change_del:()=>Nu,dicts_add_or_change:()=>cu,dicts_clear:()=>gu,dicts_create_with:()=>Eu,dicts_create_with_noreturn:()=>Fu,dicts_deldict:()=>Du,dicts_delete:()=>mu,dicts_get:()=>Mu,dicts_get_default:()=>Ru,dicts_items:()=>Lu,dicts_keys:()=>Ou,dicts_length:()=>Su,dicts_pop:()=>Pu,dicts_setdefault:()=>fu,dicts_to_json:()=>Vu,dicts_todict:()=>vu,dicts_update:()=>Au,dicts_values:()=>Cu,json_to_dicts:()=>Yu});var C={};t.r(C),t.d(C,{logic_boolean:()=>Uu,logic_compare:()=>yu,logic_compare_continous:()=>bu,logic_is:()=>wu,logic_is_in:()=>xu,logic_negate:()=>Xu,logic_null:()=>Gu,logic_operation:()=>ku,logic_tobool:()=>Hu,logic_true_or_false:()=>Bu});var S={};t.r(S),t.d(S,{sdcard_mount:()=>Il,sdcard_use_spi_init:()=>Tl,storage_can_write_ornot:()=>$u,storage_change_dir:()=>pl,storage_close_file:()=>el,storage_delete_file:()=>nl,storage_file_seek:()=>_l,storage_file_tell:()=>ol,storage_file_write:()=>Qu,storage_fileopen:()=>Ku,storage_fileopen_new:()=>ju,storage_fileopen_new_encoding:()=>qu,storage_get_a_line:()=>zu,storage_get_contents:()=>Zu,storage_get_contents_without_para:()=>Ju,storage_get_current_dir:()=>al,storage_get_file_size:()=>sl,storage_get_filename:()=>tl,storage_is_file:()=>rl,storage_list_all_files:()=>il,storage_make_dir:()=>ul,storage_open_file_with_os:()=>Wu,storage_rename:()=>ll});var D={};t.r(D),t.d(D,{procedures_callnoreturn:()=>Ol,procedures_callreturn:()=>El,procedures_defnoreturn:()=>hl,procedures_defreturn:()=>dl,procedures_ifreturn:()=>Ml,procedures_return:()=>Rl});var N={};t.r(N),t.d(N,{tuple_change_to:()=>Nl,tuple_create_with:()=>cl,tuple_create_with_noreturn:()=>vl,tuple_create_with_text2:()=>ml,tuple_create_with_text_return:()=>Al,tuple_del:()=>Cl,tuple_find:()=>Pl,tuple_getIndex:()=>gl,tuple_getSublist:()=>Fl,tuple_get_random_item:()=>Yl,tuple_get_sublist:()=>Vl,tuple_join:()=>Sl,tuple_length:()=>Ll,tuple_max:()=>Dl,tuple_totuple:()=>yl,tuple_trig:()=>fl});var P={};t.r(P),t.d(P,{set_add_discard:()=>xl,set_clear:()=>Ul,set_create_with:()=>bl,set_create_with_text_return:()=>Wl,set_length:()=>kl,set_operate:()=>Gl,set_operate_update:()=>Bl,set_pop:()=>Xl,set_sub:()=>wl,set_toset:()=>Kl,set_update:()=>Hl});var f={};t.r(f),t.d(f,{html_content:()=>Jl,html_content_more:()=>Zl,html_document:()=>jl,html_form:()=>$l,html_head_body:()=>Ql,html_style:()=>zl,html_style_content:()=>tr,html_text:()=>er,html_title:()=>ql});var F={};t.r(F),t.d(F,{attribute_access:()=>ar,function_call:()=>pr,raw_block:()=>ir,raw_empty:()=>sr,raw_expression:()=>nr,raw_table:()=>or,type_check:()=>_r});var v={};t.r(v),t.d(v,{array_create:()=>Lr,array_toarray:()=>Xr,dataframe_create:()=>rr,dataframe_create_from_index:()=>Tr,dataframe_create_from_one_index:()=>Ir,dataframe_get:()=>yr,numpy_trig:()=>vr,pandas_readcsv:()=>Yr,pl_axes:()=>Mr,pl_bar:()=>Nr,pl_hist:()=>fr,pl_label:()=>gr,pl_legend:()=>mr,pl_pie:()=>Pr,pl_plot:()=>cr,pl_plot_bar:()=>Cr,pl_plot_easy:()=>Rr,pl_plot_scatter:()=>Sr,pl_plot_xy:()=>Dr,pl_savefig:()=>br,pl_show:()=>Or,pl_subplot:()=>Vr,pl_text:()=>kr,pl_ticks:()=>Fr,pl_title:()=>Ar,plot_axes:()=>Gr,plot_bar:()=>Qr,plot_hist:()=>Zr,plot_label:()=>Wr,plot_legend:()=>wr,plot_pie:()=>Jr,plot_plot:()=>xr,plot_plot_bar:()=>Kr,plot_plot_easy:()=>Br,plot_plot_scatter:()=>jr,plot_plot_xy:()=>qr,plot_savefig:()=>tT,plot_show:()=>Ur,plot_subplot:()=>$r,plot_text:()=>eT,plot_ticks:()=>zr,plot_title:()=>Hr,series_create:()=>ur,series_create_from_index:()=>lr,series_create_from_text:()=>dr,series_get_num:()=>Er,series_index_value:()=>hr});var V={};t.r(V),t.d(V,{inout_input:()=>iT,inout_print:()=>nT,inout_print_end:()=>oT,inout_print_inline:()=>sT,inout_print_many:()=>pT,inout_type_input:()=>_T});var Y={};t.r(Y),t.d(Y,{controls_end_program:()=>uT,controls_millis:()=>aT,time_localtime:()=>lT});var y={};t.r(y),t.d(y,{turtle_bgcolor:()=>fT,turtle_bgcolor_hex:()=>YT,turtle_bgcolor_hex_new:()=>kT,turtle_circle:()=>ST,turtle_circle_advanced:()=>NT,turtle_clear:()=>cT,turtle_clone:()=>VT,turtle_color:()=>BT,turtle_color_hex:()=>GT,turtle_color_seclet:()=>QT,turtle_create:()=>rT,turtle_done:()=>TT,turtle_exitonclick:()=>IT,turtle_fill:()=>AT,turtle_fillcolor:()=>vT,turtle_fillcolor_hex:()=>bT,turtle_fillcolor_hex_new:()=>UT,turtle_getscreen:()=>JT,turtle_goto:()=>MT,turtle_listen:()=>tI,turtle_move:()=>dT,turtle_numinput:()=>WT,turtle_onclick:()=>zT,turtle_onkey:()=>ZT,turtle_ontimer:()=>$T,turtle_pencolor:()=>FT,turtle_pencolor_hex:()=>yT,turtle_pencolor_hex_new:()=>XT,turtle_penup:()=>mT,turtle_pos_shape:()=>RT,turtle_rotate:()=>hT,turtle_screen_delay:()=>OT,turtle_screen_savefig:()=>eI,turtle_setheading:()=>ET,turtle_setxy:()=>DT,turtle_shape:()=>xT,turtle_shapesize:()=>wT,turtle_size:()=>LT,turtle_size_speed:()=>gT,turtle_speed:()=>CT,turtle_textinput:()=>HT,turtle_visible:()=>PT,turtle_write:()=>KT,turtle_write_format:()=>jT,turtle_write_format_skulpt:()=>qT});var b={};t.r(b),t.d(b,{Turn:()=>_I,addOil:()=>LI,checkMarker:()=>SI,find_books_by_dichotomy:()=>fI,find_books_by_sequence:()=>FI,game_get_character_img:()=>dI,game_get_local_img:()=>rI,game_get_path_img:()=>OI,game_init:()=>iI,getMarkerNum:()=>DI,get_actor_point:()=>lI,initSettedMap:()=>oI,initialize:()=>hI,isBarrier:()=>RI,isCirculationRight:()=>CI,isDone:()=>pI,isLightGreen:()=>gI,isOilFull:()=>AI,isPath:()=>aI,is_Related_Barrier:()=>cI,is_Related_Path:()=>uI,move_direction_steps:()=>nI,move_related_to_spirite:()=>sI,place_item:()=>EI,randomOil:()=>mI,randomPlaceBarrier:()=>NI,set_map:()=>TI,set_map_bg:()=>II,set_pathtype:()=>MI,settedSimpleMap:()=>PI});const k=Blockly,X=Mixly,U={NAME_TYPE:"VARIABLE",allVariables:function(t){var e;if(t.getDescendants)e=t.getDescendants();else{if(!t.getAllBlocks)throw"Not Block or Workspace: "+t;e=t.getAllBlocks()}for(var i=Object.create(null),n=0;n1&&(_+=n)):i=_}else i="i";return i}},G=U,B={};B.NAME_TYPE=k.PROCEDURE_CATEGORY_NAME,B.allProcedures=function(t){for(var e=t.getAllBlocks(!1),i=[],n=[],s=0;s0?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")},W.scrubNakedValue=function(t){return t+"\n"},W.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},W.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},W.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=k.utils.string.wrap(o,W.COMMENT_WRAP-3),n+=W.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const K=330,j={init:function(){this.setColour(K),this.appendDummyInput().appendField(new k.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(k.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},q={init:function(){this.setColour(K),this.appendValueInput("VALUE").appendField(new k.FieldTextInput(""),"VAR").appendField(k.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var t=this.getFieldValue("VAR");return null==t?[]:t.split(",")},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},Q={init:function(){this.setColour(K);var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"],[k.Msg.LANG_MATH_BOOLEAN,"bool"],[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0)}},J={init:function(){this.setColour(K),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},Z={init:function(){this.setColour(K),this.appendValueInput("DATA").appendField(k.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},z={init:function(){this.setColour(K),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new k.FieldDropdown([[k.Msg.LANG_MATH_INT,"int"],[k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[k.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"],[k.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type");return k.Msg.MICROBIT_controls_TypeLists+{int:k.Msg.LANG_MATH_INT,float:k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:k.Msg.MIXLY_MICROBIT_TYPE_STRING,list:k.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:k.Msg.MIXLY_MICROBIT_TYPE_DICT,set:k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:k.Msg.MIXLY_MICROBIT_IMAGE,bytes:k.Msg.LANG_MATH_BYTE,NoneType:k.Msg.LOGIC_NULL}[e]}))}},$=120,tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},it={init:function(){var t=[[k.Msg.MIXLY_mSecond,"delay"],[k.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour($),this.appendValueInput("DELAY_TIME",Number).appendField(k.Msg.MIXLY_DELAY).appendField(new k.FieldDropdown(t),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},nt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},st={init:function(){this.setColour($),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(k.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(k.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new k.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var t=this;this.setTooltip((function(){return t.elseifCount_||t.elseCount_?!t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_2:t.elseifCount_&&!t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_3:t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_4:"":k.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ot={init:function(){this.setColour($),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},_t={init:function(){this.setColour($),this.appendValueInput("LIST").setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(k.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pt={init:function(){this.setColour($),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(k.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new k.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(k.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},at={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ut={init:function(){this.setColour($);var t=new k.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:k.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:k.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(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},lt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},rt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};pt.OPERATORS=[[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ut.OPERATORS=[[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},It={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},dt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ht={init:function(){this.setColour($),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Ot={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Mt={init:function(){this.jsonInit({message0:k.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:$,tooltip:k.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:k.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Rt={init:function(){this.setColour($),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_STAT),this.setOutput(!0)}},ct={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},mt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},At={init:function(){this.appendDummyInput().appendField(k.Msg.CONTROLS_REPEAT_TITLE_REPEAT+k.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(k.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new k.FieldDropdown([[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour($),this.setTooltip("do-while loop"),this.setHelpUrl("")}},gt=230;k.FieldTextInput.math_number_validator=function(t){return String(t)},k.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 Lt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},Ct={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},St={init:function(){this.setColour(gt);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},Dt={init:function(){this.setColour(gt),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Nt={init:function(){this.setColour(gt),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Pt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new k.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},ft={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new k.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:k.Msg.MATH_TRIG_TOOLTIP_SIN,COS:k.Msg.MATH_TRIG_TOOLTIP_COS,TAN:k.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:k.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:k.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:k.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:k.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Ft={init:function(){var t=[[k.Msg.MATH_BIN,"bin"],[k.Msg.MATH_OCT,"oct"],[k.Msg.MATH_HEX,"hex"]];this.setColour(gt),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:k.Msg.MATH_DEC_TOOLTIP_BIN,oct:k.Msg.MATH_DEC_TOOLTIP_OCT,hex:k.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},vt={init:function(){var t=[[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"],[k.Msg.MATH_ABS,"fabs"],[k.Msg.MATH_SQRT,"sqrt"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:k.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:k.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:k.Msg.MATH_SINGLE_TOOLTIP_SQ,round:k.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:k.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:k.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},Vt={init:function(){var t=[[k.Msg.MIXLY_MAX,"max"],[k.Msg.MIXLY_MIN,"min"]];this.setColour(gt),this.appendValueInput("A").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(new k.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(k.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:k.Msg.MIXLY_TOOLTIP_MATH_MAX,min:k.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},Yt={init:function(){var t=[[k.Msg.MATH_TWO,"two"],[k.Msg.MATH_EIGHT,"eight"],[k.Msg.MATH_TEN,"ten"],[k.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(gt),this.appendDummyInput("").appendField(k.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new k.FieldDropdown(t),"OP").appendField(k.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(k.Msg.MATH_ZHW).appendField(new k.FieldDropdown(t),"OP2").appendField(k.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:k.Msg.MATH_Before_two,eight:k.Msg.MATH_Before_eight,ten:k.Msg.MATH_Before_ten,sixteen:k.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:k.Msg.MATH_Behind_two,eight:k.Msg.MATH_Behind_eight,ten:k.Msg.MATH_Behind_ten,sixteen:k.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},yt={init:function(){var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(gt),this.setOutput(!0,Number),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_RANDOM).appendField(new k.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:k.Msg.LANG_MATH_INT,float:k.Msg.LANG_MATH_FLOAT_RANDOM};return k.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},bt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_CONSTRAIN_TOOLTIP)}},kt={init:function(){this.setColour(gt),this.appendValueInput("NUM",Number).appendField(k.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(k.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(k.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Xt={init:function(){this.setColour(gt),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},Ut={init:function(){this.setColour(gt),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},Gt={init:function(){this.setColour(gt),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MATH_ROUND).appendField(k.Msg.TEXT_KEEP),this.appendDummyInput().appendField(k.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_ROUND_NEW_TOOLTIP)}},Bt={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"],[k.Msg.MIXLY_TO_BITES,"b"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:k.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:k.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},xt={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(gt),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:k.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},wt=kt,Ht=160,Wt={init:function(){this.setColour(Ht),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}},Kt={init:function(){this.setColour(Ht),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}};k.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 jt={init:function(){this.setColour(Ht),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput("",k.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(k.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new k.FieldImage(e,7,12,'"')}},qt={init:function(){this.setColour(Ht),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(k.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},Qt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},Jt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").setCheck(String).appendField(k.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},Zt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},zt={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},$t={init:function(){this.WHERE_OPTIONS=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.TEXT_GET_INDEX_RANDOM+1+k.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(k.Msg.LISTS_GET_INDEX_GET,"MODE"),k.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(k.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=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+k.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",k.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:k.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:k.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:k.Msg.TEXT_GET_INDEX_RANDOM};return k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+k.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new k.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"),k.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},te={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.LISTS_GET_INDEX_FROM_START+"n"+k.Msg.TEXT_CHARAT2)}},ee={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(k.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(k.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},ie={init:function(){this.WHERE_OPTIONS_1=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[k.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(k.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(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==k.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new k.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"))}},ne={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(k.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},se={init:function(){var t=[[k.Msg.MIXLY_EQUALS,"==="],[k.Msg.MIXLY_STARTSWITH,"startswith"],[k.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(Ht),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new k.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},oe={init:function(){this.setColour(Ht),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_COMPARETO_HELP)}},_e={init:function(){var t=[[k.Msg.TEXT_UPPER,"upper"],[k.Msg.TEXT_TITLE,"title"],[k.Msg.TEXT_CAPITALIZE,"capitalize"],[k.Msg.TEXT_SWAPCASE,"swapcase"],[k.Msg.TEXT_LOWER,"lower"]];this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:k.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:k.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:k.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:k.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:k.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},pe={init:function(){var t=[[k.Msg.TEXT_LJUST,"ljust"],[k.Msg.TEXT_CENTER,"center"],[k.Msg.TEXT_RJUST,"rjust"]];this.setColour(Ht),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(k.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(k.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},ae={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(k.Msg.MIXLY_MID+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(k.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},ue={init:function(){this.setColour(Ht),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},le={init:function(){this.setColour(Ht),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(k.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},re={init:function(){this.setColour(Ht),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(k.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(k.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},Te={init:function(){var t=[[k.Msg.TEXT_TRIM_BOTH,"strip"],[k.Msg.TEXT_TRIM_LEFT,"lstrip"],[k.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(Ht),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new k.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(k.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:k.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:k.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:k.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ie={init:function(){this.setColour(Ht),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new k.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},ui={init:function(){this.setColour(pi),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},li={init:function(){this.setColour(pi),this.appendDummyInput().appendField(k.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},ri={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_KEYS),this.setTooltip(k.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},Ti={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_TOOLTIP)}},Ii={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},di={init:function(){this.setColour(pi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(k.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},hi={init:function(){this.setColour(pi),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_DELETE_TOOLTIP)}},Ei={init:function(){this.setColour(pi),this.appendValueInput("DICT2").setCheck("Dict").appendField(k.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(k.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(k.Msg.MIXLY_MID),this.setTooltip(k.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Oi={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_CLEAR),this.setTooltip(k.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Mi={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_ITEMS),this.setTooltip(k.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ri={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_VALUES),this.setTooltip(k.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},ci={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_LENGTH),this.setTooltip(k.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},mi={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_DELDICT),this.setTooltip(k.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ai={init:function(){this.MODE=[[k.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[k.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(k.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=k.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=k.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==k.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 k.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")}},gi={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setTooltip(k.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Li={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ci={init:function(){this.setColour(pi),this.appendDummyInput("").appendField(new k.FieldLabel(k.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 k.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Si={init:function(){this.setColour(pi),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},Di={init:function(){this.setColour(pi),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_TO_JSON),this.setTooltip(k.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Ni={init:function(){this.setColour(pi),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(k.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Pi=210,fi={init:function(){var t=k.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:k.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:k.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:k.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:k.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:k.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:k.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Fi={init:function(){var t=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new k.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},vi={init:function(){var t=[[k.Msg.LOGIC_OPERATION_AND,"AND"],[k.Msg.LOGIC_OPERATION_OR,"OR"],[k.Msg.LOGIC_OPERATION_NOR,"NOR"],[k.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:k.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:k.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:k.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:k.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},Vi={init:function(){this.setColour(Pi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(k.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(k.Msg.LOGIC_NEGATE_TOOLTIP)}},Yi={init:function(){var t=[[k.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[k.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(Pi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new k.FieldDropdown(t),"BOOL"),this.setTooltip(k.Msg.LOGIC_BOOLEAN_TOOLTIP)}},yi={init:function(){this.setColour(Pi),this.setOutput(!0),this.appendDummyInput().appendField(k.Msg.LOGIC_NULL),this.setTooltip(k.Msg.LOGIC_NULL_TOOLTIP)}},bi={init:function(){this.setColour(Pi),this.appendValueInput("A"),this.appendValueInput("B").appendField(k.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(k.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},ki={init:function(){var t=[[k.Msg.TEXT_APPEND_TO,"in"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(Pi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new k.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(k.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.IN)}},Xi={init:function(){var t=[[k.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(Pi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},Ui={init:function(){this.setColour(Pi),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},Gi={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(k.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Bi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},xi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},wi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXPY_TEXT_ENCODE).appendField(new k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Hi={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},Wi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Ki={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},ji={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},qi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.HTML_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},Qi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},Ji={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},Zi={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const zi={init:function(){this.setColour(0),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[k.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(k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},$i={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},tn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},en={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},nn={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},sn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+k.Msg.MIXLY_ESP32_SET+{mkdir:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},on={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(k.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},_n={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},pn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.HTML_FILE,"isfile"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},an={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(k.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(k.Msg.MIXLY_SETUP+k.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(k.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},un={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(k.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},ln={init:function(){var t=x.findLegalName("",this),e=new k.FieldTextInput(t,x.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new k.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&k.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(k.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(k.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(k.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(k.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=k.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),k.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{k.Events.enable()}},mutationToDom:function(t){var e=k.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ns={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(k.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ss={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(k.Msg.HTML_FORM_CONTENT).appendField(new k.FieldDropdown([[k.Msg.HTML_TEXT,"text"],[k.Msg.HTML_EMAIL,"email"],[k.Msg.HTML_NUMBER,"number"],[k.Msg.HTML_PASSWORD,"password"],[k.Msg.HTML_CHECKBOX,"checkbox"],[k.Msg.HTML_RADIOBUTTON,"radiobutton"],[k.Msg.HTML_BUTTON,"button"],[k.Msg.HTML_COLOUR,"colour"],[k.Msg.HTML_DATE,"date"],[k.Msg.HTML_LOCALTIME,"local time"],[k.Msg.HTML_FILE,"file"],[k.Msg.HTML_HIDDEN,"hidden"],[k.Msg.HTML_IMAGE,"image"],[k.Msg.HTML_MONTH,"month"],[k.Msg.HTML_RANGE,"range"],[k.Msg.HTML_RESET,"reset"],[k.Msg.HTML_SEARCH,"search"],[k.Msg.HTML_SUBMIT,"submit"],[k.Msg.HTML_TELEPHONENUMBER,"telephone number"],[k.Msg.HTML_TIME,"time"],[k.Msg.HTML_URL,"url"],[k.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(k.Msg.HTML_NAME).appendField(new k.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(k.Msg.HTML_VALUE).appendField(new k.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},os={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_s={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ps={init:function(){this.setColour(Zn),this.appendDummyInput().appendField(k.Msg.HTML_TEXT).appendField(new k.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},as=160,us={init:function(){this.setColour(as),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new k.FieldTable(""),"TEXT")}},ls={init:function(){this.setColour(as),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT")}},rs={init:function(){this.setColour(as),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},Ts={init:function(){this.setColour(as),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Is={init:function(){this.setColour(as),this.appendDummyInput().appendTitle("Comment:").appendTitle(new k.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},ds={init:function(){this.setColour(as),this.appendValueInput("VALUE").appendField(k.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},hs={init:function(){this.setColour(as),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(k.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=k.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Vs={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ys={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ys={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(As),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_SPLITBYDOU).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Us={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},Gs={init:function(){this.setColour(As);var t=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],e=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Bs={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},xs={init:function(){this.setColour(As);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},ws={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Hs={init:function(){this.setColour(As),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ws={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Ks={init:function(){var t=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(As),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(k.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setTooltip(k.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},js={init:function(){this.setColour(As),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},qs={init:function(){this.setColour(As),this.appendValueInput("FILENAME").appendField(k.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[k.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Qs={init:function(){this.setColour(As),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(k.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new k.FieldDropdown([[k.Msg.DATAFRAME_COLUMN,"column"],[k.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(k.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},Js={init:function(){this.setColour(As),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Zs={init:function(){this.setColour(As);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},zs={init:function(){this.setColour(As),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},$s={init:function(){this.setColour(As),this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},to={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},eo={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},io={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},so={init:function(){this.setColour(As),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_o={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},po={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(t),"DOT"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ao={init:function(){this.setColour(As);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},uo={init:function(){this.setColour(As);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},lo={init:function(){this.setColour(As);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},ro={init:function(){this.setColour(As),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},To={init:function(){this.setColour(As);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Io={init:function(){this.setColour(As),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},ho={init:function(){this.setColour(As),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Eo={init:function(){this.setColour(As);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},Oo=20,Mo={init:function(){this.setColour(Oo),this.appendValueInput("VAR").appendField(k.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(k.Msg.INOUT_input_TOOLTIP)}},Ro={init:function(){this.setColour(Oo),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.BLOCKPY_PRINT_TOOLTIP)}},co={init:function(){this.setColour(Oo),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},mo={init:function(){this.setColour(Oo),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(k.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},Ao={init:function(){var t=[[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(Oo),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("VAR").appendField(k.Msg.PROCEDURES_MUTATORCONTAINER_TITLE).setCheck(String),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{str:k.Msg.MIXLY_MIXPY_INOUT_STR_INPUT_TOOLTIP,int:k.Msg.MIXLY_MIXPY_INOUT_INT_INPUT_TOOLTIP,float:k.Msg.MIXLY_MIXPY_INOUT_FLOAT_INPUT_TOOLTIP}[t]}))}},go={init:function(){this.setColour(Oo),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["inout_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("inout_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n0?t:[["'无可用地图'","'无可用地图'"]]}},G_={init:function(){this.appendValueInput("pathtype").setCheck(null).appendField(k.Msg.MIXLY_GAME_SETPATHTYPE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},B_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用路径'","'无可用路径'"]]}},x_={init:function(){this.setColour(290),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("posx").setCheck(null).appendField(k.Msg.TEXT_APPEND_TO+"("),this.appendDummyInput().appendField(","),this.appendValueInput("posy").setCheck(null).appendField(""),this.appendDummyInput().appendField(")"+k.Msg.MIXLY_GAME_LAY).appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_WALL,"'wall'"],[k.Msg.MIXLY_GAME_BARRIER,"'barrier'"],[k.Msg.MIXLY_GAME_COIN,"'coin'"],[k.Msg.MIXLY_GAME_REDMARKER,"'redmarker'"],[k.Msg.MIXLY_GAME_YELLOWMARKER,"'yellowmarker'"],[k.Msg.MIXLY_GAME_BLUEMARKER,"'bluemarker'"],[k.Msg.MIXLY_GAME_GREENMARKER,"'greenmarker'"]]),"item"),this.setTooltip("")}},w_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用角色'","'无可用角色'"]]}},H_={init:function(){this.setColour(290),this.appendValueInput("character").setCheck(null).appendField(k.Msg.MIXLY_GAME_INIT_CHARA),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_FACE+k.Msg.MIXLY_GAME_RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},W_={init:function(){this.setColour(290),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_GETPOINT),this.setOutput(!0,Number),this.setTooltip("")}},K_={init:function(){this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_UP,"0"],[k.Msg.MIXLY_GAME_DOWN,"2"],[k.Msg.MIXLY_GAME_LEFT,"3"],[k.Msg.MIXLY_GAME_RIGHT,"1"]]),"direction"),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ISBARRIER),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},j_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_RE_SPIRITE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_FORWARD,"f"],[k.Msg.MIXLY_GAME_BACKWARD,"b"],[k.Msg.MIXLY_GAME_LEFT,"l"],[k.Msg.MIXLY_GAME_RIGHT,"r"]]),"direction"),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ISBARRIER),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},q_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_RANDOMCAROIL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},Q_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_NEEDOIL),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},J_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ISGREEN),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},Z_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ADDOIL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},z_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_CHECKCIRCURIGHT),this.setPreviousStatement(!0),this.setColour(290),this.setTooltip("")}},$_={init:function(){this.setColour(290),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_CHECK_WHETHER_PASS),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_REDMARKER,"'redmarker'"],[k.Msg.MIXLY_GAME_YELLOWMARKER,"'yellowmarker'"],[k.Msg.MIXLY_GAME_BLUEMARKER,"'bluemarker'"],[k.Msg.MIXLY_GAME_GREENMARKER,"'greenmarker'"]]),"marker"),this.appendDummyInput().appendField("?"),this.setInputsInline(!0),this.setOutput(!0,null),this.setTooltip("")}},tp={init:function(){this.setColour(290),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_GET_MARKER_NUM),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_REDMARKER,"'redmarker'"],[k.Msg.MIXLY_GAME_YELLOWMARKER,"'yellowmarker'"],[k.Msg.MIXLY_GAME_BLUEMARKER,"'bluemarker'"],[k.Msg.MIXLY_GAME_GREENMARKER,"'greenmarker'"]]),"marker"),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_NUMBER_OF_MARKER),this.setInputsInline(!0),this.setOutput(!0,null),this.setTooltip("")}},ep={init:function(){this.setColour(290),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("posx").setCheck(null).appendField(k.Msg.TEXT_APPEND_TO+"("),this.appendDummyInput().appendField(","),this.appendValueInput("posy").setCheck(null).appendField(""),this.appendDummyInput().appendField(")"+k.Msg.TEXT_GET_INDEX_RANDOM+k.Msg.MIXLY_GAME_LAY+k.Msg.MIXLY_GAME_BARRIER),this.setTooltip("")}},ip={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_INIT_AS).appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_ONE,"0"],[k.Msg.MIXLY_GAME_TWO,"1"],[k.Msg.MIXLY_GAME_THREE,"2"],[k.Msg.MIXLY_GAME_FOUR,"3"],[k.Msg.MIXLY_GAME_FIVE,"4"],[k.Msg.MIXLY_GAME_SIX,"5"],[k.Msg.MIXLY_GAME_SEVEN,"6"],[k.Msg.MIXLY_GAME_EIGHT,"7"],[k.Msg.MIXLY_GAME_NINE,"8"],[k.Msg.MIXLY_GAME_TEN,"9"],[k.Msg.MIXLY_GAME_ELE,"10"],[k.Msg.MIXLY_GAME_TWEL,"11"],[k.Msg.MIXLY_GAME_THIR,"12"],[k.Msg.MIXLY_GAME_FORT,"13"],[k.Msg.MIXLY_GAME_FIFT,"14"],[k.Msg.MIXLY_GAME_SIXT,"15"],[k.Msg.MIXLY_GAME_SEVENT,"16"]]),"level"),this.setInputsInline(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},np={init:function(){this.appendValueInput("N").setCheck(null).setAlign(k.inputs.Align.LEFT).appendField("二分法查找书籍").appendField("N"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},sp={init:function(){this.appendValueInput("N").setCheck(null).setAlign(k.inputs.Align.LEFT).appendField("顺序法查找书籍").appendField("N"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},op=function(t,e){return[e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE),e.ORDER_ATOMIC]},_p=function(t,e){if(""==this.getFieldValue("VAR"))return" = None\n";var i=e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"None";return e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE)+" = "+i+"\n"},pp=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"MYVALUE",e.ORDER_ATOMIC)||"None";if("bytes"==i)var s=i+"("+n+',"UTF-8")';else s=i+"("+n+")";return[s,e.ORDER_ATOMIC]},ap=function(t,e){return"global "+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"None")+"\n"},up=function(t,e){return["type("+(e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"None")+")",e.ORDER_ATOMIC]},lp=function(t,e){return[this.getFieldValue("type"),e.ORDER_ATOMIC]},rp=function(t,e){var i=e.statementToCode(t,"DO");return"if __name__ == '__main__':\n"+(i=e.addLoopTrap(i,t.id)||e.PASS)},Tp=function(t,e){var i=e.statementToCode(this,"DO");return(i=i.replace(/(^\s*)|(\s*$)/g,"").replace(/\n {4}/g,"\n")).endsWith("\n")?e.setups_.setup_setup=i:e.setups_.setup_setup=i+"\n",""},Ip=function(t,e){var i=0,n="";do{n+=(0==i?"if ":"elif ")+(e.valueToCode(t,"IF"+i,e.ORDER_NONE)||"False")+":\n"+(e.statementToCode(t,"DO"+i)||e.PASS),++i}while(t.getInput("IF"+i));return t.getInput("ELSE")&&(n+="else:\n"+(e.statementToCode(t,"ELSE")||e.PASS)),n},dp=function(t,e){var i=0,n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"null",s="try:\n"+(e.statementToCode(this,"try")||" pass\n");for(i=1;i<=this.elseifCount_;i++)""!==(n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"")&&(n=" "+n),s+="except"+n+": \n"+(e.statementToCode(this,"DO"+i)||" pass\n");return this.elseCount_&&(s+="finally:\n"+(e.statementToCode(this,"ELSE")||" pass\n")),s},hp=function(t,e){var i=e.variableDB_.getName(t.getFieldValue("VAR"),k.Variables.NAME_TYPE),n=e.valueToCode(t,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(t,"TO",e.ORDER_NONE)||"0",o=e.valueToCode(t,"STEP",e.ORDER_NONE)||"1",_=e.statementToCode(t,"DO"),p=(_=e.addLoopTrap(_,t.id)||e.PASS,""),a=function(t,e){return e.provideFunction_("upRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start <= stop:"," yield start"," start += abs(step)"])},u=function(t,e){return e.provideFunction_("downRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start >= 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+")"},k.isNumber(n)&&k.isNumber(s)&&k.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 Fu=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]},vu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Vu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Yu=function(t,e){return["None",e.ORDER_ATOMIC]},yu=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]},bu=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]},ku=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]},Xu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Uu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Gu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},Bu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},xu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},wu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Hu=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Wu=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]},Ku=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ju=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},qu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},Qu=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},Ju=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},Zu=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},zu=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$u=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},tl=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"},el=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},il=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},nl=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},sl=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"},ol=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]},_l=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"},pl=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"},al=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),k.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]},xl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},wl=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},Hl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Wl=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},Kl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},jl=function(t,e){return'"},ql=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},Ql=function(){return this.getFieldValue("TEXT")+"\n"},Jl=function(t){return t.getFieldValue("TEXT")+"\n"},Zl=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},zl=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},$l=function(){return""},tr=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},er=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o=0&&(n[s]=n[s].replace(" ",""));i="";for(s=0;s0?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")},W.scrubNakedValue=function(t){return t+"\n"},W.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},W.multiline_quote_=function(t){return"'''"+(t=t.replace(/'''/g,"\\'\\'\\'"))+"'''"},W.scrub_=function(t,e,i){var n="";if(!t.outputConnection||!t.outputConnection.targetConnection){(o=t.getCommentText())&&(o=k.utils.string.wrap(o,W.COMMENT_WRAP-3),n+=W.prefixLines(o+"\n","# "));for(var s=0;s0?"int("+p+" + "+s+")":s<0?"int("+p+" - "+-s+")":"int("+p+")",n&&(p="-"+p)),p};const K=330,j={init:function(){this.setColour(K),this.appendDummyInput().appendField(new k.FieldTextInput(""),"VAR"),this.setOutput(!0),this.setTooltip(k.Msg.VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},q={init:function(){this.setColour(K),this.appendValueInput("VALUE").appendField(new k.FieldTextInput(""),"VAR").appendField(k.Msg.MIXLY_VALUE2),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.VARIABLES_SET_TOOLTIP)},getVars:function(){var t=this.getFieldValue("VAR");return null==t?[]:t.split(",")},renameVar:function(t,e){H.equals(t,this.getFieldValue("VAR"))&&this.setFieldValue(e,"VAR")}},Q={init:function(){this.setColour(K);var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"],[k.Msg.LANG_MATH_BOOLEAN,"bool"],[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"]];this.appendValueInput("MYVALUE").appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0)}},J={init:function(){this.setColour(K),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_GLOBAL).setCheck("var"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},Z={init:function(){this.setColour(K),this.appendValueInput("DATA").appendField(k.Msg.MICROBIT_PYTHON_TYPE),this.setOutput(!0),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},z={init:function(){this.setColour(K),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_CONTORL_GET_TYPE).appendField(new k.FieldDropdown([[k.Msg.LANG_MATH_INT,"int"],[k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,"float"],[k.Msg.MIXLY_MICROBIT_TYPE_STRING,"str"],[k.Msg.MIXLY_MICROBIT_TYPE_LIST,"list"],[k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,"tuple"],[k.Msg.MIXLY_MICROBIT_TYPE_DICT,"dict"],[k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,"set"],[k.Msg.LANG_MATH_BYTE,"bytes"],[k.Msg.LOGIC_NULL,"type(None)"]]),"type"),this.setInputsInline(!0),this.setOutput(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("type");return k.Msg.MICROBIT_controls_TypeLists+{int:k.Msg.LANG_MATH_INT,float:k.Msg.MIXLY_MICROBIT_TYPE_FLOAT,str:k.Msg.MIXLY_MICROBIT_TYPE_STRING,list:k.Msg.MIXLY_MICROBIT_TYPE_LIST,tuple:k.Msg.MIXLY_MICROBIT_TYPE_TUPLE,dict:k.Msg.MIXLY_MICROBIT_TYPE_DICT,set:k.Msg.blockpy_SET_CREATE_WITH_CONTAINER_TITLE_ADD,image:k.Msg.MIXLY_MICROBIT_IMAGE,bytes:k.Msg.LANG_MATH_BYTE,NoneType:k.Msg.LOGIC_NULL}[e]}))}},$=120,tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_NAME_MAIN),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_SETUP),this.appendStatementInput("DO").appendField(""),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_SETUP)}},it={init:function(){var t=[[k.Msg.MIXLY_mSecond,"delay"],[k.Msg.MIXLY_uSecond,"delayMicroseconds"]];this.setColour($),this.appendValueInput("DELAY_TIME",Number).appendField(k.Msg.MIXLY_DELAY).appendField(new k.FieldDropdown(t),"UNIT").setCheck(Number),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_CONTROL_DELAY),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#id9"),this.wiki={"zh-hans":{page:["Arduino AVR","控制","延时"]}}}},nt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_CONTROL_END_PROGRAM),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_END_TOOLTIP)}},st={init:function(){this.setColour($),this.appendValueInput("IF0").setCheck([Boolean,Number]).appendField(k.Msg.CONTROLS_IF_MSG_IF),this.appendStatementInput("DO0").appendField(k.Msg.CONTROLS_IF_MSG_THEN),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setHelpUrl("https://mixly.readthedocs.io/zh_CN/latest/arduino/03.Control.html#if"),this.setMutator(new k.icons.MutatorIcon(["controls_if_elseif","controls_if_else"],this));var t=this;this.setTooltip((function(){return t.elseifCount_||t.elseCount_?!t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_2:t.elseifCount_&&!t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_3:t.elseifCount_&&t.elseCount_?k.Msg.CONTROLS_IF_TOOLTIP_4:"":k.Msg.CONTROLS_IF_TOOLTIP_1})),this.elseifCount_=0,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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+s).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(k.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ot={init:function(){this.setColour($),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.PYTHON_RANGE_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},_t={init:function(){this.setColour($),this.appendValueInput("LIST").setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.CONTROLS_FOREACH_INPUT),this.appendValueInput("VAR").appendField(k.Msg.CONTROLS_FOREACH_INPUT_ITEM),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("“%1”","")}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},pt={init:function(){this.setColour($),this.appendValueInput("BOOL").setCheck([Boolean,Number]).appendField(k.Msg.MIXLY_MICROBIT_JS_CURRENT).appendField(new k.FieldDropdown(this.OPERATORS),"MODE"),this.appendStatementInput("DO").appendField(k.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT+k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0);var t=this;this.setTooltip((function(){var e=t.getFieldValue("MODE");return{WHILE:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:k.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[e]}))}},at={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TRY),this.appendStatementInput("try"),this.appendValueInput("IF1").appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO1").appendField(""),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["controls_except","controls_finally"],this)),this.setTooltip(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+s).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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(k.Msg.MIXLY_PYTHON_EXCEPT),this.appendStatementInput("DO"+t).appendField("");this.elseCount_&&this.appendStatementInput("ELSE").appendField(k.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")}},ut={init:function(){this.setColour($);var t=new k.FieldDropdown(this.OPERATORS);this.appendDummyInput().appendField(t,"FLOW").appendField(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP),this.setPreviousStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_FLOW_STATEMENTS_TOOLTIP);var e=this;this.setTooltip((function(){var t=e.getFieldValue("FLOW");return{BREAK:k.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:k.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(k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}},lt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},rt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_WITH).appendField(new k.FieldTextInput("i"),"VAR"),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_DO),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0);var t=this;this.setTooltip((function(){return k.Msg.MIXLY_PYTHON_CONTROLS_FOR_RANGE_TOOLTIP.replace("%1",t.getFieldValue("VAR"))}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}};pt.OPERATORS=[[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]],ut.OPERATORS=[[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[k.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];const Tt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_IF_TITLE_IF),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.CONTROLS_IF_IF_TOOLTIP),this.contextMenu=!1}},It={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSEIF_TOOLTIP),this.contextMenu=!1}},dt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.CONTROLS_IF_ELSE_TITLE_ELSE),this.setPreviousStatement(!0),this.setTooltip(k.Msg.CONTROLS_IF_ELSE_TOOLTIP),this.contextMenu=!1}},ht={init:function(){this.setColour($),this.appendDummyInput().appendField("try"),this.appendStatementInput("STACK"),this.setPreviousStatement(!1),this.setNextStatement(!1),this.contextMenu=!1}},Et={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_EXCEPT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_EXCEPT_TOOLTIP)}},Ot={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_FINALLY),this.setPreviousStatement(!0),this.contextMenu=!1,this.setTooltip(k.Msg.MIXLY_MIXPY_CONTROL_FINALLY_TOOLTIP)}},Mt={init:function(){this.jsonInit({message0:k.Msg.CONTROLS_REPEAT_TITLE,args0:[{type:"input_value",name:"TIMES"}],previousStatement:null,nextStatement:null,colour:$,tooltip:k.Msg.CONTROLS_REPEAT_TOOLTIP,helpUrl:k.Msg.CONTROLS_REPEAT_HELPURL}),this.appendStatementInput("DO")}},Rt={init:function(){this.setColour($),this.appendValueInput("BOOL").appendField("lambda"),this.appendStatementInput("DO").appendField(k.Msg.MIXLY_STAT),this.setOutput(!0)}},ct={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_PASS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_PASS_TOOLTIP)}},mt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_START),this.appendValueInput("callback").appendField(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_USE),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PARAMS),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_THREAD_TOOLTIP)}},At={init:function(){this.appendDummyInput().appendField(k.Msg.CONTROLS_REPEAT_TITLE_REPEAT+k.Msg.MIXLY_DO),this.appendStatementInput("input_data").setCheck(null),this.appendValueInput("select_data").setCheck(null).appendField(k.Msg.CONTROLS_OPERATOR_UNTIL).appendField(new k.FieldDropdown([[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"true"],[k.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"false"]]),"type"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour($),this.setTooltip("do-while loop"),this.setHelpUrl("")}},gt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_OP_GARBAGE_COLLECT),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Lt={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_GET_MEM_ALLOC),this.setOutput(!0)}},Ct={init:function(){this.setColour($),this.appendDummyInput().appendField(k.Msg.MIXLY_GET_MEM_FREE),this.setOutput(!0)}},St=230;k.FieldTextInput.math_number_validator=function(t){return String(t)},k.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 Dt={init:function(){this.setColour(St),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator),"NUM"),this.setOutput(!0,Number),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},Nt={init:function(){this.setColour(St);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_TOOLTIP}[e]}))}},Pt={init:function(){this.setColour(St);this.appendDummyInput("").appendField(k.Msg.MIXLY_PYTHON_MATH_CONSTANT).appendField(new k.FieldDropdown([["π","pi"],["e","e"]]),"CONSTANT"),this.setOutput(!0,Number);var t=this;this.setTooltip((function(){var e=t.getFieldValue("CONSTANT");return{pi:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_PI_MP_TOOLTIP,e:k.Msg.MIXLY_PYTHON_MATH_CONSTANT_E_MP_TOOLTIP}[e]}))}},ft={init:function(){this.setColour(St),this.setOutput(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},Ft={init:function(){this.setColour(St),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.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:k.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:k.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:k.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,QUYU:k.Msg.MATH_MODULO_TOOLTIP,ZHENGCHU:k.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:k.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[e]}))}},vt={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("A").setCheck(Number),this.appendValueInput("B").setCheck(Number).appendField(new k.FieldDropdown([["&","&"],["|","|"],[">>",">>"],["<<","<<"]]),"OP"),this.setInputsInline(!0),this.setTooltip("位运算")}},Vt={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("NUM").setCheck(Number).appendField(new k.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:k.Msg.MATH_TRIG_TOOLTIP_SIN,COS:k.Msg.MATH_TRIG_TOOLTIP_COS,TAN:k.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:k.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:k.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:k.Msg.MATH_TRIG_TOOLTIP_ATAN,LN:k.Msg.MATH_SINGLE_TOOLTIP_LN}[e]}))}},Yt={init:function(){var t=[[k.Msg.MATH_BIN,"bin"],[k.Msg.MATH_OCT,"oct"],[k.Msg.MATH_HEX,"hex"]];this.setColour(St),this.setOutput(!0,String),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP");var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{bin:k.Msg.MATH_DEC_TOOLTIP_BIN,oct:k.Msg.MATH_DEC_TOOLTIP_OCT,hex:k.Msg.MATH_DEC_TOOLTIP_HEX}[t]}))}},yt={init:function(){var t=[[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"],[k.Msg.MATH_ABS,"fabs"],[k.Msg.MATH_SQRT,"sqrt"]];this.setColour(St),this.appendValueInput("A").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{sqrt:k.Msg.MATH_SINGLE_TOOLTIP_ROOT,fabs:k.Msg.MATH_SINGLE_TOOLTIP_ABS,sq:k.Msg.MATH_SINGLE_TOOLTIP_SQ,round:k.Msg.MATH_SINGLE_TOOLTIP_ROUND,ceil:k.Msg.MATH_SINGLE_TOOLTIP_CEIL,floor:k.Msg.MATH_SINGLE_TOOLTIP_FLOOR}[t]}))}},bt={init:function(){var t=[[k.Msg.MIXLY_MAX,"max"],[k.Msg.MIXLY_MIN,"min"]];this.setColour(St),this.appendValueInput("A").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(new k.FieldDropdown(t),"OP").appendField("("),this.appendValueInput("B").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(","),this.appendDummyInput("").setAlign(k.inputs.Align.RIGHT).appendField(")"),this.setInputsInline(!0),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{max:k.Msg.MIXLY_TOOLTIP_MATH_MAX,min:k.Msg.MIXLY_TOOLTIP_MATH_MIN}[t]}))}},kt={init:function(){var t=[[k.Msg.MATH_TWO,"two"],[k.Msg.MATH_EIGHT,"eight"],[k.Msg.MATH_TEN,"ten"],[k.Msg.MATH_SIXTEEN,"sixteen"]];this.setColour(St),this.appendDummyInput("").appendField(k.Msg.MATH_BA),this.appendValueInput("NUM").appendField(new k.FieldDropdown(t),"OP").appendField(k.Msg.MATH_JinZhi).setCheck(Number),this.appendDummyInput("").appendField(k.Msg.MATH_ZHW).appendField(new k.FieldDropdown(t),"OP2").appendField(k.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:k.Msg.MATH_Before_two,eight:k.Msg.MATH_Before_eight,ten:k.Msg.MATH_Before_ten,sixteen:k.Msg.MATH_Before_sixteen},n=e.getFieldValue("OP2"),s={two:k.Msg.MATH_Behind_two,eight:k.Msg.MATH_Behind_eight,ten:k.Msg.MATH_Behind_ten,sixteen:k.Msg.MATH_Behind_sixteen};return i[t]+s[n]}))}},Xt={init:function(){var t=[[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(St),this.setOutput(!0,Number),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_RANDOM).appendField(new k.FieldDropdown(t),"TYPE"),this.appendValueInput("FROM").setCheck(Number).appendField(k.Msg.LANG_CONTROLS_FOR_INPUT_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.LANG_MATH_RANDOM_INT_INPUT_TO),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TYPE"),i={int:k.Msg.LANG_MATH_INT,float:k.Msg.LANG_MATH_FLOAT_RANDOM};return k.Msg.MATH_RANDOM_INT_TOOLTIP+i[t]}))}},Ut={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN),this.appendValueInput("LOW").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_LOW),this.appendValueInput("HIGH").setCheck(Number).appendField(k.Msg.LANG_MATH_CONSTRAIN_INPUT_HIGH),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_CONSTRAIN_TOOLTIP)}},Gt={init:function(){this.setColour(St),this.appendValueInput("NUM",Number).appendField(k.Msg.MIXLY_MAP).setCheck(Number),this.appendValueInput("fromLow",Number).appendField(k.Msg.MIXLY_MAP_FROM).setCheck(Number),this.appendValueInput("fromHigh",Number).appendField(",").setCheck(Number),this.appendValueInput("toLow",Number).appendField(k.Msg.MIXLY_MAP_TO).setCheck(Number),this.appendValueInput("toHigh",Number).appendField(",").setCheck(Number),this.appendDummyInput("").appendField("]"),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_MAP)}},Bt={init:function(){this.setColour(St),this.appendDummyInput().appendField(new k.FieldTextInput("0",k.FieldTextInput.math_number_validator_include_blank),"NUM"),this.setOutput(!0),this.setTooltip(k.Msg.MATH_NUMBER_TOOLTIP)}},xt={init:function(){this.setColour(St),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.LANG_MATH_RANDOM_SEED),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_MATH_RANDOM_SEED)}},wt={init:function(){this.setColour(St),this.setOutput(!0,Number),this.appendValueInput("VALUE").setCheck(Number),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MATH_ROUND).appendField(k.Msg.TEXT_KEEP),this.appendDummyInput().appendField(k.Msg.TEXT_DECIMAL),this.setInputsInline(!0),this.setTooltip(k.Msg.MATH_ROUND_NEW_TOOLTIP)}},Ht={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"],[k.Msg.MIXLY_TO_BITES,"b"]];this.setColour(St),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_PYTHON_TOOLTIP_TOINT,float:k.Msg.MIXLY_PYTHON_TOOLTIP_TOFLOAT,b:k.Msg.MIXLY_TOOLTIP_TEXT_TOBYTE}[t]}))}},Wt={init:function(){var t=[[k.Msg.MIXLY_TO_INT,"int"],[k.Msg.MIXLY_TO_FLOAT,"float"]];this.setColour(St),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"TOWHAT"),this.setOutput(!0,Number);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{int:k.Msg.MIXLY_TOOLTIP_TEXT_TOINT,float:k.Msg.MIXLY_TOOLTIP_TEXT_TOFLOAT}[t]}))}},Kt=Gt,jt=160,qt={init:function(){this.setColour(jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}},Qt={init:function(){this.setColour(jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldMultilineInput("Hello\nMixly"),"VALUE").appendField(this.newQuote_(!1)),this.setOutput(!0,String),this.setTooltip(k.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 k.FieldImage(e,12,12,'"')}};k.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 Jt={init:function(){this.setColour(jt),this.appendDummyInput().appendField(this.newQuote_(!0)).appendField(new k.FieldTextInput("",k.FieldTextInput.char_validator),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,Number),this.setTooltip(k.Msg.TEXT_CHAR_TOOLTIP)},newQuote_:function(t){if(1==t)var e="../../media/quote2.png";else e="../../media/quote3.png";return new k.FieldImage(e,7,12,'"')}},Zt={init:function(){this.setColour(jt),this.appendValueInput("A").setCheck([String,Number]),this.appendValueInput("B").setCheck([String,Number]).appendField(k.Msg.MIXLY_TEXT_JOIN),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_JOIN)}},zt={init:function(){this.setColour(jt),this.appendValueInput("VAR").setCheck(Number).appendField(k.Msg.MIXLY_TOCHAR),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOCHAR)}},$t={init:function(){this.setColour(jt),this.appendValueInput("VAR").setCheck(String).appendField(k.Msg.MIXLY_TOASCII),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_TOASCII)}},te={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOSTRING),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOTEXT)}},ee={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_LENGTH),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_TOOLTIP_TEXT_LENGTH)}},ie={init:function(){this.WHERE_OPTIONS=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.TEXT_GET_INDEX_RANDOM+1+k.Msg.TEXT_CHARAT2,"RANDOM"]],this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number),this.appendDummyInput().appendField(k.Msg.LISTS_GET_INDEX_GET,"MODE"),k.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(k.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=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE RANDOM":n=k.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM}return"FROM_START"!=i&&"FROM_END"!=i||(n+=" "+k.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",k.Msg.ONE_BASED_INDEXING?"#1":"#0")),n}));var e=this;this.setTooltip((function(){var t=e.getFieldValue("WHERE"),i={FROM_START:k.Msg.LISTS_GET_INDEX_FROM_START,FROM_END:k.Msg.LISTS_GET_INDEX_FROM_END,RANDOM:k.Msg.TEXT_GET_INDEX_RANDOM};return k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+i[t]+"n"+k.Msg.TEXT_CHARAT2}))},mutationToDom:function(){var t=document.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var e=this.getInput("AT").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL").appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT");var e=new k.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"),k.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},ne={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT").setCheck(Number).appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setOutput(!0),this.setTooltip(k.Msg.PROCEDURES_DEFRETURN_RETURN+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.LISTS_GET_INDEX_FROM_START+"n"+k.Msg.TEXT_CHARAT2)}},se={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_INDEX_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput().appendField(k.Msg.TEXT_RANDOM_CHAR),this.setOutput(!0),this.setTooltip(k.Msg.TEXT_RANDOM_CHAR_TOOLTIP)}},oe={init:function(){this.WHERE_OPTIONS_1=[[k.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[k.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[k.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[k.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendDummyInput("").appendField(k.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(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT1").type==k.INPUT_VALUE;t.setAttribute("at1",e);var i=this.getInput("AT2").type==k.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),k.Msg.TEXT_CHARAT2&&this.appendDummyInput("ORDINAL"+t).appendField(k.Msg.TEXT_CHARAT2)):this.appendDummyInput("AT"+t);var i=new k.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"))}},_e={init:function(){this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("AT1").appendField(k.Msg.LISTS_GET_INDEX_GET+" "+k.Msg.LISTS_GET_INDEX_FROM_START),this.appendValueInput("AT2").appendField(k.Msg.LISTS_GET_SUBLIST_END_FROM_START),this.appendDummyInput().appendField(k.Msg.TEXT_CHARAT2),this.setInputsInline(!0),this.setOutput(!0,["List",String]),this.setTooltip(k.Msg._GET_TEXT_SUBLIST_TOOLTIP)}},pe={init:function(){var t=[[k.Msg.MIXLY_EQUALS,"==="],[k.Msg.MIXLY_STARTSWITH,"startswith"],[k.Msg.MIXLY_ENDSWITH,"endswith"]];this.setColour(jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(new k.FieldDropdown(t),"DOWHAT").setCheck(String),this.setOutput(!0,[Boolean,Number]),this.setInputsInline(!0)}},ae={init:function(){this.setColour(jt),this.appendValueInput("STR1").setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.MIXLY_COMPARETO).setCheck(String),this.setOutput(!0,Number),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_COMPARETO_HELP)}},ue={init:function(){var t=[[k.Msg.TEXT_UPPER,"upper"],[k.Msg.TEXT_TITLE,"title"],[k.Msg.TEXT_CAPITALIZE,"capitalize"],[k.Msg.TEXT_SWAPCASE,"swapcase"],[k.Msg.TEXT_LOWER,"lower"]];this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"CAPITAL").setCheck(String),this.setOutput(!0,String);var e=this;this.setTooltip((function(){var t=e.getFieldValue("CAPITAL");return{upper:k.Msg.MIXLY_MIXPY_TEXT_UPPER_TOOLTIP,title:k.Msg.MIXLY_MIXPY_TEXT_TITLE_TOOLTIP,swapcase:k.Msg.MIXLY_MIXPY_TEXT_SWAPCASE_TOOLTIP,capitalize:k.Msg.MIXLY_MIXPY_TEXT_CAPITALIZE_TOOLTIP,lower:k.Msg.MIXLY_MIXPY_TEXT_LOWER_TOOLTIP}[t]}))}},le={init:function(){var t=[[k.Msg.TEXT_LJUST,"ljust"],[k.Msg.TEXT_CENTER,"center"],[k.Msg.TEXT_RJUST,"rjust"]];this.setColour(jt),this.appendValueInput("VAR").appendField(new k.FieldDropdown(t),"CENTER").setCheck(String),this.appendValueInput("WID").appendField(k.Msg.MIXLY_WIDTH).setCheck(Number),this.appendValueInput("Symbol").appendField(k.Msg.MIXLY_RECT_Fill).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_CENTER_TOOLTIP)}},re={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).setCheck(String),this.appendValueInput("STR").appendField(k.Msg.MIXLY_MID+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER).setCheck(String),this.appendDummyInput().appendField(k.Msg.MIXLY_LIST_INDEX),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_FIND_TOOLTIP)}},Te={init:function(){this.setColour(jt),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_USE_STR).setCheck(String),this.appendValueInput("LIST").appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_SEQ).setCheck("List","Tuple","Set","Dict"),this.appendDummyInput().appendField(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_GET_STR),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_PYTHON_TEXT_JOIN_SEQ_TOOLTIP)}},Ie={init:function(){this.setColour(jt),this.appendValueInput("VAR").setCheck(String),this.appendValueInput("STR1").appendField(k.Msg.MIXLY_MIXPY_REPLACE).setCheck(String),this.appendValueInput("STR2").appendField(k.Msg.LISTS_SET_INDEX_INPUT_TO).setCheck(String),this.setInputsInline(!0),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_REPLACE_TOOLTIP)}},de={init:function(){this.setColour(jt),this.appendValueInput("VAR"),this.appendValueInput("VAL").appendField(k.Msg.LIST_SPLIT_AS),this.appendDummyInput("").appendField(k.Msg.LIST_SPLIT),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MIXPY_TEXT_SPLIT_TOOLTIP),this.setInputsInline(!0)}},he={init:function(){var t=[[k.Msg.TEXT_TRIM_BOTH,"strip"],[k.Msg.TEXT_TRIM_LEFT,"lstrip"],[k.Msg.TEXT_TRIM_RIGHT,"rstrip"]];this.setColour(jt),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.TEXT_STRIM),this.appendDummyInput("").appendField(new k.FieldDropdown(t),"TOWHAT"),this.appendDummyInput("").appendField(k.Msg.TEXT_BLANK),this.setOutput(!0,String),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("TOWHAT");return{strip:k.Msg.TEXT_TRIM_BOTH_TOOLTIP,lstrip:k.Msg.TEXT_TRIM_LEFT_TOOLTIP,rstrip:k.Msg.TEXT_TRIM_RIGHT_TOOLTIP}[t]}))}},Ee={init:function(){this.setColour(jt),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_FORMAT),this.appendDummyInput("").appendField(new k.FieldTextInput("str"),"VAR"),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["text_create_with_item"],this)),this.setOutput(!0),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Ti={init:function(){this.setColour(li),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_TYPE_DICT),this.appendStatementInput("STACK"),this.setTooltip(k.Msg.DICTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},Ii={init:function(){this.setColour(li),this.appendDummyInput().appendField(k.Msg.DICTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},di={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_KEYS),this.setTooltip(k.Msg.DICTS_KEYS_TOOLTIP),this.setOutput(!0,"List")}},hi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_TOOLTIP)}},Ei={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_GET_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.appendValueInput("VAR").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.setOutput(!0),this.setTooltip(k.Msg.DICTS_GET_DEFAULT_TOOLTIP)}},Oi={init:function(){this.setColour(li),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_ADD),this.appendDummyInput(),this.appendValueInput("VAR").appendField(k.Msg.DICTS_ADD_VALUE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_ADD_OR_CHANGE_TOOLTIP)}},Mi={init:function(){this.setColour(li),this.appendValueInput("DICT"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_DELETE_IN),this.appendDummyInput("").appendField(k.Msg.DICTS_DELETE_VALUE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_DELETE_TOOLTIP)}},Ri={init:function(){this.setColour(li),this.appendValueInput("DICT2").setCheck("Dict").appendField(k.Msg.MAKE_DICT),this.appendValueInput("DICT").setCheck("Dict").appendField(k.Msg.DICT_UPDATE),this.appendDummyInput("").appendField(k.Msg.MIXLY_MID),this.setTooltip(k.Msg.DICTS_UPDATE_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ci={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_CLEAR),this.setTooltip(k.Msg.DICTS_CLEAR_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},mi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_ITEMS),this.setTooltip(k.Msg.DICTS_ITEMS_TOOLTIP),this.setOutput(!0,"List")}},Ai={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_VALUES),this.setTooltip(k.Msg.DICTS_VALUES_TOOLTIP),this.setOutput(!0,"List")}},gi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_LENGTH),this.setTooltip(k.Msg.DICT_LENGTH_TOOLTIP),this.setOutput(!0,Number)}},Li={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.DICT_DELDICT),this.setTooltip(k.Msg.DICTS_DEL_TOOLTIP),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Ci={init:function(){this.MODE=[[k.Msg.DICTS_ADD_OR_CHANGE,"INSERT"],[k.Msg.MIXLY_MICROBIT_JS_DELETE_VAR,"DELETE"]],this.setHelpUrl(k.Msg.LISTS_GET_SUBLIST_HELPURL),this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("AT2"),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).appendField(k.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=k.Msg.DICTS_ADD_TOOLTIP;break;case"DELETE":e=k.Msg.DICTS_DELETE_TOOLTIP}return e}))},mutationToDom:function(){var t=document.createElement("mutation"),e=this.getInput("AT2").type==k.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 k.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")}},Si={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.blockpy_DICT_POP),this.appendValueInput("KEY"),this.appendDummyInput("").appendField(k.Msg.DICTS_ADD_VALUE),this.setTooltip(k.Msg.DICT_POP_TOOLTIP),this.setInputsInline(!0),this.setOutput(!0)}},Di={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.DICTS_SET_DEFAULT),this.appendDummyInput("").appendField(k.Msg.DICTS_DEFAULT_VALUE),this.appendValueInput("VAR"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.DICTS_SETDEFAULT_TOOLTIP)}},Ni={init:function(){this.setColour(li),this.appendDummyInput("").appendField(new k.FieldLabel(k.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 k.icons.MutatorIcon(["dicts_create_with_item"],this)),this.setTooltip(k.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){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Pi={init:function(){this.setColour(li),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TODICT),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TODICT)}},fi={init:function(){this.setColour(li),this.appendValueInput("DICT").setCheck("Dict"),this.appendDummyInput("").appendField(k.Msg.MIXLY_TO_JSON),this.setTooltip(k.Msg.MIXLY_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},Fi={init:function(){this.setColour(li),this.appendValueInput("VAR"),this.appendDummyInput("").appendField(k.Msg.MIXLY_CONVERT_TO_JSON),this.setTooltip(k.Msg.MIXLY_CONVERT_TO_JSON_TOOLTIP),this.setOutput(!0,Number)}},vi=210,Vi={init:function(){var t=k.RTL?[["=","EQ"],["≠","NEQ"],[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["=","EQ"],["≠","NEQ"],["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{EQ:k.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:k.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:k.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:k.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:k.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:k.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[t]})),this.prevBlocks_=[null,null]}},Yi={init:function(){var t=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]],e=k.RTL?[[">","LT"],["≥","LTE"],["<","GT"],["≤","GTE"]]:[["<","LT"],["≤","LTE"],[">","GT"],["≥","GTE"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"OP1"),this.appendValueInput("C").appendField(new k.FieldDropdown(e),"OP2"),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_COMPARE_CONTINOUS_TOOLTIP)}},yi={init:function(){var t=[[k.Msg.LOGIC_OPERATION_AND,"AND"],[k.Msg.LOGIC_OPERATION_OR,"OR"],[k.Msg.LOGIC_OPERATION_NOR,"NOR"],[k.Msg.LOGIC_OPERATION_XOR,"XOR"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("A").setCheck([Boolean,Number]),this.appendValueInput("B").setCheck([Boolean,Number]).appendField(new k.FieldDropdown(t),"OP"),this.setInputsInline(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("OP");return{AND:k.Msg.LOGIC_OPERATION_TOOLTIP_AND,OR:k.Msg.LOGIC_OPERATION_TOOLTIP_OR,NOR:k.Msg.LOGIC_OPERATION_TOOLTIP_NOR,XOR:k.Msg.LOGIC_OPERATION_TOOLTIP_XOR}[t]}))}},bi={init:function(){this.setColour(vi),this.setOutput(!0,Boolean),this.appendValueInput("BOOL").setCheck([Number,Boolean]).appendField(k.Msg.LOGIC_NEGATE_TITLE),this.setTooltip(k.Msg.LOGIC_NEGATE_TOOLTIP)}},ki={init:function(){var t=[[k.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[k.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setColour(vi),this.setOutput(!0,Boolean),this.appendDummyInput().appendField(new k.FieldDropdown(t),"BOOL"),this.setTooltip(k.Msg.LOGIC_BOOLEAN_TOOLTIP)}},Xi={init:function(){this.setColour(vi),this.setOutput(!0),this.appendDummyInput().appendField(k.Msg.LOGIC_NULL),this.setTooltip(k.Msg.LOGIC_NULL_TOOLTIP)}},Ui={init:function(){this.setColour(vi),this.appendValueInput("A"),this.appendValueInput("B").appendField(k.Msg.LOGIC_TERNARY_IF_TRUE),this.appendValueInput("C").appendField(k.Msg.LOGIC_TERNARY_IF_FALSE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_TOOLTIP_LOGIT_TRUEORFALSE)}},Gi={init:function(){var t=[[k.Msg.TEXT_APPEND_TO,"in"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT_IN,"not in"]];this.setColour(vi),this.appendValueInput("A"),this.appendValueInput("B").setCheck([String,"List"]).appendField(new k.FieldDropdown(t),"BOOL"),this.appendDummyInput("").appendField(k.Msg.MICROBIT_LOGIC_IS_IN),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.IN)}},Bi={init:function(){var t=[[k.Msg.MIXLY_PYTHON_LOGIC_IS,"is"],[k.Msg.MIXLY_PYTHON_LOGIC_IS_NOT,"is not"]];this.setColour(vi),this.appendValueInput("A"),this.appendValueInput("B").appendField(new k.FieldDropdown(t),"BOOL"),this.setOutput(!0,Boolean),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_LOGIC_IS_TOOLTIP)}},xi={init:function(){this.setColour(vi),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOBOOL),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOBOOL)}},wi={init:function(){this.setColour(0),this.appendValueInput("fn").setCheck(String).appendField(k.Msg.MIXLY_PYTHON_STORAGE_OPEN_FILE_WITH_OS+"(For Windows)"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0)}},Hi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendValueInput("FILE").appendField(k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s}))},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},Wi={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},Ki={init:function(){this.setColour(0),this.appendValueInput("FILENAME").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE);this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,"r"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,"w"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,"rb"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE,"wb"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXPY_TEXT_ENCODE).appendField(new k.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=k.Msg.MIXLY_USE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_MODE,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_OPEN_FILE,o=k.Msg.MIXLY_BELONG,_=k.Msg.PY_STORAGE_FILE_OBJECT;return i+{r:k.Msg.MIXLY_MICROBIT_PY_STORAGE_READ,w:k.Msg.MIXLY_MICROBIT_PY_STORAGE_WRITE,rb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_READ,wb:k.Msg.MIXLY_MICROBIT_PY_STORAGE_BIT_WRITE}[e]+o+n+s+_}))}},ji={init:function(){this.setColour(0),this.appendValueInput("data").setCheck(String).appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE+k.Msg.MIXLY_MICROBIT_TYPE_STRING+k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_WRITE)}},qi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES,"readlines"]]),"MODE"),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String)}},Qi={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,"read"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,"readline"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE,"readlines"]]),"MODE"),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER;return i+{read:k.Msg.MIXLY_MICROBIT_PY_STORAGE_NO_MORE_THAN_SIZE,readline:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE,readlines:k.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL_LINES_NO_MORE_THAN_SIZE}[e]+"x"+n}))}},Ji={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FROM_FILE),this.setNextStatement(!0),this.appendValueInput("SIZE").setCheck(Number).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_ONE_LINE_NO_MORE_THAN_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MICROBIT_PYTHON_TYPE)}},Zi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.HTML_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Boolean),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CAN_WRITE_ORNOT1)}},zi={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILENAME),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,String),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILENAME)}},$i={init:function(){this.setColour(0),this.appendValueInput("FILE").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CLOSE_FILE)}},tn={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_LIST_ALL_FILES)}};k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE;const en={init:function(){this.setColour(0),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE,"remove"],[k.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(k.Msg.MIXLY_MICROBIT_PY_STORAGE_DELETE_FILE)}},nn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_FILE_SIZE+k.Msg.MIXLY_MICROBIT_PY_STORAGE_SIZE)}},sn={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RETURN_FILE),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PRESENT_LOCATION),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,Number),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_TELL)}},on={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck("Variable").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,"start"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,"current"],[k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END,"end"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET),this.appendValueInput("SIZE").setCheck(Number),this.appendDummyInput().appendField(k.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=k.Msg.MIXLY_MICROBIT_PY_STORAGE_SET_FILE_POSITION+k.Msg.MIXLY_MICROBIT_PY_STORAGE_CURRENT_POSITION,n=k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHARACTER,s=k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_OFFSET;return i+" "+{start:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_START,current:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_CURRENT,end:k.Msg.MIXLY_MICROBIT_PY_STORAGE_FILE_SEEK_END}[e]+s+"x"+n}))}},_n={init:function(){this.setColour(0),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR),this.setInputsInline(!0),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET_CURRENT_DIR)}},pn={init:function(){this.setColour(0),this.appendValueInput("PATH").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_ESP32_SET),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,"mkdir"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_PATH+"x"+k.Msg.MIXLY_ESP32_SET+{mkdir:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,makedirs:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},an={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME),this.appendValueInput("NEWFILE").setCheck(String).appendField(k.Msg.MIXLY_AS),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_RENAME)}},un={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.MIXLY_MICROBIT_PY_STORAGE_CHANGE_DIR)}},ln={init:function(){this.setColour(0),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH),this.appendDummyInput().appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.HTML_FILE,"isfile"],[k.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 k.Msg.MIXLY_MICROBIT_PY_STORAGE_THE_PATH+"x"+k.Msg.MIXLY_MICROBIT_PY_STORAGE_IS_OR_NOT+{isfile:k.Msg.MIXLY_MICROBIT_PY_STORAGE_MKDIR,isdir:k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKEDIRS}[e]}))}},rn={init:function(){this.setColour(0),this.appendValueInput("SPISUB").appendField(k.Msg.CONTROLS_FOR_INPUT_WITH+"SPI").setCheck("var"),this.appendValueInput("PINSUB").appendField("CS"),this.appendValueInput("SUB").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE).setCheck("var"),this.appendDummyInput("").appendField(k.Msg.MIXLY_SETUP+k.Msg.LISTS_SET_INDEX_INPUT_TO).appendField(k.Msg.MIXLY_SD_CARD),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null)}},Tn={init:function(){this.setColour(0),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SD_CARD),this.appendValueInput("DIR").setCheck(String).appendField(k.Msg.MIXLY_SDCARD_MOUNT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setInputsInline(!0),this.setTooltip()}},In={init:function(){var t=x.findLegalName("",this),e=new k.FieldTextInput(t,x.rename);e.setSpellcheck(!1),this.appendDummyInput().appendField(e,"NAME").appendField("","PARAMS"),this.setMutator(new k.icons.MutatorIcon(["procedures_mutatorarg"],this)),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&k.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(k.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(k.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(k.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(k.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=k.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),k.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{k.Events.enable()}},mutationToDom:function(t){var e=k.utils.xml.createElement("mutation");t&&e.setAttribute("name",this.getFieldValue("NAME"));for(var i=0;i"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.appendStatementInput("DO").appendField(""),this.setInputsInline(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_s={init:function(){this.setColour(ts),this.appendDummyInput().appendField(k.Msg.HTML_STYLE),this.appendStatementInput("STYLE"),this.setOutput(!0)}},ps={init:function(){this.setColour(ts),this.appendDummyInput().appendField(k.Msg.HTML_FORM_CONTENT).appendField(new k.FieldDropdown([[k.Msg.HTML_TEXT,"text"],[k.Msg.HTML_EMAIL,"email"],[k.Msg.HTML_NUMBER,"number"],[k.Msg.HTML_PASSWORD,"password"],[k.Msg.HTML_CHECKBOX,"checkbox"],[k.Msg.HTML_RADIOBUTTON,"radiobutton"],[k.Msg.HTML_BUTTON,"button"],[k.Msg.HTML_COLOUR,"colour"],[k.Msg.HTML_DATE,"date"],[k.Msg.HTML_LOCALTIME,"local time"],[k.Msg.HTML_FILE,"file"],[k.Msg.HTML_HIDDEN,"hidden"],[k.Msg.HTML_IMAGE,"image"],[k.Msg.HTML_MONTH,"month"],[k.Msg.HTML_RANGE,"range"],[k.Msg.HTML_RESET,"reset"],[k.Msg.HTML_SEARCH,"search"],[k.Msg.HTML_SUBMIT,"submit"],[k.Msg.HTML_TELEPHONENUMBER,"telephone number"],[k.Msg.HTML_TIME,"time"],[k.Msg.HTML_URL,"url"],[k.Msg.HTML_WEEK,"week"]]),"LEVEL"),this.appendDummyInput().appendField(k.Msg.HTML_NAME).appendField(new k.FieldTextInput("car"),"NAME"),this.appendDummyInput().appendField(k.Msg.HTML_VALUE).appendField(new k.FieldTextInput("go"),"VALUE"),this.appendValueInput("style").appendField(k.Msg.MIXLY_AIP_ATTR).setAlign(k.inputs.Align.RIGHT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},as={init:function(){this.setColour(ts),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldTextInput("value"),"VALUE"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},us={init:function(){this.setColour(ts),this.appendDummyInput().appendField(new k.FieldTextInput("property"),"KEY").appendField(":").appendField(new k.FieldColour("#ff0000"),"RGB_LED_COLOR"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ls={init:function(){this.setColour(ts),this.appendDummyInput().appendField(k.Msg.HTML_TEXT).appendField(new k.FieldTextInput("text"),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0)}},rs=160,Ts={init:function(){this.setColour(rs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Tabular Abstraction:"),this.appendDummyInput().appendField(new k.FieldTable(""),"TEXT")}},Is={init:function(){this.setColour(rs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendDummyInput().appendField("Code Block:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT")}},ds={init:function(){this.setColour(rs),this.appendDummyInput().appendField("Code Expression:"),this.appendDummyInput().appendField(new k.FieldMultilineInput(""),"TEXT"),this.setOutput(!0)}},hs={init:function(){this.setColour(rs),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("VALUE").appendField(""),this.setInputsInline(!1)}},Es={init:function(){this.setColour(rs),this.appendDummyInput().appendTitle("Comment:").appendTitle(new k.FieldTextInput(""),"TEXT"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("This comment will be ignored by Python")}},Os={init:function(){this.setColour(rs),this.appendValueInput("VALUE").appendField(k.Msg.TYPE_CHECK),this.setInputsInline(!1),this.setOutput(!0,"Type")}},Ms={init:function(){this.setColour(rs),this.itemCount_=1,this.updateShape_(),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setMutator(new k.icons.MutatorIcon(["text_print_multiple_item"],this)),this.setTooltip(k.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=k.Block.obtain(t,"text_print_multiple_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},bs={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ks={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Xs={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Us={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Gs={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Bs={init:function(){this.setColour(Cs),this.appendValueInput("FROM").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_SPLITBYDOU).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_FROM),this.appendValueInput("TO").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXPY_DATA_ARRAY_CREATE_TO),this.appendValueInput("STEP").setCheck(Number).setAlign(k.inputs.Align.RIGHT).appendField(k.Msg.MIXLY_STEP),this.setInputsInline(!0),this.setOutput(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},xs={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},ws={init:function(){this.setColour(Cs);var t=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],e=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(e),"DOT"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(t),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},Hs={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_DOWN,"v"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_UP,"^"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_LEFT,"<"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIANGLE_RIGHT,">"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_UP,"1"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_DOWN,"2"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_LEFT,"3"],[k.Msg.blockpy_PYLAB_PLOT_DOT_TRIMARKER_RIGHT,"4"],[k.Msg.blockpy_PYLAB_PLOT_DOT_SQUARE,"s"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PENTAGON,"p"],[k.Msg.blockpy_PYLAB_PLOT_DOT_STAR,"*"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_VERTICAL,"h"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HEXAGON_HORIZONTAL,"H"],[k.Msg.blockpy_PYLAB_PLOT_DOT_PLUS,"+"],[k.Msg.blockpy_PYLAB_PLOT_DOT_CROSS,"x"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND,"D"],[k.Msg.blockpy_PYLAB_PLOT_DOT_DIAMOND_SMALL,"d"],[k.Msg.blockpy_PYLAB_PLOT_DOT_VERTICAL,"|"],[k.Msg.blockpy_PYLAB_PLOT_DOT_HORIZONTAL,"_"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Ws={init:function(){this.setColour(Cs);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Ks={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},js={init:function(){this.setColour(Cs),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},qs={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Qs={init:function(){var t=[["sin","sin"],["cos","cos"],["tan","tan"],["arcsin","arcsin"],["arccos","arccos"],["arctan","arctan"],[k.Msg.LANG_MATH_TO_ROUND,"round"],[k.Msg.LANG_MATH_TO_CEIL,"ceil"],[k.Msg.LANG_MATH_TO_FLOOR,"floor"]];this.setColour(Cs),this.setOutput(!0),this.setInputsInline(!0),this.appendDummyInput().appendField(k.Msg.mixpy_NUMPY_TRIG),this.appendValueInput("NUM").setCheck(Number).appendField(new k.FieldDropdown(t),"OP"),this.setTooltip(k.Msg.mixpy_NUMPY_TRIG_TOOLTIP)}},Js={init:function(){this.setColour(Cs),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Zs={init:function(){this.setColour(Cs),this.appendValueInput("FILENAME").appendField(k.Msg.MIXPY_PANDAS_READ_CSV),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.mixpy_PANDAS_READCSV_HEADER_Y,"0"],[k.Msg.mixpy_PANDAS_READCSV_HEADER_N,"None"]]),"MODE"),this.appendDummyInput().appendField(k.Msg.mixpy_PANDAS_READCSV_TITLE),this.setOutput(!0),this.setInputsInline(!0),this.setTooltip(k.Msg.mixpy_PANDAS_READCSV_TOOLTIP)},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(t,e){k.Names.equals(t,this.getFieldValue("VAR"))&&this.setTitleValue(e,"VAR")}},zs={init:function(){this.setColour(Cs),this.appendValueInput("DICT").setCheck("Dict"),this.appendValueInput("KEY").appendField(k.Msg.mixpy_DATAFRAME_GET),this.appendDummyInput("").appendField(k.Msg.mixpy_DATAFRAME_GET_INDEX).appendField(new k.FieldDropdown([[k.Msg.DATAFRAME_COLUMN,"column"],[k.Msg.DATAFRAME_RAW,"raw"]]),"MODE"),this.setOutput(!0),this.setTooltip(k.Msg.mixpy_DATAFRAME_GET_TOOLTIP)}},$s={init:function(){this.setColour(Cs),this.appendValueInput("FILE").setCheck(String).appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},to={init:function(){this.setColour(Cs);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},eo={init:function(){this.setColour(Cs),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_TOARRAY),this.setOutput(!0,"List"),this.setTooltip(k.Msg.MIXLY_PYTHON_TOOLTIP_TOARRAY)}},io={init:function(){this.setColour(Cs),this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},no={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("SER").setCheck("Series").appendField(k.Msg.MIXLY_MICROPYTHON_SOCKET_MAKE),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_PLOT),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},so={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SHOW),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},oo={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.mixpy_PL_AXES),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},_o={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_LEGEND),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},po={init:function(){this.setColour(Cs),this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_TITLE),this.appendValueInput("TITLE").setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},ao={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.blockpy_PYLAB_SET_LABEL).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("LABEL").appendField(k.Msg.blockpy_PYLAB_LABEL).setCheck(String),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},uo={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PYLAB_PLOT_BAR_PLOT,"plot"],[k.Msg.mixpy_PYLAB_PLOT_BAR_BAR,"bar"]];this.appendDummyInput().appendField(k.Msg.MIXLY_DISPLAY_DRAW).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{plot:k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP,bar:k.Msg.mixpy_PYLAB_PLOT_BAR_EASY_TOOLTIP}[t]}))}},lo={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_SCATTER).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("S").appendField(k.Msg.MIXLY_MICROBIT_JS_NUMBER),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(t),"DOT"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},ro={init:function(){this.setColour(Cs);var t=[[k.Msg.blockpy_PYLAB_PLOT_LINE_SOLID,"-"],[k.Msg.blockpy_PYLAB_PLOT_LINE_DOTTED,"--"],[k.Msg.blockpy_PYLAB_PLOT_LINE_CHAIN,"-."],[k.Msg.blockpy_PYLAB_PLOT_LINE_POINT_DOTTED,":"],[k.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,""]],e=[[k.Msg.COLOUR_RGB_BLUE,"b"],[k.Msg.COLOUR_RGB_GREEN,"g"],[k.Msg.COLOUR_RGB_RED,"r"],[k.Msg.COLOUR_CYAN,"c"],[k.Msg.COLOUR_MAGENTA,"m"],[k.Msg.COLOUR_YELLOW,"y"],[k.Msg.COLOUR_BLACK,"k"],[k.Msg.COLOUR_WHITE,"w"]],i=[[k.Msg.blockpy_PYLAB_PLOT_DOT_CIRCULAR,"."],[k.Msg.blockpy_PYLAB_PLOT_DOT_PIXEL,","],[k.Msg.blockpy_PYLAB_PLOT_DOT_LARGE_DOT,"o"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PLOT_XY).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_DOT).appendField(new k.FieldDropdown(i),"DOT"),this.appendDummyInput("").appendField(k.Msg.blockpy_PYLAB_PLOT_LINE).appendField(new k.FieldDropdown(t),"LINE"),this.appendDummyInput("").appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldDropdown(e),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},To={init:function(){this.setColour(Cs);var t=[[k.Msg.MIXLY_TURTLE_WRITE_ALIGN_CENTER,"center"],[k.Msg.AILGN_EDGE,"edge"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_BAR).appendField(k.Msg.mixpy_PYLAB_PLOT_X),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_PLOT_Y),this.appendValueInput("WIDTH").setCheck(Number).appendField(k.Msg.MIXLY_WIDTH),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_BAR_ALIGN).appendField(new k.FieldDropdown(t),"ALIGN"),this.appendDummyInput().appendField(k.Msg.HTML_COLOUR).appendField(new k.FieldColour("#0000ff"),"COLOR"),this.appendValueInput("TAG").setCheck(String).appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},Io={init:function(){this.setColour(Cs);var t=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"False"],[k.Msg.mixpy_PL_PIE_SHADOW_Y,"True"]],e=[[k.Msg.mixpy_PL_PIE_SHADOW_N,"None"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_Z,"%.0f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_O,"%.1f%%"],[k.Msg.mixpy_PYLAB_PIE_AUTOPCT_T,"%.2f%%"]];this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_PIE).appendField(k.Msg.COLOUR_BLEND_RATIO),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.appendValueInput("EXPLODE").appendField(k.Msg.mixpy_PYLAB_PIE_EXPLODE),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_AUTOPCT).appendField(new k.FieldDropdown(e),"autopct"),this.appendDummyInput("").appendField(k.Msg.mixpy_PYLAB_PIE_SHADOW).appendField(new k.FieldDropdown(t),"SHADOW"),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_PLOT_XY_TOOLTIP)}},ho={init:function(){this.setColour(Cs),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_HIST).appendField(k.Msg.MIXLY_SD_DATA),this.appendValueInput("B").appendField(k.Msg.MIXLY_MICROBIT_JS_MONITOR_SCROLL_INTERVAL),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0)}},Eo={init:function(){this.setColour(Cs);var t=[[k.Msg.PYLAB_LABEL_X,"x"],[k.Msg.PYLAB_LABEL_Y,"y"]];this.appendDummyInput().appendField(k.Msg.MIXLY_SETTING).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("A").appendField(k.Msg.mixpy_PYLAB_TICKS).appendField(k.Msg.MIXLY_MICROBIT_JS_I2C_VALUE),this.appendValueInput("B").appendField(k.Msg.mixpy_PYLAB_TICKS_TAG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PYLAB_TICKS_TOOLTIP)}},Oo={init:function(){this.setColour(Cs),this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT).appendField(k.Msg.mixpy_SUBPLOT_VERTICLE),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_HORIZEN),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_SUBPLOT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_CONTROLS_RANGE_TOOLTIP)}},Mo={init:function(){this.setColour(Cs),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_SAVEFIG),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setOutput(!1),this.setTooltip(k.Msg.mixpy_PL_SAVEFIG_TOOLTIP)}},Ro={init:function(){this.setColour(Cs);var t=[[k.Msg.TEXT_TRIM_LEFT,"right"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.TEXT_TRIM_RIGHT,"left"]],e=[[k.Msg.mixpy_PL_TEXT_TOP,"bottom"],[k.Msg.mixpy_PL_TEXT_CENTER,"center"],[k.Msg.mixpy_PL_TEXT_BOTTOM,"top"]];this.appendValueInput("VET").setCheck(Number).appendField(k.Msg.MIXLY_SETTING).appendField(k.Msg.mixpy_PL_TEXT_X),this.appendValueInput("HOR").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_Y),this.appendValueInput("NUM").setCheck(Number).appendField(k.Msg.mixpy_PL_TEXT_TAG),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_HOR).appendField(new k.FieldDropdown(t),"HALIGN"),this.appendDummyInput("").appendField(k.Msg.mixpy_PL_TEXT_VER).appendField(new k.FieldDropdown(e),"VALIGN"),this.appendValueInput("FONTNUM").setCheck(Number).appendField(k.Msg.MIXLY_TURTLE_WRITE_FONT_NUM),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.mixpy_PL_TEXT_TOOLTIP)}},co=20,mo={init:function(){this.setColour(co),this.appendValueInput("VAR").appendField(k.Msg.blockpy_inout_raw_input).setCheck(String),this.setOutput(!0),this.setTooltip(k.Msg.INOUT_input_TOOLTIP)}},Ao={init:function(){this.setColour(co),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINTLN),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.BLOCKPY_PRINT_TOOLTIP)}},go={init:function(){this.setColour(co),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setTooltip(k.Msg.TEXT_PRINT_TOOLTIP)}},Lo={init:function(){this.setColour(co),this.appendValueInput("VAR").appendField(k.Msg.MIXLY_SERIAL_PRINT),this.appendValueInput("END").appendField(k.Msg.MIXLY_ENDSWITH),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setInputsInline(!0),this.setTooltip(k.Msg.MIXLY_PYTHON_INOUT_PRINT_END_TOOLTIP)}},Co={init:function(){var t=[[k.Msg.LANG_MATH_STRING,"str"],[k.Msg.LANG_MATH_INT,"int"],[k.Msg.LANG_MATH_FLOAT,"float"]];this.setColour(co),this.appendDummyInput("").appendField(k.Msg.MIXLY_MICROBIT_PY_STORAGE_GET).appendField(new k.FieldDropdown(t),"DIR"),this.appendValueInput("VAR").appendField(k.Msg.PROCEDURES_MUTATORCONTAINER_TITLE).setCheck(String),this.setInputsInline(!0),this.setOutput(!0);var e=this;this.setTooltip((function(){var t=e.getFieldValue("DIR");return{str:k.Msg.MIXLY_MIXPY_INOUT_STR_INPUT_TOOLTIP,int:k.Msg.MIXLY_MIXPY_INOUT_INT_INPUT_TOOLTIP,float:k.Msg.MIXLY_MIXPY_INOUT_FLOAT_INPUT_TOOLTIP}[t]}))}},So={init:function(){this.setColour(co),this.itemCount_=2,this.updateShape_(),this.setPreviousStatement(!1),this.setNextStatement(!1),this.setInputsInline(!0),this.setMutator(new k.icons.MutatorIcon(["inout_print_item"],this)),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(k.Msg.MIXLY_MIXPY_INOUT_PRINT_MANY_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("inout_print_container");e.initSvg();for(var i=e.getInput("STACK").connection,n=0;n0?t:[["'无可用地图'","'无可用地图'"]]}},w_={init:function(){this.appendValueInput("pathtype").setCheck(null).appendField(k.Msg.MIXLY_GAME_SETPATHTYPE),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},H_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用路径'","'无可用路径'"]]}},W_={init:function(){this.setColour(290),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("posx").setCheck(null).appendField(k.Msg.TEXT_APPEND_TO+"("),this.appendDummyInput().appendField(","),this.appendValueInput("posy").setCheck(null).appendField(""),this.appendDummyInput().appendField(")"+k.Msg.MIXLY_GAME_LAY).appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_WALL,"'wall'"],[k.Msg.MIXLY_GAME_BARRIER,"'barrier'"],[k.Msg.MIXLY_GAME_COIN,"'coin'"],[k.Msg.MIXLY_GAME_REDMARKER,"'redmarker'"],[k.Msg.MIXLY_GAME_YELLOWMARKER,"'yellowmarker'"],[k.Msg.MIXLY_GAME_BLUEMARKER,"'bluemarker'"],[k.Msg.MIXLY_GAME_GREENMARKER,"'greenmarker'"]]),"item"),this.setTooltip("")}},K_={init:function(){this.imgArr=this.getLocalImg(),this.appendDummyInput().appendField(new k.FieldDropdown(this.getLocalImg()),"type"),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")},onchange:function(){let t=this.getFieldValue("type"),e=this.imgArr;this.haveNewSrc(this.imgArr,e)&&(this.imgArr=e,this.getField("type").menuGenerator_=this.imgArr,this.checkSrc(t,this.imgArr)?this.setFieldValue(t,"type"):this.setFieldValue(this.imgArr[0][1],"type"))},haveNewSrc:function(t,e){if(t.length!==e.length)return!0;for(var i=0;i0?t:[["'无可用角色'","'无可用角色'"]]}},j_={init:function(){this.setColour(290),this.appendValueInput("character").setCheck(null).appendField(k.Msg.MIXLY_GAME_INIT_CHARA),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_FACE+k.Msg.MIXLY_GAME_RIGHT),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip("")}},q_={init:function(){this.setColour(290),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_GETPOINT),this.setOutput(!0,Number),this.setTooltip("")}},Q_={init:function(){this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_UP,"0"],[k.Msg.MIXLY_GAME_DOWN,"2"],[k.Msg.MIXLY_GAME_LEFT,"3"],[k.Msg.MIXLY_GAME_RIGHT,"1"]]),"direction"),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ISBARRIER),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},J_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_RE_SPIRITE).appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_FORWARD,"f"],[k.Msg.MIXLY_GAME_BACKWARD,"b"],[k.Msg.MIXLY_GAME_LEFT,"l"],[k.Msg.MIXLY_GAME_RIGHT,"r"]]),"direction"),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ISBARRIER),this.setInputsInline(!0),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},Z_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_RANDOMCAROIL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},z_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_NEEDOIL),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},$_={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ISGREEN),this.setOutput(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},tp={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_ADDOIL),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},ep={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_CHECKCIRCURIGHT),this.setPreviousStatement(!0),this.setColour(290),this.setTooltip("")}},ip={init:function(){this.setColour(290),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_CHECK_WHETHER_PASS),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_REDMARKER,"'redmarker'"],[k.Msg.MIXLY_GAME_YELLOWMARKER,"'yellowmarker'"],[k.Msg.MIXLY_GAME_BLUEMARKER,"'bluemarker'"],[k.Msg.MIXLY_GAME_GREENMARKER,"'greenmarker'"]]),"marker"),this.appendDummyInput().appendField("?"),this.setInputsInline(!0),this.setOutput(!0,null),this.setTooltip("")}},np={init:function(){this.setColour(290),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_GET_MARKER_NUM),this.appendDummyInput().appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_REDMARKER,"'redmarker'"],[k.Msg.MIXLY_GAME_YELLOWMARKER,"'yellowmarker'"],[k.Msg.MIXLY_GAME_BLUEMARKER,"'bluemarker'"],[k.Msg.MIXLY_GAME_GREENMARKER,"'greenmarker'"]]),"marker"),this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_NUMBER_OF_MARKER),this.setInputsInline(!0),this.setOutput(!0,null),this.setTooltip("")}},sp={init:function(){this.setColour(290),this.setPreviousStatement(!0),this.setNextStatement(!0),this.appendValueInput("posx").setCheck(null).appendField(k.Msg.TEXT_APPEND_TO+"("),this.appendDummyInput().appendField(","),this.appendValueInput("posy").setCheck(null).appendField(""),this.appendDummyInput().appendField(")"+k.Msg.TEXT_GET_INDEX_RANDOM+k.Msg.MIXLY_GAME_LAY+k.Msg.MIXLY_GAME_BARRIER),this.setTooltip("")}},op={init:function(){this.appendDummyInput().appendField(k.Msg.MIXLY_GAME_INIT_AS).appendField(new k.FieldDropdown([[k.Msg.MIXLY_GAME_ONE,"0"],[k.Msg.MIXLY_GAME_TWO,"1"],[k.Msg.MIXLY_GAME_THREE,"2"],[k.Msg.MIXLY_GAME_FOUR,"3"],[k.Msg.MIXLY_GAME_FIVE,"4"],[k.Msg.MIXLY_GAME_SIX,"5"],[k.Msg.MIXLY_GAME_SEVEN,"6"],[k.Msg.MIXLY_GAME_EIGHT,"7"],[k.Msg.MIXLY_GAME_NINE,"8"],[k.Msg.MIXLY_GAME_TEN,"9"],[k.Msg.MIXLY_GAME_ELE,"10"],[k.Msg.MIXLY_GAME_TWEL,"11"],[k.Msg.MIXLY_GAME_THIR,"12"],[k.Msg.MIXLY_GAME_FORT,"13"],[k.Msg.MIXLY_GAME_FIFT,"14"],[k.Msg.MIXLY_GAME_SIXT,"15"],[k.Msg.MIXLY_GAME_SEVENT,"16"]]),"level"),this.setInputsInline(!0),this.setNextStatement(!0),this.setColour(290),this.setTooltip("")}},_p={init:function(){this.appendValueInput("N").setCheck(null).setAlign(k.inputs.Align.LEFT).appendField("二分法查找书籍").appendField("N"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},pp={init:function(){this.appendValueInput("N").setCheck(null).setAlign(k.inputs.Align.LEFT).appendField("顺序法查找书籍").appendField("N"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(290),this.setTooltip(""),this.setHelpUrl("")}},ap=function(t,e){return[e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE),e.ORDER_ATOMIC]},up=function(t,e){if(""==this.getFieldValue("VAR"))return" = None\n";var i=e.valueToCode(this,"VALUE",e.ORDER_ASSIGNMENT)||"None";return e.variableDB_.getName(this.getFieldValue("VAR"),k.Variables.NAME_TYPE)+" = "+i+"\n"},lp=function(t,e){var i=this.getFieldValue("OP"),n=e.valueToCode(this,"MYVALUE",e.ORDER_ATOMIC)||"None";if("bytes"==i)var s=i+"("+n+',"UTF-8")';else s=i+"("+n+")";return[s,e.ORDER_ATOMIC]},rp=function(t,e){return"global "+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"None")+"\n"},Tp=function(t,e){return["type("+(e.valueToCode(this,"DATA",e.ORDER_ATOMIC)||"None")+")",e.ORDER_ATOMIC]},Ip=function(t,e){return[this.getFieldValue("type"),e.ORDER_ATOMIC]},dp=function(t,e){var i=e.statementToCode(t,"DO");return"if __name__ == '__main__':\n"+(i=e.addLoopTrap(i,t.id)||e.PASS)},hp=function(t,e){var i=e.statementToCode(this,"DO");return(i=i.replace(/(^\s*)|(\s*$)/g,"").replace(/\n {4}/g,"\n")).endsWith("\n")?e.setups_.setup_setup=i:e.setups_.setup_setup=i+"\n",""},Ep=function(t,e){var i=0,n="";do{n+=(0==i?"if ":"elif ")+(e.valueToCode(t,"IF"+i,e.ORDER_NONE)||"False")+":\n"+(e.statementToCode(t,"DO"+i)||e.PASS),++i}while(t.getInput("IF"+i));return t.getInput("ELSE")&&(n+="else:\n"+(e.statementToCode(t,"ELSE")||e.PASS)),n},Op=function(t,e){var i=0,n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"null",s="try:\n"+(e.statementToCode(this,"try")||" pass\n");for(i=1;i<=this.elseifCount_;i++)""!==(n=e.valueToCode(this,"IF"+i,e.ORDER_NONE)||"")&&(n=" "+n),s+="except"+n+": \n"+(e.statementToCode(this,"DO"+i)||" pass\n");return this.elseCount_&&(s+="finally:\n"+(e.statementToCode(this,"ELSE")||" pass\n")),s},Mp=function(t,e){var i=e.variableDB_.getName(t.getFieldValue("VAR"),k.Variables.NAME_TYPE),n=e.valueToCode(t,"FROM",e.ORDER_NONE)||"0",s=e.valueToCode(t,"TO",e.ORDER_NONE)||"0",o=e.valueToCode(t,"STEP",e.ORDER_NONE)||"1",_=e.statementToCode(t,"DO"),p=(_=e.addLoopTrap(_,t.id)||e.PASS,""),a=function(t,e){return e.provideFunction_("upRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start <= stop:"," yield start"," start += abs(step)"])},u=function(t,e){return e.provideFunction_("downRange",["def "+e.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):"," while start >= 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+")"},k.isNumber(n)&&k.isNumber(s)&&k.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 ku=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]},Xu=function(t,e){var i=e.ORDER_UNARY_PREFIX;return["not "+(e.valueToCode(this,"BOOL",i)||"False"),i]},Uu=function(t,e){return["TRUE"==this.getFieldValue("BOOL")?"True":"False",e.ORDER_ATOMIC]},Gu=function(t,e){return["None",e.ORDER_ATOMIC]},Bu=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]},xu=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]},wu=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]},Hu=function(t,e){return["bool("+(e.valueToCode(this,"VAR",e.ORDER_ATOMIC)||"0")+")",e.ORDER_ATOMIC]},Wu=function(t,e){return e.definitions_.import_os="import os","os.startfile("+e.valueToCode(this,"fn",e.ORDER_ATOMIC)+")\n"},Ku=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+" = open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')\n"},ju=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"')",e.ORDER_ATOMIC]},qu=function(t,e){return["open("+e.valueToCode(this,"FILENAME",e.ORDER_ATOMIC)+", '"+this.getFieldValue("MODE")+"', encoding=\""+this.getFieldValue("CODE")+'")',e.ORDER_ATOMIC]},Qu=function(t,e){var i=e.valueToCode(this,"data",e.ORDER_ATOMIC);return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".write("+i+")\n"},Ju=function(t,e){var i=this.getFieldValue("MODE");return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+"."+i+"()",e.ORDER_ATOMIC]},Zu=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]},zu=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".readline("+e.valueToCode(this,"SIZE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},$u=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".writable()",e.ORDER_ATOMIC]},tl=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".name()",e.ORDER_ATOMIC]},el=function(t,e){return e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".close()\n"},il=function(t,e){e.definitions_.import_os="import os";return["os.listdir()",e.ORDER_ATOMIC]},nl=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},sl=function(t,e){return e.definitions_.import_os="import os",["os.path.getsize("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")",e.ORDER_ATOMIC]},ol=function(t,e){return[e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+".tell()",e.ORDER_ATOMIC]},_l=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"},pl=function(t,e){return e.definitions_.import_os="import os","os.chdir("+e.valueToCode(this,"FILE",e.ORDER_ATOMIC)+")\n"},al=function(t,e){e.definitions_.import_os="import os";return["os.getcwd()",e.ORDER_ATOMIC]},ul=function(t,e){return e.definitions_.import_os="import os","os."+this.getFieldValue("MODE")+"("+e.valueToCode(this,"PATH",e.ORDER_ATOMIC)+")\n"},ll=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"},rl=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]},Tl=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"},Il=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"},dl=function(t,e){var i=e.variableDB_.getName(this.getFieldValue("NAME"),k.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]},ql=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"\n"+i+"\n"},Ql=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},Jl=function(t,e){var i=e.statementToCode(this,"DO"),n=this.getFieldValue("LEVEL");return"<"+n+">\n"+i+"\n"},Zl=function(t,e){var i=e.statementToCode(this,"DO"),n=e.valueToCode(this,"style"),s=this.getFieldValue("LEVEL");return"<"+s+" "+n+" >\n"+i+"\n"},zl=function(t,e){return['style="'+e.statementToCode(this,"STYLE")+'"',e.ORDER_ATOMIC]},$l=function(t,e){return'"},tr=function(){return this.getFieldValue("KEY")+":"+this.getFieldValue("VALUE")+";"},er=function(){return this.getFieldValue("TEXT")+"\n"},ir=function(t){return t.getFieldValue("TEXT")+"\n"},nr=function(t,e){return[t.getFieldValue("TEXT"),e.ORDER_ATOMIC]},sr=function(t,e){return(e.valueToCode(t,"VALUE",e.ORDER_ATOMIC)||"")+"\n"},or=function(){return""},_r=function(t,e){return["type("+(e.valueToCode(t,"VALUE",e.ORDER_MEMBER)||"___")+")",e.ORDER_ATOMIC]},pr=function(t,e){for(var i=t.getFieldValue("NAME"),n=t.hasReturn_,s=new Array(t.itemCount_),o=0;o=0&&(n[s]=n[s].replace(" ",""));i="";for(s=0;s + + + diff --git a/boards/default_src/micropython_esp32c2/css/color_esp32c3_mixgocc.css b/boards/default_src/micropython_esp32c2/css/color_esp32c3_mixgocc.css index 475c698b..c8282e5e 100644 --- a/boards/default_src/micropython_esp32c2/css/color_esp32c3_mixgocc.css +++ b/boards/default_src/micropython_esp32c2/css/color_esp32c3_mixgocc.css @@ -142,7 +142,14 @@ div.blocklyToolboxDiv > div.blocklyToolboxContents > div:nth-child(12) > div.blo background:url('../../../../common/media/mark/sensor2.png') no-repeat; background-size: 100% auto; } - +#catMINI_G2.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{ + background:url('../../../../common/media/mark/sensor.png') no-repeat; + background-size: 100% auto; +} +#catMINI_G2.blocklyTreeRow.blocklyTreeSelected > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{ + background:url('../../../../common/media/mark/sensor2.png') no-repeat; + background-size: 100% auto; +} #catExternSensor.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{ background:url('../../../../common/media/mark/sensor_extern.png') no-repeat; background-size: 100% auto; diff --git a/boards/default_src/micropython_esp32c2/generators/me_g1.js b/boards/default_src/micropython_esp32c2/generators/me_g1.js index 32049430..c8bc4b35 100644 --- a/boards/default_src/micropython_esp32c2/generators/me_g1.js +++ b/boards/default_src/micropython_esp32c2/generators/me_g1.js @@ -1,3 +1,5 @@ +import { Boards } from 'mixly'; + export const me_g1_aht11 = function (_, generator) { var key = this.getFieldValue('key'); generator.definitions_['import_me_g1'] = 'import me_g1'; @@ -25,31 +27,55 @@ export const me_g1_rfid_readid = function (_, generator) { } export const me_g1_rfid_readcontent = function (_, generator) { + var version = Boards.getSelectedBoardKey().split(':')[2]; var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); - generator.definitions_['import_me_g1'] = 'import me_g1'; - var code = 'me_g1.ext_rc522.read_card(' + sector + ')'; + if (version == "mixgo_mini") { + generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; + var code = 'ext_rfid.read_card(' + sector + ')'; + } else { + generator.definitions_['import_me_g1'] = 'import me_g1'; + var code = 'me_g1.ext_rc522.read_card(' + sector + ')'; + } return [code, generator.ORDER_ATOMIC]; } export const me_g1_rfid_write = function (_, generator) { + var version = Boards.getSelectedBoardKey().split(':')[2]; var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); - generator.definitions_['import_me_g1'] = 'import me_g1'; - var code = 'me_g1.ext_rc522.write_card(' + cnt + ',' + sector + ')\n'; + if (version == "mixgo_mini") { + generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; + var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n'; + } else { + generator.definitions_['import_me_g1'] = 'import me_g1'; + var code = 'me_g1.ext_rc522.write_card(' + cnt + ',' + sector + ')\n'; + } return code; } export const me_g1_rfid_write_outcome = function (_, generator) { + var version = Boards.getSelectedBoardKey().split(':')[2]; var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC); var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC); - generator.definitions_['import_me_g1'] = 'import me_g1'; - var code = 'me_g1.ext_rc522.write_card(' + cnt + ',' + sector + ')'; + if (version == "mixgo_mini") { + generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; + var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')'; + } else { + generator.definitions_['import_me_g1'] = 'import me_g1'; + var code = 'me_g1.ext_rc522.write_card(' + cnt + ',' + sector + ')'; + } return [code, generator.ORDER_ATOMIC]; } export const me_g1_rfid_status = function (_, generator) { + var version = Boards.getSelectedBoardKey().split(':')[2]; var key = this.getFieldValue('key'); - generator.definitions_['import_me_g1'] = 'import me_g1'; - var code = 'me_g1.ext_rc522.scan_card()==' + key; + if (version == "mixgo_mini") { + generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid'; + var code = 'ext_rfid.scan_card()==' + key; + } else{ + generator.definitions_['import_me_g1'] = 'import me_g1'; + var code = 'me_g1.ext_rc522.scan_card()==' + key; + } return [code, generator.ORDER_ATOMIC]; } \ No newline at end of file diff --git a/boards/default_src/micropython_esp32c2/origin/build/lib/mini_g2.py b/boards/default_src/micropython_esp32c2/origin/build/lib/mini_g2.py index 469bccc3..c9c2a042 100644 --- a/boards/default_src/micropython_esp32c2/origin/build/lib/mini_g2.py +++ b/boards/default_src/micropython_esp32c2/origin/build/lib/mini_g2.py @@ -15,7 +15,7 @@ ext_i2c = SoftI2C(scl=Pin(7), sda=Pin(8), freq=400000) '''RFID_Sensor''' try : import rc522 - onboard_rfid = rc522.RC522(ext_i2c) + ext_rfid = rc522.RC522(ext_i2c) except Exception as e: print("Warning: Failed to communicate with SI522A (RFID) or",e) diff --git a/boards/default_src/micropython_esp32c2/template.xml b/boards/default_src/micropython_esp32c2/template.xml index fb9ba2d5..cfd2a9c7 100644 --- a/boards/default_src/micropython_esp32c2/template.xml +++ b/boards/default_src/micropython_esp32c2/template.xml @@ -278,6 +278,9 @@ + + + @@ -1948,8 +1951,7 @@ - + diff --git a/boards/default_src/micropython_esp32c3/template.xml b/boards/default_src/micropython_esp32c3/template.xml index b756195e..19b84f23 100644 --- a/boards/default_src/micropython_esp32c3/template.xml +++ b/boards/default_src/micropython_esp32c3/template.xml @@ -278,6 +278,9 @@ + + + diff --git a/boards/default_src/micropython_esp32s2/template.xml b/boards/default_src/micropython_esp32s2/template.xml index 03b55f8c..d60ca037 100644 --- a/boards/default_src/micropython_esp32s2/template.xml +++ b/boards/default_src/micropython_esp32s2/template.xml @@ -303,6 +303,9 @@ + + + diff --git a/boards/default_src/micropython_esp32s3/template.xml b/boards/default_src/micropython_esp32s3/template.xml index 6d390e8b..20e0fe88 100644 --- a/boards/default_src/micropython_esp32s3/template.xml +++ b/boards/default_src/micropython_esp32s3/template.xml @@ -303,6 +303,9 @@ + + + diff --git a/boards/default_src/micropython_k210_mixgoai/template.xml b/boards/default_src/micropython_k210_mixgoai/template.xml index d060d312..9c542e9a 100644 --- a/boards/default_src/micropython_k210_mixgoai/template.xml +++ b/boards/default_src/micropython_k210_mixgoai/template.xml @@ -269,6 +269,10 @@ + + + + diff --git a/boards/default_src/micropython_nrf51822_microbit/template.xml b/boards/default_src/micropython_nrf51822_microbit/template.xml index d72fd753..b53f89cf 100644 --- a/boards/default_src/micropython_nrf51822_microbit/template.xml +++ b/boards/default_src/micropython_nrf51822_microbit/template.xml @@ -126,6 +126,9 @@ + + + diff --git a/boards/default_src/micropython_nrf51822_mithoncc/template.xml b/boards/default_src/micropython_nrf51822_mithoncc/template.xml index f88d5776..da146be5 100644 --- a/boards/default_src/micropython_nrf51822_mithoncc/template.xml +++ b/boards/default_src/micropython_nrf51822_mithoncc/template.xml @@ -52,6 +52,9 @@ + + + diff --git a/boards/default_src/micropython_robot/template.xml b/boards/default_src/micropython_robot/template.xml index 1076888e..bd5f42c4 100644 --- a/boards/default_src/micropython_robot/template.xml +++ b/boards/default_src/micropython_robot/template.xml @@ -290,6 +290,9 @@ + + + diff --git a/boards/default_src/python/blocks/control.js b/boards/default_src/python/blocks/control.js index 49418eaf..a2a6a4a8 100644 --- a/boards/default_src/python/blocks/control.js +++ b/boards/default_src/python/blocks/control.js @@ -989,5 +989,34 @@ export const do_while = { } }; +export const garbage_collection = { + init: function () { + this.setColour(LOOPS_HUE); + this.appendDummyInput() + .appendField(Blockly.Msg.MIXLY_OP_GARBAGE_COLLECT); + this.setPreviousStatement(true); + this.setNextStatement(true); + } +}; + + +export const get_mem_alloc = { + init: function () { + this.setColour(LOOPS_HUE); + this.appendDummyInput() + .appendField(Blockly.Msg.MIXLY_GET_MEM_ALLOC); + this.setOutput(true) + } +}; + +export const get_mem_free = { + init: function () { + this.setColour(LOOPS_HUE); + this.appendDummyInput() + .appendField(Blockly.Msg.MIXLY_GET_MEM_FREE); + this.setOutput(true) + } +}; + // export const base_type = controls_type; // export const controls_TypeLists = controls_typeLists; \ No newline at end of file diff --git a/boards/default_src/python/generators/control.js b/boards/default_src/python/generators/control.js index 1ed236ab..fc0baf98 100644 --- a/boards/default_src/python/generators/control.js +++ b/boards/default_src/python/generators/control.js @@ -252,5 +252,24 @@ export const controls_repeat_ext = function (a, generator) { return 'for _my_variable in range(' + times + '):\n' + d; } + +export const garbage_collection = function (_, generator) { + generator.definitions_['import_gc'] = 'import gc'; + var code = 'gc.collect()\n' + return code; +} + +export const get_mem_alloc = function (_, generator) { + generator.definitions_['import_gc'] = 'import gc'; + var code = 'gc.mem_alloc()\n'; + return [code, generator.ORDER_ATOMIC]; +} + +export const get_mem_free = function (_, generator) { + generator.definitions_['import_gc'] = 'import gc'; + var code = 'gc.mem_free()\n'; + return [code, generator.ORDER_ATOMIC] +} + // ok export const controls_repeat = controls_repeat_ext; \ No newline at end of file diff --git a/boards/default_src/python_mixpy/template.xml b/boards/default_src/python_mixpy/template.xml index df990a73..aa095857 100644 --- a/boards/default_src/python_mixpy/template.xml +++ b/boards/default_src/python_mixpy/template.xml @@ -214,6 +214,9 @@ + + + + + + + + + --> + + +